论文摘要
随着大规模存储、高性能工作站、宽带网络和数据压缩技术的迅速发展,流媒体点播服务从技术上和经济上成为可能,并大大丰富了互联网中的内容。在一个视频点播系统中,视频服务器将用户点播的节目分割成若干数据块传向网络,客户端接收到后进行解码并且播放。然而传统的客户端朋艮务器(C/S)架构模型在流媒体服务上所表现出来的服务质量却远远不及传统的以文字和图片为主体的Web等服务,尤其表现在可扩展性和容错性等方面。对等网络(P2P Network)的研究近年来在文件共享、应用层组播方面取得了巨大的进步。P2P模式的核心思想是:不存在特定的服务器,每台客户机都可以看作是小型的服务器,它在接收数据的同时还可以向其它客户机提供数据。通过参与系统的节点之间的直接交互来实现信息资源和服务的共享,能够解决传统客户端/服务器结构中服务器过载和资源瓶颈的问题。P2P流媒体点播系统将P2P网络和VOD系统结合起来,大大增加了视频点播系统同时支持的用户数目,提高了视频节目在客户端播放的质量。缓存管理策略对视频服务器重要资源进行管理,它的选择对视频点播系统的性能有很重要的影响。整个P2P视频点播系统的缓存管理存在于两个部分:骨干节点从视频硬盘上获取了节目的数据块后先将其存放到一定的缓存区中,然后向网络传送;普通节点在接收到数据块后将其放入缓存区,进行处理之后播放显示。本文主要研究骨干节点的缓存管理。本文首先回顾了现有的流媒体技术,P2P网络技术和缓存技术,分析了现有的流媒体点播系统缓存技术各自的优点和不足之处,并在此基础上,提出了一个适合P2P流媒体点播系统的骨干节点缓存策略——动态与静态相结合的缓存区管理。本文在一个完整的P2P流媒体点播原型系统的基础上,阐述了它的整体和模块设计,并给出了缓存策略的总体设计和接口设计。对于静态缓存区的前缀缓存,本文通过对P2P流媒体点播系统中用户对于流媒体文件的访问倾向性的分析,给出了前缀缓存基本思想,实现策略和替换算法。对于动态缓存区的后缀缓存,本文通过对P2P流媒体点播系统中骨干节点所起的特殊作用的分析,给出了后缀缓存的队列设计和主要操作实现算法。同时,对缓存策略进行了性能测试。测试结果证实了本文设计的缓存策略在P2P点播系统中的有效性。最后,本文总结并提出了该领域的进一步研究方向。