论文部分内容阅读
HTTP Streaming技术的主要思想是将视频流分割成多个小的分片文件并且存储于WEB服务器,客户端通过HTTP协议下载需要的分片文件进行播放。由于HTTP Streaming具有很多优点,例如,该技术基于广泛使用的HTTP协议,可靠且易于部署;对于防火墙或NAT的穿透性好;可以利用标准的HTTP服务器以及HTTP缓存等,该技术已经成为近年来流媒体传输领域的热点。本文工作围绕将该技术实际应用在大规模课程直播系统中时暴露出的若干不足展开。HTTP缓存服务器是提高HTTP Streaming系统客户并发量的关键环节。但当前主流HTTP缓存服务器,如Nginx、Squid、Varnish等,在缓存资源更新期间的行为都存在不足,在我们实际部署的基于HTTPStreaming课程直播系统中,缓存服务器会周期性地把大量客户端请求转发至源服务器,从而制约了HTTP Streaming系统的可伸缩性。本文针对性的提出一种优化的HTTP缓存服务器在缓存更新期间的行为,即缓存服务器仅向源服务器转发一路客户端请求,缓存更新期间,拒绝其它关于该资源的请求。优化策略在使用最为广泛的Nginx服务器的基础上进行了实现。实验证明,优化后系统的伸缩性得到了显著提高。另外,本文还对主流CDN服务的缓存行为进行了检测。典型的HTTP Streaming直播系统的端到端延时在10s-15s之间,这对于需要支持一定交互性的课程直播应用来说延时过大。通过对引入端到端延时的各个环节(客户端的包调度机制、客户端去抖动缓冲、分片文件长度)的优化,本文提出一套低端到端延时的HTTP Streaming的直播原型,成功将直播系统的端到端延时降低至5s以下。