應(yīng)用多開的管道通信控制方法及系統(tǒng)的制作方法
【專利說明】
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及應(yīng)用多開的管道通信控制方法及系統(tǒng)。
【【背景技術(shù)】】
[0002]模擬器,根據(jù)此原理制作的軟件又可稱為模擬程序,是指主要透過軟件模擬硬件處理器的功能和指令系統(tǒng)的程序使計(jì)算機(jī)或者其他多媒體平臺(tái)(掌上電腦,手機(jī))能夠運(yùn)行其他平臺(tái)上的軟件。虛擬機(jī)技術(shù)是虛擬化技術(shù)的一種,所謂虛擬化技術(shù)就是將事物從一種形式轉(zhuǎn)變成另一種形式,最常用的虛擬化技術(shù)有操作系統(tǒng)中內(nèi)存的虛擬化,實(shí)際運(yùn)行時(shí)用戶需要的內(nèi)存空間可能遠(yuǎn)遠(yuǎn)大于物理機(jī)器的內(nèi)存大小,利用內(nèi)存的虛擬化技術(shù),用戶可以將一部分硬盤虛擬化為內(nèi)存,而這對(duì)用戶是透明的。模擬器多用于電視游戲和街機(jī),也有一些用于掌上電腦。目前,對(duì)于模擬器里應(yīng)用多開而言,在創(chuàng)建虛擬機(jī)的過程中尚不存在一種能在模擬器與虛擬機(jī)之間進(jìn)行通信且唯一標(biāo)識(shí)的數(shù)據(jù)傳輸通道。
【
【發(fā)明內(nèi)容】
】
[0003]本發(fā)明提供一種應(yīng)用多開的管道通信控制方法及系統(tǒng),用以確保應(yīng)用多開時(shí)數(shù)據(jù)傳輸精確的同時(shí),提升數(shù)據(jù)傳輸?shù)男?,進(jìn)而提高用戶體驗(yàn)度。
[0004]根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種應(yīng)用多開的管道通信控制方法,包括:
[0005]啟動(dòng)多開程序,創(chuàng)建虛擬機(jī),同時(shí)創(chuàng)建連接所述虛擬機(jī)及模擬器客戶端的通信管道;
[0006]根據(jù)預(yù)設(shè)的標(biāo)識(shí)規(guī)則對(duì)新創(chuàng)建的連接所述虛擬機(jī)及模擬器客戶端的所述通信管道進(jìn)行唯一"性標(biāo)識(shí);
[0007]啟動(dòng)所述虛擬機(jī)并打開被標(biāo)識(shí)后的所述通信管道,令所述虛擬機(jī)與所述模擬器客戶端進(jìn)行數(shù)據(jù)傳輸。
[0008]在一些實(shí)施例中,所述根據(jù)預(yù)設(shè)的標(biāo)識(shí)規(guī)則對(duì)新創(chuàng)建的連接所述虛擬機(jī)及模擬器客戶端的所述通信管道進(jìn)行唯一性標(biāo)識(shí)包括:
[0009]獲取新創(chuàng)建的所述虛擬機(jī)的名稱,其中,所述虛擬機(jī)的名稱為創(chuàng)建所述虛擬機(jī)時(shí)預(yù)先設(shè)定;
[0010]在所述虛擬機(jī)的名稱的前部、后部或中間位置增加預(yù)設(shè)的管道標(biāo)識(shí),或在所述虛擬機(jī)的名稱的前部、后部和中間位置均增加預(yù)設(shè)的管道標(biāo)識(shí)之后,將其作為與所述虛擬機(jī)之間唯一對(duì)應(yīng)的所述通信管道的名稱。
[0011]在一些實(shí)施例中,所述根據(jù)預(yù)設(shè)的標(biāo)識(shí)規(guī)則對(duì)新創(chuàng)建的連接所述虛擬機(jī)及模擬器客戶端的所述通信管道進(jìn)行唯一性標(biāo)識(shí)包括:
[0012]獲取新創(chuàng)建的所述虛擬機(jī)的名稱為iToolsVM_XX,其中,iToolsVM為創(chuàng)建所述虛擬機(jī)時(shí)預(yù)先設(shè)定,XX為根據(jù)所述虛擬機(jī)的創(chuàng)建順序自動(dòng)排序的數(shù)字或/和字母或/和字符;
[0013]在所述虛擬機(jī)的名稱的前部、后部或中間位置增加_Pipe的管道標(biāo)識(shí),或在所述虛擬機(jī)的名稱的前部、后部和中間位置均增加_Pipe的管道標(biāo)識(shí)之后,將其作為與所述虛擬機(jī)之間唯一對(duì)應(yīng)的所述通信管道的名稱。
[0014]在一些實(shí)施例中,所述啟動(dòng)所述虛擬機(jī)并打開被標(biāo)識(shí)后的所述通信管道,令所述虛擬機(jī)與所述模擬器客戶端進(jìn)行數(shù)據(jù)傳輸包括:
[0015]啟動(dòng)所述虛擬機(jī);
[0016]將VT傳輸插件加載至所述虛擬機(jī)的內(nèi)存,所述VT傳輸插件獲取所述虛擬機(jī)的名稱,并根據(jù)所述虛擬機(jī)名稱檢測(cè)被標(biāo)識(shí)后與所述虛擬機(jī)名稱唯一對(duì)應(yīng)的所述通信管道的名稱;
[0017]在檢測(cè)到與所述虛擬機(jī)名稱唯一對(duì)應(yīng)的所述通信管道被標(biāo)識(shí)之后,打開所述通信管道,令所述虛擬機(jī)與所述模擬器客戶端進(jìn)行數(shù)據(jù)傳輸。
[0018]在一些實(shí)施例中,所述在檢測(cè)到與所述虛擬機(jī)名稱唯一對(duì)應(yīng)的所述通信管道被標(biāo)識(shí)之后,打開所述通信管道,令所述虛擬機(jī)與所述模擬器客戶端進(jìn)行數(shù)據(jù)傳輸包括:
[0019]打開所述通信管道;
[°02°]指示所述虛擬機(jī)的Android系統(tǒng)底層將數(shù)據(jù)傳輸給VirtualBox驅(qū)動(dòng)層;所述VT傳輸插件把數(shù)據(jù)寫入與所述虛擬機(jī)對(duì)應(yīng)的所述通信管道中;所述模擬器客戶端的openGL接口讀取所述通信管道中的數(shù)據(jù);或
[0021]指示所述模擬器客戶端的openGL接口把數(shù)據(jù)寫入與所述虛擬機(jī)對(duì)應(yīng)的所述通信管道中;所述VT傳輸插件讀取所述通信管道中的數(shù)據(jù),并將獲取的所述數(shù)據(jù)傳輸通過所述VirtualBox驅(qū)動(dòng)層傳輸至所述虛擬機(jī)。
[0022]根據(jù)本發(fā)明實(shí)施例的第二方面,還提供一種應(yīng)用多開的管道通信控制系統(tǒng),包括:
[0023]創(chuàng)建模塊,用于啟動(dòng)多開程序,創(chuàng)建虛擬機(jī),同時(shí)創(chuàng)建連接所述虛擬機(jī)及模擬器客戶端的通信管道;
[0024]標(biāo)識(shí)模塊,用于根據(jù)預(yù)設(shè)的標(biāo)識(shí)規(guī)則對(duì)新創(chuàng)建的連接所述虛擬機(jī)及模擬器客戶端的所述通信管道進(jìn)行唯一性標(biāo)識(shí);
[0025]數(shù)據(jù)傳輸模塊,用于啟動(dòng)所述虛擬機(jī)并打開被標(biāo)識(shí)后的所述通信管道,令所述虛擬機(jī)與所述模擬器客戶端進(jìn)行數(shù)據(jù)傳輸。
[0026]在一些實(shí)施例中,所述標(biāo)識(shí)模塊包括:
[0027]第一獲取子模塊,用于獲取新創(chuàng)建的所述虛擬機(jī)的名稱其中,所述虛擬機(jī)的名稱為創(chuàng)建所述虛擬機(jī)時(shí)預(yù)先設(shè)定;
[0028]第一標(biāo)識(shí)子模塊,用于在所述虛擬機(jī)的名稱的前部、后部或中間位置增加預(yù)設(shè)的管道標(biāo)識(shí),或在所述虛擬機(jī)的名稱的前部、后部和中間位置均增加預(yù)設(shè)的管道標(biāo)識(shí)之后,將其作為與所述虛擬機(jī)之間唯一對(duì)應(yīng)的所述通信管道的名稱。
[0029]在一些實(shí)施例中,所述標(biāo)識(shí)模塊還包括:
[0030]第二獲取子模塊,用于獲取新創(chuàng)建的所述虛擬機(jī)的名稱為iToolsVM_XX,其中,iToolsVM為創(chuàng)建所述虛擬機(jī)時(shí)預(yù)先設(shè)定,XX為根據(jù)所述虛擬機(jī)的創(chuàng)建順序自動(dòng)排序的數(shù)字或/和字母或/和字符;
[0031]第二標(biāo)識(shí)子模塊,用于在所述虛擬機(jī)的名稱的前部、后部或中間位置增W_Pipe的管道標(biāo)識(shí),或在所述虛擬機(jī)的名稱的前部、后部和中間位置均增加_Pipe的管道標(biāo)識(shí)之后,將iToolsVM_XX_Pipe作為與所述虛擬機(jī)之間唯一對(duì)應(yīng)的所述通信管道的名稱。
[0032]在一些實(shí)施例中,所述數(shù)據(jù)傳輸模塊包括:
[0033]啟動(dòng)子模塊,用于啟動(dòng)所述虛擬機(jī);
[0034]檢測(cè)子模塊,用于將VT傳輸插件加載至所述虛擬機(jī)的內(nèi)存,所述VT傳輸插件獲取所述虛擬機(jī)的名稱,并根據(jù)所述虛擬機(jī)名稱檢測(cè)被標(biāo)識(shí)后與所述虛擬機(jī)名稱唯一對(duì)應(yīng)的所述通信管道的名稱;
[0035]通信子模塊,用于在檢測(cè)到與所述虛擬機(jī)名稱唯一對(duì)應(yīng)的所述通信管道被標(biāo)識(shí)之后,打開所述通信管道,令所述虛擬機(jī)與所述模擬器客戶端進(jìn)行數(shù)據(jù)傳輸。
[0036]在一些實(shí)施例中,所述通信子模塊包括:
[0037]通信管道開啟單元,用于打開所述通信管道;
[0038]數(shù)據(jù)傳輸單元,用于指示所述虛擬機(jī)的Android系統(tǒng)底層將數(shù)據(jù)傳輸給VirtualBox驅(qū)動(dòng)層;所述VT傳輸插件把數(shù)據(jù)寫入與所述虛擬機(jī)對(duì)應(yīng)的所述通信管道中;所述模擬器客戶端的openGL接口讀取所述通信管道中的數(shù)據(jù);或指示所述模擬器客戶端的openGL接口把數(shù)據(jù)寫入與所述虛擬機(jī)對(duì)應(yīng)的所述通信管道中;所述VT傳輸插件讀取所述通信管道中的數(shù)據(jù),并將獲取的所述數(shù)據(jù)傳輸通過所述VirtualBox驅(qū)動(dòng)層傳輸至所述虛擬機(jī)。
[0039]本發(fā)明在模擬器上應(yīng)用管道通信傳輸數(shù)據(jù),能夠?qū)崿F(xiàn)快速傳輸更大的數(shù)據(jù)的目的,且其傳輸速度快、數(shù)據(jù)傳輸過程穩(wěn)定。同時(shí),本發(fā)明在模擬器里應(yīng)用多開時(shí),創(chuàng)建了一種能在模擬器與虛擬機(jī)之間進(jìn)行通信且唯一標(biāo)識(shí)的數(shù)據(jù)傳輸通道,這樣在確保應(yīng)用多開時(shí)數(shù)據(jù)傳輸精確的同時(shí),提升了數(shù)據(jù)傳輸?shù)男?,進(jìn)而提高了用戶體驗(yàn)度。
[0040]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
[0041]下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
【【附圖說明】】
[0042]圖1為本發(fā)明根據(jù)一示例性實(shí)施例示出的一種應(yīng)用多開的管道通信控制方法的流程圖;
[0043]圖2為本發(fā)明根據(jù)一示例性實(shí)施例示出的一種應(yīng)用多開的管道通信控制方法中步驟S20的流程圖;
[0044]圖3為本發(fā)明根據(jù)一示例性實(shí)施例示出的另一種應(yīng)用多開的管道通信控制方法中步驟S20的流程圖;
[0045]圖4為本發(fā)明根據(jù)一示例性實(shí)施例示出的一種應(yīng)用多開的管道通信控制方法中步驟S30的流程圖;
[0046]圖5為本發(fā)明根據(jù)一示例性實(shí)施例示出的一種應(yīng)用多開的管道通信控制方法中步驟S303的流程圖;
[0047]圖6為本發(fā)明根據(jù)一示例性實(shí)施例示出的一種應(yīng)用多開的管道通信控制系統(tǒng)的框圖;
[0048]圖7為本發(fā)明根據(jù)一示例性實(shí)施例示出的一種應(yīng)用多開的管道通信控制系統(tǒng)的標(biāo)識(shí)模塊62的框圖;
[0049]圖8為本發(fā)明根據(jù)一示例性實(shí)施例示出的另一種應(yīng)用多開的管道通信控制系統(tǒng)的標(biāo)識(shí)模塊62的框圖;
[0050]圖9為本發(fā)明根據(jù)一示例性實(shí)施例示出的應(yīng)用多開的管道通信控制系統(tǒng)的數(shù)據(jù)傳輸模塊63的框圖;
[005