專利名稱:數(shù)據(jù)更新方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)更新方法和裝置。
背景技術(shù):
并行文件系統(tǒng)(pNFS , parallel Net File System)是讀寫操作可以在多個(gè)節(jié) 點(diǎn)并行進(jìn)行的集群文件系統(tǒng),包括客戶代理(CA, ClientAgent)、元數(shù)據(jù)服務(wù) 器(MDS, meta-data server)和對(duì)象存儲(chǔ)節(jié)點(diǎn)(OSN, Object Storage Node ), 如圖1所示。其中,OSN以對(duì)象形式存儲(chǔ)數(shù)據(jù),并行文件系統(tǒng)中的文件以條 帶的形式分布到各個(gè)OSN上。CA為應(yīng)用程序提供訪問并行文件系統(tǒng)的用戶 開發(fā)接口,可以部署到多個(gè)應(yīng)用服務(wù)器。MDS負(fù)責(zé)向客戶提供整個(gè)系統(tǒng)的元 數(shù)據(jù),管理整個(gè)系統(tǒng)的命名空間,維護(hù)整個(gè)系統(tǒng)的目錄結(jié)構(gòu)、用戶權(quán)限,并負(fù) 責(zé)維護(hù)系統(tǒng)的數(shù)據(jù)一致性,同時(shí)MDS維護(hù)著OSN的部署信息,給CA提供文 件部署方案。CA讀取數(shù)據(jù)的一般過程為CA向MDS讀取文件的元數(shù)據(jù)信息, 再根據(jù)元數(shù)據(jù)信息向幾個(gè)OSN獲取文件的各個(gè)條帶的內(nèi)容。
目前的一些并行文件系統(tǒng)只是實(shí)現(xiàn)了類似于RAIDO思想的條帶化存儲(chǔ)方 案。當(dāng)某一個(gè)OSN上的硬盤發(fā)生故障,或者由于OSN本身宕機(jī),或者連接此 OSN的網(wǎng)絡(luò)斷開時(shí),客戶就不能從它上面讀出數(shù)據(jù)。因此,需要考慮有效的 容災(zāi)方案,當(dāng)某一個(gè)OSN不能正常工作時(shí),整個(gè)系統(tǒng)還能有效地提供服務(wù)。
現(xiàn)有技術(shù)通過軟件RAID的方式提供容災(zāi)方案,MDS對(duì)于新生成的文件 指定RAID模式,例如對(duì)于小文件采用RAID1,對(duì)于大文件采用RAID5的存 儲(chǔ)方式。MDS存放文件的RAID模式和條帶信息,并對(duì)OSN有監(jiān)測(cè)機(jī)制,當(dāng) 某個(gè)OSN故障時(shí),可以給客戶提示此OSN有故障,以使客戶啟動(dòng)RAID模式 讀取數(shù)據(jù)??蛻魪腗DS收到文件的擴(kuò)展屬性信息(包括條帶個(gè)數(shù)、RAID模 式、OSN工作狀態(tài)等)后,可以向工作狀態(tài)正常的OSN通信,把數(shù)據(jù)讀耳又出來,然后按照RAID計(jì)算出故障OSN上的數(shù)據(jù)。如圖2所示,若OSN一2無法 提供數(shù)據(jù)的情況下,根據(jù)OSN—2節(jié)點(diǎn)中數(shù)據(jù)對(duì)象的RAID模式,可知OSN—2 節(jié)點(diǎn)中數(shù)據(jù)對(duì)象的備份節(jié)點(diǎn)或關(guān)聯(lián)數(shù)據(jù)節(jié)點(diǎn),如OSN一4和OSN—5,若OSN一4 和OSN—5工作狀態(tài)正常,客戶可從OSN—4和OSN—5讀取數(shù)據(jù)然后按照OSN—2 中數(shù)據(jù)對(duì)象的RAID模式讀取出故障數(shù)據(jù)。
CA讀取數(shù)據(jù)的一般過程為CA向MDS讀取文件的元數(shù)據(jù)信息;CA根 據(jù)元數(shù)據(jù)信息向幾個(gè)OSN獲取文件的各個(gè)條帶的內(nèi)容;當(dāng)某個(gè)條帶不能正常 獲取時(shí),CA根據(jù)RAID模式讀取出文件的內(nèi)容。
現(xiàn)有技術(shù)的問題在于,當(dāng)一個(gè)數(shù)據(jù)對(duì)象損壞時(shí),雖然基于軟件RAID的方 式客戶可以從其他正常工作狀態(tài)的OSN節(jié)點(diǎn)讀取數(shù)據(jù)并繼續(xù)有效使用數(shù)據(jù), 但這種方法只是使CA能夠讀取數(shù)據(jù),損壞的數(shù)據(jù)對(duì)象并沒有得到恢復(fù),如果 不及時(shí)恢復(fù)損壞的數(shù)據(jù)對(duì)象,當(dāng)存放與損壞數(shù)據(jù)對(duì)象相關(guān)聯(lián)數(shù)據(jù)對(duì)象的節(jié)點(diǎn)失 效或者節(jié)點(diǎn)中的關(guān)聯(lián)數(shù)據(jù)對(duì)象損壞時(shí),數(shù)據(jù)對(duì)象中的數(shù)據(jù)就不可使用了, CA 也就無法讀取并繼續(xù)有效使用數(shù)據(jù)。所以應(yīng)該采用恢復(fù)機(jī)制及時(shí)恢復(fù)出數(shù)據(jù)。
另一方面,當(dāng)某個(gè)數(shù)據(jù)成為熱點(diǎn)數(shù)據(jù)時(shí),對(duì)于它的訪問就會(huì)成為系統(tǒng)的瓶 頸。在這種情形下,采用數(shù)據(jù)備份、遷移的方法,可以達(dá)到負(fù)載均衡的效果。 現(xiàn)有技術(shù)中,通過把熱點(diǎn)文件整體復(fù)制多份的方式,來分散訪問,消除熱點(diǎn)訪 問的瓶頸。但熱點(diǎn)文件的整體復(fù)制,會(huì)影響到當(dāng)前客戶對(duì)于此文件的訪問。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種數(shù)據(jù)更新方法和裝置,有效解決當(dāng)前并 行文件系統(tǒng)中的數(shù)據(jù)恢復(fù)問題,降低并行文件系統(tǒng)的運(yùn)行風(fēng)險(xiǎn),同時(shí)在數(shù)據(jù)的 遷移和備份過程中,減少對(duì)當(dāng)前業(yè)務(wù)的影響。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)更新方法,包括 獲得待更新的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息; 根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得 所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式得到所述第 一存 儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),更新出所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié) 點(diǎn)。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)更新裝置,包括
第三獲取才莫塊,用于獲得待更新的第一存儲(chǔ)節(jié)點(diǎn)的凄t據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì) 象的信息;
第二讀取模塊,用于根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所
在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);
更新模塊,用于采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式得
到所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),更新出所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象
到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)恢復(fù)方法,包括
獲得待恢復(fù)的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息;
根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得
所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);
采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式得到所述第一存
儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),恢復(fù)出所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)恢復(fù)方法,包括 獲得待恢復(fù)的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息; 發(fā)送所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理,以使 所述至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述 關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),采用所述關(guān)聯(lián)J丈 據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式恢復(fù)所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到 目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)恢復(fù)裝置,包括
1第一獲取模塊,用于獲得待恢復(fù)的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)
象的信息;
第一讀取模塊,用于根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所
在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);
恢復(fù)模塊,用于采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式得到所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),恢復(fù)出所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)恢復(fù)裝置,包括
第二獲取模塊,用于獲得待恢復(fù)的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息;
發(fā)送模塊,用于發(fā)送所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理,以使所述至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式恢復(fù)所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
由上述本發(fā)明實(shí)施例提供的技術(shù)方案可以看出,本發(fā)明實(shí)施例通過獲得待更新的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式得到所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),更新出所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)的技術(shù)手段,有效解決了當(dāng)前并行文件系統(tǒng)中的數(shù)據(jù)恢復(fù)問題,降低了并行文件系統(tǒng)的運(yùn)行風(fēng)險(xiǎn),同時(shí)在數(shù)據(jù)的遷移和備份過程中,減少對(duì)當(dāng)前業(yè)務(wù)的影響。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)并行文件系統(tǒng)示意圖2為現(xiàn)有技術(shù)的軟件RAID容災(zāi)方法示意圖3為本發(fā)明實(shí)施例一的數(shù)據(jù)恢復(fù)方法流程圖4為本發(fā)明實(shí)施例二的凝:據(jù)恢復(fù)方法流程圖5為本發(fā)明實(shí)施例三的數(shù)據(jù)恢復(fù)方法中并行文件系統(tǒng)示意圖6為本發(fā)明實(shí)施例三的數(shù)據(jù)恢復(fù)方法流程圖7為本發(fā)明實(shí)施例三的數(shù)據(jù)恢復(fù)方法中數(shù)據(jù)塊示意圖8為本發(fā)明實(shí)施例三的數(shù)據(jù)恢復(fù)方法中文件存儲(chǔ)示意圖9為本發(fā)明實(shí)施例四的數(shù)據(jù)恢復(fù)方法中并行文件系統(tǒng)示意圖IO為本發(fā)明實(shí)施例四的數(shù)據(jù)恢復(fù)方法流程圖11為本發(fā)明實(shí)施例五的數(shù)據(jù)恢復(fù)裝置示意圖12為本發(fā)明實(shí)施例六的lt據(jù)恢復(fù)裝置示意圖13為本發(fā)明實(shí)施例七的數(shù)據(jù)更新方法流程圖14為本發(fā)明實(shí)施例九的數(shù)據(jù)更新裝置示意圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例中,并行文件系統(tǒng)的組成可以包括MDS、 OSN、 Agent (存儲(chǔ)節(jié)點(diǎn)代理)、OTD ( OSN-Agent Task Dispatcher,任務(wù)分發(fā)器)、OLL(OSN-object List Library, OSN上對(duì)象的列表存放庫),以及Monitor (系統(tǒng)的監(jiān)控節(jié)點(diǎn))。上述各組成部分可以是物理組件,也可以是邏輯組件,只是為了敘述方便將實(shí)現(xiàn)某些功能的組件賦予一個(gè)名稱,具體實(shí)現(xiàn)中,可以是某組件實(shí)現(xiàn)其他組件的功能,如可以沒有OLL,而由OTD或Agent實(shí)現(xiàn)OLL的功能;沒有Monitor,而由OTD或MDS實(shí)現(xiàn)其功能;甚至OSN、 Agent、 OLL,及Monitor全部集成在MDS中,由MDS具有所有的功能。
其中,Monitor是系統(tǒng)的主控節(jié)點(diǎn),負(fù)責(zé)整個(gè)系統(tǒng)的監(jiān)控管理,用于發(fā)現(xiàn)待恢復(fù)的OSN,某些實(shí)施方式中Monitor也可由控制臺(tái)代替,由管理員從控制臺(tái)對(duì)系統(tǒng)進(jìn)行人工監(jiān)控。
本發(fā)明實(shí)施例中,可以用OLL存放OSN上數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,所述數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息可以包括所述數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象、即所述數(shù)據(jù)對(duì)象所屬文件的其他數(shù)據(jù)對(duì)象;所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn),即所述數(shù)據(jù)對(duì)象所屬文件的其他數(shù)據(jù)對(duì)象分布的存儲(chǔ)節(jié)點(diǎn);所述數(shù)據(jù)文件的存儲(chǔ)模式,即存放在各數(shù)據(jù)對(duì)象中的數(shù)據(jù)文件的數(shù)據(jù)之間的關(guān)聯(lián)模式,包括RAID模式。每個(gè)OSN的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息可以存放在對(duì)象表中。本發(fā)明實(shí)施例中,數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息也可以不以對(duì)象表的方式存放,也可以不存放于OLL中,如可以通過文件的形式保存在其他的組成部分中。本發(fā)明實(shí)施例的OLL和對(duì)象表只是數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息的存放方式,其他的存放方式也在本發(fā)明實(shí)施例的保護(hù)范圍之內(nèi)。
OTD接收Monitor或控制臺(tái)發(fā)送過來的恢復(fù)指令,從OLL上獲取待恢復(fù)的OSN的對(duì)象表,發(fā)送給Agent,由Agent恢復(fù)出所述對(duì)象表中的數(shù)據(jù)對(duì)象。
OTD、 OLL、 Monitor, Agent可以是單獨(dú)的服務(wù)器,也可位于一個(gè)服務(wù)器中,進(jìn)一步的上述組成部分也可以位于MDS或OSN中,在連接關(guān)系上,本發(fā)明實(shí)施例4是供的并行文件系統(tǒng)可能有多種結(jié)構(gòu)形式,只要在功能上實(shí)現(xiàn)了本發(fā)明實(shí)施例的數(shù)據(jù)恢復(fù)方法,任何連接方式均在本發(fā)明實(shí)施例的保護(hù)范圍之內(nèi)。進(jìn)一步的,本發(fā)明實(shí)施例的并行文件系統(tǒng)中各組成部分可以有一個(gè),也可以有多個(gè),例如存在多個(gè)Monitor或多個(gè)MDS,組成部分的復(fù)雜程度只影響系統(tǒng)管理的復(fù)雜度,不影響本發(fā)明實(shí)施例技術(shù)方案和技術(shù)效果的實(shí)現(xiàn),本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明提供的實(shí)施例進(jìn)行的簡(jiǎn)單變換得到的其他并行文件系統(tǒng)結(jié)構(gòu)均在本發(fā)明實(shí)施例的保護(hù)范圍之內(nèi)。
本發(fā)明實(shí)施例一的數(shù)據(jù)恢復(fù)方法,如圖3所示,包括
S101 、獲得待恢復(fù)的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息;
5102、 根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn) 獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);
5103、 采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式得到所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),恢復(fù)出所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存 儲(chǔ)節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供的方法,通過獲得待恢復(fù)的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的 關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在 的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照 數(shù)據(jù)文件的存儲(chǔ)模式得到所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),恢復(fù)出所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)的技術(shù)手段,有效解決了當(dāng)前并行文件 系統(tǒng)中的數(shù)據(jù)恢復(fù)問題,降低了并行文件系統(tǒng)的運(yùn)行風(fēng)險(xiǎn)。 本發(fā)明實(shí)施例二的凄t據(jù)恢復(fù)方法,如圖4所示,包括 S201 、獲得待恢復(fù)的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息; S202、發(fā)送所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代 理,以使所述至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息 從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),采用所述 關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式恢復(fù)所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù) 對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供的方法,通過獲得待恢復(fù)的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的 關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,發(fā)送所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢復(fù)的存 儲(chǔ)節(jié)點(diǎn)代理,以使所述至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì) 象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù), 采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式恢復(fù)所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)的技術(shù)手段,有效解決了當(dāng)前并行文件系統(tǒng)中的
數(shù)據(jù)恢復(fù)問題,降# 了并行文件系統(tǒng)的運(yùn)行風(fēng)險(xiǎn)。
下面結(jié)合并行文件系統(tǒng)的運(yùn)行,詳細(xì)說明本發(fā)明實(shí)施例的數(shù)據(jù)恢復(fù)方法 本發(fā)明實(shí)施例三提供的數(shù)據(jù)恢復(fù)方法,該方法中并行文件系統(tǒng)的組成如圖
5所示,存在一個(gè)集中的OTD分發(fā)恢復(fù)任務(wù),對(duì)象表集中存放在一個(gè)OLL中, Agent位于OSN上。本發(fā)明實(shí)施例的數(shù)據(jù)恢復(fù)方法,如圖6所示,包括
S301、 Monitor發(fā)現(xiàn)某個(gè)OSN的數(shù)據(jù)無法讀取后,發(fā)送一個(gè)恢復(fù)此OSN 上數(shù)據(jù)對(duì)象的指令給OTD。
為說明方便,以下假設(shè)待恢復(fù)的OSN為OSNl。在某些實(shí)施方式中,上 述過程也可以由管理員完成,即管理員發(fā)現(xiàn)無法讀取數(shù)據(jù)的OSN1,然后手工 從控制臺(tái)發(fā)出恢復(fù)指令;在另外一些實(shí)施方式中,也可以由Monitor和管理員 共同完成上述過程。下面以Monitor進(jìn)行自動(dòng)控制為例加以說明。
所述OSN1的數(shù)據(jù)無法讀取的原因可能有多種,包括OSNl上的硬盤發(fā)生 故障,OSN1本身宕機(jī),或者連接OSN1的網(wǎng)絡(luò)中斷等各種造成客戶不能從 OSN1上讀取數(shù)據(jù)的原因,此時(shí)OSNl上所有的數(shù)據(jù)對(duì)象均無法讀取。某些實(shí) 施方式中,也可能是由于部分?jǐn)?shù)據(jù)對(duì)象丟失,損壞等而導(dǎo)致的OSN1上部分?jǐn)?shù) 據(jù)對(duì)象無法讀取,即OSNl中一個(gè)或多個(gè)數(shù)據(jù)對(duì)象無法讀取,此時(shí)在進(jìn)行恢復(fù) 操作時(shí),OSN1的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息即OSN1中一個(gè)或多個(gè)數(shù)據(jù) 對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息。本發(fā)明實(shí)施例中,以O(shè)SN1的數(shù)據(jù)對(duì)象整體不可 讀為例進(jìn)行說明,OSN1上部分?jǐn)?shù)據(jù)對(duì)象無法讀取的情況原理是相同的,可以 參照?qǐng)?zhí)行。
當(dāng)Monitor發(fā)現(xiàn)OSN1的凄t據(jù)無法讀取后,可以即時(shí)發(fā)送一個(gè)恢復(fù)OSNl 的指令給OTD,也可以等待所述OSNl自身恢復(fù),當(dāng)一段時(shí)間內(nèi)所述OSNl 無法完成自身恢復(fù)時(shí),再向OTD發(fā)送恢復(fù)指令。
某些實(shí)施方式中,Monitor在發(fā)送恢復(fù)指令的同時(shí)可以給出作為目標(biāo)存儲(chǔ) 節(jié)點(diǎn)的可用OSN的范圍,由OTD在可用OSN范圍內(nèi)選"^進(jìn)行數(shù)據(jù)恢復(fù)的OSN??捎肙SN可以是Monitor根據(jù)系統(tǒng)當(dāng)前運(yùn)行狀況選擇的OSN。某些實(shí) 施方式中,可用OSN的范圍也可以由OTD進(jìn)行確認(rèn)。在另外一些實(shí)施方式中, 可以在系統(tǒng)中預(yù)先配置專門用來作為目標(biāo)存儲(chǔ)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)恢復(fù)的OSN,系 統(tǒng)將其缺省默認(rèn)為可用OSN。某些實(shí)施方式中上述過程中Monitor的功能也可 由OTD自身完成。
S302、 OTD從OLL獲取OSNl的對(duì)象表。
S303 、 OTD把所述對(duì)象表分發(fā)到至少一個(gè)OSN上,以使OSN上的Agent 恢復(fù)所述對(duì)象表中的數(shù)據(jù)對(duì)象。
本發(fā)明實(shí)施例中,OTD分析OSNl的對(duì)象表中存放數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù) 對(duì)象的信息,為保證lt據(jù)安全,可以將對(duì)象表發(fā)送給沒有存儲(chǔ)OSNl上數(shù)據(jù)對(duì) 象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的OSN,假設(shè)為OSN2,由OSN2上的Agent從其他存放關(guān) 聯(lián)數(shù)據(jù)對(duì)象的OSN上恢復(fù)出OSNl的數(shù)據(jù)對(duì)象到OSN2。某些實(shí)施方式中, OTD也可將所述對(duì)象表發(fā)給任意OSN,由該OSN上的Agent從存放關(guān)聯(lián)數(shù)據(jù) 對(duì)象的OSN上恢復(fù)出OSNl的數(shù)據(jù)對(duì)象到OSN2。某些實(shí)施方式中,選擇Agent 的策略也可以為Agent的當(dāng)前狀態(tài),如運(yùn)行能力,閑忙狀態(tài)等或Agent所在 OSN的當(dāng)前狀態(tài),如負(fù)載、容量、所在節(jié)點(diǎn)等。某些實(shí)施方式中,也可以不 做選擇,默認(rèn)為采用系統(tǒng)中預(yù)先配置專門用來作為目標(biāo)存儲(chǔ)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)恢復(fù) 的OSN的Agent??傊瓵gent的選擇方式有多種,均在本發(fā)明實(shí)施例的保護(hù) 范圍之內(nèi)。
某些實(shí)施方式中,OTD可以根據(jù)所述對(duì)象表的內(nèi)容,把所述對(duì)象表分解 為幾個(gè)子表,每個(gè)子表中包括OSNl的一部分?jǐn)?shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信 息。所有子表互不重復(fù),合起來為原來的對(duì)象表。OTD將每個(gè)子表分發(fā)到一 個(gè)對(duì)應(yīng)的OSN,從而由多個(gè)Agent執(zhí)行恢復(fù)任務(wù),從而進(jìn)一步提高數(shù)據(jù)對(duì)象 的恢復(fù)效率,減少對(duì)系統(tǒng)運(yùn)行的影響。拆分表時(shí),需要按照一定的策略,如當(dāng) 需要接收子表的OSN作為數(shù)據(jù)對(duì)象恢復(fù)的目標(biāo)OSN,則要考慮該OSN的數(shù) 據(jù)容量、所在節(jié)點(diǎn),及所在機(jī)拒等。總之原則是系統(tǒng)中各OSN的負(fù)載均衡和系統(tǒng)的數(shù)據(jù)安全,避免把存有關(guān)聯(lián)數(shù)據(jù)對(duì)象的節(jié)點(diǎn)作為恢復(fù)節(jié)點(diǎn),避免選擇的 多個(gè)恢復(fù)節(jié)點(diǎn)處于同 一個(gè)機(jī)拒中。
5304、 接收到對(duì)象表的OSN上的Agent根據(jù)對(duì)象表,按RAID模式恢復(fù) 出所述對(duì)象表中的數(shù)據(jù)對(duì)象。
根據(jù)S303中OTD選擇的接收對(duì)象表的OSN的不同,OSN上的Agent執(zhí) 行的操作相應(yīng)不同,可以是Agent從其他存放關(guān)聯(lián)數(shù)據(jù)對(duì)象的OSN上讀取關(guān) 聯(lián)數(shù)據(jù)對(duì)象,按RAID模式恢復(fù)數(shù)據(jù)對(duì)象到其所在的OSN上;也可以是Agent 從其所在的OSN上讀取存放的關(guān)聯(lián)數(shù)據(jù)對(duì)象,按RAID模式恢復(fù)出數(shù)據(jù)對(duì)象 到其他的OSN上;也可以是Agent從其他存放關(guān)聯(lián)數(shù)據(jù)對(duì)象的OSN上讀取關(guān) 聯(lián)數(shù)據(jù)對(duì)象,按RAID模式恢復(fù)數(shù)據(jù)對(duì)象到另外的OSN上。數(shù)據(jù)恢復(fù)過程中, 根據(jù)RAID模式的不同,恢復(fù)方法相應(yīng)不同,如按RAID1模式存放的數(shù)據(jù)對(duì) 象,采用直接復(fù)制的方法即可恢復(fù);按RAID5模式存放的數(shù)據(jù)對(duì)象,則需采 用異或運(yùn)算計(jì)算出待恢復(fù)的數(shù)據(jù)對(duì)象。
某些實(shí)施方式中,如果在S303中對(duì)象表被拆分為子表,則存在多個(gè)Agent 執(zhí)行恢復(fù)操作,每個(gè)Agent恢復(fù)相應(yīng)的子表中的數(shù)據(jù)對(duì)象。
在恢復(fù)過程中,可以合理控制數(shù)據(jù)復(fù)制的步長(zhǎng),從而減少對(duì)于當(dāng)前正常業(yè) 務(wù)的影響。
5305、 Agent完成恢復(fù)任務(wù)后,把恢復(fù)的結(jié)果上報(bào)給MDS,在MDS上更 新文件的條帶分布信息,這樣新的訪問就可以進(jìn)行了 。
某些實(shí)施方式中,也可以MDS主動(dòng)向Agent獲耳又恢復(fù)結(jié)果。在MDS上 更新文件的條帶分布后,CA根據(jù)MDS訪問OSN時(shí)就可以直接讀取數(shù)據(jù),不 需要CA通過軟件RAID的方式讀取數(shù)據(jù),從而使CA感覺不到系統(tǒng)中OSN 發(fā)生的變化。在某些實(shí)施方式中,如果在OSN恢復(fù)過程中,CA進(jìn)行訪問, 此時(shí)由于MDS還未進(jìn)行更新,要由CA通過軟件RAID的方式讀取數(shù)據(jù)。
5306、 MDS上元數(shù)據(jù)中條帶分布信息有變化,就會(huì)同步到OLL中,目的 是保證當(dāng)有新的OSN需要恢復(fù)時(shí),OTD可以從OLL獲耳又最新的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息。
5307、 在恢復(fù)進(jìn)程中,Agent實(shí)時(shí)上報(bào)執(zhí)行任務(wù)的情況,由OTD對(duì)恢復(fù) 進(jìn)程進(jìn)行監(jiān)控。
某些實(shí)施方式中,也可由OTD主動(dòng)獲取Agent的恢復(fù)進(jìn)程以進(jìn)行監(jiān)控。 所述監(jiān)控可以包括統(tǒng)計(jì)對(duì)象恢復(fù)進(jìn)度,以使Monitor或管理員對(duì)系統(tǒng)運(yùn)行進(jìn)行 管理,比如當(dāng)恢復(fù)進(jìn)4亍過程中,所述^C恢復(fù)OSN恢復(fù)正常,此時(shí)可以根據(jù)恢 復(fù)進(jìn)度決定是否需要繼續(xù)進(jìn)行恢復(fù)進(jìn)程,以避免系統(tǒng)中存在不必要的數(shù)據(jù)冗 余。比如在恢復(fù)進(jìn)行到30%時(shí),可以終止恢復(fù)進(jìn)程;在恢復(fù)到80%時(shí),則繼 續(xù)恢復(fù),同時(shí)將待恢復(fù)OSN數(shù)據(jù)清空。
所述監(jiān)控還可以包括處理恢復(fù)故障,比如某個(gè)Agent恢復(fù)數(shù)據(jù)對(duì)象失敗, 無法完成恢復(fù)任務(wù),此時(shí)OTD可以及時(shí)重新指派其他Agent。
5308、 OTD把恢復(fù)的結(jié)果上報(bào)給Monitor, Monitor可以根據(jù)恢復(fù)任務(wù)完 成情況,決定是否重新啟動(dòng)失敗的任務(wù),從而進(jìn)一步保證數(shù)據(jù)恢復(fù)過程的完善。
下面給出本發(fā)明實(shí)施例三的一個(gè)具體的數(shù)據(jù)對(duì)象恢復(fù)過程
假設(shè)文件filel如圖7所示,分為6個(gè)數(shù)據(jù)塊。又如圖8所示,分為3個(gè) 條帶按RAID5的方式存放,其中P1=B1 B2; P2 = B3 B4; P3 = B5 B6; " "為異或運(yùn)算。又假設(shè)在圖5中,objl存放在OSN—2上,obj2存 放在OSN—4上,obj3存放在OSN—5上。
當(dāng)OSN—4宕機(jī)超過一定時(shí)間后,Monitor程序會(huì)啟動(dòng)恢復(fù)OSN—4上的數(shù) 據(jù)對(duì)象的過程,發(fā)送恢復(fù)OSN一4的指令給OTD,可用的OSN為所有可用的 OSN節(jié)點(diǎn)。OTD從OLL獲取OSN—4的對(duì)象表,根據(jù)每個(gè)數(shù)據(jù)對(duì)象的具體分 布確定恢復(fù)的目的OSN。比如,對(duì)于OSN一4上的數(shù)據(jù)對(duì)象obj2, obj2的關(guān)聯(lián) 數(shù)據(jù)對(duì)象為OSN一2上的objl和OSN—5上的obj3。為保證數(shù)據(jù)安全,obj2不 能恢復(fù)到OSN—2上,也不能恢復(fù)到OSN—5上。根據(jù)某種選取策略,可以把 obj2恢復(fù)到OSN—6上。于是OTD把恢復(fù)obj2的任務(wù)發(fā)送給OSN—6上的Agent。
由于RAID關(guān)系為RAID5, OSN—6上的Agent可以讀取OSN—2上的objl和OSN—5上的obj3,然后依照RAID5算法把obj2計(jì)算出來B2 = Bl Pl; P2 = B3 B4; B5 = P3 B6。 OSN—6上的Agent在寫完obj2后,由于現(xiàn) 在filel的分布為objl存放在OSN—2上,obj2存放在OSN—6上,obj3存放 在OSN—5上,所以需要更新MDS上的條帶分布信息。Agent上報(bào)給MDS, 更新filel的條帶分布信息,這樣客戶端就可以按照新的條帶分布直接訪問文 件filel 了 。
在恢復(fù)過程中,可以合理控制數(shù)據(jù)復(fù)制的步長(zhǎng),從而減少對(duì)于當(dāng)前正常業(yè) 務(wù)的影響。在恢復(fù)obj2的過程中,按照數(shù)據(jù)塊的大小進(jìn)行操作,即讀取OSN—2 上的objl的數(shù)據(jù)塊Bl,和OSN—5上的obj3的數(shù)據(jù)塊Pl;然后再讀取OSN—2 上的objl的數(shù)據(jù)塊B3,和OSN—5上的obj3的數(shù)據(jù)塊B4;然后再讀取OSN—2 上的objl的數(shù)據(jù)塊P3,和OSN—5上的obj3的數(shù)據(jù)塊B6。這樣操作單元較小, 不影響其他客戶端的讀寫操作。
本發(fā)明實(shí)施例四的數(shù)據(jù)恢復(fù)方法,并行文件系統(tǒng)的組成如圖9所示,將實(shí) 施例三中集中式的OLL和OTD改為分布式,分布位于OSN中,同時(shí)引入 ML(MetaList,元表)作為分布式OLL的索引。ML可以單獨(dú)為一個(gè)服務(wù)器, 也可以位于并行文件系統(tǒng)的其他組成部分。
本發(fā)明實(shí)施例的數(shù)據(jù)恢復(fù)方法,如圖10所示,包括
S401、 Monitor發(fā)現(xiàn)某個(gè)OSN的數(shù)據(jù)無法讀取后,查詢ML表,找到存放 該OSN對(duì)象表的OLL的位置。
為說明方便,以下假設(shè)數(shù)據(jù)無法讀取的OSN為OSNl。本發(fā)明實(shí)施例中, 由于OLL分布存放在OSN上,為保證數(shù)據(jù)安全,需要對(duì)OLL進(jìn)行冗余配置, 即所有分布式OLL合起來相當(dāng)于多個(gè)集中式OLL,而且OSN上存i文的OLL 不會(huì)包含該OSN的對(duì)象表。根據(jù)ML查詢到的OSNl的對(duì)象表可能存放在多 個(gè)OLL中,此時(shí),可以才艮據(jù)一定策略選4奪一個(gè)OLL,如可以才艮據(jù)OLL所在 OSN的當(dāng)前狀態(tài)、所在節(jié)點(diǎn)等,也可隨機(jī)選取一個(gè)OLL。為說明方便,以下 假設(shè)選擇存放在OSN3上的OLL3。S402、 Monitor發(fā)送一個(gè)恢復(fù)0SN1上數(shù)據(jù)對(duì)象的指令給某一OTD,所述 指令中包括OLL3的位置。
本發(fā)明實(shí)施例中,接收數(shù)據(jù)恢復(fù)指令的OTD的選擇方式可以有多種,如 可以根據(jù)OTD所在的節(jié)點(diǎn),可以根據(jù)OTD的處理能力等進(jìn)行選擇,在某些實(shí) 施方式中,Monitor可以根據(jù)OLL3的位置,找出 一個(gè)較優(yōu)的OTD ,如OSN3 上的OTD3,由于OLL3與OTD3都位于OSN3節(jié)點(diǎn),二者的通信更為便捷。 以下以O(shè)LL3和OTD3為例進(jìn)行說明。
在某些實(shí)施方式中,上述過程也可以由管理員完成,即管理員發(fā)現(xiàn)無法讀 取數(shù)據(jù)的OSNl,然后手工從控制臺(tái)發(fā)出恢復(fù)指令;在另外一些實(shí)施方式中, 也可以由Monitor和管理員共同完成上述過程。下面以Monitor進(jìn)行自動(dòng)控制 為例加以-說明。
所述OSNl的數(shù)據(jù)無法讀取的原因可能有多種,包括OSNl上的硬盤發(fā)生 故障,OSN1本身宕機(jī),或者連接OSN1的網(wǎng)絡(luò)中斷等各種造成客戶不能從 OSN1上讀取數(shù)據(jù)的原因,此時(shí)OSN1上所有的數(shù)據(jù)對(duì)象均無法讀取。某些實(shí) 施方式中,也可能是由于部分?jǐn)?shù)據(jù)對(duì)象丟失,損壞等而導(dǎo)致的OSN1上部分?jǐn)?shù) 據(jù)對(duì)象無法讀取,即OSNl中一個(gè)或多個(gè)數(shù)據(jù)對(duì)象無法讀取,此時(shí)在進(jìn)行恢復(fù) 操作時(shí),OSN1的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息即OSN1中一個(gè)或多個(gè)數(shù)據(jù) 對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息。本發(fā)明實(shí)施例中,以O(shè)SN1的數(shù)據(jù)對(duì)象整體不可 讀為例進(jìn)行說明,OSN1上部分?jǐn)?shù)據(jù)對(duì)象無法讀取的情況原理是相同的,可以 參照?qǐng)?zhí)行。
當(dāng)Monitor發(fā)現(xiàn)OSN1的數(shù)據(jù)無法讀取后,可以即時(shí)發(fā)送一個(gè)恢復(fù)OSN1 的指令給OTD3,也可以等待所述OSNl自身恢復(fù),當(dāng)一段時(shí)間內(nèi)所述OSNl 無法完成自身恢復(fù)時(shí),再向OTD3發(fā)送恢復(fù)指令。
某些實(shí)施方式中,Monitor在發(fā)送恢復(fù)指令的同時(shí)可以給出可用OSN的范 圍,由OTD3在可用OSN范圍內(nèi)選擇進(jìn)行數(shù)據(jù)恢復(fù)的OSN??捎肙SN可以 是Monitor根據(jù)系統(tǒng)當(dāng)前運(yùn)行狀況選擇的OSN。某些實(shí)施方式中,可用OSN進(jìn)行確認(rèn)。在另外一些實(shí)施方式中,可以在系統(tǒng)中預(yù)先 配置專門用來進(jìn)行數(shù)據(jù)恢復(fù)的OSN,系統(tǒng)將其缺省默認(rèn)為可用OSN。
某些實(shí)施方式中,上述步驟S401和S402也可能通過其他方案完成,如 Monitor發(fā)現(xiàn)某個(gè)OSN的數(shù)據(jù)無法讀取后,發(fā)送恢復(fù)該OSN的指令給某一 OTD,由該OTD查詢ML表,找到存放待恢復(fù)OSN對(duì)象表的OLL的位置。
5403、 OTD3從OLL3獲取OSN1的對(duì)象表。
5404、 同S303。
5405、 同S304。
5406、 同S305。
5407、 MDS上元數(shù)據(jù)中條帶分布信息變化后,發(fā)出同步更新OLL信息的 指令給ML。
5408、 ML根據(jù)存放的OLL位置信息,把MDS發(fā)送的更新的條帶分布信 息復(fù)制成多份發(fā)給下面的多個(gè)OLL。
5409、 同S307。
5410、 同S308。
上述實(shí)施例給出了 OLL和OTD以集中式和分布式存放的例子,在某些實(shí) 施方式中,也可以是OLL集中、OTD分布,或者是OLL分布、OTD集中, 恢復(fù)過程與上述描述大體相同,均在本發(fā)明實(shí)施例的保護(hù)范圍之內(nèi)。
本發(fā)明實(shí)施例提供的方法,通過獲得待恢復(fù)的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的 關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在 的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照 數(shù)據(jù)文件的存儲(chǔ)模式得到所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),恢復(fù)出所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)的技術(shù)手段,有效解決了當(dāng)前并行文件 系統(tǒng)中的數(shù)據(jù)恢復(fù)問題,降低了并行文件系統(tǒng)的運(yùn)行風(fēng)險(xiǎn)。
相應(yīng)于上述方法實(shí)施例,本發(fā)明實(shí)施例五提供一種數(shù)據(jù)恢復(fù)裝置,如圖 ll所示,包括第一獲取才莫塊501,用于獲得待恢復(fù)的第一存儲(chǔ)節(jié)點(diǎn)的lt據(jù)對(duì)象的關(guān)聯(lián)凄t
據(jù)對(duì)象的信息;
第一讀取模塊502,用于根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì) 象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);
恢復(fù)模塊503,用于采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模 式得到所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),恢復(fù)出所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù) 對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供的裝置,用于實(shí)現(xiàn)獲得待恢復(fù)的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì) 象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象 所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù) 按照數(shù)據(jù)文件的存儲(chǔ)模式得到所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),恢復(fù)出所 述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)的技術(shù)手段,有效解決了當(dāng)前并行 文件系統(tǒng)中的數(shù)據(jù)恢復(fù)問題,降低了并行文件系統(tǒng)的運(yùn)行風(fēng)險(xiǎn)。
某些實(shí)施方式中,本發(fā)明實(shí)施例的數(shù)據(jù)恢復(fù)裝置還包括上報(bào)模塊504,用 于上報(bào)恢復(fù)任務(wù)進(jìn)展以監(jiān)控恢復(fù)進(jìn)程、及上報(bào)恢復(fù)結(jié)果,以更新文件的條帶信 息。
相應(yīng)于上述方法實(shí)施例,本發(fā)明實(shí)施例六提供一種數(shù)據(jù)恢復(fù)裝置,如圖 12所示,包括
第二獲取模塊601,用于獲得待恢復(fù)的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù) 據(jù)對(duì)象的信息;
發(fā)送模塊602,用于發(fā)送所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢復(fù)的 存儲(chǔ)節(jié)點(diǎn)代理,以使所述至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理根據(jù)所述關(guān)聯(lián)數(shù)據(jù) 對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù) 據(jù),采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式恢復(fù)所述第一存儲(chǔ) 節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供的裝置,用于實(shí)現(xiàn)獲得待恢復(fù)的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,發(fā)送所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢復(fù) 的存儲(chǔ)節(jié)點(diǎn)代理,以使所述至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理根據(jù)所述關(guān)聯(lián)數(shù) 據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的 數(shù)據(jù),采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式恢復(fù)所述第一存 儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)的技術(shù)手段,有效解決了當(dāng)前并行文件系統(tǒng) 中的數(shù)據(jù)恢復(fù)問題,降低了并行文件系統(tǒng)的運(yùn)行風(fēng)險(xiǎn)。
某些實(shí)施方式中,本發(fā)明實(shí)施例的數(shù)據(jù)恢復(fù)裝置還包括確定模塊603,用 于所述發(fā)送模塊發(fā)送關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代 理前,根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,采用恢復(fù)策略確定所述至少一個(gè)執(zhí)行恢
復(fù)的存儲(chǔ)節(jié)點(diǎn)代理;或,以預(yù)先設(shè)置的存儲(chǔ)節(jié)點(diǎn)作為所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù) 對(duì)象恢復(fù)的目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
某些實(shí)施方式中,本發(fā)明實(shí)施例的數(shù)據(jù)恢復(fù)裝置還包括監(jiān)控模塊604,用 于獲得所述存儲(chǔ)節(jié)點(diǎn)代理的恢復(fù)任務(wù)進(jìn)展,監(jiān)控恢復(fù)進(jìn)程。
某些實(shí)施方式中,本發(fā)明實(shí)施例的數(shù)據(jù)恢復(fù)裝置還包括拆分模塊605,用 于拆分所述第一存儲(chǔ)節(jié)點(diǎn)的對(duì)象表,以形成多個(gè)子表。
下面結(jié)合本發(fā)明實(shí)施例三提供的數(shù)據(jù)恢復(fù)方法,對(duì)本發(fā)明實(shí)施例提供的數(shù) 據(jù)恢復(fù)裝置進(jìn)行說明
Monitor發(fā)現(xiàn)某個(gè)OSN的數(shù)據(jù)無法讀取后,發(fā)送一個(gè)恢復(fù)此OSN上數(shù)據(jù) 對(duì)象的指令給本發(fā)明實(shí)施例六提供的數(shù)據(jù)恢復(fù)裝置,在本實(shí)施例中具體指 OTD。為說明方便,以下假設(shè)待恢復(fù)的OSN為0SN1。在某些實(shí)施方式中, 上述過程也可以由管理員完成,即管理員發(fā)現(xiàn)無法讀取數(shù)據(jù)的0SN1,然后手 工從控制臺(tái)發(fā)出恢復(fù)指令;在另外一些實(shí)施方式中,也可以由Monitor和管理 員共同完成上述過程。下面以Monitor進(jìn)行自動(dòng)控制為例加以說明。
所述OSNl的數(shù)據(jù)無法讀取的原因可能有多種,包括OSNl上的硬盤發(fā)生 故障,OSN1本身宕機(jī),或者連接OSN1的網(wǎng)絡(luò)中斷等各種造成客戶不能從 OSN1上讀取數(shù)據(jù)的原因,此時(shí)OSNl上所有的數(shù)據(jù)對(duì)象均無法讀取。某些實(shí)施方式中,也可能是由于部分?jǐn)?shù)據(jù)對(duì)象丟失,損壞等而導(dǎo)致的0SN1上部分?jǐn)?shù) 據(jù)對(duì)象無法讀取,即0SN1中一個(gè)或多個(gè)數(shù)據(jù)對(duì)象無法讀取,此時(shí)在進(jìn)行恢復(fù) 操作時(shí),0SN1的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息即OSN1中一個(gè)或多個(gè)數(shù)據(jù) 對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息。本發(fā)明實(shí)施例中,以O(shè)SN1的數(shù)據(jù)對(duì)象整體不可 讀為例進(jìn)行說明,0SN1上部分?jǐn)?shù)據(jù)對(duì)象無法讀取的情況原理是相同的,可以 參照?qǐng)?zhí)行。
當(dāng)Monitor發(fā)現(xiàn)OSN1的數(shù)據(jù)無法讀取后,可以即時(shí)發(fā)送一個(gè)恢復(fù)OSN1 的指令給OTD,也可以等待所述OSNl自身恢復(fù),當(dāng)一段時(shí)間內(nèi)所述OSNl 無法完成自身恢復(fù)時(shí),再向OTD發(fā)送恢復(fù)指令。
某些實(shí)施方式中,Monitor在發(fā)送恢復(fù)指令的同時(shí)可以給出作為目標(biāo)存儲(chǔ) 節(jié)點(diǎn)的可用OSN的范圍,由確定^^莫塊603在可用OSN范圍內(nèi)選擇進(jìn)行數(shù)據(jù)恢 復(fù)的OSN??捎肙SN可以是Monitor根據(jù)系統(tǒng)當(dāng)前運(yùn)行狀況選擇的OSN。某 些實(shí)施方式中,可用OSN的范圍也可以由確定模塊603進(jìn)行確認(rèn)。在另夕l、一 些實(shí)施方式中,可以在系統(tǒng)中預(yù)先配置專門用來作為目標(biāo)存儲(chǔ)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)恢 復(fù)的OSN,系統(tǒng)將其缺省默認(rèn)為可用OSN。某些實(shí)施方式中上述過程中 Monitor的功能也可由OTD自身完成。
第二獲取模塊601從OLL獲取OSN1的對(duì)象表。所述對(duì)象表包括待恢復(fù) 的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,包括所述數(shù)據(jù)對(duì)象的關(guān)聯(lián) 數(shù)據(jù)對(duì)象的信息和所述數(shù)據(jù)對(duì)象與所述關(guān)聯(lián)數(shù)據(jù)對(duì)象中的各數(shù)據(jù)關(guān)聯(lián)數(shù)據(jù)對(duì) 象的信息。
發(fā)送模塊602把所述對(duì)象表分發(fā)到至少一個(gè)OSN上,以使OSN上的Agent 從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)讀取所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),根據(jù)所述 關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)恢復(fù)所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
本發(fā)明實(shí)施例中,發(fā)送模塊602分析OSN1的對(duì)象表中存放數(shù)據(jù)對(duì)象的關(guān) 聯(lián)數(shù)據(jù)對(duì)象的信息,為保證數(shù)據(jù)安全,可以將對(duì)象表發(fā)送給沒有存儲(chǔ)OSN1 上數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的OSN,假設(shè)為OSN2,由OSN2上的Agent從其他存^L關(guān)4關(guān)^t據(jù)對(duì)象的OSN上恢復(fù)出0SN1的數(shù)據(jù)對(duì)象到OSN2。某些實(shí)施 方式中,OTD也可將所述對(duì)象表發(fā)給任意OSN,由該OSN上的Agent從存放 關(guān)聯(lián)數(shù)據(jù)對(duì)象的OSN上恢復(fù)出OSN1的數(shù)據(jù)對(duì)象到OSN2。某些實(shí)施方式中, 選擇Agent的策略也可以為Agent的當(dāng)前狀態(tài),如運(yùn)行能力,閑忙狀態(tài)等或 Agent所在OSN的當(dāng)前狀態(tài),如負(fù)載、容量、所在節(jié)點(diǎn)等。某些實(shí)施方式中, 也可以不做選擇,默認(rèn)為采用系統(tǒng)中預(yù)先配置專門用來作為目標(biāo)存儲(chǔ)節(jié)點(diǎn)進(jìn)行 數(shù)據(jù)恢復(fù)的OSN的Agent??傊瓵gent的選4奪方式有多種,均在本發(fā)明實(shí)施 例的保護(hù)范圍之內(nèi)。
某些實(shí)施方式中,可以根據(jù)所述對(duì)象表的內(nèi)容,由拆分模塊605把所述對(duì) 象表分解為幾個(gè)子表,每個(gè)子表中包括OSN1的一部分?jǐn)?shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì) 象的信息。所有子表互不重復(fù),合起來為原來的對(duì)象表。將每個(gè)子表分發(fā)到一 個(gè)對(duì)應(yīng)的OSN,從而由多個(gè)Agent執(zhí)行恢復(fù)任務(wù),從而進(jìn)一步提高數(shù)據(jù)對(duì)象 的恢復(fù)效率,減少對(duì)系統(tǒng)運(yùn)行的影響。拆分模塊605拆分表時(shí),需要按照一定 的策略,如當(dāng)需要接收子表的OSN作為數(shù)據(jù)對(duì)象恢復(fù)的目標(biāo)OSN,則要考慮 該OSN的數(shù)據(jù)容量、所在節(jié)點(diǎn),及所在機(jī)拒等??傊瓌t是系統(tǒng)中各OSN的 負(fù)載均衡和系統(tǒng)的數(shù)據(jù)安全,避免把存有關(guān)聯(lián)數(shù)據(jù)對(duì)象的節(jié)點(diǎn)作為恢復(fù)節(jié)點(diǎn), 避免選擇的多個(gè)恢復(fù)節(jié)點(diǎn)處于同 一個(gè)機(jī)拒中。
某些實(shí)施方式中,本發(fā)明實(shí)施例的數(shù)據(jù)恢復(fù)裝置還包括監(jiān)控模塊604,用 于獲得所述存儲(chǔ)節(jié)點(diǎn)代理的恢復(fù)任務(wù)進(jìn)展,監(jiān)控恢復(fù)進(jìn)程。
在恢復(fù)進(jìn)程中,監(jiān)控模塊604可以接收Agent實(shí)時(shí)上報(bào)執(zhí)行任務(wù)的情況, 對(duì)恢復(fù)進(jìn)程進(jìn)行監(jiān)控。某些實(shí)施方式中,也可由監(jiān)控模塊604主動(dòng)獲取Agent 的恢復(fù)進(jìn)程以進(jìn)行監(jiān)控。所述監(jiān)控可以包括統(tǒng)計(jì)對(duì)象恢復(fù)進(jìn)度,以使Monitor 或管理員對(duì)系統(tǒng)運(yùn)行進(jìn)行管理,比如當(dāng)恢復(fù)進(jìn)行過程中,所述被恢復(fù)OSN恢 復(fù)正常,此時(shí)可以根據(jù)恢復(fù)進(jìn)度決定是否需要繼續(xù)進(jìn)行恢復(fù)進(jìn)程,以避免系統(tǒng) 中存在不必要的數(shù)據(jù)冗余。比如在恢復(fù)進(jìn)行到30%時(shí),可以終止恢復(fù)進(jìn)程; 在恢復(fù)到80%時(shí),則繼續(xù)恢復(fù),同時(shí)將待恢復(fù)OSN數(shù)據(jù)清空。所述監(jiān)控還可以包括處理恢復(fù)故障,比如某個(gè)Agent恢復(fù)lt據(jù)對(duì)象失敗, 無法完成恢復(fù)任務(wù),此時(shí)可以及時(shí)重新指派其他Agent。
某些實(shí)施方式中,發(fā)送模塊602還可用于把恢復(fù)的結(jié)果上報(bào)給Monitor, Monitor可以根據(jù)恢復(fù)任務(wù)完成情況,決定是否重新啟動(dòng)失敗的任務(wù),從而進(jìn) 一步保證數(shù)據(jù)恢復(fù)過程的完善。
對(duì)于本發(fā)明實(shí)施例五的數(shù)據(jù)恢復(fù)裝置,在本實(shí)施例中具體指Agent,其進(jìn) 行數(shù)據(jù)對(duì)象恢復(fù)的過程如下
第一獲取模塊501接收OTD發(fā)送的待恢復(fù)的OSN1的對(duì)象表,第一讀取 模塊502根據(jù)對(duì)象表從關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)讀取所述關(guān)聯(lián)數(shù)據(jù)對(duì)象 的數(shù)據(jù),恢復(fù)模塊503根據(jù)第一讀取模塊502讀取的所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù) 按RAID模式恢復(fù)出所述對(duì)象表中的數(shù)據(jù)對(duì)象。
根據(jù)OTD選4奪的接收對(duì)象表的OSN的不同,執(zhí)行的操作相應(yīng)不同,可以 是第一讀取模塊502從其他存放關(guān)聯(lián)數(shù)據(jù)對(duì)象的OSN上讀取關(guān)聯(lián)數(shù)據(jù)對(duì)象, 恢復(fù)模塊503按RAID模式恢復(fù)數(shù)據(jù)對(duì)象到其所在的OSN上;也可以是第一
RAID模式恢復(fù)出數(shù)據(jù)對(duì)象到其他的OSN上;也可以是第一讀取模塊502從 其他存放關(guān)聯(lián)數(shù)據(jù)對(duì)象的OSN上讀取關(guān)聯(lián)數(shù)據(jù)對(duì)象,恢復(fù)模塊503按RAID 模式恢復(fù)數(shù)據(jù)對(duì)象到另外的OSN上。數(shù)據(jù)恢復(fù)過程中,才艮據(jù)RAID模式的不 同,恢復(fù)方法相應(yīng)不同,如按RAID1模式存放的數(shù)據(jù)對(duì)象,采用直接復(fù)制的 方法即可恢復(fù);按RAID5模式存放的數(shù)據(jù)對(duì)象,則需采用異或運(yùn)算計(jì)算出待 恢復(fù)的數(shù)據(jù)對(duì)象。
某些實(shí)施方式中,如果在對(duì)象表被拆分為子表,則存在多個(gè)Agent執(zhí)行恢 復(fù)操作,每個(gè)Agent恢復(fù)相應(yīng)的子表中的數(shù)據(jù)對(duì)象。
在恢復(fù)過程中,可以合理控制數(shù)據(jù)復(fù)制的步長(zhǎng),從而減少對(duì)于當(dāng)前正常業(yè) 務(wù)的影響。
某些實(shí)施方式中,恢復(fù)模塊503完成恢復(fù)任務(wù)后,上報(bào)模塊504把恢復(fù)的結(jié)果上報(bào)給MDS,在MDS上更新文件的條帶分布信息,這樣新的訪問就可以 進(jìn)行了。
某些實(shí)施方式中,也可以MDS主動(dòng)向上報(bào)才莫塊504獲取恢復(fù)結(jié)果。在 MDS上更新文件的條帶分布后,CA4艮據(jù)MDS訪問OSN時(shí)就可以直接讀取 數(shù)據(jù),不需要CA通過軟件RAID的方式讀取數(shù)據(jù),從而使CA感覺不到系統(tǒng) 中OSN發(fā)生的變化。在某些實(shí)施方式中,如果在OSN恢復(fù)過程中,CA進(jìn)行 訪問,此時(shí)由于MDS還未進(jìn)行更新,要由CA通過軟件RAID的方式讀取數(shù) 據(jù)。
MDS上元數(shù)據(jù)中條帶分布信息有變化,就會(huì)同步到OLL中,目的是保證 當(dāng)有新的OSN需要恢復(fù)時(shí),OTD可以從OLL獲取最新的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù) 據(jù)對(duì)象的信息。
某些實(shí)施方式中,在恢復(fù)進(jìn)程中,上報(bào)#莫塊504實(shí)時(shí)上沖艮執(zhí)行任務(wù)的情況, 由OTD對(duì)恢復(fù)進(jìn)程進(jìn)行監(jiān)控。
同理,本發(fā)明實(shí)施例提供的數(shù)據(jù)恢復(fù)裝置也可結(jié)合本發(fā)明實(shí)施例四,實(shí)現(xiàn) 本發(fā)明實(shí)施例四的數(shù)據(jù)恢復(fù)方法。
本發(fā)明實(shí)施例提供的裝置,用于實(shí)現(xiàn)獲得待恢復(fù)的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì) 象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,發(fā)送所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢復(fù) 的存儲(chǔ)節(jié)點(diǎn)代理,以使所述至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理根據(jù)所述關(guān)聯(lián)數(shù) 據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的 數(shù)據(jù),采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式恢復(fù)所述第一存 儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)的技術(shù)手段,有效解決了當(dāng)前并行文件系統(tǒng) 中的數(shù)據(jù)恢復(fù)問題,降低了并行文件系統(tǒng)的運(yùn)行風(fēng)險(xiǎn)。
本發(fā)明實(shí)施例七的數(shù)據(jù)更新方法,如圖13所示,包括
5701 、獲得待更新的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息;
5702 、根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn) 獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);S703、采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式得到所述第
一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),更新出所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存 儲(chǔ)節(jié)點(diǎn)。
本發(fā)明實(shí)施例的數(shù)據(jù)更新方法,通過獲得待更新的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì) 象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象 所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù) 按照數(shù)據(jù)文件的存儲(chǔ)模式得到所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),更新出所 述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)的技術(shù)手段,有效解決了當(dāng)前并行 文件系統(tǒng)中的數(shù)據(jù)恢復(fù)問題,降低了并行文件系統(tǒng)的運(yùn)行風(fēng)險(xiǎn),同時(shí)在數(shù)據(jù)的 遷移和備^f分過程中,減少對(duì)當(dāng)前業(yè)務(wù)的影響。
本發(fā)明實(shí)施例中,所述更新包括恢復(fù)第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象、遷移第一 存儲(chǔ)節(jié)點(diǎn)上的數(shù)據(jù)對(duì)象和對(duì)第一存儲(chǔ)節(jié)點(diǎn)上的數(shù)據(jù)對(duì)象增加備份等。其中,恢 復(fù)第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象在前面已有說明。
為說明方便,以下假設(shè)需要遷移或增加備份數(shù)據(jù)對(duì)象為objl,其存放于 0SN1。數(shù)據(jù)對(duì)象需要遷移可以包括0SN1上有多個(gè)數(shù)據(jù)對(duì)象同時(shí)被訪問,為 分擔(dān)0SN1負(fù)載,可以把其中的一部分?jǐn)?shù)據(jù)對(duì)象遷移到其他的OSN,如objl。 0SN1上的數(shù)據(jù)對(duì)象需要增加備份可以包括有多個(gè)客戶同時(shí)訪問某一數(shù)據(jù)對(duì) 象objl,可以將objl備份到其他OSN,即通過增加objl的方式以分擔(dān)訪問負(fù) 載。某些實(shí)施方式中,需要遷移或備份的對(duì)象可以為多個(gè)。
本發(fā)明實(shí)施例中,關(guān)于數(shù)據(jù)恢復(fù)的方法流程可以適用于對(duì)數(shù)據(jù)對(duì)象的遷移 或備份。下面給出本發(fā)明實(shí)施例八的數(shù)據(jù)遷移或備份方法,包括
5801、 Monitor發(fā)現(xiàn)OSNl上有包括objl的多個(gè)數(shù)據(jù)對(duì)象需要遷移或增加 備份后,發(fā)送一個(gè)任務(wù)指令給OTD。
5802、 OTD從OLL獲取所述包括objl的多個(gè)數(shù)據(jù)對(duì)象的對(duì)象表,即關(guān)聯(lián) 數(shù)據(jù)對(duì)象的信息。
5803、 OTD把所述對(duì)象表分發(fā)到至少一個(gè)OSN上。5804、 接收到對(duì)象表的OSN上的Agent才艮據(jù)對(duì)象表,從所述關(guān)聯(lián)數(shù)據(jù)對(duì) 象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),按RAID模式獲得所述包括 objl的多個(gè)數(shù)據(jù)對(duì)象。
5805、 Agent完成任務(wù)后,把遷移或備份的結(jié)果上報(bào)給MDS,在MDS上 更新文件的條帶分布信息,這樣新的訪問就可以進(jìn)行了 。
5806、 MDS上元數(shù)據(jù)中條帶分布信息有變化,就會(huì)同步到OLL中,目的 是保證當(dāng)有新的OSN需要遷移或備份時(shí),OTD可以從OLL獲取最新的數(shù)據(jù) 對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息。
5807、 在遷移或備份進(jìn)程中,Agent實(shí)時(shí)上報(bào)執(zhí)行任務(wù)的情況,由OTD 對(duì)遷移或備份進(jìn)程進(jìn)行監(jiān)控。
5808、 OTD把遷移或備份的結(jié)果上報(bào)給Monitor, Monitor可以根據(jù)遷移 或備份任務(wù)完成情況,決定是否重新啟動(dòng)失敗的任務(wù),從而進(jìn)一步保證數(shù)據(jù)遷 移或備份過程的完善。
5809、 進(jìn)一步的,在數(shù)據(jù)對(duì)象遷移后,刪除OSNl的被遷移的數(shù)據(jù)對(duì)象 上述實(shí)施例只是數(shù)據(jù)遷移或備份的一個(gè)簡(jiǎn)單實(shí)施例,由于數(shù)據(jù)遷移或備份
的流程與數(shù)據(jù)恢復(fù)原理相同,具體細(xì)節(jié)請(qǐng)參照上述關(guān)于數(shù)據(jù)恢復(fù)的詳細(xì)實(shí)施 例。
本發(fā)明實(shí)施例,通過獲得待遷移或備份的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián) 數(shù)據(jù)對(duì)象的信息,根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存 儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù) 文件的存儲(chǔ)模式得到所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),遷移或備份出所述 第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的技術(shù)手段,由于完全不對(duì)需要遷移或備份的數(shù)據(jù)對(duì) 象本身進(jìn)行操作,避免了在數(shù)據(jù)遷移或備份過程中影響對(duì)待遷移或備份數(shù)據(jù)對(duì) 象的訪問,尤其在熱點(diǎn)數(shù)據(jù)的遷移或備份過程中上述效果更加明顯。
相應(yīng)于上述方法實(shí)施例,本發(fā)明實(shí)施例九提供一種數(shù)據(jù)更新裝置,如圖 14所示,包括第三獲取模塊901,用于獲得待更新的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)
據(jù)對(duì)象的信息;
第二讀取模塊902,用于根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì) 象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);
更新模塊903,用于采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模 式得到所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),更新出所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù) 對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供的數(shù)據(jù)更新裝置與數(shù)據(jù)更新方法的結(jié)合,可參照本說明 書中關(guān)于數(shù)據(jù)恢復(fù)裝置部分的說明執(zhí)行。
本發(fā)明實(shí)施例提供的裝置,通過獲得待更新的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的 關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在 的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照 數(shù)據(jù)文件的存儲(chǔ)模式得到所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),更新出所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)的技術(shù)手段,有效解決了當(dāng)前并行文件 系統(tǒng)中的數(shù)據(jù)恢復(fù)問題,降低了并行文件系統(tǒng)的運(yùn)行風(fēng)險(xiǎn),同時(shí)在數(shù)據(jù)的遷移 和備份過程中,減少對(duì)當(dāng)前業(yè)務(wù)的影響。
可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī) 可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。 其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(RandomAccess Memory, RAM)等。
以上所述僅為本發(fā)明的幾個(gè)實(shí)施例,本領(lǐng)域的技術(shù)人員依據(jù)申請(qǐng)文件公開 的可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)或變型而不脫離本發(fā)明的精神和范圍。
權(quán)利要求
1、一種數(shù)據(jù)恢復(fù)方法,其特征在于,所述方法包括獲得待恢復(fù)的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息;根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式得到所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),恢復(fù)出所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
2、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)恢復(fù)方法,其特征在于 所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息包括所述第一存儲(chǔ)節(jié)點(diǎn)中一個(gè)或多個(gè)數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息。
3、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)恢復(fù)方法,其特征在于 所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息以對(duì)象表形式存放,所述對(duì)象表為一個(gè)或多個(gè),所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象存放在至少 一個(gè)對(duì)象表中。
4、 根據(jù)權(quán)利要求3所述的數(shù)據(jù)恢復(fù)方法,其特征在于,所述獲得待恢 復(fù)的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息包括獲得所述第一存儲(chǔ)節(jié)點(diǎn)的對(duì)象表;或,獲得任務(wù)分發(fā)器拆分所述第 一存儲(chǔ)節(jié)點(diǎn)的對(duì)象表后形成的子表。
5、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)恢復(fù)方法,其特征在于 所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)根據(jù)策略確定或預(yù)先設(shè)置。
6、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)恢復(fù)方法,其特征在于所述數(shù)據(jù)文件的存儲(chǔ)模式為存放在各數(shù)據(jù)對(duì)象中的數(shù)據(jù)文件的數(shù)據(jù)之間 的關(guān)聯(lián)模式,包括RAID模式。
7、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)恢復(fù)方法,其特征在于,所述方法還包括上報(bào)恢復(fù)任務(wù)進(jìn)展以監(jiān)控恢復(fù)進(jìn)程。
8、 根據(jù)權(quán)利要求1至7任一項(xiàng)所述的數(shù)據(jù)恢復(fù)方法,其特征在于,所 述方法還包括上報(bào)恢復(fù)結(jié)果,以更新文件的條帶信息。
9、 一種數(shù)據(jù)恢復(fù)方法,其特征在于,所述方法包括 獲得待恢復(fù)的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息; 發(fā)送所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理,以使所述至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述 關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式恢復(fù)所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到 至少一個(gè)目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
10、 根據(jù)權(quán)利要求9所述的數(shù)據(jù)恢復(fù)方法,其特征在于 所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息包括所述第一存儲(chǔ)節(jié)點(diǎn)中 一個(gè)或多個(gè)數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息。
11 、 根據(jù)權(quán)利要求9所述的數(shù)據(jù)恢復(fù)方法,其特征在于 所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息以對(duì)象表形式存放,所述對(duì)象表為一個(gè)或多個(gè),所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象存放在至少 一個(gè)對(duì)象表中。
12、 根據(jù)權(quán)利要求11所述的數(shù)據(jù)恢復(fù)方法,其特征在于,所述發(fā)送所述 關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少 一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理包括發(fā)送所述第 一存儲(chǔ)節(jié)點(diǎn)的對(duì)象表到至少 一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理; 或,發(fā)送拆分所述第一存儲(chǔ)節(jié)點(diǎn)的對(duì)象表后形成的子表到至少一個(gè)執(zhí)行恢復(fù)的 存儲(chǔ)節(jié)點(diǎn)代理。
13、 根據(jù)權(quán)利要求9所述的數(shù)據(jù)恢復(fù)方法,其特征在于,所述發(fā)送所述 關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理前,所述方法還包 括根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,采用恢復(fù)策略確定所述至少一個(gè)執(zhí)行恢復(fù) 的存儲(chǔ)節(jié)點(diǎn)代理;或,預(yù)先設(shè)置至少一個(gè)目標(biāo)存儲(chǔ)節(jié)點(diǎn)代理作為所述至少一個(gè)執(zhí)行恢復(fù)的的存 儲(chǔ)節(jié)點(diǎn)代理。
14、 根據(jù)權(quán)利要求9所述的數(shù)據(jù)恢復(fù)方法,其特征在于 所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)根據(jù)策略確定或預(yù)先設(shè)置。
15、 根據(jù)權(quán)利要求9所述的數(shù)據(jù)恢復(fù)方法,其特征在于,所述方法還包括獲得所述存儲(chǔ)節(jié)點(diǎn)代理的恢復(fù)任務(wù)進(jìn)展,以監(jiān)控恢復(fù)進(jìn)程。
16、 根據(jù)權(quán)利要求9至15任一項(xiàng)所述的數(shù)據(jù)恢復(fù)方法,其特征在于,所 述獲得待恢復(fù)的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息前還包括接收恢復(fù)指令,獲知待恢復(fù)的第 一存儲(chǔ)節(jié)點(diǎn)信息。
17、 一種數(shù)據(jù)恢復(fù)裝置,其特征在于,所述裝置包括 第一獲取模塊,用于獲得待恢復(fù)的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息;第一讀取模塊,用于根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所 在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);恢復(fù)模塊,用于采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式得 到所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),恢復(fù)出所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象 到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
18、 根據(jù)權(quán)利要求17所述的數(shù)據(jù)恢復(fù)裝置,其特征在于所述數(shù)據(jù)文件的存儲(chǔ)模式為存放在各數(shù)據(jù)對(duì)象中的數(shù)據(jù)文件的數(shù)據(jù)之間 的關(guān)聯(lián)模式,包括RAID模式。
19、 根據(jù)權(quán)利要求17所述的數(shù)據(jù)恢復(fù)裝置,其特征在于 所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息包括所述第 一存儲(chǔ)節(jié)點(diǎn)中 一個(gè)或多個(gè)數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息;所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息以對(duì)象表形式存放,所述對(duì) 象表為一個(gè)或多個(gè),所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象存放在至少 一個(gè)對(duì)象表中。
20、 根據(jù)權(quán)利要求19所述的數(shù)據(jù)恢復(fù)裝置,其特征在于,所述獲得待恢 復(fù)的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息包括所述第一獲耳又才莫塊獲得所述第一存儲(chǔ)節(jié)點(diǎn)的對(duì)象表;或, 所述第 一獲取模塊獲得任務(wù)分發(fā)器拆分所述第 一存儲(chǔ)節(jié)點(diǎn)的對(duì)象表后形 成的子表。
21、 根據(jù)權(quán)利要求17至20任一項(xiàng)所述的數(shù)據(jù)恢復(fù)裝置,其特征在于, 所述裝置還包括上報(bào)模塊,用于上報(bào)恢復(fù)任務(wù)進(jìn)展以監(jiān)控恢復(fù)進(jìn)程。
22、 根據(jù)權(quán)利要求21所述的數(shù)據(jù)恢復(fù)裝置,其特征在于 所述上報(bào)模塊還用于上報(bào)恢復(fù)結(jié)果,以更新文件的條帶信息。
23、 一種數(shù)據(jù)恢復(fù)裝置,其特征在于,所述裝置包括 第二獲取模塊,用于獲得待恢復(fù)的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息;發(fā)送模塊,用于發(fā)送所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ) 節(jié)點(diǎn)代理,以使所述至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象 的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù),采 用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式恢復(fù)所述第一存儲(chǔ)節(jié)點(diǎn) 的數(shù)據(jù)對(duì)象到至少一個(gè)目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
24、 根據(jù)權(quán)利要求23所述的數(shù)據(jù)恢復(fù)裝置,其特征在于 所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息包括所述第 一存儲(chǔ)節(jié)點(diǎn)中 一個(gè)或多個(gè)數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息;所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息以對(duì)象表形式存放,所述對(duì) 象表為 一個(gè)或多個(gè),所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象存放在至少 一個(gè)對(duì)象表中。
25、 根據(jù)權(quán)利要求24所述的數(shù)據(jù)恢復(fù)裝置,其特征在于,所述裝置還包括拆分模塊,用于拆分所述第一存儲(chǔ)節(jié)點(diǎn)的對(duì)象表,以形成多個(gè)子表。
26、 根據(jù)權(quán)利要求25所述的數(shù)據(jù)恢復(fù)裝置,其特征在于,所述發(fā)送所述 關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理包括所述發(fā)送模塊發(fā)送所述第 一存儲(chǔ)節(jié)點(diǎn)的對(duì)象表到至少 一個(gè)執(zhí)行恢復(fù)的存 儲(chǔ)節(jié)點(diǎn)代理;或,發(fā)送拆分所述第一存儲(chǔ)節(jié)點(diǎn)的對(duì)象表后形成的子表到至少一 個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理。
27、 根據(jù)權(quán)利要求23所述的數(shù)據(jù)恢復(fù)裝置,其特征在于,所述裝置還包括確定模塊,用于所述發(fā)送模塊發(fā)送關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息到至少一個(gè)執(zhí)行恢 復(fù)的存儲(chǔ)節(jié)點(diǎn)代理前,根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息,采用恢復(fù)策略確定所述 至少一個(gè)執(zhí)行恢復(fù)的存儲(chǔ)節(jié)點(diǎn)代理;或,以預(yù)先設(shè)置的存儲(chǔ)節(jié)點(diǎn)作為所述第一 存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象恢復(fù)的目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
28、 根據(jù)權(quán)利要求23至27任一項(xiàng)所述的數(shù)據(jù)恢復(fù)裝置,其特征在于, 所述裝置還包括監(jiān)控模塊,用于獲得所述存儲(chǔ)節(jié)點(diǎn)代理的恢復(fù)任務(wù)進(jìn)展,監(jiān)控恢復(fù)進(jìn)程。
29、 一種數(shù)據(jù)更新方法,其特征在于,所述方法包括 獲得待更新的第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息; 根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式得到所述第一存 儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),更新出所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié) 點(diǎn)。
30、 根據(jù)權(quán)利要求29所述的數(shù)據(jù)更新方法,其特征在于,所述更新包括 恢復(fù)、遷移和備份。
31、 根據(jù)權(quán)利要求30所述的數(shù)據(jù)更新方法,其特征在于所述更新為遷移時(shí),所述方法還包括刪除所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象。
32、 根據(jù)權(quán)利要求29至31任一項(xiàng)所述的數(shù)據(jù)更新方法,其特征在于所述數(shù)據(jù)文件的存儲(chǔ)模式為存放在各數(shù)據(jù)對(duì)象中的數(shù)據(jù)文件的數(shù)據(jù)之間的關(guān)聯(lián)模式,包括RAID模式。
33、 一種數(shù)據(jù)更新裝置,其特征在于,所述裝置包括第三獲取模塊,用于獲得待更新的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息;第二讀取模塊,用于根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所 在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);更新模塊,用于采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式得 到所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),更新出所述第 一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象 到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。
全文摘要
本發(fā)明實(shí)施例公開了一種數(shù)據(jù)更新方法和裝置,其中數(shù)據(jù)更新方法包括獲得待更新的第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息;根據(jù)所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的信息從所述關(guān)聯(lián)數(shù)據(jù)對(duì)象所在的存儲(chǔ)節(jié)點(diǎn)獲得所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù);采用所述關(guān)聯(lián)數(shù)據(jù)對(duì)象的數(shù)據(jù)按照數(shù)據(jù)文件的存儲(chǔ)模式得到所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象的數(shù)據(jù),更新出所述第一存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)對(duì)象到目標(biāo)存儲(chǔ)節(jié)點(diǎn)。本發(fā)明實(shí)施例提供的技術(shù)方案有效解決了當(dāng)前并行文件系統(tǒng)中的數(shù)據(jù)恢復(fù)問題,降低了并行文件系統(tǒng)的運(yùn)行風(fēng)險(xiǎn),同時(shí)在數(shù)據(jù)的遷移和備份過程中,減少對(duì)當(dāng)前業(yè)務(wù)的影響。
文檔編號(hào)G06F11/14GK101515296SQ200910105888
公開日2009年8月26日 申請(qǐng)日期2009年3月6日 優(yōu)先權(quán)日2009年3月6日
發(fā)明者濤 徐 申請(qǐng)人:成都市華為賽門鐵克科技有限公司