CN105677342B - 一种解决异构操作系统的复合桌面虚拟化方法 - Google Patents
一种解决异构操作系统的复合桌面虚拟化方法 Download PDFInfo
- Publication number
- CN105677342B CN105677342B CN201610002705.6A CN201610002705A CN105677342B CN 105677342 B CN105677342 B CN 105677342B CN 201610002705 A CN201610002705 A CN 201610002705A CN 105677342 B CN105677342 B CN 105677342B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- cluster
- user
- head node
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Abstract
本发明公开了一种解决异构操作系统的复合桌面虚拟化架构及方法,所述架构设置有客户端、集群头节点、物理机集群及存储硬件,所述客户端通过因特网与集群头节点相连接;所述集群头节点与物理机集群相连接,所述物理机集群与存储硬件相连接;所述方法为用户利用客户端登录集群头节点,通过虚拟机集群管理器进行管理,将物理机集群上运行的虚拟机集群上的操作进行融合,而后反馈至客户端,从而将虚拟机集群上的操作整合在一个桌面环境下;对不同操作系统平台的应用进行融合,整合在一个统一的桌面环境下;在使用时只传输应用程序相关界面,从而减少网络传输;将远程桌面与虚拟化技术相结合,进一步的提高虚拟资源利用率。
Description
技术领域
本发明涉及桌面虚拟化领域,具体的说,是一种解决异构操作系统的复合桌面虚拟化架构及方法。
背景技术
桌面虚拟化领域:通过Client-Server计算模式把个人的桌面环境与物理机器相分离,该桌面环境被保存在远程的服务器上而非本地。当用户从本地断开桌面连接时,所有的应用程序、服务仍然在远程服务器上运行。用户可以从不同的地理位置通过网络,使用各种设备比如传统的个人电脑、上网本、智能手机和客户端连接上服务器上的桌面环境。
虚拟化技术在计算机领域中以各种形式存在40多年了,这项技术的出现旨在提供一种有效的方式使用昂贵的大型机资源。但是随着硬件成本的降低和操作系统功能的提升,这项技术在学术界和工业界一度受到冷落。
事物总是在矛盾中发展,随着硬件成本的下降、计算能力的提升,数据中心的规模越来越大,造成能耗和管理成本的不断攀升;而且据统计,全球多数的数据中心的资源利用率在 15%~20%之间。如何提高资源的利用率与降低运营成本是大家必须面对的问题,而这些问题都可以通过虚拟化技术很好地加以改善。随着虚拟化技术的日益成熟及硬件虚拟化技术的诞生,近年来虚拟化技术又成为学术界和工业界的热门课题。
狭义的虚拟化技术指的是虚拟机(Virtual Machine)技术,也就是服务器虚拟化技术,在广义上来说这只是虚拟化技术的一个子类,但是毋庸置疑这类虚拟化是运用和影响最广泛的一类,也是其他一些虚拟化技术的基础。除了服务器虚拟化技术,还有其他一些重要的虚拟化技术,我们以应用领域来划分,主要是下面几类:
1、服务器虚拟化。简单地说就是在一台主机上运行多个客户操作系统(也就是我们常说的"虚拟机"),在提高系统资源利用率的同时还可以提高虚拟机的可移动性、降低管理与运营成本、整合服务、容错容灾等好处。
2、存储虚拟化。存储虚拟化一般可以分为两类,一类是把多个物理磁盘通过高速网络连接,虚拟化成一个大容量的逻辑磁盘;该类存储虚拟化主要被 IBM 和 EMC提倡。对用户来说,这个虚拟出来的磁盘可以当成一般磁盘使用,比如分区、格式化等,这是存储虚拟化的一般模式。这类存储虚拟化可以把存储服务以相同视图提供给集群内主机,这为虚拟机的动态迁移提供基础,它在 VE-Desktop 的后端系统有所使用。第二类是基于存储控制器的存储虚拟化技术,代表厂商有 HDS 和 HP 等。
3、网络虚拟化。网络虚拟化容易与 VLAN 混淆,应该说 VLAN 只是网络虚拟化中的一种,网络虚拟化包含更多的内容。网络虚拟化也可以分成两类,第一类把一个物理子网划分不同的虚拟子网,不同的虚拟子网可以用于不同的服务,因为虚拟子网之间是相互隔离的,这样提高了服务的安全性,同时提高了服务管理的效率。第二类就是把一些相对小型的物理网络组合成一个大的虚拟系统,把它变成一个更大的网络设备。在网络虚拟化方面主要的提供商有思科系统与 Juniper 网络公司这两家网络设备提供商。
4、桌面虚拟化。该虚拟化技术是通过 Client-Server 计算模式把个人的桌面环境与物理机器相分离,该桌面环境被保存在远程的服务器上而非本地。当用户从本地断开桌面连接时,所有的应用程序、服务仍然在远程服务器上运行。用户可以从不同的地理位置通过网络,使用各种设备比如传统的个人电脑、上网本、智能手机和客户端连接上服务器上的桌面环境。
桌面虚拟化主要分成如下几类:
1、远程桌面与无盘工作站
远程桌面是最简单也是最原始的桌面虚拟化技术,Windows Terminal和 Unix Xwindow System都可以进行远程桌面连接,远程桌面能把远程的桌面通过网络在本地呈现,并且响应本地键盘、鼠标操作,就像操作本地主机一样。该技术出现的主要目的是对远程主机进行诊断与管理。
无盘工作站是为了降低企业 IT 成本而出现的。当时 PC 还比较昂贵,某些小型企业为了减少成本就会采用无盘工作站的解决方案。企业只要买一台高性能的无盘服务器,然后为每一位用户配备一台价格低廉的瘦客户机就可以工作了。无盘工作站的优点除了前面提到的减少成本外,还能降低管理成本,软件的安装与升级也很简单,只要在无盘服务器进行一次安装或者升级,所有的用户就可以马上看到这个更新。当然缺点也很明显,如果无盘服务器一旦瘫痪,所有的用户都无法正常工作,如果一位用户消耗大量无盘服务器的计算资源,其他用户的用户体验就会大大降低。同时无盘工作站的正确配置也不像想象得那样简单。
2、服务器虚拟化为后端的桌面虚拟化
该桌面虚拟化的设计是建立在服务器虚拟机之上的。这种桌面虚拟化一般使用几台高端服务器作为桌面虚拟化的后端,在每一台服务器上安装有虚拟机监控器,可以同时运行多台虚拟机。这样运行的每一台虚拟机都可以分配给一位用户,把虚拟机的桌面通过远程桌面的方式传输给用户,用户只要一台性能一般的上网本就可以登录到他拥有的虚拟机上。
3、云后端的桌面虚拟化
该种桌面虚拟化规模最大,可扩张型最强。桌面虚拟化的后端是云 (cloud),云可以使用虚拟化集群实现,比如亚马逊的云平台,也可以使用其他分布式方法,比如 google的云计算平台。如果使用服务器虚拟化实现的云作为桌面虚拟化的后端,那么桌面的分配和服务器虚拟化为后端的桌面虚拟化类似。
但现有的技术存在如下缺点:
传统的远程桌面技术可以认为是一种桌面虚拟化解决方案。Windows的远程终端就是一种远程桌面技术,它主要有两大方面的应用:一是远程管理,二是瘦客户机应用。其中瘦客户机应用就是一种桌面虚拟化解决方案,它允许多个用户同时通过瘦客户机连接到windows服务器,给每一个用户提供熟悉的windows桌面环境。而unix系统,也有类似的技术,它是利用X window system设计的灵活性,同时结合VNC这样的远程桌面传输技术,让多用户同时开启自己的桌面环境。远程桌面技术与用户认证服务相结合,提供每一个用户个性化的桌面服务。
但是这种桌面虚拟机解决方案不具有扩展性,一台服务器提供的虚拟桌面数目是有限的,登录的用户的CPU、IO和网络的使用都会影响其他登录的用户,同时用户的隔离不是很好,而且用户不能同时运行不同操作系统上应用程序。
虽然服务器虚拟化为后端的桌面虚拟化的这种实现方法,相比远程桌面技术实现的桌面虚拟化更加成熟、高效。但是这种方法的缺点也是显而易见的:
首先,这种方法扩展性差,一般每一位用户固定在一台服务器上,他只能在该服务器上使用他拥有的虚拟机。其次,因为用户是固定绑定在某台服务器上的,计算负载无法做均衡,如果某台服务器上绑定的虚拟桌面用户过多,而同时有的服务器在空闲状态,势必会降低计算资源的利用率,同时影响虚拟桌面用户的用户体验。
云后端或者类似思想实现的桌面虚拟化的基本思想是:在集群内为每一位桌面虚拟化用户分配一台虚拟机,把虚拟机的桌面环境通过网络传输给用户,这里虚拟机的分配和部署对用户是透明的,虚拟机在管理程序的有效管理下,合理地部署在集群内的计算节点上,当用户离开虚拟桌面环境时,管理程序可以把虚拟机状态保存下来,让虚拟机离线,不浪费计算资源。很明显这种实现有很好的扩张性和隔离性,同时以虚拟机为单位的调度,让计算资源利用得更充分。但是和前面两种桌面虚拟化方案类似,用户不能同时运行不同操作系统上的应用程序。当然,用户可以开启运行不同操作系统实例的虚拟桌面,但是这样会增加对带宽的要求,同时界面上的切换也不方便。
发明内容
本发明的目的在于提供一种解决异构操作系统的复合桌面虚拟化架构及方法,对不同操作系统平台的应用进行融合,整合在一个统一的桌面环境下;应用程序被封装成虚拟机模板,使用SaaS技术,对版权进行有效的管理和控制;在使用时只传输应用程序相关界面,从而减少网络传输;将远程桌面与虚拟化技术相结合,进一步的提高虚拟资源利用率。
本发明通过下述技术方案实现:一种解决异构操作系统的复合桌面虚拟化架构,设置有客户端、集群头节点、物理机集群及存储硬件,所述客户端通过因特网与集群头节点相连接;所述集群头节点与物理机集群相连接,所述物理机集群与存储硬件相连接;
在所述集群头节点上运行有虚拟机集群管理器,用于管理虚拟机集群;
在所述物理机集群上运行多个虚拟机监控器,在所述存储硬件内存储有虚拟机集群,且虚拟机集群运行显示在多个虚拟机监控器上。
进一步的为更好的实现本发明所述结构,特别采用下述设置方式:在所述虚拟机集群内设置有多个容器虚拟机,在每一个容器虚拟机上运行有应用程序虚拟机。
进一步的为更好的实现本发明所述结构,特别采用下述设置方式:还包括虚拟机模板库,所述虚拟机模板库分别与物理机集群和集群头节点相连接;
所述虚拟机模板库为保存容器虚拟机和/或应用程序虚拟机所用模版的服务器。
进一步的为更好的实现本发明所述结构,特别采用下述设置方式:还包括运行在集群头节点或/和物理机集群上的用于管理每一个虚拟机监控器上虚拟机运行负载平衡的虚拟机集群负载平衡器。
一种解决异构操作系统的复合桌面虚拟化方法,用户利用客户端登录集群头节点,通过虚拟机集群管理器进行管理,将物理机集群上运行的虚拟机集群上的操作进行融合,而后反馈至客户端,从而将虚拟机集群上的操作整合在一个桌面环境下。
进一步的为更好的实现本发明所述方法,特别采用下述设置方式:所述解决异构操作系统的复合桌面虚拟化方法为:用户利用客户端登录集群头节点,进行认证,当经过认证步骤后,集群头节点以CGI方式,利用集群头节点建立需要的虚拟机集群,虚拟机集群将应用程序界面进行提取并融合,然后将最终的界面图像传输通过集群头节点转发到客户端,用户的操作,通过集群头节点转发回虚拟机集群,在虚拟机集群内用户的操作根据应用程序焦点位置转发到正确的虚拟机上。
进一步的为更好的实现本发明所述方法,特别采用下述设置方式:所述解决异构操作系统的复合桌面虚拟化方法包括以下具体步骤:
1)用户利用客户端通过浏览器登录集群头节点输入认证所需信息进行认证,而后集群头节点返回登录界面;
2)经步骤1)后,如果认证成功,则执行下述步骤:
2-1)在客户端上,返回给用户一个正在处理页面;
2-2)然后客户端通过CGI方式启动后台虚拟机创建流程并分配流程;
2-3)后台虚拟机创建、分配流程结束后,集群头节点让客户端上的浏览器加载VNCjava applet:
2-4)VNC java applet加载成功后,集群头节点把容器虚拟机桌面的图像通过VNCRFB协议传输显示在VNC java applet 内;如果用户是第一次加载VNC java applet,还会触发一个自动下载过程,下载VNC java applet后再进行加载;
2-5)VNC java applet 亦能够将用户的鼠标键盘操作通过VNC RFB协议反馈给容器虚拟机,容器虚拟机根据当前焦点位置转发给特定应用程序虚拟机。
进一步的为更好的实现本发明所述方法,特别采用下述设置方式:在步骤1)中,所述输入认证所需信息进行认证后,如果为第一次登陆,则执行下述步骤:
A、返回用户可选择的应用程序列表,所述用户可选择的应用程序列表根据当前虚拟机模板库所拥有的虚拟机模板生成;
B、用户选择提交后,集群头节点把该用户的应用程序列表保存;
C、转入正常登陆状态,进入步骤2-1)。
进一步的为更好的实现本发明所述方法,特别采用下述设置方式:所述输入认证所需信息进行认证时,如果输入的信息为错误的认证信息,则显示认证失败页面。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明对不同操作系统平台的应用进行融合,整合在一个统一的桌面环境下;应用程序被封装成虚拟机模板,使用SaaS技术,对版权进行有效的管理和控制;在使用时只传输应用程序相关界面,从而减少网络传输;将远程桌面与虚拟化技术相结合,进一步的提高虚拟资源利用率。
(2)本发明对不同操作系统平台的应用进行融合,整合在一个桌面环境下,让用户感觉这些应用程序运行在同一个操作系统上一样。
(3)本发明借鉴云计算技术的相关思想,把 VE-Desktop 的后端建立在虚拟机集群之上,引入负载均衡技术,提高集群的资源利用率。
(4)本发明对应用程序的图形界面进行提取,只传输应用程序相关界面,减少网络传输。
附图说明
图1为本发明所述架构图。
图2为本发明所述方法流程简图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
Container Virtual Machine(CVM):中文名称为容器虚拟机,这是一台定制过的虚拟机,这台虚拟机的作用是提供虚拟桌面的容器,提供虚拟菜单,融合运行在其他虚拟机上的应用程序界面,把融合后的图像传输给用户。
Application Virtual Machine (AVM):中文名称为应用程序虚拟机,这也是一个虚拟机,每一台 AVM 上安装有一款应用程序,AVM 上的操作系统,根据应用程序平台需要而定。
Virtual Machine Template (VMT):中文名称为虚拟机模版,这是模版型虚拟机,给 CVM / AVM 提供模版,克隆后导入特定用户信息即可成为 CVM / AVM。
Virtual Machine Template Library (VMTL):中文名称为虚拟机模板库,保存CVM 和各种 AVM模版的服务器。
瘦客户端(Thin Client)指的是在客户端-服务器网络体系中的一个基本无需应用程序的计算机终端。
CGI是CommonGatewayInterface 的简称,是一个用于定Web服务器与外部程序之间通信方式的标准。
VNC即Virtual Network Computer是虚拟网络计算机的缩写。
VNC java applet:虚拟网络计算机的Java小应用程序。
RFB即Remote Frame Buffer 是远程帧缓冲的缩写。
VNC RFB协议:一个用于远程访问图形用户界面的简单协议。
SAN(Storage Area Network )是一个集中式管理的高速存储网络,由多供应商存储系统、存储管理软件、应用程序服务器和网络硬件组成。
NAS(Network Attached Storage:网络附属存储)连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。
实施例1:
一种解决异构操作系统的复合桌面虚拟化架构,如图1所示,设置有客户端、集群头节点、物理机集群及存储硬件,所述客户端通过因特网与集群头节点相连接;所述集群头节点与物理机集群相连接,所述物理机集群与存储硬件相连接;所述客户端采用瘦客户端、平板、智能手机中的一种或多种,所述瘦客户端优选采用Wyse、HP、Centorm、NComputing、IGEL Technology、VXL、富士通、戴尔、三星、甲骨文等。
在所述集群头节点上运行有虚拟机集群管理器,用于管理虚拟机集群;
在所述物理机集群上运行多个虚拟机监控器,在所述存储硬件内存储有虚拟机集群,且虚拟机集群运行显示在多个虚拟机监控器上。
所述集群头节点,负责用户认证,虚拟机集群的管理,虚拟桌面的路由,所述集群头节点上运行有虚拟机集群管理器,所述虚拟机集群管理器对虚拟机集群的管理包括创建、控制和监测;在虚拟机集群内创建新的虚拟机(容器虚拟机或/和应用程序虚拟机),并控制、监测虚拟机集群内所有正在运行或者已经下线的虚拟机(容器虚拟机或/和应用程序虚拟机);所述虚拟机集群管理器维护一张虚拟机运行状态表,用于跟踪各虚拟机(容器虚拟机或/和应用程序虚拟机)的状态,为虚拟机(容器虚拟机或/和应用程序虚拟机)合理均衡分配提供依据;
所述虚拟机监控器具体运行在物理机集群的每一个节点上,且虚拟机监控器亦被虚拟机集群管理器统一管理;
所述存储硬件为虚拟机监控器提供存储空间,所有下线的和正在运行的容器虚拟机、应用程序虚拟机都存储在存储硬件中;所述虚拟机监控器通过 SAN/NAS方式访问存储在存储硬件中的容器虚拟机和/或应用程序虚拟机;
实施例2:
本实施例是在上述实施例的基础上进一步优化,进一步的为更好的实现本发明所述结构,如图1所示,特别采用下述设置方式:在所述虚拟机集群内设置有多个容器虚拟机,在每一个容器虚拟机上运行有应用程序虚拟机。
所述容器虚拟机为提供虚拟桌面的容器,并提供虚拟菜单,融合运行在虚拟机集群当前虚拟机之外的虚拟机上的应用程序界面,把融合后的图像传输给用户;
所述应用程序虚拟机,其上安装有应用程序;
实施例3:
本实施例是在上述任一实施例的基础上进一步优化,进一步的为更好的实现本发明所述结构,如图1所示,特别采用下述设置方式:还包括虚拟机模板库,所述虚拟机模板库分别与物理机集群和集群头节点相连接;
所述虚拟机模板库为保存容器虚拟机和/或应用程序虚拟机所用模版的服务器。
实施例4:
本实施例是在上述任一实施例的基础上进一步优化,进一步的为更好的实现本发明所述结构,如图1所示,特别采用下述设置方式:还包括运行在集群头节点或/和物理机集群上的用于管理每一个虚拟机监控器上虚拟机运行负载平衡的虚拟机集群负载平衡器。
所述虚拟机集群负载平衡器,在虚拟机存储(每个虚拟机(容器虚拟机或/和应用程序虚拟机)占用一定的存储,是整个存储SAN/NAS的一部分)和虚拟机监控器分离的情况下,按照一定的平衡调度算法,使虚拟机集群内的虚拟机(容器虚拟机或/和应用程序虚拟机)均衡地运行在各虚拟机监控器上。
所述一定的平衡调度算法包括采用时间片调度算法、模拟磁盘调度算法、基于XEN的CPU调度算法等中的任何一种。
实施例5:
本实施例是在上述任一实施例的基础上进一步优化,一种解决异构操作系统的复合桌面虚拟化方法,用户利用客户端登录集群头节点,通过虚拟机集群管理器进行管理,将物理机集群上运行的虚拟机集群上的操作进行融合,而后反馈至客户端,从而将虚拟机集群上的操作整合在一个桌面环境下。
实施例6:
本实施例是在上述实施例的基础上进一步优化,进一步的为更好的实现本发明所述方法,特别采用下述设置方式:所述解决异构操作系统的复合桌面虚拟化方法为:用户利用客户端登录集群头节点,进行认证,当经过认证步骤后,集群头节点以CGI方式,利用集群头节点建立需要的虚拟机集群,虚拟机集群将应用程序界面进行提取并融合,然后将最终的界面图像传输通过集群头节点转发到客户端,用户的操作,通过集群头节点转发回虚拟机集群,在虚拟机集群内用户的操作根据应用程序焦点位置转发到正确的虚拟机上。
实施例7:
本实施例是在上述实施例的基础上进一步优化,进一步的为更好的实现本发明所述方法,特别采用下述设置方式:所述解决异构操作系统的复合桌面虚拟化方法包括以下具体步骤:
1)用户利用客户端通过浏览器登录集群头节点输入认证所需信息进行认证,而后集群头节点返回登录界面;
2)经步骤1)后,如果认证成功,则执行下述步骤:
2-1)在客户端上,返回给用户一个正在处理页面;
2-2)然后客户端基于J2EE或者PHP技术的web平台通过CGI方式启动后台虚拟机创建流程并分配流程;使用Web作为与用户交互的前端,优点是显而易见的。因为几乎所有的操作系统上都预装有浏览器,客户端不管使用何种操作系统,都不用安装任何客户端程序就可以连接到我们的虚拟桌面平台上来;
2-3)后台虚拟机创建、分配流程结束后,集群头节点让客户端上的浏览器加载VNCjava applet:
2-4)VNC java applet加载成功后,集群头节点把容器虚拟机桌面的图像通过VNCRFB协议传输显示在VNC java applet 内;如果用户是第一次加载VNC java applet,还会触发一个自动下载过程,下载VNC java applet后再进行加载;
2-5)VNC java applet 亦能够将用户的鼠标键盘操作通过VNC RFB协议反馈给容器虚拟机,容器虚拟机(CVM)根据当前焦点位置转发给特定应用程序虚拟机(AVM)。
所述通过CGI方式启动后台虚拟机创建流程并分配流程包括:
(1.1)通过CGI方式启动后台虚拟机创建流程:
(1.1.1)虚拟机集群管理器(VE-Manager)加载用户设置,所述用户设置主要是应用程序表。
(1.1.2)对照应用程序表维护的虚拟机运行状态表,启动分配虚拟机(容器虚拟机或/应用程序虚拟机);所述虚拟机运行状态表包括所有正在运行和下线状态的所有虚拟机(容器虚拟机或/应用程序虚拟机)信息;所述虚拟机信息包括:虚拟机ip,虚拟机所在 VMM的ip,虚拟机类型(CVM或/和AVM),如果是AVM,还要包含该AVM运行的应用程序名称和该AVM的所有已经登陆的用户列表,如果是CVM则包含该CVM的用户名。
(1.2)通过CGI方式启动后台虚拟机分配过程:
(1.2.1)首先根据用户(User1)的应用程序列表,逐个检查对应AVM的状态,如果对应的AVM没有任何实例在运行,那么从VMTL中载入该AVM的模版,克隆配置后,在适当的VMM上启动,如果已经存在该AVM,只是未被启动,那么启动该AVM。
(1.2.2)其次,启动完成后让用户(User1)自动登陆。如果该AVM实例已经在运行,只是用户(User1)未登陆,则让用户(User1)在该AVM登陆,并且自动开启对应的应用程序和VNC的服务器端。如果AVM已经存在并且用户(User1)已经登陆,那么对该AVM不用做任何操作。对所有AVM的检查、分配、启动可以并发进行,这样可以有效提高后台虚拟机分配的速度。
(1.2.3)最后,用户(User1)独有的CVM是否开启,如果未开启,从模板库中克隆、配置一个CVM后启动,CVM启动后自动连接到该用户所有的AVM上的 VNC,把各个AVM上的应用程序界面显示在CVM的桌面上。并且自动启动一个VNC服务器端,让集群头节点连接,以便集群头节点让客户端上的浏览器加载VNC java applet。
(1.3)所有这些检查、分配操作完成后,集群头节点连接CVM上的VNC服务器端,这时传输回来的桌面图像已经是融合后的结果,使得集群头节点在不做任何操作即可把图像数据传送给用户。
实施例8:
本实施例是在上述实施例的基础上进一步优化,进一步的为更好的实现本发明所述方法,特别采用下述设置方式:在步骤1)中,所述输入认证所需信息进行认证后,如果为第一次登陆,则执行下述步骤:
A、返回用户可选择的应用程序列表,所述用户可选择的应用程序列表根据当前虚拟机模板库所拥有的虚拟机模板生成;
B、用户选择提交后,集群头节点把该用户的应用程序列表保存;
C、转入正常登陆状态,进入步骤2-1)。
实施例9:
本实施例是在实施例7或8的基础上进一步优化,进一步的为更好的实现本发明所述方法,特别采用下述设置方式:所述输入认证所需信息进行认证时,如果输入的信息为错误的认证信息,则显示认证失败页面。
实施例10:
本实施例是在上述任一实施例的基础上进一步优化,如图2所示,一种解决异构操作系统的复合桌面虚拟化方法,包括以下步骤:
用户在客户端(瘦客户端、)使用浏览器(IE、Firefox等),通过 web 方式登录集群头节点,输入认证所需信息进行认证,而后集群头节点返回登录界面;
所述输入认证所需信息进行认证后,如果为第一次登陆,首先返回用户可选择的应用程序列表(应用程序选择向导);其次,用户选择提交后,集群头节点把该用户的应用程序列表保存(保存应用程序选择设置);最后转入正常登陆状态;所述用户可选择的应用程序列表为根据当前虚拟机模板库(VMTL)所拥有的虚拟机模板(VMT)生成;
所述输入认证所需信息进行认证时,如果输入的信息为错误的认证信息,则显示认证失败页面。
认证成功后,处于正常登陆状态后,正常登陆的流程如下:
在客户端上,返回给用户一个正在处理页面(显示正在载入页面);
2-2)然后客户端的web平台通过CGI方式启动后台虚拟机创建流程并分配流程(通过CGI启动相关CVM/AVM);
2-3)后台虚拟机创建、分配流程结束后,集群头节点让客户端上的浏览器加载VNCjava applet:
2-4)VNC java applet加载成功后,头节点把容器虚拟机(CVM)桌面的图像通过VNC RFB协议传输显示在VNC java applet 内(把CVM桌面图像通过头节点传输显示在VNCjava applet内);如果用户是第一次加载VNC java applet,还会触发一个自动下载过程,下载VNC java applet后再进行加载;
2-5)VNC java applet 亦能够将用户的鼠标键盘操作通过VNC RFB协议反馈给容器虚拟机(CVM),容器虚拟机(CVM)根据当前焦点位置转发给特定应用程序虚拟机(AVM)。
虚拟机集群管理器(VE-Manager ):
VE-Manager 在VE-Desktop 架构中起到一个核心作用,负责整个后端虚拟化集群的管理和控制工作,比如虚拟机的日常管理,虚拟机模板库的维护及虚拟桌面的最终建立和维护。
虚拟机集群负载平衡器( VE-Balancer):
VE-Balancer 在VE-Desktop 中起到负载均衡的作用,它能显著提高桌面虚拟化后端的资源利用率,使总体性能最佳。VE-Balancer 能够正常工作得益于虚拟机在线迁移技术。
虚拟机镜像文件的存储及模板库:
在VE-Desktop 的后端系统中,为了支持负载平衡,提高集群的资源利用率和可扩展性,所有的虚拟机文件系统镜像文件都存放在网络存储中。网络存储由专属的几台服务器担当,这些存储服务器联合组成了一个网络存储池(Network Storage Pool)。
应用程序界面拟合:
VE-Desktop与一般桌面虚拟化的重要区别在于VE-Desktop 能够整合不同操作系统的桌面应用程序在一个桌面环境中,为达到这个目标,必须实现应用程序的界面拟合。界面拟合包括两个步骤,第一是界面提取,第二是就是把提取出来的不同应用程序界面进行拟合,最终让用户感觉应用程序跑在同一个系统中。
在设计使用时,每一台虚拟机运行的是单一种应用程序(不是特定用户所独有),这个应用可以被多个用户共享,我们利用远程桌面技术把用户对应用程序的使用隔离开来。这样一来,可以有效减少虚拟机的运行数目,同时利用应用程序的热启动加快程序的启动速度。
最终用户通过瘦客户端或者普通PC连接到我们的桌面虚拟化的集群头节点,集群头节点通过图形方式返回用户可选的应用程序,这些应用程序可以是不同平台的运用,比如windows下的Microsoft Word,或者Linux下的gvim。
用户做出选择后,集群头节点的虚拟机集群管理器以透明的方式,从已经安装好相关应用程序的虚拟机模板克隆出一份拷贝,并且启动此虚拟机。如果用户选择了多个运用,相应就会启动多个虚拟机。这些虚拟机运行在此集群的任意一个物理节点上,通过虚拟机调度(负载平衡)技术,合理地分布在虚拟机集群中。
当然,我们可以不为每一个用户的每一个应用程序开启独立的虚拟机。如果有其他用户开启了相同应用的虚拟机,我们可以使用该虚拟机,利用操作系统多用户特性(Windows的远程终端服务和Unix X window system多用户登录),隔离这两个用户。这样做可以有效减少虚拟机运行的个数和加快应用程序的开启速度,从而改善用户体验。
用户的最终图形界面是通过集群头节点的虚拟机集群管理器合成的,集群头节点的管理程序(虚拟机集群管理器)负责把各个应用程序相关的图形界面与原桌面的分离和最终界面的拼接,让用户感觉这些应用程序开启在一台机器上。同时用户的鼠标、键盘操作被传送回相应应用程序所在的虚拟机上,让虚拟机上的应用程序做出响应。
用户可以把当前的运行环境保存起来,只要网络带宽允许,用户可以在任何地方恢复保存起来的运行环境。
当然用户可以根据角色的不同建立不同的运行环境,比如工作开发环境,家庭娱乐环境。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (3)
1.一种解决异构操作系统的复合桌面虚拟化方法,其特征在于:用户利用客户端登录集群头节点,通过虚拟机集群管理器进行管理,将物理机集群上运行的虚拟机集群上的操作进行融合,而后反馈至客户端,从而将虚拟机集群上的操作整合在一个桌面环境下;
即用户利用客户端登录集群头节点,进行认证,当经过认证步骤后,集群头节点以CGI方式,利用集群头节点建立需要的虚拟机集群,虚拟机集群将应用程序界面进行提取并融合,然后将最终的界面图像传输通过集群头节点转发到客户端;用户的操作,通过集群头节点转发回虚拟机集群,在虚拟机集群内用户的操作根据应用程序焦点位置转发到正确的虚拟机上;
所述解决异构操作系统的复合桌面虚拟化方法包括以下具体步骤:
1)用户利用客户端通过浏览器登录集群头节点输入认证所需信息进行认证,而后集群头节点返回登录界面;
2)经步骤1)后,如果认证成功,则执行下述步骤:
2-1)在客户端上,返回给用户一个正在处理页面;
2-2)然后客户端通过CGI方式启动后台虚拟机创建流程并分配流程;
2-3)后台虚拟机创建、分配流程结束后,集群头节点让客户端上的浏览器加载VNCjava applet:
2-4)VNC java applet加载成功后,集群头节点把容器虚拟机桌面的图像通过VNC RFB协议传输显示在VNC java applet 内;
2-5)VNC java applet 亦能够将用户的鼠标键盘操作通过VNC RFB协议反馈给容器虚拟机,容器虚拟机根据当前焦点位置转发给特定应用程序虚拟机。
2.根据权利要求1所述的一种解决异构操作系统的复合桌面虚拟化方法,其特征在于:在步骤1)中,所述输入认证所需信息进行认证后,如果为第一次登陆,则执行下述步骤:
A、返回用户可选择的应用程序列表,所述用户可选择的应用程序列表根据当前虚拟机模板库所拥有的虚拟机模板生成;
B、用户选择提交后,集群头节点把该用户的应用程序列表保存;
C、转入正常登陆状态,进入步骤2-1)。
3.根据权利要求1所述的一种解决异构操作系统的复合桌面虚拟化方法,其特征在于:在步骤1)中,所述输入认证所需信息进行认证时,如果输入的信息为错误的认证信息,则显示认证失败页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610002705.6A CN105677342B (zh) | 2016-01-06 | 2016-01-06 | 一种解决异构操作系统的复合桌面虚拟化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610002705.6A CN105677342B (zh) | 2016-01-06 | 2016-01-06 | 一种解决异构操作系统的复合桌面虚拟化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105677342A CN105677342A (zh) | 2016-06-15 |
CN105677342B true CN105677342B (zh) | 2019-02-12 |
Family
ID=56190333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610002705.6A Active CN105677342B (zh) | 2016-01-06 | 2016-01-06 | 一种解决异构操作系统的复合桌面虚拟化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105677342B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656646B (zh) * | 2017-10-11 | 2022-05-24 | 阿里巴巴集团控股有限公司 | 一种远程桌面控制方法、装置、设备及虚拟化芯片 |
CN107844356A (zh) * | 2017-11-12 | 2018-03-27 | 长沙曙通信息科技有限公司 | 一种新型桌面虚拟化用户应用策略实现方法 |
CN109962951B (zh) * | 2017-12-25 | 2022-04-15 | 航天信息股份有限公司 | 云平台监控数据系统 |
CN108965480A (zh) * | 2018-09-07 | 2018-12-07 | 平安科技(深圳)有限公司 | 云桌面登录管控方法、装置及计算机可读存储介质 |
CN109375960B (zh) * | 2018-09-29 | 2021-10-01 | 郑州云海信息技术有限公司 | 一种版权信息加载方法和装置 |
CN110769044A (zh) * | 2019-10-14 | 2020-02-07 | 广州微算互联信息技术有限公司 | Arm设备使用方法、装置及系统 |
US11368539B1 (en) * | 2021-05-27 | 2022-06-21 | International Business Machines Corporation | Application deployment in a multi-cluster environment |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090006537A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Virtual Desktop Integration with Terminal Services |
JP5678508B2 (ja) * | 2010-07-29 | 2015-03-04 | 日本電気株式会社 | シンクライアントシステム、管理サーバ、仮想マシン作成管理方法及び仮想マシン作成管理プログラム |
CN103001992B (zh) * | 2011-09-19 | 2018-01-09 | 中兴通讯股份有限公司 | 虚拟桌面实现系统及其使用方法 |
CN103164283B (zh) * | 2012-05-10 | 2018-08-10 | 上海兆民云计算科技有限公司 | 一种虚拟桌面系统中虚拟化资源动态调度管理方法及系统 |
CN103414712B (zh) * | 2013-08-05 | 2016-01-27 | 深圳市杰云科技有限公司 | 一种分布式虚拟桌面管理系统和方法 |
-
2016
- 2016-01-06 CN CN201610002705.6A patent/CN105677342B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105677342A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677342B (zh) | 一种解决异构操作系统的复合桌面虚拟化方法 | |
US10827008B2 (en) | Integrated user interface for consuming services across different distributed networks | |
US20210337034A1 (en) | Browser Server Session Transfer | |
EP3365780B1 (en) | Multi-tenant multi-session catalogs with machine-level isolation | |
US9710297B2 (en) | Dynamic allocation and assignment of virtual environment | |
US8887158B2 (en) | Dynamic cluster expansion through virtualization-based live cloning | |
CN106462467B (zh) | 在不同分布式网络上针对消费服务的集成api和ui | |
US9225596B2 (en) | Undifferentiated service domains | |
US9244700B2 (en) | Methods and systems for delivering applications from a desktop operating system | |
KR102328193B1 (ko) | 가상 데스크탑 서비스를 위한 장치 및 방법 | |
CN105245523B (zh) | 应用于桌面虚拟化场景的存储服务平台及其实现方法 | |
CN107707622B (zh) | 一种访问桌面云虚拟机的方法、装置及桌面云控制器 | |
US9645628B1 (en) | Combined data storage and computing appliance that provides scalable storage in a clustered computing environment | |
US9268588B2 (en) | Optimizing virtual machine migration via identification and treatment of virtual memory swap file | |
US9678771B2 (en) | Autonomic virtual machine session lingering of inactive virtual machine sessions by a virtualization computing platform | |
US11201930B2 (en) | Scalable message passing architecture in a cloud environment | |
CN102647456A (zh) | 构建桌面云的方法及系统 | |
US10999362B1 (en) | Seamless switching of terminal servers in remote-access computing environments | |
JP6205013B1 (ja) | アプリケーション利用システム | |
CN114285842A (zh) | 一种基于云桌面的电子阅览室搭建方法及系统 | |
JP5754294B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
US20230148314A1 (en) | Fast Launch Based on Hibernated Pre-launch Sessions | |
US11226850B2 (en) | Scenario based multiple applications on-screen | |
KR20240053091A (ko) | 클라우드 기반 마이크로 서비스 제공 시스템 | |
CN114168258A (zh) | 容器生产系统、方法、装置及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |