本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)包傳輸系統(tǒng)及方法。
背景技術(shù):
隨著移動通信技術(shù)的發(fā)展,越來越多的移動終端如智能手機具有雙卡雙通的功能,使得用戶在實現(xiàn)語音業(yè)務(wù)的待機同時,能建立數(shù)據(jù)業(yè)務(wù)連接。移動終端通常具有兩個用戶識別卡以及分別與所述兩個用戶識別卡連接的調(diào)制解調(diào)器,兩個用戶識別卡全開時,一個用戶識別卡(sim1)可以使用4g(the4thgenerationmobilecommunicationtechnology,第四代移動通信技術(shù)),例如lte(longtermevolution,長期演進技術(shù))網(wǎng)絡(luò),另一個用戶識別卡(sim2)僅能使用2g(2-generationwirelesstelephonetechnology,第二代手機通信技術(shù)規(guī)格)或3g(3rdgeneration,第三代移動通信技術(shù))網(wǎng)絡(luò),sim2不能上4g的原因主要是:移動終端只有一套射頻,兩張卡使用該套射頻是分時復用的關(guān)系,并不能同時占用,由于兩張卡全開時,只有一張卡可以使用4g網(wǎng)絡(luò),另一張卡只能使用2g或3g網(wǎng)絡(luò),導致移動終端中數(shù)據(jù)傳輸?shù)男瘦^低。
因此,為了使移動終端可以支持雙lte,以提高數(shù)據(jù)傳輸效率,移動終端可與外接設(shè)備連接(該外接設(shè)備中設(shè)置有調(diào)制解調(diào)器),以實現(xiàn)雙lte通信功能。但是,目前移動終端和外接設(shè)備進行數(shù)據(jù)包傳輸過程中,如果移動終端中的用戶識別卡是電信卡,由于電信卡一般都大于移動終端和外接設(shè)備之間數(shù)據(jù)傳輸?shù)呐R時緩沖區(qū)buffer的容量值,因此buffer無法緩存一個完整的數(shù)據(jù)包,若是直接進行數(shù)據(jù)傳輸,容易導致移動終端死機。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提出一種數(shù)據(jù)包傳輸系統(tǒng)及方法,旨在解決現(xiàn)有的數(shù)據(jù)包傳輸方式,容易導致移動終端死機的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供的一種數(shù)據(jù)包傳輸系統(tǒng),所述數(shù)據(jù)包傳輸系統(tǒng)包括移動終端,以及通過預設(shè)接口與所述移動終端連接的外接設(shè)備,所述移動終端包括第一應用處理器、第一調(diào)制解調(diào)器和第一射頻模塊,以及與所述第一調(diào)制解調(diào)器連接的嵌入式用戶識別卡和實體用戶識別卡,所述外接設(shè)備包括第二應用處理器、第二調(diào)制解調(diào)器和第二射頻模塊;
第一應用處理器,用于通過預設(shè)接口接收第二應用處理器發(fā)送的數(shù)據(jù)包獲取請求時,從嵌入式用戶識別卡或?qū)嶓w用戶識別卡中提取所述數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包;
對提取的數(shù)據(jù)包進行拆分,并對同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息;
將添加有標識信息的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的臨時緩沖區(qū)buffer中,以供第二應用處理器從所述buffer中提取各個子數(shù)據(jù)包,并按照相同的標識信息進行子數(shù)據(jù)包的組合。
可選地,所述第一應用處理器,還用于通過所述第一調(diào)制解調(diào)器向嵌入式用戶識別卡或?qū)嶓w用戶識別卡中的片內(nèi)操作系統(tǒng)發(fā)送數(shù)據(jù)包獲取請求,由所述片內(nèi)操作系統(tǒng)在嵌入式用戶識別卡或?qū)嶓w用戶識別卡中的文件存儲模塊中提取所述數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包,并反饋至所述第一調(diào)制解調(diào)器;
所述第一應用處理器,還用于通過所述第一調(diào)制解調(diào)器接收所述片內(nèi)操作系統(tǒng)反饋的數(shù)據(jù)包。
可選地,所述第一應用處理器,還用于對確定數(shù)據(jù)包的容量值;
在有數(shù)據(jù)包的容量值大于預設(shè)閾值時,對所述數(shù)據(jù)包進行拆分,得到各個子數(shù)據(jù)包;
在各個子數(shù)據(jù)包對應的包頭中添加相同的標識信息。
可選地,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,所述第一應用處理器,還用于將不同標識信息的各個子數(shù)據(jù)包按照預設(shè)的順序緩存至所述預設(shè)接口的buffer中。
可選地,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,所述第一應用處理器,還用于將相同標識信息的各個子數(shù)據(jù)包歸為一類;
按照類別的順序,依次將同一類的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中。
此外,為實現(xiàn)上述目的,本發(fā)明還提出一種數(shù)據(jù)包傳輸方法,應用于移動終端以及通過預設(shè)接口與移動終端連接的外接設(shè)備,所述移動終端包括第一應用處理器、第一調(diào)制解調(diào)器和第一射頻模塊,以及與所述第一調(diào)制解調(diào)器連接的嵌入式用戶識別卡和實體用戶識別卡,所述外接設(shè)備包括第二應用處理器、第二調(diào)制解調(diào)器和第二射頻模塊,所述方法包括:
第一應用處理器通過預設(shè)接口接收第二應用處理器發(fā)送的數(shù)據(jù)包獲取請求時,從嵌入式用戶識別卡或?qū)嶓w用戶識別卡中提取所述數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包;
對提取的數(shù)據(jù)包進行拆分,并對同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息;
將添加有標識信息的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的臨時緩沖區(qū)buffer中,以供第二應用處理器從所述buffer中提取各個子數(shù)據(jù)包,并按照相同的標識信息進行子數(shù)據(jù)包的組合。
可選地,所述從嵌入式用戶識別卡或?qū)嶓w用戶識別卡中提取所述數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包的步驟包括:
所述第一應用處理器通過所述第一調(diào)制解調(diào)器向嵌入式用戶識別卡或?qū)嶓w用戶識別卡中的片內(nèi)操作系統(tǒng)發(fā)送數(shù)據(jù)包獲取請求,由所述片內(nèi)操作系統(tǒng)在嵌入式用戶識別卡或?qū)嶓w用戶識別卡中的文件存儲模塊中提取所述數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包,并反饋至所述第一調(diào)制解調(diào)器;
所述第一應用處理器通過所述第一調(diào)制解調(diào)器接收所述片內(nèi)操作系統(tǒng)反饋的數(shù)據(jù)包。
可選地,所述對提取的數(shù)據(jù)包進行拆分,并對同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息的步驟包括:
所述第一應用處理器確定數(shù)據(jù)包的容量值;
在有數(shù)據(jù)包的容量值大于預設(shè)閾值時,對所述數(shù)據(jù)包進行拆分,得到各個子數(shù)據(jù)包;
在各個子數(shù)據(jù)包對應的包頭中添加相同的標識信息。
可選地,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,所述將添加有標識信息的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中的步驟包括:
所述第一應用處理器將不同標識信息的各個子數(shù)據(jù)包按照預設(shè)的順序緩存至所述預設(shè)接口的buffer中。
可選地,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,所述將添加有標識信息的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中的步驟還包括:
所述第一應用處理器將相同標識信息的各個子數(shù)據(jù)包歸為一類;
按照類別的順序,依次將同一類的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中。
本發(fā)明提出的數(shù)據(jù)包傳輸系統(tǒng)及方法,所述數(shù)據(jù)包傳輸系統(tǒng)包括移動終端,以及通過預設(shè)接口與所述移動終端連接的外接設(shè)備,所述移動終端包括第一應用處理器、第一調(diào)制解調(diào)器和第一射頻模塊,以及與所述第一調(diào)制解調(diào)器連接的嵌入式用戶識別卡和實體用戶識別卡,所述外接設(shè)備包括第二應用處理器、第二調(diào)制解調(diào)器和第二射頻模塊;第一應用處理器通過預設(shè)接口接收第二應用處理器發(fā)送的數(shù)據(jù)包獲取請求時,先從嵌入式用戶識別卡或?qū)嶓w用戶識別卡中提取所述數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包,然后對提取的數(shù)據(jù)包進行拆分,并對同一每個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息,再將添加有標識信息的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中,以供第二應用處理器從所述buffer中提取各個子數(shù)據(jù)包,并按照相同的標識信息進行子數(shù)據(jù)包的組合,以完成數(shù)據(jù)包的傳輸。本方案在傳輸數(shù)據(jù)包時,先對待傳輸?shù)臄?shù)據(jù)包進行拆分,再將拆分后的各個子數(shù)據(jù)包添加相同的標識信息后進行傳輸,使得傳輸?shù)臄?shù)據(jù)包的容量值有所減小,后續(xù)對端接收到各個子數(shù)據(jù)包之后按照相同的標識信息進行重組即可,避免了數(shù)據(jù)傳輸過程中移動終端死機的情況。
附圖說明
圖1為本發(fā)明一實施例的lte網(wǎng)絡(luò)架構(gòu)的示意圖;
圖2為本發(fā)明實施例中移動終端和外接設(shè)備通訊連接的一種通訊連接的實體示意圖;
圖3為本發(fā)明實施例中移動終端和外接設(shè)備通訊連接的一種硬件結(jié)構(gòu)示意圖;
圖4為本發(fā)明數(shù)據(jù)包傳輸方法第一實施例的流程示意圖;
圖5為圖4中步驟s10的細化流程示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。需要說明的是,在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互任意結(jié)合。
為了對本發(fā)明的技術(shù)特征、目的和效果有更加清楚的理解,現(xiàn)對照附圖詳細說明本發(fā)明的具體實施方式。
圖1是本發(fā)明一實施例的lte(longtermevolution,長期演進)網(wǎng)絡(luò)架構(gòu)的示意圖。本發(fā)明一實施例的lte網(wǎng)絡(luò)架構(gòu)包括:一個或多個移動終端(userequipment,ue)100、外接設(shè)備200、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))進行通信。
移動終端100通過預設(shè)接口,如usb(universalserialbus,通用串行總線)數(shù)據(jù)線300與外接設(shè)備200通訊連接。
圖2為本發(fā)明移動終端100和外接設(shè)備200通訊連接的實體示意圖。
如圖2所示,移動終端100通過usb數(shù)據(jù)線300與外接設(shè)備200通訊連接,其中,所述移動終端包括但不限于手機、pc(personalcomputer,個人電腦)或pad(personaldigitalassistant,個人數(shù)字助理),所述外接設(shè)備200可選為無線上網(wǎng)卡或數(shù)據(jù)卡。
圖3為本發(fā)明移動終端100和外接設(shè)備200通訊連接的結(jié)構(gòu)示意圖。
本發(fā)明實施例的移動終端100通過usb數(shù)據(jù)線300與外接設(shè)備200通訊連接,基于移動終端100和外接設(shè)備200通訊連接的基礎(chǔ),移動終端100可支持雙lte。具體地:
移動終端100包括第一處理芯片001,以及與所述第一處理芯片001連接的第一射頻模塊12,其中,第一處理芯片001包括第一應用處理器(applicationprocessor,用ap1表示)10、與嵌入式用戶識別卡13和實體用戶識別卡14連接的第一調(diào)制解調(diào)器11(modem1)、rpm(resourcepowermanager,資源電源管理器)15。
其中,所述嵌入式用戶識別卡13通過串口與第一調(diào)制解調(diào)器11連接,串口包括但不限于通用異步收發(fā)傳輸器(uart),需要說明的是,嵌入式用戶識別卡13為esim(embeddedsubscriberidentitymodule)卡,相關(guān)卡參數(shù)直接寫入該esim卡,該esim卡包含可編程的sim卡芯片;該嵌入式用戶識別卡13包括存儲模塊和片內(nèi)操作系統(tǒng)(chipoperatingsystem,cos),該存儲模塊可為efs(encryptingfilesystem,加密文件系統(tǒng)),存儲模塊用于存儲嵌入式用戶識別卡13的鑒權(quán)數(shù)據(jù)。所述實體用戶識別卡14為sim(subscriberidentitymodule,用戶識別模塊)卡
外接設(shè)備200包括第二處理芯片002,以及與所述第二處理芯片002連接的第二射頻模塊22,其中,第二處理芯片002包括第二應用處理器(用ap2表示)20和第二調(diào)制解調(diào)器(modem2)21。
第一應用處理器10和第二應用處理器20的內(nèi)部框架包括應用層、框架層等,可處理復雜的邏輯操作以及進行任務(wù)分配等。在一個實施例中,應用處理器指android操作系統(tǒng),以及基于android操作系統(tǒng)的各種apk(androidpackage,安卓安裝包)。在本發(fā)明的實施例中,第一應用處理器10和第二應用處理器20通過usb數(shù)據(jù)線實現(xiàn)通訊連接,為用戶提供交互接口,將用戶輸入的操作指令(例如,用戶通過用戶界面輸入的有關(guān)啟動視頻通話的操作指令)傳輸給第一調(diào)制解調(diào)器11或第二調(diào)制解調(diào)器21,以實現(xiàn)兩個應用處理器之間數(shù)據(jù)的定義與傳遞,例如,進行兩個應用處理器的休眠、喚醒、同步的控制、開關(guān)機時芯片啟動順序的控制等。
應當理解的是,在本發(fā)明實施例中,usb數(shù)據(jù)線300復用出三條數(shù)據(jù)通道,分別用于第一應用處理器10和第二應用處理器20之間用戶數(shù)據(jù)、控制信令數(shù)據(jù)和sim卡鑒權(quán)數(shù)據(jù)的交互,即第一應用處理器10和第二應用處理器20通過usb數(shù)據(jù)線300傳輸?shù)臄?shù)據(jù)包括上述三種數(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)密鑰)等等。
本實施例中,第一應用處理器10和第二應用處理器20通過otg(on-the-go)技術(shù)進行數(shù)據(jù)交互。通過otg技術(shù),移動終端100中的第一調(diào)制解調(diào)器11可通過嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的sim卡參數(shù)來接入enodeb101,外接設(shè)備中的第二調(diào)制解調(diào)器21可通過實體用戶識別卡14或嵌入式用戶識別卡13中的sim卡參數(shù)來接入enodeb101,所述sim卡參數(shù)包括但不限于sim卡鑒權(quán)數(shù)據(jù)。其中,usb接口的buffer存在于第一應用處理器10和第二應用處理器20的兩端,用buffer1和buffer2表示。需要說明的是,buffer1和buffer2對應著同一個物理地址,通過該物理地址,可控制buffer1和buffer2容量值和狀態(tài)的同步變化。
由于buffer1和buffer2對應著同一個物理地址,因此第一應用處理器10將提取的數(shù)據(jù)包緩存至buffer1時,數(shù)據(jù)包通過該uart發(fā)送至buffer2中緩存,第二應用處理器20在buffer2中檢測到該數(shù)據(jù)包時,即可獲取到該數(shù)據(jù)包,以實現(xiàn)數(shù)據(jù)包的傳輸。
第一調(diào)制解調(diào)器11和第二調(diào)制解調(diào)器21包含各種網(wǎng)絡(luò)交互的網(wǎng)絡(luò)制式的協(xié)議棧,協(xié)議棧包含lte(longtermevolution,長期演進)/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,無線保真)等等。
移動終端100中的嵌入式用戶識別卡13和實體用戶識別卡14與第一調(diào)制解調(diào)器11連接,嵌入式用戶識別卡13和實體用戶識別卡14存儲不同的無線通信標準相關(guān)聯(lián)用戶信息。應當理解,目前的移動終端只有一套射頻,移動終端內(nèi)部的兩個用戶識別卡使用該套射頻是分時復用的關(guān)系,并不能同時占用。例如,在兩張用戶識別卡全開時,一張卡可以處理gsm通話,另一張卡只能處理4g網(wǎng)絡(luò)信息,具體哪個用戶識別卡執(zhí)行何種網(wǎng)絡(luò),不做限定。因此目前的射頻雙卡分時復用這種架構(gòu)僅做到了lte+gsm(即一張用戶識別卡對應的技術(shù)標準為lte,另一張用戶識別卡對應的技術(shù)標準為gsm)。
也就是說,現(xiàn)有的移動終端100雖然可以支持雙用戶識別卡,但是移動終端100在注冊網(wǎng)絡(luò)的情況下,兩個用戶識別卡支持的是不同技術(shù)標準的網(wǎng)絡(luò),一個支持2g或3g,另一個支持4g,會使得移動終端100使用過程中,上網(wǎng)流量速度較慢,因此本發(fā)明中,移動終端100通過usb數(shù)據(jù)線300連接外接設(shè)備200,由于外接設(shè)備200包括第二射頻模塊22,且第二射頻模塊22支持4g網(wǎng)絡(luò),因此,移動終端100可通過usb線300與外接設(shè)備200交互,使得嵌入式用戶識別卡13可通過第二調(diào)制解調(diào)器21支持lte,而實體用戶識別卡14通過第一調(diào)制解調(diào)器11支持lte,或者是嵌入式用戶識別卡13可通過第一調(diào)制解調(diào)器11支持lte,而實體用戶識別卡14通過第二調(diào)制解調(diào)器21支持lte,從而使得移動終端100具備雙lte功能。
在本實施例中,數(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ā)送給第一應用處理器10,第一應用處理器10將所接收的數(shù)據(jù)通過usb發(fā)送給外接設(shè)備200的第二應用處理器20,第二應用處理器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,具體過程為:第一應用處理器10將嵌入式用戶識別卡13中需要訪問lte網(wǎng)絡(luò)的數(shù)據(jù)通過usb發(fā)送給外接設(shè)備200的第二應用處理器20,第二應用處理器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。
在本實施例中,嵌入式用戶識別卡13和實體用戶識別卡14用于提供移動通信業(yè)務(wù)(cs語音業(yè)務(wù)、ps數(shù)據(jù)業(yè)務(wù)和ps語音業(yè)務(wù))所需的相關(guān)數(shù)據(jù),并在其內(nèi)部存儲用戶信息、短消息、執(zhí)行鑒權(quán)算法和產(chǎn)生加密密匙等。
實體用戶識別卡14與移動終端100交互時,移動終端100檢測該實體用戶識別卡14存在與否的信號只在開機瞬時產(chǎn)生,當開機檢測不到實體用戶識別卡14存在時,移動終端100將提示“插入用戶識別卡”。移動終端100開機之后,移動終端100和實體用戶識別卡14之間28秒通信一次,完成一些固定的通信檢查(例如,用戶識別卡是否在位等)。
需要說明的是,當嵌入式用戶識別卡13需要進行網(wǎng)絡(luò)注冊時,通過開啟的無線保真(wifi)網(wǎng)絡(luò)發(fā)送包含業(yè)務(wù)菜單數(shù)據(jù)的下載請求至嵌入式用戶識別卡13對應的云端服務(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ù)器中存儲了各個運營商的卡號資源。
在本發(fā)明的實施例中,嵌入式用戶識別卡13和實體用戶識別卡14承載信息,并且根據(jù)外界請求返回對應卡參數(shù),以及對網(wǎng)絡(luò)進行鑒權(quán)運算,第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術(shù)為lte。當移動終端100通過usb數(shù)據(jù)線300與外接設(shè)備200連接時,嵌入式用戶識別卡13可通過第二調(diào)制解調(diào)器21支持lte,而實體用戶識別卡14通過第一調(diào)制解調(diào)器11支持lte;或者嵌入式用戶識別卡13可通過第一調(diào)制解調(diào)器11支持lte,而實體用戶識別卡14通過第二調(diào)制解調(diào)器21支持lte,以實現(xiàn)移動終端100可支持雙lte。
移動終端100中的rpm15用于管控各種資源,包括時鐘資源、總線資源、pmic(powermanagementic,電源管理集成電路,即各個芯片的電壓)、ddr(內(nèi)存分配),以及管理芯片的休眠喚醒的中斷和應用處理器喚醒的截止時間。移動終端100的各個子系統(tǒng),在需要資源時,向rpm15申請資源,各個子系統(tǒ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)休眠之后,若是要重新啟動運行,需要喚醒第一應用處理器10以進行數(shù)據(jù)的傳輸交互。
在移動終端100和外接設(shè)備200通過usb數(shù)據(jù)線300通訊連接的情況下,喚醒方式包括三種:
1、第一應用處理器10接收到控制信令數(shù)據(jù)時,通過usb數(shù)據(jù)線300傳送探測包給第二應用處理器20,以喚醒第二應用處理器20。
2、外接設(shè)備200的第二調(diào)制解調(diào)器21接收到用戶數(shù)據(jù)時,喚醒第二應用處理器20,由第二應用處理器20通過usb數(shù)據(jù)線300傳送探測包給第一應用處理器10,以喚醒第一應用處理器10。
3、第二調(diào)制解調(diào)器21周期性查找尋呼請求,以主動激活自己,若接收到尋呼請求,喚醒第二應用處理器20,由第二應用處理器20通過usb數(shù)據(jù)線300發(fā)送探測包給第一應用處理器10,以喚醒第二應用處理器20。
此外,第二調(diào)制解調(diào)器21還可以定期喚醒自己,以在移動終端100進行位置更新時,跟基站進行握手交互,此時不需要喚醒第一應用處理器10。
需要說明的是,傳輸?shù)臄?shù)據(jù)包為用戶數(shù)據(jù)、控制信令數(shù)據(jù)或用戶識別卡數(shù)據(jù)即sim卡數(shù)據(jù)時,三種數(shù)據(jù)都在應用處理器之間傳輸。
本實施例中,sim卡包括移動卡、聯(lián)通卡和電信卡,其中,移動卡和聯(lián)通卡是指采用3gpp標準協(xié)議進行通訊的電話卡,3gpp標準協(xié)議規(guī)定了電話卡傳輸數(shù)據(jù)包的容量不能超出一定值,該值設(shè)置為512個字節(jié);而電信卡是指采用3gpp2標準協(xié)議的電話卡,gpp2標準協(xié)議對電信卡傳輸?shù)臄?shù)據(jù)包的容量未做限制,電信卡傳輸?shù)臄?shù)據(jù)包的容量一般會超出512字節(jié)。其中,移動卡是由中國移動(運營商)向用戶提供的sim卡,聯(lián)通卡是由中國聯(lián)通(運營商)向用戶提供的sim卡,電信卡是由中國電信(運營商)向用戶提供的sim卡。
由于現(xiàn)有的buffer的容量一般都不超過512個字節(jié)。因此,當移動終端100中的嵌入式用戶識別卡13和實體用戶識別卡14都是移動卡或者是聯(lián)通卡時,由于移動卡或者是聯(lián)通卡收發(fā)數(shù)據(jù)包的數(shù)據(jù)容量小于512個字節(jié)的,因此,第一應用處理器10接收到數(shù)據(jù)包獲取請求時,從嵌入式用戶識別卡13和實體用戶識別卡14獲取到的數(shù)據(jù)包也是小于512個字節(jié),相應的,存儲到buffer的數(shù)據(jù)包也是小于512個字節(jié)的,因此,數(shù)據(jù)包可完整的存儲到buffer中,后續(xù),第二應用處理器20也可以取出一個完整的數(shù)據(jù)包。
但是,由于電信卡一般大于512字節(jié),因此,在第一應用處理器10和第二應用處理器20的數(shù)據(jù)交互過程中,若是第一應用處理器10中連接的是電信卡,會出現(xiàn)這樣的情況:
以圖3為例,在嵌入式用戶識別卡13和實體用戶識別卡14為電信卡的情況下,移動終端100第一應用處理器10通過第一調(diào)制解調(diào)器11從嵌入式用戶識別卡13中或?qū)嶓w用戶識別卡14提取出一個數(shù)據(jù)包,由于該數(shù)據(jù)包大于512字節(jié),而buffer一次性只能緩存不超過512字節(jié)的數(shù)據(jù)包,這種情況下,會由于無法轉(zhuǎn)發(fā)大數(shù)據(jù)包導致移動終端的系統(tǒng)死機。
基于上述lte網(wǎng)絡(luò)的架構(gòu)圖、以及移動終端100和外接設(shè)備200通訊連接的結(jié)構(gòu)示意圖,提出本發(fā)明的各個實施例。
參照圖3,本實施例提出一種數(shù)據(jù)包傳輸系統(tǒng),所述數(shù)據(jù)包傳輸系統(tǒng)包括移動終端100,以及通過預設(shè)接口與所述移動終端100連接的外接設(shè)備200,所述移動終端100包括第一應用處理器10、第一調(diào)制解調(diào)器11和第一射頻模塊12,以及與所述第一調(diào)制解調(diào)器11連接的嵌入式用戶識別卡13和實體用戶識別卡14,所述外接設(shè)備200包括第二應用處理器20、第二調(diào)制解調(diào)器21和第二射頻模塊22;
第一應用處理器10,用于通過預設(shè)接口接收第二應用處理器20發(fā)送的數(shù)據(jù)包獲取請求時,從嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中提取所述數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包;
對提取的數(shù)據(jù)包進行拆分,并對同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息;
將添加有標識信息的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的臨時緩沖區(qū)buffer中,以供第二應用處理器20從所述buffer中提取各個子數(shù)據(jù)包,并按照相同的標識信息進行子數(shù)據(jù)包的組合。
在本實施例中,所述第一應用處理器10通過預設(shè)接口接收第二應用處理器20發(fā)送的數(shù)據(jù)包獲取請求,后續(xù)也是通過所述預設(shè)接口將數(shù)據(jù)包反饋至所述第二應用處理器20。所述預設(shè)接口為usb接口。
其中,當?shù)诙幚硇酒?02的第二調(diào)制解調(diào)器21通過第二射頻模塊22接收到基站發(fā)送的數(shù)據(jù)包獲取請求時,將數(shù)據(jù)包獲取請求發(fā)送至第二處理芯片002的第二應用處理器20中,當?shù)诙锰幚砥?0接收到數(shù)據(jù)包獲取請求時,先通過usb數(shù)據(jù)線300將數(shù)據(jù)包獲取請求傳送至移動終端100的第一應用處理器10中;第一應用處理器10接收到該數(shù)據(jù)包獲取請求時,將數(shù)據(jù)包獲取請求傳送至移動終端100的第一調(diào)制解調(diào)器11中,由第一調(diào)制解調(diào)器11根據(jù)該數(shù)據(jù)包獲取請求從嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中獲取數(shù)據(jù)包;第一調(diào)制解調(diào)器11獲取到數(shù)據(jù)包之后,將數(shù)據(jù)包傳輸至第一應用處理器10中;第一應用處理器10獲取到數(shù)據(jù)包之后,為了保證傳輸?shù)臄?shù)據(jù)包不會大于usb的buffer的容量值,先對獲取的數(shù)據(jù)包進行拆分,得到拆分后的各個子數(shù)據(jù)包,為了防止后續(xù)轉(zhuǎn)發(fā)的數(shù)據(jù)包不完整,所述應用處理器10對同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息;再將添加有標識信息的各個子數(shù)據(jù)包緩存至usb的buffer中,以傳送至第二應用處理器20;第二應用處理器20從buffer中提取出各個子數(shù)據(jù)包,再按照相同的標識信息進行子數(shù)據(jù)包的組合,以得到完整的數(shù)據(jù)包,最終通過第二射頻模塊22將組合的數(shù)據(jù)包上傳至基站,以完成數(shù)據(jù)包的傳輸。
具體地,所述第一應用處理器10,還用于通過所述第一調(diào)制解調(diào)器11向嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的片內(nèi)操作系統(tǒng)發(fā)送數(shù)據(jù)包獲取請求,由所述片內(nèi)操作系統(tǒng)在嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的文件存儲模塊中提取所述數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包,并反饋至所述第一調(diào)制解調(diào)器11;
所述第一應用處理器10,還用于通過所述第一調(diào)制解調(diào)器11接收所述片內(nèi)操作系統(tǒng)反饋的數(shù)據(jù)包。
在本實施例中,需要說明的是,嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的數(shù)據(jù)包存儲在文件存儲模塊中,當?shù)谝徽{(diào)制解調(diào)器11要獲取嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的數(shù)據(jù)包時,第一調(diào)制解調(diào)器11不會直接與嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的文件存儲模塊交互,而是先向嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的cos(chipoperatingsystem,片內(nèi)操作系統(tǒng))操作系統(tǒng)發(fā)送數(shù)據(jù)包獲取請求即request,然后嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14的cos操作系統(tǒng)基于該request在文件存儲模塊中獲取數(shù)據(jù)包,然后將獲取的數(shù)據(jù)包再傳輸給第一調(diào)制解調(diào)器11,第一調(diào)制解調(diào)器11只要接收cos操作系統(tǒng)反饋的數(shù)據(jù)包即可,后續(xù)第一應用處理器10在第一調(diào)制解調(diào)器11中獲取數(shù)據(jù)包即可實現(xiàn)數(shù)據(jù)包的獲取過程。
可以理解,由于第一調(diào)制解調(diào)器11無法嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的文件存儲模塊直接提取數(shù)據(jù)包,因此通過與嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14的cos操作系統(tǒng)進行交互,以實現(xiàn)數(shù)據(jù)包的提取,保證后續(xù)的數(shù)據(jù)傳輸過程正常運行。
當?shù)谝粦锰幚砥?0從嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中提取出數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包之后,再對提取的數(shù)據(jù)包進行拆分,本實施例中,所述第一應用處理器10對數(shù)據(jù)包進行拆分的方式,可選為:對數(shù)據(jù)包進行解析,以得到數(shù)據(jù)包對應的數(shù)據(jù),然后按照預設(shè)容量值對數(shù)據(jù)進行分解,以將數(shù)據(jù)拆分成多個所述預設(shè)容量值的數(shù)據(jù)段,再將拆分后的各個數(shù)據(jù)段進行封包操作,以得到各個子數(shù)據(jù)包。其中,所述預設(shè)容量值可設(shè)置為512字節(jié),在其它實施例中,也可設(shè)置為其它值,只要保證后續(xù)各個子數(shù)據(jù)包的容量值小于512字節(jié)即可,此處不做限定。
第一應用處理器10對數(shù)據(jù)包進行拆分以得到各個子數(shù)據(jù)包之后,即可對數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息,最終將添加有標識信息的各個子數(shù)據(jù)包緩存至usb的buffer中,以供第二應用處理器20從所述buffer中提取各個子數(shù)據(jù)包,并按照相同的標識信息進行子數(shù)據(jù)包的組合,以完成數(shù)據(jù)包的傳輸。
本實施例中需要說明的是,buffer存在于usb接口的兩端,即usb接口的兩端分別設(shè)置有buffer1和buffer2。當?shù)诙锰幚砥?0將數(shù)據(jù)包獲取請求通過usb接口發(fā)送給第一應用處理器10時,第一應用處理器10通過第一調(diào)制解調(diào)器11從嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14提取出數(shù)據(jù)包之后,先將提取的數(shù)據(jù)包存儲到buffer1中,以通過usb傳輸至buffer2中,第二應用處理器20再從buffer2中獲取數(shù)據(jù)包。
本實施例提出的數(shù)據(jù)包傳輸系統(tǒng),第一應用處理器通過預設(shè)接口接收第二應用處理器發(fā)送的數(shù)據(jù)包獲取請求時,先從嵌入式用戶識別卡或?qū)嶓w用戶識別卡中提取所述數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包,然后對提取的數(shù)據(jù)包進行拆分,并對同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息,再將添加有標識信息的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中,以供第二應用處理器從所述buffer中提取各個子數(shù)據(jù)包,并按照相同的標識信息進行子數(shù)據(jù)包的組合,以完成數(shù)據(jù)包的傳輸。本方案在傳輸數(shù)據(jù)包時,先對待傳輸?shù)臄?shù)據(jù)包進行拆分,再將拆分后的各個子數(shù)據(jù)包添加相同的標識信息后進行傳輸,使得傳輸?shù)臄?shù)據(jù)包的容量值有所減小,后續(xù)對端接收到各個子數(shù)據(jù)包之后按照相同的標識信息進行重組即可,避免了數(shù)據(jù)傳輸過程中移動終端死機的情況。
進一步地,基于第一實施例提出本發(fā)明數(shù)據(jù)包傳輸系統(tǒng)第二實施例。
數(shù)據(jù)包傳輸系統(tǒng)第二實施例與數(shù)據(jù)包傳輸系統(tǒng)第一實施例的區(qū)別在于,
所述第一應用處理器10,還用于對確定數(shù)據(jù)包的容量值;
在有數(shù)據(jù)包的容量值大于預設(shè)閾值時,對所述數(shù)據(jù)包進行拆分,得到各個子數(shù)據(jù)包;
在各個子數(shù)據(jù)包對應的包頭中添加相同的標識信息。
在本實施例中,當?shù)诙锰幚砥?0向第一應用處理器10發(fā)送數(shù)據(jù)包獲取請求(request)時,若嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14為電信卡,且第一調(diào)制解調(diào)器11從所述嵌入式用戶識別卡13或所述實體用戶識別卡14中提取的數(shù)據(jù)包大于預設(shè)閾值如512字節(jié),所述第一應用處理器10可確定數(shù)據(jù)包的容量值大于預設(shè)閾值,此時由于buffer一次性只能緩存不超過512字節(jié)的數(shù)據(jù)包,因此第一應用處理器10需要先將提取的數(shù)據(jù)包進行拆分,以拆分成多個子數(shù)據(jù)包,然后再將多個子數(shù)據(jù)包存儲到buffer中進行轉(zhuǎn)發(fā)。
在本實施例中,第一應用處理器10提取的數(shù)據(jù)包可以為一個或多個,在提取的數(shù)據(jù)包包括多個時,所述第一應用處理器10可同時對多個數(shù)據(jù)包進行拆分,或者按照各個數(shù)據(jù)包的提取順序進行拆分,先提取的先拆分。
具體地,所述第一應用處理器10拆分數(shù)據(jù)包時,先在拆分后的各個子數(shù)據(jù)包的包頭中添加相同的標識信息,該標識信息優(yōu)選是第一應用處理器10拆分數(shù)據(jù)包時根據(jù)拆分后的數(shù)據(jù)包執(zhí)行封包操作所添加的,封包就是給一段數(shù)據(jù)加上包頭,這樣一來數(shù)據(jù)包就分為包頭和包體兩部分內(nèi)容。
本實施例中需要說明的是,包頭實際上是大小固定的結(jié)構(gòu)體,其中有個結(jié)構(gòu)體成員變量包括拆分后子包體的長度,以及我們定義的拆分標識信息flag,可以理解,由一個大包拆分出的多個子包具有相同的flag標識,該flag標識的具體標識信息不限于包名或者預設(shè)字段信息,可根據(jù)實際情況設(shè)置,此處不做限定。第一應用處理器10執(zhí)行完封包操作后,再將添加有相同標識信息的數(shù)據(jù)包依次存儲到buffer中。
為更好理解,舉例如下:當前連著要傳輸三個電信卡的數(shù)據(jù)包,第一個大數(shù)據(jù)包拆分成各個子數(shù)據(jù)包后,將flag都標識都設(shè)置為0xf9f9,第二個大數(shù)據(jù)包拆分成各個子數(shù)據(jù)包后,將flag標識都設(shè)置為0x9f9f,第三個大數(shù)據(jù)包拆分成各個子數(shù)據(jù)包后,將各個子包的flag標識都設(shè)置為0xf9f9,這樣三個數(shù)據(jù)包標識就可以區(qū)分開來,后續(xù)接收端即第二應用處理器20即可將flag標識相同的各個子數(shù)據(jù)包進行歸類并重組成三個大數(shù)據(jù)包。
本實施例中,在確定數(shù)據(jù)包的容量值大于預設(shè)閾值時,才執(zhí)行拆分操作,防止數(shù)據(jù)包小于預設(shè)閾值時也進行拆分操作造成系統(tǒng)資源的浪費,而在對數(shù)據(jù)包進行拆分操作后,將同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息,后續(xù)對端可根據(jù)相同的標識信息進行重組,防止轉(zhuǎn)發(fā)的數(shù)據(jù)包不完整,提高了數(shù)據(jù)包轉(zhuǎn)發(fā)準確性。
進一步地,基于第一實施例提出本發(fā)明數(shù)據(jù)包傳輸系統(tǒng)第三實施例。
數(shù)據(jù)包傳輸系統(tǒng)第三實施例與數(shù)據(jù)包傳輸系統(tǒng)第一實施例的區(qū)別在于,
在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,所述第一應用處理器10,還用于將不同標識信息的各個子數(shù)據(jù)包按照預設(shè)的順序緩存至所述預設(shè)接口的buffer中。
在本實施例中,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,此時,所述第一應用處理器10可將不同標識信息的各個子數(shù)據(jù)包按照預設(shè)順序緩存至所述預設(shè)接口的buffer中。本實施例中,所述隨機順序優(yōu)先與各個子數(shù)據(jù)包的生成順序一致,即在第一應用處理器10根據(jù)數(shù)據(jù)包拆分出一個子數(shù)據(jù)包,并對子數(shù)據(jù)包添加有標識信息之后,即可將該子數(shù)據(jù)包緩存至usb接口的buffer中。
應當理解的是,若當前提出的數(shù)據(jù)包包括多個數(shù)據(jù)包,那么拆分得到的子數(shù)據(jù)包也包括多個,并且不同數(shù)據(jù)包拆分后的子數(shù)據(jù)對應的標識信息不同,因此,當拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,所述第一應用處理器10可將不同標識信息的各個子數(shù)據(jù)包按照子數(shù)據(jù)包的生成順序依次緩存至所述usb接口的buffer中。后續(xù),所述第二應用處理器20從所述buffer中提取各個子數(shù)據(jù)包后,按照相同的標識信息進行子數(shù)據(jù)包的組合的方式為:第二應用處理器20從buffer中提取出各個子數(shù)據(jù)包,將提取的各個子數(shù)據(jù)包存儲至預設(shè)空間,然后在buffer中的各個子數(shù)據(jù)包提取完成后,依次識別提取的各個子數(shù)據(jù)包的標識信息,以將標識信息相同的子數(shù)據(jù)包合成一個大數(shù)據(jù)包。
為更好理解本實施例,舉例如下:
第一應用處理器10基于數(shù)據(jù)包獲取請求提取出x、y、z三個數(shù)據(jù)包時,對每個數(shù)據(jù)包進行拆分,以得到每個數(shù)據(jù)包對應的多個子數(shù)據(jù)包,如x數(shù)據(jù)包對應x1、x2、和x3,y數(shù)據(jù)包對應y1、y2、和y3,z數(shù)據(jù)包對應z1、z2、和z3,此時,若各個子數(shù)據(jù)包的生成順序依次是x1、z1、x2、y1……,那么,緩存到buffer的各個子數(shù)據(jù)包是就按照x1、z1、x2、y1的順序依次存儲。這種情況下,當?shù)诙锰幚砥?0從buffer中提取子數(shù)據(jù)包時,先將提取的各個子數(shù)據(jù)包預存起來,在提取完成后,依次識別提取的各個子數(shù)據(jù)包的標識信息,再將標識信息相同的子數(shù)據(jù)包合成一個大數(shù)據(jù)包,并通過第二射頻模塊23將合成后的大數(shù)據(jù)包上傳至基站。
在本實施例中,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,將不同標識信息的各個子數(shù)據(jù)包按照預設(shè)順序緩存至所述預設(shè)接口的buffer中,不需要非得同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包齊全之后,再全部緩存至usb接口的buffer中,而是先拆分出的子數(shù)據(jù)包先緩存,提高了數(shù)據(jù)包傳輸?shù)撵`活性。
進一步地,基于第三實施例提出本發(fā)明數(shù)據(jù)包傳輸系統(tǒng)第四實施例。
數(shù)據(jù)包傳輸系統(tǒng)第四實施例與數(shù)據(jù)包傳輸系統(tǒng)第三實施例的區(qū)別在于,
在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,所述第一應用處理器10,還用于將相同標識信息的各個子數(shù)據(jù)包歸為一類;
按照類別的順序,依次將同一類的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中。
在本實施例中,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,所述第一應用處理器10可先將相同標識信息的各個子數(shù)據(jù)包歸為一類,然后按照類別的順序,依次將同一類的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中。本實施例中,類別的順序優(yōu)選為先歸為一類的順序,也就是說,即使第一應用處理器10提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,并且對每個數(shù)據(jù)包拆分后得到對應的各個子數(shù)據(jù)包,所述第一應用處理器10還是可以先將相同標識信息的各個子數(shù)據(jù)包歸為一類,然后將按照類別的順序,將同一類的各個子數(shù)據(jù)包依次緩存至所述預設(shè)接口的buffer中,即將先歸為一類的子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中,最終完成所有類別的子數(shù)據(jù)包的緩存。
后續(xù),所述第二應用處理器20從所述buffer中提取各個子數(shù)據(jù)包,并按照相同的標識信息進行子數(shù)據(jù)包的組合的方式包括:第二應用處理器20從buffer中提取出子數(shù)據(jù)包,依次識別各個子數(shù)據(jù)包的標識信息,在識別到有新的子數(shù)據(jù)包與上一個子數(shù)據(jù)包的標識信息相同時,將該當前識別的子數(shù)據(jù)包與上一個子數(shù)據(jù)包歸為一類,并繼續(xù)識別下一個子數(shù)據(jù)包,直達識別到的子數(shù)據(jù)包與上一個子數(shù)據(jù)包的標識信息不同時,將之前標識信息相同的各個子數(shù)據(jù)包合成一個大數(shù)據(jù)包。
為更好理解本實施例,舉例如下:
第一應用處理器10基于數(shù)據(jù)包獲取請求提取出x、y、z三個數(shù)據(jù)包時,對每個數(shù)據(jù)包進行拆分,以得到每個數(shù)據(jù)包對應的多個子數(shù)據(jù)包,如x數(shù)據(jù)包對應x1、x2、和x3,y數(shù)據(jù)包對應y1、y2、和y3,z數(shù)據(jù)包對應z1、z2、和z3,此時,將x1、x2、和x3歸為一類,然后確定三類數(shù)據(jù)包哪類先拆分完成,若此時x類先拆分完成,即可將x1、x2、和x3依次緩存至所述usb的buffer中。后續(xù),所述第二應用處理器20從所述buffer中提取各個子數(shù)據(jù)包之后,將x1、x2、和x3歸為一類,并繼續(xù)識別下一個子數(shù)據(jù)包,若識別到下一個是y1,則將之前x1、x2、和x3的各個子數(shù)據(jù)包合成一個大數(shù)據(jù)包。
在本實施例中,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,將相同標識信息的各個子數(shù)據(jù)包歸為一類,最終按照類別的順序,依次將同一類的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中,使得子數(shù)據(jù)包的傳輸,是按照順序緩存?zhèn)鬏數(shù)?,防止子?shù)據(jù)包出現(xiàn)遺漏的情況,提高了數(shù)據(jù)包傳輸?shù)臏蚀_性。
綜上所述,本發(fā)明實施例中,在移動終端100中的電信卡傳輸?shù)臄?shù)據(jù)包較大時,第一應用處理器10對數(shù)據(jù)包進行拆分,以改變數(shù)據(jù)包的期望值,后續(xù)緩存到buffer的數(shù)據(jù)包就不會超出buffer的容量值,那么,避免了大數(shù)據(jù)包傳輸導致死機的問題,同時對拆分成多個子數(shù)據(jù)包添加相同的標識信息,第二應用處理器20可根據(jù)標識信息進行重組,使得后續(xù)轉(zhuǎn)發(fā)的數(shù)據(jù)包是完整的數(shù)據(jù)包,避免了數(shù)據(jù)包轉(zhuǎn)發(fā)不完整的情況。
本發(fā)明進一步提供一種數(shù)據(jù)包傳輸方法。
參照圖4,圖4為本發(fā)明數(shù)據(jù)包傳輸方法較佳實施例的流程示意圖。
本實施例提出一種數(shù)據(jù)包傳輸方法,在本實施例中,提供了數(shù)據(jù)包傳輸方法的實施例,需要說明的是,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本發(fā)明中,數(shù)據(jù)包傳輸方法應用于通過預設(shè)接口與外接設(shè)備200連接的移動終端100,所述移動終端100包括第一應用處理器10、第一調(diào)制解調(diào)器11和第一射頻模塊12,以及與所述第一調(diào)制解調(diào)器11連接的嵌入式用戶識別卡13和實體用戶識別卡14,所述外接設(shè)備200包括第二應用處理器20、第二調(diào)制解調(diào)器21和第二射頻模塊22,所述方法包括:
步驟s10,第一應用處理器通過預設(shè)接口接收第二應用處理器發(fā)送的數(shù)據(jù)包獲取請求時,從嵌入式用戶識別卡或?qū)嶓w用戶識別卡中提取所述數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包;
步驟s20,對提取的數(shù)據(jù)包進行拆分,并對同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息;
步驟s30,將添加有標識信息的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中,以供第二應用處理器從所述buffer中提取各個子數(shù)據(jù)包,并按照相同的標識信息進行子數(shù)據(jù)包的組合。
在本實施例中,所述第一應用處理器10通過預設(shè)接口接收第二應用處理器20發(fā)送的數(shù)據(jù)包獲取請求,后續(xù)也是通過所述預設(shè)接口將數(shù)據(jù)包反饋至所述第二應用處理器20。所述預設(shè)接口為usb接口。
其中,當?shù)诙幚硇酒?02的第二調(diào)制解調(diào)器21通過第二射頻模塊22接收到基站發(fā)送的數(shù)據(jù)包獲取請求時,將數(shù)據(jù)包獲取請求發(fā)送至第二處理芯片002的第二應用處理器20中,當?shù)诙锰幚砥?0接收到數(shù)據(jù)包獲取請求時,先通過usb數(shù)據(jù)線300將數(shù)據(jù)包獲取請求傳送至移動終端100的第一應用處理器10中;第一應用處理器10接收到該數(shù)據(jù)包獲取請求時,將數(shù)據(jù)包獲取請求傳送至移動終端100的第一調(diào)制解調(diào)器11中,由第一調(diào)制解調(diào)器11根據(jù)該數(shù)據(jù)包獲取請求從嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中獲取數(shù)據(jù)包;第一調(diào)制解調(diào)器11獲取到數(shù)據(jù)包之后,將數(shù)據(jù)包傳輸至第一應用處理器10中;第一應用處理器10獲取到數(shù)據(jù)包之后,為了保證傳輸?shù)臄?shù)據(jù)包不會大于usb的buffer的容量值,先對獲取的數(shù)據(jù)包進行拆分,得到拆分后的各個子數(shù)據(jù)包,為了防止后續(xù)轉(zhuǎn)發(fā)的數(shù)據(jù)包不完整,所述應用處理器10對同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息;再將添加有標識信息的各個子數(shù)據(jù)包緩存至usb的buffer中,以傳送至第二應用處理器20;第二應用處理器20從buffer中提取出各個子數(shù)據(jù)包,再按照相同的標識信息進行子數(shù)據(jù)包的組合,以得到完整的數(shù)據(jù)包,最終通過第二射頻模塊22將組合的數(shù)據(jù)包上傳至基站,以完成數(shù)據(jù)包的傳輸。
具體地,參照圖5,所述步驟s10包括:
步驟s11,所述第一應用處理器通過所述第一調(diào)制解調(diào)器向嵌入式用戶識別卡或?qū)嶓w用戶識別卡中的片內(nèi)操作系統(tǒng)發(fā)送數(shù)據(jù)包獲取請求,由所述片內(nèi)操作系統(tǒng)在嵌入式用戶識別卡或?qū)嶓w用戶識別卡中的文件存儲模塊中提取所述數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包,并反饋至所述第一調(diào)制解調(diào)器;
步驟s12,所述第一應用處理器通過所述第一調(diào)制解調(diào)器接收所述片內(nèi)操作系統(tǒng)反饋的數(shù)據(jù)包。
在本實施例中,需要說明的是,嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的數(shù)據(jù)包存儲在文件存儲模塊中,當?shù)谝徽{(diào)制解調(diào)器11要獲取嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的數(shù)據(jù)包時,第一調(diào)制解調(diào)器11不會直接與嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的文件存儲模塊交互,而是先向嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的cos(chipoperatingsystem,片內(nèi)操作系統(tǒng))操作系統(tǒng)發(fā)送數(shù)據(jù)包獲取請求即request,然后嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14的cos操作系統(tǒng)基于該request在文件存儲模塊中獲取數(shù)據(jù)包,然后將獲取的數(shù)據(jù)包再傳輸給第一調(diào)制解調(diào)器11,第一調(diào)制解調(diào)器11只要接收cos操作系統(tǒng)反饋的數(shù)據(jù)包即可,后續(xù)第一應用處理器10在第一調(diào)制解調(diào)器11中獲取數(shù)據(jù)包即可實現(xiàn)數(shù)據(jù)包的獲取過程。
可以理解,由于第一調(diào)制解調(diào)器11無法嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中的文件存儲模塊直接提取數(shù)據(jù)包,因此通過與嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14的cos操作系統(tǒng)進行交互,以實現(xiàn)數(shù)據(jù)包的提取,保證后續(xù)的數(shù)據(jù)傳輸過程正常運行。
當?shù)谝粦锰幚砥?0從嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14中提取出數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包之后,再對提取的數(shù)據(jù)包進行拆分,本實施例中,所述第一應用處理器10對數(shù)據(jù)包進行拆分的方式,可選為:對數(shù)據(jù)包進行解析,以得到數(shù)據(jù)包對應的數(shù)據(jù),然后按照預設(shè)容量值對數(shù)據(jù)進行分解,以將數(shù)據(jù)拆分成多個所述預設(shè)容量值的數(shù)據(jù)段,再將拆分后的各個數(shù)據(jù)段進行封包操作,以得到各個子數(shù)據(jù)包。其中,所述預設(shè)容量值可設(shè)置為512字節(jié),在其它實施例中,也可設(shè)置為其它值,只要保證后續(xù)各個子數(shù)據(jù)包的容量值小于512字節(jié)即可,此處不做限定。
第一應用處理器10對數(shù)據(jù)包進行拆分以得到各個子數(shù)據(jù)包之后,即可對數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息,最終將添加有標識信息的各個子數(shù)據(jù)包緩存至usb的buffer中,以供第二應用處理器20從所述buffer中提取各個子數(shù)據(jù)包,并按照相同的標識信息進行子數(shù)據(jù)包的組合,以完成數(shù)據(jù)包的傳輸。
本實施例中需要說明的是,buffer存在于usb接口的兩端,即usb接口的兩端分別設(shè)置有buffer1和buffer2。當?shù)诙锰幚砥?0將數(shù)據(jù)包獲取請求通過usb接口發(fā)送給第一應用處理器10時,第一應用處理器10通過第一調(diào)制解調(diào)器11從嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14提取出數(shù)據(jù)包之后,先將提取的數(shù)據(jù)包存儲到buffer1中,以通過usb傳輸至第二應用處理器20的buffer2中,第二應用處理器10再從buffer2中獲取數(shù)據(jù)包。
本實施例提出的數(shù)據(jù)包傳輸方法,第一應用處理器通過預設(shè)接口接收第二應用處理器發(fā)送的數(shù)據(jù)包獲取請求時,先從嵌入式用戶識別卡或?qū)嶓w用戶識別卡中提取所述數(shù)據(jù)包獲取請求對應的數(shù)據(jù)包,然后對提取的數(shù)據(jù)包進行拆分,并對同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息,再將添加有標識信息的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中,以供第二應用處理器從所述buffer中提取各個子數(shù)據(jù)包,并按照相同的標識信息進行子數(shù)據(jù)包的組合,以完成數(shù)據(jù)包的傳輸。本方案在傳輸數(shù)據(jù)包時,先對待傳輸?shù)臄?shù)據(jù)包進行拆分,再將拆分后的各個子數(shù)據(jù)包添加相同的標識信息后進行傳輸,使得傳輸?shù)臄?shù)據(jù)包的容量值有所減小,后續(xù)對端接收到各個子數(shù)據(jù)包之后按照相同的標識信息進行重組即可,避免了數(shù)據(jù)傳輸過程中移動終端死機的情況。
進一步地,基于第一實施例提出本發(fā)明數(shù)據(jù)包傳輸方法第二實施例。
數(shù)據(jù)包傳輸方法第二實施例與數(shù)據(jù)包傳輸方法第一實施例的區(qū)別在于,所述步驟s10包括:
步驟a、第一應用處理器確定數(shù)據(jù)包的容量值;
步驟b、在有數(shù)據(jù)包的容量值大于預設(shè)閾值時,對所述數(shù)據(jù)包進行拆分,得到各個子數(shù)據(jù)包;
步驟c、在各個子數(shù)據(jù)包對應的包頭中添加相同的標識信息。
在本實施例中,當?shù)诙锰幚砥?0向第一應用處理器10發(fā)送數(shù)據(jù)包獲取請求(request)時,若嵌入式用戶識別卡13或?qū)嶓w用戶識別卡14為電信卡,且第一調(diào)制解調(diào)器11從所述嵌入式用戶識別卡13或所述實體用戶識別卡14中提取的數(shù)據(jù)包大于預設(shè)閾值如512字節(jié),所述第一應用處理器10可確定數(shù)據(jù)包的容量值大于預設(shè)閾值,此時由于buffer一次性只能緩存不超過512字節(jié)的數(shù)據(jù)包,因此第一應用處理器10需要先將提取的數(shù)據(jù)包進行拆分,以拆分成多個子數(shù)據(jù)包,然后再將多個子數(shù)據(jù)包存儲到buffer中進行轉(zhuǎn)發(fā)。
在本實施例中,第一應用處理器10提取的數(shù)據(jù)包可以為一個或多個,在提取的數(shù)據(jù)包包括多個時,所述第一應用處理器10可同時對多個數(shù)據(jù)包進行拆分,或者按照各個數(shù)據(jù)包的提取順序進行拆分,先提取的先拆分。
具體地,所述第一應用處理器10拆分數(shù)據(jù)包時,先在拆分后的各個子數(shù)據(jù)包的包頭中添加相同的標識信息,該標識信息優(yōu)選是第一應用處理器10拆分數(shù)據(jù)包時根據(jù)拆分后的數(shù)據(jù)包執(zhí)行封包操作所添加的,封包就是給一段數(shù)據(jù)加上包頭,這樣一來數(shù)據(jù)包就分為包頭和包體兩部分內(nèi)容。
本實施例中需要說明的是,包頭實際上是大小固定的結(jié)構(gòu)體,其中有個結(jié)構(gòu)體成員變量包括拆分后子包體的長度,以及我們定義的拆分標識信息flag,可以理解,由一個大包拆分出的多個子包具有相同的flag標識,該flag標識的具體標識信息不限于包名或者預設(shè)字段信息,可根據(jù)實際情況設(shè)置,此處不做限定。第一應用處理器10執(zhí)行完封包操作后,再將添加有相同標識信息的數(shù)據(jù)包依次存儲到buffer中。
為更好理解,舉例如下:當前連著要傳輸三個電信卡的數(shù)據(jù)包,第一個大數(shù)據(jù)包拆分成各個子數(shù)據(jù)包后,將flag都標識都設(shè)置為0xf9f9,第二個大數(shù)據(jù)包拆分成各個子數(shù)據(jù)包后,將flag標識都設(shè)置為0x9f9f,第三個大數(shù)據(jù)包拆分成各個子數(shù)據(jù)包后,將各個子包的flag標識都設(shè)置為0xf9f9,這樣三個數(shù)據(jù)包標識就可以區(qū)分開來,后續(xù)接收端即第二應用處理器20即可將flag標識相同的各個子數(shù)據(jù)包進行歸類并重組成三個大數(shù)據(jù)包。
本實施例中,在確定數(shù)據(jù)包的容量值大于預設(shè)閾值時,才執(zhí)行拆分操作,防止數(shù)據(jù)包小于預設(shè)閾值時也進行拆分操作造成系統(tǒng)資源的浪費,而在對數(shù)據(jù)包進行拆分操作后,將同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包添加相同的標識信息,后續(xù)對端可根據(jù)相同的標識信息進行重組,防止轉(zhuǎn)發(fā)的數(shù)據(jù)包不完整,提高了數(shù)據(jù)包轉(zhuǎn)發(fā)準確性。
進一步地,基于第一實施例提出本發(fā)明數(shù)據(jù)包傳輸方法第三實施例。
數(shù)據(jù)包傳輸方法第三實施例與數(shù)據(jù)包傳輸方法第一實施例的區(qū)別在于,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,所述步驟s30包括:
所述第一應用處理器將不同標識信息的各個子數(shù)據(jù)包按照預設(shè)的順序緩存至所述預設(shè)接口的buffer中。
在本實施例中,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,此時,所述第一應用處理器10可將不同標識信息的各個子數(shù)據(jù)包按照預設(shè)順序緩存至所述預設(shè)接口的buffer中。本實施例中,所述隨機順序優(yōu)先與各個子數(shù)據(jù)包的生成順序一致,即在第一應用處理器10根據(jù)數(shù)據(jù)包拆分出一個子數(shù)據(jù)包,并對子數(shù)據(jù)包添加有標識信息之后,即可將該子數(shù)據(jù)包緩存至usb接口的buffer中。
應當理解的是,若當前提出的數(shù)據(jù)包包括多個數(shù)據(jù)包,那么拆分得到的子數(shù)據(jù)包也包括多個,并且不同數(shù)據(jù)包拆分后的子數(shù)據(jù)對應的標識信息不同,因此,當拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,所述第一應用處理器10可將不同標識信息的各個子數(shù)據(jù)包按照子數(shù)據(jù)包的生成順序依次緩存至所述usb接口的buffer中。后續(xù),所述第二應用處理器20從所述buffer中提取各個子數(shù)據(jù)包后,按照相同的標識信息進行子數(shù)據(jù)包的組合的方式為:第二應用處理器20從buffer中提取出各個子數(shù)據(jù)包,將提取的各個子數(shù)據(jù)包存儲至預設(shè)空間,然后在buffer中的各個子數(shù)據(jù)包提取完成后,依次識別提取的各個子數(shù)據(jù)包的標識信息,以將標識信息相同的子數(shù)據(jù)包合成一個大數(shù)據(jù)包。
為更好理解本實施例,舉例如下:
第一應用處理器10基于數(shù)據(jù)包獲取請求提取出x、y、z三個數(shù)據(jù)包時,對每個數(shù)據(jù)包進行拆分,以得到每個數(shù)據(jù)包對應的多個子數(shù)據(jù)包,如x數(shù)據(jù)包對應x1、x2、和x3,y數(shù)據(jù)包對應y1、y2、和y3,z數(shù)據(jù)包對應z1、z2、和z3,此時,若各個子數(shù)據(jù)包的生成順序依次是x1、z1、x2、y1……,那么,緩存到buffer的各個子數(shù)據(jù)包是就按照x1、z1、x2、y1的順序依次存儲。這種情況下,當?shù)诙锰幚砥?0從buffer中提取子數(shù)據(jù)包時,先將提取的各個子數(shù)據(jù)包預存起來,在提取完成后,依次識別提取的各個子數(shù)據(jù)包的標識信息,再將標識信息相同的子數(shù)據(jù)包合成一個大數(shù)據(jù)包,并通過第二射頻模塊23將合成后的大數(shù)據(jù)包上傳至基站。
在本實施例中,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,將不同標識信息的各個子數(shù)據(jù)包按照預設(shè)順序緩存至所述預設(shè)接口的buffer中,不需要非得同一個數(shù)據(jù)包拆分后的各個子數(shù)據(jù)包齊全之后,再全部緩存至usb接口的buffer中,而是先拆分出的子數(shù)據(jù)包先緩存,提高了數(shù)據(jù)包傳輸?shù)撵`活性。
進一步地,基于第三實施例提出本發(fā)明數(shù)據(jù)包傳輸方法第四實施例。
數(shù)據(jù)包傳輸方法第四實施例與數(shù)據(jù)包傳輸方法第三實施例的區(qū)別在于,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,所述步驟s30包括:
所述第一應用處理器將相同標識信息的各個子數(shù)據(jù)包歸為一類;
按照類別的順序,依次將同一類的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中。
在本實施例中,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,所述第一應用處理器10可先將相同標識信息的各個子數(shù)據(jù)包歸為一類,然后按照類別的順序,依次將同一類的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中。本實施例中,類別的順序優(yōu)選為先歸為一類的順序,也就是說,即使第一應用處理器10提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,并且對每個數(shù)據(jù)包拆分后得到對應的各個子數(shù)據(jù)包,所述第一應用處理器10還是可以先將相同標識信息的各個子數(shù)據(jù)包歸為一類,然后將按照類別的順序,將同一類的各個子數(shù)據(jù)包依次緩存至所述預設(shè)接口的buffer中,即將先歸為一類的子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中,最終完成所有類別的子數(shù)據(jù)包的緩存。
后續(xù),所述第二應用處理器20從所述buffer中提取各個子數(shù)據(jù)包,并按照相同的標識信息進行子數(shù)據(jù)包的組合的方式包括:第二應用處理器20從buffer中提取出子數(shù)據(jù)包,依次識別各個子數(shù)據(jù)包的標識信息,在識別到有新的子數(shù)據(jù)包與上一個子數(shù)據(jù)包的標識信息相同時,將該當前識別的子數(shù)據(jù)包與上一個子數(shù)據(jù)包歸為一類,并繼續(xù)識別下一個子數(shù)據(jù)包,直達識別到的子數(shù)據(jù)包與上一個子數(shù)據(jù)包的標識信息不同時,將之前標識信息相同的各個子數(shù)據(jù)包合成一個大數(shù)據(jù)包。
為更好理解本實施例,舉例如下:
第一應用處理器10基于數(shù)據(jù)包獲取請求提取出x、y、z三個數(shù)據(jù)包時,對每個數(shù)據(jù)包進行拆分,以得到每個數(shù)據(jù)包對應的多個子數(shù)據(jù)包,如x數(shù)據(jù)包對應x1、x2、和x3,y數(shù)據(jù)包對應y1、y2、和y3,z數(shù)據(jù)包對應z1、z2、和z3,此時,將x1、x2、和x3歸為一類,然后確定三類數(shù)據(jù)包哪類先拆分完成,若此時x類先拆分完成,即可將x1、x2、和x3依次緩存至所述usb的buffer中。后續(xù),所述第二應用處理器20從所述buffer中提取各個子數(shù)據(jù)包之后,將x1、x2、和x3歸為一類,并繼續(xù)識別下一個子數(shù)據(jù)包,若識別到下一個是y1,則將之前x1、x2、和x3的各個子數(shù)據(jù)包合成一個大數(shù)據(jù)包。
在本實施例中,在提取的數(shù)據(jù)包包括多個數(shù)據(jù)包,且拆分后的各個子數(shù)據(jù)包對應不同的標識信息時,將相同標識信息的各個子數(shù)據(jù)包歸為一類,最終按照類別的順序,依次將同一類的各個子數(shù)據(jù)包緩存至所述預設(shè)接口的buffer中,使得子數(shù)據(jù)包的傳輸,是按照順序緩存?zhèn)鬏數(shù)?,防止子?shù)據(jù)包出現(xiàn)遺漏的情況,提高了數(shù)據(jù)包傳輸?shù)臏蚀_性。
綜上所述,本發(fā)明實施例中,在移動終端100中的電信卡傳輸?shù)臄?shù)據(jù)包較大時,第一應用處理器10對數(shù)據(jù)包進行拆分,以改變數(shù)據(jù)包的期望值,后續(xù)緩存到buffer的數(shù)據(jù)包就不會超出buffer的容量值,那么,避免了大數(shù)據(jù)包傳輸導致死機的問題,同時對拆分成多個子數(shù)據(jù)包添加相同的標識信息,第二應用處理器20可根據(jù)標識信息進行重組,使得后續(xù)轉(zhuǎn)發(fā)的數(shù)據(jù)包是完整的數(shù)據(jù)包,避免了數(shù)據(jù)包轉(zhuǎn)發(fā)不完整的情況。
需要說明的是,在本文中,術(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)。