论文部分内容阅读
P2P流媒体是指把P2P技术应用于流媒体领域而形成的一种新兴的网络服务。在P2P流媒体系统中,由于网络的异构性(节点之间带宽的不对称等)、网络带宽的抖动、网络结构的动态性(节点频繁的加入或退出)等原因,对流媒体提供服务质量保证成为系统实现中的一个关键问题。P2P流媒体系统的实现主要包括两个部分:应用层网络拓扑构造和数据调度。近年来,基于gossip协议的P2P网络拓扑构造方法得到了大量的应用,这样构造的网络模型称为网状模型,较之以往的基于树状结构的模型有更强的鲁棒性。在网状模型中,每个节点有若干直接相连的伙伴节点,它可以同时从多个节点请求数据,所以这种模型也叫多源模型。
本文针对多源模型的P2P流媒体系统中的数据组织和调度算法进行了深入的研究,并实现了一个可支持大规模用户同时在线的P2P流媒体直播系统——AVStreamer,在该系统中采用了创新的数据组织和调度算法,有效解决了当前主流系统中存在的低带宽情况下播放不流畅、异构节点适应性差、数据调度效率低、开销大等问题。本文的主要研究内容如下:
首先,在现有的P2P流媒体系统中,数据划分和组织没有综合考虑数据完整性、音频数据优先传输以及视频帧的优先级等因素。本文详细分析了现有数据组织方法的优缺点,同时针对流媒体数据的特性,在AVStreamer中设计了一个QoS自适应的数据组织结构和方法。在数据组织时,以一帧数据作为组织和调度的最小单位,同时为每一个GOP内的各个帧按照解码依赖性定义优先级并进行数据重组,这样可以实现类似分层编码的效果,在低带宽情况下同样能保证用户端播放的流畅性。
其次,在多源P2P流媒体系统中,需要一个调度算法来决定请求数据的顺序以及向谁请求。我们研究了现有的数据调度算法,发现这些算法普遍存在不能适应网络动态变化、不能保证服务质量、负载不均衡等问题,因此本文提出了一种QoS自适应的数据调度算法,该算法包括一个基于窗口控制的优先策略和一个基于应答驱动的调度策略。其中的优先策略可以保证在不影响播放流畅性的前提下最大可能的实现负载均衡,并在不同的节点之间实现QoS自适应。而调度策略可以在网络动态变化的情况下保证服务质量。
最后,把这些算法应用到了AVStreamer中,经过实际的运行和大规模用户量的考验,证明这些算法可以有效的减小播放的启动延时、保证播放的流畅性,同时能在不同的网络状况下实现QoS自适应。