论文部分内容阅读
随着流媒体服务的爆炸式增长,传统的流服务模式—客户端/流媒体服务器呈现出新的问题:首先,随着客户的大量增长,流媒体服务器的负载越来越大,服务器响应越来越慢,导致流服务的实时性得不到保证;其次,客户端的播放延迟增大,严重影响了流媒体服务的“流”特性;其三,传统的一点(流媒体服务器)对多点(客户端)无法实现流服务的共享,无形间增加了广域网络的带宽消耗和流媒体服务器的负载;其四,在带宽波动大、网络延迟大的广域网环境下难以实现稳定、实时的流服务。为了解决上述问题,同时与传统的服务器/客户端流服务模式相兼容,本文采用缓存代理服务器技术实现了集群流媒体缓存代理服务器系统。该系统引入集群架构以提供全局的、可扩展的缓存代理服务机制;实现了缓存代理端的流媒体传输协议;采用动态共享运行缓冲区算法实现了分层缓存机制(全局磁盘缓存和内存缓存)以支持更多稳定、实时的并发流;利用流会话共享机制实现了客户请求聚集,从而减少磁盘I/O同时能服务更多的客户;提出了单一流映像,以支持预取流和缓存流的统一,从而保证代理端服务流对客户的完全透明;设计并实现了基于包反馈信息的流数据预取机制,从而减少了客户端的“rebuffering”次数;提出了适合于缓存代理服务器的流缓存准入控制策略,保证了流服务的QoS。目前国内还没有实际可用的流媒体缓存代理系统。与国外同类流媒体缓存代理系统相比,本系统有明显的优势:(1) 引入的流会话共享机制可以提供更多稳定的并发流;(2) 提出的动态共享运行内存缓存机制能支持客户请求聚集和流会话共享;(3) 前缀缓存技术和段机制的缓存技术的有机融合实现了缓存数据的高效存取管理;(4) 网络流预取策略和缓存准入控制机制提高了缓存结构的智能性。系统采用C/C++语言实现了基于Linux平台的集群流媒体缓存代理系统。实验测试表明,该系统具有良好的可扩展性,减少了客户端播放过程中的网络延迟和抖动以及服务器端的网络负载,同时提高了流服务质量。