新四季網

一種不定幀長結構數據流的存儲方法

2023-10-09 08:30:09

專利名稱:一種不定幀長結構數據流的存儲方法
技術領域:
本發明涉及嵌入式系統,特別是涉及一種適用於存儲局限大的嵌入式產品如移動終端的一種不定幀長結構數據流的存儲方法。
背景技術:
嵌入式產品的存儲局限性大,一直是手機的薄弱環節。目前,特定的幀結構的數據存儲部分使用連續的空間存儲模式,移動終端的空間分配情況固定,分配時由用戶指定存儲空間的大小。圖1示出了現有技術嵌入式產品採用的連續存儲模式的幀結構,其由連續的空間結構表達,具有固定的長度,幀結構的最大長度決定了存儲空間的大小。對於幀長度較小的情況,將在一定程度上產生存儲空間的浪費。由於移動終端的硬體資源限制,無法像PC機那樣提供足夠的空間給用戶平面使用,因此在很多實際的情況中處理問題的方法將有很多區別。上述的連續存儲空間在問題的實現中具有簡易的優點,但是對於幀長度變化頻繁,變化範圍較大的情況,將顯得力不從心。特別是,這種連續的存儲結構對於自增長的數據幀將無法預先估計其數據長度,因此只能根據協議中規定的最大長度為其分配資源。當短幀數據的數量較多時,這種使用方法使得空間資源的利用率下降到50%以下。

發明內容
本發明的目的在於提供一種不定幀長結構數據流的存儲方法,以提高存儲空間的利用率,解決嵌入式產品資源有限問題。
為實現本發明的上述目的,本發明提供了一種不定幀長結構數據流的存儲方法,其中,包括為接收到的所述不定幀長結構的數據流動態分配用於存儲所述不定幀長數據流的數據結構的步驟。
所述的存儲方法,其中,所述動態分配存儲所述不定幀長數據流的數據結構的步驟進一步包括分段存儲所述接收的不定幀長結構數據流的步驟。
所述的存儲方法,其中,所述用於存儲所述不定幀長數據流的數據結構為指針鍊表結構。
所述的存儲方法,其中,所述分段存儲所述接收的不定幀長結構數據流的步驟進一步包括步驟一,檢測數據流的到達,構造幀結構,其中,所述幀結構包括幀頭及幀數據塊;步驟二,接收數據流,將所述數據流存入一幀數據塊,並判斷所述幀數據塊是否已滿;如是,則轉入步驟三;步驟三,追加一個或多個幀數據塊,直至將數據流存儲完畢,其中,前一個幀數據塊中記錄有後續幀數據塊的信息。
所述的存儲方法,其中,所述步驟二進一步包括分離所述接收的不定幀長結構數據流中的數據部分,並用數據指針替代原有的存儲數據的字符數組部分。
所述的存儲方法,其中,所述不定幀長結構數據流為串行數據流。
所述的存儲方法,其中,所述不定幀長結構數據流的數據結構大小具有64位元組至32K字節的變化範圍。
所述的存儲方法,其中,所述幀數據塊具有確定的長度。
本發明針對某些終端實際數據特點採用特定存儲管理模式改善空間利用狀況,有效緩解作為嵌入式產品資源有限的弱點。利用本發明的方法可通過針對特定的模塊使用情況和數據結構特點有針對性的制定數據結構模型提高存儲空間的利用率,並進而提高手機等嵌入式產品晶片的計算處理能力利用率。
以下結合附圖和具體實施例對本發明進行詳細描述,但不作為對本發明的限定。


圖1是現有技術的幀結構圖;圖2是本發明方法構造的幀結構圖;圖3是本發明方法的幀結構生成過程的流程示意圖。
具體實施例方式
本發明的特點在於存儲對象是動態決定,具有串行特點,即在該存儲對象到達時,無法確定其數據結構的大小,並且該數據結構大小具有64bytes至32Kbytes的變化範圍。利用本發明的方法在終端的實時通訊中,每次接收到的數據需要添加到先前分配的數據結構中,而在數據結構分配時採用該分離存儲的模式,以達到優化存儲結構的目的。
本發明的方法並非專注於內存管理,而是在處理動態增長的數據結構中進行格式變化,使得原本內存利用率不高的現象得到改善。例如,晶片通訊中有個接收前不定長幀到達,此時如果按照原始思路要分配最大幀長度的內存用於該不定幀的存儲,而根據本文所述方法,每次分配一個數據塊(block)長度,然後動態的追加新的數據塊(block)為其使用。因此不定幀的實體有多個數據塊(blocks)聯合構成,前一個block記錄後續block的信息,直至結束。
圖2是本發明方法採用的幀結構示意圖。與圖1所示的現有技術採用的幀結構對比,圖2所示的幀結構的長度不固定,其中的數據部分被分離出來用數據的指針替代原有的存儲數據的字符數組部分(即在data info reference部分用指針byte*pBuffer替換原有圖1中Data info部分的一個大於幀長度的用於存儲的字符數組byte Buffer[最大長度值]),用指針替代後再創建內存池,並按照需要進行優化。用一個或多個幀數據塊(block)來存儲幀的數據部分,其中,一個數據塊(block)1包括塊頭部分11(Block Head)、數據部分12(Data Info)及保留部分13(Reserved)前一個數據塊1在其塊頭部分11(Block Head)記錄有後續數據塊(block)2的信息。
圖3是本發明方法的幀結構生成過程的流程示意圖。在圖3中,當不定幀長數據流到達時(步驟301),系統構造幀結構(步驟302) 通常構造出的幀的組成結構為一個幀頭(包含幀的類型、長度、校驗等信息)及若干幀數據塊,其中具體的數據塊的數量由幀長度決定,即幀所佔的空間為數據塊長度的整數倍。判斷數據接收是否結束(步驟303);如是,則返回幀結構(步驟307);如否,則繼續接收數據流(步驟304);判斷數據塊是否已滿(步驟305);如是,則追加存儲的數據塊(步驟306);如否,則轉入步驟303,繼續判斷數據接收是否結束。其中,構造幀結構時,幀頭(Frame header)需要從Header pool(幀頭池)中申請,獲得一個空閒的(Free)的Header結構,根據接收到的前幾個字節(byte)數據確定Header的某些屬性(如幀的類型、長度等屬性),然後陸續填充Blocks,直到幀尾。追加的數據塊的數量根據幀的增長動態添加。其中的數據塊為存儲單元。實際上,本發明的方法不需要預先解讀幀頭信息,它將數據存入指針鍊表中,其具有長度自適應性質,由此避免了使用realloc函數降低允許效率和避免預分配大量內存浪費工具的優點。
本發明的方法擺脫了傳統結構的束縛,充分利用嵌入式軟體的靈活性,利用幀結構的分段式存儲,及內存的統一管理,採用特定存儲管理模式改善空間利用狀況,有效緩解了嵌入式產品資源有限的弱點。
當然,本發明還可有其他多種實施例,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬於本發明所附的權利要求的保護範圍。
權利要求
1.一種不定幀長結構數據流的存儲方法,其特徵在於,包括為接收到的所述不定幀長結構的數據流動態分配用於存儲所述不定幀長數據流的數據結構的步驟。
2.根據權利要求1所述的存儲方法,其特徵在於,所述動態分配存儲所述不定幀長數據流的數據結構的步驟進一步包括分段存儲所述接收的不定幀長結構數據流的步驟。
3.根據權利要求1或2中任一權利要求所述的存儲方法,其特徵在於,所述用於存儲所述不定幀長數據流的數據結構為指針鍊表結構。
4.根據權利要求3所述的存儲方法,其特徵在於,所述分段存儲所述接收的不定幀長結構數據流的步驟進一步包括步驟一,檢測數據流的到達,構造幀結構,其中,所述幀結構包括幀頭及幀數據塊;步驟二,接收數據流,將所述數據流存入一幀數據塊,並判斷所述幀數據塊是否已滿;如是,則轉入步驟三;步驟三,追加一個或多個幀數據塊,直至將數據流存儲完畢,其中,前一個幀數據塊中記錄有後續幀數據塊的信息。
5.根據權利要求4所述的存儲方法,其特徵在於,所述步驟二進一步包括分離所述接收的不定幀長結構數據流中的數據部分,並用數據指針替代原有的存儲數據的字符數組部分。
6.根據權利要求1-5中任一權利要求所述的存儲方法,其特徵在於,所述不定幀長結構數據流為串行數據流。
7.根據權利要求6所述的存儲方法,其特徵在於,所述不定幀長結構數據流的數據結構大小具有64位元組至32K字節的變化範圍。
8.根據權利要求4或7中任一權利要求所述的存儲方法,其特徵在於,所述幀數據塊具有確定的長度。
全文摘要
本發明提供了一種不定幀長結構數據流的存儲方法,其特徵在於,包括為接收到的所述不定幀長結構的數據流動態分配用於存儲所述不定幀長數據流的數據結構的步驟。利用本發明的方法可通過針對特定的模塊使用情況和數據結構特點有針對性的制定數據結構模型提高存儲空間的利用率,並進而提高手機等嵌入式產品晶片的計算處理能力利用率。
文檔編號G06F12/02GK101021846SQ20061001132
公開日2007年8月22日 申請日期2006年2月14日 優先權日2006年2月14日
發明者吳偉 申請人:樂金電子(中國)研究開發中心有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀