论文部分内容阅读
视频缓存系统是在线流媒体系统的关键组成部分。缓存服务器通常就近设置在网络边缘直接向用户提供视频数据,缓解带宽压力并提高用户观看体验。缓存算法是决定缓存服务性能的关键因素之一,它们衡量不同视频块的重要性并优先缓存最重要的数据。由于简单有效,LFU和LRU缓存算法在实际视频点播系统中依旧被广泛采用。他们都将用户的历史数据访问简单地看作将来的数据请求,分别用已发生的请求次数(LFU)和已发生的最近一次请求时间(LRU)衡量一个视频块的重要性。但是,对于视频访问这种流式服务来说,在线用户通常不会观看他们已看过的视频块,按照现有算法,视频块的历史访问次数或时间其实不能真实和准确反映数据块的将来重要性。具体来说,LFU按照视频数据块的流行度缓存数据的做法,只能抓住大时间尺度上的缓存机会,LRU按照已发生的最近次请求时间试图在小时间尺度上缓存数据的做法,不可能取得理想效果。实际上,处于不同观看进度的在线用户通常会以很大概率观看后续视频块。这一独特视角为优化缓存性能打开了新的空间,即通过同时结合在线用户和离线用户(即将观看)的观看需求,准确评估视频块重要性,提升缓存性能。但是,由于在线/离线用户的随机离开/到达,如何刻画和结合在线/离线用户的观看需求,设计更加高效的缓存算法,是一个有重要理论和实际意义且充满挑战的问题。为此,本文提出了基于视频块请求时间的缓存优化调度算法。其核心思想是,根据在线用户的真实的后续观看需求和离线用户的统计的观看需求,估算一个视频数据块的下次请求时间,以衡量视频数据块的重要性;进一步,按照(现有)最优缓存算法思想,优先缓存下次请求时间最近的视频块,实现缓存的优化调度。基于实际业务数据的仿真表明,本文提出的算法能够同时在大时间尺度和小时间尺度上抓住可利用的缓存机会,大幅度调高缓存效率。具体来说,本文的贡献如下。(1)提出了视频块下次请求时间的计算模型,以准确评估视频块的重要性。模型同时刻画和结合在线/离线用户的观看需求,能够以更细的粒度准确衡量视频块的重要性,为实现高效缓存奠定了基础。(2)设计实现了基于视频块下次请求时间的缓存算法,以实现高效缓存调度。算法实时计算视频块的下次请求时间,并基于最优缓存调度思想,优先缓存下次请求时间最近的视频块。(3)完成了基于实际业务数据的大规模算法仿真。数值结果表明,本算法能显著提高缓存命中率,比LFU和LRU的缓存命中率提升34.8%和212%。