本發(fā)明涉及通信領(lǐng)域,尤其涉及一種在線應(yīng)用的實現(xiàn)方法、裝置及系統(tǒng)。
背景技術(shù):隨著硬件設(shè)備的發(fā)展及用戶不同需要的提升,應(yīng)用的種類也越來越豐富。在線應(yīng)用場景中,在線應(yīng)用平臺中可以部署各種第三方開發(fā)的應(yīng)用,終端可以遠(yuǎn)程連接到在線應(yīng)用平臺上體驗在在線應(yīng)用平臺上部署的應(yīng)用。單機(jī)多用戶,指的是只在一個終端安裝應(yīng)用的客戶端程序,多個用戶通過連接到此終端的不同輸入設(shè)備操控應(yīng)用。也就是說只有一個應(yīng)用程序,不存在所有用戶都要安裝客戶端程序的情況。而對于在線的網(wǎng)絡(luò)游戲應(yīng)用,每個網(wǎng)絡(luò)游戲應(yīng)用都有需要安裝的客戶端的程序;各終端都需要安裝與各網(wǎng)絡(luò)游戲應(yīng)用對應(yīng)的客戶端程序,不同用戶不同的終端控制不同的客戶端程序。所有客戶端程序連接到同一在線應(yīng)用服務(wù)器。目前,對于單機(jī)多用戶的應(yīng)用,在線應(yīng)用平臺可以通過支持一個終端多個不同輸入設(shè)備的方式實現(xiàn)多用戶同時使用此應(yīng)用,具體實現(xiàn)方式如下所述。在線應(yīng)用平臺對于每一個應(yīng)用都會建立終端的輸入設(shè)備與虛擬輸入單元的映射。終端的每個輸入設(shè)備都對應(yīng)一個虛擬輸入單元,當(dāng)用戶通過終端輸入設(shè)備發(fā)送輸入指令時,輸入指令中攜帶有輸入設(shè)備標(biāo)識符,虛擬輸入單元根據(jù)輸入設(shè)備標(biāo)識符接收輸入指令并存儲在此虛擬輸入單元的緩沖區(qū)中。應(yīng)用服務(wù)器會采用輪詢的方式依次從各個虛擬輸入單元的緩沖區(qū)中讀取輸入指令和數(shù)據(jù)。在實現(xiàn)上述在線應(yīng)用平臺支持單機(jī)多用戶應(yīng)用的過程中,由于一個終端只能管理一個區(qū)域內(nèi)的終端輸入設(shè)備,這樣就造成在同一個應(yīng)用中用戶必須在同一區(qū)域內(nèi)通過同一個終端進(jìn)行交互,降低了用戶體驗。
技術(shù)實現(xiàn)要素:本發(fā)明的實施例提供一種在線應(yīng)用的實現(xiàn)方法、裝置及系統(tǒng),用以實現(xiàn)在在線應(yīng)用平臺中對于單機(jī)多用戶的同一個應(yīng)用,用戶可以通過不同的終端,在不同區(qū)域內(nèi)對實現(xiàn)交互,提升用戶體驗。為達(dá)到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:一種在線應(yīng)用的實現(xiàn)方法,包括:用于接收終端發(fā)送的第一連接請求消息;所述第一連接請求消息中攜帶有所述終端的用戶標(biāo)識和已啟動的所述終端的第一輸入設(shè)備的設(shè)備標(biāo)識;為所述終端的第一輸入設(shè)備選擇第一虛擬輸入單元,所述第一虛擬輸入單元為虛擬機(jī)中空閑的虛擬輸入單元;根據(jù)所述終端的用戶標(biāo)識和所述終端的第一輸入設(shè)備的設(shè)備標(biāo)識,建立所述第一虛擬輸入單元與所述終端的第一輸入設(shè)備的映射關(guān)系;向所述終端發(fā)送第一連接響應(yīng)消息,以便通知所述終端連接完成;向已連接到虛擬機(jī)的終端發(fā)送應(yīng)用準(zhǔn)備完成消息,以便虛擬機(jī)與連接到虛擬機(jī)的終端進(jìn)行指令和/或數(shù)據(jù)的傳輸。一種在線應(yīng)用的實現(xiàn)方法,包括:終端向虛擬機(jī)發(fā)送第一連接請求消息;所述第一連接請求消息中攜帶有所述終端的用戶標(biāo)識和已啟動的所述終端的第一輸入設(shè)備的設(shè)備標(biāo)識,以使得所述虛擬機(jī)根據(jù)所述終端的用戶標(biāo)識和終端的第一輸入設(shè)備的設(shè)備標(biāo)識,建立第一虛擬輸入單元與所述第一終端的第一輸入設(shè)備的映射關(guān)系,所述第一虛擬輸入單元為虛擬機(jī)中空閑的虛擬輸入單元;接收所述虛擬機(jī)發(fā)送的第一連接響應(yīng)消息;接收所述虛擬機(jī)發(fā)送的應(yīng)用準(zhǔn)備完成消息,以便所述終端與所述虛擬機(jī)進(jìn)行指令和/或數(shù)據(jù)的傳輸。一種在線應(yīng)用的實現(xiàn)方法,包括:虛擬機(jī)管理器接收第一終端發(fā)送的第一應(yīng)用啟動請求消息;所述第一應(yīng)用啟動請求消息中攜帶有第一標(biāo)識、應(yīng)用標(biāo)識和第一終端的終端性能信息;所述第一標(biāo)識用于指示其他輸入設(shè)備是否可加入到應(yīng)用中;根據(jù)所述第一應(yīng)用啟動請求消息中的應(yīng)用標(biāo)識和第一終端的終端性能信息,選擇虛擬機(jī);向所述虛擬機(jī)發(fā)送第二應(yīng)用啟動請求消息;所述第二應(yīng)用啟動請求消息中攜帶有第一標(biāo)識和應(yīng)用標(biāo)識,以便于所述虛擬機(jī)根據(jù)所述第二應(yīng)用啟動請求消息中的第一標(biāo)識建立至少一個虛擬輸入單元,并根據(jù)所述應(yīng)用標(biāo)識啟動應(yīng)用;接收所述虛擬機(jī)發(fā)送的第二應(yīng)用啟動響應(yīng)消息,并發(fā)送第一應(yīng)用啟動響應(yīng)消息至所述第一終端,所述第一應(yīng)用啟動響應(yīng)消息中攜帶有虛擬機(jī)地址信息,以便于第一終端根據(jù)所述虛擬機(jī)地址信息向所述虛擬機(jī)發(fā)送第一連接請求消息;第一終端發(fā)送的所述第一連接請求消息中攜帶有所述第一終端的用戶標(biāo)識和已啟動的所述第一終端的第一輸入設(shè)備的設(shè)備標(biāo)識。一種虛擬機(jī),包括:第一接收模塊,用于接收終端發(fā)送的第一連接請求消息;所述第一連接請求消息中攜帶有所述終端的用戶標(biāo)識和已啟動的所述終端的第一輸入設(shè)備的設(shè)備標(biāo)識;選擇模塊,用于為所述終端的第一輸入設(shè)備選擇第一虛擬輸入單元;所述第一虛擬輸入單元為虛擬機(jī)中空閑的虛擬輸入單元;第一建立模塊,用于根據(jù)所述終端的用戶標(biāo)識和所述終端的第一輸入設(shè)備的設(shè)備標(biāo)識,建立所述第一虛擬輸入單元與所述終端的輸入設(shè)備的映射關(guān)系;第一發(fā)送模塊,用于向所述終端發(fā)送第一連接響應(yīng)消息,以便通知所述終端連接完成;以及向已連接到虛擬機(jī)的終端發(fā)送應(yīng)用準(zhǔn)備完成消息,以便虛擬機(jī)與連接到虛擬機(jī)的終端進(jìn)行指令和/或數(shù)據(jù)的傳輸。一種終端,包括:輸入設(shè)備,用于輸入指令和/或數(shù)據(jù);記錄單元,用于記錄輸入設(shè)備的設(shè)備標(biāo)識;第一發(fā)送單元,用于向虛擬機(jī)發(fā)送第一連接請求消息;所述第一連接請求消息中攜帶有所述終端的用戶標(biāo)識和已啟動的所述終端的第一輸入設(shè)備的設(shè)備標(biāo)識,以使得所述虛擬機(jī)根據(jù)所述終端的用戶標(biāo)識和所述終端的第一輸入設(shè)備的設(shè)備標(biāo)識建立第一虛擬輸入單元與所述第一輸入設(shè)備的映射關(guān)系;所述第一虛擬輸入單元為虛擬機(jī)中空閑的虛擬輸入單元;第一接收單元,用于接收所述虛擬機(jī)發(fā)送的第一連接響應(yīng)消息;以及用于接收所述虛擬機(jī)發(fā)送的應(yīng)用準(zhǔn)備完成消息,以便終端與所述虛擬機(jī)進(jìn)行指令和/或數(shù)據(jù)的傳輸;處理單元,用于與所述虛擬機(jī)進(jìn)行指令和/或數(shù)據(jù)的傳輸。一種虛擬機(jī)管理器,包括:第一接收單元,用于接收第一終端發(fā)送的第一應(yīng)用啟動請求消息;所述第一應(yīng)用啟動請求消息中攜帶有第一標(biāo)識、應(yīng)用標(biāo)識和終端性能信息;所述第一標(biāo)識用于指示其他輸入設(shè)備是否可加入到應(yīng)用中;選擇單元,用于根據(jù)所述第一終端的應(yīng)用標(biāo)識和第一終端的終端性能信息,選擇虛擬機(jī);第一發(fā)送單元,用于向所述虛擬機(jī)發(fā)送第二應(yīng)用啟動請求消息;所述第二應(yīng)用啟動請求消息中攜帶有第一標(biāo)識和應(yīng)用標(biāo)識,以便于所述虛擬機(jī)根據(jù)所述第二應(yīng)用啟動請求消息中的第一標(biāo)識建立至少一個虛擬輸入單元,并根據(jù)所述應(yīng)用標(biāo)識啟動應(yīng)用;第二接收單元,用于接收所述虛擬機(jī)發(fā)送的第二應(yīng)用啟動響應(yīng)消息;第二發(fā)送單元,用于發(fā)送第一應(yīng)用啟動響應(yīng)消息至所述第一終端,所述第一應(yīng)用啟動響應(yīng)消息中攜帶有虛擬機(jī)地址信息,以便于第一終端根據(jù)所述虛擬機(jī)地址信息向所述虛擬機(jī)發(fā)送第一連接請求消息;第一終端發(fā)送的所述第一連接請求消息中攜帶有所述第一終端的用戶標(biāo)識和已啟動的所述第一終端的第一輸入設(shè)備的設(shè)備標(biāo)識。一種在線應(yīng)用的實現(xiàn)系統(tǒng),包括:虛擬機(jī),虛擬機(jī)管理器,終端;所述虛擬機(jī)為上述虛擬機(jī),所述虛擬機(jī)管理器為上述虛擬機(jī)管理器,所述終端為上述終端。本發(fā)明實施例提供了一種在線應(yīng)用的實現(xiàn)方法、裝置及系統(tǒng),通過終端的用戶標(biāo)識和終端的輸入設(shè)備的設(shè)備標(biāo)識建立空閑虛擬輸入單元與終端的輸入設(shè)備間的映射關(guān)系,可以使得多個用戶通過不同的終端連接到在線應(yīng)用平臺中的同一個應(yīng)用,實現(xiàn)了在在線應(yīng)用平臺中對于多用戶使用同一個應(yīng)用,不同的用戶通過不同的終端,在不同區(qū)域內(nèi)實現(xiàn)應(yīng)用的交互,或者不同的用戶通過同一個終端的不同輸入設(shè)備,實現(xiàn)應(yīng)用的交互,從而提升用戶體驗。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的一種在線應(yīng)用的實現(xiàn)方法的示意圖之一;圖2為本發(fā)明實施例提供的一種在線應(yīng)用的實現(xiàn)方法的示意圖之二;圖3為本發(fā)明實施例提供的一種在線應(yīng)用的實現(xiàn)方法的示意圖之三;圖4為本發(fā)明實施例提供的一種在線應(yīng)用的實現(xiàn)方法的示意圖之四;圖5為本發(fā)明實施例提供的一種在線應(yīng)用的實現(xiàn)方法的示意圖之五;圖6為本發(fā)明實施例提供的一種在線應(yīng)用的實現(xiàn)方法的示意圖之六;圖7為本發(fā)明實施例提供的一種虛擬機(jī)的結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例提供的另一種虛擬機(jī)的結(jié)構(gòu)示意圖;圖9為本發(fā)明實施例提供的另一種虛擬機(jī)的結(jié)構(gòu)示意圖;圖10為本發(fā)明實施例提供的另一種虛擬機(jī)的結(jié)構(gòu)示意圖;圖11為本發(fā)明實施例提供的一種終端的結(jié)構(gòu)示意圖;圖12為本發(fā)明實施例提供的一種虛擬機(jī)管理器的結(jié)構(gòu)示意圖;圖13為本發(fā)明實施例提供的另一種虛擬機(jī)管理器的結(jié)構(gòu)示意圖;圖14為本發(fā)明實施例提供的一種在線應(yīng)用的實現(xiàn)系統(tǒng)的示意圖。具體實施方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實施例提供了一種在線應(yīng)用的實現(xiàn)方法,如圖1所示,包括:101、虛擬機(jī)接收終端發(fā)送的第一連接請求消息。其中,所述第一連接請求消息中攜帶有所述終端的用戶標(biāo)識和已啟動的所述終端的第一輸入設(shè)備的設(shè)備標(biāo)識。所述終端的用戶標(biāo)識可以為終端的標(biāo)識(如終端的IP地址,手機(jī)號,IMEI號等),也可以為終端的用戶的帳戶,或其它的能唯一標(biāo)識終端或終端的用戶的標(biāo)識,本發(fā)明在此不在詳述。需要說明的是,虛擬機(jī)接收至少一個終端發(fā)送的第一連接請求消息。需要說明的是,在本發(fā)明所有實施例中,一個終端可以對應(yīng)多個輸入設(shè)備。例如,機(jī)頂盒為一個終端,安裝在機(jī)頂盒中的手柄為輸入設(shè)備。一個機(jī)頂盒中可以安裝多個手柄。將手柄稱為機(jī)頂盒的輸入設(shè)備。需要說明的是,在本發(fā)明所有實施例中,第一輸入設(shè)備是指觸發(fā)終端發(fā)起此應(yīng)用的一個輸入設(shè)備;或者在其他終端已發(fā)起此應(yīng)用時,終端中沒有輸入設(shè)備與此應(yīng)用所在虛擬機(jī)的虛擬輸入單元建立映射關(guān)系時,第一個觸發(fā)終端加入此應(yīng)用,與此應(yīng)用所在虛擬機(jī)的虛擬輸入單元建立映射關(guān)系的輸入設(shè)備。將終端向虛擬機(jī)發(fā)送的連接請求消息中攜帶有已啟動的第一輸入設(shè)備的設(shè)備標(biāo)識的連接請求消息稱為第一連接請求消息。例如,按動手柄的某個鍵,使得手柄觸發(fā)機(jī)頂盒發(fā)起應(yīng)用,此時稱手柄稱為已啟動的第一輸入設(shè)備。已啟動是指輸入設(shè)備向終端發(fā)送了觸發(fā)操作。102、虛擬機(jī)為所述終端的第一輸入設(shè)備選擇第一輸入單元。其中,所述第一輸入單元為虛擬機(jī)中空閑的虛擬輸入單元,即還沒有被分配給輸入設(shè)備,也沒有被建立與輸入設(shè)備和終端,或也沒有被建立與輸入設(shè)備和終端的用戶有映射關(guān)系的虛擬輸入單元。103、根據(jù)所述終端的用戶標(biāo)識和所述終端的第一輸入設(shè)備的設(shè)備標(biāo)識,建立所述第一虛擬輸入單元與所述第一終端的第一輸入設(shè)備的映射關(guān)系。其中,虛擬機(jī)在已建立的至少一個虛擬輸入單元中,為所述終端的第一輸入設(shè)備選擇第一虛擬輸入單元,根據(jù)終端的用戶標(biāo)識和終端的第一輸入設(shè)備的設(shè)備標(biāo)識建立選擇的第一虛擬輸入單元與已啟動的第一終端的第一輸入設(shè)備之間對應(yīng)的映射關(guān)系。具體的,虛擬機(jī)在已建立的至少一個虛擬輸入單元中檢測至少一個虛擬輸入單元是否都已與輸入設(shè)備建立了映射關(guān)系,若有虛擬輸入單元沒有與輸入設(shè)備建立映射關(guān)系,則此虛擬輸入單元為空閑的虛擬輸入單元,則將此空閑的虛擬輸入單元作第一虛擬輸入單元。虛擬機(jī)建立終端的用戶標(biāo)識和終端的第一輸入設(shè)備的設(shè)備標(biāo)識與第一虛擬輸入單元的單元標(biāo)識的映射關(guān)系,使得第一虛擬輸入單元與第一輸入設(shè)備對應(yīng),以便于虛擬機(jī)將接收到的第一輸入設(shè)備通過終端發(fā)送的指令和/或數(shù)據(jù)存儲至第一虛擬輸入單元中。具體的,虛擬機(jī)可以記錄或改變虛擬輸入單元的狀態(tài),以表示是否已經(jīng)建立了虛擬輸入單元與終端的輸入設(shè)備的映射關(guān)系,也可以用特定的標(biāo)準(zhǔn)表示已經(jīng)建立了虛擬輸入單元與終端的輸入設(shè)備的映射關(guān)系。需要說明的是,終端將第一輸入設(shè)備發(fā)送的指令和/數(shù)據(jù)進(jìn)行數(shù)據(jù)包封裝處理,在此數(shù)據(jù)包的包頭信息中有用于標(biāo)識終端用戶標(biāo)識的字段,有用于標(biāo)識終端第一輸入設(shè)備的字段。終端將此數(shù)據(jù)包發(fā)送至虛擬機(jī),虛擬機(jī)根據(jù)數(shù)據(jù)包的包頭信息中的標(biāo)識終端用戶標(biāo)識的字段和標(biāo)識終端第一輸入設(shè)備的字段確定將此數(shù)據(jù)包中的指令和/或數(shù)據(jù)信息發(fā)送至相應(yīng)的第一虛擬輸入單元中。需要說明的是,虛擬機(jī)檢測至少一個虛擬輸入單元是否都已與輸入設(shè)備建立了映射關(guān)系的方法可以是虛擬機(jī)每次從第一個虛擬輸入單元開始檢測虛擬輸入單元是否都已與輸入設(shè)備建立了映射關(guān)系,也可以是其他方法檢測虛擬輸入單元是否都已與輸入設(shè)備建立了映射關(guān)系,例如虛擬機(jī)可以記錄或改變虛擬輸入單元的狀態(tài),以表示是否已經(jīng)建立了虛擬輸入單元與終端的輸入設(shè)備的映射關(guān)系,也可以用特定的標(biāo)準(zhǔn)表示已經(jīng)建立了虛擬輸入單元與終端的輸入設(shè)備的映射關(guān)系。本發(fā)明對此不作限定。104、虛擬機(jī)向所述終端發(fā)送第一連接響應(yīng)消息,以便通知所述第一終端連接完成。105、虛擬機(jī)向已連接到虛擬機(jī)的終端發(fā)送應(yīng)用準(zhǔn)備完成消息,以便虛擬機(jī)與連接到虛擬機(jī)的終端備進(jìn)行指令和/或數(shù)據(jù)的傳輸。具體的,若虛擬機(jī)獲知應(yīng)用的類型為不支持應(yīng)用運(yùn)行過程中添加用戶的應(yīng)用,則虛擬機(jī)在向所述終端發(fā)送第一連接響應(yīng)消息后,先檢測建立的至少一個虛擬輸入單元中是否有空閑的虛擬輸入單元;若沒有空閑的虛擬輸入單元,則虛擬機(jī)向已連接到虛擬機(jī)的終端發(fā)送應(yīng)用準(zhǔn)備完成消息。若虛擬機(jī)獲知應(yīng)用的類型為支持應(yīng)用運(yùn)行過程中添加用戶的應(yīng)用,則虛擬機(jī)在向終端發(fā)送完第一連接響應(yīng)消息后,直接向所述終端發(fā)送應(yīng)用準(zhǔn)備完成消息。本發(fā)明實施例提供了一種在線應(yīng)用的實現(xiàn)方法,虛擬機(jī)通過接收終端發(fā)送的第一連接請求消息,第一連接請求消息中所述終端的用戶標(biāo)識和已啟動的終端的第一輸入設(shè)備的設(shè)備標(biāo)識,虛擬機(jī)根據(jù)第一連接請求消息建立虛擬輸入單元與終端的第一輸入設(shè)備的映射關(guān)系,并發(fā)送第一連接響應(yīng)消息至終端。虛擬機(jī)通過此映射關(guān)系能夠?qū)⒉煌K端的不同輸入設(shè)備或相同終端的不同輸入設(shè)備發(fā)送的指令和/或數(shù)據(jù)發(fā)送至相應(yīng)的虛擬輸入單元,從而可以實現(xiàn)在在線應(yīng)用平臺中對于同一應(yīng)用的多個用戶的使用,不同的用戶可以通過不同的終端,在不同區(qū)域內(nèi),實現(xiàn)應(yīng)用的交互,也可以通過相同終端的不同輸入設(shè)備實現(xiàn)應(yīng)用的交互,從而提升用戶體驗。本發(fā)明實施例提供了一種在線應(yīng)用的實現(xiàn)方法,如圖2所示,包括:201、終端向虛擬機(jī)發(fā)送第一連接請求消息。其中,所述第一連接請求消息中攜帶有所述終端的用戶標(biāo)識和已啟動的所述終端的第一輸入設(shè)備的設(shè)備標(biāo)識,以使得所述虛擬機(jī)根據(jù)所述終端的用戶標(biāo)識和所述終端的第一輸入設(shè)備的設(shè)備標(biāo)識,建立第一虛擬輸入單元與所述終端的第一輸入設(shè)備的映射關(guān)系,所述第一虛擬輸入單元為虛擬機(jī)中空閑的虛擬輸入單元。其中,所述第一連接請求消息中攜帶有所述終端的用戶標(biāo)識和已啟動的所述終端的第一輸入設(shè)備的設(shè)備標(biāo)識。所述終端的用戶標(biāo)識可以為終端的標(biāo)識(如終端的IP地址,手機(jī)號,IMEI號等),也可以為終端的用戶的帳戶,或其它的能唯一標(biāo)識終端或終端的用戶的標(biāo)識,本發(fā)明在此不在詳述。終端的第一輸入設(shè)備觸發(fā)終端發(fā)起應(yīng)用或是加入應(yīng)用,在終端獲取到虛擬機(jī)地址信息后,終端向虛擬機(jī)發(fā)送第一連接請求消息。需要說明的是,終端的第一輸入設(shè)備在連接到終端時,終端會記錄第一輸入設(shè)備的設(shè)備標(biāo)識。202、接收所述虛擬機(jī)發(fā)送的第一連接響應(yīng)消息。203、接收所述虛擬機(jī)發(fā)送的應(yīng)用準(zhǔn)備完成消息,以便所述終端與所述虛擬機(jī)進(jìn)行指令和/或數(shù)據(jù)的傳輸。具體的,若虛擬機(jī)獲知應(yīng)用的類型為不支持應(yīng)用運(yùn)行過程中添加用戶的應(yīng)用,則虛擬機(jī)在向所述終端發(fā)送第一連接響應(yīng)消息后,先檢測建立的至少一個虛擬輸入單元中是否有空閑的虛擬輸入單元;若沒有空閑的虛擬輸入單元,則虛擬機(jī)向已連接到虛擬機(jī)的終端發(fā)送應(yīng)用準(zhǔn)備完成消息,終端接收虛擬機(jī)發(fā)送的應(yīng)用準(zhǔn)備完成消息。若虛擬機(jī)獲知應(yīng)用的類型為支持應(yīng)用運(yùn)行過程中添加用戶的應(yīng)用,則虛擬機(jī)在向終端發(fā)送完第一連接響應(yīng)消息后,直接向所述終端發(fā)送應(yīng)用準(zhǔn)備完成消息,則終端接收完第一連接響應(yīng)消息后,接收應(yīng)用準(zhǔn)備完成消息。本發(fā)明實施例提供了一種在線應(yīng)用的實現(xiàn)方法,終端向虛擬機(jī)發(fā)送攜帶有終端的用戶標(biāo)識和已啟動的終端的輸入設(shè)備的設(shè)備標(biāo)識的第一連接請求消息,以使得虛擬機(jī)根據(jù)終端的用戶標(biāo)識和已啟動的終端的輸入設(shè)備的設(shè)備標(biāo)識,建立虛擬輸入單元與終端的第一輸入設(shè)備的對應(yīng)的映射關(guān)系。這樣能夠?qū)崿F(xiàn)在在線應(yīng)用平臺中對于同一應(yīng)用的多個用戶的使用,不同的用戶可以通過不同的終端,在不同區(qū)域內(nèi),實現(xiàn)應(yīng)用的交互,也可以通過相同終端的不同輸入設(shè)備實現(xiàn)應(yīng)用的交互,從而提升用戶體驗。本發(fā)明實施例提供了一種在線應(yīng)用的實現(xiàn)方法,如圖3所示,包括:301、虛擬機(jī)管理器接收第一終端發(fā)送的第一應(yīng)用啟動請求消息。其中,所述第一應(yīng)用啟動請求消息中攜帶有第一標(biāo)識和應(yīng)用標(biāo)識。所述第一標(biāo)識用于指示其他輸入設(shè)備是否可加入到應(yīng)用中。進(jìn)一步的,第一應(yīng)用啟動請求消息中還攜帶有終端的用戶信息和和終端性能信息??蛇x的,所述第一應(yīng)用啟動請求消息中還攜帶有所述第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量。具體的,用戶信息包括終端的用戶標(biāo)識和用戶登錄密碼信息。終端性能信息指示終端所具有的性能。例如,終端是否具有觸摸屏功能,是否具體帶有鍵盤功能等。需要說明的是,第一終端將第一應(yīng)用啟動請求消息進(jìn)行數(shù)據(jù)包封裝處理后,發(fā)送至虛擬機(jī)管理器。第一終端在進(jìn)行數(shù)據(jù)包封裝時,將數(shù)據(jù)包的包頭信息中用于標(biāo)識消息類型的字段填寫為第一應(yīng)用啟動請求消息對應(yīng)的編碼,以使得虛擬機(jī)管理器獲知第一終端發(fā)送的消息為第一應(yīng)用啟動請求消息。虛擬機(jī)管理器接收到數(shù)據(jù)包后,通過查看數(shù)據(jù)包包頭信息的標(biāo)識消息類型的字段獲知第一終端發(fā)送的消息為第一應(yīng)用啟動請求消息,進(jìn)行解封裝處理后得到第一應(yīng)用啟動請求消息,并根據(jù)第一應(yīng)用啟動消息中的用戶信息為發(fā)起應(yīng)用的第一終端的用戶建立用戶信息表,在用戶信息表中記錄有第一終端的用戶標(biāo)識和第一終端的終端性能信息和第一終端要啟動的應(yīng)用的應(yīng)用標(biāo)識。需要說明的是,虛擬機(jī)管理器為第一終端的用戶建立用戶信息表可以是為每個用戶建立一張單獨(dú)的表,也可以是在已建立的用戶信息表中添加一個表項,記錄第一終端的用戶的信息,本發(fā)明對此不作限定。302、根據(jù)所述應(yīng)用標(biāo)識和第一終端的終端性能信息,選擇虛擬機(jī)。具體的,虛擬機(jī)管理器根據(jù)應(yīng)用標(biāo)識和第一終端的終端性能信息選擇虛擬機(jī)。具體的選擇方法為現(xiàn)有技術(shù),本發(fā)明實施例在此不做限定和詳細(xì)論述。303、向所述虛擬機(jī)發(fā)送第二應(yīng)用啟動請求消息。其中,所述第二應(yīng)用啟動請求消息中攜帶有第一標(biāo)識和應(yīng)用標(biāo)識。所述第一標(biāo)識用于指示其他輸入設(shè)備可加入到應(yīng)用中。具體的,虛擬機(jī)管理器將第二應(yīng)用啟動請求消息發(fā)送至選擇的虛擬機(jī)。可選的,若虛擬機(jī)管理器接收到的第一應(yīng)用啟動請求消息中攜帶有第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量,則虛擬機(jī)管理器將第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量添加至第二應(yīng)用啟動請求消息中發(fā)送至選擇的虛擬機(jī)。進(jìn)一步可選的,若虛擬機(jī)管理器接收到的第一應(yīng)用啟動請求消息中沒有攜帶第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量,則虛擬機(jī)管理器根據(jù)應(yīng)用標(biāo)識通過查看應(yīng)用的配置文件獲知應(yīng)用允許接入的最大連接數(shù)量,并將應(yīng)用允許接入的最大連接數(shù)量添加至第二應(yīng)用啟動請求消息中發(fā)送至選擇的虛擬機(jī)。需要說明的是,應(yīng)用允許接入的最大連接數(shù)量存儲在應(yīng)用的配置文件中,虛擬機(jī)管理器可以通過查看此文件獲知應(yīng)用允許接入的最大連接數(shù)量。應(yīng)用的配置文件中記錄有應(yīng)用的信息,例如記錄應(yīng)用允許接入的最大終端輸入設(shè)備的數(shù)量,記錄應(yīng)用的類型等信息。虛擬機(jī)接收第二應(yīng)用啟動請求消息,若所述第一標(biāo)識指示不允許其他輸入設(shè)備加入到該應(yīng)用中,則虛擬機(jī)建立一個虛擬輸入單元。若所述第一標(biāo)識指示允許其他輸入設(shè)備加入到該的應(yīng)用中,可選的,所述第二應(yīng)用啟動請求消息中攜帶有第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量,且第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量不大于應(yīng)用允許接入的最大連接數(shù)量,或者,第二應(yīng)用啟動請求消息中攜帶有應(yīng)用允許接入的最大連接數(shù)量,則虛擬機(jī)根據(jù)所述第一終端設(shè)定的可連接的輸入設(shè)備數(shù)量,或者,根據(jù)應(yīng)用允許接入的最大連接數(shù)量建立相同數(shù)量的虛擬輸入單元。若所述第一標(biāo)識指示允許其他輸入設(shè)備加入到該的應(yīng)用中,且所述第二應(yīng)用啟動請求消息中沒有攜帶所述第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量,也沒有攜帶所述應(yīng)用允許接入的最大連接數(shù)量,則虛擬機(jī)通過查看應(yīng)用的配置文件獲知此應(yīng)用允許接入的最大連接數(shù)量,根據(jù)應(yīng)用允許接入的最大連接數(shù)量建立相同數(shù)量的虛擬輸入單元?;蛘?,所述第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量大于應(yīng)用允許接入的最大連接數(shù)量,則虛擬機(jī)根據(jù)應(yīng)用允許接入的最大連接數(shù)量建立相同數(shù)量的虛擬輸入單元。并啟動應(yīng)用,將第二應(yīng)用啟動響應(yīng)消息發(fā)送至虛擬機(jī)管理器。需要說明的是,應(yīng)用的配置文件中記錄有應(yīng)用的信息,例如記錄應(yīng)用允許接入的最大連接數(shù)量,應(yīng)用的類型等信息。304、接收所述虛擬機(jī)發(fā)送的第二應(yīng)用啟動響應(yīng)消息。具體的,虛擬機(jī)管理器將接收到第二應(yīng)用啟動響應(yīng)消息后檢測第二應(yīng)用響應(yīng)啟動消息中是否攜帶有虛擬機(jī)地址信息,若第二應(yīng)用啟動響應(yīng)消息中沒有攜帶虛擬機(jī)地址信息,則虛擬機(jī)管理器將虛擬機(jī)地址信息添加至第二應(yīng)用啟動響應(yīng)消息中,并將攜帶有虛擬機(jī)地址信息添加至第二應(yīng)用啟動響應(yīng)消息作為第一應(yīng)用啟動響應(yīng)消息,并將虛擬機(jī)地址信息添加至用戶信息表中。305、發(fā)送第一應(yīng)用啟動響應(yīng)消息至所述第一終端,所述第一應(yīng)用啟動響應(yīng)消息中攜帶有虛擬機(jī)地址信息,以便于第一終端根據(jù)所述虛擬機(jī)地址信息向所述虛擬機(jī)發(fā)送第一連接請求消息;第一終端發(fā)送的所述第一連接請求消息中攜帶有所述第一終端的用戶標(biāo)識和已啟動的所述第一終端的第一輸入設(shè)備的設(shè)備標(biāo)識。本發(fā)明實施例提供了一種在線應(yīng)用的實現(xiàn)方法,虛擬機(jī)管理器通過接收第一終端發(fā)送的第一應(yīng)用啟動請求消息,選擇虛擬機(jī),并向選擇的虛擬機(jī)發(fā)送第二應(yīng)用啟動請求消息。接收到虛擬機(jī)發(fā)送的第二應(yīng)用啟動響應(yīng)消息,并將攜帶有虛擬機(jī)地址信息的第一應(yīng)用啟動響應(yīng)消息發(fā)送至第一終端。這樣,能使第一終端與虛擬機(jī)之間建立連接,以便第一終端的輸入設(shè)備與虛擬機(jī)的虛擬輸入單元之間建立一一對應(yīng)的映射關(guān)系。用于實現(xiàn)在在線應(yīng)用平臺中對于同一應(yīng)用的多個用戶的使用,不同的用戶可以通過不同的終端,在不同區(qū)域內(nèi),實現(xiàn)應(yīng)用的交互,也可以通過相同終端的不同輸入設(shè)備實現(xiàn)應(yīng)用的交互,從而提升用戶體驗。本發(fā)明實施例提供了一種在線應(yīng)用的實現(xiàn)方法,包括:401、與步驟301相同,本發(fā)明實施例在此不在詳述。402、與步驟302相同,在此不在詳述。舉例說明,虛擬機(jī)1和虛擬機(jī)2都安裝有應(yīng)用標(biāo)識為3的應(yīng)用程序,應(yīng)用標(biāo)識為3的應(yīng)用程序并未啟動。并且,虛擬機(jī)1支持的終端的屏幕分辨率為320*480,虛擬機(jī)2支持的終端屏幕分辨率為320*640。虛擬機(jī)管理器接收到第一終端發(fā)送的應(yīng)用標(biāo)識為3的第一應(yīng)用啟動請求消息,并且第一終端的屏幕分辨率為320*640,則虛擬機(jī)管理器在接收第一應(yīng)用啟動請求消息后,將選擇虛擬機(jī)2中的應(yīng)用程序作為第一終端發(fā)起的應(yīng)用。403、與步驟303相同,在此不在詳述。如上例所述,向虛擬機(jī)2發(fā)送第二應(yīng)用啟動請求消息。404、虛擬機(jī)根據(jù)第二應(yīng)用啟動請求消息中的第一標(biāo)識建立至少一個虛擬輸入單元,并根據(jù)所述應(yīng)用標(biāo)識啟動應(yīng)用。具體的,若所述第一標(biāo)識指示不允許其他輸入設(shè)備加入到該應(yīng)用中,則虛擬機(jī)建立一個虛擬輸入單元。若所述第一標(biāo)識指示允許其他輸入設(shè)備加入到該的應(yīng)用中,可選的,所述第二應(yīng)用啟動請求消息中攜帶有第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量,且第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量不大于應(yīng)用允許接入的最大連接數(shù)量,或者,第二應(yīng)用啟動請求消息中攜帶有應(yīng)用允許接入的最大連接數(shù)量,則虛擬機(jī)根據(jù)所述第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量,或者,根據(jù)應(yīng)用允許接入的最大連接數(shù)量建立相同數(shù)量的虛擬輸入單元。若所述第一標(biāo)識指示允許其他輸入設(shè)備加入到該的應(yīng)用中,且所述第二應(yīng)用啟動請求消息中沒有攜帶所述第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量,也沒有攜帶所述應(yīng)用允許接入的最大連接數(shù)量,則虛擬機(jī)通過查看應(yīng)用的配置文件獲知此應(yīng)用允許接入的最大連接數(shù)量,根據(jù)應(yīng)用允許接入的最大連接數(shù)量建立相同數(shù)量的虛擬輸入單元?;蛘?,所述第一終端設(shè)定的可連接的輸入設(shè)備的數(shù)量大于應(yīng)用允許接入的最大連接數(shù)量,根據(jù)應(yīng)用允許接入的最大連接數(shù)量建立相同數(shù)量的虛擬輸入單元。并啟動應(yīng)用。需要說明的是,應(yīng)用允許接入的最大終端輸入設(shè)備的數(shù)量存儲在應(yīng)用的配置文件中,虛擬機(jī)管理器可以通過查看此文件獲知應(yīng)用允許接入的最大終端輸入設(shè)備的數(shù)量。應(yīng)用的配置文件中記錄有應(yīng)用的信息,例如記錄應(yīng)用允許接入的最大終端輸入設(shè)備的數(shù)量,應(yīng)用的類型等信息。405、虛擬機(jī)將第二應(yīng)用啟動響應(yīng)消息發(fā)送至虛擬機(jī)管理器,以使得虛擬機(jī)管理器發(fā)送攜帶有所述虛擬機(jī)地址信息的第一應(yīng)用啟動響應(yīng)消息至所述終端,以便所述終端向所述虛擬機(jī)發(fā)送第一連接請求消息。可選的,虛擬機(jī)將其地址信息添加至第二應(yīng)用啟動響應(yīng)消息。406、與步驟304相同,在此不在詳述。407、與步驟305相同,在此不在詳述。408、第一終端根據(jù)第一應(yīng)用啟動響應(yīng)消息中的虛擬機(jī)地址信息向虛擬機(jī)發(fā)送第一連接請求消息。具體的,第一終端接收到第一應(yīng)用啟動響應(yīng)消息后,獲知并存儲虛擬機(jī)地址信息與應(yīng)用標(biāo)識,第一終端跟虛擬機(jī)地址信息向虛擬機(jī)發(fā)送的第一連接請求消息中攜帶有第一終端的用戶標(biāo)識和已啟動的第一終端的第一輸入設(shè)備的設(shè)備標(biāo)識,以使得虛擬機(jī)根據(jù)第一終端的用戶標(biāo)識和第一終端的第一輸入設(shè)備的設(shè)備標(biāo)識,建立空閑的虛擬輸入單元與第一終端的第一輸入設(shè)備的映射關(guān)系。其中,第一終端的用戶標(biāo)識可以為第一終端的標(biāo)識(如第一終端的IP地址,手機(jī)號,IMEI號等),也可以為第一終端的用戶的帳戶,或其它的能唯一標(biāo)識第一終端或第一終端的用戶的標(biāo)識,本發(fā)明在此不在詳述。409、虛擬機(jī)為所述第一終端的第一輸入設(shè)備選擇第一虛擬輸入單元,并根據(jù)所述第一終端的用戶標(biāo)識和所述第一終端的第一輸入設(shè)備的設(shè)備標(biāo)識,建立所述第一虛擬輸入單元與所述第一終端的第一輸入設(shè)備的映射關(guān)系。其中,所述第一輸入單元為虛擬機(jī)中空閑的虛擬輸入單元,即還沒有被分配給輸入設(shè)備,也沒有被建立與輸入設(shè)備和終端,或也沒有被建立與輸入設(shè)備和終端的用戶有映射關(guān)系的虛擬輸入單元。具體的,虛擬機(jī)在已建立的至少一個虛擬輸入單元中檢測至少一個虛擬輸入單元是否都已與輸入設(shè)備建立了映射關(guān)系,若有虛擬輸入單元沒有與輸入設(shè)備建立映射關(guān)系,則此虛擬輸入單元為空閑的虛擬輸入單元,則將此空閑的虛擬輸入單元作第一虛擬輸入單元。虛擬機(jī)建立第一終端的用戶標(biāo)識和第一終端的第一輸入設(shè)備的設(shè)備標(biāo)識與第一虛擬輸入單元的單元標(biāo)識的映射關(guān)系,使得第一虛擬輸入單元與第一終端的第一輸入設(shè)備對應(yīng),以便于將虛擬機(jī)將接收到的第一輸入設(shè)備通過第一終端發(fā)送的指...