專利名稱:存儲(chǔ)介質(zhì)的層次組織結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及元數(shù)據(jù)服務(wù)器領(lǐng)域,更具體地,涉及用于元數(shù)據(jù)服務(wù)器的層次組織結(jié)構(gòu)。
背景技術(shù):
元數(shù)據(jù)服務(wù)器是并行文件系統(tǒng)的大腦,對(duì)象所在的數(shù)據(jù)服務(wù)器及磁盤都是由元數(shù) 據(jù)服務(wù)器決定的。并且在實(shí)際使用中,對(duì)磁盤選擇的需求又是多種多樣的,例如在一個(gè)存儲(chǔ)系統(tǒng)中,對(duì)各個(gè)數(shù)據(jù)服務(wù)器及磁盤的使用最好是均衡的;系統(tǒng)動(dòng)態(tài)運(yùn)行過程中可能發(fā)生磁盤及ds (數(shù)據(jù)服務(wù)器)故障,選盤要避開故障點(diǎn);如果某個(gè)磁盤或ds已經(jīng)達(dá)到容量使用閾值則不能再選擇;為了便于控制,要求某個(gè)文件的所有對(duì)象必須限制在固定的某些ds上(其被稱為分區(qū),人為地對(duì)系統(tǒng)內(nèi)的ds進(jìn)行分區(qū));為了提高訪問效率,要對(duì)數(shù)據(jù)進(jìn)行分級(jí),熱點(diǎn)數(shù)據(jù)存放在高速存儲(chǔ)設(shè)備上(如SSD),冷點(diǎn)數(shù)據(jù)存放在低速設(shè)備上(如SATA或者TAPE);未來可能對(duì)磁盤選擇還有其他要求等等。同時(shí),對(duì)并行文件系統(tǒng)而言,動(dòng)態(tài)擴(kuò)容也是非常重要的,即存儲(chǔ)介質(zhì)的內(nèi)存組織方法還應(yīng)該考慮對(duì)磁盤及ds的動(dòng)態(tài)添加/刪除的有效支持。綜上所述,并行文件系統(tǒng)對(duì)元數(shù)據(jù)服務(wù)器中存儲(chǔ)介質(zhì)的組織方式提出了很高的要求,不僅要考慮支持以上要求,還應(yīng)該考慮未來需求,方便擴(kuò)展。在現(xiàn)有的組織方式中,利用靜態(tài)數(shù)組作為存儲(chǔ)介質(zhì)的內(nèi)存組織方式對(duì)節(jié)點(diǎn)動(dòng)態(tài)添加有很大限制,當(dāng)添加的節(jié)點(diǎn)數(shù)達(dá)到預(yù)先留的上限后就不能再動(dòng)態(tài)添加;動(dòng)態(tài)數(shù)組沒有這個(gè)問題,可以重新分配,但是刪除節(jié)點(diǎn)后需要移動(dòng)數(shù)組成員以保持連續(xù)。除上述缺點(diǎn)外,數(shù)組方式及鏈表方式最大的缺點(diǎn)是不利于新的節(jié)點(diǎn)選擇策略及屬性的加入,諸如分區(qū)和分級(jí)的需要,其中分區(qū)即要求文件內(nèi)所有對(duì)象必須放在某些固定節(jié)點(diǎn)上以便于故障定位(如果不加限制,則某個(gè)磁盤壞所有文件都有壞的可能),分級(jí)即根據(jù)對(duì)象的冷熱程度而選擇不同的存儲(chǔ)介質(zhì)。針對(duì)相關(guān)技術(shù)中的問題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容
針對(duì)數(shù)組及鏈表存儲(chǔ)方式的缺點(diǎn)以及對(duì)存儲(chǔ)介質(zhì)組織方式便于選擇策略調(diào)整和節(jié)點(diǎn)動(dòng)態(tài)擴(kuò)展等需求,本發(fā)明提出一種樹狀層次組織結(jié)構(gòu),其能夠輕松實(shí)現(xiàn)磁盤選擇的多種需求,并且具有非常好的擴(kuò)展性。根據(jù)本發(fā)明的實(shí)施例,提供了一種存儲(chǔ)介質(zhì)的層次組織結(jié)構(gòu),該層次組織結(jié)構(gòu)包括作為根節(jié)點(diǎn)的接入層、多個(gè)介質(zhì)分類層和介質(zhì)層,其中,多個(gè)介質(zhì)分類層中的每一層都代表一種介質(zhì)分類方式,從而在每一介質(zhì)分類層中根據(jù)預(yù)定的分類方式將多個(gè)介質(zhì)分為多組,每一組中包括多個(gè)相同種類的節(jié)點(diǎn)。優(yōu)選地,多個(gè)介質(zhì)分類層包括節(jié)點(diǎn)間介質(zhì)層、邏輯分區(qū)層、機(jī)柜層、數(shù)據(jù)服務(wù)器層、節(jié)點(diǎn)內(nèi)介質(zhì)層。
優(yōu)選地,多個(gè)介質(zhì)分類層中的每一層都具有獨(dú)立的哈希表。優(yōu)選地,每一個(gè)分類層中的每一個(gè)節(jié)點(diǎn)均鏈入自己的父節(jié)點(diǎn)。優(yōu)選地,該層次組織結(jié)構(gòu)具有一個(gè)讀寫鎖,并且每一個(gè)分類層中的每一個(gè)節(jié)點(diǎn)均具有獨(dú)立的自旋鎖。優(yōu)選地,在動(dòng)態(tài)添加或刪除一個(gè)節(jié)點(diǎn)時(shí),對(duì)層次組織結(jié)構(gòu)加寫鎖并在完成后解鎖。優(yōu)選地,每一個(gè)分類層都預(yù)先注冊(cè)獨(dú)立的函數(shù)組。優(yōu)選地,函數(shù)組至少包括初始化函數(shù)、節(jié)點(diǎn)選擇函數(shù)。優(yōu)選地,在進(jìn)行介質(zhì)選擇時(shí),加層次組織結(jié)構(gòu)的讀鎖,從所述根節(jié)點(diǎn)開始逐層調(diào)用下一層的節(jié)點(diǎn)選擇函數(shù),直到成功選擇了從所述根節(jié)點(diǎn)到葉節(jié)點(diǎn)的每一層的節(jié)點(diǎn)。 優(yōu)選地,如果遍歷了層次組織結(jié)構(gòu)所有節(jié)點(diǎn)都沒有找到符合要求的節(jié)點(diǎn),則本次選擇失敗。本發(fā)明通過采用樹狀層級(jí)存儲(chǔ)組織結(jié)構(gòu),能夠?qū)崿F(xiàn)磁盤選擇的多種需求并且可以靈活實(shí)現(xiàn)多種選擇策略。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是根據(jù)本發(fā)明實(shí)施例的層次組織結(jié)構(gòu)的示意圖;以及圖2是根據(jù)本發(fā)明實(shí)施例的進(jìn)行介質(zhì)選擇的方法的流程圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。針對(duì)數(shù)組及鏈表存儲(chǔ)方式的缺點(diǎn)以及對(duì)存儲(chǔ)介質(zhì)組織方式便于選擇策略調(diào)整和節(jié)點(diǎn)動(dòng)態(tài)擴(kuò)展等需求,本發(fā)明的發(fā)明人提出了樹狀層次存儲(chǔ)組織結(jié)構(gòu)(hsm,層次存儲(chǔ)管理),即,利用層次方式存儲(chǔ)介質(zhì),其中每層代表介質(zhì)的一種分類方法。以下參照?qǐng)DI和圖2詳細(xì)對(duì)本發(fā)明進(jìn)行描述。圖I是根據(jù)本發(fā)明實(shí)施例的層次組織結(jié)構(gòu)的示意圖。參照?qǐng)D1,hsm組織方式如下最上層為接入層,也是組織樹的根節(jié)點(diǎn);最下層為最終的介質(zhì);中間為介質(zhì)的分類,每一層代表一種分類,這些分類可以根據(jù)實(shí)際需要進(jìn)行調(diào)整。例如,中間層可以包含節(jié)點(diǎn)間介質(zhì)層(介質(zhì)類型,如高速、中速、低速、混合)、分區(qū)層(人為劃分的分區(qū),將數(shù)據(jù)節(jié)點(diǎn)分成不同的分區(qū))、機(jī)柜層(數(shù)據(jù)節(jié)點(diǎn)所在的機(jī)柜,同一機(jī)柜的節(jié)點(diǎn)比機(jī)柜間節(jié)點(diǎn)通訊速度快)、ds層、節(jié)點(diǎn)內(nèi)介質(zhì)層(數(shù)據(jù)節(jié)點(diǎn)的內(nèi)部介質(zhì),如高速、中速、低速)等。應(yīng)該注意,圖I中所示出的分類層只是示例性的,本領(lǐng)域技術(shù)人員完全可以根據(jù)實(shí)際應(yīng)用和需求增加其他的分類方式或者刪除圖I所示的任意分類方式。在本發(fā)明的hsm的每一層中都具有獨(dú)立的hash表,同時(shí)每個(gè)節(jié)點(diǎn)也要鏈入自己的父節(jié)點(diǎn)或者根據(jù)需要添加其他檢索方式。整個(gè)hsm結(jié)構(gòu)有一個(gè)讀寫鎖,用來保護(hù)拓?fù)浣Y(jié)構(gòu),每個(gè)節(jié)點(diǎn)有獨(dú)立的spin lock(自旋鎖),以應(yīng)對(duì)線程并發(fā)訪問(對(duì)象均勻分布的需要)。此外,每層都可以注冊(cè)獨(dú)立的函數(shù)組,如初始化函數(shù)、節(jié)點(diǎn)選擇函數(shù)等。這些函數(shù)都是預(yù)先設(shè)定好的,并且可以根據(jù)需要增加或刪除一些函數(shù),從而可以方便地進(jìn)行節(jié)點(diǎn)的動(dòng)態(tài)添加、刪除,并且還可以方便地加入新的需求策略,只需要注冊(cè)新的選擇函數(shù)并添加對(duì)應(yīng)的選擇控制函數(shù)即可,這對(duì)已有的策略沒有任何影響。在這種存儲(chǔ)方式下,如果要?jiǎng)討B(tài)添加或刪除節(jié)點(diǎn),需要加hsm的寫鎖與其他訪問互斥,完成后解鎖。而當(dāng)進(jìn)行介質(zhì)選擇時(shí),加hsm的讀鎖,從根接入點(diǎn)開始,逐層調(diào)用下層起始節(jié)點(diǎn)獲取函數(shù)及選擇函數(shù),直到成功選擇了從根到葉結(jié)點(diǎn)的每層節(jié)點(diǎn)或者遍歷了所有路徑后選擇失敗,以下參照?qǐng)D2描述進(jìn)行介質(zhì)選擇的方法?!D2是根據(jù)本發(fā)明實(shí)施例的進(jìn)行介質(zhì)選擇的方法的流程圖。參照?qǐng)D2,首先獲取根節(jié)點(diǎn),并調(diào)用第O層的注冊(cè)函數(shù)來獲取下層的起始選擇節(jié)點(diǎn),并進(jìn)入下一層,即第I層。之后,調(diào)用該層的節(jié)點(diǎn)選擇函數(shù)來進(jìn)行介質(zhì)選擇,如果選擇成功則調(diào)用下一層的注冊(cè)函數(shù)來獲取下一層的起始節(jié)點(diǎn)。對(duì)每一層都進(jìn)行類似的處理,直到成功選擇了從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的每一層節(jié)點(diǎn)為止。如果沒有找到合適的路徑,則本次選擇失敗。從上可以看出,由于選擇函數(shù)按層注冊(cè)并且每層都表示一種分類方式,所以層次存儲(chǔ)樹狀結(jié)構(gòu)可以輕松地實(shí)現(xiàn)磁盤選擇的多種需求,諸如節(jié)點(diǎn)分區(qū)、分級(jí)等需要。此外,本發(fā)明的hsm還具有非常好的擴(kuò)展性,可以方便地進(jìn)行節(jié)點(diǎn)的動(dòng)態(tài)添加、刪除。并且新的需求選擇策略也可以方便加入,只需要注冊(cè)新的選擇函數(shù)并添加其對(duì)應(yīng)的選擇控制函數(shù)即可,對(duì)已有策略沒有任何影響。綜上所述,借助于本發(fā)明的上述技術(shù)方案,通過存儲(chǔ)介質(zhì)內(nèi)存組織方式采用樹狀層次結(jié)構(gòu),每層表示一種分類方法,并且節(jié)點(diǎn)選擇函數(shù)等按層次注冊(cè),可以輕松實(shí)現(xiàn)磁盤選擇的多種需求并且靈活實(shí)現(xiàn)多種選擇策略。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種存儲(chǔ)介質(zhì)的層次組織結(jié)構(gòu),其特征在于, 所述層次組織結(jié)構(gòu)包括作為根節(jié)點(diǎn)的接入層、多個(gè)介質(zhì)分類層和介質(zhì)層, 其中,所述多個(gè)介質(zhì)分類層中的每一層都代表一種介質(zhì)分類方式,從而在每一介質(zhì)分類層中根據(jù)預(yù)定的分類方式將多個(gè)介質(zhì)分為多組,每一組中包括多個(gè)相同種類的節(jié)點(diǎn)。
2.根據(jù)權(quán)利要求I所述的層次組織結(jié)構(gòu),其特征在于,所述多個(gè)介質(zhì)分類層包括節(jié)點(diǎn)間介質(zhì)層、邏輯分區(qū)層、機(jī)柜層、數(shù)據(jù)服務(wù)器層、節(jié)點(diǎn)內(nèi)介質(zhì)層。
3.根據(jù)權(quán)利要求I所述的層次組織結(jié)構(gòu),其特征在于,所述多個(gè)介質(zhì)分類層中的每一層都具有獨(dú)立的哈希表。
4.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的層次組織結(jié)構(gòu),其特征在于,每一個(gè)分類層中的每一個(gè)節(jié)點(diǎn)均鏈入自己的父節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的層次組織結(jié)構(gòu),其特征在于,所述層次組織結(jié)構(gòu)具有一個(gè)讀寫鎖,并且每一個(gè)分類層中的每一個(gè)節(jié)點(diǎn)均具有獨(dú)立的自旋鎖。
6.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的層次組織結(jié)構(gòu),其特征在于,在動(dòng)態(tài)添加或刪除一個(gè)節(jié)點(diǎn)時(shí),對(duì)所述層次組織結(jié)構(gòu)加寫鎖并在完成后解鎖。
7.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的層次組織結(jié)構(gòu),其特征在于,每一個(gè)分類層都預(yù)先注冊(cè)獨(dú)立的函數(shù)組。
8.根據(jù)權(quán)利要求7所述的層次組織結(jié)構(gòu),其特征在于,所述函數(shù)組至少包括初始化函數(shù)、節(jié)點(diǎn)選擇函數(shù)。
9.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的層次組織結(jié)構(gòu),其特征在于,在進(jìn)行介質(zhì)選擇時(shí),加所述層次組織結(jié)構(gòu)的讀鎖,從所述根節(jié)點(diǎn)開始逐層調(diào)用下一層的節(jié)點(diǎn)選擇函數(shù),直到成功選擇了從所述根節(jié)點(diǎn)到葉節(jié)點(diǎn)的每一層的節(jié)點(diǎn)。
10.根據(jù)權(quán)利要求9所述的層次組織結(jié)構(gòu),其特征在于,如果遍歷了所述層次組織結(jié)構(gòu)的所有節(jié)點(diǎn)都沒有找到符合要求的節(jié)點(diǎn),則本次選擇失敗。
全文摘要
本發(fā)明公開了存儲(chǔ)介質(zhì)的層次組織結(jié)構(gòu),該層次組織結(jié)構(gòu)包括作為根節(jié)點(diǎn)的接入層、多個(gè)介質(zhì)分類層和介質(zhì)層,其中,多個(gè)介質(zhì)分類層中的每一層都代表一種介質(zhì)分類方式,從而在每一介質(zhì)分類層中根據(jù)預(yù)定的分類方式將多個(gè)介質(zhì)分為多組,每一組中包括多個(gè)相同種類的節(jié)點(diǎn)。通過本發(fā)明的技術(shù)方案,能夠輕松地實(shí)現(xiàn)磁盤選擇的多種需求并實(shí)現(xiàn)多種選擇策略。
文檔編號(hào)G06F12/08GK102929798SQ20121035921
公開日2013年2月13日 申請(qǐng)日期2012年9月21日 優(yōu)先權(quán)日2012年9月21日
發(fā)明者馬照云, 楊浩, 馬振杰, 苗艷超, 劉新春, 邵宗有 申請(qǐng)人:曙光信息產(chǎn)業(yè)(北京)有限公司