论文部分内容阅读
近年来,Internet上信息的主要载体已经逐渐由传统的字符形式转变为包含图像、音频、视频的多媒体数据。流媒体点播系统作为提供视频与音频服务的一类主流应用,具有等待时间短、缓存消耗小、播放清晰流畅的优点,而且支持用户对任意节目的自由点播,因而被应用在电影节目、远程教学、视频游戏等多种服务中。随着计算机硬件性能与宽带通信技术的飞速发展,可以预见,覆盖大面积区域并为海量用户提供服务的宽带点播系统必将具有广阔的应用前景。在现有的流媒体点播系统设计技术中,传统的C/S架构可扩放性较差,不适合大规模用户的情况;IP组播技术由于缺乏网络层的支持,不能在当前的Internet环境下通用。目前,大规模流媒体点播系统的主流实现方式可以分为两种,即采用CDN模式或P2P模式。前者能够支持异构网络中的大规模用户,并为用户提供较好的服务质量保证,但缺点是需要大量服务器,代价较为昂贵。后者具有较好的可扩放性与灵活性,而且花费成本低,但缺点是纯P2P模式用于提供点播服务难以保证用户的服务质量。为克服以上问题,本文提出了一种采用CDN-P2P分层混合架构的流媒体点播系统设计,由于结合了CDN与P2P技术的优点,该系统具有较好的可扩放性、自适应性与健壮性,从而能够为分布在异构网络环境中的大规模用户提供服务质量保证,并尽可能节省服务器成本开销。本文的主要贡献有三点:(1)在CDN层的设计中,借鉴集群技术的基本思想提出了区域服务器组的结构设计,每个区域服务器组包括一个管理平台与若干区域服务器,其中管理平台负责集中处理用户的点播请求以及全局信息的收集与统计,而区域服务器之间可以进行数据调度,并根据当前的负载情况选择合适的服务器为用户提供服务,这样能够使系统负载平衡并具有较大的灵活性。(2)由于采用了分层架构,本系统的用户P2P层与传统P2P流媒体点播系统对比,避免了P2P层与网络层不匹配的问题。在用户P2P网络的设计中,将用户节点组织成以节目段内容为中心的邻居集合形式,构成非结构化P2P网络,并采用局部最稀缺优先策略与随机策略结合的方式下载数据,以提高系统的数据吞吐量。(3)提出了一种适用于用户P2P层的分区缓存调度策略,该策略除了缓存最近播放过的节目内容外,还利用用户节点的多余空闲带宽下载并缓存整个网络中被用到的可能性最大的一些节目段,以使节目段数据的分布更为合理,提高系统的整体性能。模拟实验表明,分区缓存策略要优于通常的最近数据缓存策略,并具有较好的可扩放性。