一种基于对等计算核心算法改进的视频点播传输方法.pdf

上传人:000****221 文档编号:4336084 上传时间:2018-09-14 格式:PDF 页数:15 大小:642.20KB
返回 下载 相关 举报
摘要
申请专利号:

CN201210147990.2

申请日:

2012.05.14

公开号:

CN102821316A

公开日:

2012.12.12

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):H04N 21/258申请公布日:20121212|||实质审查的生效IPC(主分类):H04N 21/258申请日:20120514|||公开

IPC分类号:

H04N21/258(2011.01)I; H04N21/262(2011.01)I; H04N21/437(2011.01)I; H04N21/438(2011.01)I; H04L29/08

主分类号:

H04N21/258

申请人:

南京邮电大学

发明人:

王汝传; 裴双迎; 李致远; 孙力娟; 韩志杰; 邵星; 林巧民; 肖甫; 黄海平

地址:

210003 江苏省南京市新模范马路66号

优先权:

专利代理机构:

南京经纬专利商标代理有限公司 32200

代理人:

叶连生

PDF下载: PDF下载
内容摘要

一种基于对等计算核心算法改进的视频点播传输方法拓扑结构包括种子文件制作服务器、电子节目单服务器(EPG)、改进后的索引服务器(Tracker)、流媒体服务器和改进后的BitTorrent客户端。本发明改进了BitTorrent协议中的片段选择算法和节点选择算法,引进了自适应滑动窗口机制,充分利用了BitTorrent协议高效的文件分发能力、同时又能够满足视频点播对实时性的要求。该方法既能够解决服务器单点失效和连接服务器瓶颈问题,同时又能减轻服务器端负载压力。

权利要求书

1. 一种基于对等计算核心算法改进的视频点播传输方法,其特征在于采用改进的BitTorrent客户端和改进的索引服务器Tracker提升流媒体资源文件传输速度,采用的拓扑结构包括种子文件制作服务器、电子节目单服务器EPG、改进的索引服务器Tracker、流媒体服务器和改进的BitTorrent客户端;整个视频点播的传输过程如下:步骤.11:种子文件制作服务器将要发布的流媒体文件制作成种子文件,然后将种子文件发送到电子节目单服务器EPG;步骤12:电子节目单服务器EPG下载种子文件,同时根据种子信息制作电子节目单;步骤13:视频点播客户端在启动后会自动向电子节目单服务器EPG请求电子节目单,电子节目单服务器EPG根据该用户的信息验证是否属于注册用户,如果用户通过验证电子节目单服务器EPG就会向该用户发送电子节目单,然后用户的客户端上就会出现点播节目菜单;步骤14:根据点播菜单用户点播想看的节目,之后向电子节目单服务器EPG请求种子文件,接着电子节目单服务器EPG向用户发送种子文件;步骤15:当用户收到种子文件后马上进入下载过程,首先通过改进的BitTorrent客户端与改进的索引服务器Tracker建立连接,得到邻居节点信息;步骤16:改进的BitTorrent客户端通过这些邻居节点的信息,采用滑动窗口机制部分有序的下载流媒体文件,边下载边播放,同时也为其他邻居节点提供上载服务;客户端下载完成后变成种子节点,种子节点通过改进的片段选择算法为其它节点提供上传。2.根据权利1所述的基于对等计算核心算法改进的视频点播传输方法,其特征在于改进的BitTorrent客户端,采用改进的片段选择算法,能够解决文件分片的均匀分发,改进步骤如下:步骤21:为了分片在网络中的均匀分布,废除种子的上传策略,不再根据下载速度来提供上传;步骤22:在下载完成节点Seed中设置一个列表,初始化时所有片段号都放在列表中,当片段被客户端节点上传后,则把该片段号从列表删除;步骤23:当下载节点使用最少的分片优先下载的方式向Seed请求分片时,如果下载分片在列表中,Seed发送分片文件给下载节点,并将分片号从列表中删除;如果不在,Seed通过下载节点的位域发送给下载节点没有且片段号在列表中的分片,然后将该分片从列表中删除,如果以上两种情况都不符合,则阻塞该节点;步骤24:当列表中的片段号都被删除后,即列表为空时,重新进行初始化,把所有片段号重新加入列表供节点下载。3.根据权利1所述的基于对等计算核心算法改进的视频点播传输方法,其特征在于改进的索引服务器Tracker,采用改进的节点选择算法,能够充分利用节点的上传效率,改进步骤如下:步骤31.扩展节点与追踪服务器之间的通信,让Tracker能够知道节点的下载进度;步骤32.在Tracker服务器方对每个种子文件建立一个根据下载进度排列的升序列表;步骤33.当有种子文件发布时,将节点Seed首先加入到列表中,并将它的下载进度置为1;    步骤34.当有对等节点与Tracker通信时,如果该节点为新加入节点则根据下载进度将它插入到列表相应的位置,如果对等节点已经在列表中,则删除以前列表所在位置,并将根据节点进度重新插入到列表中去;步骤35.根据节点位置查找40个跟节点进度差距最小的节点;步骤36.返回邻居节点列表给请求节点。4.根据权利1所述的基于对等计算核心算法改进的视频点播传输方法,其特征在于步骤16中采用滑动窗口机制部分有序的下载流媒体文件,使得播放点附近的分片能够优先得到下载;在运行过程中,每次有新的文件分片要请求时,先检查紧急窗口中的文件分片是否被全部请求或下载完,若没有,则先请求滑动窗口中的分片,若请求完则从非滑动窗口中取文件分片进行请求,随着播放点的移动,滑动窗口也做出相应的滑动;并且这个滑动窗口的大小在播放过程中能够根据解码速度和播放延迟自适应的做出调整,既满足了视频点播对实时性的要求,又充分利用了BitTorrent高效的传输效率。

说明书

一种基于对等计算核心算法改进的视频点播传输方法

技术领域

本发明是一种基于对等计算核心算法改进的视频点播系统传输方法,使用的对等计算协议为BitTorrent协议,它对BitTorrent中的片段选择算法和节点选择算法进行改进,引进自适应滑动窗口机制对分片选择请求进行限制,以满足视频点播对实时性的要求,属于对等网络应用领域。

背景技术

视频点播技术是分布式流媒体的一种重要的应用技术。视频点播也被称为VOD,全称是Video on Demand,即按需要的视频流播放。视频点播技术是当前流媒体通信应用的一项前沿技术,是面向未来的信息、通信等相关技术相结合的新技术。同时,视频点播又是一项业务,它泛指利用交互式网络将声音图像进行实时传输,以实现影视点播、信息查询、电视购物、远程教育等服务的一项交互式多媒体应用业务。

因特网上的传统流媒体系统一般是基于C/S模式的,通常包括一台或多台服务器和若干客户端。在C/S模式下,流媒体系统容量(同时服务的客户端数量)主要由服务器端的网络输出带宽决定,有时服务器的处理能力、内存大小、I/O速率也影响到系统的容量。在C/S模式下,由于传输流媒体占用的带宽大,持续时间长,而服务器端可利用的网络带宽有限,所以即使是使用高档服务器,其系统容量也不过几百个客户,不具有经济规模性。另外,由于互联网的不确定性,如果客户端距离服务器较远,则流媒体传输过程中的延迟、抖动、带宽、丢包率等指标也将更加不确定。服务器为每个客户单独发送一次流媒体内容,故网络资源的消耗也十分巨大。所以在当前资源有限的条件下,如何满足不断增长的用户需求,并在确保服务质量的同时,降低流媒体的服务成本,称为流媒体技术研究中的重要课题。近几年兴起的P2P技术,能利用互联网中的各个节点进行对等计算,充分利用互联网上的空闲资源,允许两个客户端直接交换信息,因此受到了广泛关注。将P2P技术应用于流媒体业务,为解决服务器端网络带宽和服务器能力限制问题提供了一种新的思路。在此背景下,基于P2P的视频点播技术产生了。

BitTorrent是一种高效的P2P文件共享下载工具,通过一个中心的Tracker服务器,BitTorrent客户端获取当前下载任务的节点列表,然后各节点之间完全对等的协同完成各文件分片的下载。文件分片共享提高了下载效率,同时无需任何其他服务器的参与。

BitTorrent协议中采用的片段选择算法为:局部最少分片优先,即每个对等节点都优先选择邻居节点中最少的那些片断去下载,而那些在系统中相对较多的片断,放在后面下载。

BitTorrent协议中采用的节点选择算法为:在保持种子所占比例接近全局的种子的比例的情况下,随机选取节点信息返回给请求节点。

发明内容

技术问题:本发明的目的是通过对BitTorrent协议中的片段选择算法和节点选择算法进行改进,同时引进一种自适应滑动窗口机制满足视频点播对实时性的要求。较之传统视频点播系统,它不仅能够高效的进行数据传送,确保视频点播的流畅性,并能够降低系统负载,降低运营成本。

技术方案:本发明的一种基于对等计算核心算法改进的视频点播传输方法采用改进的BitTorrent客户端和改进的索引服务器Tracker提升流媒体资源文件传输速度,算法涉及种子文件制作服务器、电子节目单服务器EPG、改进的索引服务器Tracker、流媒体服务器和改进的BitTorrent客户端模块;整个视频点播的传输过程如下:

步骤.11:种子文件制作服务器将要发布的流媒体文件制作成种子文件,然

后将种子文件发送到电子节目单服务器EPG;

步骤12:电子节目单服务器EPG下载种子文件,同时根据种子信息制作电

子节目单;

步骤13:视频点播客户端在启动后会自动向电子节目单服务器EPG请求电

子节目单,电子节目单服务器EPG根据该用户的信息验证是否属于注册用户,如果用户通过验证电子节目单服务器EPG就会向该用户发送电子节目单,然后用户的客户端上就会出现点播节目菜单;

步骤14:根据点播菜单用户点播想看的节目,之后向电子节目单服务器EPG

请求种子文件,接着电子节目单服务器EPG向用户发送种子文件;

步骤15:当用户收到种子文件后马上进入下载过程,首先通过改进的

BitTorrent客户端与改进的索引服务器Tracker建立连接,得到邻居节点信息;

步骤16:改进的BitTorrent客户端通过这些邻居节点的信息,采用滑动窗口

机制部分有序的下载流媒体文件,边下载边播放,同时也为其他邻居节点提供上载服务;客户端下载完成后变成种子节点,种子节点通过改进的片段选择算法为其它节点提供上传。

改进的BitTorrent客户端,采用改进的片段选择算法,能够解决文件分片的均匀分发,改进步骤如下:

步骤21:为了分片在网络中的均匀分布,废除种子的上传策略,不再根据

下载速度来提供上传;

步骤22:在下载完成节点Seed中设置一个列表,初始化时所有片段号都放

在列表中,当片段被客户端节点上传后,则把该片段号从列表删除;

步骤23:当下载节点使用最少的分片优先下载的方式向Seed请求分片时,

如果下载分片在列表中,Seed发送分片文件给下载节点,并将分片号从列表中删除;如果不在,Seed通过下载节点的位域发送给下载节点没有且片段号在列表中的分片,然后将该分片从列表中删除,如果以上两种情况都不符合,则阻塞该节点;

步骤24:当列表中的片段号都被删除后,即列表为空时,重新进行初始化,

把所有片段号重新加入列表供节点下载。

改进的索引服务器Tracker,采用改进的节点选择算法,能够充分利用节点的上传效率,改进步骤如下:

步骤31.扩展节点与追踪服务器之间的通信,让Tracker能够知道节点的下

载进度;

步骤32.在Tracker服务器方对每个种子文件建立一个根据下载进度排列

的升序列表;

步骤33.当有种子文件发布时,将节点Seed首先加入到列表中,并将它的

下载进度置为1;

    步骤34.当有对等节点与Tracker通信时,如果该节点为新加入节点则根据下载进度将它插入到列表相应的位置,如果对等节点已经在列表中,则删除以前列表所在位置,并将根据节点进度重新插入到列表中去;

步骤35.根据节点位置查找40个跟节点进度差距最小的节点;

步骤36.返回邻居节点列表给请求节点。

步骤16中采用滑动窗口机制部分有序的下载流媒体文件,使得播放点附近的分片能够优先得到下载;在运行过程中,每次有新的文件分片要请求时,先检查紧急窗口中的文件分片是否被全部请求或下载完,若没有,则先请求滑动窗口中的分片,若请求完则从非滑动窗口中取文件分片进行请求,随着播放点的移动,滑动窗口也做出相应的滑动;并且这个滑动窗口的大小在播放过程中能够根据解码速度和播放延迟自适应的做出调整,既满足了视频点播对实时性的要求,又充分利用了BitTorrent高效的传输效率。

有益效果:本发明方法提出了基于BitTorrent核心算法改进的视频点播传输方法,旨在结合BitTorrent高效的文件分发机制,来解决视频点播系统中流媒体服务器负载压力过重,效率不高的问题。该发明提出的技术方法并不是现有技术的简单罗列,而是根据现有技术的特点,通过不断实践提炼出的,通过将各种机制有效的结合,来实现高效的P2P视频点播传输系统。下面给出具体的说明。

数据孤岛:如果网络中只有服务器A拥有资源S,那么当服务器A由于某些原因宕机或是损坏时,网络中的所有节点都无法访问或是获取资源S,直到服务器A重新正常工作,服务器A的这种状态就称为“数据孤岛”。数据孤岛严重的影响了系统的稳定性和灵活性,网络中的少数节点就能影响到全局的性能。数据孤岛在传统的音乐点播系统中极为常见,点播用户的所有资源均来自媒体服务器,一旦媒体服务器宕掉,所有点播用户就无法获取媒体资源,一种解决方法是设置多个备用的媒体服务器,但这会带来极大的成本开销。而在我们的基于BitTorrent的视频点播传输系统中,点播用户的资源并不一定来自于媒体服务,而且在很多时候可以完全脱离媒体服务器,这样就摆脱了数据孤岛的问题了。

负载均衡:是指系统的各个处理单元均衡的分担服务请求。即将网络中的负载分散到多个服务器或是节点上,从而有效的避免了网络中部分服务器或是节点负载过重,使得所有节点平均分担网络中的负载,保证网络更有效的运行。传统的多媒体点播系统中的负载均衡技术,通常只是对系统中的所有媒体服务器进行负载均衡,让所有的媒体服务器有接近的负载量,避免少数媒体服务器不堪重负,而有些却没有被有效的利用,如共享式多媒体点播系统中的负载均衡技术。在P2P音乐点播系统中,负载均衡技术是利用客户节点分担媒体服务器的负载,来减轻媒体服务器的负载,这种负载均衡技术相对于传统多媒体点播系统中的负载均衡技术来说,其作用更广泛,也更加彻底和有效。

改进的BitTorrent核心算法:BitTorrent协议中的片段选择算法采用的是分片副本数量局部最少优先策略,这种策略不能使分片数量均匀度接近于最优,本发明采用改进的种子节点上传策略对这种策略进行改进,实验证明分片数量均匀度、下载速度、平均下载时间比传统的策略和改进前的策略有了较大的改进。Tracker节点选择算法近似于一种随机选择策略,算法存在不确定性、随机性比较强,可能需要很长的搜寻时间才能找到合适的服务提供者。针对这个问题,本发明采用改进的节点选择算法,帮助节点在最短的时间内找到合适的节点。经过实验证明改进后算法下载速度有了明显提高,并且在最后阶段模式下载速度也没有明显的降低。

附图说明

图1是改进后种子节点上传流程图,,

图2是改进后的节点选择算法流程图,

图3 是基于BitTorrent的视频点播传输的流程图,

图4 是系统在运行过程中的具体流程图。

具体实施方式

本发明的方法强调对BitTorrent中的核心算法进行改进,并引进自适应滑动窗口机制以满足视频点播对实时性的要求。

.改进的片段选择算法

在BitTorrent系统中采用的是局部文件片优先策略(Local Rarest First),也就是节点只需知道共享文件的文件片在其邻居节点(一般是50个节点)中的分布,在其和其所有邻居节点中执行最少文件块优先策略。这样可以降低系统负载,并在局部保持了文件块的均匀分布。但BitTorrent在片段选择策略方面存在一些问题:由于局部最少优先仅仅基于局部信息,局部最少不代表全局最少,因此文件块的选择在一定程度上存在盲目性。

改进后的片段选择算法为:通过改进种子上传策略,由上传策略间接的影响文件分片分布的均衡度。

传统的种子上传策略为:当客户端节点的所有分片都下载完成后,如果它没有马上离开网络它将转变为种子节点,由于种子节点不会再从其他节点下载文件分片,它将不再使用节点选择策略选择节点进行上传,而是选择从本节点得到最快下载速度的几个节点提供上传,这样可以尽可能的利用上传带宽。

本发明提出一种改进后的片段选择算法,算法思想如图1所示,其流程为:

1. 为了分片在网络中的均匀分布,废除种子的上传策略,不再根据下载速

度来提供上传。

2. 下载节点的片段选择算法不做改变,即还保留以前的随机的第一个分片、

最少的优先、严格的优先级、最后阶段模式。

3. 在Seed里设置一个列表,初始化时所有片段号都放在列表中,当片段被

Seed节点上传后,则把该片段号从列表删除。

4. 当下载节点使用最少优先向Seed请求分片时,如果下载分片在列表中,

Seed发送分片文件给下载节点,并将分片号从列表中删除。如果不在,Seed可以通过下载节点的bitfield域发送给下载节点下载节点没有且片段号在列表中的分片,然后将该分片从列表中删除,如果以上两种情况都不符合,则阻塞该节点。

5. 当列表中的片段号都被删除后,即列表为空时,重新进行初始化,把所

有片段号重新加入列表供节点下载。

.改进的节点选择算法

为了充分利用邻居节点的上传带宽,节点的邻居节点最好包含节点所需的文件分片。而传统的Tracker算法采用一种随机选取邻居节点的办法,这在一定程度上影响了节点的下载效率,不利于文件分片高效的分发。这种情况在节点下载的最后阶段尤为明显,由于在下载的最后节点所需的分片数量比较少,如果选取拥有分片比较少的节点作为邻居节点,往往得到分片的概率会很低,也就造成了在最后阶段节点的下载速度会有明显的降低。

本发明提出一种改进的节点选择算法,算法思想如图2所示,其流程为:

    1.扩展对等节点与Tracker之间的通信,让Tracker能够知道节点的下载进度。

2.在Tracker服务器方对每个torrent文件建立一个根据下载进度排列的升

序列表。

3.当有种子文件发布时,将Seed节点首先加入到列表中,并将它的下载进

度置为1。

 4.当对等节点与Tracker通信时,如果对等节点为新加入节点则根据下载进度将它插入到列表相应的位置,如果对等节点已经在列表中,则删除以前列表所在位置,并将根据节点进度重新插入到列表中去。

5.根据节点位置查找40个跟节点进度差距最小的节点。

6.返回邻居节点列表给请求节点。

.自适应滑动窗口机制

滑动窗口维护一个关于媒体数据接收缓冲的窗口,这个窗口将根据播放器消耗数据和对等节点接收数据的状态变化向前移动,一旦位于滑动窗口内的数据被播放器消耗掉,则滑动窗口将向前移动,以获取播放器后续播放需要的媒体数据。位于滑动窗口内的数据将根据紧急程度按照优先级顺序地从服务器或其它伙伴节点请求。

从前面的讨论我们可以知道,滑动窗口越大,则获取紧急数据的速度越快,同时由于滑动窗口内每个分片都向多个对等节点请求(以达到和保证迅速获取分片),无疑将增加系统中分片请求和响应的冗余,而滑动窗口越小,相对地,位于滑动窗口外的数据请求比率将会增大。对于那些位于滑动窗口外的数据,除了后面我们所采取的设置“锚点”的部分,我们仍然采用的是BitTorrent的“最少者优先”策略,系统的冗余将相对变小,能够有效地降低系统负载,但是这样可能不能够及时地满足播放器对即将播放数据的需求。这主要取决于播放器缓冲数据接收和消耗的速度的变化,当接收速度大于消耗速度的时候,显然缓冲能够满足播放器消耗的速度,这时候应该将滑动窗口减小,以降低系统负载,而滑动窗口将用于保证“最少者优先”策略没有下载下来的播放器所需的紧急数据的请求(我们知道“最少者优先”为了平衡系统负载,总是最先下载群集中复制较少的分片,这种无序下载的方式不能够满足播放器顺序播放的需要),当接收速度小于消耗速度的时候,因为播放器缓冲数据消耗较快,为了减少用户播放等待的时间,我们应该增大滑动窗口,以尽快获取播放器所需要的数据,因此,为了动态地反映滑动窗口内数据的变化,以达到更好的平衡系统负载,我们提出一种自适应大小的滑动窗口方案。

从上述论述中我们可以清楚地认识到,滑动窗口的大小是一个影响系统性能的至关重要的参数。我们认为滑动窗口的大小应该与播放启动等待时间                                                相对应,客户端应该在这个播放等待时间内填充满滑动窗口缓冲,而后开始播放媒体流,在播放的同时,不断地继续填充这个缓冲,以保证播放的连续性。这样关于滑动窗口的最佳大小,根据试验统计,滑动窗口的大小应该静态的设置为能够缓冲300s的媒体数据。根据(其中表示播放器的播放延迟,即从客户端请求节目到播放器开始播放之间的时间间隔;表示分片的大小,用于保存在对等节点的媒体数据的最小单位,大小为256K字节;表示媒体文件的解码速度)的滑动窗口大小计算公式,前提都在于假设分片获取的速度总是至少大于或等于播放器流媒体的解码速度,这在实际应用中,特别对于广大的ADSL用户和具有高质量QoS保证的流媒体数据,具有极大的不现实性。我们滑动窗口的初始大小同样采取的计算方案,同时鉴于BitTorrent分片获取的波动性,以及前述所讨论的滑动窗口对系统整体性能的影响,我们的自适应大小滑动窗口将根据分片获取的速度动态地自我调整大小。

一、体系结构

系统设计的目的是为了实现新的系统,但是新的系统如果与原有系统差异过大,就会造成系统升级的代价巨大,特别是对于大规模的网络系统,系统的重大升级会带来相当的成本和时间代价。因此,在设计基于BitTorrent的视频点播系统时要充分考虑原有系统构架,以实现两种系统之间的简单升级。从传统的视频点播系统中可以看出,它的问题主要来源于媒体服务器的瓶颈,而对于网络中的其他部分没有严重的问题。按照现在通用的共享式视频点播系统来简单的在各媒体服务器间均衡负载,无法彻底解决媒体服务器的瓶颈,而以P2P的方式将服务器的负载均衡到各节点上,才能彻底实现媒体服务器瓶颈问题的彻底解决。

图3给出了基于BitTorrent视频点播系统的总体架构,该结构以现有成熟的大规模视频点播系统为蓝本,同时考虑到P2P的特性。不仅实现了基于BitTorrent视频点播系统,同时保证了系统的性能和可扩展性。

从图3中可以看出,在总体架构上,它与传统的视频点播系统很相似,这也确保了在对系统升级时的改动会比较小。而整个系统的主要改变在与客户节点端,同时服务器的功能也会有所改变,它不再只是简单的返回媒体服务器的信息,还要返回邻居节点的信息。对于客户节点的改变,主要是针对于客户节点上运行的客户端,在升级过程中也相对简单的多。

二、实施例

根据图4中所示,系统在运行过程中的具体流程为:

1、 种子文件制作服务器制作将要发布的流媒体文件,然后将种子文件发送

EPG服务器。

2、 EPG服务器下载种子文件,同时根据种子信息制作电子节目单。

3、 视频点播客户端在启动后会自动向EPG服务器请求电子节目单,EPG

服务器根据该用户的信息验证是否属于注册用户,如果用户通过验证EPG服务器就会向该用户发送电子节目单,然后用户的客户端上就会出现点播节目菜单。

4、 根据点播菜单用户可以点播想看的节目,之后向EPG服务器请求种子文

件,接着EPG服务器向用户发送种子文件。

5、 当用户收到种子文件后马上进入下载过程,首先在客户端上经过改进的

BitTorrent客户端与Tracker服务器建立连接,根据改进后的Tracker算法得到邻居节点信息。

6、客户端通过这些邻居节点的信息,根据改进后的BitTorrent客户端部分

有序的下载流媒体文件,边下载边播放,同时也为其他邻居节点提供上载服务,这样用户马上就可以看到点播节目直至文件播放完毕。

下面介绍一下自适应滑动窗口的实现。

首先给出如下定义:

:节点下载分片的速度之和,是实时动态的反映,根据我们上面的讨论,可得知的大小有如下计算公式: 

:初始滑动窗口大小(理想滑动窗口大小),大小可由如下公式计算

:时刻的自适应滑动窗口大小

则我们定义的计算公式如下:

其中N是节点所请求文件的分片数,,是调整滑动窗口大小的频度。

当的时候,即起始的时候,。

因此自适应大小的滑动窗口算法可以很容易做如下实现:

由前面我们知道为分片数,假设一个512MB的视频文件,则,而为滑动窗口的最小值,理论上,按顺序下载的话,当分块获取速度大于缓冲区消耗速度时,可以趋近于0,即是不需要滑动窗口的存在,但是正如我们前面说讨论的,由于BT无序下载的特性,我们必须保留滑动窗口为一定的大小,通过试验,我们发现当解码速度为4Mbps,播放延迟为5s时,取值为10~20为最佳,而取值15%~20%为最佳。

一种基于对等计算核心算法改进的视频点播传输方法.pdf_第1页
第1页 / 共15页
一种基于对等计算核心算法改进的视频点播传输方法.pdf_第2页
第2页 / 共15页
一种基于对等计算核心算法改进的视频点播传输方法.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种基于对等计算核心算法改进的视频点播传输方法.pdf》由会员分享,可在线阅读,更多相关《一种基于对等计算核心算法改进的视频点播传输方法.pdf(15页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102821316 A (43)申请公布日 2012.12.12 C N 1 0 2 8 2 1 3 1 6 A *CN102821316A* (21)申请号 201210147990.2 (22)申请日 2012.05.14 H04N 21/258(2011.01) H04N 21/262(2011.01) H04N 21/437(2011.01) H04N 21/438(2011.01) H04L 29/08(2006.01) (71)申请人南京邮电大学 地址 210003 江苏省南京市新模范马路66 号 (72)发明人王汝传 裴双迎 李致远 孙力娟 韩志杰 邵星。

2、 林巧民 肖甫 黄海平 (74)专利代理机构南京经纬专利商标代理有限 公司 32200 代理人叶连生 (54) 发明名称 一种基于对等计算核心算法改进的视频点播 传输方法 (57) 摘要 一种基于对等计算核心算法改进的视频 点播传输方法拓扑结构包括种子文件制作服 务器、电子节目单服务器(EPG)、改进后的索引 服务器(Tracker)、流媒体服务器和改进后的 BitTorrent客户端。本发明改进了BitTorrent协 议中的片段选择算法和节点选择算法,引进了自 适应滑动窗口机制,充分利用了BitTorrent协议 高效的文件分发能力、同时又能够满足视频点播 对实时性的要求。该方法既能够解决。

3、服务器单点 失效和连接服务器瓶颈问题,同时又能减轻服务 器端负载压力。 (51)Int.Cl. 权利要求书2页 说明书8页 附图4页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 8 页 附图 4 页 1/2页 2 1. 一种基于对等计算核心算法改进的视频点播传输方法,其特征在于采用改进的 BitTorrent客户端和改进的索引服务器Tracker提升流媒体资源文件传输速度,采用的拓 扑结构包括种子文件制作服务器、电子节目单服务器EPG、改进的索引服务器Tracker、流 媒体服务器和改进的BitTorrent客户端;整个视频点播的传输过程如下: 步骤。

4、.11:种子文件制作服务器将要发布的流媒体文件制作成种子文件,然 后将种子文件发送到电子节目单服务器EPG; 步骤12:电子节目单服务器EPG下载种子文件,同时根据种子信息制作电 子节目单; 步骤13:视频点播客户端在启动后会自动向电子节目单服务器EPG请求电 子节目单,电子节目单服务器EPG根据该用户的信息验证是否属于注册用户,如果用 户通过验证电子节目单服务器EPG就会向该用户发送电子节目单,然后用户的客户端上就 会出现点播节目菜单; 步骤14:根据点播菜单用户点播想看的节目,之后向电子节目单服务器EPG 请求种子文件,接着电子节目单服务器EPG向用户发送种子文件; 步骤15:当用户收到种。

5、子文件后马上进入下载过程,首先通过改进的 BitTorrent客户端与改进的索引服务器Tracker建立连接,得到邻居节点信息; 步骤16:改进的BitTorrent客户端通过这些邻居节点的信息,采用滑动窗口 机制部分有序的下载流媒体文件,边下载边播放,同时也为其他邻居节点提供上载服 务;客户端下载完成后变成种子节点,种子节点通过改进的片段选择算法为其它节点提供 上传。 2.根据权利1所述的基于对等计算核心算法改进的视频点播传输方法,其特征在于改 进的BitTorrent客户端,采用改进的片段选择算法,能够解决文件分片的均匀分发,改进 步骤如下: 步骤21:为了分片在网络中的均匀分布,废除种子。

6、的上传策略,不再根据 下载速度来提供上传; 步骤22:在下载完成节点Seed中设置一个列表,初始化时所有片段号都放 在列表中,当片段被客户端节点上传后,则把该片段号从列表删除; 步骤23:当下载节点使用最少的分片优先下载的方式向Seed请求分片时, 如果下载分片在列表中,Seed发送分片文件给下载节点,并将分片号从列表中删除; 如果不在,Seed通过下载节点的位域发送给下载节点没有且片段号在列表中的分片,然后 将该分片从列表中删除,如果以上两种情况都不符合,则阻塞该节点; 步骤24:当列表中的片段号都被删除后,即列表为空时,重新进行初始化, 把所有片段号重新加入列表供节点下载。 3.根据权利1。

7、所述的基于对等计算核心算法改进的视频点播传输方法,其特征在于改 进的索引服务器Tracker,采用改进的节点选择算法,能够充分利用节点的上传效率,改进 步骤如下: 步骤31扩展节点与追踪服务器之间的通信,让Tracker能够知道节点的下 载进度; 步骤32在Tracker服务器方对每个种子文件建立一个根据下载进度排列 权 利 要 求 书CN 102821316 A 2/2页 3 的升序列表; 步骤33当有种子文件发布时,将节点Seed首先加入到列表中,并将它的 下载进度置为1; 步骤34当有对等节点与Tracker通信时,如果该节点为新加入节点则根据下载 进度将它插入到列表相应的位置,如果对等。

8、节点已经在列表中,则删除以前列表所在位置, 并将根据节点进度重新插入到列表中去; 步骤35根据节点位置查找40个跟节点进度差距最小的节点; 步骤36返回邻居节点列表给请求节点。 4.根据权利1所述的基于对等计算核心算法改进的视频点播传输方法,其特 征在于步骤16中采用滑动窗口机制部分有序的下载流媒体文件,使得播放点附近的 分片能够优先得到下载;在运行过程中,每次有新的文件分片要请求时,先检查紧急窗口中 的文件分片是否被全部请求或下载完,若没有,则先请求滑动窗口中的分片,若请求完则从 非滑动窗口中取文件分片进行请求,随着播放点的移动,滑动窗口也做出相应的滑动;并且 这个滑动窗口的大小在播放过程中。

9、能够根据解码速度和播放延迟自适应的做出调整,既满 足了视频点播对实时性的要求,又充分利用了BitTorrent高效的传输效率。 权 利 要 求 书CN 102821316 A 1/8页 4 一种基于对等计算核心算法改进的视频点播传输方法 技术领域 0001 本发明是一种基于对等计算核心算法改进的视频点播系统传输方法,使用的对等 计算协议为BitTorrent协议,它对BitTorrent中的片段选择算法和节点选择算法进行改 进,引进自适应滑动窗口机制对分片选择请求进行限制,以满足视频点播对实时性的要求, 属于对等网络应用领域。 背景技术 0002 视频点播技术是分布式流媒体的一种重要的应用技术。

10、。视频点播也被称为VOD,全 称是Video on Demand,即按需要的视频流播放。视频点播技术是当前流媒体通信应用的一 项前沿技术,是面向未来的信息、通信等相关技术相结合的新技术。同时,视频点播又是一 项业务,它泛指利用交互式网络将声音图像进行实时传输,以实现影视点播、信息查询、电 视购物、远程教育等服务的一项交互式多媒体应用业务。 0003 因特网上的传统流媒体系统一般是基于C/S模式的,通常包括一台或多台服务器 和若干客户端。在C/S模式下,流媒体系统容量(同时服务的客户端数量)主要由服务器端 的网络输出带宽决定,有时服务器的处理能力、内存大小、I/O速率也影响到系统的容量。在 C/。

11、S模式下,由于传输流媒体占用的带宽大,持续时间长,而服务器端可利用的网络带宽有 限,所以即使是使用高档服务器,其系统容量也不过几百个客户,不具有经济规模性。另外, 由于互联网的不确定性,如果客户端距离服务器较远,则流媒体传输过程中的延迟、抖动、 带宽、丢包率等指标也将更加不确定。服务器为每个客户单独发送一次流媒体内容,故网络 资源的消耗也十分巨大。所以在当前资源有限的条件下,如何满足不断增长的用户需求, 并在确保服务质量的同时,降低流媒体的服务成本,称为流媒体技术研究中的重要课题。近 几年兴起的P2P技术,能利用互联网中的各个节点进行对等计算,充分利用互联网上的空 闲资源,允许两个客户端直接交。

12、换信息,因此受到了广泛关注。将P2P技术应用于流媒体业 务,为解决服务器端网络带宽和服务器能力限制问题提供了一种新的思路。在此背景下,基 于P2P的视频点播技术产生了。 0004 BitTorrent是一种高效的P2P文件共享下载工具,通过一个中心的Tracker服务 器,BitTorrent客户端获取当前下载任务的节点列表,然后各节点之间完全对等的协同完 成各文件分片的下载。文件分片共享提高了下载效率,同时无需任何其他服务器的参与。 0005 BitTorrent协议中采用的片段选择算法为:局部最少分片优先,即每个对等节点 都优先选择邻居节点中最少的那些片断去下载,而那些在系统中相对较多的片。

13、断,放在后 面下载。 0006 BitTorrent协议中采用的节点选择算法为:在保持种子所占比例接近全局的种 子的比例的情况下,随机选取节点信息返回给请求节点。 发明内容 0007 技术问题:本发明的目的是通过对BitTorrent协议中的片段选择算法和节点选 说 明 书CN 102821316 A 2/8页 5 择算法进行改进,同时引进一种自适应滑动窗口机制满足视频点播对实时性的要求。较之 传统视频点播系统,它不仅能够高效的进行数据传送,确保视频点播的流畅性,并能够降低 系统负载,降低运营成本。 0008 技术方案:本发明的一种基于对等计算核心算法改进的视频点播传输方法采用改 进的BitT。

14、orrent客户端和改进的索引服务器Tracker提升流媒体资源文件传输速度,算法 涉及种子文件制作服务器、电子节目单服务器EPG、改进的索引服务器Tracker、流媒体服 务器和改进的BitTorrent客户端模块;整个视频点播的传输过程如下: 步骤.11:种子文件制作服务器将要发布的流媒体文件制作成种子文件,然 后将种子文件发送到电子节目单服务器EPG; 步骤12:电子节目单服务器EPG下载种子文件,同时根据种子信息制作电 子节目单; 步骤13:视频点播客户端在启动后会自动向电子节目单服务器EPG请求电 子节目单,电子节目单服务器EPG根据该用户的信息验证是否属于注册用户,如果用 户通过验。

15、证电子节目单服务器EPG就会向该用户发送电子节目单,然后用户的客户端上就 会出现点播节目菜单; 步骤14:根据点播菜单用户点播想看的节目,之后向电子节目单服务器EPG 请求种子文件,接着电子节目单服务器EPG向用户发送种子文件; 步骤15:当用户收到种子文件后马上进入下载过程,首先通过改进的 BitTorrent客户端与改进的索引服务器Tracker建立连接,得到邻居节点信息; 步骤16:改进的BitTorrent客户端通过这些邻居节点的信息,采用滑动窗口 机制部分有序的下载流媒体文件,边下载边播放,同时也为其他邻居节点提供上载服 务;客户端下载完成后变成种子节点,种子节点通过改进的片段选择算。

16、法为其它节点提供 上传。 0009 改进的BitTorrent客户端,采用改进的片段选择算法,能够解决文件分片的均匀 分发,改进步骤如下: 步骤21:为了分片在网络中的均匀分布,废除种子的上传策略,不再根据 下载速度来提供上传; 步骤22:在下载完成节点Seed中设置一个列表,初始化时所有片段号都放 在列表中,当片段被客户端节点上传后,则把该片段号从列表删除; 步骤23:当下载节点使用最少的分片优先下载的方式向Seed请求分片时, 如果下载分片在列表中,Seed发送分片文件给下载节点,并将分片号从列表中删除; 如果不在,Seed通过下载节点的位域发送给下载节点没有且片段号在列表中的分片,然后 。

17、将该分片从列表中删除,如果以上两种情况都不符合,则阻塞该节点; 步骤24:当列表中的片段号都被删除后,即列表为空时,重新进行初始化, 把所有片段号重新加入列表供节点下载。 0010 改进的索引服务器Tracker,采用改进的节点选择算法,能够充分利用节点的上传 效率,改进步骤如下: 步骤31扩展节点与追踪服务器之间的通信,让Tracker能够知道节点的下 载进度; 说 明 书CN 102821316 A 3/8页 6 步骤32在Tracker服务器方对每个种子文件建立一个根据下载进度排列 的升序列表; 步骤33当有种子文件发布时,将节点Seed首先加入到列表中,并将它的 下载进度置为1; 步骤。

18、34当有对等节点与Tracker通信时,如果该节点为新加入节点则根据下载 进度将它插入到列表相应的位置,如果对等节点已经在列表中,则删除以前列表所在位置, 并将根据节点进度重新插入到列表中去; 步骤35根据节点位置查找40个跟节点进度差距最小的节点; 步骤36返回邻居节点列表给请求节点。 0011 步骤16中采用滑动窗口机制部分有序的下载流媒体文件,使得播放点附近的分 片能够优先得到下载;在运行过程中,每次有新的文件分片要请求时,先检查紧急窗口中的 文件分片是否被全部请求或下载完,若没有,则先请求滑动窗口中的分片,若请求完则从非 滑动窗口中取文件分片进行请求,随着播放点的移动,滑动窗口也做出相。

19、应的滑动;并且这 个滑动窗口的大小在播放过程中能够根据解码速度和播放延迟自适应的做出调整,既满足 了视频点播对实时性的要求,又充分利用了BitTorrent高效的传输效率。 0012 有益效果:本发明方法提出了基于BitTorrent核心算法改进的视频点播传输方 法,旨在结合BitTorrent高效的文件分发机制,来解决视频点播系统中流媒体服务器负载 压力过重,效率不高的问题。该发明提出的技术方法并不是现有技术的简单罗列,而是根据 现有技术的特点,通过不断实践提炼出的,通过将各种机制有效的结合,来实现高效的P2P 视频点播传输系统。下面给出具体的说明。 0013 数据孤岛:如果网络中只有服务器。

20、A拥有资源S,那么当服务器A由于某些原因 宕机或是损坏时,网络中的所有节点都无法访问或是获取资源S,直到服务器A重新正常工 作,服务器A的这种状态就称为“数据孤岛”。数据孤岛严重的影响了系统的稳定性和灵活 性,网络中的少数节点就能影响到全局的性能。数据孤岛在传统的音乐点播系统中极为常 见,点播用户的所有资源均来自媒体服务器,一旦媒体服务器宕掉,所有点播用户就无法获 取媒体资源,一种解决方法是设置多个备用的媒体服务器,但这会带来极大的成本开销。而 在我们的基于BitTorrent的视频点播传输系统中,点播用户的资源并不一定来自于媒体 服务,而且在很多时候可以完全脱离媒体服务器,这样就摆脱了数据孤。

21、岛的问题了。 0014 负载均衡:是指系统的各个处理单元均衡的分担服务请求。即将网络中的负载分 散到多个服务器或是节点上,从而有效的避免了网络中部分服务器或是节点负载过重,使 得所有节点平均分担网络中的负载,保证网络更有效的运行。传统的多媒体点播系统中的 负载均衡技术,通常只是对系统中的所有媒体服务器进行负载均衡,让所有的媒体服务器 有接近的负载量,避免少数媒体服务器不堪重负,而有些却没有被有效的利用,如共享式多 媒体点播系统中的负载均衡技术。在P2P音乐点播系统中,负载均衡技术是利用客户节点 分担媒体服务器的负载,来减轻媒体服务器的负载,这种负载均衡技术相对于传统多媒体 点播系统中的负载均衡。

22、技术来说,其作用更广泛,也更加彻底和有效。 0015 改进的BitTorrent核心算法:BitTorrent协议中的片段选择算法采用的是分片 副本数量局部最少优先策略,这种策略不能使分片数量均匀度接近于最优,本发明采用改 进的种子节点上传策略对这种策略进行改进,实验证明分片数量均匀度、下载速度、平均下 说 明 书CN 102821316 A 4/8页 7 载时间比传统的策略和改进前的策略有了较大的改进。Tracker节点选择算法近似于一种 随机选择策略,算法存在不确定性、随机性比较强,可能需要很长的搜寻时间才能找到合适 的服务提供者。针对这个问题,本发明采用改进的节点选择算法,帮助节点在最短。

23、的时间内 找到合适的节点。经过实验证明改进后算法下载速度有了明显提高,并且在最后阶段模式 下载速度也没有明显的降低。 附图说明 0016 图1是改进后种子节点上传流程图, 图2是改进后的节点选择算法流程图, 图3 是基于BitTorrent的视频点播传输的流程图, 图4 是系统在运行过程中的具体流程图。 具体实施方式 0017 本发明的方法强调对BitTorrent中的核心算法进行改进,并引进自适应滑动窗 口机制以满足视频点播对实时性的要求。 0018 改进的片段选择算法 在BitTorrent系统中采用的是局部文件片优先策略(Local Rarest First),也就是节 点只需知道共享文。

24、件的文件片在其邻居节点(一般是50个节点)中的分布,在其和其所有邻 居节点中执行最少文件块优先策略。这样可以降低系统负载,并在局部保持了文件块的均 匀分布。但BitTorrent在片段选择策略方面存在一些问题:由于局部最少优先仅仅基于局 部信息,局部最少不代表全局最少,因此文件块的选择在一定程度上存在盲目性。 0019 改进后的片段选择算法为:通过改进种子上传策略,由上传策略间接的影响文件 分片分布的均衡度。 0020 传统的种子上传策略为:当客户端节点的所有分片都下载完成后,如果它没有马 上离开网络它将转变为种子节点,由于种子节点不会再从其他节点下载文件分片,它将不 再使用节点选择策略选择节。

25、点进行上传,而是选择从本节点得到最快下载速度的几个节点 提供上传,这样可以尽可能的利用上传带宽。 0021 本发明提出一种改进后的片段选择算法,算法思想如图1所示,其流程为: 1 为了分片在网络中的均匀分布,废除种子的上传策略,不再根据下载速 度来提供上传。 0022 2 下载节点的片段选择算法不做改变,即还保留以前的随机的第一个分片、 最少的优先、严格的优先级、最后阶段模式。 0023 3 在Seed里设置一个列表,初始化时所有片段号都放在列表中,当片段被 Seed节点上传后,则把该片段号从列表删除。 0024 4 当下载节点使用最少优先向Seed请求分片时,如果下载分片在列表中, Seed。

26、发送分片文件给下载节点,并将分片号从列表中删除。如果不在,Seed可以通过 下载节点的bitfield域发送给下载节点下载节点没有且片段号在列表中的分片,然后将 该分片从列表中删除,如果以上两种情况都不符合,则阻塞该节点。 0025 5 当列表中的片段号都被删除后,即列表为空时,重新进行初始化,把所 说 明 书CN 102821316 A 5/8页 8 有片段号重新加入列表供节点下载。 0026 改进的节点选择算法 为了充分利用邻居节点的上传带宽,节点的邻居节点最好包含节点所需的文件分片。 而传统的Tracker算法采用一种随机选取邻居节点的办法,这在一定程度上影响了节点的 下载效率,不利于文。

27、件分片高效的分发。这种情况在节点下载的最后阶段尤为明显,由于在 下载的最后节点所需的分片数量比较少,如果选取拥有分片比较少的节点作为邻居节点, 往往得到分片的概率会很低,也就造成了在最后阶段节点的下载速度会有明显的降低。 0027 本发明提出一种改进的节点选择算法,算法思想如图2所示,其流程为: 1扩展对等节点与Tracker之间的通信,让Tracker能够知道节点的下载进度。 0028 2在Tracker服务器方对每个torrent文件建立一个根据下载进度排列的升 序列表。 0029 3当有种子文件发布时,将Seed节点首先加入到列表中,并将它的下载进 度置为1。 0030 4当对等节点与T。

28、racker通信时,如果对等节点为新加入节点则根据下载进度 将它插入到列表相应的位置,如果对等节点已经在列表中,则删除以前列表所在位置,并将 根据节点进度重新插入到列表中去。 0031 5根据节点位置查找40个跟节点进度差距最小的节点。 0032 6返回邻居节点列表给请求节点。 0033 自适应滑动窗口机制 滑动窗口维护一个关于媒体数据接收缓冲的窗口,这个窗口将根据播放器消耗数据和 对等节点接收数据的状态变化向前移动,一旦位于滑动窗口内的数据被播放器消耗掉,则 滑动窗口将向前移动,以获取播放器后续播放需要的媒体数据。位于滑动窗口内的数据将 根据紧急程度按照优先级顺序地从服务器或其它伙伴节点请求。

29、。 0034 从前面的讨论我们可以知道,滑动窗口越大,则获取紧急数据的速度越快,同时由 于滑动窗口内每个分片都向多个对等节点请求(以达到和保证迅速获取分片),无疑将增加 系统中分片请求和响应的冗余,而滑动窗口越小,相对地,位于滑动窗口外的数据请求比率 将会增大。对于那些位于滑动窗口外的数据,除了后面我们所采取的设置“锚点”的部分,我 们仍然采用的是BitTorrent的“最少者优先”策略,系统的冗余将相对变小,能够有效地降 低系统负载,但是这样可能不能够及时地满足播放器对即将播放数据的需求。这主要取决 于播放器缓冲数据接收和消耗的速度的变化,当接收速度大于消耗速度的时候,显然缓冲 能够满足播放。

30、器消耗的速度,这时候应该将滑动窗口减小,以降低系统负载,而滑动窗口将 用于保证“最少者优先”策略没有下载下来的播放器所需的紧急数据的请求(我们知道“最 少者优先”为了平衡系统负载,总是最先下载群集中复制较少的分片,这种无序下载的方式 不能够满足播放器顺序播放的需要),当接收速度小于消耗速度的时候,因为播放器缓冲数 据消耗较快,为了减少用户播放等待的时间,我们应该增大滑动窗口,以尽快获取播放器所 需要的数据,因此,为了动态地反映滑动窗口内数据的变化,以达到更好的平衡系统负载, 我们提出一种自适应大小的滑动窗口方案。 0035 从上述论述中我们可以清楚地认识到,滑动窗口的大小是一个影响系 统性能的。

31、至关重要的参数。我们认为滑动窗口的大小应该与播放启动等待时间 说 明 书CN 102821316 A 6/8页 9 相对应,客户端应该在这个播放等待时间内填充满滑动窗口缓冲,而后开始播放媒体流, 在播放的同时,不断地继续填充这个缓冲,以保证播放的连续性。这样关于滑动窗口的最佳 大小,根据试验统计,滑动窗口的大小应该静态的设置为能够缓冲300s的媒体数据。根据 (其中表示播放器的播放延迟,即从客户端请求节目到播放器开始播放之间的时间 间隔;表示分片的大小,用于保存在对等节点的媒体数据的最小单位,大小为256K字节; 表示媒体文件的解码速度)的滑动窗口大小计算公式,前提都在于假设分片获取的速度 总。

32、是至少大于或等于播放器流媒体的解码速度,这在实际应用中,特别对于广大的ADSL用 户和具有高质量QoS保证的流媒体数据,具有极大的不现实性。我们滑动窗口的初始大小 同样采取的计算方案,同时鉴于BitTorrent分片获取的波动性,以及前述所讨论的滑动窗 口对系统整体性能的影响,我们的自适应大小滑动窗口将根据分片获取的速度动态地自我 调整大小。 0036 一、体系结构 系统设计的目的是为了实现新的系统,但是新的系统如果与原有系统差异过大,就会 造成系统升级的代价巨大,特别是对于大规模的网络系统,系统的重大升级会带来相当的 成本和时间代价。因此,在设计基于BitTorrent的视频点播系统时要充分。

33、考虑原有系统构 架,以实现两种系统之间的简单升级。从传统的视频点播系统中可以看出,它的问题主要来 源于媒体服务器的瓶颈,而对于网络中的其他部分没有严重的问题。按照现在通用的共享 式视频点播系统来简单的在各媒体服务器间均衡负载,无法彻底解决媒体服务器的瓶颈, 而以P2P的方式将服务器的负载均衡到各节点上,才能彻底实现媒体服务器瓶颈问题的彻 底解决。 0037 图3给出了基于BitTorrent视频点播系统的总体架构,该结构以现有成熟的大规 模视频点播系统为蓝本,同时考虑到P2P的特性。不仅实现了基于BitTorrent视频点播系 统,同时保证了系统的性能和可扩展性。 0038 从图3中可以看出,。

34、在总体架构上,它与传统的视频点播系统很相似,这也确保了 在对系统升级时的改动会比较小。而整个系统的主要改变在与客户节点端,同时服务器的 功能也会有所改变,它不再只是简单的返回媒体服务器的信息,还要返回邻居节点的信息。 对于客户节点的改变,主要是针对于客户节点上运行的客户端,在升级过程中也相对简单 的多。 0039 二、实施例 根据图4中所示,系统在运行过程中的具体流程为: 1、 种子文件制作服务器制作将要发布的流媒体文件,然后将种子文件发送 EPG服务器。 0040 2、 EPG服务器下载种子文件,同时根据种子信息制作电子节目单。 0041 3、 视频点播客户端在启动后会自动向EPG服务器请求。

35、电子节目单,EPG 服务器根据该用户的信息验证是否属于注册用户,如果用户通过验证EPG服务器就会 向该用户发送电子节目单,然后用户的客户端上就会出现点播节目菜单。 0042 4、 根据点播菜单用户可以点播想看的节目,之后向EPG服务器请求种子文 件,接着EPG服务器向用户发送种子文件。 说 明 书CN 102821316 A 7/8页 10 0043 5、 当用户收到种子文件后马上进入下载过程,首先在客户端上经过改进的 BitTorrent客户端与Tracker服务器建立连接,根据改进后的Tracker算法得到邻居 节点信息。 0044 6、客户端通过这些邻居节点的信息,根据改进后的BitTo。

36、rrent客户端部分 有序的下载流媒体文件,边下载边播放,同时也为其他邻居节点提供上载服务,这样用 户马上就可以看到点播节目直至文件播放完毕。 0045 下面介绍一下自适应滑动窗口的实现。 0046 首先给出如下定义: :节点下载分片的速度之和,是实时动态的反映,根据我们上面的讨论,可得知 的大小有如下计算公式: :初始滑动窗口大小(理想滑动窗口大小),大小可由如下公式计算 :时刻的自适应滑动窗口大小 则我们定义的计算公式如下: 其中N是节点所请求文件的分片数,是调整滑动窗口大小的频度。 0047 当的时候,即起始的时候,。 0048 因此自适应大小的滑动窗口算法可以很容易做如下实现: 说 明。

37、 书CN 102821316 A 10 8/8页 11 由前面我们知道为分片数,假设一个512MB的视频文件,则 ,而为滑动窗口的最小值,理论上,按顺序下载的 话,当分块获取速度大于缓冲区消耗速度时,可以趋近于0,即是不需要滑动窗口的存在, 但是正如我们前面说讨论的,由于BT无序下载的特性,我们必须保留滑动窗口为一定的大 小,通过试验,我们发现当解码速度为4Mbps,播放延迟为5s时,取值为1020为最佳,而 取值15%20%为最佳。 说 明 书CN 102821316 A 11 1/4页 12 图1 说 明 书 附 图CN 102821316 A 12 2/4页 13 图2 说 明 书 附 图CN 102821316 A 13 3/4页 14 图3 说 明 书 附 图CN 102821316 A 14 4/4页 15 图4 说 明 书 附 图CN 102821316 A 15 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1