LiveGBS国标GB28181国标平台分布式集群部署 以及多服务器动态负载均衡的技术方案在智慧工地、平安城市、智慧交通、智慧城市、交通枢纽、跨区域联网监控视频平台等大型视频流媒体项目如何实现

news/2025/3/17 16:49:54/文章来源:https://www.cnblogs.com/kumukim/p/18777149

@

目录
  • 1、大型容灾GB28181国标流媒体服务
    • 1.1、需求背景
    • 1.2、高可用分布式方案
  • 2、方案详解
    • 2.1、 百万路视频接入
    • 2.2、几百上千路高并发请求播放
    • 2.3、信令服务主备方式

1、大型容灾GB28181国标流媒体服务

1.1、需求背景

大型视频监控平台项目的常见需求

  • 高并发
  • 高可用性
  • 容灾备份
  • 跨区域联网

通常需要处理数千甚至上万路视频,所以架构必须支持水平扩展!

1.2、高可用分布式方案

需要一个分层的结构,可能包括中心管理节点和多个区域节点,每个区域有多个LiveSMS实例。
在这里插入图片描述

正常一套LiveGBS包括一个LiveCMS信令服务和一个LiveSMS流媒体服务。 单个LiveSMS的负载在100路-200同时播放左右,具体看码率大小和带宽以及服务器性能。当单个LiveSMS不够需要增加负载时, 可以根据需要增加服务器部署LiveSMS做流媒体服务器集群,根据需要动态增加。

2、方案详解

  • LiveGBS支持信令模块和流媒体模块拆分
  • 一个信令模块和多个流媒体模块部署
  • 根据服务器资源线性扩展并发能力
  • LiveGBS支持流媒体模块群部署自动负载均衡

2.1、 百万路视频接入

LiveGBS 默认使用 sqlite3 文件数据库, 当接入通道数量达到万级时, 文件数据库会拖慢系统。当上万路视频需要接入时,建议切换数据库为MariaDB(推荐) 或 MySQL(5.7及以上) 数据库,也可以使用高斯、达梦、瀚高等国产数据库。
具体可以参考官方网站的介绍:LiveGBS常见问题之数据库切换

信创数据库支持:

  • 瀚高
  • 高斯
  • 达梦
    .....

2.2、几百上千路高并发请求播放

  • 一套LiveGBS包括一个LiveCMS信令服务和一个LiveSMS流媒体服务。
  • 单个LiveSMS的负载在100路-200同时播放左右,具体看码率大小和带宽以及服务器性能。
  • 当单个LiveSMS不够需要增加负载时, 可以根据需要增加服务器部署LiveSMS做流媒体服务器集群,根据需要动态增加。
  • 并发很高时,可以采用多个LiveSMS流媒体集群部署的方式来增大并发数。
  • LiveCMS信令服务内部已经实现了负载均衡机制,会根据每个LiveSMS流媒体的负责情况,动态分配视频请求到具体流媒体服务器。
  • 前端用户只需要跟LiveCMS信令服务交互就行,无需关系后台有多少LiveSMS流媒体服务器在工作。
  • 其中某个流媒体出现问题后,LiveCMS也会把请求分配到其他流媒体上,实现高可用。

2.3、信令服务主备方式

LiveCMS信令服务集群主备架构:部署2台LiveCMS节点(主节点+热备节点),通过VIP虚拟IP实现故障自动切换。 也可以使用RoseHa等专业热备软件进行数据备份切换。

功能定位:

1、设备注册、心跳管理、信令路由

2、级联上级平台(如省级监控中心)

3、控制LiveSMS集群的负载策略

详细LiveGBS的功能参考官方网站的介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/900442.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

变量、常量及其初始化和命名规范

变量:public class HelloWorld250316 { //实例变量 从属于对象,如果不自行初始化,这个类型的默认值 0 0.0 u000,布尔类型默认false //除了基本类型,其余的默认值都是null String name; int age; public static void main(String[] args) { int a=10; System.out.println(a…

必剪使用指南

必剪使用指南 目录必剪使用指南下载快捷键文件剪辑编辑显示标记下载 必剪官网:https://bcut.bilibili.cn/.快捷键 文件新建草稿:ctrl + n 保存草稿:ctrl + s 导入:ctrl + i 导出:ctrl + e 退出:ctl + q剪辑分割工具:c 选择工具:v 分割:x编辑复制:ctrl + c 剪切:ctrl…

python运算注意点

1、整除// 9//2得出为4,被除数在前。 取余% 9%2得出1 2、round()函数,表示四舍五入,奇进偶不进 例:round(3.5)为4 round(6.5)为6 3、赋值 多变量赋值,直接用,隔开。 赋值加运算(先运算再赋值,也就是先乘2*3=6,直接赋值给b)4、逻辑运算符有一种优化机制,短…

Bernoulli Equation

伯努利方程 伯努利方程并非一个独立的定律,而是在不同条件下由 Navier-Stokes 动量方程(式1)和能量方程(式2)推导而来的。 \[\rho\left(\frac{\partial u_{j}}{\partial t} + u_{i}\frac{\partial u_{j}}{\partial x_{i}}\right)=-\frac{\partial p}{\partial x_{j}}+\rho…

社区演讲-基于.NET 技术栈的研发过程管理和智能化探索

Hi all 2024年11月23日,我作为【项目管理实践探索者大会】专题讲师,给社区分享了主题《基于.NET 技术栈的研发过程管理和智能化探索》 现场参与人数:100+ 演讲议题介绍: 体系建设:如何设计一个合适的研发过程管理体系 平台提效:通过.NET技术构建任务驱动+流程驱动,释放研…

halcon 深度学习教程(二)halcon基于深度学习的OCR检测

原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/18777081深度学习教程目录如下,还在继续更新完善中 深度学习系列教程目录 本篇非常简单,但是非常好用的OCR识别,传统的OCR识别方法一大堆各种各样的操作,麻烦的要死。halcon 22版本开始支持深度学习OCR,并且…

[ SpringMVC ] SpringMVC如何通过是否有@RestController注解来判断返回ModelAndView还是Json

引言之前在面试的遇到面试官问我SpringMVC的执行流程,我那时候回答的是SpringMVC的DispatcherServlet的dodispatch方法找到ControllerMethod之后将返回值通过convert成Json返回响应体,事后想了一下回答的其实并不正确,因为SpringMVC之前学习的时候有使用ModelAndView返回视图,我…

从HR+AI到AI+HR,企业人力资源AI进程已过半

一、人力资源管理智能化应势而上,核心价值受企业管理层肯定 过往各项研究表明,AI 已经被广泛应用于企业经营的各个环节中。根据易路于2023 年发布的《AI 在企业人力资源中的应用白皮书1.0》(以下简称《白皮书1.0》),我们可以明确感受到:AI 已不同程度应用于招聘管理、员工…

multi-object tracking in the dark

创新点:构建LMOT数据集:开发了一种双摄像头系统,同步采集明暗视频帧,形成高度对齐的低光视频对,并提供高质量的多目标跟踪标注。该数据集包含大量城市户外场景视频,涵盖多种动态物体,为模型训练和评估提供了丰富的数据支持。 提出LTrack方法:引入自适应低通下采样模块(…

LGP11831_1 [UPTS 2025] 追忆 学习笔记

LGP11831_1 [UPTS 2025] 追忆 学习笔记 Luogu Link 前言 又幻想了……唉! 幻想自己场切这道题,最后标准分上升至 \(\text{598pts}\),翻掉了 \(\text{yyz}\),不至于一点脸不要。 本题解基本借鉴这篇题解。 题意简述 给定一个 \(n\) 点 \(m\) 边的简单有向图 \(G\),有 \(m\)…

sql 在两个数据表中,A表存在字段以逗号分隔存储B表的多id对象,进行关联查询

A 表:B表:关联查询 需求为,查询出A表的数据列表,需要将A表关联B表的数据id,概要通过B表的 name 进行输出显示 SELECT A.id,A.name,A.creator,A.created_at,GROUP_CONCAT(B.name SEPARATOR , ) AS B_names -- 将 c_name 合并为逗号分隔的字符串 FROM xf_service_type A LE…

算力市场何以拥有巨大潜力

算力市场未来确实具有巨大的潜力,这一判断基于多个方面的因素: 一、算力成为经济增长的主要驱动力 随着全球数字化转型的迅猛推进,算力已成为推动经济增长的关键引擎。各国纷纷加大在算力基础设施方面的投入,以期为经济发展注入新的活力。例如,欧盟委员会批准了一项名为“…