一种改进的音频点播系统BT片段下载算法

2013-06-23 09:42陈世娇
电子设计工程 2013年17期
关键词:分片时限优先

陈世娇,甘 涛,周 桢

(1.电子科技大学 电子工程学院,四川 成都 611731;2.武汉广播电视总台 湖北 武汉 430015)

随着网络传输技术的不断发展和人们对网络需求的日益增长,P2P技术在流媒体领域的应用日益广泛,在我国,P2P直播技术已经非常成熟,较出名的产品有PPlive[1]。BT协议是支持网络中数据的传输的一个典型的P2P文件传输协议。BT协议下载文件片段,其下载顺序是无序的,与音频点播中文件片段的有序播放相矛盾;并且BT协议是单一地从P2P网络中获取文件片段,当网络拥塞或者文件资源数目较少时,会导致数据不能及时到达甚至获取失败。而音频点播系统需要的是能够实时播放的数据流,BT片段下载算法应用于音频点播具有启动延迟大、播放流畅性低等缺点。

基于P2P技术在点播[2-6]领域的研究,在BT协议的基础上,提出了一种分区域多线程的片段下载算法,该算法融合了分区域片段选择算法以及多线程片段下载算法,经实验证明,能够有效地减小音频点播的启动延迟、提高音频播放的流畅性。

1 BT协议片段选择算法

使用BT协议下载文件的过程中,遵循以下4个片段选择策略:

1)严格优先级策略

一旦某个片段的子片段被请求,那么该片段剩下的子片段将优先被请求,这样做可以尽可能快的获得一个完整的片段。

2)最少优先策略

对于那些资源数目较少的的片段,最有可能从当前网络中消失。因此,节点使用最少优先策略,优先下载这些资源数目数较少的片段请求下载这样,网络中该片段的资源数目会增多,使系统资源处于均衡。

3)随机选择策略

在文件下载的开始时刻,下载开始时客户端并没有任何片段可供上传,因此,需要尽快的获取一个完整的片段进行上传。这时就需要随机选择第一个片段。

4)最后阶段模式

当peer的数量大于未下载的片段数量时,就进入了最后阶段模式,客户端向它的所有的对等端发送这些片段的请求,一旦某些片段到了,该客户端就会向其它对等端发送“取消”消息来取消对这些片段的请求,避免浪费带宽。

综合BT协议的片段选择算法,可以看出其应用于音频点播系统的不足:播放顺序与下载顺序之间的矛盾,以及片段到达时间的不确定性,这两者很容易影响点播的质量,造成播放的不连贯。文中在BT片段选择算法的基础上,提出了一种分区域的片段下载算法,能够很好的解决BT协议片段下载算法应用于音频点播的不足。

2 分区域多线程片段下载算法

以播放点为基准,将下载缓冲区分为两个区域:紧急数据区域和普通数据区域。位于紧急数据区域的片段离播放点比较近,是即将播放的数据,具有较高的优先级,采用时限优先片段选择算法;位于普通数据区域的片段离播放点比较远,具有较低的优先级,当紧急数据区域的片段全部下载结束后,才能进行普通数据区域片段的下载,该区域采用最少优先和时限优先相结合的片段选择算法。下载缓冲区分区如图1所示。

图1 缓冲区分区Fig.1 Division of buffer

2.1 紧急数据区域片段下载算法

紧急数据区域的片段,距离播放点很近,其下载顺序与播放的流畅性密切相关,若当播放点临近时,所需的片段仍未到达,就会造成类似于“卡带”的现象。为了保证播放的质量,紧急数据区域的片段选择采用基于时限优先的多线程下载算法。

2.1.1 时限优先片段选择算法

时限优先是指在选择下载片段的时候,越靠近播放点的数据分片其优先级越高,这样可以在缓冲的起始部分保证播放顺序问题,紧急缓冲区域的大小设置为W=DB/C(其中:D—播放延迟,B—播放速度,C—单个文件片段的大小)。随着播放的进行,播放点向后移动。如图2所示,假设紧急数据区域中含有p1~p7共7个片段,按照时限优先的片段选择算法,这些片段的优先级从大到小排列为:p1>p2>p3>p4>p5>p6>p7。

图2 紧急数据区域Fig.2 Domain of urgent data

2.1.2 多线程片段下载算法

在利用最少时限优先算法选择了需要下载的片段之后,就要开始这个片段的下载。如果单独从P2P网络[7]中下载数据片段,由于网络环境的不确定性,片段的及时到达不能得到有效的保证,这从两个播放的两个过程影响音频播放的质量:一个是下载开始阶段的播放延迟,二是播放过程中途播放的不连贯性。下面从这两个过程分别提出应对策略。

1)要保证音频播放的质量,音频文件的比特率至少为128 kbps;BT协议规定,torrent文件分片的大小为2k大小,分片大小对下载效率是有影响的,一般来说,分片大了,客户端之间互相交互所消耗的流量也会比较小,因为客户端互相交互分片信息也是需要数据包的,但是会导致传输效率下降,BT协议规定的分片典型大小为256 KB,根据码率的计算公式,可以推算出一定数据量音频的播放时间:

当音频文件的比特率分别为为128 kbps,196 kbps时,由公式(1)可以计算出播放一个文件片段的时间分别为16.4 s、10.7 s。可见一个片段大小的数据量的播放时间就可以保证播放的启动延迟。

2)点播系统中数据传输的实时性要求文件片段能够及时到达:当网络拥塞或者资源副本稀缺时,就可能使得从P2P网络下载片段时不能达到足够的下载速度,这时要启动服务器下载线程,从流媒体服务器下载所需的片段下载。这个下载算法时针对紧急数据区域的片段下载的。

假设播放点位置距离当前正在下载的片段之间的数据片段个数为N,如图3,则根据公式(1),播放完这N个数据分片所需要的时间为t,这时,正在下载的数据片段至少需要达到pmin的下载速率才能保证播放的流畅性,其中pmin计算公式为:

图3 正在下载分片Fig.3 The downloading piece

由于网络的拥塞或者其他对等端的上传速度的限制,可能会使当前正在下载分片的下载速率pnow<pmin,这时,就要启用服务器线程从服务器下载所需的数据分片。

2.2 普通数据区域片段下载算法

普通数据区域的片段离播放点比较远,而且是当紧急数据区域的片段全部下载结束后才开始下载的,其下载速度对播放的质量无太大的影响。普通数据区域的片段选取采用最少优先和时限优先相结合的片段选择算法。由BT协议的片段选择算法可知,最少优先策略能够保证数据分片在网络中分布的均衡性。采用最少优先和时限优先相结合的策略,是在最少优先的前提下,优先选择靠近播放点的数据,这样,就达到了均衡网络负载与协调按序播放的目的。

假设普通数据区域存在未下载的文件片段为P1~P4,如图4所示,首先按照最少优先策略对这些分片进行优先级的设定,具有相同资源数的片段具有相同的优先级;然后按照时限优先策略,对具有相同优先级的片段进行二次优先级的设定,至此,优先级的排列结束。

图4 普通数据区域Fig.4 Domain of orainary data

3 实验结果

搭建实验环境,对改进算法进行验证,这里只对音频文件的下载速度进行相应的实验。用3台电脑作为实验平台(Linux系统),一台作为HTTP流媒体服务器提供HTTP下载源端,一台运行libtorrent客户端,一台运行基于新算法的下载客户端。测试用的.torrent种子文件是来自公网的,提前下载好一份完整的文件,交给HTTP流媒体服务器来提供HTTP链接。实验结果取二十分钟内的平均下载速度,实验结果见表1。

表1 下载速度比较Tab.1 Compare of the download speed

由表1可以看出,使用改进的片段选择算法之后,从P2P网络中获取数据的速度要较Libtorrent客户端大;且由于使用了HTTP下载线程,使得基于新算法的下载客户端的总的下载速度远远大于Libtorrent客户端。

4 结束语

文中针对BT片段选择算法应用于音频点播系统的不足,提出了一种改进的基于BT协议的分区域多线程片段下载算法,阐述了其算法原理,并在linux系统下对算法的下载性能进行了相关实验,实验结果表明,该算法提高了音频数据的下载速度,有效地提高了系统的性能。

[1]Live[EB/OL].WWW.pplive.com.

[2]胡晶.基于P2P技术的视频点播技术[J].中国科技信息,2007(2):147-148.HU Jing.Video on demand technology based on P2P technology[J].China Science and Technology Information,2007(2):147-148.

[3]陈新新.P2P视频点播系统优化研究与实现[D].广州:华南理工大学,2010.

[4]朱骏,吕智慧,刘毕升,等.基于文件分片的P2P视频点播系统片段选择[J].计算机工程,2008,34(20):82-85.ZHU Jun,LU Zhi-hui,LIU Bi-sheng,et al.Fragment selecting method of P2P VOD system based on file piecewise[J].computer Engineerning,2008,34(20):82-85.

[5]Min Cui.Research on video on demand based on P2P network[J].Intelligent Information Management,2012(2):338-341.

[6]宋启星,胡君,王栋.基于区域化的P2P流媒体直播系统模型[J].计算机工程,2010(1):127-130.SONG Qi-xing,HU Jun,WANG Dong.Model of P2P streaming media live system based on regionalization[J].Computer Engineering,2010(1):127-130.

[7]王植.P2P网络资源搜索算法研究及其改进[J].现代电子技术,2011(12):41-43.WANG Zhi.P2P-based searching alorithm for network resources and its improvement[J].Modern Electronics Technique,2011(12):41-43.

猜你喜欢
分片时限优先
上下分片與詞的時空佈局
分片光滑边值问题的再生核方法
CDN存量MP4视频播放优化方法
心电图QRS波时限与慢性心力衰竭患者预后的相关性分析
平行时空
基于模糊二分查找的帧分片算法设计与实现
40年,教育优先
多端传播,何者优先?
论民事举证时限制度
站在“健康优先”的风口上