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

基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法

文檔序號(hào):6354568閱讀:347來(lái)源:國(guó)知局
專利名稱:基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法
技術(shù)領(lǐng)域
本發(fā)明涉及文件系統(tǒng)領(lǐng)域,特別涉及一種基于鍵值key-value存儲(chǔ)的分布式文件 系統(tǒng)元數(shù)據(jù)存儲(chǔ)管理方法。
背景技術(shù)
文件系統(tǒng)的元數(shù)據(jù)包括目錄和文件的元數(shù)據(jù),以及目錄結(jié)構(gòu)等。文件的元數(shù)據(jù)包 括文件名,權(quán)限,時(shí)間,文件大小,以及數(shù)據(jù)塊的分布等。目錄的元數(shù)據(jù)包括目錄名、權(quán) 限、時(shí)間等主要屬性,以及它所包含的子文件和子目錄等目錄結(jié)構(gòu)相關(guān)內(nèi)容。文件系統(tǒng)元數(shù) 據(jù)管理的一個(gè)難點(diǎn)是既要提供高效的元數(shù)據(jù)訪問(wèn),又要為元數(shù)據(jù)的修改提供靈活的接口。分布式文件系統(tǒng)因其海量存儲(chǔ)的優(yōu)勢(shì),在互聯(lián)網(wǎng)領(lǐng)域正逐漸取代傳統(tǒng)的本地文件 系統(tǒng)。Ceph是典型的分布式文件系統(tǒng),其采用基于對(duì)象的分布式存儲(chǔ)集群(RADOS,Reliable Autonomic Distributed Object Storage)來(lái)存儲(chǔ)文件系統(tǒng)的元數(shù)據(jù);RADOS可以為C印h 提供可擴(kuò)展、可靠的對(duì)象存儲(chǔ),但是C^ph把目錄也作為一個(gè)單獨(dú)的對(duì)象,目錄的子對(duì)象的 關(guān)聯(lián)信息都存儲(chǔ)在目錄對(duì)象中;當(dāng)很多進(jìn)程并發(fā)地在Ceph的某個(gè)目錄中創(chuàng)建大量子對(duì)象 時(shí),為了保證元數(shù)據(jù)的一致性,這些操作只能串行進(jìn)行,造成系統(tǒng)性能瓶頸。key-value存儲(chǔ)可以為分布式文件系統(tǒng)元數(shù)據(jù)存儲(chǔ)管理帶來(lái)更好的擴(kuò)展性,如果 要處理的數(shù)據(jù)持續(xù)增加,多加機(jī)器就可以了,不存在系統(tǒng)瓶頸問(wèn)題。但是基于key-value存 儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)存儲(chǔ)管理會(huì)帶來(lái)一些新的挑戰(zhàn)分布式文件系統(tǒng)元數(shù)據(jù)的操作 一般涉及多個(gè)步驟,涉及多個(gè)key-value操作,而key-value存儲(chǔ)不支持多個(gè)key-value的 事務(wù)操作。因此如何保證在某個(gè)步驟中斷后,能夠通過(guò)一定的措施實(shí)現(xiàn)垃圾清理,保證元數(shù) 據(jù)的一致性,是一個(gè)需要解決的技術(shù)問(wèn)題。

發(fā)明內(nèi)容
(一)要解決的技術(shù)問(wèn)題本發(fā)明要解決的技術(shù)問(wèn)題是如何提供一種基于鍵值key-value存儲(chǔ)的分布式文 件系統(tǒng)元數(shù)據(jù)管理方法,并且保證在對(duì)元數(shù)據(jù)的操作過(guò)程中,保持元數(shù)據(jù)的一致性。( 二)技術(shù)方案為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種基于鍵值key-value存儲(chǔ)的分布式文件系 統(tǒng)元數(shù)據(jù)管理方法,該方法包括以下步驟Sl 服務(wù)器存儲(chǔ)文件和目錄的元數(shù)據(jù),并以位圖的方式存儲(chǔ)目錄的子對(duì)象;所述 子對(duì)象包括子文件和子目錄;S2 對(duì)子對(duì)象的元數(shù)據(jù)進(jìn)行修改操作;在進(jìn)行所述修改操作之前,以所述子對(duì)象 的父目錄的目錄內(nèi)容標(biāo)識(shí)dirhdl-ID和所述子對(duì)象的位圖索引構(gòu)造鍵key,以當(dāng)前時(shí)間為 值value,記錄到操作日志中;S3 后臺(tái)進(jìn)程定期掃描所述操作日志,對(duì)超時(shí)操作進(jìn)行垃圾回收。
優(yōu)選地,所述服務(wù)器中存儲(chǔ)三個(gè)key-value表日志表log. tbl、元表meta.tbl和 目表 entry, tbl ;所述文件和目錄的元數(shù)據(jù)的基本屬性記錄,以及所述目錄的元數(shù)據(jù)的目錄內(nèi)容記 錄存儲(chǔ)在所述元表meta. tbl中;所述目錄與其子對(duì)象的關(guān)聯(lián)關(guān)系存儲(chǔ)在所述目表entry, tbl中。優(yōu)選地,所述文件的元數(shù)據(jù)的基本屬性記錄,以文件標(biāo)識(shí)doc-ID為鍵key,以文件 的基本屬性信息為值value ;所述目錄的元數(shù)據(jù)的基本屬性記錄,以目錄標(biāo)識(shí)dir-ID為鍵key,以目錄的基本 屬性信息為值value ;所述目錄的元數(shù)據(jù)的目錄內(nèi)容記錄,以目錄內(nèi)容標(biāo)識(shí)dirhdl-ID為鍵key,以目錄 所包含的子對(duì)象的位圖結(jié)構(gòu)為值value。優(yōu)選地,所述目錄與其子對(duì)象的關(guān)聯(lián)關(guān)系包括所述目錄標(biāo)識(shí)dir-ID與第一分割字符構(gòu)成鍵key,所述目錄內(nèi)容標(biāo)識(shí)dirhdl-ID 為值value,兩者構(gòu)成第一關(guān)聯(lián);所述目錄內(nèi)容標(biāo)識(shí)dirhdl-ID通過(guò)第二分割字符連接所述子對(duì)象的位圖索引構(gòu) 成鍵key,子對(duì)象標(biāo)識(shí)和子對(duì)象名構(gòu)成值value,兩者構(gòu)成第二關(guān)聯(lián);所述目錄內(nèi)容標(biāo)識(shí)dirhdl-ID通過(guò)第三分割字符連接所述子對(duì)象名構(gòu)成鍵key, 子對(duì)象位圖索引為值value,兩者構(gòu)成第三關(guān)聯(lián)。優(yōu)選地,所述步驟S2中,所述對(duì)子對(duì)象的元數(shù)據(jù)進(jìn)行修改包括創(chuàng)建所述子對(duì)象 的元數(shù)據(jù)和刪除所述子對(duì)象的元數(shù)據(jù)。優(yōu)選地,創(chuàng)建所述子對(duì)象的元數(shù)據(jù)具體包括以下步驟S2. 1. 1 創(chuàng)建所述子對(duì)象的基本屬性記錄;如果所述子對(duì)象為目錄,創(chuàng)建其目錄 內(nèi)容記錄和第一關(guān)聯(lián);S2. 1.2 寫(xiě)操作日志;S2. 1.3:創(chuàng)建所述第三關(guān)聯(lián)、第二關(guān)聯(lián),修改所述子對(duì)象的父目錄的目錄內(nèi)容記 錄;S2. 1.4 刪除操作日志。優(yōu)選地,刪除所述子對(duì)象的元數(shù)據(jù)具體包括以下步驟S2. 2. 1 寫(xiě)操作日志;S2. 2. 2:修改所述子對(duì)象的父目錄的目錄內(nèi)容記錄,刪除所述第三關(guān)聯(lián)、第二關(guān) 聯(lián);S2. 2.3 刪除操作日志;S2. 2. 4 刪除所述子對(duì)象的基本屬性記錄;如果所述子對(duì)象為目錄,刪除其目錄 內(nèi)容記錄和第一關(guān)聯(lián)。優(yōu)選地,所述步驟S3中,所述垃圾回收具體包括以下步驟S3. 1. 1 修改所述父目錄的目錄內(nèi)容記錄;S3. 1. 2 解析所述操作日志中的鍵key,得到所述子對(duì)象標(biāo)識(shí)和所述子對(duì)象名,刪
除所述第三關(guān)聯(lián)、第二關(guān)聯(lián);S3. 1. 3 刪除子對(duì)象的基本屬性記錄;如果所述子對(duì)象為目錄,解析得到其目錄
5內(nèi)容標(biāo)識(shí),刪除其目錄內(nèi)容記錄和第一關(guān)聯(lián);S3. 1. 4 從操作日志中刪除超時(shí)記錄。優(yōu)選地,所述步驟S2中,所述鍵key由第四分割字符連接所述父目錄的目錄內(nèi)容 標(biāo)識(shí)dirhdl-ID和所述子對(duì)象的位圖索引構(gòu)成。優(yōu)選地,所述步驟S3中,判斷操作是否超時(shí)包括以下步驟S3. 0. 1 解析所述鍵key,得到操作時(shí)間opTime ;S3. 0. 2 用當(dāng)前時(shí)間curTime減去所述操作時(shí)間opTime,判斷其差值是否大于超 時(shí)標(biāo)準(zhǔn)值timeout ;如果大于,則操作超時(shí);否則,操作未超時(shí)。(三)有益效果本發(fā)明提供了一種基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)存儲(chǔ)管理 方法,其采用鍵值key-value存儲(chǔ)對(duì)分布式文件系統(tǒng)的元數(shù)據(jù)進(jìn)行管理,具有比傳統(tǒng)分布 式文件系統(tǒng)更好的擴(kuò)展性。同時(shí),其采用日志記錄和垃圾回收的管理模式,在對(duì)元數(shù)據(jù)修改 過(guò)程中,保持了元數(shù)據(jù)的一致性。


圖1是本發(fā)明實(shí)施例所述基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)存儲(chǔ) 管理方法流程圖;圖2是本發(fā)明實(shí)施例所述基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)存儲(chǔ) 結(jié)構(gòu)圖;圖3是本發(fā)明實(shí)施例所述創(chuàng)建子對(duì)象過(guò)程數(shù)據(jù)結(jié)構(gòu)圖;圖4是本發(fā)明實(shí)施例所述刪除子對(duì)象過(guò)程數(shù)據(jù)結(jié)構(gòu)圖;圖5是本發(fā)明實(shí)施例所述垃圾回收過(guò)程數(shù)據(jù)結(jié)構(gòu)圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述。以下實(shí)施 例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。圖1是本發(fā)明實(shí)施例所述基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理 方法流程圖,如圖1所示,該方法包括以下步驟Sl 服務(wù)器存儲(chǔ)文件和目錄的元數(shù)據(jù),并以位圖的方式存儲(chǔ)目錄的子對(duì)象;所述 子對(duì)象包括子文件和子目錄。S2 對(duì)子對(duì)象的元數(shù)據(jù)進(jìn)行修改操作;在進(jìn)行所述修改操作之前,以所述子對(duì)象 的父目錄的目錄內(nèi)容標(biāo)識(shí)dirhdl-ID和所述子對(duì)象的位圖索引構(gòu)造鍵key,以當(dāng)前時(shí)間為 值value,記錄到操作日志中。所述鍵key和值value作為日志記錄存儲(chǔ)在所述服務(wù)器的日 志表log. tbl中。S3 后臺(tái)進(jìn)程定期掃描所述操作日志,對(duì)超時(shí)操作進(jìn)行垃圾回收。本發(fā)明實(shí)施例的方法采用鍵值key-value存儲(chǔ),對(duì)分布式文件系統(tǒng)的元數(shù)據(jù)進(jìn)行 管理,其具有比傳統(tǒng)分布式文件系統(tǒng)更好的擴(kuò)展性。同時(shí),步驟S2中的日志記錄和步驟S3 中的垃圾回收,保證了在對(duì)元數(shù)據(jù)修改過(guò)程中,始終保持元數(shù)據(jù)的一致性。圖2是本發(fā)明實(shí)施例所述基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)圖,如圖2所示,其表示目錄I包括目錄b和文件c。所述服務(wù)器中存儲(chǔ)三個(gè)key-value 表日志表log. tbl、元表meta. tbll和目表entry. tbl2。目錄I、目錄b和文件c的元數(shù)據(jù) 的基本屬性記錄,以及目錄I和目錄b的元數(shù)據(jù)的目錄內(nèi)容記錄存儲(chǔ)在元表meta. tbll中。 目錄I與目錄b、文件c的關(guān)聯(lián)關(guān)系存儲(chǔ)在所述目表entry. tbl2中。文件c的元數(shù)據(jù)的基本屬性記錄中,鍵key為5,值value為文件c的基本屬性信 息;所述文件的基本屬性信息包括訪問(wèn)權(quán)限、創(chuàng)建時(shí)間、訪問(wèn)時(shí)間和內(nèi)容分布等信息。目錄I的元數(shù)據(jù)的基本屬性記錄,鍵key為1,值value為目錄I的基本屬性信息; 所述目錄的基本屬性信息包括訪問(wèn)權(quán)限、創(chuàng)建時(shí)間、訪問(wèn)時(shí)間等信息。目錄I的元數(shù)據(jù)的目錄內(nèi)容記錄,鍵key為2,值value為目錄I所包含的子對(duì)象 的位圖結(jié)構(gòu)。圖2中目錄I的位圖結(jié)構(gòu)[1100...]中置位為1的兩位分別對(duì)應(yīng)目錄b和文 件C。目錄I與其子對(duì)象目錄b和文件c的關(guān)聯(lián)關(guān)系包括目錄I的目錄標(biāo)識(shí)dir-ID即1與第一分割字符“$”構(gòu)成鍵key,目錄I的目錄內(nèi) 容標(biāo)識(shí)dirhdl-ID即2為值value,兩者構(gòu)成第一關(guān)聯(lián),對(duì)應(yīng)圖2目表entry, tbl 2中記錄 <1+ “$”,2>。所述第一分割字符還可以為“*”、“#”、“<§”等其他字符,但是其必須區(qū)分于本 發(fā)明實(shí)施例的其他特殊字符。目錄I的目錄內(nèi)容標(biāo)識(shí)dirhdl-ID即2通過(guò)第二分割字符連接所述子對(duì)象目 錄b的位圖索引即0構(gòu)成鍵key,目錄b的目錄標(biāo)識(shí)dir-ID即3和目錄b的名稱“b”構(gòu)成 值value,兩者構(gòu)成第二關(guān)聯(lián),對(duì)應(yīng)圖2目表entry, tbl 2中記錄<2+ +0,{3,“b”}>。 所述第二分割字符還可以為“*”、“#”、“$”等其他字符,但是其必須區(qū)分于本發(fā)明實(shí)施例的 其他特殊字符。目錄I的目錄內(nèi)容標(biāo)識(shí)dirhdl-ID即2通過(guò)第三分割字符“#”連接子對(duì)象目錄b 的名稱“b”構(gòu)成鍵key,目錄b的位圖索引即0為值value,兩者構(gòu)成第三關(guān)聯(lián),對(duì)應(yīng)圖2目 表entry, tbl 2中記錄<2+ “#,,+ “b”,0>。所述第三分割字符還可以為“*”、“<§”、“$”等其 他字符,但是其必須區(qū)分于本發(fā)明實(shí)施例的其他特殊字符。優(yōu)選地,所述步驟S2中,所述對(duì)子對(duì)象的元數(shù)據(jù)進(jìn)行修改包括創(chuàng)建所述子對(duì)象 的元數(shù)據(jù)和刪除所述子對(duì)象的元數(shù)據(jù)。圖3是本發(fā)明實(shí)施例所述創(chuàng)建子對(duì)象過(guò)程數(shù)據(jù)結(jié)構(gòu)圖,如圖3所示,創(chuàng)建目錄I的 子對(duì)象目錄b的元數(shù)據(jù)具體包括以下步驟S2,· 1. 1 創(chuàng)建目錄b的基本屬性記錄;如表格1中StepCl ;圖3中元表meta. tbl 1 增加記錄 <3,{DIR. . . }>0創(chuàng)建目錄b的目錄內(nèi)容記錄和其第一關(guān)聯(lián);如表格1中乂印02和乂印03 ;對(duì)應(yīng) 圖3中元表meta. tbl 1增加記錄<4,ROOOO. ..]}>,圖3中目表entry, tbl 2增加記錄 <3+ “$”,4>。S2,· 1. 2 寫(xiě)操作日志;如表格1中St印C4 ;對(duì)應(yīng)圖3中日志表log. tbl3中增加 記錄 <2+ “"”+0,curTime〉。S2’. 1. 3 創(chuàng)建所述第三關(guān)聯(lián)、第二關(guān)聯(lián),修改目錄I的目錄內(nèi)容記錄;如表格1中 St印C5 St印C7 ;對(duì)應(yīng)圖 3 中目表 entry, tbl 2 增加記錄 <2+“#”+“b”,0> 和 <2+“@,,+0, {3,“b”}>,元表 meta. tbll 中修改記錄 <2,{
}> 為 <2,{[1000. ··]}>。
S2,· 1. 4 刪除操作日志;如表格1中St印C8 ;對(duì)應(yīng)圖3中日志表log. tbl 3中刪 除記錄<2+ “~”+0,curTime〉,恢復(fù)至創(chuàng)建操作前的狀態(tài)。表1創(chuàng)建子對(duì)象的元數(shù)據(jù)相關(guān)步驟
StepCl put(3, Attrs) in meta.tbl; StepC2: put(4,
) in meta. tbl; StepC3: put(3+ "$ ", 4) in entry, tbl;
StepC4: put(2+ "A"+0, curTime) in log. tbl;
StepC5: put(2+ "# "+/name, 0) in entry, tbl; //fname = "b “ StepC6: put(2+ "@ "+ 0, {3, fname}) in entry, tbl; StepC7: put(2,[1000...]) in meta. tbl;
StepC8: remove(2+ "A"+0) in log. tbl;圖4是本發(fā)明實(shí)施例所述刪除子對(duì)象過(guò)程數(shù)據(jù)結(jié)構(gòu)圖,如圖4所示,刪除目錄I的 子對(duì)象目錄b的元數(shù)據(jù)具體包括以下步驟S2,. 2. 1 寫(xiě)操作日志;如表格2中乂印1 0 乂印附;對(duì)應(yīng)圖4中日志表log. tbl 3中增加記錄<2+ “~,,+0,curTime〉。步驟用于根據(jù)目錄I的目錄內(nèi)容標(biāo)識(shí) dirhdl-ID即2與被刪除子對(duì)象目錄b的文件名為鍵key查詢目表entry, tbl 2,以獲得目 錄b的位圖索弓丨,其索引值為0。S2’. 2. 2 修改所述目錄I的目錄內(nèi)容記錄,刪除所述第二關(guān)聯(lián)、第三關(guān)聯(lián);如表格 2中St印R2M印R4 ;對(duì)應(yīng)圖4中目表entry, tbl 2刪除記錄<2+“#”+“b”,0>和<2+“@”+0, {3,“b”}>,元表 meta. tbll 中修改記錄 <2,{[1000. · · ]}> 為 <2,{
}>。S2,· 2. 3 刪除操作日志;如表格2中St印R5 ;對(duì)應(yīng)圖4中日志表log. tbl 3中刪 除記錄<2+ “~”+0,curTime〉,恢復(fù)至刪除操作前的狀態(tài)。S2’ .2. 4:刪除目錄b的基本屬性記錄、目錄內(nèi)容記錄和第一關(guān)聯(lián);如表格2中 StepR6StepR8 ;對(duì)應(yīng)圖 3 中目表 entry, tbl 2 刪除記錄 <3+ “$”,4>,圖 3 中元表 meta. tbl 1 刪除記錄 <4,_00···]}> 和 <3,{DIR.··}〉。表2刪除子對(duì)象的元數(shù)據(jù)相關(guān)步驟StepRO idx= get(2+ "# "+fname) in entry.tbl; #idx==0; StepRl: put(2+ "Λ"+0, curTime) in log.tbl;
StepR2: put(2,
) in meta.tbl
StepR3: remove(2+ ”# ” +fname) in entry, tbl; //fname = “b “ StepR4: remove(2+ "@"+0) in entry.tbl
StepR5: remove(2+ ”Λ ”+0) in log. tbl
StepR6: remove(3+,$,) in entry.tbl; StepR7: remove(4) in meta.tbl; StepR8: remove⑶ in meta.tbl;圖5是本發(fā)明實(shí)施例所述垃圾回收過(guò)程數(shù)據(jù)結(jié)構(gòu)圖,如圖5所示,假設(shè)創(chuàng)建目錄I的子對(duì)象目錄b過(guò)程超時(shí),其垃圾回收過(guò)程具體包括以下步驟S3,· 1. 1 修改目錄I的目錄內(nèi)容記錄;如表格3中Stepl ;對(duì)應(yīng)圖5中元表meta. tbl 1 中修改記錄 <2,{[1000. · · ]}> 為 <2,{
}>。S3’. 1. 2 解析操作日志中的鍵key,得到目錄b的目錄標(biāo)識(shí)dir-ID即3和其名稱 “b”,刪除所述第三關(guān)聯(lián)、第二關(guān)聯(lián);如表格3中乂印2 乂印3 ;對(duì)應(yīng)圖5中目表entry, tbl 2 刪除記錄 <2+ “#,,+ “b”,0> 和 <2+ “@”+0,{3,“b”}>。S3' . 1.3 解析得到目錄b的目錄內(nèi)容標(biāo)識(shí)dirhdl-ID即4,刪除目錄b的目錄 內(nèi)容記錄,刪除其第一關(guān)聯(lián)和基本屬性記錄;如表格3中St印4 乂印7 ;對(duì)應(yīng)圖5中元表 meta. tbl 1 中刪除記錄 <4,{
}> 和 <3,{DIR. . . }>,目表 entry, tbl 2 中刪除記錄 <3+ “$”,4>。S3,· 1.4 從操作日志中刪除超時(shí)記錄;如表格3中乂印8 ;對(duì)應(yīng)圖5中日志表log. tbl 3 中刪除記錄 <2+ “"”+0,timestamp〉。表3垃圾回收過(guò)程相關(guān)步驟
權(quán)利要求
1.一種基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法,其特征在于,所 述方法包括以下步驟51服務(wù)器存儲(chǔ)文件和目錄的元數(shù)據(jù),并以位圖的方式存儲(chǔ)目錄的子對(duì)象;所述子對(duì) 象包括子文件和子目錄;52對(duì)子對(duì)象的元數(shù)據(jù)進(jìn)行修改操作;在進(jìn)行所述修改操作之前,以所述子對(duì)象的父 目錄的目錄內(nèi)容標(biāo)識(shí)dirhdl-ID和所述子對(duì)象的位圖索引構(gòu)造鍵key,以當(dāng)前時(shí)間為值 value,記錄到操作日志中;53后臺(tái)進(jìn)程定期掃描所述操作日志,對(duì)超時(shí)操作進(jìn)行垃圾回收。
2.如權(quán)利要求1所述的基于key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法,其特 征在于,所述服務(wù)器中存儲(chǔ)三個(gè)key-value表日志表log. tbl、元表meta. tbl和目表entry.tbl ;所述文件和目錄的元數(shù)據(jù)的基本屬性記錄,以及所述目錄的元數(shù)據(jù)的目錄內(nèi)容記錄存 儲(chǔ)在所述元表meta. tbl中;所述目錄與其子對(duì)象的關(guān)聯(lián)關(guān)系存儲(chǔ)在所述目表entry, tbl中。
3.如權(quán)利要求2所述的基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法, 其特征在于,所述文件的元數(shù)據(jù)的基本屬性記錄,以文件標(biāo)識(shí)doc-ID為鍵key,以文件的基本屬性 信息為值value ;所述目錄的元數(shù)據(jù)的基本屬性記錄,以目錄標(biāo)識(shí)dir-ID為鍵key,以目錄的基本屬性 信息為值value ;所述目錄的元數(shù)據(jù)的目錄內(nèi)容記錄,以目錄內(nèi)容標(biāo)識(shí)dirhdl-ID為鍵key,以目錄所包 含的子對(duì)象的位圖結(jié)構(gòu)為值value。
4.如權(quán)利要求2所述的基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法, 其特征在于,所述目錄與其子對(duì)象的關(guān)聯(lián)關(guān)系包括所述目錄標(biāo)識(shí)dir-ID與第一分割字符構(gòu)成鍵key,所述目錄內(nèi)容標(biāo)識(shí)dirhdl-ID為值 value,兩者構(gòu)成第一關(guān)聯(lián);所述目錄內(nèi)容標(biāo)識(shí)dirhdl-ID通過(guò)第二分割字符連接所述子對(duì)象的位圖索引構(gòu)成鍵 key,子對(duì)象標(biāo)識(shí)和子對(duì)象名構(gòu)成值value,兩者構(gòu)成第二關(guān)聯(lián);所述目錄內(nèi)容標(biāo)識(shí)dirhdl-ID通過(guò)第三分割字符連接所述子對(duì)象名構(gòu)成鍵key,子對(duì) 象位圖索引為值value,兩者構(gòu)成第三關(guān)聯(lián)。
5.如權(quán)利要求4所述的基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法, 其特征在于,所述步驟S2中,所述對(duì)子對(duì)象的元數(shù)據(jù)進(jìn)行修改包括創(chuàng)建所述子對(duì)象的元數(shù)據(jù)和刪除所述子對(duì)象的 元數(shù)據(jù)。
6.如權(quán)利要求5所述的基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法, 其特征在于,創(chuàng)建所述子對(duì)象的元數(shù)據(jù)具體包括以下步驟S2. 1. 1 創(chuàng)建所述子對(duì)象的基本屬性記錄;如果所述子對(duì)象為目錄,創(chuàng)建其目錄內(nèi)容 記錄和第一關(guān)聯(lián);S2. 1. 2 寫(xiě)操作日志;S2. 1. 3 創(chuàng)建所述第三關(guān)聯(lián)、第二關(guān)聯(lián),修改所述子對(duì)象的父目錄的目錄內(nèi)容記錄;S2. 1.4 刪除操作日志。
7.如權(quán)利要求5所述的基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法, 其特征在于,刪除所述子對(duì)象的元數(shù)據(jù)具體包括以下步驟S2. 2. 1 寫(xiě)操作日志;S2. 2. 2 修改所述子對(duì)象的父目錄的目錄內(nèi)容記錄,刪除所述第三關(guān)聯(lián)、第二關(guān)聯(lián);S2. 2. 3 刪除操作日志;52.2. 4 刪除所述子對(duì)象的基本屬性記錄;如果所述子對(duì)象為目錄,刪除其目錄內(nèi)容 記錄和第一關(guān)聯(lián)。
8.如權(quán)利要求5所述的基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法, 其特征在于,所述步驟S3中,所述垃圾回收具體包括以下步驟53.1. 1 修改所述父目錄的目錄內(nèi)容記錄;S3. 1.2 解析所述操作日志中的鍵key,得到所述子對(duì)象標(biāo)識(shí)和所述子對(duì)象名,刪除所 述第三關(guān)聯(lián)、第二關(guān)聯(lián);S3. 1. 3 刪除子對(duì)象的基本屬性記錄;如果所述子對(duì)象為目錄,解析得到其目錄內(nèi)容 標(biāo)識(shí),刪除其目錄內(nèi)容記錄和第一關(guān)聯(lián);S3. 1.4:從操作日志中刪除超時(shí)記錄。
9.如權(quán)利要求1所述的基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法, 其特征在于,所述步驟S2中,所述鍵key由第四分割字符連接所述父目錄的目錄內(nèi)容標(biāo)識(shí) dirhdl-ID和所述子對(duì)象的位圖索引構(gòu)成。
10.如權(quán)利要求1所述的基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法, 其特征在于,所述步驟S3中,判斷操作是否超時(shí)包括以下步驟S3. 0. 1 解析所述鍵key,得到操作時(shí)間opTime ;S3. 0. 2 用當(dāng)前時(shí)間curTime減去所述操作時(shí)間opTime,判斷其差值是否大于超時(shí)標(biāo) 準(zhǔn)值timeout ;如果大于,則操作超時(shí);否則,操作未超時(shí)。
全文摘要
本發(fā)明公開(kāi)了一種基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)管理方法,主要涉及文件系統(tǒng)領(lǐng)域。該方法包括以下步驟服務(wù)器存儲(chǔ)文件和目錄的元數(shù)據(jù),并以位圖的方式存儲(chǔ)目錄的子對(duì)象;對(duì)子對(duì)象的元數(shù)據(jù)進(jìn)行修改操作;后臺(tái)進(jìn)程定期掃描所述操作日志,對(duì)超時(shí)操作進(jìn)行垃圾回收。本發(fā)明的基于鍵值key-value存儲(chǔ)的分布式文件系統(tǒng)元數(shù)據(jù)存儲(chǔ)管理方法,具有比傳統(tǒng)分布式文件系統(tǒng)更好的擴(kuò)展性。同時(shí),其采用日志記錄和垃圾回收的管理模式,在對(duì)元數(shù)據(jù)修改過(guò)程中,保持了元數(shù)據(jù)的一致性。
文檔編號(hào)G06F17/30GK102110146SQ201110039269
公開(kāi)日2011年6月29日 申請(qǐng)日期2011年2月16日 優(yōu)先權(quán)日2011年2月16日
發(fā)明者劉松彬, 楊廣文, 黃小猛 申請(qǐng)人:清華大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
柘城县| 驻马店市| 安阳市| 永和县| 彩票| 泸水县| 白银市| 湖北省| 客服| 白河县| 天峻县| 盐源县| 留坝县| 太和县| 南宁市| 额尔古纳市| 射洪县| 渑池县| 邯郸市| 夹江县| 读书| 南丰县| 阿拉尔市| 昌平区| 清流县| 宁津县| 西林县| 辛集市| 尼木县| 商城县| 红桥区| 清新县| 商都县| 古浪县| 宾川县| 依安县| 东台市| 朔州市| 韩城市| 蒲江县| 麻江县|