System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據同步,具體涉及一種數據同步裝置及方法。
技術介紹
1、分布式緩存是一種專為應對大規模數據處理和高并發訪問需求而設計的緩存系統。它在分布式環境中部署,通過將數據存儲在多個節點的內存中,以提供快速的數據讀取和查詢服務。這種緩存系統可以水平擴展,適應大數據量和高并發訪問的場景,是大數據處理框架和應用中的關鍵組件之一。
2、分布式緩存通過一系列接口連接到各類大數據平臺或數據庫或持久化存儲系統,并且以通用接口方式提供給應用訪問,解決了應用程序與存儲系統之間的鴻溝,為應用提供了統一的客戶端api及全局命名空間,能夠輕松訪問到任何連接到分布式緩存的數據。
3、為解決分布式緩存數據可用性問題,使得任意節點宕機后不影響應用的訪問,通??梢詫祿街炼鄠€不同的節點中,當有節點故障時自動引流到其他可用節點。
4、但該方法僅實現了集群內的數據同步,無法避免集群級的節點故障,而現有的數據同步方法雖然可以實現跨集群或跨機房的數據同步,以避免集群級或機房級的節點故障,但在數據同步過程中卻存在數據丟失的風險,從而導致同步進程的中斷。
技術實現思路
1、本申請實施例提供一種數據同步裝置及方法,用以解決現有的數據同步方法雖然可以實現跨集群或跨機房的數據同步,以避免集群級或機房級的節點故障,但在數據同步過程中卻存在數據丟失的風險,從而導致同步進程的中斷的技術問題。
2、第一方面,本申請實施例提供一種數據同步裝置,包括:
3、接收模塊,用于:接收
4、校驗模塊,用于:利用所述目標操作序列對所述目標數據變化流進行校驗,基于校驗結果對所述目標數據變化流進行異常修正,得到修正數據變化流,并將所述修正數據變化流發送至處理模塊;
5、處理模塊,用于:將所述修正數據變化流轉換為可執行的分布式緩存命令,并將所述分布式緩存命令發送至同步模塊;
6、同步模塊,用于:將所述分布式緩存命令分發至容災集群。
7、在一個實施例中,還包括:
8、配置模塊,用于:存儲和管理其他模塊運行的配置信息,以供其他模塊運行時調用;
9、所述配置信息包括與集群節點建立同步連接所需的連接配置信息、對數據變化流進行校驗所需的校驗配置信息、對數據變化流進行處理的處理配置信息和數據同步全流程的同步配置信息。
10、在一個實施例中,所述將所述修正數據變化流轉換為可執行的分布式緩存命令,包括:
11、對所述修正數據變化流進行解析,得到修正鍵值數據;
12、對所述修正鍵值數據進行過濾,得到過濾后鍵值數據;
13、對于值發生變化的過濾后鍵值數據,以所述值對應的鍵進行哈希分組,得到多組目標鍵值數據;
14、將所述多組目標鍵值數據轉換為可執行的分布式緩存命令。
15、在一個實施例中,所述對所述修正數據變化流進行解析,得到修正鍵值數據,包括:
16、提取所述修正數據變化流中多個操作指令中的有效指令;
17、將所述有效指令對應的操作數據轉換為鍵值數據,得到修正鍵值數據。
18、在一個實施例中,所述將所述多組目標鍵值數據轉換為可執行的分布式緩存命令,包括:
19、基于映射參數,在所述多組目標鍵值數據中獲取所述有效指令對應的目標鍵值數據的目標值;
20、將所述目標值轉換為可執行的分布式緩存命令。
21、在一個實施例中,所述利用所述目標操作序列對所述目標數據變化流進行校驗,基于校驗結果對所述目標數據變化流進行異常修正,得到修正數據變化流,包括:
22、將所述目標操作序列與目標節點中的操作序列進行比較,得到第一比較結果;所述目標節點包括所述主集群的主節點或從節點;
23、若所述第一比較結果為一致,則將所述目標操作序列中的操作標識與所述目標數據變化流中的操作標識進行比較,得到第二比較結果,并將所述目標操作序列中的時間戳與所述目標數據變化流中的時間戳進行比較,得到第三比較結果;
24、若所述第一比較結果為不一致,則向所述接收模塊發起調用所述目標節點中的操作序列的請求,并調用所述接收模塊拉取的所述目標節點中的操作序列;
25、基于所述目標節點中的操作序列對所述目標操作序列進行修正,得到修正操作序列;
26、將所述修正操作序列中的操作標識與所述目標數據變化流中的操作標識進行比較,得到第二比較結果,并將所述修正操作序列中的時間戳與所述目標數據變化流中的時間戳進行比較,得到第三比較結果;
27、基于所述第二比較結果和所述第三比較結果,對所述目標數據變化流進行異常修正,得到修正數據變化流。
28、在一個實施例中,所述基于所述第二比較結果和所述第三比較結果,對所述目標數據變化流進行異常修正,得到修正數據變化流,包括:
29、若所述第二比較結果和所述第三比較結果中至少一個比較結果為不一致,則向所述接收模塊發起調用所述目標節點中的數據變化流的請求,并調用所述接收模塊拉取的所述目標節點中的數據變化流;
30、基于所述目標節點中的數據變化流對所述目標數據變化流進行修正,得到修正數據變化流。
31、在一個實施例中,所述接收消息隊列發送的目標數據,包括:
32、對所述消息隊列進行實時監聽,在所述消息隊列中的數據發生變化時接收所述消息隊列發送的所述目標數據。
33、在一個實施例中,所述同步模塊,還用于:將主集群中的所述變化數據寫入所述消息隊列,并在所述主集群的主節點、所述主集群的從節點和所述消息隊列中至少兩個成功寫入所述變化數據時,向所述主集群寫入成功的節點內的客戶端發送寫入成功的消息。
34、第二方面,本申請實施例提供一種數據同步方法,包括:
35、接收消息隊列發送的目標數據;所述目標數據包括目標數據變化流和目標操作序列,所述目標數據變化流包括從主集群同步的變化數據;
36、利用所述目標操作序列對所述目標數據變化流進行校驗,基于校驗結果對所述目標數據變化流進行異常修正,得到修正數據變化流;
37、將所述修正數據變化流轉換為可執行的分布式緩存命令;
38、將所述分布式緩存命令分發至容災集群。
39、第三方面,本申請實施例提供一種電子設備,包括處理器和存儲有計算機程序的存儲器,所述處理器執行所述程序時實現第二方面所述的數據同步方法的步驟。
40、第四方面,本申請實施例提供一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執行時實現第二方面所述的數據同步方法的步驟。
41、第五方面,本申請實施例提供一種非暫態計算機可讀存儲介質,包括計算機程序,所述計算機程序被處理器執行時實現第二本文檔來自技高網...
【技術保護點】
1.一種數據同步裝置,其特征在于,包括:
2.根據權利要求1所述的數據同步裝置,其特征在于,還包括:
3.根據權利要求1所述的數據同步裝置,其特征在于,所述將所述修正數據變化流轉換為可執行的分布式緩存命令,包括:
4.根據權利要求3所述的數據同步裝置,其特征在于,所述對所述修正數據變化流進行解析,得到修正鍵值數據,包括:
5.根據權利要求4所述的數據同步裝置,其特征在于,所述將所述多組目標鍵值數據轉換為可執行的分布式緩存命令,包括:
6.根據權利要求1所述的數據同步裝置,其特征在于,所述利用所述目標操作序列對所述目標數據變化流進行校驗,基于校驗結果對所述目標數據變化流進行異常修正,得到修正數據變化流,包括:
7.根據權利要求6所述的數據同步裝置,其特征在于,所述基于所述第二比較結果和所述第三比較結果,對所述目標數據變化流進行異常修正,得到修正數據變化流,包括:
8.根據權利要求1所述的數據同步裝置,其特征在于,所述接收消息隊列發送的目標數據,包括:
9.根據權利要求1所述的數據同步裝置
10.一種數據同步方法,其特征在于,包括:
11.一種電子設備,包括處理器和存儲有計算機程序的存儲器,其特征在于,所述處理器執行所述計算機程序時實現權利要求10所述的數據同步方法的步驟。
12.一種計算機程序產品,包括計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求10所述的數據同步方法的步驟。
13.一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求10所述的數據同步方法的步驟。
...【技術特征摘要】
1.一種數據同步裝置,其特征在于,包括:
2.根據權利要求1所述的數據同步裝置,其特征在于,還包括:
3.根據權利要求1所述的數據同步裝置,其特征在于,所述將所述修正數據變化流轉換為可執行的分布式緩存命令,包括:
4.根據權利要求3所述的數據同步裝置,其特征在于,所述對所述修正數據變化流進行解析,得到修正鍵值數據,包括:
5.根據權利要求4所述的數據同步裝置,其特征在于,所述將所述多組目標鍵值數據轉換為可執行的分布式緩存命令,包括:
6.根據權利要求1所述的數據同步裝置,其特征在于,所述利用所述目標操作序列對所述目標數據變化流進行校驗,基于校驗結果對所述目標數據變化流進行異常修正,得到修正數據變化流,包括:
7.根據權利要求6所述的數據同步裝置,其特征在于,所述基于所述第二比較...
【專利技術屬性】
技術研發人員:周勛,王斌,裴晶晶,
申請(專利權)人:中國移動通信集團浙江有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。