[發明專利]一種數據恢復方法及對象存儲設備有效
| 申請號: | 201510033827.7 | 申請日: | 2015-01-23 |
| 公開(公告)號: | CN104598168B | 公開(公告)日: | 2017-09-29 |
| 發明(設計)人: | 王廷海 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 北京同達信恒知識產權代理有限公司11291 | 代理人: | 馮艷蓮 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 恢復 方法 對象 存儲 設備 | ||
技術領域
本發明涉及計算機技術領域,特別涉及一種數據恢復方法及對象存儲設備。
背景技術
對象存儲系統(Object-Based Storage System)綜合了網絡存儲技術(Network Storage Technologies,NAS)和存儲區域網絡技術(Storage Area Network,SAN)的優點,同時具有SAN的高速直接訪問和NAS的數據共享等優勢,提供了高可靠性、跨平臺性以及高安全性的存儲體系。
對象存儲系統的基本構成單元是對象存儲設備(Object-based Storage Device,OSD),OSD負責對象(Object)的存儲,對象中保存有文件數據及文件的相關屬性信息。為了確保存儲的對象的可靠性,對于一個對象,采用擦除碼(Erasure Code)的方式對其進行存儲。具體的,將一個對象劃分為N個等長的數據塊,通過對這N份數據進行編碼,得到M份校驗數據塊,將這個M+N份數據分別存放到M+N個不同的OSD上,從這M+N份數據中取出任意的M+N-i份數據,均可計算出余下的i份數據的數值,亦即可以得到該對象的原始數據,其中,i的取值不能大于校驗數據塊的個數M。這樣,即使是單個或者多個OSD出現故障,導致對象的部分數據塊丟失,也能根據剩余的數據塊得到數據的原始值。
在每個OSD將數據寫入其硬盤的過程中,可能會出現故障導致數據寫入該OSD的硬盤失敗,例如,OSD的內存或者非易失性雙列插入式記憶模塊(Non-volatile Dual Inline Memory Module,NVDIMM)出現故障時,數據將會在寫入硬盤前丟失。
現有技術中,為了恢復該OSD上丟失的數據,對象存儲系統中的每個OSD會定時啟動對象掃描任務,每個OSD掃描自身硬盤上的所有對象數據,然后,服務器根據所有OSD的掃描結果進行一致性校驗,確定出哪些OSD發生了數據丟失,以及具體丟失了哪些對象的哪些數據。其實現原理為:如果所有OSD的硬盤中僅保存有一個對象的M+N-i份數據,則表明該對象的另外i份數據丟失,通過查找該對象的元數據信息,可以確定丟失的i份數據本應存儲在哪些OSD的上以及各自在對應OSD上的存儲位置。
上述恢復OSD上丟失數據的技術方案,由于需要掃描所有OSD上存儲的所有對象,運算量很大,且耗時很長。
發明內容
本發明實施例提供一種數據恢復方法及對象存儲設備,用于解決現有技術中恢復OSD上的丟失數據時效率低下,耗時過長的問題。
第一方面,本發明實施例提供了一種數據恢復方法,所述方法應用于對象存儲系統中,所述對象存儲系統包括多個對象存儲設備OSD,所述方法由第一OSD執行,所述第一OSD包括硬盤;所述方法包括:
確定所述第一OSD丟失待寫入所述第一OSD的硬盤的數據;
向所述多個OSD中除所述第一OSD之外的其他OSD發送請求報文;
接收所述其他OSD發送的所述請求報文的響應消息,所述響應消息攜帶有在設定時長內寫入所述其他OSD的數據的信息,所述數據的信息包括與所述待寫入所述第一OSD的硬盤的數據屬于同一數據對象的其他數據;
根據所述接收到的其他OSD的數據的信息在所述第一OSD的硬盤中恢復所述待寫入所述第一OSD的數據。
基于第一方面,在第一方面的第一種可能的實現方式中,所述第一OSD還包括非易失性雙列插入式記憶模塊NVDIMM,所述NVDIMM中保存有所述待寫入所述第一OSD的硬盤的數據;所述確定所述第一OSD丟失待寫入所述第一OSD的硬盤的數據,包括:
在將所述待寫入所述第一OSD的硬盤的數據從所述NVDIMM寫入所述第一OSD的硬盤時,確定所述第一OSD發生故障。
第二方面,本發明實施例提供了一種數據恢復方法,所述方法應用于對象存儲系統中,所述對象存儲系統包括多個對象存儲設備OSD,所述方法由第二OSD執行,包括:
接收第一OSD發送的請求報文;
向所述第一OSD發送所述請求報文的響應消息,所述響應消息攜帶有所述第二OSD在設定時長內保存的數據的信息,所述數據的信息包括目標數據,所述目標數據與所述第一OSD中保存的數據屬于同一個數據對象。
基于第二方面,在第二方面的第一種可能的實現方式中,所述方法還包括:
接收所述目標數據;
將所述目標數據,以及所述目標數據所屬的所述數據對象的標識保存在所述數據的信息中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510033827.7/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





