本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)包傳輸系統(tǒng)及方法。
背景技術(shù):
隨著移動(dòng)通信技術(shù)的發(fā)展,移動(dòng)終端已經(jīng)成為用戶隨身攜帶,必不可少的電子設(shè)備。在運(yùn)營商和各大oem(originalequipmentmanufacturer,原始設(shè)備制造商)廠商的牽頭下,3g(3rdgeneration,第三代移動(dòng)通信技術(shù))、4g(the4thgenerationmobilecommunicationtechnology,第四代移動(dòng)通信技術(shù))、ca(carrieraggregation,應(yīng)用載波聚合技術(shù))以及最新的5g(5th-generation,第五代移動(dòng)通信技術(shù))應(yīng)運(yùn)而生,這些技術(shù)的目的是為了提高用戶的上網(wǎng)帶寬。在此種背景下,一種提高用戶上網(wǎng)帶寬的方式也悄然而生,移動(dòng)終端連接兩個(gè)調(diào)制解調(diào)器,每個(gè)調(diào)制解調(diào)器都有對應(yīng)的sim(subscriberidentificationmodule)卡,且每個(gè)調(diào)制解調(diào)器都可以獨(dú)立上網(wǎng),然后在上層將用戶訪問的網(wǎng)絡(luò)根據(jù)實(shí)際情況進(jìn)行兩個(gè)數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)速疊加,從而達(dá)到提高上網(wǎng)帶寬的目的。由于運(yùn)營商對傳統(tǒng)用戶上網(wǎng)帶寬的壟斷和限制,終端廠商可以通過該網(wǎng)速疊加技術(shù)方案加大用戶上網(wǎng)帶寬,有效的整合了移動(dòng)終端中兩張sim卡的上網(wǎng)資源,并實(shí)現(xiàn)了dsda(dualsimdualactive,雙卡雙通),以及雙卡雙lte(longtermevolution,長期演進(jìn))待機(jī)。
因此,為了使移動(dòng)終端連接兩個(gè)調(diào)制解調(diào)器,需要將移動(dòng)終端與含有調(diào)制解調(diào)器的外接設(shè)備進(jìn)行連接。以實(shí)現(xiàn)移動(dòng)終端和外接設(shè)備之間的數(shù)據(jù)傳輸,但是,移動(dòng)終端和外接設(shè)備的連接是在應(yīng)用處理器中連接,而數(shù)據(jù)包從調(diào)制解調(diào)器發(fā)出,由于調(diào)制解調(diào)器之間跨設(shè)備,沒有物理鏈路相連,導(dǎo)致數(shù)據(jù)包無法傳輸。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提出一種數(shù)據(jù)包傳輸系統(tǒng)及方法,旨在解決移動(dòng)終端通過外接設(shè)備實(shí)現(xiàn)雙lte通信過程中,外接設(shè)備和移動(dòng)終端之間的數(shù)據(jù)包無法傳輸?shù)募夹g(shù)問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種數(shù)據(jù)包傳輸系統(tǒng),所述數(shù)據(jù)包傳輸系統(tǒng)包括移動(dòng)終端,以及通過預(yù)設(shè)接口與所述移動(dòng)終端連接的外接設(shè)備;所述移動(dòng)終端包括第一應(yīng)用處理器,以及與第一用戶識別卡和第二用戶識別卡連接的第一調(diào)制解調(diào)器,所述第一調(diào)制解調(diào)器包括遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器、通用服務(wù)器接口模塊、內(nèi)置有第一數(shù)據(jù)攔截端口的第一攔截模塊以及第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,所述第一應(yīng)用處理器包括第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊和與所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器連接的第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端;所述外接設(shè)備包括第二應(yīng)用處理器和第二調(diào)制解調(diào)器,所述第二調(diào)制解調(diào)器包括遠(yuǎn)程數(shù)據(jù)訪問客戶端,所述第二應(yīng)用處理器包括通過所述預(yù)設(shè)接口與所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊連接的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊;
通用服務(wù)器接口模塊獲取,用于遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器傳輸?shù)臄?shù)據(jù)包,并將獲取的數(shù)據(jù)包傳輸至第一攔截模塊;
所述第一攔截模塊,用于基于第一數(shù)據(jù)攔截端口截取數(shù)據(jù)包,并將截取的數(shù)據(jù)包傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器;
第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,用于將數(shù)據(jù)包轉(zhuǎn)發(fā)至第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包傳輸至第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊;
所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,用于通過所述預(yù)設(shè)接口將數(shù)據(jù)包傳輸至外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,以供所述第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包傳輸至遠(yuǎn)程數(shù)據(jù)訪問客戶端,所述預(yù)設(shè)接口包括遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口和串行接口。
可選地,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,還用于對數(shù)據(jù)包的容量值進(jìn)行解析,以確定數(shù)據(jù)包的容量值是否超出預(yù)設(shè)閾值;
若數(shù)據(jù)包的容量值超出所述預(yù)設(shè)閾值,則對所述數(shù)據(jù)包進(jìn)行拆分;
在拆分后的各個(gè)數(shù)據(jù)包中確定中間數(shù)據(jù)包和結(jié)束數(shù)據(jù)包,并對中間數(shù)據(jù)包添加中間標(biāo)識,對結(jié)束數(shù)據(jù)包添加結(jié)束標(biāo)識,以將添加有標(biāo)識的各個(gè)數(shù)據(jù)包發(fā)送至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端。
可選地,所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,還用于通過所述預(yù)設(shè)接口接收第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊發(fā)送的數(shù)據(jù)包,將接收到的數(shù)據(jù)包傳輸至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包轉(zhuǎn)發(fā)至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器;
所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,還用于將接收到的數(shù)據(jù)包傳輸至所述第一攔截模塊;
所述第一攔截模塊,還用于通過所述第一數(shù)據(jù)攔截端口,將數(shù)據(jù)包傳輸至所述通用服務(wù)器接口模塊,由所述通用服務(wù)器接口模塊將數(shù)據(jù)包傳輸至所述遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器。
可選地,所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,還用于確定接收到的數(shù)據(jù)包攜帶的標(biāo)識信息;
在接收到的數(shù)據(jù)包中攜帶中間標(biāo)識時(shí),緩存所述數(shù)據(jù)包;
在接收到的數(shù)據(jù)包中攜帶結(jié)束標(biāo)識時(shí),將緩存的數(shù)據(jù)包以及當(dāng)前接收到的數(shù)據(jù)包組合傳輸至所述第一攔截模塊。
可選地,所述預(yù)設(shè)接口還包括調(diào)試端口,所述調(diào)試端口用于調(diào)試數(shù)據(jù)。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提出一種數(shù)據(jù)包傳輸方法,應(yīng)用于移動(dòng)終端以及通過預(yù)設(shè)接口與所述移動(dòng)終端連接的外接設(shè)備,所述移動(dòng)終端包括第一應(yīng)用處理器,以及與第一用戶識別卡和第二用戶識別卡連接的第一調(diào)制解調(diào)器,所述第一調(diào)制解調(diào)器包括遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器、通用服務(wù)器接口模塊、內(nèi)置有第一數(shù)據(jù)攔截端口的第一攔截模塊以及第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,所述第一應(yīng)用處理器包括第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊和與所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器連接的第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端;所述外接設(shè)備包括第二應(yīng)用處理器和第二調(diào)制解調(diào)器,所述第二調(diào)制解調(diào)器包括遠(yuǎn)程數(shù)據(jù)訪問客戶端,所述第二應(yīng)用處理器包括通過所述預(yù)設(shè)接口與所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊連接的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊;所述方法包括:
通用服務(wù)器接口模塊獲取遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器傳輸?shù)臄?shù)據(jù)包,并將獲取的數(shù)據(jù)包傳輸至第一攔截模塊;
所述第一攔截模塊基于第一數(shù)據(jù)攔截端口截取數(shù)據(jù)包,并將截取的數(shù)據(jù)包傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器;
第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器將數(shù)據(jù)包轉(zhuǎn)發(fā)至第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包傳輸至第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊;
所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊通過所述預(yù)設(shè)接口將數(shù)據(jù)包傳輸至外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,以供所述第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包傳輸至遠(yuǎn)程數(shù)據(jù)訪問客戶端,所述預(yù)設(shè)接口包括遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口和串行接口。
可選地,所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器將數(shù)據(jù)包轉(zhuǎn)發(fā)至第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端的步驟包括:
所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器對數(shù)據(jù)包的容量值進(jìn)行解析,以確定數(shù)據(jù)包的容量值是否超出預(yù)設(shè)閾值;
若數(shù)據(jù)包的容量值超出所述預(yù)設(shè)閾值,則對所述數(shù)據(jù)包進(jìn)行拆分;
在拆分后的各個(gè)數(shù)據(jù)包中確定中間數(shù)據(jù)包和結(jié)束數(shù)據(jù)包,并對中間數(shù)據(jù)包添加中間標(biāo)識,對結(jié)束數(shù)據(jù)包添加結(jié)束標(biāo)識,以將添加有標(biāo)識的各個(gè)數(shù)據(jù)包發(fā)送至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端。
可選地,所述數(shù)據(jù)包傳輸方法還包括:
所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊通過所述預(yù)設(shè)接口接收第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊發(fā)送的數(shù)據(jù)包,將接收到的數(shù)據(jù)包傳輸至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包轉(zhuǎn)發(fā)至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器;
所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器將接收到的數(shù)據(jù)包傳輸至所述第一攔截模塊;
所述第一攔截模塊通過所述第一數(shù)據(jù)攔截端口,將數(shù)據(jù)包傳輸至所述通用服務(wù)器接口模塊,由所述通用服務(wù)器接口模塊將數(shù)據(jù)包傳輸至所述遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器。
可選地,所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器將接收到的數(shù)據(jù)包傳輸至所述第一攔截模塊的步驟包括:
所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器確定接收到的數(shù)據(jù)包攜帶的標(biāo)識信息;
在接收到的數(shù)據(jù)包中攜帶中間標(biāo)識時(shí),緩存所述數(shù)據(jù)包;
在接收到的數(shù)據(jù)包中攜帶結(jié)束標(biāo)識時(shí),將緩存的數(shù)據(jù)包以及當(dāng)前接收到的數(shù)據(jù)包組合傳輸至所述第一攔截模塊。
可選地,所述預(yù)設(shè)接口還包括調(diào)試端口,所述調(diào)試端口用于調(diào)試數(shù)據(jù)。
本發(fā)明提供一種數(shù)據(jù)包傳輸系統(tǒng)及方法,通用服務(wù)器接口模塊獲取遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器傳輸?shù)臄?shù)據(jù)包,并將獲取的數(shù)據(jù)包傳輸至第一攔截模塊,第一攔截模塊基于第一數(shù)據(jù)攔截端口截取數(shù)據(jù)包,并將截取的數(shù)據(jù)包傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器將數(shù)據(jù)包轉(zhuǎn)發(fā)至第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包傳輸至第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊再通過所述預(yù)設(shè)接口將數(shù)據(jù)包傳輸至外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,以供所述第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包傳輸至遠(yuǎn)程數(shù)據(jù)訪問客戶端。本發(fā)明中,通用服務(wù)器接口模塊將獲取的數(shù)據(jù)包傳輸至第一攔截模塊,由第一攔截模塊通過第一數(shù)據(jù)攔截端口截取后傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,再由第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器、第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端及第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊傳輸給外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,以便第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包傳輸至遠(yuǎn)程數(shù)據(jù)訪問客戶端,以實(shí)現(xiàn)移動(dòng)終端和外接設(shè)備之間的數(shù)據(jù)傳輸。
附圖說明
圖1為本發(fā)明一實(shí)施例的lte網(wǎng)絡(luò)架構(gòu)的示意圖;
圖2為本發(fā)明移動(dòng)終端和外接設(shè)備通訊連接的一種實(shí)體結(jié)構(gòu)示意圖;
圖3為本發(fā)明移動(dòng)終端和外接設(shè)備通訊連接的一種硬件結(jié)構(gòu)示意圖;
圖4為本發(fā)明移動(dòng)終端和外接設(shè)備通訊連接的內(nèi)部硬件結(jié)構(gòu)示意圖;
圖5為本發(fā)明中數(shù)據(jù)包傳輸方法第一實(shí)施例的流程示意圖;
圖6為本發(fā)明中數(shù)據(jù)包傳輸方法第二實(shí)施例的流程示意圖;
圖7為本發(fā)明中數(shù)據(jù)包傳輸方法第三實(shí)施例的流程示意圖;
圖8為本發(fā)明中數(shù)據(jù)包傳輸方法第四實(shí)施例的流程示意圖;
圖9為本發(fā)明中預(yù)設(shè)接口的內(nèi)部硬件結(jié)構(gòu)示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。需要說明的是,在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互任意結(jié)合。
為了對本發(fā)明的技術(shù)特征、目的和效果有更加清楚的理解,現(xiàn)在將參考附圖描述實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例的移動(dòng)終端。
在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,“模塊”與“部件”可以混合地使用。
圖1是本發(fā)明一實(shí)施例的lte網(wǎng)絡(luò)架構(gòu)的示意圖。本發(fā)明一實(shí)施例的lte網(wǎng)絡(luò)架構(gòu)包括:一個(gè)或多個(gè)移動(dòng)終端(userequipment,ue)100、外接設(shè)備200、e-utran(evolvedumtsterrestrialradioaccessnetwork,演進(jìn)的umts陸地?zé)o線接入網(wǎng))(圖中未標(biāo)號)、演進(jìn)分組核心(epc)(圖中未標(biāo)號)、歸屬訂戶服務(wù)器(hss)107、網(wǎng)絡(luò)(例如,因特網(wǎng))(圖中未標(biāo)號)以及電路交換系統(tǒng)(圖中未標(biāo)號)。
e-utran包括演進(jìn)b節(jié)點(diǎn)(enodeb)101和其它enodeb102。enodeb101提供朝向移動(dòng)終端100的用戶面和控制面的協(xié)議終接。enodeb101可經(jīng)由x2接口連接到其他enodeb。enodeb101也可稱為基站、基收發(fā)機(jī)站、無線電基站、無線電收發(fā)機(jī)、收發(fā)機(jī)功能、基本服務(wù)集、擴(kuò)展服務(wù)集、或其他某個(gè)合適的術(shù)語。enodeb101為移動(dòng)終端100提供去往epc的接入點(diǎn)。
enodeb101通過s1接口連接到epc。epc包括移動(dòng)管理實(shí)體(eem)104、其他移動(dòng)管理實(shí)體106、服務(wù)網(wǎng)關(guān)103,以及分組數(shù)據(jù)網(wǎng)絡(luò)(pdn)網(wǎng)關(guān)105。移動(dòng)管理實(shí)體104是處理移動(dòng)終端100與epc之間的信令的控制節(jié)點(diǎn)。移動(dòng)管理實(shí)體104提供承載和連接管理。所有用戶ip分組通過服務(wù)網(wǎng)關(guān)103來傳遞,服務(wù)網(wǎng)關(guān)103自身連接到pdn網(wǎng)關(guān)105。pdn網(wǎng)關(guān)105提供ueip地址分配以及其他功能。pdn網(wǎng)關(guān)105連接到網(wǎng)絡(luò),例如,因特網(wǎng)。
電路交換系統(tǒng)包括交互解決方案模塊(iws)108、移動(dòng)交換中心(msc)109、基站110和移動(dòng)站111。在一個(gè)方面,電路交換系統(tǒng)可以通過iws和mme(mobilitymanagemententity,移動(dòng)管理實(shí)體)與eps(evolvedpacketsystem,演進(jìn)的分組系統(tǒng))進(jìn)行通信。
移動(dòng)終端100通過預(yù)設(shè)接口,如usb(universalserialbus,通用串行總線)數(shù)據(jù)線與外接設(shè)備200通訊連接。
圖2為本發(fā)明移動(dòng)終端100和外接設(shè)備200通訊連接的實(shí)體示意圖。
如圖2所示,移動(dòng)終端100通過usb數(shù)據(jù)線與外接設(shè)備200通訊連接,其中,所述移動(dòng)終端包括但不限于手機(jī)、pc(personalcomputer,個(gè)人電腦)或pad(personaldigitalassistant,個(gè)人數(shù)字助理),所述外接設(shè)備200可選為無線上網(wǎng)卡或數(shù)據(jù)卡。
圖3為本發(fā)明實(shí)施例中移動(dòng)終端和外接設(shè)備通訊連接的一種硬件結(jié)構(gòu)示意圖。
在本發(fā)明實(shí)施例中,移動(dòng)終端100通過usb與外接設(shè)備200連接。移動(dòng)終端100包括第一處理芯片001和與第一處理芯片001連接的第一射頻模塊12。其中,第一處理芯片001包括第一應(yīng)用處理器(applicationprocessor)10、與第一用戶識別卡13和第二用戶識別卡14連接的第一調(diào)制解調(diào)器11(modem1)和rpm(resourcepowermanager,資源電源管理器)15。外接設(shè)備200包括第二處理芯片002和與第二處理芯片002連接的第二射頻模塊22。其中,第二處理芯片002包括第二應(yīng)用處理器20和第二調(diào)制解調(diào)器(modem2)21。用戶識別卡為sim卡。
第一應(yīng)用處理器10和第二應(yīng)用處理器20的內(nèi)部框架包括應(yīng)用層、框架層等,可處理復(fù)雜的邏輯操作以及進(jìn)行任務(wù)分配等。在一個(gè)實(shí)施例中,應(yīng)用處理器指android操作系統(tǒng),以及基于android操作系統(tǒng)的各種apk(androidpackage,安卓安裝包)。第一應(yīng)用處理器10和第二應(yīng)用處理器20通過usb實(shí)現(xiàn)連接,為用戶提供交互接口,將用戶輸入的操作指令(例如,用戶通過用戶界面輸入的有關(guān)啟動(dòng)視頻通話的操作指令)傳輸給第一調(diào)制解調(diào)器11或第二調(diào)制解調(diào)器21,以實(shí)現(xiàn)兩個(gè)處理器之間數(shù)據(jù)的定義與傳遞,例如,進(jìn)行兩個(gè)應(yīng)用處理器的休眠、喚醒、同步的控制、開關(guān)機(jī)時(shí)芯片啟動(dòng)順序的控制等。
第一應(yīng)用處理器10通過usb與第二應(yīng)用處理器20連接,以實(shí)現(xiàn)移動(dòng)終端100與外接設(shè)備200之間的連接。在本發(fā)明實(shí)施例中,usb復(fù)用出三條數(shù)據(jù)通道,分別用于第一應(yīng)用處理器10和第二應(yīng)用處理器20之間用戶數(shù)據(jù)、信令數(shù)據(jù)和sim卡鑒權(quán)數(shù)據(jù)的交互。即第一應(yīng)用處理器10和第二應(yīng)用處理器20通過usb傳輸用戶數(shù)據(jù)、信令數(shù)據(jù)和sim卡鑒權(quán)數(shù)據(jù)。其中,用戶數(shù)據(jù)包括但不限于上網(wǎng)產(chǎn)生的數(shù)據(jù),圖片和聊天信息數(shù)據(jù);信令數(shù)據(jù)包括但不限于開關(guān)機(jī)的控制數(shù)據(jù),開關(guān)飛行模式的控制數(shù)據(jù),顯示狀態(tài)信號的控制數(shù)據(jù);sim卡鑒權(quán)數(shù)據(jù)包括但不限于imsi(internationalmobilesubscriberidentificationnumber,國際移動(dòng)用戶識別碼)和ki(keyidentifier,鑒權(quán)密鑰)。
具體地,第一應(yīng)用處理器10和第二應(yīng)用處理器20通過otg(on-the-go)技術(shù)進(jìn)行數(shù)據(jù)交互。通過otg技術(shù),移動(dòng)終端100中的第一調(diào)制解調(diào)器11可通過第二用戶識別卡14或第一用戶識別卡13中的sim卡參數(shù)來接入enodeb101,第二調(diào)制解調(diào)器21可通過第二用戶識別卡14或第一用戶識別卡13的sim卡參數(shù)來接入enodeb101,sim卡參數(shù)包括但不限于sim卡鑒權(quán)數(shù)據(jù)。
第一調(diào)制解調(diào)器11和第二調(diào)制解調(diào)器21包含各種網(wǎng)絡(luò)交互的網(wǎng)絡(luò)制式的協(xié)議棧,協(xié)議棧包含lte/wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)/gsm(globalsystemformobilecommunication,全球移動(dòng)通信系統(tǒng))/td-scdma(timedivision-synchronouscodedivisionmultipleaccess,同步時(shí)分碼分多址)/cdma(codedivisionmultipleaccess,碼分多址)/edge(enhanceddatarateforgsmevolution,強(qiáng)型數(shù)據(jù)速率gsm演進(jìn)技術(shù))等通訊標(biāo)準(zhǔn)里邊規(guī)定的協(xié)議代碼。移動(dòng)終端100通過協(xié)議與運(yùn)營商網(wǎng)絡(luò)進(jìn)行交互,即進(jìn)行數(shù)據(jù)流量上網(wǎng)、volte(voiceoverlte)打電話或者cs(circuitswitched,電路交換)域打電話。第一調(diào)制解調(diào)器11和第二調(diào)制解調(diào)器21還用于對sim卡的管控等等。
在本發(fā)明實(shí)施例中,第一射頻模塊12用于將移動(dòng)終端100傳輸?shù)臄?shù)據(jù)處理后傳給enodeb101(基站網(wǎng)絡(luò)),以及用于將enodeb101傳輸?shù)臄?shù)據(jù)處理后傳給移動(dòng)終端100。第二射頻模塊22用于將外接設(shè)備200傳輸?shù)臄?shù)據(jù)處理后傳給enodeb101(基站網(wǎng)絡(luò)),以及用于將enodeb101傳輸?shù)臄?shù)據(jù)處理后傳給外接設(shè)備200。
第一用戶識別卡13和第二用戶識別卡14用于提供移動(dòng)通信業(yè)務(wù)(cs語音業(yè)務(wù)、ps數(shù)據(jù)業(yè)務(wù)和ps語音業(yè)務(wù))所需的相關(guān)數(shù)據(jù),并在其內(nèi)部存儲(chǔ)用戶信息、短消息、執(zhí)行鑒權(quán)算法和產(chǎn)生加密密匙等。
第一用戶識別卡13和第二用戶識別卡14可存儲(chǔ)與不同或相同的技術(shù)標(biāo)準(zhǔn)相關(guān)聯(lián)的用戶信息。在特定非限制性實(shí)例中,技術(shù)標(biāo)準(zhǔn)可為2g通信技術(shù),例如,gsm、edge)、3g通信技術(shù)(例如,wcdma、td-scdma)、4g通信技術(shù)(例如,lte),或任何其它移動(dòng)通信技術(shù)(例如,4g等等)。第一用戶識別卡13和第二用戶識別卡14優(yōu)選為sim卡。
第一用戶識別卡13和第二用戶識別卡14在與移動(dòng)終端100交互時(shí),移動(dòng)終端100檢測用戶識別卡存在與否的信號只在開機(jī)瞬時(shí)產(chǎn)生,當(dāng)開機(jī)檢測不到用戶識別卡存在時(shí),將提示“插入用戶識別卡”。移動(dòng)終端100開機(jī)之后,移動(dòng)終端100和用戶識別卡之間28秒通信一次,完成一些固定的通信檢查(例如,用戶識別卡是否在位等)。
由于目前的移動(dòng)終端100只有一套射頻模塊,當(dāng)移動(dòng)終端100有兩張用戶識別卡時(shí),移動(dòng)終端100的兩張用戶識別卡使用該套射頻是分時(shí)復(fù)用的關(guān)系,并不能同時(shí)占用。例如,在兩張用戶識別卡全開時(shí),其中一張用戶識別卡只處理gsm通話,而另一張用戶識別卡處理4g網(wǎng)絡(luò)信息,具體哪張用戶識別卡執(zhí)行何種網(wǎng)絡(luò),在此不做限定。因此目前的射頻雙卡分時(shí)復(fù)用這種架構(gòu)僅做到了lte+gsm(即一張用戶識別卡對應(yīng)的技術(shù)標(biāo)準(zhǔn)為lte,另一張用戶識別卡對應(yīng)的技術(shù)標(biāo)準(zhǔn)為gsm)。
可以理解的是,現(xiàn)有的移動(dòng)終端100雖然可以支持雙用戶識別卡,由于移動(dòng)終端100在注冊網(wǎng)絡(luò)的情況下,兩張用戶識別卡支持的是不同技術(shù)標(biāo)準(zhǔn)的網(wǎng)絡(luò),一張支持2g或3g,另一張支持4g,會(huì)使得移動(dòng)終端100使用過程中,上網(wǎng)流量速度較慢。在本發(fā)明實(shí)施例中,移動(dòng)終端100通過usb連接外接設(shè)備200,由于外接設(shè)備200包括第二調(diào)制解調(diào)器21和第二射頻模塊22,且第二射頻模塊22支持4g網(wǎng)絡(luò),因此,移動(dòng)終端100可通過usb與外接設(shè)備200交互,從而使得移動(dòng)終端100具備雙lte功能(此時(shí)第一用戶識別卡13和第二用戶識別卡14管理的技術(shù)標(biāo)準(zhǔn)均為lte標(biāo)準(zhǔn),第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術(shù)為lte)。
移動(dòng)終端100的rpm15用于管控各種資源,包括時(shí)鐘資源、總線資源、pmic(powermanagementic,電源管理集成電路,即各個(gè)芯片的電壓)、ddr(內(nèi)存分配),以及管理芯片的休眠喚醒的中斷和應(yīng)用處理器喚醒的截止時(shí)間。移動(dòng)終端100的各個(gè)子系統(tǒng),在需要資源時(shí),向rpm15申請資源,各個(gè)子系統(tǒng)分別包括第一應(yīng)用處理器10,第一調(diào)制解調(diào)器11、pronto(wifi/藍(lán)牙、nfc(nearfieldcommunication,近場通信)等)、lpass(lowpoweraudiosubsystem,低功耗音頻子系統(tǒng)),rpm15用來決定移動(dòng)終端100系統(tǒng)的休眠狀態(tài),具體是,rpm15基于各個(gè)子系統(tǒng)的投票機(jī)制實(shí)現(xiàn),當(dāng)各個(gè)子系統(tǒng)都投休眠票時(shí),rpm15才可以使移動(dòng)終端100整個(gè)系統(tǒng)進(jìn)行休眠。而當(dāng)移動(dòng)終端100有一個(gè)子或者多個(gè)子系統(tǒng)投反對休眠的票,移動(dòng)終端100整個(gè)系統(tǒng)都無法休眠。
在移動(dòng)終端100的整個(gè)系統(tǒng)休眠之后,若是要重新啟動(dòng)運(yùn)行,需要喚醒第一應(yīng)用處理器10以進(jìn)行數(shù)據(jù)的傳輸交互。
在移動(dòng)終端100和外接設(shè)備200通過usb通訊連接的情況下,喚醒方式可為以下三種:
1、第一應(yīng)用處理器10接收到信令數(shù)據(jù)時(shí),通過usb發(fā)送握手關(guān)鍵字給第二應(yīng)用處理器20,以喚醒第二應(yīng)用處理器20。
2、第二調(diào)制解調(diào)器21接收到用戶數(shù)據(jù)時(shí),喚醒第二應(yīng)用處理器20,由第二應(yīng)用處理器20通過usb傳送握手關(guān)鍵字給第一應(yīng)用處理器10,以喚醒第一應(yīng)用處理器10。
3、第二調(diào)制解調(diào)器21周期性查找尋呼請求,以主動(dòng)激活自己。若接收到尋呼請求,第二調(diào)制解調(diào)器21則喚醒第二應(yīng)用處理器20,由第二應(yīng)用處理器20通過usb發(fā)送握手關(guān)鍵字給第一應(yīng)用處理器10,以喚醒第二應(yīng)用處理器20。
需要說明的是,握手關(guān)鍵字可用固定字長的字符標(biāo)識,是正常數(shù)據(jù)包中不會(huì)出現(xiàn)的字段。如可用0xf9f9f9或者0x9f9f9f表示握手關(guān)鍵字,通過握手關(guān)鍵字可喚醒處于睡眠狀態(tài)的第一應(yīng)用處理器10或第二應(yīng)用處理器20。
此外,第二調(diào)制解調(diào)器21還可以定期喚醒自己,以在移動(dòng)終端100進(jìn)行位置更新時(shí),跟基站進(jìn)行握手交互,此時(shí)不需要喚醒第一應(yīng)用處理器10。
應(yīng)當(dāng)說明的是,傳統(tǒng)的調(diào)制解調(diào)器之間的數(shù)據(jù)傳輸,一般是在遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器和遠(yuǎn)程數(shù)據(jù)訪問客戶端中,調(diào)用函數(shù)實(shí)現(xiàn)數(shù)據(jù)傳輸,即調(diào)制解調(diào)器中的數(shù)據(jù)無法直接傳輸至應(yīng)用處理器中。因此,本發(fā)明中,為了解決這個(gè)問題,在移動(dòng)終端中添加第一攔截模塊,在外接設(shè)備中添加第二攔截模塊,以通過攔截模塊截取遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器和遠(yuǎn)程數(shù)據(jù)訪問客戶端的數(shù)據(jù),并將截取的數(shù)據(jù)傳輸至移動(dòng)終端和外接設(shè)備的應(yīng)用處理器中,以實(shí)現(xiàn)調(diào)制解調(diào)器中的數(shù)據(jù)傳輸至應(yīng)用處理器,再由應(yīng)用處理器傳輸至對端。
參照圖4,圖4為本發(fā)明移動(dòng)終端和外接設(shè)備通訊連接的內(nèi)部硬件結(jié)構(gòu)示意圖。
如圖4可知,第一調(diào)制解調(diào)器11包括uim(useridentitymodule)驅(qū)動(dòng)112、第一sim卡模塊代理113、遠(yuǎn)程sim數(shù)據(jù)訪問_server(遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器)114、qcsi(qualcommcommonserviceinterface,高通通用服務(wù)器接口模塊,簡稱通用服務(wù)器接口模塊)115、內(nèi)置有第一數(shù)據(jù)攔截端口(xport1)的第一攔截模塊116和數(shù)據(jù)轉(zhuǎn)發(fā)_server1(第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器)117。第一應(yīng)用處理器10包括數(shù)據(jù)轉(zhuǎn)發(fā)_client1(第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端)011和第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012。
第二調(diào)制解調(diào)器21包括modem非接入層部分212、第二sim卡模塊代理213、遠(yuǎn)程sim數(shù)據(jù)訪問_client(遠(yuǎn)程數(shù)據(jù)訪問客戶端)214、qcci(qualcommcommonclientinterface,高通通用客戶端接口模塊,簡稱通用客戶端接口模塊)215、內(nèi)置有第二數(shù)據(jù)攔截端口(xport2)的第二攔截模塊216和數(shù)據(jù)轉(zhuǎn)發(fā)_server2(第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器)217,第二應(yīng)用處理器20包括數(shù)據(jù)轉(zhuǎn)發(fā)_client2(第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端)021和第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022。
其中,uim驅(qū)動(dòng)112存儲(chǔ)了接入網(wǎng)絡(luò)必須的數(shù)據(jù),如uimid(identification,身份)、鑒權(quán)數(shù)據(jù)、imsi號等。
遠(yuǎn)程sim數(shù)據(jù)訪問_server114和遠(yuǎn)程sim數(shù)據(jù)訪問_client214用于實(shí)現(xiàn)第一調(diào)制解調(diào)器11和第二調(diào)制解調(diào)器21之間sim卡數(shù)據(jù)的傳輸。
第一攔截模塊116用于截取遠(yuǎn)程sim數(shù)據(jù)訪問_server114中所需傳輸?shù)膕im卡數(shù)據(jù);第二攔截模塊216用于截取遠(yuǎn)程sim數(shù)據(jù)訪問_client214中所需傳輸?shù)膕im卡數(shù)據(jù)。通過第一攔截模塊116和第二攔截模塊216實(shí)現(xiàn)遠(yuǎn)程sim數(shù)據(jù)訪問_server114和遠(yuǎn)程sim數(shù)據(jù)訪問_client214中sim卡數(shù)據(jù)的交互,具體地:第一攔截模塊116或第二攔截模塊216截取到數(shù)據(jù)之后,將截取的數(shù)據(jù)通過第一數(shù)據(jù)攔截端口或第二數(shù)據(jù)攔截端口,傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器117或第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器217,以實(shí)現(xiàn)數(shù)據(jù)的傳輸。
第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器217和第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021相對應(yīng),用于實(shí)現(xiàn)第二調(diào)制解調(diào)器21和第二應(yīng)用處理器20之間的數(shù)據(jù)傳輸;第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器117和第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011相對應(yīng),用于實(shí)現(xiàn)第一調(diào)制解調(diào)器11和第一應(yīng)用處理器10之間的數(shù)據(jù)傳輸。
第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012和第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022用于通過usb實(shí)現(xiàn)第二應(yīng)用處理器20和第一應(yīng)用處理器10之間的數(shù)據(jù)傳輸。
在本實(shí)施例中,需要說明的是,第一攔截模塊內(nèi)置有第一數(shù)據(jù)攔截端口,由第一攔截模塊中對數(shù)據(jù)進(jìn)行攔截之后,通過該第一數(shù)據(jù)攔截端口將數(shù)據(jù)傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器117,以實(shí)現(xiàn)數(shù)據(jù)的攔截轉(zhuǎn)發(fā)。第二攔截模塊也是采用同樣的處理方式,此處不做贅述。
在本發(fā)明實(shí)施例中,由于移動(dòng)終端和外接設(shè)備都包含有應(yīng)用處理器和調(diào)制解調(diào)器,且第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器117和第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器217位于調(diào)制解調(diào)器,第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011和第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021位于應(yīng)用處理器。因此,本實(shí)施例中,數(shù)據(jù)包傳輸過程發(fā)生在移動(dòng)終端和外接設(shè)備之間,并且移動(dòng)終端的數(shù)據(jù)轉(zhuǎn)發(fā)機(jī)制和外接設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)機(jī)制一致,本發(fā)明的各個(gè)實(shí)施例中,以移動(dòng)終端為執(zhí)行主體,詳述數(shù)據(jù)包傳輸過程,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,當(dāng)用外接設(shè)備替換本發(fā)明中的移動(dòng)終端時(shí),同樣可以實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)包傳輸過程。
具體地,移動(dòng)終端發(fā)數(shù)據(jù):
遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器114-通用服務(wù)器接口模塊115-第一攔截模塊116-第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器117-第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011-第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012;
移動(dòng)終端收數(shù)據(jù):
第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012-第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011-第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器117-第一攔截模塊116-通用服務(wù)器接口模塊115-遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器114。
外接設(shè)備發(fā)數(shù)據(jù):
遠(yuǎn)程數(shù)據(jù)訪問客戶端214-通用客戶端接口模塊215-第二攔截模塊216-第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器217-第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021-第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022;
外接設(shè)備收數(shù)據(jù):
第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022-第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021-第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器217-第二攔截模塊216-通用客戶端接口模塊215-遠(yuǎn)程數(shù)據(jù)訪問客戶端214。
本發(fā)明實(shí)施例中,僅以移動(dòng)終端所在端進(jìn)行詳述,外接設(shè)備的數(shù)據(jù)傳輸機(jī)制與移動(dòng)終端一致,下文不做贅述。
應(yīng)當(dāng)說明的是,傳統(tǒng)的調(diào)制解調(diào)器之間的數(shù)據(jù)傳輸,一般是在遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器和遠(yuǎn)程數(shù)據(jù)訪問客戶端中,調(diào)用函數(shù)實(shí)現(xiàn)數(shù)據(jù)傳輸,即調(diào)制解調(diào)器中的數(shù)據(jù)無法直接傳輸至應(yīng)用處理器中。因此,本發(fā)明中,為了解決這個(gè)問題,在移動(dòng)終端中添加第一攔截模塊,在外接設(shè)備中添加第二攔截模塊,以通過攔截模塊截取遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器和遠(yuǎn)程數(shù)據(jù)訪問客戶端的數(shù)據(jù),并將截取的數(shù)據(jù)傳輸至移動(dòng)終端和外接設(shè)備的應(yīng)用處理器中,以實(shí)現(xiàn)調(diào)制解調(diào)器中的數(shù)據(jù)傳輸至應(yīng)用處理器,再由應(yīng)用處理器傳輸至對端。
基于上述的lte網(wǎng)絡(luò)架構(gòu)圖、移動(dòng)終端100和外接設(shè)備200通訊連接的硬件結(jié)構(gòu)示意圖、實(shí)體結(jié)構(gòu)示意圖以及現(xiàn)有技術(shù)存在的問題,提出本發(fā)明的各個(gè)實(shí)施例。
本實(shí)施例提出一種數(shù)據(jù)包傳輸系統(tǒng),所述數(shù)據(jù)包傳輸系統(tǒng)包括移動(dòng)終端100,以及通過預(yù)設(shè)接口與所述移動(dòng)終端100連接的外接設(shè)備200;所述移動(dòng)終端100包括第一應(yīng)用處理器10,以及與第一用戶識別卡13和第二用戶識別卡14連接的第一調(diào)制解調(diào)器11,所述第一調(diào)制解調(diào)器11包括遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器114、通用服務(wù)器接口模塊115、內(nèi)置有第一數(shù)據(jù)攔截端口的第一攔截模塊116和第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器117,所述第一應(yīng)用處理器10包括第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012和與所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器117連接的第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011;所述外接設(shè)備200包括第二應(yīng)用處理器20和第二調(diào)制解調(diào)器21,所述第二調(diào)制解調(diào)器21包括遠(yuǎn)程數(shù)據(jù)訪問客戶端214,所述第二應(yīng)用處理器20包括通過所述預(yù)設(shè)接口與所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012連接的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022;
通用服務(wù)器接口模塊獲取,用于遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器傳輸?shù)臄?shù)據(jù)包,并將獲取的數(shù)據(jù)包傳輸至第一攔截模塊;
所述第一攔截模塊,用于基于第一數(shù)據(jù)攔截端口截取數(shù)據(jù)包,并將截取的數(shù)據(jù)包傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器;
第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,用于將數(shù)據(jù)包轉(zhuǎn)發(fā)至第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包傳輸至第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊;
所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,用于通過所述預(yù)設(shè)接口將數(shù)據(jù)包傳輸至外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,以供所述第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包傳輸至遠(yuǎn)程數(shù)據(jù)訪問客戶端,所述預(yù)設(shè)接口包括遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口和串行接口。
在本實(shí)施例中,移動(dòng)終端的第一調(diào)制解調(diào)器中的遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器先從第一用戶識別卡或第二用戶識別卡中獲取數(shù)據(jù)包,然后將獲取的數(shù)據(jù)包發(fā)送至通用服務(wù)器接口模塊,當(dāng)通用服務(wù)器接口模塊獲取到該數(shù)據(jù)包時(shí),再將該數(shù)據(jù)包傳輸至第一攔截模塊。第一攔截模塊截取通用服務(wù)器接口模塊傳輸?shù)臄?shù)據(jù)包,并在截取到該數(shù)據(jù)包之后,通過內(nèi)置的第一數(shù)據(jù)攔截端口傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器。第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器再將該數(shù)據(jù)包轉(zhuǎn)發(fā)至第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包傳輸至第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊。
當(dāng)所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊接收到數(shù)據(jù)包之后,通過預(yù)設(shè)接口將數(shù)據(jù)包傳輸至外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,以供所述第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包傳輸至遠(yuǎn)程數(shù)據(jù)訪問客戶端,本實(shí)施例中,所述預(yù)設(shè)接口即usb接口,usb接口可包括網(wǎng)絡(luò)端口和串口,該網(wǎng)絡(luò)端口可選為rndis(remotenetworkdriverinterfacespecification,遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范,簡稱為遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口),該串口為串行接口(serial,簡稱串口),其中,rndis端口用于傳輸網(wǎng)絡(luò)數(shù)據(jù),即tcp(transmissioncontrolprotocol,傳輸控制協(xié)議)/ip(internetprotocol,網(wǎng)際協(xié)議)的數(shù)據(jù)的傳輸,串口用于傳輸sim卡數(shù)據(jù),即用戶識別卡數(shù)據(jù)。
本發(fā)明實(shí)施例中,遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器獲取的數(shù)據(jù)是sim卡數(shù)據(jù),因此第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊從串口中將數(shù)據(jù)包傳輸給外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊。
本實(shí)施例提出的技術(shù)方案,通用服務(wù)器接口模塊獲取遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器傳輸?shù)臄?shù)據(jù)包,并將獲取的數(shù)據(jù)包傳輸至第一攔截模塊,第一攔截模塊基于第一數(shù)據(jù)攔截端口截取數(shù)據(jù)包,并將截取的數(shù)據(jù)包傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器將數(shù)據(jù)包轉(zhuǎn)發(fā)至第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包傳輸至第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊再通過所述預(yù)設(shè)接口將數(shù)據(jù)包傳輸至外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,以供所述第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包傳輸至遠(yuǎn)程數(shù)據(jù)訪問客戶端。本發(fā)明中,通用服務(wù)器接口模塊將獲取的數(shù)據(jù)包傳輸至第一攔截模塊,由第一攔截模塊通過第一數(shù)據(jù)攔截端口截取后傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,再由第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器、第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端及第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊傳輸給外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,以便第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包傳輸至遠(yuǎn)程數(shù)據(jù)訪問客戶端,以實(shí)現(xiàn)移動(dòng)終端和外接設(shè)備之間的數(shù)據(jù)傳輸。
進(jìn)一步地,提出本發(fā)明數(shù)據(jù)包傳輸系統(tǒng)的第二實(shí)施例。
數(shù)據(jù)包傳輸系統(tǒng)的第二實(shí)施例與數(shù)據(jù)包傳輸系統(tǒng)的第一實(shí)施例的區(qū)別在于:第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,還用于對數(shù)據(jù)包的容量值進(jìn)行解析,以確定數(shù)據(jù)包的容量值是否超出預(yù)設(shè)閾值;
若數(shù)據(jù)包的容量值超出所述預(yù)設(shè)閾值,則對所述數(shù)據(jù)包進(jìn)行拆分;
在拆分后的各個(gè)數(shù)據(jù)包中確定中間數(shù)據(jù)包和結(jié)束數(shù)據(jù)包,并對中間數(shù)據(jù)包添加中間標(biāo)識,對結(jié)束數(shù)據(jù)包添加結(jié)束標(biāo)識,以將添加有標(biāo)識的各個(gè)數(shù)據(jù)包發(fā)送至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端。
在本實(shí)施例中,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器獲取到第一攔截模塊通過內(nèi)置的第一數(shù)據(jù)攔截端口發(fā)送的數(shù)據(jù)包時(shí),先將該數(shù)據(jù)包緩存至發(fā)送緩沖區(qū)中,然后對該發(fā)送緩沖區(qū)中的數(shù)據(jù)包的容量值進(jìn)行解析,以確定數(shù)據(jù)包的容量值是否超出預(yù)設(shè)閾值,具體的解析方式為:將數(shù)據(jù)包的容量值與預(yù)設(shè)閾值進(jìn)行比較,若檢測到數(shù)據(jù)包的容量值大于該預(yù)設(shè)閾值,則對所述數(shù)據(jù)包進(jìn)行拆分,得到各個(gè)數(shù)據(jù)包,本實(shí)施例中,所述預(yù)設(shè)閾值可根據(jù)實(shí)際情況進(jìn)行設(shè)置,例如設(shè)置為8k。在對數(shù)據(jù)包進(jìn)行拆分即可得到各個(gè)數(shù)據(jù)包,接著,在拆分后的各個(gè)數(shù)據(jù)包中,確定中間數(shù)據(jù)包和結(jié)束數(shù)據(jù)包,并對中間數(shù)據(jù)包添加中間標(biāo)識,該中間標(biāo)識用第二預(yù)設(shè)值表示,如flag=0,對結(jié)束數(shù)據(jù)包添加結(jié)束標(biāo)識,該結(jié)束標(biāo)識用第一預(yù)設(shè)值表示,如flag=1,然后將添加有標(biāo)識的各個(gè)數(shù)據(jù)包發(fā)送至第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端。第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端接收到數(shù)據(jù)包之后,再將接收到的數(shù)據(jù)包通過第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊轉(zhuǎn)發(fā)至外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊。
在本實(shí)施例中,由于第一攔截模塊截取的數(shù)據(jù)包是從用戶識別卡中獲取的原始數(shù)據(jù)包,該原始數(shù)據(jù)包的容量值較大,后續(xù)無法直接通過預(yù)設(shè)接口傳輸給對端,因此,先由第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器對數(shù)據(jù)包進(jìn)行拆分,使得通過預(yù)設(shè)接口傳輸至對端的數(shù)據(jù)包容量值較小,保證了數(shù)據(jù)包的正常傳輸。并在對數(shù)據(jù)包拆分后,對拆分的各個(gè)數(shù)據(jù)包添加相應(yīng)的標(biāo)識,以便對端接收到數(shù)據(jù)包之后,根據(jù)數(shù)據(jù)包的標(biāo)識信息,執(zhí)行相應(yīng)的組包操作以得完整的數(shù)據(jù)包,使得傳輸?shù)臄?shù)據(jù)包是完整的數(shù)據(jù)包。
進(jìn)一步地,提出本發(fā)明數(shù)據(jù)包傳輸系統(tǒng)的第三實(shí)施例。
數(shù)據(jù)包傳輸系統(tǒng)的第三實(shí)施例與數(shù)據(jù)包傳輸系統(tǒng)的第一或第二實(shí)施例的區(qū)別在于,所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,還用于通過所述預(yù)設(shè)接口接收第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊發(fā)送的數(shù)據(jù)包,將接收到的數(shù)據(jù)包傳輸至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包轉(zhuǎn)發(fā)至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器;
所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,還用于將接收到的數(shù)據(jù)包傳輸至所述第一攔截模塊;
所述第一攔截模塊,還用于通過所述第一數(shù)據(jù)攔截端口,將數(shù)據(jù)包傳輸至所述通用服務(wù)器接口模塊,由所述通用服務(wù)器接口模塊將數(shù)據(jù)包傳輸至所述遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器。
在本實(shí)施例中,當(dāng)?shù)谝粩?shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊通過所述預(yù)設(shè)接口的串口接收到第二數(shù)據(jù)讀寫模塊發(fā)送的數(shù)據(jù)包時(shí),先將接收到的數(shù)據(jù)包傳輸至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包轉(zhuǎn)發(fā)至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器。
所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器接收到數(shù)據(jù)包之后,將接收到的數(shù)據(jù)包傳輸至所述第一攔截模塊,當(dāng)?shù)谝粩r截轉(zhuǎn)發(fā)模塊接收到數(shù)據(jù)包時(shí),通過內(nèi)置的第一數(shù)據(jù)攔截端口,將該數(shù)據(jù)包傳輸至所述通用服務(wù)器接口模塊,由該通用服務(wù)器接接口模塊將數(shù)據(jù)包傳輸至所述遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器。
在本實(shí)施例中,移動(dòng)終端可接收外接設(shè)備傳送到的數(shù)據(jù)包,并對接收的數(shù)據(jù)包進(jìn)行處理,從而實(shí)現(xiàn)移動(dòng)終端和外接設(shè)備的通信。
進(jìn)一步地,提出本發(fā)明數(shù)據(jù)包傳輸系統(tǒng)的第四實(shí)施例。
數(shù)據(jù)包傳輸系統(tǒng)的第四實(shí)施例與數(shù)據(jù)包傳輸系統(tǒng)的第三實(shí)施例的區(qū)別在于:所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,還用于確定接收到的數(shù)據(jù)包攜帶的標(biāo)識信息;
在接收到的數(shù)據(jù)包中攜帶中間標(biāo)識時(shí),緩存所述數(shù)據(jù)包;
在接收到的數(shù)據(jù)包中攜帶結(jié)束標(biāo)識時(shí),將緩存的數(shù)據(jù)包以及當(dāng)前接收到的數(shù)據(jù)包組合傳輸至所述第一攔截模塊。
在本實(shí)施例中,當(dāng)?shù)谝粩?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器接收到數(shù)據(jù)包之后,先對數(shù)據(jù)包進(jìn)行解包,以確定數(shù)據(jù)包攜帶的標(biāo)識信息,若檢測到數(shù)據(jù)包攜帶中間標(biāo)識,中間標(biāo)識用第二預(yù)設(shè)值標(biāo)識,如flag=0,表示該數(shù)據(jù)包是中間數(shù)據(jù)包,即數(shù)據(jù)包不是最后一個(gè)數(shù)據(jù)包,此時(shí),第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器將接收到的數(shù)據(jù)包緩存至臨時(shí)緩沖區(qū)中,并繼續(xù)接收數(shù)據(jù)包,僅在接收到數(shù)據(jù)包對應(yīng)的flag標(biāo)識信息為結(jié)束標(biāo)識,該結(jié)束標(biāo)識用第一預(yù)設(shè)值表示,如flag=1,說明當(dāng)前接收到數(shù)據(jù)包是最后一個(gè)數(shù)據(jù)包,此時(shí)將緩存的數(shù)據(jù)包以及當(dāng)前接收到的數(shù)據(jù)包組合傳輸至所述第一攔截模塊。
在本實(shí)施例中,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器解析出數(shù)據(jù)包攜帶中間標(biāo)識時(shí),說明書當(dāng)前接收到的數(shù)據(jù)包是中間數(shù)據(jù)包,從外接設(shè)備發(fā)送過來的數(shù)據(jù)包還沒有發(fā)送完成,此時(shí),先緩存中間數(shù)據(jù)包,以便接收到結(jié)束數(shù)據(jù)包時(shí),才組合進(jìn)行發(fā)送,防止發(fā)生丟包的情況。
進(jìn)一步地,提出本發(fā)明數(shù)據(jù)包傳輸系統(tǒng)的第五實(shí)施例。
數(shù)據(jù)包傳輸系統(tǒng)的第五實(shí)施例與數(shù)據(jù)包傳輸系統(tǒng)的第一至第四實(shí)施例的區(qū)別在于,所述預(yù)設(shè)接口還包括調(diào)試端口,所述調(diào)試端口用于調(diào)試數(shù)據(jù)。
在本實(shí)施例中,預(yù)設(shè)接口的內(nèi)部硬件結(jié)構(gòu)示意圖可參照圖9,如圖9所示,所述預(yù)設(shè)接口包括遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口和串口。
進(jìn)一步地,本發(fā)明實(shí)施例中,預(yù)設(shè)接口除了包括遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口和串行接口,還可以包括調(diào)試端口,該調(diào)試端口可選為diag(diagnostics,調(diào)試)/adb(androiddebugbridge,安卓調(diào)試橋)端口,用于調(diào)試數(shù)據(jù)。
本發(fā)明實(shí)施例中,繼續(xù)參照圖9,遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口、串口和調(diào)試端口的兩端分別連接到第一應(yīng)用處理器10和第二應(yīng)用處理器20。需要說明的是,移動(dòng)終端的第一應(yīng)用處理器10的角色是host(主機(jī)),外接設(shè)備的第二應(yīng)用處理器20的角色是device(設(shè)備)。在遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口、串口和調(diào)試端口兩端分別連接到第一應(yīng)用處理器10和第二應(yīng)用處理器20的情況下,第一應(yīng)用處理器10和第二應(yīng)用處理器20分別設(shè)置有usbhost驅(qū)動(dòng)和usbdevice驅(qū)動(dòng),usbhost驅(qū)動(dòng)和usbdevice驅(qū)動(dòng)又分別設(shè)置有對應(yīng)的網(wǎng)卡驅(qū)動(dòng)、串口驅(qū)動(dòng)和調(diào)試端口驅(qū)動(dòng)。
本發(fā)明實(shí)施例中,遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口中的驅(qū)動(dòng)文件與串行接口的驅(qū)動(dòng)文件不同,并且遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口和串行接口在第一應(yīng)用處理器10與第二應(yīng)用處理器20中的驅(qū)動(dòng)文件也不相同。移動(dòng)終端和外接設(shè)備通過usb接口中的太網(wǎng)控制模型端口和串行接口,實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)和sim卡數(shù)據(jù)的傳輸。
本發(fā)明進(jìn)一步提供一種數(shù)據(jù)包傳輸方法。
參照圖5,圖5為本發(fā)明數(shù)據(jù)包傳輸方法第一實(shí)施例的流程示意圖。
本實(shí)施例提出一種數(shù)據(jù)包傳輸方法,在本實(shí)施例中,提供了數(shù)據(jù)包傳輸方法的實(shí)施例,需要說明的是,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本發(fā)明中,數(shù)據(jù)包傳輸方法應(yīng)用于移動(dòng)終端100以及通過預(yù)設(shè)接口與所述移動(dòng)終端連接的外接設(shè)備200,所述移動(dòng)終端100包括第一應(yīng)用處理器10,以及與第一用戶識別卡13和第二用戶識別卡14連接的第一調(diào)制解調(diào)器11,所述第一調(diào)制解調(diào)器11包括遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器114、通用服務(wù)器接口模塊115、內(nèi)置有第一數(shù)據(jù)攔截端口的第一攔截模塊116和第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器117,所述第一應(yīng)用處理器10包括第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012和與所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器117連接的第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011;所述外接設(shè)備200包括第二應(yīng)用處理器20和第二調(diào)制解調(diào)器21,所述第二調(diào)制解調(diào)器21包括遠(yuǎn)程數(shù)據(jù)訪問客戶端214,所述第二應(yīng)用處理器20包括通過所述預(yù)設(shè)接口與所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012連接的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022;所述方法包括:
步驟s10,通用服務(wù)器接口模塊獲取遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器傳輸?shù)臄?shù)據(jù)包,并將獲取的數(shù)據(jù)包傳輸至第一攔截模塊;
步驟s20,所述第一攔截模塊基于第一數(shù)據(jù)攔截端口截取數(shù)據(jù)包,并將截取的數(shù)據(jù)包傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器;
步驟s30,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器將數(shù)據(jù)包轉(zhuǎn)發(fā)至第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包傳輸至第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊;
步驟s40,所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊通過所述預(yù)設(shè)接口將數(shù)據(jù)包傳輸至外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,以供所述第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包傳輸至遠(yuǎn)程數(shù)據(jù)訪問客戶端,所述預(yù)設(shè)接口包括遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口和串行接口。
在本實(shí)施例中,移動(dòng)終端的第一調(diào)制解調(diào)器中的遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器先從第一用戶識別卡或第二用戶識別卡中獲取數(shù)據(jù)包,然后將獲取的數(shù)據(jù)包發(fā)送至通用服務(wù)器接口模塊,當(dāng)通用服務(wù)器接口模塊獲取到該數(shù)據(jù)包時(shí),再將該數(shù)據(jù)包傳輸至第一攔截模塊。第一攔截模塊截取通用服務(wù)器接口模塊傳輸?shù)臄?shù)據(jù)包,并在截取到該數(shù)據(jù)包之后,通過內(nèi)置的第一數(shù)據(jù)攔截端口傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器。第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器再將該數(shù)據(jù)包轉(zhuǎn)發(fā)至第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包傳輸至第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊。
當(dāng)所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊接收到數(shù)據(jù)包之后,通過預(yù)設(shè)接口將數(shù)據(jù)包傳輸至外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,以供所述第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包傳輸至遠(yuǎn)程數(shù)據(jù)訪問客戶端,本實(shí)施例中,所述預(yù)設(shè)接口即usb接口usb接口可包括網(wǎng)絡(luò)端口和串口,該網(wǎng)絡(luò)端口可選為rndis(remotenetworkdriverinterfacespecification,遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范,簡稱為遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口),該串口為串行接口(serial,簡稱串口),其中,rndis端口用于傳輸網(wǎng)絡(luò)數(shù)據(jù),即tcp(transmissioncontrolprotocol,傳輸控制協(xié)議)/ip(internetprotocol,網(wǎng)際協(xié)議)的數(shù)據(jù)的傳輸,串口用于傳輸sim卡數(shù)據(jù),即用戶識別卡數(shù)據(jù)。
本發(fā)明實(shí)施例中,遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器獲取的數(shù)據(jù)是sim卡數(shù)據(jù),因此第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊從串口中將數(shù)據(jù)包傳輸給外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊。
本實(shí)施例提出的技術(shù)方案,通用服務(wù)器接口模塊獲取遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器傳輸?shù)臄?shù)據(jù)包,并將獲取的數(shù)據(jù)包傳輸至第一攔截模塊,第一攔截模塊基于第一數(shù)據(jù)攔截端口截取數(shù)據(jù)包,并將截取的數(shù)據(jù)包傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器將數(shù)據(jù)包轉(zhuǎn)發(fā)至第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包傳輸至第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊再通過所述預(yù)設(shè)接口將數(shù)據(jù)包傳輸至外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,以供所述第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包傳輸至遠(yuǎn)程數(shù)據(jù)訪問客戶端。本發(fā)明中,通用服務(wù)器接口模塊將獲取的數(shù)據(jù)包傳輸至第一攔截模塊,由第一攔截模塊通過第一數(shù)據(jù)攔截端口截取后傳輸至第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,再由第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器、第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端及第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊傳輸給外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,以便第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包傳輸至遠(yuǎn)程數(shù)據(jù)訪問客戶端,以實(shí)現(xiàn)移動(dòng)終端和外接設(shè)備之間的數(shù)據(jù)傳輸。
進(jìn)一步地,參照圖6,提出本發(fā)明數(shù)據(jù)包傳輸方法的第二實(shí)施例。
數(shù)據(jù)包傳輸方法的第二實(shí)施例與數(shù)據(jù)包傳輸方法的第一實(shí)施例的區(qū)別在于,所述步驟s30包括:
步驟s31,所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器對數(shù)據(jù)包的容量值進(jìn)行解析,以確定數(shù)據(jù)包的容量值是否超出預(yù)設(shè)閾值;
步驟s32,若數(shù)據(jù)包的容量值超出所述預(yù)設(shè)閾值,則對所述數(shù)據(jù)包進(jìn)行拆分;
步驟s33,在拆分后的各個(gè)數(shù)據(jù)包中確定中間數(shù)據(jù)包和結(jié)束數(shù)據(jù)包,并對中間數(shù)據(jù)包添加中間標(biāo)識,對結(jié)束數(shù)據(jù)包添加結(jié)束標(biāo)識,以將添加有標(biāo)識的各個(gè)數(shù)據(jù)包發(fā)送至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端。
在本實(shí)施例中,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器獲取到第一攔截模塊通過內(nèi)置的第一數(shù)據(jù)攔截端口發(fā)送的數(shù)據(jù)包時(shí),先將該數(shù)據(jù)包緩存至發(fā)送緩沖區(qū)中,然后對該發(fā)送緩沖區(qū)中的數(shù)據(jù)包的容量值進(jìn)行解析,以確定數(shù)據(jù)包的容量值是否超出預(yù)設(shè)閾值,具體的解析方式為:將數(shù)據(jù)包的容量值與預(yù)設(shè)閾值進(jìn)行比較,若檢測到數(shù)據(jù)包的容量值大于該預(yù)設(shè)閾值,則對所述數(shù)據(jù)包進(jìn)行拆分,得到各個(gè)數(shù)據(jù)包,本實(shí)施例中,所述預(yù)設(shè)閾值可根據(jù)實(shí)際情況進(jìn)行設(shè)置,例如設(shè)置為8k。在對數(shù)據(jù)包進(jìn)行拆分即可得到各個(gè)數(shù)據(jù)包,接著,在拆分后的各個(gè)數(shù)據(jù)包中,確定中間數(shù)據(jù)包和結(jié)束數(shù)據(jù)包,并對中間數(shù)據(jù)包添加中間標(biāo)識,該中間標(biāo)識用第二預(yù)設(shè)值表示,如flag=0,對結(jié)束數(shù)據(jù)包添加結(jié)束標(biāo)識,該結(jié)束標(biāo)識用第一預(yù)設(shè)值表示,如flag=1,然后將添加有標(biāo)識的各個(gè)數(shù)據(jù)包發(fā)送至第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端。第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端接收到數(shù)據(jù)包之后,再將接收到的數(shù)據(jù)包通過第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊轉(zhuǎn)發(fā)至外接設(shè)備的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊。
在本實(shí)施例中,由于第一攔截模塊截取的數(shù)據(jù)包是從用戶識別卡中獲取的原始數(shù)據(jù)包,該原始數(shù)據(jù)包的容量值較大,后續(xù)無法直接通過預(yù)設(shè)接口傳輸給對端,因此,先由第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器對數(shù)據(jù)包進(jìn)行拆分,使得通過預(yù)設(shè)接口傳輸至對端的數(shù)據(jù)包容量值較小,保證了數(shù)據(jù)包的正常傳輸。并在對數(shù)據(jù)包拆分后,對拆分的各個(gè)數(shù)據(jù)包添加相應(yīng)的標(biāo)識,以便對端接收到數(shù)據(jù)包之后,根據(jù)數(shù)據(jù)包的標(biāo)識信息,執(zhí)行相應(yīng)的組包操作以得完整的數(shù)據(jù)包,使得傳輸?shù)臄?shù)據(jù)包是完整的數(shù)據(jù)包。
進(jìn)一步地,參照圖7,提出本發(fā)明數(shù)據(jù)包傳輸方法的第三實(shí)施例。
數(shù)據(jù)包傳輸方法的第三實(shí)施例與數(shù)據(jù)包傳輸方法的第一或第二實(shí)施例的區(qū)別在于,所述方法還包括:
步驟s50,所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊通過所述預(yù)設(shè)接口接收第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊發(fā)送的數(shù)據(jù)包,將接收到的數(shù)據(jù)包傳輸至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包轉(zhuǎn)發(fā)至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器;
步驟s60,所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器將接收到的數(shù)據(jù)包傳輸至所述第一攔截模塊;
步驟s70,所述第一攔截模塊通過所述第一數(shù)據(jù)攔截端口,將數(shù)據(jù)包傳輸至所述通用服務(wù)器接口模塊,由所述通用服務(wù)器接口模塊將數(shù)據(jù)包傳輸至所述遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器。
在本實(shí)施例中,當(dāng)?shù)谝粩?shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊通過所述預(yù)設(shè)接口的串口接收到第二數(shù)據(jù)讀寫模塊發(fā)送的數(shù)據(jù)包時(shí),先將接收到的數(shù)據(jù)包傳輸至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將數(shù)據(jù)包轉(zhuǎn)發(fā)至所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器。
所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器接收到數(shù)據(jù)包之后,將接收到的數(shù)據(jù)包傳輸至所述第一攔截模塊,當(dāng)?shù)谝粩r截轉(zhuǎn)發(fā)模塊接收到數(shù)據(jù)包時(shí),通過內(nèi)置的第一數(shù)據(jù)攔截端口,將該數(shù)據(jù)包傳輸至所述通用服務(wù)器接口模塊,由該通用服務(wù)器接接口模塊將數(shù)據(jù)包傳輸至所述遠(yuǎn)程數(shù)據(jù)訪問服務(wù)器。
在本實(shí)施例中,移動(dòng)終端可接收外接設(shè)備傳送到的數(shù)據(jù)包,并對接收的數(shù)據(jù)包進(jìn)行處理,從而實(shí)現(xiàn)移動(dòng)終端和外接設(shè)備的通信。
進(jìn)一步地,參照圖8,提出本發(fā)明數(shù)據(jù)包傳輸方法的第四實(shí)施例。
數(shù)據(jù)包傳輸方法的第四實(shí)施例與數(shù)據(jù)包傳輸方法的第三實(shí)施例的區(qū)別在于,所述步驟s60包括:
步驟s61,所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器確定接收到的數(shù)據(jù)包攜帶的標(biāo)識信息;
步驟s62,在接收到的數(shù)據(jù)包中攜帶中間標(biāo)識時(shí),緩存所述數(shù)據(jù)包;
步驟s63,在接收到的數(shù)據(jù)包中攜帶結(jié)束標(biāo)識時(shí),將緩存的數(shù)據(jù)包以及當(dāng)前接收到的數(shù)據(jù)包組合傳輸至所述第一攔截模塊。
在本實(shí)施例中,當(dāng)?shù)谝粩?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器接收到數(shù)據(jù)包之后,先對數(shù)據(jù)包進(jìn)行解包,以確定數(shù)據(jù)包攜帶的標(biāo)識信息,若檢測到數(shù)據(jù)包攜帶中間標(biāo)識,中間標(biāo)識用第二預(yù)設(shè)值標(biāo)識,如flag=0,表示該數(shù)據(jù)包是中間數(shù)據(jù)包,即數(shù)據(jù)包不是最后一個(gè)數(shù)據(jù)包,此時(shí),第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器將接收到的數(shù)據(jù)包緩存至臨時(shí)緩沖區(qū)中,并繼續(xù)接收數(shù)據(jù)包,僅在接收到數(shù)據(jù)包對應(yīng)的flag標(biāo)識信息為結(jié)束標(biāo)識,該結(jié)束標(biāo)識用第一預(yù)設(shè)值表示,如flag=1,說明當(dāng)前接收到數(shù)據(jù)包是最后一個(gè)數(shù)據(jù)包,此時(shí)將緩存的數(shù)據(jù)包以及當(dāng)前接收到的數(shù)據(jù)包組合傳輸至所述第一攔截模塊。
在本實(shí)施例中,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器解析出數(shù)據(jù)包攜帶中間標(biāo)識時(shí),說明書當(dāng)前接收到的數(shù)據(jù)包是中間數(shù)據(jù)包,從外接設(shè)備發(fā)送過來的數(shù)據(jù)包還沒有發(fā)送完成,此時(shí),先緩存中間數(shù)據(jù)包,以便接收到結(jié)束數(shù)據(jù)包時(shí),才組合進(jìn)行發(fā)送,防止發(fā)生丟包的情況。
進(jìn)一步地,提出本發(fā)明數(shù)據(jù)包傳輸方法的第五實(shí)施例。
數(shù)據(jù)包傳輸方法的第五實(shí)施例與數(shù)據(jù)包傳輸方法的第一至第四實(shí)施例的區(qū)別在于,所述預(yù)設(shè)接口還包括調(diào)試端口,所述調(diào)試端口用于調(diào)試數(shù)據(jù)。
在本實(shí)施例中,預(yù)設(shè)接口的內(nèi)部硬件結(jié)構(gòu)示意圖可參照圖9,如圖9所示,所述預(yù)設(shè)接口包括遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口和串口。
進(jìn)一步地,本發(fā)明實(shí)施例中,預(yù)設(shè)接口除了包括遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口和串行接口,還可以包括調(diào)試端口,該調(diào)試端口可選為diag(diagnostics,調(diào)試)/adb(androiddebugbridge,安卓調(diào)試橋)端口,用于調(diào)試數(shù)據(jù)。
本發(fā)明實(shí)施例中,繼續(xù)參照圖9,遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口、串口和調(diào)試端口的兩端分別連接到第一應(yīng)用處理器10和第二應(yīng)用處理器20。需要說明的是,移動(dòng)終端的第一應(yīng)用處理器10的角色是host(主機(jī)),外接設(shè)備的第二應(yīng)用處理器20的角色是device(設(shè)備)。在遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口、串口和調(diào)試端口兩端分別連接到第一應(yīng)用處理器10和第二應(yīng)用處理器20的情況下,第一應(yīng)用處理器10和第二應(yīng)用處理器20分別設(shè)置有usbhost驅(qū)動(dòng)和usbdevice驅(qū)動(dòng),usbhost驅(qū)動(dòng)和usbdevice驅(qū)動(dòng)又分別設(shè)置有對應(yīng)的網(wǎng)卡驅(qū)動(dòng)、串口驅(qū)動(dòng)和調(diào)試端口驅(qū)動(dòng)。
本發(fā)明實(shí)施例中,遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口中的驅(qū)動(dòng)文件與串行接口的驅(qū)動(dòng)文件不同,并且遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)端口和串行接口在第一應(yīng)用處理器10與第二應(yīng)用處理器20中的驅(qū)動(dòng)文件也不相同。移動(dòng)終端和外接設(shè)備通過usb接口中的太網(wǎng)控制模型端口和串行接口,實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)和sim卡數(shù)據(jù)的傳輸。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其它變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者是還包括為這種過程、方法、物品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過程、方法、物品或者系統(tǒng)中還存在另外的相同要素。
上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例的方法。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其它相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。