TW201734783A - 一種應用程式啟動方法及裝置 - Google Patents
一種應用程式啟動方法及裝置 Download PDFInfo
- Publication number
- TW201734783A TW201734783A TW106110043A TW106110043A TW201734783A TW 201734783 A TW201734783 A TW 201734783A TW 106110043 A TW106110043 A TW 106110043A TW 106110043 A TW106110043 A TW 106110043A TW 201734783 A TW201734783 A TW 201734783A
- Authority
- TW
- Taiwan
- Prior art keywords
- information
- startup
- application
- virtual machine
- identifier
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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
本發明提供了一種應用程式啟動方法及裝置,該方法包括:通過第一虛擬機器接收啟動第二虛擬機器的應用程式的啟動指令,獲取所述啟動指令對應的啟動資訊,所述啟動資訊包括所述第二虛擬機器的資訊和所述第二虛擬機器的應用程式的資訊;根據所述第二虛擬機器的資訊啟動所述第二虛擬機器,以及,根據所述第二虛擬機器的應用程式的資訊啟動所述第二虛擬機器的應用程式。本申請的方案使用戶可在第一虛擬機器的操作環境下直接啟動第二虛擬機器的應用程式,無需使用者切換作業系統再尋找應用程式等,使用者操作便捷。
Description
本發明涉及虛擬化技術領域,特別涉及一種應用程式啟動方法及裝置。
移動終端已成為使用者日常工作生活的重要工具,在移動終端推動移動互聯網快速發展的同時,移動終端安全問題也日益嚴峻,引起社會的廣泛關注。移動虛擬化允許多個作業系統或者虛擬機器同時運行在移動手機或者無線手持設備上,通過移動虛擬化,用戶無需攜帶兩台或多台移動設備,可在一個物理手持設備上訪問多個虛擬機器、多個作業系統,移動虛擬化在安全性方面具有顯著的特性。通過虛擬化技術帶來的隔離性可實現單一終端上多個作業系統的隔離,避免各作業系統上的進程對其他作業系統產生不利影響,典型的應用場景為通過虛擬化技術在手機等移動設備上實現企業系統和個人系統的分離,防範個人系統上的進程給企業帶來的潛在危害,滿足一些具有安全要求的企業對“自帶設備”(BYOD)的需求。
虛擬化系統架構中處於底層的是硬體系統,主要包括處理器、記憶體和輸入輸出設備等。在硬體系統之上為安全獨立的軟體運行環境虛擬化層,在虛擬化層運行虛擬機器監控器(縮寫為VMM或稱為Hypervisor)。Hypervisor的主要職能是:管理真實的物理硬體平臺,並為每個虛擬客戶機提供對應的虛擬硬體平臺。Hypervisor通過主機(Host)實現前述職能。
圖1為現有技術中虛擬化系統示意圖,所述系統具有3個虛擬機器,每個虛擬機器可看作一個小的但是完整的電腦系統,具有自己的“系統硬體”,包括自己的處理器、記憶體和輸入輸出設備,在各虛擬機器的電腦系統上運行著虛擬機器自己的作業系統(Guest OS),例如Android、Windows或Linux等。用戶可在各虛擬機器間切換,以實現隔離的使用各虛擬機器上的不同應用程式。當終端處於虛擬機器1的作業系統環境下,使用者需要打開其他虛擬機器(例如虛擬機器2)中的某個應用時,現有的切換方法通常為:首先關閉虛擬機器1的作業系統,從主機啟動虛擬機器2的作業系統,進而找到應用程式再啟動該應用程式;或者需要使用者手動切換至虛擬機器2的作業系統再找到應用程式並啟動。
現有技術的不足主要在於:跨虛擬機器應用的啟動需要使用者切換虛擬機器和尋找應用程式等多步操作,過程複雜。尤其當涉及多個虛擬機器的不同應用時,需要手動在各虛擬機器間多次切換,各作業系統的啟動和關閉將耗費用戶過多精力,使用戶操作不易上手,使用不便。
本申請實施例提出了解決上述問題的技術方案,使用戶可在第一虛擬機器的操作環境下直接啟動第二虛擬機器的應用程式,無需使用者切換作業系統再尋找應用程式等,使用者操作便捷。
在一個方面,本申請實施例提供了一種應用程式啟動方法,所述方法包括:通過第一虛擬機器接收啟動第二虛擬機器的應用程式的啟動指令,獲取所述啟動指令對應的啟動資訊,所述啟動資訊包括所述第二虛擬機器的資訊和所述第二虛擬機器的應用程式的資訊;根據所述第二虛擬機器的資訊啟動所述第二虛擬機器,以及,根據所述第二虛擬機器的應用程式的資訊啟動所述第二虛擬機器的應用程式。
優選的,所述第二虛擬機器的資訊包括所述第二虛擬機器的標識或者所述第二虛擬機器的啟動參數。
優選的,所述應用程式的資訊包括所述應用程式的標識,所述根據所述第二虛擬機器的應用程式的資訊啟動所述第二虛擬機器的應用程式,包括:根據所述應用程式的標識確定應用程式的執行資訊,根據所述應用程式的執行資訊啟動所述第二虛擬機器的應用程式;或者,所述應用程式的資訊包括應用程式的執行資訊,所述根據所述第二虛擬機器的應用程式的資訊啟動所述第二虛擬機器的應用程式,包括:根據所述應用程式的執行資訊啟動所述第二虛擬機器的應用程式。
優選的,在所述通過第一虛擬機器接收啟動第二虛擬機器的應用程式的啟動指令之前,還包括:所述第一虛擬機器接收所述啟動資訊,創建與所述啟動資訊關聯的啟動標識;所述通過第一虛擬機器接收啟動第二虛擬機器的應用程式的啟動指令,包括:通過所述第一虛擬機器接收所述啟動標識被觸發產生的,啟動第二虛擬機器的應用程式的啟動指令。
優選的,所述創建與所述啟動資訊關聯的啟動標識,還包括:為所述啟動標識添加所述第二虛擬機器的標記。
優選的,所述第一虛擬機器接收所述啟動資訊,包括:虛擬化層主機確定所述啟動資訊;所述第一虛擬機器接收所述虛擬化層主機發送的所述啟動資訊。
優選的,在所述第一虛擬機器接收所述虛擬化層主機發送的所述啟動資訊之前,還包括:所述虛擬化層主機接收第一選定資訊,根據所述第一選定資訊選定在所述第一虛擬機器上創建所述啟動標識。
優選的,所述虛擬化層主機確定所述啟動資訊,包括:所述虛擬化層主機接收第一指定資訊,根據所述第一指定資訊確定所述啟動資訊,所述第一指定資訊用於指定為所述應用程式創建所述啟動標識。
優選的,在所述虛擬化層主機確定所述啟動資訊之前,還包括:所述第二虛擬機器確定所述啟動資訊;所述虛擬化層主機接收所述第二虛擬機器發送的所述啟動資訊,確定所述啟動資訊。
優選的,在所述虛擬化層主機接收所述第二虛擬機器發送的所述啟動資訊,確定所述啟動資訊之前,還包括:所述第二虛擬機器接收第二選定資訊,根據所述第二選定資訊選定在所述第一虛擬機器上創建所述啟動標識。
優選的,所述第二虛擬機器確定所述啟動資訊,包括:所述第二虛擬機器接收第二指定資訊,根據所述第二指定資訊確定所述啟動資訊,所述第二指定資訊用於指定為所述應用程式創建所述啟動標識;或者所述第二虛擬機器在安裝所述應用程式時確定所述運行啟動資訊。
在另一個方面,本申請實施例提供了一種應用程式啟動裝置,所述裝置包括:啟動指令接收模組,用於通過第一虛擬機器接收啟動第二虛擬機器的應用程式的啟動指令;啟動資訊獲取模組,用於獲取所述啟動指令對應的啟動資訊,所述啟動資訊包括所述第二虛擬機器的資訊和所述第二虛擬機器的應用程式的資訊;虛擬機器啟動模組,用於根據所述第二虛擬機器的資訊啟動所述第二虛擬機器;應用程式啟動模組,用於根據所述第二虛擬機器的應用程式的資訊啟動所述第二虛擬機器的應用程式。
優選的,所述第二虛擬機器的資訊包括所述第二虛擬機器的標識或者所述第二虛擬機器的啟動參數。
優選的,所述應用程式的資訊包括所述應用程式的標識,所述應用程式啟動模組,用於根據所述應用程式的標識確定應用程式的執行資訊,根據所述應用程式的執行資訊啟動所述第二虛擬機器的應用程式;或者,所述應用程式的資訊包括應用程式的執行資訊,所述應用程式啟動模組,用於根據所述應用程式的執行資訊啟動所述第二虛擬機器的應用程式。
優選的,所述裝置還包括:啟動資訊接收模組,用於接收所述啟動資訊;啟動標識創建模組,用於創建與所述啟動資訊關聯的啟動標識;所述啟動指令接收模組,用於接收所述啟動標識被觸發產生的,啟動第二虛擬機器的應用程式的啟動指令;所述啟動資訊接收模組、所述啟動標識創建模組和所述啟動指令接收模組位於所述第一虛擬機器。
優選的,所述裝置還包括:第一啟動資訊確定模組,用於確定所述啟動資訊;所述第一啟動資訊確定模組位於虛擬化層主機;所述啟動資訊接收模組用於接收所述第一啟動資訊確定模組發送的所述啟動資訊。
優選的,所述裝置還包括:第一選定模組,用於接收第一選定資訊,根據所述第一選定資訊選定在所述第一虛擬機器上創建所述啟動標識;所述第一選定模組位於所述虛擬化層主機。
優選的,所述第一啟動資訊確定模組,用於接收第一指定資訊,根據所述第一指定資訊確定所述啟動資訊,所述第一指定資訊用於指定為所述應用程式創建所述啟動標識。
優選的,所述裝置還包括:第二啟動資訊確定模組,用於確定所述啟動資訊;所述第二啟動資訊確定模組位於所述第二虛擬機器;所述第一啟動資訊確定模組,用於接收所述第二啟動資訊確定模組發送的所述啟動資訊,確定所述啟動資訊。
優選的,所述裝置還包括:第二選定模組,用於接收第二選定資訊,根據所述第二選定資訊選定在所述第一虛擬機器上創建所述啟動標識;所述第二選定模組位於所述第二虛擬機器。
優選的,所述第二啟動資訊確定模組,用於接收第二指定資訊,根據所述第二指定資訊確定所述啟動資訊,所述第二指定資訊用於指定為所述應用程式創建所述啟動標識;或者所述第二啟動資訊確定模組,用於在安裝所述應用程式時確定所述運行啟動資訊。
在又一個方面,本申請實施例提供了一種存儲有電腦程式的電腦可讀存儲介質,當電腦載入所述程式並執行後,可完成如上所述的應用程式啟動方法。
在再一個方面,本申請實施例提供了一種電腦程式產品,當電腦載入所述電腦程式並執行後,可完成如上所述的應用程式啟動方法。
本申請的有益效果如下:本申請中通過第一虛擬機器接收啟動第二虛擬機器的應用程式的啟動指令,獲取所述啟動指令對應的啟動資訊,所述啟動資訊包括所述第二虛擬機器的資訊和所述第二虛擬機器的應用程式的資訊;根據所述第二虛擬機器的資訊啟動所述第二虛擬機器,以及,根據所述第二虛擬機器的應用程式的資訊啟動所述第二虛擬機器的應用程式。
本申請使用戶可在第一虛擬機器的操作環境下直接啟動第二虛擬機器的應用程式,無需使用者切換作業系統再尋找應用程式等,使用者操作便捷。
為了使本發明的技術方案及優點更加清楚明白,以下結合附圖對本發明的示例性實施例進行進一步詳細的說明,顯然,所描述的實施例僅是本發明的一部分實施例,而不是所有實施例的窮舉。並且在不衝突的情況下,本說明中的實施例及實施例中的特徵可以互相結合。
發明人在發明過程中注意到:現有技術中,終端上已經可以運行多個虛擬機器,用戶可在各虛擬機器間切換,以實現隔離的使用各虛擬機器上的不同應用程式。但是跨虛擬機器應用的啟動需要使用者切換虛擬機器和尋找應用程式等多步操作,過程複雜。尤其當涉及多個虛擬機器的不同應用時,需要手動在各虛擬機器間多次切換,各作業系統的啟動和關閉將耗費用戶過多精力,使用戶操作不易上手,使用不便。
針對上述不足,本發明實施例提出了通過第一虛擬機器接收啟動第二虛擬機器的應用程式的啟動指令,獲取所述啟動指令對應的啟動資訊,所述啟動資訊包括所述第二虛擬機器的資訊和所述第二虛擬機器的應用程式的資訊;根據所述第二虛擬機器的資訊啟動所述第二虛擬機器,以及根據所述第二虛擬機器的應用程式的資訊啟動所述第二虛擬機器的應用程式,使使用者可在第一虛擬機器的操作環境下直接啟動第二虛擬機器的應用程式,無需使用者切換作業系統再尋找應用程式等,使用者操作便捷。
本申請中的第一虛擬機器和第二虛擬機器為運行於統一虛擬化層之上的虛擬機器,並且該虛擬化層之上還可運行其他一個或多個數量不限的虛擬機器。所述第一虛擬機器、第二虛擬機器、其他一個或多個數量不限的虛擬機器(如果有)和虛擬化層均運行於一個設備中,或者運行於若干個物理設備組成的設備系統中。
為了便於本發明的實施,下面以實例進行說明。圖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)操作環境下,獲取用戶請求,確定為虛擬機器上的哪個應用程式在另一個虛擬機器上創建啟動標識。
這裡的啟動資訊包括第二虛擬機器的資訊和第二虛擬機器的應用程式的資訊。啟動資訊需要同時包括所述第二虛擬機器和所述應用程式的相關資訊,以使第一虛擬機器能夠一次性獲取虛擬化層主機發送的這兩方面資訊,並使設備能夠連續的執行啟動所述第二虛擬機器和啟動所述運行於所述第二虛擬機器上的應用程式。
優選的,所述第二虛擬機器的資訊包括所述第二虛擬機器的標識或者所述第二虛擬機器的啟動參數。優選的,所述第二虛擬機器的應用程式的資訊包括所述應用程式的標識,或者所述應用程式的執行資訊。
優選的,所述開始發起創建啟動標識的過程可以為:所述虛擬化層主機接收第一指定資訊,根據所述第一指定資訊確定所述啟動資訊,所述第一指定資訊用於指定為所述應用程式創建所述啟動標識。
所述第一指定資訊用於指定為哪個應用程式,或者為哪個虛擬機器上的哪個應用程式在另一虛擬機器上創建啟動標識。即當主機之上運行有多個虛擬機器,每個虛擬機器上又安裝有一個或多個應用時,可由使用者指定某一應用程式,操作更靈活。獲取所述第一指定資訊的方式可以為使用者在彈出對話視窗點選或輸入,或者使用者指定某一資料夾目錄以批量指定該資料夾目錄下的應用程式(便於後續批量獲取該安裝目錄下的應用程式的啟動資訊)等。在本實施例中用戶選定了某一第二虛擬機器上運行的應用程式,基於該選定資訊確定所述第二虛擬機器的應用程式的啟動資訊。指定應用程式的步驟是可選的,例如,當主機上僅運行有第一虛擬機器和第二虛擬機器兩個虛擬機器的情況下,並且第二虛擬機器上僅安裝了一個應用程式時,可以直接確定為哪個虛擬機器上的哪個應用創建所述啟動標識。
步驟2:確定物體A在探測平面中的掃描位置;由於步驟303中的三維障礙資訊圖與無人機的距離為L,且探測平面與無人機的運動方向垂直,因此,步驟303中的三維障礙資訊圖為探測平面中的一個部分,步驟2中可以直接獲取步驟303中的三維障礙資訊圖,將該圖作為物體A投影至探測平面中的投影結果,並將物體A在該圖中的投影位置確定為掃描位置。
優選的,在步驟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、光學記憶體等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得存儲在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
儘管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明範圍的所有變更和修改。
201、202、203、204、301、302、303、304、305、306、501、502、503、504、505、506、507、601、602、603、604、605、606、607、608‧‧‧步驟
700、800、900、1000‧‧‧應用程式啟動裝置
701、813、913、1013‧‧‧啟動指令接收模組
702、814、914、1014‧‧‧啟動資訊獲取模組
703、821、921、1021‧‧‧虛擬機器啟動模組
704、831、931、1031‧‧‧應用程式啟動模組
810、910、1010‧‧‧第一虛擬機器
811、911、1011‧‧‧啟動資訊接收模組
812、912、1012‧‧‧啟動標識創建模組
820、920、1020‧‧‧虛擬化層主機
922、1022‧‧‧第一啟動資訊確定模組
923、1023‧‧‧第一選定模組
830、930、1030‧‧‧第二虛擬機器
1032‧‧‧第二啟動資訊確定模組
1033‧‧‧第二選定模組
700、800、900、1000‧‧‧應用程式啟動裝置
701、813、913、1013‧‧‧啟動指令接收模組
702、814、914、1014‧‧‧啟動資訊獲取模組
703、821、921、1021‧‧‧虛擬機器啟動模組
704、831、931、1031‧‧‧應用程式啟動模組
810、910、1010‧‧‧第一虛擬機器
811、911、1011‧‧‧啟動資訊接收模組
812、912、1012‧‧‧啟動標識創建模組
820、920、1020‧‧‧虛擬化層主機
922、1022‧‧‧第一啟動資訊確定模組
923、1023‧‧‧第一選定模組
830、930、1030‧‧‧第二虛擬機器
1032‧‧‧第二啟動資訊確定模組
1033‧‧‧第二選定模組
圖1示出了現有技術中虛擬化系統架構示意圖; 圖2示出了本申請實施例一中應用程式啟動方法的流程示意圖; 圖3示出了本申請實施例二中應用程式啟動方法的流程示意圖; 圖4示出了本申請實施例二中第一虛擬機器顯示介面示意圖; 圖5示出了本申請實施例三中應用程式啟動方法的流程示意圖; 圖6示出了本申請實施例四中應用程式啟動方法的流程示意圖; 圖7示出了本申請實施例五應用程式啟動裝置的結構示意圖; 圖8示出了本申請實施例六應用程式啟動裝置的結構示意圖; 圖9示出了本申請實施例七應用程式啟動裝置的結構示意圖;以及 圖10示出了本申請實施例八應用程式啟動裝置的結構示意圖。
201、202、203、204‧‧‧步驟
Claims (24)
- 一種應用程式啟動方法,所述方法包括: 通過第一虛擬機器接收啟動第二虛擬機器的應用程式的啟動指令,獲取所述啟動指令對應的啟動資訊,所述啟動資訊包括所述第二虛擬機器的資訊和所述第二虛擬機器的應用程式的資訊; 根據所述第二虛擬機器的資訊啟動所述第二虛擬機器,以及,根據所述第二虛擬機器的應用程式的資訊啟動所述第二虛擬機器的應用程式。
- 如請求項1所述的應用程式啟動方法,其中, 所述第二虛擬機器的資訊包括所述第二虛擬機器的標識或者所述第二虛擬機器的啟動參數。
- 如請求項1所述的應用程式啟動方法,其中, 所述應用程式的資訊包括所述應用程式的標識, 所述根據所述第二虛擬機器的應用程式的資訊啟動所述第二虛擬機器的應用程式,包括:根據所述應用程式的標識確定應用程式的執行資訊,根據所述應用程式的執行資訊啟動所述第二虛擬機器的應用程式;或者 所述應用程式的資訊包括所述應用程式的執行資訊, 所述根據所述第二虛擬機器的應用程式的資訊啟動所述第二虛擬機器的應用程式,包括:根據所述應用程式的執行資訊啟動所述第二虛擬機器的應用程式。
- 如請求項1至3中任一項所述的應用程式啟動方法,其中,在所述通過第一虛擬機器接收啟動第二虛擬機器的應用程式的啟動指令之前,還包括: 所述第一虛擬機器接收所述啟動資訊,創建與所述啟動資訊關聯的啟動標識; 所述通過第一虛擬機器接收啟動第二虛擬機器的應用程式的啟動指令,包括:通過所述第一虛擬機器接收所述啟動標識被觸發產生的,啟動第二虛擬機器的應用程式的啟動指令。
- 如請求項4所述的應用程式啟動方法,其中,所述創建與所述啟動資訊關聯的啟動標識,還包括: 為所述啟動標識添加所述第二虛擬機器的標記。
- 如請求項4所述的應用程式啟動方法,其中,所述第一虛擬機器接收所述啟動資訊,包括: 虛擬化層主機確定所述啟動資訊; 所述第一虛擬機器接收所述虛擬化層主機發送的所述啟動資訊。
- 如請求項6所述的應用程式啟動方法,其中,在所述第一虛擬機器接收所述虛擬化層主機發送的所述啟動資訊之前,還包括: 所述虛擬化層主機接收第一選定資訊,根據所述第一選定資訊選定在所述第一虛擬機器上創建所述啟動標識。
- 如請求項6所述的應用程式啟動方法,其中,所述虛擬化層主機確定所述啟動資訊,包括: 所述虛擬化層主機接收第一指定資訊,根據所述第一指定資訊確定所述啟動資訊,所述第一指定資訊用於指定為所述應用程式創建所述啟動標識。
- 如請求項6所述的應用程式啟動方法,其中,在所述虛擬化層主機確定所述啟動資訊之前,還包括: 所述第二虛擬機器確定所述啟動資訊; 所述虛擬化層主機接收所述第二虛擬機器發送的所述啟動資訊,確定所述啟動資訊。
- 如請求項9所述的應用程式啟動方法,其中,在所述虛擬化層主機接收所述第二虛擬機器發送的所述啟動資訊,確定所述啟動資訊之前,還包括: 所述第二虛擬機器接收第二選定資訊,根據所述第二選定資訊選定在所述第一虛擬機器上創建所述啟動標識。
- 如請求項9所述的應用程式啟動方法,其中,所述第二虛擬機器確定所述啟動資訊,包括: 所述第二虛擬機器接收第二指定資訊,根據所述第二指定資訊確定所述啟動資訊,所述第二指定資訊用於指定為所述應用程式創建所述啟動標識;或者 所述第二虛擬機器在安裝所述應用程式時確定所述運行啟動資訊。
- 一種應用程式啟動裝置,所述裝置包括: 啟動指令接收模組,用於通過第一虛擬機器接收啟動第二虛擬機器的應用程式的啟動指令; 啟動資訊獲取模組,用於獲取所述啟動指令對應的啟動資訊,所述啟動資訊包括所述第二虛擬機器的資訊和所述第二虛擬機器的應用程式的資訊; 虛擬機器啟動模組,用於根據所述第二虛擬機器的資訊啟動所述第二虛擬機器; 應用程式啟動模組,用於根據所述第二虛擬機器的應用程式的資訊啟動所述第二虛擬機器的應用程式。
- 如請求項12所述的應用程式啟動裝置,其中, 所述第二虛擬機器的資訊包括所述第二虛擬機器的標識或者所述第二虛擬機器的啟動參數。
- 如請求項12所述的應用程式啟動裝置,其中, 所述應用程式的資訊包括所述應用程式的標識, 所述應用程式啟動模組,用於根據所述應用程式的標識確定應用程式的執行資訊,根據所述應用程式的執行資訊啟動所述第二虛擬機器的應用程式;或者 所述應用程式的資訊包括所述應用程式的執行資訊, 所述應用程式啟動模組,用於根據所述應用程式的執行資訊啟動所述第二虛擬機器的應用程式。
- 如請求項12至14中任一項所述的應用程式啟動裝置,其中,所述裝置還包括: 啟動資訊接收模組,用於接收所述啟動資訊; 啟動標識創建模組,用於創建與所述啟動資訊關聯的啟動標識; 所述啟動指令接收模組,用於接收所述啟動標識被觸發產生的,啟動第二虛擬機器的應用程式的啟動指令; 所述啟動資訊接收模組、所述啟動標識創建模組和所述啟動指令接收模組位於所述第一虛擬機器。
- 如請求項15所述的應用程式啟動裝置,其中,所述啟動標識創建模組,還用於為所述啟動標識添加所述第二虛擬機器的標記。
- 如請求項15所述的應用程式啟動裝置,其中,所述裝置還包括: 第一啟動資訊確定模組,用於確定所述啟動資訊; 所述第一啟動資訊確定模組位於虛擬化層主機; 所述啟動資訊接收模組用於接收所述第一啟動資訊確定模組發送的所述啟動資訊。
- 如請求項17所述的應用程式啟動裝置,其中,所述裝置還包括: 第一選定模組,用於接收第一選定資訊,根據所述第一選定資訊選定在所述第一虛擬機器上創建所述啟動標識; 所述第一選定模組位於所述虛擬化層主機。
- 如請求項17所述的應用程式啟動裝置,其中, 所述第一啟動資訊確定模組,用於接收第一指定資訊,根據所述第一指定資訊確定所述啟動資訊,所述第一指定資訊用於指定為所述應用程式創建所述啟動標識。
- 如請求項17所述的應用程式啟動裝置,其中,所述裝置還包括: 第二啟動資訊確定模組,用於確定所述啟動資訊; 所述第二啟動資訊確定模組位於所述第二虛擬機器; 所述第一啟動資訊確定模組,用於接收所述第二啟動資訊確定模組發送的所述啟動資訊,確定所述啟動資訊。
- 如請求項20所述的應用程式啟動裝置,其中,所述裝置還包括: 第二選定模組,用於接收第二選定資訊,根據所述第二選定資訊選定在所述第一虛擬機器上創建所述啟動標識; 所述第二選定模組位於所述第二虛擬機器。
- 如請求項20所述的應用程式啟動裝置,其中, 所述第二啟動資訊確定模組,用於接收第二指定資訊,根據所述第二指定資訊確定所述啟動資訊,所述第二指定資訊用於指定為所述應用程式創建所述啟動標識;或者 所述第二啟動資訊確定模組,用於在安裝所述應用程式時確定所述運行啟動資訊。
- 一種存儲有電腦程式的電腦可讀存儲介質,當電腦載入所述程式並執行後,可完成如請求項1-11任意一項所述的應用程式啟動方法。
- 一種電腦程式產品,當電腦載入所述電腦程式並執行後,可完成如請求項1-11任意一項所述的應用程式啟動方法。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2016/077334 WO2017161559A1 (zh) | 2016-03-25 | 2016-03-25 | 一种应用程序启动方法及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW201734783A true TW201734783A (zh) | 2017-10-01 |
Family
ID=59624634
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106110043A TW201734783A (zh) | 2016-03-25 | 2017-03-24 | 一種應用程式啟動方法及裝置 |
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) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110162389B (zh) * | 2019-05-15 | 2022-05-13 | 广州视源电子科技股份有限公司 | 应用程序的启动方法、装置和智能交互设备 |
| CN112015475B (zh) * | 2019-05-30 | 2021-11-12 | 杭州海康威视数字技术股份有限公司 | 一种应用程序启动方法及装置 |
| WO2022181898A1 (ko) * | 2021-02-26 | 2022-09-01 | 엘지전자 주식회사 | 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치 |
| KR20240062353A (ko) * | 2022-10-31 | 2024-05-09 | 삼성전자주식회사 | 가상 공간의 정보를 제공하기 위한 전자 장치 및 그 방법 |
Family Cites Families (20)
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| US7987432B1 (en) | 2006-04-25 | 2011-07-26 | Parallels Holdings, Ltd. | Seamless integration and installation of non-native application 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 |
| WO2011114655A1 (ja) * | 2010-03-16 | 2011-09-22 | パナソニック株式会社 | 情報処理装置、仮想マシン生成方法及びアプリ配信システム |
| 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 |
| CN102591671A (zh) * | 2011-01-14 | 2012-07-18 | 鸿富锦精密工业(深圳)有限公司 | 在虚拟环境中启动应用程序的方法 |
| 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 | 华为技术有限公司 | 启动应用的方法、服务器和系统 |
| CN102938703A (zh) * | 2011-08-15 | 2013-02-20 | 联想(北京)有限公司 | 一种应用管理方法及设备 |
| CN103257889B (zh) * | 2012-02-17 | 2018-05-01 | 联想(北京)有限公司 | 用于混合式架构系统的应用程序管理装置及管理方法 |
| CN102662741B (zh) * | 2012-04-05 | 2014-04-02 | 华为技术有限公司 | 虚拟桌面的实现方法、装置和系统 |
| CN102968342B (zh) * | 2012-11-12 | 2015-03-11 | 华中科技大学 | 嵌入式平台下半虚拟化的快速切换客户操作系统的方法 |
-
2016
- 2016-03-25 WO PCT/CN2016/077334 patent/WO2017161559A1/zh not_active Ceased
- 2016-03-25 EP EP16877914.8A patent/EP3252599B1/en active Active
- 2016-03-25 CN CN201680002930.8A patent/CN107077577B/zh active Active
- 2016-03-25 JP JP2017540903A patent/JP6530816B2/ja active Active
-
2017
- 2017-03-24 TW TW106110043A patent/TW201734783A/zh unknown
- 2017-07-18 US US15/652,609 patent/US10430207B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP6530816B2 (ja) | 2019-06-12 |
| CN107077577A (zh) | 2017-08-18 |
| EP3252599B1 (en) | 2021-02-17 |
| US20170315829A1 (en) | 2017-11-02 |
| EP3252599A4 (en) | 2018-05-02 |
| JP2018517948A (ja) | 2018-07-05 |
| WO2017161559A1 (zh) | 2017-09-28 |
| EP3252599A1 (en) | 2017-12-06 |
| US10430207B2 (en) | 2019-10-01 |
| CN107077577B (zh) | 2021-10-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11164280B2 (en) | Graphics layer processing in a multiple operating systems framework | |
| US10503532B2 (en) | Creating a virtual machine clone of the host computing device and handling of virtual machine clone requests via an I/O filter | |
| US10216585B2 (en) | Enabling disk image operations in conjunction with snapshot locking | |
| US10511674B2 (en) | Gesture based switching of virtual desktop clients | |
| US9015705B2 (en) | Computing device having a migrated virtual machine accessing physical storage space on another computing device | |
| US9542174B2 (en) | Deployment of software images with distinct configuration logic | |
| US20160378528A1 (en) | Propagating changes from a virtual machine clone to a physical host device | |
| US9547514B2 (en) | Maintaining virtual hardware device ID in a virtual machine | |
| WO2016095383A1 (zh) | 一种实现应用调用的方法及虚拟机 | |
| TW201635134A (zh) | 一種語音控制方法及裝置 | |
| EP3633533B1 (en) | Electronic apparatus and controlling method thereof | |
| US8863120B2 (en) | Launching a software application in a virtual environment | |
| WO2017157175A1 (zh) | 一种应用启动方法、装置和智能终端 | |
| TW201734783A (zh) | 一種應用程式啟動方法及裝置 | |
| US8589525B2 (en) | Enhanced reboot command | |
| EP3400524A1 (en) | Acquiring location information for logical partition within virtual machine | |
| CN106713042A (zh) | 一种确定网络拓扑方法及装置 | |
| US11263082B2 (en) | Data recovery of guest virtual machines | |
| CN106557354B (zh) | 设置私有镜像的属性参数的方法及计算机设备 | |
| WO2020064000A1 (zh) | 一种消息框的显示方法及装置、终端、存储介质 | |
| US9292318B2 (en) | Initiating software applications requiring different processor architectures in respective isolated execution environment of an operating system | |
| US12147530B2 (en) | Deploying enclaves on different tee backends using a universal enclave binary | |
| WO2024087958A1 (zh) | 应用的功能界面的打开方法、装置和终端设备 | |
| HK1239886B (zh) | 一种应用程序啓动方法及装置 | |
| HK1239886A1 (zh) | 一种应用程序啓动方法及装置 |