[發明專利]一種數據復制方法及裝置有效
| 申請號: | 201810209543.2 | 申請日: | 2018-03-14 |
| 公開(公告)號: | CN110309224B | 公開(公告)日: | 2021-08-31 |
| 發明(設計)人: | 王新宇 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/23 |
| 代理公司: | 北京中博世達專利商標代理有限公司 11274 | 代理人: | 袁方 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 復制 方法 裝置 | ||
本申請公開一種數據復制方法及裝置,涉及數據處理領域,能夠完成跨集群間的同步數據復制并保證數據復制提交時的原子一致性。該方法包括:第一主節點設備創建第一提案;將第一提案存儲至同步隊列,其中第一主節點設備和第二主節點設備屬于不同的集群;第一主節點設備從同步隊列讀取第一提案并發送至第二主節點設備,以便第二主節點設備根據第一提案創建第二提案;第一主節點設備從同步隊列讀取第一提案并存儲至第一老化隊列;第一主節點設備接收第二主節點設備發送的同步成功指令,其中第二主節點設備將第二提案存儲至第二老化隊列,并生成同步成功指令;第一主節點設備根據同步成功指令將第一老化隊列中的第一提案激活或者存入磁盤。
技術領域
本申請的實施例涉及數據處理領域,尤其涉及一種數據復制方法及裝置。
背景技術
原子一致性是指針對數據固化情況時僅會反饋數據成功或者失敗兩種狀態。當前消息傳遞一致性的相關軟件中,一般是基于Paxos算法或其算法的增強。當前主要是采用一個集群中多數派選舉的方法后,實現統一提交刷新來實現同一集群內的數據原子一致性。針對于多個消息集群(或者基于Key-value的集群),如何完成跨集群間的同步數據復制并保證數據復制提交時的原子一致性,當前沒有有效方案來實現的。
發明內容
本申請的實施例提供一種數據復制方法及裝置,能夠完成跨集群間的同步數據復制并保證數據復制提交時的原子一致性。
第一方面,提供一種數據復制方法,該方法包括:第一主節點設備創建第一提案;第一主節點設備確定將第一提案同步至第二主節點設備時,將第一提案存儲至同步隊列,其中第一主節點設備和所述第二主節點設備屬于不同的集群;第一主節點設備從同步隊列讀取第一提案并發送至第二主節點設備,以便第二主節點設備根據第一提案創建第二提案;第一主節點設備從同步隊列讀取第一提案并存儲至第一老化隊列;第一主節點設備接收第二主節點設備發送的同步成功指令,其中第二主節點設備將第二提案存儲至第二老化隊列,并生成同步成功指令;第一主節點設備根據同步成功指令將第一老化隊列中的第一提案激活或者存入磁盤。在上述方案中,第一主節點設備創建第一提案后,第一主節點設備在確定將第一提案同步至第二主節點設備時,首先將第一提案存儲至同步隊列,其中第一主節點設備和第二主節點設備屬于不同的集群;第一主節點設備從同步隊列讀取第一提案并發送至第二主節點設備,第二主節點設備根據第一提案創建第二提案;第一主節點設備從同步隊列讀取第一提案并存儲至第一老化隊列;第二主節點設備將第二提案存儲至第二老化隊列,并生成同步成功指令,第一主節點設備接收第二主節點設備發送的同步成功指令;第一主節點設備只有在獲取同步成功指令后才會進一步的根據同步成功指令將第一老化隊列中的第一提案激活或者存入磁盤;同時第二主節點設備將第二老化隊列中的第二提案激活或者存入磁盤,這樣實現了跨集群的同步數據復制并保證了數據復制提交時的原子一致性。
在一種可能的設計中,第一主節點設備將第一提案激活后,還包括:第一主節點設備將同步隊列以及第一老化隊列中的第一提案刪除。
在一種可能的設計中,所述第一提案包括數據對象;第一主節點設備將所述第一提案存儲至同步隊列之前,方法還包括:第一主節點設備為第一提案的數據對象添加元數據。其中,元數據包括老化參數;所述方法還包括:當確定當前時間滿足所述老化參數時,若未收到同步成功指令,則生成同步錯誤信息。當第一主節點設備創建第三提案時,刷新所述第一提案對應的老化參數。元數據包括同步參數;在第一主節點設備接收所述第二主節點設備發送的同步成功指令之前,所述同步參數為未同步;在第一主節點設備接收所述第二主節點設備發送的同步成功指令之后,所述方法還包括:將同步參數修改為已同步。元數據包括第一提案所屬集群的標識。由于第一提案存儲至同步隊列時會對其數據對象添加元數據,因此可以根據元數據判斷哪個集群帶有最新數據,在集群之間發生通信故障時則可以將帶有最新數據的集群作為唯一存活的集群,另一集群終止操作。這樣,在帶有最新數據的集群中查看老化隊列,刪除不是該集群且未同步的數據,在另一集群中對于老化隊列中刪除不是未同步的數據,這樣在通信恢復后可以重新進行數據復制操作,避免未復制成功的數據占用資源。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810209543.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:選擇數據節點的方法、系統以及相關設備
- 下一篇:數據處理方法及系統
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





