论文部分内容阅读
近年来,随着计算机计算能力的提高、互联网的普及以及网络接入带宽的不断增加,网络流媒体视频点播服务不断涌现,并吸引了大量互联网用户。然而,作为Internet上一种“杀手应用”(Killer Application),流媒体视频点播系统带宽消耗较大,如果采用C/S模式的系统构架,系统的可扩展性将受限于服务器性能,系统规模和吞吐量的提升常以增加硬件投资为代价。P2P (peer-to-peer)技术为互联网的资源共享与服务协同提供了一种新的技术途径,在基于P2P技术的流媒体视频点播系统中,用户节点下载视频数据的同时,为其他节点提供其缓存数据的上载,以此来减轻服务器的负载,从而提高系统可扩展性。然而,用户请求的异步性及交互操作的动态性,使得用户节点下载并缓存的视频数据会存在差异。因此,用户节点之间的数据协作传输需要有效的数据查询和数据调度功能提供支持:数据查询保证快速定位请求数据所在的节点,数据调度保证流服务的实时性和播放连续性。本文对P2P流媒体视频点播系统中的数据查询和数据调度问题进行了深入研究,在分析P2P流媒体视频点播系统特性的前提下,探讨如何设计有效可行的数据查询和数据调度算法,来达到提高系统性能的目的。具体贡献可以概括为以下三个方面:·本文对具有集中式索引的P2P流媒体视频点播系统中的数据调度问题进行了研究。我们对P2P流媒体视频点播系统中的数据传输性质进行了分析,并详细讨论了数据调度优化的具体目标,根据分析和讨论的结果,提出了一种基于网络最大流的数据调度算法MFDS (Max Flow based Data Scheduling)。MFDS将P2P流媒体视频点播系统中的数据传输映射到虚拟的流网络,通过虚拟流网络的最大流求解来解决数据调度的优化问题。理论分析和模拟实验验证了MFDS算法在提高用户播放连续性和减轻服务器负载上有良好的表现,同时MFDS算法的低计算开销和调度结果的低节点度也进一步验证了MFDS算法的可行性。·本文对P2P流媒体视频点播系统中的分布式数据查询问题进行了研究。我们结合P2P流媒体视频点播的特性,深入分析了分布式数据查询应具备的特点。从支持交互操作和考虑节点异构性的角度出发,本文提出了一种基于跳图(Skip Graph)的分布式数据查询机制,该机制将流媒体视频点播系统中播放点相近的用户节点进行聚类,通过聚类键值之间的关系来构建聚类之间的连接,从而形成一个特殊的跳图,以此作为索引覆盖网络。通过设计这一索引覆盖网络上的基本操作,可以实现快速的数据查询,并为用户节点的交互操作提供有效支持。理论分析和模拟实验分析和验证了这分布式查询机制具有较短的查询时延,其采用的索引覆盖网络鲁棒性强,维护开销合理。·本文对P2P流媒体视频点播系统中的分布式数据调度问题进行了研究。我们根据P2P流媒体视频点播系统中的数据传输要求及特性,深入分析了分布式数据调度的本质。通过理论分析验证了结合提前拒绝的EDF策略的有效性,并通过实验比较分析了已有的请求节点调度策略。基于分析结果,提出了节点上载压力向量的概念,并在此基础上提出了基于节点上载压力向量的分布式数据调度算法,算法确定了节点发送数据请求和对收到请求响应的策略。实验结果表明,相对于已有的分布式数据调度算法,基于节点上载压力向量的调度在系统性能方面有明显的改善。