本發(fā)明涉及分布式文件系統(tǒng)技術(shù)領(lǐng)域,更具體地說,它涉及分布式文件系統(tǒng)元數(shù)據(jù)管理系統(tǒng)及方法。
背景技術(shù):
經(jīng)濟和技術(shù)的發(fā)展使我們處于一個信息爆炸的時代,只能利用單個文件服務器的存儲資源、計算能力和網(wǎng)絡傳輸能力的傳統(tǒng)分布式文件系統(tǒng)nfs已難以滿足當下急劇增長的數(shù)據(jù)量的處理要求。
為此,國家高性能計算機工程技術(shù)研究中心自主設計了藍鯨分布式文件系統(tǒng),該文件系統(tǒng)提出了分布式分層資源管理模型(distributedlayeredresourcemanagementmodel,dlrm),通過多個元數(shù)據(jù)服務器(meta-dataserver,ms)共同管理存儲在多個節(jié)點上的數(shù)據(jù),并且采用帶外(outofband)模式直接在應用服務器(applicationserver,as)和存儲節(jié)點(storagenode,sn)之間傳送數(shù)據(jù)。
dlrm模型根據(jù)功能的不同把bwfs劃分成處在不同層次上的多個模塊,物理磁盤到應用程序都由不同的模塊進行管理,并且各個模塊之間通過一定的接口進行服務調(diào)用。相較于nfs,dlrm模型具有以下特點:
(1)帶外數(shù)據(jù)傳輸,bwfs的所有文件數(shù)據(jù)直接在as和sn之間交換,無需經(jīng)過ms轉(zhuǎn)發(fā);
(2)資源的批量申請/釋放,上層以較大粒度向下層申請/釋放資源,減少各個層次之間的通信以及由此帶來的延遲,避免出現(xiàn)資源碎片;
(3)并發(fā)資源管理,多個層次上的多個模塊并發(fā)管理不同的資源,提高資源管理的效率;
(4)完全分布的模塊,各個模塊可以處在同一個節(jié)點上,也可以分別部署在不同的節(jié)點上,由多個節(jié)點分擔負載,提高系統(tǒng)性能;
(5)負載均衡,bwfs有效地在多個sn之間,多個ms之間進行負載平衡。
元數(shù)據(jù)是文件系統(tǒng)中用來描述數(shù)據(jù)組織和屬性的數(shù)據(jù),已有研究結(jié)果表明,文件系統(tǒng)中用戶訪問文件數(shù)據(jù)需要的文件元據(jù)請求數(shù)量所占的比例非常大。因此,文件系統(tǒng)元數(shù)據(jù)服務的研究是分布式文件系統(tǒng)研究的重要內(nèi)容,從提供文件系統(tǒng)元數(shù)據(jù)服務的服務器系統(tǒng)結(jié)構(gòu)來看,現(xiàn)有的研究可以歸結(jié)為兩大類,即沒有集中服務器和存在集中服務器。“是否有集中服務器“是指是否存在單一集中點決策元數(shù)據(jù)請求負載的分布,從元數(shù)據(jù)請求負載分布策略來看,這些系統(tǒng)可以分為根據(jù)文件系統(tǒng)的目錄樹結(jié)構(gòu)的“目錄子樹分區(qū)策略”和以文件路徑名、索引節(jié)點號等因素為參數(shù)進行哈希的“哈希策略”兩大類。
系統(tǒng)用戶的文件系統(tǒng)元數(shù)據(jù)訪問在一定時間內(nèi)表現(xiàn)出了局部性和動態(tài)性的特征,請求集中在占很小比例的部分元數(shù)據(jù)集上,而目錄子樹分區(qū)策略和哈希策略都是以整個系統(tǒng)的文件為決策對象,這顯然與實際情況不符。
bwfs提出了以文件系統(tǒng)靜態(tài)結(jié)構(gòu)和用戶元數(shù)據(jù)的動態(tài)訪問為參數(shù)的元數(shù)據(jù)分布策略,且僅針對用戶訪問到的小部分文件系統(tǒng)元數(shù)據(jù)進行分布管理。該元數(shù)據(jù)分布策略把正在被用戶訪問的文件系統(tǒng)元數(shù)據(jù)定義為活躍元數(shù)據(jù),其中,訪問包括了讀和寫,而元數(shù)據(jù)的讀寫權(quán)限分配給元數(shù)據(jù)服務器的過程稱為“元數(shù)據(jù)分布映射過程”,一個元數(shù)據(jù)被映射后,有且僅有一個元數(shù)據(jù)服務器負責其讀寫請求的處理,元數(shù)據(jù)當前映射到的元數(shù)據(jù)服務器即稱為該元數(shù)據(jù)的宿主。
綁定服務器(bindingserver,bs)通過對每隔一段時間接收自各個ms的cpu、內(nèi)存、網(wǎng)絡和已經(jīng)分布在自身的元數(shù)據(jù)的個數(shù)4個參數(shù)做加權(quán)平均,得到每個ms的負載情況,從而作為決策參考。
隨著文件數(shù)據(jù)的體量的劇增,文件數(shù)據(jù)的元數(shù)據(jù)文件也呈現(xiàn)出了大幅度的增長,對于如此龐大的元數(shù)據(jù)文件體量,如何對其進行高效管理,再一次成為了需要滿足當下數(shù)據(jù)增長的新要求。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)存在無法滿足當下數(shù)據(jù)增長的不足,本發(fā)明的第一目的在于提供一種能夠提高對當下劇增的分布式文件系統(tǒng)的元數(shù)據(jù)文件的管理效率的分布式文件系統(tǒng)元數(shù)據(jù)管理系統(tǒng)。
本發(fā)明的上述技術(shù)目的是通過以下技術(shù)方案得以實現(xiàn)的:分布式文件系統(tǒng)元數(shù)據(jù)管理系統(tǒng),包括記錄有活躍元數(shù)據(jù)的映射信息的綁定服務器;用于映射元數(shù)據(jù)的元數(shù)據(jù)服務器;還包括至少記錄有元數(shù)據(jù)文件的唯一標識碼和文件數(shù)據(jù)名稱的元元數(shù)據(jù)庫;通信連接于用戶客戶端以接收用戶客戶端發(fā)布的至少帶有文件數(shù)據(jù)名稱的關(guān)鍵字的指令信息,并依據(jù)所述指令信息自所述元元數(shù)據(jù)庫中讀取所述指令信息對應的所述元數(shù)據(jù)文件的唯一標識碼的元元數(shù)據(jù)服務器;所述綁定服務器通信連接于所述元元數(shù)據(jù)庫服務器以接收所述元數(shù)據(jù)文件的唯一標識碼并依據(jù)所述元數(shù)據(jù)文件的唯一標識碼和記錄的映射信息確定所述元數(shù)據(jù)服務器。
通過采用上述技術(shù)方案,元元數(shù)據(jù)庫記錄了元數(shù)據(jù)文件的屬性信息,在接收到用戶客戶端發(fā)送的帶有文件數(shù)據(jù)名稱的關(guān)鍵字的指令信息后,元元數(shù)據(jù)服務器依據(jù)指令信息對元元數(shù)據(jù)庫進行檢索,并將檢索結(jié)果發(fā)送到綁定服務器,綁定服務器依據(jù)自身記錄的活躍元數(shù)據(jù)的映射信息,確定元數(shù)據(jù)服務器,使其響應于指令信息為用戶客戶端提供元數(shù)據(jù)文件服務。
本發(fā)明進一步設置為:所述元元數(shù)據(jù)庫基于mongdb構(gòu)建。
通過采用上述技術(shù)方案,mongdb具有高性能、易部署、易使用,存儲數(shù)據(jù)非常方便的特定,并且還具有自動處理碎片,能夠支持云計算層次的擴展性的優(yōu)點。
本發(fā)明進一步設置為:所述元元數(shù)據(jù)庫存儲在共享存儲空間中。
通過采用上述技術(shù)方案,可以直接使用現(xiàn)有的硬件設施,或在現(xiàn)有硬件設施基礎(chǔ)上擴展即可,無需搭建新的硬件設施。
本發(fā)明進一步設置為:所述共享存儲空間劃分為多個獨立且具有全局邏輯地址的資源組,所述元元數(shù)據(jù)庫存儲在所述資源組中。
通過采用上述技術(shù)方案,每一個資源組由一個資源組管理器管理,使其能夠適應不同的使用模式,從而有效地利用存儲空間。
本發(fā)明進一步設置為:所述元數(shù)據(jù)文件的唯一標識碼包括元數(shù)據(jù)文件生成時間和六位隨機數(shù)字。
通過采用上述技術(shù)方案,使得唯一標識碼具有唯一性。
本發(fā)明的第二目的在于提供一種應用本發(fā)明第一目的的分布式文件系統(tǒng)。
本發(fā)明的上述技術(shù)目的是通過以下技術(shù)方案得以實現(xiàn)的:將上述分布式文件系統(tǒng)元數(shù)據(jù)管理系統(tǒng)應用于分布式文件系統(tǒng)。
本發(fā)明的第三目的在于提供一種能夠提高對當下劇增的分布式文件系統(tǒng)的元數(shù)據(jù)文件的管理效率的分布式文件系統(tǒng)元數(shù)據(jù)管理方法。
本發(fā)明的上述技術(shù)目的是通過以下技術(shù)方案得以實現(xiàn)的:分布式文件系統(tǒng)元數(shù)據(jù)管理方法,通過與用戶客戶端通信連接的元元數(shù)據(jù)服務器從用戶客戶端接收至少帶有文件數(shù)據(jù)名稱的指令信息,并依據(jù)指令信息從至少記錄有元數(shù)據(jù)文件的唯一標識碼和文件數(shù)據(jù)名稱的元元數(shù)據(jù)庫中讀取所述指令信息對應的所述元數(shù)據(jù)文件的唯一標識碼的步驟;以及
通過通信連接于所述元元數(shù)據(jù)服務器且記錄有活躍元數(shù)據(jù)的映射信息的綁定服務器從所述元元數(shù)據(jù)服務器接收所述元數(shù)據(jù)文件的唯一標識碼并依據(jù)所述元數(shù)據(jù)文件的唯一標識碼確定元數(shù)據(jù)服務器的步驟。
通過采用上述技術(shù)方案,元元數(shù)據(jù)服務器對元元數(shù)據(jù)庫進行檢索,確定元數(shù)據(jù)文件的唯一標識碼并將其發(fā)送給綁定服務器,使綁定服務器基于自身記錄的活躍元數(shù)據(jù)的映射信息確定元數(shù)據(jù)服務器,從而能夠提高對元數(shù)據(jù)的管理效率。
本發(fā)明與現(xiàn)有技術(shù)相比,基于mongdb構(gòu)建了元元數(shù)據(jù)庫,實現(xiàn)對元數(shù)據(jù)文件的管理,通信連接于用戶客戶端的元元數(shù)據(jù)服務器在接收到用戶客戶端發(fā)送的指令信息時,首先基于指令信息對元元數(shù)據(jù)庫進行檢索,然后將檢索的元數(shù)據(jù)文件的唯一標識碼反饋給綁定服務器,綁定服務器基于自身記錄的活躍元數(shù)據(jù)的映射信息,確定元數(shù)據(jù)服務器,使其響應于指令信息為用戶客戶端提供元數(shù)據(jù)文件服務;如此一來,能夠提高對當前劇增的元數(shù)據(jù)文件的管理效率。
附圖說明
圖1為本實施例的集群結(jié)構(gòu)圖。
具體實施方式
下面結(jié)合附圖和實施例,對本發(fā)明進行詳細描述。
為更好地理解本發(fā)明的技術(shù)方案,需要對活躍元數(shù)據(jù)和元數(shù)據(jù)宿主進行相關(guān)解釋。
活躍元數(shù)據(jù),是指正在被用戶訪問的文件系統(tǒng)元數(shù)據(jù),訪問包括讀和寫。
元數(shù)據(jù)宿主,元數(shù)據(jù)當前映射到的元數(shù)據(jù)服務器即稱為該元數(shù)據(jù)的宿主。
如圖1所示,顯示的是分布式文件系統(tǒng)元數(shù)據(jù)管理系統(tǒng)的集群結(jié)構(gòu),其包括了與用戶客戶端通信連接的元元數(shù)據(jù)服務器,與元元數(shù)據(jù)服務器通信連接的綁定服務器,通信連接于綁定服務器的多個元數(shù)據(jù)服務器,以及劃分成多個單獨具有全局邏輯地址的資源組的共享存儲空間。共享存儲空間采用的是專門的網(wǎng)絡存儲設備,負責文件數(shù)據(jù)的存儲服務和元數(shù)據(jù)文件的存儲服務。并且共享存儲空間內(nèi)的每一個資源組都由一個資源組管理器管理,對資源組的資源使用情況進行動態(tài)分配,使其能夠適應不同的使用模式,從而有效利用存儲空間。
另外,元元數(shù)據(jù)服務器、綁定服務器和元數(shù)據(jù)服務器采用的都是專用服務器,并且所有的專用服務器都直接與高速互聯(lián)網(wǎng)絡連接。多個專用的元數(shù)據(jù)服務器構(gòu)成元數(shù)據(jù)服務器集群,負責文件系統(tǒng)的元數(shù)據(jù)管理。
共享存儲空間的某一個資源組內(nèi)存儲有基于mongodb構(gòu)建的元元數(shù)據(jù)庫,元元數(shù)據(jù)庫記錄了文件名稱、元數(shù)據(jù)文件的唯一標識碼、元數(shù)據(jù)文件的大小等元數(shù)據(jù)文件的屬性信息。其中,元數(shù)據(jù)文件的唯一標識碼的生成規(guī)則是元數(shù)據(jù)文件的生成時間加六位隨機數(shù),是一個二十位的數(shù)字。比如某個元數(shù)據(jù)文件的生成時間是2017年2月25日22點30分43秒,那么該元數(shù)據(jù)文件的唯一標識碼為20170225223043xxxxxx,其中后六位隨機數(shù)由隨機數(shù)生成算法隨機生成。如此一來,能夠保證元數(shù)據(jù)文件的唯一標識碼的唯一性。
元元數(shù)據(jù)服務器在接收到用戶客戶端發(fā)送的帶有文件名稱的關(guān)鍵字的指令信息后,依據(jù)指令信息在元元數(shù)據(jù)庫中進行檢索,并將檢索到的符合指令信息的元數(shù)據(jù)文件的唯一標識碼發(fā)送給綁定服務器,這里需要說明的是,符合指令信息的元數(shù)據(jù)文件可能不止一個,可以是多個。綁定服務器依據(jù)自身記錄的活躍元數(shù)據(jù)的映射信息,即可確定元數(shù)據(jù)服務器,這里確定的元數(shù)據(jù)服務器即為該活躍元數(shù)據(jù)的宿主。
一個元數(shù)據(jù)被映射后,即有且僅有一個元數(shù)據(jù)服務器負責其讀寫請求的處理,并且一個元數(shù)據(jù)服務器能夠單獨完成為用戶客戶端提供元數(shù)據(jù)文件的服務。
另外,元數(shù)據(jù)服務器集群還會實時向綁定服務器匯報自身的cpu、內(nèi)存、網(wǎng)絡和映射在自身的元數(shù)據(jù)文件的個數(shù),綁定服務器接收到這四個參數(shù)后,對其做加權(quán)平均,計算出每個元數(shù)據(jù)服務器的負載情況,供決策使用。比如說綁定服務器依據(jù)活躍元數(shù)據(jù)的映射信息確定的元數(shù)據(jù)服務器的負載較大,此時,綁定服務器可以指定元數(shù)據(jù)文件映射到另一元數(shù)據(jù)服務器上,這一過程稱為元數(shù)據(jù)遷移。
元數(shù)據(jù)遷移的過程為:首先,被另外指定的元數(shù)據(jù)服務器通過綁定服務器請求原映射有元數(shù)據(jù)文件的元數(shù)據(jù)服務器把元數(shù)據(jù)文件寫回到共享存儲空間中,另外指定的元數(shù)據(jù)服務器從共享存儲空間中讀回元數(shù)據(jù)文件即可。
上述技術(shù)方案能夠應用到分布式文件系統(tǒng)中,達到滿足當下分布式文件系統(tǒng)中日益增長的元數(shù)據(jù)文件的有效管理的要求。
以上所述僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明的保護范圍并不僅局限于上述實施例,凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護范圍。應當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理前提下的若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。