• / 12
  • 下載費用:30 金幣  

一種分布式文件系統中支持快照的元數據信息管理方法.pdf

關 鍵 詞:
一種 分布式 文件系統 支持 快照 數據 信息管理 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
摘要
申請專利號:

CN201310752681.2

申請日:

2013.12.31

公開號:

CN103678715A

公開日:

2014.03.26

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 17/30申請日:20131231|||公開
IPC分類號: G06F17/30; G06F11/14 主分類號: G06F17/30
申請人: 無錫城市云計算中心有限公司
發明人: 季旻; 郭照斌; 付根希; 李博; 苗艷超
地址: 214135 江蘇省無錫市新區震澤路18號國家軟件園鯨魚座B-2
優先權:
專利代理機構: 北京安博達知識產權代理有限公司 11271 代理人: 徐國文
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201310752681.2

授權公告號:

103678715B||||||

法律狀態公告日:

2017.06.23|||2014.07.30|||2014.03.26

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明提供一種分布式文件系統中支持快照的元數據信息管理方法,包括以下步驟:對段資源進行管理;創建文件快照并對創建的文件快照進行修改;對iNode資源進行管理;創建目錄快照并對創建的目錄快照進行修改。本發明提供的分布式文件系統中支持快照的元數據信息管理方法,將MDS中iNode信息、段信息分別采用iNode管理器和段管理器進行維護,并通過管理器維護的方法,順其自然的實現了分布式文件系統的快照。

權利要求書

權利要求書
1.  一種分布式文件系統中支持快照的元數據信息管理方法,其特征在于:所述方法包括以下步驟:
步驟1:對段資源進行管理;
步驟2:創建文件快照并對創建的文件快照進行修改;
步驟3:對iNode資源進行管理;
步驟4:創建目錄快照并對創建的目錄快照進行修改。

2.  根據權利要求1所述的分布式文件系統中支持快照的元數據信息管理方法,其特征在于:所述步驟1中,段資源的基本屬性包括引用計數RC和分裂版本SV;步驟1具體包括以下步驟:
步驟1-1:段布局中相應的文件數據內容發生改變時,若引用計數RC>1,則對段資源進行分裂;
步驟1-2:當刪除文件時,元數據服務器將修改相應iNode資源引用的所有RC,使RC=RC-1;如果段資源的RC值為0,則通知數據服務器刪除段布局對應的文件,并從段管理器中回收段資源。

3.  根據權利要求2所述的分布式文件系統中支持快照的元數據信息管理方法,其特征在于:設ino表示當前修改文件的iNode資源,seg表示當前修改數據內容對應的段資源,元數據服務器對seg進行分裂過程如下:
1)如果seg布局相關元數據服務器空間不足,則為seg_new構建新布局;否則,拷貝seg給新段資源seg_new,并設置seg_new屬性RC=1,SV=0;
2)如果seg與seg_new布局一致且相關數據服務器支持數據對象文件的快照,則建立seg中對應對象文件的快照并映射給seg_new對應對象文件;否則,拷貝seg中對應對象文件作為seg_new的對象文件;
3)seg屬性RC=RC-1,SV=SV+1;
4)ino引用seg_new。

4.  根據權利要求1所述的分布式文件系統中支持快照的元數據信息管理方法,其特征在于:所述步驟2包括以下步驟:
步驟2-1:設ino表示文件快照源,ino_snap表示需創建的快照文件,則元數據服務器創建文件快照過程如下:
1)拷貝ino中所有段資源引用信息給ino_snap;
2)設置ino引用的所有段資源RC屬性:RC=RC+1。
步驟2-2:創建文件快照完成后,對文件快照的修改依據段資源管理進行處理。

5.  根據權利要求1所述的分布式文件系統中支持快照的元數據信息管理方法,其特征在于:所述步驟3中,所述iNode資源的基本屬性包括引用計數RC和分裂版本SV;步驟3具體包括以下步驟:
步驟3-1:當客戶端需要修改指定路徑的文件/目錄時,客戶端將從根目錄開始,向元數據服務器逐級獲取該路徑上各目錄項的iNode資源;若遇目錄項的iNode資源屬性RC>1,則需要從該目錄項開始,執行iNode資源的分裂處理,直到路徑上最后一級目錄項的iNode資源完成;
步驟3-2:當客戶端刪除指定路徑的目錄時,元數據服務器執行刪除目錄流程;
步驟3-3:如果客戶端刪除指定路徑的文件時,依據修改目錄處理流程,完成文件所在目錄的分裂處理;然后依據段資源管理中刪除文件的處理流程,完成刪除處理。

6.  根據權利要求5所述的分布式文件系統中支持快照的元數據信息管理方法,其特征在于:所述步驟3-1中,設ino表示當前目錄項的iNode資源,ino_parent表示父目錄項的iNode資源,元數據服務器對ino進行分裂的過程如下:
1)設置ino屬性RC=RC-1,SV=SV+1;
2)拷貝ino資源信息給新iNode資源ino_new,并設置ino_new屬性RC=1,SV=0;
3)ino_parent引用ino_new;
4)由于ino_new與ino引用相同的資源,如果ino是文件類型,則所有引用的段資源屬性RC=RC+1;如果ino是目錄類型,則所有引用的iNode資源屬性RC=RC+1。

7.  根據權利要求5所述的分布式文件系統中支持快照的元數據信息管理方法,其特征在于:所述步驟3-2包括以下步驟:
1)依據修改目錄處理流程,完成分裂處理;設ino_parent表示帶刪除目錄項父目錄項的iNode資源;
2)刪除ino_parent中對應ino的目錄項,并設置ino屬性RC=RC-1;
3)若RC值為0,則從iNode管理器中回收ino。

8.  根據權利要求1所述的分布式文件系統中支持快照的元數據信息管理方法,其特征在于:所述4包括以下步驟:
步驟4-1:設ino表示目錄快照源,ino_snap_parent表示目錄快照的父目錄,則元數據服務器創建目錄快照過程如下:
1)在ino_snap_parent中增加目錄項,目錄項名稱為目錄快照名稱,目錄項的iNode引用ino;
2)設置ino屬性RC=RC+1;
步驟4-2:創建目錄快照完成后,對目錄快照的修改依據iNode資源管理進行處理。

說明書

說明書一種分布式文件系統中支持快照的元數據信息管理方法
技術領域
本發明涉及一種管理方法,具體講涉及一種分布式文件系統中支持快照的元數據信息管理方法。
背景技術
分布式文件系統一般包含客戶端,元數據服務器(MetaData Servicer,MDS)和數據服務器(Data Servicer,DS),客戶端負責文件數據的訪問接口制定,元數據服務器器處理文件的布局及屬性,數據服務器器存儲文件的數據內容。
對于分布式文件系統,快照技術是實現防范數據丟失的有效手段。當存儲設備發生應用故障或者文件損壞時,可以利用快照將數據恢復到快照產生時間點的狀態;此外,快照為存儲用戶提供了另一個數據訪問通道,當原數據進行在線應用處理時,用戶可以訪問快照或利用快照進行相關測試工作。
寫時拷貝(Copy On Write,COW)是實現文件快照的基本思想,修改式訪問→分裂→重定向修改式訪問,是實現COW的基本流程。有些文件系統為了實現快照,額外建立了快照表,每次訪問時都會通過快照表檢查是否訪問了快照項,并決定是否執行分裂處理;還有些文件系統通過額外增加數據塊的元數據引用計數表,每次訪問時都會通過引用計數表檢查是否訪問了快照項,并決定是否執行分裂處理。
目前的快照技術主要有如下缺點:
1)基于快照表/引用計數表檢查的技術,雖無需改動原有元數據信息結構,但當快照表/引用計數表非常大時,檢查快照表將比較耗時;
2)目前分布式文件系統快照實現多局限在文件快照級,缺乏目錄級快照的實現方案。
發明內容
為了克服上述現有技術的不足,本發明提供一種分布式文件系統中支持快照的元數據信息管理方法,將MDS中iNode信息、段信息分別采用iNode管理器和段管理器進行維護,并通過管理器維護的方法,順其自然的實現了分布式文件系統的快照。
為了實現上述發明目的,本發明采取如下技術方案:
本發明提供一種分布式文件系統中支持快照的元數據信息管理方法,所述方法包括以下步驟:
步驟1:對段資源進行管理;
步驟2:創建文件快照并對創建的文件快照進行修改;
步驟3:對iNode資源進行管理;
步驟4:創建目錄快照并對創建的目錄快照進行修改。
所述步驟1中,段資源的基本屬性包括引用計數RC和分裂版本SV;步驟1具體包括以下步驟:
步驟1-1:段布局中相應的文件數據內容發生改變時,若引用計數RC>1,則對段資源進行分裂;
步驟1-2:當刪除文件時,元數據服務器將修改相應iNode資源引用的所有RC,使RC=RC-1;如果段資源的RC值為0,則通知數據服務器刪除段布局對應的文件,并從段管理器中回收段資源。
設ino表示當前修改文件的iNode資源,seg表示當前修改數據內容對應的段資源,元數據服務器對seg進行分裂過程如下:
1)如果seg布局相關元數據服務器空間不足,則為seg_new構建新布局;否則,拷貝seg給新段資源seg_new,并設置seg_new屬性RC=1,SV=0;
2)如果seg與seg_new布局一致且相關數據服務器支持數據對象文件的快照,則建立seg中對應對象文件的快照并映射給seg_new對應對象文件;否則,拷貝seg中對應對象文件作為seg_new的對象文件;
3)seg屬性RC=RC-1,SV=SV+1;
4)ino引用seg_new。
所述步驟2包括以下步驟:
步驟2-1:設ino表示文件快照源,ino_snap表示需創建的快照文件,則元數據服務器創建文件快照過程如下:
1)拷貝ino中所有段資源引用信息給ino_snap;
2)設置ino引用的所有段資源RC屬性:RC=RC+1。
步驟2-2:創建文件快照完成后,對文件快照的修改依據段資源管理進行處理。
所述步驟3中,所述iNode資源的基本屬性包括引用計數RC和分裂版本SV;步驟3具體包括以下步驟:
步驟3-1:當客戶端需要修改指定路徑的文件/目錄時,客戶端將從根目錄開始,向元數據服務器逐級獲取該路徑上各目錄項的iNode資源;若遇目錄項的iNode資源屬性RC>1,則需要從該目錄項開始,執行iNode資源的分裂處理,直到路徑上最后一級目錄項的iNode資源完成;
步驟3-2:當客戶端刪除指定路徑的目錄時,元數據服務器執行刪除目錄流程;
步驟3-3:如果客戶端刪除指定路徑的文件時,依據修改目錄處理流程,完成文件所在目錄的分裂處理;然后依據段資源管理中刪除文件的處理流程,完成刪除處理。
所述步驟3-1中,設ino表示當前目錄項的iNode資源,ino_parent表示父目錄項的iNode資源,元數據服務器對ino進行分裂的過程如下:
1)設置ino屬性RC=RC-1,SV=SV+1;
2)拷貝ino資源信息給新iNode資源ino_new,并設置ino_new屬性RC=1,SV=0;
3)ino_parent引用ino_new;
4)由于ino_new與ino引用相同的資源,如果ino是文件類型,則所有引用的段資源屬性RC=RC+1;如果ino是目錄類型,則所有引用的iNode資源屬性RC=RC+1。
所述步驟3-2包括以下步驟:
1)依據修改目錄處理流程,完成分裂處理;設ino_parent表示帶刪除目錄項父目錄項的iNode資源;
2)刪除ino_parent中對應ino的目錄項,并設置ino屬性RC=RC-1;
3)若RC值為0,則從iNode管理器中回收ino。
所述4包括以下步驟:
步驟4-1:設ino表示目錄快照源,ino_snap_parent表示目錄快照的父目錄,則元數據服務器創建目錄快照過程如下:
1)在ino_snap_parent中增加目錄項,目錄項名稱為目錄快照名稱,目錄項的iNode引用ino;
2)設置ino屬性RC=RC+1;
步驟4-2:創建目錄快照完成后,對目錄快照的修改依據iNode資源管理進行處理。
與現有技術相比,本發明的有益效果在于:
1)本發明將分布式文件系統中MDS的元數據信息采用了資源化管理方案,為快照的實現奠定了基礎;并通過詳細介紹段資源管理和iNode資源管理,說明了這種資源管理方法能夠自然支持快照;
2)與傳統快照實現方案相比,本發明無需對快照進行特殊處理,同時消除了快照源與快照之間的依賴關系,有效降低了快照實現的復雜度;
3)同時,依據分布式文件系統的特點,本發明將COW特性在MDS端細化到段的層面,降低了COW單次分裂的代價;
4)該發明已為一種分布式文件系統實現了快照功能。
附圖說明
圖1是創建快照前文件的iNode資源ino_1所引用的段資源示意圖;
圖2是創建文件快照完成后文件和段信息示意圖;
圖3是文件ino_1修改seg_3及文件ino_1_0修改seg_2示意圖;
圖4是刪除文件ino_1后文件和段信息示意圖;
圖5是創建目錄快照前目錄結構及iNode資源信息示意圖;
圖6是創建目錄/d_a的快照/snap_d_a示意圖;
圖7是修改/snap_d_a/d_b目錄項信息示意圖;
圖8是刪除/snap_d_a/d_b_ext目錄項示意圖。
具體實施方式
下面結合附圖對本發明作進一步詳細說明。
本發明提供一種分布式文件系統中支持快照的元數據信息管理方法,所述方法包括以下步驟:
步驟1:對段資源進行管理;
所述步驟1中,段資源的基本屬性包括引用計數RC(Reference Count)和分裂版本SV(Split Version);步驟1具體包括以下步驟:
步驟1-1:段布局中相應的文件數據內容發生改變時,若引用計數RC>1,則對段資源進行分裂;
設ino表示當前修改文件的iNode資源,seg表示當前修改數據內容對應的段資源,元數據服務器對seg進行分裂過程如下:
1)如果seg布局相關元數據服務器空間不足,則為seg_new構建新布局;否則,拷貝seg給新段資源seg_new,并設置seg_new屬性RC=1,SV=0;
2)如果seg與seg_new布局一致且相關數據服務器支持數據對象文件的快照,則建立seg 中對應對象文件的快照并映射給seg_new對應對象文件;否則,拷貝seg中對應對象文件作為seg_new的對象文件;
3)seg屬性RC=RC-1,SV=SV+1;
4)ino引用seg_new。
步驟1-2:當刪除文件時,元數據服務器將修改相應iNode資源引用的所有RC,使RC=RC-1;如果段資源的RC值為0,則通知數據服務器刪除段布局對應的文件,并從段管理器中回收段資源。
步驟2:創建文件快照并對創建的文件快照進行修改;
所述步驟2包括以下步驟:
步驟2-1:設ino表示文件快照源,ino_snap表示需創建的快照文件,則元數據服務器創建文件快照過程如下:
1)拷貝ino中所有段資源引用信息給ino_snap;
2)設置ino引用的所有段資源RC屬性:RC=RC+1。
步驟2-2:創建文件快照完成后,對文件快照的修改依據段資源管理進行處理。
下面以創建文件快照及修改文件快照為例,介紹文件快照的創建和段資源的管理。
創建快照前,文件的iNode資源ino_1所引用的段資源如圖1所示。若客戶端向MDS請求ino_1的布局信息時,MDS將ino_1引用的所有段布局信息應答給客戶端。
首先,MDS收到創建文件ino_1的快照文件ino_1_0請求。創建過程是將ino_1中所有段資源引用信息拷貝給ino_1_0,并增加ino_1引用各段資源的RC值。創建文件快照完成后,文件和段信息如圖2所示。
然后,客戶端要求修改文件ino_1引用的段seg_3對應的數據。由于seg_3資源RC>1,所以,依據段資源管理操作,MDS需對seg_3進行分裂。同樣,客戶端要求修改文件ino_1_0引用的段seg_2對應的數據,MDS也需對seg_2進行分裂。分裂后,文件和段信息如圖3錯誤!未找到引用源。所示,其中,seg_4由seg_3分裂而成,seg_5由seg_2分裂而成。
最后,MDS收到刪除文件ino_1請求。文件ino_1引用的seg_1、seg_2、seg_4段資源的RC值都減1,其中,seg_2和seg_4段資源RC值為0,依據段資源管理操作,將進行有關回收處理。刪除文件ino_1后,文件和段信息如圖4所示。
步驟3:對iNode資源進行管理;
所述步驟3中,所述iNode資源的基本屬性包括引用計數RC和分裂版本SV;步驟3具體包括以下步驟:
步驟3-1:當客戶端需要修改指定路徑的文件/目錄時,客戶端將從根目錄開始,向元數據服務器逐級獲取該路徑上各目錄項的iNode資源;若遇目錄項的iNode資源屬性RC>1,則需要從該目錄項開始,執行iNode資源的分裂處理,直到路徑上最后一級目錄項的iNode資源完成;
所述步驟3-1中,設ino表示當前目錄項的iNode資源,ino_parent表示父目錄項的iNode資源,元數據服務器對ino進行分裂的過程如下:
1)設置ino屬性RC=RC-1,SV=SV+1;
2)拷貝ino資源信息給新iNode資源ino_new,并設置ino_new屬性RC=1,SV=0;
3)ino_parent引用ino_new;
4)由于ino_new與ino引用相同的資源,如果ino是文件類型,則所有引用的段資源屬性RC=RC+1;如果ino是目錄類型,則所有引用的iNode資源屬性RC=RC+1。
步驟3-2:當客戶端刪除指定路徑的目錄時,元數據服務器執行刪除目錄流程;
所述步驟3-2包括以下步驟:
1)依據修改目錄處理流程,完成分裂處理(不包括ino);設ino_parent表示帶刪除目錄項父目錄項的iNode資源;
2)刪除ino_parent中對應ino的目錄項,并設置ino屬性RC=RC-1;
3)若RC值為0,則從iNode管理器中回收ino。
步驟3-3:如果客戶端刪除指定路徑的文件時,依據修改目錄處理流程,完成文件所在目錄的分裂處理;然后依據段資源管理中刪除文件的處理流程,完成刪除處理。
步驟4:創建目錄快照并對創建的目錄快照進行修改。
所述4包括以下步驟:
步驟4-1:設ino表示目錄快照源,ino_snap_parent表示目錄快照的父目錄,則元數據服務器創建目錄快照過程如下:
1)在ino_snap_parent中增加目錄項,目錄項名稱為目錄快照名稱,目錄項的iNode引用ino;
2)設置ino屬性RC=RC+1;
步驟4-2:創建目錄快照完成后,對目錄快照的修改依據iNode資源管理進行處理。
下面以創建目錄快照及修改目錄快照為例,介紹目錄快照的創建和iNode資源的管理。
創建目錄快照前,目錄結構和iNode資源信息如圖5所示。各目錄項引用的iNode資源由iNode管理器負責管理。
首先,MDS接收在根目錄下創建目錄/d_a的快照snap_d_a請求,如圖6所示。由于快照snap_d_a與/d_a所包含的內容相同,所以snap_d_a直接引用d_a目錄項的iNode資源ino_2,并增加ino_2屬性RC值。
然后,MDS接收/snap_d_a/d_b改名為/snap_d_a/d_b_ext請求。依據iNode資源管理的處理流程,路徑中snap_d_a對應的ino_2資源屬性RC>1,所以需要對ino_2進行分裂,并且snap_d_a引用分裂后的iNode資源ino_6。分裂后,snap_d_a的所有目錄項引用的iNode資源RC值均增1(如:ino_3和ino_5的RC值為2)。
同樣,依據iNode資源管理的處理流程,將繼續對/snap_d_a/d_b引用的ino_3進行分裂。
/snap_d_a/d_b路徑中各目錄項分裂任務完成后,執行改名處理。完成分裂和改名后的目錄結構及iNode資源如圖7所示。其中ino_2和ino_3資源屬性SV值為1,表示經過1次分裂。
最后,MDS接收刪除/snap_d_a/d_b_ext/f.dat目錄項請求。首先,依據iNode資源管理處理流程,檢查/snap_d_a/d_b_ext路徑各目錄項并執行分裂處理;由于各目錄項iNode資源屬性RC值均為1,所以無需分裂。然后,刪除f.dat目錄項;由于刪除后,ino_4資源屬性RC=1,所以無需回收ino_4資源。刪除后的目錄結構和iNode信息如圖8所示。
最后應當說明的是:以上實施例僅用以說明本發明的技術方案而非對其限制,盡管參照上述實施例對本發明進行了詳細的說明,所屬領域的普通技術人員應當理解:依然可以對本發明的具體實施方式進行修改或者等同替換,而未脫離本發明精神和范圍的任何修改或者等同替換,其均應涵蓋在本發明的權利要求范圍當中。

關于本文
本文標題:一種分布式文件系統中支持快照的元數據信息管理方法.pdf
鏈接地址:http://www.pqsozv.live/p-6180504.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
钻石光影