基于虚拟化实现在线云应用管理的系统及其方法转让专利

申请号 : CN201910316799.8

文献号 : CN110032427A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 花志强

申请人 : 合肥谐桐科技有限公司

摘要 :

本发明涉及一种基于虚拟化实现在线云应用管理的系统,包括虚拟机资源管理模块,用于通过虚拟化平台的接口创建和删除虚拟机;会话管理模块,用于管理所有会话;后台管理模块,用于管理应用的启动状态和捕捉用户的输入消息;网络转发模块,用于接收并转发键盘鼠标信息和编码后的视频画面的数据;前端展示模块,用于解码在线云应用和展示所述的后台管理模块发来的视频画面数据。本发明还涉及一种实现基于虚拟化的在线云应用管理的方法。采用了本发明的基于虚拟化实现在线云应用管理的系统及其方法,基于虚拟化的方式打通不同平台的应用,只需要一个浏览器就可以使用多个平台的软件,提高了用户的工作效率。

权利要求 :

1.一种基于虚拟化实现在线云应用管理的系统,其特征在于,所述的系统包括:虚拟机资源管理模块,用于通过虚拟化平台的接口创建和删除虚拟机;

会话管理模块,与所述的虚拟机资源管理模块相连接,用于管理所有会话,并向虚拟机资源管理模块申请和释放虚拟机资源;

后台管理模块,与所述的虚拟机资源管理模块相连接,用于管理应用的启动状态和捕捉用户的输入消息,以及截取并发送实时的虚拟机画面和编码;

网络转发模块,与所述的会话管理模块和后台管理模块相连接,用于接收并转发键盘鼠标信息和编码后的视频画面的数据;

前端展示模块,与所述的会话管理模块和网络转发模块相连接,用于解码在线云应用和展示所述的后台管理模块发来的视频画面数据,并将用户的鼠标键盘消息发送至后台管理模块。

2.根据权利要求1所述的基于虚拟化实现在线云应用管理的系统,其特征在于,所述的后台管理模块包括:应用管理单元,与所述的虚拟机资源管理模块和网络转发模块相连接,用于管理应用的启动状态和捕捉用户输入消息;

视频管理单元,与所述的虚拟机资源管理模块和网络转发模块相连接,用于截取并发送实时的虚拟机画面和编码。

3.根据权利要求1所述的基于虚拟化实现在线云应用管理的系统,其特征在于,所述的后台管理模块还包括网络通信模块,与所述的虚拟机资源管理模块和网络转发模块相连接,用于传送鼠标键盘和编码后的视频画面。

4.根据权利要求2所述的基于虚拟化实现在线云应用管理的系统,其特征在于,所述的用户输入消息包括键盘消息和鼠标消息。

5.根据权利要求1所述的基于虚拟化实现在线云应用管理的系统,其特征在于,所述的前端展示模块和后台管理模块通过加密技术进行加密。

6.一种利用权利要求1所述的系统实现基于虚拟化的在线云应用管理的方法,其特征在于,所述的方法包括以下步骤:(1)所述的前端展示模块调用会话管理模块的接口注册新的会话;

(2)所述的会话管理模块获取虚拟机资源信息,所述的网络转发模块根据所述的虚拟机资源信息连接后台管理模块;

(3)所述的后台管理模块启动应用、抓取应用画面及编码,所述的前端展示模块在新页面连接网络转发模块;

(4)所述的网络转发模块解码并展示视频数据,所述的前端展示模块获取用户的鼠标键盘事件并转发至后台管理模块。

7.根据权利要求6所述的实现基于虚拟化的在线云应用管理的方法,其特征在于,所述的步骤(2)具体包括以下步骤:(2.1)所述的会话管理模块向虚拟机资源管理模块获取虚拟机资源信息并转发至网络转发模块;

(2.2)所述的网络转发模块根据所述的虚拟机资源信息连接后台管理模块。

8.根据权利要求6所述的实现基于虚拟化的在线云应用管理的方法,其特征在于,所述的步骤(3)具体包括以下步骤:(3.1)所述的后台管理模块启动应用,抓取应用画面及编码,并发送至网络转发模块;

(3.2)所述的会话管理模块将网络转发模块的地址返回至前端展示模块;

(3.3)所述的前端展示模块打开新的页面,然后在新页面连接网络转发模块。

9.根据权利要求6所述的实现基于虚拟化的在线云应用管理的方法,其特征在于,所述的步骤(4)具体包括以下步骤:(4.1)所述的网络转发模块解码并展示后台管理模块发送的视频数据;

(4.2)所述的前端展示模块获取用户的鼠标键盘事件并发送至网络转发模块,由网络转发模块转发至后台管理模块。

说明书 :

基于虚拟化实现在线云应用管理的系统及其方法

技术领域

[0001] 本发明涉及虚拟化网络领域,尤其涉及虚拟化网络的操作系统领域,具体是指一种基于虚拟化实现在线云应用管理的系统及其方法。

背景技术

[0002] 随着计算机的发展,PC上各类的应用软件给人们的生活和工作带来了极大的便利,但是这些应用软件都是和操作系统相关的,Windows平台上的软件只能在Windows上运行,Linux上的软件只能在linux上使用,Mac机器上的软件只能在Mac上使用,即使出现了像Wine这样的能够在多种POSIX-compliant操作系统(诸如Linux,Mac OSX及BSD等)上运行Windows应用的中间层。但是对应用软件的兼容性,稳定性都还有一定的问题。因为对于仅能在特定平台运行的应用软件,除非在其他平台上重写,否则无法在其他平台上使用。

发明内容

[0003] 本发明的目的是克服了上述现有技术的缺点,提供了一种满足兼容性、稳定性、适用范围广泛的基于虚拟化实现在线云应用管理的系统及其方法。
[0004] 为了实现上述目的,本发明的基于虚拟化实现在线云应用管理的系统及其方法如下:
[0005] 该基于虚拟化实现在线云应用管理的系统,其主要特点是,所述的系统包括:
[0006] 虚拟机资源管理模块,用于通过虚拟化平台的接口创建和删除虚拟机;
[0007] 会话管理模块,与所述的虚拟机资源管理模块相连接,用于管理所有会话,并向虚拟机资源管理模块申请和释放虚拟机资源;
[0008] 后台管理模块,与所述的虚拟机资源管理模块相连接,用于管理应用的启动状态和捕捉用户的输入消息,以及截取并发送实时的虚拟机画面和编码;
[0009] 网络转发模块,与所述的会话管理模块和后台管理模块相连接,用于接收并转发键盘鼠标信息和编码后的视频画面的数据;
[0010] 前端展示模块,与所述的会话管理模块和网络转发模块相连接,用于解码在线云应用和展示所述的后台管理模块发来的视频画面数据,并将用户的鼠标键盘消息发送至后台管理模块。
[0011] 较佳地,所述的后台管理模块包括:
[0012] 应用管理单元,与所述的虚拟机资源管理模块和网络转发模块相连接,用于管理应用的启动状态和捕捉用户输入消息;
[0013] 视频管理单元,与所述的虚拟机资源管理模块和网络转发模块相连接,用于截取并发送实时的虚拟机画面和编码。
[0014] 较佳地,所述的后台管理模块还包括网络通信模块,与所述的虚拟机资源管理模块和网络转发模块相连接,用于传送鼠标键盘和编码后的视频画面。
[0015] 较佳地,所述的用户输入消息包括键盘消息和鼠标消息。
[0016] 较佳地,所述的前端展示模块和后台管理模块通过加密技术进行加密。
[0017] 该基于上述系统实现基于虚拟化的在线云应用管理的方法,其主要特点是,所述的方法包括以下步骤:
[0018] (1)所述的前端展示模块调用会话管理模块的接口注册新的会话;
[0019] (2)所述的会话管理模块获取虚拟机资源信息,所述的网络转发模块根据所述的虚拟机资源信息连接后台管理模块;
[0020] (3)所述的后台管理模块启动应用、抓取应用画面及编码,所述的前端展示模块在新页面连接网络转发模块;
[0021] (4)所述的网络转发模块解码并展示视频数据,所述的前端展示模块获取用户的鼠标键盘事件并转发至后台管理模块。
[0022] 较佳地,所述的步骤(2)具体包括以下步骤:
[0023] (2.1)所述的会话管理模块向虚拟机资源管理模块获取虚拟机资源信息并转发至网络转发模块;
[0024] (2.2)所述的网络转发模块根据所述的虚拟机资源信息连接后台管理模块。
[0025] 较佳地,所述的步骤(3)具体包括以下步骤:
[0026] (3.1)所述的后台管理模块启动应用,抓取应用画面及编码,并发送至网络转发模块;
[0027] (3.2)所述的会话管理模块将网络转发模块的地址返回至前端展示模块;
[0028] (3.3)所述的前端展示模块打开新的页面,然后在新页面连接网络转发模块。
[0029] 较佳地,所述的步骤(4)具体包括以下步骤:
[0030] (4.1)所述的网络转发模块解码并展示后台管理模块发送的视频数据;
[0031] (4.2)所述的前端展示模块获取用户的鼠标键盘事件并发送至网络转发模块,由网络转发模块转发至后台管理模块。
[0032] 采用了本发明的基于虚拟化实现在线云应用管理的系统及其方法,基于虚拟化的方式打通不同平台的应用,只需要一个浏览器就可以使用多个平台的软件,提高了用户的工作效率,相比现有技术中增加了兼容性和稳定性,避免了无法运行只适用于特定平台的应用软件,进而只能重新编程的问题。

附图说明

[0033] 图1为本发明的基于虚拟化实现在线云应用管理的系统的结构示意图。

具体实施方式

[0034] 为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
[0035] 本发明的该基于虚拟化实现在线云应用管理的系统,其中包括:
[0036] 虚拟机资源管理模块,用于通过虚拟化平台的接口创建和删除虚拟机;
[0037] 会话管理模块,与所述的虚拟机资源管理模块相连接,用于管理所有会话,并向虚拟机资源管理模块申请和释放虚拟机资源;
[0038] 后台管理模块,与所述的虚拟机资源管理模块相连接,用于管理应用的启动状态和捕捉用户的输入消息,以及截取并发送实时的虚拟机画面和编码;
[0039] 网络转发模块,与所述的会话管理模块和后台管理模块相连接,用于接收并转发键盘鼠标信息和编码后的视频画面的数据;
[0040] 前端展示模块,与所述的会话管理模块和网络转发模块相连接,用于解码在线云应用和展示所述的后台管理模块发来的视频画面数据,并将用户的鼠标键盘消息发送至后台管理模块。
[0041] 作为本发明的优选实施方式,所述的后台管理模块包括:
[0042] 应用管理单元,与所述的虚拟机资源管理模块和网络转发模块相连接,用于管理应用的启动状态和捕捉用户输入消息;
[0043] 视频管理单元,与所述的虚拟机资源管理模块和网络转发模块相连接,用于截取并发送实时的虚拟机画面和编码。
[0044] 作为本发明的优选实施方式,所述的后台管理模块还包括网络通信模块,与所述的虚拟机资源管理模块和网络转发模块相连接,用于传送鼠标键盘和编码后的视频画面。
[0045] 作为本发明的优选实施方式,所述的用户输入消息包括键盘消息和鼠标消息。
[0046] 作为本发明的优选实施方式,所述的前端展示模块和后台管理模块通过加密技术进行加密。
[0047] 本发明的该基于上述系统实现基于虚拟化的在线云应用管理的方法,其中包括以下步骤:
[0048] (1)所述的前端展示模块调用会话管理模块的接口注册新的会话;
[0049] (2)所述的会话管理模块获取虚拟机资源信息,所述的网络转发模块根据所述的虚拟机资源信息连接后台管理模块;
[0050] (2.1)所述的会话管理模块向虚拟机资源管理模块获取虚拟机资源信息并转发至网络转发模块;
[0051] (2.2)所述的网络转发模块根据所述的虚拟机资源信息连接后台管理模块;
[0052] (3)所述的后台管理模块启动应用、抓取应用画面及编码,所述的前端展示模块在新页面连接网络转发模块;
[0053] (3.1)所述的后台管理模块启动应用,抓取应用画面及编码,并发送至网络转发模块;
[0054] (3.2)所述的会话管理模块将网络转发模块的地址返回至前端展示模块;
[0055] (3.3)所述的前端展示模块打开新的页面,然后在新页面连接网络转发模块;
[0056] (4)所述的网络转发模块解码并展示视频数据,所述的前端展示模块获取用户的鼠标键盘事件并转发至后台管理模块;
[0057] (4.1)所述的网络转发模块解码并展示后台管理模块发送的视频数据;
[0058] (4.2)所述的前端展示模块获取用户的鼠标键盘事件并发送至网络转发模块,由网络转发模块转发至后台管理模块。
[0059] 本发明的具体实施方式中提供了一种基于虚拟化实现在线云应用管理的系统及其方法,包括:
[0060] 在线云应用是通过前端展示模块连接虚拟机中的后台管理模块达到远程控制虚拟机中的应用软件。前端展示模块提供打开在先云应用的入口。前端展示模块还负责在打开云应用后捕捉用户的输入消息(包括键盘、鼠标消息)、拷贝操作然后发送到虚拟机中的后台管理模块,同时接收后台管理模块的视频信息,然后解码并在浏览器上渲染出画面。前端展示模块包含所述的web模块。
[0061] 虚拟机中的应用软件即将特定平台的应用软件安装到对应类型的虚拟机中,即windows应用软件安装在windows虚拟机中,Linux应用软件安装在linux虚拟机中,Mac应用软件安装在Mac虚拟机中。
[0062] 虚拟机同时还要安装特定平台的后台管理模块,并且后台管理模块需要作为服务设置为开机启动。不同类型的虚拟机统一由虚拟机资源管理模块产生,虚拟机资源管理模块使用虚拟化平台的接口创建虚拟机和删除虚拟机。创建虚拟机是基于虚拟化中的克隆技术。
[0063] 后台管理模块包括应用管理模块和视频传输模块,应用管理模块启动和关闭应用,以及接收前端展示模块发送过来的用户输入消息(键盘、鼠标)、拷贝信息并注入到应用中;视频传输模块负责截取应用的实时画面,然后编码发送给前端展示模块。前端展示模块与虚拟机中的后台管理模块的连接是基于加密技术。
[0064] 基于虚拟化的在线云应用是指利用视频传输的技术将虚拟机中的应用的画面编码后发送给前端展示模块,然后前端展示模块解码显示画面,同时将前端展示模块接收到的用户键盘鼠标的消息发送给虚拟机中的后台管理模块,达到远程控制虚拟机中的应用的目的。
[0065] 所述基于虚拟化实现在线云应用管理的系统如图1所示,包括了前端展示模块、虚拟机资源管理模块、会话管理模块、网络转发模块以及安装在虚拟机的后台管理模块。
[0066] 系统将所有应用安装在虚拟机中,同时在虚拟机中安装后台管理模块。
[0067] 虚拟机由虚拟机资源管理模块产生,虚拟机资源管理模块使用虚拟化平台的接口创建和删除虚拟机。
[0068] 会话管理模块负责管理所有的会话,对前端展示模块提供会话的打开以及关闭接口,另外负责向虚拟机资源管理模块申请和释放虚拟机资源。会话表示打开一个在线云应用。
[0069] 后台管理模块包括应用管理模块和视频管理模块,应用管理模块负责应用的生命周期,键盘鼠标的模拟;视频管理模块负责截取实时的虚拟机画面,以及编码。后台管理模块还包括网络通信模块,网络通信模块负责鼠标键盘的传送以及编码后的视频画面的传送。
[0070] 网络转发模块包括:一方面负责接收前端展示模块发过来的键盘鼠标信息,然后转发给虚拟机中的后台管理模块;另一方面还包括接收虚拟机中的后台管理模块发过来的编码后的视频画面的数据,转发给前端展示模块。
[0071] 前端展示模块基于浏览器,负责提供一个界面展示所有的应用图标,另外还负责在打开在线云应用时解码以及展示虚拟机中的后台管理模块发送过来的视频画面数据,以及获取用户的鼠标键盘消息发送给虚拟机中的后台管理模块。
[0072] 所述系统的具体实施方式如下:
[0073] 1、在服务器安装虚拟机资源管理模块。
[0074] 2、在虚拟机中安装应用以及后台管理模块
[0075] 3、在用户浏览器上打开前端展示模块
[0076] 所述实现基于虚拟化的在线云应用管理的方法的流程如下:
[0077] 当用户点击前端展示模块提供的页面上的应用图标的时候,前端展示模块调用会话管理模块的接口注册一个新的会话,之后会话管理模块向虚拟机资源管理模块获取一个虚拟机资源信息转发给网络转发模块,网络转发模块会根据虚拟机资源信息连接虚拟机中的后台管理模块,虚拟机中的后台管理模块会启动应用并抓取应用的画面然后编码发送给网络转发模块,然后会话管理模块返回网络转发模块的地址给前端展示模块,前端展示模块打开一个新的页面,然后在新的页面上连接网络转发模块,之后网络转发模块将虚拟机中的后台管理模块发送过来的视频数据解码并展示出来,同时前端展示模块获取用户的鼠标键盘事件,发送给网络转发模块,由网络转发模块转给虚拟机中的后台管理模块。
[0078] 采用了本发明的基于虚拟化实现在线云应用管理的系统及其方法,基于虚拟化的方式打通不同平台的应用,只需要一个浏览器就可以使用多个平台的软件,提高了用户的工作效率,相比现有技术中增加了兼容性和稳定性,避免了无法运行只适用于特定平台的应用软件,进而只能重新编程的问题。
[0079] 在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。