论文部分内容阅读
P2P视频点播是目前网络应用研究的热点,而数据请求任务调度是P2P视频点播系统设计时需要考虑的关键问题。绝大多数现有的数据调度策略都是从请求节点端出发来进行设计。在这些从请求节点端考虑的策略中,请求节点根据自身的数据需求,结合伙伴节点的数据可用信息,向其中合适的伙伴节点发送数据请求,以便能在播放时限到达之前收到数据。服务节点收到数据请求之后,一般采用先来先服务或者最小时间优先的策略处理请求。这样的服务节点数据调度策略不能很好地适应P2P视频点播系统的实时性和动态性(如VCR操作)。在此背景下,本文从服务节点的角度研究P2P视频点播系统的数据调度策略,并提出有效的解决方案。本文首先提出一种接纳控制策略,及时拒绝一些不满足条件的节点请求,使得被拒绝节点尽早重新发送数据请求,减少其等待时间,并结合激励机制,优先响应对系统贡献大的节点的请求,同时也减轻自私节点对系统的影响;然后,本文针对无结构网状P2P视频点播系统中存在的负载不均问题,提出数据请求任务转移策略,过载节点把部分多余任务请求转移给轻载节点,让轻载节点响应数据请求;接着,针对系统中轻载节点的上行带宽没有得到充分利用的问题,设计了一种考虑数据块流行度和紧迫度的推拉结合算法。最后,本文设计了一个基于服务节点数据调度的P2P视频点播原型系统,并把本文设计的数据请求任务转移策略和推拉结合算法运用到该原型系统中。实验结果表明,采用基于服务节点的数据调度策略可以提高播放质量和上行带宽利用率,减少服务器压力和启动延迟,从而改善了用户的观看体验,对推动视频点播应用的大规模开展具有积极的意义。