本發明專利技術公開了一種物聯網感知層的數據增量備份方法及系統,該方法包括以下步驟:為每一個傳感器分配一個唯一的節點聚集索引Node_ID,每一條傳感器檢測數據生成時自動分配一個唯一的數據聚集索引Index_ID;以節點聚集索引Node_ID為鍵查找增量日志索引樹獲得相應傳感器在增量日志索引樹上的節點,根據每個節點最近兩條檢測數據的比較結果更新,增量日志索引樹為AVL樹結構;以數據聚集索引Index_ID為鍵查找數據日志索引樹獲得相應傳感器在數據日志索引樹上的節點,將檢測數據寫入數據日志文件,數據日志索引樹為B+樹結構。本發明專利技術,可以在運行過程中進行在線備份,保證物聯網應用的連續運行,并且大大提高了對數據增量的查詢速度。
【技術實現步驟摘要】
本專利技術涉及無線傳感器網絡,具體涉及物聯網感知層的數據增量備份方法及系統。
技術介紹
無線傳感器網絡作為物聯網感知層的核心,承擔著數據檢測、采集和傳輸的重任。由于無線傳感器網絡的特殊性,在實際應用中,經常會遇到以下各種風險的危害自然風險一例如洪澇、雨雪等;人為風險一例如環境污染、人為破壞等;技術風險一例如硬件失效、軟件錯誤、供電失敗等。上面這些人為或自然的原因,會造成無線傳感器網絡的癱瘓或單個傳感器的運行故障,使得具有重要科研價值及經濟價值的檢測數據丟失,并對整個物聯網的正常工作帶來嚴重影響。因此對無線傳感器網絡實施一種有效的數據備份策略,是非常有必要的。無線傳感器網絡作為ー種小型嵌入式系統,目前所采用的數據備份策略一般可分為兩種(I)完全備份。所謂完全備份,是指對無線傳感器網絡的全部數據文件執行ー個完整的物理拷貝。其優點在干實現機制最為簡單,對無線傳感器網絡的軟件及硬件要求都很低。但是,由于在備份過程中可能有新的數據插入,為了保證備份數據的完整性,在執行備份操作之前,需要關閉數據錄入服務,在對數據文件進行了完整的物理拷貝后,再啟用數據錄入。因此,這種方案存在以下缺點毎次備份前需要關閉數據錄入服務,對于大多數需要連續運行的物聯網應用而言,這種長時間的停機操作是不允許的。(2)增量備份。増量備份是指在上一次備份的基礎上,只對后續更新的數據進行備份,依賴數據庫系統實現。在目前廣泛應用的嵌入式數據庫系統中(如MySQL),増量備份的策略通常是通過ニ進制日志來實現的,即在每次有數據插入或修改操作時,數據庫系統會把相應的DDL(數據定義)語句和DML (數據操作)語句以事務(transaction)的形式,連同執行該SQL事務的時間戳(timestamp)等信息一起保存在ニ進制日志中,通過重做指定時間點之后的事務實現。由于增量備份的執行時間及所需的存儲空間都僅為完全備份的幾分之一,因此,同完全備份相比,増量備份的優勢非常明顯。但基于ニ進制日志實現增量備份也存在以下缺點(I)需要使用嵌入式數據庫系統,對無線傳感器網絡的軟件及硬件要求都很高,提高了無線傳感器網絡的成本;(2) ニ進制日志文件內容的編碼、文件格式均依賴于特定的數據庫系統,不具備可讀性,物聯網應用的數據遷移和移植較為困難。由此可見,現有物聯網感知層的數據備份策略中完全備份方案需要關閉數據錄入服務,難以滿足物聯網應用連續運行的需求;而基于ニ進制日志的増量備份方案又需要依賴于特定的數據庫系統,導致備份系統成本提高、備份數據可移植性差。因此,需要對現有的物聯網感知層數據備份策略進行優化設計,以改善物聯網感知層的數據備份能力。
技術實現思路
本專利技術所要解決的技術問題是解決如何改善物聯網感知層的數據備份能力的問題。為了解決上述技術問題,本專利技術所采用的技術方案是提供ー種物聯網感知層的數據增量備份方法,包括以下步驟為每ー個傳感器分配ー個唯一的節點聚集索引Node_ID,每一條傳感器檢測數據生成時自動分配一個卩隹一的數據聚集索引Index_ID ; 以所述節點聚集索引Node_ID為鍵查找增量日志索引樹獲得相應傳感器在所述増量日志索引樹上的節點,根據每個所述節點最近兩條檢測數據標識是否不同更新増量日志索引樹的相應節點,所述增量日志索引樹為AVL樹結構,每ー個傳感器唯一對應于所述AVL樹中的ー個節點,所述節點保存有該傳感器與所述每一條檢測數據相對應的數據聚集索引 Index_ID ;以相應的數據聚集索引Index_ID為鍵查找數據日志索引樹獲得相應傳感器在所述數據日志索引樹上的節點,并將相應檢測數據的寫入數據日志文件中,所述數據日志索引樹為B+樹結構。在上述方法中,所述增量日志索引樹的節點包括五個成員,分別對應于節點聚集索引Node_ID、傳感器所關聯的節點增量日志文件名、上一次備份檢測數據的標識、最近一次插入檢測數據的標識以及傳感器所關聯的増量日志鏈表的頭指針,所述增量日志鏈表中保存了傳感器所發送出的全部檢測數據的數據聚集索引Index_ID ;通過最近一次插入檢測數據的標識與上一次備份檢測數據的標識是否相同判斷是否需要更新増量日志索引樹的相應節點。在上述方法中,在對每個傳感器進行增量備份之前,先將該傳感器對應節點的增量日志記錄同步到增量日志存儲器,具體方法為通過增量日志鏈表的頭指針對相應節點的増量日志鏈表進行遍歷,并將遍歷所得到的Index_ID序列寫入該節點對應的増量日志文件名所指向的存儲器物理文件。在上述方法中,所述數據日志索引樹的節點采用頁類型的數據結構,包括多個索引節點和多個葉子節點,所述索引節點包括PAGE_TYPE :對應于頁類型,包括索引頁、葉子頁兩種;PAGE_NUM_RECORD :對應于該頁中數據日志鏈表的頭指針;PAGE_USER_RECORD :成員指向的數據日志鏈表;所述葉子節點包括Key域其中保存了傳感器檢測數據的標識Index_ID ;Data域對于葉子頁,各個Data域中記錄了該Index_ID所對應的檢測數據的內容,以及各傳感器檢測數據在數據日志文件中的偏移量REC0RD_0FFSET ;對于索引頁,各個Data域中僅記錄了該Index_ID所關聯的子樹中最小的鍵值;Pt域對于葉子頁,Pt域中的值為空值NULL ;而對于索引頁,Pt域中的值為指向對應葉子頁的指針。在上述方法中,更新數據日志索引樹相應節點的過程如下以每條傳感器檢測數據的Index_ID為鍵查找數據日志索引樹;在查找到對應的索引頁后,創建葉子節點,并用該條傳感器檢測數據的Index_ID及檢測數據內容更新該葉子節點的Key域及Data域;將該葉子節點鏈接至索引頁中數據日志鏈表的尾部。在上述方法中,更新增量日志索引樹的相應節點的過程如下獲取發出檢測數據的傳感器的節點聚集索引Node_ID ;以所述節點聚集索引Node_ID為鍵查找增量日志索引樹獲得對應的節點;將該條檢測數據的Index_ID加入對應的増量日志鏈表,更新最近一次插入檢測數據的標識,用最近一條檢測數據的Index_ID值,更新増量日志索引樹節點的Lastjndex域。在上述方法中,所述增量日志文件包括系統增量日志文件和節點增量日志文件兩類,系統增量日志文件保存増量日志索引樹的順序存儲結構,每ー個傳感器都単獨對應ー個增量日志文件Incremental_file,其中保存了該傳感器所關聯的增量日志鏈表。在上述方法中,針對不同的物聯網感知層應用,所述Data域在編譯時被相應地設定為固定的字節長度,在默認情況下,所述Data域為255個字節。本專利技術還提供了ー種物聯網感知層的數據增量備份系統,包括由無線網絡控制器和多個無線傳感器組成的無線傳感器網絡以及數據日志存儲器、増量日志存儲器和數據備份主控制器、物聯網感知層控制中心,所述無線網絡控制器為每ー個加入無線網絡的傳感器分配唯一的節點聚集索引Node_ID ;所述數據備份主控制器為接收到的每一條傳感器檢測數據分配唯一的數據聚集索引Index_ID ;所述數據備份主控制器通過數據日志進程、增量日志進程和備份進程進行管理,所述數據日志進程通過B+Tree結構的數據日志索引樹對檢測數據進行管理,數據日志索引樹以IndexJD為鍵值進行插入和查詢操作;所述增量日志進程負本文檔來自技高網...
【技術保護點】
物聯網感知層的數據增量備份方法,其特征在于,包括以下步驟:為每一個傳感器分配一個唯一的節點聚集索引Node_ID,每一條傳感器檢測數據生成時自動分配一個唯一的數據聚集索引Index_ID;以所述節點聚集索引Node_ID為鍵查找增量日志索引樹獲得相應傳感器在所述增量日志索引樹上的節點,根據每個所述節點最近兩條檢測數據標識是否不同更新增量日志索引樹的相應節點,所述增量日志索引樹為AVL樹結構,每一個傳感器唯一對應于所述AVL樹中的一個節點,所述節點保存有該傳感器與所述每一條檢測數據相對應的數據聚集索引Index_ID;以相應的數據聚集索引Index_ID為鍵查找數據日志索引樹獲得相應傳感器在所述數據日志索引樹上的節點,并將相應檢測數據的寫入數據日志文件中,所述數據日志索引樹為B+樹結構。
【技術特征摘要】
【專利技術屬性】
技術研發人員:許守明,別劍,曹非非,向智宇,許德瑋,
申請(專利權)人:武漢郵電科學研究院,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。