本發(fā)明涉及計算機技術(shù)領(lǐng)域,更具體地,涉及一種在智能終端設(shè)備中實現(xiàn)mptcp協(xié)議的方法及裝置。
背景技術(shù):
隨著半導(dǎo)體技術(shù)、計算機技術(shù)以及通信技術(shù)的快速發(fā)展,相應(yīng)的網(wǎng)絡(luò)環(huán)境也在發(fā)生著巨變,由傳統(tǒng)互聯(lián)網(wǎng)到移動互聯(lián)網(wǎng),再由移動互聯(lián)網(wǎng)到萬物互聯(lián)的物聯(lián)網(wǎng)。網(wǎng)絡(luò)終端節(jié)點由pc到智能手機,再到各種移動智能設(shè)備,由此引發(fā)的大量的各式各樣具有創(chuàng)新性的網(wǎng)絡(luò)應(yīng)用極大的影響著人們的生活方式。
新的技術(shù)、新的需求仍然在不斷的涌現(xiàn),而為此提供基礎(chǔ)服務(wù)的網(wǎng)絡(luò)協(xié)議也面臨著各種挑戰(zhàn),已有網(wǎng)絡(luò)協(xié)議需要改進或新的網(wǎng)絡(luò)協(xié)議有待引入。(1)智能手機有多種聯(lián)網(wǎng)方式,比如wifi、3g、4g、5g或藍牙等,而目前的網(wǎng)絡(luò)協(xié)議不能很好的利用智能手機或移動智能設(shè)備中的多種網(wǎng)絡(luò)接口。(2)在一些特殊的環(huán)境,比如,大地震、戰(zhàn)爭或邊遠(yuǎn)地區(qū)等環(huán)境中,在沒有移動信號的情況下,智能手機、移動智能設(shè)備需要組成移動自組織網(wǎng)絡(luò)manet來互通信息,這就需要智能手機、移動智能設(shè)備擁有支持manet的網(wǎng)絡(luò)協(xié)議。
對于改進的已有的網(wǎng)絡(luò)協(xié)議,或者設(shè)計的新網(wǎng)絡(luò)協(xié)議在實際環(huán)境中應(yīng)用前,都需要進行網(wǎng)絡(luò)協(xié)議測試。目前,常用的網(wǎng)絡(luò)模擬器/仿真器有ns2、ns3、real、j-sim、glomosim、ssfnet、core、imunes、opnet、qualnet、netsim、omnet++等,在此稱該環(huán)境為虛擬網(wǎng)絡(luò)環(huán)境。采用實際設(shè)備構(gòu)成的網(wǎng)絡(luò)環(huán)境進行各種測試,在此稱該環(huán)境為真實網(wǎng)絡(luò)環(huán)境。
目前,在對移動互聯(lián)網(wǎng)協(xié)議進行測試的過程中,基本上是直接在真實的網(wǎng)絡(luò)環(huán)境中測試,而真實的網(wǎng)絡(luò)環(huán)境會受到物理條件的限制,且當(dāng)運行不正常時,修改源代碼會非常麻煩。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種克服上述問題或者至少部分地解決上述問題的在智能終端設(shè)備中實現(xiàn)mptcp協(xié)議的方法及裝置。
根據(jù)本發(fā)明的一個方面,提供一種在智能終端設(shè)備上實現(xiàn)mptcp協(xié)議的方法,包括:
s1,獲取智能終端設(shè)備所用的android操作系統(tǒng)源碼,向virtualbox虛擬機中移植該套源碼,使得android操作系統(tǒng)能夠在virtualbox虛擬機中運行;
s2,在virtualbox虛擬機上運行集成了mptcp的android操作系統(tǒng),構(gòu)建多路傳輸控制協(xié)議mptcp的網(wǎng)絡(luò)環(huán)境,以實現(xiàn)對mptcp協(xié)議的功能測試;
s3,當(dāng)測試成功后,將mptcp源代碼文件復(fù)制到智能終端設(shè)備所用的android操作系統(tǒng)源碼中,在智能終端設(shè)備上進行測試。
本發(fā)明的有益效果為:向android內(nèi)核集成mptcp代碼的方法,能夠?qū)⒃趘irtualbox虛擬機環(huán)境中測試正確的mptcp協(xié)議代碼直接應(yīng)用于采用android平臺的智能終端設(shè)備中,縮短了多路徑傳輸協(xié)議應(yīng)用于實際網(wǎng)絡(luò)環(huán)境中的周期,能夠較大程度上加速mptcp協(xié)議在移動互聯(lián)網(wǎng)中普及和應(yīng)用的進程。
在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以作如下改進。
進一步的,所述步驟s1具體包括:
s11,獲取智能終端設(shè)備所用的android操作系統(tǒng)源碼,并復(fù)制一份為android-x86源代碼;
s12,獲取mptcp源代碼,將mptcp源代碼復(fù)制到android-x86源代碼目錄樹的相應(yīng)位置;
s13,編譯android-x86源代碼,生成android.iso鏡像安裝文件;
s14,在virtualbox虛擬機中安裝android.iso鏡像安裝文件,以實現(xiàn)在virtualbox虛擬機中安裝android操作系統(tǒng)。
進一步的,所述virtualbox虛擬機為兩個,所述步驟s14具體包括:
在其中一個virtualbox虛擬機中安裝android.iso鏡像安裝文件,操作系統(tǒng)實例為android-server;
在另一個virtualbox虛擬機中安裝android.iso鏡像安裝文件,操作系統(tǒng)實例為android-client;
使用橋接技術(shù)將兩個virtualbox虛擬機中的android操作系統(tǒng)連接起來。
進一步的,所述步驟s14還包括:
在android-server上設(shè)置兩個網(wǎng)絡(luò)接口以及在android-client上設(shè)置兩個網(wǎng)絡(luò)接口;
通過橋接技術(shù)將android-server上的兩個網(wǎng)絡(luò)接口和android-client上的兩個網(wǎng)絡(luò)接口連接,以實現(xiàn)將android-server中的android操作系統(tǒng)和android-client中的android操作系統(tǒng)連接。
進一步的,使用linux橋接技術(shù)或者仿真模擬器ns3將android-server上的兩個網(wǎng)絡(luò)接口和android-client上的兩個網(wǎng)絡(luò)接口連接。
進一步的,所述步驟s3具體包括:
s31,將mptcp源代碼文件復(fù)制到智能終端設(shè)備所用的android操作系統(tǒng)源代碼中,進行編譯,生成刷機包;
s32,將所述刷機包刷入智能終端設(shè)備中在智能終端設(shè)備中測試mptcp協(xié)議是否正常。
根據(jù)本發(fā)明的另一個方面,還提供了一種在智能終端設(shè)備上實現(xiàn)mptcp協(xié)議的裝置,包括:
移植模塊,用于獲取智能終端設(shè)備所用的android操作系統(tǒng)源碼,并向virtualbox虛擬機中移植該套源碼,使得android能夠在virtualbox虛擬機中運行;
第一運行測試模塊,用于在virtualbox虛擬機上運行集成了mptcp的android操作系統(tǒng),構(gòu)建多路傳輸控制協(xié)議mptcp的網(wǎng)絡(luò)環(huán)境,以實現(xiàn)對mptcp協(xié)議的功能測試;
第二運行測試模塊,用于當(dāng)?shù)谝贿\行測試模塊測試成功后,將mptcp源代碼文件復(fù)制到智能終端設(shè)備所用的android操作系統(tǒng)源碼中,在智能終端設(shè)備上進行運行測試。
進一步的,所述獲取移植模塊進一步包括:
第一獲取單元,用于獲取智能終端設(shè)備所用的android操作系統(tǒng)源碼,并復(fù)制一份為android-x86源代碼;
第二獲取單元,用于獲取mptcp源代碼,將mptcp源代碼復(fù)制到android-x86源代碼目錄樹的相應(yīng)位置;
編譯單元,用于編譯android-x86源代碼,生成android.iso鏡像安裝文件;
安裝單元,用于在virtualbox虛擬機中安裝android.iso鏡像安裝文件,以實現(xiàn)在virtualbox虛擬機中安裝android操作系統(tǒng)。
進一步的,所述virtualbox虛擬機為兩個,所述安裝單元具體用于:
在其中一個virtualbox虛擬機中安裝android.iso鏡像安裝文件,操作系統(tǒng)實例為android-server;以及在另一個virtualbox虛擬機中安裝android.iso鏡像安裝文件,操作系統(tǒng)實例為android-client。
進一步的,所述第二測試模塊進一步包括:
復(fù)制編譯單元,用于將mptcp源代碼文件復(fù)制到智能終端設(shè)備所用的android操作系統(tǒng)源代碼中,進行編譯,生成刷機包;
測試單元,用于將所述刷機包刷入智能終端設(shè)備中在智能終端設(shè)備中測試mptcp協(xié)議是否正常。
附圖說明
圖1為本發(fā)明一個實施例的在智能終端設(shè)備上實現(xiàn)mptcp協(xié)議的方法流程圖;
圖2為本發(fā)明一個實施例的在智能終端上實現(xiàn)mptcp協(xié)議的整體流程圖;
圖3為本發(fā)明另一個實施例的在智能終端設(shè)備上實現(xiàn)mptcp協(xié)議的裝置連接框圖;
圖4為本發(fā)明另一個實施例的在智能終端設(shè)備上實現(xiàn)mptcp協(xié)議的裝置中安裝獲取模塊的內(nèi)部連接框圖;
圖5為本發(fā)明另一個實施例的在智能終端設(shè)備上實現(xiàn)mptcp協(xié)議的裝置中第二測試模塊的內(nèi)部連接框圖。
具體實施方式
下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式作進一步詳細(xì)描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
參見圖1,圖1提供了本發(fā)明一個實施例的在智能終端設(shè)備上實現(xiàn)mptcp協(xié)議的方法,能夠?qū)ptcp協(xié)議應(yīng)用于真實環(huán)境中的智能終端設(shè)備上。該方法包括:s1,獲取智能終端設(shè)備所用的android操作系統(tǒng)源碼,向virtualbox虛擬機中移植該套源碼,使得android操作系統(tǒng)能夠在virtualbox虛擬機中運行;s2,在virtualbox虛擬機上運行集成了mptcp的android操作系統(tǒng),構(gòu)建多路傳輸控制協(xié)議mptcp的網(wǎng)絡(luò)環(huán)境,以實現(xiàn)對mptcp協(xié)議的功能測試;s3,當(dāng)測試成功后,將mptcp源代碼文件復(fù)制到智能終端設(shè)備所用的android操作系統(tǒng)源碼中,在智能終端設(shè)備上進行測試。
在本實施例中,先獲取智能終端設(shè)備所用的android操作系統(tǒng)源碼,并復(fù)制一份為android-x86源代碼,向virtualbox虛擬機中移植該套源碼,使得android能夠在virtualbox虛擬機中運行。隨后將多路傳輸控制協(xié)議mptcp也集成到android-x86源代碼中,在virtualbox虛擬機上運行集成了mptcp的android操作系統(tǒng),構(gòu)建多路傳輸控制協(xié)議mptcp的網(wǎng)絡(luò)環(huán)境,以實現(xiàn)對mptcp協(xié)議的功能測試。當(dāng)在virtualbox虛擬機上測試mptcp協(xié)議成功后,將mptcp源代碼文件復(fù)制到智能終端設(shè)備的android操作系統(tǒng)源碼中,在真實的智能終端設(shè)備上對mptcp協(xié)議進行測試驗證。
本實施例向android內(nèi)核集成mptcp代碼的方法,能夠?qū)⒃趘irtualbox虛擬機環(huán)境中測試正確的mptcp協(xié)議代碼直接應(yīng)用于采用android平臺的智能終端設(shè)備中,縮短了多路徑傳輸協(xié)議應(yīng)用于實際網(wǎng)絡(luò)環(huán)境中的周期,能夠較大程度上加速mptcp協(xié)議在移動互聯(lián)網(wǎng)中普及和應(yīng)用的進程。
在本發(fā)明的一個實施例中,參見圖2,所述步驟s1具體包括:s11,獲取智能終端設(shè)備所用的andriod操作系統(tǒng)源碼,并復(fù)制一份為android-x86源代碼;s12,獲取mptcp源代碼,將mptcp源代碼復(fù)制到android-x86源代碼目錄樹的相應(yīng)位置;s13,編譯android-x86源代碼,生成android.iso鏡像安裝文件;s14,在virtualbox虛擬機中安裝android.iso鏡像安裝文件,以實現(xiàn)在virtualbox虛擬機中安裝android操作系統(tǒng)。
由于是將真實網(wǎng)絡(luò)環(huán)境與虛擬網(wǎng)絡(luò)環(huán)境相結(jié)合,是將真實環(huán)境中的android操作系統(tǒng)移植到虛擬網(wǎng)絡(luò)環(huán)境中,并將mptcp協(xié)議進行測試,然后再應(yīng)用到真實的智能終端設(shè)備中。因此,需要將真實智能終端設(shè)備所用的android操作系統(tǒng)源代碼移植到virtualbox虛擬機中。參見圖2,具體的移植過程為:獲取智能終端設(shè)備所用的andriod操作系統(tǒng)源碼,并復(fù)制一份為android-x86源代碼,virtualbox虛擬機中通常為x-86平臺。然后獲取mptcp源代碼,將mptcp源代碼復(fù)制到android-x86源代碼目錄樹的相應(yīng)位置,即將mptcp源代碼復(fù)制到android操作系統(tǒng)的源代碼中。隨后編譯android-x86源代碼,生成android.iso鏡像安裝文件。在virtualbox虛擬機中安裝android.iso鏡像安裝文件,以實現(xiàn)在virtualbox虛擬機中安裝android操作系統(tǒng)。
在本發(fā)明的一個實施例中,所述virtualbox虛擬機為兩個,所述步驟s14具體包括:在其中一個virtualbox虛擬機中安裝android.iso鏡像安裝文件,操作系統(tǒng)實例為android-server;在另一個virtualbox虛擬機中安裝android.iso鏡像安裝文件,操作系統(tǒng)實例為android-client;使用橋接技術(shù)將兩個virtualbox虛擬機中的android操作系統(tǒng)連接起來。
在本實施例中,由于測試的網(wǎng)絡(luò)協(xié)議為多路徑傳輸控制協(xié)議mptcp,因此,需要布置兩個virtualbox虛擬機,一個virtualbox虛擬機作為服務(wù)端,一個virtualbox虛擬機作為客戶端,通過兩個virtualbox虛擬機中數(shù)據(jù)的傳輸來測試多路徑傳輸控制協(xié)議是否正常。因此,本實施例在其中一個virtualbox虛擬機中安裝android.iso鏡像安裝文件,操作系統(tǒng)實例為android-server,同時,在另一個virtualbox虛擬機中也安裝android.iso鏡像安裝文件,操作系統(tǒng)實例為android-client,并使用橋接技術(shù)將兩個virtualbox虛擬機中的android操作系統(tǒng)連接起來,使得兩個virtualbox虛擬機能夠互相通信傳輸。
在本發(fā)明的另一個實施例中,在android-server上設(shè)置兩個網(wǎng)絡(luò)接口以及在android-client上設(shè)置兩個網(wǎng)絡(luò)接口;通過橋接技術(shù)將android-server上的兩個網(wǎng)絡(luò)接口和android-client上的兩個網(wǎng)絡(luò)接口連接,以實現(xiàn)將android-server中的android操作系統(tǒng)和android-client中的android操作系統(tǒng)連接。
在使用橋接技術(shù)將兩個virtualbox虛擬機進行連接的過程中,可以在在android-server上設(shè)置兩個網(wǎng)絡(luò)接口以及在android-client上設(shè)置兩個網(wǎng)絡(luò)接口。通過橋接技術(shù)將android-server上的兩個網(wǎng)絡(luò)接口和android-client上的兩個網(wǎng)絡(luò)接口連接,以便android-server中的android操作系統(tǒng)和android-client中的android操作系統(tǒng)連接,實現(xiàn)android-server和android-client之間的數(shù)據(jù)傳輸通信。將android-server上的兩個網(wǎng)絡(luò)接口和android-client上的兩個網(wǎng)絡(luò)接口連接,形成兩條傳輸路徑。在對多路徑傳輸控制協(xié)議mptcp協(xié)議測試的過程中,android-client可以通過兩條路徑同時從android-server接收數(shù)據(jù),如果android-client接收的數(shù)據(jù)是正常的,表明多路徑傳輸控制協(xié)議mptcp協(xié)議是正常的,否則,要么是android操作系統(tǒng)源代碼存在錯誤,要么是mptcp源代碼有錯誤,可分別進行修改、排除錯誤,再次進行測試,直到測試成功。
需要說明的是,本實施例中使用linux橋接技術(shù)或者仿真模擬器ns3將android-server上的兩個網(wǎng)絡(luò)接口和android-client上的兩個網(wǎng)絡(luò)接口連接。
在本發(fā)明的一個實施例中,所述步驟s3具體包括:s31,將mptcp源代碼文件復(fù)制到智能終端設(shè)備所用的android操作系統(tǒng)源代碼中,進行編譯,生成刷機包;s32,將所述刷機包刷入智能終端設(shè)備中在智能終端設(shè)備中測試mptcp協(xié)議是否正常。
當(dāng)在virtualbox虛擬機中測試mptcp協(xié)議成功后,表明mptcp協(xié)議是正常的,這樣就可以直接將mptcp協(xié)議在真實的智能終端設(shè)備上使用。此時,可以將在virtualbox測試成功的mptcp源代碼文件直接復(fù)制到智能終端設(shè)備所用的android操作系統(tǒng)源代碼中,并進行編譯,生成刷機包。然后將刷機包刷入智能終端設(shè)備中,在智能終端設(shè)備中測試驗證mptcp協(xié)議是否正常。通常在virtualbox虛擬機中測試成功后的mptcp,直接移植到真實的智能終端設(shè)備中,也是能夠正常使用的,如果不能正常使用,可以通過修改android操作系統(tǒng)源碼,直到mptcp協(xié)議能夠在智能終端設(shè)備中正常使用。
參見圖3,圖3提供了本發(fā)明另一個實施例中在智能終端設(shè)備中實現(xiàn)mptcp協(xié)議的裝置,包括獲取移植21、第一運行測試模塊22和第二運行測試模塊23。
獲取移植模塊21,用于獲取智能終端設(shè)備所用的android操作系統(tǒng)源碼,并向virtualbox虛擬機中移植該套源碼,使得android能夠在virtualbox虛擬機中運行。第一運行測試模塊22,用于在virtualbox虛擬機上運行集成了mptcp的android操作系統(tǒng),構(gòu)建多路傳輸控制協(xié)議mptcp的網(wǎng)絡(luò)環(huán)境,以實現(xiàn)對mptcp協(xié)議的功能測試。
第二運行測試模塊23,用于當(dāng)測試成功后,將mptcp源代碼文件復(fù)制到智能終端設(shè)備所用的android操作系統(tǒng)源碼中,在智能終端設(shè)備上進行刷機測試。
參見圖4,其中,獲取移植模塊21包括第一獲取單元211、第二獲取單元212、編譯單元213和安裝單元214。
第一獲取單元211,用于獲取智能終端設(shè)備所用的andriod操作系統(tǒng)源碼,并復(fù)制一份為android-x86源代碼;
第二獲取單元212,用于獲取mptcp源代碼,將mptcp源代碼復(fù)制到android-x86源代碼目錄樹的相應(yīng)位置;
編譯單元213,用于編譯android-x86源代碼,生成android.iso鏡像安裝文件;
安裝單元214,用于在virtualbox虛擬機中安裝android.iso鏡像安裝文件,以實現(xiàn)在virtualbox虛擬機中安裝android操作系統(tǒng)。
所述virtualbox虛擬機為兩個,所述安裝單元214具體用于:
在其中一個virtualbox虛擬機中安裝android.iso鏡像安裝文件,操作系統(tǒng)實例為android-server;以及在另一個virtualbox虛擬機中安裝android.iso鏡像安裝文件,操作系統(tǒng)實例為android-client。
參見圖5,第二運行測試模塊23包括復(fù)制編譯單元231和測試單元232。
復(fù)制編譯單元231,用于將mptcp源代碼文件復(fù)制到智能終端設(shè)備所用的android操作系統(tǒng)源代碼中,進行編譯,生成刷機包;
測試單元232,用于將所述刷機包刷入智能終端設(shè)備中在智能終端設(shè)備中測試mptcp協(xié)議是否正常。
本發(fā)明提供的一種在智能終端設(shè)備中實現(xiàn)mptcp協(xié)議的方法及裝置,向android內(nèi)核集成mptcp代碼的方法,能夠?qū)⒃趘irtualbox虛擬機環(huán)境中測試正確的mptcp協(xié)議代碼直接應(yīng)用于采用android平臺的智能終端設(shè)備中,縮短了多路徑傳輸協(xié)議應(yīng)用于實際網(wǎng)絡(luò)環(huán)境中的周期,能夠較大程度上加速mptcp協(xié)議在移動互聯(lián)網(wǎng)中普及和應(yīng)用的進程。
最后,本申請的方法僅為較佳的實施方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。