论文部分内容阅读
以P2P技术为核心的流媒体系统,具有很高的系统可扩展性和良好的性价比。现有的P2P方案有树型、网状和分层混合,树型结构不能很好地适应节点的动态性和网络的异构性,网状结构的控制开销和传输时延较大,所以近年来分层混合结构被广泛应用到流媒体系统中。LStream系统是郑州大学信息网络省重点学科开放实验室设计的基于分层混合结构的P2P流媒体直播系统,为了使系统满足实时性的要求,邻居节点之间高效地转发数据,本文对系统中下层节点之间的数据调度算法进行了研究。本文首先给出了P2P流媒体系统中的数据分片的优先级和节点能力的定义和计算方法,然后结合现有的稀缺优先策略,提出了最少最小优先调度算法(Least Rarest First Scheduling Algorithm)。该算法包括两部分:分片调度和节点调度,分片调度用来确定请求哪些数据分片以及请求顺序,如果拥有该数据分片的邻居节点有多个,通过节点调度来选择向哪个邻居节点进行数据请求。流媒体数据分片的重要性是不同的,一些只有少数的邻居持有的数据分片和一些即将要播放的数据分片是重要的,即稀缺的分片和紧急的分片比普通的分片更重要。根据数据分片的稀缺性和紧急性,确定数据分片的优先级,根据优先级确定分片的调度顺序,这样可以提高系统整体的下载速率。节点调度分两方面考虑,数据传输任务和节点能力,通过计算节点的接受请求数来衡量节点数据传输任务的大小,接受请求数最少的邻居节点,有最小的数据传输任务,所以优先进行数据请求。节点的能力主要受节点的可用带宽、网络链路的质量以及请求节点的个数影响,是一个动态变化的值,用传统的方法实时测量是非常消耗资源的,本文采用基于节点历史传输数据实时估算节点能力,优先选择能力强的邻居节点进行请求,既能实现节点的负载平衡,又能充分利用节点资源,提高系统的整体性能。最后在同等条件下,将本文算法和Random、Round-Robin及LRF算法作了对比实验,实验结果及分析表明,本算法相对于FIFO和LRU,具有较高的效率,有较好的稳定性和可扩展性。