论文部分内容阅读
互联网和视频的结合产生了网络视频,网络视频以其娱乐性和交互性等优点吸引了更多的人在线收看视频。C/S架构存在单点系统瓶颈,主要体现在服务器的计算能力,存储以及带宽。IP组播尽力而为传递数据,缺乏拥塞控制机制。CDN(content delivery network)扩展性差,服务投入成本高。P2P(peer-to-peer)网络架构中资源分布在网络中的各个节点上,计算和存储都是由网络中各个节点协同完成的,这样解决了单点系统瓶颈问题,提高了系统健壮性和扩展性。本文首先对国内网络视频的发展状况进行了调研,分别阐述了使用C/S架构,IP组播技术,代理,CDN架构,P2P网络技术设计点播系统的优缺点。然后介绍了几种经典的P2P网络点播模型,从中得知设计一个良好的点播系统的关键在于数据调度算法和构建一个低延迟的覆盖网。本文基于P2P和CDN提出了一种混合数据调度机制,节点既可以从固定的服务器获取资源,也可以同网络中的其他节点共享资源。同时将BitTorrent协议引入流媒体点播服务,节点使用修改后的BitTorrent协议同其他节点进行通信,由于BitTorrent协议优先下载最少的文件块来提高整个网络中数据的分布,不能适用于有播放时限的数据传输,本文采用了滑动窗口机制来优先下载紧急数据。在P2P网络中,克服节点的动态性是P2P网络面临的根本问题。无论节点是有意或者无意离开网络,节点的组成员是经常变化的,而且成员之间的资源各不相同,构建一个延迟小的覆盖网来维持节点间的应用层连接是一个巨大的挑战。本文提出了自治域的概念用于发现邻居节点,通过能力预测来选择伙伴节点,同时定时地更新邻居节点和伙伴节点来优化覆盖网。本文最后详细描述了P2P点播客户端的总体框架设计,然后设计并且实现了系统,并且在局域网内对客户端进行了测试,对系统延迟、播放连续性等重要指标进行了统计和分析。测试结果表明客户端可以正常工作,基于本文的混合数据调度算法以及节点选择算法设计的点播系统可以为用户提供良好的播放质量服务。