[發明專利]臨時故障時的數據修復方法及分布式緩存系統有效
| 申請號: | 201110157693.1 | 申請日: | 2011-06-13 |
| 公開(公告)號: | CN102833273B | 公開(公告)日: | 2017-11-03 |
| 發明(設計)人: | 郭斌;陳典強;韓銀俊;宮微微 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F17/30 |
| 代理公司: | 北京派特恩知識產權代理有限公司11270 | 代理人: | 蔣雅潔,遲姍 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 臨時 故障 數據 修復 方法 分布式 緩存 系統 | ||
技術領域
本發明涉及云計算技術領域,尤其涉及一種臨時故障時的數據修復方法及分布式緩存系統。
背景技術
云計算(Cloud Computing)是網格計算(Grid Computing)、分布式計算(Distributed Computing)、并行計算(Parallel Computing)、效用計算(Utility Computing)網絡存儲(Network Storage Technologies)、虛擬化(Virtualization)、負載均衡(Load Balance)等傳統計算機技術和網絡技術發展融合的產物。它旨在通過網絡把多個成本相對較低的計算實體整合成一個具有強大計算能力的系統。分布式緩存是云計算范疇中的一個領域,其作用是提供海量數據的分布式存儲服務以及高速讀寫訪問的能力。
分布式緩存系統由若干服務器節點和客戶端互相連接構成,其中,服務器節點負責數據的存儲,客戶端可以對服務器節點做數據的寫入、讀取、更新、刪除等操作。一般來說,寫入的數據不可能只保存在單個服務器節點上,而是在多臺服務器節點上保存同一個數據的副本,互為備份,所述數據由鍵(Key)和值(Value)構成,Key相當于數據的索引,Value是Key所代表數據的數據內容,邏輯上Key和Value是一一對應的關系。
在分布式緩存系統中,保證數據的一致性是關鍵問題。在故障恢復后,數據在分布式緩存系統中各服務器節點上保存的各個副本可能會變得不一致。例如,在對一個Key對應的數據反復執行寫入、更新、刪除等動作期間,如果存在網絡故障或各種軟硬件故障,則在故障恢復后,不同的服務器節點上保存的所述Key對應的Value可能就會不同。
現有技術在故障恢復后,如果立即要通過Key讀取數據,則將各個副本取出并比較,根據一定的數據版本號比較規則選擇出正確的Value,同時對舊數據進行修復,以保持同一數據的多個副本的一致性。但如果從故障恢復到需要通過Key讀取數據之間,多個副本所在的服務器節點相繼發生了多次故障,則在需要通過Key讀取數據時,可能會出現讀不到數據、或讀到較舊的數據、或讀到的各個副本間無從比較新舊等情況,從而降低了分布式緩存系統的質量屬性,并且嚴重影響了分布式緩存系統的應用體驗。
發明內容
有鑒于此,本發明的主要目的在于提供一種臨時故障時的數據修復方法及分布式緩存系統,能夠在分布式緩存系統中服務器節點故障恢復后維持同一數據各副本的一致性。
為達到上述目的,本發明的技術方案是這樣實現的:
本發明提供了一種臨時故障時的數據修復方法,所述方法包括:
協同服務器向副本服務器發起數據操作時,發現有副本服務器故障,則生成包含有操作過的各數據鍵(Key)的Key變更記錄;
在所述副本服務器從故障中恢復后,所述協同服務器根據所述Key變更記錄,向所述副本服務器發起數據修復操作;
所述副本服務器根據所述協同服務器發起的數據修復操作,進行本地數據修復。
在上述方案中,所述向副本服務器發起數據操作,包括:向副本服務器發起數據的寫入操作或更新操作。
在上述方案中,所述生成包含有故障期間進行過操作的各數據Key的Key變更記錄,還包括:
所述協同服務器為所述副本服務器建立存儲集;
在所述副本服務器故障期間,所述協同服務器生成包含有故障期間操作過的各數據Key的Key變更記錄,并保存到所述副本服務器的存儲集中。
在上述方案中,所述協同服務器根據所保存的Key變更記錄,向所述副本服務器發起數據修復操作,包括:
所述協同服務器獲取所述Key變更記錄中各Key對應的所有數據副本,并識別出所述Key變更記錄中各Key對應的上一次操作過的數據副本;
使用識別出的所述上一次進行過操作的數據副本對所述副本服務器發起數據修復操作。
在上述方案中,所述識別出所述Key變更記錄中各Key對應的上一次操作過的數據副本,為:
對所獲取的所有數據副本中相同Key的多個數據副本進行版本比較,得到所述各Key對應的上一次操作過的數據副本。
在上述方案中,所述協同服務器獲取所述Key變更記錄中各Key對應的所有數據副本,為:
所述協同服務器從所述各Key對應的所有副本服務器中讀取所述各Key對應的數據副本、以及從自身獲取所述各Key對應的數據副本。
在上述方案中,所述副本服務器根據所述協同服務器發起的數據修復操作,進行本地數據修復,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110157693.1/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





