亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)包識別系統(tǒng)及方法與流程

文檔序號:11590218閱讀:217來源:國知局
數(shù)據(jù)包識別系統(tǒng)及方法與流程

本發(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的原因主要是:移動終端只有一套射頻,兩張卡使用該套射頻是分時復(fù)用的關(guān)系,并不能同時占用,由于兩張卡全開時,只有一張卡可以使用4g網(wǎng)絡(luò),另一張卡只能使用2g或3g網(wǎng)絡(luò),導(dǎo)致移動終端中數(shù)據(jù)傳輸?shù)男瘦^低。

因此,為了使移動終端可以支持雙lte,以提高數(shù)據(jù)傳輸效率,移動終端可與外接設(shè)備連接(該外接設(shè)備中設(shè)置有調(diào)制解調(diào)器),以實現(xiàn)雙lte通信功能。但是,目前移動終端和外接設(shè)備進行數(shù)據(jù)包傳輸過程中,如果移動設(shè)備還未喚醒,外接設(shè)備就發(fā)送數(shù)據(jù)包,由于移動終端還沒完全喚醒,數(shù)據(jù)包前面發(fā)送的內(nèi)容會丟失,那么移動終端接收到的數(shù)據(jù)包為殘包,導(dǎo)致移動終端無法響應(yīng)該數(shù)據(jù)包。



技術(shù)實現(xiàn)要素:

本發(fā)明的主要目的在于提出一種數(shù)據(jù)包識別系統(tǒng)及方法,旨在解決數(shù)據(jù)包傳輸之后,若是發(fā)生數(shù)據(jù)包內(nèi)容丟失,容易出現(xiàn)數(shù)據(jù)包無法響應(yīng)的技術(shù)問題。

為實現(xiàn)上述目的,本發(fā)明提供的一種數(shù)據(jù)包識別系統(tǒng),所述數(shù)據(jù)包識別系統(tǒng)包括移動終端,以及通過預(yù)設(shè)接口與所述移動終端連接的外接設(shè)備,所述移動終端包括內(nèi)嵌有虛擬用戶識別卡的第一應(yīng)用處理器、第一調(diào)制解調(diào)器、第一射頻模塊,以及與所述第一調(diào)制解調(diào)器連接的實體用戶識別卡,所述外接設(shè)備包括第二應(yīng)用處理器、第二調(diào)制解調(diào)器和第二射頻模塊;

所述第一應(yīng)用處理器,用于被喚醒時,接收第二應(yīng)用處理器通過所述預(yù)設(shè)接口發(fā)送的數(shù)據(jù)包;對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識;若所述包頭未攜帶預(yù)設(shè)的包頭標(biāo)識,則發(fā)送重發(fā)消息給所述第二應(yīng)用處理器,以供所述第二應(yīng)用處理器重新發(fā)送所述數(shù)據(jù)包至所述第一應(yīng)用處理器。

可選地,所述第一應(yīng)用處理器對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識具體包括:

解析所述包頭的第一字節(jié),以確定所述包頭的第一字節(jié)是否為預(yù)設(shè)字段;及/或計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預(yù)設(shè)條件;

若所述包頭的第一字節(jié)為預(yù)設(shè)字段,及/或所述長度滿足預(yù)設(shè)條件,則確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。

可選地,所述預(yù)設(shè)條件為:所述長度為所述數(shù)據(jù)包的長度與預(yù)設(shè)值的差值。

可選地,所述第一應(yīng)用處理器,還用于識別所述數(shù)據(jù)包的長度;

在所述數(shù)據(jù)包的長度大于預(yù)設(shè)長度值,才對接收的所述數(shù)據(jù)包的包頭進行識別。

可選地,所述第一應(yīng)用處理器,還用于若所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識,則發(fā)送確認消息給所述第二應(yīng)用處理器,以供所述第二應(yīng)用處理器繼續(xù)發(fā)送其它數(shù)據(jù)包至所述第一應(yīng)用處理器。

此外,為實現(xiàn)上述目的,本發(fā)明還提出一種數(shù)據(jù)包識別方法,應(yīng)用于移動終端以及通過預(yù)設(shè)接口與移動終端連接的外接設(shè)備,所述移動終端包括內(nèi)嵌有虛擬用戶識別卡的第一應(yīng)用處理器、第一調(diào)制解調(diào)器、第一射頻模塊,以及與所述第一調(diào)制解調(diào)器連接的實體用戶識別卡,所述外接設(shè)備包括第二應(yīng)用處理器、第二調(diào)制解調(diào)器和第二射頻模塊,所述方法包括:

第一應(yīng)用處理器被喚醒時,接收第二應(yīng)用處理器通過所述預(yù)設(shè)接口發(fā)送的數(shù)據(jù)包;

對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識;

若所述包頭未攜帶預(yù)設(shè)的包頭標(biāo)識,則發(fā)送重發(fā)消息給所述第二應(yīng)用處理器,以供所述第二應(yīng)用處理器重新發(fā)送所述數(shù)據(jù)包至所述第一應(yīng)用處理器。

可選地,所述對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識的步驟包括:

所述第一應(yīng)用處理器解析所述包頭的第一字節(jié),以確定所述包頭的第一字節(jié)是否為預(yù)設(shè)字段;及/或計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預(yù)設(shè)條件;

若所述包頭的第一字節(jié)為預(yù)設(shè)字段,及/或所述長度滿足預(yù)設(shè)條件,則確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。

可選地,所述預(yù)設(shè)條件為:所述長度為所述數(shù)據(jù)包的長度與預(yù)設(shè)值的差值。

可選地,所述對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識的步驟之前,所述方法還包括:

所述第一應(yīng)用處理器識別所述數(shù)據(jù)包的長度;

在所述數(shù)據(jù)包的長度大于預(yù)設(shè)長度值,才執(zhí)行所述對接收的所述數(shù)據(jù)包的包頭進行識別的步驟。

可選地,所述對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識的步驟之后,所述方法還包括:

若所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識,則所述第一應(yīng)用處理器發(fā)送確認消息給所述第二應(yīng)用處理器,以供所述第二應(yīng)用處理器繼續(xù)發(fā)送其它數(shù)據(jù)包至所述第一應(yīng)用處理器。

本發(fā)明提出的數(shù)據(jù)包識別系統(tǒng)及方法,所述數(shù)據(jù)包識別系統(tǒng)包括移動終端,以及通過預(yù)設(shè)接口與所述移動終端連接的外接設(shè)備,所述移動終端包括內(nèi)嵌有虛擬用戶識別卡的第一應(yīng)用處理器、第一調(diào)制解調(diào)器、第一射頻模塊,以及與所述第一調(diào)制解調(diào)器連接的實體用戶識別卡,所述外接設(shè)備包括第二應(yīng)用處理器、第二調(diào)制解調(diào)器和第二射頻模塊,所述第一應(yīng)用處理器被喚醒時,接收第二應(yīng)用處理器通過所述預(yù)設(shè)接口發(fā)送的數(shù)據(jù)包,并對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識,若所述包頭未攜帶預(yù)設(shè)的包頭標(biāo)識,則發(fā)送重發(fā)消息給所述第二應(yīng)用處理器,以供所述第二應(yīng)用處理器重新發(fā)送所述數(shù)據(jù)包至所述第一應(yīng)用處理器。本方案在移動終端中的第一應(yīng)用處理器被喚醒時,先對接收到的數(shù)據(jù)包的包頭進行識別,在識別所述包頭未攜帶有預(yù)設(shè)包頭標(biāo)識時,通知第二應(yīng)用處理器重新發(fā)送該數(shù)據(jù)包,即使數(shù)據(jù)包內(nèi)容丟失,第一應(yīng)用處理器也可以及時通知第二應(yīng)用處理器重新發(fā)送該數(shù)據(jù)包,及時響應(yīng)數(shù)據(jù)包,提高了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。

附圖說明

圖1為本發(fā)明一實施例的lte網(wǎng)絡(luò)架構(gòu)的示意圖;

圖2為本發(fā)明實施例中移動終端和外接設(shè)備通訊連接的一種通訊連接的實體示意圖;

圖3為本發(fā)明實施例中移動終端和外接設(shè)備通訊連接的一種硬件結(jié)構(gòu)示意圖;

圖4為本發(fā)明數(shù)據(jù)包識別方法第一實施例的流程示意圖;

圖5為本發(fā)明對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識的細化流程示意圖;

圖6為本發(fā)明數(shù)據(jù)包識別方法第四實施例的流程示意圖。

本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做說明。

具體實施方式

應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(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陸地?zé)o線接入網(wǎng))(圖中未標(biāo)號)、演進分組核心(epc)(圖中未標(biāo)號)、歸屬訂戶服務(wù)器(hss)107、網(wǎng)絡(luò)(例如,因特網(wǎng))(圖中未標(biāo)號)以及電路交換系統(tǒng)(圖中未標(biāo)號)。

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通過預(yù)設(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包括內(nèi)嵌有虛擬用戶識別卡10a的第一應(yīng)用處理器(applicationprocessor,用ap1表示)10、與實體用戶識別卡14連接的第一調(diào)制解調(diào)器11(modem1)、rpm(resourcepowermanager,資源電源管理器)15。

其中,虛擬用戶識別卡10a包括存儲模塊和虛擬片內(nèi)操作系統(tǒng)(virtualchipoperatingsystem,vcos),該存儲模塊可為efs(encryptingfilesystem,加密文件系統(tǒng)),存儲模塊用于存儲虛擬用戶識別卡10a的鑒權(quán)數(shù)據(jù)。所述實體用戶識別卡14為sim(subscriberidentitymodule,用戶識別模塊)卡。

外接設(shè)備200包括第二處理芯片002,以及與所述第二處理芯片002連接的第二射頻模塊22,其中,第二處理芯片002包括第二應(yīng)用處理器(用ap2表示)20和第二調(diào)制解調(diào)器(modem2)21。

第一應(yīng)用處理器10和第二應(yīng)用處理器20的內(nèi)部框架包括應(yīng)用層、框架層等,可處理復(fù)雜的邏輯操作以及進行任務(wù)分配等。在一個實施例中,應(yīng)用處理器指android操作系統(tǒng),以及基于android操作系統(tǒng)的各種apk(androidpackage,安卓安裝包)。在本發(fā)明的實施例中,第一應(yīng)用處理器10和第二應(yīng)用處理器20通過usb數(shù)據(jù)線300實現(xiàn)通訊連接,為用戶提供交互接口,將用戶輸入的操作指令(例如,用戶通過用戶界面輸入的有關(guān)啟動視頻通話的操作指令)傳輸給第一調(diào)制解調(diào)器11或第二調(diào)制解調(diào)器21,以實現(xiàn)兩個應(yīng)用處理器之間數(shù)據(jù)的定義與傳遞,例如,進行兩個應(yīng)用處理器的休眠、喚醒、同步的控制、開關(guān)機時芯片啟動順序的控制等。

應(yīng)當(dāng)理解的是,在本發(fā)明實施例中,usb數(shù)據(jù)線300復(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ù)線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)密鑰)等等。

本實施例中,第一應(yīng)用處理器10和第二應(yīng)用處理器20通過otg(on-the-go)技術(shù)進行數(shù)據(jù)交互。通過otg技術(shù),移動終端100中的第一調(diào)制解調(diào)器11可通過虛擬用戶識別卡10a或?qū)嶓w用戶識別卡14中的sim卡參數(shù)來接入enodeb101,外接設(shè)備中的第二調(diào)制解調(diào)器21也可通過實體用戶識別卡14或虛擬用戶識別卡10a中的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(longtermevolution,長期演進)/wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)/gsm(globalsystemformobilecommunication,全球移動通信系統(tǒng))/td-scdma(timedivision-synchronouscodedivisionmultipleaccess,同步時分碼分多址)/cdma(codedivisionmultipleaccess,碼分多址)/edge(enhanceddatarateforgsmevolution,強型數(shù)據(jù)速率gsm演進技術(shù))等通訊標(biāo)準(zhǔn)里邊規(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中的實體用戶識別卡14與第一調(diào)制解調(diào)器11連接,虛擬用戶識別卡10a以軟件的形式嵌在第一應(yīng)用處理器10中,虛擬用戶識別卡10a和實體用戶識別卡14存儲不同的無線通信標(biāo)準(zhǔn)相關(guān)聯(lián)用戶信息。應(yīng)當(dāng)理解,目前的移動終端只有一套射頻,移動終端內(nèi)部的兩個用戶識別卡使用該套射頻是分時復(fù)用的關(guān)系,并不能同時占用。例如,在兩張用戶識別卡全開時,一張卡可以處理gsm通話,另一張卡只能處理4g網(wǎng)絡(luò)信息,具體哪個用戶識別卡執(zhí)行何種網(wǎng)絡(luò),不做限定。因此目前的射頻雙卡分時復(fù)用這種架構(gòu)僅做到了lte+gsm(即一張用戶識別卡對應(yīng)的技術(shù)標(biāo)準(zhǔn)為lte,另一張用戶識別卡對應(yīng)的技術(shù)標(biāo)準(zhǔn)為gsm)。

也就是說,現(xiàn)有的移動終端100雖然可以支持雙用戶識別卡,但是移動終端100在注冊網(wǎng)絡(luò)的情況下,兩個用戶識別卡支持的是不同技術(shù)標(biāo)準(zhǔn)的網(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ò),因此本發(fā)明中,移動終端100可通過usb線300與外接設(shè)備200交互,從而使得移動終端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ā)送給第一應(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ā)送出去;而虛擬用戶識別卡10a通過第一調(diào)制解調(diào)器11支持lte,以實現(xiàn)移動終端100可支持雙lte。②虛擬用戶識別卡10a通過第二調(diào)制解調(diào)器21支持lte,具體過程為:第一應(yīng)用處理器10將虛擬用戶識別卡10a中需要訪問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。

在本發(fā)明實施例中,虛擬用戶識別卡10a和實體用戶識別卡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)生,當(dāng)開機檢測不到實體用戶識別卡14存在時,移動終端100將提示“插入用戶識別卡”。移動終端100開機之后,移動終端100和實體用戶識別卡14之間28秒通信一次,完成一些固定的通信檢查(例如,用戶識別卡是否在位等)。

需要說明的是,當(dāng)虛擬用戶識別卡10a需要進行網(wǎng)絡(luò)注冊時,通過開啟的無線保真(wifi)網(wǎng)絡(luò)發(fā)送包含業(yè)務(wù)菜單數(shù)據(jù)的下載請求至虛擬用戶識別卡10a對應(yīng)的云端服務(wù)器,以從云端服務(wù)器獲取虛擬用戶識別卡10a的數(shù)據(jù)信息。當(dāng)獲取到虛擬用戶識別卡10a的數(shù)據(jù)信息時,將數(shù)據(jù)信息寫入虛擬用戶識別卡10a的存儲模塊中,以實現(xiàn)虛擬用戶識別卡10a的網(wǎng)絡(luò)注冊。其中,數(shù)據(jù)信息可以包括:imsi、ki(keyidentifier,鑒權(quán)密鑰)、iccid(integratedcircuitcardidentifier)、pin(個人標(biāo)識號,personalidentificationnumber)、puk(pinunlockingkey)。可以理解的是,云端服務(wù)器中存儲了各個運營商的卡號資源。

在本發(fā)明的實施例中,虛擬用戶識別卡10a和實體用戶識別卡14承載信息,并且根據(jù)外界請求返回對應(yīng)卡參數(shù),以及對網(wǎng)絡(luò)進行鑒權(quán)運算,第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術(shù)為lte。當(dāng)移動終端100通過usb數(shù)據(jù)線300與外接設(shè)備200連接時,虛擬用戶識別卡10a可通過外接設(shè)備200中的第二調(diào)制解調(diào)器21支持lte,而實體用戶識別卡14通過第一調(diào)制解調(diào)器11支持lte;或者虛擬用戶識別卡10a可通過外接設(shè)備200中的第一調(diào)制解調(diào)器11支持lte,而實體用戶識別卡14通過第二調(diào)制解調(diào)器21支持lte,以實現(xiàn)移動終端100連接外接設(shè)備200情況下可支持雙lte。

移動終端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),當(dāng)各個子系統(tǒng)都投休眠票時,rpm15才可以使移動終端100整個系統(tǒng)進行休眠。

在移動終端100的整個系統(tǒng)休眠之后,若是要重新啟動運行,需要喚醒第一應(yīng)用處理器10以進行數(shù)據(jù)的傳輸交互。

在移動終端100和外接設(shè)備200通過usb數(shù)據(jù)線300通訊連接的情況下,喚醒方式包括三種:

1、第一應(yīng)用處理器10接收到控制信令數(shù)據(jù)時,通過usb數(shù)據(jù)線300傳送探測包給第二應(yīng)用處理器20,以喚醒第二應(yīng)用處理器20。

2、外接設(shè)備200的第二調(diào)制解調(diào)器21接收到用戶數(shù)據(jù)時,喚醒第二應(yīng)用處理器20,由第二應(yīng)用處理器20通過usb數(shù)據(jù)線300傳送探測包給第一應(yīng)用處理器10,以喚醒第一應(yīng)用處理器10。

3、第二調(diào)制解調(diào)器21周期性查找尋呼請求,以主動激活自己,若接收到尋呼請求,喚醒第二應(yīng)用處理器20,由第二應(yīng)用處理器20通過usb數(shù)據(jù)線300發(fā)送探測包給第一應(yīng)用處理器10,以喚醒第二應(yīng)用處理器20。

此外,第二調(diào)制解調(diào)器21還可以定期喚醒自己,以在移動終端100進行位置更新時,跟基站進行握手交互,此時不需要喚醒第一應(yīng)用處理器10。

基于上述lte網(wǎng)絡(luò)的架構(gòu)圖、以及移動終端100和外接設(shè)備200通訊連接的結(jié)構(gòu)示意圖,提出本發(fā)明的各個實施例。

參照圖3,本實施例提出一種數(shù)據(jù)包識別系統(tǒng),所述數(shù)據(jù)包識別系統(tǒng)包括移動終端100,以及通過預(yù)設(shè)接口與所述移動終端100連接的外接設(shè)備200,所述移動終端100包括內(nèi)嵌有虛擬用戶識別卡10a的第一應(yīng)用處理器10、第一調(diào)制解調(diào)器11、第一射頻模塊12,以及與所述第一調(diào)制解調(diào)器11連接的實體用戶識別卡14,所述外接設(shè)備200包括第二應(yīng)用處理器20、第二調(diào)制解調(diào)器21和第二射頻模塊22;

所述第一應(yīng)用處理器10,用于被喚醒時,接收第二應(yīng)用處理器20通過所述預(yù)設(shè)接口發(fā)送的數(shù)據(jù)包;

對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識;

若所述包頭未攜帶預(yù)設(shè)的包頭標(biāo)識,則發(fā)送重發(fā)消息給所述第二應(yīng)用處理器20,以供所述第二應(yīng)用處理器20重新發(fā)送所述數(shù)據(jù)包至所述第一應(yīng)用處理器10。

在本實施例中,所述第一應(yīng)用處理器10被喚醒,是通過預(yù)設(shè)接口接收第二應(yīng)用處理器20發(fā)送的探測包以實現(xiàn)喚醒的。后續(xù),第一應(yīng)用處理器10對數(shù)據(jù)包的識別,也是對通過預(yù)設(shè)接口接收到的數(shù)據(jù)包進行識別。其中,所述預(yù)設(shè)接口為usb接口。

首先,需要說明的是,在移動終端100和外接設(shè)備200都休眠之后,若外接設(shè)備200通過第二射頻模塊22接收到外部信號,外接設(shè)備200的第二射頻模塊22將外部信號傳輸至第二調(diào)制解調(diào)器21中,使得第二調(diào)制解調(diào)器21喚醒,第二調(diào)制解調(diào)器21喚醒之后,再喚醒第二應(yīng)用處理器20,從而實現(xiàn)外接設(shè)備200的喚醒。在外接設(shè)備200喚醒之后,外接設(shè)備200的第二應(yīng)用處理器20會通過usb數(shù)據(jù)線300發(fā)送探測包以喚醒移動終端100中的第一應(yīng)用處理器10,對于外接設(shè)備200的第二應(yīng)用處理器20而言,當(dāng)發(fā)送探測包給移動終端100的第一應(yīng)用處理器10之后,第二應(yīng)用處理器20認為第一應(yīng)用處理器10已經(jīng)被喚醒,此時,第二應(yīng)用處理器20會緊接著發(fā)送用戶數(shù)據(jù)或控制信令的數(shù)據(jù)包給移動終端100的第一應(yīng)用處理器10,以進行后續(xù)的數(shù)據(jù)交互過程。

但是實際過程中,當(dāng)?shù)谝粦?yīng)用處理器10發(fā)送探測包給第一應(yīng)用處理器10之后,第一應(yīng)用處理器10并沒有立刻被喚醒,而是需要一段時間從休眠狀態(tài)切換為喚醒狀態(tài)。此時,若是第二應(yīng)用處理器20緊接著發(fā)送數(shù)據(jù)包,由于第一應(yīng)用處理器10還未完全喚醒,會導(dǎo)致第一應(yīng)用處理器10接收到的數(shù)據(jù)包中,前面部分內(nèi)容丟失,造成接收到的數(shù)據(jù)包是不完整的數(shù)據(jù)包,也就是殘包。

為更好理解,舉例如下:外接設(shè)備200的第二應(yīng)用處理器20通過usb數(shù)據(jù)線300發(fā)送數(shù)據(jù)包給第一應(yīng)用處理器10,該數(shù)據(jù)包為512個字節(jié),在前36個字節(jié)的發(fā)送過程中,由于移動終端100的第一應(yīng)用處理器10還沒完全被喚醒,在第37個字節(jié)才真正喚醒,此時,第一應(yīng)用處理器10無法接收到前36個字節(jié),那么移動終端100接收到的數(shù)據(jù)包就是殘包,由于移動終端100根本就無法識別該數(shù)據(jù)包,導(dǎo)致移動終端100也無法響應(yīng)該數(shù)據(jù)包,造成外接設(shè)備200遲遲得不到回復(fù),導(dǎo)致數(shù)據(jù)傳輸不準(zhǔn)確。

因此,本實施例中,當(dāng)?shù)谝粦?yīng)用處理器10被喚醒之后,若接收到第二應(yīng)用處理器20通過所述預(yù)設(shè)接口發(fā)送的數(shù)據(jù)包,先對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識。應(yīng)當(dāng)理解,包頭中攜帶有多個字節(jié),具體的個數(shù)不做限定。

本實施例中,所述第一應(yīng)用處理器10對接收到的數(shù)據(jù)包的包頭進行識別,具體為解析出所述數(shù)據(jù)包,然后對解析出的數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識,具體的識別方式在下文實施例中詳述。

當(dāng)?shù)谝粦?yīng)用處理器10識別出包頭未攜帶預(yù)設(shè)的包頭標(biāo)識時,發(fā)送重發(fā)消息給所述第二應(yīng)用處理器20,以供所述第二應(yīng)用處理器20重新發(fā)送所述數(shù)據(jù)包至所述第一應(yīng)用處理器10。

即,第一應(yīng)用處理器10識別出包頭未攜帶預(yù)設(shè)的包頭標(biāo)識時,說明當(dāng)前接收到的數(shù)據(jù)包的已經(jīng)發(fā)生了內(nèi)容丟失,無法對該數(shù)據(jù)包進行識別,也無法反饋響應(yīng)的數(shù)據(jù)包,因此,所述第一應(yīng)用處理器10通過所述usb數(shù)據(jù)線300發(fā)送重發(fā)消息給所述第二應(yīng)用處理器20,以供所述第二應(yīng)用處理器20重新發(fā)送所述數(shù)據(jù)包至所述第一應(yīng)用處理器10,例如,第一應(yīng)用處理器10發(fā)送應(yīng)答消息“err”給第二應(yīng)用處理器20,告知第二應(yīng)用處理器20之前發(fā)送的數(shù)據(jù)包有誤,以便第二應(yīng)用處理器20重新發(fā)送該數(shù)據(jù)包。本實施例中,所述重新消息的形式不做限定,可以是一個短消息如“err”或“retry”,也可以是一個預(yù)設(shè)字段,如“0001”,具體根據(jù)實際情況設(shè)定。

本實施例中,相當(dāng)于是當(dāng)?shù)谝粦?yīng)用處理器10識別出數(shù)據(jù)包為殘包時,即檢測到數(shù)據(jù)包中沒有攜帶包頭標(biāo)記,此時,會給第二應(yīng)用處理器20反饋一個應(yīng)答err,第一應(yīng)用處理器10通過usb數(shù)據(jù)線300將應(yīng)答err傳送給外接設(shè)備200的第二應(yīng)用處理器20,此時,第二應(yīng)用處理器20基于接收到的應(yīng)答err,通過usb數(shù)據(jù)線300重新發(fā)送該數(shù)據(jù)包給第一應(yīng)用處理器10,以完成數(shù)據(jù)的交互。

本實施例提出的數(shù)據(jù)包識別系統(tǒng),所述數(shù)據(jù)包識別系統(tǒng)包括移動終端,以及通過預(yù)設(shè)接口與所述移動終端連接的外接設(shè)備,所述移動終端包括內(nèi)嵌有虛擬用戶識別卡的第一應(yīng)用處理器、第一調(diào)制解調(diào)器、第一射頻模塊,以及與所述第一調(diào)制解調(diào)器連接的實體用戶識別卡,所述外接設(shè)備包括第二應(yīng)用處理器、第二調(diào)制解調(diào)器和第二射頻模塊,所述第一應(yīng)用處理器被喚醒時,接收第二應(yīng)用處理器通過所述預(yù)設(shè)接口發(fā)送的數(shù)據(jù)包,并對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識,若所述包頭未攜帶預(yù)設(shè)的包頭標(biāo)識,則發(fā)送重發(fā)消息給所述第二應(yīng)用處理器,以供所述第二應(yīng)用處理器重新發(fā)送所述數(shù)據(jù)包至所述第一應(yīng)用處理器。本方案在移動終端中的第一應(yīng)用處理器被喚醒時,先對接收到的數(shù)據(jù)包的包頭進行識別,在識別所述包頭未攜帶有預(yù)設(shè)包頭標(biāo)識時,通知第二應(yīng)用處理器重新發(fā)送該數(shù)據(jù)包,即使數(shù)據(jù)包內(nèi)容丟失,第一應(yīng)用處理器也可以及時通知第二應(yīng)用處理器重新發(fā)送該數(shù)據(jù)包,及時響應(yīng)數(shù)據(jù)包,提高了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。

進一步地,提出本發(fā)明數(shù)據(jù)包識別系統(tǒng)第二實施例。

數(shù)據(jù)包識別系統(tǒng)第二實施例與數(shù)據(jù)包識別系統(tǒng)第一實施例的區(qū)別在于,所述第一應(yīng)用處理器10對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識具體包括:

所述第一應(yīng)用處理器10解析所述包頭的第一字節(jié),以確定所述包頭的第一字節(jié)是否為預(yù)設(shè)字段;及/或計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預(yù)設(shè)條件;

若所述包頭的第一字節(jié)為預(yù)設(shè)字段,及/或所述長度滿足預(yù)設(shè)條件,則確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。

在本實施例中,所述預(yù)設(shè)條件優(yōu)選為:所述長度為所述數(shù)據(jù)包的長度與預(yù)設(shè)值的差值。即,計算所述包頭的第二字節(jié)和第三字節(jié)的長度之后,判斷所述長度是否滿足預(yù)設(shè)條件,具體是:計算數(shù)據(jù)包的長度,然后將數(shù)據(jù)包的長度減去預(yù)設(shè)值,以得到所述數(shù)據(jù)包的長度與預(yù)設(shè)值的差值,其中,所述預(yù)設(shè)值不做限定,例如為1,在得到差值之后,再將第二字節(jié)和第三字節(jié)的長度與所述差值進行比較,以確定所述長度是否與所述差值相等,若相等,說明第二字節(jié)和第三字節(jié)的長度滿足條件。

一般情況下,用戶數(shù)據(jù)或控制信令數(shù)據(jù)對應(yīng)的數(shù)據(jù)包的首字節(jié)為預(yù)設(shè)字段,所述預(yù)設(shè)字段不做限定,例如字段“0x01”,且第2、3字節(jié)共同表征一個長度,值為整個數(shù)據(jù)包的長度減預(yù)設(shè)值,例如預(yù)設(shè)值為1。因此,第一應(yīng)用處理器10在對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識,實際上就是確定包頭的首字節(jié)是否為預(yù)設(shè)字段,以及第2、3字節(jié)的長度是否為整個數(shù)據(jù)包的長度減預(yù)設(shè)值。若識別出包頭的首字節(jié)為預(yù)設(shè)字段0x01,且第2、3字節(jié)的值為整個數(shù)據(jù)包的長度減1,此時,第一應(yīng)用處理器10認為數(shù)據(jù)包中攜帶有包頭標(biāo)記,認為該包是有效的數(shù)據(jù)包。

本實施例中,包括三種實施方式:

1)方式一、解析所述包頭的第一字節(jié),以確定所述包頭的第一字節(jié)是否為預(yù)設(shè)字段;若所述包頭的第一字節(jié)為預(yù)設(shè)字段,則確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。

2)方式二、計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預(yù)設(shè)條件;若所述長度滿足預(yù)設(shè)條件,則確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。

3)方式三、解析所述包頭的第一字節(jié),以確定所述包頭的第一字節(jié)是否為預(yù)設(shè)字段;以及計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預(yù)設(shè)條件;若所述包頭的第一字節(jié)為預(yù)設(shè)字段,且所述長度滿足預(yù)設(shè)條件,則確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。

本發(fā)明實施例中,可以根據(jù)具體需要設(shè)置上述三種方式的任意一種,但是為了提高數(shù)據(jù)包識別的準(zhǔn)確性,優(yōu)選采用方式三。

在采用方式三的情況下,所述第一應(yīng)用處理器10接收到數(shù)據(jù)包之后,可采用多線程分析數(shù)據(jù)包的包頭,即通過一個線程解析包頭的第一字節(jié),以確定所述包頭的第一字節(jié)是否為預(yù)設(shè)字段。同時,通過另一個線程計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預(yù)設(shè)條件,當(dāng)所述包頭的第一字節(jié)為預(yù)設(shè)字段,且所述長度滿足預(yù)設(shè)條件,才確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。

應(yīng)當(dāng)理解,采用多線程對包頭中的各個字節(jié)進行并行分析,無須一個個先后分析,縮短了分析的時間,提高了分析的效率。

或者,所述第一應(yīng)用處理器10接收到數(shù)據(jù)包之后,先解析包頭的第一節(jié)點,以確定所述包頭的第一字節(jié)是否為預(yù)設(shè)字段,當(dāng)所述包頭的第一字節(jié)為預(yù)設(shè)字段時,才計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預(yù)設(shè)條件,并在所述長度滿足預(yù)設(shè)條件,則確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。需要注意的是,當(dāng)所述包頭的第一字節(jié)不為預(yù)設(shè)字段,此時,就無須再判斷第二字節(jié)和第三字節(jié)的長度,直接認定包頭中未攜帶包頭標(biāo)識即可。

可以理解,通過這種前后判斷的方式,可以在第一字節(jié)符合要求的情況下再繼續(xù)判斷第二字節(jié)和第三字節(jié),防止第一字節(jié)不滿足要求的情況下,還花費資源去進行判斷,從而提高了數(shù)據(jù)包分析的智能性,也避免了資源的浪費。

進一步地,提出本發(fā)明數(shù)據(jù)包識別系統(tǒng)第三實施例。

數(shù)據(jù)包識別系統(tǒng)第三實施例與數(shù)據(jù)包識別系統(tǒng)第一實施例的區(qū)別在于,所述第一應(yīng)用處理器10,還用于識別所述數(shù)據(jù)包的長度;

在所述數(shù)據(jù)包的長度大于預(yù)設(shè)長度值,才對接收的所述數(shù)據(jù)包的包頭進行識別。

在本實施例中,所述第一應(yīng)用處理器10被喚醒后接收到數(shù)據(jù)包時,先識別該數(shù)據(jù)包的長度,然后獲取預(yù)設(shè)長度值,將識別的數(shù)據(jù)包的長度與預(yù)設(shè)長度值進行比對,以確定所述數(shù)據(jù)包的長度是否大于預(yù)設(shè)長度值,若所述數(shù)據(jù)包的長度大于預(yù)設(shè)長度值,所述第一應(yīng)用處理器10才對接收的所述數(shù)據(jù)包的包頭進行識別,若是識別出所述數(shù)據(jù)包的長度小于或等于預(yù)設(shè)長度值,此時可不對接收的所述數(shù)據(jù)包的包頭進行識別。

此處需要說明的是,用戶數(shù)據(jù)或控制信令數(shù)據(jù)對應(yīng)的數(shù)據(jù)包(data)的長度一般大于6個字節(jié)對應(yīng)的長度,而應(yīng)答消息對應(yīng)的數(shù)據(jù)包(ack)的長度一般是4或者6個字節(jié)。

因此,當(dāng)?shù)谝粦?yīng)用處理器10被喚醒后接收到數(shù)據(jù)包時,先通過包長度判斷該數(shù)據(jù)包是ack還是data,若檢測出該數(shù)據(jù)包沒有大于6字節(jié)對應(yīng)的長度,即可確認該數(shù)據(jù)包是ack,此時說明外接設(shè)備200的第二應(yīng)用處理器20還沒發(fā)送data,因此不會出現(xiàn)上述的丟包情況,當(dāng)檢測出該數(shù)據(jù)包大于6個字節(jié)對應(yīng)的長度時,才會對該數(shù)據(jù)包的包頭進行解析。

可以理解,本實施例中,在接收到數(shù)據(jù)包之后,第一應(yīng)用處理器10先對數(shù)據(jù)包的長度進行解析,以確定該數(shù)據(jù)包的類型,從而決定是否對該數(shù)據(jù)包的包頭進行解析,防止所有的數(shù)據(jù)包都進行包頭解析,從而提高了數(shù)據(jù)包識別的智能性。

進一步地,提出本發(fā)明數(shù)據(jù)包識別系統(tǒng)第四實施例。

數(shù)據(jù)包識別系統(tǒng)第四實施例與數(shù)據(jù)包識別系統(tǒng)第一至第三實施例的區(qū)別在于,所述第一應(yīng)用處理器10,還用于若所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識,則發(fā)送確認消息給所述第二應(yīng)用處理器20,以供所述第二應(yīng)用處理器20繼續(xù)發(fā)送其它數(shù)據(jù)包至所述第一應(yīng)用處理器10。

即本實施例中,第一應(yīng)用處理器10若識別出包頭并沒有上述的包頭標(biāo)識,此時,認為該數(shù)據(jù)包是殘包,在檢驗出該數(shù)據(jù)包為殘包之后,會采用數(shù)據(jù)應(yīng)答機制進行反饋,以供第二應(yīng)用處理器20根據(jù)第一應(yīng)用處理器10反饋的數(shù)據(jù)應(yīng)答機制決定繼續(xù)發(fā)包,還是重新發(fā)送數(shù)據(jù)包,具體地:

當(dāng)?shù)谝粦?yīng)用處理器10識別出數(shù)據(jù)包為有效的數(shù)據(jù)包時,也就是檢測出數(shù)據(jù)包中攜帶有包頭標(biāo)記時,此時,會給第二應(yīng)用處理器20反饋一個應(yīng)答ok,以通知第二應(yīng)用處理器20當(dāng)前接收到的數(shù)據(jù)包是完整的數(shù)據(jù)包,具體地:第一應(yīng)用處理器10通過usb數(shù)據(jù)線300將應(yīng)答ok傳送給外接設(shè)備200的第二應(yīng)用處理器20,此時,第二應(yīng)用處理器20根據(jù)第一應(yīng)用處理器10反饋的應(yīng)答ok,通過usb數(shù)據(jù)線300繼續(xù)發(fā)送其它的數(shù)據(jù)包給第一應(yīng)用處理器10,以完成數(shù)據(jù)包發(fā)送操作。

本實施例中,在識別出所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識,則發(fā)送確認消息給所述第二應(yīng)用處理器20,以供所述第二應(yīng)用處理器20繼續(xù)發(fā)送其它數(shù)據(jù)包至所述第一應(yīng)用處理器10,從而完成數(shù)據(jù)的傳輸過程。

本發(fā)明進一步提供一種數(shù)據(jù)包識別方法。

參照圖4,圖4為本發(fā)明數(shù)據(jù)包識別方法較佳實施例的流程示意圖。

本實施例提出一種數(shù)據(jù)包識別方法,在本實施例中,提供了數(shù)據(jù)包識別方法的實施例,需要說明的是,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。

本發(fā)明中,數(shù)據(jù)包識別方法應(yīng)用于通過預(yù)設(shè)接口與外接設(shè)備200連接的移動終端100,所述移動終端100包括內(nèi)嵌有虛擬用戶識別卡10a的第一應(yīng)用處理器10、第一調(diào)制解調(diào)器11、第一射頻模塊12,以及與所述第一調(diào)制解調(diào)器11連接的實體用戶識別卡14,所述外接設(shè)備200包括第二應(yīng)用處理器20、第二調(diào)制解調(diào)器21和第二射頻模塊22,所述方法包括:

步驟s10,第一應(yīng)用處理器10被喚醒時,接收第二應(yīng)用處理器20通過所述預(yù)設(shè)接口發(fā)送的數(shù)據(jù)包;

步驟s20,對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識;

步驟s30,若所述包頭未攜帶預(yù)設(shè)的包頭標(biāo)識,則發(fā)送重發(fā)消息給所述第二應(yīng)用處理器20,以供所述第二應(yīng)用處理器20重新發(fā)送所述數(shù)據(jù)包至所述第一應(yīng)用處理器10。

在本實施例中,所述第一應(yīng)用處理器10被喚醒,是通過預(yù)設(shè)接口接收第二應(yīng)用處理器20發(fā)送的探測包以實現(xiàn)喚醒的。后續(xù),第一應(yīng)用處理器10對數(shù)據(jù)包的識別,也是對通過預(yù)設(shè)接口接收到的數(shù)據(jù)包進行識別。其中,所述預(yù)設(shè)接口為usb接口。

首先,需要說明的是,在移動終端100和外接設(shè)備200都休眠之后,若外接設(shè)備200通過第二射頻模塊22接收到外部信號,外接設(shè)備200的第二射頻模塊22將外部信號傳輸至第二調(diào)制解調(diào)器21中,使得第二調(diào)制解調(diào)器21喚醒,第二調(diào)制解調(diào)器21喚醒之后,再喚醒第二應(yīng)用處理器20,從而實現(xiàn)外接設(shè)備200的喚醒。在外接設(shè)備200喚醒之后,外接設(shè)備200的第二應(yīng)用處理器20會通過usb數(shù)據(jù)線300發(fā)送探測包以喚醒移動終端100中的第一應(yīng)用處理器10,對于外接設(shè)備200的第二應(yīng)用處理器20而言,當(dāng)發(fā)送探測包給移動終端100的第一應(yīng)用處理器10之后,第二應(yīng)用處理器20認為第一應(yīng)用處理器10已經(jīng)被喚醒,此時,第二應(yīng)用處理器20會緊接著發(fā)送用戶數(shù)據(jù)或控制信令的數(shù)據(jù)包給移動終端100的第一應(yīng)用處理器10,以進行后續(xù)的數(shù)據(jù)交互過程。

但是實際過程中,當(dāng)?shù)谝粦?yīng)用處理器10發(fā)送探測包給第一應(yīng)用處理器10之后,第一應(yīng)用處理器10并沒有立刻被喚醒,而是需要一段時間從休眠狀態(tài)切換為喚醒狀態(tài)。此時,若是第二應(yīng)用處理器20緊接著發(fā)送數(shù)據(jù)包,由于第一應(yīng)用處理器10還未完全喚醒,會導(dǎo)致第一應(yīng)用處理器10接收到的數(shù)據(jù)包中,前面部分內(nèi)容丟失,造成接收到的數(shù)據(jù)包是不完整的數(shù)據(jù)包,也就是殘包。

為更好理解,舉例如下:外接設(shè)備200的第二應(yīng)用處理器20通過usb數(shù)據(jù)線300發(fā)送數(shù)據(jù)包給第一應(yīng)用處理器10,該數(shù)據(jù)包為512個字節(jié),在前36個字節(jié)的發(fā)送過程中,由于移動終端100的第一應(yīng)用處理器10還沒完全被喚醒,在第37個字節(jié)才真正喚醒,此時,第一應(yīng)用處理器10無法接收到前36個字節(jié),那么移動終端100接收到的數(shù)據(jù)包就是殘包,由于移動終端100根本就無法識別該數(shù)據(jù)包,導(dǎo)致移動終端100也無法響應(yīng)該數(shù)據(jù)包,造成外接設(shè)備200遲遲得不到回復(fù),導(dǎo)致數(shù)據(jù)傳輸不準(zhǔn)確。

因此,本實施例中,當(dāng)?shù)谝粦?yīng)用處理器10被喚醒之后,若接收到第二應(yīng)用處理器20通過所述預(yù)設(shè)接口發(fā)送的數(shù)據(jù)包,先對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識。應(yīng)當(dāng)理解,包頭中攜帶有多個字節(jié),具體的個數(shù)不做限定。

本實施例中,所述第一應(yīng)用處理器10對接收到的數(shù)據(jù)包的包頭進行識別,具體為解析出所述數(shù)據(jù)包,然后對解析出的數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識,具體的識別方式在下文實施例中詳述。

當(dāng)?shù)谝粦?yīng)用處理器10識別出包頭未攜帶預(yù)設(shè)的包頭標(biāo)識時,發(fā)送重發(fā)消息給所述第二應(yīng)用處理器20,以供所述第二應(yīng)用處理器20重新發(fā)送所述數(shù)據(jù)包至所述第一應(yīng)用處理器10。

即,第一應(yīng)用處理器10識別出包頭未攜帶預(yù)設(shè)的包頭標(biāo)識時,說明當(dāng)前接收到的數(shù)據(jù)包的已經(jīng)發(fā)生了內(nèi)容丟失,無法對該數(shù)據(jù)包進行識別,也無法反饋響應(yīng)的數(shù)據(jù)包,因此,所述第一應(yīng)用處理器10通過所述usb數(shù)據(jù)線300發(fā)送重發(fā)消息給所述第二應(yīng)用處理器20,以供所述第二應(yīng)用處理器20重新發(fā)送所述數(shù)據(jù)包至所述第一應(yīng)用處理器10,例如,第一應(yīng)用處理器10發(fā)送應(yīng)答消息“err”給第二應(yīng)用處理器20,告知第二應(yīng)用處理器20之前發(fā)送的數(shù)據(jù)包有誤,以便第二應(yīng)用處理器20重新發(fā)送該數(shù)據(jù)包。本實施例中,所述重新消息的形式不做限定,可以是一個短消息如“err”或“retry”,也可以是一個預(yù)設(shè)字段,如“0001”,具體根據(jù)實際情況設(shè)定。

本實施例中,相當(dāng)于是當(dāng)?shù)谝粦?yīng)用處理器10識別出數(shù)據(jù)包為殘包時,即檢測到數(shù)據(jù)包中沒有攜帶包頭標(biāo)記,此時,會給第二應(yīng)用處理器20反饋一個應(yīng)答err,第一應(yīng)用處理器10通過usb數(shù)據(jù)線300將應(yīng)答err傳送給外接設(shè)備200的第二應(yīng)用處理器20,此時,第二應(yīng)用處理器20基于接收到的應(yīng)答err,通過usb數(shù)據(jù)線300重新發(fā)送該數(shù)據(jù)包給第一應(yīng)用處理器10,以完成數(shù)據(jù)的交互。

本實施例提出的數(shù)據(jù)包識別方法,第一應(yīng)用處理器被喚醒時,接收第二應(yīng)用處理器通過所述預(yù)設(shè)接口發(fā)送的數(shù)據(jù)包,并對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識,若所述包頭未攜帶預(yù)設(shè)的包頭標(biāo)識,則發(fā)送重發(fā)消息給所述第二應(yīng)用處理器,以供所述第二應(yīng)用處理器重新發(fā)送所述數(shù)據(jù)包至所述第一應(yīng)用處理器。本方案在移動終端中的第一應(yīng)用處理器被喚醒時,先對接收到的數(shù)據(jù)包的包頭進行識別,在識別所述包頭未攜帶有預(yù)設(shè)包頭標(biāo)識時,通知第二應(yīng)用處理器重新發(fā)送該數(shù)據(jù)包,即使數(shù)據(jù)包內(nèi)容丟失,第一應(yīng)用處理器也可以及時通知第二應(yīng)用處理器重新發(fā)送該數(shù)據(jù)包,及時響應(yīng)數(shù)據(jù)包,提高了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。

進一步地,提出本發(fā)明數(shù)據(jù)包識別方法第二實施例。

數(shù)據(jù)包識別方法第二實施例與數(shù)據(jù)包識別方法第一實施例的區(qū)別在于,參照圖5,所述步驟s20包括:

步驟s21,所述第一應(yīng)用處理10器解析所述包頭的第一字節(jié),以確定所述包頭的第一字節(jié)是否為預(yù)設(shè)字段;及/或計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預(yù)設(shè)條件;

步驟s22,若所述包頭的第一字節(jié)為預(yù)設(shè)字段,及/或所述長度滿足預(yù)設(shè)條件,則確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。

在本實施例中,所述預(yù)設(shè)條件優(yōu)選為:所述長度為所述數(shù)據(jù)包的長度與預(yù)設(shè)值的差值。即,計算所述包頭的第二字節(jié)和第三字節(jié)的長度之后,判斷所述長度是否滿足預(yù)設(shè)條件,具體是:計算數(shù)據(jù)包的長度,然后將數(shù)據(jù)包的長度減去預(yù)設(shè)值,以得到所述數(shù)據(jù)包的長度與預(yù)設(shè)值的差值,其中,所述預(yù)設(shè)值不做限定,例如為1,在得到差值之后,再將第二字節(jié)和第三字節(jié)的長度與所述差值進行比較,以確定所述長度是否與所述差值相等,若相等,說明第二字節(jié)和第三字節(jié)的長度滿足條件。

一般情況下,用戶數(shù)據(jù)或控制信令數(shù)據(jù)對應(yīng)的數(shù)據(jù)包的首字節(jié)為預(yù)設(shè)字段,所述預(yù)設(shè)字段不做限定,例如字段“0x01”,且第2、3字節(jié)共同表征一個長度,值為整個數(shù)據(jù)包的長度減預(yù)設(shè)值,例如預(yù)設(shè)值為1。因此,第一應(yīng)用處理器10在對接收的所述數(shù)據(jù)包的包頭進行識別,以確定所述包頭是否攜帶有預(yù)設(shè)的包頭標(biāo)識,實際上就是確定包頭的首字節(jié)是否為預(yù)設(shè)字段,以及第2、3字節(jié)的長度是否為整個數(shù)據(jù)包的長度減預(yù)設(shè)值。若識別出包頭的首字節(jié)為預(yù)設(shè)字段0x01,且第2、3字節(jié)的值為整個數(shù)據(jù)包的長度減1,此時,第一應(yīng)用處理器10認為數(shù)據(jù)包中攜帶有包頭標(biāo)記,認為該包是有效的數(shù)據(jù)包。

本實施例中,包括三種實施方式:

1)方式一、解析所述包頭的第一字節(jié),以確定所述包頭的第一字節(jié)是否為預(yù)設(shè)字段;若所述包頭的第一字節(jié)為預(yù)設(shè)字段,則確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。

2)方式二、計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預(yù)設(shè)條件;若所述長度滿足預(yù)設(shè)條件,則確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。

3)方式三、解析所述包頭的第一字節(jié),以確定所述包頭的第一字節(jié)是否為預(yù)設(shè)字段;以及計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預(yù)設(shè)條件;若所述包頭的第一字節(jié)為預(yù)設(shè)字段,且所述長度滿足預(yù)設(shè)條件,則確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。

本發(fā)明實施例中,可以根據(jù)具體需要設(shè)置上述三種方式的任意一種,但是為了提高數(shù)據(jù)包識別的準(zhǔn)確性,優(yōu)選采用方式三。

在采用方式三的情況下,所述第一應(yīng)用處理器10接收到數(shù)據(jù)包之后,可采用多線程分析數(shù)據(jù)包的包頭,即通過一個線程解析包頭的第一字節(jié),以確定所述包頭的第一字節(jié)是否為預(yù)設(shè)字段。同時,通過另一個線程計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預(yù)設(shè)條件,當(dāng)所述包頭的第一字節(jié)為預(yù)設(shè)字段,且所述長度滿足預(yù)設(shè)條件,才確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。

應(yīng)當(dāng)理解,采用多線程對包頭中的各個字節(jié)進行并行分析,無須一個個先后分析,縮短了分析的時間,提高了分析的效率。

或者,所述第一應(yīng)用處理器10接收到數(shù)據(jù)包之后,先解析包頭的第一節(jié)點,以確定所述包頭的第一字節(jié)是否為預(yù)設(shè)字段,當(dāng)所述包頭的第一字節(jié)為預(yù)設(shè)字段時,才計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預(yù)設(shè)條件,并在所述長度滿足預(yù)設(shè)條件,則確定所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識。需要注意的是,當(dāng)所述包頭的第一字節(jié)不為預(yù)設(shè)字段,此時,就無須再判斷第二字節(jié)和第三字節(jié)的長度,直接認定包頭中未攜帶包頭標(biāo)識即可。

可以理解,通過這種前后判斷的方式,可以在第一字節(jié)符合要求的情況下再繼續(xù)判斷第二字節(jié)和第三字節(jié),防止第一字節(jié)不滿足要求的情況下,還花費資源去進行判斷,從而提高了數(shù)據(jù)包分析的智能性,也避免了資源的浪費。

進一步地,提出本發(fā)明數(shù)據(jù)包識別方法第三實施例。

數(shù)據(jù)包識別方法第三實施例與數(shù)據(jù)包識別方法第一實施例的區(qū)別在于,所述步驟s20之前,所述方法還包括:

步驟a,所述第一應(yīng)用處理器10識別所述數(shù)據(jù)包的長度;

步驟b,在所述數(shù)據(jù)包的長度大于預(yù)設(shè)長度值,才執(zhí)行所述對接收的所述數(shù)據(jù)包的包頭進行識別的步驟。

在本實施例中,所述第一應(yīng)用處理器10被喚醒后接收到數(shù)據(jù)包時,先識別該數(shù)據(jù)包的長度,然后獲取預(yù)設(shè)長度值,將識別的數(shù)據(jù)包的長度與預(yù)設(shè)長度值進行比對,以確定所述數(shù)據(jù)包的長度是否大于預(yù)設(shè)長度值,若所述數(shù)據(jù)包的長度大于預(yù)設(shè)長度值,所述第一應(yīng)用處理器10才對接收的所述數(shù)據(jù)包的包頭進行識別,若是識別出所述數(shù)據(jù)包的長度小于或等于預(yù)設(shè)長度值,此時可不對接收的所述數(shù)據(jù)包的包頭進行識別。

此處需要說明的是,用戶數(shù)據(jù)或控制信令數(shù)據(jù)對應(yīng)的數(shù)據(jù)包(data)的長度一般大于6個字節(jié)對應(yīng)的長度,而應(yīng)答消息對應(yīng)的數(shù)據(jù)包(ack)的長度一般是4或者6個字節(jié)。

因此,當(dāng)?shù)谝粦?yīng)用處理器10被喚醒后接收到數(shù)據(jù)包時,先通過包長度判斷該數(shù)據(jù)包是ack還是data,若檢測出該數(shù)據(jù)包沒有大于6字節(jié)對應(yīng)的長度,即可確認該數(shù)據(jù)包是ack,此時說明外接設(shè)備200的第二應(yīng)用處理器20還沒發(fā)送data,因此不會出現(xiàn)上述的丟包情況,當(dāng)檢測出該數(shù)據(jù)包大于6個字節(jié)對應(yīng)的長度時,才會對該數(shù)據(jù)包的包頭進行解析。

可以理解,本實施例中,在接收到數(shù)據(jù)包之后,第一應(yīng)用處理器10先對數(shù)據(jù)包的長度進行解析,以確定該數(shù)據(jù)包的類型,從而決定是否對該數(shù)據(jù)包的包頭進行解析,防止所有的數(shù)據(jù)包都進行包頭解析,從而提高了數(shù)據(jù)包識別的智能性。

進一步地,提出本發(fā)明數(shù)據(jù)包識別方法第四實施例。

數(shù)據(jù)包識別方法第四實施例與數(shù)據(jù)包識別方法第一至第三實施例的區(qū)別在于,參照圖6,所述步驟s20之后,所述方法還包括:

步驟s40,若所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識,則所述第一應(yīng)用處理器10發(fā)送確認消息給所述第二應(yīng)用處理器20,以供所述第二應(yīng)用處理器20繼續(xù)發(fā)送其它數(shù)據(jù)包至所述第一應(yīng)用處理器10。

即本實施例中,第一應(yīng)用處理器10若識別出包頭并沒有上述的包頭標(biāo)識,此時,認為該數(shù)據(jù)包是殘包,在檢驗出該數(shù)據(jù)包為殘包之后,會采用數(shù)據(jù)應(yīng)答機制進行反饋,以供第二應(yīng)用處理器20根據(jù)第一應(yīng)用處理器10反饋的數(shù)據(jù)應(yīng)答機制決定繼續(xù)發(fā)包,還是重新發(fā)送數(shù)據(jù)包,具體地:

當(dāng)?shù)谝粦?yīng)用處理器10識別出數(shù)據(jù)包為有效的數(shù)據(jù)包時,也就是檢測出數(shù)據(jù)包中攜帶有包頭標(biāo)記時,此時,會給第二應(yīng)用處理器20反饋一個應(yīng)答ok,以通知第二應(yīng)用處理器20當(dāng)前接收到的數(shù)據(jù)包是完整的數(shù)據(jù)包,具體地:第一應(yīng)用處理器10通過usb數(shù)據(jù)線300將應(yīng)答ok傳送給外接設(shè)備200的第二應(yīng)用處理器20,此時,第二應(yīng)用處理器20根據(jù)第一應(yīng)用處理器10反饋的應(yīng)答ok,通過usb數(shù)據(jù)線300繼續(xù)發(fā)送其它的數(shù)據(jù)包給第一應(yīng)用處理器10,以完成數(shù)據(jù)包發(fā)送操作。

在本實施例中,在識別出所述包頭攜帶有預(yù)設(shè)的包頭標(biāo)識,則發(fā)送確認消息給所述第二應(yīng)用處理器20,以供所述第二應(yīng)用處理器20繼續(xù)發(fā)送其它數(shù)據(jù)包至所述第一應(yīng)用處理器10,從而完成數(shù)據(jù)的傳輸過程。

需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其它變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者是還包括為這種過程、方法、物品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者系統(tǒng)中還存在另外的相同要素。

上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(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)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1