CN102591671A - 在虚拟环境中启动应用程序的方法 - Google Patents
在虚拟环境中启动应用程序的方法 Download PDFInfo
- Publication number
- CN102591671A CN102591671A CN201110007651XA CN201110007651A CN102591671A CN 102591671 A CN102591671 A CN 102591671A CN 201110007651X A CN201110007651X A CN 201110007651XA CN 201110007651 A CN201110007651 A CN 201110007651A CN 102591671 A CN102591671 A CN 102591671A
- Authority
- CN
- China
- Prior art keywords
- application program
- virtual machine
- address
- operating system
- virtual
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种在虚拟环境中启动应用程序的方法,包括:主机操作***接收用户对一应用程序的启动指令;获取所述应用程序的运行环境参数;获取虚拟机的IP地址;建立所述主机与所述虚拟机的连接;向所述客户操作***发出所述应用程序的启动命令,所述启动命令包括所述应用程序的路径和执行参数;及所述客户操作***根据所述启动命令,启动所述应用程序。根据本发明的技术方案,可以方便快速地在虚拟环境中启动应用程序。
Description
技术领域
本发明涉及虚拟化技术领域,特别是涉及一种在虚拟环境中启动应用程序的方法。
背景技术
虚拟化技术允许一个平台同时运行多个操作***,而且每一个操作***都运行在一个虚拟机上,每一个操作***中都有多个程序运行,这样,应用程序就可以在相互独立的空间内运行而互不影响,一方面显著提高了计算机的资源利用率,另一方面也解决了跨平台软件的兼容性问题。
一个完整的虚拟化环境,至少包括一个主机(Host)和一个运行于主机之上的虚拟机(Virtual Machine),主机上运行的操作***称之为主机操作***(Host OS),虚拟机上运行的操作***称之为客户操作***(Guest OS)。用户要从主机操作***启动一个需要运行在某一客户操作***中的应用程序时,需要先从主机上启动该客户操作***所在的虚拟机,进入客户操作***后,再找到应用程序的路径,执行相应的程序,有必要的话还要输入执行相应程序所需的执行参数。这对用户来说,是不太便捷的,尤其在需要启动多个运行于不同客户操作***中的应用程序时,用户不得不手动启动多个虚拟机进入多个客户操作***,分别启动多个应用程序,这样繁琐的操作给用户带来了极大的不便,也给用户带来了较高的学习成本。
发明内容
鉴于以上内容,有必要提供一种便捷的在虚拟环境中启动应用程序的方法。
根据本发明,提供一种在虚拟环境中启动应用程序的方法,所述虚拟环境包括主机及运行于主机上的虚拟机,所述主机包括主机操作***,所述虚拟机包括客户操作***,所述方法包括以下步骤:
所述主机操作***接收用户对一应用程序的启动指令;
获取所述应用程序的运行环境参数;
获取所述虚拟机的IP地址;
建立所述主机与所述虚拟机的连接;
向所述客户操作***发出所述应用程序的启动命令,所述启动命令包括所述应用程序的路径和执行参数;及
所述客户操作***根据所述启动命令,启动所述应用程序。
优选地,所述运行环境参数包括虚拟机名称、虚拟机MAC地址、客户操作***类型、应用程序的路径和执行参数。
优选地,所述方法还包括在所述主机操作***上建立所述应用程序的快捷方式,所述快捷方式关联所述应用程序的运行环境参数。
进一步优选地,所述快捷方式显示为一第一图标。
可选地,所述方法在启动所述应用程序的后的等待期间里,所述快捷方式显示为一第二图标。
可选地,所述方法在启动所述应用程序的后的等待期间里,在所述主机操作***上显示一个进度条,所述进度条用于表示所述应用程序的启动进度。
可选地,所述方法中的获取所述虚拟机的IP地址的步骤具体包括以下步骤:
获取所述虚拟机的名称;
从虚拟机IP地址映射表中获取所述虚拟机名称对应的IP地址。
可选地,所述方法中的获取所述虚拟机的IP地址的步骤具体包括以下步骤:
获取所述虚拟机的MAC地址;
使用反向地址转换协议获取所述MAC地址对应的IP地址。
进一步优选地,所述方法在获取所述虚拟机的IP地址的步骤后还包括以下步骤:
获取所述虚拟机的名称;
将所述虚拟机的名称和IP地址写入到虚拟机IP地址映射表中。
可选地,所述运行环境参数存放于可扩展标记语言文件中。
可选地,所述方法中建立所述主机与所述虚拟机的连接的步骤具体包括以下步骤:
所述主机向所述虚拟机的IP地址发出连接请求;
如果所述主机接收到所述虚拟机的请求响应,则与所述虚拟机建立TCP协议的连接;
如果所述主机没有接收到所述虚拟机的请求响应或接收到的请求响应无效,则启动或重新启动所述虚拟机,与所述虚拟机建立TCP协议的连接。
与现有技术相比,上述在虚拟环境中启动应用程序的方法,可以使用户方便快捷的从一个主机操作***中启动一个或多个需要运行在不同客户操作***中的应用程序,而且多个属于不同操作***的应用程序可以无干扰的同时运行在一个主机上,用户也无需识记繁琐的操作。
附图说明
图1为本发明一种实施方式中的虚拟环境架构示意图。
图2为本发明一种实施方式中的在虚拟环境中启动应用程序的架构示意图。
图3为本发明一种实施方式中的应用程序的快捷方式关联的运行环境参数的数据结构示意图。
图4为本发明一种实施方式中的在虚拟环境中启动应用程序的方法的流程图。
具体实施方式
下面结合具体实施方式和附图对本发明做进一步详细的说明。
请参阅图1,示意性的示出了根据本发明一种实施方式的虚拟环境架构,所述虚拟环境包括主机及运行于主机上的若干虚拟机,运行在主机上的操作***称之为主机操作***,用于管理虚拟机以及为虚拟机分配和调度主机的资源,比如CPU、内存和存储器等,在一些虚拟环境中,行使所述主机操作***功能的***称之为Hypervisor。运行在虚拟机上的操作***称之为客户操作***,由于虚拟机之间是相互独立的,所以虚拟机上的客户操作***可以是多种类型并且互不干扰,比如虚拟机1上的客户操作***为Windows XP,虚拟机2上的客户操作***为Chromium,虚拟机3上的客户操作***为ubuntu,多个虚拟机上的客户操作***可以同时运行。
在虚拟环境中,主机通过NAT端口映射为每一个虚拟机分配一个内部IP地址,虚拟机通过分配到的IP地址,共享使用主机的网络资源。而主机和虚拟机之间或虚拟机和虚拟机之间,可以使用TCP协议来建立连接关系,实现数据通信。
请参阅图2,示意性的示出了根据本发明一种实施方式的在虚拟环境中启动应用程序的架构。用户需要运行多个应用程序,而这些应用程序拥有不同的运行环境参数,比如有的应用程序需要运行A操作***下,有的需要运行在B操作***下,有的还需要在运行时提供执行参数。本实施方式在所述主机操作***上建立所述应用程序的快捷方式,所述快捷方式关联所述应用程序的运行环境参数。用户只需要在所述主机操作***中执行所述应用程序的快捷方式,就可以启动快捷方式关联的所述应用程序。
请参阅图3,示意性的示出了根据本发明一种实施方式的应用程序的快捷方式关联的运行环境参数的数据结构。在一种实施方式中,为了给用户提供一种直观的界面,所述快捷方式显示为一第一图标。用户通过所述第一图标可以方便快速的浏览和查找要启动的应用程序。为了提供更加友好的用户体验,在另外一种实施方式中,当所述快捷方式被用户点击执行而对应的应用程序还未被启动完成的等待期间,所述快捷方式显示为一第二图标,所述第二图标用于提示用户对应的应用程序已经在启动中,以避免用户重复点击执行快捷方式。
如图3所示,所述应用程序的快捷方式关联的运行环境参数的数据结构包括第一图片路径、第二图片路径、虚拟机名称、虚拟机Mac地址、客户操作***类型、应用程序路径以及执行参数等数据项。当然,为扩展所述应用程序的快捷方式关联的运行环境参数,该数据结构可以随需增删数据项。
请参阅图4,示意性的示出了根据本发明一种实施方式的在虚拟环境中启动应用程序的方法的流程图,所述虚拟环境包括主机及运行于主机上的虚拟机,所述主机包括主机操作***,所述虚拟机包括客户操作***,所述方法包括以下步骤:
在步骤S401中,所述主机操作***接收用户对所述应用程序的启动指令。在一种实施方式中,启动所述应用程序的入口为位于所述主机操作***中的快捷方式,所述快捷方式关联所述应用程序的运行环境参数。用户通过双击或其他预先设定的操作,向所述主机操作***发出对所述应用程序的启动指令。
在步骤S402中,获取所述应用程序的运行环境参数,所述运行环境参数包括虚拟机名称、虚拟机MAC地址、客户操作***类型、应用程序的路径和执行参数。在一种实施方式中,所述运行环境参数存放于可扩展标记语言文件中。
在步骤S403中,获取所述虚拟机的IP地址。
在一种实施方式中,获取所述虚拟机的IP地址的步骤具体包括:获取所述虚拟机的名称;从虚拟机IP地址映射表中获取所述虚拟机名称对应的IP地址。所述主机通过NAT端口映射为每一个虚拟机分配一个内部IP地址,并将该映射关系记录到所述虚拟机IP地址映射表中。
在另一种实施方式中,获取所述虚拟机的IP地址的步骤具体包括:获取所述虚拟机的MAC地址;使用反向地址转换协议获取所述MAC地址对应的IP地址。反向地址转换协议(RARP:Reverse Address Resolution Protocol)允许处于一个网域中的物理机器从网关服务器的ARP表或者缓存上请求其IP地址。在虚拟环境中,所述主机即为若干所述虚拟机的网关服务器。
为了减少***开销,在进一步改进的实施方式中,所述方法在获取所述虚拟机的IP地址的步骤后还包括:获取所述虚拟机的名称;将所述虚拟机的名称和IP地址写入到虚拟机IP地址映射表中。
在步骤S404中,建立所述主机与所述虚拟机的连接。在本实施方式中,所述主机与所述虚拟机之间使用TCP协议建立连接,TCP协议是一种可靠的、面向连接的传输控制协议。所述主机向所述虚拟机的IP地址发出连接请求,如果所述主机接收到所述虚拟机的请求响应,则与所述虚拟机建立一种TCP协议的连接,如果所述主机没有接收到所述虚拟机的请求响应或接收到的请求响应无效,则表明此时的所述虚拟机可能没有运作,或者运作中处于异常状态,无法回应所述主机发送的连接请求,在这种情况下,需要启动或重新启动所述虚拟机,再与所述虚拟机建立TCP协议的连接。
在步骤S405中,向所述客户操作***发出所述应用程序的启动命令,所述启动命令包括所述应用程序的路径和执行参数。所述应用程序的路径是指所述应用程序在所述客户操作***中的路径。所述主机操作***通过建立的TCP协议连接,将所述启动命令发送给所述客户操作***。
在步骤S406中,所述客户操作***根据所述启动命令,启动所述应用程序。
在另外一种实施方式中,所述在虚拟环境中启动应用程序的方法还包括,在所述主机操作***上建立所述应用程序的快捷方式,所述快捷方式关联所述应用程序的运行环境参数。为了给用户提供一种直观的界面,所述快捷方式显示为一第一图标。用户通过所述第一图标可以方便快速的浏览和查找要启动的应用程序。为了提供更加友好的用户体验,在另外一种实施方式中,当所述快捷方式被用户点击执行而对应的应用程序还未被启动完成的等待期间,所述快捷方式显示为一第二图标,所述第二图标用于提示用户对应的应用程序已经在启动中,以避免用户重复点击执行快捷方式。
在另外一种实施方式中,所述在虚拟环境中启动应用程序的方法在启动所述应用程序的后的等待期间里,在所述主机操作***上显示一个进度条,所述进度条用于表示所述应用程序的启动进度。
对本领域的技术人员来说,可以根据本发明的发明方案和发明构思结合生产的实际需要做出其他相应的改变或调整,而这些改变和调整都应属于本发明权利要求的保护范围。
Claims (10)
1.一种在虚拟环境中启动应用程序的方法,所述虚拟环境包括主机及运行于主机上的虚拟机,所述主机包括主机操作***,所述虚拟机包括客户操作***,其特征在于:所述方法包括以下步骤:
所述主机操作***接收用户对一应用程序的启动指令;
获取所述应用程序的运行环境参数;
获取所述虚拟机的IP地址;
建立所述主机与所述虚拟机的连接;
向所述客户操作***发出所述应用程序的启动命令,所述启动命令包括所述应用程序的路径和执行参数;及
所述客户操作***根据所述启动命令,启动所述应用程序。
2.如权利要求1所述的在虚拟环境中启动应用程序的方法,其特征在于:所述运行环境参数包括虚拟机名称、虚拟机MAC地址、客户操作***类型、应用程序的路径和执行参数。
3.如权利要求1所述的在虚拟环境中启动应用程序的方法,其特征在于:所述方法还包括以下步骤:
在所述主机操作***上建立所述应用程序的快捷方式,所述快捷方式关联所述应用程序的运行环境参数。
4.如权利要求3所述的在虚拟环境中启动应用程序的方法,其特征在于:所述快捷方式显示为一第一图标。
5.如权利要求3所述的在虚拟环境中启动应用程序的方法,其特征在于:所述方法在启动所述应用程序的后的等待期间里,所述快捷方式显示为一第二图标。
6.如权利要求1所述的在虚拟环境中启动应用程序的方法,其特征在于:所述方法在启动所述应用程序的后的等待期间里,在所述主机操作***上显示一个进度条,所述进度条用于表示所述应用程序的启动进度。
7.如权利要求2所述的在虚拟环境中启动应用程序的方法,其特征在于:所述方法中的获取所述虚拟机的IP地址的步骤具体包括以下步骤:
获取所述虚拟机的名称;
从虚拟机IP地址映射表中获取所述虚拟机名称对应的IP地址。
8.如权利要求2所述的在虚拟环境中启动应用程序的方法,其特征在于:所述方法中的获取所述虚拟机的IP地址的步骤具体包括以下步骤:
获取所述虚拟机的MAC地址;
使用反向地址转换协议获取所述MAC地址对应的IP地址。
9.如权利要求8所述的在虚拟环境中启动应用程序的方法,其特征在于:所述方法在获取所述虚拟机的IP地址的步骤后还包括以下步骤:
获取所述虚拟机的名称;
将所述虚拟机的名称和IP地址写入到虚拟机IP地址映射表中。
10.如权利要求1所述的在虚拟环境中启动应用程序的方法,其特征在于:所述方法中建立所述主机与所述虚拟机的连接的步骤具体包括以下步骤:
所述主机向所述虚拟机的IP地址发出连接请求;
如果所述主机接收到所述虚拟机的请求响应,则与所述虚拟机建立TCP协议的连接;
如果所述主机没有接收到所述虚拟机的请求响应或接收到的请求响应无效,则启动或重新启动所述虚拟机,与所述虚拟机建立TCP协议的连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110007651XA CN102591671A (zh) | 2011-01-14 | 2011-01-14 | 在虚拟环境中启动应用程序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110007651XA CN102591671A (zh) | 2011-01-14 | 2011-01-14 | 在虚拟环境中启动应用程序的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102591671A true CN102591671A (zh) | 2012-07-18 |
Family
ID=46480389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110007651XA Pending CN102591671A (zh) | 2011-01-14 | 2011-01-14 | 在虚拟环境中启动应用程序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102591671A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035905A (zh) * | 2014-07-03 | 2014-09-10 | 开曼群岛威睿电通股份有限公司 | 通用串行总线装置及通用串行总线装置处理数据的方法 |
CN104063233A (zh) * | 2013-03-18 | 2014-09-24 | 联想(北京)有限公司 | 加载html执行环境的方法、存储设备和终端设备 |
CN104202357A (zh) * | 2014-08-08 | 2014-12-10 | 深信服网络科技(深圳)有限公司 | 内容分享方法和*** |
CN104536802A (zh) * | 2014-12-19 | 2015-04-22 | 中兴通讯股份有限公司 | 一种实现应用调用的方法及虚拟机 |
CN104683491A (zh) * | 2013-11-29 | 2015-06-03 | 铁道部信息技术中心 | 一种获取虚拟机的因特网协议地址的方法和*** |
WO2015117539A1 (zh) * | 2014-07-22 | 2015-08-13 | 中兴通讯股份有限公司 | 一种调用安装于电子设备上的应用的方法及装置 |
CN105094764A (zh) * | 2014-05-04 | 2015-11-25 | ***通信集团公司 | 电子设备应用的生成方法及装置 |
CN107077577A (zh) * | 2016-03-25 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 一种应用程序启动方法及装置 |
CN107301076A (zh) * | 2017-06-28 | 2017-10-27 | 河南理工大学 | 一种计算机开机处理方法及*** |
CN110347474A (zh) * | 2019-05-30 | 2019-10-18 | 苏州浪潮智能科技有限公司 | 一种管理虚拟机的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1647047A (zh) * | 2002-04-03 | 2005-07-27 | 鲍尔凯斯特公司 | 为计算机和存储资源的管理使用分离的映像 |
US7478173B1 (en) * | 2003-12-18 | 2009-01-13 | Wmware, Inc. | Method and system for sharing a network connection in a virtual computer system |
US7681134B1 (en) * | 2006-04-25 | 2010-03-16 | Parallels Software International, Inc. | Seamless integration and installation of non-host application into native operating system |
-
2011
- 2011-01-14 CN CN201110007651XA patent/CN102591671A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1647047A (zh) * | 2002-04-03 | 2005-07-27 | 鲍尔凯斯特公司 | 为计算机和存储资源的管理使用分离的映像 |
US7478173B1 (en) * | 2003-12-18 | 2009-01-13 | Wmware, Inc. | Method and system for sharing a network connection in a virtual computer system |
US7681134B1 (en) * | 2006-04-25 | 2010-03-16 | Parallels Software International, Inc. | Seamless integration and installation of non-host application into native operating system |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063233B (zh) * | 2013-03-18 | 2017-12-29 | 联想(北京)有限公司 | 加载html执行环境的方法、存储设备和终端设备 |
CN104063233A (zh) * | 2013-03-18 | 2014-09-24 | 联想(北京)有限公司 | 加载html执行环境的方法、存储设备和终端设备 |
CN104683491A (zh) * | 2013-11-29 | 2015-06-03 | 铁道部信息技术中心 | 一种获取虚拟机的因特网协议地址的方法和*** |
CN104683491B (zh) * | 2013-11-29 | 2018-03-20 | 铁道部信息技术中心 | 一种获取虚拟机的因特网协议地址的方法和*** |
CN105094764A (zh) * | 2014-05-04 | 2015-11-25 | ***通信集团公司 | 电子设备应用的生成方法及装置 |
CN105094764B (zh) * | 2014-05-04 | 2019-01-08 | ***通信集团公司 | 电子设备应用的生成方法及装置 |
CN104035905A (zh) * | 2014-07-03 | 2014-09-10 | 开曼群岛威睿电通股份有限公司 | 通用串行总线装置及通用串行总线装置处理数据的方法 |
CN104035905B (zh) * | 2014-07-03 | 2017-07-21 | 英特尔公司 | 通用串行总线装置及通用串行总线装置处理数据的方法 |
US9760519B2 (en) | 2014-07-03 | 2017-09-12 | Intel Corporation | USB device and method for processing data by USB device |
WO2015117539A1 (zh) * | 2014-07-22 | 2015-08-13 | 中兴通讯股份有限公司 | 一种调用安装于电子设备上的应用的方法及装置 |
CN105335176A (zh) * | 2014-07-22 | 2016-02-17 | 中兴通讯股份有限公司 | 一种调用安装于电子设备上的应用的方法及装置 |
CN105335176B (zh) * | 2014-07-22 | 2019-10-25 | 南京中兴软件有限责任公司 | 一种调用安装于电子设备上的应用的方法及装置 |
CN104202357A (zh) * | 2014-08-08 | 2014-12-10 | 深信服网络科技(深圳)有限公司 | 内容分享方法和*** |
CN104536802B (zh) * | 2014-12-19 | 2021-05-04 | 中兴通讯股份有限公司 | 一种实现应用调用的方法及虚拟机 |
CN104536802A (zh) * | 2014-12-19 | 2015-04-22 | 中兴通讯股份有限公司 | 一种实现应用调用的方法及虚拟机 |
CN107077577B (zh) * | 2016-03-25 | 2021-10-22 | 深圳前海达闼云端智能科技有限公司 | 一种应用程序启动方法及装置 |
CN107077577A (zh) * | 2016-03-25 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 一种应用程序启动方法及装置 |
CN107301076A (zh) * | 2017-06-28 | 2017-10-27 | 河南理工大学 | 一种计算机开机处理方法及*** |
CN110347474A (zh) * | 2019-05-30 | 2019-10-18 | 苏州浪潮智能科技有限公司 | 一种管理虚拟机的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102591671A (zh) | 在虚拟环境中启动应用程序的方法 | |
US11416275B2 (en) | Techniques for migration paths | |
US10353728B2 (en) | Method, system and device for managing virtual machine software in cloud environment | |
US10922123B2 (en) | Container migration in computing systems | |
US8788668B2 (en) | Information processing apparatus, information processing system, setting program transmission method and server setting program | |
US20200106669A1 (en) | Computing node clusters supporting network segmentation | |
TW201229902A (en) | Method of launching application in VM | |
EP3332325B1 (en) | Methods, apparatus, and systems for providing access to serial ports of virtual machines in self-deployed virtual applications | |
US20110239216A1 (en) | Service providing system, a virtual machine server, a service providing method, and a program thereof | |
WO2010023139A1 (en) | Provisioning virtual resources using name resolution | |
WO2018192478A1 (zh) | 云管理平台、虚拟机管理方法及其*** | |
US20190179659A1 (en) | Virtual machine migration using multiple, synchronized streams of state data | |
US9336032B2 (en) | Zoning data to a virtual machine | |
CN107580011B (zh) | 一种数据共享方法及桌面云服务端 | |
CN100347672C (zh) | 基于龙芯架构的透明计算设备的远程引导芯片及方法 | |
KR102274178B1 (ko) | 서버에서 시험 분산 애플리케이션을 에뮬레이션하는 기법 | |
US20190356541A1 (en) | Apparatuses and methods for zero touch computing node initialization | |
JP2021528740A (ja) | 接続されたアクセラレータベースの推論サービス | |
CN103077034B (zh) | 混合虚拟化平台java应用迁移方法与*** | |
CN101944129A (zh) | 无盘***及其工作站,工作站构建本地根文件***的方法 | |
US20120122573A1 (en) | Apparatus and method for synchronizing virtual machine | |
Toyama et al. | Android as a server platform | |
TW201305912A (zh) | 虛擬機管理系統及方法 | |
US10572213B2 (en) | Universal application pinning | |
CN104699570A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120718 |