本發(fā)明一般地涉及計(jì)算機(jī)技術(shù)領(lǐng)域,更具體地來說,涉及元數(shù)據(jù)管理方法。
背景技術(shù):隨著科技的日異月新,文件數(shù)據(jù)的指數(shù)性增長給存儲(chǔ)系統(tǒng)帶來了巨大的挑戰(zhàn)。與傳統(tǒng)的SAN結(jié)構(gòu)存儲(chǔ)比較起來,分布式文件系統(tǒng)具有價(jià)格低廉、可擴(kuò)展性強(qiáng)、性能優(yōu)越等特性。作為通用的分布式文件系統(tǒng),元數(shù)據(jù)的管理是需要重點(diǎn)關(guān)注的,因?yàn)樵獢?shù)據(jù)是管理數(shù)據(jù)的數(shù)據(jù)。根據(jù)訪問特性,應(yīng)用可分為兩種形式:元數(shù)據(jù)非密集型和元數(shù)據(jù)密集型。元數(shù)據(jù)非密集型應(yīng)用主要是大文件的訪存,如視頻監(jiān)控、虛擬機(jī)應(yīng)用等,這類應(yīng)用集中于數(shù)據(jù)的訪存,元數(shù)據(jù)訪問的比例相對(duì)較低,因而對(duì)于元數(shù)據(jù)管理的壓力較??;元數(shù)據(jù)密集型應(yīng)用集中于小文件的訪存,如數(shù)字圖書館、網(wǎng)上商城等,這類應(yīng)用操作的文件量巨大,元數(shù)據(jù)的訪問壓力較大。當(dāng)管理海量的小文件時(shí),分布式文件系統(tǒng)需要面臨著性能和存儲(chǔ)容量的雙重考驗(yàn)。在現(xiàn)有技術(shù)中,對(duì)于海量小文件的管理均存在一定的局限性。Lustre、GoogleFS、HDFS采用單一元數(shù)據(jù)服務(wù)節(jié)點(diǎn)架構(gòu),無法進(jìn)行擴(kuò)展,因此不論是在性能還是存儲(chǔ)容量上都大大受限,不能很好地滿足海量小文件管理的需求。GPFS采用多元數(shù)據(jù),但是元數(shù)據(jù)服務(wù)器之間采用分布式鎖來維持一致性,因此當(dāng)元數(shù)據(jù)服務(wù)節(jié)點(diǎn)的數(shù)量較多時(shí),分布式鎖的開銷會(huì)激增,對(duì)性能照成較大的負(fù)面影響。Panasas的存儲(chǔ)系統(tǒng)采用多元數(shù)據(jù)服務(wù)器架構(gòu),但是每個(gè)元數(shù)據(jù)節(jié)點(diǎn)管理的命名空間是獨(dú)立的,不能實(shí)現(xiàn)真正意義上的全局命名空間。Ceph采用動(dòng)態(tài)子樹的方式來在多個(gè)元數(shù)據(jù)節(jié)點(diǎn)之間平衡元數(shù)據(jù)訪問負(fù)載,這種方式可以實(shí)現(xiàn)訪問負(fù)載的均衡,但其不足之處在于元數(shù)據(jù)節(jié)點(diǎn)不能實(shí)現(xiàn)存儲(chǔ)容量的動(dòng)態(tài)擴(kuò)展。因此,現(xiàn)有技術(shù)中的分布式文件系統(tǒng)不能同時(shí)滿足巨大的應(yīng)用操作的文件量和較大的元數(shù)據(jù)的訪問壓力方面的要求。
技術(shù)實(shí)現(xiàn)要素:針對(duì)現(xiàn)有技術(shù)中的存在分布式文件系統(tǒng)不能同時(shí)滿足巨大的應(yīng)用操作的文件量和較大的元數(shù)據(jù)的訪問壓力方面的要求的缺陷,本發(fā)明提供了能夠解決上述缺陷的元數(shù)據(jù)管理方法。根據(jù)本發(fā)明的一方面,本發(fā)明提供了一種元數(shù)據(jù)管理方法,包括:在元數(shù)據(jù)位置服務(wù)模塊中獲取元數(shù)據(jù)位置的信息;將元數(shù)據(jù)位置的信息傳送給元數(shù)據(jù)服務(wù)模塊;以及根據(jù)元數(shù)據(jù)位置的信息對(duì)元數(shù)據(jù)進(jìn)行讀寫操作。優(yōu)選地,元數(shù)據(jù)位置為全局唯一標(biāo)識(shí)ID,在元數(shù)據(jù)管理方法的步驟開始之前,進(jìn)一步包括:建立所有全局唯一標(biāo)識(shí)ID和元數(shù)據(jù)存儲(chǔ)位置之間的一致性哈希映射關(guān)系,并將元數(shù)據(jù)存儲(chǔ)位置作為元數(shù)據(jù)存儲(chǔ)位置集合;將元數(shù)據(jù)存儲(chǔ)位置集合劃分為M個(gè)子集,其中,M為大于N的整數(shù)并且N為元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的個(gè)數(shù);將M個(gè)子集分配給N個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn);以及根據(jù)一致性哈希映射關(guān)系,將具有全局唯一標(biāo)識(shí)ID的元數(shù)據(jù)存儲(chǔ)在與M個(gè)子集相對(duì)應(yīng)的N個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)上。優(yōu)選地,當(dāng)N個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)空間不足時(shí),在線添加擴(kuò)展元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),并且將存儲(chǔ)在N個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)上的M個(gè)子集的一部分轉(zhuǎn)存至擴(kuò)展元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)上。優(yōu)選地,元數(shù)據(jù)位置服務(wù)模塊位于一個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn)組上,每個(gè)存儲(chǔ)節(jié)點(diǎn)組都包括一個(gè)主存儲(chǔ)節(jié)點(diǎn)和一個(gè)從存儲(chǔ)節(jié)點(diǎn),并且主存儲(chǔ)節(jié)點(diǎn)和從存儲(chǔ)節(jié)點(diǎn)互為鏡像存儲(chǔ)節(jié)點(diǎn)。優(yōu)選地,當(dāng)一個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn)組的存儲(chǔ)空間不足時(shí),以存儲(chǔ)節(jié)點(diǎn)組為單位在線添加擴(kuò)展存儲(chǔ)節(jié)點(diǎn)組,并且將后續(xù)要寫入的元數(shù)據(jù)的元數(shù)據(jù)位置的信息存儲(chǔ)在擴(kuò)展存儲(chǔ)節(jié)點(diǎn)組上。優(yōu)選地,在實(shí)施元數(shù)據(jù)管理方法的步驟之前,進(jìn)一步包括:通過客戶端向元數(shù)據(jù)位置服務(wù)模塊發(fā)送元數(shù)據(jù)操作請(qǐng)求,其中,元數(shù)據(jù)操作請(qǐng)求包括:查詢請(qǐng)求和存儲(chǔ)請(qǐng)求。優(yōu)選地,當(dāng)元數(shù)據(jù)操作請(qǐng)求為查詢請(qǐng)求時(shí),根據(jù)查詢請(qǐng)求,在元數(shù)據(jù)位置服務(wù)模塊中查找到元數(shù)據(jù)的全局唯一標(biāo)識(shí)ID;將全局唯一標(biāo)識(shí)ID傳送給元數(shù)據(jù)服務(wù)模塊;以及根據(jù)全局唯一標(biāo)識(shí)ID的一致性哈希映射查找到存儲(chǔ)元數(shù)據(jù)的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),從元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)讀取元數(shù)據(jù)并反饋給客戶端。優(yōu)選地,當(dāng)元數(shù)據(jù)操作請(qǐng)求為存儲(chǔ)請(qǐng)求時(shí),根據(jù)存儲(chǔ)請(qǐng)求,由元數(shù)據(jù)位置服務(wù)模塊提供元數(shù)據(jù)的全局唯一標(biāo)識(shí)ID;將全局唯一標(biāo)識(shí)ID和元數(shù)據(jù)傳送給元數(shù)據(jù)服務(wù)模塊;以及根據(jù)全局唯一標(biāo)識(shí)ID的一致性哈希映射查找到要存儲(chǔ)元數(shù)據(jù)的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),并將元數(shù)據(jù)存儲(chǔ)在元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)中。優(yōu)選地,元數(shù)據(jù)服務(wù)模塊用于管理包括文件的基本屬性、用戶數(shù)據(jù)存儲(chǔ)位置信息以及文件擴(kuò)展屬性的元數(shù)據(jù)。優(yōu)選地,元數(shù)據(jù)位置服務(wù)模塊用于管理元數(shù)據(jù)位置信息和文件系統(tǒng)的目錄樹結(jié)構(gòu)。利用本發(fā)明的技術(shù)方案能夠克服現(xiàn)有技術(shù)的缺陷,通過將文件系統(tǒng)的元數(shù)據(jù)管理劃分為元數(shù)據(jù)位置管理層和元數(shù)據(jù)管理層,這樣能夠解決多個(gè)用戶同時(shí)訪問海量小文件的壓力,而且這種元數(shù)據(jù)管理方法便于在線擴(kuò)展元數(shù)據(jù)位置存儲(chǔ)節(jié)點(diǎn)和元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),從而便于動(dòng)態(tài)增大存儲(chǔ)容量。因此能夠滿足巨大的應(yīng)用操作的文件量和較大的元數(shù)據(jù)的訪問壓力方面的要求。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。附圖說明以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。在附圖中:圖1為根據(jù)本發(fā)明的實(shí)施例的元數(shù)據(jù)管理方法的整體流程圖;圖2為根據(jù)本發(fā)明的實(shí)施例的元數(shù)據(jù)管理方法的存儲(chǔ)方法的具體實(shí)例的示圖;圖3為根據(jù)本發(fā)明的實(shí)施例在實(shí)施元數(shù)據(jù)管理方法之前,建立元數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的方法的步驟的流程圖;圖4為本發(fā)明的可選實(shí)施例的建立的部分元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的示圖;圖5為根據(jù)本發(fā)明的實(shí)施例的元數(shù)據(jù)管理方法的查詢方法的具體流程的示圖;以及圖6為根據(jù)本發(fā)明的實(shí)施例的元數(shù)據(jù)管理方法的存儲(chǔ)方法的具體流程圖。具體實(shí)施方式以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。圖1為根據(jù)本發(fā)明的實(shí)施例的元數(shù)據(jù)管理方法的整體流程圖。參考圖1,元數(shù)據(jù)管理方法100包括以下步驟。在步驟S102中,在元數(shù)據(jù)位置服務(wù)模塊中獲取元數(shù)據(jù)位置的信息。具體地,客戶端接收到來自用戶的數(shù)據(jù)請(qǐng)求以后,首先將接收到的數(shù)據(jù)請(qǐng)求傳送給元數(shù)據(jù)位置服務(wù)模塊,并且在元數(shù)據(jù)位置服務(wù)模塊中獲取元數(shù)據(jù)位置信息。在步驟S104中,將元數(shù)據(jù)位置的信息傳送給元數(shù)據(jù)服務(wù)模塊。具體地,元數(shù)據(jù)位置服務(wù)模塊將獲得的元數(shù)據(jù)位置的信息傳送給元數(shù)據(jù)服務(wù)模塊。在步驟S106中,根據(jù)元數(shù)據(jù)位置的信息對(duì)元數(shù)據(jù)進(jìn)行讀寫操作。具體地,元數(shù)據(jù)服務(wù)模塊在接收到元數(shù)據(jù)位置的信息以后,根據(jù)該元數(shù)據(jù)位置的信息對(duì)該元數(shù)據(jù)進(jìn)行讀操作或?qū)懖僮鳌1景l(fā)明的實(shí)施例的元數(shù)據(jù)管理方法將元數(shù)據(jù)的管理劃分為元數(shù)據(jù)位置管理層和元數(shù)據(jù)管理層,通過元數(shù)據(jù)位置管理層統(tǒng)一管理用戶訪問的元數(shù)據(jù)位置信息,然后元數(shù)據(jù)管理層根據(jù)元數(shù)據(jù)位置的信息將用戶的訪問請(qǐng)求分散到多個(gè)服務(wù)器上去執(zhí)行,從而能夠克服由于多個(gè)用戶同時(shí)訪問元數(shù)據(jù)存儲(chǔ)系統(tǒng)所導(dǎo)致的系統(tǒng)響應(yīng)時(shí)間長、反應(yīng)慢、訪問效率低等缺陷,因此,能夠承受多個(gè)用戶同時(shí)訪問該存儲(chǔ)系統(tǒng)所帶來的訪問壓力,從而提高了系統(tǒng)性能。本發(fā)明中對(duì)文件系統(tǒng)元數(shù)據(jù)管理采取分層管理,共分為兩層:第一層為元數(shù)據(jù)位置管理層,第二層為元數(shù)據(jù)管理層。元數(shù)據(jù)位置管理層用于管理文件元數(shù)據(jù)所在的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)位置信息和文件系統(tǒng)的目錄樹結(jié)構(gòu)。具體地,元數(shù)據(jù)位置管理層(即,元數(shù)據(jù)位置服務(wù)模塊)向用戶的數(shù)據(jù)請(qǐng)求接收層提供各個(gè)文件的具體元數(shù)據(jù)存儲(chǔ)位置信息以及傳統(tǒng)的目錄樹結(jié)構(gòu)。元數(shù)據(jù)服務(wù)模塊用于管理包括文件的基本屬性、用戶數(shù)據(jù)存儲(chǔ)位置信息以及文件擴(kuò)展屬性的元數(shù)據(jù)。具體地,元數(shù)據(jù)管理層用于管理文件的基本屬性(如大小、修改時(shí)間)、用戶數(shù)據(jù)存儲(chǔ)位置信息、文件擴(kuò)展屬性(如權(quán)限配置)等。在海量小文件存儲(chǔ)系統(tǒng)中,由于需要管理海量文件,元數(shù)據(jù)量較多,因此元數(shù)據(jù)管理層的元數(shù)據(jù)信息存儲(chǔ)需求較元數(shù)據(jù)位置管理層的元數(shù)據(jù)位置信息存儲(chǔ)需求大。圖2為根據(jù)本發(fā)明的實(shí)施例的元數(shù)據(jù)管理方法的存儲(chǔ)方法的具體實(shí)例的示圖。應(yīng)用訪問元數(shù)據(jù)的流程如下:(1)應(yīng)用將向客戶端發(fā)起請(qǐng)求;(2)向元數(shù)據(jù)位置服務(wù)模塊查詢?cè)獢?shù)據(jù)的存儲(chǔ)位置;(3)元數(shù)據(jù)位置服務(wù)模塊將請(qǐng)求轉(zhuǎn)發(fā)給元數(shù)據(jù)服務(wù)模塊;(4)元數(shù)據(jù)服務(wù)模塊讀取元數(shù)據(jù),返回給客戶端;以及(5)客戶端向應(yīng)用返回請(qǐng)求處理結(jié)果。因此,利用該元數(shù)據(jù)管理方法解決了分布式文件系統(tǒng)中元數(shù)據(jù)性能和存儲(chǔ)容量所面臨的雙重壓力問題。在元數(shù)據(jù)管理方法的步驟開始之前,首先需要建立能夠?qū)崿F(xiàn)參考圖1所述的元數(shù)據(jù)管理方法的元數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)(即,分布式文件系統(tǒng))。圖3為根據(jù)本發(fā)明的實(shí)施例在實(shí)施元數(shù)據(jù)管理方法之前,建立元數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的方法的步驟的流程圖。參考圖3,建立元數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的方法300包括以下具體步驟。在步驟S302中,建立所有全局唯一標(biāo)識(shí)ID和元數(shù)據(jù)存儲(chǔ)位置之間的一致性哈希映射關(guān)系,并將元數(shù)據(jù)存儲(chǔ)位置作為元數(shù)據(jù)存儲(chǔ)位置集合。其中元數(shù)據(jù)位置為全局唯一標(biāo)識(shí)ID。具體地,將該元數(shù)據(jù)存儲(chǔ)系統(tǒng)中的所有的元數(shù)據(jù)位置進(jìn)行統(tǒng)一編號(hào),從而便于在整個(gè)元數(shù)據(jù)存儲(chǔ)系統(tǒng)中進(jìn)行全局查找。具體地,通過一致性哈希映射建立全局唯一標(biāo)識(shí)ID和實(shí)際的元數(shù)據(jù)存儲(chǔ)位置之間的映射關(guān)系,并且將實(shí)際的元數(shù)據(jù)存儲(chǔ)位置作為元數(shù)據(jù)存儲(chǔ)位置集合。在步驟S304中,將元數(shù)據(jù)存儲(chǔ)位置集合劃分為M個(gè)子集,其中,M為大于N的整數(shù)并且N為元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的個(gè)數(shù)。具體地,對(duì)實(shí)際的元數(shù)據(jù)存儲(chǔ)位置集合進(jìn)行劃分,當(dāng)存儲(chǔ)元數(shù)據(jù)的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)具有N個(gè)時(shí),將元數(shù)據(jù)存儲(chǔ)位置的集合劃分為M個(gè),其中M遠(yuǎn)遠(yuǎn)大于N,從而能夠輕松地實(shí)現(xiàn)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的在線擴(kuò)展。在步驟S306中,將M個(gè)子集分配給N個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)。對(duì)元數(shù)據(jù)存儲(chǔ)位置的M個(gè)子集進(jìn)行分配,在建立存儲(chǔ)結(jié)構(gòu)時(shí),將M個(gè)子集分配給N個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),當(dāng)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)容量不足時(shí),可以將具有多個(gè)子集的存儲(chǔ)節(jié)點(diǎn)中的一個(gè)或多個(gè)子集分配給擴(kuò)展的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),從而使元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)能夠進(jìn)行在線擴(kuò)展。在步驟S308中,根據(jù)一致性哈希映射關(guān)系,將具有全局唯一標(biāo)識(shí)ID的元數(shù)據(jù)存儲(chǔ)在與M個(gè)子集相對(duì)應(yīng)的N個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)上。具體地,每個(gè)元數(shù)據(jù)都會(huì)具有一個(gè)全局唯一標(biāo)識(shí)ID,將具有全局唯一標(biāo)識(shí)ID的相應(yīng)元數(shù)據(jù)存儲(chǔ)在分配有相應(yīng)的元數(shù)據(jù)存儲(chǔ)位置子集的存儲(chǔ)節(jié)點(diǎn)上,從而建立能夠通過本發(fā)明實(shí)施例的元數(shù)據(jù)管理方法所管理的存儲(chǔ)結(jié)構(gòu)(即,分布式文件系統(tǒng))。在通過建立元數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的方法300所建立的元數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,元數(shù)據(jù)位置管理層(即,元數(shù)據(jù)位置服務(wù)模塊)采用樹結(jié)構(gòu)管理,對(duì)應(yīng)傳統(tǒng)文件系統(tǒng)的目錄項(xiàng)管理。該層的存儲(chǔ)量不大,通常TB級(jí)的存儲(chǔ)容量就可以滿足存儲(chǔ)容量的要求。由于元數(shù)據(jù)存儲(chǔ)位置的訪問需求較大,且在常規(guī)應(yīng)用模式下,以查詢?cè)L問為主。優(yōu)選地,采取存儲(chǔ)和訪問分離的結(jié)構(gòu),即,存儲(chǔ)節(jié)點(diǎn)數(shù)目和提供定位查詢服務(wù)的訪問節(jié)點(diǎn)可以不同,以避免元數(shù)據(jù)位置服務(wù)模塊所提供的服務(wù)成為整個(gè)存儲(chǔ)系統(tǒng)的瓶頸。例如,由于該分布式文件系統(tǒng),主要是提供訪問服務(wù),所以可以將更多的存儲(chǔ)節(jié)點(diǎn)分配給訪問請(qǐng)求,而分配給存儲(chǔ)請(qǐng)求的存儲(chǔ)節(jié)點(diǎn)較少。當(dāng)客戶端接收到應(yīng)用請(qǐng)求時(shí),將元數(shù)據(jù)位置查詢?nèi)蝿?wù)下發(fā)給元數(shù)據(jù)位置服務(wù)模塊進(jìn)行處理,元數(shù)據(jù)位置服務(wù)模塊通常操作內(nèi)存緩存,在必要時(shí),元數(shù)據(jù)位置服務(wù)模塊進(jìn)行磁盤訪問操作。在元數(shù)據(jù)管理層(即,元數(shù)據(jù)服務(wù)模塊)中,僅涉及到文件級(jí)別元數(shù)據(jù)的管理,目錄級(jí)別的元數(shù)據(jù)管理由其上層(即,元數(shù)據(jù)位置管理層)進(jìn)行管理。對(duì)于存儲(chǔ)系統(tǒng)中的每一個(gè)文件,都具有一個(gè)全局唯一的標(biāo)識(shí)(ID),該ID是在文件生成時(shí),由元數(shù)據(jù)位置服務(wù)模塊負(fù)責(zé)分配的。該元數(shù)據(jù)服務(wù)模塊管理的元數(shù)據(jù)信息包括文件的大小、時(shí)間信息、數(shù)據(jù)分布信息等,由于此類信息需要的存儲(chǔ)空間較大,因此需要多臺(tái)存儲(chǔ)節(jié)點(diǎn)共同承擔(dān),同時(shí)采用節(jié)點(diǎn)內(nèi)部RAID6和節(jié)點(diǎn)間副本技術(shù),來實(shí)現(xiàn)元數(shù)據(jù)冗余。在可選實(shí)施例中,在元數(shù)據(jù)信息存儲(chǔ)時(shí),將全局ID分為若干區(qū)間,每個(gè)區(qū)間的元數(shù)據(jù)信息存儲(chǔ)在一個(gè)存儲(chǔ)節(jié)點(diǎn),以實(shí)現(xiàn)存儲(chǔ)空間的均衡(參考圖4)。以下將對(duì)元數(shù)據(jù)位置存儲(chǔ)節(jié)點(diǎn)和元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)進(jìn)行描述。當(dāng)N個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)空間不足時(shí),在線添加擴(kuò)展元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),并且將存儲(chǔ)在N個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)上的M個(gè)子集的一部分轉(zhuǎn)存至擴(kuò)展元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)上。具體地,隨著存儲(chǔ)文件的增加,在該存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)空間不足時(shí),可以在線添加擴(kuò)展元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),并且將存儲(chǔ)在N個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)上的M個(gè)子集的一部分子集轉(zhuǎn)存至新添加的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)上,從而,在不影響該分布式文件系統(tǒng)的工作的情況下,也就是不必關(guān)閉系統(tǒng)就可以擴(kuò)展存儲(chǔ)空間的容量。元數(shù)據(jù)位置服務(wù)模塊位于一個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn)組上,每個(gè)存儲(chǔ)節(jié)點(diǎn)組都包括一個(gè)主存儲(chǔ)節(jié)點(diǎn)和一個(gè)從存儲(chǔ)節(jié)點(diǎn),并且主存儲(chǔ)節(jié)點(diǎn)和從存儲(chǔ)節(jié)點(diǎn)互為鏡像存儲(chǔ)節(jié)點(diǎn)。具體地,元數(shù)據(jù)位置服務(wù)模塊位于一個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn)組(即,元數(shù)據(jù)位置存儲(chǔ)節(jié)點(diǎn)對(duì))上。當(dāng)一個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn)組的存儲(chǔ)空間不足時(shí),以存儲(chǔ)節(jié)點(diǎn)組為單位在線添加擴(kuò)展存儲(chǔ)節(jié)點(diǎn)組,并且將后續(xù)要寫入的元數(shù)據(jù)的元數(shù)據(jù)位置的信息存儲(chǔ)在擴(kuò)展存儲(chǔ)節(jié)點(diǎn)組上。具體地,當(dāng)該分布式文件系統(tǒng)的一個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn)組的存儲(chǔ)空間不足時(shí),可以以存儲(chǔ)節(jié)點(diǎn)組為單位在線添加擴(kuò)展節(jié)點(diǎn)組,并且將以后的數(shù)據(jù)請(qǐng)求要寫入的元件數(shù)據(jù)的元數(shù)據(jù)位置的信息存儲(chǔ)在擴(kuò)展節(jié)點(diǎn)組上來實(shí)現(xiàn)元數(shù)據(jù)位置存儲(chǔ)節(jié)點(diǎn)對(duì)的擴(kuò)容。以下將分別參考圖5和圖6描述元數(shù)據(jù)管理方法中的查詢請(qǐng)求和存儲(chǔ)請(qǐng)求的具體步驟。在實(shí)施元數(shù)據(jù)管理方法的步驟之前,進(jìn)一步包括:通過客戶端向元數(shù)據(jù)位置服務(wù)模塊發(fā)送元數(shù)據(jù)操作請(qǐng)求,其中,元數(shù)據(jù)操作請(qǐng)求包括:查詢請(qǐng)求和存儲(chǔ)請(qǐng)求。圖5為根據(jù)本發(fā)明的實(shí)施例的元數(shù)據(jù)管理方法的查詢方法的具體流程的示圖。參考圖5,元數(shù)據(jù)管理方法的查詢方法500包括以下具體步驟。當(dāng)元數(shù)據(jù)操作請(qǐng)求為查詢請(qǐng)求時(shí),在步驟S502中,根據(jù)查詢請(qǐng)求,在元數(shù)據(jù)位置服務(wù)模塊中查找到元數(shù)據(jù)的全局唯一標(biāo)識(shí)ID。具體地,當(dāng)數(shù)據(jù)請(qǐng)求為查詢請(qǐng)求時(shí),根據(jù)查詢請(qǐng)求的信息,在元數(shù)據(jù)位置服務(wù)模塊中查找到元數(shù)據(jù)的全局唯一標(biāo)識(shí)ID。在步驟S504中,將全局唯一標(biāo)識(shí)ID傳送給元數(shù)據(jù)服務(wù)模塊。具體地,元數(shù)據(jù)位置服務(wù)模塊在查找到元數(shù)據(jù)的全局唯一標(biāo)識(shí)ID以后,將該全局唯一標(biāo)識(shí)ID傳送給元數(shù)據(jù)服務(wù)模塊。在步驟S506中,根據(jù)所述全局唯一標(biāo)識(shí)ID的一致性哈希映射查找到存儲(chǔ)所述元數(shù)據(jù)的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),從所述元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)讀取所述元數(shù)據(jù)并反饋給所述客戶端。具體地,在元數(shù)據(jù)服務(wù)模塊中,對(duì)全局唯一標(biāo)識(shí)ID進(jìn)行一致性哈希映射,因此,根據(jù)全局唯一標(biāo)識(shí)ID的一致性哈希映射可以確定全局唯一標(biāo)識(shí)ID位于M個(gè)子集中的哪個(gè)子集中,進(jìn)而可以確定存儲(chǔ)元數(shù)據(jù)的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),然后,元數(shù)據(jù)服務(wù)模塊從元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)讀取元數(shù)據(jù)并將讀取的元數(shù)據(jù)通過客戶端反饋給用戶。圖6為根據(jù)本發(fā)明的實(shí)施例的元數(shù)據(jù)管理方法的存儲(chǔ)方法的具體流程圖。參考圖6,元數(shù)據(jù)管理方法的存儲(chǔ)方法600包括以下具體步驟。當(dāng)元數(shù)據(jù)操作請(qǐng)求為存儲(chǔ)請(qǐng)求時(shí),在步驟S602中,根據(jù)存儲(chǔ)請(qǐng)求,由元數(shù)據(jù)位置服務(wù)模塊提供元數(shù)據(jù)的全局唯一標(biāo)識(shí)ID。具體地,當(dāng)元數(shù)據(jù)操作請(qǐng)求為存儲(chǔ)請(qǐng)求時(shí),元數(shù)據(jù)位置服務(wù)模塊為該存儲(chǔ)請(qǐng)求的要存儲(chǔ)的元數(shù)據(jù)分配一個(gè)全局唯一標(biāo)識(shí)ID。在步驟S604中,將全局唯一標(biāo)識(shí)ID和元數(shù)據(jù)傳送給元數(shù)據(jù)服務(wù)模塊。具體地,元數(shù)據(jù)位置服務(wù)模塊在分配完全局唯一標(biāo)識(shí)ID以后,將分配的全局唯一標(biāo)識(shí)ID和要存儲(chǔ)的元數(shù)據(jù)傳送給元數(shù)據(jù)服務(wù)模塊。在步驟S606中,根據(jù)全局唯一標(biāo)識(shí)ID的一致性哈希映射查找到要存儲(chǔ)元數(shù)據(jù)的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),并將元數(shù)據(jù)存儲(chǔ)在元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)中。具體地,在元數(shù)據(jù)服務(wù)模塊中,對(duì)分配的全局唯一標(biāo)識(shí)ID進(jìn)行一致性哈希映射,因此,根據(jù)全局唯一標(biāo)識(shí)ID的一致性哈希映射可以確定全局唯一標(biāo)識(shí)ID位于M個(gè)子集中的哪個(gè)子集中,進(jìn)而可以確定要存儲(chǔ)的元數(shù)據(jù)的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),然后,元數(shù)據(jù)服務(wù)模塊將要存儲(chǔ)的元數(shù)據(jù)存儲(chǔ)在確定的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)上,然后將存儲(chǔ)成功的信息和全局唯一標(biāo)識(shí)ID通過客戶端反饋給用戶。利用本發(fā)明實(shí)施例的元數(shù)據(jù)管理方法,能夠獲得以下技術(shù)效果:首先,在建立該分布式文件系統(tǒng)時(shí),將元數(shù)據(jù)的管理劃分為元數(shù)據(jù)位置管理層和元數(shù)據(jù)管理層,通過元數(shù)據(jù)位置管理層統(tǒng)一管理用戶訪問的元數(shù)據(jù)位置信息,然后元數(shù)據(jù)管理層根據(jù)元數(shù)據(jù)位置的信息將用戶的訪問請(qǐng)求分散到多個(gè)服務(wù)器上去執(zhí)行,從而能夠克服由于多個(gè)用戶同時(shí)訪問元數(shù)據(jù)存儲(chǔ)系統(tǒng)所導(dǎo)致的系統(tǒng)響應(yīng)時(shí)間長、反應(yīng)慢、訪問效率低等缺陷,因此,能夠承受多個(gè)用戶同時(shí)訪問該存儲(chǔ)系統(tǒng)所帶來的訪問壓力,從而提高了系統(tǒng)性能。其次,該分布式文件系統(tǒng)的結(jié)構(gòu)允許在線擴(kuò)展元數(shù)據(jù)位置存儲(chǔ)節(jié)點(diǎn)和元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),從而解決了海量文件不斷增加所引起的存儲(chǔ)空間不足的問題。此外,可以將元數(shù)據(jù)位置服務(wù)模塊中的存儲(chǔ)請(qǐng)求和訪問請(qǐng)求進(jìn)行分離,從而避免了元數(shù)據(jù)位置服務(wù)模塊成為整個(gè)存儲(chǔ)系統(tǒng)的瓶頸。以上僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。