论文部分内容阅读
随着Internet的迅速发展和带宽接入的日益普及,视频点播(Video on Demand,简称VoD)服务已经成为互联网上最流行的应用之一。传统的VoD系统采用C/S(客户端/服务器)架构,主要的功能集中于服务器上,系统的服务能力和服务质量由服务器的性能和带宽决定。随着用户数的增加和视频质量的提高,服务器逐渐成为系统的瓶颈。基于C/S架构的VoD系统不能提供可扩展和高可靠的服务,针对这个问题研究人员开始把对等网络(Peer-to-Peer,简称P2P)技术引入VoD领域。在P2P网络中,每个节点在接受服务的同时也向其它节点提供服务,能够充分利用网络闲置的宽带资源和客户端能力,通过用户之间的数据交互,极大减轻流媒体服务器的负载压力,使得系统的服务能力随着需求的增长也自然增长。P2P技术已经在文件下载和视频直播等领域得到了广泛的应用。但是要在动态的P2P网络环境中构建一个大规模的、高可扩展的、高可靠的VoD系统依然存在很多挑战。本文在研究和比较现有的P2P技术和流媒体技术的基础上,提出一种基于BitTorrent协议的P2P视频点播系统VoDBB。首先,本文从整体上介绍VoDBB系统。该系统由Tracker服务器、Web服务器、后备流媒体服务器和VoDBB客户端等实体组成。对Tracker服务器、Web服务器、后备流媒体服务器的功能和实现细节进行描述。并通过几个典型的系统功能说明了系统的工作流程和各实体之间的关系。然后,本文详细的介绍VoDBB客户端的设计与实现。在考虑系统开销、数据分发和用户观看实时性多方面的需求后,提出一种分层次的数据分片机制,并采用位图机制对数据分片进行管理。系统设计了一套邻居peer发现、管理和优化的机制。采用这种机制,节点可以快速的发现邻居peer,并选择连接状态好的peer建立连接,peer间通过一组预定义的消息进行数据和控制信息的传输。系统采用一种巧妙的片段选择算法将最少优先片段选择算法的优点和满足顺序实时下载的需求结合起来。同时采用后备流媒体服务器集群和下载源片段选择算法保证QoS。系统采用数据缓存管理来增加流媒体文件在系统中的分布数,提高数据分发和下载的效率。另外系统还采用了一种称为锚点机制的策略来支持用户交互操作,使得用户交互操作能快速的得到响应。最后本文对VoDBB系统进行仿真实验,实验结果表明该系统能提供良好的用户观看体验,降低流媒体服务器负载,并具有很强的扩展能力。