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

分布式文件存儲構(gòu)架的構(gòu)建方法和裝置的制作方法

文檔序號:6580979閱讀:273來源:國知局
專利名稱:分布式文件存儲構(gòu)架的構(gòu)建方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種信息處理方法,尤其涉及一種分布式文件存儲構(gòu)架的構(gòu) 建方法和裝置。
背景技術(shù)
隨著存儲領(lǐng)域直連方式存儲(DAS, Direct Attachment Storage)、網(wǎng)絡(luò) 存儲(NAS,Net雨k Attachment Storage)、存儲域網(wǎng)(SAN, Storage Area Network)的高速發(fā)展,新技術(shù)不斷涌現(xiàn)出來。近幾年,分布式文件系統(tǒng)得到 大力發(fā)展,開始應(yīng)用于存儲解決方案中。
在本發(fā)明的過程中,本發(fā)明人發(fā)現(xiàn),現(xiàn)有的分布式文件系統(tǒng)的管理都是 基于文件名稱進(jìn)行的,但由于使用者的操作習(xí)慣的不同,分布式文件系統(tǒng)中 會逐漸出現(xiàn)很多名稱不同但內(nèi)容相同的"重復(fù)文件",占據(jù)了大量的存儲空間, 且不利于文件的管理。

發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種分布式文件存儲構(gòu)架的構(gòu)建方法和裝 置,用于解決文件存儲系統(tǒng)中的重復(fù)文件的問題。
本發(fā)明實施例提供一種分布式文件存儲構(gòu)架的構(gòu)建方法,包括選取文 件;對所述文件的文件內(nèi)容進(jìn)行Hash計算,獲得所述文件的文件標(biāo)識;根據(jù)
所述文件標(biāo)識來構(gòu)建文件的分布式文件存儲構(gòu)架。
本發(fā)明實施例還提供一種分布式文件存儲構(gòu)架的構(gòu)建裝置,包括文件 標(biāo)識獲取模塊,用于對文件的文件內(nèi)容進(jìn)行Hash計算,獲得文件的文件標(biāo)識; 構(gòu)架構(gòu)建模塊,用于根據(jù)文件標(biāo)識構(gòu)建分布式文件存儲構(gòu)架。本發(fā)明通過將文件標(biāo)識和文件內(nèi)容相聯(lián)系,使得分布式文件系統(tǒng)以文件內(nèi)容為基礎(chǔ)來管理文件,避免了冗余的重復(fù)文件的出現(xiàn)。


此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,并不構(gòu)成對本發(fā)明的限定。在附圖中
圖1為本發(fā)明實施例一的分布式文件存儲構(gòu)架的構(gòu)建方法的流程圖2為本發(fā)明的分布式文件存儲構(gòu)架的結(jié)構(gòu)示意圖3為本發(fā)明的分布式文件存儲構(gòu)架中超級塊的結(jié)構(gòu)示意圖4為本發(fā)明的分布式文件存儲構(gòu)架中索引節(jié)點分配表的結(jié)構(gòu)示意圖5為本發(fā)明實施例二的分布式文件存儲構(gòu)架的構(gòu)建方法的流程圖6為本發(fā)明實施例三的分布式文件存儲構(gòu)架的構(gòu)建裝置的結(jié)構(gòu)示意圖。
具體實施例方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合實施例和附圖,對本發(fā)明實施例做進(jìn)一步詳細(xì)說明。在此,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。
實施例一
本實施例提供一種分布式文件存儲構(gòu)架的構(gòu)建方法。下面參照圖1,詳細(xì)描述該方法,該方法包括步驟S10h選取文件;
步驟S102:對所述文件的文件內(nèi)容進(jìn)行Hash計算,獲得所述文件的文件標(biāo)識;
其中,通過對文件內(nèi)容進(jìn)行Hash計算得到文件的HASH值從而獲得文件的文件標(biāo)識,比如,通過MD5、 SHA-1、 SHA-2、 SHA-256等方法計算得到;步驟S103:根據(jù)所述文件標(biāo)識來構(gòu)建文件的分布式文件存儲構(gòu)架。如圖2所示,分布式文件存儲構(gòu)架包括超級塊層(super block)、索引節(jié)點匹配層(IMAP, inodemap)、索引節(jié)點層(inode)和數(shù)據(jù)塊層四層(datablock)。其中如圖3所示,索引節(jié)點匹配層用于在文件標(biāo)識和文件的索引節(jié)點之間進(jìn)行匹配,索引節(jié)點層用于在文件的索引節(jié)點和存儲數(shù)據(jù)之間迸行匹配。在該步驟中,在超級塊層中定義塊組(group descriptor),塊位圖(blockbitmap)、索引節(jié)點位圖(inode bitmap)、索引節(jié)點匹配位圖(I麼bitm即)。索引節(jié)點層可以采用EXT2/EXT3或其文件系統(tǒng)的索引節(jié)點結(jié)構(gòu)。
此外,根據(jù)文件的文件標(biāo)識構(gòu)建索引節(jié)點匹配層。索引節(jié)點匹配層采取樹狀結(jié)構(gòu),由多個索引節(jié)點匹配表構(gòu)成。每個索引節(jié)點匹配表由相關(guān)的主鍵值(key)和鍵值(value)對構(gòu)成,可以用B樹、B+樹或B-樹等來構(gòu)建。以B+樹為例,文件的文件標(biāo)識,例如HASH值,作為指針塊的主鍵值(key),文件的索引節(jié)點作為指針塊的鍵值(value),定義如下
keyMAP 二 Map (ke尸文件的HASH值,value二文件的索引節(jié)點)。如圖4所示,索引節(jié)點分配層中每個相關(guān)的主鍵值(key)和鍵值(value)對的頂AP結(jié)構(gòu)具體包括匹配版本號(IMAP vers ion )、代號(generation畫ber)、匹配時間(IMAP time)、匹配主鍵值(IMAP key)和匹配索引節(jié)點(IMAP inode),通過上述定義將匹配主鍵值和匹配索引節(jié)點對應(yīng)起來。
當(dāng)接收到客戶端后續(xù)發(fā)送的文件時,標(biāo)識首先對文件內(nèi)容進(jìn)行HASH計算并得到相應(yīng)的文件標(biāo)識,當(dāng)后續(xù)發(fā)送的文件的文件標(biāo)識不存在于所述索引節(jié)
點匹配層中時,根據(jù)后續(xù)發(fā)送的文件的標(biāo)識生成新索引節(jié)點匹配表插入所述索引節(jié)點匹配層,以分配新的索引節(jié)點。如果客戶端后續(xù)發(fā)送的文件的標(biāo)識存在于所述索引節(jié)點匹配層中時,通過存在的索引節(jié)點匹配表將所述后續(xù)發(fā)送的文件指向?qū)?yīng)的索引節(jié)點。
本發(fā)明實施例提供的分布式文件存儲架構(gòu)根據(jù)文件內(nèi)容得到文件標(biāo)識,再將文件標(biāo)識與索引節(jié)點相匹配,可以避免了名稱不同而內(nèi)容相同的重復(fù)文件的出現(xiàn),節(jié)省了大量的存儲空間。
實施例二本實施例通過寫操作進(jìn)一步詳細(xì)描述根據(jù)實施例一的分布式文件存儲構(gòu) 架的構(gòu)建方法。參見圖5,該方法包括
步驟S501:客戶端根據(jù)將要寫到存儲節(jié)點上的文件內(nèi)容計算其HASH值, 并將文件的HASH值傳送給元數(shù)據(jù)服務(wù)器,文件的HASH值可以通過MD5、 SHA-1 、 SHA-2、 SHA-256等方法計算得到;
步驟S502:元數(shù)據(jù)服務(wù)器獲取文件的HASH值;
步驟S503:元數(shù)據(jù)服務(wù)器根據(jù)文件的HASH值來構(gòu)建索引節(jié)點匹配層(IMAP Tree),同時構(gòu)建超級塊層、索引節(jié)點層和數(shù)據(jù)塊層;其中,索引節(jié)點匹配層 包括多個IMAP表,用B+樹來構(gòu)建,IMAP表的key值是文件HASH值,value 是文件的索引節(jié)點;
步驟S504:當(dāng)元數(shù)據(jù)服務(wù)器接收到新的文件HASH值,首先檢索文件HASH 值是否存在索引節(jié)點匹配層中;
步驟S505:如果該HASH值不存在于索引節(jié)點匹配層中,則元數(shù)據(jù)服務(wù)器 根據(jù)該HASH值分配新的索引節(jié)點,構(gòu)建新IMAP表,并插入索引節(jié)點匹配層 中;
步驟S506:如果該HASH值已經(jīng)存在索引節(jié)點匹配層中,則將該文件通過 對應(yīng)的IMAP表指向原來對應(yīng)的索引節(jié)點,不重新進(jìn)行寫操作。
本發(fā)明實施例提供的分布式文件存儲架構(gòu)根據(jù)文件內(nèi)容得到文件標(biāo)識, 再將文件標(biāo)識與索引節(jié)點相匹配,可以避免了名稱不同而內(nèi)容相同的重復(fù)文 件的出現(xiàn),節(jié)省了大量的存儲空間。
實施例三
本實施例提供一種分布式文件存儲構(gòu)架的構(gòu)建裝置。如圖6所示,所述 裝置600包括
文件標(biāo)識獲取模塊601,用于對文件的文件內(nèi)容進(jìn)行Hash計算,獲得文 件的文件標(biāo)識;文件標(biāo)識為文件的HASH值,通過MD5、 SHA-1、 SHA-2、 SHA-256 等計算得到。構(gòu)架構(gòu)建模塊602,用于根據(jù)文件標(biāo)識構(gòu)建分布式文件存儲構(gòu)架。如圖2所示,分布式文件存儲構(gòu)架包括超級塊層(super block)、索引節(jié)點匹配層(皿P, inode map)、索引節(jié)點層(inode)和數(shù)據(jù)塊層四層(data block)。其中如圖3所示,索引節(jié)點匹配層用于在文件標(biāo)識和文件的索引節(jié)點之間進(jìn)行匹配,索引節(jié)點層用于在文件的索引節(jié)點和存儲數(shù)據(jù)之間進(jìn)行匹配。
構(gòu)架構(gòu)建模塊602在超級塊層中定義塊組(group descriptor),塊位圖(block bitmap)、索引節(jié)點位圖(inode bitmap)、索引節(jié)點匹配位圖(IMAPbitmap)。索引節(jié)點層可以采用EXT2/EXT3或其文件系統(tǒng)的索引節(jié)點結(jié)構(gòu)。構(gòu)架構(gòu)建模塊602根據(jù)文件的文件標(biāo)識構(gòu)建索引節(jié)點匹配層。索引節(jié)點匹配層采取樹狀結(jié)構(gòu),由多個索引節(jié)點匹配表構(gòu)成。每個索引節(jié)點匹配表由相關(guān)的主鍵值(key)和鍵值(value)對構(gòu)成,可以用B樹、B+樹或B-樹等來構(gòu)建。以B+樹為例,文件的文件標(biāo)識,例如HASH值,作為指針塊的主鍵值(key),文件的索引節(jié)點作為指針塊的鍵值(value),定義如下
keyMAP = Map (ke"文件的HASH值,value二文件的索引節(jié)點)。
如圖4所示,索引節(jié)點分配層中每個相關(guān)的主鍵值(key)和鍵值(value)對的IMAP結(jié)構(gòu)具體包括匹配版本號(IMAP version)、代號(generationnumber)、匹配時間(IMAP time)、匹配主鍵值(IMAP key)和匹配索引節(jié)點(IMAP inode),通過上述定義將匹配主鍵值和匹配索引節(jié)點對應(yīng)起來。
該裝置還可以進(jìn)一步包括匹配識別模塊603,用于識別客戶端后續(xù)發(fā)送的文件標(biāo)識是否存在于所述索引節(jié)點匹配層中。當(dāng)匹配識別模塊603識別后續(xù)發(fā)送的文件標(biāo)識不存在于所述索引節(jié)點匹配層中時,構(gòu)架構(gòu)建模塊602根據(jù)后續(xù)發(fā)送的文件的標(biāo)識生成新索引節(jié)點匹配表插入所述索引節(jié)點匹配層,以分配新的索引節(jié)點。當(dāng)匹配識別模塊603識別后續(xù)發(fā)送的文件的標(biāo)識存在于所述索引節(jié)點匹配層中時,構(gòu)架構(gòu)建模塊602通過存在的索引節(jié)點匹配表將所述后續(xù)發(fā)送的文件指向?qū)?yīng)的索引節(jié)點。
本發(fā)明實施例根據(jù)文件內(nèi)容得到文件標(biāo)識,再將文件標(biāo)識與索引節(jié)點相匹配,可以避免了名稱不同而內(nèi)容相同的重復(fù)文件的出現(xiàn),節(jié)省了大量的存儲空間。以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種分布式文件存儲構(gòu)架的構(gòu)建方法,其特征在于,所述方法包括選取文件;對所述文件的文件內(nèi)容進(jìn)行Hash計算,獲得所述文件的文件標(biāo)識;根據(jù)所述文件標(biāo)識來構(gòu)建文件的分布式文件存儲構(gòu)架。
2、 根據(jù)權(quán)利要求l所述的方法,其特征在于,還包括所述分布式文件存儲構(gòu)架包括超級塊層、索引節(jié)點匹配層、索引節(jié)點層和數(shù)據(jù)塊層。
3、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,根據(jù)所述文件標(biāo)識構(gòu)建分布式文件存儲構(gòu)架步驟包括根據(jù)所述文件標(biāo)識構(gòu)建索引節(jié)點匹配層,用于在文件標(biāo)識和索引節(jié)點層中的索引節(jié)點之間進(jìn)行匹配。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于當(dāng)獲得的后續(xù)文件的文件標(biāo)識不存在于所述索引節(jié)點匹配層中時,根據(jù)所述后續(xù)文件標(biāo)識生成新索引 節(jié)點匹配表插入所述索引節(jié)點匹配層中。
5、 根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括當(dāng)獲得的后續(xù)文件的文件標(biāo)識存在于所述索引節(jié)點匹配層中時,將所述后續(xù)文件指向?qū)?yīng)的 索引節(jié)點。
6、 根據(jù)權(quán)利要求3所述的方法,其特征在于所述文件標(biāo)識為文件的散列值。
7、 一種分布式文件存儲構(gòu)架的構(gòu)建裝置,其特征在于,所述裝置包括文件標(biāo)識獲取模塊,用于對文件的文件內(nèi)容進(jìn)行Hash計算,獲得文件的 文件標(biāo)識;構(gòu)架構(gòu)建模塊,用于根據(jù)文件標(biāo)識構(gòu)建分布式文件存儲構(gòu)架。
8、 根據(jù)權(quán)利要求7所述的裝置,其特征在于所述分布式文件存儲構(gòu)架 包括超級塊層、索引節(jié)點匹配層、索引節(jié)點層和數(shù)據(jù)塊層。
9、 根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,還包括匹配識別模塊,用于識別客戶端后續(xù)發(fā)送的文件標(biāo)識是否存在于所述索引節(jié)點匹配層中;當(dāng)獲得的后續(xù)文件的文件標(biāo)識不存在于所述索引節(jié)點匹配層中時,所述 構(gòu)架構(gòu)建模塊根據(jù)所述后續(xù)文件標(biāo)識生成新索引節(jié)點匹配表插入所述索引節(jié)點匹配層中;當(dāng)獲得的后續(xù)文件的文件標(biāo)識存在于所述索引節(jié)點匹配層中時, 所述構(gòu)架構(gòu)建模塊將所述后續(xù)文件指向?qū)?yīng)的索引節(jié)點。
10、根據(jù)權(quán)利要求7所述的裝置,其特征在于所述文件標(biāo)識為文件的 散列值。
全文摘要
本發(fā)明提供一種分布式文件存儲構(gòu)架的構(gòu)建方法和裝置。其中方法包括選取文件;對所述文件的文件內(nèi)容進(jìn)行Hash計算,獲得所述文件的文件標(biāo)識;根據(jù)所述文件標(biāo)識來構(gòu)建文件的分布式文件存儲構(gòu)架。所述裝置包括文件標(biāo)識獲取模塊,用于對文件的文件內(nèi)容進(jìn)行Hash計算,獲得文件的文件標(biāo)識;構(gòu)架構(gòu)建模塊,用于根據(jù)文件標(biāo)識構(gòu)建分布式文件存儲構(gòu)架。本發(fā)明通過將文件標(biāo)識與索引節(jié)點相匹配,從而避免了相同的文件重復(fù)保存和重復(fù)數(shù)據(jù)刪除,不但保證了數(shù)據(jù)的可靠性,而且節(jié)省了大量的存儲空間。
文檔編號G06F17/30GK101673289SQ200910179938
公開日2010年3月17日 申請日期2009年10月10日 優(yōu)先權(quán)日2009年10月10日
發(fā)明者晗 孔, 程菊生, 遠(yuǎn) 袁 申請人:成都市華為賽門鐵克科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
尤溪县| 洪洞县| 长治市| 开江县| 梁山县| 永福县| 水城县| 彰化县| 阿鲁科尔沁旗| 兴安盟| 延寿县| 出国| 蕉岭县| 昌图县| 商城县| 垫江县| 高雄县| 土默特右旗| 安陆市| 兴文县| 青铜峡市| 北辰区| 航空| 新泰市| 平遥县| 临潭县| 平塘县| 哈尔滨市| 大宁县| 英山县| 鹿泉市| 泰州市| 榆树市| 分宜县| 湄潭县| 托里县| 简阳市| 赤水市| 汪清县| 兴海县| 北流市|