论文部分内容阅读
大规模流媒体应用是互联网和多媒体技术发展的趋势和前沿性研究课题。对等网络(Peer-to-Peer,P2P)凭借其优异的可扩展性以及低成本、易部署的优势,成为解决大规模流媒体应用的最重要技术途径之一。
P2P流媒体系统数据传输是指通过各个终端节点之间的相互协作完成媒体数据在网络中的分发,对于每一个节点来说,就是从它的哪些邻居节点请求哪些数据,并向哪些节点转发哪些数据,称为数据调度。数据传输过程中最大限度且合理的利用节点带宽资源能有效缓解媒体服务器的压力,对提高系统可扩展性具有重要影响。然而,由于流媒体本身的特殊性,如带宽资源占用高、服务持续时间长、质量保障要求高、对播放的时限和顺序有严格要求等,使得P2P流媒体数据传输面临诸多挑战。提供具有高扩展性和服务质量保障(Quality of Service,QoS)的P2P流媒体传输服务已经成为当前P2P流媒体技术研究中的一个重要课题。
本文针对上述挑战,根据数据传输流程逐层开展研究,主要工作和创新点总结如下:
1.节点每次调度时首先要确定数据块获取顺序,即确定将要优先获取的数据块。为提高节点带宽资源利用率,提出一种数据共享度模型,并基于该模型给出一种新的数据块调度算法(Data Priority basd Data Scheduling,DPDS)。在数据共享度模型中,基于数据在邻居节点滑动窗口中的存在状态定义数据块获取顺序,邻居节点滑动窗口中也缺少的数据块将被优先获取。DPDS可以更充分利用节点带宽资源,与同类数据块调度算法相比可以降低服务器负载20%以上。
2.确定优先获取的数据块后请求节点将在邻居节点间进行请求量分配。本文对多源协同调度进行建模,分析了请求量分配需要考察的邻居节点性能要素,从节点能力和可用数据角度提出节点优先级模型,并给出基于节点优先级的请求量分配算法(Priority Based Data Scheduling Algorithm,PBDSA)。PBDSA请求量分配的原则是向能力越强和拥有越多所需数据的节点分配更多数据请求,从而在提高请求节点数据获取成功率的同时充分利用邻居节点带宽资源为请求节点传输数据,优化服务器负载。PBDSA相比于OTSp2p和MBDAp2p请求量分配算法服务器负载分别降低了约12.2%和7%。
3.完成请求量分配后节点将根据请求数据的接收质量调整数据获取方式。本文提出节点数据接收质量模型,并基于该模型提出基于数据接收质量的自适应推拉调度算法(Adaptive Push-Pull Scheduling,APPS),以提高数据的传输效率和质量。APPS可以根据节点数据接收质量的变化动态改变数据传输方式,保证节点数据接收质量的同时,充分利用节点带宽资源使数据在网络中快速传播,减少向服务器超时紧急请求次数,尽量降低服务器负载。
4.每个节点对于收到的多个数据传输服务请求需要确定服务顺序。本文提出分级别响应的服务调度算法(Priority based Service Scheduling,PSS),当服务节点收到多个服务请求时,将优先服务能力强的节点。这样优先获得数据服务的能力强的节点可以迅速为其它节点提供服务。PSS可以加速系统中节点带宽资源的利用,有利于系统扩展性的提高。
5.当调度过程中出现节点协作性降低的情况时,各请求节点需要调整数据调度方法优化数据协作性,以提高节点带宽利用率。本文提出分阶段数据调度模型,并基于该模型提出一种分阶段数据调度算法(Step Data Scheduling,SDS)。在SDS中,当多个节点将请求的数据中含有相同数据块时,各节点将分两个阶段合作的获取这些数据。SDS可以提高节点间数据协作性,有利于节点带宽资源的有效利用,从而达到降低服务器负载的目的。仿真实验表明SDS相比稀有优先与顺序调度相结合的节点独立调度方法,服务器负载降低约12.6%。