欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種元數(shù)據(jù)恢復(fù)方法及相關(guān)裝置制造方法

文檔序號(hào):7812652閱讀:358來(lái)源:國(guó)知局
一種元數(shù)據(jù)恢復(fù)方法及相關(guān)裝置制造方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例公開(kāi)了一種元數(shù)據(jù)恢復(fù)方法及相關(guān)裝置,該方法可包括:接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)數(shù)據(jù)節(jié)點(diǎn)上;從元數(shù)據(jù)節(jié)點(diǎn)獲取所述目標(biāo)文件的元數(shù)據(jù),所述目標(biāo)文件的元數(shù)據(jù)包含所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)的信息;根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息;向所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)中的至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述元數(shù)據(jù)恢復(fù)信息,所述元數(shù)據(jù)恢復(fù)信息用于被所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行保存,并在所述元數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)異常后被發(fā)送到所述元數(shù)據(jù)節(jié)點(diǎn)進(jìn)行所述元數(shù)據(jù)的恢復(fù)。本發(fā)明實(shí)施例可以恢復(fù)NN異常時(shí)的元數(shù)據(jù)。
【專(zhuān)利說(shuō)明】一種元數(shù)據(jù)恢復(fù)方法及相關(guān)裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種元數(shù)據(jù)恢復(fù)方法及相關(guān)裝置。

【背景技術(shù)】
[0002]Hadoop是目前通信領(lǐng)域中應(yīng)用十分廣泛的分布式系統(tǒng)架構(gòu),在Hadoop中包含一個(gè)非常重要的存儲(chǔ)組件,即Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System,簡(jiǎn)稱(chēng)HDFS)。其中,HDFS包括元數(shù)據(jù)節(jié)點(diǎn)(NameNode,簡(jiǎn)稱(chēng)NN)和數(shù)據(jù)節(jié)點(diǎn)(DataNode,簡(jiǎn)稱(chēng)DN),NN主要用來(lái)提供文件的元數(shù)據(jù)服務(wù),該服務(wù)中NN在內(nèi)存會(huì)生成該文件的元數(shù)據(jù),元數(shù)據(jù)可以表示該文件的數(shù)據(jù)結(jié)構(gòu),而DN主要用來(lái)存儲(chǔ)文件的實(shí)際數(shù)據(jù)。在實(shí)際應(yīng)用中當(dāng)NN出現(xiàn)異常時(shí),這樣該NN就會(huì)出現(xiàn)元數(shù)據(jù)丟失的問(wèn)題,以導(dǎo)致該NN失效。
[0003]其中,目前主要通過(guò)如下技術(shù)解決上述問(wèn)題:
[0004]在NN內(nèi)部開(kāi)啟一個(gè)定時(shí)線程,該線程定期將NN內(nèi)存中的元數(shù)據(jù)寫(xiě)到本地磁盤(pán)或者遠(yuǎn)端存儲(chǔ)設(shè)備形成一個(gè)特定文件。當(dāng)NN出現(xiàn)異常后,NN在重新啟動(dòng)過(guò)程中加載該特定文件,以恢復(fù)之前的某一時(shí)段的元數(shù)據(jù),以實(shí)現(xiàn)NN恢復(fù)到這一時(shí)段的內(nèi)存狀態(tài)。
[0005]但上述技術(shù)方案中,由于是定期的存儲(chǔ)NN內(nèi)的元數(shù)據(jù),例如:每隔十分鐘存儲(chǔ)一次元數(shù)據(jù),這樣當(dāng)NN出現(xiàn)異常的時(shí)間點(diǎn)還未到十分鐘一次的存儲(chǔ)時(shí)間點(diǎn)時(shí),那么NN內(nèi)的出現(xiàn)異常時(shí)的元數(shù)據(jù)不會(huì)存儲(chǔ),從而這部分元數(shù)據(jù)就無(wú)法恢復(fù)。可見(jiàn),上述技術(shù)方案中無(wú)法恢復(fù)NN異常時(shí)的元數(shù)據(jù)。


【發(fā)明內(nèi)容】

[0006]本發(fā)明提供了一種元數(shù)據(jù)恢復(fù)方法及相關(guān)裝置,可以恢復(fù)NN異常時(shí)的元數(shù)據(jù)。
[0007]第一方面,本發(fā)明提供一種元數(shù)據(jù)恢復(fù)方法,包括:
[0008]接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)DN上;
[0009]從NN獲取所述目標(biāo)文件的元數(shù)據(jù),所述目標(biāo)文件的元數(shù)據(jù)包含所述多個(gè)DN的信息;
[0010]根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息;
[0011 ] 向所述多個(gè)DN中的至少一個(gè)DN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,所述元數(shù)據(jù)恢復(fù)信息用于被所述至少一個(gè)DN進(jìn)行保存,并在所述NN出現(xiàn)異常后被發(fā)送到所述NN進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
[0012]在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)DN上;
[0013]則,所述從NN獲取所述目標(biāo)文件的元數(shù)據(jù),根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息包括:
[0014]從所述NN獲取所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的DN的信息;
[0015]根據(jù)所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù),生成所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
[0016]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能實(shí)現(xiàn)方式中,所述從所述NN獲取所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包括:
[0017]依次接收所述NN發(fā)送的所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,接收所述NN根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性發(fā)送的所有數(shù)據(jù)塊的元數(shù)據(jù)。
[0018]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式或者第二種可能的實(shí)現(xiàn)方式,在第三種可能實(shí)現(xiàn)方式中,所述接收的元數(shù)據(jù)至少包括第一數(shù)據(jù)塊的元數(shù)據(jù)和第二數(shù)據(jù)塊的元數(shù)據(jù),其中:
[0019]所述生成的所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0020]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0021]所述生成的所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0022]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0023]第三方面,本發(fā)明提供一種元數(shù)據(jù)恢復(fù)方法,包括:
[0024]接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息,并保存所述元數(shù)據(jù)恢復(fù)信息,其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端在接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求時(shí),從NN獲取的所述目標(biāo)文件的元數(shù)據(jù),并根據(jù)所述元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息.;
[0025]在所述NN出現(xiàn)異常后,向所述NN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,元數(shù)據(jù)恢復(fù)信息被所述NN用于進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
[0026]在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息,包括:
[0027]接收所述客戶(hù)端發(fā)送的所述目標(biāo)文件的數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,所述數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息為所述客戶(hù)端根據(jù)該數(shù)據(jù)塊的元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息。
[0028]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述接收所述客戶(hù)端發(fā)送的所述目標(biāo)文件的數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0029]依次接收所述客戶(hù)端點(diǎn)發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息;或者,接收所述客戶(hù)端一次性發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
[0030]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式或者第二種可能的實(shí)現(xiàn)方式中,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述接收的元數(shù)據(jù)恢復(fù)信息至少包括第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息和第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,其中:
[0031]所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0032]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0033]所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0034]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0035]第三方面,本發(fā)明提供一種元數(shù)據(jù)恢復(fù)方法,包括:
[0036]接收客戶(hù)端發(fā)送的對(duì)目標(biāo)文件進(jìn)行寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)DN上;
[0037]生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù),其中,所述元數(shù)據(jù)包含所述多個(gè)DN的信息;
[0038]當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù),其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端根據(jù)所述元數(shù)據(jù)生成的,由所述客戶(hù)端發(fā)送至所述至少一個(gè)DN進(jìn)行保存的元數(shù)據(jù)恢復(fù)信息。
[0039]在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)DN上;
[0040]則所述生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù)包括:
[0041]生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的DN的信息;
[0042]所述接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù),包括:
[0043]接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息恢復(fù)所述目標(biāo)文件的元數(shù)據(jù)。
[0044]結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,所述向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包括:
[0045]依次向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性向所述客戶(hù)端發(fā)送所有數(shù)據(jù)塊的元數(shù)據(jù)。
[0046]結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式或者第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式中,所述多個(gè)數(shù)據(jù)塊至少包括第一數(shù)據(jù)塊和第二數(shù)據(jù)塊,其中:
[0047]所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0048]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0049]所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0050]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0051]第四方面,本發(fā)明提供一種客戶(hù)端,包括:接收單元、獲取單元、生成單元和發(fā)送單元,其中:
[0052]所述接收單元,用于接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)DN上;
[0053]所述獲取單元,用于從NN獲取所述目標(biāo)文件的元數(shù)據(jù),所述目標(biāo)文件的元數(shù)據(jù)包含所述多個(gè)DN的信息;
[0054]所述生成單元,用于根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息;
[0055]所述發(fā)送單元,用于向所述多個(gè)DN中的至少一個(gè)DN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,所述元數(shù)據(jù)恢復(fù)信息用于被所述至少一個(gè)DN進(jìn)行保存,并在所述NN出現(xiàn)異常后被發(fā)送到所述NN進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
[0056]在第四方面的第一種可能的實(shí)現(xiàn)方式中,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)DN上;
[0057]則,所述獲取單元用于從所述NN獲取所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的DN的信息;
[0058]所述生成單元用于根據(jù)所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù),生成所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
[0059]結(jié)合第四方面的第一種可能的實(shí)現(xiàn)方式,在第四方面的第二種可能的實(shí)現(xiàn)方式中,所述獲取單元用于依次接收所述NN發(fā)送的所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,所述獲取單元用于接收所述NN根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性發(fā)送的所有數(shù)據(jù)塊的元數(shù)據(jù)。
[0060]結(jié)合第四方面的第一種可能的實(shí)現(xiàn)方式或者第二種可能的實(shí)現(xiàn)方式,在第四方面的第三種可能的實(shí)現(xiàn)方式中,所述接收的元數(shù)據(jù)至少包括第一數(shù)據(jù)塊的元數(shù)據(jù)和第二數(shù)據(jù)塊的元數(shù)據(jù),其中:
[0061]所述生成的所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0062]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0063]所述生成的所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0064]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0065]第五方面,本發(fā)明提供一種DN,包括:接收單元和發(fā)送單元,其中:
[0066]所述接收單元,用于接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息,并保存所述元數(shù)據(jù)恢復(fù)信息,其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端在接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求時(shí),從NN獲取的所述目標(biāo)文件的元數(shù)據(jù),并根據(jù)所述元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息.;
[0067]所述發(fā)送單元,用于在所述NN出現(xiàn)異常后,向所述NN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,元數(shù)據(jù)恢復(fù)信息被所述NN用于進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
[0068]在第五方面的第一種可能的實(shí)現(xiàn)方式中,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述接收單元用于接收所述客戶(hù)端發(fā)送的所述目標(biāo)文件的數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,所述數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息為所述客戶(hù)端根據(jù)該數(shù)據(jù)塊的元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息。
[0069]結(jié)合第五方面的第一種可能的實(shí)現(xiàn)方式,在第五方面的第二種可能的實(shí)現(xiàn)方式中,所述接收單元用于依次接收所述客戶(hù)端點(diǎn)發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息;或者,所述接收單元用于接收所述客戶(hù)端一次性發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
[0070]結(jié)合第五方面的第一種可能的實(shí)現(xiàn)方式或者第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述接收的元數(shù)據(jù)恢復(fù)信息至少包括第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息和第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,其中:
[0071]所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0072]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0073]所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0074]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0075]第六方面,本發(fā)明提供一種NN,包括:接收單元、生成單元和恢復(fù)單元,其中:
[0076]所述接收單元,用于接收客戶(hù)端發(fā)送的對(duì)目標(biāo)文件進(jìn)行寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)DN上;
[0077]所述生成單元,用于生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù),其中,所述元數(shù)據(jù)包含所述多個(gè)DN的信息;
[0078]所述恢復(fù)單元,用于當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù),其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端根據(jù)所述元數(shù)據(jù)生成的,由所述客戶(hù)端發(fā)送至所述至少一個(gè)DN進(jìn)行保存的元數(shù)據(jù)恢復(fù)信息。
[0079]在第六方面的第一種可能的實(shí)現(xiàn)方式中,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)DN上;
[0080]所述生成單元用于生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的DN的信息;
[0081]所述恢復(fù)單元用于當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息恢復(fù)所述目標(biāo)文件的元數(shù)據(jù)。
[0082]結(jié)合第六方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述生成單元用于生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并依次向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,所述生成單元用于生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性向所述客戶(hù)端發(fā)送所有數(shù)據(jù)塊的元數(shù)據(jù)。
[0083]結(jié)合第六方面的第一種可能的實(shí)現(xiàn)方式或者第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述多個(gè)數(shù)據(jù)塊至少包括第一數(shù)據(jù)塊和第二數(shù)據(jù)塊,其中:
[0084]所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0085]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0086]所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0087]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0088]上述技術(shù)方案中,接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,再?gòu)腘N獲取所述目標(biāo)文件的元數(shù)據(jù),根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息,再向所述多個(gè)DN中的至少一個(gè)DN發(fā)送所述元數(shù)據(jù)恢復(fù)信息。這樣該元數(shù)據(jù)恢復(fù)信息就可以用于被所述至少一個(gè)DN進(jìn)行保存,并在所述NN出現(xiàn)異常后被發(fā)送到所述NN進(jìn)行所述元數(shù)據(jù)的恢復(fù)。從而可以恢復(fù)NN出異常時(shí)的元數(shù)據(jù)。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0089]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0090]圖1是本發(fā)明實(shí)施例提供的一種可選的元數(shù)據(jù)的示意圖;
[0091]圖2是本發(fā)明實(shí)施例提供的一種元數(shù)據(jù)恢復(fù)方法的流程示意圖;
[0092]圖3是本發(fā)明實(shí)施例提供的另一種元數(shù)據(jù)恢復(fù)方法的流程示意圖;
[0093]圖4是本發(fā)明實(shí)施例提供的一種可選的數(shù)據(jù)信息的示意圖;
[0094]圖5是本發(fā)明實(shí)施例提供的另一種元數(shù)據(jù)恢復(fù)方法的流程示意圖;
[0095]圖6是本發(fā)明實(shí)施例提供的另一種元數(shù)據(jù)恢復(fù)方法的流程示意圖;
[0096]圖7是本發(fā)明實(shí)施例提供的另一種元數(shù)據(jù)恢復(fù)方法的流程示意圖;
[0097]圖8是本發(fā)明實(shí)施例提供的一種客戶(hù)端的結(jié)構(gòu)示意圖;
[0098]圖9是本發(fā)明實(shí)施例提供的一種DN的結(jié)構(gòu)示意圖;
[0099]圖10是本發(fā)明實(shí)施例提供的一種NN的結(jié)構(gòu)示意圖;
[0100]圖11是本發(fā)明實(shí)施例提供的另一種元數(shù)據(jù)恢復(fù)設(shè)備的結(jié)構(gòu)示意圖;
[0101]圖12是本發(fā)明實(shí)施例提供的一種DN設(shè)備的結(jié)構(gòu)示意圖;
[0102]圖13是本發(fā)明實(shí)施例提供的一種NN設(shè)備的結(jié)構(gòu)示意圖。

【具體實(shí)施方式】
[0103]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0104]本發(fā)明實(shí)施例中,元數(shù)據(jù)可以是用于表示文件數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù),其中,文件的元數(shù)據(jù)具體可以表示該文件所在的HDFS系統(tǒng)的版本信息和該文件的屬性信息,例如:文件的元數(shù)據(jù)包括的HDFS系統(tǒng)的版本信息可以包括如下一項(xiàng)或者多項(xiàng):
[0105]HDFS系統(tǒng)的版本信息(例如:imgVers1n)、名稱(chēng)空間標(biāo)識(shí)(例如:namespaceID)、HDFS系統(tǒng)的文件個(gè)數(shù)(例如:numFiles)和HDFS系統(tǒng)的時(shí)間戳(例如:genStamp);
[0106]文件的元數(shù)據(jù)包括的該文件的屬性信息可以包括如下一項(xiàng)或者多項(xiàng):
[0107]文件的路徑(例如:Path)、文件的副本數(shù)(例如:r印I i cas)、文件的訪問(wèn)時(shí)間(例如:atime)、文件的每個(gè)數(shù)據(jù)塊大小(例如:blockSize)、文件的數(shù)據(jù)塊的塊數(shù)(例如:numBlock)、文件占據(jù)的空間的限制信息(例如:nsQuota和dsQuota)和用戶(hù)權(quán)限信息(例如:username、group 和 perm)。
[0108]另外,當(dāng)文件包括多個(gè)數(shù)據(jù)塊時(shí),文件的元數(shù)據(jù)還可以包括各數(shù)據(jù)塊的元數(shù)據(jù),其中,數(shù)據(jù)塊的元數(shù)據(jù)包括該數(shù)據(jù)塊所屬的文件的屬性信息和該數(shù)據(jù)塊的屬性信息;其中,數(shù)據(jù)塊的屬性信息可以包括如下一項(xiàng)或者多項(xiàng):
[0109]數(shù)據(jù)塊標(biāo)識(shí)(例如:BlockId)、數(shù)據(jù)塊存儲(chǔ)的數(shù)據(jù)量(例如:numBytes)和數(shù)據(jù)塊的時(shí)間戳(例如:genStamp)。另外,文件的屬性信息上面已經(jīng)介紹,此處不重復(fù)說(shuō)明。
[0110]例如:文件的元數(shù)據(jù)可以如圖1所示,文件的元數(shù)據(jù)可以包括圖1中的三行數(shù)據(jù),其中,第一行表示HDFS系統(tǒng)的版本信息,第二行表示文件的屬性信息,第三行表示數(shù)據(jù)塊的元數(shù)據(jù)。即文件的元數(shù)據(jù)可以包括HDFS系統(tǒng)的版本信息、文件的屬性信息和數(shù)據(jù)塊的元數(shù)據(jù)。
[0111]另外,本發(fā)明實(shí)施例應(yīng)用的場(chǎng)景可以是單個(gè)設(shè)備,即該設(shè)備上包括HDFS的客戶(hù)端、至少一個(gè)NN和至少一個(gè)DN ;或者本發(fā)明實(shí)施例應(yīng)用的場(chǎng)景可以是設(shè)備集群,即HDFS的客戶(hù)端、至少一個(gè)NN和至少一個(gè)DN部署在多個(gè)設(shè)備上。其中,上述設(shè)備可以是網(wǎng)絡(luò)側(cè)設(shè)備,例如:基站、服務(wù)器、控制器等設(shè)備,上述設(shè)備還可以是用戶(hù)側(cè)設(shè)備,例如:計(jì)算機(jī)、平板電腦、手機(jī)、電子閱讀器、遙控器、筆記本電腦、車(chē)載設(shè)備、網(wǎng)絡(luò)電視、可穿戴設(shè)備等具有網(wǎng)絡(luò)功能的智能設(shè)備。
[0112]請(qǐng)參閱圖2,圖2是本發(fā)明實(shí)施例提供的一種元數(shù)據(jù)恢復(fù)方法的流程示意圖,如圖2所示,包括以下步驟:
[0113]201、接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)DN上。
[0114]上述目標(biāo)文件保存在多個(gè)DN上可以是響應(yīng)上述寫(xiě)操作請(qǐng)求,將上述目標(biāo)文件保存在多個(gè)DN上,其中,該保存過(guò)程的時(shí)間不作限定,例如:可以是在步驟204之后,或者在步驟204之前。
[0115]202、從NN獲取所述目標(biāo)文件的元數(shù)據(jù),所述目標(biāo)文件的元數(shù)據(jù)包含所述多個(gè)DN的信息。
[0116]可選的,當(dāng)接收到上述寫(xiě)操作請(qǐng)求時(shí),本端就可以向NN申請(qǐng)用于保存目標(biāo)文件的多個(gè)DN,從而NN就可以為該目標(biāo)文件分配N(xiāo)N,以及生成該目標(biāo)文件的元數(shù)據(jù),并將該目標(biāo)文件的元數(shù)據(jù)返回到上述本端。另外,上述多個(gè)DN的信息可以是各DN保存上述目標(biāo)文件的路徑信息,例如:上述介紹的文件的屬性信息中的文件的路徑。
[0117]203、根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息。
[0118]可選的,上述元數(shù)據(jù)恢復(fù)信息可以包括該目標(biāo)文件的元數(shù)據(jù),例如:包括目標(biāo)文件的屬性信息。其中,該屬性信息可以包括該目標(biāo)文件的如下一項(xiàng)或者多項(xiàng):
[0119]HDFS系統(tǒng)的版本信息、文件名、文件占據(jù)的空間的限制信息、用戶(hù)權(quán)限信息、文件的每個(gè)數(shù)據(jù)塊大小、文件的數(shù)據(jù)塊的塊數(shù)。
[0120]其中,上述文件名還可以攜帶有文件的路徑信息。
[0121]204、向所述多個(gè)DN中的至少一個(gè)DN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,所述元數(shù)據(jù)恢復(fù)信息用于被所述至少一個(gè)DN進(jìn)行保存,并在所述NN出現(xiàn)異常后被發(fā)送到所述NN進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
[0122]可選的,上述方法可以應(yīng)用于HDFS的客戶(hù)端(Client),即該客戶(hù)端可以實(shí)現(xiàn)上述方法。
[0123]上述技術(shù)方案中,接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,再?gòu)腘N獲取所述目標(biāo)文件的元數(shù)據(jù),根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息,再向所述多個(gè)DN中的至少一個(gè)DN發(fā)送所述元數(shù)據(jù)恢復(fù)信息。這樣該元數(shù)據(jù)恢復(fù)信息就可以用于被所述至少一個(gè)DN進(jìn)行保存,并在所述NN出現(xiàn)異常后被發(fā)送到所述NN進(jìn)行所述元數(shù)據(jù)的恢復(fù)。從而可以恢復(fù)NN出異常時(shí)的元數(shù)據(jù)。
[0124]請(qǐng)參閱圖3,圖3是本發(fā)明實(shí)施例提供的另一種元數(shù)據(jù)恢復(fù)方法的流程示意圖,如圖3所示,包括以下步驟:
[0125]301、接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)DN上。
[0126]可選的,對(duì)目標(biāo)文件進(jìn)行數(shù)據(jù)寫(xiě)操作可以是以數(shù)據(jù)塊為單位進(jìn)行寫(xiě)操作,即一個(gè)目標(biāo)文件可以被劃分為多個(gè)數(shù)據(jù)塊中,其中,每個(gè)數(shù)據(jù)塊的大小可以是相同。例如:每個(gè)數(shù)據(jù)塊可以是64兆(MB)或者128MB等。另外,上述數(shù)據(jù)塊的大小可以是數(shù)據(jù)塊的存儲(chǔ)空間大小,但在實(shí)際應(yīng)用中一個(gè)文件的各數(shù)據(jù)塊存儲(chǔ)的該文件的數(shù)據(jù)量可以是不同的,例如:一個(gè)文件包含150MB數(shù)據(jù),而每個(gè)數(shù)據(jù)塊的大小為64MB,那么該文件的第一個(gè)數(shù)據(jù)塊就可以存儲(chǔ)該文件的64MB數(shù)據(jù),而第二個(gè)數(shù)據(jù)塊就可以存儲(chǔ)該文件的64MB數(shù)據(jù),而第三個(gè)數(shù)據(jù)塊就可以存儲(chǔ)該文件的22MB數(shù)據(jù)。
[0127]302、從所述NN獲取所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的DN的信息。
[0128]可選的,當(dāng)接收到上述寫(xiě)操作請(qǐng)求時(shí),本端就可以向NN申請(qǐng)用于保存目標(biāo)文件的多個(gè)數(shù)據(jù)塊,以及保存數(shù)據(jù)塊的多個(gè)DN。這樣從而NN就可以為該目標(biāo)文件分配數(shù)據(jù)塊,以及數(shù)據(jù)塊所在的DN,以及生成每個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并將每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)返回到上述本端。另外,上述數(shù)據(jù)塊的信息可以是數(shù)據(jù)塊的屬性信息,例如:數(shù)據(jù)塊標(biāo)識(shí)和數(shù)據(jù)塊的時(shí)間戳。上述多個(gè)DN的信息可以是各DN保存數(shù)據(jù)塊的路徑信息,例如:上述介紹的文件的屬性信息中的文件的路徑。
[0129]303、根據(jù)所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù),生成所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
[0130]可選的,上述數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括該數(shù)據(jù)塊的元數(shù)據(jù),例如:包括目標(biāo)文件的屬性信息。
[0131]304、向所述多個(gè)DN中的至少一個(gè)DN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,所述元數(shù)據(jù)恢復(fù)信息用于被所述至少一個(gè)DN進(jìn)行保存,并在所述NN出現(xiàn)異常后被發(fā)送到所述NN進(jìn)行所述目標(biāo)文件的元數(shù)據(jù)的恢復(fù)。
[0132]由于上述元數(shù)據(jù)恢復(fù)信息被一個(gè)或者多個(gè)DN保存,這樣可以防止單個(gè)DN出現(xiàn)異常后,導(dǎo)致該元數(shù)據(jù)恢復(fù)信息丟失。
[0133]可選的,上述從所述NN獲取所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)可以包括:
[0134]依次接收所述NN發(fā)送的所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)。
[0135]例如:本端可以是每次向NN申請(qǐng)一個(gè)數(shù)據(jù)塊,這樣NN就會(huì)為目標(biāo)文件分配一個(gè)數(shù)據(jù)塊,以及生成該數(shù)據(jù)塊的元數(shù)據(jù),并將該數(shù)據(jù)塊的元數(shù)據(jù)返回到上述本端。當(dāng)上述數(shù)據(jù)塊被寫(xiě)完時(shí),而目標(biāo)文件還沒(méi)有被寫(xiě)完,本端再向NN申請(qǐng)另一個(gè)數(shù)據(jù)塊,NN就會(huì)為目標(biāo)文件分配另一個(gè)數(shù)據(jù)塊,以及生成該數(shù)據(jù)塊的元數(shù)據(jù),并將該數(shù)據(jù)塊的元數(shù)據(jù)返回到上述本端。當(dāng)上述數(shù)據(jù)塊被寫(xiě)完時(shí),而目標(biāo)文件還沒(méi)有被寫(xiě)完,繼續(xù)向NN申請(qǐng)數(shù)據(jù)塊,直到目標(biāo)文件被寫(xiě)完。從而步驟303可以是本端每獲取一個(gè)數(shù)據(jù)塊的元數(shù)據(jù),再生成該數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,步驟304再將該數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息發(fā)送至上述至少一個(gè)DN。
[0136]可選的,上述從所述NN獲取所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)可以包括:
[0137]接收所述NN根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性發(fā)送的所有數(shù)據(jù)塊的元數(shù)據(jù)。
[0138]例如:本端可以是一次性向NN申請(qǐng)多個(gè)數(shù)據(jù)塊,這樣NN就會(huì)為目標(biāo)文件分配多個(gè)數(shù)據(jù)塊,以及生成這些數(shù)據(jù)塊的元數(shù)據(jù),并將這些數(shù)據(jù)塊的元數(shù)據(jù)返回到上述本端。從而步驟303可以是一次性生成多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,步驟304再將這多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息發(fā)送至上述至少一個(gè)DN。
[0139]可選的,上述接收的元數(shù)據(jù)至少包括第一數(shù)據(jù)塊的元數(shù)據(jù)和第二數(shù)據(jù)塊的元數(shù)據(jù),即目標(biāo)文件至少被劃分為第一數(shù)據(jù)塊和第二數(shù)據(jù)塊。
[0140]其中,上述生成的所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0141]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0142]其中,目標(biāo)文件的屬性信息可以包括:
[0143]HDFS系統(tǒng)的版本信息、文件名、文件的副本數(shù)、文件的每個(gè)數(shù)據(jù)塊大小、文件占據(jù)的空間的限制信息和用戶(hù)權(quán)限信息。
[0144]上述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息可以是指,第一數(shù)據(jù)塊的目標(biāo)文件的數(shù)據(jù)塊序號(hào),例如:第一數(shù)據(jù)塊可以是目標(biāo)文件的序號(hào)為I的數(shù)據(jù)塊,其中,序號(hào)為I的數(shù)據(jù)塊可以是目標(biāo)文件中時(shí)間戳最早的一個(gè)數(shù)據(jù)塊;上述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息可以包括:
[0145]數(shù)據(jù)塊序號(hào)和文件結(jié)束數(shù)據(jù)塊信息。
[0146]上述生成的所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0147]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0148]上述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息可以包括:
[0149]數(shù)據(jù)塊序號(hào)和文件結(jié)束數(shù)據(jù)塊信息。
[0150]另外,第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息還可以包括HDFS系統(tǒng)的版本信息和文件名,這樣就可以清楚地知道第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息是用于恢復(fù)哪個(gè)文件的數(shù)據(jù)塊,以及該文件的HDFS系統(tǒng)的版本信息。
[0151]例如:如圖4a所示,第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0152]HDFS系統(tǒng)的版本信息、文件名、文件的副本數(shù)、文件的每個(gè)數(shù)據(jù)塊大小、文件占據(jù)的空間的限制信息、用戶(hù)權(quán)限信息、數(shù)據(jù)塊序號(hào)和文件結(jié)束數(shù)據(jù)塊信息。
[0153]如圖4b所示,第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0154]HDFS系統(tǒng)的版本信息、文件名、數(shù)據(jù)塊序號(hào)和文件結(jié)束數(shù)據(jù)塊信息。
[0155]其中,文件結(jié)束數(shù)據(jù)塊信息可以是用當(dāng)前數(shù)據(jù)塊是否為結(jié)束B(niǎo)lock的信息表示,例如:上述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息中的文件結(jié)束數(shù)據(jù)塊信息可以用假(false)表示;當(dāng)上述目標(biāo)文件只包括兩個(gè)數(shù)據(jù)塊時(shí),那么,上述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息中的文件結(jié)束數(shù)據(jù)塊信息可以用真(true)表示;當(dāng)上述目標(biāo)文件包括三個(gè)或者三個(gè)以上的數(shù)據(jù)塊時(shí),上述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息和上述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息中的文件結(jié)束數(shù)據(jù)塊信息可以用假(false)表示;即該實(shí)施方式中,只有目標(biāo)文件的最后一個(gè)數(shù)據(jù)塊對(duì)應(yīng)的文件結(jié)束數(shù)據(jù)塊信息才用真(true)表示,其余的都用假(false)表示,從而可以根據(jù)文件結(jié)束數(shù)據(jù)塊信息可以確定目標(biāo)文件包括的數(shù)據(jù)塊的個(gè)數(shù)。
[0156]另外,由于一個(gè)文件內(nèi)各數(shù)據(jù)塊的元數(shù)據(jù)都可以包括文件的屬性信息,而文件的屬性信息是相同的,例如:文件占據(jù)的空間的限制信息、用戶(hù)權(quán)限信息、數(shù)據(jù)塊的大小信息和副本數(shù)等信息是相同的,這樣就只需要在其中一個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息中寫(xiě)入這些信息即可,從而可以節(jié)省其他DN的存儲(chǔ)空間。
[0157]另外,上述僅舉例了所述第一數(shù)據(jù)塊和第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息的多種可選的實(shí)施方式,本實(shí)施例中對(duì)此不作限定,例如:第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息也可以包括:
[0158]HDFS系統(tǒng)的版本信息、文件名、文件的副本數(shù)、文件的訪問(wèn)時(shí)間、文件的數(shù)據(jù)塊的塊數(shù)、文件占據(jù)的空間的限制信息、用戶(hù)權(quán)限信息、數(shù)據(jù)塊標(biāo)識(shí)、數(shù)據(jù)塊的大小和數(shù)據(jù)塊時(shí)間戳。
[0159]可選的,本方法中每獲取NN發(fā)送的數(shù)據(jù)塊的元數(shù)據(jù)之前,都可以是向NN發(fā)送數(shù)據(jù)塊的申請(qǐng)請(qǐng)求,NN接收到該請(qǐng)求后,就可以為目標(biāo)文件分配數(shù)據(jù)塊,以及存儲(chǔ)該數(shù)據(jù)塊的DN0另外,在步驟301之前,所述方法還可以包括以下步驟:
[0160]創(chuàng)建目標(biāo)文件,并生成該目標(biāo)文件的概要信息。例如:生成該文件的文件名等信肩、O
[0161]可選的,上述方法可以應(yīng)用于HDFS的客戶(hù)端(Client),即該客戶(hù)端可以實(shí)現(xiàn)上述方法。
[0162]上述技術(shù)方案中,接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,從NN獲取多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),再根據(jù)所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù),生成所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,從而可以向所述多個(gè)DN中的至少一個(gè)DN發(fā)送所述元數(shù)據(jù)恢復(fù)信息。這樣元數(shù)據(jù)恢復(fù)信息可以用于被所述至少一個(gè)DN進(jìn)行保存,并在所述NN出現(xiàn)異常后被發(fā)送到所述NN進(jìn)行所述元數(shù)據(jù)的恢復(fù)。從而當(dāng)NN出現(xiàn)異常后,可以及時(shí)恢復(fù)NN在出現(xiàn)異常時(shí)生成的元數(shù)據(jù)。
[0163]請(qǐng)參閱圖5,圖5是本發(fā)明實(shí)施例提供的另一種元數(shù)據(jù)恢復(fù)方法的流程示意圖,如圖5所示,包括以下步驟:
[0164]501、接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息,并保存所述元數(shù)據(jù)恢復(fù)信息,其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端在接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求時(shí),從NN獲取的所述目標(biāo)文件的元數(shù)據(jù),并根據(jù)所述元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息.。
[0165]其中,上述目標(biāo)文件所述目標(biāo)文件保存在多個(gè)DN上,且上述元數(shù)據(jù)包括所述多個(gè)DN的信息。
[0166]可選的,步驟501可以是將元數(shù)據(jù)恢復(fù)信息存儲(chǔ)在本地,或者將元數(shù)據(jù)恢復(fù)信息存儲(chǔ)第三方面存儲(chǔ)設(shè)備上。
[0167]502、在所述NN出現(xiàn)異常后,向所述NN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,元數(shù)據(jù)恢復(fù)信息被所述NN用于進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
[0168]可選的,本方法可以應(yīng)用于HDFS的DN。
[0169]上述技術(shù)方案中,接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息,并保存所述元數(shù)據(jù)恢復(fù)信息;在所述NN出現(xiàn)異常后,向所述NN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,元數(shù)據(jù)恢復(fù)信息被所述NN用于進(jìn)行所述元數(shù)據(jù)的恢復(fù)。從而可以實(shí)現(xiàn)恢復(fù)NN出異常時(shí)的元數(shù)據(jù)。
[0170]請(qǐng)參閱圖6,圖6是本發(fā)明實(shí)施例提供的另一種元數(shù)據(jù)恢復(fù)方法的流程示意圖,如圖6所示,包括以下步驟:
[0171]601、接收所述客戶(hù)端發(fā)送的所述目標(biāo)文件的數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,并保存所述元數(shù)據(jù)恢復(fù)信息,其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端在接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求時(shí),所述客戶(hù)端根據(jù)該數(shù)據(jù)塊的元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息.。
[0172]其中,上述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,且上述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的DN的信息。
[0173]可選的,步驟601接收到元數(shù)據(jù)恢復(fù)信息可以是一個(gè)或者多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。例如:目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,其中,執(zhí)行本方法的DN可以是保存其中一個(gè)或者多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
[0174]可選的,步驟601可以是將上述元數(shù)據(jù)恢復(fù)信息保存在一個(gè)特定文件內(nèi),例如:保存在命名為:blk_blockId_genstamp.blockmeta的文件內(nèi),其中,該文件的名稱(chēng)可以包括數(shù)據(jù)塊的標(biāo)識(shí),且該文件名稱(chēng)還可以包括數(shù)據(jù)塊的時(shí)間戳,例如:DN在接收到數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息的同時(shí),還可以接收到客戶(hù)端發(fā)送的數(shù)據(jù)的標(biāo)識(shí)和數(shù)據(jù)塊的時(shí)間戳。另外,該文件內(nèi)還可以將客戶(hù)端在上述數(shù)據(jù)塊中寫(xiě)入的該目標(biāo)文件的數(shù)據(jù)保存至另一個(gè)特定的文件內(nèi),例如:保存在命名為:blk_blockId的文件內(nèi)。當(dāng)客戶(hù)端還寫(xiě)入了上述數(shù)據(jù)塊的循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check,CRC),本方法還可以將該CRC保存用于保存上述元數(shù)據(jù)恢復(fù)信息的特定文件內(nèi),即將上述元數(shù)據(jù)恢復(fù)信息和CRC存儲(chǔ)在同一個(gè)特定文件內(nèi),當(dāng)然,本方法還可以將CRC存儲(chǔ)在一個(gè)專(zhuān)門(mén)用于存儲(chǔ)CRC的特定文件內(nèi)。另外,上述兩個(gè)特定文件可以是接收到上述數(shù)據(jù)信息之前設(shè)置好的,例如:接收到客戶(hù)端發(fā)送的寫(xiě)請(qǐng)求時(shí),生成上述兩個(gè)特定文件。由于步驟601將上述數(shù)據(jù)信息以文件的形式進(jìn)行存儲(chǔ),這樣可以實(shí)現(xiàn)數(shù)據(jù)倉(cāng)庫(kù)工(例如:Hive)功能,或者Spark功能,其中,Spark是一個(gè)基于內(nèi)存計(jì)算的開(kāi)源的集群計(jì)算系統(tǒng),目的是讓數(shù)據(jù)分析更加快速。
[0175]另外,上述元數(shù)據(jù)恢復(fù)信息還可以是預(yù)定義的數(shù)據(jù)格式進(jìn)行保存,例如:以HBase的數(shù)據(jù)格式進(jìn)行保存,其中,HBase是一個(gè)分布式的、面向列的開(kāi)源數(shù)據(jù)庫(kù)。
[0176]可選的,在獲取到上述元數(shù)據(jù)恢復(fù)信息時(shí),還可以在內(nèi)存中保存上述元數(shù)據(jù)恢復(fù)信息,這樣可以更快速地發(fā)送該元數(shù)據(jù)恢復(fù)信息??梢灾苯訉?nèi)存的元數(shù)據(jù)恢復(fù)信息上傳到NN。另外,當(dāng)實(shí)現(xiàn)本方法的DN重新啟動(dòng)后,可以?huà)呙璞镜卮鎯?chǔ)的元數(shù)據(jù)恢復(fù)信息,再將該元數(shù)據(jù)恢復(fù)信息上傳給NN。
[0177]602、在所述NN出現(xiàn)異常后,向所述NN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,元數(shù)據(jù)恢復(fù)信息被所述NN用于進(jìn)行所述目標(biāo)文件的元數(shù)據(jù)的恢復(fù)。
[0178]例如:DN在NN重新啟動(dòng)時(shí),會(huì)接收到該NN發(fā)送的通知消息,該通知消息用于請(qǐng)求發(fā)送上述數(shù)據(jù)信息,這樣就可以響應(yīng)消息通知消息,以返回上述元數(shù)據(jù)恢復(fù)信息。
[0179]可選的,所述接收所述客戶(hù)端發(fā)送的所述目標(biāo)文件的數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括:
[0180]依次接收所述客戶(hù)端點(diǎn)發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息;或者,接收所述客戶(hù)端一次性發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
[0181]可選的,所述接收的元數(shù)據(jù)恢復(fù)信息至少可以包括第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息和第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,其中:
[0182]所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0183]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0184]所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0185]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0186]另外,本實(shí)施例中,當(dāng)所述生成的元數(shù)據(jù)出現(xiàn)異常后,可以是向NN發(fā)送目標(biāo)文件的所有數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。例如:當(dāng)DN接收到NN異常重啟的通知消息后,響應(yīng)該通知消息掃描本地或者內(nèi)存中所有數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,并向NN上傳所有數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
[0187]可選的,上述方法可以應(yīng)用于HDFS的DN,即該DN可以實(shí)現(xiàn)上述方法。
[0188]上述技術(shù)方案中,接收所述客戶(hù)端發(fā)送的所述目標(biāo)文件的數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,并保存所述元數(shù)據(jù)恢復(fù)信息,在所述NN出現(xiàn)異常后,向所述NN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,元數(shù)據(jù)恢復(fù)信息被所述NN用于進(jìn)行所述元數(shù)據(jù)的恢復(fù)。從而可以及時(shí)恢復(fù)NN在出現(xiàn)異常時(shí)生成的元數(shù)據(jù)。
[0189]請(qǐng)參閱圖7,圖7是本發(fā)明實(shí)施例提供的另一種元數(shù)據(jù)恢復(fù)方法的流程示意圖,如圖7所示,包括以下步驟:
[0190]701、接收客戶(hù)端發(fā)送的對(duì)目標(biāo)文件進(jìn)行寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)DN上。
[0191]702、生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù),其中,所述元數(shù)據(jù)包含所述多個(gè)DN的信息。
[0192]可選的,步驟702可以是接收到上述寫(xiě)操作請(qǐng)求后,為上述目標(biāo)文件分配所述多個(gè)DN,再生成上述目標(biāo)文件的元數(shù)據(jù)。
[0193]703、當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù),其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端根據(jù)所述元數(shù)據(jù)生成的,由所述客戶(hù)端發(fā)送至所述至少一個(gè)DN進(jìn)行保存的元數(shù)據(jù)恢復(fù)信肩、O
[0194]這樣當(dāng)本端,即NN出現(xiàn)異常時(shí),可以接收到上述至少一個(gè)DN發(fā)送的元數(shù)據(jù)恢復(fù)信息,從而可以恢復(fù)出上述目標(biāo)文件的元數(shù)據(jù)。
[0195]可選的,上述目標(biāo)文件可以被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)DN上;
[0196]則,上述生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù)可以包括:
[0197]生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的DN的信息。
[0198]上述接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù),可以包括:
[0199]接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息恢復(fù)所述目標(biāo)文件的元數(shù)據(jù)。
[0200]這樣可以實(shí)現(xiàn)根據(jù)多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息恢復(fù)目標(biāo)文件的元數(shù)據(jù)。
[0201]可選的,向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包括:
[0202]依次向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性向所述客戶(hù)端發(fā)送所有數(shù)據(jù)塊的元數(shù)據(jù)。
[0203]可選的,上述多個(gè)數(shù)據(jù)塊至少可以包括第一數(shù)據(jù)塊和第二數(shù)據(jù)塊,其中:
[0204]所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0205]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0206]所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0207]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0208]需要說(shuō)明的是,本實(shí)施例中針對(duì)元數(shù)據(jù)和元數(shù)據(jù)恢復(fù)信息的定義可以參考圖2或者圖3所示的實(shí)施例,此處不作重復(fù)說(shuō)明。
[0209]可選的,上述方法可以應(yīng)用于HDFS內(nèi)的NN。
[0210]上述技術(shù)方案中,接收客戶(hù)端發(fā)送的對(duì)目標(biāo)文件進(jìn)行寫(xiě)操作請(qǐng)求,生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù);這樣當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù)。從而可以恢復(fù)NN出異常時(shí)的元數(shù)據(jù)。
[0211]下面為本發(fā)明裝置實(shí)施例,本發(fā)明裝置實(shí)施例用于執(zhí)行本發(fā)明方法實(shí)施例一至五實(shí)現(xiàn)的方法,為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請(qǐng)參照本發(fā)明實(shí)施例一、實(shí)施例二、實(shí)施例三、實(shí)施例四和實(shí)施例五。
[0212]請(qǐng)參閱圖8,圖8是本發(fā)明實(shí)施例提供的一種客戶(hù)端的結(jié)構(gòu)示意圖,如圖8所示,包括:接收單元81、獲取單元82、生成單元83和發(fā)送單元84,其中:
[0213]所述接收單元81,用于接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)DN上。
[0214]所述獲取單元82,用于從NN獲取所述目標(biāo)文件的元數(shù)據(jù),所述目標(biāo)文件的元數(shù)據(jù)包含所述多個(gè)DN的信息。
[0215]所述生成單元83,用于根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息。
[0216]所述發(fā)送單元84,用于向所述多個(gè)DN中的至少一個(gè)DN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,所述元數(shù)據(jù)恢復(fù)信息用于被所述至少一個(gè)DN進(jìn)行保存,并在所述NN出現(xiàn)異常后被發(fā)送到所述NN進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
[0217]在另一個(gè)實(shí)施例中,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)DN上;
[0218]則,獲取單元82可以用于從所述NN獲取所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的DN的信息;
[0219]生成單元83可以用于根據(jù)所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù),生成所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
[0220]該實(shí)施方式中,可以實(shí)現(xiàn)生成每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,以使NN根據(jù)多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息恢復(fù)目標(biāo)文件的元數(shù)據(jù)。
[0221]可選的,所述獲取單元82可以用于依次接收所述NN發(fā)送的所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,所述獲取單元82可以用于接收所述NN根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性發(fā)送的所有數(shù)據(jù)塊的元數(shù)據(jù)。
[0222]可選的,上述接收的元數(shù)據(jù)至少可以包括第一數(shù)據(jù)塊的元數(shù)據(jù)和第二數(shù)據(jù)塊的元數(shù)據(jù),其中:
[0223]所述生成的所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0224]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0225]所述生成的所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0226]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0227]可選的,上述客戶(hù)端可以是HDFS的客戶(hù)端(Client)。
[0228]上述技術(shù)方案中,接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,再?gòu)腘N獲取所述目標(biāo)文件的元數(shù)據(jù),根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息,再向所述多個(gè)DN中的至少一個(gè)DN發(fā)送所述元數(shù)據(jù)恢復(fù)信息。這樣該元數(shù)據(jù)恢復(fù)信息就可以用于被所述至少一個(gè)DN進(jìn)行保存,并在所述NN出現(xiàn)異常后被發(fā)送到所述NN進(jìn)行所述元數(shù)據(jù)的恢復(fù)。從而可以恢復(fù)NN出異常時(shí)的元數(shù)據(jù)。
[0229]請(qǐng)參閱圖9,圖9是本發(fā)明實(shí)施例提供的一種DN的結(jié)構(gòu)示意圖,如圖9所示,包括:接收單元91和發(fā)送單元92,其中:
[0230]接收單元91,用于接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息,并保存所述元數(shù)據(jù)恢復(fù)信息,其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端在接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求時(shí),從NN獲取的所述目標(biāo)文件的元數(shù)據(jù),并根據(jù)所述元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息.。
[0231]發(fā)送單元92,用于在所述NN出現(xiàn)異常后,向所述NN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,元數(shù)據(jù)恢復(fù)信息被所述NN用于進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
[0232]在另一個(gè)實(shí)施例中,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述接收單元91可以用于接收所述客戶(hù)端發(fā)送的所述目標(biāo)文件的數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,所述數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息為所述客戶(hù)端根據(jù)該數(shù)據(jù)塊的元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息。
[0233]可選的,接收單元91可以用于依次接收所述客戶(hù)端點(diǎn)發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息;或者,所述接收單元91可以用于接收所述客戶(hù)端一次性發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
[0234]可選的,上述接收的元數(shù)據(jù)恢復(fù)信息至少可以包括第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息和第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,其中:
[0235]所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0236]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0237]所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0238]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0239]可選的,本節(jié)點(diǎn)可以是HDFS的DN。
[0240]上述技術(shù)方案中,接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息,并保存所述元數(shù)據(jù)恢復(fù)信息;在所述NN出現(xiàn)異常后,向所述NN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,元數(shù)據(jù)恢復(fù)信息被所述NN用于進(jìn)行所述元數(shù)據(jù)的恢復(fù)。從而可以實(shí)現(xiàn)恢復(fù)NN出異常時(shí)的元數(shù)據(jù)。
[0241]請(qǐng)參閱圖10,圖10是本發(fā)明實(shí)施例提供的一種NN的結(jié)構(gòu)示意圖,如圖10所示,包括:接收單元101、生成單元102和恢復(fù)單元103,其中:
[0242]所述接收單元101,用于接收客戶(hù)端發(fā)送的對(duì)目標(biāo)文件進(jìn)行寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)DN上。
[0243]所述生成單元102,用于生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù),其中,所述元數(shù)據(jù)包含所述多個(gè)DN的信息。
[0244]所述恢復(fù)單元103,用于當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù),其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端根據(jù)所述元數(shù)據(jù)生成的,由所述客戶(hù)端發(fā)送至所述至少一個(gè)DN進(jìn)行保存的元數(shù)據(jù)恢復(fù)信息。
[0245]在另一個(gè)實(shí)施例中,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)DN上;
[0246]所述生成單元102可以用于生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的DN的信息;
[0247]所述恢復(fù)單元103可以用于當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息恢復(fù)所述目標(biāo)文件的元數(shù)據(jù)。
[0248]可選的,生成單元102可以用于生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并依次向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,所述生成單元102可以用于生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性向所述客戶(hù)端發(fā)送所有數(shù)據(jù)塊的元數(shù)據(jù)。
[0249]可選的,上述多個(gè)數(shù)據(jù)塊至少可以包括第一數(shù)據(jù)塊和第二數(shù)據(jù)塊,其中:
[0250]所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0251]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0252]所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0253]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0254]可選的,上述節(jié)點(diǎn)可以是HDFS內(nèi)的NN。
[0255]上述技術(shù)方案中,接收客戶(hù)端發(fā)送的對(duì)目標(biāo)文件進(jìn)行寫(xiě)操作請(qǐng)求,生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù);這樣當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù)。從而可以恢復(fù)NN出異常時(shí)的元數(shù)據(jù)。
[0256]請(qǐng)參閱圖11,圖11是本發(fā)明實(shí)施例提供的另一種元數(shù)據(jù)恢復(fù)設(shè)備的結(jié)構(gòu)示意圖,包括至少一個(gè)處理器1102(例如CPU),至少一個(gè)網(wǎng)絡(luò)接口 1105或者其他通信接口,存儲(chǔ)器1106,和至少一個(gè)通信總線1103,用于實(shí)現(xiàn)這些裝置之間的連接通信。處理器1102用于執(zhí)行存儲(chǔ)器1106中存儲(chǔ)的可執(zhí)行模塊,例如計(jì)算機(jī)程序。存儲(chǔ)器1106可能包含高速隨機(jī)存取存儲(chǔ)器(RAM:Random Access Memory),也可能還包括非不穩(wěn)定的存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤(pán)存儲(chǔ)器。通過(guò)至少一個(gè)網(wǎng)絡(luò)接口 1105 (可以是有線或者無(wú)線)實(shí)現(xiàn)該系統(tǒng)網(wǎng)關(guān)與至少一個(gè)其他網(wǎng)元之間的通信連接,可以使用互聯(lián)網(wǎng),廣域網(wǎng),本地網(wǎng),城域網(wǎng)等。
[0257]在一些實(shí)施方式中,存儲(chǔ)器1106存儲(chǔ)了程序11061,程序11061可以被處理器1102執(zhí)行,這個(gè)程序包括:
[0258]接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)DN上;
[0259]從NN獲取所述目標(biāo)文件的元數(shù)據(jù),所述目標(biāo)文件的元數(shù)據(jù)包含所述多個(gè)DN的信息;
[0260]根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息;
[0261]向所述多個(gè)DN中的至少一個(gè)DN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,所述元數(shù)據(jù)恢復(fù)信息用于被所述至少一個(gè)DN進(jìn)行保存,并在所述NN出現(xiàn)異常后被發(fā)送到所述NN進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
[0262]在另一個(gè)實(shí)施例中,所述目標(biāo)文件可以被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊可以被保存在所述多個(gè)DN上;處理器1102執(zhí)行的從NN獲取所述目標(biāo)文件的元數(shù)據(jù),根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息的程序,可以包括:
[0263]從所述NN獲取所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的DN的信息;
[0264]根據(jù)所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù),生成所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
[0265]可選的,處理器1102執(zhí)行的從所述NN獲取所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)的程序,可以包括:
[0266]依次接收所述NN發(fā)送的所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,接收所述NN根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性發(fā)送的所有數(shù)據(jù)塊的元數(shù)據(jù)。
[0267]可選的,所述接收的元數(shù)據(jù)至少可以包括第一數(shù)據(jù)塊的元數(shù)據(jù)和第二數(shù)據(jù)塊的元數(shù)據(jù),其中:
[0268]所述生成的所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0269]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0270]所述生成的所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0271]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0272]可選的,上述設(shè)備可以是HDFS的客戶(hù)端(Client)所屬的設(shè)備。
[0273]上述技術(shù)方案中,接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求;從NN獲取所述目標(biāo)文件的元數(shù)據(jù);根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息;向所述多個(gè)DN中的至少一個(gè)DN發(fā)送所述元數(shù)據(jù)恢復(fù)信息。這樣元數(shù)據(jù)恢復(fù)信息可以用于被所述至少一個(gè)DN進(jìn)行保存,并在所述NN出現(xiàn)異常后被發(fā)送到所述NN進(jìn)行所述元數(shù)據(jù)的恢復(fù),從而可以恢復(fù)NN出異常時(shí)的元數(shù)據(jù)。
[0274]請(qǐng)參閱圖12,圖12是本發(fā)明實(shí)施例提供的一種DN設(shè)備的結(jié)構(gòu)示意圖,包括至少一個(gè)處理器1202(例如CPU),至少一個(gè)網(wǎng)絡(luò)接口 1205或者其他通信接口,存儲(chǔ)器1206,和至少一個(gè)通信總線1203,用于實(shí)現(xiàn)這些裝置之間的連接通信。處理器1202用于執(zhí)行存儲(chǔ)器1206中存儲(chǔ)的可執(zhí)行模塊,例如計(jì)算機(jī)程序。存儲(chǔ)器1206可能包含高速隨機(jī)存取存儲(chǔ)器(RAM:Random Access Memory),也可能還包括非不穩(wěn)定的存儲(chǔ)器(non-volatile memory),例如至少一個(gè)磁盤(pán)存儲(chǔ)器。通過(guò)至少一個(gè)網(wǎng)絡(luò)接口 1205(可以是有線或者無(wú)線)實(shí)現(xiàn)該系統(tǒng)網(wǎng)關(guān)與至少一個(gè)其他網(wǎng)元之間的通信連接,可以使用互聯(lián)網(wǎng),廣域網(wǎng),本地網(wǎng),城域網(wǎng)等。
[0275]在一些實(shí)施方式中,存儲(chǔ)器1206存儲(chǔ)了程序12061,程序12061可以被處理器1202執(zhí)行,這個(gè)程序包括:
[0276]接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息,并保存所述元數(shù)據(jù)恢復(fù)信息,其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端在接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求時(shí),從NN獲取的所述目標(biāo)文件的元數(shù)據(jù),并根據(jù)所述元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息.;
[0277]在所述NN出現(xiàn)異常后,向所述NN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,元數(shù)據(jù)恢復(fù)信息被所述NN用于進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
[0278]在另一個(gè)實(shí)施例中,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,處理器1202執(zhí)行的接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息的程序,可以包括:
[0279]接收所述客戶(hù)端發(fā)送的所述目標(biāo)文件的數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,所述數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息為所述客戶(hù)端根據(jù)該數(shù)據(jù)塊的元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息。
[0280]可選的,處理器1202執(zhí)行的接收所述客戶(hù)端發(fā)送的所述目標(biāo)文件的數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息的程序,可以包括:
[0281]依次接收所述客戶(hù)端點(diǎn)發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息;或者,接收所述客戶(hù)端一次性發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
[0282]可選的,所述接收的元數(shù)據(jù)恢復(fù)信息至少可以包括第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息和第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,其中:
[0283]所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0284]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0285]所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0286]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0287]可選的,本節(jié)點(diǎn)設(shè)備可以是HDFS的DN所屬的設(shè)備。
[0288]上述技術(shù)方案中,接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息,并保存所述元數(shù)據(jù)恢復(fù)信息;在所述NN出現(xiàn)異常后,向所述NN發(fā)送所述元數(shù)據(jù)恢復(fù)信息,元數(shù)據(jù)恢復(fù)信息被所述NN用于進(jìn)行所述元數(shù)據(jù)的恢復(fù)。從而可以實(shí)現(xiàn)恢復(fù)NN出異常時(shí)的元數(shù)據(jù)。
[0289]請(qǐng)參閱圖13,圖13是本發(fā)明實(shí)施例提供的一種NN設(shè)備的結(jié)構(gòu)示意圖,包括至少一個(gè)處理器1302(例如CPU),至少一個(gè)網(wǎng)絡(luò)接口 1305或者其他通信接口,存儲(chǔ)器1306,和至少一個(gè)通信總線1303,用于實(shí)現(xiàn)這些裝置之間的連接通信。處理器1302用于執(zhí)行存儲(chǔ)器1306中存儲(chǔ)的可執(zhí)行模塊,例如計(jì)算機(jī)程序。存儲(chǔ)器1306可能包含高速隨機(jī)存取存儲(chǔ)器(RAM:Random Access Memory),也可能還包括非不穩(wěn)定的存儲(chǔ)器(non-volatile memory),例如至少一個(gè)磁盤(pán)存儲(chǔ)器。通過(guò)至少一個(gè)網(wǎng)絡(luò)接口 1305(可以是有線或者無(wú)線)實(shí)現(xiàn)該系統(tǒng)網(wǎng)關(guān)與至少一個(gè)其他網(wǎng)元之間的通信連接,可以使用互聯(lián)網(wǎng),廣域網(wǎng),本地網(wǎng),城域網(wǎng)等。
[0290]在一些實(shí)施方式中,存儲(chǔ)器1306存儲(chǔ)了程序13061,程序13061可以被處理器1302執(zhí)行,這個(gè)程序包括:
[0291]接收客戶(hù)端發(fā)送的對(duì)目標(biāo)文件進(jìn)行寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)DN上;
[0292]生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù),其中,所述元數(shù)據(jù)包含所述多個(gè)DN的信息;
[0293]當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù),其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端根據(jù)所述元數(shù)據(jù)生成的,由所述客戶(hù)端發(fā)送至所述至少一個(gè)DN進(jìn)行保存的元數(shù)據(jù)恢復(fù)信息。
[0294]在另一個(gè)實(shí)施例中,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)DN上;處理器1302執(zhí)行的生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù),可以包括:
[0295]生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的DN的信息。
[0296]處理器1302執(zhí)行的接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù)的程序,可以包括:
[0297]接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息恢復(fù)所述目標(biāo)文件的元數(shù)據(jù)。
[0298]可選的,處理器1302執(zhí)行的向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)的程序,可以包括:
[0299]依次向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性向所述客戶(hù)端發(fā)送所有數(shù)據(jù)塊的元數(shù)據(jù)。
[0300]可選的,上述多個(gè)數(shù)據(jù)塊至少可以包括第一數(shù)據(jù)塊和第二數(shù)據(jù)塊,其中:
[0301]所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0302]所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息;
[0303]所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息可以包括:
[0304]所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
[0305]可選的,上述節(jié)點(diǎn)設(shè)備可以是HDFS內(nèi)的NN所屬的設(shè)備。
[0306]上述技術(shù)方案中,接收客戶(hù)端發(fā)送的對(duì)目標(biāo)文件進(jìn)行寫(xiě)操作請(qǐng)求;生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù);當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)DN中的至少一個(gè)DN發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù)。從而可以恢復(fù)NN出異常時(shí)的元數(shù)據(jù)。
[0307]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存取存儲(chǔ)器(Random AccessMemory,簡(jiǎn)稱(chēng) RAM)等。
[0308]以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【權(quán)利要求】
1.一種元數(shù)據(jù)恢復(fù)方法,其特征在于,包括: 接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)數(shù)據(jù)節(jié)點(diǎn)上; 從元數(shù)據(jù)節(jié)點(diǎn)獲取所述目標(biāo)文件的元數(shù)據(jù),所述目標(biāo)文件的元數(shù)據(jù)包含所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)的信息; 根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息; 向所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)中的至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述元數(shù)據(jù)恢復(fù)信息,所述元數(shù)據(jù)恢復(fù)信息用于被所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行保存,并在所述元數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)異常后被發(fā)送到所述元數(shù)據(jù)節(jié)點(diǎn)進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)上; 貝1J,所述從元數(shù)據(jù)節(jié)點(diǎn)獲取所述目標(biāo)文件的元數(shù)據(jù),根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息包括: 從所述元數(shù)據(jù)節(jié)點(diǎn)獲取所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的數(shù)據(jù)節(jié)點(diǎn)的信息; 根據(jù)所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù),生成所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
3.如權(quán)利要求2所述的方法,其特征在于,所述從所述元數(shù)據(jù)節(jié)點(diǎn)獲取所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包括: 依次接收所述元數(shù)據(jù)節(jié)點(diǎn)發(fā)送的所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,接收所述元數(shù)據(jù)節(jié)點(diǎn)根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性發(fā)送的所有數(shù)據(jù)塊的元數(shù)據(jù)。
4.如權(quán)利要求2或3所述的方法,其特征在于,所述接收的元數(shù)據(jù)至少包括第一數(shù)據(jù)塊的元數(shù)據(jù)和第二數(shù)據(jù)塊的元數(shù)據(jù),其中: 所述生成的所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息; 所述生成的所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
5.一種元數(shù)據(jù)恢復(fù)方法,其特征在于,包括: 接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息,并保存所述元數(shù)據(jù)恢復(fù)信息,其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端在接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求時(shí),從元數(shù)據(jù)節(jié)點(diǎn)獲取的所述目標(biāo)文件的元數(shù)據(jù),并根據(jù)所述元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息.; 在所述元數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)異常后,向所述元數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述元數(shù)據(jù)恢復(fù)信息,元數(shù)據(jù)恢復(fù)信息被所述元數(shù)據(jù)節(jié)點(diǎn)用于進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
6.如權(quán)利要求5所述的方法,其特征在于,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息,包括: 接收所述客戶(hù)端發(fā)送的所述目標(biāo)文件的數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,所述數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息為所述客戶(hù)端根據(jù)該數(shù)據(jù)塊的元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息。
7.如權(quán)利要求6所述的方法,其特征在于,所述接收所述客戶(hù)端發(fā)送的所述目標(biāo)文件的數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 依次接收所述客戶(hù)端點(diǎn)發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息;或者,接收所述客戶(hù)端一次性發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
8.如權(quán)利要求6或7所述的方法,其特征在于,所述接收的元數(shù)據(jù)恢復(fù)信息至少包括第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息和第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,其中: 所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息; 所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
9.一種元數(shù)據(jù)恢復(fù)方法,其特征在于,包括: 接收客戶(hù)端發(fā)送的對(duì)目標(biāo)文件進(jìn)行寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)數(shù)據(jù)節(jié)點(diǎn)上; 生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù),其中,所述元數(shù)據(jù)包含所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)的信息; 當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)中的至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù),其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端根據(jù)所述元數(shù)據(jù)生成的,由所述客戶(hù)端發(fā)送至所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行保存的元數(shù)據(jù)恢復(fù)信息。
10.如權(quán)利要求9所述的方法,其特征在于,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)上; 則所述生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù)包括: 生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的數(shù)據(jù)節(jié)點(diǎn)的信息; 所述接收所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)中的至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù),包括: 接收所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)中的至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)發(fā)送的所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息恢復(fù)所述目標(biāo)文件的元數(shù)據(jù)。
11.如權(quán)利要求10所述的方法,其特征在于,所述向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包括: 依次向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性向所述客戶(hù)端發(fā)送所有數(shù)據(jù)塊的元數(shù)據(jù)。
12.如權(quán)利要求10或11所述的方法,其特征在于,所述多個(gè)數(shù)據(jù)塊至少包括第一數(shù)據(jù)塊和第二數(shù)據(jù)塊,其中: 所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息; 所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
13.一種客戶(hù)端,其特征在于,包括:接收單元、獲取單元、生成單元和發(fā)送單元,其中: 所述接收單元,用于接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)數(shù)據(jù)節(jié)點(diǎn)上; 所述獲取單元,用于從元數(shù)據(jù)節(jié)點(diǎn)獲取所述目標(biāo)文件的元數(shù)據(jù),所述目標(biāo)文件的元數(shù)據(jù)包含所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)的信息; 所述生成單元,用于根據(jù)所述目標(biāo)文件的元數(shù)據(jù)生成元數(shù)據(jù)恢復(fù)信息; 所述發(fā)送單元,用于向所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)中的至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述元數(shù)據(jù)恢復(fù)信息,所述元數(shù)據(jù)恢復(fù)信息用于被所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行保存,并在所述元數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)異常后被發(fā)送到所述元數(shù)據(jù)節(jié)點(diǎn)進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
14.如權(quán)利要求13所述的客戶(hù)端,其特征在于,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)上; 貝1J,所述獲取單元用于從所述元數(shù)據(jù)節(jié)點(diǎn)獲取所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的數(shù)據(jù)節(jié)點(diǎn)的信息; 所述生成單元用于根據(jù)所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù),生成所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
15.如權(quán)利要求14所述的客戶(hù)端,其特征在于,所述獲取單元用于依次接收所述元數(shù)據(jù)節(jié)點(diǎn)發(fā)送的所述每個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,所述獲取單元用于接收所述元數(shù)據(jù)節(jié)點(diǎn)根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性發(fā)送的所有數(shù)據(jù)塊的元數(shù)據(jù)。
16.如權(quán)利要求14或15所述的客戶(hù)端,其特征在于,所述接收的元數(shù)據(jù)至少包括第一數(shù)據(jù)塊的元數(shù)據(jù)和第二數(shù)據(jù)塊的元數(shù)據(jù),其中: 所述生成的所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息; 所述生成的所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
17.—種數(shù)據(jù)節(jié)點(diǎn),其特征在于,包括:接收單元和發(fā)送單元,其中: 所述接收單元,用于接收客戶(hù)端發(fā)送的目標(biāo)文件的元數(shù)據(jù)恢復(fù)信息,并保存所述元數(shù)據(jù)恢復(fù)信息,其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端在接收對(duì)目標(biāo)文件的寫(xiě)操作請(qǐng)求時(shí),從元數(shù)據(jù)節(jié)點(diǎn)獲取的所述目標(biāo)文件的元數(shù)據(jù),并根據(jù)所述元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息.; 所述發(fā)送單元,用于在所述元數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)異常后,向所述元數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述元數(shù)據(jù)恢復(fù)信息,元數(shù)據(jù)恢復(fù)信息被所述元數(shù)據(jù)節(jié)點(diǎn)用于進(jìn)行所述元數(shù)據(jù)的恢復(fù)。
18.如權(quán)利要求17所述的數(shù)據(jù)節(jié)點(diǎn),其特征在于,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述接收單元用于接收所述客戶(hù)端發(fā)送的所述目標(biāo)文件的數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,所述數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息為所述客戶(hù)端根據(jù)該數(shù)據(jù)塊的元數(shù)據(jù)生成的元數(shù)據(jù)恢復(fù)信息。
19.如權(quán)利要求18所述的數(shù)據(jù)節(jié)點(diǎn),其特征在于,所述接收單元用于依次接收所述客戶(hù)端點(diǎn)發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息;或者,所述接收單元用于接收所述客戶(hù)端一次性發(fā)送的所述目標(biāo)文件的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息。
20.如權(quán)利要求17或18所述的數(shù)據(jù)節(jié)點(diǎn),其特征在于,所述接收的元數(shù)據(jù)恢復(fù)信息至少包括第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息和第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,其中: 所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息; 所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
21.一種元數(shù)據(jù)節(jié)點(diǎn),其特征在于,包括:接收單元、生成單元和恢復(fù)單元,其中: 所述接收單元,用于接收客戶(hù)端發(fā)送的對(duì)目標(biāo)文件進(jìn)行寫(xiě)操作請(qǐng)求,其中,所述目標(biāo)文件保存在多個(gè)數(shù)據(jù)節(jié)點(diǎn)上; 所述生成單元,用于生成所述目標(biāo)文件的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述元數(shù)據(jù),其中,所述元數(shù)據(jù)包含所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)的信息; 所述恢復(fù)單元,用于當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)中的至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)發(fā)送的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述元數(shù)據(jù)恢復(fù)信息恢復(fù)所述元數(shù)據(jù),其中,所述元數(shù)據(jù)恢復(fù)信息是所述客戶(hù)端根據(jù)所述元數(shù)據(jù)生成的,由所述客戶(hù)端發(fā)送至所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行保存的元數(shù)據(jù)恢復(fù)信息。
22.如權(quán)利要求21所述的元數(shù)據(jù)節(jié)點(diǎn),其特征在于,所述目標(biāo)文件被劃分為多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊被保存在所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)上; 所述生成單元用于生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),每個(gè)數(shù)據(jù)塊的元數(shù)據(jù)包含每個(gè)數(shù)據(jù)塊的信息和所述每個(gè)數(shù)據(jù)塊所在的數(shù)據(jù)節(jié)點(diǎn)的信息; 所述恢復(fù)單元用于當(dāng)本端出現(xiàn)異常時(shí),接收所述多個(gè)數(shù)據(jù)節(jié)點(diǎn)中的至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)發(fā)送的所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息,并根據(jù)所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息恢復(fù)所述目標(biāo)文件的元數(shù)據(jù)。
23.如權(quán)利要求21所述的元數(shù)據(jù)節(jié)點(diǎn),其特征在于,所述生成單元用于生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并依次向所述客戶(hù)端發(fā)送所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù);或者,所述生成單元用于生成所述多個(gè)數(shù)據(jù)塊的元數(shù)據(jù),并根據(jù)所述目標(biāo)文件的寫(xiě)操作請(qǐng)求一次性向所述客戶(hù)端發(fā)送所有數(shù)據(jù)塊的元數(shù)據(jù)。
24.如權(quán)利要求10或11所述的元數(shù)據(jù)節(jié)點(diǎn),其特征在于,所述多個(gè)數(shù)據(jù)塊至少包括第一數(shù)據(jù)塊和第二數(shù)據(jù)塊,其中: 所述第一數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 所述目標(biāo)文件的屬性信息和所述第一數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息; 所述第二數(shù)據(jù)塊的元數(shù)據(jù)恢復(fù)信息包括: 所述第二數(shù)據(jù)塊在所述目標(biāo)文件中的位置信息。
【文檔編號(hào)】H04L29/08GK104202387SQ201410427894
【公開(kāi)日】2014年12月10日 申請(qǐng)日期:2014年8月27日 優(yōu)先權(quán)日:2014年8月27日
【發(fā)明者】劉洋, 張克星 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
介休市| 山东| 屯昌县| 修武县| 长垣县| 丹寨县| 徐水县| 昌邑市| 蓬安县| 皮山县| 松潘县| 娱乐| 文安县| 安徽省| 乌兰浩特市| 贞丰县| 珠海市| 莒南县| 大埔区| 剑阁县| 蒙阴县| 沅江市| 大连市| 泾源县| 丰县| 兴文县| 武清区| 朝阳区| 阳曲县| 东安县| 万源市| 伊通| 宁都县| 绥宁县| 天台县| 吉首市| 巩留县| 泰顺县| 海口市| 勐海县| 肥东县|