桌面虚拟化系统

2024-10-31

桌面虚拟化系统(共8篇)

桌面虚拟化系统 篇1

1 云计算与桌面云

云计算是一种通过Internet以服务的方式提供动态可伸缩的虚拟化的资源的计算模式。云计算时代的到来, 给运营商也带来了新的机遇和挑战, 如何将技术转换为价值成为运营商关注的重点。在云计算工作推进初期, 应重点关注私有云的构建, 从自身的IT系统入手, 由桌面云作为切入点, 逐步探索云计算建设和运营经验。

桌面虚拟化技术, 是一种将用户桌面与实际终端设备相分离的应用模式, 将原本运行在用户终端上的桌面和应用程序托管到服务器端, 并由终端通过网络远程访问。用户终端本身仅实现输入输出与界面显示功能。可以是用户使用的PC、瘦客户机甚至平板电脑、手机等各种终端设备或软件, 其基本要求是能够连接网络并至少支持某一种远程访问协议。瘦客户机是应用于桌面虚拟化的一种典型终端类型。在这一应用模式下, 将与用户终端相对的服务器端部分, 包括桌面虚拟化软件及相应服务器、存储和网络资源组成的系统, 统称为桌面虚拟化系统。

2 桌面虚拟化技术分类

按照桌面虚拟化系统提供的资源类型和实现技术不同, 可以分为远程共享桌面、远程共享应用和虚拟桌面等三种类型。

虚拟桌面, 后端服务器采用虚拟化产品实现主机虚拟化, 终端用户可以从瘦客户机通过远程访问协议访问各自的桌面工作环境 (每用户有各自独立的操作系统和配置文件等) 。其技术特点一是用户具有独立的操作系统, 个性化定制能力强;二是每个虚机可独享CPU及内存资源, 各虚机间独立性强。

远程 (共享) 桌面, 后端服务器采用远程桌面架构, 瘦客户机通过远程访问协议登录到后端服务器 (所有用户共享同一操作系统的系统桌面以及安装的应用软件, 是同一操作系统多用户的应用模式) 。技术特点:每用户具有基于同一操作系统的不同桌面, 共享CPU资源, 用户间资源是竞争的, 用户隔离性差;应用程序需支持多实例、多用户共享。

远程共享应用 (应用虚拟化/应用发布) , 指用户的本地客户端呈现出来的是某个应用程序的用户界面, 例如只能看到一个文字处理程序的界面, 而看不到桌面或者其他应用程序。技术特点:本地客户端呈现出来的是某个应用程序的用户界面而非整个桌面, 资源开销最低;程序需支持多实例、多用户共享。

3 桌面云集中部署方案

运营商根据IT系统的建设的现状, 为了更好地满足市场竞争、企业管理以及业务发展的需求, 在网管支撑、业务支撑和管理信息三个专业领域涉及运维、OA、营业厅、呼叫中心等相关场景构建跨专业集中桌面云, 实现统一管理和维护成为桌面虚拟化系统发展的迫切要求。

3.1 部署策略

构建基于全区域、多业务应用 (网管支撑、业务支撑和管理信息) 、多终端接入、统一的桌面云服务平台。

充分发挥云计算的规模优势, 以集中化为导向, 结合本地地理环境的分析, 构建两大桌面云数据中心, 实现两地两中心的负荷分担。

初期采用试点的模式展开, 在各专业领域验证技术方案的可行性, 探索桌面云的运维管理模式, 结合试点情况及IT演进方向, 逐步向整体布局演进。

3.2 目标架构

网管支撑、业务支撑和管理信息域的桌面虚拟化系统分布在各专业的业务系统机房, 业务管理也分布各专业, 未实现资源整合, 考虑到业务相关性及综合成本的最优化, 统筹考虑桌面虚拟化系统和IT支撑系统的协同演进。

结合本地维护体系、传输承载网络以及试点桌面虚拟化技术的选型, 初期构建两大虚拟桌面资源池。业务支撑系统虚拟桌面资源池负责满足营业厅、客户、OA办公场景的瘦终端接入需求;网管系统虚拟桌面资源池负责满足网络运维场景的瘦终端接入需求。

远期构建基于全区域、多业务应用、多终端接入、统一桌面云平台, 提供桌面云服务。

3.3 桌面部署方案

基于业务应用特点、用户需求、管理要求等, 在满足用户需求的前提下, 综合考虑部署成本和管理难度的因素, 采用如表1所示的交付模式用于桌面虚拟化规模推广。

营业厅用户:根据外设兼容性测试结果, 基于策略的混合部署, 对于外设需求较高的用户采用桌面虚拟化, 其余均可采用应用虚拟化。

3.4 应用效果

3.4.1 网管维护场景

采用基于虚拟桌面的交付方式使用高效低能耗的刀片服务器, 以虚拟机来代替原有的旧PC终端。在服务器上运行的多个虚拟机之间相互独立、彼此隔离, 每一个用户通过权限配置, 可使用多台虚拟机, 用户利旧原有的PC终端安装客户端软件接入虚拟机。

(1) 维护效率提升, 硬件使用率得到提高。由原来维护大量终端, 改为维护N套刀片服务器, 工作效率将明显提升。通过建立服务器虚拟平台, 有效地提高服务器的使用效率, 通过虚拟软件动态分配CPU及内存, 提高硬件使用率。

(2) 节能减排效果。原终端功耗约为上万瓦, 刀片服务器功耗约为4800~7200w, 将能有效减少机房散热及电力消耗。仅终端一项, 每年节约为18.8万余元, 如果加上因机房散热减少, 空调所节省的电力消耗, 节约的电费更多。

(3) 实现了网管网统一管控, 提高了集中维护效率和安全性。

3.4.2 营业厅场景/呼叫中心场景

(1) 维护的重点从分散的个人终端转移到集中的服务器端, 减少了网络运维的复杂程度和运维成本。

(2) 敏感的数据分布于用户终端, 存在潜在的数据泄露风险, 部署桌面虚拟化系统后数据主要集中于服务器端, 大大增强内部系统及网络的安全性。

(3) 瘦终端较传统终端更低的功耗、更小的噪声和电力消耗, 为营业员/客服提供更加绿色的生产环境。

3.4.3 移动OA办公场景

通过采用应用虚拟化技术构建灵活高效便捷的湖北移动手机办公系统, 实现终端零安装、良好兼容性、良好办公性能。解决了手机办公三大问题:

(1) 手机客户端更新快, 需不断定制开发升级。

(2) WAP方式手机办公插件问题。

(3) 基于IPHON/IPAD无法安装OFFICE等微软办公软件的问题。

4 结语

随着虚拟桌面规模不断扩大, 为了充分发挥云计算技术的规模优势, 打造桌面虚拟化系统全面优化格局, 统筹考虑桌面虚拟化系统和IT支撑系统的协同演进, 为运营商桌面云的全面部署指明了实践方向, 在保证客户感知的同时, 节约建设成本;同时结合试点经验和管理要求, 制定模板化的交付方案, 标准化的建设模式, 实现桌面的快速和统一部署, 大大提高了桌面云部署的响应速度, 助力桌面云项目的整体进程。

摘要:在云计算工作推进初期, 应重点关注私有云的构建, 从自身的IT系统入手, 由桌面云作为切入点, 逐步探索云计算建设和运营经验。该方案研究统筹考虑桌面虚拟化系统和IT支撑系统的协同演进, 通过模板化的集中部署方案, 为运营商桌面云的全面部署指明了实践方向, 在保证客户感知的同时, 节约建设成本, 实现桌面的快速和统一部署。让工程建设更加标准化, 资源使用、投资成本更加合理化, 网络维护更加清晰化。

关键词:桌面虚拟化系统,集中部署

桌面虚拟化系统 篇2

下一页12345

虚拟化技术可以大大减少管理桌面的时间和费用,不过技术和方案的选择让人迷惑。桌面虚拟化的最大好处就是能够从集中位置使用软件来配置PC及其他客户端设备。IT部门可以在数据中心、而不是在每个用

户的桌面管理众多的企业客户机,这就减少了现场支持工作,并且加强了对应用软件和补丁管理的控制。

管理PC向来棘手,而没完没了的应用软件升级、操作系统补丁及反威胁更新更是让这项工作困难重重。即便有基于网络的安装和补丁管理工具来减轻负担,IT部门还是把太多时间花到了桌面上,处理个人软件、多个版本的ActiveX控件、驱动程序或者DLL冲突、恶意软件感染、配置不当的硬件等引起的诸多问题。

桌面虚拟化技术有望在数据中心集中应用软件,从而简化管理及配置DD充分利用硬件资源、另外尽量减少烦人的软件冲突。在某些情况下,这同一技术有助于实现上述三个方面,为IT部门带来更大的控制权和灵活性,用户也不会为失去“自己的”桌面而悲叹。

乍一看,桌面虚拟化技术听上去很像思杰系统等公司提供的那些终端服务,即服务器运行应用软件,为用户提供远程访问。用户的终端或者PC只是在屏幕上显示更新内容,并允许通过键盘和鼠标输入内容。

另一方面,桌面虚拟化技术是提供白领员工需要并且喜欢的个人PC环境的一种新方式,

实际上,服务器上存放的是专门针对每个用户的整个桌面环境。

早期版本的桌面虚拟化技术是刀片服务器,譬如ClearCube Technology和IBM提供的那些刀片服务器,它们只是把PC的处理功能移到了数据中心,把输入和显示功能留在了用户桌面。但最新版本的技术却利用用户桌面处的PC来完成大部分处理工作。这种方法被称为“桌面分发”(desktop streaming),它保留了集中管理的优点,又没有丢弃桌面的功能。所需代码分发到仅用于该次会话的磁盘和内存缓存,确保了没留下什么可以让用户捣乱或者篡改的。

几家提供商并不满足于桌面分发,涉足于应用软件分发:IT部门可以在需要时为单个应用软件分配运行时缓存。这减少了要维护的惟一用户镜像的数量,还可以更清楚地了解确实需要哪些应用软件许可证。

构建更好的瘦客户机

桌面虚拟化的最大好处就是能够从集中位置使用软件来配置PC及其他客户端设备。IT部门可以在数据中心、而不是在每个用户的桌面管理众多的企业客户机,这就减少了现场支持工作,并且加强了对应用软件和补丁管理的控制。

IDC的分析师John Humphreys说,从最简单的说起,应用服务器端的虚拟化可以通过让一台服务器配置多个桌面客户机来减少硬件费用,而不是每个桌面客户机都有一台服务器。虚拟化技术还 添加了这一功能:按需要移动桌面环境及存放在上面的应用软件,从而实现负载平衡或者故障替换。为了让现有的终端服务和刀片系统与虚拟机协同工作,思杰和ClearCube这些知名提供商已开发了代理(broker)技术,让IT人员管理虚拟资源的映射。

如今,思杰、ClearCube和Wyse Technology支持在刀片服务器及其他应用服务器上使用VMware和微软的虚拟机。VMware还提供虚拟桌面基础设施(VDI)软件,该软件使得用户可通过远程桌面协议(RDP)来访问存放在服务器上的虚拟机。

桌面虚拟化系统 篇3

1 桌面虚拟化技术及虚拟化桌面系统构成

桌面虚拟化技术 (desktop virtualization) 是一种基于服务器硬件虚拟化的计算模型, 并且结合符合传统观念的瘦客户端设计, 其整体架构主要有两点优势:一是突出数据中心的集中建设和管理, 将所有桌面虚拟机托管在数据中心;二是强调用技术消除用户在虚拟化和实体设备之间的使用体验, 保证企业采用桌面虚拟化技术后管理成本上升可控。

动态结构是虚拟化技术的企业桌面系统方案设计的主要特点, 业务软件、应用系统无需重新开发和部署, 无需变更现有用户的使用操作体验, 通过在后台虚拟服务器上的部署实现现有的业务逻辑, 无需在用户的前端部署任何新的应用系统。只要提供标准的显示和操作环境 (键盘和鼠标的输入) , 通过合理利用和调配后台服务器的并行计算能力即计算资源, 将多用户计算结果控制投影到各个终端 (瘦客户端) 。

虚拟化企业桌面系统由以下五个层面组成:分别是云终端系统平台访问门户、云终端系统交付资源调用平台、虚拟桌面和虚拟应用交付平台、服务器虚拟化资源池交付平台、底层物理设备基础架构平台。这五个层面组成一个有机的整体, 为企业提供统一的云计算资源服务。同时五个层面也具备各自相应范围内的监控和管理功能, 能够实现在各个层面上的资源动态部署、扩展和监控、维护功能。五个层面各自担负不同的职能。

1.1 云终端系统平台访问门户

企业的管理员在此为本公司指定服务目录 (如供员工自助选取的虚拟桌面平台资源套餐) , 监控隶属于该公司的虚拟桌面平台资源使用情况和报警信息, 管理各自的员工账户信息, 并协助员工处理使用过程中遇到的一般性问题, 是企业员工的统一网络门户。

1.2 云终端系统交付资源调用平台

一方面为终端平台访问门户提供可供组合和选取的虚拟桌面平台基本服务目录, 所以企业的管理员在这里为各自公司按需创建和组合各种资源服务目录内容;另一方面调用虚拟桌面和虚拟应用交付平台来创建和交付虚拟桌面资源, 调用服务器虚拟化资源池交付平台创建和交付虚拟服务器资源。所以这是一个承上启下的关键平台, 在整虚拟化企业桌面系统的建设中起着十分重要的作用。

1.3 虚拟桌面和虚拟应用交付平台

执行终端平台服务目录定义和交付资源调用平台的指令为其提供可供使用的虚拟桌面资源;同时控制服务器虚拟化资源池交付层创建所需要的桌面虚拟机并纳入管理体系中。该平台提供了对虚拟桌面的完整配置、控制和监控功能。

1.4 服务器虚拟化资源池交付平台

执行终端平台服务目录定义和交付资源调用平台和虚拟桌面和虚拟应用交付平台发送来的指令, 提供相应的服务器计算资源和虚拟桌面资源。同时对底层物理设备基础架构层进行配置和管理, 从而生成包含计算、存储和网络资源的虚拟资源体系。

1.5 底层物理设备基础架构层

由物理服务器、网络和存储设备构成, 供服务器虚拟化资源池交付平台来创建所需要虚拟化资源池体系。

桌面虚拟化基础平台由物理服务器和虚拟化软件等组成, 可动态地调用数据中心服务器硬件资源, 按照用户提交的计算需求产生对应虚拟桌面结果, 同时在数据保护和监控方面依赖于对后台服务器计算的审计和分析, 按照企业管理需求生成审计记录甚至实时反应。

2 桌面虚拟化技术的优势

通过桌面与应用虚拟化, 可以解决如下三大问题。

2.1 代价合理的企业IT安全管控方案

现代企业对于无形资产的重视程度越来越高, 信息化、电子化对无形资产的保护提出了新的挑战。信息化为在员工工作提供了便利、提升了团队的工作效率, 无形资产在信息化方面的传统保护措施无疑会降低员工在实际工作中的体验, 同时也难于达到全面的风险管控。桌面虚拟化技术实现了数据完全在后台流转, 用户在传统PC的使用体验过程中, 无法在终端实际接触到计算的数据, 只是影像的传递与显示。虚拟化技术真正实现了对终端使用者的互联网访问权限、服务器调用权限、业务系统及应用系统权限, 甚至细化到音频输出、打印刻录、复制粘贴、外设连接等涵盖终端所有基本权限的管理。

2.2 应对重大灾害时迅速恢复业务

传统的信息化灾备手段, 实现了数据的异地存储、分布存储、分时存储, 在硬件上也能实现异地互为备用。但是在实际的案例中, 如何在主要服务器或数据中心损毁后, 以最快速度利用备用服务器或数据中心存储的数据、备用的硬件资源恢复企业的信息化生产能力, 很多企业的信息化架构却难以给出满意的答案。作为能源行业的一份子, 核电站信息系统的快速恢复具有非常现实的意义, 一方面快速恢复对生产管理的信息化支持绝不仅仅是数据的不丢失, 更需要在主系统瘫痪后迅速调动备用系统的资源恢复信息化管控;另一方面信息化系统本身也需要不间断的运转, 在物理损毁以备用系统接入的形式解决后, 应用系统的实时生效才能达到真正意义上的备用。

虚拟化技术为这一切提供了满意的解决方案, 基于服务器虚拟化技术, 在备用系统通过有效的网络连接与用户各种形式的瘦终端联接起来后, 相应的资源调配和计算能力也就实时恢复;基于桌面虚拟化技术, 应用系统不再依赖于硬件配置和用户端配置, 只需要连入虚拟桌面系统, 和主系统完全一样的计算响应就呈现在用户面前。可以说, 虚拟化技术给灾备的数据和硬件资源提供了充分发挥效力的基础, 搭建了真正发挥作用的舞台。

2.3 真正的集中管理, 系统级的便捷迁移

集中管理和系统实时迁移是所有IT管理人员追求的梦想, 信息化的管理成本也依赖于这两点的实现来得到有效降低。从设备选型的一致性、系统设计的延续性等等各个方面, 信息化工作者付出了无数努力在软件、硬件各个层面追求集中管理和实时迁移。在虚拟化技术落地之前, 硬件选型的一致性只能在一定时间内保持有效, 而信息化设备不断加快的更新换代步伐大大缩减的这一时间周期, 比如一体机、笔记本、平板的迭代;系统设计的延续性在硬件升级、用户体验不断被激发的互联网+时代, 更是增加了企业的信息化建设成本, 比如各种传统系统的移动访问需求。虚拟化技术充分解决了这些问题, 对带宽的有限需求、对终端的统一适配、对应用系统后台的无限支持, 可以方便的实现各种计算资源和权限的集中管理, 可以真正实现系统级平台的便捷迁移。

参考文献

[1]石磊, 邹德清, 金海.xen虚拟化技术[M].武汉:华中科技大学出版社, 2009:15-30.

[2]卢凯, 迟万庆, 刘勇鹏.高效能计算机系统虚拟化技术研究[J].计算机工程与科学, 2010 (32) :53-57.

桌面虚拟化系统 篇4

斯诺登事件后,政府对于信息安全日益重视,信息安全国产化再掀浪潮。经过多年的发展,国产桌面操作系统逐步成熟,已经能够满足基本应用需求,并且安全性更高。同时,国产桌面操作系统对硬件要求不高,能够有效利用现有设备。但操作系统的国产化替代与包括应用软件、相关基础软件及硬件在内的整体成熟度息息相关。目前国产IT产业链不成熟、生态环境不完善,操作系统国产化还需要一个较长的培育过渡期。

相对个人市场,政府、企业等办公应用的需求相对有限,有利于桌面操作系统的国产化替代,但由于Windows的长期垄断,用户大量既有应用均基于Windows平台开发,给桌面操作系统替代带来了很大困难。虽然目前基于国产操作系统的应用开发和移植已有比较成熟的方案,但实际应用移植面临代码重写、开发平台和工具的熟悉以及开发人员培训等问题,甚至一些单位和部门,许多业务应用开发商或组织经过多年已不复存在。因此,整体应用移植还需要一段较长的时间,过渡时期可考虑采用虚拟化方式来并行。

1 桌面虚拟化

1.1 桌面虚拟化简介

桌面虚拟化是指将计算机的桌面进行虚拟化,以达到桌面使用的安全性和灵活性。桌面虚拟化技术,即VDI(Virtual Desktop Infrastructure)是一种基于服务器的计算模型。区别于传统的本地桌面应用方式,它不是给每个用户都配置一台运行桌面操作系统的PC,而是将所有桌面虚拟机在数据中心进行托管并统一管理。用户通过来自客户端设备的客户计算协议与虚拟桌面进行连接,使用户能够获得完整PC的使用体验。

通过这种方式,用户可以在国产操作系统服务器基础上结合桌面虚拟化技术运行Window XP及其应用,在用户需要时,可以在国产桌面操作系统上登录该Window XP镜像并使用其应用。

1.2 国产操作系统上的桌面虚拟化方案

在国产化替代过程中,可以在桌面端采用国产桌面操作系统,如图1所示服务端采用国产服务器操作系统,并在其上虚拟运行Windows操作系统,来解决部分Windows应用的过渡性并行。

该桌面虚拟化方案融合了服务器虚拟化、瘦客户端、远程连接协议等多项技术。在上图中,国产虚拟化服务器,利用x86硬件虚拟化技术,提供基于KVM的虚拟机监控器平台,提供运行状态控制和管理、负载均衡等基本服务。国产桌面操作系统中的虚拟桌面套件为用户交付虚拟应用和桌面。

该方案中采用了KVM虚拟化方式。KVM是Linux内核的一个虚拟化基础模块,它使Linux内核变成了一个管理程序。通过将KVM作为一个内核模块实现,有利于简化管理和提升性能[1]。

KVM通过QEMU硬件仿真包提供完整的硬件虚拟化[2]。KVM需要CPU硬件虚拟化扩展支持,如Intel的VT-x与AMD的AMD-V,是基于硬件的完全虚拟化。它不需要对客户操作系统进行任何修改,因此,可以从Linux支持各种操作系统平台,例如Windows XP,Windows 7,甚至MacO S X。

同时,方案采用了改进的SPICE协议[3]作为桌面传输协议。SPICE协议(Simple Protocol for independent Computing Environment,独立计算环境简单协议),能够提供与物理桌面完全相同的最终用户体验。它包含3个组件:SPICE驱动、SPICE设备和SPICE客户端。3个组件协作运行,判断进行图像处理的最佳位置:如果客户机足够强大,就在客户机进行图像处理,以减轻服务器的负荷;如果客户机处理能力较弱,则在服务器端进行处理,从而能够最大程度地改善用户体验并降低系统负荷。

在集中式服务器上运行的虚拟桌面是完全独立的,这有助于阻止对桌面映像进行未经授权的访问,并同时提高可靠性。同时,使用虚拟机模板和自动部署功能可以方便地进行镜像部署和软件分发,并进一步进行终端数据的集中存储和管控。

当然,虚拟桌面也存在一些不足,它需要强大的数据中心支持。例如,在其运行过程中,每个桌面镜像仅能提供给一个客户端使用,如果有N个客户端需要使用,则要在数据中心建立N个这样的镜像,这对数据设备要求较高。因此,虚拟桌面方案更适宜拥有广大的数据中心或者磁盘阵列的大型企业;此外,这种方案还必须依赖于条件较好的网络环境,对于单机隔离的单位则无法使用。

2 本地虚拟机

2.1 虚拟机简介

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个隔离环境中的完整计算机系统。

虚拟机在宿主计算机的真实硬件上为虚拟机提供虚拟硬件仿真,这个环境和真实的计算机一样,都有芯片组、CPU、内存、显卡、声卡、网卡、软驱、硬盘、光驱、串口、并口、USB控制器、SCSI控制器等设备,提供这个应用程序的窗口就是虚拟机的显示器。

用户可以在单台物理机上运行多个虚拟机,每个虚拟机共享同一台物理机的资源,运行不同的操作系统以及多个应用程序。

2.2 国产操作系统上的虚拟机方案

目前,流行的虚拟机软件有VMware,Virtual PC和Virtual Box等。其中,VMware为企业级虚拟化方案中较为成熟的商业产品[4],功能强大;Virtual PC为微软针对Windows系统的虚拟化方案[5];Virtual Box是一款优秀的开源虚拟机软件,由Oracle公司按GPL协议发布。用户可以在Virtual Box上安装并执行Solaris、Windows,DOS,Linux,OS/2 Warp,Open BSD及FreeB SD等客户端操作系统[6]。

在国产桌面操作系统的虚拟应用中,通常采用Vir t ual Box虚拟机方案:在国产桌面操作系统上安装Virtual Box,并在Virtual Box上安装Windows,用户可以在虚拟机的Windows系统中使用暂不支持Linux平台的部分Windows应用,或是用户原有Windows平台的业务系统。

通过Virtual Box提供的“无缝模式”,还可以隐藏虚拟机系统窗口,而仅在宿主机桌面上显示虚拟应用,实现了多系统应用的无缝平滑调用,很大程度上提升了用户体验,用户仿佛在一个平台上同时使用Linux应用和Windows应用。

相比桌面虚拟化方案,本地虚拟机方式不需要依赖网络,方便单机环境。

通过本地虚拟机,用户不需要重启系统就能在同一台PC上使用两种以上的操作系统;而且不同的操作系统之间还能进行网络、文件共享以及复制粘贴等互动操作。

同时,虽然多个虚拟机可以共享一台计算机的物理资源,但它们彼此之间保持完全隔离,并且保护不同操作系统的环境以及所有安装在该操作系统上的应用软件和资料。即使其中一个虚拟机崩溃了,其他虚拟机或宿主机仍可正常使用,互不干扰,可用性和安全性较高。

虚拟机实质上是一个软件容器,它将一整套虚拟硬件资源与操作系统及其所有应用程序“封装”在一个软件包内。独立于硬件和封装使虚拟机具备良好的可移动性并且易于管理。用户可以将虚拟机从一个位置或设备自由地移动和复制到另一位置或设备上,而无需对设备驱动程序、操作系统或应用程序进行任何更改,热迁移性较高。

3 虚拟工具

3.1 虚拟工具简介

用户还可以通过第三方虚拟工具运行Windows原生应用,其中最为著名的就是Wine。

Wine(“Wine Is Not an Emulator”的首字母缩写)是一个能够在多种POSIX-compliant操作系统(诸如Linux,Mac OSX及BSD等)上运行Windows应用的兼容层。

W i n e并不像虚拟机或者模拟器那样虚拟运行Windows,而是运用API转换技术实现Linux到Windows相应函数的对应,通过模拟Windows程序调用的动态链接库及Windows NT kernel进程来运行Windows程序[7]。

3.2 国产操作系统上的虚拟工具方案

Wine作为开源项目吸引了很多爱好者,其中延伸项目主要有两大商业产品:一个是Cross Over,另一个是Cedega,前者以提供应用软件支持为主,后者则更多关注游戏娱乐。

在本虚拟工具方案中采用的是Cross Over商业发行版。在本版本中已经比较好地解决了显示和字体问题,使用户在国产操作系统上流畅地运行MS Office成为可能。

为提供更好的用户体验,中标麒麟桌面操作系统为通过Cross Over虚拟运行的Windows应用在开始菜单中提供了入口,这样更加方便用户的访问,对于用户来说,他就像在访问一个本地原生应用一样方便,其中的虚拟部分对他来说是透明的。

Wine通过将Windows API调用翻译成为动态的POSIX调用,从而能够完全独立于Windows系统而运行Windows应用程序,避免了系统性能、内存占用等一系列问题。更重要的是,Wine是通过黑盒测试的逆向工程实现了对Windows的兼容,所以它有效避免了Windows的版权争议(前面两种方案是需要额外购买Windows版权的)。但也正是由于这一原因,Wine并不能完全实现Windows DLLs,因为Windows的DLLs是封闭源代码的,所以无法做到百分百兼容,故很多Windows应用的运行不可避免地会存在较多问题。所幸,用户可以借助一些Wine的商业发行版本来对某个应用做针对性的优化,从而提高可用性。

4 结语

通过在中标麒麟操作系统上的实际应用验证,3种虚拟化方案均切实可行。桌面虚拟化方案整体性较好,但对硬件配置、服务器数据存储和处理能力、网络传输能力等有较高要求,比较适合后期也准备部署桌面虚拟化的大中型企业和单位;本地虚拟机,是比较成熟的单机多操作系统并行方案,比较适合在一台物理计算机上有频繁使用国产操作系统和Windows需求的用户。虚拟工具,可以完全独立于Windows运行Windows应用程序,更适合只是对某几个特定Windows应用有需求的国产操作系统用户。各种方案都有其各自的优缺点,用户可以根据自身应用情况和投入规模来进行选择。在过渡时期并行使用原Windows应用,同时应加大投入,开发基于国产操作系统的新应用,逐步实现信息自主可控,最终摆脱受制于人的局面。

摘要:为解决应用迁移过渡时期,国产操作系统替代微软Windows实施过程中遇到的实际问题,文章对虚拟化技术的应用开展研究,重点对如何利用虚拟化技术运行现有Windows应用进行归纳,提出了桌面虚拟化、本地虚拟机、虚拟工具等多种可行方案,并在中标麒麟操作系统的应用部署中得到验证;同时,通过分析每个方案的优缺点和适用场景,对用户实际应用过程中的选择提供参考依据,这将有助于促进国产操作系统的推广应用。

关键词:操作系统,桌面,虚拟化

参考文献

[1]肖力.深度实践KVM:核心技术、管理运维、性能优化与项目实施[M].北京:机械工业出版社,2015.

[2]姜凯,李帮锐,谢一凡,等.桌面虚拟化实战宝典[M].北京:电子工业出版社,2014.

[3]徐浩,兰雨晴.基于SPICE协议的桌面虚拟化技术研究与改进方案[J].计算机工程与科学,2013,35(12):20-25.

[4](美)吕斯特.虚拟化技术指南[M].陈奋,译.北京:机械工业出版社,2011.

[5]马博峰.VMware,Citrix和Microsoft虚拟化技术详解与应用实践[M].北京:机械工业出版社,2013.

[6]任永杰,单海涛.KVM虚拟化技术:实战与原理解析[M].北京:机械工业出版社,2013.

桌面虚拟化系统 篇5

随着信息化的发展, 机房是培养学生计算机实际动手能力的地方, 逐渐成为教育教学的重要场所, 机房的计算机管理问题也接踵而至。首先, 计算机无法正常运行。计算机感染病毒、学生好奇误操作而删除操作系统中的系统文件或修改注册表等造成操作系统无法正常启动。其次, 计算机硬件及软件更新速度快。软件的更新、操作系统的补丁升级和病毒库的升级使管理员的工作量明显增加。由于计算机硬件的更新速度快, 致使大量前期购置的计算机弃之不用, 造成极大的浪费。再次, 学生的实验时间和地点局限于课堂和教学机房, 实验数据无法长久保留, 课后实验环境很难再现, 极大地影响着学生学习的积极性。最后, 计算机机房承担的教学任务重。机房不但承担着日常的教学任务, 而且还得承担学生日常上机、计算机等级考试等任务。每台计算机上安装的大量应用软件使计算机性能下降, 同时有些软件不能相互兼容也影响了教学。

2 QuickDesktop桌面虚拟化系统概述

QuickDesktop桌面虚拟化系统是运用桌面虚拟化思想设计实现的一款专门针对计算机管理和维护, 由虚拟硬盘、网络引导等多项技术集成的虚拟桌面集中管理存储、操作系统, 是一款具有统一分发、统一升级、软件统一安装、远程控制功能的综合性计算机管理软件。QuickDesktop桌面虚拟化系统实现了计算机的集中管理控制、远程维护监控、方案自动切换、用户个性化设置等功能。客户端计算机可以从服务器上的同一虚拟桌面文件 (即镜像文件) 启动计算机, 也可以由本地操作系统启动。服务器端可以方便地把镜像文件分发到每台客户端计算机。客户端计算机就能快速地从该操作系统启动, 而不需要重新安装操作系统。镜像文件集中存放在服务器端, 因此对镜像文件的新建、编辑、修改等操作都可以在服务器端设置。计算机统一登录到服务器和镜像文件在服务器上的集中管理, 实现了由QuickDesktop桌面虚拟化系统集中管理维护计算机。

2.1 系统特点

(1) 计算机集中管理维护。

所有计算机都通过网络集中在服务器端进行管理和控制。客户端计算机虚拟桌面的数据文件集中存放在服务器上。这些数据的集中存放和设置方便了管理人员对计算机的控制管理和维护。服务器通过不同的镜像文件和镜像文件快照为客户端计算机提供个性化的虚拟桌面服务。QuickDesktop桌面虚拟化系统不但逐台或批量修改设置计算机的名称、IP等属性信息, 而且实现了对客户端计算机的远程操作。

(2) 远程维护监控。

QuickDesktop桌面虚拟化系统实现了在服务器上对计算机的远程控制, 如远程开关机、远程监控计算机桌面等。管理人员在服务器端就可以控制计算机的开机、关机, 同时还能通过远程维护功能监控客户端计算机, 帮助用户管理计算机。QuickDesktop桌面虚拟化系统的这些功能极大地减轻了管理员的负担, 尤其是对计算机数量众多的计算机机房, 管理人员不必逐台确认关闭、开启计算机, 而只需首先选择要操作的计算机, 然后点击“远程开机”或“远程关机”按钮就能实现计算机的开关机。

(3) OS分发。

计算机不但可以从服务器端的虚拟桌面启动, 而且可以从本地操作系统启动。本机不用费时地安装操作系统, 只需要执行“OS分发”功能就可以把服务器上的虚拟桌面文件传送到客户端计算机的磁盘上, 这样客户端计算机就能方便地从该操作系统启动。

(4) 强大的镜像与快照管理。

镜像是由QuickDesktop桌面虚拟化系统制作的虚拟桌面文件。计算机从服务器上的镜像文件启动, 也就是说镜像文件是存放在服务器端的虚拟桌面。用户可以在服务器端对虚拟桌面进行新建、合并、编辑、备份、删除等操作。快照是镜像管理的一部分。运用快照功能可以实现在任意时间点对镜像的备份和恢复。例如, 在纯净的操作系统上安装一个应用软件如CAD。在安装CAD前对镜像文件做一个快照A, 安装完成后再做一个快照B, 在需要恢复到安装之前的状态时, 只需恢复选择快照A, 然后点击“还原快照”功能按钮就能使用未安装该应用软件前的操作系统。在此基础上, 再安装其它应用软件再做快照, 这样两个软件就相互隔离互不影响, 使用时只需切换到需要的软件快照即可。

(5) 有效解决病毒感染问题。

服务器端的镜像文件启动时, 每台客户端计算机缓存文件是单独存放的。因此可以方便地删除客户端的个性化文件, 使系统恢复到原始安装状态, 实现操作系统还原的功能。QuickDesktop桌面虚拟化系统实现了操作系统文件、应用软件文件和私人数据独立存储, 系统提供了单独的存储空间供用户存放私人数据。即使系统出现故障, 用户的数据也可以完整保存。这一功能极大地提高了数据的安全性。

镜像文件集中存放在服务器端, 客户端计算机即使遭病毒入侵, 只需重启客户端计算机就能恢复到初始状态。QuickDesktop桌面虚拟化系统的这些功能可以有效解决病毒入侵问题, 保障计算机的正常运行。

2.2 应用模式

QuickDesktop桌面虚拟化系统主要用来帮助管理员管理和维护计算机, 其采用的是主从架构, 因此其应用需要一台服务器对所有计算机进行管理。目前其应用模式如图1所示。

在系统安装设置完成后, 首先选择一台模板计算机作为种子机, 把种子机的操作系统上传到服务器上制作成镜像文件 (即虚拟桌面) , 这样所有计算机就能从该虚拟桌面启动。客户端计算机从镜像文件启动时, 本地计算机会显示一个虚拟硬盘。用户操作该虚拟桌面就如同操作本地操作系统一样。应用软件的安装和补丁的升级等操作简单方便, 只需在一台计算机上安装完成, 然后在服务器端把该软件制作成快照, 其它计算机就能共享这一成果。这样就实现了软件统一安装、统一升级。

3 应用案例

3.1 南京财经大学实验中心机房

南京财经大学实验中心老实验室有60台计算机。老实验室的机器购买于2002年, 机器老化严重, 系统性能比较差、机器易出故障, 且管理人员人少任务重。QuickDesktop桌面虚拟化系统使用之后, 这些问题迎刃而解。计算机在服务器端集中管理维护, 极大地减轻了管理人员的负担。由于QuickDesktop桌面虚拟化系统对客户端计算机要求很低, 只需支持PXE网络启动即可, 目前主流的主板基本都支持, 因此该系统支持多种机型, 这样老实验室60台计算机也能充分发挥其作用。

3.2 南京邮电大学机房

南京邮电大学计算机实验室有120台机器。日常的教学实验需要安装大量的软件, 同时这些软件不能安装在同一操作系统下, 所以需要安装多个操作系统。机房还承担了计算机考试的任务, 每到考试阶段需要所有老师集体出动搭建环境, 费时费力。QuickDesktop桌面虚拟化系统安装之后, 这些问题同样迎刃而解。不同的软件安装在不同操作系统中, 并被制作成镜像文件存放在服务器上。上课时只需切换到相应的镜像文件, 多台计算机就能同时在相同的环境下启动运行。考试时搭建环境也相当简单, 管理人员只需在一台计算机上搭建考试环境, 然后把这台计算机的操作系统上传到服务器端并制作成镜像文件, 其它计算机就能通过该镜像文件启动享有相同的运行环境, 不需要逐台安装软件、搭建环境。

4 结语

QuickDesktop桌面虚拟化系统极大地方便了计算机的管理和维护, 降低了计算机的故障率, 保障了计算机正常运行。与其它计算机管理方式相比, QuickDesktop桌面虚拟化系统在机房管理中具有明显优势, 但也存在不足之处。但是总体来说, QuickDesktop桌面虚拟化系统使计算机的管理维护简单方便, 减轻了管理员的负担。QuickDesktop桌面虚拟化系统软件是管理计算机机房的较好选择。随着虚拟化和相关技术的不断成熟, 相信其功能也会不断完善。

参考文献

[1]马星光, 刘仁权, 李书珍, 等.运用虚拟化技术构建开放式计算机实验环境[J].计算机教育, 2009 (10) .

桌面虚拟化系统 篇6

目前网络虚拟化, 显卡虚拟化等技术都在快速发展, 在不久的将来, 当前物理的设备将都支持虚拟化技术, 实现IAAS (infrastructure as service) , 实现真正意义的云计算。计算机虚拟化技术当前主要包括服务器虚拟化、应用虚拟化、桌面虚拟化。而桌面虚拟化技术是当前发展最快的, 也是最具前景的技术。

桌面虚拟化是指将计算机的桌面进行虚拟化, 以达到桌面使用的安全性和灵活性。桌面虚拟化技术, 维基百科上给出的定义是:"Desktop virtualization (或者成为Virtual Desktop Infrastructure) 是一种基于服务器的计算机模型, 并且借用了传统的服务器-客户端模式, 将所有桌面虚拟机在服务器进行托管并统一管理, 用户可以通过客户端, 或者类似的设备在局域网或者远程访问获得与传统PC一致的用户体验。简单的来说, 桌面虚拟化是指:支持实现桌面系统的远程动态访问与数据中心统一托管的技术。有一个形象的比喻, 今天我们可以通过任何设备、在任何地点、任何时间访问网络上的我们的邮件系统, 或者网盘;而未来我们可以通过任何设备, 在任何地点, 任何时间访问在网络上的属于我们个人的桌面系统。当前在桌面虚拟化领域, 主要的桌面虚拟化方案有思杰 (Citrix) 的Xen D-sktop桌面虚拟化方案、微软的桌面虚拟化技术MED-v、广州方景信息桌面虚拟化解决方案Phantosys (幻影桌面) 和VMware公司的VMware View桌面虚拟化方案。

2 高校计算机实验室面临的问题

实践性教学是高等教育的重要组成部分, 在高等教育向前发展的今天, 有更多的专业使用到了计算机实验教学, 课程的多样性导致了计算机实验室必须满足不同的教学要求, 配置不同的教学环境。目前高校的计算机实验室大多是采用硬盘保护卡的方式对计算机进行系统和软件的维护, 硬盘保护卡在使用过程中会产生一些很难避免的问题, 譬如对一些特殊的软件如3DMAX软件的注册信息, 硬盘保护卡无法做到数据同传处理, 只能是解开保护, 一台一台的注册, 硬盘保护卡在系统和应用软件的升级方面也不是尽善人意, 通常的方法是升级好一台计算机后对全部计算机进行系统数据同传, 浪费了大量的时间, 现在的硬盘保护卡虽然都支持多操作系统, 但是这种支持只是建立在硬盘划分和系统安装之前, 对于需要临时添加新系统的要求在使用过程中是无法实现的, 此外硬盘保护卡还存在和计算机硬件兼容性差的问题, 很容易引起系统的崩溃。以上的这些问题会导致计算机实验室管理工作量增大, 工作效率低, 设备的使用率低, 维护难度大等一系列的问题。

3 桌面虚拟化系统的应用

桌面虚拟化系统的使用可以很好的解决这些问题。桌面虚拟化系统是把计算机的桌面应用环境与计算机硬件进行分离, 所有桌面和应用环境镜像集中在服务器上进行统一管理, 用户可以根据自己不同的需求使用终端设备通过局域网或者远程访问各自的计算机系统, 以达到计算机软硬件资源使用的安全性和灵活性。

在实践性教学方面, 对于学校的计算机实验室来说, 可以根据不同老师、不同班级、不同专业所需要的不同软件的特点、因教学需求, 组合生成为不同课程教学量身定做的系统和数据存储盘, 供教师、学生按需组合、调用, 甚至可以在一个机房里, 同时进行分组教学 (每组调用的系统、软件不同) , 这样就等于将一个普通的机房用途个性化、多样化, 从而提高了设备的使用率, 也最大限度的满足了越来越复杂的计算机实践性教学的需要。

在实际的教学中, 教师可以利用桌面虚拟化系统把计算机的桌面应用环境与硬件分离的特点, 将所有计算机开放给学生使用, 让学生进行各种系统和应用软件的安装和调试, 从而提高了学生的实际动手能力和教学的质量, 而学生在实际操作中也不用担心由于误操作引发的系统崩溃、文件丢失等后果, 数据盘开放给学生使用, 作为学生课堂作业和实验数据的暂存, 解决了学生实验数据的丢失和使用U盘存储带来的计算机病毒问题, 桌面虚拟化系统为计算机实践教学提供了完全开放式的教学实验平台, 而这些恰恰是计算机硬盘保护卡做不到的。

对于计算机实验室的管理人员来说, 平时对于计算机实验室的软件维护只能选择在没有实验的时间段进行, 这使得实验室设备维护有很大的时间局限性, 加重了实验室管理人员的工作负担, 桌面虚拟化系统实现了对分散的计算机的集中式管理, 从管理优化的角度, 可以在不影响所有客户端计算机正常运行的同时, 在服务器集中管理桌面应用, 对桌面应用实现统一配置与管理, 为所有计算机生成、改变、或更新系统或应用软件, 做到不用学生停机等待、不影响教师正常的教学工作, 维护好的系统和应用软件在客户端计算机下次启动的时候即可使用。

在计算机设备的维护中, 计算机实验室管理人员会经常遇到计算机蓝屏、死机, 硬盘损坏, 系统崩溃, 误操作删除重要系统文件, 软件故障, 病毒、木马蠕虫、恶意插件等等的问题, 通常情况下是使用硬盘保护卡的系统数据传输功能对出现问题的计算机进行系统数据覆盖, 但是有时也会出现硬盘保护卡不能起保护作用的问题, 比如说计算机病毒或者是保护卡故障等等, 这些情况对于计算机维护者来说就是些比较棘手的问题了, 而有了桌面虚拟化系统以后, 它强大的回复功能可以通过在服务器上设置的恢复节点, 在客户端计算机重启后恢复到正常的系统环境, 从而不用再担心病毒、木马、流氓软件等等软故障, 桌面虚拟化系统的还原机制与硬盘保护卡不同, 所以不会存在与保护卡失效相类似的硬件问题, 也没有保护卡系统恢复等待的时间, 真正做到了随时恢复随时使用。

总的来说桌面虚拟化系统解决了高校实践性教学环境的多样化的需求, 教师可以预先根据不同的年级、课程、安装好相应的教学环境, 学生可以在特定的教学环境中学习实验;桌面虚拟化系统解决了高校计算机实验室操作系统平台多元化的需求, 除了可运行常用的X86计算机操作系统外, 对多操作系统和多应用环境也是支持的, 如Win2000、win XP、2003Server、Vista、win7、Linux、Red Hat系统等等;桌面虚拟化系统满足学校课程的弹性化需求, 只要服务器选择相对应的节点选项, 学生机就可运行相应的教学环境和内容;桌面虚拟化系统满足学校教学内容个性化和快速安装软件的需求, 允许每台计算机安装不同的软件, 像独立的计算机一样个性化, 甚至还允许做格式化的操作, 允许在线安装和更新系统, 任课老师课前安装软件也可以保证很快完成;桌面虚拟化系统满足学校多媒体教学的速度和硬件需求, 教师可在课前把多媒体资料安装在服务器中, 上课时由学生端调用, 配合多媒体广播软件也能流畅的播放;桌面虚拟化系统满足学校计算机考试的需要, 单独的考试环境的设置, 可以保证考试系统环境的稳定性, 确保计算机考试的正常进行;桌面虚拟化系统满足学生的信息生活化需求, 计算机实验室向学生开放, 独立的开放系统使学生可以在课外生活中方便的接触信息和网络, 同时不影响设备上课时的使用;桌面虚拟化系统满足学校对电脑系统管理维护的需求, 桌面虚拟化平台的集中管理的特性, 一个计算机实验室管理人员可轻松管理整个学校计算机实验室的计算机, 在自己计算机上通过网络就可以对所有的学生机, 进行系统维护, 软件更新, 大大的减轻了工作量, 达到轻松管理的目的;桌面虚拟化系统满足学校对计算机使用成本需求, 桌面虚拟化系统对于服务器和客户端计算机的硬件配置要求并不高, 普通的个人计算机和入门级的服务器就可以正常运行, 这大幅降低学校设备采购成本;桌面虚拟化系统满足学校对计算机系统的教学保障需求, 桌面虚拟化系统的使用大幅提升系统的稳定性、安全性, 大幅降低电脑系统故障率, 不再担心学生误操作、病毒问题以及学生上课因故障影响老师的教学, 发生问题时学生机只需即时重启即可恢复到正常状态。

4 桌面虚拟化系统的局限性

除了以上所述的优点外, 桌面虚拟化系统也有其局限性, 那就是比较依赖于网络环境和服务器的工作状态, 它们是桌面虚拟化系统正常工作的前提基础, 这两者都不能出现任何的问题, 一但出现问题, 桌面虚拟化系统将无法正常工作, 所以为了确保计算机实践性教学的正常进行, 实验室管理人员平时要做好网络和服务器的管理维护工作。

5 结语

综上所述, 桌面虚拟化系统的应用解决了高校计算机实验室存在的一些问题, 提高了计算机实验室维护和管理的效率, 减轻了管理人员的工作量, 提高了计算机设备的综合利用率, 随着虚拟技术的发展完善, 桌面虚拟化系统的应用一定会更加广泛。

参考文献

[1]崔炜荣.桌面虚拟化在高校公共机房中的应用探讨[J].电子世界, 2012年11期.

[2]任军, 社贾磊.桌面虚拟化技术在计算机实验室管理中的应用研究[J].计算机光盘软件与应用, 2012年第4期.

[3]邱科宁.桌面虚拟化技术在计算机实验室管理中的应用研究[J].福建电脑, 2012年第1期.

桌面虚拟化系统 篇7

虚拟桌面是一种基于服务器的计算模型,它通过虚拟化技术将服务器上的资源以桌面系统的形式映射到移动设备、个人计算机、瘦客户机等终端设备。虚拟桌面运行于云计算数据中心,将终端设备与桌面环境解耦合[1]。用户可通过终端设备登录虚拟桌面,访问服务器资源。

虚拟桌面通过网络实现终端设备间的协同办公,具有易管控、低成本、高安全性等优点[2],已被广泛应用于大型企业的远程办公系统。然而,现有的虚拟桌面仅支持鼠标、键盘等USB设备,无法满足用户对USB存储设备、USB多媒体设备的操控需求。为解决这一问题,在Android平台上实现了USB设备重映像系统,使用户能够在虚拟桌面上对接入终端的USB设备进行读写操作,实现了U盘、硬盘、USB摄像头、智能卡读卡器等USB设备的桌面虚拟化。

1 关键技术

1.1 桌面虚拟化技术

桌面虚拟化技术基于服务器虚拟化技术,它对计算机资源进行整合和抽象,向终端用户及应用程序隐去计算资源的物理特性和硬件实现细节,实现了桌面系统的远程动态访问与数据中心的统一托管。桌面虚拟化技术的架构分为四层:资源池层、桌面管理层、网络接入层和终端接入层,分别负责计算资源的部署、桌面系统的调度、网络的连接以及终端设备的接入。

1.2 USB设备重映像技术

USB设备重映像技术是指运行在终端上的虚拟桌面可识别并操控与该终端连接的USB设备。系统将USB设备描述符信息通过TCP/IP协议发送至服务器虚拟机端,从而将USB设备的使用权交由虚拟桌面。同时将终端设置为USB代理,负责处理用户在虚拟桌面上对USB设备的操控请求。Android平台虚拟桌面上的USB设备重映像技术涉及Android NDK开发、虚拟桌面专用协议PCo IP、JNI接口设计以及Unix进程间的通信。

2 系统设计

2.1 开发环境及功能概述

系统采用Android Studio为开发平台,以Java语言为Android应用层开发语言,以C++语言为Android Native层开发语言,利用NDK构建Android Native层核心功能模块,以Junit为系统测试框架[3]

系统运行过程中可实时获取连接Android终端的USB设备信息,并更新用户操作界面,显示已连接的USB设备,为用户提供操作菜单。系统响应USB设备重映像操作后可将USB设备信息通过消息传递框架通知服务器,将连接Android终端的USB设备的使用权交由虚拟桌面。

2.2 架构设计

虚拟桌面USB设备重映像系统由用户操作界面、设备监听模块、消息控制模块、虚拟桌面和服务器五部分组成,如图1所示。

图1 系统整体架构

系统分为应用层、JNI接口层和Native层(本地层)。其中应用层运行虚拟桌面,提供与用户交互的界面。接口层提供JNI接口,负责应用层Java程序和Native层C++动态链接库的互相调用。监听模块和控制模块位于Native层,监听模块接收并处理应用层USB设备状态广播,获取USB设备信息,响应用户的USB操作请求;控制模块调用USB函数库,接收监听模块传递的USB描述符信息,负责系统运行中线程之间的消息传递。消息传递框架基于TCP/IP协议[4],负责控制模块与服务器的数据及请求传递。服务器为虚拟桌面提供运行环境,与应用层通过PCo IP协议进行通信[5]

2.3 功能设计

(1)交互设计

系统为用户呈现接入终端的USB设备,实时响应用户操作,系统与用户的交互如图2所示。

图2 系统与用户交互

四个交互对象分别是用户、UI线程、监听进程和虚拟桌面。UI线程负责响应用户的请求事件,监听进程获取USB设备信息并反馈给UI线程,UI线程更新设备缓存并将USB设备以图标形式呈现给用户。响应用户对USB设备的重映像请求后,UI线程向服务器发起连接请求,经过握手操作,服务器会识别该USB设备,用户可在虚拟桌面上操控USB设备。系统工作流程如图3所示。

(2)监听功能

为保障系统准确获取USB设备状态,监听模块应包含监听USB设备状态、获取USB设备信息、过滤与系统不兼容的设备、提供应用层接口、与UI线程通信等功能。具体而言,监听模块监听USB设备状态,获取能与系统兼容的USB设备的描述符。USB设备描述符记录了设备序列号、设备适用的协议类型、设备商和产品编号等信息。监听模块以动态链接库的形式存在于Android Native层,提供与Android应用层交互的接口。监听模块可通过进程间通信的方式,将获取的USB设备信息传递给UI线程,更新设备列表。监听模块功能如图4所示。

图4 监听模块功能

监听模块的工作流程如图5所示。

(3)控制模块设计

系统控制模块完成USB设备信息接收、更新设备缓存触发UI重绘、线程间消息处理、与应用层交互、处理连接请求等操作。具体而言,控制模块接收监听模块传递的USB设备信息,更新设备缓存,保持与Android终端接入的USB设备同步,通过回调函数结合Android消息处理机制更新UI。控制模块与安卓应用层的交互包括模块的加载和停用、与应用层消息格式匹配等操作。同时,控制模块负责处理与服务器的连接请求[6]。控制模块功能如图6所示。

图6 控制模块功能

控制模块工作流程如图7所示。

图7 控制模块工作流程

(4)JNI接口设计

系统应用层Java程序和Native层C++程序无法直接互相调用,JNI接口用于实现Android应用程序和Native动态链接库的函数调用。系统主要JNI接口包括:加载USB设备监听模块和控制模块、监听模块处理USB设备状态广播、监听模块响应USB设备操作的请求等。

(5)通信设计

系统模块之间的通信包括:

应用层和监听模块的通信,通过JNI接口实现,主要包括监听模块的启动与信息的交互、USB设备的操作。

应用层和控制模块的通信,包括更新UI、连接虚拟机。

监听模块和控制模块的通信,利用Socket本地套接字,绑定Android系统内部存储作为监听模块和控制模块通信的管道。

虚拟桌面与服务器之间的图像、声音传递,利用PCo IP协议(基于UDP协议)实现。

控制模块与服务器传递URB及USB数据包,利用基于TCP/IP协议的消息传递框架实现。

3 关键功能实现

3.1 监听模块功能实现

监听模块在Android后台运行,交互界面设置监听模块启动框,当框内状态改变时,系统进行判断,若为选中状态,则调用创建监听进程的函数。若取消选择,则调用终止监听服务的函数。Android 3.1版本开始支持USB HOST模式,可以实现利用Android广播机制获取USB设备状态信息[7]。系统创建广播接收对象,响应USB设备状态广播消息,具体过程如图8所示。

图8 处理USB状态广播消息

监听模块注册广播接收器,接收来自系统关于USB设备状态的广播,设置事件过滤。

监听模块响应事件广播,重写响应函数:查询SQLite数据库,若USB设备型号存在于数据库中,表明该设备与重映像系统兼容,监听模块会获取并传递该USB设备信息,其伪码如下:

3.2 控制模块功能实现

控制模块的关键功能为处理多线程和异步消息。在Native线程中控制模块通过Socket套接字获取来自监听模块的消息后,会回调应用层Java函数,发送增加设备的消息通知UI线程,更新UI。

控制模块利用Handler类实现消息的获取和发送,Handler将相应的方法放入其所在线程中执行。系统创建新线程时生成一个消息队列(Message Queue),作为装载线程间消息的容器,同时生成一个循环Looper,用于管理消息队列。Looper负责阻塞读取队列中的消息,将消息逐个发送至对应的Handler完成响应[8]。消息处理过程如图9所示。

图9 控制模块消息处理

系统的消息存放于全局消息池Message Pool中,消息池中的首个消息直接通过new()方法生成,其他消息通过Recycle()回收函数回收至消息池中[9]

3.3 JNI接口

JNI使得在Java虚拟机(JVM)内部运行的Java代码能够与用其他编程语言(C、C++和汇编语言)实现的库和应用程序进行交互[10]。系统通过JNI函数实现Android应用层和Android Native层的函数调用。

应用层的Java程序调用Native层程序时,JVM会向Native层传递两个指针,分别为JNIEnv类型和jobject类型,形式如下:

JNIEnv类型的指针包含JVM的接口,通过该指针可以对Java程序进行操作,如创建Java类对象、获取对象属性、调用对象的方法等。jobject obj参数为声明Native层函数的Java对象的引用。

Native层程序调用应用层Java程序时,首先获取Java类和类对象的属性和方法。JNI定义jfield ID、jmethod ID类分别表示应用层Java类对象的属性和方法。JNI函数通过ID识别不同的域和方法[11]。表1列出Native层程序调用应用层程序的关键方法。

表1 Native层程序调用应用层程序的关键方法

监听模块检测到USB设备接入时,会发送增加设备的消息,控制模块响应该消息,在UI线程中回调相应的增加设备函数,UI线程将需要回调的函数ID都放入同一个结构体中统一命名,并在初始化函数设置相应的环境变量[12]

3.4 进程间通信

监听模块和控制模块运行于不同进程中,系统利用Socket实现USB设备信息在不同进程间的传递。

Socket可用于网络中计算机之间的通信,也可以用于本地不同进程之间的通信。Socket提供了多种套接字类型,系统采用AF_UNIX本地套接字来实现监听模块和控制模块之间的通信[13]。具体实现过程如图10所示。

图1 0 监听模块和控制模块通信

系统的监听模块作为通信Server端,首先调用Socket()函数创建AF_UNIX类型的套接字,并在Android系统内部存储中创建文件。通过调用Bind()函数绑定该文件的绝对路径:/data/data/filename,绑定成功后监听模块可对Client端的连接请求进行阻塞监听。

控制模块作为通信Client端,首先创建本地套接字,向Server端监听模块发起连接请求。监听模块通过与控制模块进行握手响应连接请求,连接成功后监听模块和控制模块可进行通信,直至其中一方调用Close()操作[14]

4 系统测试

4.1 功能测试

测试采用Nexus 5手机运行虚拟桌面Horizon View 5.0[15],Android系统版本为4.4,USB设备为HP USB2.0存储设备,容量为16 GB。测试地点网络信号良好,无明显干扰。

登录虚拟桌面后启动USB设备重映像主界面(USB Redirection),界面Arbitrator Devices一栏显示接入Android终端的USB设备,如图11所示。

图1 1 系统运行结果

用户可选择USB设备进行重映像,虚拟桌面识别到设备后用户即可对该USB设备进行读写操作,如图12所示。

图1 2 虚拟桌面识别重映像的USB设备

4.2 传输速率测试

分别在Android平台上的虚拟桌面、Android手机和个人计算机上传输相同的文件(虚拟桌面和PC均运行Windows 7 64位操作系统,Android系统为4.4),测试10次后取传输速率(单位MB/s)的平均值,如图13所示。

图1 3 传输速率比较

测试结果显示,在Android虚拟桌面上对重映像的USB设备进行读写操作,其读写速率达到手机读写USB设备速率的97%,PC读写USB设备速率的95%。

5 结语

本文针对现有虚拟桌面无法对USB设备进行桌面虚拟化的问题,在Android平台上设计了虚拟桌面USB设备重映像系统,实现了用户在Android虚拟桌面上对USB设备的操控。本文分析了USB设备重映像系统的功能,对系统进行架构设计和模块划分。重点分析了USB设备的状态监听和描述符信息的获取、传输。经过测试分析,用户通过该系统在Android虚拟桌面上对重映像的USB设备进行读写操作,其速率达到手机和PC读写速率的95%以上,与本地USB传输速率相当。实验显示,USB设备重映像系统运行稳定,可以应用于大型企业的虚拟化办公系统,为用户远程操控USB设备带来方便。

目前USB设备重映像功能是作为独立的轻量级Android应用而存在,用户需手动加载功能模块。如何将USB设备重映像功能融合到虚拟桌面应用中,从而使系统可以自动加载设备监听、控制模块,是本文未来的改进方向。

摘要:虚拟桌面是基于服务器的计算模型,可提高计算机的资源管理效率。现有的虚拟桌面对USB设备支持不足,无法实现USB设备的桌面虚拟化。针对这一问题,在基于Android的虚拟桌面上设计USB设备重映像系统,实现通过虚拟桌面对USB设备的操控。该系统通过NDK构建USB设备监听模块和控制模块,利用Socket在进程间传递USB设备信息,利用基于TCP/IP协议的消息框架与服务器进行数据传输。实验结果表明,在Android虚拟桌面上对重映像的USB设备进行读写操作,其传输速率与本地USB的传输速率相当。

“VOI桌面虚拟化”剖析 篇8

但是, 随着对稳定的虚拟桌面可替代技术的需求日益增加, 虚拟操作系统基础架构 (Virtual OS Infrastructure, VOI) , 继虚拟桌面基础架构 (Virtual Desktop Infrastructure, VDI) 成为一个新的桌面虚拟化发展方向。

适合应用VOI应用环境可以概括如下:

环境一:支持10/100M环境下的网络环境, 有着复杂业务应用, 要求在部署桌面虚拟化后无需调整任何业务应用, 例如电力信息网、大型企业、能源企业、政府机构等单位。

环境二:对终端防护有特定需求, 需要桌面虚拟化产品能够兼容身份认证、安全审计等各类终端安全产品, 已经符合公安等级保护和保密分级保护的单位, 例如政府内网、军工涉密单位。

环境三:高清影像播放、视频和语音会议等多媒体远程应用较多的单位, 同时涉及到3DMAXS、PRO/E等大型工业软件和设计软件的单位, 要求能够在桌面虚拟环境下很流畅的同时运行百台以上终端, 例如科研院所、设计单位、教育行业电子机房等单位。

环境四:外设较多, 特别是种类品牌差异较大, 同时要求桌面虚拟化产品能够支持特定行业外设, 例如医疗行业的B超机、体验中心的二维码打印机、政府行政中心的识别器单位等单位。

环境五:要求无需管理员干预, 终端客户机能够自动保存用户私有数据并保证操作系统安全可靠, 在网络完全断开的情况下, 终端机器能够启动并正常运行单机程序, 例如电力生产网、金融行业、电信运营商等单位。

从上述环境应用剖析来看, 从实际应用方面考虑, VOI具有更强、更符合用户环境的适应性。其可脱离服务器和网络运行的特点, 让VOI具有了更好的可用性和安全性以及更好的用户体验, 尤其是可轻松地为企业搭建“私有云”。

事实上, 桌面虚拟化业务在我国国内开始蓬勃发展, 包括IBM中国研发中心、TCL多媒体中心、中国石化、中国移动、中国人民大学、泰康资产等客户均已经采用桌面虚拟化技术来替代传统PC, 其发展势头有超过服务器虚拟化的趋势。

而且, 随着国内用户在信息化建设观念的不断成熟和理性化, 用户不再盲目接受某些国外厂家的宣传推广, 而是更多考虑从自身信息体系现状和业务特点出发, 要求所部署桌面虚拟化架构必须能够保证原有业务的平滑迁移, 不影响用户使用习惯, 并能够很强的拓展性, 全面兼容未来的新业务和新技术。

上一篇:以幼儿为主体下一篇:处理好几个关系