论文部分内容阅读
GB/T 28181标准最初由公安部科技信息司在2011年提出,随后在2016年被GB/T 28181-2016取代。该标准在监控系统中得到了广泛的应用,各大厂商都在其产品中支持该标准,各个开源团队也开始在其流媒体服务器中支持该标准。此外,由于SRS其良好的可扩展性、高性能和简单的代码架构、实现、部署和维护,本文利用SRS流媒体服务器对该标准协议进行了进一步的研究,使SRS能够支持GB/T 28181标准并对其性能进行相应的优化。首先,提出了一种基于动态反馈与对集群节点分类的改进算法,提高了流媒体服务器集群节点负载信息反馈的及时性以及多个并发请求的处理效率。该方法的优化过程如下:(1)进了负载指数权重系数和负载权重值的计算方法:采用最小二乘法,将层次分析法和熵权法相结合(表示为LAE),即将主观加权和客观加权相结合得到复合权值。(2)反馈周期根据集群节点任务数的变化而动态修改。(3)根据(1)中得到的权重,将KNN算法的欧氏距离改为加权的欧氏距离。根据改进的KNN算法(表示为LAE-KNN)和负载信息对集群节点进行分类,并将任务分配到总权重比最小的类别中。(4)同时,通过设置负载指数的阈值实现负载迁移,根据每个反馈周期内的反馈的集群节点的负载信息,将超过负载阈值的集群节点通过重定向功能去随机选择该节点中的任务重定向到低负载类中的节点,来提升集群负载的均衡效果。经过实验证明,本文提出的负载均衡算法可以有效地抵御突发的大规模并发请求对集群节点的负载偏移,从而显著提高流媒体集群的性能。其次,本文对于GCC算法进行了优化,提出了IGCC-A算法。提升了GCC算法,在网络抖动的场景中的表现,改善了音视频播放效果;该算法是为了避免突发delay而导致的带宽下降,在检测到拥塞发生变化之后,在“加性增乘性减”速率控制器中,并不会立刻就去降低带宽,需要观察6次数据传递的来回时间,如果仍然是过度的使用状态,最后才会降低带宽;并且是连续去降低3次,直到成功的降低到接收速率0.85倍为止。在IGCC-A算法中,添加了强制网络限制条件,这一步骤在获取两个潜在的发送速率之后,但在确定目标发送速率之前进行。这一改变有助于减少在强网络条件下GCC算法对网络延迟敏感的程度,并减少由于网络延迟引起的小幅波动而导致的频繁发送速率抖动。最后,在SRS代码中支持了GB/T28181协议,实现GB/T 28181媒体流的接收、传递和转码,同时对于SRS流媒体服务器进行了如下优化。(1)本文提出并在SRS中实现了一种将GB/T 28181的PS流转码为其他协议流的方法,并按照此流程在SRS中实现了GB/T 28181协议。(2)在GB/T 28181的媒体流到Web RTC流播放的传输过程中加入IGCC-A拥塞控制算法,减小时差与卡顿,提高观看效果。(3)对于SRS服务器集群,Edge服务器使用LAE-KNN算法实现的负载均衡器去寻找Upstream Edge服务器,提高了SRS上游Edge服务器的负载能力。