本發(fā)明涉及虛擬化技術領域,特別涉及一種應用程序啟動方法及裝置。
背景技術:
移動終端已成為用戶日常工作生活的重要工具,在移動終端推動移動互聯(lián)網(wǎng)快速發(fā)展的同時,移動終端安全問題也日益嚴峻,引起社會的廣泛關注。移動虛擬化允許多個操作系統(tǒng)或者虛擬機同時運行在移動手機或者無線手持設備上,通過移動虛擬化,用戶無需攜帶兩臺或多臺移動設備,可在一個物理手持設備上訪問多個虛擬機、多個操作系統(tǒng),移動虛擬化在安全性方面具有顯著的特性。通過虛擬化技術帶來的隔離性可實現(xiàn)單一終端上多個操作系統(tǒng)的隔離,避免各操作系統(tǒng)上的進程對其他操作系統(tǒng)產(chǎn)生不利影響,典型的應用場景為通過虛擬化技術在手機等移動設備上實現(xiàn)企業(yè)系統(tǒng)和個人系統(tǒng)的分離,防范個人系統(tǒng)上的進程給企業(yè)帶來的潛在危害,滿足一些具有安全要求的企業(yè)對“自帶設備”(byod)的需求。
虛擬化系統(tǒng)架構中處于底層的是硬件系統(tǒng),主要包括處理器、內(nèi)存和輸入輸出設備等。在硬件系統(tǒng)之上為安全獨立的軟件運行環(huán)境虛擬化層,在虛擬化層運行虛擬機監(jiān)控器(縮寫為vmm或稱為hypervisor)。hypervisor的主要職能是:管理真實的物理硬件平臺,并為每個虛擬客戶機提供對應的虛擬硬件平臺。hypervisor通過主機(host)實現(xiàn)前述職能。
圖1為現(xiàn)有技術中虛擬化系統(tǒng)示意圖,所述系統(tǒng)具有3個虛擬機,每個虛擬機可看作一個小的但是完整的計算機系統(tǒng),具有自己的“系統(tǒng)硬件”,包括自己的處理器、內(nèi)存和輸入輸出設備,在各虛擬機的計算機系統(tǒng)上運行著虛擬機自己的操作系統(tǒng)(guestos),例如android、windows或linux等。用戶可在各虛擬機間切換,以實現(xiàn)隔離的使用各虛擬機上的不同應用程序。當終端處于虛擬機1的操作系統(tǒng)環(huán)境下,用戶需要打開其他虛擬機(例如虛擬機2)中的某個應用時,現(xiàn)有的切換方法通常為:首先關閉虛擬機1的操作系統(tǒng),從主機啟動虛擬機2的操作系統(tǒng),進而找到應用程序再啟動該應用程序;或者需要用戶手動切換至虛擬機2的操作系統(tǒng)再找到應用程序并啟動。
現(xiàn)有技術的不足主要在于:跨虛擬機應用的啟動需要用戶切換虛擬機和尋找應用程序等多步操作,過程復雜。尤其當涉及多個虛擬機的不同應用時,需要手動在各虛擬機間多次切換,各操作系統(tǒng)的啟動和關閉將耗費用戶過多精力,使用戶操作不易上手,使用不便。
技術實現(xiàn)要素:
本申請實施例提出了解決上述問題的技術方案,使用戶可在第一虛擬機的操作環(huán)境下直接啟動第二虛擬機的應用程序,無需用戶切換操作系統(tǒng)再尋找應用程序等,用戶操作便捷。
在一個方面,本申請實施例提供了一種應用程序啟動方法,其特征在于,所述方法包括:
通過第一虛擬機接收啟動第二虛擬機的應用程序的啟動指令,獲取所述啟動指令對應的啟動信息,所述啟動信息包括所述第二虛擬機的信息和所述第二虛擬機的應用程序的信息;
根據(jù)所述第二虛擬機的信息啟動所述第二虛擬機,以及,根據(jù)所述第二虛擬機的應用程序的信息啟動所述第二虛擬機的應用程序。
優(yōu)選的,所述第二虛擬機的信息包括所述第二虛擬機的標識或者所述第二虛擬機的啟動參數(shù)。
優(yōu)選的,所述應用程序的信息包括所述應用程序的標識,所述根據(jù)所述第二虛擬機的應用程序的信息啟動所述第二虛擬機的應用程序,包括:根據(jù)所述應用程序的標識確定應用程序的執(zhí)行信息,根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機的應用程序;或者,所述應用程序的信息包括應用程序的執(zhí)行信息,所述根據(jù)所述第二虛擬機的應用程序的信息啟動所述第二虛擬機的應用程序,包括:根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機的應用程序。
優(yōu)選的,在所述通過第一虛擬機接收啟動第二虛擬機的應用程序的啟動指令之前,還包括:所述第一虛擬機接收所述啟動信息,創(chuàng)建與所述啟動信息關聯(lián)的啟動標識;所述通過第一虛擬機接收啟動第二虛擬機的應用程序的啟動指令,包括:通過所述第一虛擬機接收所述啟動標識被觸發(fā)產(chǎn)生的,啟動第二虛擬機的應用程序的啟動指令。
優(yōu)選的,所述創(chuàng)建與所述啟動信息關聯(lián)的啟動標識,還包括:為所述啟動標識添加所述第二虛擬機的標記。
優(yōu)選的,所述第一虛擬機接收所述啟動信息,包括:虛擬化層主機確定所述啟動信息;所述第一虛擬機接收所述虛擬化層主機發(fā)送的所述啟動信息。
優(yōu)選的,在所述第一虛擬機接收所述虛擬化層主機發(fā)送的所述啟動信息之前,還包括:所述虛擬化層主機接收第一選定信息,根據(jù)所述第一選定信息選定在所述第一虛擬機上創(chuàng)建所述啟動標識。
優(yōu)選的,所述虛擬化層主機確定所述啟動信息,包括:所述虛擬化層主機接收第一指定信息,根據(jù)所述第一指定信息確定所述啟動信息,所述第一指定信息用于指定為所述應用程序創(chuàng)建所述啟動標識。
優(yōu)選的,在所述虛擬化層主機確定所述啟動信息之前,還包括:所述第二虛擬機確定所述啟動信息;所述虛擬化層主機接收所述第二虛擬機發(fā)送的所述啟動信息,確定所述啟動信息。
優(yōu)選的,在所述虛擬化層主機接收所述第二虛擬機發(fā)送的所述啟動信息,確定所述啟動信息之前,還包括:所述第二虛擬機接收第二選定信息,根據(jù)所述第二選定信息選定在所述第一虛擬機上創(chuàng)建所述啟動標識。
優(yōu)選的,所述第二虛擬機確定所述啟動信息,包括:所述第二虛擬機接收第二指定信息,根據(jù)所述第二指定信息確定所述啟動信息,所述第二指定信息用于指定為所述應用程序創(chuàng)建所述啟動標識;或者所述第二虛擬機在安裝所述應用程序時確定所述運行啟動信息。
在另一個方面,本申請實施例提供了一種應用程序啟動裝置,其特征在于,所述裝置包括:
啟動指令接收模塊,用于通過第一虛擬機接收啟動第二虛擬機的應用程序的啟動指令;
啟動信息獲取模塊,用于獲取所述啟動指令對應的啟動信息,所述啟動信息包括所述第二虛擬機的信息和所述第二虛擬機的應用程序的信息;
虛擬機啟動模塊,用于根據(jù)所述第二虛擬機的信息啟動所述第二虛擬機;
應用程序啟動模塊,用于根據(jù)所述第二虛擬機的應用程序的信息啟動所述第二虛擬機的應用程序。
優(yōu)選的,所述第二虛擬機的信息包括所述第二虛擬機的標識或者所述第二虛擬機的啟動參數(shù)。
優(yōu)選的,所述應用程序的信息包括所述應用程序的標識,所述應用程序啟動模塊,用于根據(jù)所述應用程序的標識確定應用程序的執(zhí)行信息,根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機的應用程序;或者,所述應用程序的信息包括應用程序的執(zhí)行信息,所述應用程序啟動模塊,用于根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機的應用程序。
優(yōu)選的,所述裝置還包括:啟動信息接收模塊,用于接收所述啟動信息;
啟動標識創(chuàng)建模塊,用于創(chuàng)建與所述啟動信息關聯(lián)的啟動標識;所述啟動指令接收模塊,用于接收所述啟動標識被觸發(fā)產(chǎn)生的,啟動第二虛擬機的應用程序的啟動指令;所述啟動信息接收模塊、所述啟動標識創(chuàng)建模塊和所述啟動指令接收模塊位于所述第一虛擬機。
優(yōu)選的,所述裝置還包括:第一啟動信息確定模塊,用于確定所述啟動信息;所述第一啟動信息確定模塊位于虛擬化層主機;所述啟動信息接收模塊用于接收所述第一啟動信息確定模塊發(fā)送的所述啟動信息。
優(yōu)選的,所述裝置還包括:第一選定模塊,用于接收第一選定信息,根據(jù)所述第一選定信息選定在所述第一虛擬機上創(chuàng)建所述啟動標識;所述第一選定模塊位于所述虛擬化層主機。
優(yōu)選的,所述第一啟動信息確定模塊,用于接收第一指定信息,根據(jù)所述第一指定信息確定所述啟動信息,所述第一指定信息用于指定為所述應用程序創(chuàng)建所述啟動標識。
優(yōu)選的,所述裝置還包括:第二啟動信息確定模塊,用于確定所述啟動信息;所述第二啟動信息確定模塊位于所述第二虛擬機;所述第一啟動信息確定模塊,用于接收所述第二啟動信息確定模塊發(fā)送的所述啟動信息,確定所述啟動信息。
優(yōu)選的,所述裝置還包括:第二選定模塊,用于接收第二選定信息,根據(jù)所述第二選定信息選定在所述第一虛擬機上創(chuàng)建所述啟動標識;
所述第二選定模塊位于所述第二虛擬機。
優(yōu)選的,所述第二啟動信息確定模塊,用于接收第二指定信息,根據(jù)所述第二指定信息確定所述啟動信息,所述第二指定信息用于指定為所述應用程序創(chuàng)建所述啟動標識;或者所述第二啟動信息確定模塊,用于在安裝所述應用程序時確定所述運行啟動信息。
本申請的有益效果如下:本申請中通過第一虛擬機接收啟動第二虛擬機的應用程序的啟動指令,獲取所述啟動指令對應的啟動信息,所述啟動信息包括所述第二虛擬機的信息和所述第二虛擬機的應用程序的信息;根據(jù)所述第二虛擬機的信息啟動所述第二虛擬機,以及,根據(jù)所述第二虛擬機的應用程序的信息啟動所述第二虛擬機的應用程序。
本申請使用戶可在第一虛擬機的操作環(huán)境下直接啟動第二虛擬機的應用程序,無需用戶切換操作系統(tǒng)再尋找應用程序等,用戶操作便捷。
附圖說明
下面將參照附圖描述本發(fā)明的具體實施例,其中:
圖1示出了現(xiàn)有技術中虛擬化系統(tǒng)架構示意圖;
圖2示出了本申請實施例一中應用程序啟動方法的流程示意圖;
圖3示出了本申請實施例二中應用程序啟動方法的流程示意圖;
圖4示出了本申請實施例二中第一虛擬機顯示界面示意圖;
圖5示出了本申請實施例三中應用程序啟動方法的流程示意圖;
圖6示出了本申請實施例四中應用程序啟動方法的流程示意圖;
圖7示出了本申請實施例五應用程序啟動裝置的結(jié)構示意圖;
圖8示出了本申請實施例六應用程序啟動裝置的結(jié)構示意圖;
圖9示出了本申請實施例七應用程序啟動裝置的結(jié)構示意圖;
圖10示出了本申請實施例八應用程序啟動裝置的結(jié)構示意圖。
具體實施方式
為了使本發(fā)明的技術方案及優(yōu)點更加清楚明白,以下結(jié)合附圖對本發(fā)明的示例性實施例進行進一步詳細的說明,顯然,所描述的實施例僅是本發(fā)明的一部分實施例,而不是所有實施例的窮舉。并且在不沖突的情況下,本說明中的實施例及實施例中的特征可以互相結(jié)合。
發(fā)明人在發(fā)明過程中注意到:現(xiàn)有技術中,終端上已經(jīng)可以運行多個虛擬機,用戶可在各虛擬機間切換,以實現(xiàn)隔離的使用各虛擬機上的不同應用程序。但是跨虛擬機應用的啟動需要用戶切換虛擬機和尋找應用程序等多步操作,過程復雜。尤其當涉及多個虛擬機的不同應用時,需要手動在各虛擬機間多次切換,各操作系統(tǒng)的啟動和關閉將耗費用戶過多精力,使用戶操作不易上手,使用不便。
針對上述不足,本發(fā)明實施例提出了通過第一虛擬機接收啟動第二虛擬機的應用程序的啟動指令,獲取所述啟動指令對應的啟動信息,所述啟動信息包括所述第二虛擬機的信息和所述第二虛擬機的應用程序的信息;根據(jù)所述第二虛擬機的信息啟動所述第二虛擬機,以及根據(jù)所述第二虛擬機的應用程序的信息啟動所述第二虛擬機的應用程序,使用戶可在第一虛擬機的操作環(huán)境下直接啟動第二虛擬機的應用程序,無需用戶切換操作系統(tǒng)再尋找應用程序等,用戶操作便捷。
本申請中的第一虛擬機和第二虛擬機為運行于統(tǒng)一虛擬化層之上的虛擬機,并且該虛擬化層之上還可運行其他一個或多個數(shù)量不限的虛擬機。所述第一虛擬機、第二虛擬機、其他一個或多個數(shù)量不限的虛擬機(如果有)和虛擬化層均運行于一個設備中,或者運行于若干個物理設備組成的設備系統(tǒng)中。
為了便于本發(fā)明的實施,下面以實例進行說明。
圖2示出了本發(fā)明實施例一中應用程序啟動方法的流程示意圖,如圖所示,包括:
步驟201、通過第一虛擬機接收啟動第二虛擬機的應用程序的啟動指令;
在步驟201中,所述設備通過第一虛擬機接收啟動第二虛擬機的應用程序的啟動指令。此處的啟動指令通過硬件用戶接口接收,例如通過觸摸屏、鍵盤或鼠標點擊等,該硬件用戶接口為受所述第一虛擬機調(diào)用的相關硬件。所述啟動指令指向于啟動第二虛擬機上的某一應用程序,即從第一虛擬機獲取另一虛擬機的應用程序的啟動指令。
第二虛擬機上可以運行了一個操作系統(tǒng),所述應用程序運行于該操作系統(tǒng)(即類似于圖1中虛擬機1和虛擬機2的形式);或者所述第二虛擬機未運行某一操作系統(tǒng),而是直接配置了所述應用程序的運行環(huán)境,并且該虛擬機專用于運行該應用程序(即類似于圖1中虛擬機3的形式)。
步驟202、獲取所述啟動指令對應的啟動信息,所述啟動信息包括所述第二虛擬機的信息和所述第二虛擬機的應用程序的信息;
在步驟202中,所述設備接收到所述啟動指令后,依據(jù)該啟動指令獲取對應的啟動信息,即接收到用戶需要啟動第二虛擬機上的某個應用程序的啟動指令后,獲取該應用程序的啟動信息。這里的啟動信息是存儲在所述第一虛擬機的,包括所述啟動指令對應的第二虛擬機的信息和所述第二虛擬機的應用程序的信息。啟動信息需要同時包括所述第二虛擬機和所述應用程序的相關信息,以使設備能夠一次性獲取這兩方面信息,并連續(xù)的執(zhí)行啟動所述第二虛擬機和啟動所述運行于所述第二虛擬機上的應用程序。
優(yōu)選的,所述第二虛擬機的信息包括所述第二虛擬機的標識或者所述第二虛擬機的啟動參數(shù)。
優(yōu)選的,所述第二虛擬機的應用程序的信息包括所述應用程序的標識,或者所述應用程序的執(zhí)行信息。
步驟203、根據(jù)所述第二虛擬機的信息啟動所述第二虛擬機;
在步驟203中,根據(jù)步驟202中獲取的所述第二虛擬機的信息啟動所述第二虛擬機。當所述第二虛擬機的信息包括第二虛擬機的標識時,設備需要根據(jù)該標識確定需要啟動是第二虛擬機,并相應的獲取所述第二虛擬機的啟動參數(shù),實現(xiàn)啟動所述第二虛擬機,這種情況下第一虛擬機需要存儲的第二虛擬機的信息更精煉,但啟動虛擬機的時間會稍長;當所述第二虛擬機的信息已經(jīng)包括了所述第二虛擬機的啟動參數(shù)時,可直接實現(xiàn)啟動所述第二虛擬機,這種情況下第一虛擬機需要存儲的第二虛擬機的信息更豐富,占用內(nèi)存稍大,但是啟動虛擬機的時間會稍短,不需要每次啟動都匹配相關啟動參數(shù)。
步驟204、根據(jù)所述第二虛擬機的應用程序的信息啟動所述第二虛擬機的應用程序。
在步驟204中,根據(jù)步驟202中獲取的所述第二虛擬機的應用程序的信息啟動所述第二虛擬機的應用程序。當所述第二虛擬機的應用程序的信息包括所述應用程序的標識時,設備需要根據(jù)該標識確定需要啟動的是第二虛擬機上的哪個程序,并根據(jù)所述應用程序的標識確定所述應用程序的執(zhí)行信息,這里的執(zhí)行信息包括應用程序名稱、應用程序路徑和執(zhí)行參數(shù)等,進而根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機的應用程序,這種情況下第一虛擬機需要存儲的第二虛擬機的應用程序的信息更精煉,但啟動所述應用的時間會稍長;當所述第二虛擬機的應用程序的信息包括所述應用程序的執(zhí)行信息時,可直接實現(xiàn)根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機的應用程序,這種情況下第一虛擬機需要存儲的第二虛擬機的應用程序的信息更豐富,占用內(nèi)存稍大,但是啟動應用程序的時間會稍短,不需要每次啟動都匹配相關的執(zhí)行信息。
有益效果:本實施例中,用戶可在第一虛擬機的操作環(huán)境下直接啟動第二虛擬機的應用程序,無需用戶切換操作系統(tǒng)再尋找應用程序等,用戶操作便捷。
圖3示出了本發(fā)明實施例二中應用程序啟動方法的流程示意圖,如圖所示,包括:
步驟301、第一虛擬機接收啟動信息,所述啟動信息包括第二虛擬機的信息和第二虛擬機的應用程序的信息;
步驟302、創(chuàng)建與所述啟動信息關聯(lián)的啟動標識;
本實施例中的301和302步驟用于在第一虛擬機上創(chuàng)建用于啟動第二虛擬機的應用程序的啟動標識,使用戶可以通過觸發(fā)該標識產(chǎn)生第二虛擬機的應用程序的啟動指令。
在步驟301中,即創(chuàng)建啟動標識前,第一虛擬機需要先接收第二虛擬機的應用程序的啟動信息,并將其存儲在第一虛擬機關聯(lián)的內(nèi)存中。
所述啟動信息包括第二虛擬機的信息和第二虛擬機的應用程序的信息。啟動信息需要同時包括所述第二虛擬機和所述應用程序的相關信息,以使設備能夠一次性獲取這兩方面信息,并連續(xù)的執(zhí)行啟動所述第二虛擬機和啟動所述運行于所述第二虛擬機上的應用程序。
優(yōu)選的,所述第二虛擬機的信息包括所述第二虛擬機的標識或者所述第二虛擬機的啟動參數(shù)。
優(yōu)選的,所述第二虛擬機的應用程序的信息包括所述應用程序的標識,或者所述應用程序的執(zhí)行信息。
在步驟302中,根據(jù)步驟301中接收的所述第二虛擬機的應用程序的啟動信息,創(chuàng)建與所述啟動信息關聯(lián)的啟動標識,所述啟動標識用于通過設備的顯示屏、觸摸顯示屏等硬件設備展示給用戶。實踐中所述啟動標識可以為快捷方式(shortcut)圖標、菜單欄中某一個菜單選項,或者也可以是窗口小部件(widget)等表現(xiàn)形式。步驟302中創(chuàng)建的啟動標識被觸發(fā)時,會產(chǎn)生啟動所述第二虛擬機的應用程序的啟動指令。
優(yōu)選的,所述創(chuàng)建與所述啟動信息關聯(lián)的啟動標識,還包括:為所述啟動標識添加所述第二虛擬機的標記。
當一個應用程序安裝在了第一虛擬機上,第一虛擬機上有該第一應用程序的啟動標識;并且,同一個應用程序也安裝在了第二虛擬機上,并在第一虛擬機上創(chuàng)建了與所述第二虛擬機的該應用程序的啟動信息關聯(lián)的啟動標識。前述情況下,因為每個應用程序通常有固有的應用程序標識,所以在第一虛擬機的顯示界面中,第一虛擬機的應用程序的啟動標識與第二虛擬機的應用程序的啟動標識可能難以被區(qū)分。為解決該問題,在創(chuàng)建與所述第二虛擬機的應用程序的啟動信息關聯(lián)的啟動標識時,為所述啟動標識添加所述第二虛擬機的標記。
圖4示出了本實施例中設備第一虛擬機顯示界面的示意圖,其中所述第一虛擬機和所述第二虛擬機均安裝了火狐郵件應用程序(foxmailapp),并且在第一虛擬機上創(chuàng)建了所述運行于第二虛擬機的foxmailapp的啟動標識,并且在該啟動標識上添加了所述第二虛擬機的標記“vm2”。
為所述啟動標識添加該應用程序?qū)嶋H運行的虛擬機的標識可幫助用戶容易的判斷每個應用實際運行的虛擬機。
步驟303、通過所述第一虛擬機接收所述啟動標識被觸發(fā)產(chǎn)生的,啟動第二虛擬機的應用程序的啟動指令;
步驟304、獲取所述啟動指令對應的啟動信息,所述啟動信息包括所述第二虛擬機的信息和所述第二虛擬機的應用程序的信息;
步驟305、根據(jù)所述第二虛擬機的信息啟動所述第二虛擬機;
步驟306、根據(jù)所述第二虛擬機的應用程序的信息啟動所述第二虛擬機的應用程序。
步驟303至步驟306與上述實施例中的步驟201至步驟204相似,相同的部分不再描述。
在本實施例中,步驟303和步驟304由第一虛擬機執(zhí)行,所述第一虛擬機獲取所述啟動信息后將其發(fā)送至虛擬化層主機;步驟305由虛擬化層主機執(zhí)行,并且在步驟306之前,虛擬化層主機將所述啟動信息中的所述第二虛擬機的應用程序的信息發(fā)送至所述第二虛擬機;步驟306由所述第二虛擬機執(zhí)行,其獲取虛擬化層主機發(fā)送的所述第二虛擬機的應用程序的信息后啟動所述應用。
圖5示出了本發(fā)明實施例三中應用程序啟動方法的流程示意圖,如圖所示,包括:
步驟501、虛擬化層主機確定啟動信息,所述啟動信息包括第二虛擬機的信息和第二虛擬機的應用程序的信息;
在步驟501中,用戶由虛擬化層運行的主機(host)的操作環(huán)境中開始發(fā)起創(chuàng)建啟動標識的過程。因為虛擬化架構中的虛擬化層(hypervisor)能夠獲得各虛擬機上運行的應用程序的信息,包括各應用程序的執(zhí)行信息以及該應用程序運行于哪個虛擬機等。因此可在主機(host)操作環(huán)境下,獲取用戶請求,確定為虛擬機上的哪個應用程序在另一個虛擬機上創(chuàng)建啟動標識。
這里的啟動信息包括第二虛擬機的信息和第二虛擬機的應用程序的信息。啟動信息需要同時包括所述第二虛擬機和所述應用程序的相關信息,以使第一虛擬機能夠一次性獲取虛擬化層主機發(fā)送的這兩方面信息,并使設備能夠連續(xù)的執(zhí)行啟動所述第二虛擬機和啟動所述運行于所述第二虛擬機上的應用程序。
優(yōu)選的,所述第二虛擬機的信息包括所述第二虛擬機的標識或者所述第二虛擬機的啟動參數(shù)。
優(yōu)選的,所述第二虛擬機的應用程序的信息包括所述應用程序的標識,或者所述應用程序的執(zhí)行信息。
優(yōu)選的,所述開始發(fā)起創(chuàng)建啟動標識的過程可以為:
所述虛擬化層主機接收第一指定信息,根據(jù)所述第一指定信息確定所述啟動信息,所述第一指定信息用于指定為所述應用程序創(chuàng)建所述啟動標識。
所述第一指定信息用于指定為哪個應用程序,或者為哪個虛擬機上的哪個應用程序在另一虛擬機上創(chuàng)建啟動標識。即當主機之上運行有多個虛擬機,每個虛擬機上又安裝有一個或多個應用時,可由用戶指定某一應用程序,操作更靈活。獲取所述第一指定信息的方式可以為用戶在彈出對話窗口點選或輸入,或者用戶指定某一文件夾目錄以批量指定該文件夾目錄下的應用程序(便于后續(xù)批量獲取該安裝目錄下的應用程序的啟動信息)等。在本實施例中用戶選定了某一第二虛擬機上運行的應用程序,基于該選定信息確定所述第二虛擬機的應用程序的啟動信息。指定應用程序的步驟是可選的,例如,當主機上僅運行有第一虛擬機和第二虛擬機兩個虛擬機的情況下,并且第二虛擬機上僅安裝了一個應用程序時,可以直接確定為哪個虛擬機上的哪個應用創(chuàng)建所述啟動標識。
優(yōu)選的,在步驟502之前執(zhí)行步驟5011:
步驟5011、在所述第一虛擬機接收所述虛擬化層主機發(fā)送的所述啟動信息之前,還包括:所述虛擬化層主機接收第一選定信息,根據(jù)所述第一選定信息選定在所述第一虛擬機上創(chuàng)建所述啟動標識。
在步驟5011中,所述第一選定信息用于選定在哪個虛擬機上創(chuàng)建所述啟動標識,即當主機之上運行有多個虛擬機時,可由用戶選擇在另外的哪個虛擬機上創(chuàng)建所述啟動標識,操作更靈活。獲取所述第一選定信息的方式可以為用戶在彈出對話窗口點選或輸入等。在本實施例中用戶選定了第一虛擬機,因此在后續(xù)步驟中將所述啟動信息發(fā)送至第一虛擬機。步驟5011的實施是可選的,例如,當主機上僅運行有第一虛擬機和第二虛擬機兩個虛擬機的情況下,或者已經(jīng)預先設定了一個專用于在其上創(chuàng)建所述啟動標識的虛擬機的情況下,可以不需要步驟5011即可確定在哪個虛擬機上創(chuàng)建所述啟動標識;
需要說明的是,本實施例的方案并不對步驟501和步驟5011的先后順序進行限定。
虛擬化層主機確定所述第二虛擬機的應用程序的啟動信息后,將其發(fā)送至所述第一虛擬機(該第一虛擬機可以是在步驟5011中選定的)。
步驟502、第一虛擬機接收所述虛擬化層主機發(fā)送的所述啟動信息。
步驟503、創(chuàng)建與所述啟動信息關聯(lián)的啟動標識;
步驟504、通過所述第一虛擬機接收所述啟動標識被觸發(fā)產(chǎn)生的,啟動第二虛擬機的應用程序的啟動指令;
步驟505、獲取所述啟動指令對應的啟動信息,所述啟動信息包括所述第二虛擬機的信息和所述第二虛擬機的應用程序的信息;
步驟506、根據(jù)所述第二虛擬機的信息啟動所述第二虛擬機;
步驟507、根據(jù)所述第二虛擬機的應用程序的信息啟動所述第二虛擬機的應用程序。
步驟502至步驟507與上述實施例中的步驟301至步驟306相似。
圖6示出了本發(fā)明實施例四中應用程序啟動方法的流程示意圖,如圖所示,包括:
步驟601、第二虛擬機確定啟動信息,所述啟動信息包括第二虛擬機的信息和第二虛擬機的應用程序的信息;
在步驟601中,用戶由第二虛擬機的操作環(huán)境中開始發(fā)起創(chuàng)建啟動標識的過程。第二虛擬機中的某一應用程序的啟動標識可以在所述應用程序安裝時自動發(fā)起創(chuàng)建,或者可以在所述應用程序已經(jīng)在第二虛擬機中安裝完畢,由用戶發(fā)起所述應用程序的啟動標識的創(chuàng)建。
這里的啟動信息包括第二虛擬機的信息和第二虛擬機的應用程序的信息。啟動信息需要同時包括所述第二虛擬機和所述應用程序的相關信息,以使第二虛擬機能夠一次性將其發(fā)送至虛擬化層主機,進而發(fā)送至第一虛擬機,使第一虛擬機能夠一次性獲取這兩方面信息,并使設備能夠連續(xù)的執(zhí)行啟動所述第二虛擬機和啟動所述運行于所述第二虛擬機上的應用程序。
優(yōu)選的,所述第二虛擬機的信息包括所述第二虛擬機的標識或者所述第二虛擬機的啟動參數(shù)。
優(yōu)選的,所述第二虛擬機的應用程序的信息包括所述應用程序的標識,或者所述應用程序的執(zhí)行信息。
優(yōu)選的,所述開始發(fā)起創(chuàng)建啟動標識的過程可以為:
所述第二虛擬機接收第二指定信息,根據(jù)所述第二指定信息確定所述啟動信息,所述第二指定信息用于指定為所述應用程序創(chuàng)建所述啟動標識。
所述第二指定信息用于指定為該虛擬機上的哪個應用程序在另一虛擬機上創(chuàng)建啟動標識。即當該虛擬機上安裝有多個應用程序時,可由用戶指定某一應用程序,操作更靈活。獲取所述第一指定信息的方式可以為用戶在彈出對話窗口點選或輸入,或者用戶指定某一文件夾目錄以批量指定該文件夾目錄下的應用程序(便于后續(xù)批量獲取該安裝目錄下的應用程序的啟動信息)等。在本實施例中用戶選定了應用程序,基于該選定信息確定所述第二虛擬機的應用程序的啟動信息。指定應用程序的步驟是可選的,例如,當所述第二虛擬機上僅安裝了一個應用程序時,可以直接確定為哪個應用創(chuàng)建所述啟動標識。
優(yōu)選的,所述開始發(fā)起創(chuàng)建啟動標識的過程可以為:
所述第二虛擬機在安裝所述應用程序時確定所述運行啟動信息。
根據(jù)預先設定,用戶在第二虛擬機上安裝某一應用的過程中,可自動為當前安裝的應用程序在另一虛擬機上創(chuàng)建啟動標識,安裝過程中也可由用戶選擇是否創(chuàng)建啟動標識。
優(yōu)選的,在步驟602之前執(zhí)行步驟6011:
步驟6011、在所述虛擬化層主機接收所述第二虛擬機發(fā)送的所述啟動信息,確定所述啟動信息之前,還包括:所述第二虛擬機接收第二選定信息,根據(jù)所述第二選定信息選定在所述第一虛擬機上創(chuàng)建所述啟動標識。
在步驟6011中,所述第二選定信息用于選定在哪個虛擬機上創(chuàng)建所述啟動標識,即當主機之上運行有多個虛擬機時,可由用戶選擇在另外的哪個虛擬機上創(chuàng)建所述啟動標識。獲取所述第二選定信息的方式可以為用戶在彈出對話窗口點選或輸入等。在本實施例中用戶選定了第一虛擬機,因此在后續(xù)步驟中將所述啟動信息發(fā)送至虛擬化層主機后,虛擬化層主機會將所述啟動信息轉(zhuǎn)發(fā)至第一虛擬機。步驟6011的實施是可選的,例如,當主機上僅運行有第一虛擬機和第二虛擬機兩個虛擬機的情況下,或者已經(jīng)預先設定了一個專用于在其上創(chuàng)建所述啟動標識的虛擬機的情況下,可以不需要步驟6011即可確定在哪個虛擬機上創(chuàng)建所述啟動標識;
需要說明的是,本實施例的方案并不對步驟601和步驟6011的先后順序進行限定。
所述第二虛擬機確定所述第二虛擬機的應用程序的啟動信息后,將其發(fā)送至所述虛擬化層主機。
步驟602、虛擬化層主機接收所述第二虛擬機發(fā)送的所述啟動信息,確定所述啟動信息;
在步驟602中,虛擬化層主機接收所述第二虛擬機發(fā)送的所述啟動信息并確定所述第二虛擬機的應用程序的啟動信息后,將其發(fā)送至所述第一虛擬機。
因為該第一虛擬機可以是在步驟6011中選定的,因此如果在步驟6011中所述第二虛擬機接收了第二選定信息,需要將所述第二選定信息與所述啟動信息一同發(fā)送至虛擬化層主機,以使所述虛擬化層主機根據(jù)所述第二選定信息將所述啟動信息轉(zhuǎn)發(fā)至所述第一虛擬機。
步驟603、第一虛擬機接收所述虛擬化層主機發(fā)送的所述啟動信息。
步驟604、創(chuàng)建與所述啟動信息關聯(lián)的啟動標識;
步驟605、通過所述第一虛擬機接收所述啟動標識被觸發(fā)產(chǎn)生的,啟動第二虛擬機的應用程序的啟動指令;
步驟606、獲取所述啟動指令對應的啟動信息,所述啟動信息包括所述第二虛擬機的信息和所述第二虛擬機的應用程序的信息;
步驟607、根據(jù)所述第二虛擬機的信息啟動所述第二虛擬機;
步驟608、根據(jù)所述第二虛擬機的應用程序的信息啟動所述第二虛擬機的應用程序。
步驟603至步驟608與上述實施例中的步驟502至步驟507相似。
基于同一發(fā)明構思,本發(fā)明實施例中還提供了一種應用程序啟動裝置,由于這些設備解決問題的原理與一種應用程序啟動方法相似,因此這些設備的實施可以參見方法的實施,重復之處不再贅述。
圖7示出了本發(fā)明實施例五中應用程序啟動裝置的結(jié)構示意圖。
本申請實施例五中應用程序啟動裝置700包括:
啟動指令接收模塊701,用于通過第一虛擬機接收啟動第二虛擬機的應用程序的啟動指令;
啟動信息獲取模塊702,用于獲取所述啟動指令對應的啟動信息,所述啟動信息包括所述第二虛擬機的信息和所述第二虛擬機的應用程序的信息;
虛擬機啟動模塊703,用于根據(jù)所述第二虛擬機的信息啟動所述第二虛擬機;
應用程序啟動模塊704,用于根據(jù)所述第二虛擬機的應用程序的信息啟動所述第二虛擬機的應用程序。
優(yōu)選的,所述第二虛擬機的信息包括所述第二虛擬機的標識或者所述第二虛擬機的啟動參數(shù)。
優(yōu)選的,所述應用程序的信息包括所述應用程序的標識,
所述應用程序啟動模塊704,用于根據(jù)所述應用程序的標識確定應用程序的執(zhí)行信息,根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機的應用程序;
或者,
所述應用程序的信息包括所述應用程序的執(zhí)行信息,所述應用程序啟動模塊704,用于根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機的應用程序。
本申請實施例五中應用程序啟動裝置與本申請實施例一中應用程序啟動方法相對應。
圖8示出了本發(fā)明實施例六中應用程序啟動裝置的結(jié)構示意圖。
本申請實施例六中應用程序啟動裝置800包括:
啟動指令接收模塊813,用于通過第一虛擬機810接收啟動第二虛擬機830的應用程序的啟動指令;
啟動信息獲取模塊814,用于獲取所述啟動指令對應的啟動信息,所述啟動信息包括所述第二虛擬機830的信息和所述第二虛擬機830的應用程序的信息;
虛擬機啟動模塊821,用于根據(jù)所述第二虛擬機830的信息啟動所述第二虛擬機830;
應用程序啟動模塊831,用于根據(jù)所述第二虛擬機830的應用程序的信息啟動所述第二虛擬機830的應用程序。
虛擬機啟動模塊821位于虛擬化層主機820上,應用程序啟動模塊831位于第二虛擬機830。虛擬機啟動模塊821接收啟動信息獲取模塊814發(fā)送的與所述啟動指令對應的啟動信息,并將其中的所述第二虛擬機830的應用程序的信息發(fā)送至應用程序啟動模塊831。
優(yōu)選的,所述第二虛擬機830的信息包括所述第二虛擬機830的標識或者所述第二虛擬機830的啟動參數(shù)。
優(yōu)選的,所述應用程序的信息包括所述應用程序的標識,
所述應用程序啟動模塊831,用于根據(jù)所述應用程序的標識確定應用程序的執(zhí)行信息,根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機830的應用程序;
或者,
所述應用程序的信息包括所述應用程序的執(zhí)行信息,所述應用程序啟動模塊831,用于根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機830的應用程序。
優(yōu)選的,所述應用程序啟動裝置800還包括:
啟動信息接收模塊811,用于接收所述啟動信息;
啟動標識創(chuàng)建模塊812,用于創(chuàng)建與所述啟動信息關聯(lián)的啟動標識;
所述啟動指令接收模塊813,用于接收所述啟動標識被觸發(fā)產(chǎn)生的,啟動第二虛擬機830的應用程序的啟動指令;
所述啟動信息接收模塊811、所述啟動標識創(chuàng)建模塊812和所述啟動指令接收模塊813位于所述第一虛擬機810。
優(yōu)選的,所述啟動標識創(chuàng)建模塊812,還用于為所述啟動標識添加所述第二虛擬機的標記。
本申請實施例六中應用程序啟動裝置與本申請實施例二中應用程序啟動方法相對應。
圖9示出了本發(fā)明實施例七中應用程序啟動裝置的結(jié)構示意圖。
本申請實施例七中應用程序啟動裝置900包括:
啟動指令接收模塊913,用于通過第一虛擬機910接收啟動第二虛擬機930的應用程序的啟動指令;
啟動信息獲取模塊914,用于獲取所述啟動指令對應的啟動信息,所述啟動信息包括所述第二虛擬機930的信息和所述第二虛擬機930的應用程序的信息;
虛擬機啟動模塊921,用于根據(jù)所述第二虛擬機930的信息啟動所述第二虛擬機930;
應用程序啟動模塊931,用于根據(jù)所述第二虛擬機930的應用程序的信息啟動所述第二虛擬機930的應用程序。
虛擬機啟動模塊921位于虛擬化層主機920上,應用程序啟動模塊931位于第二虛擬機930。虛擬機啟動模塊921接收啟動信息獲取模塊914發(fā)送的與所述啟動指令對應的啟動信息,并將其中的所述第二虛擬機930的應用程序的信息發(fā)送至應用程序啟動模塊931。
優(yōu)選的,所述第二虛擬機930的信息包括所述第二虛擬機930的標識或者所述第二虛擬機930的啟動參數(shù)。
優(yōu)選的,所述應用程序的信息包括所述應用程序的標識,
所述應用程序啟動模塊931,用于根據(jù)所述應用程序的標識確定應用程序的執(zhí)行信息,根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機930的應用程序;
或者,
所述應用程序的信息包括所述應用程序的執(zhí)行信息,所述應用程序啟動模塊931,用于根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機930的應用程序。
優(yōu)選的,所述應用程序啟動裝置900還包括:
啟動信息接收模塊911,用于接收所述啟動信息;
啟動標識創(chuàng)建模塊912,用于創(chuàng)建與所述啟動信息關聯(lián)的啟動標識;
所述啟動指令接收模塊913,用于接收所述啟動標識被觸發(fā)產(chǎn)生的,啟動第二虛擬機930的應用程序的啟動指令;
所述啟動信息接收模塊911、所述啟動標識創(chuàng)建模塊912和所述啟動指令接收模塊913位于所述第一虛擬機910。
優(yōu)選的,所述啟動標識創(chuàng)建模塊912,還用于為所述啟動標識添加所述第二虛擬機的標記。
優(yōu)選的,所述應用程序啟動裝置900還包括:
第一啟動信息確定模塊922,用于確定所述啟動信息;
所述第一啟動信息確定模塊922位于虛擬化層主機920;
所述啟動信息接收模塊911用于接收所述第一啟動信息確定模塊922發(fā)送的所述啟動信息。
優(yōu)選的,所述應用程序啟動裝置裝置900還包括:
第一選定模塊923,用于接收第一選定信息,根據(jù)所述第一選定信息選定在所述第一虛擬機910上創(chuàng)建所述啟動標識;
所述第一選定模塊923位于所述虛擬化層主機920。
優(yōu)選的,所述第一啟動信息確定模塊922,用于接收第一指定信息,根據(jù)所述第一指定信息確定所述啟動信息,所述第一指定信息用于指定為所述應用程序創(chuàng)建所述啟動標識。
本申請實施例七中應用程序啟動裝置與本申請實施例三中應用程序啟動方法相對應。
圖10示出了本發(fā)明實施例八中應用程序啟動裝置的結(jié)構示意圖。
本申請實施例八中應用程序啟動裝置1000包括:
啟動指令接收模塊1013,用于通過第一虛擬機1010接收啟動第二虛擬機1030的應用程序的啟動指令;
啟動信息獲取模塊1014,用于獲取所述啟動指令對應的啟動信息,所述啟動信息包括所述第二虛擬機1030的信息和所述第二虛擬機1030的應用程序的信息;
虛擬機啟動模塊1021,用于根據(jù)所述第二虛擬機1030的信息啟動所述第二虛擬機1030;
應用程序啟動模塊1031,用于根據(jù)所述第二虛擬機1030的應用程序的信息啟動所述第二虛擬機1030的應用程序。
虛擬機啟動模塊1021位于虛擬化層主機1020上,應用程序啟動模塊1031位于第二虛擬機1030。虛擬機啟動模塊1021接收啟動信息獲取模塊1014發(fā)送的與所述啟動指令對應的啟動信息,并將其中的所述第二虛擬機1030的應用程序的信息發(fā)送至應用程序啟動模塊1031。
優(yōu)選的,所述第二虛擬機1030的信息包括所述第二虛擬機1030的標識或者所述第二虛擬機1030的啟動參數(shù)。
優(yōu)選的,所述應用程序的信息包括所述應用程序的標識,
所述應用程序啟動模塊1031,用于根據(jù)所述應用程序的標識確定應用程序的執(zhí)行信息,根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機1030的應用程序;
或者,
所述應用程序的信息包括所述應用程序的執(zhí)行信息,所述應用程序啟動模塊1031,用于根據(jù)所述應用程序的執(zhí)行信息啟動所述第二虛擬機1030的應用程序。
優(yōu)選的,所述應用程序啟動裝置1000還包括:
啟動信息接收模塊1011,用于接收所述啟動信息;
啟動標識創(chuàng)建模塊1012,用于創(chuàng)建與所述啟動信息關聯(lián)的啟動標識;
所述啟動指令接收模塊1013,用于接收所述啟動標識被觸發(fā)產(chǎn)生的,啟動第二虛擬機1030的應用程序的啟動指令;
所述啟動信息接收模塊1011、所述啟動標識創(chuàng)建模塊1012和所述啟動指令接收模塊1013位于所述第一虛擬機1010。
優(yōu)選的,所述啟動標識創(chuàng)建模塊1012,還用于為所述啟動標識添加所述第二虛擬機的標記。
優(yōu)選的,所述應用程序啟動裝置1000還包括:
第一啟動信息確定模塊1022,用于確定所述啟動信息;
所述第一啟動信息確定模塊1022位于虛擬化層主機1020;
所述啟動信息接收模塊1011用于接收所述第一啟動信息確定模塊1022發(fā)送的所述啟動信息。
優(yōu)選的,所述應用程序啟動裝置裝置1000還包括:
第一選定模塊1023,用于接收第一選定信息,根據(jù)所述第一選定信息選定在所述第一虛擬機1010上創(chuàng)建所述啟動標識;
所述第一選定模塊1023位于所述虛擬化層主機1020。
優(yōu)選的,所述第一啟動信息確定模塊1022,用于接收第一指定信息,根據(jù)所述第一指定信息確定所述啟動信息,所述第一指定信息用于指定為所述應用程序創(chuàng)建所述啟動標識。
優(yōu)選的,所述應用程序啟動裝置裝置1000還包括:
第二啟動信息確定模塊1032,用于確定所述啟動信息;
所述第二啟動信息確定模塊1032位于所述第二虛擬機1030;
所述第一啟動信息確定模塊1022,用于接收所述第二啟動信息確定模塊1032發(fā)送的所述啟動信息,確定所述啟動信息。
優(yōu)選的,所述應用程序啟動裝置裝置1000還包括:
第二選定模塊1033,用于接收第二選定信息,根據(jù)所述第二選定信息選定在所述第一虛擬機1010上創(chuàng)建所述啟動標識;
所述第二選定模塊1033位于所述第二虛擬機1030。
優(yōu)選的,所述第二啟動信息確定模塊1032,用于接收第二指定信息,根據(jù)所述第二指定信息確定所述啟動信息,所述第二指定信息用于指定為所述應用程序創(chuàng)建所述啟動標識;
或者
所述第二啟動信息確定模塊1032,用于在安裝所述應用程序時確定所述運行啟動信息。
本申請實施例八中應用程序啟動裝置與本申請實施例四中應用程序啟動方法相對應。
上述實施例中,均可以采用現(xiàn)有的功能元器件模塊來實施。例如,處理模塊可以采用現(xiàn)有的數(shù)據(jù)處理元器件,至少,現(xiàn)有定位技術中采用的定位服務器上便具備實現(xiàn)該功能元器件;至于接收模塊,則是任意一個具備信號傳輸功能的設備都具備的元器件;同時,處理模塊進行的a、n參數(shù)計算、強度調(diào)整等采用的都是現(xiàn)有的技術手段,本領域技術人員經(jīng)過相應的設計開發(fā)即可實現(xiàn)。
為了描述的方便,以上所述裝置的各部分以功能分為各種模塊或單元分別描述。當然,在實施本發(fā)明時可以把各模塊或單元的功能在同一個或多個軟件或硬件中實現(xiàn)。
本領域內(nèi)的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實施例,但本領域內(nèi)的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。