论文部分内容阅读
近年来,随着P2P网络技术地不断发展,出现了大量基于P2P网络的应用软件。P2P流媒体服务作为P2P网络的一个主要应用,从出现开始,就一直受到广泛地关注。传统C/S模式下的流媒体服务依赖中心化的服务器来管理节点、处理与转发信息资源,随着网络规模地增大,这种模式存在着负载过重、可扩展性不强等问题,而P2P网络技术正好弱化了中心化节点的作用,此外,P2P网络的工作方式非常契合流媒体服务,因此,出现了P2P流媒体服务。P2P流媒体服务分为视频直播技术与视频点播技术,起初的P2P流媒体技术都应用于视频直播系统,可是,随着人们越来越希望能随时、自由地观看自己喜爱的节目,P2P视频点播系统出现了。虽然P2P视频点播系统解决了C/S模式下点播系统的负载过重、可扩展性不强等问题,但是由于P2P网络的资源分散,用户交互行为的随机性等问题,使得P2P视频点播系统在发生VCR(video cassette recorder)操作时难以快速地定位资源,这将使系统产生不小的时延,降低用户的观看体验。因此,如何提高P2P点播系统的交互性成为一个广泛关注的问题。针对以上问题,本文提出一种基于片段关系与节点关系的两层关系的预取策略,并设计了一种基于该策略的P2P VOD系统——R2VOD系统,R2VOD中的状态模块、缓存模块等都有与预取相关的设计,用以辅助本文设计的预取策略。本文的预取策略首先根据不同节点间的播放记录,利用片段关系算法,找到不同片段之间的关系,统计并计算不同片段之间关系的强弱,此后,选择与当前片段关系紧密的片段进行预取;在播放结束后统计不同节点的播放记录,利用节点关系算法,找到与当前节点关系更加紧密的节点,优化邻居列表以更好地辅助预取,从而有效地降低P2P视频点播系统在发生交互式操作时产生的时延。仿真实验表明,本文提出的预取策略能够有效地降低VCR时产生的时延,同时在不增大定位服务器压力的情况下,能够有效提升系统的稳定性、流畅性,提高用户的观看体验。