流媒体分发系统关键技术综述

(整期优先)网络出版时间:2020-08-18
/ 2

流媒体分发系统关键技术综述

王思元 朱永成 李烨

中电莱斯信息系统集团有限公司 江苏省南京市 210000

摘要:随着Internet的迅猛发展,流媒体技术已经广泛应用于新闻发布、广播电视、教育、金融、视频会议、安防等领域,对人们的工作及生活方式产生深远的影响。本文介绍流媒体分发的主要技术,研究了数据分配算法。

关键词:流媒体;分发系统;分配算法

一、流媒体技术的概念

流媒体技术也称流式媒体技术,就是把连续的声音和影像信息经过压缩处理后放到网络服务器上,让浏览者一边下载一边收看、收听,而不需要等到整个多媒体下载完就可以即时观看的网络传输技术。该技术先在用户端的计算机上创建一个缓冲区,在播放前预先下一段数据作为缓冲,在网络实际连线速度小于播放所耗的速度时,播放程序就会取用一小段缓冲区内的数据,这样可以避免播放的中断,也使得播放品质得以保证。

二、基于CDN的流媒体系统

在基于CDN的流媒体系统中,流媒体服务器和流媒体代理服务器是提供流服务的关键平台,是流媒体系统的核心设备.流媒体服务器~般处于IP核心网中,用于存放流媒体文件,响应用户请求并向终端发送流媒体数据。流媒体代理服务器,位于网络的边缘,靠近用户,使客户能从位于本地的缓存代理服务器上获取流媒体内容,从而提高用户访问的性能,并减轻骨干网络流量,同时也增加了系统容量,如图1。代理服务器的角色是:从流媒体服务器角度来说,代理服务器是终端,从用户角度来说,代理服务器是服务器.流媒体代理服务器一端支持用户,一端连接流媒体服务器.从流媒体代理服务器到客户端是最短的网络路径,这意味着能减少网络故障,缓解带宽瓶颈.当一部分流媒体已经缓存于代理服务器时,这部分流媒体可以直接从代理服务器以组播方式发到用户,不用再从远端的流媒体服务器提取。

5f3b41b494cea_html_b025a3c2e32ac7dc.png

1.流媒体调度算法。在大规模的流媒体系统中,用户的点播往往集中于少数热门节目,这就使得合并用户服务、共享服务器和网络带宽等资源成为可能,于是流调度技术应运而生,它属于应用层面的技术.典型的流调度算法可分为两类:静态调度算法和动态调度算法。静态调度算法采用服务器推模式,服务器不考虑用户动态行为而调度流,预留信道周期性广播视频文件,适用于分送最流行的媒体对象;动态调度算法采用客户端拉模式,媒体流的调度由用户请求驱动,服务器根据用户请求的情况动态选择相应的调度方案来做出响应,使不同的用户尽可能共享同一个数据流,从而降低服务器带宽资源消耗。

2.代理服务器缓存算法。近年来,随着流媒体技术在Internet环境中的高速发展,对代理服务器的研究也逐步深入,其中代理服务器缓存分配算法和缓存替换算法是管理缓存的主要手段,也是决定代理服务器性能的核心因素.缓存分配算法决定哪些媒体对象的哪些部分被缓存到代理服务器中,当代理服务器没有足够空间存储新的媒体对象时,缓存替换算法决定哪些缓存单元以及多少缓存单元被清除,以释放足够的空间。一个理想的流媒体代理服务器缓存系统应具有以下特性:(1)快捷性:缓存系统应该能够有效地降低客户的访问延迟,这是缓存系统的根本目的;(2)鲁棒性:鲁棒性意味着可用性,客户希望流媒体服务随时可用;(3)透明性:缓存系统对客户应是透明的,客户得到的结果仅仅是快速的响应和良好的可用性;(4)高效性:缓存系统给网络带来的开销越小越好;(5)稳定性:缓存系统采用的方案不应给网络带来不稳定;(6)简单性:简单的方案更加容易实现且易被普遍接受,一个理想的缓存方案配置起来应简单易行。

3.基于CDN的交互式操作。流媒体技术的出现,促进了视频点播业务在Inter-net上的快速发展,流媒体代理服务器缓存算法、流媒体动态调度算法的研究,进一步增加了视频点播类业务的性能,用户可以根据自身爱好选取节目,还可在节目播放过程中与进行实时交互。VCR操作是视频点播系统中客户与服务器交互的重要手段,建立了VCR操作的数学模型:当一个用户向系统请求某个媒体对象时,用户交互行为的状态转移如图2所示,其中pi(i=0,1,…,9)定义为状态转移概率,dj(j=0,1,…,8)定义为在特定状态的滞留时间.假定在整个视频点播期间,用户停留在每个状态的时间满足指数分布.另外引入了三类参数:(1)VCR请求发生的频率,通过调节转移概率pi实现;(2)VCR操作的持续时间,通过调节滞留时间di达到;(3)VCR操作的偏向性,即VCR操作中,快进和快退哪个占主导,可以通过调节p2、p3的比例来实现。

5f3b41b494cea_html_3b1e3f4fb23be061.png

三、P2P流媒体分发关键技术研究

1.网络拓扑。现有P2P流媒体分发系统的网络拓扑主要分为树型和网状(Mesh)两大类。(1)树型拓扑。很多应用组播协议采用与m组播相同的树型拓扑。树型拓扑的节点之间存在明确的父-子关系,这种关系直接驱动数据分发:每个节点把从父亲节点得到的数据直接转发给各个孩子节点,数据分发调度简单。树型拓扑系统的难点在于树型拓扑的构建和维护。树型拓扑构造主要包括两方面的任务:选择父亲节点以及避免形成环路.构造算法必须权衡两个关键参数的选取:树的高度以及内部节点的出度。树的高度关系到数据分发的时延,树高度越大,则时延越大。增大内部节点的出度可以降低树的高度,但是一旦内部节点退出,受影响的节点范围也越广。(2)网状拓扑。网状拓扑是一种数据驱动的拓扑结构,节点之间不存在固定的父一子关系。节点可以从多个节点获取数据,也可以把数据中继给多个节点.节点之间关系由网络连接状态以及节点上数据可用状态动态决定。网状拓扑采用推-拉结合的方式:以推的方式分发数据可用性报告(如BM),以拉的方式请求数据内容。(3)混合拓扑。混合拓扑的目标是利用树·网拓扑以及推-拉交换方式的综合优势。在系统鲁棒性、可伸缩性和应用实时性之间取得平衡点。

2.数据调度。数据调度主要解决以怎样的次序向哪些对象交换(请求或响应)哪些数据才能保证流媒体应用的性能需求的问题。数据调度应该兼顾节点的本地性能和系统的全局性能.流媒体应用的性能参数主要包括:启动时延、切换时延、流畅指数(continuity index)、点问播放时滞(playback time lags a.mong peers)H、搜索时延(seek delay)等.数据调度涉及三方面的工作:成员管理、邻居选择和块选择。

3.数据编码。流媒体系统中的编码技术包括视频编码与网络编码(network coding)技术。视频编码由媒体源完成,是对流媒体数据的编码.对视频编码技术进行了详细的总结,重点对比了多种可伸缩编码技术.网络编码其特点是允许网络中继节点对所传信息进行编码处理,网络编码可以提升网络吞吐量、提高带宽利用率和实现负载均衡等。

总之,向用户提供快捷、稳定,高质量,低成本的流媒体是流媒体分发系统追求的目标,也是流媒体业务成为下一代网络的杀手业务的关键,为此需要不断地深入研究,其中基于P2P的流媒体分发系统将成为今后流媒体发展的热点之一。

参考文献:

[1]庄建.流媒体分发体系结构演化和关键技术进展综述[M].北京:中国广播电视出版社,2019:21-41.

[2]熊维.实时流媒体传输技术研究综述[J].计算机应用研究.2019,26(10);3615-3620.

[3] 吴俊峰. 基于云架构的统一视音频服务平台[J]. 指挥信息系统与技术. 2017,8(5); 81-86.

[4] 柯昌骏. 指挥信息系统话音调度的媒体协商改进[J]. 指挥信息系统与技术. 2018,,9(1); 50-55.