论文部分内容阅读
视频直播及点播、视频会议、软件下载、游戏更新等实时和非实时文件分发服务已经成为互联网流量的主要来源,随着高清视频等大容量、高清晰度视频内容的日益丰富,用户对实时和非实时文件分发服务的体验质量要求越来越高。如何优化文件分发系统使其更好地满足用户体验质量要求,是吸引学术界和工业界共同兴趣的热点问题。本文基于大规模实际运营的文件分发系统(PPTV,腾讯旋风下载平台),对无线信道下视频播放、用户需求、缓存配置以及云带宽资源部署等四个方面进行测量分析和理论研究,发现现有的资源分发、配置策略在云端带宽分配方面未充分考虑云带宽对Swarm (即拥有或需要相同资源的用户群体)的影响,用户的个人需求预测尚未得到有效解决,Flash Crowd发生时云端资源消耗过高,无线信道中用户视频播放卡顿现象显著。为此本文分别从用户端优化设计、用户个人需求预测、缓存配置优化以及云端带宽分配这几个角度探索改善用户体验、节约系统资源的有效方法,并通过理论分析及实验仿真验证这些方案的有效性。本文主要工作和创新点如下:1)用户端体验优化:实际测量表明,现有的自适应动态码率实时视频方案,在无线信道条件下卡顿现象显著。目前的研究利用历史知识和当前信道条件调整视频码率切换策略,导致码率频繁切换。本文利用无线信道模型推断信道未来的变化,设计了基于非确定状态决策模型的码率切换算法,能够避免频繁的码率切换,使用户获得最优的视频播放体验,并给出了接近最优算法性能的启发式方案,最后通过仿真实验证实了算法的有效性。2)用户需求和总体流行度预测:基于推荐的方法可以精确预测用户未来需要的资源,但预测结果没有时效性。在电视连续剧发布场景下,依赖剧集间的相关性以及用户的看剧模式并使用机器学习方法,预测用户未来一天需要观看的剧集,该方法具有时效性,能够用于资源部署方案设计。之后针对不同用户类型分别设计了相应的总体需求量预测方法,结果相比ARIMA算法精度提高12%。3)缓存、用户资源利用:热门新文件发布时,大量用户请求文件使云端负荷过高。在文件发布前采用预分发策略提前部署文件给用户,就可以在文件发布后有效利用P2P来缓解云端压力。传统预分发方案只是依据用户历史在线行为以及客户端性能挑选用户,帮助文件扩散,而不考虑用户是否需要云端提供的文件。在电视连续剧发布场景中,大量用户看一两集之后可能弃剧,将文件部署给不需要该文件的用户会浪费宝贵的云端资源。本文基于用户需求预测,协同调度缓存资源和用户资源,设计了最小化云端负载的前摄式缓存算法,在本文的仿真实验中发现它能节约40%的云端流量消耗。4)用户群体(Swarm)间的云端带宽分配:云与P2P协作的系统内,P2P贡献能力不稳定且不同Swarm的P2P贡献能力不尽相同,使用云端带宽作为补充可以保障用户的体验。现有的带宽分配算法主要集中于直播场景或P2P带宽的分配,不涉及云端带宽资源分配对Swarm内用户下载生命周期以及P2P共享能力的影响。在文章中,基于流模型探讨了上述两个问题,得到了云端带宽与用户下载速率的关系,并在云端带宽资源受限的前提下提出了Swarm间的带宽分配算法,优化系统内用户的体验。