论文部分内容阅读
在当今信息技术高速发展的时代,越来越多的企业通过统一部署个人计算机(PC)的方式来实现企业的自动化办公与信息化管理。然而随着企业规模的不断扩大,PC机的数量呈现出爆炸式的增长,传统的PC桌面部署方案不仅造成了大量的计算机硬件资源的浪费,同时也大大增加了企业办公系统的管理与维护成本。与此同时,在云计算与虚拟化技术的推动下,桌面云服务应运而生,相比于传统的PC桌面,基于云计算与桌面虚拟化技术的桌面云服务不仅减少了企业的维护和操作成本,也显著提高了计算机硬件资源的利用率。然而,现有的桌面云系统仍然还有一些瓶颈问题有待解决,主要包括:标准缺失、安全问题、可用性问题以及性能体验问题。这些问题严重制约着桌面云产业链的健康发展,其中,性能体验问题直接关系到用户对桌面云服务的认可和接受程度,是当前桌面云计算领域的研究重点。具体来说,当前的桌面云服务存在以下三个方面的性能体验问题:(1)高清视频体验。现有的桌面云系统中,对于视频的处理大多采用传统的图像压缩以及帧缓冲拷贝等技术,然而由于高清视频通常包含大量复杂数据,且对处理器能力要求较高,使用这些技术在重定向过程中极易出现花屏、丢帧、高CPU开销以及应用兼容性等问题,严重影响了桌面云高清视频的用户体验。(2)移动终端体验。移动智能设备的高速发展与普及、BYOD(Bring Your Own Device)企业办公模式的兴起带来了移动桌面云服务的广泛需求,然而当前的桌面云系统主要基于Windows操作系统设计,在以Android系统为主的移动平台上存在屏幕适配、应用兼容性等严重影响移动用户虚拟桌面体验的问题。(3)虚拟应用性能。现有的桌面云系统通常部署在基于硬件模拟的虚拟机(Xen、KVM、Virtualbox等)环境中,由于虚拟化技术在性能与资源开销方面的局限性,部署在虚拟机环境中的桌面系统及应用在性能方面也会受到一定的影响。尤其是对于I/O接口种类繁多的移动设备来说,I/O虚拟化技术的缺陷极易造成部分虚拟移动应用服务的崩溃和不可用。针对当前桌面云系统存在的三大性能体验问题,本文做了如下工作:(1)为了提高现有桌面虚拟化系统中高清视频播放的流畅度、画面质量以及应用兼容性,降低服务器资源开销,本文对传统的虚拟桌面显示技术、GPU视频加速技术以及GPU虚拟化技术进行了深入地研究与分析,提出了一套基于GPU虚拟化的桌面云高清视频加速方案。该方案在设计时摒弃了传统的虚拟服务器集中式解码与渲染的视频重定向方法,而是通过为多媒体应用程序提供虚拟GPU支持,利用GPU视频加速技术将视频的原始码流与处理指令传递到客户端设备进行处理,完成了桌面云高清视频的重定向。实验结果表明所提方案可以有效地提高桌面虚拟化系统中1080x720及以上分辨率的高清视频播放的流畅度(帧率达到30帧每秒),视频的画面质量也接近100%,并具有较少的CPU开销。另外由于该方案主要在驱动层实现,因此能够兼容大多数主流的视频播放器应用、视频编码以及视频封装格式。(2)为了提高移动平台的桌面云服务质量以及用户体验,本文设计并实现了一套面向移动平台的Android桌面虚拟化系统。该系统在架构设计时采用了基于客户机模式的服务部署方法,通过对Android系统核心服务模块的数据流管理进行解析与重构完成了桌面虚拟化服务的部署。该系统采用多通道的数据传输策略,针对不同的应用场景设计了独立的数据传输通道。该系统不仅实现了Android系统的远程输入输出以及虚拟桌面显示,同时还实现了音频重定向以及远程摄像头。实验结果表明,Android桌面虚拟化系统的响应时间与网络带宽开销都在可接受的范围内,并且该系统能够为移动设备使用者提供较好的远程音频与摄像头支持。(3)为了进一步改善移动桌面虚拟化环境中的应用性能以及用户体验,降低服务端的虚拟化资源开销,本文对现有的服务器虚拟化技术进行了深入分析与对比,提出了一套基于容器技术的移动桌面虚拟化服务部署方案,在该方案中,本文首先利用已有的Linux容器技术构建了 Android容器虚拟化平台,并基于非侵入式的设计原则重新实现了工作(2)中的Android桌面虚拟化系统,最后将其部署在Android容器虚拟化平台中。实验结果表明,容器环境下的Android虚拟桌面不仅在应用性能方面比传统虚拟化环境中的系统更优,并且对服务器资源的消耗更少,有利于移动桌面云服务的大规模部署,此外,基于非侵入式方法的系统设计方案也大大提高了系统的通用性与可维护性。