本發明涉及通信技術領域,尤其涉及一種數據傳輸系統及方法。
背景技術:
隨著移動通信技術的發展,越來越多的移動終端如智能手機具有雙卡雙通的功能,使得用戶在實現語音業務的待機同時,能建立數據業務連接。移動終端通常具有兩個用戶識別卡以及分別與所述兩個用戶識別卡連接的調制解調器,兩張用戶識別卡全開時,一張用戶識別卡(sim1)可以使用4g(the4thgenerationmobilecommunicationtechnology,第四代移動通信技術),例如lte(longtermevolution,長期演進技術)網絡,另一張用戶識別卡(sim2)僅能使用2g(2-generationwirelesstelephonetechnology,第二代手機通信技術規格)或3g(3rdgeneration,第三代移動通信技術)網絡,sim2不能上4g的原因主要是:移動終端只有一套射頻,兩張卡使用該套射頻是分時復用的關系,并不能同時占用,由于兩張卡全開時,只有一張卡可以使用4g網絡,另一張卡只能使用2g或3g網絡,導致移動終端中數據傳輸的效率較低。
為了使移動終端可以支持雙lte,提高數據傳輸效率,移動終端可與外接設備連接(該外接設備中設置有調制解調器),以實現雙lte通信功能。但是在使用過程中,當移動終端和外接設備需要傳輸的數據是電信卡數據時,會出現移動終端死機的問題。
技術實現要素:
本發明的主要目的在于提出一種數據傳輸系統及方法,旨在解決移動終端通過外接設備實現雙lte通信過程中,移動終端和外接設備之間傳輸電信卡數據時,移動終端容易出現死機的技術問題。
為實現上述目的,本發明提供的一種數據傳輸系統,數據傳輸系統包括移動終端和外接設備,所述移動終端包括第一應用處理器、第一臨時緩沖區和內嵌有虛擬用戶識別卡的第一調制解調器,所述第一調制解調器分別與第一用戶識別卡和第二用戶識別卡連接,所述外接設備包括第二應用處理器、第二臨時緩沖區和第二調制解調器,其中,所述第一應用處理器通過通用串行總線usb與所述第二應用處理器連接,所述第一臨時緩沖區和所述第二臨時緩沖區的容量值是同步變化的;
所述第二應用處理器,用于當偵測到發送待傳輸數據包的數據傳輸指令時,根據所述數據傳輸指令獲取待傳輸數據包;
所述第二應用處理器還用于將所述待傳輸數據包緩存至所述第二臨時緩沖區中;
所述第一應用處理器,用于從所述第一臨時緩沖區中獲取所述待傳輸數據包;
其中,所述第一臨時緩沖區和所述第二臨時緩沖區的容量值等于默認容量值與增大值之和,且所述默認容量值與所述增大值之和大于或者等于所述待傳輸數據包的大小。
可選地,所述第二應用處理器還用于檢測所述待傳輸數據包的大小,并判斷所述待傳輸數據包的大小是否大于所述默認容量值;
所述第二應用處理器還用于當所述待傳輸數據包的大小大于所述默認容量值時,計算所述待傳輸數據包的大小和所述默認容量值之間的差值,根據所述差值確定所述增大值。
可選地,所述第二應用處理器還用于當所述待傳輸數據包的大小小于或者等于所述默認容量值時,將所述待傳輸數據包緩存至默認容量值的所述第二臨時緩沖區中;
所述第一應用處理器還用于從默認容量值的所述第一臨時緩沖區中獲取所述待傳輸數據包。
可選地,所述第二應用處理器還用于當所述第一應用處理器從所述第一臨時緩沖區獲取到所述待傳輸數據包時,減小所述第二臨時緩沖區的容量值至所述默認容量值。
可選地,所述第二應用處理器還用于當所述第一應用處理器從所述第一臨時緩沖區獲取到所述待傳輸數據包時,刪除所述第二臨時緩沖區中緩存的所述待傳輸數據包。
此外,為實現上述目的,本發明還提出一種數據傳輸方法,所述數據傳輸方法應用于移動終端,以及通過通用串行總線usb與所述移動終端連接的外接設備,所述移動終端包括第一應用處理器、第一臨時緩沖區和內嵌有虛擬用戶識別卡的第一調制解調器,所述第一調制解調器分別與第一用戶識別卡和第二用戶識別卡連接,所述外接設備包括第二應用處理器、第二臨時緩沖區和第二調制解調器,其中,所述第一應用處理器通過所述usb與所述第二應用處理器連接,所述第一臨時緩沖區和所述第二臨時緩沖區的容量值是同步變化的;
當所述第二應用處理器偵測到發送待傳輸數據包的數據傳輸指令時,所述第二應用處理器根據所述數據傳輸指令獲取待傳輸數據包;
所述第二應用處理器將所述待傳輸數據包緩存至所述第二臨時緩沖區中,以供所述第一應用處理器從所述第一臨時緩沖區中獲取所述待傳輸數據包;
其中,所述第一臨時緩沖區和所述第二臨時緩沖區的容量值等于默認容量值與增大值之和,且所述默認容量值與所述增大值之和大于或者等于所述待傳輸數據包的大小。
可選地,所述第二應用處理器將所述待傳輸數據包緩存至所述第二臨時緩沖區中的步驟之前,還包括:
所述第二應用處理器檢測所述待傳輸數據包的大小,并判斷所述待傳輸數據包的大小是否大于所述默認容量值;
當所述待傳輸數據包的大小大于所述默認容量值時,所述第二應用處理器計算所述待傳輸數據包的大小和所述默認容量值之間的差值,根據所述差值確定所述增大值。
可選地,所述第二應用處理器檢測所述待傳輸數據包的大小,并判斷所述待傳輸數據包的大小是否大于所述默認容量值的步驟之后,還包括:
當所述待傳輸數據包的大小小于或者等于所述默認容量值時,所述第二應用處理器將所述待傳輸數據包緩存至默認容量值的所述第二臨時緩沖區中,以供所述第一應用處理器從默認容量值的所述第一臨時緩沖區中獲取所述待傳輸數據包。
可選地,所述第二應用處理器將所述待傳輸數據包緩存至所述第二臨時緩沖區中,以供所述第一應用處理器從所述第一臨時緩沖區中獲取所述待傳輸數據包的步驟之后,還包括:
當所述第一應用處理器從所述第一臨時緩沖區獲取到所述待傳輸數據包時,所述第二應用處理器減小所述第二臨時緩沖區的容量值至所述默認容量值。
可選地,所述第二應用處理器將所述待傳輸數據包緩存至所述第二臨時緩沖區中,以供所述第一應用處理器從所述第一臨時緩沖區中獲取所述待傳輸數據包的步驟之后,還包括:
當所述第一應用處理器從所述第一臨時緩沖區獲取到所述待傳輸數據包時,所述第二應用處理器刪除所述第二臨時緩沖區中緩存的所述待傳輸數據包。
本發明提供一種數據傳輸系統及方法,所述數據傳輸方法應用于移動終端,以及通過通用串行總線usb與所述移動終端連接的外接設備,所述移動終端包括第一應用處理器、第一臨時緩沖區和內嵌有虛擬用戶識別卡的第一調制解調器,所述第一調制解調器分別與第一用戶識別卡和第二用戶識別卡連接,所述外接設備包括第二應用處理器、第二臨時緩沖區和第二調制解調器,其中,所述第一應用處理器通過所述usb與所述第二應用處理器連接,所述第一臨時緩沖區和所述第二臨時緩沖區的容量值是同步變化的;當所述第二應用處理器偵測到發送待傳輸數據包的數據傳輸指令時,所述第二應用處理器根據所述數據傳輸指令獲取待傳輸數據包;所述第二應用處理器將所述待傳輸數據包緩存至所述第二臨時緩沖區中,以供所述第一應用處理器從所述第一臨時緩沖區中獲取所述待傳輸數據包;其中,所述第一臨時緩沖區和所述第二臨時緩沖區的容量值等于默認容量值與增大值之和,且所述默認容量值與所述增大值之和大于或者等于所述待傳輸數據包的大小。通過增大移動終端和外接設備之間用于緩存數據的臨時緩沖區的容量值,避免了在移動終端和外接設備傳輸電信卡數據過程中,由于電信卡對應某些的數據包的大小大于臨時緩沖區的容量值,導致移動終端死機的情況出現。
附圖說明
圖1為本發明一實施例的lte網絡架構的示意圖;
圖2為本發明實施例中移動終端和外接設備通訊連接的一種硬件結構示意圖;
圖3為本發明實施例中移動終端和外接設備通訊連接的一種實體結構示意圖;
圖4為本發明數據傳輸方法第一實施例的流程示意圖;
圖5為本發明數據傳輸方法第二實施例的流程示意圖;
圖6為本發明數據傳輸方法第三實施例的流程示意圖;
圖7為本發明數據傳輸方法第四實施例的流程示意圖。
本發明目的的實現、功能特點及優點將結合實施例,參照附圖做說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
現在將參考附圖描述實現本發明各個實施例的移動終端。在后續的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
圖1是本發明一實施例的lte網絡架構的示意圖。本發明一實施例的lte網絡架構包括:一個或多個移動終端(userequipment,ue)100、e-utran(evolvedumtsterrestrialradioaccessnetwork,演進的umts陸地無線接入網)(圖中未標號)、演進分組核心(epc)(圖中未標號)、歸屬訂戶服務器(hss)107、網絡(例如,因特網)(圖中未標號)以及電路交換系統(圖中未標號)。
e-utran包括演進b節點(enodeb)101和其它enodeb102。enodeb101提供朝向移動終端100的用戶面和控制面的協議終接。enodeb101可經由x2接口連接到其他enodeb。enodeb101也可稱為基站、基收發機站、無線電基站、無線電收發機、收發機功能、基本服務集、擴展服務集、或其他某個合適的術語。enodeb101為移動終端100提供去往epc的接入點。
enodeb101通過s1接口連接到epc。epc包括移動管理實體(eem)104、其他移動管理實體106、服務網關103,以及分組數據網絡(pdn)網關105。移動管理實體104是處理移動終端100與epc之間的信令的控制節點。移動管理實體104提供承載和連接管理。所有用戶ip分組通過服務網關103來傳遞,服務網關103自身連接到pdn網關105。pdn網關105提供ueip地址分配以及其他功能。pdn網關105連接到網絡,例如,因特網。
電路交換系統包括交互解決方案模塊(iws)108、移動交換中心(msc)109、基站110和移動站111。在一個方面,電路交換系統可以通過iws和mme(mobilitymanagemententity,移動管理實體)與eps(evolvedpacketsystem,演進的分組系統)進行通信。
圖2為本發明實施例中移動終端和外接設備通訊連接的一種硬件結構示意圖。在本發明實施例中,移動終端100通過usb(universalserialbus,通用串行總線)與外接設備200連接。移動終端100包括第一處理芯片001和與第一處理芯片001連接的第一射頻模塊12。其中,第一處理芯片001包括第一應用處理器(applicationprocessor)10、與第一用戶識別卡13和第二用戶識別卡14連接的第一調制解調器11(modem1)和rpm(resourcepowermanager,資源電源管理器)15。第一應用處理器10包括第一臨時緩沖區(buffer1),第一調制解調器內嵌有虛擬用戶識別卡16。外接設備200包括第二處理芯片002和與第二處理芯片002連接的第二射頻模塊22。其中,第二處理芯片002包括第二應用處理器20和第二調制解調器(modem2)21,第二應用處理器20包括第二臨時緩沖區(buffer2)。用戶識別卡為sim卡。
usb與第一應用處理器10和第二應用處理器20連接的兩端設置有用于緩存待傳輸數據包的臨時緩沖區。具體地,usb與第一應用處理器10連接處設置有第一臨時緩沖區,usb與第二應用處理器20連接處設置有第二臨時緩沖區。當外接設備200為數據發送端,移動終端100為數據接收端時,第二臨時緩沖區為輸出緩沖區,用于暫時存儲需要發送給第一應用處理器10的數據包;第一臨時緩沖區為輸入緩沖區,用于暫時存儲第二應用處理器20發送的數據包。當移動終端100為數據發送端,外接設備200為數據接收端時,第二臨時緩沖區為輸入緩沖區,第一臨時緩沖區為輸出緩沖區。需要說明的是,第一臨時緩沖區和第二臨時緩沖區對應著同一個物理地址,通過該物理地址,可控制第一臨時緩沖區和第二臨時緩沖區容量值和狀態的同步變化。由于第一臨時緩沖區和第二臨時緩沖區對應著同一個物理地址,當第二應用處理器20將待傳輸數據包緩存至第二臨時緩沖區中時,第一應用處理器10即可檢測到該待傳輸數據包,從第一臨時緩沖區中讀取到待傳輸數據包,以獲取到該待傳輸數據包。
第一應用處理器10和第二應用處理器20的內部框架包括應用層、框架層等,可處理復雜的邏輯操作以及進行任務分配等。在一個實施例中,應用處理器指android操作系統,以及基于android操作系統的各種apk(androidpackage,安卓安裝包)。第一應用處理器10和第二應用處理器20通過usb實現連接,為用戶提供交互接口,將用戶輸入的操作指令(例如,用戶通過用戶界面輸入的有關啟動視頻通話的操作指令)傳輸給第一調制解調器11或第二調制解調器21,以實現兩個處理器之間數據的定義與傳遞,例如,進行兩個應用處理器的休眠、喚醒、同步的控制、開關機時芯片啟動順序的控制等。
第一應用處理器10通過usb與第二應用處理器20連接,以實現移動終端100與外接設備200之間的連接。在本發明實施例中,usb復用出三條數據通道,分別用于第一應用處理器10和第二應用處理器20之間用戶數據、信令數據和sim卡鑒權數據的交互。即第一應用處理器10和第二應用處理器20通過usb傳輸用戶數據、信令數據和sim卡鑒權數據。其中,用戶數據包括但不限于上網產生的數據,圖片和聊天信息數據;信令數據包括但不限于開關機的控制數據,開關飛行模式的控制數據,顯示狀態信號的控制數據;sim卡鑒權數據包括但不限于imsi(internationalmobilesubscriberidentificationnumber,國際移動用戶識別碼)和ki(keyidentifier,鑒權密鑰)。
具體地,第一應用處理器10和第二應用處理器20通過otg(on-the-go)技術進行數據交互。通過otg技術,移動終端100中的第一調制解調器11可通過第二用戶識別卡14、嵌入式用戶識別卡13或虛擬用戶識別卡16中的sim卡參數來接入enodeb101,第二調制解調器21可通過第二用戶識別卡14、嵌入式用戶識別卡13或虛擬用戶識別卡16的sim卡參數來接入enodeb101,sim卡參數包括但不限于sim卡鑒權數據。
第一調制解調器11和第二調制解調器21包含各種網絡交互的網絡制式的協議棧,協議棧包含lte/wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)/gsm(globalsystemformobilecommunication,全球移動通信系統)/td-scdma(timedivision-synchronouscodedivisionmultipleaccess,同步時分碼分多址)/cdma(codedivisionmultipleaccess,碼分多址)/edge(enhanceddatarateforgsmevolution,強型數據速率gsm演進技術)等通訊標準里邊規定的協議代碼。移動終端100通過協議與運營商網絡進行交互,即進行數據流量上網、volte(voiceoverlte)打電話或者cs(circuitswitched,電路交換)域打電話。第一調制解調器11和第二調制解調器21還用于對sim卡的管控等等。
在本發明實施例中,第一射頻模塊12用于將移動終端100傳輸的數據處理后傳給enodeb101(基站網絡),以及用于將enodeb101傳輸的數據處理后傳給移動終端100。第二射頻模塊22用于將外接設備200傳輸的數據處理后傳給enodeb101(基站網絡),以及用于將enodeb101傳輸的數據處理后傳給外接設備200。
第一用戶識別卡13和第二用戶識別卡14用于提供移動通信業務(cs語音業務、ps數據業務和ps語音業務)所需的相關數據,并在其內部存儲用戶信息、短消息、執行鑒權算法和產生加密密匙等。
虛擬用戶識別卡16以軟件的形式內嵌與第一調制解調器11中,虛擬用戶識別卡16包括存儲模塊和虛擬片內操作系統(vcos,virtualchipoperatingsystem),該存儲模塊可為efs(encryptingfilesystem,加密文件系統),存儲模塊用于存儲虛擬用戶識別卡16的鑒權數據。
第一用戶識別卡13、第二用戶識別卡14和虛擬用戶識別卡16可存儲與不同或相同的技術標準相關聯的用戶信息。在特定非限制性實例中,技術標準可為2g通信技術,例如,gsm、edge)、3g通信技術(例如,wcdma、td-scdma)、4g通信技術(例如,lte),或任何其它移動通信技術(例如,4g等等)。第一用戶識別卡13和第二用戶識別卡14優選為sim卡。
當虛擬用戶識別卡16需要進行網絡注冊時,通過開啟的無線保真(wifi)網絡發送包含業務菜單數據的下載請求至虛擬用戶識別卡16對應的云端服務器,以從云端服務器獲取虛擬用戶識別卡16的數據信息。當獲取到虛擬用戶識別卡16的數據信息時,將數據信息寫入虛擬用戶識別卡16的存儲模塊中,以實現虛擬用戶識別卡16的網絡注冊。其中,數據信息可以包括:imsi、ki(keyidentifier,鑒權密鑰)、iccid(integratedcircuitcardidentifier)、pin(個人標識號,personalidentificationnumber)、puk(pinunlockingkey)。可以理解的是,云端服務器中存儲了各個運營商的卡號資源。
第一用戶識別卡13和第二用戶識別卡14在與移動終端100交互時,移動終端100檢測用戶識別卡存在與否的信號只在開機瞬時產生,當開機檢測不到用戶識別卡存在時,將提示“插入用戶識別卡”。移動終端100開機之后,移動終端100和用戶識別卡之間28秒通信一次,完成一些固定的通信檢查(例如,用戶識別卡是否在位等)。
由于目前的移動終端100只有一套射頻模塊,當移動終端100有三張用戶識別卡時,移動終端100的其中兩張用戶識別卡使用該套射頻是分時復用的關系,并不能同時占用。例如,在兩張用戶識別卡全開時,其中一張用戶識別卡只處理gsm通話,而另一張用戶識別卡處理4g網絡信息,具體哪張用戶識別卡執行何種網絡,在此不做限定。因此目前的射頻雙卡分時復用這種架構僅做到了lte+gsm(即一張用戶識別卡對應的技術標準為lte,另一張用戶識別卡對應的技術標準為gsm)。
可以理解的是,現有的移動終端100雖然可以支持雙用戶識別卡,由于移動終端100在注冊網絡的情況下,兩張用戶識別卡支持的是不同技術標準的網絡,一張支持2g或3g,另一張支持4g,會使得移動終端100使用過程中,上網流量速度較慢。在本發明實施例中,移動終端100通過usb連接外接設備200,由于外接設備200包括第二調制解調器21和第二射頻模塊22,且第二射頻模塊22支持4g網絡,因此,移動終端100可通過usb與外接設備200交互,從而使得移動終端100具備雙lte功能(此時第一用戶識別卡13、第二用戶識別卡14和虛擬用戶識別卡16中有兩張用戶識別卡管理的技術標準均為lte標準,第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術為lte)。
在本發明實施例中,數據傳輸系統包括移動終端100和外接設備200,移動終端100通過外接設備200具備雙lte功能的實現過程可為:①第二用戶識別卡14通過第二調制解調器21支持lte,具體過程為:第一調制解調器11將第二用戶識別卡14中需要訪問lte網絡的數據發送給第一應用處理器10,第一應用處理器10將所接收的數據通過usb發送給外接設備200的第二應用處理器20,第二應用處理器20將所接收的數據發送給第二調制解調器21,由第二調制解調器21轉發給第二射頻模塊22,第二射頻模塊22將所接收的數據通過lte網絡發送出去;虛擬用戶識別卡16通過第一調制解調器11支持lte,以實現移動終端100可支持雙lte。②虛擬用戶識別卡16通過第二調制解調器21支持lte,具體過程為:第一應用處理器10將虛擬用戶識別卡16中需要訪問lte網絡的數據通過usb發送給外接設備200的第二應用處理器20,第二應用處理器20將所接收的數據發送給第二調制解調器21,由第二調制解調器21轉發給第二射頻模塊22,第二射頻模塊22將所接收的數據通過lte網絡發送出去;第二用戶識別卡14通過第一調制解調器11支持lte,以實現移動終端100可支持雙lte。可以理解的是,移動終端100在于外接設備200連接的基礎上,可通過第一用戶識別卡13和虛擬用戶識別卡16,或者第一用戶識別卡13和第二用戶識別卡14實現雙lte功能。
移動終端100的rpm15用于管控各種資源,包括時鐘資源、總線資源、pmic(powermanagementic,電源管理集成電路,即各個芯片的電壓)、ddr(內存分配),以及管理芯片的休眠喚醒的中斷和應用處理器喚醒的截止時間。移動終端100的各個子系統,在需要資源時,向rpm15申請資源,各個子系統分別包括第一應用處理器10,第一調制解調器11、pronto(wifi/藍牙、nfc(nearfieldcommunication,近場通信)等)、lpass(lowpoweraudiosubsystem,低功耗音頻子系統),rpm15用來決定移動終端100系統的休眠狀態,具體是,rpm15基于各個子系統的投票機制實現,當各個子系統都投休眠票時,rpm15才可以使移動終端100整個系統進行休眠。而當移動終端100有一個子或者多個子系統投反對休眠的票,移動終端100整個系統都無法休眠。
在移動終端100的整個系統休眠之后,若是要重新啟動運行,需要喚醒第一應用處理器10以進行數據的傳輸交互。
在移動終端100和外接設備200通過usb通訊連接的情況下,喚醒方式可為以下三種:
1、第一應用處理器10接收到信令數據時,通過usb發送握手關鍵字給第二應用處理器20,以喚醒第二應用處理器20。
2、第二調制解調器21接收到用戶數據時,喚醒第二應用處理器20,由第二應用處理器20通過usb傳送握手關鍵字給第一應用處理器10,以喚醒第一應用處理器10。
3、第二調制解調器21周期性查找尋呼請求,以主動激活自己。若接收到尋呼請求,第二調制解調器21則喚醒第二應用處理器20,由第二應用處理器20通過usb發送握手關鍵字給第一應用處理器10,以喚醒第二應用處理器20。
需要說明的是,握手關鍵字可用固定字長的字符標識,是正常數據包中不會出現的字段。如可用0xf9f9f9或者0x9f9f9f表示握手關鍵字,通過握手關鍵字可喚醒處于睡眠狀態的第一應用處理器10或第二應用處理器20。
此外,第二調制解調器21還可以定期喚醒自己,以在移動終端100進行位置更新時,跟基站進行握手交互,此時不需要喚醒第一應用處理器10。
參照圖3,圖3為本發明移動終端100和外接設備200通訊連接的實體結構示意圖。移動終端100通過usb與外接設備200通訊連接,其中,移動終端包括但不限于手機、pc(personalcomputer,個人電腦)或pad(personaldigitalassistant,個人數字助理),外接設備200包括但不限于無線上網卡和數據卡。需要說明的是,移動終端100通過usb與外接設備200連接位置并不限于圖3所示,可根據具體需要來設置移動終端100通過usb與外接設備200的連接位置。
在本發明實施例中,第一用戶識別卡13、第二用戶識別卡14和虛擬用戶識別卡16的sim卡數據可為移動卡數據、聯通卡數據和電信卡數據中的其中一種。其中,移動卡和聯通卡是指采用3gpp標準協議進行通訊的電話卡,3gpp標準協議規定了電話卡傳輸數據包的大小不能超出一定值,一般情況下,該值為512字節;而電信卡是指采用3gpp2標準協議的電話卡,gpp2標準協議對電信卡傳輸的數據包的大小未做限制,因此電信卡傳輸的數據包的大小可能會大于512字節。
需要說明,在移動終端100和外接設備200數據傳輸過程中,是由發送端將數據包存儲到對應的臨時緩沖區中,然后接收端再從對應的臨時緩沖區中提取數據包,以實現待傳輸數據包的交互。
當移動終端100中的第一用戶識別卡13、第二用戶識別卡14和虛擬用戶識別卡16的sim卡數據都是移動卡數據或者是聯通卡數據時,由于移動卡或者聯通卡的數據包的大小都是小于512字節的,且第一臨時緩沖區和第二臨時緩沖區的默認容量值一般都是512字節。因此,在移動終端100和外接設備200數據傳輸過程中(以移動終端100為接收端,外接設備200為發送端為例進行說明),外接設備200存儲到第二臨時緩沖區的數據包都是小于512字節的,數據包可以完整的存儲到第二臨時緩沖區中。但是當第一用戶識別卡13、第二用戶識別卡14和/或虛擬用戶識別卡16的sim卡數據是電信卡數據,且電信卡對應的數據包的大小大于512字節時,會由于第二臨時緩沖區的默認容量值小于移動終端100和外接設備200所傳輸的數據包大小,導致移動終端100出現死機的情況(當移動終端100和外接設備200所傳輸的數據存在電信卡數據時,會導致移動終端100出現死機的情況)。
基于上述的lte網絡架構圖、移動終端100和外接設備200通訊連接的硬件結構示意圖、實體結構示意圖以及現有技術存在的問題,提出本發明的各個實施例。
本實施例提出一種數據傳輸系統,數據傳輸系統包括移動終端100和外接設備200,移動終端100包括第一射頻模塊12、內嵌有虛擬用戶識別卡16的第一調制解調器11、第一臨時緩沖區和第一應用處理器10,第一調制解調器11分別與第一用戶識別卡13和第二用戶識別卡14連接,外接設備200包括第二應用處理器20、第二射頻模塊22、第二臨時緩沖區和第二調制解調器21。
第二應用處理器20,用于當偵測到發送待傳輸數據包的數據傳輸指令時,根據數據傳輸指令獲取待傳輸數據包。
第二應用處理器20還用于將待傳輸數據包緩存至第二臨時緩沖區中。
第一應用處理器10,用于從第一臨時緩沖區中獲取待傳輸數據包。
其中,第一臨時緩沖區和第二臨時緩沖區的容量值等于默認容量值與增大值之和,且默認容量值與增大值之和大于或者等于待傳輸數據包的大小。
本實施例以外接設備200為發送端,移動終端100為接收端為例進行說明。可以理解的是,當移動終端100為發送端,外接設備200為接收端時,移動終端100和外接設備200之間進行數據傳輸的原理與外接設備200為發送端,移動終端100為接收端的數據傳輸原理一致,在此不再贅述。
當外接設備200的第二應用處理器20偵測到發送待傳輸數據包的數據傳輸指令時,第二應用處理器20根據數據傳輸指令獲取待傳輸數據包。其中,當第二應用處理器20接收到enodeb101的數據請求,或者第二應用處理器20需要獲取移動終端100中的第一用戶識別卡13、第二用戶識別卡14或虛擬用戶識別卡16的sim卡數據,或者第二應用處理器20有鑒權需求等時,第二應用處理器20就會觸發數據傳輸指令。具體地,第二應用處理器20通過usb將所獲取的待傳輸數據包發送給移動終端100的第一應用處理器10。
在本發明實施例中,第一臨時緩沖區要占用移動終端100的內存空間,第二臨時緩沖區要占用外接設備200的內存空間。如當第二臨時緩沖區的容量值為512字節,外接設備200的內存空間1024字節時,第二臨時緩沖區的512字節需要占用外接設備200內存空間中的512字節。
在本發明實施例中,第一臨時緩沖區和第二臨時緩沖區的容量值等于默認容量值與增大值之和,其中,默認容量值與增大值之和大于或者等于待傳輸數據包的大小。具體地,可在第二應用處理器20偵測到數據傳輸指令時,調用與第二臨時緩沖區對應的驅動接口,增大第二臨時緩沖區的容量值。需要說明的是,由于第二臨時緩沖區和第一臨時緩沖區對應著同一個物理地址,因此當第二應用處理器20增大第二臨時緩沖區的容量值時,第一臨時緩沖區的容量值也同步增大。在本實施例中,第一臨時緩沖區和第二臨時緩沖區的容量值增大后,是固定不變的,不會再次改變。
移動終端100和外接設備200在數據傳輸過程中所用的第一臨時緩沖區和第二臨時緩沖區的容量一般都是512個字節,因此,在本發明實施例中,第一臨時緩沖區和第二臨時緩沖區的默認容量值可設置為512字節。為了保證移動終端100和外接設備200之間的待傳輸數據包可以全部成功傳輸,增大值和默認容量值之和應大于或者等于移動終端100和外接設備200傳輸的最大待傳輸數據包的大小。如當最大待傳輸數據包的大小為3千字節時,增大值和默認容量值之和應大于或者等于3千字節。
當第二應用處理器20獲取到待傳輸數據包時,第二應用處理器20將待傳輸數據包緩存至第二臨時緩沖區中,以供第一應用處理器10從第一臨時緩沖區獲取待傳輸數據包。當第二應用處理器20已將待傳輸數據包成功寫入第二臨時緩沖區中時,第一應用處理器10即可從第一臨時緩沖區檢測并獲取到待傳輸數據包,并將所獲取的待傳輸數據包發送給第一調制解調器11(由于第一臨時緩沖區和第二臨時緩沖區對應著同一個物理地址,因此,當第二應用處理器20待傳輸數據包寫入第二臨時緩沖區時,第一應用處理器10即可在第一臨時緩沖區中檢測到該待傳輸數據包)。
當第一調制解調器11接收到待傳輸數據包時,第一調制解調器11根據待傳輸數據包從第一用戶識別卡13、第二用戶識別卡14或虛擬用戶識別卡16獲取對應的數據響應待傳輸數據包,得到響應數據包,并將響應數據包按原路返回給外接設備200的第二應用處理器20。
在第一調制解調器11根據待傳輸數據包從第一用戶識別卡13獲取對應的數據響應該待傳輸數據包過程中,第一調制解調器11不會直接與第一用戶識別卡13中的文件存儲模塊交互,而是先向第一用戶識別卡13中的cos(chipoperatingsystem,片內操作系統)操作系統發送數據獲取請求,然后第一用戶識別卡13的cos操作系統基于該數據獲取請求在文件存儲模塊中獲取數據,然后將獲取的數據再傳輸給第一調制解調器11,以實現待傳輸數據包的響應。
需要說明的是,第一調制解調器11從虛擬用戶識別卡16或第二用戶識別卡14中獲取數據響應待傳輸數據包的原理與第一調制解調器11從第一用戶識別卡13中獲取數據響應待傳輸數據包的原理一致,在此不再贅述。
本實施例通過當第二應用處理器20偵測到發送待傳輸數據包的數據傳輸指令時,第二應用處理器20根據數據傳輸指令獲取待傳輸數據包;第二應用處理器20將待傳輸數據包緩存至第二臨時緩沖區中,以供第一應用處理器10從第一臨時緩沖區中獲取待傳輸數據包;其中,第一臨時緩沖區和第二臨時緩沖區的容量值等于默認容量值與增大值之和,且默認容量值與增大值之和大于或者等于待傳輸數據包的大小。通過增大移動終端100和外接設備200之間用于緩存數據的臨時緩沖區的容量值,避免了在移動終端100和外接設備200傳輸電信卡數據過程中,由于電信卡對應某些的數據包大小大于臨時緩沖區的容量值,導致移動終端100死機的情況出現。
進一步地,通過增大移動終端100和外接設備200之間用于數據傳輸的臨時緩沖區的默認容量值,使待傳輸數據包的大小小于或者等于臨時緩沖區的容量值,實現了在外接設備200和移動終端100進行數據傳輸過程中,當所傳輸的待傳輸數據包的大小大于臨時緩沖區的默認容量值時,不需要拆分待傳輸數據包,可直接傳輸一個完整的待傳輸數據包,提高了待傳輸數據包傳輸效率,同時,由于不需要拆分待傳輸數據包,因此避免了在拆分待傳輸數據包后,所拆分的某一待傳輸數據包丟失,或者在待傳輸數據包合成過程中,合成失敗的情況出現,提高了待傳輸數據包傳輸成功率。
進一步地,提出本發明數據傳輸系統第二實施例。
數據傳輸系統第二實施例與數據傳輸系統第一實施例的區別在于,第二應用處理器20還用于檢測待傳輸數據包的大小,并判斷待傳輸數據包的大小是否大于默認容量值;
第二應用處理器20還用于當待傳輸數據包的大小大于默認容量值時,計算待傳輸數據包的大小和默認容量值之間的差值,根據差值確定增大值。
當第一用戶識別卡13、第二用戶識別卡14和/或虛擬用戶識別卡16的sim卡數據為電信卡數據時,外接設備200和移動終端100之間所傳輸的待傳輸數據包并不都是大于512字節的,只是存在少數幾個待傳輸數據包才是大于512字節。因此,如果將第一臨時緩沖區和第二臨時緩沖區的容量值從默認容量值增大到某一固定值,在數據傳輸過程中不改變第一臨時緩沖區和第二臨時緩沖區的容量值,則會浪費第一臨時緩沖區和第二臨時緩沖區的存儲空間。因此,當外接設備200的第二應用處理器20獲取到待傳輸數據包時,第二應用處理器20檢測待傳輸數據包的大小。
具體地,第二應用處理器20解析待傳輸數據包,得到待傳輸數據包的包頭,從包頭中獲取待傳輸數據包的大小。其中,待傳輸數據包為tlv格式,tlv格式是ber(basicencodingrules,基本編碼規則)編碼的一種,全稱為type(類型),length(長度),value(值),t字段表示待傳輸數據包的類型,l字段表示待傳輸數據包的長度,即待傳輸數據包的大小,v字段往往用來存放待傳輸數據包的內容。在第二應用處理器20中,由物理層(物理傳輸介質)之上的物理驅動層檢測待傳輸數據包的包頭,解析得到待傳輸數據包的大小。
需要說明的是,待傳輸數據包的生成過程為:在第二應用處理器20中,當傳輸層獲取到待傳輸數據包對應的原始數據時,為該原始數據添加傳輸層的數據包頭,傳輸層的數據包頭包括傳輸層數據類型和數據大小,得到初始數據包,并將輸出數據包傳輸至邏輯復用層。當邏輯復用層接收到初始數據包后,為初始化數據包添加邏輯復用層的數據包頭,邏輯復用層的數據包頭包括邏輯復用層的數據類型和數據大小,得到待傳輸數據包,并通過調用物理驅動層的發送接口將待傳輸數據包發送給物理層。可以理解的是,第二應用處理器20最終所檢測到待傳輸數據包大小為邏輯復用層包頭中的數據大小。
當確定待傳輸數據包的大小后,第二應用處理器20判斷待傳輸數據包的大小是否大于默認容量值。當待傳輸數據包的大小大于默認容量值時,第二應用處理器20計算默認容量值和待傳輸數據包大小之間的差值,并根據計算所得的差值確定增大值。具體地,增大值可與計算所得的差值相等,也可大于計算所得的差值,如可將增大值的大小設置為大于該差值一個字節。當確定增大值后,第二應用處理器20根據增大值增大第二臨時緩沖區的容量值,使得第二臨時緩沖區的容量值等于增大值與默認容量值之和。同時,第一應用處理器10調用與第一臨時緩沖區對應的驅動接口,根據增大值增大第一臨時緩沖區的容量值,以使第一臨時緩沖區和第二臨時緩沖區的容量值同步變化。
第二應用處理器20還用于當待傳輸數據包的大小小于或者等于默認容量值時,將待傳輸數據包緩存至默認容量值的第二臨時緩沖區中。
第一應用處理器10還用于從默認容量值的第一臨時緩沖區中獲取待傳輸數據包。
當待傳輸數據包的大小小于或者等于默認容量值時,第二應用處理器20不改變第二臨時緩沖區的容量值,直接將待傳輸數據包緩存至容量值為默認容量值的第二臨時緩沖區中,以供第一應用處理器10從容量值為默認容量值的第一臨時緩沖區中獲取待傳輸數據包。
本實施例通過根據待傳輸數據包的大小動態調整第一臨時緩沖區和第二臨時緩沖區的容量值,保證在外接設備200和移動終端100之間傳輸待傳輸數據包過程中,不需要對待傳輸數據包進行拆分的額外操作,確保了移動終端100和外接設備200之間數據通道透傳的本質,避免了數據傳輸過程中二次拆分重組帶來數據損傷,同時避免直接增大第一臨時緩沖區和第二臨時緩沖區導致緩存空間浪費的問題。
進一步地,提出本發明數據傳輸系統第三實施例。
數據傳輸系統第三實施例與數據傳輸系統第二實施例的區別在于,第二應用處理器20還用于當第一應用處理器10從第一臨時緩沖區獲取到待傳輸數據包時,減小第二臨時緩沖區的容量值至默認容量值。
當第一應用處理器10從容量值等于默認容量值和增大值之和的第一臨時緩沖區中成功獲取到待傳輸數據包時,第二應用處理器20調用與第二臨時緩沖區對應的驅動接口,將第二臨時緩沖區的容量值減小至默認容量值,即將第二臨時緩沖區的容量值從等于默認容量值與增大值之和減小至默認容量值。當第二應用處理器20減小第二臨時緩沖區的容量值至默認容量值時,第一應用處理器10調用與第一臨時緩沖區對應的驅動接口,將第一臨時緩沖區的容量值減小至默認容量值。
需要說明的是,待傳輸數據包存在一個結束標識,通過該結束標識可以確定待傳輸數據包是否被成功讀取。當第一臨時緩沖區中待傳輸數據包的結束標識被讀取后,表明第一應用處理器10已成功獲取到待傳輸數據包。即當第一應用處理器10在第一臨時緩沖區中讀取到該結束標識時,表明第一應用處理器10已成功獲取待傳輸數據包。由于第一臨時緩沖區和第二臨時緩沖區的狀態是同步變化的,因此第二應用處理器20可根據結束標識被讀取的情況確定第一應用處理器10是否成功從第一臨時緩沖區中獲取到待傳輸數據包,從而決定是否執行減小第二臨時緩沖區的容量值至默認容量值的操作。
本實施例通過當第一應用處理器10成功獲取到待傳輸數據包時,第二應用處理器20將第二臨時緩沖區的容量值重新減小至默認容量值,以在不浪費臨時緩沖區緩存空間的基礎上,保證移動終端100和外接設備200在數據傳輸過程中不會因為傳輸的數據包過大而導致死機的問題出現。
進一步地,提出本發明數據傳輸系統第四實施例。
數據傳輸系統第四實施例與數據傳輸系統第一或二實施例的區別在于,第二應用處理器20還用于當第一應用處理器10從第一臨時緩沖區獲取到待傳輸數據包時,刪除第二臨時緩沖區中緩存的待傳輸數據包。
當第一應用處理器10從第一臨時緩沖區中成功獲取到待傳輸數據包時,第二應用處理器20觸發刪除指令,根據刪除指令刪除第二臨時緩沖區中的待傳輸數據包,以節省臨時緩沖區的緩存空間,保證移動終端100和外接設備200之間數據的成功傳輸。可以理解的是,當第二應用處理器20刪除第二臨時緩沖區中的待傳輸數據包時,第一應用處理器10也會刪除第一臨時緩沖區中的待傳輸數據包。
本發明還提供一種數據傳輸方法。
參照圖4,圖4為本發明數據傳輸方法第一實施例的流程示意圖。
本實施例提出一種數據傳輸方法,在本實施例中,提供了數據傳輸方法的實施例,需要說明的是,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。
數據傳輸方法應用于通過usb與外接設備200連接的移動終端100中,移動終端100包括第一射頻模塊12、內嵌有虛擬用戶識別卡16的第一調制解調器11、第一臨時緩沖區和第一應用處理器10,第一調制解調器11分別與第一用戶識別卡13和第二用戶識別卡14連接,外接設備200包括第二應用處理器20、第二射頻模塊22、第二臨時緩沖區和第二調制解調器21。
數據傳輸方法包括:
步驟s10,當第二應用處理器20偵測到發送待傳輸數據包的數據傳輸指令時,第二應用處理器20根據數據傳輸指令獲取待傳輸數據包。
步驟s20,第二應用處理器20將待傳輸數據包緩存至第二臨時緩沖區中,以供第一應用處理器10從第一臨時緩沖區中獲取待傳輸數據包。
其中,第一臨時緩沖區和第二臨時緩沖區的容量值等于默認容量值與增大值之和,且默認容量值與增大值之和大于或者等于待傳輸數據包的大小。
本實施例以外接設備200為發送端,移動終端100為接收端為例進行說明。可以理解的是,當移動終端100為發送端,外接設備200為接收端時,移動終端100和外接設備200之間進行數據傳輸的原理與外接設備200為發送端,移動終端100為接收端的數據傳輸原理一致,在此不再贅述。
當外接設備200的第二應用處理器20偵測到發送待傳輸數據包的數據傳輸指令時,第二應用處理器20根據數據傳輸指令獲取待傳輸數據包。其中,當第二應用處理器20接收到enodeb101的數據請求,或者第二應用處理器20需要獲取移動終端100中的第一用戶識別卡13、第二用戶識別卡14或虛擬用戶識別卡16的sim卡數據,或者第二應用處理器20有鑒權需求等時,第二應用處理器20就會觸發數據傳輸指令。具體地,第二應用處理器20通過usb將所獲取的待傳輸數據包發送給移動終端100的第一應用處理器10。
在本發明實施例中,第一臨時緩沖區要占用移動終端100的內存空間,第二臨時緩沖區要占用外接設備200的內存空間。如當第二臨時緩沖區的容量值為512字節,外接設備200的內存空間1024字節時,第二臨時緩沖區的512字節需要占用外接設備200內存空間中的512字節。
在本發明實施例中,第一臨時緩沖區和第二臨時緩沖區的容量值等于默認容量值與增大值之和,其中,默認容量值與增大值之和大于或者等于待傳輸數據包的大小。具體地,可在第二應用處理器20偵測到數據傳輸指令時,調用與第二臨時緩沖區對應的驅動接口,增大第二臨時緩沖區的容量值。需要說明的是,由于第二臨時緩沖區和第一臨時緩沖區對應著同一個物理地址,因此當第二應用處理器20增大第二臨時緩沖區的容量值時,第一臨時緩沖區的容量值也同步增大。在本實施例中,第一臨時緩沖區和第二臨時緩沖區的容量值增大后,是固定不變的,不會再次改變。
移動終端100和外接設備200在數據傳輸過程中所用的第一臨時緩沖區和第二臨時緩沖區的容量一般都是512個字節,因此,在本發明實施例中,第一臨時緩沖區和第二臨時緩沖區的默認容量值可設置為512字節。為了保證移動終端100和外接設備200之間的待傳輸數據包可以全部成功傳輸,增大值和默認容量值之和應大于或者等于移動終端100和外接設備200傳輸的最大待傳輸數據包的大小。如當最大待傳輸數據包的大小為3千字節時,增大值和默認容量值之和應大于或者等于3千字節。
當第二應用處理器20獲取到待傳輸數據包時,第二應用處理器20將待傳輸數據包緩存至第二臨時緩沖區中,以供第一應用處理器10從第一臨時緩沖區獲取待傳輸數據包。當第二應用處理器20已將待傳輸數據包成功寫入第二臨時緩沖區中時,第一應用處理器10即可從第一臨時緩沖區檢測并獲取到待傳輸數據包,并將所獲取的待傳輸數據包發送給第一調制解調器11(由于第一臨時緩沖區和第二臨時緩沖區對應著同一個物理地址,因此,當第二應用處理器20待傳輸數據包寫入第二臨時緩沖區時,第一應用處理器10即可在第一臨時緩沖區中檢測到該待傳輸數據包)。
當第一調制解調器11接收到待傳輸數據包時,第一調制解調器11根據待傳輸數據包從第一用戶識別卡13、第二用戶識別卡14或虛擬用戶識別卡16獲取對應的數據響應待傳輸數據包,得到響應數據包,并將響應數據包按原路返回給外接設備200的第二應用處理器20。
在第一調制解調器11根據待傳輸數據包從第一用戶識別卡13獲取對應的數據響應該待傳輸數據包過程中,第一調制解調器11不會直接與第一用戶識別卡13中的文件存儲模塊交互,而是先向第一用戶識別卡13中的cos(chipoperatingsystem,片內操作系統)操作系統發送數據獲取請求,然后第一用戶識別卡13的cos操作系統基于該數據獲取請求在文件存儲模塊中獲取數據,然后將獲取的數據再傳輸給第一調制解調器11,以實現待傳輸數據包的響應。
需要說明的是,第一調制解調器11從虛擬用戶識別卡16或第二用戶識別卡14中獲取數據響應待傳輸數據包的原理與第一調制解調器11從第一用戶識別卡13中獲取數據響應待傳輸數據包的原理一致,在此不再贅述。
本實施例通過當第二應用處理器20偵測到發送待傳輸數據包的數據傳輸指令時,第二應用處理器20根據數據傳輸指令獲取待傳輸數據包;第二應用處理器20將待傳輸數據包緩存至第二臨時緩沖區中,以供第一應用處理器10從第一臨時緩沖區中獲取待傳輸數據包;其中,第一臨時緩沖區和第二臨時緩沖區的容量值等于默認容量值與增大值之和,且默認容量值與增大值之和大于或者等于待傳輸數據包的大小。通過增大移動終端100和外接設備200之間用于緩存數據的臨時緩沖區的容量值,避免了在移動終端100和外接設備200傳輸電信卡數據過程中,由于電信卡對應某些的數據包大小大于臨時緩沖區的容量值,導致移動終端100死機的情況出現。
進一步地,通過增大移動終端100和外接設備200之間用于數據傳輸的臨時緩沖區的默認容量值,使待傳輸數據包的大小小于或者等于臨時緩沖區的容量值,實現了在外接設備200和移動終端100進行數據傳輸過程中,當所傳輸的待傳輸數據包的大小大于臨時緩沖區的默認容量值時,不需要拆分待傳輸數據包,可直接傳輸一個完整的待傳輸數據包,提高了待傳輸數據包傳輸效率,同時,由于不需要拆分待傳輸數據包,因此避免了在拆分待傳輸數據包后,所拆分的某一待傳輸數據包丟失,或者在待傳輸數據包合成過程中,合成失敗的情況出現,提高了待傳輸數據包傳輸成功率。
進一步地,提出本發明數據傳輸方法第二實施例。
數據傳輸方法第二實施例與數據傳輸方法第一實施例的區別在于,參照圖5,數據傳輸方法還包括:
步驟s30,第二應用處理器20檢測待傳輸數據包的大小,并判斷待傳輸數據包的大小是否大于默認容量值。
步驟s40,當待傳輸數據包的大小大于默認容量值時,第二應用處理器20計算待傳輸數據包的大小和默認容量值之間的差值,根據差值確定增大值。
當第一用戶識別卡13、第二用戶識別卡14和/或虛擬用戶識別卡16的sim卡數據為電信卡數據時,外接設備200和移動終端100之間所傳輸的待傳輸數據包并不都是大于512字節的,只是存在少數幾個待傳輸數據包才是大于512字節。因此,如果將第一臨時緩沖區和第二臨時緩沖區的容量值從默認容量值增大到某一固定值,在數據傳輸過程中不改變第一臨時緩沖區和第二臨時緩沖區的容量值,則會浪費第一臨時緩沖區和第二臨時緩沖區的存儲空間。因此,當外接設備200的第二應用處理器20獲取到待傳輸數據包時,第二應用處理器20檢測待傳輸數據包的大小。
具體地,第二應用處理器20解析待傳輸數據包,得到待傳輸數據包的包頭,從包頭中獲取待傳輸數據包的大小。其中,待傳輸數據包為tlv格式,tlv格式是ber(basicencodingrules,基本編碼規則)編碼的一種,全稱為type(類型),length(長度),value(值),t字段表示待傳輸數據包的類型,l字段表示待傳輸數據包的長度,即待傳輸數據包的大小,v字段往往用來存放待傳輸數據包的內容。在第二應用處理器20中,由物理層(物理傳輸介質)之上的物理驅動層檢測待傳輸數據包的包頭,解析得到待傳輸數據包的大小。
需要說明的是,待傳輸數據包的生成過程為:在第二應用處理器20中,當傳輸層獲取到待傳輸數據包對應的原始數據時,為該原始數據添加傳輸層的數據包頭,傳輸層的數據包頭包括傳輸層數據類型和數據大小,得到初始數據包,并將輸出數據包傳輸至邏輯復用層。當邏輯復用層接收到初始數據包后,為初始化數據包添加邏輯復用層的數據包頭,邏輯復用層的數據包頭包括邏輯復用層的數據類型和數據大小,得到待傳輸數據包,并通過調用物理驅動層的發送接口將待傳輸數據包發送給物理層。可以理解的是,第二應用處理器20最終所檢測到待傳輸數據包大小為邏輯復用層包頭中的數據大小。
當確定待傳輸數據包的大小后,第二應用處理器20判斷待傳輸數據包的大小是否大于默認容量值。當待傳輸數據包的大小大于默認容量值時,第二應用處理器20計算默認容量值和待傳輸數據包大小之間的差值,并根據計算所得的差值確定增大值。具體地,增大值可與計算所得的差值相等,也可大于計算所得的差值,如可將增大值的大小設置為大于該差值一個字節。當確定增大值后,第二應用處理器20根據增大值增大第二臨時緩沖區的容量值,使得第二臨時緩沖區的容量值等于增大值與默認容量值之和。同時,第一應用處理器10調用與第一臨時緩沖區對應的驅動接口,根據增大值增大第一臨時緩沖區的容量值,以使第一臨時緩沖區和第二臨時緩沖區的容量值同步變化。
步驟s50,當待傳輸數據包的大小小于或者等于默認容量值時,第二應用處理器20將待傳輸數據包緩存至默認容量值的第二臨時緩沖區中,以供第一應用處理器10從默認容量值的第一臨時緩沖區中獲取待傳輸數據包。
當待傳輸數據包的大小小于或者等于默認容量值時,第二應用處理器20不改變第二臨時緩沖區的容量值,直接將待傳輸數據包緩存至容量值為默認容量值的第二臨時緩沖區中,以供第一應用處理器10從容量值為默認容量值的第一臨時緩沖區中獲取待傳輸數據包。
本實施例通過根據待傳輸數據包的大小動態調整第一臨時緩沖區和第二臨時緩沖區的容量值,保證在外接設備200和移動終端100之間傳輸待傳輸數據包過程中,不需要對待傳輸數據包進行拆分的額外操作,確保了移動終端100和外接設備200之間數據通道透傳的本質,避免了數據傳輸過程中二次拆分重組帶來數據損傷,同時避免直接增大第一臨時緩沖區和第二臨時緩沖區導致緩存空間浪費的問題。
進一步地,提出本發明數據傳輸方法第三實施例。
數據傳輸方法第三實施例與數據傳輸方法第二實施例的區別在于,參照圖6,數據傳輸方法還包括:
步驟s60,當第一應用處理器10從第一臨時緩沖區獲取到待傳輸數據包時,第二應用處理器20減小第二臨時緩沖區的容量值至默認容量值。
當第一應用處理器10從容量值等于默認容量值和增大值之和的第一臨時緩沖區中成功獲取到待傳輸數據包時,第二應用處理器20調用與第二臨時緩沖區對應的驅動接口,將第二臨時緩沖區的容量值減小至默認容量值,即將第二臨時緩沖區的容量值從等于默認容量值與增大值之和減小至默認容量值。當第二應用處理器20減小第二臨時緩沖區的容量值至默認容量值時,第一應用處理器10調用與第一臨時緩沖區對應的驅動接口,將第一臨時緩沖區的容量值減小至默認容量值。
需要說明的是,待傳輸數據包存在一個結束標識,通過該結束標識可以確定待傳輸數據包是否被成功讀取。當第一臨時緩沖區中待傳輸數據包的結束標識被讀取后,表明第一應用處理器10已成功獲取到待傳輸數據包。即當第一應用處理器10在第一臨時緩沖區中讀取到該結束標識時,表明第一應用處理器10已成功獲取待傳輸數據包。由于第一臨時緩沖區和第二臨時緩沖區的狀態是同步變化的,因此第二應用處理器20可根據結束標識被讀取的情況確定第一應用處理器10是否成功從第一臨時緩沖區中獲取到待傳輸數據包,從而決定是否執行減小第二臨時緩沖區的容量值至默認容量值的操作。
本實施例通過當第一應用處理器10成功獲取到待傳輸數據包時,第二應用處理器20將第二臨時緩沖區的容量值重新減小至默認容量值,以在不浪費臨時緩沖區緩存空間的基礎上,保證移動終端100和外接設備200在數據傳輸過程中不會因為傳輸的數據包過大而導致死機的問題出現。
進一步地,提出本發明數據傳輸方法第四實施例。
數據傳輸方法第四實施例與數據傳輸方法第一實施例的區別在于,參照圖7,數據傳輸方法還包括:
步驟s70,當第一應用處理器10從第一臨時緩沖區獲取到待傳輸數據包時,第二應用處理器20刪除第二臨時緩沖區中緩存的待傳輸數據包。
當第一應用處理器10從第一臨時緩沖區中成功獲取到待傳輸數據包時,第二應用處理器20觸發刪除指令,根據刪除指令刪除第二臨時緩沖區中的待傳輸數據包,以節省臨時緩沖區的緩存空間,保證移動終端100和外接設備200之間數據的成功傳輸。可以理解的是,當第二應用處理器20刪除第二臨時緩沖區中的待傳輸數據包時,第一應用處理器10也會刪除第一臨時緩沖區中的待傳輸數據包。
需要說明的是,在本文中,術語“包括”、“包含”或者其任何其它變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者系統不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者是還包括為這種過程、方法、物品或者系統所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者系統中還存在另外的相同要素。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調器,或者網絡設備等)執行本發明各個實施例的方法。
以上僅為本發明的優選實施例,并非因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其它相關的技術領域,均同理包括在本發明的專利保護范圍內。