欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

移動終端及數據包識別方法與流程

文檔序號:11479652閱讀:244來源:國知局
移動終端及數據包識別方法與流程

本發(fā)明涉及通信技術領域,尤其涉及一種移動終端及數據包識別方法。



背景技術:

隨著移動通信技術的發(fā)展,越來越多的移動終端如智能手機具有雙卡雙通的功能,使得用戶在實現(xiàn)語音業(yè)務的待機同時,能建立數據業(yè)務連接。移動終端通常具有兩個用戶識別卡以及分別與所述兩個用戶識別卡連接的調制解調器,兩個用戶識別卡全開時,一個用戶識別卡(sim1)可以使用4g(the4thgenerationmobilecommunicationtechnology,第四代移動通信技術),例如lte(longtermevolution,長期演進技術)網絡,另一個用戶識別卡(sim2)僅能使用2g(2-generationwirelesstelephonetechnology,第二代手機通信技術規(guī)格)或3g(3rdgeneration,第三代移動通信技術)網絡,sim2不能上4g的原因主要是:移動終端只有一套射頻,兩張卡使用該套射頻是分時復用的關系,并不能同時占用,由于兩張卡全開時,只有一張卡可以使用4g網絡,另一張卡只能使用2g或3g網絡,導致移動終端中數據傳輸的效率較低。

因此,為了使移動終端可以支持雙lte,以提高數據傳輸效率,移動終端可內置兩個處理芯片,每個處理芯片對應一個調制解調器,以使移動終端的兩張sim卡連接不同的調制解調器,從而實現(xiàn)雙lte通信功能。但是,當移動終端內置兩個處理芯片時,如果第一個處理芯片還未喚醒,第二個處理芯片就發(fā)送數據包,由于第一個處理芯片還沒完全喚醒,數據包前面發(fā)送的內容會丟失,那么第一個處理芯片接收到的數據包為殘包,導致第一個處理芯片無法響應該數據包。



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

本發(fā)明的主要目的在于提出一種移動終端及數據包識別方法,旨在解決數據包傳輸之后,若是發(fā)生數據包內容丟失,容易出現(xiàn)數據包無法響應的技術問題。

為實現(xiàn)上述目的,本發(fā)明提供的一種移動終端,所述移動終端包括基于預設接口連接的第一處理芯片和第二處理芯片、與所述第一處理芯片連接的第一射頻模塊、以及與所述第二處理芯片連接的第二射頻模塊,所述第一處理芯片包括第一應用處理器、內嵌有虛擬用戶識別卡的第一調制解調器,以及與第一調制解調器連接的實體用戶識別卡,所述第二處理芯片包括第二應用處理器和第二調制解調器,

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

可選地,所述對接收的所述數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識具體包括:

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

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

可選地,所述預設條件為:所述長度為所述數據包的長度與預設值的差值。

可選地,所述第一處理芯片,還用于識別所述數據包的長度;

在所述數據包的長度大于預設長度值,才對接收的所述數據包的包頭進行識別。

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

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

第一處理芯片被喚醒時,接收第二處理芯片通過所述預設接口發(fā)送的數據包;

對接收的所述數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識;

若所述包頭未攜帶預設的包頭標識,則發(fā)送重發(fā)消息給所述第二處理芯片,以供所述第二處理芯片重新發(fā)送所述數據包至所述第一處理芯片。

可選地,所述對接收的所述數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識的步驟包括:

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

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

可選地,所述預設條件為:所述長度為所述數據包的長度與預設值的差值。

可選地,所述對接收的所述數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識的步驟之前,所述方法還包括:

所述第一處理芯片識別所述數據包的長度;

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

可選地,所述對接收的所述數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識的步驟之后,所述方法還包括:

若所述包頭攜帶有預設的包頭標識,則所述第一處理芯片發(fā)送確認消息給所述第二處理芯片,以供所述第二處理芯片繼續(xù)發(fā)送其它數據包至所述第一處理芯片。

本發(fā)明提出的移動終端及數據包識別方法,所述移動終端包括基于預設接口連接的第一處理芯片和第二處理芯片、與所述第一處理芯片連接的第一射頻模塊、以及與所述第二處理芯片連接的第二射頻模塊,所述第一處理芯片包括第一應用處理器、內嵌有虛擬用戶識別卡的第一調制解調器,以及與第一調制解調器連接的實體用戶識別卡,所述第二處理芯片包括第二應用處理器和第二調制解調器,所述第一處理芯片,用于被喚醒時,接收第二處理芯片通過所述預設接口發(fā)送的數據包;對接收的所述數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識;若所述包頭未攜帶預設的包頭標識,則發(fā)送重發(fā)消息給所述第二處理芯片,以供所述第二處理芯片重新發(fā)送所述數據包至所述第一處理芯片。本方案在移動終端中的第一處理芯片被喚醒時,先對接收到的數據包的包頭進行識別,在識別所述包頭未攜帶有預設包頭標識時,通知第二處理芯片重新發(fā)送該數據包,即使數據包內容丟失,第一處理芯片也可以及時通知第二處理芯片重新發(fā)送該數據包,及時響應數據包,提高了數據傳輸的準確性。

附圖說明

圖1為本發(fā)明一實施例的lte網絡架構的示意圖;

圖2為本發(fā)明實施例中移動終端的一種硬件結構示意圖;

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

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

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

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

具體實施方式

應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。需要說明的是,在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互任意結合。

為了對本發(fā)明的技術特征、目的和效果有更加清楚的理解,現(xiàn)對照附圖詳細說明本發(fā)明的具體實施方式。

圖1是本發(fā)明一實施例的lte網絡架構的示意圖。本發(fā)明一實施例的lte網絡架構包括:一個或多個移動終端(userequipment,ue)100、e-utran(evolvedumtsterrestrialradioaccessnetwork,演進的umts陸地無線接入網)(圖中未標號)、演進分組核心(epc)(圖中未標號)、歸屬訂戶服務器(hss)107、網絡(例如,因特網)(圖中未標號)以及電路交換系統(tǒng)(圖中未標號)。

e-utran包括演進b節(jié)點(enodeb)101和其它enodeb102。enodeb101提供朝向移動終端100的用戶面和控制面的協(xié)議終接。enodeb101可經由x2接口連接到其他enodeb。enodeb101也可稱為基站、基收發(fā)機站、無線電基站、無線電收發(fā)機、收發(fā)機功能、基本服務集、擴展服務集、或其他某個合適的術語。enodeb101為移動終端100提供去往epc的接入點。

enodeb101通過s1接口連接到epc。epc包括移動管理實體(eem)104、其他移動管理實體106、服務網關103,以及分組數據網絡(pdn)網關105。移動管理實體104是處理移動終端100與epc之間的信令的控制節(jié)點。移動管理實體104提供承載和連接管理。所有用戶ip分組通過服務網關103來傳遞,服務網關103自身連接到pdn網關105。pdn網關105提供ueip地址分配以及其他功能。pdn網關105連接到網絡,例如,因特網。

電路交換系統(tǒng)包括交互解決方案模塊(iws)108、移動交換中心(msc)109、基站110和移動站111。在一個方面,電路交換系統(tǒng)可以通過iws和mme(mobilitymanagemententity,移動管理實體)與eps(evolvedpacketsystem,演進的分組系統(tǒng))進行通信。

圖2為本發(fā)明實施例中移動終端的一種硬件結構示意圖。

在本發(fā)明實施例中,移動終端100包括第一處理芯片001和第二處理芯片002,與所述第一處理芯片001連接的第一射頻模塊12、以及與所述第二處理芯片002連接的第二射頻模塊22。其中,第一處理芯片001和第二處理芯片002通過預設接口連接。所述預設接口包括第一預設接口和第二預設接口。第一處理芯片001包括第一應用處理器(applicationprocessor,用ap1表示)10、內嵌有虛擬用戶識別卡11a的第一調制解調器11(modem1)、實體用戶識別卡14和rpm(resourcepowermanager,資源電源管理器)15。第二處理芯片002包括第二應用處理器20和第二調制解調器(modem2)21。

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

第一應用處理器10和第二應用處理器20的內部框架包括應用層、框架層等,可處理復雜的邏輯操作以及進行任務分配等。在本發(fā)明實施例中,應用處理器指android操作系統(tǒng),以及基于android操作系統(tǒng)的各種apk(androidpackage,安卓安裝包)。

在本發(fā)明的實施例中,第一應用處理器10和第二應用處理器20通過第一預設接口實現(xiàn)連接,為用戶提供交互接口,將用戶輸入的操作指令(例如,用戶通過用戶界面輸入的有關啟動視頻通話的操作指令)傳輸給第一調制解調器11或第二調制解調器21,以實現(xiàn)兩個應用處理器之間數據的定義與傳遞,例如,進行兩個應用處理器的休眠、喚醒、同步的控制、開關機時芯片啟動順序的控制等。其中,第一預設接口為usb(universalserialbus,通用串行總線)。應當理解的是,在本發(fā)明實施例中,usb數據線復用出兩條數據通道,分別用于第一應用處理器10和第二應用處理器20之間用戶數據和控制信令數據的交互,即第一應用處理器10和第二應用處理器20通過usb數據線傳輸的數據包括上述兩種數據。其中,用戶數據包括上網產生的數據,圖片和聊天信息數據;控制信令數據包括開關機的控制數據,開關飛行模式的控制數據,顯示狀態(tài)信號的控制數據。

本實施例中,第一應用處理器10和第二應用處理器20通過otg(on-the-go)技術進行數據交互。通過otg技術,移動終端100中的第一調制解調器11可通過虛擬用戶識別卡11a中的sim卡參數來接入enodeb101,第二調制解調器21可通過實體用戶識別卡14的sim卡參數來接入enodeb101;或者第一調制解調器11通過實體用戶識別卡14中的sim卡參數來接入enodeb101,第二調制解調器21通過虛擬用戶識別卡11a的sim卡參數來接入enodeb101。sim卡參數包括但不限于sim卡鑒權數據。

第一調制解調器11和第二調制解調器21通過第二預設接口連接。在本發(fā)明實施例中,第二預設接口為uart(universalasynchronousreceiver/transmitter,通用異步收發(fā)傳輸器)。uart用于第一調制解調器11和第二調制解調器21之間sim卡參數的傳輸。

具體地:第二調制解調器21通過第二射頻模塊22接收到基站發(fā)送的sim卡數據獲取請求時,將數據獲取請求傳送至第一調制解調器11中,由第一調制解調器11反饋響應的sim卡數據。

其中,所述sim卡數據獲取請求的觸發(fā)方式包括兩種:

a、第二調制解調器21主動注冊lte網絡,以觸發(fā)sim卡數據獲取請求;

b、基站側需要鑒權用戶是否合法,將鑒權請求發(fā)給第二調制解調器21,由第二調制解調器21主動發(fā)sim卡數據獲取請求。

第二調制解調器21通過第二射頻模塊22接收到基站發(fā)送的sim卡數據獲取請求時,通過uart將數據獲取請求傳送至第一調制解調器11中,由第一調制解調器11根據數據獲取請求從虛擬用戶識別卡11a或實體用戶識別卡14獲取數據,下文以第一調制解調器11根據數據獲取請求從虛擬用戶識別卡11a中獲取數據為例進行詳述。

需要理解的是,虛擬用戶識別卡11a中包括有vcos操作系統(tǒng)和存儲模塊,其中,所述vcos操作系統(tǒng)作為存儲模塊的文件代理,根據所述第一調制解調器11發(fā)送的數據獲取請求從所述存儲模塊中提取數據,所述存儲模塊用來存儲數據。即,本發(fā)明實施例中,第一調制解調器11是無法與虛擬用戶識別卡11a內部的存儲模塊進行交互以獲取數據,只能通過vcos操作系統(tǒng)進行獲取。因此,當所述第一調制解調器11將數據獲取請求發(fā)送至虛擬用戶識別卡11a時,虛擬用戶識別卡11a內部的vcos操作系統(tǒng)解析出所述數據獲取請求的地址信息,然后根據所述地址信息,從所述存儲模塊中獲取所述地址信息對應的數據。當所述vcos操作系統(tǒng)從存儲模塊中獲取到數據之后,將獲取的數據反饋至所述第一調制解調器11。

第一調制解調器11在獲取到vcos操作系統(tǒng)反饋的數據之后,將數據通過uart發(fā)送給第二調制解調器21,最終第二調制解調器21通過第二射頻模塊22將數據上傳至基站,以完成鑒權。

實體用戶識別卡14包含的cos(chipoperatingsystem,片內操作系統(tǒng))操作系統(tǒng)和存儲模塊,從實體用戶識別卡14中獲取數據的操作方式與上述一致,此處不再贅述。

可以理解的是,通過第一預設接口和/或第二預設接口,即可可實現(xiàn)第一處理芯片001和第二處理芯片002之間的連接。

第一調制解調器11和第二調制解調器21包含各種網絡交互的網絡制式的協(xié)議棧,協(xié)議棧包含lte(longtermevolution,長期演進)/wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)/gsm(globalsystemformobilecommunication,全球移動通信系統(tǒng))/td-scdma(timedivision-synchronouscodedivisionmultipleaccess,同步時分碼分多址)/cdma(codedivisionmultipleaccess,碼分多址)/edge(enhanceddatarateforgsmevolution,強型數據速率gsm演進技術)等通訊標準里邊規(guī)定的協(xié)議代碼。移動終端100通過協(xié)議與運營商網絡進行交互,即進行數據流量上網、volte(voiceoverlte)打電話或者cs(circuitswitched,電路交換)域打電話。第一調制解調器11和第二調制解調器21還用于對sim卡的管控等等。

在本發(fā)明實施例中,第一射頻模塊12用于將第一處理芯片001傳輸的數據處理后傳給enodeb101(基站網絡),以及用于將enodeb101傳輸的數據處理后傳給第一處理芯片001。第二射頻模塊22用于將第二處理芯片002傳輸的數據處理后傳給enodeb101(基站網絡),以及用于將enodeb101傳輸的數據處理后傳給第二處理芯片002。

第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術可以包括lte、gsm、gprs(generalpacketradioservice,通用分組無線服務)、cdma、edge、wlan(wirelesslocalareanetworks,無線局域網)、cdma-2000、td-scdma、wcdma、wifi(wirelessfidelity,無線保真)等等。

移動終端100中的虛擬用戶識別卡11a和實體用戶識別卡14存儲不同的無線通信標準相關聯(lián)的用戶信息。應當理解,目前的移動終端只有一套射頻,移動終端內部的兩個用戶識別卡使用該套射頻是分時復用的關系,并不能同時占用。例如,在兩張用戶識別卡全開時,一張卡可以處理gsm通話,另一張卡只能處理4g網絡信息,具體哪個用戶識別卡執(zhí)行何種網絡,不做限定。因此目前的射頻雙卡分時復用這種架構僅做到了lte+gsm(即一張用戶識別卡對應的技術標準為lte,另一張用戶識別卡對應的技術標準為gsm)。

也就是說,現(xiàn)有的移動終端100雖然可以支持雙用戶識別卡,但是移動終端100在注冊網絡的情況下,兩個用戶識別卡支持的是不同技術標準的網絡,一個支持2g或3g,另一個支持4g,會使得移動終端100使用過程中,上網流量速度較慢,因此本發(fā)明中,移動終端100通過預設接口連接第一處理芯片001和第二處理芯片002,由于第二處理芯片002包括第二調制解調器21、并連接第二射頻模塊22,且第二射頻模塊22支持4g網絡。因此,移動終端100可通過第一處理芯片001和第二處理芯片002具備雙lte功能。

在本實施例中,虛擬用戶識別卡11a和實體用戶識別卡14用于提供移動通信業(yè)務(cs語音業(yè)務、ps數據業(yè)務和ps語音業(yè)務)所需的相關數據,并在其內部存儲用戶信息、短消息、執(zhí)行鑒權算法和產生加密密匙等。

實體用戶識別卡14與移動終端100交互時,移動終端100檢測該用戶識別卡存在與否的信號只在開機瞬時產生,當開機檢測不到用戶識別卡存在時,移動終端100將提示“插入用戶識別卡”。移動終端100開機之后,移動終端100和用戶識別卡之間28秒通信一次,完成一些固定的通信檢查(例如,用戶識別卡是否在位等)。

在本發(fā)明的實施例中,虛擬用戶識別卡11a和實體用戶識別卡14承載信息,并且根據外界請求返回對應卡參數,以及對網絡進行鑒權運算,第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術為lte。當第一應用芯片001和第二應用芯片002連接時,虛擬用戶識別卡11a可通過移動終端100中的第一調制解調器11支持lte,而實體用戶識別卡14通過第二調制解調器21支持lte;或者,虛擬用戶識別卡11a可通過第二調制解調器21支持lte,而實體用戶識別卡14通過第一調制解調器11支持lte,以實現(xiàn)移動終端100可支持雙lte。

移動終端100中的rpm15用于管控各種資源,包括時鐘資源、總線資源、pmic(powermanagementic,電源管理集成電路,即各個芯片的電壓)、ddr(內存分配),以及管理芯片的休眠喚醒的中斷和應用處理器喚醒的截止時間。移動終端100的各個子系統(tǒng),在需要資源時,向rpm15申請資源,各個子系統(tǒng)分別包括第一應用處理器10,第一調制解調器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)休眠之后,若是要重新啟動運行,第二處理芯片002可自動喚醒,但是第一處理芯片001需要第一處理芯片001喚醒,以進行數據的傳輸交互。

在本發(fā)明實施例中,第一處理芯片001和第二處理芯片002之間通過預設接口連接的情況下,喚醒方式可為以下三種:

1、第一應用處理器10接收到控制信令數據時,通過usb接口傳送探測包給第二應用處理器20,以喚醒第二應用處理器20。

2、第二調制解調器21接收到用戶數據時,喚醒第二應用處理器20,由第二應用處理器20通過usb接口傳送探測包給第一應用處理器10,以喚醒第一應用處理器10。

3、第二調制解調器21周期性查找尋呼請求,以主動激活自己,若接收到尋呼請求,喚醒第二應用處理器20,由第二應用處理器20通過usb接口發(fā)送探測包給第一應用處理器10,以喚醒第二應用處理器20。

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

在本發(fā)明實施例中,移動終端包括但不限于手機、pc(personalcomputer,個人電腦)或pad(personaldigitalassistant,個人數字助理)。

基于上述lte網絡的架構圖、以及移動終端100的硬件結構示意圖,提出本發(fā)明的各個實施例。

參照圖2,本實施例提出一種移動終端,所述移動終端100包括基于預設接口連接的第一處理芯片001和第二處理芯片001、與所述第一處理芯片001連接的第一射頻模塊12、以及與所述第二處理芯片002連接的第二射頻模塊22,所述第一處理芯片001包括第一應用處理器10內嵌有虛擬用戶識別卡11a的第一調制解調器11,以及與第一調制解調器11連接的實體用戶識別卡14,所述第二處理芯片002包括第二應用處理器20和第二調制解調器21,

所述第一處理芯片001,用于被喚醒時,接收第二處理芯片002通過所述預設接口發(fā)送的數據包;

對接收的所述數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識;

若所述包頭未攜帶預設的包頭標識,則發(fā)送重發(fā)消息給所述第二處理芯片002,以供所述第二處理芯片002重新發(fā)送所述數據包至所述第一處理芯片001。

在本實施例中,所述第一處理芯片001被喚醒,是通過預設接口接收第二處理芯片002發(fā)送的探測包以實現(xiàn)喚醒的。后續(xù),第一處理芯片001對數據包的識別,也是對通過預設接口接收到的數據包進行識別。由于本實施例中,第一處理芯片001包括第一應用處理器10和第一調制解調器11,第二處理芯片001包括第二應用處理器20和第二調制解調器21,且第二應用處理器20和第一應用處理器10通過usb接口連接,第二調制解調器21和第一調制解調器11之間通過uart接口連接。因此,本發(fā)明實施例中,第一處理芯片001對數據包的識別,實際上可以分為兩種:

1)第一應用處理器10對第二應用處理器10通過第一預設接口(usb接口)發(fā)送的數據包進行識別;

2)第一調制解調器11對第二調制解調器21通過第二預設接口(uart接口)發(fā)送的數據包進行識別;

需要說明,本發(fā)明中兩種數據包識別的方式一致,以及后續(xù)的應答機制反饋方式也一致,僅僅是接口不同,下文中為了簡介說明,優(yōu)選以第一應用處理器10對數據包的識別和反饋為例。

首先,需要理解的是,在移動終端100中的第一處理芯片001和第二處理芯片002都休眠之后,若第二處理芯片002通過第二射頻模塊22接收到外部信號,第二射頻模塊22將外部信號傳輸至第二調制解調器21中,使得第二調制解調器21喚醒,第二調制解調器21喚醒之后,第二調制解調器21再發(fā)送探測包喚醒第二應用處理器20,從而實現(xiàn)第二處理芯片002的喚醒。此時第二調制解調器21還會通過uart接口發(fā)送探測包以喚醒第一調制解調器11。在第二處理芯片002喚醒之后,第二處理芯片002的第二應用處理器20會通過usb接口發(fā)送探測包以喚醒第一處理芯片001中的第一應用處理器10。

對于第二處理芯片002的第二應用處理器20而言,當發(fā)送探測包給第一處理芯片001的第一應用處理器10之后,第二應用處理器20認為第一應用處理器10已經被喚醒,此時,第二應用處理器20會緊接著發(fā)送用戶數據或控制信令的數據包給移動終端100的第一應用處理器10,以進行后續(xù)的數據交互過程。

同理,對于第二處理芯片002的第二調制解調器21而言,當發(fā)送探測包給第一處理芯片001的第一調制解調器11之后,第二調制解調器21認為第一調制解調器11已經被喚醒,此時,第二調制解調器21會緊接著發(fā)送sim卡鑒權數據的數據包給第一調制解調器11,以進行后續(xù)的數據交互過程。

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

為更好理解,以應用處理器為例,舉例如下:第二處理芯片002的第二應用處理器20通過usb接口發(fā)送數據包給第一應用處理器10,該數據包為512個字節(jié),在前36個字節(jié)的發(fā)送過程中,由于第一處理芯片001的第一應用處理器10還沒完全被喚醒,在第37個字節(jié)才真正喚醒,此時,第一應用處理器10無法接收到前36個字節(jié),那么第一應用處理器10接收到的數據包就是殘包,由于第一應用處理器10根本就無法識別該數據包,導致第一應用處理器10也無法響應該數據包,造成第二應用處理器20遲遲得不到回復,導致數據傳輸不準確。

因此,本實施例中,當第一處理芯片001被喚醒之后,若接收到第二處理芯片002通過所述預設接口發(fā)送的數據包,先對接收的所述數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識。應當理解,包頭中攜帶有多個字節(jié),具體的個數不做限定。

本實施例中,所述第一處理芯片001對接收到的數據包的包頭進行識別,具體為解析出所述數據包,然后對解析出的數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識,具體的識別方式在下文實施例中詳述。

當第一處理芯片001識別出包頭未攜帶預設的包頭標識時,發(fā)送重發(fā)消息給所述第二處理芯片002,以供所述第二處理芯片002重新發(fā)送所述數據包至所述第一處理芯片001。

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

本實施例中,相當于是當第一處理芯片001識別出數據包為殘包時,即檢測到數據包中沒有攜帶包頭標記,此時,會給第二處理芯片002反饋一個應答err,例如,第一應用處理器10通過usb接口將應答err傳送第二應用處理器20,此時,第二應用處理器20基于接收到的應答err,通過usb接口重新發(fā)送該數據包給第一應用處理器10,以完成數據的交互。

本實施例提出的移動終端,所述移動終端包括基于預設接口連接的第一處理芯片和第二處理芯片、與所述第一處理芯片連接的第一射頻模塊、以及與所述第二處理芯片連接的第二射頻模塊,所述第一處理芯片包括第一應用處理器、內嵌有虛擬用戶識別卡的第一調制解調器,以及與第一調制解調器連接的實體用戶識別卡,所述第二處理芯片包括第二應用處理器和第二調制解調器,所述第一處理芯片,用于被喚醒時,接收第二處理芯片通過所述預設接口發(fā)送的數據包;對接收的所述數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識;若所述包頭未攜帶預設的包頭標識,則發(fā)送重發(fā)消息給所述第二處理芯片,以供所述第二處理芯片重新發(fā)送所述數據包至所述第一處理芯片。本方案在移動終端中的第一處理芯片被喚醒時,先對接收到的數據包的包頭進行識別,在識別所述包頭未攜帶有預設包頭標識時,通知第二處理芯片重新發(fā)送該數據包,即使數據包內容丟失,第一處理芯片也可以及時通知第二處理芯片重新發(fā)送該數據包,及時響應數據包,提高了數據傳輸的準確性。

進一步地,提出本發(fā)明移動終端第二實施例。

移動終端第二實施例與移動終端第一實施例的區(qū)別在于,所述第一處理芯片001對接收的所述數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識具體包括:

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

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

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

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

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

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

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

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

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

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

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

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

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

進一步地,提出本發(fā)明移動終端第三實施例。

移動終端第三實施例與移動終端第一實施例的區(qū)別在于,所述第一處理芯片001,還用于識別所述數據包的長度;

在所述數據包的長度大于預設長度值,才對接收的所述數據包的包頭進行識別。

在本實施例中,所述第一處理芯片001被喚醒后接收到數據包時,先識別該數據包的長度,然后獲取預設長度值,將識別的數據包的長度與預設長度值進行比對,以確定所述數據包的長度是否大于預設長度值,若所述數據包的長度大于預設長度值,所述第一處理芯片001才對接收的所述數據包的包頭進行識別,若是識別出所述數據包的長度小于或等于預設長度值,此時可不對接收的所述數據包的包頭進行識別。

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

因此,當第一處理芯片001被喚醒后接收到數據包時,先通過包長度判斷該數據包是ack還是data,若檢測出該數據包沒有大于6字節(jié)對應的長度,即可確認該數據包是ack,此時說明第二處理芯片002還沒發(fā)送data,因此不會出現(xiàn)上述的丟包情況,當檢測出該數據包大于6個字節(jié)對應的長度時,才會對該數據包的包頭進行解析。

可以理解,本實施例中,在接收到數據包之后,第一處理芯片001先對數據包的長度進行解析,以確定該數據包的類型,從而決定是否對該數據包的包頭進行解析,防止所有的數據包都進行包頭解析,從而提高了數據包識別的智能性。

進一步地,提出本發(fā)明移動終端第四實施例。

移動終端第四實施例與移動終端第一至第三實施例的區(qū)別在于,所述第一處理芯片001,還用于若所述包頭攜帶有預設的包頭標識,則發(fā)送確認消息給所述第二處理芯片002,以供所述第二處理芯片002繼續(xù)發(fā)送其它數據包至所述第一處理芯片001。

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

當第一處理芯片001識別出數據包為有效的數據包時,也就是檢測出數據包中攜帶有包頭標記時,此時,會給第二處理芯片002反饋一個應答ok,以通知第二處理芯片002當前接收到的數據包是完整的數據包,例如:第一應用處理器10通過usb數據線將應答ok傳送給第二應用處理器20,此時,第二應用處理器20根據第一應用處理器10反饋的應答ok,通過usb接口繼續(xù)發(fā)送其它的數據包給第一應用處理器10,以完成數據包發(fā)送操作。

本實施例中,在識別出所述包頭攜帶有預設的包頭標識,則發(fā)送確認消息給所述第二處理芯片002,以供所述第二處理芯片002繼續(xù)發(fā)送其它數據包至所述第一處理芯片001,從而完成數據的傳輸過程。

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

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

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

本發(fā)明中,數據包識別方法應用于移動終端,所述移動終端包括基于預設接口連接的第一處理芯片001和第二處理芯片002、與所述第一處理芯片001連接的第一射頻模塊12、以及與所述第二處理芯片002連接的第二射頻模塊22,所述第一處理芯片001包括第一應用處理器10、內嵌有虛擬用戶識別卡11a的第一調制解調器11,以及與第一調制解調器11連接的實體用戶識別卡14,所述第二處理芯片002包括第二應用處理器20和第二調制解調器21,所述方法包括:

步驟s10,第一處理芯片001被喚醒時,接收第二處理芯片002通過所述預設接口發(fā)送的數據包;

步驟s20,對接收的所述數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識;

步驟s30,若所述包頭未攜帶預設的包頭標識,則發(fā)送重發(fā)消息給所述第二處理芯片002,以供所述第二處理芯片002重新發(fā)送所述數據包至所述第一處理芯片001。

在本實施例中,所述第一處理芯片001被喚醒,是通過預設接口接收第二處理芯片002發(fā)送的探測包以實現(xiàn)喚醒的。后續(xù),第一處理芯片001對數據包的識別,也是對通過預設接口接收到的數據包進行識別。由于本實施例中,第一處理芯片001包括第一應用處理器10和第一調制解調器11,第二處理芯片001包括第二應用處理器20和第二調制解調器21,且第二應用處理器20和第一應用處理器10通過usb接口連接,第二調制解調器21和第一調制解調器11之間通過uart接口連接。因此,本發(fā)明實施例中,第一處理芯片001對數據包的識別,實際上可以分為兩種:

1)第一應用處理器10對第二應用處理器10通過第一預設接口(usb接口)發(fā)送的數據包進行識別;

2)第一調制解調器11對第二調制解調器21通過第二預設接口(uart接口)發(fā)送的數據包進行識別;

需要說明,本發(fā)明中兩種數據包識別的方式一致,以及后續(xù)的應答機制反饋方式也一致,僅僅是接口不同,下文中為了簡介說明,優(yōu)選以第一應用處理器10對數據包的識別和反饋為例。

首先,需要理解的是,在移動終端100中的第一處理芯片001和第二處理芯片002都休眠之后,若第二處理芯片002通過第二射頻模塊22接收到外部信號,第二射頻模塊22將外部信號傳輸至第二調制解調器21中,使得第二調制解調器21喚醒,第二調制解調器21喚醒之后,第二調制解調器21再發(fā)送探測包喚醒第二應用處理器20,從而實現(xiàn)第二處理芯片002的喚醒。此時第二調制解調器21還會通過uart接口發(fā)送探測包以喚醒第一調制解調器11。在第二處理芯片002喚醒之后,第二處理芯片002的第二應用處理器20會通過usb接口發(fā)送探測包以喚醒第一處理芯片001中的第一應用處理器10。

對于第二處理芯片002的第二應用處理器20而言,當發(fā)送探測包給第一處理芯片001的第一應用處理器10之后,第二應用處理器20認為第一應用處理器10已經被喚醒,此時,第二應用處理器20會緊接著發(fā)送用戶數據或控制信令的數據包給移動終端100的第一應用處理器10,以進行后續(xù)的數據交互過程。

同理,對于第二處理芯片002的第二調制解調器21而言,當發(fā)送探測包給第一處理芯片001的第一調制解調器11之后,第二調制解調器21認為第一調制解調器11已經被喚醒,此時,第二調制解調器21會緊接著發(fā)送sim卡鑒權數據的數據包給第一調制解調器11,以進行后續(xù)的數據交互過程。

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

為更好理解,以應用處理器為例,舉例如下:第二處理芯片002的第二應用處理器20通過usb接口發(fā)送數據包給第一應用處理器10,該數據包為512個字節(jié),在前36個字節(jié)的發(fā)送過程中,由于第一處理芯片001的第一應用處理器10還沒完全被喚醒,在第37個字節(jié)才真正喚醒,此時,第一應用處理器10無法接收到前36個字節(jié),那么第一應用處理器10接收到的數據包就是殘包,由于第一應用處理器10根本就無法識別該數據包,導致第一應用處理器10也無法響應該數據包,造成第二應用處理器20遲遲得不到回復,導致數據傳輸不準確。

因此,本實施例中,當第一處理芯片001被喚醒之后,若接收到第二處理芯片002通過所述預設接口發(fā)送的數據包,先對接收的所述數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識。應當理解,包頭中攜帶有多個字節(jié),具體的個數不做限定。

本實施例中,所述第一處理芯片001對接收到的數據包的包頭進行識別,具體為解析出所述數據包,然后對解析出的數據包的包頭進行識別,以確定所述包頭是否攜帶有預設的包頭標識,具體的識別方式在下文實施例中詳述。

當第一處理芯片001識別出包頭未攜帶預設的包頭標識時,發(fā)送重發(fā)消息給所述第二處理芯片002,以供所述第二處理芯片002重新發(fā)送所述數據包至所述第一處理芯片001。

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

本實施例中,相當于是當第一處理芯片001識別出數據包為殘包時,即檢測到數據包中沒有攜帶包頭標記,此時,會給第二處理芯片002反饋一個應答err,例如,第一應用處理器10通過usb接口將應答err傳送第二應用處理器20,此時,第二應用處理器20基于接收到的應答err,通過usb接口重新發(fā)送該數據包給第一應用處理器10,以完成數據的交互。

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

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

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

步驟s21,所述第一處理芯片001解析所述包頭的第一字節(jié),以確定所述包頭的第一字節(jié)是否為預設字段;及/或計算所述包頭的第二字節(jié)和第三字節(jié)的長度,并判斷所述長度是否滿足預設條件;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

步驟a,所述第一處理芯片001識別所述數據包的長度;

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

在本實施例中,所述第一處理芯片001被喚醒后接收到數據包時,先識別該數據包的長度,然后獲取預設長度值,將識別的數據包的長度與預設長度值進行比對,以確定所述數據包的長度是否大于預設長度值,若所述數據包的長度大于預設長度值,所述第一處理芯片001才對接收的所述數據包的包頭進行識別,若是識別出所述數據包的長度小于或等于預設長度值,此時可不對接收的所述數據包的包頭進行識別。

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

因此,當第一處理芯片001被喚醒后接收到數據包時,先通過包長度判斷該數據包是ack還是data,若檢測出該數據包沒有大于6字節(jié)對應的長度,即可確認該數據包是ack,此時說明第二處理芯片002還沒發(fā)送data,因此不會出現(xiàn)上述的丟包情況,當檢測出該數據包大于6個字節(jié)對應的長度時,才會對該數據包的包頭進行解析。

可以理解,本實施例中,在接收到數據包之后,第一處理芯片001先對數據包的長度進行解析,以確定該數據包的類型,從而決定是否對該數據包的包頭進行解析,防止所有的數據包都進行包頭解析,從而提高了數據包識別的智能性。

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

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

步驟s40,若所述包頭攜帶有預設的包頭標識,則所述第一處理芯片001發(fā)送確認消息給所述第二處理芯片002,以供所述第二處理芯片002繼續(xù)發(fā)送其它數據包至所述第一處理芯片001。

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

當第一處理芯片001識別出數據包為有效的數據包時,也就是檢測出數據包中攜帶有包頭標記時,此時,會給第二處理芯片002反饋一個應答ok,以通知第二處理芯片002當前接收到的數據包是完整的數據包,例如:第一應用處理器10通過usb數據線將應答ok傳送給第二應用處理器20,此時,第二應用處理器20根據第一應用處理器10反饋的應答ok,通過usb接口繼續(xù)發(fā)送其它的數據包給第一應用處理器10,以完成數據包發(fā)送操作。

本實施例中,在識別出所述包頭攜帶有預設的包頭標識,則發(fā)送確認消息給所述第二處理芯片002,以供所述第二處理芯片002繼續(xù)發(fā)送其它數據包至所述第一處理芯片001,從而完成數據的傳輸過程。

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

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

通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。

以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其它相關的技術領域,均同理包括在本發(fā)明的專利保護范圍內。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
磴口县| 台东市| 黑山县| 楚雄市| 庆安县| 蕉岭县| 丁青县| 安泽县| 涿州市| 岐山县| 营口市| 内乡县| 甘南县| 广水市| 仁寿县| 永年县| 黄石市| 塔河县| 句容市| 郑州市| 宝丰县| 临夏市| 白玉县| 微山县| 龙游县| 江都市| 林周县| 衡阳市| 陵川县| 三都| 墨竹工卡县| 玉田县| 张家口市| 松溪县| 老河口市| 皮山县| 昌都县| 东乌珠穆沁旗| 珲春市| 伊金霍洛旗| 敖汉旗|