System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及數據庫,特別涉及一種基于b+樹的kv嵌入式數據庫數據一致性校驗方法、系統、設備及介質。
技術介紹
1、現有的嵌入式數據庫一致性校驗方法主要包括文件復制和日志復制兩種方式:
2、文件復制(如圖1所示):定期將主數據庫文件通過內部網絡(如ftp)復制到備份節點,并通過校驗文件哈希值來確保主備文件的一致性。但這種方法實時性較差,且對文件系統壓力較大。
3、日志復制(如圖2所示):將主節點上的數據庫操作記錄同步到備份節點執行,以保證主備節點的操作完全一致。這種方法需要占用與主節點相同的cpu和磁盤資源,資源消耗高,且對通信帶寬需求也較高。
技術實現思路
1、為解決上述問題,本專利技術提供的一種基于b+樹的kv嵌入式數據庫數據一致性校驗方法、系統、設備及介質,該方法數據傳輸效率高、資源消耗較小、數據一致性校驗速度快。
2、為實現上述目的,本專利技術采用如下技術方案:
3、第一方面,本專利技術提供一種基于b+樹的kv嵌入式數據庫數據一致性校驗方法,包括:
4、獲取主板中的變化頁面信息,變化頁面信息中包括頁面的hash值;
5、基于主板中b+樹的層次結構,將變化頁面信息自頂到底進行排序,得到變化頁面列表;
6、將變化頁面列表依次同步到備板數據庫;
7、將變化頁面列表中根頁面的hash值與備板中的根頁面的hash值進行比較,確定主備板數據的一致性。
8、進一步地,頁面的hash
9、從葉子頁面開始自底向上到根頁面進行hash計算,其中,葉子頁面的hash值,根據存儲的內容計算得到;分支頁面或根頁面的hash值,根據其子頁面的hash值進行計算得到。
10、進一步地,將變化頁面列表依次同步到備板數據庫,包括:
11、基于變化頁面列表中的變化頁面信息,建立主備備份的頁面變化消息;
12、基于主備備份的頁面變化消息,執行相對應的同步處理。
13、進一步地,建立主備備份的頁面變化消息,還包括:
14、根據變化頁面信息的頁面變化類型對頁面變化消息進行合并優化。
15、進一步地,基于主備備份的頁面變化消息,執行相對應的同步處理,包括:
16、主板依次發送頁面變化消息;
17、備板接收到頁面變化消息,根據頁面變化消息的類型分別進行同步處理,若頁面變化消息的類型為頁面新增,則在備板中新建頁面,并建立b+樹中的節點關聯關系;若頁面變化消息的類型為頁面變更,則將頁面變化消息中描述的頁面變化信息,更新到備板的b+樹中相對應頁面中;若頁面變化消息的類型為頁面刪除,則解除備板的b+樹中相對應頁面的節點關聯關系,進行頁面釋放。
18、進一步地,基于主備備份的頁面變化消息,執行相對應的同步處理,還包括:
19、若備板接收到頁面變化消息的類型為頁面新增、頁面變更,計算相對應的變化頁面的hash值,并與頁面變化消息中攜帶的hash值進行校驗,如果校驗結果不一致,備板在主板的確認消息中添加標識,觸發頁面變化消息的重傳。
20、進一步地,將變化頁面列表中根頁面的hash值與備板中的根頁面的hash值進行比較,確定主備板的一致性,其中,所比較的變化頁面列表中根頁面的hash值和備板中的根頁面的hash值,都是基于增量變化的頁面的hash得到,若二者的比較校驗結果一致,則主備板整體上一致。
21、第二方面,本專利技術還提供一種基于b+樹的kv嵌入式數據庫數據一致性校驗方法系統,包括:
22、獲取模塊,用于獲取主板中的變化頁面信息,變化頁面信息中包括頁面的hash值;
23、排序模塊,用于基于主板中b+樹的層次結構,將變化頁面信息自頂到底進行排序,得到變化頁面列表;
24、同步模塊,用于將變化頁面列表依次同步到備板數據庫;
25、校驗模塊,用于將變化頁面列表中根頁面的hash值與備板中的根頁面的hash值進行比較,確定主備板數據的一致性。
26、第三方面,本專利技術還提供一種電子設備,包括:處理器和存儲器;
27、處理器與存儲器耦合;
28、其中,處理器,用于讀取并執行存儲器存儲的程序或指令,使得設備執行如第一方面的方法。
29、第四方面,本專利技術還提供一種計算機可讀存儲介質,存儲有計算機程序,程序被處理器執行時實現如第一方面的方法。
30、本專利技術提供的技術方案,至少具有如下技術效果或優點:
31、(1)針對b+樹結構存儲的kv嵌入式數據庫,采用以頁面為單位的備份方案,有著較高的傳輸效率,同時對cpu和磁盤資源消耗較小;
32、(2)以頁面為單位進行備份時,采用高效的增量跟頁面hash計算方法,可以快速的校驗數據一致性。
33、本專利技術的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本專利技術而了解。本專利技術的目的和其他優點可通過在說明書、權利要求書以及附圖中所指出的結構來實現和獲得。
本文檔來自技高網...【技術保護點】
1.一種基于B+樹的KV嵌入式數據庫數據一致性校驗方法,其特征在于,包括:
2.根據權利要求1所述的基于B+樹的KV嵌入式數據庫數據一致性校驗方法,其特征在于,所述頁面的hash值的計算包括:
3.根據權利要求1所述的基于B+樹的KV嵌入式數據庫數據一致性校驗方法,其特征在于,所述將變化頁面列表依次同步到備板數據庫,包括:
4.根據權利要求3所述的基于B+樹的KV嵌入式數據庫數據一致性校驗方法,其特征在于,所述建立主備備份的頁面變化消息,還包括:
5.根據權利要求3所述的基于B+樹的KV嵌入式數據庫數據一致性校驗方法,其特征在于,所述基于主備備份的頁面變化消息,執行相對應的同步處理,包括:
6.根據權利要求3所述的基于B+樹的KV嵌入式數據庫數據一致性校驗方法,其特征在于,所述基于主備備份的頁面變化消息,執行相對應的同步處理,還包括:
7.根據權利要求1所述的基于B+樹的KV嵌入式數據庫數據一致性校驗方法,其特征在于,所述將變化頁面列表中根頁面的hash值與備板中的根頁面的hash值進行比較,確定主備板的一致
8.一種基于B+樹的KV嵌入式數據庫數據一致性校驗方法系統,其特征在于,包括:
9.一種電子設備,其特征在于,包括:處理器和存儲器;
10.一種計算機可讀存儲介質,其特征在于,存儲有計算機程序,所述程序被處理器執行時實現如權利要求1-7任一項所述的方法。
...【技術特征摘要】
1.一種基于b+樹的kv嵌入式數據庫數據一致性校驗方法,其特征在于,包括:
2.根據權利要求1所述的基于b+樹的kv嵌入式數據庫數據一致性校驗方法,其特征在于,所述頁面的hash值的計算包括:
3.根據權利要求1所述的基于b+樹的kv嵌入式數據庫數據一致性校驗方法,其特征在于,所述將變化頁面列表依次同步到備板數據庫,包括:
4.根據權利要求3所述的基于b+樹的kv嵌入式數據庫數據一致性校驗方法,其特征在于,所述建立主備備份的頁面變化消息,還包括:
5.根據權利要求3所述的基于b+樹的kv嵌入式數據庫數據一致性校驗方法,其特征在于,所述基于主備備份的頁面變化消息,執行相對應的同步處理,包括:
6.根據權利要求3所述的基于b+樹的kv嵌入式數據庫數據一致性校驗方...
【專利技術屬性】
技術研發人員:何建,呂沛,毛斐,
申請(專利權)人:烽火通信科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。