面向高效子流传输的数据驱动网络构建维护系统和方法
【技术领域】 本发明涉及一种对子流进行传输和调度的数据驱动网络构建和维护的系统和方法,具 体地说是一种面向视频流高效分发的覆盖网构建和维护的系统及方法,属于网络数据通信 领域。
【背景技术】 采用P2P技术将直播视频数据传输给因特网中的大量用户是一种经济和便捷的方法, 它能够有效利用网络边缘普通接入用户的带宽资源从而极大降低视频流服务器的压力,具 有较好的可扩展性,当前实现大规模部署的直播流媒体系统(livestreamingsystem),如 Coolstreaming、PPLive、GridMedia等,都采用了这种方法。然而,普通终端主机相对于服 务器来说,具有较大的动态性,会随时加入和退出系统,因此P2P直播流媒体系统目前主要 面临的挑战就是如何在动态网络环境下满足用户流畅收看直播节目的服务质量需求。 一般而言,在设计P2P直播流媒体系统时,需要重点考虑的两个方面是对等方(peer) 构建的覆盖网(overlaynetwork)结构以及视频数据的调度和分发机制[1]。覆盖网结构是 P2P直播流媒体系统的基础,视频数据传输都是在覆盖网之上进行,典型的覆盖网结构包括 单树结构、多树结构和网状结构 [2]。树状(tree-based)覆盖网的优点是与数据的分发过程 具有相同的结构,利于数据的扩散,但是具有特定结构的覆盖网在高动态性的网络环境中 较难维护,因此它的鲁棒性不强,而且也无法利用叶子结点的带宽资源。网状(mesh-based) 覆盖网采用数据驱动(data-driven)的方式进行构建,也被称为无结构的网络,它会随着 对等方的加入和退出不断调整,这种覆盖网能有效应对结点扰动给系统带来的影响。 视频数据的调度和分发机制则在应用层覆盖网的基础上对将视频数据多播传输给各 个对等方,而在对视频流进行调度和分发时,目标对象可以是整个视频流(stream)、划分后 的子流(substream)或者单个数据块(chunk)。直接对整个视频流进行调度时,应用层的覆 盖网络通常采用单树结构,系统鲁棒性差、对等网络资源利用率低,而将视频流划分为细粒 度的数据块进行分发时,可以在对等网络中有效利用对等方的上传能力进行并发传输,但 这种细粒度的调度方式无法同时兼顾系统开销和数据分发时延方面的性能。为了兼顾数据 分发时延和系统开销,一种折衷的方案是将视频流划分为更粗粒度的单元,也即子流,进行 传输。具体来说,视频流中的数据块按照播放时间顺序设置序列号,假定视频流被划分为K 条子流,那么序列号可表示为nK+i(其中η为整数,且1彡i彡K)的数据块属于子流i[3]。 通过对比各种覆盖网和数据调度设计方式可知,如果将数据驱动网络与子流调度机制 有机结合,就能够同时在系统的鲁棒性、数据的分发时延、系统开销等多个方面实现优化。 但是,如何对这种数据驱动网络中进行构建和维护尚缺乏系统性的解决方案,需要研制有 效的设计方法。 参考文献
[0001]R.Fortuna,E.Lenardi,M.Mellia,M.Meo,S.Traverso.QoEinpullbasedP2P-TV systems:overlaytopologydesigntradeoffs.IEEEP2P2010.
[0002] Y.Liu,Υ.Guo,C.Liang.Asurveyonpeer-t〇-peervideostreamingsystems. Peer-t〇-PeerNetworkingandApplications2008, 1 (1):18-28.
[0003] M.Zhang,Q.Zhang,L.Sun,S.Yang.Understandingthepowerofpull-based streamingprotocol:canwedobetter?IEEEJSAC2007,25(8):1678 - 1694.
[0004] N.Hu,L.Li,Z.Mao,etal.LocatingInternetbottlenecks:algorithms,measure ments,andimplications.ACMSIGC0MM2004.
【发明内容】
发明目的:针对目前P2P直播流媒体系统中视频流分发存在效率不高、开销过大等问 题,提出一种以高效视频流传输为目标的数据驱动网络构建维护的系统和方法。 技术方案:一种面向高效子流传输的数据驱动网络构建维护系统,包括对等方加入网 络模块、对等方位置调整模块和对等方退出网络模块; 所述对等方加入网络模块用于实现:直播流媒体系统中,对等方的注册,并得到当前系 统中其他对等方的IP地址和端口信息;对等方根据得到的信息选择部分对等方建立连接, 并从这些对等方处进一步得到新的对等方信息;对等方计算出自身的可用上传带宽;对等 方对各条子流的最新数据块序号进行对比,并采用注水算法计算为各条子流分配的带宽; 如果对等方分配给某条子流的带宽能为k个对等方服务,那么对等方从已知的对等方中选 择拥有该子流数据块且时延最短的对等方作为父结点,并将其加入父结点集合FatherSet。 所述对等方位置调整模块用于实现:对等方加入系统后,如果分配给子流的带宽超过 父结点分配给子流的带宽,则与父结点的父结点联系,如果该祖先结点有剩余的带宽(剩 余的带宽大小应当大于子流的带宽大小),并且对等方到祖先结点之间的时延小于对等方 经过父结点到祖先结点之间的距离,则向祖先结点发送建立连接请求,如果成功建立连接, 则将先前的父结点替换为祖先结点;当对等方接收到其他对等方发送的建立连接请求时, 如果对等方有充足的剩余带宽,则接受请求并对其进行响应,如果对等方同时接收多个请 求,但自身的剩余带宽无法为所有对等方提供服务,则选择分配给子流带宽最大的对等方, 如果带宽相同则选择拥有子流数据块更少的对等方作为子结点。 所述对等方退出网络模块用于实现:对等方向所有父结点和子结点发送退出报文;所 有父结点都停止向退出对等方传输视频流,并删除与该对等方的连接;所有子结点查询其 他对等方的数据情况和剩余带宽情况,从中选择剩余带宽高、时延短的结点作为新的父结 点。 对等方采用pathneck[4]可用带宽测量方法计算出自身的可用上传带宽;对等方对各 条子流的最新数据块序号进行对比,并采用注水算法计算为各条子流分配的带宽,所述子 流i分配的带宽:
,其中B(i)表示对等方已知的子流i中最新数 据块的序号,s表示子流的数目。 一种面向高效子流传输的数据驱动网络构建维护方法(Data-DrivenNetwork ConstructionandMaintenanceScheme,简称DNCMS),该方法着重描述了对等方在加入和 退出网络时所采取的方法,包括以下步骤: A. 对等方加入网络的步骤:对等方首先向直播流媒体系统中的tracker服务器注 册,并从服务器得到当前系统中其他对等方的IP地址和端口信息;对等方根据得到的信 息选择部分对等方建立连接,并从这些对等方处进一步得到新的对等方信息;对等方采用 pathneck[4]可用带宽测量方法计算出自身的可用上传带宽;对等方对各条子流的最新数 据块序号进行对比,并采用注水算法计算为各条子流分配的带宽,即子流i分配的带宽为
实中B(i)表示对等方已知的子流i中最新数据块的序号,S表示 子流的数目;如果对等方分配给某条子流的带宽能为k个对等方服务,那么对等方从已知 的对等方中选择拥有该子流数据块且时延最短的对等方作为父结点,并将其加入父结点集 合FatherSet〇 B. 对等方位置调整的步骤:对等方加入系统后,如果分配给子流的带宽超过父结点分 配给子流的带宽,则与父结点的父结点联系,如果该祖先结点有剩余的带宽,并且对等方到 祖先结点之间的时延小于对等方经过父结点到祖先结点之间的距离,则向祖先结点发送建 立连接请求,如果成功建立连接,则将先前的父结点替换为祖先结点;当对等方接收到其他 对等方发送的建立连接请求时,如果对等方有充足的剩余带宽,则接受请求并对其进行响 应,如果对等方同时接收多个请求,但自身的剩余带宽无法为所有对等方提供服务,则选择 分配给子流带宽最大的对等方,如果带宽相同则选择拥有子流数据块更少的对等方作为子 结点。 C. 对等方退出网络的步骤:对等方向所有父结点和子结点发送退出报文;所有父结点 都停止向退出对等方传输视频流,并删除与该对等方的连接;所有子结点查询其他对等方 的数据情况和剩余带宽情况,从中选择剩余带宽高于子流带宽、时延短的结点作为新的父 结点。 有益效果:本发明相对现有技术具有以下优点: 1、 分发时延短、效率高:较之现有的设计方法,本发明以子流为调度和分发对象,减少 了数据感知和请求的时间,因而具有较高的分发效率,能够在较短的时间内将视频流分发 给P2P直播流媒体系统中的所有对等方。 2、 鲁棒性强、系统开销少:本发明以数据驱动网络为基础,对等方能够根据网络的动 态性特点进行相应的调整,避免了系统在剧烈的结点扰动和突发访问时出现严重的性能衰 退,同时以推送为主的数据传输方法减少了系统的开销。 【附图说明】 图1为本发明实施例运行的网络环境。 图2为本发明实施例对应DNCMS方法流程图。 【具体实施方式】 下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不 用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式 的修改均落于本申请所附权利要求所限定的范围。 首先给出面向高效子流传输的数据驱动网络构建维护所需要的运行环境和应用场景, 如图1所示:在网络中提前部署tracker服务器,tracker服务器负责为对等方(也即端主 机)提供注册服务,并协助新加入系统的对等方寻找到已经存在于网络中的其他对等方, 并需要定期更新这些对等方信息以便于进行数据的共享。 系统配置如下:在Intel-Linux架构的PC机上实现本发明系统,PC机以至少1Mbps的 接入带宽连接到因特网中。这些PC机硬件的主频为4. 66GHz的Cor