本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用程序的跨系統(tǒng)運行方法和裝置。
背景技術(shù):在傳統(tǒng)的計算機軟件領(lǐng)域,為了解決個人計算機上硬件的限制,以及降低用戶運行應(yīng)用程序的成本,應(yīng)用程序發(fā)布商采用B/S(Browser/Server,瀏覽器/服務(wù)器)結(jié)構(gòu)進(jìn)行應(yīng)用程序的發(fā)布,同樣在移動互聯(lián)網(wǎng)領(lǐng)域,面臨的這個問題會更加嚴(yán)重。目前,由于移動終端的硬件限制,移動終端不能執(zhí)行其它不同移動終端操作系統(tǒng)的應(yīng)用程序,并且較大的應(yīng)用程序在移動終端上執(zhí)行的速度很慢。
技術(shù)實現(xiàn)要素:本發(fā)明旨在至少解決上述技術(shù)問題之一。為此,本發(fā)明的第一個目的在于提出一種應(yīng)用程序的跨系統(tǒng)運行方法。該方法實現(xiàn)了在一個移動終端中運行不同平臺的應(yīng)用程序,解決了不同移動終端之間的兼容性問題,同時克服了移動終端的存儲和計算資源以及應(yīng)用程序版本之間的鴻溝,并且解決了移動終端擴容的問題。本發(fā)明的第二個目的在于提出一種應(yīng)用程序的跨系統(tǒng)運行裝置。本發(fā)明的第三個目的在于提出另一種應(yīng)用程序的跨系統(tǒng)運行方法。本發(fā)明的第四個目的在于提出另一種應(yīng)用程序的跨系統(tǒng)運行裝置。本發(fā)明的第五個目的在于提出一種應(yīng)用程序的跨系統(tǒng)運行系統(tǒng)。為了實現(xiàn)上述目的,本發(fā)明第一方面實施例的應(yīng)用程序的跨系統(tǒng)運行方法包括以下步驟:接收移動終端發(fā)送的應(yīng)用程序的啟動指令,其中,所述移動終端的運行環(huán)境為第一操作系統(tǒng),所述應(yīng)用程序的運行環(huán)境為第二操作系統(tǒng);根據(jù)所述啟動指令啟動所述應(yīng)用程序;接收所述移動終端發(fā)送的針對所述應(yīng)用程序的控制指令,并根據(jù)所述控制指令采用負(fù)載均衡分配所述第二操作系統(tǒng)的至少一個虛擬機;以及根據(jù)所述控制指令控制所述應(yīng)用程序運行在所述至少一個虛擬機中,并將運行結(jié)果發(fā)送至所述移動終端。根據(jù)本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行方法,移動終端可以借助云端服務(wù)器的虛擬機將應(yīng)用程序安裝存儲在云端服務(wù)器,當(dāng)用戶需要啟動該應(yīng)用程序時,可以從云端服務(wù)器獲取運行的應(yīng)用程序,從而實現(xiàn)了在一個移動終端中運行不同平臺的應(yīng)用程序,解決了不同移動終端之間的兼容性問題,同時克服了移動終端的存儲和計算資源以及應(yīng)用程序版本之間的鴻溝,并且解決了移動終端擴容的問題。為了實現(xiàn)上述目的,本發(fā)明第二方面實施例的應(yīng)用程序的跨系統(tǒng)運行裝置,包括:啟動指令接收模塊,用于接收移動終端發(fā)送的應(yīng)用程序的啟動指令,其中,所述移動終端的運行環(huán)境為第一操作系統(tǒng),所述應(yīng)用程序的運行環(huán)境為第二操作系統(tǒng);啟動模塊,用于根據(jù)所述啟動指令啟動所述應(yīng)用程序;控制指令接收模塊,用于接收所述移動終端發(fā)送的針對所述應(yīng)用程序的控制指令;虛擬機分配模塊,用于根據(jù)所述控制指令采用負(fù)載均衡分配所述第二操作系統(tǒng)的至少一個虛擬機;以及控制模塊,用于根據(jù)所述控制指令控制所述應(yīng)用程序運行在所述至少一個虛擬機中,并將運行結(jié)果發(fā)送至所述移動終端。根據(jù)本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行裝置,移動終端可以借助云端服務(wù)器的虛擬機將應(yīng)用程序安裝存儲在云端服務(wù)器,當(dāng)用戶需要啟動該應(yīng)用程序時,可以從云端服務(wù)器獲取運行的應(yīng)用程序,從而實現(xiàn)了在一個移動終端中運行不同平臺的應(yīng)用程序,解決了不同移動終端之間的兼容性問題,同時克服了移動終端的存儲和計算資源以及應(yīng)用程序版本之間的鴻溝,并且解決了移動終端擴容的問題。為了實現(xiàn)上述目的,本發(fā)明第三方面實施例的應(yīng)用程序的跨系統(tǒng)運行方法包括以下步驟:發(fā)送應(yīng)用程序的啟動指令至云端服務(wù)器,以使得所述云端服務(wù)器根據(jù)所述啟動指令啟動所述應(yīng)用程序,其中,所述移動終端的運行環(huán)境為第一操作系統(tǒng),所述應(yīng)用程序的運行環(huán)境為第二操作系統(tǒng);接收用戶針對所述應(yīng)用程序的控制指令,并將所述控制指令發(fā)送至所述云端服務(wù)器,其中,所述云端服務(wù)器根據(jù)所述控制指令采用負(fù)載均衡分配所述第二操作系統(tǒng)的至少一個虛擬機,并根據(jù)所述控制指令控制所述應(yīng)用程序運行在所述至少一個虛擬機中;以及接收所述云端服務(wù)器發(fā)送的運行結(jié)果。根據(jù)本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行方法,移動終端可以借助云端服務(wù)器的虛擬機將應(yīng)用程序安裝存儲在云端服務(wù)器,當(dāng)用戶需要啟動該應(yīng)用程序時,可以從云端服務(wù)器獲取運行的應(yīng)用程序,從而實現(xiàn)了在一個移動終端中運行不同平臺的應(yīng)用程序,解決了不同移動終端之間的兼容性問題,同時克服了移動終端的存儲和計算資源以及應(yīng)用程序版本之間的鴻溝,并且解決了移動終端擴容的問題。為了實現(xiàn)上述目的,本發(fā)明第四方面實施例的應(yīng)用程序的跨系統(tǒng)運行裝置,包括:啟動指令發(fā)送模塊,用于發(fā)送應(yīng)用程序的啟動指令至云端服務(wù)器,以使得所述云端服務(wù)器根據(jù)所述啟動指令啟動所述應(yīng)用程序,其中,所述移動終端的運行環(huán)境為第一操作系統(tǒng),所述應(yīng)用程序的運行環(huán)境為第二操作系統(tǒng);控制指令發(fā)送模塊,用于接收用戶針對所述應(yīng)用程序的控制指令,并將所述控制指令發(fā)送至所述云端服務(wù)器,其中,所述云端服務(wù)器根據(jù)所述控制指令采用負(fù)載均衡分配所述第二操作系統(tǒng)的至少一個虛擬機,并根據(jù)所述控制指令控制所述應(yīng)用程序運行在所述至少一個虛擬機中;以及接收模塊,用于接收所述云端服務(wù)器發(fā)送的運行結(jié)果。根據(jù)本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行裝置,移動終端可以借助云端服務(wù)器的虛擬機將應(yīng)用程序安裝存儲在云端服務(wù)器,當(dāng)用戶需要啟動該應(yīng)用程序時,可以從云端服務(wù)器獲取運行的應(yīng)用程序,從而實現(xiàn)了在一個移動終端中運行不同平臺的應(yīng)用程序,解決了不同移動終端之間的兼容性問題,同時克服了移動終端的存儲和計算資源以及應(yīng)用程序版本之間的鴻溝,并且解決了移動終端擴容的問題。為了實現(xiàn)上述目的,本發(fā)明第五方面實施例的應(yīng)用程序的跨系統(tǒng)運行系統(tǒng),包括本發(fā)明第二方面實施例的應(yīng)用程序的跨系統(tǒng)運行裝置和本發(fā)明第四方面實施例的應(yīng)用程序的跨系統(tǒng)運行裝置。根據(jù)本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行系統(tǒng),移動終端可以借助云端服務(wù)器的虛擬機將應(yīng)用程序安裝存儲在云端服務(wù)器,當(dāng)用戶需要啟動該應(yīng)用程序時,可以從云端服務(wù)器獲取運行的應(yīng)用程序,從而實現(xiàn)了在一個移動終端中運行不同平臺的應(yīng)用程序,解決了不同移動終端之間的兼容性問題,同時克服了移動終端的存儲和計算資源以及應(yīng)用程序版本之間的鴻溝,并且解決了移動終端擴容的問題。本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。附圖說明本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中,圖1是根據(jù)本發(fā)明一個實施例的應(yīng)用程序的跨系統(tǒng)運行方法的流程圖;圖2是根據(jù)本發(fā)明一個實施例的應(yīng)用程序的跨系統(tǒng)運行裝置的結(jié)構(gòu)示意圖;圖3是根據(jù)本發(fā)明一個實施例的應(yīng)用程序的跨系統(tǒng)運行方法的流程圖;以及圖4是根據(jù)本發(fā)明一個實施例的應(yīng)用程序的跨系統(tǒng)運行裝置的結(jié)構(gòu)示意圖。具體實施方式下面詳細(xì)描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。相反,本發(fā)明的實施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。在本發(fā)明的描述中,需要理解的是,術(shù)語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。此外,在本發(fā)明的描述中,除非另有說明,“多個”的含義是兩個或兩個以上。流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。下面參考附圖描述根據(jù)本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行方法和裝置。目前,由于移動終端的硬件限制,移動終端上不能執(zhí)行其它不同移動終端操作系統(tǒng)的應(yīng)用程序(例如在IOS(InternetworkingOperatingSystem)操作系統(tǒng)的移動終端中不能運行安卓Android操作系統(tǒng)的應(yīng)用程序)。如果通過云端服務(wù)器中虛擬機的支持,將應(yīng)用程序在虛擬機中執(zhí)行,通過已知的B/S結(jié)構(gòu)使云端服務(wù)器和移動終端用戶進(jìn)行交互,讓用戶在網(wǎng)絡(luò)環(huán)境下,可以運行任何操作系統(tǒng)的應(yīng)用程序,并且不需要使用移動終端的存儲和計算資源,而是通過云端服務(wù)器的虛擬機來執(zhí)行應(yīng)用程序,移動終端只起到顯示和交互的功能,大大增大了移動終端的可擴展性。舉例而言,某個大型的游戲,應(yīng)用程序發(fā)布商只發(fā)布了Android操作系統(tǒng)的版本,在IOS操作系統(tǒng)下,首先將該游戲下載到云端服務(wù)器上,當(dāng)用戶運行該游戲時,云端服務(wù)器用虛擬機運行該游戲,將所有的交互和顯示內(nèi)容返回至移動終端,用戶只需要在瀏覽器或者移動終端的接收模塊中獲取該游戲的運行信息,同時在執(zhí)行該游戲的過程中,云端服務(wù)器存儲移動終端用戶的運行數(shù)據(jù),由此,可以在一個移動終端中運行其它操作系統(tǒng)的應(yīng)用程序,即能解決不同操作系統(tǒng)的移動終端之間的兼容性問題,又能滿足一部分配置比較低的移動終端執(zhí)行較大的應(yīng)用程序的需求。為此,本發(fā)明提出了一種應(yīng)用程序的跨系統(tǒng)運行方法,包括以下步驟:接收移動終端發(fā)送的應(yīng)用程序的啟動指令,其中,移動終端的運行環(huán)境為第一操作系統(tǒng),應(yīng)用程序的運行環(huán)境為第二操作系統(tǒng);根據(jù)啟動指令啟動應(yīng)用程序;接收移動終端發(fā)送的針對應(yīng)用程序的控制指令,并根據(jù)控制指令采用負(fù)載均衡分配第二操作系統(tǒng)的至少一個虛擬機;以及根據(jù)控制指令控制應(yīng)用程序運行在至少一個虛擬機中,并將運行結(jié)果發(fā)送至移動終端。圖1是根據(jù)本發(fā)明一個實施例的應(yīng)用程序的跨系統(tǒng)運行方法的流程圖。如圖1所示,應(yīng)用程序的跨系統(tǒng)運行方法包括以下步驟。S101,接收移動終端發(fā)送的應(yīng)用程序的啟動指令,其中,移動終端的運行環(huán)境為第一操作系統(tǒng),應(yīng)用程序的運行環(huán)境為第二操作系統(tǒng)。例如,第一操作系統(tǒng)為IOS(InternetworkingOperatingSystem,蘋果公司開發(fā)的一種操作系統(tǒng))操作系統(tǒng),第二操作系統(tǒng)為安卓Android操作系統(tǒng);或者第一操作系統(tǒng)為Android2.3版本操作系統(tǒng),第二操作系統(tǒng)為Android4.0版本操作系統(tǒng)等??偠灾?,第一操作系統(tǒng)不同于第二操作系統(tǒng)。S102,根據(jù)啟動指令啟動應(yīng)用程序。在本發(fā)明的一個實施例中,通過應(yīng)用程序的模擬器根據(jù)啟動指令啟動應(yīng)用程序。例如,云端服務(wù)器接收移動終端發(fā)送的游戲類應(yīng)用程序的啟動指令后,云端服務(wù)器根據(jù)該應(yīng)用程序的模擬器選擇適合的虛擬機進(jìn)行啟動。如果該應(yīng)用程序沒有在云端服務(wù)器安裝,云端服務(wù)器還需要進(jìn)行安裝操作,通過虛擬機查詢該應(yīng)用程序,如果沒有查詢到該應(yīng)用程序,則獲取該應(yīng)用程序的大小以及運行條件等信息,然后對該應(yīng)用程序進(jìn)行安裝,并根據(jù)啟動指令在該虛擬機中啟動應(yīng)用程序。其中,云端服務(wù)器中可具有多個的虛擬機,每個虛擬機可實現(xiàn)通過不同軟件或硬件的方式模擬運行應(yīng)用程序。例如,在一個虛擬機可通過模擬器模擬運行IOS操作系統(tǒng)的應(yīng)用程序、在另一個虛擬機中可通過模擬器模擬運行Android操作系統(tǒng)的應(yīng)用程序或者Windows(微軟公司開發(fā)的一種操作系統(tǒng))操作系統(tǒng)的應(yīng)用程序等。S103,接收移動終端發(fā)送的針對應(yīng)用程序的控制指令,并根據(jù)控制指令采用負(fù)載均衡分配第二操作系統(tǒng)的至少一個虛擬機。在本發(fā)明的一個實施例中,S103具體包括:獲取運行應(yīng)用程序的資源信息,并根據(jù)資源信息和/或控制指令采用負(fù)載均衡分配第二操作系統(tǒng)的至少一個虛擬機。其中,資源信息可包括CPU、存儲器、緩存和接口中的一種或多種;控制指令可包括安裝、卸載、執(zhí)行和查詢中的一種或多種。例如,控制指令為執(zhí)行控制指令時可分配CPU、存儲器、緩存資源豐富的虛擬機。應(yīng)理解,每個啟動指令或者控制指令可通過不同的虛擬機執(zhí)行,也可在同一個虛擬機中執(zhí)行。云端服務(wù)器根據(jù)應(yīng)用程序的不同需求以及虛擬機的性能負(fù)載,為移動終端選擇不同的虛擬機進(jìn)行執(zhí)行。具體地,云端服務(wù)器中的虛擬機使用一個集群來滿足用戶對應(yīng)用程序的各種指令,例如,虛擬機可包含以下功能:1、在云端服務(wù)器上安裝各種操作系統(tǒng)的應(yīng)用程序;2、在云端服務(wù)器上卸載各種操作系統(tǒng)的應(yīng)用程序;3、在云端服務(wù)器上運行各種操作系統(tǒng)的應(yīng)用程序;4、記錄應(yīng)用程序的運行時的數(shù)據(jù),并保存當(dāng)前的運行環(huán)境;5、通過HTML(HypertextMarkupLanguage,超文本標(biāo)記語言)的協(xié)議或者其它自身設(shè)計的協(xié)議和移動終端進(jìn)行交互和顯示。S104,根據(jù)控制指令控制應(yīng)用程序運行在至少一個虛擬機中,并將運行結(jié)果發(fā)送至移動終端。在本發(fā)明的一個實施例中,通過應(yīng)用程序的模擬器控制應(yīng)用程序運行在對應(yīng)的至少一個虛擬機中,其中,通過對應(yīng)用程序進(jìn)行控件轉(zhuǎn)換以通過模擬器進(jìn)行應(yīng)用程序的控制。具體地,由于不同操作系統(tǒng)的控制指令的編碼和參數(shù)不同,云端服務(wù)器對控制指令進(jìn)行控件轉(zhuǎn)換,以使模擬器能夠?qū)刂浦噶钸M(jìn)行識別,并根據(jù)控制指令控制運行的應(yīng)用程序。例如,云端服務(wù)器將虛擬機運行的應(yīng)用程序的運行結(jié)果發(fā)送至移動終端后,移動終端將運行結(jié)果通過HTML的方式或者通過通用模塊的方式顯示給用戶。如果用戶停止了運行該應(yīng)用程序,則云端服務(wù)器記錄用戶當(dāng)前的運行環(huán)境變量,下次如果用戶再運行該應(yīng)用程序的話,云端服務(wù)器可讀取記錄的運行環(huán)境,從當(dāng)前的運行環(huán)境直接運行該應(yīng)用程序。移動終端和云端服務(wù)器進(jìn)行交互時,可以采用通過HTML的方式或者通過通用模塊的方式。例如,移動終端通過瀏覽器類應(yīng)用程序發(fā)送啟動指令和控制指令,并接收運行結(jié)果。又如,移動終端中具有通用模塊(例如專門的應(yīng)用程序),通用模塊和云端服務(wù)器進(jìn)行交互,并對云端服務(wù)器發(fā)送的運行結(jié)果進(jìn)行解析以適用于移動終端。其中,通用模塊方式可用于交互內(nèi)容豐富的應(yīng)用程序,如游戲類應(yīng)用程序等。下面詳細(xì)說明一下移動終端和云端服務(wù)器交互的兩種方式:1、通過HTML的方式進(jìn)行交互,只要是可以運行瀏覽器的移動終端就能夠執(zhí)行HTML程序,然而該方式無法對于多線程的應(yīng)用程序有良好的支持,因此對于交互少的應(yīng)用程序來說,可以采用該方式和云端服務(wù)器進(jìn)行交互,向云端服務(wù)器發(fā)送請求,或者接收從云端服務(wù)器發(fā)送的數(shù)據(jù)。2、通過通用模塊進(jìn)行交互,該方式可以自由支配移動終端和云端服務(wù)器之間所有的交互和顯示方案,該方案適用于交互內(nèi)容豐富的應(yīng)用程序,例如,游戲類應(yīng)用程序等。應(yīng)理解,以上描述的兩種方式,重點是云端服務(wù)器中模擬器的部署和執(zhí)行,其可用當(dāng)前的云端服務(wù)器的技術(shù)實現(xiàn)。云端服務(wù)器和移動終端的交互方式,對于很需要交互的應(yīng)用程序(例如游戲類應(yīng)用程序等)來說,優(yōu)選地采用模擬器來執(zhí)行,用戶體驗較好。然而對于一些簡單的應(yīng)用程序來說,優(yōu)選地在瀏覽器中通過HTML的方式能夠讓用戶避免安裝模擬器,使移動終端具有更強的擴展性。根據(jù)本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行方法,移動終端可以借助云端服務(wù)器的虛擬機將應(yīng)用程序安裝存儲在云端服務(wù)器,當(dāng)用戶需要啟動該應(yīng)用程序時,可以從云端服務(wù)器獲取運行的應(yīng)用程序,從而實現(xiàn)了在一個移動終端中運行不同平臺的應(yīng)用程序,解決了不同移動終端之間的兼容性問題,同時克服了移動終端的存儲和計算資源以及應(yīng)用程序版本之間的鴻溝,并且解決了移動終端擴容的問題。在本發(fā)明的一個實施例中,移動終端通過瀏覽器類應(yīng)用程序發(fā)送啟動指令和控制指令,并接收運行結(jié)果。具體地,對于一些不太需要交互的應(yīng)用程序來說,用戶可通過移動終端的瀏覽器發(fā)送應(yīng)用程序的啟動指令和控制指令,然后云端服務(wù)器將虛擬機根據(jù)控制指令運行的應(yīng)用程序的運行結(jié)果發(fā)送至移動終端,移動終端將運行結(jié)果顯示給用戶。為了實現(xiàn)上述實施例,本發(fā)明還提出一種應(yīng)用程序的跨系統(tǒng)運行裝置。一種應(yīng)用程序的跨系統(tǒng)運行裝置,包括:啟動指令接收模塊,用于接收移動終端發(fā)送的應(yīng)用程序的啟動指令,其中,移動終端的運行環(huán)境為第一操作系統(tǒng),應(yīng)用程序的運行環(huán)境為第二操作系統(tǒng);啟動模塊,用于根據(jù)啟動指令啟動應(yīng)用程序;控制指令接收模塊,用于接收移動終端發(fā)送的針對應(yīng)用程序的控制指令;虛擬機分配模塊,用于根據(jù)控制指令采用負(fù)載均衡分配第二操作系統(tǒng)的至少一個虛擬機;以及控制模塊,用于根據(jù)控制指令控制應(yīng)用程序運行在至少一個虛擬機中,并將運行結(jié)果發(fā)送至移動終端。下面參考上述的應(yīng)用程序的跨系統(tǒng)運行方法說明本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行裝置。圖2是根據(jù)本發(fā)明一個實施例的應(yīng)用程序的跨系統(tǒng)運行裝置的結(jié)構(gòu)示意圖。如圖2所示,應(yīng)用程序的跨系統(tǒng)運行裝置包括:啟動指令接收模塊110、啟動模塊120、控制指令接收模塊130、虛擬機分配模塊140和控制模塊150。具體地,啟動指令接收模塊110用于接收移動終端發(fā)送的應(yīng)用程序的啟動指令,其中,移動終端的運行環(huán)境為第一操作系統(tǒng),應(yīng)用程序的運行環(huán)境為第二操作系統(tǒng)。例如,第一操作系統(tǒng)為IOS操作系統(tǒng),第二操作系統(tǒng)為安卓Android操作系統(tǒng);或者第一操作系統(tǒng)為Android2.3版本操作系統(tǒng),第二操作系統(tǒng)為Android4.0版本操作系統(tǒng)等。總而言之,第一操作系統(tǒng)不同于第二操作系統(tǒng)。啟動模塊120用于根據(jù)啟動指令啟動應(yīng)用程序。在本發(fā)明的一個實施例中,啟動模塊120通過應(yīng)用程序的模擬器根據(jù)啟動指令啟動應(yīng)用程序。如果該應(yīng)用程序沒有在云端服務(wù)器安裝,還需要進(jìn)行安裝操作,通過虛擬機查詢該應(yīng)用程序,如果沒有查詢到該應(yīng)用程序,則獲取該應(yīng)用程序的大小以及運行條件等信息,然后對該應(yīng)用程序進(jìn)行安裝,并根據(jù)啟動指令在該虛擬機中啟動應(yīng)用程序。控制指令接收模塊130用于接收移動終端發(fā)送的針對應(yīng)用程序的控制指令。例如,控制指令可包括安裝、卸載、執(zhí)行和查詢中的一種或多種。虛擬機分配模塊140用于根據(jù)控制指令采用負(fù)載均衡分配第二操作系統(tǒng)的至少一個虛擬機。在本發(fā)明的一個實施例中,虛擬機分配模塊140獲取運行應(yīng)用程序的資源信息,并根據(jù)資源信息和/或控制指令采用負(fù)載均衡分配第二操作系統(tǒng)的至少一個虛擬機。其中,資源信息可包括CPU、存儲器、緩存和接口中的一種或多種。例如,控制指令為執(zhí)行控制指令時可分配CPU、存儲器、緩存資源豐富的虛擬機??刂颇K150用于根據(jù)控制指令控制應(yīng)用程序運行在至少一個虛擬機中,并將運行結(jié)果發(fā)送至移動終端。在本發(fā)明的一個實施例中,控制模塊150通過應(yīng)用程序的模擬器控制應(yīng)用程序運行在對應(yīng)的至少一個虛擬機中,其中,通過對應(yīng)用程序進(jìn)行控件轉(zhuǎn)換以通過模擬器進(jìn)行應(yīng)用程序的控制。具體地,由于不同操作系統(tǒng)的控制指令的編碼和參數(shù)不同,控制模塊150對控制指令進(jìn)行控件轉(zhuǎn)換,以使模擬器能夠?qū)刂浦噶钸M(jìn)行識別,并根據(jù)控制指令控制運行的應(yīng)用程序。根據(jù)本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行裝置,移動終端可以借助云端服務(wù)器的虛擬機將應(yīng)用程序安裝存儲在云端服務(wù)器,當(dāng)用戶需要啟動該應(yīng)用程序時,可以從云端服務(wù)器獲取運行的應(yīng)用程序,從而實現(xiàn)了在一個移動終端中運行不同平臺的應(yīng)用程序,解決了不同移動終端之間的兼容性問題,同時克服了移動終端的存儲和計算資源以及應(yīng)用程序版本之間的鴻溝,并且解決了移動終端擴容的問題。在本發(fā)明的一個實施例中,移動終端通過瀏覽器類應(yīng)用程序發(fā)送啟動指令和控制指令,并接收運行結(jié)果。具體地,對于一些不太需要交互的應(yīng)用程序來說,移動終端應(yīng)用程序發(fā)送啟動指令和控制指令,然后云端服務(wù)器將虛擬機根據(jù)控制指令運行的應(yīng)用程序的運行結(jié)果發(fā)送至移動終端,移動終端將運行結(jié)果顯示給用戶。為了實現(xiàn)上述實施例,本發(fā)明還提出一種應(yīng)用程序的跨系統(tǒng)運行方法。一種應(yīng)用程序的跨系統(tǒng)運行方法,包括:發(fā)送應(yīng)用程序的啟動指令至云端服務(wù)器,以使得云端服務(wù)器根據(jù)啟動指令啟動應(yīng)用程序,其中,移動終端的運行環(huán)境為第一操作系統(tǒng),應(yīng)用程序的運行環(huán)境為第二操作系統(tǒng);接收用戶針對應(yīng)用程序的控制指令,并將控制指令發(fā)送至云端服務(wù)器,其中,云端服務(wù)器根據(jù)控制指令采用負(fù)載均衡分配第二操作系統(tǒng)的至少一個虛擬機,并根據(jù)控制指令控制應(yīng)用程序運行在至少一個虛擬機中;以及接收云端服務(wù)器發(fā)送的運行結(jié)果。圖3是根據(jù)本發(fā)明一個實施例的應(yīng)用程序的跨系統(tǒng)運行方法的流程圖。如圖3所示,應(yīng)用程序的跨系統(tǒng)運行方法包括以下步驟。S301,發(fā)送應(yīng)用程序的啟動指令至云端服務(wù)器,以使得云端服務(wù)器根據(jù)啟動指令啟動應(yīng)用程序,其中,移動終端的運行環(huán)境為第一操作系統(tǒng),應(yīng)用程序的運行環(huán)境為第二操作系統(tǒng)。例如,第一操作系統(tǒng)為IOS(InternetworkingOperatingSystem)操作系統(tǒng),第二操作系統(tǒng)為安卓Android操作系統(tǒng);或者第一操作系統(tǒng)為Android2.3版本操作系統(tǒng),第二操作系統(tǒng)為Android4.0版本操作系統(tǒng)等??偠灾?,第一操作系統(tǒng)不同于第二操作系統(tǒng)。在本發(fā)明的一個實施例中,通過應(yīng)用程序的模擬器根據(jù)啟動指令啟動應(yīng)用程序。例如,云端服務(wù)器接收移動終端發(fā)送的游戲類應(yīng)用程序的啟動指令后,云端服務(wù)器根據(jù)該應(yīng)用程序的模擬器選擇適合的虛擬機進(jìn)行啟動。如果該應(yīng)用程序沒有在云端服務(wù)器安裝,云端服務(wù)器還需要進(jìn)行安裝操作,通過虛擬機查詢該應(yīng)用程序,如果沒有查詢到該應(yīng)用程序,則獲取該應(yīng)用程序的大小以及運行條件等信息,然后對該應(yīng)用程序進(jìn)行安裝,并根據(jù)啟動指令在該虛擬機中啟動應(yīng)用程序。其中,云端服務(wù)器中可具有多個的虛擬機,每個虛擬機可實現(xiàn)通過不同軟件或硬件的方式模擬運行應(yīng)用程序。例如,在一個虛擬機可通過模擬器模擬運行IOS操作系統(tǒng)的應(yīng)用程序、在另一個虛擬機中可通過模擬器模擬運行Android操作系統(tǒng)的應(yīng)用程序或者Windows操作系統(tǒng)的應(yīng)用程序等。S302,接收用戶針對應(yīng)用程序的控制指令,并將控制指令發(fā)送至云端服務(wù)器,其中,云端服務(wù)器根據(jù)控制指令采用負(fù)載均衡分配第二操作系統(tǒng)的至少一個虛擬機,并根據(jù)控制指令控制應(yīng)用程序運行在至少一個虛擬機中。在本發(fā)明的一個實施例中,云端服務(wù)器獲取運行應(yīng)用程序的資源信息,并根據(jù)資源信息和/或控制指令采用負(fù)載均衡分配第二操作系統(tǒng)的至少一個虛擬機。其中,資源信息可包括CPU、存儲器、緩存和接口中的一種或多種;控制指令可包括安裝、卸載、執(zhí)行和查詢中的一種或多種。例如,控制指令為執(zhí)行控制指令時可分配CPU、存儲器、緩存資源豐富的虛擬機。應(yīng)理解,每個啟動指令或者控制指令可通過不同的虛擬機執(zhí)行,也可在同一個虛擬機中執(zhí)行。云端服務(wù)器根據(jù)應(yīng)用程序的不同需求以及虛擬機的性能負(fù)載,為移動終端選擇不同的虛擬機進(jìn)行執(zhí)行。具體地,云端服務(wù)器中的虛擬機使用一個集群來滿足用戶對應(yīng)用程序的各種指令,例如,虛擬機可包含以下功能:1、在云端服務(wù)器上安裝各種操作系統(tǒng)的應(yīng)用程序;2、在云端服務(wù)器上卸載各種操作系統(tǒng)的應(yīng)用程序;3、在云端服務(wù)器上運行各種操作系統(tǒng)的應(yīng)用程序;4、記錄應(yīng)用程序的運行時的數(shù)據(jù),并保存當(dāng)前的運行環(huán)境;5、通過HTML(HypertextMarkupLanguage,超文本標(biāo)記語言)的協(xié)議或者其它自身設(shè)計的協(xié)議和移動終端進(jìn)行交互和顯示。在本發(fā)明的一個實施例中,通過應(yīng)用程序的模擬器控制應(yīng)用程序運行在對應(yīng)的至少一個虛擬機中,其中,通過對應(yīng)用程序進(jìn)行控件轉(zhuǎn)換以通過模擬器進(jìn)行應(yīng)用程序的控制。具體地,由于不同操作系統(tǒng)的控制指令的編碼和參數(shù)不同,云端服務(wù)器對控制指令進(jìn)行控件轉(zhuǎn)換,以使模擬器能夠?qū)刂浦噶钸M(jìn)行識別,并根據(jù)控制指令控制運行的應(yīng)用程序。移動終端和云端服務(wù)器進(jìn)行交互時,可以采用通過HTML的方式或者通過通用模塊的方式。例如,移動終端通過瀏覽器類應(yīng)用程序發(fā)送啟動指令和控制指令,并接收運行結(jié)果。又如,移動終端中具有通用模塊(例如專門的應(yīng)用程序),通用模塊和云端服務(wù)器進(jìn)行交互。其中,通用模塊方式可用于交互內(nèi)容豐富的應(yīng)用程序,如游戲類應(yīng)用程序等。下面詳細(xì)說明一下移動終端和云端服務(wù)器交互的兩種方式:1、通過HTML的方式進(jìn)行交互,只要是可以運行瀏覽器的移動終端就能夠執(zhí)行HTML程序,然而該方式無法對于多線程的應(yīng)用程序有良好的支持,因此對于交互少的應(yīng)用程序來說,可以采用該方式和云端服務(wù)器進(jìn)行交互,向云端服務(wù)器發(fā)送請求,或者接收從云端服務(wù)器發(fā)送的數(shù)據(jù)。2、通過通用模塊進(jìn)行交互,該方式可以自由支配移動終端和云端服務(wù)器之間所有的交互和顯示方案,該方案適用于交互內(nèi)容豐富的應(yīng)用程序,例如,游戲類應(yīng)用程序等。應(yīng)理解,以上描述的兩種方式,重點是云端服務(wù)器中模擬器的部署和執(zhí)行,其可用當(dāng)前的云端服務(wù)器的技術(shù)實現(xiàn)。云端服務(wù)器和移動終端的交互方式,對于很需要交互的應(yīng)用程序(例如游戲類應(yīng)用程序等)來說,優(yōu)選地采用模擬器來執(zhí)行,用戶體驗較好。然而對于一些簡單的應(yīng)用程序來說,優(yōu)選地在瀏覽器中通過HTML的方式能夠讓用戶避免安裝模擬器,使移動終端具有更強的擴展性。S303,接收云端服務(wù)器發(fā)送的運行結(jié)果。例如,云端服務(wù)器將虛擬機運行的應(yīng)用程序的運行結(jié)果發(fā)送至移動終端后,移動終端將運行結(jié)果通過HTML的方式或者通過通用模塊的方式顯示給用戶。如果用戶停止了運行該應(yīng)用程序,則云端服務(wù)器記錄用戶當(dāng)前的運行環(huán)境變量,下次如果用戶再運行該應(yīng)用程序的話,云端服務(wù)器可讀取記錄的運行環(huán)境,從當(dāng)前的運行環(huán)境直接運行該應(yīng)用程序。根據(jù)本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行方法,移動終端可以借助云端服務(wù)器的虛擬機將應(yīng)用程序安裝存儲在云端服務(wù)器,當(dāng)用戶需要啟動該應(yīng)用程序時,可以從云端服務(wù)器獲取運行的應(yīng)用程序,從而實現(xiàn)了在一個移動終端中運行不同平臺的應(yīng)用程序,解決了不同移動終端之間的兼容性問題,同時克服了移動終端的存儲和計算資源以及應(yīng)用程序版本之間的鴻溝,并且解決了移動終端擴容的問題。在本發(fā)明的一個實施例中,移動終端通過瀏覽器類應(yīng)用程序發(fā)送啟動指令和控制指令,并接收運行結(jié)果。具體地,對于一些不太需要交互的應(yīng)用程序來說,移動終端應(yīng)用程序發(fā)送啟動指令和控制指令,然后云端服務(wù)器將虛擬機根據(jù)控制指令運行的應(yīng)用程序的運行結(jié)果發(fā)送至移動終端,移動終端將運行結(jié)果顯示給用戶。下面參考上述的應(yīng)用程序的跨系統(tǒng)運行方法說明本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行裝置。為了實現(xiàn)上述實施例,本發(fā)明還提出一種應(yīng)用程序的跨系統(tǒng)運行裝置。一種應(yīng)用程序的跨系統(tǒng)運行裝置,包括:啟動指令發(fā)送模塊,用于發(fā)送應(yīng)用程序的啟動指令至云端服務(wù)器,以使得云端服務(wù)器根據(jù)啟動指令啟動應(yīng)用程序,其中,移動終端的運行環(huán)境為第一操作系統(tǒng),應(yīng)用程序的運行環(huán)境為第二操作系統(tǒng);控制指令發(fā)送模塊,用于接收用戶針對應(yīng)用程序的控制指令,并將控制指令發(fā)送至云端服務(wù)器,其中,云端服務(wù)器根據(jù)控制指令采用負(fù)載均衡分配第二操作系統(tǒng)的至少一個虛擬機,并根據(jù)控制指令控制應(yīng)用程序運行在至少一個虛擬機中;以及接收模塊,用于接收云端服務(wù)器發(fā)送的運行結(jié)果。圖4是根據(jù)本發(fā)明一個實施例的應(yīng)用程序的跨系統(tǒng)運行裝置的結(jié)構(gòu)示意圖。如圖4所示,應(yīng)用程序的跨系統(tǒng)運行裝置包括:啟動指令發(fā)送模塊210、控制指令發(fā)送模塊220和接收模塊230。具體地,啟動指令發(fā)送模塊210用于發(fā)送應(yīng)用程序的啟動指令至云端服務(wù)器,以使得云端服務(wù)器根據(jù)啟動指令啟動應(yīng)用程序,其中,移動終端的運行環(huán)境為第一操作系統(tǒng),應(yīng)用程序的運行環(huán)境為第二操作系統(tǒng)。例如,第一操作系統(tǒng)為IOS(InternetworkingOperatingSystem,蘋果公司開發(fā)的一種操作系統(tǒng))操作系統(tǒng),第二操作系統(tǒng)為安卓Android操作系統(tǒng);或者第一操作系統(tǒng)為Android2.3版本操作系統(tǒng),第二操作系統(tǒng)為Android4.0版本操作系統(tǒng)等??偠灾?,第一操作系統(tǒng)不同于第二操作系統(tǒng)??刂浦噶畎l(fā)送模塊220用于接收用戶針對應(yīng)用程序的控制指令,并將控制指令發(fā)送至云端服務(wù)器,其中,云端服務(wù)器根據(jù)控制指令采用負(fù)載均衡分配第二操作系統(tǒng)的至少一個虛擬機,并根據(jù)控制指令控制應(yīng)用程序運行在至少一個虛擬機中。在本發(fā)明的一個實施例中,云端服務(wù)器通過應(yīng)用程序的模擬器控制應(yīng)用程序運行在對應(yīng)的至少一個虛擬機中,其中,通過對應(yīng)用程序進(jìn)行控件轉(zhuǎn)換以通過模擬器進(jìn)行應(yīng)用程序的控制。具體地,由于不同操作系統(tǒng)的控制指令的編碼和參數(shù)不同,還對控制指令進(jìn)行控件轉(zhuǎn)換,以使模擬器能夠?qū)刂浦噶钸M(jìn)行識別,并根據(jù)控制指令控制運行的應(yīng)用程序。在本發(fā)明的一個實施例中,云端服務(wù)器獲取運行應(yīng)用程序的資源信息,并根據(jù)資源信息和/或控制指令采用負(fù)載均衡分配第二操作系統(tǒng)的至少一個虛擬機。例如,資源信息可包括CPU、存儲器、緩存和接口中的一種或多種;控制指令可包括安裝、卸載、執(zhí)行和查詢中的一種或多種。又如,控制指令為執(zhí)行時可分配CPU、存儲器、緩存資源豐富的虛擬機。接收模塊230用于接收云端服務(wù)器發(fā)送的運行結(jié)果。根據(jù)本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行裝置,可以借助云端服務(wù)器的虛擬機將應(yīng)用程序安裝存儲在云端服務(wù)器,當(dāng)用戶需要啟動該應(yīng)用程序時,可以從云端服務(wù)器獲取運行的應(yīng)用程序,從而實現(xiàn)了在一個操作系統(tǒng)的移動終端中運行不同平臺的應(yīng)用程序,解決了不同移動終端之間的兼容性問題,同時克服了移動終端的存儲和計算資源以及應(yīng)用程序版本之間的鴻溝,并且解決了移動終端擴容的問題。在本發(fā)明的一個實施例中,云端服務(wù)器通過應(yīng)用程序的模擬器根據(jù)啟動指令啟動應(yīng)用程序。例如,云端服務(wù)器接收移動終端發(fā)送的游戲類應(yīng)用程序的啟動指令后,根據(jù)用戶的請求選擇適合的虛擬機。云端服務(wù)器通過虛擬機查詢該應(yīng)用程序,并獲取該應(yīng)用程序的大小以及運行條件等信息,然后對該應(yīng)用程序進(jìn)行安裝,并根據(jù)啟動指令在該虛擬機中啟動應(yīng)用程序。在本發(fā)明的一個實施例中,啟動指令發(fā)送模塊210用于通過瀏覽器類應(yīng)用程序發(fā)送啟動指令;控制指令發(fā)送模塊220用于通過瀏覽器類應(yīng)用程序發(fā)送控制指令。具體地,對于一些不太需要交互的應(yīng)用程序來說,啟動指令發(fā)送模塊210和控制指令發(fā)送模塊220發(fā)送啟動指令和控制指令,然后云端服務(wù)器將虛擬機根據(jù)控制指令運行的應(yīng)用程序的運行結(jié)果發(fā)送至接收模塊230,接收模塊230將運行結(jié)果顯示給用戶。為了實現(xiàn)上述實施例,本發(fā)明還提出一種應(yīng)用程序的跨系統(tǒng)運行系統(tǒng)。一種應(yīng)用程序的跨系統(tǒng)運行系統(tǒng)包括本發(fā)明第二方面和第四方面實施例所述的應(yīng)用程序的跨系統(tǒng)運行裝置。根據(jù)本發(fā)明實施例的應(yīng)用程序的跨系統(tǒng)運行系統(tǒng),移動終端可以借助云端服務(wù)器的虛擬機將應(yīng)用程序安裝存儲在云端服務(wù)器,當(dāng)用戶需要啟動該應(yīng)用程序時,可以從云端服務(wù)器獲取運行的應(yīng)用程序,從而實現(xiàn)了在一個操作系統(tǒng)的移動終端中運行不同平臺的應(yīng)用程序,解決了不同移動終端之間的兼容性問題,同時克服了移動終端的存儲和計算資源以及應(yīng)用程序版本之間的鴻溝,并且解決了移動終端擴容的問題。應(yīng)當(dāng)理解,在本發(fā)明的實施例中,移動終端可以是手機、平板電腦、個人數(shù)字助理、電子書等具有各種操作系統(tǒng)的硬件設(shè)備。應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。盡管已經(jīng)示出和描述了本發(fā)明的實施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對這些實施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。