CN107077577A - 一种应用程序启动方法及装置 - Google Patents
一种应用程序启动方法及装置 Download PDFInfo
- Publication number
- CN107077577A CN107077577A CN201680002930.8A CN201680002930A CN107077577A CN 107077577 A CN107077577 A CN 107077577A CN 201680002930 A CN201680002930 A CN 201680002930A CN 107077577 A CN107077577 A CN 107077577A
- Authority
- CN
- China
- Prior art keywords
- information
- virtual machine
- starting
- application program
- identifier
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6236—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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/445—Program loading or initiating
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- 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/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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/45587—Isolation or security of virtual machine instances
-
- 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/45554—Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
一种应用程序启动方法及装置,该方法包括:通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令(201),获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机的信息和所述第二虚拟机的应用程序的信息(202);根据所述第二虚拟机的信息启动所述第二虚拟机(203),以及,根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序(204)。上述方案使用户可在第一虚拟机的操作环境下直接启动第二虚拟机的应用程序,无需用户切换操作***再寻找应用程序等,用户操作便捷。
Description
技术领域
本发明涉及虚拟化技术领域,特别涉及一种应用程序启动方法及装置。
背景技术
移动终端已成为用户日常工作生活的重要工具,在移动终端推动移动互联网快速发展的同时,移动终端安全问题也日益严峻,引起社会的广泛关注。移动虚拟化允许多个操作***或者虚拟机同时运行在移动手机或者无线手持设备上,通过移动虚拟化,用户无需携带两台或多台移动设备,可在一个物理手持设备上访问多个虚拟机、多个操作***,移动虚拟化在安全性方面具有显著的特性。通过虚拟化技术带来的隔离性可实现单一终端上多个操作***的隔离,避免各操作***上的进程对其他操作***产生不利影响,典型的应用场景为通过虚拟化技术在手机等移动设备上实现企业***和个人***的分离,防范个人***上的进程给企业带来的潜在危害,满足一些具有安全要求的企业对“自带设备”(BYOD)的需求。
虚拟化***架构中处于底层的是硬件***,主要包括处理器、内存和输入输出设备等。在硬件***之上为安全独立的软件运行环境虚拟化层,在虚拟化层运行虚拟机监控器(缩写为VMM或称为Hypervisor)。Hypervisor的主要职能是:管理真实的物理硬件平台,并为每个虚拟客户机提供对应的虚拟硬件平台。Hypervisor通过主机(Host)实现前述职能。
图1为现有技术中虚拟化***示意图,所述***具有3个虚拟机,每个虚拟机可看作一个小的但是完整的计算机***,具有自己的“***硬件”,包括自己的处理器、内存和输入输出设备,在各虚拟机的计算机***上运行着虚拟机自己的操作***(Guest OS),例如Android、Windows或Linux等。用户可在各虚拟机间切换,以实现隔离的使用各虚拟机上的不同应用程序。当终端处于虚拟机1的操作***环境下,用户需要打开其他虚拟机(例如虚拟机2)中的某个应用时,现有的切换方法通常为:首先关闭虚拟机1的操作***,从主机启动虚拟机2的操作***,进而找到应用程序再启动该应用程序;或者需要用户手动切换至虚拟机2的操作***再找到应用程序并启动。
现有技术的不足主要在于:跨虚拟机应用的启动需要用户切换虚拟机和寻找应用程序等多步操作,过程复杂。尤其当涉及多个虚拟机的不同应用时,需要手动在各虚拟机间多次切换,各操作***的启动和关闭将耗费用户过多精力,使用户操作不易上手,使用不便。
发明内容
本申请实施例提出了解决上述问题的技术方案,使用户可在第一虚拟机的操作环境下直接启动第二虚拟机的应用程序,无需用户切换操作***再寻找应用程序等,用户操作便捷。
在一个方面,本申请实施例提供了一种应用程序启动方法,其特征在于,所述方法包括:
通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令,获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机的信息和所述第二虚拟机的应用程序的信息;
根据所述第二虚拟机的信息启动所述第二虚拟机,以及,根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序。
优选的,所述第二虚拟机的信息包括所述第二虚拟机的标识或者所述第二虚拟机的启动参数。
优选的,所述应用程序的信息包括所述应用程序的标识,所述根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序,包括:根据所述应用程序的标识确定应用程序的执行信息,根据所述应用程序的执行信息启动所述第二虚拟机的应用程序;或者,所述应用程序的信息包括应用程序的执行信息,所述根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序,包括:根据所述应用程序的执行信息启动所述第二虚拟机的应用程序。
优选的,在所述通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令之前,还包括:所述第一虚拟机接收所述启动信息,创建与所述启动信息关联的启动标识;所述通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令,包括:通过所述第一虚拟机接收所述启动标识被触发产生的,启动第二虚拟机的应用程序的启动指令。
优选的,所述创建与所述启动信息关联的启动标识,还包括:为所述启动标识添加所述第二虚拟机的标记。
优选的,所述第一虚拟机接收所述启动信息,包括:虚拟化层主机确定所述启动信息;所述第一虚拟机接收所述虚拟化层主机发送的所述启动信息。
优选的,在所述第一虚拟机接收所述虚拟化层主机发送的所述启动信息之前,还包括:所述虚拟化层主机接收第一选定信息,根据所述第一选定信息选定在所述第一虚拟机上创建所述启动标识。
优选的,所述虚拟化层主机确定所述启动信息,包括:所述虚拟化层主机接收第一指定信息,根据所述第一指定信息确定所述启动信息,所述第一指定信息用于指定为所述应用程序创建所述启动标识。
优选的,在所述虚拟化层主机确定所述启动信息之前,还包括:所述第二虚拟机确定所述启动信息;所述虚拟化层主机接收所述第二虚拟机发送的所述启动信息,确定所述启动信息。
优选的,在所述虚拟化层主机接收所述第二虚拟机发送的所述启动信息,确定所述启动信息之前,还包括:所述第二虚拟机接收第二选定信息,根据所述第二选定信息选定在所述第一虚拟机上创建所述启动标识。
优选的,所述第二虚拟机确定所述启动信息,包括:所述第二虚拟机接收第二指定信息,根据所述第二指定信息确定所述启动信息,所述第二指定信息用于指定为所述应用程序创建所述启动标识;或者所述第二虚拟机在安装所述应用程序时确定所述运行启动信息。
在另一个方面,本申请实施例提供了一种应用程序启动装置,其特征在于,所述装置包括:
启动指令接收模块,用于通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令;
启动信息获取模块,用于获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机的信息和所述第二虚拟机的应用程序的信息;
虚拟机启动模块,用于根据所述第二虚拟机的信息启动所述第二虚拟机;
应用程序启动模块,用于根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序。
优选的,所述第二虚拟机的信息包括所述第二虚拟机的标识或者所述第二虚拟机的启动参数。
优选的,所述应用程序的信息包括所述应用程序的标识,所述应用程序启动模块,用于根据所述应用程序的标识确定应用程序的执行信息,根据所述应用程序的执行信息启动所述第二虚拟机的应用程序;或者,所述应用程序的信息包括应用程序的执行信息,所述应用程序启动模块,用于根据所述应用程序的执行信息启动所述第二虚拟机的应用程序。
优选的,所述装置还包括:启动信息接收模块,用于接收所述启动信息;
启动标识创建模块,用于创建与所述启动信息关联的启动标识;所述启动指令接收模块,用于接收所述启动标识被触发产生的,启动第二虚拟机的应用程序的启动指令;所述启动信息接收模块、所述启动标识创建模块和所述启动指令接收模块位于所述第一虚拟机。
优选的,所述装置还包括:第一启动信息确定模块,用于确定所述启动信息;所述第一启动信息确定模块位于虚拟化层主机;所述启动信息接收模块用于接收所述第一启动信息确定模块发送的所述启动信息。
优选的,所述装置还包括:第一选定模块,用于接收第一选定信息,根据所述第一选定信息选定在所述第一虚拟机上创建所述启动标识;所述第一选定模块位于所述虚拟化层主机。
优选的,所述第一启动信息确定模块,用于接收第一指定信息,根据所述第一指定信息确定所述启动信息,所述第一指定信息用于指定为所述应用程序创建所述启动标识。
优选的,所述装置还包括:第二启动信息确定模块,用于确定所述启动信息;所述第二启动信息确定模块位于所述第二虚拟机;所述第一启动信息确定模块,用于接收所述第二启动信息确定模块发送的所述启动信息,确定所述启动信息。
优选的,所述装置还包括:第二选定模块,用于接收第二选定信息,根据所述第二选定信息选定在所述第一虚拟机上创建所述启动标识;
所述第二选定模块位于所述第二虚拟机。
优选的,所述第二启动信息确定模块,用于接收第二指定信息,根据所述第二指定信息确定所述启动信息,所述第二指定信息用于指定为所述应用程序创建所述启动标识;或者所述第二启动信息确定模块,用于在安装所述应用程序时确定所述运行启动信息。
本申请的有益效果如下:本申请中通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令,获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机的信息和所述第二虚拟机的应用程序的信息;根据所述第二虚拟机的信息启动所述第二虚拟机,以及,根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序。
本申请使用户可在第一虚拟机的操作环境下直接启动第二虚拟机的应用程序,无需用户切换操作***再寻找应用程序等,用户操作便捷。
附图说明
下面将参照附图描述本发明的具体实施例,其中:
图1示出了现有技术中虚拟化***架构示意图;
图2示出了本申请实施例一中应用程序启动方法的流程示意图;
图3示出了本申请实施例二中应用程序启动方法的流程示意图;
图4示出了本申请实施例二中第一虚拟机显示界面示意图;
图5示出了本申请实施例三中应用程序启动方法的流程示意图;
图6示出了本申请实施例四中应用程序启动方法的流程示意图;
图7示出了本申请实施例五应用程序启动装置的结构示意图;
图8示出了本申请实施例六应用程序启动装置的结构示意图;
图9示出了本申请实施例七应用程序启动装置的结构示意图;
图10示出了本申请实施例八应用程序启动装置的结构示意图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
发明人在发明过程中注意到:现有技术中,终端上已经可以运行多个虚拟机,用户可在各虚拟机间切换,以实现隔离的使用各虚拟机上的不同应用程序。但是跨虚拟机应用的启动需要用户切换虚拟机和寻找应用程序等多步操作,过程复杂。尤其当涉及多个虚拟机的不同应用时,需要手动在各虚拟机间多次切换,各操作***的启动和关闭将耗费用户过多精力,使用户操作不易上手,使用不便。
针对上述不足,本发明实施例提出了通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令,获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机的信息和所述第二虚拟机的应用程序的信息;根据所述第二虚拟机的信息启动所述第二虚拟机,以及根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序,使用户可在第一虚拟机的操作环境下直接启动第二虚拟机的应用程序,无需用户切换操作***再寻找应用程序等,用户操作便捷。
本申请中的第一虚拟机和第二虚拟机为运行于统一虚拟化层之上的虚拟机,并且该虚拟化层之上还可运行其他一个或多个数量不限的虚拟机。所述第一虚拟机、第二虚拟机、其他一个或多个数量不限的虚拟机(如果有)和虚拟化层均运行于一个设备中,或者运行于若干个物理设备组成的设备***中。
为了便于本发明的实施,下面以实例进行说明。
图2示出了本发明实施例一中应用程序启动方法的流程示意图,如图所示,包括:
步骤201、通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令;
在步骤201中,所述设备通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令。此处的启动指令通过硬件用户接口接收,例如通过触摸屏、键盘或鼠标点击等,该硬件用户接口为受所述第一虚拟机调用的相关硬件。所述启动指令指向于启动第二虚拟机上的某一应用程序,即从第一虚拟机获取另一虚拟机的应用程序的启动指令。
第二虚拟机上可以运行了一个操作***,所述应用程序运行于该操作***(即类似于图1中虚拟机1和虚拟机2的形式);或者所述第二虚拟机未运行某一操作***,而是直接配置了所述应用程序的运行环境,并且该虚拟机专用于运行该应用程序(即类似于图1中虚拟机3的形式)。
步骤202、获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机的信息和所述第二虚拟机的应用程序的信息;
在步骤202中,所述设备接收到所述启动指令后,依据该启动指令获取对应的启动信息,即接收到用户需要启动第二虚拟机上的某个应用程序的启动指令后,获取该应用程序的启动信息。这里的启动信息是存储在所述第一虚拟机的,包括所述启动指令对应的第二虚拟机的信息和所述第二虚拟机的应用程序的信息。启动信息需要同时包括所述第二虚拟机和所述应用程序的相关信息,以使设备能够一次性获取这两方面信息,并连续的执行启动所述第二虚拟机和启动所述运行于所述第二虚拟机上的应用程序。
优选的,所述第二虚拟机的信息包括所述第二虚拟机的标识或者所述第二虚拟机的启动参数。
优选的,所述第二虚拟机的应用程序的信息包括所述应用程序的标识,或者所述应用程序的执行信息。
步骤203、根据所述第二虚拟机的信息启动所述第二虚拟机;
在步骤203中,根据步骤202中获取的所述第二虚拟机的信息启动所述第二虚拟机。当所述第二虚拟机的信息包括第二虚拟机的标识时,设备需要根据该标识确定需要启动是第二虚拟机,并相应的获取所述第二虚拟机的启动参数,实现启动所述第二虚拟机,这种情况下第一虚拟机需要存储的第二虚拟机的信息更精炼,但启动虚拟机的时间会稍长;当所述第二虚拟机的信息已经包括了所述第二虚拟机的启动参数时,可直接实现启动所述第二虚拟机,这种情况下第一虚拟机需要存储的第二虚拟机的信息更丰富,占用内存稍大,但是启动虚拟机的时间会稍短,不需要每次启动都匹配相关启动参数。
步骤204、根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序。
在步骤204中,根据步骤202中获取的所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序。当所述第二虚拟机的应用程序的信息包括所述应用程序的标识时,设备需要根据该标识确定需要启动的是第二虚拟机上的哪个程序,并根据所述应用程序的标识确定所述应用程序的执行信息,这里的执行信息包括应用程序名称、应用程序路径和执行参数等,进而根据所述应用程序的执行信息启动所述第二虚拟机的应用程序,这种情况下第一虚拟机需要存储的第二虚拟机的应用程序的信息更精炼,但启动所述应用的时间会稍长;当所述第二虚拟机的应用程序的信息包括所述应用程序的执行信息时,可直接实现根据所述应用程序的执行信息启动所述第二虚拟机的应用程序,这种情况下第一虚拟机需要存储的第二虚拟机的应用程序的信息更丰富,占用内存稍大,但是启动应用程序的时间会稍短,不需要每次启动都匹配相关的执行信息。
有益效果:本实施例中,用户可在第一虚拟机的操作环境下直接启动第二虚拟机的应用程序,无需用户切换操作***再寻找应用程序等,用户操作便捷。
图3示出了本发明实施例二中应用程序启动方法的流程示意图,如图所示,包括:
步骤301、第一虚拟机接收启动信息,所述启动信息包括第二虚拟机的信息和第二虚拟机的应用程序的信息;
步骤302、创建与所述启动信息关联的启动标识;
本实施例中的301和302步骤用于在第一虚拟机上创建用于启动第二虚拟机的应用程序的启动标识,使用户可以通过触发该标识产生第二虚拟机的应用程序的启动指令。
在步骤301中,即创建启动标识前,第一虚拟机需要先接收第二虚拟机的应用程序的启动信息,并将其存储在第一虚拟机关联的内存中。
所述启动信息包括第二虚拟机的信息和第二虚拟机的应用程序的信息。启动信息需要同时包括所述第二虚拟机和所述应用程序的相关信息,以使设备能够一次性获取这两方面信息,并连续的执行启动所述第二虚拟机和启动所述运行于所述第二虚拟机上的应用程序。
优选的,所述第二虚拟机的信息包括所述第二虚拟机的标识或者所述第二虚拟机的启动参数。
优选的,所述第二虚拟机的应用程序的信息包括所述应用程序的标识,或者所述应用程序的执行信息。
在步骤302中,根据步骤301中接收的所述第二虚拟机的应用程序的启动信息,创建与所述启动信息关联的启动标识,所述启动标识用于通过设备的显示屏、触摸显示屏等硬件设备展示给用户。实践中所述启动标识可以为快捷方式(Short cut)图标、菜单栏中某一个菜单选项,或者也可以是窗口小部件(Widget)等表现形式。步骤302中创建的启动标识被触发时,会产生启动所述第二虚拟机的应用程序的启动指令。
优选的,所述创建与所述启动信息关联的启动标识,还包括:为所述启动标识添加所述第二虚拟机的标记。
当一个应用程序安装在了第一虚拟机上,第一虚拟机上有该第一应用程序的启动标识;并且,同一个应用程序也安装在了第二虚拟机上,并在第一虚拟机上创建了与所述第二虚拟机的该应用程序的启动信息关联的启动标识。前述情况下,因为每个应用程序通常有固有的应用程序标识,所以在第一虚拟机的显示界面中,第一虚拟机的应用程序的启动标识与第二虚拟机的应用程序的启动标识可能难以被区分。为解决该问题,在创建与所述第二虚拟机的应用程序的启动信息关联的启动标识时,为所述启动标识添加所述第二虚拟机的标记。
图4示出了本实施例中设备第一虚拟机显示界面的示意图,其中所述第一虚拟机和所述第二虚拟机均安装了火狐邮件应用程序(Foxmail APP),并且在第一虚拟机上创建了所述运行于第二虚拟机的Foxmail APP的启动标识,并且在该启动标识上添加了所述第二虚拟机的标记“VM2”。
为所述启动标识添加该应用程序实际运行的虚拟机的标识可帮助用户容易的判断每个应用实际运行的虚拟机。
步骤303、通过所述第一虚拟机接收所述启动标识被触发产生的,启动第二虚拟机的应用程序的启动指令;
步骤304、获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机的信息和所述第二虚拟机的应用程序的信息;
步骤305、根据所述第二虚拟机的信息启动所述第二虚拟机;
步骤306、根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序。
步骤303至步骤306与上述实施例中的步骤201至步骤204相似,相同的部分不再描述。
在本实施例中,步骤303和步骤304由第一虚拟机执行,所述第一虚拟机获取所述启动信息后将其发送至虚拟化层主机;步骤305由虚拟化层主机执行,并且在步骤306之前,虚拟化层主机将所述启动信息中的所述第二虚拟机的应用程序的信息发送至所述第二虚拟机;步骤306由所述第二虚拟机执行,其获取虚拟化层主机发送的所述第二虚拟机的应用程序的信息后启动所述应用。
图5示出了本发明实施例三中应用程序启动方法的流程示意图,如图所示,包括:
步骤501、虚拟化层主机确定启动信息,所述启动信息包括第二虚拟机的信息和第二虚拟机的应用程序的信息;
在步骤501中,用户由虚拟化层运行的主机(Host)的操作环境中开始发起创建启动标识的过程。因为虚拟化架构中的虚拟化层(Hypervisor)能够获得各虚拟机上运行的应用程序的信息,包括各应用程序的执行信息以及该应用程序运行于哪个虚拟机等。因此可在主机(Host)操作环境下,获取用户请求,确定为虚拟机上的哪个应用程序在另一个虚拟机上创建启动标识。
这里的启动信息包括第二虚拟机的信息和第二虚拟机的应用程序的信息。启动信息需要同时包括所述第二虚拟机和所述应用程序的相关信息,以使第一虚拟机能够一次性获取虚拟化层主机发送的这两方面信息,并使设备能够连续的执行启动所述第二虚拟机和启动所述运行于所述第二虚拟机上的应用程序。
优选的,所述第二虚拟机的信息包括所述第二虚拟机的标识或者所述第二虚拟机的启动参数。
优选的,所述第二虚拟机的应用程序的信息包括所述应用程序的标识,或者所述应用程序的执行信息。
优选的,所述开始发起创建启动标识的过程可以为:
所述虚拟化层主机接收第一指定信息,根据所述第一指定信息确定所述启动信息,所述第一指定信息用于指定为所述应用程序创建所述启动标识。
所述第一指定信息用于指定为哪个应用程序,或者为哪个虚拟机上的哪个应用程序在另一虚拟机上创建启动标识。即当主机之上运行有多个虚拟机,每个虚拟机上又安装有一个或多个应用时,可由用户指定某一应用程序,操作更灵活。获取所述第一指定信息的方式可以为用户在弹出对话窗口点选或输入,或者用户指定某一文件夹目录以批量指定该文件夹目录下的应用程序(便于后续批量获取该安装目录下的应用程序的启动信息)等。在本实施例中用户选定了某一第二虚拟机上运行的应用程序,基于该选定信息确定所述第二虚拟机的应用程序的启动信息。指定应用程序的步骤是可选的,例如,当主机上仅运行有第一虚拟机和第二虚拟机两个虚拟机的情况下,并且第二虚拟机上仅安装了一个应用程序时,可以直接确定为哪个虚拟机上的哪个应用创建所述启动标识。
优选的,在步骤502之前执行步骤5011:
步骤5011、在所述第一虚拟机接收所述虚拟化层主机发送的所述启动信息之前,还包括:所述虚拟化层主机接收第一选定信息,根据所述第一选定信息选定在所述第一虚拟机上创建所述启动标识。
在步骤5011中,所述第一选定信息用于选定在哪个虚拟机上创建所述启动标识,即当主机之上运行有多个虚拟机时,可由用户选择在另外的哪个虚拟机上创建所述启动标识,操作更灵活。获取所述第一选定信息的方式可以为用户在弹出对话窗口点选或输入等。在本实施例中用户选定了第一虚拟机,因此在后续步骤中将所述启动信息发送至第一虚拟机。步骤5011的实施是可选的,例如,当主机上仅运行有第一虚拟机和第二虚拟机两个虚拟机的情况下,或者已经预先设定了一个专用于在其上创建所述启动标识的虚拟机的情况下,可以不需要步骤5011即可确定在哪个虚拟机上创建所述启动标识;
需要说明的是,本实施例的方案并不对步骤501和步骤5011的先后顺序进行限定。
虚拟化层主机确定所述第二虚拟机的应用程序的启动信息后,将其发送至所述第一虚拟机(该第一虚拟机可以是在步骤5011中选定的)。
步骤502、第一虚拟机接收所述虚拟化层主机发送的所述启动信息。
步骤503、创建与所述启动信息关联的启动标识;
步骤504、通过所述第一虚拟机接收所述启动标识被触发产生的,启动第二虚拟机的应用程序的启动指令;
步骤505、获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机的信息和所述第二虚拟机的应用程序的信息;
步骤506、根据所述第二虚拟机的信息启动所述第二虚拟机;
步骤507、根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序。
步骤502至步骤507与上述实施例中的步骤301至步骤306相似。
图6示出了本发明实施例四中应用程序启动方法的流程示意图,如图所示,包括:
步骤601、第二虚拟机确定启动信息,所述启动信息包括第二虚拟机的信息和第二虚拟机的应用程序的信息;
在步骤601中,用户由第二虚拟机的操作环境中开始发起创建启动标识的过程。第二虚拟机中的某一应用程序的启动标识可以在所述应用程序安装时自动发起创建,或者可以在所述应用程序已经在第二虚拟机中安装完毕,由用户发起所述应用程序的启动标识的创建。
这里的启动信息包括第二虚拟机的信息和第二虚拟机的应用程序的信息。启动信息需要同时包括所述第二虚拟机和所述应用程序的相关信息,以使第二虚拟机能够一次性将其发送至虚拟化层主机,进而发送至第一虚拟机,使第一虚拟机能够一次性获取这两方面信息,并使设备能够连续的执行启动所述第二虚拟机和启动所述运行于所述第二虚拟机上的应用程序。
优选的,所述第二虚拟机的信息包括所述第二虚拟机的标识或者所述第二虚拟机的启动参数。
优选的,所述第二虚拟机的应用程序的信息包括所述应用程序的标识,或者所述应用程序的执行信息。
优选的,所述开始发起创建启动标识的过程可以为:
所述第二虚拟机接收第二指定信息,根据所述第二指定信息确定所述启动信息,所述第二指定信息用于指定为所述应用程序创建所述启动标识。
所述第二指定信息用于指定为该虚拟机上的哪个应用程序在另一虚拟机上创建启动标识。即当该虚拟机上安装有多个应用程序时,可由用户指定某一应用程序,操作更灵活。获取所述第一指定信息的方式可以为用户在弹出对话窗口点选或输入,或者用户指定某一文件夹目录以批量指定该文件夹目录下的应用程序(便于后续批量获取该安装目录下的应用程序的启动信息)等。在本实施例中用户选定了应用程序,基于该选定信息确定所述第二虚拟机的应用程序的启动信息。指定应用程序的步骤是可选的,例如,当所述第二虚拟机上仅安装了一个应用程序时,可以直接确定为哪个应用创建所述启动标识。
优选的,所述开始发起创建启动标识的过程可以为:
所述第二虚拟机在安装所述应用程序时确定所述运行启动信息。
根据预先设定,用户在第二虚拟机上安装某一应用的过程中,可自动为当前安装的应用程序在另一虚拟机上创建启动标识,安装过程中也可由用户选择是否创建启动标识。
优选的,在步骤602之前执行步骤6011:
步骤6011、在所述虚拟化层主机接收所述第二虚拟机发送的所述启动信息,确定所述启动信息之前,还包括:所述第二虚拟机接收第二选定信息,根据所述第二选定信息选定在所述第一虚拟机上创建所述启动标识。
在步骤6011中,所述第二选定信息用于选定在哪个虚拟机上创建所述启动标识,即当主机之上运行有多个虚拟机时,可由用户选择在另外的哪个虚拟机上创建所述启动标识。获取所述第二选定信息的方式可以为用户在弹出对话窗口点选或输入等。在本实施例中用户选定了第一虚拟机,因此在后续步骤中将所述启动信息发送至虚拟化层主机后,虚拟化层主机会将所述启动信息转发至第一虚拟机。步骤6011的实施是可选的,例如,当主机上仅运行有第一虚拟机和第二虚拟机两个虚拟机的情况下,或者已经预先设定了一个专用于在其上创建所述启动标识的虚拟机的情况下,可以不需要步骤6011即可确定在哪个虚拟机上创建所述启动标识;
需要说明的是,本实施例的方案并不对步骤601和步骤6011的先后顺序进行限定。
所述第二虚拟机确定所述第二虚拟机的应用程序的启动信息后,将其发送至所述虚拟化层主机。
步骤602、虚拟化层主机接收所述第二虚拟机发送的所述启动信息,确定所述启动信息;
在步骤602中,虚拟化层主机接收所述第二虚拟机发送的所述启动信息并确定所述第二虚拟机的应用程序的启动信息后,将其发送至所述第一虚拟机。
因为该第一虚拟机可以是在步骤6011中选定的,因此如果在步骤6011中所述第二虚拟机接收了第二选定信息,需要将所述第二选定信息与所述启动信息一同发送至虚拟化层主机,以使所述虚拟化层主机根据所述第二选定信息将所述启动信息转发至所述第一虚拟机。
步骤603、第一虚拟机接收所述虚拟化层主机发送的所述启动信息。
步骤604、创建与所述启动信息关联的启动标识;
步骤605、通过所述第一虚拟机接收所述启动标识被触发产生的,启动第二虚拟机的应用程序的启动指令;
步骤606、获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机的信息和所述第二虚拟机的应用程序的信息;
步骤607、根据所述第二虚拟机的信息启动所述第二虚拟机;
步骤608、根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序。
步骤603至步骤608与上述实施例中的步骤502至步骤507相似。
基于同一发明构思,本发明实施例中还提供了一种应用程序启动装置,由于这些设备解决问题的原理与一种应用程序启动方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
图7示出了本发明实施例五中应用程序启动装置的结构示意图。
本申请实施例五中应用程序启动装置700包括:
启动指令接收模块701,用于通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令;
启动信息获取模块702,用于获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机的信息和所述第二虚拟机的应用程序的信息;
虚拟机启动模块703,用于根据所述第二虚拟机的信息启动所述第二虚拟机;
应用程序启动模块704,用于根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序。
优选的,所述第二虚拟机的信息包括所述第二虚拟机的标识或者所述第二虚拟机的启动参数。
优选的,所述应用程序的信息包括所述应用程序的标识,
所述应用程序启动模块704,用于根据所述应用程序的标识确定应用程序的执行信息,根据所述应用程序的执行信息启动所述第二虚拟机的应用程序;
或者,
所述应用程序的信息包括所述应用程序的执行信息,所述应用程序启动模块704,用于根据所述应用程序的执行信息启动所述第二虚拟机的应用程序。
本申请实施例五中应用程序启动装置与本申请实施例一中应用程序启动方法相对应。
图8示出了本发明实施例六中应用程序启动装置的结构示意图。
本申请实施例六中应用程序启动装置800包括:
启动指令接收模块813,用于通过第一虚拟机810接收启动第二虚拟机830的应用程序的启动指令;
启动信息获取模块814,用于获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机830的信息和所述第二虚拟机830的应用程序的信息;
虚拟机启动模块821,用于根据所述第二虚拟机830的信息启动所述第二虚拟机830;
应用程序启动模块831,用于根据所述第二虚拟机830的应用程序的信息启动所述第二虚拟机830的应用程序。
虚拟机启动模块821位于虚拟化层主机820上,应用程序启动模块831位于第二虚拟机830。虚拟机启动模块821接收启动信息获取模块814发送的与所述启动指令对应的启动信息,并将其中的所述第二虚拟机830的应用程序的信息发送至应用程序启动模块831。
优选的,所述第二虚拟机830的信息包括所述第二虚拟机830的标识或者所述第二虚拟机830的启动参数。
优选的,所述应用程序的信息包括所述应用程序的标识,
所述应用程序启动模块831,用于根据所述应用程序的标识确定应用程序的执行信息,根据所述应用程序的执行信息启动所述第二虚拟机830的应用程序;
或者,
所述应用程序的信息包括所述应用程序的执行信息,所述应用程序启动模块831,用于根据所述应用程序的执行信息启动所述第二虚拟机830的应用程序。
优选的,所述应用程序启动装置800还包括:
启动信息接收模块811,用于接收所述启动信息;
启动标识创建模块812,用于创建与所述启动信息关联的启动标识;
所述启动指令接收模块813,用于接收所述启动标识被触发产生的,启动第二虚拟机830的应用程序的启动指令;
所述启动信息接收模块811、所述启动标识创建模块812和所述启动指令接收模块813位于所述第一虚拟机810。
优选的,所述启动标识创建模块812,还用于为所述启动标识添加所述第二虚拟机的标记。
本申请实施例六中应用程序启动装置与本申请实施例二中应用程序启动方法相对应。
图9示出了本发明实施例七中应用程序启动装置的结构示意图。
本申请实施例七中应用程序启动装置900包括:
启动指令接收模块913,用于通过第一虚拟机910接收启动第二虚拟机930的应用程序的启动指令;
启动信息获取模块914,用于获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机930的信息和所述第二虚拟机930的应用程序的信息;
虚拟机启动模块921,用于根据所述第二虚拟机930的信息启动所述第二虚拟机930;
应用程序启动模块931,用于根据所述第二虚拟机930的应用程序的信息启动所述第二虚拟机930的应用程序。
虚拟机启动模块921位于虚拟化层主机920上,应用程序启动模块931位于第二虚拟机930。虚拟机启动模块921接收启动信息获取模块914发送的与所述启动指令对应的启动信息,并将其中的所述第二虚拟机930的应用程序的信息发送至应用程序启动模块931。
优选的,所述第二虚拟机930的信息包括所述第二虚拟机930的标识或者所述第二虚拟机930的启动参数。
优选的,所述应用程序的信息包括所述应用程序的标识,
所述应用程序启动模块931,用于根据所述应用程序的标识确定应用程序的执行信息,根据所述应用程序的执行信息启动所述第二虚拟机930的应用程序;
或者,
所述应用程序的信息包括所述应用程序的执行信息,所述应用程序启动模块931,用于根据所述应用程序的执行信息启动所述第二虚拟机930的应用程序。
优选的,所述应用程序启动装置900还包括:
启动信息接收模块911,用于接收所述启动信息;
启动标识创建模块912,用于创建与所述启动信息关联的启动标识;
所述启动指令接收模块913,用于接收所述启动标识被触发产生的,启动第二虚拟机930的应用程序的启动指令;
所述启动信息接收模块911、所述启动标识创建模块912和所述启动指令接收模块913位于所述第一虚拟机910。
优选的,所述启动标识创建模块912,还用于为所述启动标识添加所述第二虚拟机的标记。
优选的,所述应用程序启动装置900还包括:
第一启动信息确定模块922,用于确定所述启动信息;
所述第一启动信息确定模块922位于虚拟化层主机920;
所述启动信息接收模块911用于接收所述第一启动信息确定模块922发送的所述启动信息。
优选的,所述应用程序启动装置装置900还包括:
第一选定模块923,用于接收第一选定信息,根据所述第一选定信息选定在所述第一虚拟机910上创建所述启动标识;
所述第一选定模块923位于所述虚拟化层主机920。
优选的,所述第一启动信息确定模块922,用于接收第一指定信息,根据所述第一指定信息确定所述启动信息,所述第一指定信息用于指定为所述应用程序创建所述启动标识。
本申请实施例七中应用程序启动装置与本申请实施例三中应用程序启动方法相对应。
图10示出了本发明实施例八中应用程序启动装置的结构示意图。
本申请实施例八中应用程序启动装置1000包括:
启动指令接收模块1013,用于通过第一虚拟机1010接收启动第二虚拟机1030的应用程序的启动指令;
启动信息获取模块1014,用于获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机1030的信息和所述第二虚拟机1030的应用程序的信息;
虚拟机启动模块1021,用于根据所述第二虚拟机1030的信息启动所述第二虚拟机1030;
应用程序启动模块1031,用于根据所述第二虚拟机1030的应用程序的信息启动所述第二虚拟机1030的应用程序。
虚拟机启动模块1021位于虚拟化层主机1020上,应用程序启动模块1031位于第二虚拟机1030。虚拟机启动模块1021接收启动信息获取模块1014发送的与所述启动指令对应的启动信息,并将其中的所述第二虚拟机1030的应用程序的信息发送至应用程序启动模块1031。
优选的,所述第二虚拟机1030的信息包括所述第二虚拟机1030的标识或者所述第二虚拟机1030的启动参数。
优选的,所述应用程序的信息包括所述应用程序的标识,
所述应用程序启动模块1031,用于根据所述应用程序的标识确定应用程序的执行信息,根据所述应用程序的执行信息启动所述第二虚拟机1030的应用程序;
或者,
所述应用程序的信息包括所述应用程序的执行信息,所述应用程序启动模块1031,用于根据所述应用程序的执行信息启动所述第二虚拟机1030的应用程序。
优选的,所述应用程序启动装置1000还包括:
启动信息接收模块1011,用于接收所述启动信息;
启动标识创建模块1012,用于创建与所述启动信息关联的启动标识;
所述启动指令接收模块1013,用于接收所述启动标识被触发产生的,启动第二虚拟机1030的应用程序的启动指令;
所述启动信息接收模块1011、所述启动标识创建模块1012和所述启动指令接收模块1013位于所述第一虚拟机1010。
优选的,所述启动标识创建模块1012,还用于为所述启动标识添加所述第二虚拟机的标记。
优选的,所述应用程序启动装置1000还包括:
第一启动信息确定模块1022,用于确定所述启动信息;
所述第一启动信息确定模块1022位于虚拟化层主机1020;
所述启动信息接收模块1011用于接收所述第一启动信息确定模块1022发送的所述启动信息。
优选的,所述应用程序启动装置装置1000还包括:
第一选定模块1023,用于接收第一选定信息,根据所述第一选定信息选定在所述第一虚拟机1010上创建所述启动标识;
所述第一选定模块1023位于所述虚拟化层主机1020。
优选的,所述第一启动信息确定模块1022,用于接收第一指定信息,根据所述第一指定信息确定所述启动信息,所述第一指定信息用于指定为所述应用程序创建所述启动标识。
优选的,所述应用程序启动装置装置1000还包括:
第二启动信息确定模块1032,用于确定所述启动信息;
所述第二启动信息确定模块1032位于所述第二虚拟机1030;
所述第一启动信息确定模块1022,用于接收所述第二启动信息确定模块1032发送的所述启动信息,确定所述启动信息。
优选的,所述应用程序启动装置装置1000还包括:
第二选定模块1033,用于接收第二选定信息,根据所述第二选定信息选定在所述第一虚拟机1010上创建所述启动标识;
所述第二选定模块1033位于所述第二虚拟机1030。
优选的,所述第二启动信息确定模块1032,用于接收第二指定信息,根据所述第二指定信息确定所述启动信息,所述第二指定信息用于指定为所述应用程序创建所述启动标识;
或者
所述第二启动信息确定模块1032,用于在安装所述应用程序时确定所述运行启动信息。
本申请实施例八中应用程序启动装置与本申请实施例四中应用程序启动方法相对应。
上述实施例中,均可以采用现有的功能元器件模块来实施。例如,处理模块可以采用现有的数据处理元器件,至少,现有定位技术中采用的定位服务器上便具备实现该功能元器件;至于接收模块,则是任意一个具备信号传输功能的设备都具备的元器件;同时,处理模块进行的A、n参数计算、强度调整等采用的都是现有的技术手段,本领域技术人员经过相应的设计开发即可实现。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
Claims (22)
1.一种应用程序启动方法,其特征在于,所述方法包括:
通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令,获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机的信息和所述第二虚拟机的应用程序的信息;
根据所述第二虚拟机的信息启动所述第二虚拟机,以及,根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序。
2.如权利要求1所述的方法,其特征在于,
所述第二虚拟机的信息包括所述第二虚拟机的标识或者所述第二虚拟机的启动参数。
3.如权利要求1所述的方法,其特征在于,
所述应用程序的信息包括所述应用程序的标识,
所述根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序,包括:根据所述应用程序的标识确定应用程序的执行信息,根据所述应用程序的执行信息启动所述第二虚拟机的应用程序;
或者,
所述应用程序的信息包括所述应用程序的执行信息,
所述根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序,包括:根据所述应用程序的执行信息启动所述第二虚拟机的应用程序。
4.如权利要求1至3中任一项所述的方法,其特征在于,在所述通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令之前,还包括:
所述第一虚拟机接收所述启动信息,创建与所述启动信息关联的启动标识;
所述通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令,包括:通过所述第一虚拟机接收所述启动标识被触发产生的,启动第二虚拟机的应用程序的启动指令。
5.如权利要求4所述的方法,其特征在于,所述创建与所述启动信息关联的启动标识,还包括:
为所述启动标识添加所述第二虚拟机的标记。
6.如权利要求4所述的方法,其特征在于,所述第一虚拟机接收所述启动信息,包括:
虚拟化层主机确定所述启动信息;
所述第一虚拟机接收所述虚拟化层主机发送的所述启动信息。
7.如权利要求6所述的方法,其特征在于,在所述第一虚拟机接收所述虚拟化层主机发送的所述启动信息之前,还包括:
所述虚拟化层主机接收第一选定信息,根据所述第一选定信息选定在所述第一虚拟机上创建所述启动标识。
8.如权利要求6所述的方法,其特征在于,所述虚拟化层主机确定所述启动信息,包括:
所述虚拟化层主机接收第一指定信息,根据所述第一指定信息确定所述启动信息,所述第一指定信息用于指定为所述应用程序创建所述启动标识。
9.如权利要求6所述的方法,其特征在于,在所述虚拟化层主机确定所述启动信息之前,还包括:
所述第二虚拟机确定所述启动信息;
所述虚拟化层主机接收所述第二虚拟机发送的所述启动信息,确定所述启动信息。
10.如权利要求9所述的方法,其特征在于,在所述虚拟化层主机接收所述第二虚拟机发送的所述启动信息,确定所述启动信息之前,还包括:
所述第二虚拟机接收第二选定信息,根据所述第二选定信息选定在所述第一虚拟机上创建所述启动标识。
11.如权利要求9所述的方法,其特征在于,所述第二虚拟机确定所述启动信息,包括:
所述第二虚拟机接收第二指定信息,根据所述第二指定信息确定所述启动信息,所述第二指定信息用于指定为所述应用程序创建所述启动标识;
或者
所述第二虚拟机在安装所述应用程序时确定所述运行启动信息。
12.一种应用程序启动装置,其特征在于,所述装置包括:
启动指令接收模块,用于通过第一虚拟机接收启动第二虚拟机的应用程序的启动指令;
启动信息获取模块,用于获取所述启动指令对应的启动信息,所述启动信息包括所述第二虚拟机的信息和所述第二虚拟机的应用程序的信息;
虚拟机启动模块,用于根据所述第二虚拟机的信息启动所述第二虚拟机;
应用程序启动模块,用于根据所述第二虚拟机的应用程序的信息启动所述第二虚拟机的应用程序。
13.如权利要求12所述的装置,其特征在于,
所述第二虚拟机的信息包括所述第二虚拟机的标识或者所述第二虚拟机的启动参数。
14.如权利要求12所述的装置,其特征在于,
所述应用程序的信息包括所述应用程序的标识,
所述应用程序启动模块,用于根据所述应用程序的标识确定应用程序的执行信息,根据所述应用程序的执行信息启动所述第二虚拟机的应用程序;
或者,
所述应用程序的信息包括所述应用程序的执行信息,
所述应用程序启动模块,用于根据所述应用程序的执行信息启动所述第二虚拟机的应用程序。
15.如权利要求12至14中任一项所述的装置,其特征在于,所述装置还包括:
启动信息接收模块,用于接收所述启动信息;
启动标识创建模块,用于创建与所述启动信息关联的启动标识;
所述启动指令接收模块,用于接收所述启动标识被触发产生的,启动第二虚拟机的应用程序的启动指令;
所述启动信息接收模块、所述启动标识创建模块和所述启动指令接收模块位于所述第一虚拟机。
16.如权利要求15所述的装置,其特征在于,所述启动标识创建模块,还用于为所述启动标识添加所述第二虚拟机的标记。
17.如权利要求15所述的装置,其特征在于,所述装置还包括:
第一启动信息确定模块,用于确定所述启动信息;
所述第一启动信息确定模块位于虚拟化层主机;
所述启动信息接收模块用于接收所述第一启动信息确定模块发送的所述启动信息。
18.如权利要求17所述的装置,其特征在于,所述装置还包括:
第一选定模块,用于接收第一选定信息,根据所述第一选定信息选定在所述第一虚拟机上创建所述启动标识;
所述第一选定模块位于所述虚拟化层主机。
19.如权利要求17所述的装置,其特征在于,
所述第一启动信息确定模块,用于接收第一指定信息,根据所述第一指定信息确定所述启动信息,所述第一指定信息用于指定为所述应用程序创建所述启动标识。
20.如权利要求17所述的装置,其特征在于,所述装置还包括:
第二启动信息确定模块,用于确定所述启动信息;
所述第二启动信息确定模块位于所述第二虚拟机;
所述第一启动信息确定模块,用于接收所述第二启动信息确定模块发送的所述启动信息,确定所述启动信息。
21.如权利要求20所述的装置,其特征在于,所述装置还包括:
第二选定模块,用于接收第二选定信息,根据所述第二选定信息选定在所述第一虚拟机上创建所述启动标识;
所述第二选定模块位于所述第二虚拟机。
22.如权利要求20所述的装置,其特征在于,
所述第二启动信息确定模块,用于接收第二指定信息,根据所述第二指定信息确定所述启动信息,所述第二指定信息用于指定为所述应用程序创建所述启动标识;
或者
所述第二启动信息确定模块,用于在安装所述应用程序时确定所述运行启动信息。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/077334 WO2017161559A1 (zh) | 2016-03-25 | 2016-03-25 | 一种应用程序启动方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107077577A true CN107077577A (zh) | 2017-08-18 |
CN107077577B CN107077577B (zh) | 2021-10-22 |
Family
ID=59624634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680002930.8A Active CN107077577B (zh) | 2016-03-25 | 2016-03-25 | 一种应用程序启动方法及装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10430207B2 (zh) |
EP (1) | EP3252599B1 (zh) |
JP (1) | JP6530816B2 (zh) |
CN (1) | CN107077577B (zh) |
TW (1) | TW201734783A (zh) |
WO (1) | WO2017161559A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162389A (zh) * | 2019-05-15 | 2019-08-23 | 广州视源电子科技股份有限公司 | 应用程序的启动方法、装置和智能交互设备 |
WO2020238425A1 (zh) * | 2019-05-30 | 2020-12-03 | 杭州海康威视数字技术股份有限公司 | 一种应用程序启动方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240062353A (ko) * | 2022-10-31 | 2024-05-09 | 삼성전자주식회사 | 가상 공간의 정보를 제공하기 위한 전자 장치 및 그 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7681134B1 (en) * | 2006-04-25 | 2010-03-16 | Parallels Software International, Inc. | Seamless integration and installation of non-host application into native operating system |
CN102591671A (zh) * | 2011-01-14 | 2012-07-18 | 鸿富锦精密工业(深圳)有限公司 | 在虚拟环境中启动应用程序的方法 |
CN102938703A (zh) * | 2011-08-15 | 2013-02-20 | 联想(北京)有限公司 | 一种应用管理方法及设备 |
CN103257889A (zh) * | 2012-02-17 | 2013-08-21 | 联想(北京)有限公司 | 用于混合式架构***的应用程序管理装置及管理方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8271976B2 (en) | 2004-06-30 | 2012-09-18 | Microsoft Corporation | Systems and methods for initializing multiple virtual processors within a single virtual machine |
US8972977B2 (en) * | 2004-06-30 | 2015-03-03 | Microsoft Technology Licensing, Llc | Systems and methods for providing seamless software compatibility using virtual machines |
US8387048B1 (en) | 2006-04-25 | 2013-02-26 | Parallels IP Holdings GmbH | Seamless integration, migration and installation of non-native application into native operating system |
US8010495B1 (en) | 2006-04-25 | 2011-08-30 | Parallels Holdings, Ltd. | Method and system for fast generation of file system snapshot bitmap in virtual environment |
US9317195B1 (en) | 2006-04-25 | 2016-04-19 | Parallels IP Holdings GmbH | Seamless integration of non-native windows with dynamically scalable resolution into host operating system |
US8117554B1 (en) | 2006-04-25 | 2012-02-14 | Parallels Holdings, Ltd. | Seamless integration of non-native widgets and windows with dynamically scalable resolution into native operating system |
US8185893B2 (en) * | 2006-10-27 | 2012-05-22 | Hewlett-Packard Development Company, L.P. | Starting up at least one virtual machine in a physical machine by a load balancer |
US8286152B2 (en) * | 2007-08-22 | 2012-10-09 | International Business Machines Corporation | Systems, methods, and computer products for just-in-time compilation for virtual machine environments for fast application startup and maximal run-time performance |
US8161479B2 (en) | 2008-06-13 | 2012-04-17 | Microsoft Corporation | Synchronizing virtual machine and application life cycles |
CN102656561A (zh) * | 2010-03-16 | 2012-09-05 | 松下电器产业株式会社 | 信息处理装置、虚拟机生成方法及应用发布*** |
KR20120068573A (ko) * | 2010-12-17 | 2012-06-27 | 삼성전자주식회사 | 심리스 애플리케이션 통합 장치 및 방법 |
TW201229902A (en) * | 2011-01-12 | 2012-07-16 | Hon Hai Prec Ind Co Ltd | Method of launching application in VM |
TW201229910A (en) | 2011-01-14 | 2012-07-16 | Hon Hai Prec Ind Co Ltd | Method of activating application in virtual environment |
CN102204210A (zh) * | 2011-05-18 | 2011-09-28 | 华为技术有限公司 | 启动应用的方法、服务器和*** |
CN102662741B (zh) | 2012-04-05 | 2014-04-02 | 华为技术有限公司 | 虚拟桌面的实现方法、装置和*** |
CN102968342B (zh) * | 2012-11-12 | 2015-03-11 | 华中科技大学 | 嵌入式平台下半虚拟化的快速切换客户操作***的方法 |
-
2016
- 2016-03-25 EP EP16877914.8A patent/EP3252599B1/en active Active
- 2016-03-25 JP JP2017540903A patent/JP6530816B2/ja active Active
- 2016-03-25 WO PCT/CN2016/077334 patent/WO2017161559A1/zh active Application Filing
- 2016-03-25 CN CN201680002930.8A patent/CN107077577B/zh active Active
-
2017
- 2017-03-24 TW TW106110043A patent/TW201734783A/zh unknown
- 2017-07-18 US US15/652,609 patent/US10430207B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7681134B1 (en) * | 2006-04-25 | 2010-03-16 | Parallels Software International, Inc. | Seamless integration and installation of non-host application into native operating system |
CN102591671A (zh) * | 2011-01-14 | 2012-07-18 | 鸿富锦精密工业(深圳)有限公司 | 在虚拟环境中启动应用程序的方法 |
CN102938703A (zh) * | 2011-08-15 | 2013-02-20 | 联想(北京)有限公司 | 一种应用管理方法及设备 |
CN103257889A (zh) * | 2012-02-17 | 2013-08-21 | 联想(北京)有限公司 | 用于混合式架构***的应用程序管理装置及管理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162389A (zh) * | 2019-05-15 | 2019-08-23 | 广州视源电子科技股份有限公司 | 应用程序的启动方法、装置和智能交互设备 |
WO2020238425A1 (zh) * | 2019-05-30 | 2020-12-03 | 杭州海康威视数字技术股份有限公司 | 一种应用程序启动方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3252599B1 (en) | 2021-02-17 |
EP3252599A1 (en) | 2017-12-06 |
JP6530816B2 (ja) | 2019-06-12 |
US20170315829A1 (en) | 2017-11-02 |
TW201734783A (zh) | 2017-10-01 |
WO2017161559A1 (zh) | 2017-09-28 |
CN107077577B (zh) | 2021-10-22 |
EP3252599A4 (en) | 2018-05-02 |
JP2018517948A (ja) | 2018-07-05 |
US10430207B2 (en) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3734447B1 (en) | Application program processing method, apparatus, storage medium and computer device | |
WO2022022700A1 (zh) | 应用图标显示方法、装置及电子设备 | |
CN104995927B (zh) | 用于构建和使用混合移动应用的***和方法 | |
US9612723B1 (en) | Composite graphical interface with shareable data-objects | |
US20150304433A1 (en) | Gesture based switching of virtual desktop clients | |
US10223244B2 (en) | Test plan inspection platform | |
CN103793176A (zh) | 一种应用程序间快速切换的方法及装置 | |
WO2022048513A1 (zh) | 搜索展示方法、装置及电子设备 | |
US20150039875A1 (en) | Deployment of Software Images with Distinct Configuration Logic | |
CN107077577B (zh) | 一种应用程序启动方法及装置 | |
CN104268017A (zh) | 一种同时运行Android/Linux操作***的方法 | |
TW202006538A (zh) | 程式的運行方法及裝置、計算設備以及儲存介質 | |
JP6434640B2 (ja) | メッセージ表示方法、メッセージ表示装置、およびメッセージ表示デバイス | |
CN107329792B (zh) | 一种Docker容器启动方法及装置 | |
CN111767090A (zh) | 小程序的启动方法、装置、电子设备以及存储介质 | |
CN105335178A (zh) | 一种启动控制方法,及装置 | |
CN111158841A (zh) | 页面跳转方法、页面跳转创建方法、装置及终端设备 | |
CN107765972A (zh) | 一种安卓终端截屏方法 | |
CN103631639A (zh) | 一种用户态虚拟网卡的自动探测方法 | |
CN111813305A (zh) | 应用程序启动方法及装置 | |
CN107193465B (zh) | 一种触控页面展示方法及*** | |
CN111766987B (zh) | 应用程序管理方法、装置及电子设备 | |
CN106557354B (zh) | 设置私有镜像的属性参数的方法及计算机设备 | |
CN109074273B (zh) | 自动虚拟输入设备 | |
CN106484604B (zh) | 应用测试控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1239886 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |