合通道,若是,則執(zhí)行步驟107,若否執(zhí)行步驟105。
[0062]步驟105,建立復(fù)合通道,獲取唯一復(fù)合通道ID。復(fù)合通道ID的獲取方式主要有以下兩種:
(O由解綁定服務(wù)器分配,并通過建立復(fù)合通道的響應(yīng)報文返回給設(shè)備。
[0063](2)部署系統(tǒng)時預(yù)先分配好。
[0064]但在實際應(yīng)用中,具體采用的方式不限于以上幾種,只要保證復(fù)合通道ID在解綁定服務(wù)器服務(wù)的所有多卡路由器中保持唯一即可。
[0065]步驟106,每個無線網(wǎng)卡都和解綁定服務(wù)建立起子通道。子通道通過設(shè)備端socket接口傳輸數(shù)據(jù)。建立連接的交互信令中,應(yīng)該有表明該連接屬于哪個復(fù)合通道的標(biāo)識,該標(biāo)識可以就是復(fù)合通道ID,也可以是和復(fù)合通道ID唯一對應(yīng)的標(biāo)識。
[0066]步驟107,根據(jù)數(shù)據(jù)均衡傳輸策略選擇一個子通道,打包發(fā)送該數(shù)據(jù)。數(shù)據(jù)均衡傳輸策略具體有以下兩種:
(I)選擇發(fā)送緩沖區(qū)中數(shù)據(jù)最少的子通道發(fā)送。
[0067](2)如果采用帶重傳的UDP傳輸數(shù)據(jù),可選擇丟包率最小的子通道發(fā)送。
[0068]但在實際應(yīng)用中,具體采用的方式不限于以上幾種,只要能夠?qū)崿F(xiàn)將要傳送的數(shù)據(jù)均衡到各個子通道中發(fā)送即可。
[0069]步驟108,判斷是否需要關(guān)閉復(fù)合通道,若是,則執(zhí)行步驟109,若否,則返回執(zhí)行步驟102。判斷是否該關(guān)閉復(fù)合通道的準(zhǔn)則有以下兩種方式:
(1)當(dāng)沒有任何內(nèi)網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用連接到多卡路由器時,則關(guān)閉復(fù)合通道,這樣的準(zhǔn)則對數(shù)據(jù)傳輸?shù)难訒r影響較小;
(2)當(dāng)超過一定的時間,在任何子通道上都沒有數(shù)據(jù)傳輸時,則關(guān)閉復(fù)合通道,這樣的準(zhǔn)則對無線網(wǎng)絡(luò)的承載壓力較小。
[0070]但在實際應(yīng)用中,具體采用的準(zhǔn)則不限于以上幾種,核心是根據(jù)實際著重考慮的因素,選取合適的準(zhǔn)則。
[0071]步驟109,關(guān)閉無線網(wǎng)卡的子通道
圖3是多卡路由器下行傳輸流程,該流程主要是將解綁定服務(wù)的復(fù)合模塊發(fā)出的數(shù)據(jù)傳遞到內(nèi)網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用,具體包含以下步驟:
步驟201,設(shè)備啟動。
[0072]步驟202,依次嘗試從每個無線網(wǎng)卡綁定的socket中接收數(shù)據(jù)。
[0073]步驟203,判斷是否有數(shù)據(jù),若是,則執(zhí)行步驟204,若否,則返回執(zhí)行步驟202。
[0074]步驟204,將該數(shù)據(jù)解包還原出IP頭開始的數(shù)據(jù)。
[0075]步驟205,通過內(nèi)網(wǎng)物理網(wǎng)卡的數(shù)據(jù)鏈路層接口發(fā)送IP頭開始的數(shù)據(jù);物理網(wǎng)卡會將該數(shù)據(jù)作為IP包發(fā)送給內(nèi)網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用。
[0076]圖4是解綁定服務(wù)器上行傳輸流程,該流程主要是解綁定服務(wù)的復(fù)合模塊通過socket接口接收數(shù)據(jù),通過虛擬網(wǎng)卡驅(qū)動發(fā)出的數(shù)據(jù),傳遞到外網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用目標(biāo)服務(wù),具體包含以下步驟:
步驟301,服務(wù)啟動。
[0077]步驟302,監(jiān)聽特定端口等待無線網(wǎng)卡來的連接。
[0078]步驟303,判斷是否有連接進來,若是,則執(zhí)行步驟304,若否,則返回執(zhí)行步驟302。
[0079]步驟304,判斷是否是已建的復(fù)合通道,若是,則執(zhí)行步驟306,若否,則執(zhí)行步驟305。由于建立復(fù)合通道和建立子通道是不同的作用,因此應(yīng)在信令設(shè)計時體現(xiàn)出區(qū)別。
[0080]步驟305,建立復(fù)合通道,分配唯一的復(fù)合通道ID并返回給設(shè)備。由于同一時間可以有多個多卡路由器連接到解綁定服務(wù)器上,建立復(fù)合通道的過程中一般需要進行認證,每一個多卡路由器分配一個接入帳號和接入密碼。如果不在乎安全性,則可以省去密碼驗證。至于分配復(fù)合通道ID的策略可以參考步驟105。
[0081]步驟306,依次檢查每個復(fù)合通道的子通道。
[0082]步驟307,判斷是否有數(shù)據(jù),若是,則執(zhí)行步驟308,若否,則返回執(zhí)行步驟302 ; 步驟308,分離出IP頭開始的數(shù)據(jù),將源地址進行網(wǎng)絡(luò)地址轉(zhuǎn)換。轉(zhuǎn)換的方法是在內(nèi)存中記錄復(fù)合通道ID和源地址的組合,唯一對應(yīng)一個源地址,當(dāng)出現(xiàn)新的復(fù)合通道ID和源地址的組合時,就產(chǎn)生一個新的源地址并記入內(nèi)存,當(dāng)遇到已有的復(fù)合通道ID和源地址的組合時,則直接使用唯一對應(yīng)的那個源地址。通過引入復(fù)合通道ID就可以防止兩個多卡路由器內(nèi)網(wǎng)的第三方應(yīng)用的來源地址相同時,會造成混淆的問題。
[0083]步驟309,將IP包傳入虛擬網(wǎng)卡驅(qū)動模塊,模擬成從網(wǎng)絡(luò)上收到的IP包。虛擬網(wǎng)卡驅(qū)動收到IP包后,會傳入操作系統(tǒng)自身的路由模塊,通過事先對路由模塊的合適配置,路由模塊會將IP包傳遞給真正需要發(fā)送數(shù)據(jù)的物理網(wǎng)卡,然后再發(fā)送給第三方網(wǎng)絡(luò)應(yīng)用目標(biāo)服務(wù)。
[0084]圖5是解綁定服務(wù)器下行傳輸流程,該流程主要是將外網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用目標(biāo)服務(wù)發(fā)出的數(shù)據(jù)傳遞到服務(wù)端復(fù)合模塊,再通過socket連接傳遞到多卡路由器,具體包含以下步驟:
步驟401,服務(wù)啟動。
[0085]步驟402,通過虛擬網(wǎng)卡的數(shù)據(jù)鏈路層接口接收IP頭開始的數(shù)據(jù)。
[0086]步驟403,判斷是否有數(shù)據(jù),若是,則執(zhí)行步驟404,若否,則返回執(zhí)行步驟402。
[0087]步驟404,根據(jù)目的地址查網(wǎng)絡(luò)地址轉(zhuǎn)換表,更新成對應(yīng)的內(nèi)網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用的IP,并找到對應(yīng)的復(fù)合通道ID。這些數(shù)據(jù)是操作系統(tǒng)的路由模塊路由過來的,目的地址是步驟308中分配的地址。在網(wǎng)絡(luò)地址轉(zhuǎn)換表中,找到對應(yīng)的復(fù)合通道ID,然后將記錄的內(nèi)網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用的IP作為新的目標(biāo)地址。
[0088]步驟405,根據(jù)復(fù)合通道ID找到所有的子通道。
[0089]步驟406,根據(jù)數(shù)據(jù)傳輸均衡策略選擇出發(fā)送當(dāng)前IP數(shù)據(jù)包的socket連接,發(fā)送數(shù)據(jù)。數(shù)據(jù)傳輸均衡策略和步驟107相同。
[0090]以上所述的實施例僅僅是對本發(fā)明的優(yōu)選實施方式進行描述,并非對本發(fā)明的范圍進行限定,在不脫離本發(fā)明設(shè)計精神的前提下,本領(lǐng)域普通技術(shù)人員對本發(fā)明的技術(shù)方案作出的各種變形和改進,均應(yīng)落入本發(fā)明權(quán)利要求書確定的保護范圍內(nèi)。
【主權(quán)項】
1.一種基于無線網(wǎng)絡(luò)的多卡路由器裝置,其特征在于:包括解綁定服務(wù)器和若干個多卡路由器,所述的解綁定服務(wù)器部署在有線網(wǎng)絡(luò)中,若干個多卡路由器分別與解綁定服務(wù)器無線連接;每一個多卡路由器具有可設(shè)置的唯一的網(wǎng)絡(luò)標(biāo)識; 所述的多卡路由器包括內(nèi)網(wǎng)物理網(wǎng)卡、設(shè)備端網(wǎng)卡驅(qū)動模塊、設(shè)備端復(fù)合模塊、設(shè)備端socket接口和多張無線網(wǎng)卡;所述的解綁定服務(wù)器包括第一物理網(wǎng)卡、服務(wù)端socket接口、服務(wù)端復(fù)合模塊、虛擬網(wǎng)卡驅(qū)動模塊、路由模塊、服務(wù)端網(wǎng)卡驅(qū)動模塊和第二物理網(wǎng)卡; 所述的內(nèi)網(wǎng)物理網(wǎng)卡,用于多卡路由器和內(nèi)網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用進行雙向數(shù)據(jù)傳輸;所述的設(shè)備端網(wǎng)卡驅(qū)動模塊,用于內(nèi)網(wǎng)物理網(wǎng)卡和設(shè)備端復(fù)合模塊之間的數(shù)據(jù)及控制交互;所述的設(shè)備端復(fù)合模塊,用于通過內(nèi)網(wǎng)物理網(wǎng)卡及設(shè)備端網(wǎng)卡驅(qū)動模塊接收來自內(nèi)網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用的IP頭開始的數(shù)據(jù),并將該數(shù)據(jù)通過設(shè)備端socket接口均衡到多張無線網(wǎng)卡與第一物理網(wǎng)卡建立的多個無線子通道中進行發(fā)送;所述的設(shè)備端復(fù)合模塊,還用于先接收在多張無線網(wǎng)卡及多張無線網(wǎng)卡綁定的設(shè)備端socket接口中均衡傳輸?shù)膩碜越壎ǚ?wù)器的數(shù)據(jù),并將數(shù)據(jù)還原成均衡發(fā)送前的數(shù)據(jù),再將該數(shù)據(jù)解包還原出IP頭開始的數(shù)據(jù),然后再通過內(nèi)網(wǎng)物理網(wǎng)卡及設(shè)備端網(wǎng)卡驅(qū)動模塊將該數(shù)據(jù)發(fā)送至內(nèi)網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用;所述的設(shè)備端socket接口,用于設(shè)備端復(fù)合模塊和無線網(wǎng)卡之間的數(shù)據(jù)及控制交互;所述的無線網(wǎng)卡,為3G/4G的不同制式的無線網(wǎng)卡,用于采用無線信號在多卡路由器和解綁定服務(wù)器之間進行數(shù)據(jù)傳輸; 所述的第一物理網(wǎng)卡,用于接收無線網(wǎng)卡的連接;所述的服務(wù)端socket接口,用于第一物理網(wǎng)卡和服務(wù)端復(fù)合模塊之間的數(shù)據(jù)及控制交互;所述的服務(wù)端復(fù)合模塊,用于先通過服務(wù)端socket接口及第一物理網(wǎng)卡接收在多卡路由器的多張無線網(wǎng)卡與第一物理網(wǎng)卡建立的多個無線子通道中均衡傳輸?shù)臄?shù)據(jù),并將數(shù)據(jù)還原成均衡傳輸前的數(shù)據(jù),再分離出IP頭開始的數(shù)據(jù),并采用源地址和多卡路由器的網(wǎng)絡(luò)標(biāo)識組合,設(shè)定一個唯一對應(yīng)的服務(wù)端源地址的方式,建立網(wǎng)絡(luò)地址轉(zhuǎn)換表,進行網(wǎng)絡(luò)地址轉(zhuǎn)換,然后將IP包傳送至虛擬網(wǎng)卡驅(qū)動模塊,由虛擬網(wǎng)卡驅(qū)動模塊模擬成從網(wǎng)絡(luò)上收到的IP包后傳輸至路由模塊,再由路由模塊傳遞給真正需要發(fā)送數(shù)據(jù)的第二物理網(wǎng)卡,最后由第二物理網(wǎng)卡發(fā)送至第三方網(wǎng)絡(luò)應(yīng)用目標(biāo)服務(wù);所述的服務(wù)端復(fù)合模塊,還用于先通過虛擬網(wǎng)卡驅(qū)動模塊的數(shù)據(jù)鏈路層接口接收來自外網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用目標(biāo)服務(wù)的IP頭開始的數(shù)據(jù),再利用網(wǎng)絡(luò)地址轉(zhuǎn)換表將目的地址更新成對應(yīng)的內(nèi)網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用的IP,并找到對應(yīng)的多卡路由器的網(wǎng)絡(luò)標(biāo)識,最后通過第一物理網(wǎng)卡和服務(wù)端socket接口將數(shù)據(jù)均衡發(fā)送至多卡路由器的多張無線網(wǎng)卡與第一物理網(wǎng)卡建立的多個無線子通道中進行傳輸;所述的虛擬網(wǎng)卡驅(qū)動模塊,用于服務(wù)端復(fù)合模塊和路由模塊之間的數(shù)據(jù)及控制交互;所述的路由模塊,用于將IP包在第二物理網(wǎng)卡和虛擬網(wǎng)卡驅(qū)動模塊之間正確路由;所述的服務(wù)端網(wǎng)卡驅(qū)動模塊,用于路由模塊和第二物理網(wǎng)卡之間的數(shù)據(jù)及控制交互;所述的第二物理網(wǎng)卡,用于解綁定服務(wù)器和外網(wǎng)的第三方網(wǎng)絡(luò)應(yīng)用目標(biāo)服務(wù)之間傳輸數(shù)據(jù)。
2.