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

文件系統(tǒng)的快照方法和裝置制造方法

文檔序號:6509072閱讀:205來源:國知局
文件系統(tǒng)的快照方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種文件系統(tǒng)的快照方法和裝置,涉及計算機【技術(shù)領(lǐng)域】解決了現(xiàn)有技術(shù)中創(chuàng)建快照時,增加創(chuàng)建快照的時間,以及占用大量的存儲空間的問題。所述方法包括:確定待創(chuàng)建快照的目錄;在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引;所述快照索引中包括快照標識、快照時間戳和快照變化列表;其中,所述快照標識為所述目錄創(chuàng)建所述快照索引的標識;所述快照時間戳為所述目錄創(chuàng)建所述快照索引的系統(tǒng)時間;所述快照變化列表包括新建列表和刪除列表。本發(fā)明實施例適用于文件系統(tǒng)的快照處理過程中。
【專利說明】文件系統(tǒng)的快照方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,尤其涉及一種文件系統(tǒng)的快照方法和裝置。
【背景技術(shù)】
[0002]隨著計算機技術(shù)在各個領(lǐng)域的廣泛應(yīng)用,信息量迅速增長,企業(yè)的生產(chǎn)以及個人的生活對計算機數(shù)據(jù)的依賴性逐步增強。因此,為了能夠?qū)崿F(xiàn)在線存儲并防范數(shù)據(jù)的丟失,快照技術(shù)應(yīng)運而生。
[0003]目前的快照技術(shù)大致可分成兩類,分割鏡像(SplitMirror)和寫時復(fù)制(Copy-On-ffrite, C0W)。其中,分割鏡像快照技術(shù)在快照時間點到來之前,要為源數(shù)據(jù)卷創(chuàng)建并維護一個完整的鏡像卷。在快照時間點到來時,鏡像操作被停止,鏡像卷轉(zhuǎn)化為快照卷,獲得一份數(shù)據(jù)快照??煺站碓谕瓿蓴?shù)據(jù)備份等應(yīng)用后,將與源數(shù)據(jù)卷重新同步,重新成為鏡像卷。對于要同時保留多個時間點快照的源數(shù)據(jù)卷,則必須預(yù)先為其創(chuàng)建多個鏡像卷。寫時復(fù)制快照技術(shù)需要預(yù)留一些存儲空間,建立快照卷。當(dāng)我們?yōu)橐粋€源數(shù)據(jù)卷創(chuàng)建一個快照之后,這些預(yù)留的存儲空間用來存儲被更新源數(shù)據(jù)卷的舊數(shù)據(jù)。寫時復(fù)制快照在初始化的過程中僅僅創(chuàng)建用來描述源數(shù)據(jù)卷位置的指針信息(元數(shù)據(jù)),而不是完整的將源數(shù)據(jù)卷拷貝過來。
[0004]在實現(xiàn)文件系統(tǒng)的快照的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:對于分割鏡像快照技術(shù),預(yù)先創(chuàng)建鏡像卷占用了大量的存儲資源,造成資源的浪費。對于寫時復(fù)制快照技術(shù),在創(chuàng)建快照時需要復(fù)制元數(shù)據(jù),增加創(chuàng)建快照的時間,以及占用大量的存儲空間。

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

[0005]本發(fā)明的實施例提供一種文件系統(tǒng)的快照方法和裝置,縮短了創(chuàng)建快照的時間,以及節(jié)省了快照占用的存儲空間。
[0006]為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
[0007]第一方面,本發(fā)明提供一種文件系統(tǒng)的快照方法,包括:
[0008]確定待創(chuàng)建快照的目錄;
[0009]在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引;所述快照索引中包括快照標識、快照時間戳和快照變化列表;其中,所述快照標識為所述目錄創(chuàng)建所述快照索引的標識;所述快照時間戳為所述目錄創(chuàng)建所述快照索引的系統(tǒng)時間;所述快照變化列表包括新建列表和刪除列表,所述新建列表包括創(chuàng)建所述快照索引之后,在所述目錄中新建文件以及修改后的文件的元數(shù)據(jù)的指針;所述刪除列表包括所述目錄創(chuàng)建所述快照索引之后,在所述目錄中被刪除文件以及被修改文件的原始文件的元數(shù)據(jù)的指針。
[0010]在第一方面的第一種可能的實現(xiàn)方式中,所述在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引包括:
[0011]根據(jù)所述目錄的元數(shù)據(jù)中的快照屬性判斷是否已創(chuàng)建快照,所述快照屬性用于指示所述目錄是否已創(chuàng)建快照;
[0012]當(dāng)所述快照屬性指示未創(chuàng)建快照時,在所述目錄的元數(shù)據(jù)中添加所述快照索引,將所述快照索引中的快照標識置為預(yù)定值,并為所述快照索引分配前向指針和后向指針,將所述前向指針和后向指針均設(shè)為空;其中,所述前向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的前一個快照索引的后向指針;所述后向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的下一個快照索引的前向指針;
[0013]當(dāng)所述快照屬性指示已創(chuàng)建快照時,在所述目錄的元數(shù)據(jù)中添加所述快照索引,并將所述快照索引的前向指針指向前一個快照索引的后向指針,將所述前一個快照索引的后向指針指向所述快照索引的前向指針。
[0014]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引之后,所述方法還包括:
[0015]根據(jù)快照標識和快照時間戳中的至少一種,查找所述目錄的元數(shù)據(jù)中待刪除的快照索引;
[0016]判斷所述待刪除的快照索引的前向指針和后向指針是否均為空;
[0017]當(dāng)所述待刪除的快照索引的前向指針和后向指針均為空時,將所述待刪除的快照索引刪除;
[0018]當(dāng)所述待刪除的快照索引的前向指針為空,且所述待刪除的快照索引的后向指針不為空時,將所述待刪除的快照索引的快照變化列表存入下一個快照索引的快照變化列表中,并將所述待刪除的快照索引刪除,其中,所述下一個快照索引的前向指針設(shè)為空;
[0019]當(dāng)所述待刪除的快照索引的后向指針為空,所述待刪除的快照索引的前向指針不為空,或者當(dāng)所述待刪除的快照索引的前向指針和后向指針均不為空時,將所述待刪除的快照索引的快照變化列表存入前一個快照索引的快照變化列表中,并將所述待刪除的快照索引刪除,其中,所述前一個快照索引的后向指針指向所述待刪除的快照索引的下一個快照索引的前向指針,所述下一個快照索引的前向指針指向所述前一個快照索引的后向指針。
[0020]在第一方面的第三種可能的實現(xiàn)方式中,在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引之后,所述方法還包括:
[0021]獲取在所述目錄下待處理的文件,以及對所述待處理的文件的操作;
[0022]根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表。
[0023]結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,當(dāng)所述對所述待處理的文件的操作為在所述目錄下新建文件時,所述根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表包括:
[0024]將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的新建列表中。
[0025]結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,當(dāng)所述對所述待處理的文件的操作為修改所述目錄下的文件時,所述根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表包括:
[0026]判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中;[0027]當(dāng)存在于所述新建列表中時,根據(jù)對所述待處理的文件的修改,修改所述待處理的文件的元數(shù)據(jù);
[0028]當(dāng)不存在于所述新建列表中時,將所述待處理的文件復(fù)制到第一存儲區(qū)域,所述待處理的文件的元數(shù)據(jù)復(fù)制到第二存儲區(qū)域,并將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,將修改后的文件的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
[0029]結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,當(dāng)所述對所述待處理的文件的操作為修改所述目錄下的文件的元數(shù)據(jù)時,所述根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表包括:
[0030]判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中;
[0031]當(dāng)存在于所述新建列表時,修改所述待處理的文件的元數(shù)據(jù);
[0032]當(dāng)不存在于所述新建列表時,將所述待處理的文件的元數(shù)據(jù)復(fù)制到第三存儲區(qū)域,將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,將修改后文件的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
[0033]結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,當(dāng)所述對所述待處理的文件的操作為刪除所述目錄下的文件時,所述根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表包括:
[0034]判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中;
[0035]當(dāng)存在于所述新建列表時,刪除所述新建列表中所述待處理的文件的元數(shù)據(jù)的指針;
[0036]當(dāng)不存在于所述新建列表時,刪除所述目錄的元數(shù)據(jù)中的目標指針,將所述待處理的文件復(fù)制到第四存儲區(qū)域,并將所述待處理的文件復(fù)制后的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,所述目標指針為所述目錄的元數(shù)據(jù)中指向所述待處理的文件的元數(shù)據(jù)的指針。
[0037]第二方面,本發(fā)明提供一種文件系統(tǒng)的快照裝置,包括:
[0038]確定單元,用于確定待創(chuàng)建快照的目錄;
[0039]創(chuàng)建單元,用于在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引;所述快照索引中包括快照標識、快照時間戳和快照變化列表;其中,所述快照標識為所述目錄創(chuàng)建所述快照索引的標識;所述快照時間戳為所述目錄創(chuàng)建所述快照索引的系統(tǒng)時間;所述快照變化列表包括新建列表和刪除列表,所述新建列表包括創(chuàng)建所述快照索引之后,在所述目錄中新建文件以及修改后的文件的元數(shù)據(jù)的指針;所述刪除列表包括所述目錄創(chuàng)建所述快照索引之后,在所述目錄中被刪除文件以及被修改文件的原始文件的元數(shù)據(jù)的指針。
[0040]在第二方面的第一種可能的實現(xiàn)方式中,所述創(chuàng)建單元包括:
[0041]判斷模塊,用于根據(jù)所述目錄的元數(shù)據(jù)中的快照屬性判斷是否已創(chuàng)建快照,所述快照屬性用于指示所述目錄是否已創(chuàng)建快照;
[0042]第一創(chuàng)建模塊,用于當(dāng)所述快照屬性指示未創(chuàng)建快照時,在所述目錄的元數(shù)據(jù)中添加所述快照索引,將所述快照索引中的快照標識置為預(yù)定值,并為所述快照索引分配前向指針和后向指針,將所述前向指針和后向指針均設(shè)為空;其中,所述前向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的前一個快照索引的后向指針;所述后向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的下一個快照索引的前向指針;
[0043]第二創(chuàng)建模塊,用于當(dāng)所述快照屬性指示已創(chuàng)建快照時,在所述目錄的元數(shù)據(jù)中添加所述快照索引,并將所述快照索引的前向指針指向前一個快照索引的后向指針,將所述前一個快照索弓I的后向指針指向所述快照索弓I的前向指針。
[0044]結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述裝置還包括:
[0045]查找單元,用于根據(jù)快照標識和快照時間戳中的至少一種,查找所述目錄的元數(shù)據(jù)中待刪除的快照索引;
[0046]判斷單元,用于判斷所述待刪除的快照索引的前向指針和后向指針是否均為空;
[0047]刪除單元,用于當(dāng)所述待刪除的快照索引的前向指針和后向指針均為空時,將所述待刪除的快照索引刪除;
[0048]第一處理單元,用于當(dāng)所述待刪除的快照索引的前向指針為空,且所述待刪除的快照索引的后向指針不為空時,將所述待刪除的快照索引的快照變化列表存入下一個快照索引的快照變化列表中,并將所述待刪除的快照索引刪除,其中,所述下一個快照索引的前向指針設(shè)為空;
[0049]第二處理單元,用于當(dāng)所述待刪除的快照索引的后向指針為空,所述待刪除的快照索引的前向指針不為空,或者當(dāng)所述待刪除的快照索引的前向指針和后向指針均不為空時,將所述待刪除的快照索引的快照變化列表存入前一個快照索引的快照變化列表中,并將所述待刪除的快照索引刪除,其中,所述前一個快照索引的后向指針指向所述待刪除的快照索引的下一個快照索引的前向指針,所述下一個快照索引的前向指針指向所述前一個快照索引的后向指針。
[0050]在第二方面的第三種可能的實現(xiàn)方式中,所述裝置還包括:
[0051]獲取單元,用于獲取在所述目錄下待處理的文件,以及對所述待處理的文件的操作;
[0052]更新單元,用于根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表。
[0053]結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,當(dāng)所述獲取單元獲取到對所述待處理的文件的操作為在所述目錄下新建文件時,所述更新單元包括:
[0054]第一處理模塊,用于將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的新建列表中。
[0055]結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,當(dāng)所述獲取單元獲取到對所述待處理的文件的操作為修改所述目錄下的文件時,所述更新單元包括:
[0056]判斷模塊,用于判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中;
[0057]第一修改模塊,用于當(dāng)存在于所述新建列表中時,根據(jù)對所述待處理的文件的修改,修改所述待處理的文件的元數(shù)據(jù);
[0058]第二處理模塊,用于當(dāng)不存在于所述新建列表中時,將所述待處理的文件復(fù)制到第一存儲區(qū)域,所述待處理的文件的元數(shù)據(jù)復(fù)制到第二存儲區(qū)域,并將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,將修改后的文件的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
[0059]結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,當(dāng)所述獲取單元獲取到對所述待處理的文件的操作為修改所述目錄下的文件的元數(shù)據(jù)時,所述更新單元包括:
[0060]所述判斷模塊,還用于判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中;
[0061]第二修改模塊,用于當(dāng)存在于所述新建列表時,修改所述待處理的文件的元數(shù)據(jù);
[0062]第三處理模塊,用于當(dāng)不存在于所述新建列表時,將所述待處理的文件的元數(shù)據(jù)復(fù)制到第三存儲區(qū)域,所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,將所述修改后的文件的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
[0063]結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,當(dāng)所述獲取單元獲取到對所述待處理的文件的操作為刪除所述目錄下的文件時,所述更新單元包括:
[0064]所述判斷模塊,還用于判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中;
[0065]刪除模塊,用于當(dāng)存在于所述新建列表時,刪除所述新建列表中所述待處理的文件的元數(shù)據(jù)的指針;
[0066]第四處理模塊,用于當(dāng)不存在于所述新建列表時,刪除所述目錄的元數(shù)據(jù)中的目標指針,將所述待處理的文件復(fù)制到第四存儲區(qū)域,并將所述待處理的文件復(fù)制后的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,所述目標指針為所述目錄的元數(shù)據(jù)中指向所述待處理的文件的元數(shù)據(jù)的指針。
[0067]本發(fā)明實施例提供一種文件系統(tǒng)的快照方法和裝置,通過確定待創(chuàng)建快照的目錄,然后在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引;所述快照索引中包括快照標識、快照時間戳和快照變化列表;其中,所述快照標識為所述目錄創(chuàng)建所述快照索引的標識;所述快照時間戳為所述目錄創(chuàng)建所述快照索引的系統(tǒng)時間;所述快照變化列表包括新建列表和刪除列表。本發(fā)明實施例解決了現(xiàn)有技術(shù)中創(chuàng)建快照時,增加創(chuàng)建快照的時間,以及占用大量的存儲空間的問題,縮短了創(chuàng)建快照的時間,以及節(jié)省了快照占用的存儲空間。
【專利附圖】

【附圖說明】
[0068]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[0069]圖1為本發(fā)明實施例提供的一種文件系統(tǒng)的快照方法的流程圖;
[0070]圖2為本發(fā)明實施例提供的一種文件系統(tǒng)的快照方法中步驟102的流程圖;
[0071]圖3為本發(fā)明實施例提供的快照索引的示意圖;
[0072]圖4為本發(fā)明實施例提供的3個快照索引的示意圖;
[0073]圖5為本發(fā)明實施例提供的一種文件系統(tǒng)的快照方法中刪除快照索引的流程圖;
[0074]圖6為本發(fā)明實施例提供的一種文件系統(tǒng)的快照方法中處理創(chuàng)建快照目錄中的文件的流程圖;
[0075]圖7為本發(fā)明實施例提供的一種文件系統(tǒng)的快照方法的流程圖;
[0076]圖8為本發(fā)明實施例提供的一種文件系統(tǒng)的快照裝置的結(jié)構(gòu)圖;
[0077]圖9為本發(fā)明實施例提供的另一種文件系統(tǒng)的快照裝置的結(jié)構(gòu)圖;
[0078]圖10為本發(fā)明實施例提供的又一種文件系統(tǒng)的快照裝置的結(jié)構(gòu)圖;
[0079]圖11為本發(fā)明實施例提供的再又一種文件系統(tǒng)的快照裝置的結(jié)構(gòu)圖;
[0080]圖12為本發(fā)明實施例提供的文件系統(tǒng)的快照裝置中一種更新單元的結(jié)構(gòu)圖;
[0081]圖13為本發(fā)明實施例提供的文件系統(tǒng)的快照裝置中另一種更新單元的結(jié)構(gòu)圖;
[0082]圖14為本發(fā)明實施例提供的文件系統(tǒng)的快照裝置中又一種更新單元的結(jié)構(gòu)圖;
[0083]圖15為本發(fā)明實施例提供的文件系統(tǒng)的快照裝置中再又一種更新單元的結(jié)構(gòu)圖;
[0084]圖16為本發(fā)明實施例提供的一種文件系統(tǒng)的快照裝置的硬件結(jié)構(gòu)圖。
【具體實施方式】
[0085]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0086]本發(fā)明實施例針對文件系統(tǒng)的快照,提供一種文件系統(tǒng)的快照方法,本實施例執(zhí)行主體為終端,如圖1所示,所述方法包括:
[0087]101、確定待創(chuàng)建快照的目錄。
[0088]其中,所述待創(chuàng)建快照的目錄可以包括子目錄和子文件。
[0089]102、在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引;所述快照索引中包括快照標識、快照時間戳和快照變化列表;其中,所述快照標識為所述目錄創(chuàng)建所述快照索引的標識;所述快照時間戳為所述目錄創(chuàng)建所述快照索引的系統(tǒng)時間;所述快照變化列表包括新建列表和刪除列表,所述新建列表包括創(chuàng)建所述快照索引之后,在所述目錄中新建文件以及修改后的文件的元數(shù)據(jù)的指針;所述刪除列表包括所述目錄創(chuàng)建所述快照索引之后,在所述目錄中被刪除文件以及被修改文件的原始文件的元數(shù)據(jù)的指針。
[0090]對于創(chuàng)建快照的目錄,在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引,所述快照索引中包括快照標識、快照時間戳和快照變化列表。
[0091]其中,所述快照標識為所述目錄創(chuàng)建所述快照索引的標識,當(dāng)所述快照屬性指示未創(chuàng)建快照時,即當(dāng)所述目錄第一次創(chuàng)建快照時,將所述快照索引中的快照標識置為預(yù)定值,例如將所述快照標識設(shè)為I;當(dāng)所述快照屬性指示已創(chuàng)建快照時,根據(jù)所述目錄的元數(shù)據(jù)中前一個快照索引的快照標識,將所述快照索引的快照標識置為遞增整數(shù)。
[0092]其中,在所述目錄中新建文件以及修改后的文件的元數(shù)據(jù)的指針,是指所述目錄中新建文件以及修改后的文件的元數(shù)據(jù)的存儲路徑;在所述目錄中被刪除文件以及被修改文件的原始文件的元數(shù)據(jù)的指針,是指在所述目錄中被刪除文件以及被修改文件的原始文件的元數(shù)據(jù)的的存儲路徑。
[0093]其中,新建列表的作用是為了在所述目錄創(chuàng)建所述快照索引之后,所述目標中的文件有更新時,可以實時記錄下來,以備后續(xù)恢復(fù)數(shù)據(jù)。所述刪除列表的作用是為了在所述目錄創(chuàng)建所述快照索引之后,刪除或者修改后的文件可以保存下來,以備后續(xù)恢復(fù)數(shù)據(jù)。
[0094]本發(fā)明實施例提供一種文件系統(tǒng)的快照方法,通過確定待創(chuàng)建快照的目錄,然后在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引,所述快照索引中包括快照標識、快照時間戳和快照變化列表。本發(fā)明實施例解決了現(xiàn)有技術(shù)中創(chuàng)建快照時,增加創(chuàng)建快照的時間,以及占用大量的存儲空間的問題,縮短了創(chuàng)建快照的時間,以及節(jié)省了快照占用的存儲空間。
[0095]在所述目錄的元數(shù)據(jù)中還存在快照屬性,用于指示所述目錄是否已創(chuàng)建快照,對于已創(chuàng)建快照的目錄,在所述目錄的元數(shù)據(jù)中的快照屬性標識為已創(chuàng)建快照,對于還沒有創(chuàng)建快照的目錄,則在所述目錄的元數(shù)據(jù)中的快照屬性標識為沒有創(chuàng)建快照,如圖2所示,在上述步驟102中,在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引還包括:
[0096]201、根據(jù)所述目錄的元數(shù)據(jù)中的快照屬性判斷是否已創(chuàng)建快照,所述快照屬性用于指示所述目錄是否已創(chuàng)建快照;
[0097]202、當(dāng)所述快照屬性指示未創(chuàng)建快照時,在所述目錄的元數(shù)據(jù)中添加所述快照索弓I,將所述快照索引中的快照標識置為預(yù)定值,例如將所述快照標識設(shè)為I,并為所述快照索引分配前向指針和后向指針,將所述前向指針和后向指針均設(shè)為空;其中,所述前向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的前一個快照索引的后向指針;所述后向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的下一個快照索引的前向指針。
[0098]如圖3所示。其中,所述前向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的前一個快照索引的后向指針,所述后向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的下一個快照索引的前向指針。
[0099]203、當(dāng)所述快照屬性指示已創(chuàng)建快照時,在所述目錄的元數(shù)據(jù)中添加所述快照索弓丨,并將所述快照索引的前向指針指向前一個快照索引的后向指針,將所述前一個快照索弓丨的后向指針指向所述快照索引的前向指針。
[0100]其中,根據(jù)所述目錄的元數(shù)據(jù)中的前一個快照索引的快照標識,將所述快照索引中的快照標識置為遞增整數(shù)。例如,所述前一個快照索引的快照標識為2時,則所述快照索引中的快照標識為3,并將所述快照索引的前向指針指向所述前一個快照索引的后向指針,且所述前一個快照索引的后向指針指向所述快照索引的前向指針,如圖4所示。
[0101]可選的,對于已經(jīng)創(chuàng)建快照的目錄,還存在對快照的刪除,即刪除所述目錄的快照索引,如圖5所示,包括如下步驟:
[0102]501、根據(jù)快照標識和快照時間戳中的至少一種,查找所述目錄的元數(shù)據(jù)中待刪除的快照索引。
[0103]由于所述快照索引的快照標識和快照時間戳都是所述快照索引的唯一標識,則通過快照標識和快照時間戳中的至少一種,查找所述目錄的元數(shù)據(jù)中待刪除的快照索引。[0104]502、判斷所述待刪除的快照索引的前向指針和后向指針是否均為空。
[0105]通過圖3和圖4可知,當(dāng)所述快照索引為所述目錄的唯一快照索引時,則其前向指針和后向指針均為空,當(dāng)所述快照索引不是所述目錄的唯一快照索引時,所述快照索引的前向指針和后向指針中至少有一個指針不為空,因此,判斷所述待刪除的快照索引的前向指針和后向指針,確定對所述快照索引的處理。
[0106]503、當(dāng)所述待刪除的快照索引的前向指針和后向指針均為空時,將所述待刪除的快照索引刪除。
[0107]當(dāng)所述快照索引的前向指針和后向指針均為空時,說明所述快照索引為所述目錄的唯一快照索引,則直接將所述快照索引刪除。
[0108]504、當(dāng)所述待刪除的快照索引的前向指針為空,且所述待刪除的快照索引的后向指針不為空時,將所述待刪除的快照索引的快照變化列表存入下一個快照索引的快照變化列表中,并將所述待刪除的快照索引刪除,其中,所述下一個快照索引的前向指針設(shè)為空。
[0109]當(dāng)所述待刪除的快照索引的前向指針為空,且所述待刪除的快照索引的后向指針不為空時,所述快照索引為所述目錄的第一個快照索引,將所述待刪除的快照索引的快照變化列表存入下一個快照索引的快照變化列表中,以便于日后恢復(fù)所述目錄為第一個快照索引時的狀態(tài),然后將所述待刪除的快照索引刪除。其中,由于將所述待刪除的快照索引刪除后,所述下一個快照索引為所述目錄的第一個快照索引了,則將所述下一個快照索引的前向指針設(shè)為空。
[0110]在這里要強調(diào)的是,所述第一個快照索引與快照標識為I的快照索引并不一定相同,存在快照標識為I的快照索引被刪除,而目前第一個快照索引為快照標識為2的快照索引的情況。
[0111]505、當(dāng)所述待刪除的快照索引的后向指針為空,所述待刪除的快照索引的前向指針不為空,或者當(dāng)所述待刪除的快照索引的前向指針和后向指針均不為空時,將所述待刪除的快照索引的快照變化列表存入前一個快照索引的快照變化列表中,并將所述待刪除的快照索引刪除,其中,所述前一個快照索引的后向指針指向所述待刪除的快照索引的下一個快照索引的前向指針,所述下一個快照索引的前向指針指向所述前一個快照索引的后向指針。
[0112]例如,圖4所示,當(dāng)所述待刪除的快照索引的后向指針為空,所述待刪除的快照索引的前向指針不為空,為快照索引3,當(dāng)所述待刪除的快照索引的前向指針和后向指針均不為空時,為快照索引2。當(dāng)所述待刪除的快照索引為快照索引3時,將所述快照索引3的快照變化列表存入快照索引2的快照變化列表中,以便后續(xù)要恢復(fù)所述目錄為快照索引2時的狀態(tài)要用到快照索引3中的快照變化列表中的內(nèi)容,并將所述快照索引2的后向指針設(shè)為空。當(dāng)所述待刪除的快照索引為快照索引2時,將快照索引2的快照變化列表存入快照索引I的快照變化列表中,以便于日后在恢復(fù)所述目錄為快照索引I時的狀態(tài)要用到快照索引2中的快照變化列表中的內(nèi)容,并將快照索引I的后向指針指向快照索引3的前向指針。
[0113]可選的,如圖6所示,在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引之后,還包括對所述目錄中文件變化的記錄,包括:
[0114]601、獲取在所述目錄下待處理的文件,以及對所述待處理的文件的操作;[0115]602、根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表。
[0116]由于在每次對所述目錄創(chuàng)建快照之后,所述目錄中的文件都可能會出現(xiàn)變化,因此,需要在當(dāng)次的快照索引中記錄所述目錄下文件的變化,例如,在所述目錄創(chuàng)建第一個快照索引之后,所述目錄中文件的變化記錄在所述第一個快照索引的快照變化列表中,當(dāng)所述目錄創(chuàng)建第二個快照索引之后,所述目錄中文件的變化記錄在所述第二個快照索引的快照變化列表中,依次類推。上述變化存在三種情況:新建文件、修改文件以及刪除文件,所述文件可以為一個文檔或者為一個特定文件,例如文件夾。
[0117]第一種情況:當(dāng)所述對所述待處理的文件的操作為在所述目錄下新建所述文件時,步驟602則是將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的新建列表中。
[0118]第二種情況中對文件的修改包括兩部分,分別是修改文件和修改文件的元數(shù)據(jù)。當(dāng)所述對所述待處理的文件的操作為修改所述目錄下的文件時,步驟602,所述根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表包括:
[0119]判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中;
[0120]當(dāng)存在于所述新建列表中時,根據(jù)對所述待處理的文件的修改,修改所述待處理的文件的元數(shù)據(jù);
[0121]當(dāng)不存在于所述新建列表中時,將所述待處理的文件復(fù)制到第一存儲區(qū)域,所述待處理的文件的元數(shù)據(jù)復(fù)制到第二存儲區(qū)域,并將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,將修改后的文件的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
[0122]其中,當(dāng)所述文件的元數(shù)據(jù)的指針存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中時,表示所述文件為本次所述目錄創(chuàng)建快照索引之后新建的文件,則根據(jù)對所述文件的修改,修改所述文件的元數(shù)據(jù)。例如,當(dāng)對所述文件進行修改后,所述文件的修改時間有變化,則將所述文件的元數(shù)據(jù)中的修改時間進行更新。
[0123]當(dāng)所述文件的元數(shù)據(jù)的指針不存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中時,表示所述文件是本次所述目錄創(chuàng)建所述快照索引之前就已經(jīng)存在于所述目錄中,則將修改前所述文件復(fù)制到第一存儲區(qū)域,所述修改前所述文件的元數(shù)據(jù)復(fù)制到第二存儲區(qū)域,并將所述修改前所述文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,修改后所述文件的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
[0124]第二種情況中,當(dāng)所述對所述待處理的文件的操作為修改所述目錄下的文件的元數(shù)據(jù)時,步驟602,所述根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表包括:
[0125]判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中;
[0126]當(dāng)存在于所述新建列表時,修改所述待處理的文件的元數(shù)據(jù);
[0127]當(dāng)不存在于所述新建列表時,將所述待處理的文件的元數(shù)據(jù)復(fù)制到第三存儲區(qū)域,將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,將修改后的文件的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
[0128]其中,當(dāng)所述文件的元數(shù)據(jù)的指針存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中時,表示所述文件為本次所述目錄創(chuàng)建快照索引之后新建的文件,則直接修改所述文件的元數(shù)據(jù)。例如,當(dāng)要對所述文件的元數(shù)據(jù)中文件創(chuàng)建時間進行修改時,則將所述指針指向的元數(shù)據(jù)中的創(chuàng)建時間進行更新。
[0129]當(dāng)所述文件的元數(shù)據(jù)的指針不存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中時,表示所述文件是本次所述目錄創(chuàng)建快照索引之前就已經(jīng)存在于所述目錄中,則將所述文件修改前的元數(shù)據(jù)復(fù)制到第三存儲區(qū)域,所述文件修改前的元數(shù)據(jù)的指針存入所述最后一個快照索引的刪除列表中,所述文件修改后的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
[0130]第三種情況,當(dāng)所述對所述待處理的文件的操作為刪除所述目錄下的文件時,步驟602,所述根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表包括:
[0131]判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中;
[0132]當(dāng)存在于所述新建列表時,刪除所述新建列表中所述待處理的文件的元數(shù)據(jù)的指針;
[0133]當(dāng)不存在于所述新建列表時,刪除所述目錄的元數(shù)據(jù)中的目標指針,將所述待處理的文件復(fù)制到第四存儲區(qū)域,并將所述待處理的文件復(fù)制后的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,所述目標指針為所述目錄的元數(shù)據(jù)中指向所述待處理的文件的元數(shù)據(jù)的指針。
[0134]其中,當(dāng)所述文件的元數(shù)據(jù)的指針存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中時,表示所述文件為本次所述目錄創(chuàng)建快照索引之后新建的文件,則在刪除所述文件和所述文件的元數(shù)據(jù)的同時,刪除所述新建列表中所述文件的元數(shù)據(jù)的指針。
[0135]當(dāng)所述文件的元數(shù)據(jù)的指針不存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中時,表示所述文件是本次所述目錄創(chuàng)建快照索引之前就已經(jīng)存在于所述目錄中,則刪除所述目錄的元數(shù)據(jù)中的目標指針,所述目標指針為在所述目錄的元數(shù)據(jù)中指向所述文件的元數(shù)據(jù)的指針,然后將刪除前所述文件復(fù)制到第四存儲區(qū)域,并將復(fù)制后所述文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中。
[0136]為了本領(lǐng)域技術(shù)人員更好的理解本發(fā)明實施例提供的文件系統(tǒng)的快照方法的技術(shù)方案,下面通過具體的實施例對本發(fā)明提供的文件系統(tǒng)的快照方法進行詳細說明。
[0137]本實施例以本地文件系統(tǒng)為例,如圖7所示,執(zhí)行主體為終端,當(dāng)客戶進程發(fā)起快照請求時,文件系統(tǒng)的一個進程接收該請求,并執(zhí)行如下步驟:
[0138]701、根據(jù)所述快照請求,確定待創(chuàng)建快照的目錄。
[0139]所述快照請求中包括帶創(chuàng)建快照的目錄。
[0140]702、判斷所述目錄創(chuàng)建快照的次數(shù)是否超過最大值;
[0141]703、當(dāng)所述目錄創(chuàng)建快照的次數(shù)超過最大值時,顯示創(chuàng)建快照失敗的提示信息;
[0142]704、當(dāng)所述目錄創(chuàng)建快照的次數(shù)沒有超過最大值時,在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引。
[0143]其中,步驟704的處理過程可以參考圖1和圖2所述的步驟102,此處不再贅述。
[0144]705、顯示創(chuàng)建快照成功的提示信息。
[0145]本地文件系統(tǒng)也可以進行刪除快照的操作,具體參見圖5所示的處理過程,此處不再贅述。
[0146]本地文件系統(tǒng)對本次所述目錄創(chuàng)建快照的快照索引之后,還包括對所述目錄下文件的操作,如新建、修改和刪除文件,可以參考圖6所示的處理過程,此處不再贅述。
[0147]上述文件系統(tǒng)的快照方法還可以應(yīng)用于分布式文件系統(tǒng)的快照方法,其中,分布式文件系統(tǒng)是指文件系統(tǒng)管理的物理存儲資源不一定直接連接在本地節(jié)點上,而是通過計算機網(wǎng)絡(luò)與節(jié)點相連。其中,文件系統(tǒng)中的元數(shù)據(jù)是通過元數(shù)據(jù)服務(wù)器進行管理,由客戶端通過網(wǎng)絡(luò)傳輸協(xié)議將消息傳遞給元數(shù)據(jù)服務(wù)器,由元數(shù)據(jù)服務(wù)器進行文件系統(tǒng)的快照,例如,當(dāng)要創(chuàng)建快照時,將快照請求發(fā)送給所述元數(shù)據(jù)服務(wù)器,所述元數(shù)據(jù)服務(wù)器根據(jù)圖1、圖2以及圖7所示的處理過程進行操作,并向客戶端返回快照創(chuàng)建成功或者失敗的消息。同樣,刪除快照索引時,將刪除快照索引的請求消息發(fā)送給所述元數(shù)據(jù)服務(wù)器,所述元數(shù)據(jù)服務(wù)器根據(jù)圖5所示的處理過程進行操作,并返回操作結(jié)果。對于目錄創(chuàng)建快照之后,對所述目錄下文件的操作,也可以向所述元數(shù)據(jù)服務(wù)器發(fā)送請求,所述元數(shù)據(jù)服務(wù)器根據(jù)圖6所示的處理過程進行操作,并返回操作結(jié)果。
[0148]通過本發(fā)明實施例可以在創(chuàng)建快照時,解決現(xiàn)有技術(shù)中對于分割鏡像快照技術(shù),預(yù)先創(chuàng)建鏡像卷占用了大量的存儲資源,造成資源的浪費的問題,同時解決寫時復(fù)制快照技術(shù)中,在創(chuàng)建快照時需要復(fù)制元數(shù)據(jù),增加創(chuàng)建快照的時間,以及占用大量的存儲空間的問題。本發(fā)明實施例在創(chuàng)建快照時,不用預(yù)先創(chuàng)建鏡像卷,也不用復(fù)制元數(shù)據(jù),因此縮短了創(chuàng)建快照的時間,以及節(jié)省了快照占用的存儲空間。
[0149]如圖8所示,本發(fā)明實施例提供一種文件系統(tǒng)的快照裝置80,包括確定單元801和創(chuàng)建單元802。
[0150]其中,確定單元801,用于確定待創(chuàng)建快照的目錄;
[0151]創(chuàng)建單元802,用于用于在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引;所述快照索引中包括快照標識、快照時間戳和快照變化列表;其中,所述快照標識為所述目錄創(chuàng)建所述快照索引的標識;所述快照時間戳為所述目錄創(chuàng)建所述快照索引的系統(tǒng)時間;所述快照變化列表包括新建列表和刪除列表,所述新建列表包括創(chuàng)建所述快照索引之后,在所述目錄中新建文件以及修改后的文件的元數(shù)據(jù)的指針;所述刪除列表包括所述目錄創(chuàng)建所述快照索引之后,在所述目錄中被刪除文件以及被修改文件的原始文件的元數(shù)據(jù)的指針。
[0152]本發(fā)明實施例提供一種文件系統(tǒng)的快照裝置,通過確定待創(chuàng)建快照的目錄,然后在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引,其中,所述快照索引中包括快照標識、快照時間戳和快照變化列表。本發(fā)明實施例解決了現(xiàn)有技術(shù)中創(chuàng)建快照時,增加創(chuàng)建快照的時間,以及占用大量的存儲空間的問題,縮短了創(chuàng)建快照的時間,以及節(jié)省了快照占用的存儲空間。
[0153]可選的,如圖9所示,所述創(chuàng)建單元包括:
[0154]判斷模塊901,用于根據(jù)所述目錄的元數(shù)據(jù)中的快照屬性判斷是否已創(chuàng)建快照,所述快照屬性用于指示所述目錄是否已創(chuàng)建快照;
[0155]第一創(chuàng)建模塊902,用于當(dāng)所述快照屬性指示未創(chuàng)建快照時,在所述目錄的元數(shù)據(jù)中添加所述快照索引,將所述快照索引中的快照標識置為預(yù)定值,并為所述快照索引分配前向指針和后向指針,將所述前向指針和后向指針均設(shè)為空;其中,所述前向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的前一個快照索引的后向指針;所述后向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的下一個快照索引的前向指針;
[0156]第二創(chuàng)建模塊903,用于當(dāng)所述快照屬性指示已創(chuàng)建快照時,在所述目錄的元數(shù)據(jù)中添加所述快照索引,并將所述快照索引的前向指針指向前一個快照索引的后向指針,將所述前一個快照索引的后向指針指向所述快照索引的前向指針。
[0157]可選的,如圖10所示,所述裝置還包括:
[0158]查找單元1001,用于根據(jù)快照標識和快照時間戳中的至少一種,查找所述目錄的元數(shù)據(jù)中待刪除的快照索引;
[0159]判斷單元1002,用于判斷所述待刪除的快照索引的前向指針和后向指針是否均為空;
[0160]刪除單元1003,用于當(dāng)所述待刪除的快照索引的前向指針和后向指針均為空時,將所述待刪除的快照索引刪除;
[0161]第一處理單元1004,用于當(dāng)所述待刪除的快照索引的前向指針為空,且所述待刪除的快照索引的后向指針不為空時,將所述待刪除的快照索引的快照變化列表存入下一個快照索引的快照變化列表中,并將所述待刪除的快照索引刪除,其中,所述下一個快照索引的前向指針設(shè)為空;
[0162]第二處理單元1005,用于當(dāng)所述待刪除的快照索引的后向指針為空,所述待刪除的快照索引的前向指針不為空,或者當(dāng)所述待刪除的快照索引的前向指針和后向指針均不為空時,將所述待刪除的快照索引的快照變化列表存入前一個快照索引的快照變化列表中,并將所述待刪除的快照索引刪除,其中,所述前一個快照索引的后向指針指向所述待刪除的快照索引的下一個快照索引的前向指針,所述下一個快照索引的前向指針指向所述前一個快照索引的后向指針。
[0163]可選的,如圖11所示,所述裝置還包括:
[0164]獲取單元1101,用于獲取在所述目錄下待處理的文件,以及對所述待處理的文件的操作;
[0165]更新單元1102,用于根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表。
[0166]可選的,當(dāng)所述獲取單元獲取到對所述待處理的文件的操作為在所述目錄下新建文件時,如圖12所示,所述更新單元包括:
[0167]第一處理模塊1201,用于用于將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的新建列表中。
[0168]可選的,當(dāng)所述獲取單元獲取到對所述待處理的文件的操作為修改所述目錄下的文件時,如圖13所示,所述更新單元包括:
[0169]判斷模塊1301,用于判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中;
[0170]第一修改模塊1302,用于當(dāng)存在于所述新建列表中時,根據(jù)對所述待處理的文件的修改,修改所述待處理的文件的元數(shù)據(jù);[0171]第二處理模塊1303,用于當(dāng)不存在于所述新建列表中時,將所述待處理的文件復(fù)制到第一存儲區(qū)域,所述待處理的文件的元數(shù)據(jù)復(fù)制到第二存儲區(qū)域,并將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,將修改后的文件的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
[0172]可選的,當(dāng)所述獲取單元獲取到對所述待處理的文件的操作為修改所述目錄下的文件的元數(shù)據(jù)時,如圖14所示,所述更新單元包括:
[0173]所述判斷模塊,還用于判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中;
[0174]第二修改模塊1401,用于當(dāng)存在于所述新建列表時,修改所述待處理的文件的元數(shù)據(jù);
[0175]第三處理模塊1402,用于當(dāng)不存在于所述新建列表時,將所述待處理的文件修改前的元數(shù)據(jù)復(fù)制到第三存儲區(qū)域,將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,將修改后的文件的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
[0176]可選的,當(dāng)所述獲取單元獲取到對所述待處理的文件的操作為刪除所述目錄下的文件時,如圖15所示,所述更新單元包括:
[0177]所述判斷模塊,還用于判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中;
[0178]刪除模塊1501,用于當(dāng)存在于所述新建列表時,刪除所述新建列表中所述待處理的文件的元數(shù)據(jù)的指針;
[0179]第四處理模塊1502,用于當(dāng)不存在于所述新建列表時,刪除所述目錄的元數(shù)據(jù)中的目標指針,將所述待處理的文件復(fù)制到第四存儲區(qū)域,并將所述待處理的文件復(fù)制后的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,所述目標指針為所述目錄的元數(shù)據(jù)中指向所述待處理的文件的元數(shù)據(jù)的指針。
[0180]上述裝置80處理本地文件系統(tǒng)的快照時,所述裝置80存在于本地終端,處理分布式文件系統(tǒng)的快照時,所述裝置80存在于元數(shù)據(jù)服務(wù)器中。
[0181]上述文件系統(tǒng)的快照裝置80中的各單元的具體實現(xiàn)過程,可參見上述文件系統(tǒng)的快照方法的處理過程。
[0182]上述圖8至圖15所示的文件系統(tǒng)的快照裝置可基于計算機或者其他網(wǎng)絡(luò)設(shè)備的硬件結(jié)構(gòu)來實現(xiàn),如圖16所示,文件系統(tǒng)的快照裝置16的硬件結(jié)構(gòu)包括存儲器1601、收發(fā)器1602、處理器1603和總線1604。
[0183]其中,處理器1603、存儲器1601和收發(fā)器1602通過總線1604。
[0184]存儲器1601可以是只讀存儲器(Read Only Memory, ROM),靜態(tài)存儲設(shè)備,動態(tài)存儲設(shè)備或者隨機存取存儲器(Random Access Memory, RAM)。存儲器1601可以存儲操作系統(tǒng)和其他應(yīng)用程序的指令以及應(yīng)用數(shù)據(jù)。存儲器1601中存儲的指令由處理器1603來運行執(zhí)行。
[0185]本發(fā)明實施例中存儲器1601可用于存儲實現(xiàn)圖8至圖15所示實施例中各功能單元的指令、接收到的創(chuàng)建快照請求、刪除快照請求以及對創(chuàng)建快照的目錄下的文件操作的請求。[0186]收發(fā)器1602用來實現(xiàn)文件系統(tǒng)的快照裝置16與其他設(shè)備,例如客戶端的通信。
[0187]本發(fā)明實施例中,收發(fā)器1602用于接收來自客戶進程或者客戶端的請求消息。
[0188]處理器1603可以采用通用的中央處理器(Central Processing Unit, CPU),微處理器,應(yīng)用專用集成電路(Application Specific Integrated Circuit, ASIC),或者一個或多個集成電路,用于執(zhí)行相關(guān)程序。
[0189]本發(fā)明實施例中,處理器1603用于執(zhí)行存儲器1601中的指令,具體執(zhí)行:
[0190]通過收發(fā)器1602接收的創(chuàng)建快照請求消息,確定待創(chuàng)建快照的目錄;
[0191]在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引;所述快照索引中包括快照標識、快照時間戳和快照變化列表;其中,所述快照標識為所述目錄創(chuàng)建所述快照索引的標識;所述快照時間戳為所述目錄創(chuàng)建所述快照索引的系統(tǒng)時間;所述快照變化列表包括新建列表和刪除列表,所述新建列表包括創(chuàng)建所述快照索引之后,在所述目錄中新建文件以及修改后的文件的元數(shù)據(jù)的指針;所述刪除列表包括所述目錄創(chuàng)建所述快照索引之后,在所述目錄中被刪除文件以及被修改文件的原始文件的元數(shù)據(jù)的指針。
[0192]其中,處理器1603中的具體處理過程可參考方法實施例部分以及圖8至圖15所示的服務(wù)網(wǎng)關(guān)實施例部分,這里不再贅述。
[0193]總線1604可包括一通路,在文件系統(tǒng)的快照裝置各個部件(例如處理器1603、存儲器1601和接收器1602)之間傳送信息。
[0194]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的過程,在此不再贅述。
[0195]在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0196]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0197]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
[0198]所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM, Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0199]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準。
【權(quán)利要求】
1.一種文件系統(tǒng)的快照方法,其特征在于,包括: 確定待創(chuàng)建快照的目錄; 在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引;所述快照索引中包括快照標識、快照時間戳和快照變化列表;其中,所述快照標識為所述目錄創(chuàng)建所述快照索引的標識;所述快照時間戳為所述目錄創(chuàng)建所述快照索引的系統(tǒng)時間;所述快照變化列表包括新建列表和刪除列表,所述新建列表包括創(chuàng)建所述快照索引之后,在所述目錄中新建文件以及修改后的文件的元數(shù)據(jù)的指針;所述刪除列表包括所述目錄創(chuàng)建所述快照索引之后,在所述目錄中被刪除文件以及被修改文件的原始文件的元數(shù)據(jù)的指針。
2.根據(jù)權(quán)利要求1所述的文件系統(tǒng)的快照方法,其特征在于,所述在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引包括: 根據(jù)所述目錄的元數(shù)據(jù)中的快照屬性判斷是否已創(chuàng)建快照,所述快照屬性用于指示所述目錄是否已創(chuàng)建快照; 當(dāng)所述快照屬性指示未創(chuàng)建快照時,在所述目錄的元數(shù)據(jù)中添加所述快照索引,將所述快照索引中的快照標識置為預(yù)定值,并為所述快照索引分配前向指針和后向指針,將所述前向指針和后向指針均設(shè)為空;其中,所述前向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的前一個快照索引的后向指針;所述后向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的下一個快照索引的前向指針; 當(dāng)所述快照屬性指示已創(chuàng)建快照時,在所述目錄的元數(shù)據(jù)中添加所述快照索引,并將所述快照索引的前向指針指向前一個快照索引的后向指針,將所述前一個快照索引的后向指針指向所述快照索引的前 向指針。
3.根據(jù)權(quán)利要求2所述的文件系統(tǒng)的快照方法,其特征在于,在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引之后,所述方法還包括: 根據(jù)快照標識和快照時間戳中的至少一種,查找所述目錄的元數(shù)據(jù)中待刪除的快照索引 ; 判斷所述待刪除的快照索引的前向指針和后向指針是否均為空; 當(dāng)所述待刪除的快照索引的前向指針和后向指針均為空時,將所述待刪除的快照索引刪除; 當(dāng)所述待刪除的快照索引的前向指針為空,且所述待刪除的快照索引的后向指針不為空時,將所述待刪除的快照索引的快照變化列表存入下一個快照索引的快照變化列表中,并將所述待刪除的快照索引刪除,其中,所述下一個快照索引的前向指針設(shè)為空; 當(dāng)所述待刪除的快照索引的后向指針為空,所述待刪除的快照索引的前向指針不為空,或者當(dāng)所述待刪除的快照索引的前向指針和后向指針均不為空時,將所述待刪除的快照索引的快照變化列表存入前一個快照索引的快照變化列表中,并將所述待刪除的快照索引刪除,其中,所述前一個快照索引的后向指針指向所述待刪除的快照索引的下一個快照索引的前向指針,所述下一個快照索引的前向指針指向所述前一個快照索引的后向指針。
4.根據(jù)權(quán)利要求1所述的文件系統(tǒng)的快照方法,其特征在于,在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引之后,所述方法還包括: 獲取在所述目錄下待處理的文件,以及對所述待處理的文件的操作; 根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表。
5.根據(jù)權(quán)利要求4所述的文件系統(tǒng)的快照方法,其特征在于,當(dāng)所述對所述待處理的文件的操作為在所述目錄下新建文件時,所述根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表包括: 將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的新建列表中。
6.根據(jù)權(quán)利要求4所述的文件系統(tǒng)的快照方法,其特征在于,當(dāng)所述對所述待處理的文件的操作為修改所述目錄下的文件時,所述根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表包括: 判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中; 當(dāng)存在于所述新建列表中時,根據(jù)對所述待處理的文件的修改,修改所述待處理的文件的元數(shù)據(jù); 當(dāng)不存在于所述新建列表中時,將所述待處理的文件復(fù)制到第一存儲區(qū)域,所述待處理的文件的元數(shù)據(jù)復(fù)制到第二存儲區(qū)域,并將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,將修改后的文件的元數(shù)據(jù)的指針存入所述最后個快照索引的新建列表中。
7.根據(jù)權(quán)利要求4所述的文件系統(tǒng)的快照方法,其特征在于,當(dāng)所述對所述待處理的文件的操作為修改所述目錄下的文件的元數(shù)據(jù)時,所述根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引 中的快照變化列表包括: 判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中; 當(dāng)存在于所述新建列表時,修改所述待處理的文件的元數(shù)據(jù); 當(dāng)不存在于所述新建列表時,將所述待處理的文件的元數(shù)據(jù)復(fù)制到第三存儲區(qū)域,將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,將修改后的文件的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
8.根據(jù)權(quán)利要求4所述的文件系統(tǒng)的快照方法,其特征在于,當(dāng)所述對所述待處理的文件的操作為刪除所述目錄下的文件時,所述根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表包括: 判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中; 當(dāng)存在于所述新建列表時,刪除所述新建列表中所述待處理的文件的元數(shù)據(jù)的指針; 當(dāng)不存在于所述新建列表時,刪除所述目錄的元數(shù)據(jù)中的目標指針,將所述待處理的文件復(fù)制到第四存儲區(qū)域,并將所述待處理的文件復(fù)制后的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,所述目標指針為所述目錄的元數(shù)據(jù)中指向所述待處理的文件的元數(shù)據(jù)的指針。
9.一種文件系統(tǒng)的快照裝置,其特征在于,包括: 確定單元,用于確定待創(chuàng)建快照的目錄; 創(chuàng)建單元,用于在所述目錄的元數(shù)據(jù)中創(chuàng)建快照索引;所述快照索引中包括快照標識、快照時間戳和快照變化列表;其中,所述快照標識為所述目錄創(chuàng)建所述快照索引的標識;所述快照時間戳為所述目錄創(chuàng)建所述快照索引的系統(tǒng)時間;所述快照變化列表包括新建列表和刪除列表,所述新建列表包括創(chuàng)建所述快照索引之后,在所述目錄中新建文件以及修改后的文件的元數(shù)據(jù)的指針;所述刪除列表包括所述目錄創(chuàng)建所述快照索引之后,在所述目錄中被刪除文件以及被修改文件的原始文件的元數(shù)據(jù)的指針。
10.根據(jù)權(quán)利要求9所述的文件系統(tǒng)的快照裝置,其特征在于,所述創(chuàng)建單元包括: 判斷模塊,用于根據(jù)所述目錄的元數(shù)據(jù)中的快照屬性判斷是否已創(chuàng)建快照,所述快照屬性用于指示所述目錄是否已創(chuàng)建快照; 第一創(chuàng)建模塊,用于當(dāng)所述快照屬性指示未創(chuàng)建快照時,在所述目錄的元數(shù)據(jù)中添加所述快照索引,將所述快照索引中的快照標識置為預(yù)定值,并為所述快照索引分配前向指針和后向指針,將所述前向指針和后向指針均設(shè)為空;其中,所述前向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的前一個快照索引的后向指針;所述后向指針用于指向在所述目錄的元數(shù)據(jù)中,所述目錄的下一個快照索引的前向指針; 第二創(chuàng)建模塊,用于當(dāng)所述快照屬性指示已創(chuàng)建快照時,在所述目錄的元數(shù)據(jù)中添加所述快照索引,并將所述快照索引的前向指針指向前一個快照索引的后向指針,將所述前一個快照索引的后向指針指向所述快照索引的前向指針。
11.根據(jù)權(quán)利要求10所述的文件系統(tǒng)的快照裝置,其特征在于,所述裝置還包括: 查找單元,用于根據(jù)快照標識和快照時間戳中的至少一種,查找所述目錄的元數(shù)據(jù)中待刪除的快照索引; 判斷單元,用于判斷所述待刪除的快照索引的前向指針和后向指針是否均為空; 刪除單元,用于當(dāng)所述待刪除的快照索引的前向指針和后向指針均為空時,將所述待刪除的快照索引刪除.; 第一處理單元,用于當(dāng)所述待刪除的快照索引的前向指針為空,且所述待刪除的快照索引的后向指針不為空時,將所述待刪除的快照索引的快照變化列表存入下一個快照索引的快照變化列表中,并將所述待刪除的快照索引刪除,其中,所述下一個快照索引的前向指針設(shè)為空; 第二處理單元,用于當(dāng)所述待刪除的快照索引的后向指針為空,所述待刪除的快照索引的前向指針不為空,或者當(dāng)所述待刪除的快照索引的前向指針和后向指針均不為空時,將所述待刪除的快照索引的快照變化列表存入前一個快照索引的快照變化列表中,并將所述待刪除的快照索引刪除,其中,所述前一個快照索引的后向指針指向所述待刪除的快照索引的下一個快照索引的前向指針,所述下一個快照索引的前向指針指向所述前一個快照索引的后向指針。
12.根據(jù)權(quán)利要求9所述的文件系統(tǒng)的快照裝置,其特征在于,所述裝置還包括: 獲取單元,用于獲取在所述目錄下待處理的文件,以及對所述待處理的文件的操作; 更新單元,用于根據(jù)所述操作,更新所述目錄的元數(shù)據(jù)中創(chuàng)建的快照索引中的快照變化列表。
13.根據(jù)權(quán)利要求12所述的文件系統(tǒng)的快照裝置,其特征在于,當(dāng)所述獲取單元獲取到對所述待處理的文件的操作為在所述目錄下新建文件時,所述更新單元包括: 第一處理模塊,用于將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的新建列表中。
14.根據(jù)權(quán)利要求12所述的文件系統(tǒng)的快照裝置,其特征在于,當(dāng)所述獲取單元獲取到對所述待處理的文件的操作為修改所述目錄下的文件時,所述更新單元包括: 判斷模塊,用于判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中; 第一修改模塊,用于當(dāng)存在于所述新建列表中時,根據(jù)對所述待處理的文件的修改,修改所述待處理的文件的元數(shù)據(jù); 第二處理模塊,用于當(dāng)不存在于所述新建列表中時,將所述待處理的文件復(fù)制到第一存儲區(qū)域,所述待處理的文件的元數(shù)據(jù)復(fù)制到第二存儲區(qū)域,并將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,將修改后的文件的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
15.根據(jù)權(quán)利要求12所述的文件系統(tǒng)的快照裝置,其特征在于,當(dāng)所述獲取單元獲取到對所述待處理的文件的操作為修改所述目錄下的文件的元數(shù)據(jù)時,所述更新單元包括: 所述判斷模塊,還用于判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中; 第二修改模塊,用于當(dāng)存在于所述新建列表時,修改所述待處理的文件的元數(shù)據(jù); 第三處理模塊,用于當(dāng)不存在于所述新建列表時,將所述待處理的文件的元數(shù)據(jù)復(fù)制到第三存儲區(qū)域,將所述待處理的文件的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,將修改后文件的元數(shù)據(jù)的指針存入所述最后一個快照索引的新建列表中。
16.根據(jù)權(quán)利要求12所述的文件系統(tǒng)的快照裝置,其特征在于,當(dāng)所述獲取單元獲取到對所述待處理的文件的操作為刪除所述目錄下的文件時,所述更新單元包括: 所述判斷模塊,還用于判斷所述待處理的文件的元數(shù)據(jù)的指針是否存在于所述目錄的元數(shù)據(jù)中快照索引的新建列表中; 刪除模塊,用于當(dāng)存在于所述新建列表時,刪除所述新建列表中所述待處理的文件的元數(shù)據(jù)的指針; 第四處理模塊,用于當(dāng)不存在于所述新建列表時,刪除所述目錄的元數(shù)據(jù)中的目標指針,將所述待處理的文件復(fù)制到第四存儲區(qū)域,并將所述待處理的文件復(fù)制后的元數(shù)據(jù)的指針存入所述目錄的元數(shù)據(jù)中最后一個快照索引的刪除列表中,所述目標指針為所述目錄的元數(shù)據(jù)中指向所述待處理的文件的元數(shù)據(jù)的指針。
【文檔編號】G06F17/30GK103473277SQ201310378894
【公開日】2013年12月25日 申請日期:2013年8月27日 優(yōu)先權(quán)日:2013年8月27日
【發(fā)明者】王姝, 邱鑫 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
桐梓县| 遵义市| 清苑县| 海城市| 中西区| 仲巴县| 东乡族自治县| 邯郸市| 区。| 张北县| 沂南县| 兴和县| 东乡族自治县| 达尔| 福海县| 江阴市| 岱山县| 南皮县| 嘉荫县| 尚志市| 吉木乃县| 托克托县| 丰原市| 钟祥市| 荃湾区| 定州市| 宣城市| 洪泽县| 蕉岭县| 花莲县| 五台县| 屏山县| 司法| 玉田县| 建瓯市| 苏尼特右旗| 合肥市| 九寨沟县| 汝阳县| 东山县| 和硕县|