System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及分布式數據庫,特別涉及一種持續保持備份數據最終一致性的方法、裝置、設備及介質。
技術介紹
1、數據的存儲與實時備份在現代數據庫中,數據的保存通常有兩種方式:預寫式日志文件(用于快速寫入)和數據內容文件(用于查詢)。預寫式日志文件通常是i/o順序寫入的操作,寫入較快。而數據內容文件的寫入通常是i/o?隨機寫入的操作,寫入較慢。
2、一般而言,為了兼顧數據存儲的寫入性能,可用性和正確性,現代數據庫會在存儲數據時先將數據改動保存在預寫式日志文件中,再將數據本身寫入數據內容文件。如果數據內容文件損壞,可以從預寫式日志文件“播放”以重新生成正確的數據內容文件。
3、基于以上的設計,現代數據庫的備份通常也有兩種方式:流式備份預寫式日志文件和直接備份數據內容文件。通常來說,流式備份預寫式日志文件的方式保證了一定的實時性;而直接備份數據內容文件的方式由于數據量的限制,一般無法確保實時性。在使用流式備份預寫式日志文件的方式進行備份時,為了保持備份數據的可用性,通常會在流式備份預寫式日志文件的同時,在備份側同時將預寫式日志文件內容“播放”為新的數據內容文件。以使數據能夠在備份側快速用于查詢。
4、對于分布式數據庫的一致性,在現代分布式存儲的分布式數據庫中,數據通常以多個數據分片的形式分別保存在分布式數據庫的各個節點中。同時,一般會有一個數據分片用于保存數據分片的元信息(數據分片的方式和策略等內容),保存這個分片的節點也一般用來協調其他節點的數據操作。
5、事務型分布式數據庫通常能夠在分布
6、對于分布式數據庫的實時備份,通常而言,分布式數據庫的各個節點都會如單機數據庫一樣將數據同時保存在預寫式日志文件和數據內容文件中。分布式數據庫的備份就是多個節點的預寫式日志文件的備份和數據內容文件的備份。
7、但是,分布式數據庫的事務并發處理存在的復雜性,使從多個數據分片的備份中實時找到一個數據保持了一致性的位置的操作很耗時。這使得從備份數據恢復出一個新的可用的分布式數據庫集群的操作很慢。如果這些備份數據用于災難恢復,會直接影響災難恢復的關鍵指標之一:復原時間目標?(recovery?time?object,?rto)。
技術實現思路
1、有鑒于此,本專利技術實施例提供了一種持續保持備份數據最終一致性的方法,以解決現有技術中分布式數據庫的事務并發處理時從備份數據恢復出一個新的可用的分布式數據庫集群的操作耗時的技術問題。該方法包括:
2、分布式數據庫使用預寫式日志流式備份的方式進行數據備份,將流式備份的數據來源側設置為備份源端,將備份數據的保存側設置為備份目標端;
3、在所述備份源端的分布式數據庫集群中,根據預設時間間隔創建全局一致性點,所述全局一致性點是保存在預寫式日志中的信息;
4、在所述備份目標端的分布式數據庫集群中,各個數據分片持續接收預寫式日志流,并將其持續保存至持久化存儲,通過預設控制機制確保在所述全局一致性點處停止和播放日志;
5、當在所述備份目標端恢復為普通分布式數據庫集群時,清理無效日志,播放至最近的所述全局一致性點,實現數據最終一致性。
6、本專利技術實施例還提供了一種持續保持備份數據最終一致性的裝置,以解決現有技術中分布式數據庫的事務并發處理時從備份數據恢復出一個新的可用的分布式數據庫集群的操作耗時的技術問題。該裝置包括:
7、設置模塊,用于分布式數據庫使用預寫式日志流式備份的方式進行數據備份,將流式備份的數據來源側設置為備份源端,將備份數據的保存側設置為備份目標端;
8、全局一致性點創建模塊,用于在所述備份源端的分布式數據庫集群中,根據預設時間間隔創建全局一致性點,所述全局一致性點是保存在預寫式日志中的信息;
9、備份模塊,用于在所述備份目標端的分布式數據庫集群中,各個數據分片持續接收預寫式日志流,并將其持續保存至持久化存儲,通過預設控制機制確保在所述全局一致性點處停止和播放日志;
10、恢復模塊,用于當在所述備份目標端恢復為普通分布式數據庫集群時,清理無效日志,播放至最近的所述全局一致性點,實現數據最終一致性。
11、本專利技術實施例還提供了一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現上述任意的持續保持備份數據最終一致性的方法,以解決現有技術中分布式數據庫的事務并發處理時從備份數據恢復出一個新的可用的分布式數據庫集群的操作耗時的技術問題。
12、本專利技術實施例還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有執行上述任意的持續保持備份數據最終一致性的方法的計算機程序,以解決現有技術中分布式數據庫的事務并發處理時從備份數據恢復出一個新的可用的分布式數據庫集群的操作耗時的技術問題。
13、與現有技術相比,本說明書實施例采用的上述至少一個技術方案能夠達到的有益效果至少包括:本申請采取了在分布式數據庫備份的源端定期創建全局一致性點,并在備份端根據這些全局一致性點的信息控制各個數據分片的數據同步進度的方法,在恢復時,通過清理無效日志和精確控制日志播放,確保數據恢復到與主數據庫一致的狀態,確保備份數據能夠持續保持分布式數據庫內數據內容的最終一致性,使其有效提高了恢復為可讀寫的分布式數據庫集群的速度。
本文檔來自技高網...【技術保護點】
1.一種持續保持備份數據最終一致性的方法,其特征在于,所述方法包括:
2.如權利要求1所述的持續保持備份數據最終一致性的方法,其特征在于,所述創建全局一致性點,包括:
3.如權利要求1所述的持續保持備份數據最終一致性的方法,其特征在于,所述通過預設控制機制確保在所述全局一致性點處停止和播放日志,包括:
4.如權利要求3所述的持續保持備份數據最終一致性的方法,其特征在于,所述第一預設控制機制包括第一子機制、第二子機制和第三子機制,
5.如權利要求4所述的持續保持備份數據最終一致性的方法,其特征在于,所述第二預設控制機制包括如下步驟的循環,所述循環設置于元數據分片所在節點:
6.如權利要求4所述的持續保持備份數據最終一致性的方法,其特征在于,所述當在所述備份目標端恢復為普通分布式數據庫集群時,清理無效日志,播放至最近的所述全局一致性點,包括:
7.如權利要求6所述的持續保持備份數據最終一致性的方法,其特征在于,
8.一種持續保持備份數據最終一致性裝置,其特征在于,包括:
9.一種計算機設備
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有執行權利要求1至7中任一項所述的持續保持備份數據最終一致性的方法的計算機程序。
...【技術特征摘要】
1.一種持續保持備份數據最終一致性的方法,其特征在于,所述方法包括:
2.如權利要求1所述的持續保持備份數據最終一致性的方法,其特征在于,所述創建全局一致性點,包括:
3.如權利要求1所述的持續保持備份數據最終一致性的方法,其特征在于,所述通過預設控制機制確保在所述全局一致性點處停止和播放日志,包括:
4.如權利要求3所述的持續保持備份數據最終一致性的方法,其特征在于,所述第一預設控制機制包括第一子機制、第二子機制和第三子機制,
5.如權利要求4所述的持續保持備份數據最終一致性的方法,其特征在于,所述第二預設控制機制包括如下步驟的循環,所述循環設置于元數據分片所在節點:
6.如權利要求4所述的持續保...
【專利技術屬性】
技術研發人員:張偉晨,楊旭東,王昊,宋佳飛,王志強,
申請(專利權)人:北京四維縱橫數據技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。