本發明專利技術涉及一種基于嵌入式設備文件系統的數據鍵值對存儲方法,該方法包括:根據數據的數據屬性,定義多個鍵值對,所定義的每個鍵值對能夠描述單個數據的存儲特性;整合所有的鍵值對,建立鍵值對對照表;當需要存儲或者獲取數據時,根據該數據的數據屬性遍歷鍵值對對照表,找出適合該數據的鍵值對;根據鍵值對的屬性對數據進行封裝與解析;在文件中存入或獲取鍵值對封裝后的數據。數據對象與鍵值對一一對應,鍵值對可以對應單個數據類型的數據對象,也可以對應多個數據類型集合的數據對象,使用起來較為靈活,而且也增強了數據的獨立性;數據在批量或者逐個存儲時無需考慮數據對象存儲的位置與順序,增強了設備數據存儲方面的可擴展性。
【技術實現步驟摘要】
【專利說明】
本專利技術涉及嵌入式設備數據管理
,尤其是。
技術介紹
文件系統的引入相對于直接操作存儲器的存儲方法具有很多優點,它使得數據存儲方法更為靈活,數據與程序的獨立性更好,也簡化了維護的工作,這使得文件系統在嵌入式設備上得到了廣泛的應用,尤其是在中量級以上的數據存儲解決方案中。使用文件系統存儲數據時,一般的做法是將數據直接以16進制的方式存儲到文件當中,此種方法主要應用于嵌入式設備中一些數據量較大的數據對象,這樣做的目的主要是可以使存取數據變更簡單、更快捷,但是也存在一些問題:(1)因為數據都是16進制的格式存儲,不便于數據查看,設備的維護量會加大;(2)如果數據存儲對象中包括多個不同數據類型的數據,并且每個數據存儲或者讀取操作順序是雜亂無章的,那么通常都是對整個數據存儲對象進行操作,實現起來較為麻煩,這樣就降低了數據存儲、讀取的靈活性;(3)新增數據對象時,為了不影響保存在同一個存儲文件里的其他數據,無論是數據對象的定義還是存儲,一般都只能采用追加的方式實現,而且還存在對其他已存在數據對象產生影響的可能;此外,針對結構相同的數據在同一個文件中多次被存儲的情況,采用追加方式實現起來則更為困難,這在很大程度上降低了設備功能的可擴展性。還有一種做法是將數據組成名稱與數值的字符串組合存到文件中,此種做法主要是針對嵌入式設備中的一些配置數據以及參數數據,主要是考慮到此類數據的維護頻率較高、數據量也相對較小;使用此種方法時,通常無需建立數據屬性與名稱的對照表,應用層編程人員根據一些規則和習慣直接定義出數據的名稱與數據格式,完成數據的存儲,此種方法便于設備維護,但是在處理一些數據種類繁多、數據量較大的數據對象時,受到很大的限制。
技術實現思路
本專利技術的目的在于提供一種能夠增強數據存儲方法的靈活性和設備的可擴展性,并且使數據更便于維護,實現起來也較為簡單的基于嵌入式設備文件系統的數據鍵值對存儲方法。為實現上述目的,本專利技術采用了以下技術方案:,該方法包括下列順序的步驟:(1)根據數據的數據屬性,定義多個鍵值對,所定義的每個鍵值對能夠描述單個數據的存儲特性; (2)整合所有的鍵值對,建立鍵值對對照表; (3)當需要存儲或者獲取數據時,根據該數據的數據屬性遍歷鍵值對對照表,找出適合該數據的鍵值對; (4)根據鍵值對的屬性對數據進行封裝與解析; (5)在文件中存入或獲取鍵值對封裝后的數據。所述的數據屬性包括數據的用途與格式,數據的用途是指編程人員定義該數據時為其賦予的描述其功能的虛擬的概念,數據的格式用戶表示該數據的內容,是一個數據類型的數據或一些數據類型組成的數據集合。所述的鍵值對的屬性包括用于表明鍵值對在鍵值對對照表中位置的序號、用來描述數據用途的名稱和用于描述數據內容的格式。所述步驟(2)中建立鍵值對對照表的方法為:首先,建立一個序列,將格式相同的鍵值對放在序列的相同區域;其次,按照格式所占字節長度由短及長的順序對所有區域進行排列,對于總長度相等的區域,按由短及長的順序比較格式內首個數據類型所占字節長度,若仍相等,則繼續比較下一個數據類型,直至最后一個數據類型;再次,根據鍵值對名稱排列相同格式的鍵值對,鍵值對的名稱為字符串,按照字符在ASCII碼表中由低到高的位置順序對字符串的首字符進行排列,若相同則比較下一個位置的字符,直至字符串的最后一個字符;最后,依據排列后的鍵值對序列建立鍵值對對照表。所述步驟(4)中數據的封裝和解析的方法為:將鍵值對的名稱與格式視為貼有標簽的空白文檔,存儲數據的文件視為一個文件架;數據存儲時,將數據的內容記錄到對應標簽的空白文檔中,然后放入文件架以實現數據的存儲,這個記錄的操作即數據封裝;反之,數據的讀取視為在文件架上根據標簽找到相應的文檔并將文檔記錄的內容抄錄下來賦予數據的過程,這個抄錄的操作即數據解析。由上述技術方案可知,本專利技術的優點如下:第一,數據對象與鍵值對--對應,鍵值對可以對應單個數據類型的數據對象,也可以對應多個數據類型集合的數據對象,使用起來較為靈活,而且也增強了數據的獨立性;第二,因為要存儲的數據對象被鍵值對封裝為較為獨立的數據塊進行存儲,因此數據在批量或者逐個存儲時無需考慮數據對象存儲的位置與順序,增強了設備數據存儲方面的可擴展性;第三,數據經過封裝后,維護人員可以輕松地讀取到數據的內容,增強了設備的可維護性。【附圖說明】圖1是本專利技術的方法流程圖; 圖2是本專利技術中數據Data完成封裝與存儲的示意圖。【具體實施方式】如圖1所示,,該方法包括下列順序的步驟:(1)根據數據的數據屬性,定義多個鍵值對,所定義的每個鍵值對能夠描述單個數據的存儲特性;(2)整合所有的鍵值對,建立鍵值對對照表;(3)當需要存儲或者獲取數據時,根據該數據的數據屬性遍歷鍵值對對照表,找出適合該數據的鍵值對;(4)根據鍵值對的屬性對數據進行封裝與解析;(5)在文件中存入或獲取鍵值對封裝后的數據,因為在文件中數據的值與鍵值對已經綁定起來,文件中所存儲的都是一些已經經過鍵值對封裝后的數據塊,因此在數據存儲時,無需考慮其存入文件的順序和位置,這樣使得存儲方法更為靈活。所述的數據屬性包括數據的用途與格式,數據的用途是指編程人員定義該數據時為其賦予的描述其功能的虛擬的概念,數據的格式用戶表示該數據的內容,是一個數據類型的數據或一些數據類型組成的數據集合。當數據對象的數據量較大,數據內容較多時,根據應用場景可以視為一個數據對象,也可以再次分割為若干個功能相同或相似的數據對象。步驟(1)為實現本專利技術的關鍵,首先對該嵌入式設備的各類數據對象進行分析,根據數據對象的用途和格式,分割出最小單位的數據對象,然后定義出合適的鍵值對。例如,一個用于描述時間的數據對象Time,包含3個字符型的數據hour、minute和second,依次代表小時、分鐘和秒,可以視Time為一個數據對象,定義一個鍵值對與之對應,也可以定義三個鍵值對分別對應其包含的3個字符型數據,定義時要看該數據對象在該嵌入式設備功能中是否已經不可分割,這樣定義出的鍵值對也會具有更高的獨立性。所述的鍵值對的屬性包括用于表明鍵值對在鍵值對對照表中位置的序號、用來描述數據用途的名稱和用于描述數據內容的格式。所述步驟(2)中建立鍵值對對照表的方法為:首先,建立一個序列,將格式相同的鍵值對放在序列的相同區域;其次,按照格式所占字節長度由短及長的順序對所有區域進行排列,對于總長度相等的區域,按由短及長的順序比較當前第1頁1 2 本文檔來自技高網...

【技術保護點】
一種基于嵌入式設備文件系統的數據鍵值對存儲方法,該方法包括下列順序的步驟:(1)根據數據的數據屬性,定義多個鍵值對,所定義的每個鍵值對能夠描述單個數據的存儲特性;(2)整合所有的鍵值對,建立鍵值對對照表;(3)當需要存儲或者獲取數據時,根據該數據的數據屬性遍歷鍵值對對照表,找出適合該數據的鍵值對;(4)根據鍵值對的屬性對數據進行封裝與解析;(5)在文件中存入或獲取鍵值對封裝后的數據。
【技術特征摘要】
【專利技術屬性】
技術研發人員:何剛,田星星,
申請(專利權)人:科大智能電氣技術有限公司,
類型:發明
國別省市:安徽;34
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。