论文部分内容阅读
随着云计算技术的发展,越来越多的企业、学校等单位都采用桌面虚拟化技术来减少设备成本与管理维护成本,虚拟化技术及其服务的市场规模正在逐年递增。以服务器虚拟化为支撑的桌面虚拟化模式给用户提供了一个虚拟的桌面,并可以很好的支持各种外设。在桌面虚拟化的产品中,对于多媒体播放功能的支持在市面上还处于一个比较差的水平,其中最为主要的是对视频播放的支持,这不仅仅与各种软硬件的条件有关,而且,与桌面虚拟化这种特殊的访问方式有着十分密切的关系,并且与虚拟机所处的集群条件有关。在如今的虚拟化市场上,虚拟化服务提供商提供远程桌面协议及相关产品支持桌面虚拟化的多媒体播放。比较主流的远程桌面协议中,对于视频播放的支持方式为在服务器端的虚拟机上进行解码播放,再对于画面进行截取编码发送到用户端,重新解码生成图像。这样的方式实际上不但增大了视频的数据量,而且额外开销了服务器端的资源,并且由于这种高实时性的无源播放方式,使得缓存无法在其中进行,因此使得对于视频播放的支持很差。而音频播放与视音频同步等相关问题都主要受到视频播放影响。同时,在进行多媒体播放的时候,集群中会产生短时的大流量,若不能在多虚拟机进行多媒体播放时分流这些流量,则由于物理设备的单端口性能的局限,很容易造成单端口的拥塞造成网络设备的性能下降从而影响整个集群的性能。本文的研究基于QEMU/KVM平台,这是一个开源的虚拟化平台,适合于进行二次开发,并且可使用支持各种开发语言的libvirtAPI灵活控制其中虚拟机,可以方便的实现各种集群策略的实现。本文主要针对多媒体播放这一场景,分别在用户使用端与集群端提出改进方法,减少系统的资源开销,增强集群的稳定性,提升用户体验。根据在桌面虚拟化环境下对于多媒体播放的要求,在用户使用端,本文提出了一种基于用户命令重定向的多媒体重定向技术,并根据其开发了相应的用户使用端程序,可实现多媒体重定向播放,并通过用户行为反馈,在数据库中记录虚拟机特性,为集群端的选择调配提供原始依据。在集群控制端,根据用户使用端提供的历史原始数据,使用自适应的线性回归算法不断去拟合,获取虚拟机的播放权值预测值。之后根据得到的预测值,使用分组均衡算法动态粗略调整虚拟机的排布,最后通过分组逆序组合算法调整虚拟机的组内排布,分步微调虚拟机在组内的分布,从而实现总体的播放冲突概率和与理想值之差及调整时间达到预定的目标,实现虚拟机优化排布。通过上述的系统,可以在用户使用端与集群端为用户的多媒体播放需求提供强有力的支持,从而提升用户使用远程桌面进行多媒体播放的用户体验。