基于国标协议媒体流负载均衡的系统、方法及设备与流程

文档序号:36450636发布日期:2023-12-21 14:59阅读:26来源:国知局
基于国标协议媒体流负载均衡的系统的制作方法

所属的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述基于国标协议媒体流负载均衡的设备、计算机可读存储介质的具体工作过程及有关说明,可以参考前述系统实施例中的对应过程,在此不再赘述。本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。下面参考图7,其示出了适于用来实现本技术系统、方法、设备和存储介质的实施例的服务器的计算机系统的结构示意图。图7示出的服务器仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。如图7所示,计算机系统包括中央处理单元(cpu,central processing unit)701,其可以根据存储在只读存储器(rom,read only memory)702中的程序或者从存储部分708加载到随机访问存储器(ram,random access memory)703中的程序而执行各种适当的动作和处理。在ram 703中,还存储有系统操作所需的各种程序和数据。cpu701、rom 702以及ram703通过总线704彼此相连。输入/输出(i/o,input/output)接口705也连接至总线704。以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt,cathode ray tube)、液晶显示器(lcd,liquid crystal display)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan(局域网,local areanetwork)卡、调制解调器等的网络接口卡的通讯部分709。通讯部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通讯部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(cpu701执行时,执行本技术的方法中限定的上述功能。需要说明的是,本技术上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。


背景技术:

1、国标协议又称gb28181,由公安部提出,规定了公共安全视频监控联网系统的互联结构,传输,交换,控制的基本要求和安全性要求,并且控制,传输流程和协议接口等技术要求。该标准的会话通道使用sip协议进行实现,并在sip协议的基础上做了一些私有化处理,以满足特定的业务场景需求。国标联网系统是基于国标协议的一个通信系统,其中,《cn108063918b一种gb28181媒体流汇聚转发的方法》专利中描述了一种gb28181媒体流汇聚转发的方法,实现了国标前端设备一路媒体流多路复制转发。

2、在已有的技术中,对于一个国标联网系统,只存在一个流媒体服务器,用于接收前端国标设备的音视频数据以及对外分发前端国标设备的音视频数据。对于单个流媒体服务器,不可能同时预览所有的国标信号,因此性能有限。此外,由于所有的前端国标设备的音视频流都经过单个流媒体服务器进行转发,那么当唯一的流媒体服务器宕机时,将无法对外提供服务。


技术实现思路

1、为了解决现有技术中的上述问题,即现有的国标联网系统性能有限且一的流媒体服务器宕机时,将无法对外提供服务的问题,本发明提供了一种基于国标协议媒体流负载均衡的系统,所述系统包括:sip信令服务器模块、拉流客户端模块、流媒体服务器模块和国标前端设备模块;

2、所述sip信令服务器模块包括一个sip信令服务器;

3、所述拉流客户端模块包括一或多个拉流客户端;

4、所述国标前端设备模块包括一或多个国标前端设备;所述国际前端设备包括sip客户端功能的摄像头,nvr,编码器;

5、所述流媒体服务器模块包括多个流媒体服务器;

6、所述sip信令服务器模块、所述拉流客户端模块、所述流媒体服务器模块和所述国标前端设备模块互相连接。

7、在一种优选的实施方式中,上述的基于国标协议媒体流负载均衡的系统所包括的sip信令服务器模块、拉流客户端模块、流媒体服务器模块和国标前端设备模块具体用于:

8、所述sip信令服务器模块,用于接收各国标前端设备的注册维护各国标前端设备的设备信息;还用于接收各拉流客户端查询流媒体信号可播放地址的请求,进而根据负载均衡策略选取一个负载最小的流媒体服务器,并根据选取的负载最小的流媒体服务器,组装可播放地址,将所述可播放地址返回给请求的拉流客户端;还用于接收所述流媒体服务器查询流媒体信号的ssrc的请求后向对应的国标前端设备模块发送invite请求,收到所述invite请求的回复值之后,将所述回复值中的ssrc返回给请求的流媒体服务器;还用于收集并存储所述流媒体服务器模块中各个流媒体服务器的负载情况;

9、所述拉流客户端模块,用于向所述sip信令服务器查询流媒体信号源的可播放地址;还用于接收sip信令服务器发送的可播放地址,根据所述可播放地址向对应的流媒体服务器模块发送拉流请求,请求成功之后,在指定的端口接收所述流媒体服务器模块推送的流媒体数据并渲染显示;

10、所述国标前端设备模块,用于根据自身sip配置向指定的sip信令服务器模块进行设备注册;还用于接收所述sip信令服务器模块的invite请求,并根据所述invite请求返回回复值;所述回复值包括ssrc;

11、所述流媒体服务器模块,用于接收所述拉流客户端的拉流请求,并将流媒体数据推送给请求的拉流客户端;还用于开放一个固定端口收取流媒体信号的音视频流;还用于向所述sip信令服务器发送查询流媒体信号ssrc的请求,请求成功之后,将流媒体信号的ssrc存储在缓存中;还用于定时向所述sip信令服务器推送各流媒体服务器自身的各个负载指标的具体数值;其中,负载指标包括cpu占用率,内存占用率,网络带宽占用率。

12、在一种优选的实施方式中,所述基于国标协议媒体流负载均衡的系统的拉流过程为:

13、s301,当所述拉流客户端模块的拉流客户端点播流媒体信号时,根据所述拉流客户端所支持的流媒体协议向所述sip信令服务器查询对应流媒体协议的可播放地址;

14、s302,所述sip信令服务器接收到所述拉流客户端查询可播放地址的请求后,根据负载均衡策略选取一个负载最小的流媒体服务器;

15、s303,所述sip信令服务器根据流媒体网络协议和负载最小的流媒体服务器信息,组装对应的流媒体协议的可播放地址并返回给所述拉流客户端;

16、s304,所述拉流客户端收到所述可播放地址之后,按照对应的流媒体协议要求,向对应的负载最小的流媒体服务器发起拉流请求;

17、s305,所述流媒体服务器接收到所述拉流客户端的拉流请求之后,查看所述流媒体服务器的缓存中是否存在对应流媒体信号的ssrc值;如果不存在对应流媒体信号的ssrc值,则跳转s306,如果存在对应流媒体信号的ssrc值,则跳转到s311;

18、s306,所述流媒体服务器向所述sip信令服务器查询流媒体信号的ssrc值;

19、s307,所述sip信令服务器接收到所述流媒体服务器的查询ssrc值的请求后,查找流媒体信号属于的国标前端设备信息,然后根据国标前端设备信息向对应的国标前端设备发送sip协议的invite请求,请求成功后返回回复值,所述sip信令服务器从接收的回复值中解析出流媒体信号在会话通道中的唯一标识ssrc值并返回给对应的流媒体服务器;其中,所述invite请求的消息体是sdp协议格式,在消息体中指定音视频数据的接收端的ip地址为选取的负载最小的流媒体服务器的ip;所述接收端的端口为选取的负载最小的流媒体服务器开放的接收流端口;

20、s308,所述国标前端设备收到所述sip信令服务器发送的invite请求,根据消息体中接收端的地址和端口,开始发送音视频数据;

21、s309,所述流媒体服务器接收到sip信令服务器返回的ssrc值,存储流媒体信号与ssrc值之间的对应关系;

22、s310,所述流媒体服务器从自身的存储中获得流媒体信号的ssrc值;

23、s311,所述流媒体服务器在收流端口收取流媒体数据,根据ssrc值过滤出属于相应流媒体信号的音视频数据;

24、s312,所述流媒体服务器将过滤出来的音视频数据按照拉流客户端所支持的流媒体协议进行封装,然后分发给拉流客户端。

25、在一种优选的实施方式中,所述基于国标协议媒体流负载均衡的系统还包括拉流客户端停止拉流的方法,具体包括:

26、所述拉流客户端向所述流媒体服务器发送停止拉流的请求;

27、所述流媒体服务器接收到停止拉流的请求之后,清除存储中流媒体信号与ssrc值之间的对应关系;

28、所述流媒体服务器断开与所述拉流客户端之间的网络连接;

29、所述流媒体服务器向所述sip信令服务器发送结束会话通道的请求;

30、所述sip信令服务器接收到所述结束会话通道的请求后,根据流媒体信号查找对应的国标前端设备的信息,然后向对应的国标前端设备发送sip协议的bye请求;

31、所述国标前端设备收到所述bye请求之后,停止向外发送音视频数据,整个会话通道关闭,所述流媒体服务器就不再接收到所述国标前端设备的音视频数据了。

32、在一种优选的实施方式中,,所述基于国标协议媒体流负载均衡的系统还包括流媒体服务器与sip信令服务器之间的负载信息和网络配置信息的交互流程,具体包括:

33、当所述流媒体服务器启动时,向所述sip信令服务器推送自身的网络配置信息,所述sip信令服务器维护流媒体服务器列表;

34、所述sip信令服务器根据各个流媒体的网络配置,定时检查各个流媒体服务器设备的状态,若流媒体服务器掉线,则从列表中删除;

35、所述流媒体服务器启动之后,定时向所述sip信令服务器推送自身的负载指标的具体数值。

36、在一种优选的实施方式中,当所述拉流客户端正在从对应的流媒体服务器上拉取流媒体信号的音视频数据,当流媒体服务器宕机后,所述拉流客户端重新向所述sip信令服务器查询流媒体信号的可播放地址然后重新拉流。

37、在一种优选的实施方式中,sip信令客户端选取负载最小流媒体服务器的方法为:

38、s701,所述sip信令客户端判断流媒体服务器列表是否为空,若为空,则没有可用的流媒体服务器,则结束选取;否则跳转s702;

39、s702,根据各个流媒体服务器的各个负载指标,计算各个流媒体服务器的负载:

40、l=rmwm+rcwc+rnwn

41、其中l代表的是负载值,rm、rc和rn分别代表内存、cpu和网络带宽的占用率;wm、wc和wn分别代表了内存、cpu和网络带宽的占用率在计算负载值的指标权重;

42、s703,所述sip信令客户端选取负载最小的流媒体服务器作为选中的流媒体服务器;

43、s704,查询所述选中的流媒体服务器的网络信息,并检查其是否在线;

44、s705,若所述选中的流媒体服务器不在线,从流媒体服务器列表中删除选中的流媒体服务器,跳转s701;若选中的流媒体服务器在线,则选中的流媒体服务器为负载最小的流媒体服务器,结束选取。

45、本发明的第二方面,提出了一种基于国标协议媒体流负载均衡的方法,所述方法包括:

46、a301,当所述拉流客户端模块的拉流客户端点播流媒体信号时,根据所述拉流客户端所支持的流媒体协议向所述sip信令服务器查询对应流媒体协议的可播放地址;

47、a302,所述sip信令服务器接收到所述拉流客户端查询可播放地址的请求后,根据负载均衡策略选取一个负载最小的流媒体服务器;

48、a303,所述sip信令服务器根据流媒体网络协议和负载最小的流媒体服务器信息,组装对应的流媒体协议的可播放地址并返回给所述拉流客户端;

49、a304,所述拉流客户端收到所述可播放地址之后,按照对应的流媒体协议要求,向对应的负载最小的流媒体服务器发起拉流请求;

50、a305,所述流媒体服务器接收到所述拉流客户端的拉流请求之后,查看所述流媒体服务器的缓存中是否存在对应流媒体信号的ssrc值;如果不存在对应流媒体信号的ssrc值,则跳转s306,如果存在对应流媒体信号的ssrc值,则跳转到s311;

51、a306,所述流媒体服务器向所述sip信令服务器查询流媒体信号的ssrc值;

52、a307,所述sip信令服务器接收到所述流媒体服务器的查询ssrc值的请求后,查找流媒体信号属于的国标前端设备信息,然后根据国标前端设备信息向对应的国标前端设备发送sip协议的invite请求,请求成功后返回回复值,所述sip信令服务器从接收的回复值中解析出流媒体信号在会话通道中的唯一标识ssrc值并返回给对应的流媒体服务器;其中,所述invite请求的消息体是sdp协议格式,在消息体中指定音视频数据的接收端的ip地址为选取的负载最小的流媒体服务器的ip;所述接收端的端口为选取的负载最小的流媒体服务器开放的接收流端口;

53、a308,所述国标前端设备收到所述sip信令服务器发送的invite请求,根据消息体中接收端的地址和端口,开始发送音视频数据;

54、a309,所述流媒体服务器接收到sip信令服务器返回的ssrc值,存储流媒体信号与ssrc值之间的对应关系;

55、a310,所述流媒体服务器从自身的存储中获得流媒体信号的ssrc值;

56、a311,所述流媒体服务器在收流端口收取流媒体数据,根据ssrc值过滤出属于相应流媒体信号的音视频数据;

57、a312,所述流媒体服务器将过滤出来的音视频数据按照拉流客户端所支持的流媒体协议进行封装,然后分发给拉流客户端。

58、本发明的第三方面,提出了一种基于国标协议媒体流负载均衡的设备,包括:

59、至少一个处理器;以及

60、与至少一个所述处理器通信连接的存储器;其中,

61、所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的基于国标协议媒体流负载均衡的方法。

62、本发明的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的基于国标协议媒体流负载均衡的方法。

63、本发明的有益效果:

64、(1)本发明的基于国标协议媒体流负载均衡的系统具有流媒体分发容灾功能,多台流媒体服务器同时对外分发流媒体信号,当其中一台宕机后,其分发的流媒体信号会转移到其它正常运行的流媒体服务器上继续进行分发,用户能够继续正常预览流媒体信号而不受影响。

65、(2)本发明的基于国标协议媒体流负载均衡的系统能够并发拉取大量前端国标设备的流媒体信号。如果流媒体服务器性能不足,只需另外增加流媒体服务器即可,扩容方便,即插即用;

66、(3)本发明的基于国标协议媒体流负载均衡的系统能够通过sip信令服务器初始化前端国标设备与流媒体服务器之间媒体流传输的方式、维护流媒体服务器列表以及能够选取负载最小的流媒体服务器的流程;

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1