两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

文件系統(tǒng)的數(shù)據(jù)回收方法及裝置制造方法

文檔序號(hào):6541364閱讀:139來源:國(guó)知局
文件系統(tǒng)的數(shù)據(jù)回收方法及裝置制造方法
【專利摘要】本發(fā)明涉及一種文件系統(tǒng)的數(shù)據(jù)回收方法及裝置,所述方法包括:在生成新數(shù)據(jù)塊時(shí),記錄所述新數(shù)據(jù)塊的引用信息,所述引用信息用于記錄所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的信息;所述新數(shù)據(jù)塊是從該直接引用的原有數(shù)據(jù)塊復(fù)制而來;掃描所述新數(shù)據(jù)塊,對(duì)所述新數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行加操作;根據(jù)所述新數(shù)據(jù)塊的引用信息,將所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行減操作;進(jìn)行減操作后的引用計(jì)數(shù)滿足要求時(shí),對(duì)所述原有數(shù)據(jù)塊進(jìn)行回收。本發(fā)明實(shí)施例提供的文件系統(tǒng)的數(shù)據(jù)回收方法及裝置,可以有效地縮短引用計(jì)數(shù)的更新時(shí)間,加快數(shù)據(jù)回收的速度,減輕文件系統(tǒng)的壓力。
【專利說明】文件系統(tǒng)的數(shù)據(jù)回收方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種文件系統(tǒng)的數(shù)據(jù)回收方法及裝置。
【背景技術(shù)】
[0002]在文件系統(tǒng)中,由于元數(shù)據(jù)以及文件數(shù)據(jù)本身會(huì)占用空間,尤其是寫時(shí)復(fù)制(Copyon Write, COW)或重定向?qū)?Redirect on Write, ROW)文件系統(tǒng)等支持快照的文件系統(tǒng)。為了保持一致性,存儲(chǔ)時(shí)在該些文件系統(tǒng)中生成checkpoint或者快照,其中,checkpoint是文件系統(tǒng)自動(dòng)生成的檢查點(diǎn),而快照是由用戶主動(dòng)創(chuàng)建的檢查點(diǎn)。為了達(dá)到節(jié)省空間的目的,在生成新的數(shù)據(jù)塊之后,需要進(jìn)行數(shù)據(jù)回收,即進(jìn)行checkpoint刪除或者快照刪除操作,以釋放舊的沒有被新的checkpoint或快照引用的數(shù)據(jù)占用的空間。
[0003]現(xiàn)有的一種數(shù)據(jù)回收方法是采用樹結(jié)構(gòu)逐級(jí)遍歷的方法,在生成新的數(shù)據(jù)塊時(shí),將新生成的數(shù)據(jù)塊的引用計(jì)數(shù)置1,并將新生成的數(shù)據(jù)塊直接引用的數(shù)據(jù)塊的引用計(jì)數(shù)加
I。當(dāng)文件系統(tǒng)決定刪除checkpoint或者快照時(shí),需要從checkpoint根部向下遍歷每個(gè)數(shù)據(jù)塊,將數(shù)據(jù)塊的引用計(jì)數(shù)減1,如果數(shù)據(jù)塊的引用計(jì)數(shù)減為0,繼續(xù)向下層遍歷,當(dāng)下層引用計(jì)數(shù)減一后仍然>0,則說明被其他引用需要被保留,并停止向下層遍歷。
[0004]然而,如果采用上述方法在進(jìn)行實(shí)時(shí)更新引用計(jì)數(shù),需要依次讀取樹結(jié)構(gòu)每個(gè)數(shù)據(jù)塊的引用計(jì)數(shù),判斷是否>0,然后執(zhí)行減引用操作,引用計(jì)數(shù)的更新時(shí)間長(zhǎng),在生成大量修改數(shù)據(jù)時(shí),很可能在一個(gè)checkpoint生成時(shí)間里完成不了引用計(jì)數(shù)的實(shí)時(shí)更新,造成文件系統(tǒng)壓力大的情況。

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

[0005]本發(fā)明提供一種文件系統(tǒng)的數(shù)據(jù)回收方法及裝置,可以有效地縮短引用計(jì)數(shù)的更新時(shí)間,加快數(shù)據(jù)回收的速度,減輕文件系統(tǒng)的壓力。
[0006]本發(fā)明第一方面提供了一種文件系統(tǒng)的數(shù)據(jù)回收方法,所述方法包括:
[0007]在生成新數(shù)據(jù)塊時(shí),記錄所述新數(shù)據(jù)塊的引用信息,所述引用信息用于記錄所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的信息;所述新數(shù)據(jù)塊是從該直接引用的原有數(shù)據(jù)塊復(fù)制而來;
[0008]掃描所述新數(shù)據(jù)塊,對(duì)所述新數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行加操作;
[0009]根據(jù)所述新數(shù)據(jù)塊的引用信息,將所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行減操作;
[0010]進(jìn)行減操作后的引用計(jì)數(shù)滿足要求時(shí),對(duì)所述原有數(shù)據(jù)塊進(jìn)行回收。
[0011]結(jié)合第一方面,在第一方面的第一種可能的實(shí)施方式中,所述引用信息具體為所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的數(shù)據(jù)塊編號(hào)。
[0012]結(jié)合第一方面的第一種可能的實(shí)施方式,在第一方面的第二種可能的實(shí)施方式中,根據(jù)所述新數(shù)據(jù)塊的引用信息,將所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行減操作,具體包括:[0013]根據(jù)所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的數(shù)據(jù)塊編號(hào),找出所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊,將找出的所述原有數(shù)據(jù)塊的引用計(jì)數(shù)減一。
[0014]結(jié)合第一方面,在第一方面的第三種可能的實(shí)施方式中,所述方法還包括:
[0015]在生成所述新數(shù)據(jù)塊時(shí),所述新數(shù)據(jù)塊形成新檢查點(diǎn);
[0016]所述掃描所述新數(shù)據(jù)塊,對(duì)所述新數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行加操作,具體包括:
[0017]遍歷所述新檢查點(diǎn)中的所有數(shù)據(jù)塊,將每個(gè)所述數(shù)據(jù)塊的引用計(jì)數(shù)加一。
[0018]結(jié)合第一方面,在第一方面的第四種可能的實(shí)施方式中,所述方法還包括:
[0019]在生成所述新數(shù)據(jù)塊時(shí),所述新數(shù)據(jù)塊形成快照;
[0020]所述掃描所述新數(shù)據(jù)塊,對(duì)所述新數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行加操作,具體包括:
[0021]遍歷所述快照中的所有數(shù)據(jù)塊,將每個(gè)所述數(shù)據(jù)塊的引用計(jì)數(shù)加一。
[0022]結(jié)合第一方面,在第一方面的第五種可能的實(shí)施方式中,所述進(jìn)行減操作后的引用計(jì)數(shù)滿足要求,具體包括:所述進(jìn)行減操作后的引用計(jì)數(shù)為零。
[0023]第二方面,本發(fā)明還提供了一種文件系統(tǒng)的數(shù)據(jù)回收裝置,所述裝置包括:
[0024]第一處理單元,用于在生成新數(shù)據(jù)塊時(shí),記錄所述新數(shù)據(jù)塊的引用信息,所述引用信息用于記錄所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的信息;所述新數(shù)據(jù)塊是從該直接引用的原有數(shù)據(jù)塊復(fù)制而來;
[0025]第二處理單元,用于掃描所述新數(shù)據(jù)塊,對(duì)所述新數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行加操作;
[0026]第三處理單元,用于根據(jù)所述第一處理單元記錄的所述新數(shù)據(jù)塊的引用信息,將所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行減操作;
[0027]回收單元,用于經(jīng)過所述第三處理單元進(jìn)行減操作后的引用計(jì)數(shù)滿足要求時(shí),對(duì)所述原有數(shù)據(jù)塊進(jìn)行回收。
[0028]結(jié)合第二方面,在第二方面的第一種可能的實(shí)施方式中,所述第一處理單元記錄的所述引用信息具體為所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的數(shù)據(jù)塊編號(hào)。
[0029]結(jié)合第二方面的第一種可能的實(shí)施方式,在第二方面的第二種可能的實(shí)施方式中,所述第三處理單元具體用于根據(jù)所述第一處理單元記錄的所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的數(shù)據(jù)塊編號(hào),找出所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊,將找出的所述原有數(shù)據(jù)塊的引用計(jì)數(shù)減一。
[0030]結(jié)合第二方面,在第二方面的第三種可能的實(shí)施方式中,所述第一處理單元還用于在生成所述新數(shù)據(jù)塊時(shí),將所述新數(shù)據(jù)塊形成新檢查點(diǎn);
[0031 ] 所述第二處理單元具體用于遍歷所述新檢查點(diǎn)中的所有數(shù)據(jù)塊,將每個(gè)所述數(shù)據(jù)塊的引用計(jì)數(shù)加一。
[0032]結(jié)合第二方面,在第二方面的第四種可能的實(shí)施方式中,所述第一處理單元還用于在生成所述新數(shù)據(jù)塊時(shí),將所述新數(shù)據(jù)塊形成快照;
[0033]所述第二處理單元具體用于遍歷所述快照中的所有數(shù)據(jù)塊,將每個(gè)所述數(shù)據(jù)塊的引用計(jì)數(shù)加一。
[0034]結(jié)合第二方面,在第二方面的第五種可能的實(shí)施方式中,所述進(jìn)行減操作后的引用計(jì)數(shù)滿足要求,具體包括:所述進(jìn)行減操作后的引用計(jì)數(shù)為零。
[0035]本發(fā)明提供的文件系統(tǒng)的數(shù)據(jù)回收方法及裝置,通過記錄的引用信息(新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的數(shù)據(jù)塊編號(hào))進(jìn)行引用計(jì)數(shù)更新,一次性遍歷完成引用計(jì)數(shù)更新,不需要進(jìn)行逐級(jí)遍歷(不需要查詢一次向下遍歷一次),可以有效地縮短引用計(jì)數(shù)的更新時(shí)間,加快數(shù)據(jù)回收的速度,減輕文件系統(tǒng)的壓力。
【專利附圖】

【附圖說明】
[0036]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0037]圖1為本發(fā)明實(shí)施例提供的文件系統(tǒng)的數(shù)據(jù)回收方法流程圖;
[0038]圖2a為本發(fā)明實(shí)施例提供的一種文件系統(tǒng)的樹結(jié)構(gòu)示意圖;
[0039]圖2b為圖2a在生成新的檢查點(diǎn)之后的樹結(jié)構(gòu)示意圖;
[0040]圖2c為遍歷了圖2b中每個(gè)數(shù)據(jù)塊之后的樹結(jié)構(gòu)示意圖;
[0041]圖2d為對(duì)圖2c中新生成的數(shù)據(jù)塊直接引用的數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行減操作之后的樹結(jié)構(gòu)示意圖;
[0042]圖3為本發(fā)明實(shí)施例提供的文件系統(tǒng)的數(shù)據(jù)回收裝置示意圖。
【具體實(shí)施方式】
[0043]為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點(diǎn)能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而非全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0044]本發(fā)明實(shí)施例提供的文件系統(tǒng)的數(shù)據(jù)回收方法及裝置,適用于文件系統(tǒng)的存儲(chǔ)和資源回收,尤其適用于COW或ROW等支持快照的文件系統(tǒng)。在本發(fā)明實(shí)施例中,原有數(shù)據(jù)塊或新數(shù)據(jù)塊可以采用樹形結(jié)構(gòu)、鏈表結(jié)構(gòu)、數(shù)組結(jié)構(gòu)等數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ),在本發(fā)明實(shí)施例中以樹形結(jié)構(gòu)為例進(jìn)行說明,并不以此作為限制。
[0045]圖1是本發(fā)明實(shí)施例提供的文件系統(tǒng)的數(shù)據(jù)回收方法流程圖,如圖1所示,本發(fā)明實(shí)施例的文件系統(tǒng)的數(shù)據(jù)回收方法包括:
[0046]S101、在生成新數(shù)據(jù)塊時(shí),記錄所述新數(shù)據(jù)塊的引用信息。
[0047]所述引用信息用于記錄所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的信息,所述新數(shù)據(jù)塊是從該直接引用的原有數(shù)據(jù)塊復(fù)制而來,可以具體為所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的數(shù)據(jù)塊編號(hào)。
[0048]對(duì)于COW文件系統(tǒng)來說,在生成的新數(shù)據(jù)塊中,每個(gè)數(shù)據(jù)塊(chunk)有個(gè)字段(COWid字段)用于記錄所述引用信息,以表示這個(gè)數(shù)據(jù)塊是由哪個(gè)數(shù)據(jù)塊COW過來的。對(duì)于前后生成的兩個(gè)checkpoint,可以通過該字段在兩個(gè)checkpoint之間形成對(duì)應(yīng)關(guān)系。
[0049]具體地,以檢查點(diǎn)ckpl和ckp2為例,如下表I所示,每個(gè)數(shù)據(jù)塊可以包括檢查點(diǎn)號(hào)(ckpl或ckp2)、本身的數(shù)據(jù)塊編號(hào)ckid、引用的數(shù)據(jù)塊編號(hào)cowid和數(shù)據(jù)data,其中,數(shù)據(jù)塊編號(hào)ckid中還可以包括引用計(jì)數(shù)refcount,存儲(chǔ)于數(shù)據(jù)塊信息中。當(dāng)然,數(shù)據(jù)塊編號(hào)ckid和對(duì)應(yīng)的引用計(jì)數(shù)refcount的對(duì)應(yīng)關(guān)系也可以與數(shù)據(jù)塊信息分開存儲(chǔ),存儲(chǔ)到其他位置,只要能夠根據(jù)數(shù)據(jù)塊編號(hào)Ckid找到對(duì)應(yīng)的引用計(jì)數(shù)refcount即可。
[0050]表 1
[0051」
【權(quán)利要求】
1.一種文件系統(tǒng)的數(shù)據(jù)回收方法,其特征在于,所述方法包括: 在生成新數(shù)據(jù)塊時(shí),記錄所述新數(shù)據(jù)塊的引用信息,所述引用信息用于記錄所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的信息;所述新數(shù)據(jù)塊是從該直接引用的原有數(shù)據(jù)塊復(fù)制而來; 掃描所述新數(shù)據(jù)塊,對(duì)所述新數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行加操作; 根據(jù)所述新數(shù)據(jù)塊的引用信息,將所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行減操作; 進(jìn)行減操作后的引用計(jì)數(shù)滿足要求時(shí),對(duì)所述原有數(shù)據(jù)塊進(jìn)行回收。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述引用信息具體為所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的數(shù)據(jù)塊編號(hào)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述新數(shù)據(jù)塊的引用信息,將所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行減操作,具體包括: 根據(jù)所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的數(shù)據(jù)塊編號(hào),找出所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊,將找出的所述原有數(shù)據(jù)塊的引用計(jì)數(shù)減一。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在生成所述新數(shù)據(jù)塊時(shí),所述新數(shù)據(jù)塊形成新檢查點(diǎn); 所述掃描所述新數(shù)據(jù)塊,對(duì)所述新數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行加操作,具體包括: 遍歷所述新檢查點(diǎn)中的所有數(shù)據(jù)塊,將每個(gè)所述數(shù)據(jù)塊的引用計(jì)數(shù)加一。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在生成所述新數(shù)據(jù)塊時(shí),所述新數(shù)據(jù)塊形成快照; 所述掃描所述新數(shù)據(jù)塊,對(duì)所述新數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行加操作,具體包括: 遍歷所述快照中的所有數(shù)據(jù)塊,將每個(gè)所述數(shù)據(jù)塊的引用計(jì)數(shù)加一。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述進(jìn)行減操作后的引用計(jì)數(shù)滿足要求,具體包括:所述進(jìn)行減操作后的引用計(jì)數(shù)為零。
7.一種文件系統(tǒng)的數(shù)據(jù)回收裝置,其特征在于,所述裝置包括: 第一處理單元,用于在生成新數(shù)據(jù)塊時(shí),記錄所述新數(shù)據(jù)塊的引用信息,所述引用信息用于記錄所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的信息;所述新數(shù)據(jù)塊是從該直接引用的原有數(shù)據(jù)塊復(fù)制而來; 第二處理單元,用于掃描所述新數(shù)據(jù)塊,對(duì)所述新數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行加操作;第三處理單元,用于根據(jù)所述第一處理單元記錄的所述新數(shù)據(jù)塊的引用信息,將所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的引用計(jì)數(shù)進(jìn)行減操作; 回收單元,用于經(jīng)過所述第三處理單元進(jìn)行減操作后的引用計(jì)數(shù)滿足要求時(shí),對(duì)所述原有數(shù)據(jù)塊進(jìn)行回收。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一處理單元記錄的所述引用信息具體為所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的數(shù)據(jù)塊編號(hào)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第三處理單元具體用于根據(jù)所述第一處理單元記錄的所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊的數(shù)據(jù)塊編號(hào),找出所述新數(shù)據(jù)塊所直接引用的原有數(shù)據(jù)塊,將找出的所述原有數(shù)據(jù)塊的引用計(jì)數(shù)減一。
10.根據(jù)權(quán)利要求7所 述的裝置,其特征在于,所述第一處理單元還用于在生成所述新數(shù)據(jù)塊時(shí),將所述新數(shù)據(jù)塊形成新檢查點(diǎn); 所述第二處理單元具體用于遍歷所述新檢查點(diǎn)中的所有數(shù)據(jù)塊,將每個(gè)所述數(shù)據(jù)塊的引用計(jì)數(shù)加一。
11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一處理單元還用于在生成所述新數(shù)據(jù)塊時(shí),將所述新數(shù)據(jù)塊形成快照; 所述第二處理單元具體用于遍歷所述快照中的所有數(shù)據(jù)塊,將每個(gè)所述數(shù)據(jù)塊的引用計(jì)數(shù)加一。
12.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述進(jìn)行減操作后的引用計(jì)數(shù)滿足要求,具體包括:所述進(jìn)行減操作 后的引用計(jì)數(shù)為零。
【文檔編號(hào)】G06F17/30GK103886070SQ201410108824
【公開日】2014年6月25日 申請(qǐng)日期:2014年3月21日 優(yōu)先權(quán)日:2014年3月21日
【發(fā)明者】謝勇, 李育國(guó), 付旭東, 鐘延輝 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
佳木斯市| 延庆县| 弋阳县| 郓城县| 昂仁县| 句容市| 宿松县| 云和县| 平泉县| 盘锦市| 江源县| 同德县| 斗六市| 洞口县| 青阳县| 斗六市| 岳西县| 长宁区| 任丘市| 江油市| 武夷山市| 阜阳市| 江陵县| 来凤县| 视频| 黑山县| 中牟县| 万宁市| 曲沃县| 文登市| 布拖县| 安溪县| 保山市| 大厂| 拉孜县| 琼海市| 布拖县| 登封市| 怀宁县| 若羌县| 汉阴县|