论文部分内容阅读
传统基于C/S的服务模式,对于视频流媒体这种数据量大的应用,由于服务器有限的服务能力和网络带宽,限制了系统的容量和扩展性。P2P技术可以充分利用网络闲置的带宽资源和客户端的服务能力,通过用户之间的数据交互,大大减轻服务器的压力。目前,互联网的视频流媒体业务大概可以分为下载、直播、点播三类业务。基于P2P技术的下载系统和直播系统已经比较成熟,并得到了广泛的应用。由于点播业务所特有的节点间播放的异步性和播放时的交互性增加了系统的实现难度,目前基于P2P技术的视频点播系统还是比较热的研究课题。本文在研究和比较现有的P2P技术和点播技术基础上,提出了一套基于层次化引导方案的P2P视频点播系统——HPVoD。首先,本文从整体上介绍了HPVoD系统。该系统按照运营商将网络划分为若干层次化的域,用户节点优先连接与自己在相同较小域内的邻居节点。采用这种方式可以提高用户体验的同时,减少运营商网络出口和骨干网络中的P2P流量。然后,本文介绍了HPVoD点播客户端系统的设计,并重点对系统中的P2P相关模块的设计与实现进行详细阐述。在分析现有网络服务模型的基础上,系统选择了异步事件驱动框架,将所有的事件通过这个框架统一进行调度,降低了程序编写的难度。根据已获得数据的比例,客户端系统将已经建立连接的节点分类管理,通过淘汰劣质的连接,建立优质的连接,提高系统的分发效率和用户体验。针对P2P点播业务,HPVoD点播客户端系统定制了一套分片管理和调度机制,将被动选片和主动调度相结合,在保证视频的正常播放同时,可以充分利用节点的服务能力。另外,系统采用预分配的缓存管理策略,将缓存分块设置为数据分片大小,有效避免了片内碎片,提高内存缓存的利用率。用户节点在磁盘中缓存多部已观看的视频,可以增加节点的服务范围,进一步降低服务器的负载,减少运营成本。最后,本文通过对HPVoD系统的测试和对测试结果的分析,验证了系统设计的可行性。