本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)傳輸系統(tǒng)、方法、外接設(shè)備和移動終端。
背景技術(shù):
隨著移動通信技術(shù)的發(fā)展,移動終端已經(jīng)成為用戶隨身攜帶,必不可少的電子設(shè)備。在運營商和各大oem(originalequipmentmanufacturer,原始設(shè)備制造商)廠商的牽頭下,3g(3rdgeneration,第三代移動通信技術(shù))、4g(the4thgenerationmobilecommunicationtechnology,第四代移動通信技術(shù))、ca(carrieraggregation,應(yīng)用載波聚合技術(shù))以及最新的5g(5th-generation,第五代移動通信技術(shù))應(yīng)運而生,這些技術(shù)的目的是為了提高用戶的上網(wǎng)帶寬。在此種背景下,一種提高用戶上網(wǎng)帶寬的方式也悄然而生,移動終端連接兩個調(diào)制解調(diào)器,每個調(diào)制解調(diào)器都有對應(yīng)的sim(subscriberidentificationmodule)卡,且每個調(diào)制解調(diào)器都可以獨立上網(wǎng),然后在上層將用戶訪問的網(wǎng)絡(luò)根據(jù)實際情況進行兩個數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)速疊加,從而達到提高上網(wǎng)帶寬的目的。由于運營商對傳統(tǒng)用戶上網(wǎng)帶寬的壟斷和限制,終端廠商可以通過該網(wǎng)速疊加技術(shù)方案加大用戶上網(wǎng)帶寬,有效的整合了移動終端中兩張sim卡的上網(wǎng)資源,并實現(xiàn)了真dsda(dualsimdualactive,雙卡雙通),以及雙卡雙lte(longtermevolution,長期演進)待機。
因此,為了使移動終端連接兩個調(diào)制解調(diào)器,將移動終端與含有調(diào)制解調(diào)器的外接設(shè)備的連接。但是在移動終端和外接設(shè)備之間進行數(shù)據(jù)傳輸過程中,當外接設(shè)備和移動終端之間所傳輸?shù)臄?shù)據(jù)包過大時,會導(dǎo)致數(shù)據(jù)包傳輸失敗的情況出現(xiàn)。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提出一種數(shù)據(jù)傳輸系統(tǒng)、方法、外接設(shè)備和移動終端,旨在解決移動終端通過外接設(shè)備實現(xiàn)雙lte通信過程中,外接設(shè)備和移動終端之間傳輸?shù)臄?shù)據(jù)包過大,導(dǎo)致數(shù)據(jù)包傳輸失敗的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供的一種數(shù)據(jù)傳輸系統(tǒng),所述數(shù)據(jù)傳輸系統(tǒng)包括移動終端和外接設(shè)備,所述移動終端包括內(nèi)嵌有虛擬用戶識別卡的第一應(yīng)用處理器,以及與實體用戶識別卡連接的第一調(diào)制解調(diào)器,所述第一調(diào)制解調(diào)器包括第一數(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)器包括第二數(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ù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,用于當獲取到待發(fā)送數(shù)據(jù)包時,拆分所述待發(fā)送數(shù)據(jù)包,得到所述待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包;確定所述子數(shù)據(jù)包中的結(jié)束數(shù)據(jù)包,為所述結(jié)束數(shù)據(jù)包添加結(jié)束標識;將所述子數(shù)據(jù)包發(fā)送給所述第二應(yīng)用處理器;
所述第二應(yīng)用處理器,用于通過預(yù)設(shè)接口將所述子數(shù)據(jù)包發(fā)送給所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊;
所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊,用于當接收到所述第二應(yīng)用處理器發(fā)送的子數(shù)據(jù)包時,獲取所述子數(shù)據(jù)包中的類別標識;若根據(jù)所述類別標識確定所述子數(shù)據(jù)包為待處理的數(shù)據(jù)包,則檢測是否接收到含有結(jié)束標識的所述子數(shù)據(jù)包;若接收到含有結(jié)束標識的所述子數(shù)據(jù)包,則組合所接收的子數(shù)據(jù)包,以得到與所述子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。
可選地,所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊還用于若根據(jù)所述類別標識確定所述子數(shù)據(jù)包為待傳輸?shù)臄?shù)據(jù)包,則將所述子數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端;
所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,用于將所述子數(shù)據(jù)包發(fā)送給所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器;
所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,用于在接收到含有所述結(jié)束標識的子數(shù)據(jù)包時,組合所接收的子數(shù)據(jù)包,以得到與所述子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。
可選地,所述第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器還用于當獲取到所述待發(fā)送數(shù)據(jù)包時,計算所述待發(fā)送數(shù)據(jù)包的大?。?/p>
若所述待發(fā)送數(shù)據(jù)包的大小大于預(yù)設(shè)閾值,則拆分所述待發(fā)送數(shù)據(jù)包,得到所述待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包。
可選地,所述第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器還用于為除所述結(jié)束數(shù)據(jù)包外的其它子數(shù)據(jù)包添加相同的中間標識。
此外,為實現(xiàn)上述目的,本發(fā)明還提出一種數(shù)據(jù)傳輸方法,所述數(shù)據(jù)傳輸方法應(yīng)用于外接設(shè)備,所述第二調(diào)制解調(diào)器包括與所述第二應(yīng)用處理器連接的第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,所述數(shù)據(jù)傳輸方法包括:
當所述第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器獲取到待發(fā)送數(shù)據(jù)包時,拆分所述待發(fā)送數(shù)據(jù)包,得到所述待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包;
確定所述子數(shù)據(jù)包中的結(jié)束數(shù)據(jù)包,為所述結(jié)束數(shù)據(jù)包添加結(jié)束標識;
將所述子數(shù)據(jù)包發(fā)送給所述第二應(yīng)用處理器,以供所述第二應(yīng)用處理器通過預(yù)設(shè)接口將所述子數(shù)據(jù)包發(fā)送給移動終端。
可選地,所述當所述第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器獲取到待發(fā)送數(shù)據(jù)包時,拆分所述待發(fā)送數(shù)據(jù)包,得到所述待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包的步驟包括:
當所述第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器獲取到所述待發(fā)送數(shù)據(jù)包時,計算所述待發(fā)送數(shù)據(jù)包的大小;
若所述待發(fā)送數(shù)據(jù)包的大小大于預(yù)設(shè)閾值,則拆分所述待發(fā)送數(shù)據(jù)包,得到所述待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包。
可選地,所述將所述子數(shù)據(jù)包發(fā)送給與所述第二應(yīng)用處理器的步驟之前,還包括:
為除所述結(jié)束數(shù)據(jù)包外的其它子數(shù)據(jù)包添加相同的中間標識。
此外,為實現(xiàn)上述目的,本發(fā)明還提出一種數(shù)據(jù)傳輸方法,所述數(shù)據(jù)傳輸方法應(yīng)用于移動終端,所述移動終端包括內(nèi)嵌有虛擬用戶識別卡的第一應(yīng)用處理器,以及與實體用戶識別卡連接的第一調(diào)制解調(diào)器,所述第一調(diào)制解調(diào)器包括第一數(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ù)據(jù)傳輸方法包括:
當所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊接收到外接設(shè)備第二應(yīng)用處理器發(fā)送的子數(shù)據(jù)包時,獲取所述子數(shù)據(jù)包中的類別標識;
若根據(jù)所述類別標識確定所述子數(shù)據(jù)包為待處理的數(shù)據(jù)包,則檢測是否接收到含有結(jié)束標識的所述子數(shù)據(jù)包;
若接收到含有結(jié)束標識的所述子數(shù)據(jù)包,則組合所接收的子數(shù)據(jù)包,以得到與所述子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。
優(yōu)選地,所述當所述第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊接收到外接設(shè)備第二應(yīng)用處理器發(fā)送的子數(shù)據(jù)包時,獲取所述子數(shù)據(jù)包中的類別標識的步驟之后,還包括:
若根據(jù)所述類別標識確定所述子數(shù)據(jù)包為待傳輸?shù)臄?shù)據(jù)包,則將所述子數(shù)據(jù)包發(fā)送給所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端,以供所述第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端將所述子數(shù)據(jù)包發(fā)送給所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,由所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器在接收到含有所述結(jié)束標識的子數(shù)據(jù)包時,組合所接收的子數(shù)據(jù)包,以得到與所述子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。
此外,為實現(xiàn)上述目的,本發(fā)明還提出一種外接設(shè)備,所述外接設(shè)備包括第二應(yīng)用處理器和第二調(diào)制解調(diào)器,所述第二調(diào)制解調(diào)器包括第二數(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)用于如上所述的應(yīng)用于外接設(shè)備的數(shù)據(jù)傳輸方法。
此外,為實現(xiàn)上述目的,本發(fā)明還提出一種移動終端,所述移動終端包括內(nèi)嵌有虛擬用戶識別卡的第一應(yīng)用處理器,以及與實體用戶識別卡連接的第一調(diào)制解調(diào)器,所述第一調(diào)制解調(diào)器包括第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器,所述第一應(yīng)用處理器包括第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊和與所述第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器連接的第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端;所述移動終端應(yīng)用于如上所述的應(yīng)用于移動終端的數(shù)據(jù)傳輸方法。
本發(fā)明提供一種數(shù)據(jù)傳輸系統(tǒng)、方法、外接設(shè)備和移動終端,通過當所述外接設(shè)備的第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器獲取到待發(fā)送數(shù)據(jù)包時,拆分所述待發(fā)送數(shù)據(jù)包,得到所述待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包;確定所述子數(shù)據(jù)包中的結(jié)束數(shù)據(jù)包,為所述結(jié)束數(shù)據(jù)包添加結(jié)束標識;將所述子數(shù)據(jù)包發(fā)送給與所述第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器連接的第二應(yīng)用處理器,以供所述第二應(yīng)用處理器通過預(yù)設(shè)接口將所述子數(shù)據(jù)包發(fā)送給移動終端。當移動終端接收到外接設(shè)備發(fā)送的數(shù)據(jù)包時,檢測是否接收到含有結(jié)束標識的子數(shù)據(jù)包,若接收到含有結(jié)束標識的子數(shù)據(jù)包時,將所接收的子數(shù)據(jù)包組合成一個完整的數(shù)據(jù)包,以得到外接設(shè)備發(fā)送的完整的待發(fā)送數(shù)據(jù)包。避免了在外接設(shè)備和移動終端進行數(shù)據(jù)傳輸過程中,由于所傳輸?shù)臄?shù)據(jù)包過大,導(dǎo)致數(shù)據(jù)包傳輸失敗的情況出現(xiàn)。
附圖說明
圖1為本發(fā)明一實施例的lte網(wǎng)絡(luò)架構(gòu)的示意圖;
圖2為本發(fā)明實施例中移動終端和外接設(shè)備通訊連接的第一種硬件結(jié)構(gòu)示意圖;
圖3為本發(fā)明實施例中移動終端和外接設(shè)備通訊連接的一種實體結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例中移動終端和外接設(shè)備通訊連接的第二種結(jié)構(gòu)示意圖;
圖5為本發(fā)明中應(yīng)用于外接設(shè)備的數(shù)據(jù)傳輸方法較佳實施例的流程示意圖;
圖6為本發(fā)明實施例中當所述第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器獲取到待發(fā)送數(shù)據(jù)包時,拆分所述待發(fā)送數(shù)據(jù)包,得到所述待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包的一種流程示意圖;
圖7為本發(fā)明中應(yīng)用于移動終端的數(shù)據(jù)傳輸方法較佳實施例的流程示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做說明。
具體實施方式
應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
現(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的移動終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
圖1是本發(fā)明一實施例的lte網(wǎng)絡(luò)架構(gòu)的示意圖。本發(fā)明一實施例的lte網(wǎng)絡(luò)架構(gòu)包括:一個或多個移動終端(userequipment,ue)100、e-utran(evolvedumtsterrestrialradioaccessnetwork,演進的umts陸地無線接入網(wǎng))(圖中未標號)、演進分組核心(epc)(圖中未標號)、歸屬訂戶服務(wù)器(hss)107、網(wǎng)絡(luò)(例如,因特網(wǎng))(圖中未標號)以及電路交換系統(tǒng)(圖中未標號)。
e-utran包括演進b節(jié)點(enodeb)101和其它enodeb102。enodeb101提供朝向移動終端100的用戶面和控制面的協(xié)議終接。enodeb101可經(jīng)由x2接口連接到其他enodeb。enodeb101也可稱為基站、基收發(fā)機站、無線電基站、無線電收發(fā)機、收發(fā)機功能、基本服務(wù)集、擴展服務(wù)集、或其他某個合適的術(shù)語。enodeb101為移動終端100提供去往epc的接入點。
enodeb101通過s1接口連接到epc。epc包括移動管理實體(eem)104、其他移動管理實體106、服務(wù)網(wǎng)關(guān)103,以及分組數(shù)據(jù)網(wǎng)絡(luò)(pdn)網(wǎng)關(guān)105。移動管理實體104是處理移動終端100與epc之間的信令的控制節(jié)點。移動管理實體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、移動交換中心(msc)109、基站110和移動站111。在一個方面,電路交換系統(tǒng)可以通過iws和mme(mobilitymanagemententity,移動管理實體)與eps(evolvedpacketsystem,演進的分組系統(tǒng))進行通信。
圖2為本發(fā)明實施例中移動終端和外接設(shè)備通訊連接的一種硬件結(jié)構(gòu)示意圖。在本發(fā)明實施例中,移動終端100通過預(yù)設(shè)接口與外接設(shè)備200連接。移動終端100包括第一處理芯片001和與第一處理芯片001連接的第一射頻模塊12。其中,第一處理芯片001包括內(nèi)嵌有虛擬用戶識別卡13的第一應(yīng)用處理器(applicationprocessor)10、與實體用戶識別卡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。
第一應(yīng)用處理器10和第二應(yīng)用處理器20的內(nèi)部框架包括應(yīng)用層、框架層等,可處理復(fù)雜的邏輯操作以及進行任務(wù)分配等。第一應(yīng)用處理器10內(nèi)嵌有虛擬用戶識別卡13,虛擬用戶識別卡13包括存儲模塊和虛擬片內(nèi)操作系統(tǒng)(vcos,virtualchipoperatingsystem),該存儲模塊可為efs(encryptingfilesystem,加密文件系統(tǒng)),存儲模塊用于存儲虛擬用戶識別卡13的鑒權(quán)數(shù)據(jù)。
在本發(fā)明實施例中,應(yīng)用處理器指android操作系統(tǒng),以及基于android操作系統(tǒng)的各種apk(androidpackage,安卓安裝包)。第一應(yīng)用處理器10和第二應(yīng)用處理器20通過預(yù)設(shè)接口實現(xiàn)連接,為用戶提供交互接口,將用戶輸入的操作指令(例如,用戶通過用戶界面輸入的有關(guān)啟動視頻通話的操作指令)傳輸給第一調(diào)制解調(diào)器11或第二調(diào)制解調(diào)器21,以實現(xiàn)兩個處理器之間數(shù)據(jù)的定義與傳遞,例如,進行兩個應(yīng)用處理器的休眠、喚醒、同步的控制、開關(guān)機時芯片啟動順序的控制等。
第一應(yīng)用處理器10通過預(yù)設(shè)接口與第二應(yīng)用處理器20連接,以實現(xiàn)移動終端100與外接設(shè)備200之間的連接。在本發(fā)明實施例中,預(yù)設(shè)接口為usb(universalserialbus,通用串行總線),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)機的控制數(shù)據(jù),開關(guān)飛行模式的控制數(shù)據(jù),顯示狀態(tài)信號的控制數(shù)據(jù);sim卡鑒權(quán)數(shù)據(jù)包括但不限于imsi(internationalmobilesubscriberidentificationnumber,國際移動用戶識別碼)和ki(keyidentifier,鑒權(quán)密鑰)。
具體地,第一應(yīng)用處理器10和第二應(yīng)用處理器20通過otg(on-the-go)技術(shù)進行數(shù)據(jù)交互。通過otg技術(shù),移動終端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,全球移動通信系統(tǒng))/td-scdma(timedivision-synchronouscodedivisionmultipleaccess,同步時分碼分多址)/cdma(codedivisionmultipleaccess,碼分多址)/edge(enhanceddatarateforgsmevolution,強型數(shù)據(jù)速率gsm演進技術(shù))等通訊標準里邊規(guī)定的協(xié)議代碼。移動終端100通過協(xié)議與運營商網(wǎng)絡(luò)進行交互,即進行數(shù)據(jù)流量上網(wǎng)、volte(voiceoverlte)打電話或者cs(circuitswitched,電路交換)域打電話。第一調(diào)制解調(diào)器11和第二調(diào)制解調(diào)器21還用于對sim卡的管控等等。
在本發(fā)明實施例中,第一射頻模塊12用于將移動終端100傳輸?shù)臄?shù)據(jù)處理后傳給enodeb101(基站網(wǎng)絡(luò)),以及用于將enodeb101傳輸?shù)臄?shù)據(jù)處理后傳給移動終端100。第二射頻模塊22用于將外接設(shè)備200傳輸?shù)臄?shù)據(jù)處理后傳給enodeb101(基站網(wǎng)絡(luò)),以及用于將enodeb101傳輸?shù)臄?shù)據(jù)處理后傳給外接設(shè)備200。
第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術(shù)可以包括lte、gsm、gprs(generalpacketradioservice,通用分組無線服務(wù))、cdma、edge、wlan(wirelesslocalareanetworks,無線局域網(wǎng))、cdma-2000、td-scdma、wcdma、wifi(wirelessfidelity,無線保真)等等。
實體用戶識別卡14與第一調(diào)制解調(diào)器11連接,虛擬用戶識別卡13以軟件的形式嵌在第一應(yīng)用處理器10中。實體用戶識別卡14和虛擬用戶識別卡13可存儲與不同或相同的技術(shù)標準相關(guān)聯(lián)的用戶信息,用于提供移動通信業(yè)務(wù)(cs語音業(yè)務(wù)、ps數(shù)據(jù)業(yè)務(wù)和ps語音業(yè)務(wù))所需的相關(guān)數(shù)據(jù),并在其內(nèi)部存儲用戶信息、短消息、執(zhí)行鑒權(quán)算法和產(chǎn)生加密密匙等。在特定非限制性實例中,技術(shù)標準可為2g通信技術(shù),例如,gsm、edge)、3g通信技術(shù)(例如,wcdma、td-scdma)、4g通信技術(shù)(例如,lte),或任何其它移動通信技術(shù)(例如,4g等等)。
當虛擬用戶識別卡13需要進行網(wǎng)絡(luò)注冊時,通過開啟的無線保真(wifi)網(wǎng)絡(luò)發(fā)送包含業(yè)務(wù)菜單數(shù)據(jù)的下載請求至虛擬用戶識別卡13對應(yīng)的云端服務(wù)器,以從云端服務(wù)器獲取虛擬用戶識別卡13的數(shù)據(jù)信息。當獲取到虛擬用戶識別卡13的數(shù)據(jù)信息時,將數(shù)據(jù)信息寫入虛擬用戶識別卡13的存儲模塊中,以實現(xiàn)虛擬用戶識別卡13的網(wǎng)絡(luò)注冊。其中,數(shù)據(jù)信息可以包括:imsi、ki(keyidentifier,鑒權(quán)密鑰)、iccid(integratedcircuitcardidentifier)、pin(個人標識號,personalidentificationnumber)、puk(pinunlockingkey)。可以理解的是,云端服務(wù)器中存儲了各個運營商的卡號資源。
由于目前的移動終端100只有一套射頻模塊,當移動終端100有兩張用戶識別卡時,移動終端100的兩張用戶識別卡使用該套射頻是分時復(fù)用的關(guān)系,并不能同時占用。例如,在兩張用戶識別卡全開時,其中一張用戶識別卡只處理gsm通話,而另一張用戶識別卡處理4g網(wǎng)絡(luò)信息,具體哪張用戶識別卡執(zhí)行何種網(wǎng)絡(luò),在此不做限定。因此目前的射頻雙卡分時復(fù)用這種架構(gòu)僅做到了lte+gsm(即一張用戶識別卡對應(yīng)的技術(shù)標準為lte,另一張用戶識別卡對應(yīng)的技術(shù)標準為gsm)。
可以理解的是,現(xiàn)有的移動終端100雖然可以支持雙用戶識別卡,由于移動終端100在注冊網(wǎng)絡(luò)的情況下,兩張用戶識別卡支持的是不同技術(shù)標準的網(wǎng)絡(luò),一張支持2g或3g,另一張支持4g,會使得移動終端100使用過程中,上網(wǎng)流量速度較慢。在本發(fā)明實施例中,移動終端100通過usb連接外接設(shè)備200,由于外接設(shè)備200包括第二調(diào)制解調(diào)器21和第二射頻模塊22,且第二射頻模塊22支持4g網(wǎng)絡(luò),因此,移動終端100可通過usb與外接設(shè)備200交互,從而使得移動終端100具備雙lte功能(此時虛擬用戶識別卡13和實體用戶識別卡14管理的技術(shù)標準均為lte標準,第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術(shù)為lte)。
在本發(fā)明實施例中,數(shù)據(jù)傳輸系統(tǒng)包括移動終端100和外接設(shè)備200,移動終端100通過外接設(shè)備200具備雙lte功能的實現(xiàn)過程可為:①實體用戶識別卡14通過第二調(diào)制解調(diào)器21支持lte,具體過程為:第一調(diào)制解調(diào)器11將實體用戶識別卡14中需要訪問lte網(wǎng)絡(luò)的數(shù)據(jù)發(fā)送給第一應(yīng)用處理器10,第一應(yīng)用處理器10將所接收的數(shù)據(jù)通過usb發(fā)送給外接設(shè)備200的第二應(yīng)用處理器20,第二應(yīng)用處理器20將所接收的數(shù)據(jù)發(fā)送給第二調(diào)制解調(diào)器21,由第二調(diào)制解調(diào)器21轉(zhuǎn)發(fā)給第二射頻模塊22,第二射頻模塊22將所接收的數(shù)據(jù)通過lte網(wǎng)絡(luò)發(fā)送出去;虛擬用戶識別卡13通過第一調(diào)制解調(diào)器11支持lte,以實現(xiàn)移動終端100可支持雙lte。②虛擬用戶識別卡13通過第二調(diào)制解調(diào)器21支持lte,具體過程為:第一應(yīng)用處理器10將虛擬用戶識別卡13中需要訪問lte網(wǎng)絡(luò)的數(shù)據(jù)通過usb發(fā)送給外接設(shè)備200的第二應(yīng)用處理器20,第二應(yīng)用處理器20將所接收的數(shù)據(jù)發(fā)送給第二調(diào)制解調(diào)器21,由第二調(diào)制解調(diào)器21轉(zhuǎn)發(fā)給第二射頻模塊22,第二射頻模塊22將所接收的數(shù)據(jù)通過lte網(wǎng)絡(luò)發(fā)送出去;實體用戶識別卡14通過第一調(diào)制解調(diào)器11支持lte,以實現(xiàn)移動終端100可支持雙lte。
當移動終端100未通過usb與外接設(shè)備200連接時,實體用戶識別卡14所對應(yīng)的技術(shù)標準為gsm,用于進行語音通訊,虛擬用戶識別卡13通過第一調(diào)制解調(diào)器11支持lte,用于通過4g網(wǎng)絡(luò)進行數(shù)據(jù)訪問。
實體用戶識別卡14在與移動終端100交互時,移動終端100檢測實體用戶識別卡14存在與否的信號只在開機瞬時產(chǎn)生,當開機檢測不到實體用戶識別卡14存在時,移動終端100將提示“插入用戶識別卡”。移動終端100開機之后,移動終端100和實體用戶識別卡14之間28秒通信一次,完成一些固定的通信檢查(例如,用戶識別卡是否在位等)。
移動終端100的rpm15用于管控各種資源,包括時鐘資源、總線資源、pmic(powermanagementic,電源管理集成電路,即各個芯片的電壓)、ddr(內(nèi)存分配),以及管理芯片的休眠喚醒的中斷和應(yīng)用處理器喚醒的截止時間。移動終端100的各個子系統(tǒng),在需要資源時,向rpm15申請資源,各個子系統(tǒng)分別包括第一應(yīng)用處理器10,第一調(diào)制解調(diào)器11、pronto(wifi/藍牙、nfc(nearfieldcommunication,近場通信)等)、lpass(lowpoweraudiosubsystem,低功耗音頻子系統(tǒng)),rpm15用來決定移動終端100系統(tǒng)的休眠狀態(tài),具體是,rpm15基于各個子系統(tǒng)的投票機制實現(xiàn),當各個子系統(tǒng)都投休眠票時,rpm15才可以使移動終端100整個系統(tǒng)進行休眠。而當移動終端100有一個子或者多個子系統(tǒng)投反對休眠的票,移動終端100整個系統(tǒng)都無法休眠。
在移動終端100的整個系統(tǒng)休眠之后,若是要重新啟動運行,需要喚醒第一應(yīng)用處理器10以進行數(shù)據(jù)的傳輸交互。
在移動終端100和外接設(shè)備200通過usb通訊連接的情況下,喚醒方式可為以下三種:
1、第一應(yīng)用處理器10接收到信令數(shù)據(jù)時,通過usb發(fā)送握手關(guān)鍵字給第二應(yīng)用處理器20,以喚醒第二應(yīng)用處理器20。
2、第二調(diào)制解調(diào)器21接收到用戶數(shù)據(jù)時,喚醒第二應(yīng)用處理器20,由第二應(yīng)用處理器20通過usb傳送握手關(guān)鍵字給第一應(yīng)用處理器10,以喚醒第一應(yīng)用處理器10。
3、第二調(diào)制解調(diào)器21周期性查找尋呼請求,以主動激活自己。若接收到尋呼請求,第二調(diào)制解調(diào)器21則喚醒第二應(yīng)用處理器20,由第二應(yīng)用處理器20通過usb發(fā)送握手關(guān)鍵字給第一應(yīng)用處理器10,以喚醒第二應(yīng)用處理器20。
需要說明的是,握手關(guān)鍵字可用固定字長的字符標識,是正常數(shù)據(jù)包中不會出現(xiàn)的字段。如可用0xf9f9f9或者0x9f9f9f表示握手關(guān)鍵字,通過握手關(guān)鍵字可喚醒處于睡眠狀態(tài)的第一應(yīng)用處理器10或第二應(yīng)用處理器20。
此外,第二調(diào)制解調(diào)器21還可以定期喚醒自己,以在移動終端100進行位置更新時,跟基站進行握手交互,此時不需要喚醒第一應(yīng)用處理器10。
參照圖3,圖3為本發(fā)明移動終端100和外接設(shè)備200通訊連接的實體結(jié)構(gòu)示意圖。移動終端100通過usb與外接設(shè)備200通訊連接,其中,移動終端包括但不限于手機、pc(personalcomputer,個人電腦)或pad(personaldigitalassistant,個人數(shù)字助理),外接設(shè)備200包括但不限于無線上網(wǎng)卡和數(shù)據(jù)卡。需要說明的是,移動終端100通過usb與外接設(shè)備200連接位置并不限于圖3所示,可根據(jù)具體需要來設(shè)置移動終端100通過usb與外接設(shè)備200的連接位置。
參照圖4,由圖4可知,第一調(diào)制解調(diào)器11包括uim(useridentitymodule)驅(qū)動112、第一sim卡模塊代理113、遠程sim數(shù)據(jù)訪問server114、第一攔截模塊115和第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116(數(shù)據(jù)轉(zhuǎn)發(fā)server1)。第一應(yīng)用處理器10包括第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011(數(shù)據(jù)轉(zhuǎn)發(fā)client1)和第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012。第二調(diào)制解調(diào)器21包括modem非接入層部分212、第二sim卡模塊代理213、遠程sim數(shù)據(jù)訪問client214、第二攔截模塊215和第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216(數(shù)據(jù)轉(zhuǎn)發(fā)server2),第二應(yīng)用處理器20包括第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022和第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021(數(shù)據(jù)轉(zhuǎn)發(fā)client2)。
其中,uim驅(qū)動112存儲了接入網(wǎng)絡(luò)所必須的數(shù)據(jù),如uimid、鑒權(quán)數(shù)據(jù)aky值、imsi號等。
遠程sim數(shù)據(jù)訪問server114和遠程sim數(shù)據(jù)訪問client214用于實現(xiàn)第一調(diào)制解調(diào)器11和第二調(diào)制解調(diào)器21之間sim卡數(shù)據(jù)的傳輸。
第一攔截模塊115用于截取遠程sim數(shù)據(jù)訪問server114中所需傳輸?shù)膕im卡數(shù)據(jù);第二攔截模塊215用于截取遠程sim數(shù)據(jù)訪問client214中所需傳輸?shù)膕im卡數(shù)據(jù)。通過第一攔截模塊115和第二攔截模塊215實現(xiàn)遠程sim數(shù)據(jù)訪問server114和遠程sim數(shù)據(jù)訪問client214中sim卡數(shù)據(jù)的交互。
第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216和第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021相對應(yīng),用于實現(xiàn)第二調(diào)制解調(diào)器21和第二應(yīng)用處理器20之間的數(shù)據(jù)傳輸;第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116和第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011相對應(yīng),用于實現(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實現(xiàn)第二應(yīng)用處理器20和第一應(yīng)用處理器10之間的數(shù)據(jù)傳輸。
基于上述的lte網(wǎng)絡(luò)架構(gòu)圖、移動終端100和外接設(shè)備200通訊連接的硬件結(jié)構(gòu)示意圖、實體結(jié)構(gòu)示意圖以及現(xiàn)有技術(shù)存在的問題,提出本發(fā)明的各個實施例。
提出本發(fā)明一種數(shù)據(jù)傳輸系統(tǒng)的第一實施例。在本實施例中,數(shù)據(jù)傳輸系統(tǒng)包括移動終端100和外接設(shè)備200,移動終端100包括與實體用戶識別卡14連接的第一調(diào)制解調(diào)器11、以及內(nèi)嵌有虛擬用戶識別卡13的第一應(yīng)用處理器10,第一調(diào)制解調(diào)器11包括第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116,第一應(yīng)用處理器10包括第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012和與第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116連接的第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011;外接設(shè)備200包括第二應(yīng)用處理器20和第二調(diào)制解調(diào)器21,第二調(diào)制解調(diào)器21包括第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216,第二應(yīng)用處理器20包括第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022和與第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216連接的第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021。
第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216,用于當獲取到待發(fā)送數(shù)據(jù)包時,拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包。
當外接設(shè)備200的第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216獲取到待發(fā)送數(shù)據(jù)包時,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包。其中,待發(fā)送數(shù)據(jù)包可為第二調(diào)制解調(diào)器21接收到enodeb101的數(shù)據(jù)請求時所產(chǎn)生的數(shù)據(jù)包,或者為需要獲取移動終端100中虛擬用戶識別卡13或?qū)嶓w用戶識別卡14的數(shù)據(jù)時所產(chǎn)生的等數(shù)據(jù)包。第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216在拆分待發(fā)送數(shù)據(jù)包過程中,可按照固定大小進行拆分,該固定大小可根據(jù)具體需要而設(shè)置,如可設(shè)置為8個字節(jié),或者6個字節(jié)等。如當待發(fā)送數(shù)據(jù)包為20個字節(jié),固定大小為6個字節(jié)時,拆分所得的子數(shù)據(jù)包為3個大小為6個字節(jié)的子數(shù)據(jù)包,一個大小為2個字節(jié)的子數(shù)據(jù)包。
第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216還用于確定子數(shù)據(jù)包中的結(jié)束數(shù)據(jù)包,為結(jié)束數(shù)據(jù)包添加結(jié)束標識。
當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包時,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216確定拆分所得子數(shù)據(jù)包中的最后一個數(shù)據(jù)包,將拆分待發(fā)送數(shù)據(jù)包過程中所得的最后一個數(shù)據(jù)包記為結(jié)束數(shù)據(jù)包,為結(jié)束數(shù)據(jù)包添加結(jié)束標識。其中,結(jié)束標識可根據(jù)具體需要而設(shè)置,如可以設(shè)置為0,也可以設(shè)置為其它能夠識別出結(jié)束數(shù)據(jù)包的標識??梢岳斫獾氖牵Y(jié)束數(shù)據(jù)包的大小小于或者等于固定大小。當在拆分待發(fā)送數(shù)據(jù)包的過程中,若待發(fā)送數(shù)據(jù)包的大小小于或者等于固定大小,則不對待發(fā)送數(shù)據(jù)包執(zhí)行拆分操作,為該待發(fā)送數(shù)據(jù)包添加一個結(jié)束標識。
具體地,為數(shù)據(jù)包添加標識的過程為:對數(shù)據(jù)包進行封包操作時添加標識,封包就是給一段數(shù)據(jù)加上包頭,使數(shù)據(jù)包分為包頭和包體兩部分內(nèi)容。包頭是大小固定的結(jié)構(gòu)體,在包頭結(jié)構(gòu)體中,有個結(jié)構(gòu)體成員變量包括了拆分后子數(shù)據(jù)包的長度、以及自定義的,用于表示拆分后子數(shù)據(jù)包的標識。
第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216還用于將子數(shù)據(jù)包發(fā)送給第二應(yīng)用處理器20。
第二應(yīng)用處理器20,用于通過預(yù)設(shè)接口將子數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012。
當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216為結(jié)束數(shù)據(jù)包添加結(jié)束標識后,將拆分所得的子數(shù)據(jù)包(包括結(jié)束數(shù)據(jù)包),發(fā)送給與第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216連接的第二應(yīng)用處理器20,以供第二應(yīng)用處理器20通過預(yù)設(shè)接口將子數(shù)據(jù)包發(fā)送給移動終端100。在本實施例中,預(yù)設(shè)接口為usb,在其它實施例中,預(yù)設(shè)接口也可為其它可用于數(shù)據(jù)傳輸?shù)慕涌凇?/p>
具體地,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將子數(shù)據(jù)包發(fā)送給第二應(yīng)用處理器20的第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021,第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021接收到子數(shù)據(jù)包后,將子數(shù)據(jù)包轉(zhuǎn)發(fā)給第二應(yīng)用處理器20的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022,由第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022通過usb發(fā)送給第一應(yīng)用處理器10的第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012。
在第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將子數(shù)據(jù)包發(fā)送給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021過程中,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216按照拆分所得子數(shù)據(jù)包的順序從前到后發(fā)送給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021。如拆分所得的子數(shù)據(jù)包的先后順序為:x1,x2,x3,則發(fā)送子數(shù)據(jù)包的順序為先發(fā)送x1,再發(fā)送x2,最后發(fā)送x3。
第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將子數(shù)據(jù)包發(fā)送給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021的具體過程為:第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將子數(shù)據(jù)包緩存至第二發(fā)送臨時緩沖區(qū)中。此時,第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021可通過兩種方法獲取到第二發(fā)送臨時緩沖區(qū)中的子數(shù)據(jù)包。①:當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將子數(shù)據(jù)包緩存至第二發(fā)送臨時緩沖區(qū)后,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216發(fā)送提示消息給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021,以提示第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021已將子數(shù)據(jù)包緩存至第二發(fā)送臨時緩沖區(qū)中。當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)客戶端021接收到該提示消息時,第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021從與第二發(fā)送臨時緩沖區(qū)對應(yīng)的第二接收臨時緩沖區(qū)中提取該子數(shù)據(jù)包。其中,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216發(fā)送提示消息給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021的通信通道與第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216發(fā)送子數(shù)據(jù)包給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021的通信通道不一樣。如第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216通過gpio(generalpurposeinputoutput,通用輸入/輸出口)端口將提示消息發(fā)送給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021。
②:第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021實時監(jiān)測與第二發(fā)送臨時緩沖區(qū)對應(yīng)的第二接收臨時緩沖區(qū)的狀態(tài)。當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)客戶端021監(jiān)測到第二接收臨時緩沖區(qū)中寫入子數(shù)據(jù)包時,第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021第二接收臨時緩沖區(qū)中提取該子數(shù)據(jù)包。需要說明的是,第二發(fā)送臨時緩沖區(qū)和第二接收臨時緩沖區(qū)對應(yīng)著同一個物理地址,因此第二接收臨時緩沖區(qū)和第二發(fā)送臨時緩沖區(qū)的容量值是同步變化的。當?shù)诙l(fā)送臨時緩沖區(qū)增大時,第二接收臨時緩沖區(qū)也同步增大;當?shù)诙l(fā)送臨時緩沖區(qū)減小時,第二接收臨時緩沖區(qū)也同步減小。由于第二發(fā)送臨時緩沖區(qū)和第二接收臨時緩沖區(qū)對應(yīng)著同一個物理地址,因此,當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將子數(shù)據(jù)包緩存至第二發(fā)送臨時緩沖區(qū)時,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216即可在第二臨時接收緩沖區(qū)中監(jiān)測到該子數(shù)據(jù)包,并提取該子數(shù)據(jù)包。
進一步地,當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)客戶端021從第二接收臨時緩沖區(qū)中提取到子數(shù)據(jù)包后,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216刪除第二發(fā)送臨時緩沖區(qū)中緩存的子數(shù)據(jù)包。
進一步地,在第二調(diào)制解調(diào)器21和第二應(yīng)用處理器20傳輸數(shù)據(jù)之前,第二應(yīng)用處理器20需要進行初始化。第二應(yīng)用處理器20初始化的具體過程為:當?shù)诙?yīng)用處理器20從休眠狀態(tài)進入喚醒狀態(tài)時,第二應(yīng)用處理器20的第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021向?qū)?yīng)的第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216發(fā)送請求消息,以請求第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216為第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021分配一個用戶標識。需要說明的是,在外接設(shè)備200和移動終端100中,調(diào)制解調(diào)器的一個服務(wù)器對應(yīng)著應(yīng)用處理器的多個客戶端。當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216接收到第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021發(fā)送的請求消息后,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216根據(jù)該請求消息發(fā)送用戶標識給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021。當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)客戶端021成功接收到該用戶標識時,第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021發(fā)送測試數(shù)據(jù)包給第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216,其中,該測試數(shù)據(jù)包中攜帶有用戶標識。當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216成功接收到測試數(shù)據(jù)包時,按照原路返回通知消息給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021。當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)客戶端021成功接收到通知消息時,表明第二應(yīng)用處理器20初始化成功。當?shù)诙?yīng)用處理器20初始化成功后,將第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021和第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216中的標識字段的標識設(shè)置為特定標識,以表明第二應(yīng)用處理器20初始化成功。需要說明的是,在第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021和第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216中,標識字段中存在多個標志位,不同的標志位具有不同的含義,如有的標志位用于表示第二應(yīng)用處理器的初始化狀態(tài),有的標志位表示結(jié)束標識。
在本發(fā)明實施例中,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216和第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021中定義有用于數(shù)據(jù)傳輸?shù)膓mi(qualcommmessageinterface)協(xié)議,在qmi協(xié)議中,定義了標識(flag)字段和數(shù)據(jù)(data)字段,其中,data字段用于緩存數(shù)據(jù)包。在data字段中,設(shè)置了所能傳輸數(shù)據(jù)包大小的預(yù)設(shè)閾值??梢岳斫獾氖牵琩ata字段中數(shù)據(jù)包的預(yù)設(shè)閾值可根據(jù)具體需要而設(shè)置,如可設(shè)置為8個字節(jié),或者12個字節(jié)等。
進一步地,當待發(fā)送數(shù)據(jù)包不需要拆分時,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將待發(fā)送數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012的過程與將拆分所得的子數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012的過程類似,在此不再贅述。
第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012,用于當接收到第二應(yīng)用處理器20發(fā)送的子數(shù)據(jù)包時,獲取子數(shù)據(jù)包中的類別標識;若根據(jù)類別標識確定子數(shù)據(jù)包為待處理的數(shù)據(jù)包,則檢測是否接收到含有結(jié)束標識的子數(shù)據(jù)包;若接收到含有結(jié)束標識的子數(shù)據(jù)包,則組合所接收的子數(shù)據(jù)包,以得到與子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。
當?shù)谝粩?shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012接收到外接設(shè)備200第二應(yīng)用處理器20發(fā)送的子數(shù)據(jù)包時,獲取子數(shù)據(jù)包中的類別標識,并根據(jù)類別標識判斷子數(shù)據(jù)包的類型。若根據(jù)類別標識確定子數(shù)據(jù)包為待處理的數(shù)據(jù)包,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012則檢測是否接收到含有結(jié)束標識的子數(shù)據(jù)包。若接收到含有結(jié)束標識的子數(shù)據(jù)包,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012則組合所接收的子數(shù)據(jù)包,以得到與子數(shù)據(jù)包對應(yīng)的完整的待發(fā)送數(shù)據(jù)包。需要說明的是,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012在組合所接收的子數(shù)據(jù)包的過程中,按照所接收的子數(shù)據(jù)包的順序從前到后組合子數(shù)據(jù)包,得到完整的待發(fā)送數(shù)據(jù)包,以實現(xiàn)外接設(shè)備200和移動終端100之間的數(shù)據(jù)傳輸。
若第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012所接收的子數(shù)據(jù)包為待處理的數(shù)據(jù)包,則在得到與子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包時,若需要從虛擬用戶識別卡13中獲取對應(yīng)的數(shù)據(jù)響應(yīng)該待發(fā)送數(shù)據(jù)包,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012直接在虛擬用戶識別卡13中獲取數(shù)據(jù)響應(yīng)該待發(fā)送數(shù)據(jù)包。需要說明的是,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012從虛擬用戶識別卡13中獲取對應(yīng)的數(shù)據(jù)響應(yīng)該待發(fā)送數(shù)據(jù)包過程中,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012不會直接與虛擬用戶識別卡13中的存儲模塊交互,而是先向虛擬用戶識別卡13中的虛擬片內(nèi)操作系統(tǒng)發(fā)送數(shù)據(jù)獲取請求,然后虛擬用戶識別卡13中的虛擬片內(nèi)操作系統(tǒng)基于該數(shù)據(jù)獲取請求在存儲模塊中獲取數(shù)據(jù),然后將獲取的數(shù)據(jù)再傳輸給第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012。
需要說明的是,類別標識用于區(qū)分數(shù)據(jù)包的類型。在本實施例中,數(shù)據(jù)包的類型包括兩種,一種是不需要發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116的,需要第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012進行處理待處理的數(shù)據(jù)包,另一種是需要發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116待傳輸?shù)臄?shù)據(jù)包。類別標識可根據(jù)具體需要而設(shè)置,如當類別標識為00時,表明所接收的數(shù)據(jù)包是不需要發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116的,需要第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012進行處理的數(shù)據(jù)包;當類別標識為01時,表明所接收的數(shù)據(jù)包是需要發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116的數(shù)據(jù)包。
本實施例通過當外接設(shè)備200的第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216獲取到待發(fā)送數(shù)據(jù)包時,拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包;確定子數(shù)據(jù)包中的結(jié)束數(shù)據(jù)包,為結(jié)束數(shù)據(jù)包添加結(jié)束標識;將子數(shù)據(jù)包發(fā)送給與第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216連接的第二應(yīng)用處理器20,以供第二應(yīng)用處理器20通過預(yù)設(shè)接口將子數(shù)據(jù)包發(fā)送給移動終端100。當移動終端100接收到外接設(shè)備200發(fā)送的數(shù)據(jù)包時,檢測是否接收到含有結(jié)束標識的子數(shù)據(jù)包,若接收到含有結(jié)束標識的子數(shù)據(jù)包時,將所接收的子數(shù)據(jù)包組合成一個完整的數(shù)據(jù)包,以得到外接設(shè)備200發(fā)送的完整的待發(fā)送數(shù)據(jù)包。避免了在外接設(shè)備200和移動終端100進行數(shù)據(jù)傳輸過程中,由于所傳輸?shù)臄?shù)據(jù)包過大,導(dǎo)致數(shù)據(jù)包傳輸失敗的情況出現(xiàn)。
進一步地,提出數(shù)據(jù)傳輸系統(tǒng)的第二實施例。數(shù)據(jù)傳輸系統(tǒng)的第二實施例與第一實施例的區(qū)別在于:
第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012還用于若根據(jù)類別標識確定子數(shù)據(jù)包為待傳輸?shù)臄?shù)據(jù)包,則將子數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011;
第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011,用于將子數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116;
第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116,用于在接收到含有結(jié)束標識的子數(shù)據(jù)包時,組合所接收的子數(shù)據(jù)包,以得到與子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。
若根據(jù)類別標識確定子數(shù)據(jù)包為待傳輸?shù)臄?shù)據(jù)包,第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022將所接收的子數(shù)據(jù)包轉(zhuǎn)發(fā)給第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011。第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011接收到子數(shù)據(jù)包后,將子數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116。當?shù)谝粩?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116接收到子數(shù)據(jù)包時,檢測是否接收到含有結(jié)束標識的結(jié)束數(shù)據(jù)包。若接收到結(jié)束數(shù)據(jù)包,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116則將所接收的子數(shù)據(jù)包按照接收的順序從前到后組合成一個完整的數(shù)據(jù)包,以得到與子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。若未接收含有結(jié)束標識的結(jié)束數(shù)據(jù)包,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116則繼續(xù)接收第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011發(fā)送的子數(shù)據(jù)包。
需要說明的是,第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011中有第一發(fā)送臨時緩沖區(qū),對應(yīng)的,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116中有第一接收臨時緩沖區(qū)。第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116與第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011之間的數(shù)據(jù)傳輸過程和第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216與第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021之間的數(shù)據(jù)傳輸過程相類似,在此不再贅述。
進一步地,當?shù)谝粩?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116接收到待發(fā)送數(shù)據(jù)包時,將待發(fā)送數(shù)據(jù)包通過第一攔截模塊115、遠程sim數(shù)據(jù)訪問server114和第一sim卡模塊代理113發(fā)送給uim驅(qū)動112,uim驅(qū)動112根據(jù)待發(fā)送數(shù)據(jù)包從實體用戶識別卡14獲取對應(yīng)的數(shù)據(jù)響應(yīng)待發(fā)送數(shù)據(jù)包,得到響應(yīng)數(shù)據(jù)包,并將響應(yīng)數(shù)據(jù)包按原路返回給外接設(shè)備200。uim驅(qū)動112根據(jù)待發(fā)送數(shù)據(jù)包從實體用戶識別卡14獲取對應(yīng)的數(shù)據(jù)響應(yīng)該待發(fā)送數(shù)據(jù)包過程中,uim驅(qū)動112不會直接與實體用戶識別卡14中的文件存儲模塊交互,而是先向?qū)嶓w用戶識別卡14中的cos(chipoperatingsystem,片內(nèi)操作系統(tǒng))操作系統(tǒng)發(fā)送數(shù)據(jù)獲取請求,然后實體用戶識別卡14的cos操作系統(tǒng)基于該數(shù)據(jù)獲取請求在文件存儲模塊中獲取數(shù)據(jù),然后將獲取的數(shù)據(jù)再傳輸給uim驅(qū)動112,以實現(xiàn)待發(fā)送數(shù)據(jù)包的響應(yīng)。
本實施例當移動終端100接收到外接設(shè)備200發(fā)送的數(shù)據(jù)包時,檢測是否接收到含有結(jié)束標識的子數(shù)據(jù)包,若接收到含有結(jié)束標識的子數(shù)據(jù)包時,將所接收的子數(shù)據(jù)包組合成一個完整的數(shù)據(jù)包,以得到外接設(shè)備200發(fā)送的完整的待發(fā)送數(shù)據(jù)包,使外接設(shè)備200和移動終端100成功傳輸大數(shù)據(jù)包。
進一步地,當?shù)谝粩?shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012或第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116接收到含有中間標識的子數(shù)據(jù)包中,存儲含有中間標識的子數(shù)據(jù)包,直到接收到含有結(jié)束標識的子數(shù)據(jù)包后,將含有結(jié)束標識的子數(shù)據(jù)包和含有中間標識的子數(shù)據(jù)包組合成一個完整的子數(shù)據(jù)包,以得到子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。
本實施例通過子數(shù)據(jù)包中的標識來判斷是否需要執(zhí)行組合子數(shù)據(jù)包的操作,提高了移動終端100和外接設(shè)備200之間數(shù)據(jù)傳輸?shù)某晒β省?/p>
進一步地,提出數(shù)據(jù)傳輸系統(tǒng)的第三實施例。數(shù)據(jù)傳輸系統(tǒng)的第三實施例與第一實施例的區(qū)別在于:
第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216還用于當獲取到待發(fā)送數(shù)據(jù)包時,計算待發(fā)送數(shù)據(jù)包的大小。
若待發(fā)送數(shù)據(jù)包的大小大于預(yù)設(shè)閾值,則拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包。
當外接設(shè)備200的第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216獲取到待發(fā)送數(shù)據(jù)包時,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216計算待發(fā)送數(shù)據(jù)包的大小,并判斷待發(fā)送數(shù)據(jù)包的大小是否大于預(yù)設(shè)閾值。若待發(fā)送數(shù)據(jù)包的大小大于預(yù)設(shè)閾值,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216則拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包。需要說明的是,除了最后一個子數(shù)據(jù)包外,拆分所得的子數(shù)據(jù)包的大小應(yīng)等于預(yù)設(shè)閾值。該預(yù)設(shè)閾值為第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216qmi協(xié)議中data字段定義的大小。
第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216計算待發(fā)送數(shù)據(jù)包大小的具體過程為:第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216解析待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包的包頭,從包頭中獲取待發(fā)送數(shù)據(jù)包的大小。其中,待發(fā)送數(shù)據(jù)包為tlv格式,tlv格式是ber(basicencodingrules,基本編碼規(guī)則)編碼的一種,全稱為type(類型),length(大小),value(值),t字段表示待發(fā)送數(shù)據(jù)包的類型,l字段表示待發(fā)送數(shù)據(jù)包的大小,v字段往往用來存放待發(fā)送數(shù)據(jù)包的內(nèi)容。
進一步地,若待發(fā)送數(shù)據(jù)包的大小小于或者等于預(yù)設(shè)閾值,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216則不拆分待發(fā)送數(shù)據(jù)包,為待發(fā)送數(shù)據(jù)包添加結(jié)束標識,將含有結(jié)束標識的待發(fā)送數(shù)據(jù)包發(fā)送給第二應(yīng)用處理器20,以供第二應(yīng)用處理器20通過usb將待發(fā)送數(shù)據(jù)包發(fā)送給移動終端100。
本實施例通過先計算待發(fā)送數(shù)據(jù)包大小,只有當待發(fā)送數(shù)據(jù)包的大小大于預(yù)設(shè)閾值時,才拆分待發(fā)送數(shù)據(jù)包,防止待發(fā)送數(shù)據(jù)包的大小小于或者等于預(yù)設(shè)閾值時也進行拆分操作,從而造成系統(tǒng)資源的浪費,并降低了數(shù)據(jù)傳輸?shù)乃俾省?/p>
進一步地,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216還用于為除結(jié)束數(shù)據(jù)包外的其它子數(shù)據(jù)包添加相同的中間標識。
當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216得到拆分的子數(shù)據(jù)包后,確定子數(shù)據(jù)包中除了結(jié)束數(shù)據(jù)包外的其它子數(shù)據(jù)包,并為其它子數(shù)據(jù)包添加相同的中間標識。需要說明的是,中間標識和結(jié)束標識不一樣,如當用1表示結(jié)束標識時,可用0表示中間標識。
本實施例通過中間標識確定所接收的數(shù)據(jù)包是拆分后的子數(shù)據(jù)包,并不是完整的數(shù)據(jù)包,防止當移動終端100接收到一個子數(shù)據(jù)包后,立即響應(yīng)所接收的子數(shù)據(jù)包,從而導(dǎo)致響應(yīng)失敗的情況出現(xiàn)。
需要說明的是,本實施例是以外接設(shè)備為發(fā)送端,移動終端為接收端為例來說明外接設(shè)備和移動終端之間的數(shù)據(jù)傳輸過程。在其它實施例中,也可以將移動終端作為發(fā)送端,外接設(shè)備作為接收端來說明外接設(shè)備和移動終端之間的數(shù)據(jù)傳輸過程??梢岳斫獾氖?,移動終端作為發(fā)送端,外接設(shè)備作為接收端與移動終端作為接收端,外接設(shè)備作為發(fā)送端的數(shù)據(jù)傳輸原理一致,在此不再贅述。
本發(fā)明還提供一種應(yīng)用于外接設(shè)備200的數(shù)據(jù)傳輸方法。
參照圖5,圖5為本發(fā)明中應(yīng)用于外接設(shè)備200的數(shù)據(jù)傳輸方法較佳實施例的流程示意圖。
本實施例提出一種數(shù)據(jù)傳輸方法,在本實施例中,提供了數(shù)據(jù)傳輸方法的實施例,需要說明的是,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
數(shù)據(jù)傳輸方法應(yīng)用于通過預(yù)設(shè)接口與移動終端100連接的外接設(shè)備200中,外接設(shè)備200包括第二應(yīng)用處理器20和第二調(diào)制解調(diào)器21,第二調(diào)制解調(diào)器21包括第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216,第二應(yīng)用處理器20包括第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022和與第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216連接的第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021。移動終端100包括與實體用戶識別卡14連接的第一調(diào)制解調(diào)器11、以及內(nèi)嵌有虛擬用戶識別卡13的第一應(yīng)用處理器10,第一調(diào)制解調(diào)器11包括第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116,第一應(yīng)用處理器10包括第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012和與第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116連接的第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011。數(shù)據(jù)傳輸方法包括:
步驟s10,當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216獲取到待發(fā)送數(shù)據(jù)包時,拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包。
當外接設(shè)備200的第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216獲取到待發(fā)送數(shù)據(jù)包時,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包。其中,待發(fā)送數(shù)據(jù)包可為第二調(diào)制解調(diào)器21接收到enodeb101的數(shù)據(jù)請求時所產(chǎn)生的數(shù)據(jù)包,或者為需要獲取移動終端100中虛擬用戶識別卡13或?qū)嶓w用戶識別卡14的數(shù)據(jù)時所產(chǎn)生的數(shù)據(jù)包等。第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216在拆分待發(fā)送數(shù)據(jù)包過程中,可按照固定大小進行拆分,該固定大小可根據(jù)具體需要而設(shè)置,如可設(shè)置為8個字節(jié),或者6個字節(jié)等。如當待發(fā)送數(shù)據(jù)包為20個字節(jié),固定大小為6個字節(jié)時,拆分所得的子數(shù)據(jù)包為3個大小為6個字節(jié)的子數(shù)據(jù)包,一個大小為2個字節(jié)的子數(shù)據(jù)包。
步驟s20,確定子數(shù)據(jù)包中的結(jié)束數(shù)據(jù)包,為結(jié)束數(shù)據(jù)包添加結(jié)束標識。
當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包時,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216確定拆分所得的子數(shù)據(jù)包中的最后一個數(shù)據(jù)包,將拆分待發(fā)送數(shù)據(jù)包過程中所得的最后一個數(shù)據(jù)包記為結(jié)束數(shù)據(jù)包,為結(jié)束數(shù)據(jù)包添加結(jié)束標識。其中,結(jié)束標識可根據(jù)具體需要而設(shè)置,如可以設(shè)置為0,也可以設(shè)置為其它能夠識別出結(jié)束數(shù)據(jù)包的標識??梢岳斫獾氖?,結(jié)束數(shù)據(jù)包的大小小于或者等于固定大小。當在拆分待發(fā)送數(shù)據(jù)包的過程中,若待發(fā)送數(shù)據(jù)包的大小小于或者等于固定大小,則不對待發(fā)送數(shù)據(jù)包執(zhí)行拆分操作,為該待發(fā)送數(shù)據(jù)包添加一個結(jié)束標識。
具體地,為數(shù)據(jù)包添加標識的過程為:對數(shù)據(jù)包進行封包操作時所添加標識,封包就是給一段數(shù)據(jù)加上包頭,使數(shù)據(jù)包分為包頭和包體兩部分內(nèi)容。包頭是大小固定的結(jié)構(gòu)體,在包頭結(jié)構(gòu)體中,有個結(jié)構(gòu)體成員變量包括拆分后子數(shù)據(jù)包的長度、以及自定義的,用于標識拆分后子數(shù)據(jù)包的標識。
步驟s30,將子數(shù)據(jù)包發(fā)送給第二應(yīng)用處理器20,以供第二應(yīng)用處理器20通過預(yù)設(shè)接口將子數(shù)據(jù)包發(fā)送給移動終端100。
當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216為結(jié)束數(shù)據(jù)包添加結(jié)束標識后,將拆分所得的子數(shù)據(jù)包(包括結(jié)束數(shù)據(jù)包),發(fā)送給與第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216連接的第二應(yīng)用處理器20,以供第二應(yīng)用處理器20通過預(yù)設(shè)接口將子數(shù)據(jù)包發(fā)送給移動終端100。在本實施例中,預(yù)設(shè)接口為usb,在其它實施例中,預(yù)設(shè)接口也可為其它可用于數(shù)據(jù)傳輸?shù)慕涌凇?/p>
具體地,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將子數(shù)據(jù)包發(fā)送給第二應(yīng)用處理器20的第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021,第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021接收到子數(shù)據(jù)包后,將子數(shù)據(jù)包轉(zhuǎn)發(fā)給第二應(yīng)用處理器20的第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022,由第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022通過usb發(fā)送給第一應(yīng)用處理器10的第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012。
在第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將子數(shù)據(jù)包發(fā)送給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021過程中,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216按照拆分所得子數(shù)據(jù)包的順序從前到后發(fā)送給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021。如拆分所得的子數(shù)據(jù)包的先后順序為:x1,x2,x3,則發(fā)送子數(shù)據(jù)包的順序為先發(fā)送x1,再發(fā)送x2,最后發(fā)送x3。
第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將子數(shù)據(jù)包發(fā)送給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021的具體過程為:第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將子數(shù)據(jù)包緩存至第二發(fā)送臨時緩沖區(qū)中。此時,第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021可通過兩種方法獲取到第二發(fā)送臨時緩沖區(qū)中的子數(shù)據(jù)包。①:當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將子數(shù)據(jù)包緩存至第二發(fā)送臨時緩沖區(qū)后,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216發(fā)送提示消息給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021,以提示第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021已將子數(shù)據(jù)包緩存至第二發(fā)送臨時緩沖區(qū)中。當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)客戶端021接收到該提示消息時,第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021從第二發(fā)送臨時緩沖區(qū)中提取該子數(shù)據(jù)包。需要說明的是,第二發(fā)送臨時緩沖區(qū)用于緩存第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216發(fā)送給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021的數(shù)據(jù)包。其中,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216發(fā)送提示消息給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021的通信通道與第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216發(fā)送子數(shù)據(jù)包給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021的通信通道不一樣。如第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216通過gpio(generalpurposeinputoutput,通用輸入/輸出口)端口將提示消息發(fā)送給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021。
②:第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021實時監(jiān)測與第二發(fā)送臨時緩沖區(qū)對應(yīng)的第二接收臨時緩沖區(qū)的狀態(tài)。當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)客戶端021監(jiān)測到第二接收臨時緩沖區(qū)中寫入子數(shù)據(jù)包時,第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021第二接收臨時緩沖區(qū)中提取該子數(shù)據(jù)包。需要說明的是,第二發(fā)送臨時緩沖區(qū)和第二接收臨時緩沖區(qū)對應(yīng)著同一個物理地址,因此第二接收臨時緩沖區(qū)和第二發(fā)送臨時緩沖區(qū)的容量值是同步變化的。當?shù)诙l(fā)送臨時緩沖區(qū)增大時,第二接收臨時緩沖區(qū)也同步增大;當?shù)诙l(fā)送臨時緩沖區(qū)減小時,第二接收臨時緩沖區(qū)也同步減小。由于第二發(fā)送臨時緩沖區(qū)和第二接收臨時緩沖區(qū)對應(yīng)著同一個物理地址,因此,當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將子數(shù)據(jù)包緩存至第二發(fā)送臨時緩沖區(qū)時,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216即可在第二臨時接收緩沖區(qū)中監(jiān)測到該子數(shù)據(jù)包,并提取該子數(shù)據(jù)包。
進一步地,當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)客戶端021從第二接收臨時緩沖區(qū)中提取到子數(shù)據(jù)包后,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216刪除第二發(fā)送臨時緩沖區(qū)中緩存的子數(shù)據(jù)包。
進一步地,在第二調(diào)制解調(diào)器21和第二應(yīng)用處理器20傳輸數(shù)據(jù)之前,第二應(yīng)用處理器20需要進行初始化。第二應(yīng)用處理器20初始化的具體過程為:當?shù)诙?yīng)用處理器20從休眠狀態(tài)進入喚醒狀態(tài)時,第二應(yīng)用處理器20的第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021向?qū)?yīng)的第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216發(fā)送請求消息,以請求第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216為第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021分配一個用戶標識。需要說明的是,在外接設(shè)備200和移動終端100中,調(diào)制解調(diào)器的一個服務(wù)器對應(yīng)著應(yīng)用處理器的多個客戶端。當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216接收到第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021發(fā)送的請求消息后,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216根據(jù)該請求消息發(fā)送用戶標識給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021。當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)客戶端021成功接收到該用戶標識時,第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021發(fā)送測試數(shù)據(jù)包給第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216,其中,該測試數(shù)據(jù)包中攜帶有用戶標識。當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216成功接收到測試數(shù)據(jù)包時,按照原路返回通知消息給第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021。當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)客戶端021成功接收到通知消息時,表明第二應(yīng)用處理器20初始化成功。當?shù)诙?yīng)用處理器20初始化成功后,將第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021和第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216中的標識字段的標識設(shè)置為特定標識,以表明第二應(yīng)用處理器20初始化成功。需要說明的是,在第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021和第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216中,標識字段中存在多個標志位,不同的標志位具有不同的含義,如有的標志位用于表示第二應(yīng)用處理器的初始化狀態(tài),有的標志位表示結(jié)束標識。
在本發(fā)明實施例中,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216和第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021中定義有用于數(shù)據(jù)傳輸?shù)膓mi(qualcommmessageinterface)協(xié)議,在qmi協(xié)議中,定義了標識(flag)字段和數(shù)據(jù)(data)字段,其中,data字段用于緩存數(shù)據(jù)包。在data字段中,設(shè)置了數(shù)據(jù)包大小的預(yù)設(shè)閾值??梢岳斫獾氖?,data字段中數(shù)據(jù)包的預(yù)設(shè)閾值可根據(jù)具體需要而設(shè)置,如可設(shè)置為8個字節(jié),或者12個字節(jié)等。
進一步地,當待發(fā)送數(shù)據(jù)包不需要拆分時,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216將待發(fā)送數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012的過程與將拆分所得的子數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012的過程類似,在此不再贅述。
本實施例通過當外接設(shè)備200的第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216獲取到待發(fā)送數(shù)據(jù)包時,拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包;確定子數(shù)據(jù)包中的結(jié)束數(shù)據(jù)包,為結(jié)束數(shù)據(jù)包添加結(jié)束標識;將子數(shù)據(jù)包發(fā)送給與第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216連接的第二應(yīng)用處理器20,以供第二應(yīng)用處理器20通過預(yù)設(shè)接口將子數(shù)據(jù)包發(fā)送給移動終端100。實現(xiàn)了在外接設(shè)備200和移動終端100進行數(shù)據(jù)傳輸過程中,將數(shù)據(jù)包拆分成固定大小的子數(shù)據(jù)包進行傳輸,避免了在外接設(shè)備200和移動終端100進行數(shù)據(jù)傳輸過程中,由于所傳輸?shù)臄?shù)據(jù)包過大,導(dǎo)致數(shù)據(jù)包傳輸失敗的情況出現(xiàn)。
進一步地,提出本發(fā)明應(yīng)用于外接設(shè)備200的數(shù)據(jù)傳輸方法第二實施例。
應(yīng)用于外接設(shè)備200的數(shù)據(jù)傳輸方法第二實施例與第一實施例的區(qū)別在于,參照圖6,步驟s10包括:
步驟s11,當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216獲取到待發(fā)送數(shù)據(jù)包時,計算待發(fā)送數(shù)據(jù)包的大小。
步驟s12,若待發(fā)送數(shù)據(jù)包的大小大于預(yù)設(shè)閾值,則拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包。
當外接設(shè)備200的第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216獲取到待發(fā)送數(shù)據(jù)包時,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216計算待發(fā)送數(shù)據(jù)包的大小,并判斷待發(fā)送數(shù)據(jù)包的大小是否大于預(yù)設(shè)閾值。若待發(fā)送數(shù)據(jù)包的大小大于預(yù)設(shè)閾值,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216則拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包。需要說明的是,除了最后一個子數(shù)據(jù)包外,拆分所得的子數(shù)據(jù)包的大小應(yīng)等于預(yù)設(shè)閾值。該預(yù)設(shè)閾值為第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216qmi協(xié)議中data字段定義的大小。
第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216計算待發(fā)送數(shù)據(jù)包大小的具體過程為:第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216解析待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包的包頭,從包頭中獲取待發(fā)送數(shù)據(jù)包的大小。其中,待發(fā)送數(shù)據(jù)包為tlv格式,tlv格式是ber(basicencodingrules,基本編碼規(guī)則)編碼的一種,全稱為type(類型),length(大小),value(值),t字段表示待發(fā)送數(shù)據(jù)包的類型,l字段表示待發(fā)送數(shù)據(jù)包的大小,v字段往往用來存放待發(fā)送數(shù)據(jù)包的內(nèi)容。
數(shù)據(jù)傳輸方法還包括:
步驟a,若待發(fā)送數(shù)據(jù)包的大小小于或者等于預(yù)設(shè)閾值,則將待發(fā)送數(shù)據(jù)包發(fā)送給第二應(yīng)用處理器20,以供第二應(yīng)用處理器20通過預(yù)設(shè)接口將待發(fā)送包發(fā)送給移動終端100。
若待發(fā)送數(shù)據(jù)包的大小小于或者等于預(yù)設(shè)閾值,第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216則不拆分待發(fā)送數(shù)據(jù)包,為待發(fā)送數(shù)據(jù)包添加結(jié)束標識,將含有結(jié)束標識的待發(fā)送數(shù)據(jù)包發(fā)送給第二應(yīng)用處理器20,以供第二應(yīng)用處理器20通過usb將待發(fā)送數(shù)據(jù)包發(fā)送給移動終端100。
本實施例通過先計算待發(fā)送數(shù)據(jù)包大小,只有當待發(fā)送數(shù)據(jù)包的大小大于預(yù)設(shè)閾值時,才拆分待發(fā)送數(shù)據(jù)包,防止待發(fā)送數(shù)據(jù)包的大小小于或者等于預(yù)設(shè)閾值時也進行拆分操作,從而造成系統(tǒng)資源的浪費,并降低了數(shù)據(jù)傳輸?shù)乃俾省?/p>
進一步地,數(shù)據(jù)傳輸方法還包括:
步驟b,為除結(jié)束數(shù)據(jù)包外的其它子數(shù)據(jù)包添加相同的中間標識。
當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216得到拆分的子數(shù)據(jù)包后,確定子數(shù)據(jù)包中除了結(jié)束數(shù)據(jù)包外的其它子數(shù)據(jù)包,并為其它子數(shù)據(jù)包添加相同的中間標識。需要說明的是,中間標識和結(jié)束標識不一樣,如當用1表示結(jié)束標識時,可用0表示中間標識。
本實施例通過中間標識確定所接收的數(shù)據(jù)包是拆分后的子數(shù)據(jù)包,并不是完整的數(shù)據(jù)包,防止當移動終端100接收到一個子數(shù)據(jù)包后,立即響應(yīng)所接收的子數(shù)據(jù)包,從而導(dǎo)致響應(yīng)失敗的情況出現(xiàn)。
本發(fā)明還提供一種應(yīng)用于移動終端100的數(shù)據(jù)傳輸方法。
參照圖7,圖7為本發(fā)明應(yīng)用于移動終端100的數(shù)據(jù)傳輸方法較佳實施例的流程示意圖。
在本實施例中,提供了數(shù)據(jù)傳輸方法的實施例,需要說明的是,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
數(shù)據(jù)傳輸方法應(yīng)用于通過usb與外接設(shè)備200連接的移動終端100中,移動終端100包括內(nèi)嵌有虛擬用戶識別卡13的第一應(yīng)用處理器10,以及與實體用戶識別卡14連接的第一調(diào)制解調(diào)器11,第一調(diào)制解調(diào)器11包括第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116,第一應(yīng)用處理器10包括第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012和與第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116連接的第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011。外接設(shè)備200包括第二應(yīng)用處理器20和第二調(diào)制解調(diào)器21,第二調(diào)制解調(diào)器21包括第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216,第二應(yīng)用處理器20包括第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022和與第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216連接的第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021。數(shù)據(jù)傳輸方法包括:
步驟s110,當?shù)谝粩?shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012接收到外接設(shè)備200第二應(yīng)用處理器20發(fā)送的子數(shù)據(jù)包時,獲取子數(shù)據(jù)包中的類別標識。
步驟s120,若根據(jù)類別標識確定子數(shù)據(jù)包為待處理的數(shù)據(jù)包,則檢測是否接收到含有結(jié)束標識的子數(shù)據(jù)包。
步驟s130,若接收到含有結(jié)束標識的子數(shù)據(jù)包,則組合所接收的子數(shù)據(jù)包,以得到與子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。
當?shù)谝粩?shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012接收到外接設(shè)備200第二應(yīng)用處理器20發(fā)送的子數(shù)據(jù)包時,獲取子數(shù)據(jù)包中的類別標識,并根據(jù)類別標識判斷子數(shù)據(jù)包的類型。若根據(jù)類別標識確定子數(shù)據(jù)包為待處理的數(shù)據(jù)包,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012則檢測是否接收到含有結(jié)束標識的子數(shù)據(jù)包。若接收到含有結(jié)束標識的子數(shù)據(jù)包,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012則組合所接收的子數(shù)據(jù)包,以得到與子數(shù)據(jù)包對應(yīng)的完整的待發(fā)送數(shù)據(jù)包。需要說明的是,在第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012在組合所接收的子數(shù)據(jù)包的過程中,按照所接收的子數(shù)據(jù)包的順序從前到后組合子數(shù)據(jù)包,得到完整的待發(fā)送數(shù)據(jù)包,以實現(xiàn)外接設(shè)備200和移動終端100之間的數(shù)據(jù)傳輸。
若第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012所接收的子數(shù)據(jù)包為待處理的數(shù)據(jù)包,則在得到與子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包時,若需要從虛擬用戶識別卡13中獲取對應(yīng)的數(shù)據(jù)響應(yīng)該待發(fā)送數(shù)據(jù)包,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012直接在虛擬用戶識別卡13中獲取數(shù)據(jù)響應(yīng)該待發(fā)送數(shù)據(jù)包。需要說明的是,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012從虛擬用戶識別卡13中獲取對應(yīng)的數(shù)據(jù)響應(yīng)該待發(fā)送數(shù)據(jù)包過程中,第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012不會直接與虛擬用戶識別卡13中的存儲模塊交互,而是先向虛擬用戶識別卡13中的虛擬片內(nèi)操作系統(tǒng)發(fā)送數(shù)據(jù)獲取請求,然后虛擬用戶識別卡13中的虛擬片內(nèi)操作系統(tǒng)基于該數(shù)據(jù)獲取請求在存儲模塊中獲取數(shù)據(jù),然后將獲取的數(shù)據(jù)再傳輸給第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012。
需要說明的是,類別標識用于區(qū)分數(shù)據(jù)包的類型。在本實施例中,數(shù)據(jù)包的類型包括兩種,一種是不需要發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116的,需要第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012進行處理待處理的數(shù)據(jù)包,另一種是需要發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116待傳輸?shù)臄?shù)據(jù)包。類別標識可根據(jù)具體需要而設(shè)置,如當類別標識為00時,表明所接收的數(shù)據(jù)包是不需要發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116的,需要第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012進行處理的數(shù)據(jù)包;當類別標識為01時,表明所接收的數(shù)據(jù)包是需要發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116的數(shù)據(jù)包。
進一步地,數(shù)據(jù)傳輸方法還包括:
步驟c,若根據(jù)類別標識確定子數(shù)據(jù)包為待傳輸?shù)臄?shù)據(jù)包,則將子數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011,以供第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011將子數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116,由第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116在接收到含有結(jié)束標識的子數(shù)據(jù)包時,組合所接收的子數(shù)據(jù)包,以得到與子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。
若根據(jù)類別標識確定子數(shù)據(jù)包為待傳輸?shù)臄?shù)據(jù)包,第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022將所接收的子數(shù)據(jù)包轉(zhuǎn)發(fā)給第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011。第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011接收到子數(shù)據(jù)包后,將子數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116。當?shù)谝粩?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116接收到子數(shù)據(jù)包時,檢測是否接收到含有結(jié)束標識的結(jié)束數(shù)據(jù)包。若接收到結(jié)束數(shù)據(jù)包,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116則將所接收的子數(shù)據(jù)包按照接收的順序從前到后組合成一個完整的數(shù)據(jù)包,以得到與子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。若未接收含有結(jié)束標識的結(jié)束數(shù)據(jù)包,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116則繼續(xù)接收第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011發(fā)送的子數(shù)據(jù)包。
需要說明的是,第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011中有第一發(fā)送臨時緩沖區(qū),對應(yīng)的,第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116中有第一接收臨時緩沖區(qū)。第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116與第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011之間的數(shù)據(jù)傳輸過程和第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216與第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021之間的數(shù)據(jù)傳輸過程相類似,在此不再贅述。
進一步地,當?shù)谝粩?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116接收到待發(fā)送數(shù)據(jù)包時,將待發(fā)送數(shù)據(jù)包通過第一攔截模塊115、遠程sim數(shù)據(jù)訪問server114和第一sim卡模塊代理113發(fā)送給uim驅(qū)動112,uim驅(qū)動112根據(jù)待發(fā)送數(shù)據(jù)包從實體用戶識別卡14獲取對應(yīng)的數(shù)據(jù)響應(yīng)待發(fā)送數(shù)據(jù)包,得到響應(yīng)數(shù)據(jù)包,并將響應(yīng)數(shù)據(jù)包按原路返回給外接設(shè)備200。uim驅(qū)動112根據(jù)待發(fā)送數(shù)據(jù)包從實體用戶識別卡14獲取對應(yīng)的數(shù)據(jù)響應(yīng)該待發(fā)送數(shù)據(jù)包過程中,uim驅(qū)動112不會直接與實體用戶識別卡14中的文件存儲模塊交互,而是先向?qū)嶓w用戶識別卡14中的cos(chipoperatingsystem,片內(nèi)操作系統(tǒng))操作系統(tǒng)發(fā)送數(shù)據(jù)獲取請求,然后實體用戶識別卡14的cos操作系統(tǒng)基于該數(shù)據(jù)獲取請求在文件存儲模塊中獲取數(shù)據(jù),然后將獲取的數(shù)據(jù)再傳輸給uim驅(qū)動112,以實現(xiàn)待發(fā)送數(shù)據(jù)包的響應(yīng)。
本實施例當移動終端100接收到外接設(shè)備200發(fā)送的數(shù)據(jù)包時,檢測是否接收到含有結(jié)束標識的子數(shù)據(jù)包,若接收到含有結(jié)束標識的子數(shù)據(jù)包時,將所接收的子數(shù)據(jù)包組合成一個完整的數(shù)據(jù)包,以得到外接設(shè)備200發(fā)送的完整的待發(fā)送數(shù)據(jù)包,使外接設(shè)備200和移動終端100成功傳輸大數(shù)據(jù)包。
進一步地,當?shù)谝粩?shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012或第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116接收到含有中間標識的子數(shù)據(jù)包中,存儲含有中間標識的子數(shù)據(jù)包,直到接收到含有結(jié)束標識的子數(shù)據(jù)包后,將含有結(jié)束標識的子數(shù)據(jù)包和含有中間標識的子數(shù)據(jù)包組合成一個完整的子數(shù)據(jù)包,以得到子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。
本實施例通過子數(shù)據(jù)包中的標識來判斷是否需要執(zhí)行組合子數(shù)據(jù)包的操作,提高了移動終端100和外接設(shè)備200之間數(shù)據(jù)傳輸?shù)某晒β省?/p>
進一步地,本發(fā)明還提供一種外接設(shè)備200,外接設(shè)備200包括第二應(yīng)用處理器20和第二調(diào)制解調(diào)器21,第二調(diào)制解調(diào)器21包括第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216,第二應(yīng)用處理器20包括第二數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊022和與第二數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216連接的第二數(shù)據(jù)轉(zhuǎn)發(fā)客戶端021。
當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216獲取到待發(fā)送數(shù)據(jù)包時,拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包;
確定子數(shù)據(jù)包中的結(jié)束數(shù)據(jù)包,為結(jié)束數(shù)據(jù)包添加結(jié)束標識;
將子數(shù)據(jù)包發(fā)送給第二應(yīng)用處理器20,以供第二應(yīng)用處理器20通過預(yù)設(shè)接口將子數(shù)據(jù)包發(fā)送給移動終端100。
進一步地,當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216獲取到待發(fā)送數(shù)據(jù)包時,拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包的步驟包括:
當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216獲取到待發(fā)送數(shù)據(jù)包時,計算待發(fā)送數(shù)據(jù)包的大小;
若待發(fā)送數(shù)據(jù)包的大小大于預(yù)設(shè)閾值,則拆分待發(fā)送數(shù)據(jù)包,得到待發(fā)送數(shù)據(jù)包對應(yīng)的子數(shù)據(jù)包。
進一步地,當?shù)诙?shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器216獲取到待發(fā)送數(shù)據(jù)包時,計算待發(fā)送數(shù)據(jù)包的大小的步驟之后,還包括:
若待發(fā)送數(shù)據(jù)包的大小小于或者等于預(yù)設(shè)閾值,則將待發(fā)送數(shù)據(jù)包發(fā)送給第二應(yīng)用處理器20,以供第二應(yīng)用處理器20通過預(yù)設(shè)接口將子數(shù)據(jù)包發(fā)送給移動終端100。
進一步地,將子數(shù)據(jù)包發(fā)送給與第二應(yīng)用處理器20的步驟之前,還包括:
為除結(jié)束數(shù)據(jù)包外的其它子數(shù)據(jù)包添加相同的中間標識。
本發(fā)明外接設(shè)備200具體實施方式與上述應(yīng)用于外接設(shè)備200的數(shù)據(jù)傳輸方法各實施例基本相同,在此不再贅述。
進一步地,本發(fā)明還提供一種移動終端100,移動終端100包括內(nèi)嵌有虛擬用戶識別卡13的第一應(yīng)用處理器10,以及與實體用戶識別卡14連接的第一調(diào)制解調(diào)器11,第一調(diào)制解調(diào)器11包括第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116,第一應(yīng)用處理器10包括第一數(shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012和與第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116連接的第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011。
當?shù)谝粩?shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012接收到外接設(shè)備200第二應(yīng)用處理器20發(fā)送的子數(shù)據(jù)包時,獲取子數(shù)據(jù)包中的類別標識;
若根據(jù)類別標識確定子數(shù)據(jù)包為待處理的數(shù)據(jù)包,則檢測是否接收到含有結(jié)束標識的子數(shù)據(jù)包;
若接收到含有結(jié)束標識的子數(shù)據(jù)包,則組合所接收的子數(shù)據(jù)包,以得到與子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。
進一步地,當?shù)谝粩?shù)據(jù)讀寫轉(zhuǎn)發(fā)模塊012接收到外接設(shè)備200第二應(yīng)用處理器20發(fā)送的子數(shù)據(jù)包時,獲取子數(shù)據(jù)包中的類別標識的步驟之后,還包括:
若根據(jù)類別標識確定子數(shù)據(jù)包為待傳輸?shù)臄?shù)據(jù)包,則將子數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011,以供第一數(shù)據(jù)轉(zhuǎn)發(fā)客戶端011將子數(shù)據(jù)包發(fā)送給第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116,由第一數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器116在接收到含有結(jié)束標識的子數(shù)據(jù)包時,組合所接收的子數(shù)據(jù)包,以得到與子數(shù)據(jù)包對應(yīng)的待發(fā)送數(shù)據(jù)包。
本發(fā)明移動終端100具體實施方式與上述應(yīng)用于移動終端100的數(shù)據(jù)傳輸方法各實施例基本相同,在此不再贅述。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其它變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者是還包括為這種過程、方法、物品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者系統(tǒng)中還存在另外的相同要素。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例的方法。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其它相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。