[發明專利]發現并修復損壞數據的裝置和方法有效
| 申請號: | 201210519636.8 | 申請日: | 2012-12-06 |
| 公開(公告)號: | CN103034567A | 公開(公告)日: | 2013-04-10 |
| 發明(設計)人: | 張烽;陳國龍;景叔武 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14 |
| 代理公司: | 北京林達劉知識產權代理事務所(普通合伙) 11277 | 代理人: | 劉新宇 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 發現 修復 損壞 數據 裝置 方法 | ||
技術領域
本發明涉及數據存儲領域,具體涉及一種發現并修復損壞數據的裝置和方法。
背景技術
在數據存儲領域,數據存儲的可靠性是非常重要的。目前保證可靠性的方法有多種,例如可通過以EC(Erasure?Code,糾刪碼)算法為代表的“信息糾錯技術”來實現數據存儲的可靠性。EC算法的核心是,通過對M個原始數據塊進行計算后得到N個校驗數據塊(0<N<M),當這M+N個數據塊(定義為一個EC組)中有任意K個數據塊(0<K≤N)丟失,都可以通過一定的算法恢復出來。
無論采用哪種方法,保證數據存儲可靠性的關鍵在于如何能夠快速有效地發現損壞的數據(即檢測數據的完整性)并及時修復損壞的數據。對于EC算法,目前比較通用的方式是周期性地或在訪問數據時對數據的完整性進行檢測,并在檢測到數據丟失時啟動修復。
具言之,在對數據的完整性進行檢測時,讀取某一EC組中的最少條帶數據,例如上述M個原始數據塊,并判斷這些條帶數據中是否存在至少一個條帶數據不可訪問。如果判斷結果為是,則確認對應的條帶數據已經發生丟失。在確認發生了數據丟失的情況下,讀取該EC組的所有剩余條帶數據,例如上述N個校驗數據塊,并啟動修復以通過EC算法重新生成條帶數據,然后將對應丟失的條帶數據寫入存儲單元來完成修復。
由于通過讀取EC組的最少條帶數據(或者所有條帶數據)來進行數據的完整性判斷,發明人發現,上述方法無法直接獲知發生故障的數據存儲節點的信息,從而無法及時、有效、經濟地修復因數據存儲節點故障而丟失的數據。時間越長,數據存儲節點故障率越高,數據永久丟失的概率就越大,從而使得系統可靠性嚴重下降。
發明內容
有鑒于此,本發明要解決的技術問題是,如何能夠快速有效地發現并修復損壞數據。
為了解決上述問題,第一方面,本發明的實施例提供了一種發現并修復損壞數據的裝置,包括:故障節點發現單元,用于根據存儲集群系統中的各數據存儲節點上報的表示各數據存儲節點自身是否可用的狀態信息查找存儲集群系統中的故障數據存儲節點,獲取故障數據存儲節點所包括的分區的編號,并將所獲取到的編號作為故障分區的編號發送出去;受損EC組確定單元,與所述故障節點發現單元連接,用于根據從所述故障節點發現單元接收到的故障分區的編號確定故障分區對應的受損EC組;以及損壞數據修復單元,與所述受損EC組確定單元連接,用于針對所確定的受損EC組利用EC算法生成恢復數據,并將所生成的恢復數據存儲到指定數據存儲節點的相應分區上,以能夠用所述指定數據存儲節點替換所述故障數據存儲節點。
對于上述發現并修復損壞數據的裝置,在一種可能的實施方式中,所述受損EC組確定單元包括:故障分區編號接收模塊,與所述故障節點發現單元連接,用于接收所述故障節點發現單元所發送的故障分區的編號;最接近非故障分區查找模塊,與所述故障分區編號接收模塊連接,用于基于所接收到的故障分區的編號查找最接近非故障分區,其中所述最接近非故障分區是編號與所述故障分區的編號最接近的非故障分區;以及受損EC組確定模塊,與所述最接近非故障分區查找模塊以及所述損壞數據修復單元連接,用于將讀取到的最接近非故障分區所存儲的條帶數據攜帶的EC組信息作為潛在受損EC組信息,并判斷潛在受損EC組信息是否包括所述故障分區的編號,并在判斷結果為是的情況下將該潛在受損EC組信息表示的EC組確定作為受損EC組。
對于上述發現并修復損壞數據的裝置,在一種可能的實施方式中,所述最接近非故障分區查找模塊首先查找左側最接近非故障分區,其中左側最接近非故障分區是在編號減小方向上的最接近非故障分區,所述受損EC組確定模塊將讀取到的左側最接近非故障分區所存儲的條帶數據攜帶的EC組信息作為潛在受損EC組信息,并判斷潛在受損EC組信息是否包括所述故障分區的編號,在判斷結果為是的情況下,所述受損EC組確定模塊將潛在受損EC組信息表示的EC組確定作為受損EC組;在判斷結果為否的情況下,所述最接近非故障分區查找模塊繼續查找右側最接近非故障分區,其中右側最接近非故障分區是在編號增大方向上的最接近非故障分區,以及所述受損EC組確定模塊將讀取到的右側最接近非故障分區所存儲的條帶數據攜帶的EC組信息作為潛在受損EC組信息、并將潛在受損EC組信息表示的EC組確定作為受損EC組。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210519636.8/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





