一种主动式流媒体分发负载方法技术

技术编号:38077367 阅读:11 留言:0更新日期:2023-07-06 08:45
本发明专利技术提供一种主动式流媒体分发负载方法,包括以下步骤:S11:当外部用户通过客户端或API向主服务器发出http请求时,主服务器通过内部的mqtt协议,向所有流媒体集群的集群节点进行广播;S12:流媒体集群订阅mqtt主题REQUEST,各个集群节点进行自己本机的消耗计算,采用最小综合性能方差方法;S13:最终每台集群节点通过上述方法计算得到各自的总体方差,同时反馈至主服务器,主服务器在比较各台集群节点的方差值后,选择总体方差值最小的节点为最优节点;S14:主服务器根据客户端的http请求回复最优节点内容,客户端根据回复内容进行tcp链接至最优节点进行取流。本方法反馈负载实时状态及时正确,提高每台集群机的工作利用率。用率。用率。

【技术实现步骤摘要】
一种主动式流媒体分发负载方法


[0001]本专利技术涉及一种负载均衡的处理方法,尤其是涉及一种主动式流媒体分发负载方法。

技术介绍

[0002]目前负载均衡服务是面对用户量、高并发、大数据的有效解决方案,针对tcp负载均衡,主要流程为由收到请求的主服务器通过调度算法进行,比如轮询、权重等调度算法为每个连接选择适当的目标上游服务器。基于此种机制原理的负载均衡方案,一方面主服务器要承担所有的请求,要对每个请求进行计算和分发,另一方面主服务器只能按固定算法进行分发请求,不能对集群机器进行实时的检测和进行正确的选择。

技术实现思路

[0003]本专利技术提供了一种主动式流媒体分发负载方法,是针对高并发流媒体传输制定的解决方法,解决TCP流媒体传输的并发问题,对流媒体请求时能正确、实时的选择负载集群。其技术方案如下所述:
[0004]一种主动式流媒体分发负载方法,包括以下步骤:
[0005]S11:当外部用户通过客户端或API向主服务器发出http请求时,主服务器通过内部的mqtt协议,向所有流媒体集群的集群节点进行广播;
[0006]S12:流媒体集群订阅mqtt主题REQUEST,各个集群节点进行自己本机的消耗计算,采用最小综合性能方差方法;
[0007]S13:最终每台集群节点通过上述方法计算得到各自的总体方差,同时反馈至主服务器,主服务器在比较各台集群节点的方差值后,选择总体方差值最小的节点为最优节点;
[0008]S14:主服务器根据客户端的http请求回复最优节点内容,客户端根据回复内容进行tcp链接至最优节点进行取流。
[0009]步骤S11中,所述主服务器进行广播时,QOS质量设置为0。
[0010]步骤S12中,最小综合性能方差方法的计算方法如下:
[0011][0012]其中,N代表所有的集群节点数量,X表示CPU、RAM、网络的实时性能,u表示CPU、RAM、网络的待机状态性能均值,L表示CPU、RAM、网络,τ代表权重值0

1范围,n代表是否为相同的请求。
[0013]所述CPU、RAM、网络的实时性能中,CPU的实时性能、RAM的实时性能均为当前的占用率数值范围,为0~1,网络的实时性能根据获取当前的负载的带宽占用情况。
[0014]网络的实时性能对应计算方式为:
[0015]0~10MB/s:0.1,20~30MB/s:0.2,30~40MB/s:0.4;40~50MB/s:0.5;50~60MB/s:0.6;
[0016]60~70MB/s:0.7;70~80MB/s:0.8 80~90MB/s:0.9;90~100MB/s:1.0。
[0017]所述u表示CPU的待机状态性能均值时,计算公式为ε为可调参数,设置值为0.1。
[0018]步骤S14中,主服务器根据http请求,回复客户端或API相应的集群节点IP和端口,客户端或API通过此信息进行连接并取流。
[0019]所述主动式流媒体分发负载方法应用的整体框架,包括主服务器和流媒体集群,所述主服务器负载接收外部的所有请求,包括:调度网络服务、MQTT协议服务端、MQTT协议客户端,所述调度网络服务即负责算法处理和指令生产,是指令的生产者,交付给mqtt客户端进行发送;所述MQTT协议服务端负责集群内所有节点服务即数据枢纽和中转站;所述Mqtt客户端负责发送或接收指令,也是通过MQTT协议服务端来进行数据中转,Mqtt客户端与多个流媒体集群进行数据交互。
[0020]所述主动式流媒体分发负载方法,通过负载主机对收到的请求进行广播,主服务器无须进行额外的大量计算和指定分发。负载主机通过广播发送至全部负载集群机,每个集群机均按设定的LCV算法进行结果主动上报,负载主机通过简单计算选择最佳节点。本方法反馈负载实时状态及时正确,提高每台集群机的工作利用率。
附图说明
[0021]图1是所述主动式流媒体分发负载方法的整体框架示意图;
[0022]图2是所述负载均衡数据流程图。
具体实施方式
[0023]如图1所示的整体框架,主服务器负载接收外部的所有请求,部署包括:调度网络服务、MQTT协议服务端(Mqtt server)、MQTT协议客户端(Mqtt client)。所述调度网络服务即负责算法处理和指令生产,是指令的生产者,交付给mqtt客户端进行发送;所述MQTT协议服务端负责集群内所有节点服务即数据枢纽和中转站;所述Mqtt客户端负责发送或接收指令,也是通过MQTT协议服务端来进行数据中转,Mqtt客户端与多个流媒体集群进行数据交互。
[0024]所述整体框架的构建如下所述:
[0025]S1:建立流媒体集群和主服务器,流媒体集群里的每台服务器简称集群节点;
[0026]S2:部署流媒体服务,在主服务器部署mqtt服务端、mqtt客户端以及调度网络服务,调度网络服务包含了mqtt协议主题和数据格式规则、调度算法等内容;
[0027]S3:在集群节点部署mqtt客户端以及调度网络服务;
[0028]S4:整体框架的网络构成采用星形拓扑,流媒体集群和主服务通过网络连接,主服务器作为服务端,用于作为指令的发起方和接收流媒体集群计算结果的处理;
[0029]S5:流媒体集群提供SDK或http调用的方式进行使用,外部用户通过客户端或API实现调用请求。
[0030]所述主动式流媒体分发负载方法,应用在图1所示出的整体框架中,如图2,包括以下步骤:
[0031]S11:当外部用户通过客户端或API向主服务器发出http请求时,主服务器通过内部的mqtt协议,向所有流媒体集群的集群节点进行广播,为了提供服务期间的执行效率,综合考虑收益和消耗的情况,QOS质量设置为0(Qos=0,代表最多发送1次指令,不管对方收没收到,最多一次)。
[0032]客户端一般指的是监控看视频的软件客户端或外部需要请求视频流的请求,主服务器负责接收一切外部的请求需求。
[0033]S12:流媒体集群订阅有mqtt主题REQUEST(请求),收到广播后,各个集群节点进行自己本机的消耗计算,计算算法采用最小综合性能方差方法(Least Comprehensive Variance),简称LCV方法,LCV方法通过计算机的CPU、内存和网络综合因素,计算得到方差值,数字越小代表性能越优,可为选择节点。
[0034]具体计算方法如下:
[0035]总体方差的计算方法:N代表所有的集群节点数量,X表示CPU、RAM、网络的实时性能,u表示CPU、RAM、网络的待机状态性能均值,L表示CPU、RAM、网络。τ代表权重值0

1范围,n代表是否为相同的请求。
[0036]每个集群节点通过依次对CPU、RAM、网络进行处理,然后将三个结果进行相加,完成总体方差的数值计算,得到方差值。
[0037]流媒体应用中经本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种主动式流媒体分发负载方法,包括以下步骤:S11:当外部用户通过客户端或API向主服务器发出http请求时,主服务器通过内部的mqtt协议,向所有流媒体集群的集群节点进行广播;S12:流媒体集群订阅mqtt主题REQUEST,各个集群节点进行自己本机的消耗计算,采用最小综合性能方差方法;S13:最终每台集群节点通过上述方法计算得到各自的总体方差,同时反馈至主服务器,主服务器在比较各台集群节点的方差值后,选择总体方差值最小的节点为最优节点;S14:主服务器根据客户端的http请求回复最优节点内容,客户端根据回复内容进行tcp链接至最优节点进行取流。2.根据权利要求1所述的主动式流媒体分发负载方法,其特征在于:步骤S11中,所述主服务器进行广播时,QOS质量设置为0。3.根据权利要求1所述的主动式流媒体分发负载方法,其特征在于:步骤S12中,最小综合性能方差方法的计算方法如下:其中,N代表所有的集群节点数量,X表示CPU、RAM、网络的实时性能,u表示CPU、RAM、网络的待机状态性能均值,L表示CPU、RAM、网络,τ代表权重值0

1范围,n代表是否为相同的请求。4.根据权利要求3所述的主动式流媒体分发负载方法,其特征在于:所述CPU、RAM、网络的实时性能中,CPU的实时性能、RAM的实时性能均为当前的占用率数值范围,为0~1,网络的实时性能根据获取当前...

【专利技术属性】
技术研发人员:苗荣凡谢建辉
申请(专利权)人:北京竞业达数字系统科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1