论文部分内容阅读
随着宽带网和信息技术的发展,流媒体的应用越来越广泛,经历了从最初的共享MP3音乐文件,到视频直播和点播的发展过程。在视频直播服务中,用户可以在不同的频道间切换,但不能控制播放的进度,因此,系统中只需存储和传输当前播放时刻前后一个小范围内的数据。而在流媒体点播服务中,用户不仅可以自由选择感兴趣的视频文件进行观看,而且可以控制播放进度,这就需要在网络中存储并传输大量的流媒体源文件数据,占用巨量的带宽资源。而传统的C/S模式存在服务器和带宽的瓶颈问题,显然不能满足视频点播服务的需要。P2P的引入,把巨量的带宽和存储需求分担到共享多媒体的每一个用户上,传输质量通常随着用户数量的增加而变好。利用P2P解决流媒体点播中的问题已经成为目前研究的热点问题,但由于视频点播服务实时性、交互性、严格的QoS要求和对数据的顺序播放等特点,以及P2P网络中节点的动态性、异构性、分布性强等特点,P2P流媒体应用还面临节点管理、数据调度、缓存管理等诸多挑战。本文在对现有流媒体技术和P2P网络进行研究的基础上,将文件分发协议BitTorrent协议应用到P2P点播系统中。本文对BitTorrent应用于流媒体点播服务的可行性进行了分析,并讨论了它应用到点播服务的局限性。针对BitTorrent的局限性,本文提出了改进和优化的算法,并进行了分析,主要包括三个方面:一、提出了基于时间的邻居节点选择算法,提高了节点从相连接的节点下载到新片段的概率。二、考虑到片段的播放时间限制和稀有度的双重因素,提出双窗口片段选择策略,保证即将播放的紧急数据的下载,在系统下载效率和启动时延及播放连续度之间达到一种平衡。三、改进的TFT算法,目的是充分利用节点的上传带宽,提供更多的共享服务。我们设计和实现了采用上述优化算法的系统BTStream,并对Tracker服务器和客户端的功能设计和实现进行了说明。最后,从启动时延、播放连续度和带宽利用率三方面对系统性能进行了分析。