數據處理方法和裝置制造方法
【專利摘要】本發明涉及一種數據處理方法和裝置。所述方法包括:對用戶設備的存儲介質進行劃分,生成全局信息域,靜態小數據域,靜態大數據域,動態小數據域和動態大數據域;根據所述存儲介質的劃分結果,分別對所述靜態小數據域,靜態大數據域,動態小數據域和動態大數據域的數據進行處理。
【專利說明】數據處理方法和裝置
【技術領域】
[0001] 本發明涉及存儲領域,尤其涉及一種數據處理方法和裝置。
【背景技術】
[0002] 在嵌入式產品的軟件開發中,通常針對不同的應用需要對一些參數進行調整, 且一般來說存儲這些參數的媒介需要能有掉電保存機制,帶電可擦寫可編程只讀存儲器 (Electrically Erasable Programmable R0M,縮寫:EEPR0M)和閃存(Flash)是應用最為廣 泛的兩種非易失性存儲器。對于參數所需存儲空間較少的情況,通常會選取EEPR0M來存儲 這些參數,而對于需要存儲的數據較大,比如參數中有較大文件等的情形,則會選取Flash 作為存儲介質。
[0003] 以藍牙設備為例,由于其增加語音提示,語音識別,以及其他復雜的配置功能,需 要存儲語音等音頻文件,其占用的空間會超過通常容量(size)的EEPR0M,因此綜合成本與 性能需要更換存儲介質為Flash。
[0004] Flash和EEPR0M之間的區別在于,EEPR0M是可以以字節為單位隨機讀寫,且不 需要擦除即可對其編程,而Flash則是按塊(Block)/扇區(Sector)為單位擦除,然后以 頁(Page)為單位進行讀寫和編程,且Flash的寫操作只能從"1"寫"0"的特性,如果需要 改寫Flash的存儲內容則需要先擦后寫。因此,如果因為更改某幾個字節而需要擦除整塊 并保存未改變的部分,最后又重新寫整塊,這一過程非常浪費內存和中央處理器(Central Processing Unit,縮寫:CPU)。
【發明內容】
[0005] 本發明的目的是解決Flash中,因為更改某幾個字節而擦除整塊而造成的內存和 (PU浪費的問題。
[0006] 第一方面,本發明實施例提供了一種數據處理方法,所述方法包括:
[0007] 對用戶設備的存儲介質進行劃分,生成全局信息域,靜態小數據域,靜態大數據 域,動態小數據域和動態大數據域;
[0008] 根據所述存儲介質的劃分結果,分別對所述靜態小數據域,靜態大數據域,動態小 數據域和動態大數據域的數據進行處理。
[0009] 優選地,所述全局信息域包括各域的基址信息,所述基址信息用于指示所述全局 信息域,靜態小數據域,靜態大數據域,動態小數據域,動態大數據域在所述存儲介質中的 地址。
[0010] 優選地,所述動態小數據域包括Ping區和Pong區,所述Ping區和Pong區分別包 括有效標記,有效標記取反,動態小參數數量值,DS參數數量值取反,DS參數頭信息,DS參 數有效數據;
[0011] 所述對動態小數據域的數據進行處理具體包括:
[0012] 在改寫Ping區的第一數據時,根據第一數據的標號,確定所述第一數據在Ping區 的第一地址;
[0013] 根據所述第一地址,將除第一地址外,Ping區的其它地址所對應的數據復制到 Pong區,并將所述第一數據的更新數據寫入到Pong區;
[0014] 將所述Pong區的有效標記置為有效;
[0015] 擦除Ping區的數據。
[0016] 優選地,所述根據第一數據的標號,確定所述第一數據在Ping區的第一地址具體 包括:
[0017] 查詢Ping區的靜態小DS參數頭信息,其中所述DS參數頭信息包括參數標號、參 數長度和參數值偏移地址;
[0018] 將所述第一數據的標號和所述參數標號匹配,在匹配成功后,根據所述參數長度 和參數值偏移地址,確定所述第一數據的第一地址。
[0019] 優選地,所述動態大參數域包括第一動態大參數頭信息鏈表和第二動態大參數頭 信息鏈表,所述第一動態大參數頭信息鏈表和第二動態大參數頭信息鏈表分別包括有效標 記,有效標記取反,動態大參數數量,動態大參數數量取反,動態大參數頭信息;
[0020] 所述對動態大數據域的數據進行處理具體包括:
[0021] 在改寫動態大參數域的第二數據時,查詢動態大參數頭信息鏈表集,根據每個動 態大參數頭信息鏈表的有效標記,確定有效動態大參數頭信息鏈表,其中各個動態大參數 頭信息鏈表構成動態大參數頭信息鏈表集;
[0022] 當有效動態大參數頭信息鏈表為第一動態大參數頭信息鏈表時,查詢所述第一動 態大參數頭信息鏈表,確定所述第二數據的動態大參數頭信息,其中所述動態大參數頭信 息包括標號域,動態大參數長度域和動態大參數段標號;
[0023] 將第二數據的標號和所述標號域進行匹配,在匹配成功時,根據所述動態大參數 段標號,確定所述第二數據所在的原始段;
[0024] 根據所述動態大參數長度域,確定所述第二數據在所述原始段中的第二地址;
[0025] 根據所述第二地址,將除第二地址外,所述原始段中的其它地址對應的數據復制 到更新段中,并將所述第二數據的更新數據寫入到更新段中;
[0026] 更新動態大參數頭信息,并擦除所述原始段中的數據;
[0027] 將所述第一動態大參數頭信息鏈表中除所述更新后的動態大參數頭信息外的其 它動態大參數頭信息復制到第二動態大參數頭信息鏈表;
[0028] 將所述更新后的動態大參數頭信息寫入第二動態大參數頭信息鏈表;
[0029] 將所述第二動態大參數頭信息鏈表置的有效標記為有效;
[0030] 將所述第一動態大參數頭信息鏈表擦除。
[0031] 優選地,所述靜態小數據域和靜態大數據域分別包括靜態參數數量值,靜態參數 數量值取反,靜態參數頭信息,靜態參數有效數據;
[0032] 所述對靜態小數據域和靜態大數據域的數據進行處理具體包括:
[0033] 當讀取靜態小數據域或者靜態大數據域的第三數據時,根據第三數據的標號,查 詢靜態參數頭信息,其中所述靜態參數頭信息包括參數標號,參數長度,參數值偏移地址; [0034] 將所述第三數據的標號和靜態參數頭信息的參數標號進行匹配,當匹配成功時, 根據所述參數長度和參數偏移地址,確定所述第三數據的第三地址;
[0035] 根據所述第三地址,讀取所述第三數據。
[0036] 第二方面,本發明實施例提供了一種數據處理裝置,所述裝置包括分類單元和處 理單元;
[0037] 所述分類單元,用于對用戶設備的存儲介質進行劃分,生成全局信息域,靜態小數 據域,靜態大數據域,動態小數據域和動態大數據域;
[0038] 所述處理單元,用于根據所述存儲介質的劃分結果,分別對所述靜態小數據域,靜 態大數據域,動態小數據域和動態大數據域的數據進行處理。
[0039] 優選地,所述全局信息域包括各域的基址信息,所述基址信息用于指示所述全局 信息域,靜態小數據域,靜態大數據域,動態小數據域,動態大數據域在所述存儲介質中的 地址。
[0040] 優選地,所述動態小數據域包括Ping區和Pong區,所述Ping區和Pong區分別包 括有效標記,有效標記取反,動態小參數數量值,DS參數數量值取反,DS參數頭信息,DS參 數有效數據;
[0041] 所述處理單元具體用于:
[0042] 在改寫Ping區的第一數據時,根據第一數據的標號,確定所述第一數據在Ping區 的第一地址;
[0043] 根據所述第一地址,將除第一地址外,Ping區的其它地址所對應的數據復制到 Pong區,并將所述第一數據的更新數據寫入到Pong區;
[0044] 將所述Pong區的有效標記置為有效;
[0045] 擦除Ping區的數據。
[0046] 優選地,所述處理單元具體用于:
[0047] 查詢Ping區的靜態小DS參數頭信息,其中所述DS參數頭信息包括參數標號、參 數長度和參數值偏移地址;
[0048] 將所述第一數據的標號和所述參數標號匹配,在匹配成功后,根據所述參數長度 和參數值偏移地址,確定所述第一數據的第一地址。
[0049] 優選地,所述動態大參數域包括第一動態大參數頭信息鏈表和第二動態大參數頭 信息鏈表,所述第一動態大參數頭信息鏈表和第二動態大參數頭信息鏈表分別包括有效標 記,有效標記取反,動態大參數數量,動態大參數數量取反,動態大參數頭信息;
[0050] 所述處理單元具體用于:
[0051] 在改寫動態大參數域的第二數據時,查詢動態大參數頭信息鏈表集,根據每個動 態大參數頭信息鏈表的有效標記,確定有效動態大參數頭信息鏈表,其中各個動態大參數 頭信息鏈表構成動態大參數頭信息鏈表集;
[0052] 當有效動態大參數頭信息鏈表為第一動態大參數頭信息鏈表時,查詢所述第一動 態大參數頭信息鏈表,確定所述第二數據的動態大參數頭信息,其中所述動態大參數頭信 息包括標號域,動態大參數長度域和動態大參數段標號;
[0053] 將第二數據的標號和所述標號域進行匹配,在匹配成功時,根據所述動態大參數 段標號,確定所述第二數據所在的原始段;
[0054] 根據所述動態大參數長度域,確定所述第二數據在所述原始段中的第二地址;
[0055] 根據所述第二地址,將除第二地址外,所述原始段中的其它地址對應的數據復制 到更新段中,并將所述第二數據的更新數據寫入到更新段中;
[0056] 更新動態大參數頭信息,并擦除所述原始段中的數據;
[0057] 將所述第一動態大參數頭信息鏈表中除所述更新后的動態大參數頭信息外的其 它動態大參數頭信息復制到第二動態大參數頭信息鏈表;
[0058] 將所述更新后的動態大參數頭信息寫入第二動態大參數頭信息鏈表;
[0059] 將所述第二動態大參數頭信息鏈表的有效標記置為有效;
[0060] 將所述第一動態大參數頭信息鏈表擦除。
[0061] 優選地,所述靜態小數據域和靜態大數據域分別包括靜態參數數量值,靜態參數 數量值取反,靜態參數頭信息,靜態參數有效數據;
[0062] 所述處理單元具體用于:
[0063] 當讀取靜態小數據域或者靜態大數據域的第三數據時,根據第三數據的標號,查 詢靜態參數頭信息,其中所述靜態參數頭信息包括參數標號,參數長度,參數值偏移地址; [0064] 將所述第三數據的標號和靜態參數頭信息的參數標號進行匹配,當匹配成功時, 根據所述參數長度和參數偏移地址,確定所述第三數據的第三地址;
[0065] 根據所述第三地址,讀取所述第三數據。
[0066] 本發明通過對Flash區域的劃分,并對劃分后的區域采用不同的數據寫入或者讀 取方法,節省了內存和CPU。
【專利附圖】
【附圖說明】
[0067] 圖1為本發明實施例一提供的數據處理方法流程圖;
[0068] 圖2為本發明實施例一提供的存儲介質劃分示意圖;
[0069] 圖3為本發明實施例二提供的動態小數據域架構圖;
[0070] 圖4為本發明實施例一提供的數據處理方法的一種實現;
[0071] 圖5為本發明實施例三提供的動態大數據架構圖;
[0072] 圖6為本發明實施例一提供的數據處理方法的另一種實現;
[0073] 圖7為本發明實施例四提供的靜態數據域架構圖;
[0074] 圖8為本發明實施例一提供的數據處理方法的再一種實現;
[0075] 圖9為本發明實施例五提供的數據處理裝置示意圖。
【具體實施方式】
[0076] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員 在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0077] 為便于對本發明實施例的理解,下面將結合附圖以具體實施例做進一步的解釋說 明,實施例并不構成對本發明實施例的限定。
[0078] 應當理解,盡管在本發明實施例中可能采用術語第一、第二等來描述各種數據或 地址,但這些數據或者地址不應限于這些術語。這些術語僅用來將數據或者地址彼此區分 開。
[0079] 實施例一
[0080] 本發明實施例提供的數據處理方法應用于具有存儲介質的用戶設備。圖1為本發 明實施例一提供的數據處理方法流程圖。如圖1所示,本發明實施例包括:
[0081] S110,對用戶設備的存儲介質進行劃分,生成全局信息域,靜態小數據域,靜態大 數據域,動態小數據域和動態大數據域。
[0082] 具體的,如圖2所示,圖2為本發明實施例一提供的存儲介質劃分示意圖。在圖2 中,用戶設備可以是個人電腦(Personal Computer,簡稱:PC)、臺式電腦、藍牙設備等,存儲 介質可以指個人電腦、臺式電腦、藍牙設備中的閃存(Flash Memory)。
[0083] 在一個實施例中,可以根據存儲介質中所存儲的數據的特性,對存儲介質進行劃 分,具體的,當用戶設備上電或者開機后,存儲介質,比如閃存中存儲的數據長度不同(一 些數據長度較長,另一些數據則較短),以及該些數據的可寫性不同(一些數據可以更改, 另一些數據不能更改),預先對Flash進行劃分,可以將Flash劃分為全局信息域,靜態小數 據域,靜態大數據域,動態小數據域,動態大數據域。靜態小數據域和靜態大數據域可以統 稱為靜態域,靜態域為在Flash出廠后只能讀不能寫的區域。動態小數據域和動態大數據 域可以統稱為動態域,動態域為在flash使用過程中,可以進行多次擦寫的區域。
[0084] 其中,全局信息域用于存儲Flash硬件信息(比如廠家,容量等信息),版本信息 (比如Flash的類型),以及各域的基址信息,各域的基址信息用于指示全局信息域、靜態小 數據域、靜態大數據域、動態小數據域及動態大數據域的起始地址,根據各域的起始地址, 可以確定各域的可以存儲的數據的容量。
[0085] 以藍牙設備為例,靜態小數據域用于存儲藍牙設備系統配置參數,該域存儲的參 數的內容較少,容量一般在幾字節到幾十字節。靜態大數據域用于存儲藍牙設備配置相關 的較大的數據文件,比如語音標簽,靜態文本文件、固化的語音提示錄音文件、其他固化的 模板信息等,該些語音標簽或靜態文本文件的長度單位為KB級別。動態小數據域用于存儲 藍牙設備系統配置參數中需要動態修改的長度較短的參數,該些參數長度一般在幾字節到 幾十字節范圍。動態大數據域用于存儲藍牙設備系統配置參數中需要動態修改的長參數文 件,如語音識別標簽,錄音文件等。
[0086] S120,根據所述存儲介質的劃分結果,分別對所述靜態小數據域,靜態大數據域, 動態小數據域和動態大數據域的數據進行處理。
[0087] 具體的,對存儲介質中的各域,可以采取不同的數據處理方法,進行數據的寫入或 者讀出,以節省內存和CPU。
[0088] 實施例二
[0089] 動態小數據域中,在Flash運行時需要更改一些長度較短的配置參數,該些配置 參數的字節數是很少的。以需要更新的配置參數是音量參數為例,要將該音量參數進行修 改,將其變更為更新數據(更新數據是該音量參數修改后的數據),可以結合圖3和圖4,說 明如何實現該音量參數的更新。
[0090] 圖3為本發明實施例二提供的動態小數據域架構圖。如圖3所示,在圖3中,將 動態小數據域劃分為Ping區和Pong區,Ping區包括:有效標記,有效標記取反,動態小 (Dynamic Small,縮寫:DS)參數數量值,DS參數數量值取反,DS參數頭信息,DS參數有效 數據。
[0091] 其中,動態小數據域Pong區和動態小數據域Ping區大小相等,結構相同,在一個 時刻,Ping區和Pong區中只有一個處于有效狀態,當Ping區有效時,則Pong區無效,反之 亦然。可以用有效標記指示Ping區和Pong區中的哪個處于有效狀態,用有效標記取反表 示將有效的Ping區或者Pong區置為無效狀態,比如可以以" 1"表示有效,以"0"表示無 效,當Ping區有效時,Ping區的有效標記為"1"時,當Ping區無效時,對Ping區的有效標 記取反,將Ping區的有效標記置為"0"。DS參數頭信息的個數為一個或多個,比如DS參數 1頭信息,DS參數2頭信息,DS參數3頭信息等。DS參數有效數據和DS參數頭信息一一 對應,比如,DS參數1有效數據對應DS參數1頭信息。DS參數數量值用于表示Ping區或 Pong區數據的數量。DS參數數量值取反用于表示
[0092] DS參數頭信息包括:11位參數標號,11位參數長度,18位參數值偏移地址,7位循 環冗余碼,其中參數標號,參數長度,參數值偏移地址,循環冗余碼的位數也可以是其它數 值,本實施例并不限定。
[0093] DS參數有效數據包括:參數鍵值。
[0094] 下面以圖4為例詳細說明如何在動態小數據域中進行數據的修改,圖4為本發明 實施例一提供的數據處理方法的一種實現,本實施例具體包括以下步驟:
[0095] S410,在改寫Ping區的第一數據時,根據第一數據的標號,確定所述第一數據在 Ping區的第一地址。
[0096] 具體的,S410具體包括:
[0097] S4101,查詢Ping區的DS參數頭信息,其中所述DS參數頭信息包括參數標號、參 數長度和參數值偏移地址;
[0098] S4102,將所述第一數據的標號和所述參數標號匹配,在匹配成功后,根據所述參 數長度和參數值偏移地址,確定所述第一數據的第一地址。
[0099] 在第一數據的標號(該標號為預設的)和某個參數標號匹配時,獲取到第一數據 的起始地址,根據第一數據的參數長度以及參數值偏移地址,獲取到第一數據的結束地址, 根據該起始地址和結束地址,獲取到第一數據的第一地址。
[0100] S420,根據所述第一地址,將除第一地址外,Ping區的其它地址所對應的數據復制 到Pong區,并將所述第一數據的更新數據寫入到Pong區。
[0101] 在一個實施例中,如果要更新位于Ping區的配置參數中的音量參數,則該音量參 數即為第一數據,根據S410,如果確定該音量參數對應的第一地址,當根據該第一地址確定 在該第一地址下的數據為DS參數1有效數據時,則說明該DS參數1有效數據為音量參數, 則根據第一地址,將除過第一地址以外的其它地址上的數據,比如DS參數2有效數據、DS參 數3有效數據等復制到Pong區,然后將音量參數的更新數據寫入到Pong區。
[0102] S430,將所述Pong區的有效標記置為有效。
[0103] 將Pong區的有效標記置為有效。
[0104] S440,擦除Ping區的數據。
[0105] 擦除Ping區的數據后,將Ping區的有效標記置為無效,可以將Ping區的有效標 記置為0,將Ping區的有效標記取反置為1。
[0106] 可以理解的是,在動態小數據域中,上述方法也適用于更新動態小數據Pong區的 數據,在此不再贅述。
[0107] 應用本實施例提供的動態小數據域的數據處理方法,實現了在更新Ping區的參 數時,直接將更新數據寫入到Pong區,節省了內存,同時也節省了 CPU。
[0108] 實施例三
[0109] 動態大數據域中,存儲著語音識別模板,語音提示錄音等系統配置相關的較大的 數據文件,該些較大的數據文件的容量較大,一般是以KB為單位的。在flash運行時,需要 更改該些較大的數據文件,下面結合圖5和圖6,說明如何更新動態大數據域的數據。
[0110] 圖5為本發明實施例三提供的動態大數據架構圖。如圖5所示,在圖5中,動態大 數據域包括:動態大參數頭信息鏈表和動態大參數有效數據。動態大參數頭信息鏈表記錄 了所有動態大參數值的信息。
[0111] 其中,動態大參數頭信息鏈表包括:有效標記、有效標記取反、動態大參數數量、動 態大參數數量取反、動態大參數頭信息。
[0112] 在一個實施例中,動態大參數頭信息鏈表的個數是兩個,即第一動態大參數頭信 息鏈表和第二動態大參數頭信息鏈表,在一個時刻,只有一個動態大參數頭信息鏈表處于 有效狀態,當第一動態大參數頭信息鏈表有效時,則第二動態大參數頭信息鏈表無效,反之 亦然。可以用有效標記指示第一動態大參數頭信息鏈表和第二動態大參數頭信息鏈表中的 哪個鏈表處于有效狀態,用有效標記取反表示將動態大參數頭信息鏈表置為無效狀態,有 效標記是1字節,有效標記取反是1字節,當有效標記為ΟχΟΟΟΟχχχχ時,則動態大參數頭信 息鏈表是有效的,如果要將該動態大參數頭信息鏈表置為無效,則對有效標記取反,即當有 效標記取反為0x111 Ιχχχχ時,則動態大參數頭信息鏈表是無效的。動態大參數數量是2字 節,動態大參數數量取反是2字節,動態大參數頭信息的個數為一個或多個,比如動態大參 數1頭信息,動態大參數2頭信息等。動態大參數數量用于表示動態大參數的個數。
[0113] 動態大參數頭信息包括:11位標號域、17位動態大參數長度域、4位保留域、16位 動態大參數段標號以及8位循環冗余碼,其中標號域,動態大參數長度,保留域,動態大參 數段標號,循環冗余碼的位數也可以是其它數值,本實施例并不限定。
[0114] 下面以圖6為例詳細說明如何在動態大數據域中進行數據的修改,圖6為本發明 實施例一提供的數據處理方法的另一種實現,本實施例具體包括以下步驟:
[0115] S601,在改寫動態大參數域的第二數據時,查詢動態大參數頭信息鏈表集,根據每 個動態大參數頭信息鏈表的有效標記,確定有效動態大參數頭信息鏈表,其中各個動態大 參數頭信息鏈表構成動態大參數頭信息鏈表集;
[0116] 第一動態大參數頭信息鏈表和第二動態大參數頭信息鏈表構成動態大參數頭信 息鏈表集。
[0117] S602,當有效動態大參數頭信息鏈表為第一動態大參數頭信息鏈表時,查詢所述 第一動態大參數頭信息鏈表,確定所述第二數據的動態大參數頭信息,其中所述動態大參 數頭信息包括標號域,動態大參數長度域和動態大參數段標號;
[0118] 具體的,根據第二數據的標號和動態大參數頭信息鏈表中的標號域,確定第二數 據的動態大參數頭信息,其中第二數據的標號是預設的。
[0119] S603,將第二數據的標號和所述標號域進行匹配,在匹配成功時,根據所述動態大 參數段標號,確定所述第二數據所在的原始段;
[0120] 第二數據對應的原始段的數量可以是一個,也可以是多個,當第二數據對應的原 始段的數量是多個時,將該多個原始段組合,生成新的原始段。
[0121] 在一個例子中,如果第二數據對應的原始段為動態大參數1有效數據、動態大參 數2有效數據及動態大參數3有效數據所在的段,則將該3段中的第有效數據連接起來,其 中,動態大參數1有效數據、動態大參數2有效數據及動態大參數3有效數據是不同的段。
[0122] S604,根據所述動態大參數長度域,確定所述第二數據在所述原始段中的第二地 址;
[0123] S605,根據所述第二地址,將除第二地址外,所述原始段中的其它地址對應的數據 復制到更新段中,并將所述第二數據的更新數據寫入到更新段中;
[0124] S606,更新動態大參數頭信息,并擦除所述原始段中的數據。
[0125] 可選地,更新所述動態大參數頭信息,并擦除所述原始段中的數據之后還包括:
[0126] S607,將所述第一動態大參數頭信息鏈表中除所述更新后的動態大參數頭信息外 的其它動態大參數頭信息復制到第二動態大參數頭信息鏈表;
[0127] S608,將所述更新后的動態大參數頭信息寫入第二動態大參數頭信息鏈表;
[0128] S609,將所述第二動態大參數頭信息鏈表的有效標記置為有效;
[0129] S610,將所述第一動態大參數頭信息鏈表擦除。
[0130] 可以理解的是,在動態大參數域中,當第二動態大參數頭信息鏈表為有效動態大 參數頭信息鏈表時,上述方法也同樣適用,在此不做贅述。
[0131] 應用本實施例提供的動態大數據域的數據處理方法,實現了在更新原始段的第二 數據時,直接將第二數據的更新數據寫入到更新段,并將第一動態大參數頭信息鏈表中不 需要更新的動態大參數頭信息寫入到第二動態大參數頭信息鏈表中,節省了內存,同時也 節省了 CPU。
[0132] 實施例四
[0133] 靜態大數據域存儲的一般為固化的語音提示錄音文件或者其它固化的模板信息, 而靜態小數據域存儲的為關系藍牙設備運行的重要配置參數,靜態大數據域和靜態小數據 域為在出廠后只能讀不能寫的區域,所以這兩個域可以采取同樣的數據處理方法,下面結 合圖7和圖8,說明如何讀取靜態數據域的數據。
[0134] 圖7為本發明實施例四提供的靜態數據域架構圖。如圖7所示,在圖7中,靜態 數據域包括:靜態參數數量值,靜態參數數量值取反,靜態參數頭信息,靜態參數有效數據 (圖7中未示出,靜態數據域的結構和動態小數據域的結構相同)。
[0135] 其中,靜態參數頭信息包括:參數標號,參數長度,參數值偏移地址和循環冗余碼。
[0136] 下面以圖8為例詳細說明如何對靜態大數據域和靜態小數據域進行數據的讀取, 圖8為本發明實施例一提供的數據處理方法的再一種實現,本實施例具體包括以下步驟:
[0137] S810,當讀取靜態小數據域或者靜態大數據域的第三數據時,根據第三數據的標 號,查詢靜態參數頭信息,所述靜態參數頭信息包括參數標號,參數長度,參數值偏移地 址;
[0138] S820,將所述第三數據的標號和靜態參數頭信息的參數標號進行匹配,當匹配成 功時,根據所述參數長度和參數偏移地址,確定所述第三數據的第三地址;
[0139] S830,根據所述第三地址,讀取所述第三數據。
[0140] 需要說明的是,本實施例中還可以將靜態參數頭信息的順序打亂,以實現靜態數 據域的數據的加密,比如,將靜態參數1頭信息,靜態參數2頭信息,靜態參數3頭信息的順 序更改為靜態參數2頭信息,靜態參數1頭信息,靜態參數3頭信息。
[0141] 應用本發明實施例提供的數據處理方法,通過對存儲介質的分區管理,在需要改 寫或讀取藍牙設備的存儲介質中的數據時,對每個域可以采取不同的數據處理方法,從而 大大節省了內存和CPU。
[0142] 實施例五
[0143] 與上述數據處理方法對應地,圖9為本發明實施例五提供的數據處理裝置示意 圖。如圖9所示,本實施例提供的裝置包括:分類單元910,處理單元920。
[0144] 所述分類單元910,用于對用戶設備的存儲介質進行劃分,生成全局信息域,靜態 小數據域,靜態大數據域,動態小數據域和動態大數據域;
[0145] 所述處理單元920,用于根據所述存儲介質的劃分結果,分別對所述靜態小數據 域,靜態大數據域,動態小數據域和動態大數據域的數據進行處理。
[0146] 可選地,,其中所述全局信息域包括各域的基址信息,所述基址信息用于指示所述 全局信息域,靜態小數據域,靜態大數據域,動態小數據域,動態大數據域在所述存儲介質 中的地址。
[0147] 可選地,所述動態小數據域包括Ping區和Pong區,所述Ping區和Pong區分別包 括有效標記,有效標記取反,動態小參數數量值,DS參數數量值取反,DS參數頭信息,DS參 數有效數據;
[0148] 所述處理單元920具體用于:
[0149] 在改寫Ping區的第一數據時,根據第一數據的標號,確定所述第一數據在Ping區 的第一地址;
[0150] 根據所述第一地址,將除第一地址外,Ping區的其它地址所對應的數據復制到 Pong區,并將所述第一數據的更新數據寫入到Pong區;
[0151] 將所述Pong區的有效標記置為有效;
[0152] 擦除Ping區的數據。
[0153] 可選地,所述處理單元920具體用于:
[0154] 查詢Ping區的靜態小DS參數頭信息,其中所述DS參數頭信息包括參數標號、參 數長度和參數值偏移地址;
[0155] 將所述第一數據的標號和所述參數標號匹配,在匹配成功后,根據所述參數長度 和參數值偏移地址,確定所述第一數據的第一地址。
[0156] 可選地,所述動態大參數域包括第一動態大參數頭信息鏈表和第二動態大參數頭 信息鏈表,所述第一動態大參數頭信息鏈表和第二動態大參數頭信息鏈表分別包括有效標 記,有效標記取反,動態大參數數量,動態大參數數量取反,動態大參數頭信息;
[0157] 所述處理單元920具體用于:
[0158] 在改寫動態大參數域的第二數據時,查詢動態大參數頭信息鏈表集,根據每個動 態大參數頭信息鏈表的有效標記,確定有效動態大參數頭信息鏈表,其中各個動態大參數 頭信息鏈表構成動態大參數頭信息鏈表集;
[0159] 當有效動態大參數頭信息鏈表為第一動態大參數頭信息鏈表時,查詢所述第一動 態大參數頭信息鏈表,確定所述第二數據的動態大參數頭信息,其中所述動態大參數頭信 息包括標號域,動態大參數長度域和動態大參數段標號;
[0160] 將第二數據的標號和所述標號域進行匹配,在匹配成功時,根據所述動態大參數 段標號,確定所述第二數據所在的原始段;
[0161] 根據所述動態大參數長度域,確定所述第二數據在所述原始段中的第二地址;
[0162] 根據所述第二地址,將除第二地址外,所述原始段中的其它地址對應的數據復制 到更新段中,并將所述第二數據的更新數據寫入到更新段中;
[0163] 更新動態大參數頭信息,并擦除所述原始段中的數據;
[0164] 將所述第一動態大參數頭信息鏈表中除所述更新后的動態大參數頭信息外的其 它動態大參數頭信息復制到第二動態大參數頭信息鏈表;
[0165] 將所述更新后的動態大參數頭信息寫入第二動態大參數頭信息鏈表;
[0166] 將所述第二動態大參數頭信息鏈表的有效標記置為有效;
[0167] 將所述第一動態大參數頭信息鏈表擦除。
[0168] 可選地,所述靜態小數據域和靜態大數據域分別包括靜態參數數量值,靜態參數 數量值取反,靜態參數頭信息,靜態參數有效數據;
[0169] 所述處理單元920具體用于:
[0170] 當讀取靜態小數據域或者靜態大數據域的第三數據時,根據第三數據的標號,查 詢靜態參數頭信息,其中所述靜態參數頭信息包括參數標號,參數長度,參數值偏移地址;
[0171] 將所述第三數據的標號和靜態參數頭信息的參數標號進行匹配,當匹配成功時, 根據所述參數長度和參數偏移地址,確定所述第三數據的第三地址;
[0172] 根據所述第三地址,讀取所述第三數據。
[0173] 應用本發明實施例提供的數據處理裝置,通過對存儲介質的分區管理,在需要改 寫或讀取藍牙設備的存儲介質中的數據時,對每個域可以采取不同的數據處理方法,從而 大大節省了內存和CPU。
[0174] 專業人員應該還可以進一步意識到,結合本文中所公開的實施例描述的各示例的 單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬 件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。 這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。 專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現 不應認為超出本發明的范圍。
[0175] 結合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執行的 軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器 (ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或【技術領域】 內所公知的任意其它形式的存儲介質中。
[0176] 以上所述的【具體實施方式】,對本發明的目的、技術方案和有益效果進行了進一步 詳細說明,所應理解的是,以上所述僅為本發明的【具體實施方式】而已,并不用于限定本發明 的保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含 在本發明的保護范圍之內。
【權利要求】
1. 一種數據處理方法,其特征在于,所述方法包括: 對用戶設備的存儲介質進行劃分,生成全局信息域,靜態小數據域,靜態大數據域,動 態小數據域和動態大數據域; 根據所述存儲介質的劃分結果,分別對所述靜態小數據域,靜態大數據域,動態小數據 域和動態大數據域的數據進行處理。
2. 如權利要求1所述的方法,其特征在于,所述全局信息域包括各域的基址信息,所述 基址信息用于指示所述全局信息域,靜態小數據域,靜態大數據域,動態小數據域,動態大 數據域在所述存儲介質中的地址。
3. 如權利要求1所述的方法,其特征在于,所述動態小數據域包括Ping區和Pong區, 所述Ping區和Pong區分別包括有效標記,有效標記取反,動態小參數數量值,DS參數數量 值取反,DS參數頭信息,DS參數有效數據; 所述對動態小數據域的數據進行處理具體包括: 在改寫Ping區的第一數據時,根據第一數據的標號,確定所述第一數據在Ping區的第 一地址; 根據所述第一地址,將除第一地址外,Ping區的其它地址所對應的數據復制到Pong 區,并將所述第一數據的更新數據寫入到Pong區; 將所述Pong區的有效標記置為有效; 擦除Ping區的數據。
4. 如權利要求3所述的方法,其特征在于,所述根據第一數據的標號,確定所述第一數 據在Ping區的第一地址具體包括: 查詢Ping區的靜態小DS參數頭信息,其中所述DS參數頭信息包括參數標號、參數長 度和參數值偏移地址; 將所述第一數據的標號和所述參數標號匹配,在匹配成功后,根據所述參數長度和參 數值偏移地址,確定所述第一數據的第一地址。
5. 如權利要求1所述的方法,其特征在于,所述動態大參數域包括第一動態大參數頭 信息鏈表和第二動態大參數頭信息鏈表,所述第一動態大參數頭信息鏈表和第二動態大參 數頭信息鏈表分別包括有效標記,有效標記取反,動態大參數數量,動態大參數數量取反, 動態大參數頭信息; 所述對動態大數據域的數據進行處理具體包括: 在改寫動態大參數域的第二數據時,查詢動態大參數頭信息鏈表集,根據每個動態大 參數頭信息鏈表的有效標記,確定有效動態大參數頭信息鏈表,其中各個動態大參數頭信 息鏈表構成動態大參數頭信息鏈表集; 當有效動態大參數頭信息鏈表為第一動態大參數頭信息鏈表時,查詢所述第一動態大 參數頭信息鏈表,確定所述第二數據的動態大參數頭信息,其中所述動態大參數頭信息包 括標號域,動態大參數長度域和動態大參數段標號; 將第二數據的標號和所述標號域進行匹配,在匹配成功時,根據所述動態大參數段標 號,確定所述第二數據所在的原始段; 根據所述動態大參數長度域,確定所述第二數據在所述原始段中的第二地址; 根據所述第二地址,將除第二地址外,所述原始段中的其它地址對應的數據復制到更 新段中,并將所述第二數據的更新數據寫入到更新段中; 更新動態大參數頭信息,并擦除所述原始段中的數據; 將所述第一動態大參數頭信息鏈表中除所述更新后的動態大參數頭信息外的其它動 態大參數頭信息復制到第二動態大參數頭信息鏈表; 將所述更新后的動態大參數頭信息寫入第二動態大參數頭信息鏈表; 將所述第二動態大參數頭信息鏈表的有效標記置為有效; 將所述第一動態大參數頭信息鏈表擦除。
6. 如權利要求1所述的方法,其特征在于,所述靜態小數據域和靜態大數據域分別包 括靜態參數數量值,靜態參數數量值取反,靜態參數頭信息,靜態參數有效數據; 所述對靜態小數據域和靜態大數據域的數據進行處理具體包括: 當讀取靜態小數據域或者靜態大數據域的第三數據時,根據第三數據的標號,查詢靜 態參數頭信息,其中所述靜態參數頭信息包括參數標號,參數長度,參數值偏移地址; 將所述第三數據的標號和靜態參數頭信息的參數標號進行匹配,當匹配成功時,根據 所述參數長度和參數偏移地址,確定所述第三數據的第三地址; 根據所述第三地址,讀取所述第三數據。
7. -種數據處理裝置,其特征在于,所述裝置包括分類單元和處理單元; 所述分類單元,用于對用戶設備的存儲介質進行劃分,生成全局信息域,靜態小數據 域,靜態大數據域,動態小數據域和動態大數據域; 所述處理單元,用于根據所述存儲介質的劃分結果,分別對所述靜態小數據域,靜態大 數據域,動態小數據域和動態大數據域的數據進行處理。
8. 如權利要求7所述的裝置,其特征在于,所述全局信息域包括各域的基址信息,所述 基址信息用于指示所述全局信息域,靜態小數據域,靜態大數據域,動態小數據域,動態大 數據域在所述存儲介質中的地址。
9. 如權利要求7所述的裝置,其特征在于,所述動態小數據域包括Ping區和Pong區, 所述Ping區和Pong區分別包括有效標記,有效標記取反,動態小參數數量值,DS參數數量 值取反,DS參數頭信息,DS參數有效數據; 所述處理單元具體用于: 在改寫Ping區的第一數據時,根據第一數據的標號,確定所述第一數據在Ping區的第 一地址; 根據所述第一地址,將除第一地址外,Ping區的其它地址所對應的數據復制到Pong 區,并將所述第一數據的更新數據寫入到Pong區; 將所述Pong區的有效標記置為有效; 擦除Ping區的數據。
10. 如權利要求9所述的裝置,其特征在于,所述處理單元具體用于: 查詢Ping區的靜態小DS參數頭信息,其中所述DS參數頭信息包括參數標號、參數長 度和參數值偏移地址; 將所述第一數據的標號和所述參數標號匹配,在匹配成功后,根據所述參數長度和參 數值偏移地址,確定所述第一數據的第一地址。
11. 如權利要求7所述的裝置,其特征在于,所述動態大參數域包括第一動態大參數頭 信息鏈表和第二動態大參數頭信息鏈表,所述第一動態大參數頭信息鏈表和第二動態大參 數頭信息鏈表分別包括有效標記,有效標記取反,動態大參數數量,動態大參數數量取反, 動態大參數頭信息; 所述處理單元具體用于: 在改寫動態大參數域的第二數據時,查詢動態大參數頭信息鏈表集,根據每個動態大 參數頭信息鏈表的有效標記,確定有效動態大參數頭信息鏈表,其中各個動態大參數頭信 息鏈表構成動態大參數頭信息鏈表集; 當有效動態大參數頭信息鏈表為第一動態大參數頭信息鏈表時,查詢所述第一動態大 參數頭信息鏈表,確定所述第二數據的動態大參數頭信息,其中所述動態大參數頭信息包 括標號域,動態大參數長度域和動態大參數段標號; 將第二數據的標號和所述標號域進行匹配,在匹配成功時,根據所述動態大參數段標 號,確定所述第二數據所在的原始段; 根據所述動態大參數長度域,確定所述第二數據在所述原始段中的第二地址; 根據所述第二地址,將除第二地址外,所述原始段中的其它地址對應的數據復制到更 新段中,并將所述第二數據的更新數據寫入到更新段中; 更新動態大參數頭信息,并擦除所述原始段中的數據; 將所述第一動態大參數頭信息鏈表中除所述更新后的動態大參數頭信息外的其它動 態大參數頭信息復制到第二動態大參數頭信息鏈表; 將所述更新后的動態大參數頭信息寫入第二動態大參數頭信息鏈表; 將所述第二動態大參數頭信息鏈表的有效標記置為有效; 將所述第一動態大參數頭信息鏈表擦除。
12.如權利要求7所述的裝置,其特征在于,所述靜態小數據域和靜態大數據域分別包 括靜態參數數量值,靜態參數數量值取反,靜態參數頭信息,靜態參數有效數據; 所述處理單元具體用于: 當讀取靜態小數據域或者靜態大數據域的第三數據時,根據第三數據的標號,查詢靜 態參數頭信息,其中所述靜態參數頭信息包括參數標號,參數長度,參數值偏移地址; 將所述第三數據的標號和靜態參數頭信息的參數標號進行匹配,當匹配成功時,根據 所述參數長度和參數偏移地址,確定所述第三數據的第三地址; 根據所述第三地址,讀取所述第三數據。
【文檔編號】G06F12/06GK104156319SQ201410398998
【公開日】2014年11月19日 申請日期:2014年8月13日 優先權日:2014年8月13日
【發明者】辜大光 申請人:無錫中星微電子有限公司