CN101655798B - 一种虚拟机环境中应用程序部署和运行的装置及方法 - Google Patents
一种虚拟机环境中应用程序部署和运行的装置及方法 Download PDFInfo
- Publication number
- CN101655798B CN101655798B CN 200810118544 CN200810118544A CN101655798B CN 101655798 B CN101655798 B CN 101655798B CN 200810118544 CN200810118544 CN 200810118544 CN 200810118544 A CN200810118544 A CN 200810118544A CN 101655798 B CN101655798 B CN 101655798B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- application program
- operating system
- machine manager
- mount message
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种虚拟机环境中应用程序部署和运行的装置及方法。装置包括虚拟机管理器,第一操作系统;第二操作系统,通过虚拟机管理器与第一操作系统连接;第一操作系统包括第一存储模块,用于存储第一应用程序的安装文件;应用程序虚拟化运行组件模块,与第一存储模块和虚拟机管理器分别连接,用于处理第一应用程序运行时的安装信息,将安装信息通过虚拟机管理器输入第二操作系统,在第二操作系统中根据安装信息建立第二应用程序及其运行环境;通过虚拟机管理器获取第二应用程序的读/写操作请求,通过虚拟机管理器向第二操作系统返回相应的读/写操作结果。本发明使用户工作数据无需在操作系统间迁移,简化用户工作。
Description
技术领域
本发明涉及计算机领域中应用程序的部署和运行,特别是指一种虚拟机环境中应用程序部署和运行的装置及方法。
背景技术
在网络发达的今天,有众多的开源软件或共享软件供大家下载使用,人们因此节省了很多的软件费用。与此同时,这些开源软件或共享软件也给人们带了许多问题,如,运行这些软件的计算机会因此而感染上病毒、木马等,有时由于这些软件的兼容性问题,会造成用户的计算机死机或蓝屏,同时这些软件还会对运行这些软件的计算机中的用户数据的安全性带来威胁。
基于上述问题,人们努力寻找一种完美的解决办法,既能得到这些软件给人们带来的好处和便利,又能避免这些软件给用户带来的潜在的负面影响,或者使这些软件的负面影响最小化。人们采用虚拟化技术,如图1所示,在计算机硬件系统之上利用虚拟机管理器(Virtual Machine Monitor,VMM)创建虚拟机,在虚拟机中安装相应的客户操作系统,然后再在客户操作系统中安装上述开源软件或者共享软件,而用户较为信任的其它软件,可安装在主操作系统或者另一个客户操作系统中运行。通常情况下,主操作系统和客户操作系统之间是相互隔离的,这样可以很好地解决上述共享软件或开源软件的兼容性问题和病毒、木马等负面影响。
然而,这种做法也有一定局限性。首先,建立虚拟机环境,并在客户操作系统中安装运行软件比较繁琐,对用户的技术水平要求较高;其次,客户操作系统性能较差,如能证明某个软件没有木马、病毒等负面影响,用户常常还是将该软件在主机环境中运行。
发明人在实现本发明的过程中,发现现有技术至少存在如下问题:
用户常常需要在多个操作系统中安装应用程序,并需要将用户数据从客户操作系统到主操作系统相互迁移,这样不仅使用户的工作变得复杂,而且隔离环境中用户数据版本之间的不一致,对用户也是一个挑战。
发明内容
本发明要解决的技术问题是提供一种虚拟机环境中应用程序部署和运行的装置及方法。使应用程序只需安装一次,用户工作数据无需在操作系统之间迁移,简化用户工作。
为解决上述技术问题,本发明的实施例提供技术方案如下:
一种虚拟机环境中应用程序部署和运行的装置,包括:
虚拟机管理单元,安装有虚拟机管理器;
第一操作单元,安装有第一操作系统;
第二操作单元,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理器上,通过所述虚拟机管理器与所述第一操作系统连接;所述第一操作单元包括:
第一存储模块,用于存储第一应用程序的安装文件;
应用程序虚拟化运行组件模块,与所述第一存储模块和所述虚拟机管理器分别连接,用于处理所述第一应用程序的安装文件运行时所产生的第一安装信息,得到第二安装信息,将所述第二安装信息通过所述虚拟机管理器输入至所述第二操作系统,并在所述第二操作系统中根据所述第二安装信息建立第二应用程序及所述第二应用程序运行所依赖的软硬件环境,启动第二应用程序;通过所述虚拟机管理器获取所述第二应用程序的读/写操作请求,通过所述虚拟机管理器向所述第二操作系统返回相应的读/写操作结果。
优选的,所述应用程序虚拟化运行组件模块包括:
第一处理模块,与所述第一存储模块连接,用于监控所述第一应用程序的安装文件的运行过程,并保存所述安装文件运行时所产生的第一安装信息,得到第二安装信息;
第二处理模块,与所述第一处理模块和所述虚拟机管理器分别连接,用于在监控到所述第一应用程序虚拟化运行时,启动所述虚拟机管理器,并将所述第二安装信息通过所述虚拟机管理器输入至所述第二操作系统,并在所述第二操作系统中根据所述二安装信息建立第二应用程序及所述第二应用程序运行所依赖的软硬件环境,启动第二应用程序;
第三处理模块,与所述虚拟机管理器连接,用于通过所述虚拟机管理器获取所述第二应用程序的读/写操作请求,根据所述读/写操作请求获得相应的读/写操作结果,通过所述虚拟机管理器向所述第二操作系统返回所述读/写操作结果。
优选的,所述第一操作单元还包括:第二存储模块,与所述第三处理模块连接,用于存储用户的原始工作数据;
所述第三处理模块通过所述虚拟机管理器获取所述第二应用程序的读操作请求后,根据所述读操作请求对所述用户的工作数据进行相应的读操作,获得读操作结果,并通过所述虚拟机管理器向所述第二操作系统返回所述读操作结果。
优选的,所述第一操作单元还包括:第三存储模块,与所述第二存储模块和所述第三处理模块分别连接,用于存储所述用户的工作数据的备份数据以及所述第三处理模块通过所述虚拟机管理器获取所述第二应用程序的写操作请求后,根据所述写操作请求对所述备份数据的写操作结果。
优选的,所述应用程序虚拟化运行组件模块还包括一应用程序运行数据库,与所述第一处理模块、所述第二处理模块和所述第三处理模块分别连接,用于存储所述第二安装信息、所述第一应用程序运行依赖的软硬件环境信息和所述原始工作数据、所述备份数据的信息。
优选的,所述应用程序虚拟化运行组件模块,用于对所述应用程序运行数据库中存储的信息进行缓存。
优选的,所述第一操作系统和所述第二操作系统为兼容的操作系统。
优选的,所述第一操作系统和所述第二操作系统为相同的操作系统。
优选的,所述第一操作单元安装在所述虚拟机管理器上。
优选的,所述虚拟机管理器中包括一安全信息通道,连接在所述应用程序虚拟化运行组件模块和所述第二操作系统之间,用于传输在所述应用程序虚拟化运行组件模块和所述第二操作系统之间传输的数据。
优选的,所述虚拟机管理器和所述第二操作单元安装在所述第一操作单元中。
为解决上述技术问题,本发明的实施例还提供一种虚拟机环境中应用程序部署和运行的方法,包括如下步骤:
处理第一操作系统中第一应用程序的安装文件在运行时所产生的第一安装信息,得到第二安装信息;
将所述第二安装信息通过虚拟机管理器输入至第二操作系统;
在所述第二操作系统中根据所述第二安装信息建立第二应用程序及所述第二应用程序运行所依赖的软硬件环境,并启动所述第二应用程序;
获取通过所述虚拟机管理器传来的所述第二应用程序的读/写操作请求;
根据所述读/操作请求获取相应的读/写操作结果;
将所述读/写操作结果通过所述虚拟机管理器返回至所述第二操作系统。
优选的,所述处理第一操作系统中的第一应用程序的安装文件在运行时所产生的第一安装信息的步骤具体为:
监控第一操作系统中的第一应用程序的安装文件的安装过程,保存所述安装文件运行时所产生的第一安装信息,得到第二安装信息。
优选的,所述将所述第二安装信息通过虚拟机管理器输入至第二操作系统的步骤具体为:
在监控到所述第一应用程序虚拟化运行时,启动所述虚拟机管理器,并将所述第二安装信息通过所述虚拟机管理器输入至所述第二操作系统。
优选的,所述根据所述读/写操作请求获取相应的读/写操作结果的步骤具体为:
根据所述读操作请求读取所述第一操作系统中的用户的工作数据,获取读操作结果;或者
根据所述写操作请求对所述第一操作系统中的用户的工作数据的备份数据进行写操作,获得写操作结果。
本发明的实施例具有以下有益效果:
上述技术方案通过在第一操作单元中设置应用程序虚拟化运行组件模块,该模块在监控到第一操作系统中虚拟化运行第一应用程序的安装文件时,将该第一应用程序的安装文件运行时所产生的第一安装信息,处理后生成第二安装信息,并将该第二安装信息映射到第二操作系统,在第二操作系统中建立第二应用程序以及该第二应用程序运行所依赖的软硬件环境,并启动第二应用程序,该模块并通过虚拟机管理器获得该第二应用程序的I/O(读/写)请求,以及根据该I/O请求通过虚拟机管理器返回I/O操作结果,使用户只需在第一操作系统环境中安装应用程序和保存用户工作数据,却能够在多个操作系统环境(如第二操作系统)中运行该应用程序、操作用户工作数据,无需将数据在第一操作系统和第二操作系统之间进行迁移,使用户的工作变得简单许多。
附图说明
图1为现有的虚拟机系统结构图;
图2为本发明的实施例计算机的结构示意图;
图3为图2所示的计算机的一具体结构示意图;
图4为图3所示的计算机的工作流程示意图;
图5为图3所示的计算机的工作流程示意图;
图6为图2所示的计算机另一具体结构示意图;
图7为图6所示的计算机的工作流程示意图;
图8为图6所示的计算机的工作流程示意图;
图9为本发明的实施例虚拟环境中应用程序运行的方法流程示意图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明的实施例针对现有技术中用户常常需要在多个操作系统中安装应用程序,并需要将用户工作数据从虚拟机操作系统到主操作系统相互迁移,使用户的工作复杂并造成隔离环境中用户数据版本的不一致的问题,提供一种计算机以及虚拟机环境中应用程序部署和运行的方法。
如图2所示,本发明的实施例计算机,包括:硬件平台;虚拟机管理单元,安装有虚拟机管理器,位于该硬件平台之上;第一操作单元,安装有第一操作系统,位于该硬件平台之上;第二操作单元,安装有第二操作系统,第二操作系统安装在该虚拟机管理器上,并通过该虚拟机管理器与第一操作系统连接;其中该第一操作单元包括:第一存储器,用于存储第一应用程序的安装文件;
应用程序虚拟化运行组件模块,与上述第一存储器和上述虚拟机管理器分别连接,用于处理第一应用程序的安装文件运行时所产生的第一安装信息,得到第二安装信息,将第二安装信息通过该虚拟机管理器输入至第二操作系统,并在第二操作系统中根据第二安装信息建立第二应用程序以及第二应用程序运行时所依赖的软硬件环境,启动第二应用程序;并通过虚拟机管理器获取第二应用程序的读/写操作请求,通过虚拟机管理器向第二操作系统返回相应的读/写操作结果。
上述方案通过在第一操作系统中安装应用程序,并利用第一操作系统中的应用程序虚拟化运行组件模块将该应用程序的安装文件运行时所产生的安装信息映射到第二操作系统中,在第二操作系统中建立第二应用程序以及第二应用程序运行时所依赖的软硬件环境,并通过该第一操作系统中应用程序虚拟化运行组件和虚拟机管理器实现第二应用程序的所有读/写操作请求,用户只需在一个操作系统环境中(如第一操作系统)安装应用程序和保存用户工作数据,却能够在多个操作系统环境(如第二操作系统)中运行该应用程序、操作用户工作数据,使用户的工作变得简单许多。
目前的虚拟机系统有两种实现方式,一种实现方式以XEN为代表,如图3所示在电脑硬件平台上直接运行虚拟机管理器,虚拟机管理器上再运行操作系统,该操作系统可以为主操作系统,也可以为由该虚拟机管理器虚拟出来的客户操作系统,该客户操作系统可以为多个,应用程序则运行在虚拟操作系统中,这类实现方式为TypeI;另一种实现方式以WMware和VirtualBox为代表,如图6所示,电脑硬件上直接运行主机操作系统,在主机操作系统中运行虚拟机管理器,虚拟机管理器上再运行虚拟操作系统,应用程序可运行在主机操作系统和虚拟操作系统中,这类实现方式为Type II。
下面分别针对上述两种实现方式就图2所示的方案进行详细介绍:
如图3所示,为图2所示的计算机的一种实施例,在该实施例中,虚拟机管理器直接安装在硬件平台上;第一操作单元和第二操作单元均安装在虚拟机管理器上,其中,第一操作单元中安装的第一操作系统可以为主操作系统,也可以为虚拟出来的客户操作系统,第二操作单元中安装的第二操作系统也可以为多个;在该实施例中,虚拟机管理器中包括一安全信息通道,连接在应用程序虚拟化运行组件模块和第二操作系统之间,用于传输在应用程序虚拟化运行组件模块和第二操作系统之间传输的数据。
上述应用程序虚拟化运行组件模块具体包括:
第一处理模块,与第一存储器连接,用于监控第一应用程序的安装文件的运行过程,并保存安装文件在运行过程中所产生的第一安装信息,如该第一应用程序运行时需要的可执行文件、注册表项、配置文件和数据等信息,得到第二安装信息;
第二处理模块,与第一处理模块和虚拟机管理器分别连接,用于在监控到该第一应用程序虚拟化运行时,启动虚拟机管理器,并将上述第二安装信息通过虚拟机管理器输入至第二操作系统,并在第二操作系统中根据第二安装信息建立第二应用程序以及该第二应用程序运行所依赖的软硬件环境,并启动该第二应用程序,该第二应用程序由于是根据第一应用程序的安装文件运行时所产生的安装信息建立的,因此可以认为该第二应用程序和第一应用程序是相同的应用程序,如一些开源软件或者共享软件等;
第三处理模块,与虚拟机管理器中的安全信息通道连接,用于通过虚拟机管理器中的安全信息通道获取第二应用程序的读/写操作请求,根据该读/写操作请求获得相应的读/写操作结果,通过虚拟机管理器的安全信息通道向第二操作系统中的第二应用程序返回读/写操作结果。
上述第一操作单元还包括:第二存储器,与第三处理模块连接,用于存储用户的原始工作数据;第三处理模块通过虚拟机管理器中的安全信息通道获取第二应用程序的读操作请求后,根据该读操作请求对用户的工作数据进行相应的读操作,获得读操作结果,并通过虚拟机管理器向第二操作系统中的第二应用程序返回读操作结果。特别地,对某项数据第一次进行写操作时,第三处理模块首先对第三存储器中数据进行备份,然后所有读/写操作都是在备份数据中进行。
上述第一操作单元还包括:第三存储器,与第二存储器和第三处理模块分别连接,该第三存储器为一个暂存工作区,可以为指定的目录或随机存储器等,用于存储用户的工作数据的备份数据以及第三处理模块通过虚拟机管理器的安全信息通道获取第二应用程序的写操作请求后,根据该写操作请求对备份数据的写操作结果。该实施例中,第三处理模块对第三存储器中的备份数据进行写操作,而不是直接操作第二存储器中用户原始工作数据,保证用户原始工作数据的安全。
在上述应用程序虚拟化运行组件模块中,还包括一应用程序运行数据库,与第一处理模块、第二处理模块和第三处理模块分别连接,用于存储第一处理模块处理后得到的第二安装信息、第一应用程序运行依赖环境和第三存储器存储的用户原始工作数据以及该原始工作数据的备份数据信息。当第三处理模块获得第二应用程序的读/写操作请求后,可以首先查询该应用程序运行数据库,得到读/写请求实际对应的可执行文件、配置文件、用户工作数据以及备份数据的信息等,然后再进行读/写操作。
为进一步地提高系统的性能,该应用程序虚拟化运行组件模块还可包括一缓存,用于对上述应用程序运行数据库中存储的信息进行缓存,减少查询应用程序数据库的步骤,提高第二应用程序的读/写操作效率。
为了更进一步地提高系统的性能,上述第一操作系统和第二操作系统为兼容的操作系统,较佳的,该第一操作系统和第二操作系统为相同的操作系统。这样,在第一操作系统和第二操作系统交互过程中,避免由于操作系统不兼容带来的其他问题。
下面再将图3所示的计算机的应用程序虚拟化运行的方法流程进行详细描述:
1)在第一操作单元(如XEN的Domain0)中,安装有第一操作系统,使用虚拟机管理器建立一个虚拟操作系统(如图中的第二操作系统),并在其中安装与第一操作系统兼容的运行、操作环境。
2)在第一操作单元中,安装应用程序虚拟化运行组件模块,并设定第一存储器,用于存储第一应用程序的安装文件;第二存储器,用于存储用户的工作数据;第三存储器,该第三存储器为暂存工作区,用于存储用户数据的备份数据;在应用程序虚拟化运行组件模块中还设定有第一处理模块,第二处理模块,第三处理模块以及应用程序运行数据库。
3)用户在第一操作系统中安装应用程序(如开源软件或者共享软件等)时,应用程序虚拟化运行组件模块中的第一处理模块会分析、监控应用程序运行所依赖的可执行文件、注册表项、配置文件和数据等,并保存在应用程序运行数据库中,第三存储器的信息也保存在该应用程序运行数据库中。(参见图4中A过程)
4)用户在第一操作系统中以虚拟化形式运行第一应用程序时,应用程序虚拟化组件模块中的第二处理模块会启动虚拟机管理器,并将应用程序运行所依赖的可执行文件、注册表信息、配置文件和数据等信息注入到第二操作系统中,在第二操作系统中建立第二应用程序以用该第二应用程序运行所依赖的环境,并启动该第二应用程序。(参见图4中B过程)
5)当应用程序在第二操作系统中运行时,虚拟机管理器会截获第二应用程序的I/O操作,将I/O操作通过虚拟机管理器内部的安全信息通道传送给第一操作单元中的应用程序虚拟化运行组件模块,该应用程序虚拟化运行组件模块查询应用程序运行数据库,得到I/O请求实际对应的可执行文件、配置文件、用户工作数据以及暂存工作区等。(参见图5中C过程)
6)对于读的操作,应用程序虚拟化运行组件模块会直接操作第一操作单元中的第二存储器中的用户原始工作数据,并通过虚拟机管理器中的安全信息通道返回读操作结果。(参见图5中的D过程)
7)对于写的操作,应用程序虚拟化运行组件模块会在第三存储器中备份第一操作系统中用户的原始工作数据,然后操作备份数据并通过虚拟机管理器中安全信息通道返回操作结果。一旦对原始工作数据进行了备份,备份数据的信息也加入应用程序运行数据库中,以后的I/O操作在本次应用虚拟化运行期间就只对备份数据进行。(参见图5中的D过程)
8)为提高性能,应用程序虚拟化运行组件模块可以对应用程序运行数据库中的信息进行cache处理,减少一个查询软件运行数据库的步骤。
9)应用程序以虚拟化形式运行完毕后,用户可以自己决定是否合并第一操作系统中的第二存储器中的用户的原始工作数据和第三存储器中的备份数据。
如图6所示,为图2所示的方案的另一种实施例,该实施例中,第一操作单元直接安装在硬件平台上;虚拟机管理器和第二操作单元安装在第一操作单元中,第二操作单元安装在虚拟机管理器上。第一操作单元的结构和第二操作单元的结构均和上述图3所示的第一操作单元和第二操作单元相同,在此不再赘述。
下面再将图6所示的计算机的应用程序虚拟化运行的方法流程进行详细描述:
1)在第一操作单元(主机环境)中,安装有第一操作系统,利用虚拟机管理器建立一个第二操作系统(虚拟机),并在其中安装与第一操作系统兼容的运行、操作环境。
2)在第一操作单元中,安装应用程序虚拟化运行组件模块,并设定第一存储器,用于存储第一应用程序的安装文件;第二存储器,用于存储用户的工作数据;第三存储器,该第三存储器为暂存工作区,用于存储用户数据的备份数据;在应用程序虚拟化运行组件模块中还设定有第一处理模块,第二处理模块,第三处理模块以及应用程序运行数据库。
3)用户在第一操作系统中安装第一应用程序时,应用程序虚拟化运行组件模块中的第一处理模块会分析、监控第一应用程序运行所依赖的可执行文件、注册表项、配置文件和数据等信息,并保存在应用程序运行数据库中。第三存储器的信息也保存在应用程序运行数据库中。(参见图7中A过程)
4)用户在第一操作系统中以虚拟化形式运行第一应用程序时,应用程序虚拟化组件模块中的第二处理模块会启动建立的虚拟机管理器,并将第一应用程序运行所依赖的可执行文件、注册表项、配置文件和数据等信息通过虚拟机管理器映射到第二操作系统中,在第二操作系统中建立第二应用程序以及第二应用程序运行所依赖的软硬件环境,并启动该第二应用程序。(参见图7中B过程)
5)当第二应用程序在第二操作系统运行时,虚拟机管理器会截获该第二应用程序的I/O操作请求,应用程序虚拟化运行组件模块中的第三处理模块在获得第二应用程序的I/O操作请求时,查询应用程序运行数据库,得到I/O请求实际对应的可执行文件、配置文件、用户工作数据以及暂存工作区等。(参见图8中C过程)
6)对于读的操作,虚拟机管理器会将第二应用程序的I/O操作重定向到第一操作单元中第二存储器实际的用户原始工作数据。(参见图8中的D过程)
7)对于写的操作,虚拟机管理器会在第三存储器中备份第一操作系统中的用户原始工作数据,并将I/O操作重定向到第三存储器中的备份数据。一旦对原始数据进行了备份,备份数据的信息也加入应用程序运行数据库,以后的I/O操作在本次应用虚拟化运行期间就只对备份数据进行。(参见图8中的D过程)
8)为提高性能,可在虚拟机管理器中对应用程序运行数据库中的信息进行cache处理。这样,虚拟机管理器截获I/O请求操作后可直接重定向到主机环境中实际的可执行文件、配置和用户工作数据。(参见图8中的D过程)
9)应用程序以虚拟化形式运行完毕后,用户可以自己决定是否合并主机环境中的用户原始工作数据和第三存储器中的备份数据。
综上,本发明的上述实施例通过在第一操作单元中设置应用程序虚拟化运行组件模块,用于监控第一操作系统中的应用程序的安装过程,并将相关的安装信息映射至第二操作系统,在第二操作系统中根据该安装信息建立第二应用程序以及该第二应用程序运行所依赖的软硬件环境,使用户在第二操作系统中不安装应用程序就可以对第一操作系统中的用户数据进行访问,使应用程序只需要在第一操作系统中安装一次,用户数据也保存在第一操作系统环境中,不需要在第一操作系统和第二操作系统中迁移,使得用户在第一操作系统和第二操作系统中运行应用程序的工作简化很多。另外,这样的结构还使计算机具有更好的安全性。由于虚拟机技术提供近乎物理硬件级别上的隔离性,不但虚拟化运行的应用程序不会影响第一操作系统(指XEN的Domain0和VMware、VirtualBox的主机环境,而且第一操作系统也不会影响虚拟化运行的应用程序,是一种比应用程序虚拟化技术安全级别更高的方案;另外,本发明的实施例还给第一操作系统环境增加一个应用虚拟化运行的特性。用户不需要完成建立虚拟化环境、安装和运行软件等复杂操作,以虚拟化方式运行应用程序也只需要一个选择,用户界面简单而友好,使用户操作简单。另外,第一存储器中用户原始工作数据和第二存储器中的备份工作数据在同一个操作系统单元中,用户进行数据整合也相对容易。
如图9所示,本发明的实施例还提供一种虚拟环境中应用程序运行的方法,包括如下步骤:
步骤S91,处理第一操作系统中的第一应用程序的安装文件在运行时所产生的第一安装信息,得到第二安装信息;
步骤S92,将第二安装信息通过虚拟机管理器输入至第二操作系统;
步骤S93,在第二操作系统中根据该第二安装信息建立第二应用程序以及该第二应用程序运行所依赖的软硬件环境,并启动第二应用程序;
步骤S94,获取通过虚拟机管理器传来的第二应用程序的读/写操作请求;
步骤S95,根据读/操作请求获取相应的读/写操作结果;
步骤S96,将读/写操作结果通过虚拟机管理器返回至第二操作系统。
上述步骤S91具体为:监控第一操作系统中的第一应用程序的安装文件的安装过程,保存安装文件在运行过程中所产生的第一安装信息,得到第二安装信息,将该第二安装信息存储到应用程序运行数据库中。
上述步骤S92具体为:在监控到虚拟化运行第一应用程序时,启动虚拟机管理器,并将应用程序运行数据库中的第二安装信息通过虚拟机管理器输入至第二操作系统。
上述步骤S95具体为:根据读操作请求读取位于第一操作系统中的用户的工作数据,获取读操作结果;或者根据写操作请求对位于第一操作系统中的用户的工作数据的备份数据进行写操作,获得写操作结果。
本发明的上述方法的实施例,通过将第一操作系统中的第一应用程序的安装信息通过虚拟机管理器映射到第二操作系统中,并在第二操作系统中根据该安装信息建立第二应用程序以及该第二应用程序运行所依赖的软硬件环境,并启动第二应用程序,第一操作系统可以通过虚拟机管理器获得第二应用程序对第一操作系统中用户数据的读/写操作访问,并通过虚拟机管理器向第二操作系统返回读/写操作系统结果,用户工作数据依然保存在第一操作系统中,使用户无需在第二操作系统中安装应用程序即可对第一操作系统中的用户进行访问,这样用户工作数据就无需在第一操作系统和第二操作系统间进行迁移,简化了用户的工作,且使计算机的虚拟化环境更加安全。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种虚拟机环境中应用程序部署和运行的装置,包括:
虚拟机管理单元,安装有虚拟机管理器;
第一操作单元,安装有第一操作系统;
第二操作单元,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理器上,并通过所述虚拟机管理器与所述第一操作系统连接;其特征在于,
所述第一操作单元包括:
第一存储模块,用于存储第一应用程序的安装文件;
应用程序虚拟化运行组件模块,与所述第一存储模块和所述虚拟机管理器分别连接,用于处理所述第一应用程序的安装文件运行时所产生的第一安装信息,得到第二安装信息,将所述第二安装信息通过所述虚拟机管理器输入至所述第二操作系统,并在所述第二操作系统中根据所述第二安装信息建立第二应用程序及所述第二应用程序运行所依赖的软硬件环境,启动第二应用程序;通过所述虚拟机管理器获取所述第二应用程序的读/写操作请求,通过所述虚拟机管理器向所述第二操作系统返回相应的读/写操作结果。
2.根据权利要求1所述的虚拟机环境中应用程序部署和运行的装置,其特征在于,所述应用程序虚拟化运行组件模块包括:
第一处理模块,与所述第一存储模块连接,用于监控所述第一应用程序的安装文件的运行过程,并保存所述安装文件运行时所产生的第一安装信息,得到第二安装信息;
第二处理模块,与所述第一处理模块和所述虚拟机管理器分别连接,用于在监控到所述第一应用程序虚拟化运行时,启动所述虚拟机管理器,并将所述第二安装信息通过所述虚拟机管理器输入至所述第二操作系统,并在所述第二操作系统中根据所述第二安装信息建立第二应用程序及所述第二应用程序运行所依赖的软硬件环境,启动第二应用程序;
第三处理模块,与所述虚拟机管理器连接,用于通过所述虚拟机管理器获取所述第二应用程序的读/写操作请求,根据所述读/写操作请求获得相应的读/写操作结果,通过所述虚拟机管理器向所述第二操作系统返回所述读/写操作结果。
3.根据权利要求2所述的虚拟机环境中应用程序部署和运行的装置,其特征在于,所述第一操作单元还包括:第二存储模块,与所述第三处理模块连接,用于存储用户的原始工作数据;
所述第三处理模块通过所述虚拟机管理器获取所述第二应用程序的读操作请求后,根据所述读操作请求对所述用户的工作数据进行相应的读操作,获得读操作结果,并通过所述虚拟机管理器向所述第二操作系统返回所述读操作结果。
4.根据权利要求3所述的虚拟机环境中应用程序部署和运行的装置,其特征在于,所述第一操作单元还包括:第三存储模块,与所述第二存储模块和所述第三处理模块分别连接,用于存储所述用户的工作数据的备份数据以及所述第三处理模块通过所述虚拟机管理器获取所述第二应用程序的写操作请求后,根据所述写操作请求对所述备份数据的写操作结果。
5.根据权利要求4所述的虚拟机环境中应用程序部署和运行的装置,其特征在于,所述应用程序虚拟化运行组件模块还包括一应用程序运行数据库,与所述第一处理模块、所述第二处理模块和所述第三处理模块分别连接,用于存储所述第二安装信息、所述第一应用程序运行依赖的软硬件环境信息和所述原始工作数据、所述备份数据的信息。
6.根据权利要求5所述的虚拟机环境中应用程序部署和运行的装置,其特征在于,所述应用程序虚拟化运行组件模块,用于对所述应用程序运行数据库中存储的信息进行缓存。
7.根据权利要求1所述的虚拟机环境中应用程序部署和运行的装置,其特征在于,所述第一操作系统和所述第二操作系统为兼容的操作系统。
8.根据权利要求7所述的虚拟机环境中应用程序部署和运行的装置,其特征在于,所述第一操作系统和所述第二操作系统为相同的操作系统。
9.根据权利要求1~8任一项所述的虚拟机环境中应用程序部署和运行的装置,其特征在于,所述第一操作单元安装在所述虚拟机管理器上。
10.根据权利要求9所述的虚拟机环境中应用程序部署和运行的装置,其特征在于,所述虚拟机管理器中包括一安全信息通道,连接在所述应用程序虚拟化运行组件模块和所述第二操作系统之间,用于传输在所述应用程序虚拟化运行组件模块和所述第二操作系统之间传输的数据。
11.根据权利要求1~8任一项所述的虚拟机环境中应用程序部署和运行的装置,其特征在于,所述虚拟机管理器和所述第二操作单元安装在所述第一操作单元中。
12.一种虚拟机环境中应用程序部署和运行的方法,其特征在于,包括如下步骤:
处理第一操作系统中第一应用程序的安装文件在运行时所产生的第一安装信息,得到第二安装信息;
将所述第二安装信息通过虚拟机管理器输入至第二操作系统;
在所述第二操作系统中根据所述第二安装信息建立第二应用程序及所述第二应用程序运行所依赖的软硬件环境,并启动第二应用程序;
获取通过所述虚拟机管理器传来的所述第二应用程序的读/写操作请求;
根据所述读/操作请求获取相应的读/写操作结果;
将所述读/写操作结果通过所述虚拟机管理器返回至所述第二操作系统。
13.根据权利要求12所述的方法,其特征在于,所述处理第一操作系统中的第一应用程序的安装文件在运行时所产生的第一安装信息,得到第二安装信息的步骤具体为:
监控第一操作系统中的第一应用程序的安装文件的安装过程,保存所述安装文件运行时所产生的第一安装信息,得到第二安装信息。
14.根据权利要求12所述的方法,其特征在于,所述将所述第二安装信息通过虚拟机管理器输入至第二操作系统的步骤具体为:
在监控到所述第一应用程序虚拟化运行时,启动所述虚拟机管理器,并将所述第二安装信息通过所述虚拟机管理器输入至所述第二操作系统。
15.根据权利要求12所述的方法,其特征在于,所述根据所述读/写操作请求获取相应的读/写操作结果的步骤具体为:
根据所述读操作请求读取所述第一操作系统中的用户的工作数据,获取读操作结果;或者根据所述写操作请求对所述第一操作系统中的用户的工作数据的备份数据进行写操作,获得写操作结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810118544 CN101655798B (zh) | 2008-08-18 | 2008-08-18 | 一种虚拟机环境中应用程序部署和运行的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810118544 CN101655798B (zh) | 2008-08-18 | 2008-08-18 | 一种虚拟机环境中应用程序部署和运行的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101655798A CN101655798A (zh) | 2010-02-24 |
CN101655798B true CN101655798B (zh) | 2013-03-27 |
Family
ID=41710094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810118544 Active CN101655798B (zh) | 2008-08-18 | 2008-08-18 | 一种虚拟机环境中应用程序部署和运行的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101655798B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9588803B2 (en) | 2009-05-11 | 2017-03-07 | Microsoft Technology Licensing, Llc | Executing native-code applications in a browser |
US9323921B2 (en) | 2010-07-13 | 2016-04-26 | Microsoft Technology Licensing, Llc | Ultra-low cost sandboxing for application appliances |
US9009384B2 (en) | 2010-08-17 | 2015-04-14 | Microsoft Technology Licensing, Llc | Virtual machine memory management in systems with asymmetric memory |
US9891939B2 (en) * | 2011-03-03 | 2018-02-13 | Microsoft Technology Licensing, Llc | Application compatibility with library operating systems |
DE112011105082T5 (de) | 2011-04-21 | 2014-06-26 | Hewlett-Packard Development Company, L.P. | Installieren einer Anwendung in eine visualisierte Umgebung |
US9495183B2 (en) | 2011-05-16 | 2016-11-15 | Microsoft Technology Licensing, Llc | Instruction set emulation for guest operating systems |
EP2726980A1 (en) * | 2011-06-29 | 2014-05-07 | Hewlett-Packard Development Company, L.P. | Application migration with dynamic operating system containers |
CN102231116A (zh) * | 2011-07-04 | 2011-11-02 | 成都市华为赛门铁克科技有限公司 | 应用程序虚拟化安装及加载方法及装置 |
US9779106B2 (en) | 2011-08-15 | 2017-10-03 | Lenovo (Beijing) Co., Ltd. | Application management method and device |
US11620719B2 (en) | 2011-09-12 | 2023-04-04 | Microsoft Technology Licensing, Llc | Identifying unseen content of interest |
US9413538B2 (en) | 2011-12-12 | 2016-08-09 | Microsoft Technology Licensing, Llc | Cryptographic certification of secure hosted execution environments |
CN103309690B (zh) * | 2012-03-12 | 2016-08-17 | 联想(北京)有限公司 | 处理数据的方法和电子设备 |
CN103716347B (zh) * | 2012-09-29 | 2017-06-23 | 国际商业机器公司 | 建立虚拟机的方法、装置和云服务器 |
CN103810222A (zh) * | 2012-11-15 | 2014-05-21 | 北京金山安全软件有限公司 | 样本文件的处理方法及装置 |
EP3073707B1 (en) * | 2014-04-24 | 2019-04-10 | Huawei Technologies Co., Ltd. | Operating system establishment method and device |
CN104102531B (zh) * | 2014-08-06 | 2017-11-14 | 汉柏科技有限公司 | 基于虚拟机的多网融合系统和方法 |
CN104268454A (zh) * | 2014-09-28 | 2015-01-07 | 酷派软件技术(深圳)有限公司 | 用于终端的应用程序的管理方法及装置 |
CN106155831B (zh) * | 2015-03-24 | 2019-04-23 | 联想(北京)有限公司 | 一种数据恢复方法及装置 |
CN105389522B (zh) * | 2015-12-23 | 2022-03-04 | 普华基础软件股份有限公司 | 一种虚拟机安全管理系统及计算机终端 |
CN105490860B (zh) * | 2015-12-24 | 2019-03-05 | 北京奇虎科技有限公司 | 部署应用程序运行环境的方法、装置及系统 |
CN107291561B (zh) * | 2016-03-31 | 2020-11-24 | 阿里巴巴集团控股有限公司 | 一种图形合成方法、信息交互方法及系统 |
CN107077379B (zh) | 2016-04-25 | 2019-03-15 | 深圳前海达闼云端智能科技有限公司 | 一种虚拟机创建方法和装置 |
CN109643119B (zh) | 2017-05-11 | 2022-06-14 | 达闼机器人股份有限公司 | 一种机器人控制和服务提供方法、装置及电子设备 |
CN109257399B (zh) * | 2017-07-13 | 2023-01-24 | 上海擎感智能科技有限公司 | 云平台应用程序管理方法及管理平台、存储介质 |
CN107704360B (zh) * | 2017-09-15 | 2020-01-07 | 平安科技(深圳)有限公司 | 监控数据的处理方法、设备、服务器及存储介质 |
CN109597626B (zh) * | 2017-09-30 | 2022-02-11 | 北京国双科技有限公司 | 一种组件部署方法和装置 |
CN108108635B (zh) * | 2017-12-18 | 2022-01-25 | 福建平实科技有限公司 | 数据安全处理方法、装置和系统 |
CN110874468B (zh) * | 2018-08-31 | 2024-02-09 | 华为技术有限公司 | 应用程序安全保护方法以及相关设备 |
CN110795162B (zh) * | 2019-09-26 | 2022-07-05 | 北京浪潮数据技术有限公司 | 生成容器镜像文件的方法和装置 |
CN112379941B (zh) * | 2020-11-13 | 2023-05-09 | 武汉蓝星科技股份有限公司 | 一种基于Linux内核的双系统设置项管理系统及其管理方法 |
CN112596954B (zh) * | 2020-12-25 | 2024-07-09 | 深圳市科力锐科技有限公司 | 数据备份及重建方法、装置、设备及存储介质 |
CN114968278A (zh) * | 2021-02-24 | 2022-08-30 | Oppo广东移动通信有限公司 | 应用程序的安装方法和装置、电子设备、可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595870A (zh) * | 2003-12-15 | 2005-03-16 | 浪潮电子信息产业股份有限公司 | 多类型操作系统网络远程并行自动安装方法 |
CN1661560A (zh) * | 2004-02-25 | 2005-08-31 | 英特维数位科技股份有限公司 | 操作系统共享应用程序的架构及其方法 |
CN1818864A (zh) * | 2002-07-26 | 2006-08-16 | 株式会社理光 | 程序执行方法 |
-
2008
- 2008-08-18 CN CN 200810118544 patent/CN101655798B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1818864A (zh) * | 2002-07-26 | 2006-08-16 | 株式会社理光 | 程序执行方法 |
CN1595870A (zh) * | 2003-12-15 | 2005-03-16 | 浪潮电子信息产业股份有限公司 | 多类型操作系统网络远程并行自动安装方法 |
CN1661560A (zh) * | 2004-02-25 | 2005-08-31 | 英特维数位科技股份有限公司 | 操作系统共享应用程序的架构及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101655798A (zh) | 2010-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101655798B (zh) | 一种虚拟机环境中应用程序部署和运行的装置及方法 | |
US10552208B2 (en) | Migrating a virtual machine that owns a resource such as a hardware device | |
CN108475217B (zh) | 用于审计虚拟机的系统及方法 | |
US11294735B2 (en) | Method and apparatus for accessing desktop cloud virtual machine, and desktop cloud controller | |
US20080172555A1 (en) | Bootable thin client personal initialization device | |
US20080022032A1 (en) | Concurrent virtual machine snapshots and restore | |
US20100146504A1 (en) | Virtual mobile infrastructure and its base platform | |
US20100306763A1 (en) | Virtual Serial Concentrator for Virtual Machine Out-of-Band Management | |
CN102231138B (zh) | 计算机内存数据准确采集系统及获取方法 | |
US20050076155A1 (en) | Runtime virtualization and devirtualization of I/O devices by a virtual machine monitor | |
EP3442203B1 (en) | Method for migrating a virtual machine, and system | |
CN102207886A (zh) | 虚拟机快速仿真辅助 | |
CN103699430A (zh) | 基于j2ee架构的远程kvm虚拟机管理系统的工作方法 | |
CN105184154A (zh) | 一种在虚拟化环境中提供密码运算服务的系统和方法 | |
US20120311572A1 (en) | Method and apparatus for implementing virtual proxy to support heterogenous systems management | |
CN102385523A (zh) | 一种云操作系统的驱动安装和管理方法 | |
CN107430669A (zh) | 计算系统和方法 | |
US20180034791A1 (en) | Secret keys management in a virtualized data-center | |
CN103064796A (zh) | 虚拟机内存的共享方法与计算机系统 | |
TW201738741A (zh) | 虛擬機器創建方法和裝置 | |
CN101739289A (zh) | 一种在Linux虚拟机中设置显示模式的方法及装置 | |
KR101249735B1 (ko) | 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체 | |
CN111213127A (zh) | 用于直接分配的设备的虚拟化操作 | |
CN112286633A (zh) | 基于CloudStack平台的虚拟机创建方法、装置、设备及存储介质 | |
US20240256258A1 (en) | Virtual machine update while keeping devices attached to the virtual machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |