專利名稱:分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其是涉及一種分布式文件系統(tǒng)中元數(shù)據(jù)管理
的負(fù)載均衡的方法及其系統(tǒng)。
背景技術(shù):
隨著信息技術(shù)的進一步發(fā)展,以及網(wǎng)絡(luò)的大規(guī)模應(yīng)用,帶來了數(shù)據(jù)的爆炸性增長,同時給網(wǎng)絡(luò)存儲帶來了巨大的發(fā)展。其中,以對象存儲結(jié)構(gòu)為基礎(chǔ)構(gòu)建的大型分布式文件系統(tǒng),可擴展性強、可靠性高,能提供較強的并發(fā)數(shù)據(jù)處理能力,因此,元數(shù)據(jù)服務(wù)管理在大型分布式文件系統(tǒng)中顯得非常重要。在研究集群負(fù)載均衡的基礎(chǔ)上,設(shè)計和實現(xiàn)元數(shù)據(jù)管理集群靜態(tài)負(fù)載分配與動態(tài)反饋重分配相結(jié)合的負(fù)載均衡方案成為目前研究的一個重要課題?,F(xiàn)有技術(shù)中,通常采用通過靜態(tài)元數(shù)據(jù)分割算法和元數(shù)據(jù)分布存儲,實現(xiàn)元數(shù)據(jù)服務(wù)負(fù)載分流;或者采用動態(tài)反饋服務(wù)器負(fù)載信息,實現(xiàn)不均衡負(fù)載重新分配。
但是,傳統(tǒng)的元數(shù)據(jù)管理中只是通過對元數(shù)據(jù)服務(wù)節(jié)點做簡單的備份來提供元數(shù)據(jù)服務(wù),沒有針對熱點元數(shù)據(jù)進行動態(tài)調(diào)整,無法實現(xiàn)元數(shù)據(jù)服務(wù)系統(tǒng)的平滑擴展。
發(fā)明內(nèi)容
為此,本發(fā)明的目的是提供一種分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,該方法通過元數(shù)據(jù)復(fù)制和元數(shù)據(jù)遷移這兩種方式,實現(xiàn)多個元數(shù)據(jù)服務(wù)節(jié)點之間的負(fù)載均衡。 為達到上述目的,根據(jù)本發(fā)明提供了如下所述的技術(shù)方案。 —種分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,當(dāng)元數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)即目錄樹成為熱點元數(shù)據(jù)時,通過采用元數(shù)據(jù)復(fù)制的方式更新目錄樹的訪問熱度,從而實現(xiàn)多個元數(shù)據(jù)服務(wù)節(jié)點之間的負(fù)載均衡; 而當(dāng)元數(shù)據(jù)的服務(wù)節(jié)點的負(fù)載均衡度超過預(yù)定的數(shù)值時,通過采用元數(shù)據(jù)遷移的方式,將部分工作負(fù)載從過載節(jié)點遷移到過輕節(jié)點上,從而實現(xiàn)多個元數(shù)據(jù)服務(wù)節(jié)點之間的負(fù)載均衡。 —種用于分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的系統(tǒng),該系統(tǒng)包括如下模塊 元數(shù)據(jù)操作模塊,根據(jù)用戶的元數(shù)據(jù)請求,完成對元數(shù)據(jù)對象的操作; 信息通訊模塊,用于交互元數(shù)據(jù)服務(wù)節(jié)點間運行時的信息; 元數(shù)據(jù)服務(wù)節(jié)點管理模塊,用于管理元數(shù)據(jù)服務(wù)節(jié)點; 元數(shù)據(jù)管理模塊,用于動態(tài)負(fù)載均衡策略的決定; 元數(shù)據(jù)策略執(zhí)行模塊,用于元數(shù)據(jù)復(fù)制或者遷移策略的執(zhí)行; 工作負(fù)載采集模塊,用于元數(shù)據(jù)服務(wù)節(jié)點工作負(fù)載信息的采集與上報; 其中,所述元數(shù)據(jù)操作模塊接入并處理元數(shù)據(jù)請求,然后將元數(shù)據(jù)的訪問熱度和
熱點元數(shù)據(jù)分別發(fā)送給所述元數(shù)據(jù)服務(wù)節(jié)點管理模塊和所述元數(shù)據(jù)管理模塊;所述信息通
6訊模塊通過元數(shù)據(jù)服務(wù)節(jié)點的維護接口與外界進行通訊,同時由該信息通訊模塊將各元數(shù)
據(jù)服務(wù)節(jié)點間運行時的信息,例如服務(wù)節(jié)點的訪問熱度和工作負(fù)載等信息發(fā)送給所述元數(shù)
據(jù)服務(wù)節(jié)點管理模塊,由所述元數(shù)據(jù)服務(wù)節(jié)點管理模塊將服務(wù)節(jié)點的節(jié)點管理信息,例如
上述的服務(wù)節(jié)點運行時的信息和一些基本的屬性信息等再傳給所述元數(shù)據(jù)管理模塊,所述
元數(shù)據(jù)管理模塊根據(jù)此信息轉(zhuǎn)換為動態(tài)負(fù)載均衡策略的決定發(fā)送給所述元數(shù)據(jù)策略執(zhí)行
模塊,最后通過所述元數(shù)據(jù)策略執(zhí)行模塊將策略執(zhí)行的信息,例如元數(shù)據(jù)復(fù)制或者遷移的
執(zhí)行指令信息等反饋給所述信息通訊模塊;此外,所述工作負(fù)載模塊定期將采集到的元數(shù)
據(jù)服務(wù)節(jié)點的工作負(fù)載信息上報給所述元數(shù)據(jù)服務(wù)節(jié)點管理模塊。 根據(jù)本發(fā)明的一個實施例,元數(shù)據(jù)復(fù)制包括如下步驟 (a)源節(jié)點的所述元數(shù)據(jù)操作模塊根據(jù)元數(shù)據(jù)的操作實時更新目錄樹的訪問熱度; (b)設(shè)定表明某部分元數(shù)據(jù)是否成為熱點元數(shù)據(jù)的閾值,如果訪問熱度大于所設(shè)定的閾值,判定出現(xiàn)熱點元數(shù)據(jù),同時向所述元數(shù)據(jù)管理模塊發(fā)出目錄復(fù)制請求;
(c)所述元數(shù)據(jù)管理模塊收到復(fù)制請求后,根據(jù)系統(tǒng)內(nèi)當(dāng)前節(jié)點的運行信息,決策出目錄復(fù)制的目標(biāo)節(jié)點; (d)所述元數(shù)據(jù)管理模塊向所述元數(shù)據(jù)策略執(zhí)行模塊發(fā)出目錄復(fù)制指令,并告知目錄復(fù)制的目標(biāo)節(jié)點; (e)源節(jié)點的所述元數(shù)據(jù)策略執(zhí)行模塊和目標(biāo)節(jié)點的所述元數(shù)據(jù)策略執(zhí)行模塊協(xié)作,完成目錄的復(fù)制; (f)元數(shù)據(jù)復(fù)制的源節(jié)點和目標(biāo)節(jié)點的所述元數(shù)據(jù)服務(wù)節(jié)點管理模塊將更新訪問熱度同步到其他服務(wù)節(jié)點。 根據(jù)本發(fā)明的另一個實施例,元數(shù)據(jù)遷移包括如下步驟 (1)所述工作負(fù)載采集模塊定期采集元數(shù)據(jù)服務(wù)節(jié)點上的工作負(fù)載,并向所述元數(shù)據(jù)服務(wù)節(jié)點管理模塊更新工作負(fù)載的信息; (2)所述元數(shù)據(jù)管理模塊定期計算元數(shù)據(jù)負(fù)載均衡子系統(tǒng)負(fù)責(zé)的節(jié)點的負(fù)載均衡
度,如果不均衡的程度超過預(yù)定的程度,則進行目錄遷移的決策; (3)向所述元數(shù)據(jù)策略執(zhí)行模塊發(fā)送目錄遷移指令,完成目錄遷移; (4)過載節(jié)點和過輕節(jié)點向所述元數(shù)據(jù)服務(wù)節(jié)點管理模塊更新自己的訪問熱度以
及工作負(fù)載的信息,同時更新給其他服務(wù)節(jié)點。 本發(fā)明通過元數(shù)據(jù)復(fù)制和元數(shù)據(jù)遷移這兩種方式,提高了元數(shù)據(jù)服務(wù)資源的利用率,達到了負(fù)載均衡的目的,使元數(shù)據(jù)服務(wù)系統(tǒng)可以平滑擴展。
圖1是根據(jù)本發(fā)明的用于分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的系統(tǒng)構(gòu)成圖; 圖2是根據(jù)本發(fā)明的一種實施方式中的目錄復(fù)制前的元數(shù)據(jù)服務(wù)節(jié)點的狀態(tài)圖; 圖3是根據(jù)本發(fā)明的一種實施方式中的目錄復(fù)制后的元數(shù)據(jù)服務(wù)節(jié)點的狀態(tài)圖; 圖4是根據(jù)本方明的一種實施方式中的目錄復(fù)制的系統(tǒng)模塊間的流程圖; 圖5是根據(jù)本發(fā)明的一種實施方式中的目錄復(fù)制的流程 圖6是根據(jù)本發(fā)明的一種實施方式中的目錄遷移前的元數(shù)據(jù)服務(wù)節(jié)點的狀態(tài)圖; 圖7是根據(jù)本發(fā)明的一種實施方式中的目錄遷移后的元數(shù)據(jù)服務(wù)節(jié)點的狀態(tài)圖; 圖8是根據(jù)本發(fā)明的一種實施方式中的目錄遷移的系統(tǒng)模塊間的流程圖; 圖9是根據(jù)本發(fā)明的另一種實施方式的目錄遷移的流程圖;以及 圖10是根據(jù)本發(fā)明的方法中對目錄熱度更新的示意圖。
具體實施例方式
下面將參照附圖更加詳細(xì)地描述根據(jù)本發(fā)明的分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法及其系統(tǒng)的具體實施例。 圖1示出了根據(jù)本發(fā)明的用于分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的系統(tǒng)構(gòu)成圖。如圖l所示,該系統(tǒng)包括信息通訊模塊,用于元數(shù)據(jù)服務(wù)節(jié)點間運行時的信息交互;元數(shù)據(jù)操作模塊,用于根據(jù)用戶的元數(shù)據(jù)請求、完成對元數(shù)據(jù)對象的操作;元數(shù)據(jù)服務(wù)節(jié)點管理模塊,用于進行元數(shù)據(jù)服務(wù)節(jié)點的節(jié)點管理;元數(shù)據(jù)管理模塊,用于進行動態(tài)負(fù)載均衡策略的決策;元數(shù)據(jù)策略執(zhí)行模塊,用于進行元數(shù)據(jù)復(fù)制或者遷移策略的執(zhí)行;工作負(fù)載采集模塊,用于元數(shù)據(jù)服務(wù)節(jié)點工作負(fù)載信息的采集與上報;其中,元數(shù)據(jù)操作模塊接入并處理元數(shù)據(jù)請求,然后將元數(shù)據(jù)的訪問熱度和熱點元數(shù)據(jù)分別發(fā)送給元數(shù)據(jù)服務(wù)節(jié)點管理模塊和元數(shù)據(jù)管理模塊;信息通訊模塊通過元數(shù)據(jù)服務(wù)節(jié)點的維護接口與外界進行通
訊,同時由該信息通訊模塊將各元數(shù)據(jù)服務(wù)節(jié)點間運行時的信息,例如服務(wù)節(jié)點的訪問熱度和工作負(fù)載等信息發(fā)送給元數(shù)據(jù)服務(wù)節(jié)點管理模塊,由元數(shù)據(jù)服務(wù)節(jié)點管理模塊將服務(wù)節(jié)點的節(jié)點管理信息,例如上述的服務(wù)節(jié)點運行時的信息和一些基本的屬性信息等再傳給元數(shù)據(jù)管理模塊,元數(shù)據(jù)管理模塊根據(jù)此信息轉(zhuǎn)換為動態(tài)負(fù)載均衡策略的決定發(fā)送給元數(shù)據(jù)策略執(zhí)行模塊,最后通過元數(shù)據(jù)策略執(zhí)行模塊將策略執(zhí)行的信息,例如元數(shù)據(jù)復(fù)制或者遷移的執(zhí)行指令信息等反饋給信息通訊模塊;此外,工作負(fù)載模塊定期將采集到的元數(shù)據(jù)服務(wù)節(jié)點的工作負(fù)載信息上報給元數(shù)據(jù)服務(wù)節(jié)點管理模塊;另外,鄰居節(jié)點列表是元數(shù)據(jù)服務(wù)節(jié)點管理模塊用于記錄系統(tǒng)的各節(jié)點屬性信息的表,具體內(nèi)容包括可以識別系統(tǒng)內(nèi)各節(jié)點的節(jié)點標(biāo)識、IP、訪問熱度、負(fù)載情況以及節(jié)點狀態(tài)等信息。 通常情況,所有元數(shù)據(jù)請求都是先從目錄樹根節(jié)點開始向下遍歷,因為復(fù)制或者遷移的關(guān)系,根節(jié)點在多個元數(shù)據(jù)服務(wù)器上都有副本,所以客戶端只在第一次訪問的時候可能要經(jīng)過一個特定的服務(wù)器查找相應(yīng)元數(shù)據(jù)所在的服務(wù)節(jié)點,后續(xù)的訪問直接與該節(jié)點打交道即可。 本發(fā)明通過采用元數(shù)據(jù)復(fù)制和元數(shù)據(jù)遷移這兩種方式,實現(xiàn)多個元數(shù)據(jù)服務(wù)節(jié)點之間的負(fù)載均衡,其中目錄復(fù)制前的元數(shù)據(jù)節(jié)點A、B的狀態(tài)圖請參照圖2 ;目錄遷移前的元數(shù)據(jù)節(jié)點A、B的狀態(tài)圖請參照圖6。 結(jié)合圖4和圖5,可以看到元數(shù)據(jù)復(fù)制包括如下步驟 (a)源節(jié)點的元數(shù)據(jù)操作模塊根據(jù)元數(shù)據(jù)的操作實時更新目錄樹的訪問熱度;
(b)設(shè)定表明某部分元數(shù)據(jù)是否成為熱點元數(shù)據(jù)的閾值Tl,如果訪問熱度大于所設(shè)定的閾值Tl,判定出現(xiàn)熱點元數(shù)據(jù),同時向元數(shù)據(jù)管理模塊發(fā)出目錄復(fù)制請求;
(c)元數(shù)據(jù)管理模塊收到復(fù)制請求后,根據(jù)系統(tǒng)內(nèi)當(dāng)前節(jié)點的運行信息,決策出目錄復(fù)制的目標(biāo)節(jié)點;
(d)元數(shù)據(jù)管理模塊向元數(shù)據(jù)策略執(zhí)行模塊發(fā)出目錄復(fù)制指令,并告知目錄復(fù)制 的目標(biāo)節(jié)點; (e)源節(jié)點的元數(shù)據(jù)策略執(zhí)行模塊和目標(biāo)節(jié)點的元數(shù)據(jù)策略執(zhí)行模塊協(xié)作,完成 目錄的復(fù)制; (f)元數(shù)據(jù)復(fù)制的源節(jié)點和目標(biāo)節(jié)點的元數(shù)據(jù)服務(wù)節(jié)點管理模塊將更新訪問熱度 同步到其他服務(wù)節(jié)點。 其中,步驟(b)中涉及的閾值T1是根據(jù)不同業(yè)務(wù)系統(tǒng)的特性和具體情況,通過前 期試驗得出的實驗數(shù)據(jù),并且可以在運行過程中根據(jù)不同的目標(biāo)要求,例如負(fù)載均衡靈敏 度要求進行調(diào)整。首先,計算出當(dāng)某元數(shù)據(jù)服務(wù)節(jié)點工作負(fù)載達到或接近最大時對應(yīng)的元 數(shù)據(jù)熱度Popularity (max),然后可以按照占元數(shù)據(jù)服務(wù)節(jié)點的元數(shù)據(jù)熱度的百分比來判 定該部分元數(shù)據(jù)是否為熱點元數(shù)據(jù),如超過20%,即Tl = Popularity (max) *20%。
另外,上述步驟(e)還包括如下步驟 (el)查詢鄰居節(jié)點列表,選擇復(fù)制的目標(biāo)節(jié)點,而且必須保證復(fù)制之前在該目標(biāo) 節(jié)點上沒有將被復(fù)制的目錄樹; (e2)對將被復(fù)制的目錄樹設(shè)置操作開始標(biāo)記markl,記錄此時間標(biāo)記后的請求的 命令序列ProcedureQueue ; (e3)源節(jié)點啟動同步鎖,此時目錄樹不能對外服務(wù); (e4)源節(jié)點向目標(biāo)節(jié)點發(fā)送目錄樹,目標(biāo)節(jié)點重新構(gòu)建目錄樹; (e5)源節(jié)點向目標(biāo)節(jié)點發(fā)送ProcedureQueue,目標(biāo)節(jié)點按照ProcedureQueue更
新目錄樹; (e6)目標(biāo)節(jié)點將目錄樹的主副本節(jié)點設(shè)置為源節(jié)點; (e7)更新源節(jié)點和目標(biāo)節(jié)點的目錄樹的訪問熱度,通常為原來訪問熱度的一半;
(e8)關(guān)閉同步鎖,源節(jié)點和目標(biāo)節(jié)點重新對外服務(wù)。 通過上述步驟,實現(xiàn)對元數(shù)據(jù)節(jié)點的目錄復(fù)制。目錄復(fù)制后的元數(shù)據(jù)節(jié)點A、 B的 狀態(tài)圖請參照圖3。 結(jié)合圖8和圖9,可以看到元數(shù)據(jù)遷移包括如下步驟 (1)工作負(fù)載采集模塊定期采集元數(shù)據(jù)服務(wù)節(jié)點上的工作負(fù)載,并向元數(shù)據(jù)服務(wù) 節(jié)點管理模塊更新工作負(fù)載的信息; (2)元數(shù)據(jù)管理模塊定期計算元數(shù)據(jù)負(fù)載均衡子系統(tǒng)負(fù)責(zé)的節(jié)點的負(fù)載均衡度,
如果不均衡的程度超過預(yù)定的程度即閾值T2,則進行目錄遷移的決策; (3)向元數(shù)據(jù)策略執(zhí)行模塊發(fā)送目錄遷移指令,完成目錄遷移; (4)過載節(jié)點和過輕節(jié)點向所述元數(shù)據(jù)服務(wù)節(jié)點管理模塊更新自己的訪問熱度以
及工作負(fù)載的信息,同時更新給其他服務(wù)節(jié)點。 其中,上述步驟(2)中所提及的閾值T2是根據(jù)不同業(yè)務(wù)系統(tǒng)的特性和具體情況, 通過前期試驗得出的實驗數(shù)據(jù),并且可以在運行過程中根據(jù)不同的目標(biāo)要求,例如負(fù)載均 衡靈敏度要求進行調(diào)整。閾值T2的范圍為
,建議取值范圍大于0.5,這樣才不會使各 元數(shù)據(jù)服務(wù)系統(tǒng)內(nèi)各元數(shù)據(jù)服務(wù)節(jié)點的工作負(fù)載相差太大。
另外,上述步驟(3)還包括如下步驟 (3a)查詢鄰居節(jié)點列表,根據(jù)各節(jié)點的負(fù)載信息,作出決策,選擇過載節(jié)點和過輕節(jié)點; (3b)根據(jù)過載節(jié)點和過輕節(jié)點的負(fù)載,計算需要遷移的負(fù)載,然后將計算出來的 負(fù)載量映射為訪問熱度,根據(jù)訪問熱度來選擇將被遷移的目錄樹; (3c)對目錄樹設(shè)置操作開始標(biāo)記markl,記錄此時間標(biāo)記后的請求的命令序列 ProcedureQueue 5 (3d)過載節(jié)點向過輕節(jié)點發(fā)送目錄樹,過輕節(jié)點重新構(gòu)建目錄樹; (3e)過載節(jié)點向過輕節(jié)點發(fā)送ProcedureQueue,過輕節(jié)點按照ProcedureQueue
更新目錄樹; (3f)過載節(jié)點刪除目錄樹; (3g)關(guān)閉同步鎖,過輕節(jié)點對外服務(wù)。 通過上述步驟,實現(xiàn)對元數(shù)據(jù)節(jié)點的目錄遷移。目錄遷移后的元數(shù)據(jù)節(jié)點A、 B的 狀態(tài)圖請參照圖6。 多個元數(shù)據(jù)服務(wù)節(jié)點中存在一個班長節(jié)點,負(fù)責(zé)決策負(fù)載均衡策略,即計算負(fù)載 均衡度,并且判定是否需要進行目錄遷移;同時還存在副班長節(jié)點,在班長節(jié)點失效時代替 履行班長的職責(zé),并且選舉新的班長節(jié)點。 把實現(xiàn)本技術(shù)中涉及的分布式文件系統(tǒng)中元數(shù)據(jù)管理的系統(tǒng)稱之為元數(shù)據(jù)服務(wù) 系統(tǒng)中負(fù)載均衡子系統(tǒng)(簡稱元數(shù)據(jù)負(fù)載均衡子系統(tǒng)),稱元數(shù)據(jù)負(fù)載均衡子系統(tǒng)中的節(jié) 點為元數(shù)據(jù)服務(wù)節(jié)點(簡稱MDS)。 元數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)為目錄樹,因此下面設(shè)計中提到的元數(shù)據(jù)復(fù)制又稱為目錄復(fù) 制。目錄樹具備訪問熱度(簡稱熱度)的屬性,熱度值隨每次到來的訪問而增加l,如圖10 所示,同時熱度隨時間的推移進行衰減,其衰減函數(shù)為
1 y(W ) 二
2
n, n_l, n—2,
,1 其中,n代表被訪問目錄節(jié)點所在目錄樹的層數(shù); n'代表該(目錄)節(jié)點及其每個祖先(目錄)節(jié)點的層數(shù); 函數(shù)f是關(guān)于n'的衰減函數(shù),代表需要更新訪問熱度的目錄樹結(jié)點的祖先結(jié)點
包含被訪問的目錄結(jié)點的訪問熱度的衰減。 元數(shù)據(jù)負(fù)載均衡子系統(tǒng)負(fù)責(zé)的所有節(jié)點通過"鄰居節(jié)點列表"建立聯(lián)系。元數(shù)據(jù) 負(fù)載均衡子系統(tǒng)負(fù)責(zé)的所有節(jié)點的負(fù)載均衡度反映了該節(jié)點的負(fù)載均衡的程度,具體表現(xiàn) 為丄^丄j]JA^Ai,(r-丄tA) 其中,Ls代表元數(shù)據(jù)負(fù)載均衡子系統(tǒng)的負(fù)載均衡度,且O <= Ls <= l,Ls越趨近
于O,代表元數(shù)據(jù)負(fù)載均衡子系統(tǒng)的負(fù)載均衡程度越好; n代表負(fù)載均衡子系統(tǒng)中元數(shù)據(jù)服務(wù)節(jié)點的個數(shù); Li代表負(fù)載均衡子系統(tǒng)中第i個元數(shù)據(jù)服務(wù)節(jié)點的工作負(fù)載; L代表負(fù)載均衡子系統(tǒng)中所有元數(shù)據(jù)服務(wù)節(jié)點工作負(fù)載的算術(shù)平均值。
元數(shù)據(jù)服務(wù)節(jié)點的工作負(fù)載為
Li = W丄 Lcpu+W2 Lra+W3 LnetworkI0,其中W+W2+W3 = 1 其中,Li代表元數(shù)據(jù)服務(wù)節(jié)點i的工作負(fù)載; Lcpu代表元數(shù)據(jù)服務(wù)節(jié)點i的CPU占用率;代表Lcpu在b中所占的權(quán)重; LM代表元數(shù)據(jù)服務(wù)節(jié)點i的內(nèi)存占用率; W2代表Lmem在b中所占的權(quán)重; LnetwOTkI。代表元數(shù)據(jù)服務(wù)節(jié)點i的網(wǎng)絡(luò)10帶寬占用率; W3代表Lnetw。rkI。在Li中所占的權(quán)重。 因此,O <= Li <= 1。 所述負(fù)載映射為訪問熱度的計算公式如下 j opw/arz'(y = /(而A/oad) 二 3,. 而A/ofl《 (if workload G workloadk,貝lj5,. = 1, i三k ;3,. = 0, i # k) 其中,i和k均表示為元數(shù)據(jù)服務(wù)節(jié)點的節(jié)點標(biāo)識; workloadi表示節(jié)點標(biāo)識為i的元數(shù)據(jù)服務(wù)節(jié)點的工作負(fù)載; popularity表示為元數(shù)據(jù)訪問熱度; 《表示節(jié)點標(biāo)識為i的元數(shù)據(jù)服務(wù)節(jié)點從工作負(fù)載映射到訪問熱度的映射參數(shù)。 以上所揭露的僅為本發(fā)明的優(yōu)選實施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利 范圍,因此依本發(fā)明申請專利范圍所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
1權(quán)利要求
一種分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,其特征在于,當(dāng)元數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)即目錄樹成為熱點元數(shù)據(jù)時,通過采用元數(shù)據(jù)復(fù)制的方式更新目錄樹的訪問熱度,從而實現(xiàn)多個元數(shù)據(jù)服務(wù)節(jié)點之間的負(fù)載均衡;當(dāng)元數(shù)據(jù)的服務(wù)節(jié)點的負(fù)載均衡度超過閾值時,通過采用元數(shù)據(jù)遷移的方式,將部分工作負(fù)載從過載節(jié)點遷移到過輕節(jié)點上,從而實現(xiàn)多個元數(shù)據(jù)服務(wù)節(jié)點之間的負(fù)載均衡。
2. 用于分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的系統(tǒng),其特征在于,該系統(tǒng)包括如 下模塊信息通訊模塊,用于元數(shù)據(jù)服務(wù)節(jié)點間運行時信息的交互; 元數(shù)據(jù)操作模塊,根據(jù)用戶的元數(shù)據(jù)請求,完成對元數(shù)據(jù)對象的操作; 元數(shù)據(jù)服務(wù)節(jié)點管理模塊,用于元數(shù)據(jù)服務(wù)節(jié)點的節(jié)點管理; 元數(shù)據(jù)管理模塊,用于動態(tài)負(fù)載均衡策略的決策; 元數(shù)據(jù)策略執(zhí)行模塊,用于元數(shù)據(jù)復(fù)制或者遷移策略的執(zhí)行; 工作負(fù)載采集模塊,用于元數(shù)據(jù)服務(wù)節(jié)點工作負(fù)載信息的采集與上報; 其中,所述元數(shù)據(jù)操作模塊接入并處理元數(shù)據(jù)請求,然后將元數(shù)據(jù)的訪問熱度和熱點 元數(shù)據(jù)分別發(fā)送給所述元數(shù)據(jù)服務(wù)節(jié)點管理模塊和所述元數(shù)據(jù)管理模塊;所述信息通訊模 塊通過元數(shù)據(jù)服務(wù)節(jié)點的維護接口與外界進行通訊,同時由該信息通訊模塊將各元數(shù)據(jù)服 務(wù)節(jié)點間運行時的信息發(fā)送給所述元數(shù)據(jù)服務(wù)節(jié)點管理模塊,由所述元數(shù)據(jù)服務(wù)節(jié)點管理 模塊將服務(wù)節(jié)點的節(jié)點管理信息再傳給所述元數(shù)據(jù)管理模塊,所述元數(shù)據(jù)管理模塊根據(jù)此 信息轉(zhuǎn)換為動態(tài)負(fù)載均衡策略的決策發(fā)送給所述元數(shù)據(jù)策略執(zhí)行模塊,最后通過所述元數(shù) 據(jù)策略執(zhí)行模塊將策略執(zhí)行的信息反饋給所述信息通訊模塊;此外,所述工作負(fù)載模塊定 期將采集到的元數(shù)據(jù)服務(wù)節(jié)點的工作負(fù)載信息上報給所述元數(shù)據(jù)服務(wù)節(jié)點管理模塊。
3. 如權(quán)利要求1所述的分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,其特征在 于,所述元數(shù)據(jù)復(fù)制包括如下步驟(a) 源節(jié)點的所述元數(shù)據(jù)操作模塊根據(jù)元數(shù)據(jù)的操作實時更新目錄樹的訪問熱度;(b) 設(shè)定表明某部分元數(shù)據(jù)是否成為熱點元數(shù)據(jù)的閾值,如果訪問熱度大于所設(shè)定的 閾值,判定出現(xiàn)熱點元數(shù)據(jù),同時向所述元數(shù)據(jù)管理模塊發(fā)出目錄復(fù)制請求;(c) 所述元數(shù)據(jù)管理模塊收到復(fù)制請求后,根據(jù)系統(tǒng)內(nèi)當(dāng)前節(jié)點的運行信息,決策出目 錄復(fù)制的目標(biāo)節(jié)點;(d) 所述元數(shù)據(jù)管理模塊向所述元數(shù)據(jù)策略執(zhí)行模塊發(fā)出目錄復(fù)制指令,并告知目錄 復(fù)制的目標(biāo)節(jié)點;(e) 源節(jié)點的所述元數(shù)據(jù)策略執(zhí)行模塊和目標(biāo)節(jié)點的所述元數(shù)據(jù)策略執(zhí)行模塊協(xié)作, 完成目錄的復(fù)制;(f) 元數(shù)據(jù)復(fù)制的源節(jié)點和目標(biāo)節(jié)點的所述元數(shù)據(jù)服務(wù)節(jié)點管理模塊將更新訪問熱度 到其他服務(wù)節(jié)點。
4. 如權(quán)利要求1所述的分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,其特征在 于,所述元數(shù)據(jù)遷移包括如下步驟(1) 所述工作負(fù)載采集模塊定期采集元數(shù)據(jù)服務(wù)節(jié)點上的工作負(fù)載,并向所述元數(shù)據(jù) 服務(wù)節(jié)點管理模塊更新工作負(fù)載的信息;(2) 所述元數(shù)據(jù)管理模塊定期計算元數(shù)據(jù)負(fù)載均衡子系統(tǒng)負(fù)責(zé)的節(jié)點的負(fù)載均衡度,如果不均衡的程度超過預(yù)定的程度,則進行目錄遷移的決策;(3) 向所述元數(shù)據(jù)策略執(zhí)行模塊發(fā)送目錄遷移指令,完成目錄遷移;(4) 所述過載節(jié)點和所述過輕節(jié)點向所述元數(shù)據(jù)服務(wù)節(jié)點管理模塊更新自己的訪問熱度以及工作負(fù)載的信息,同時更新給其他服務(wù)節(jié)點。
5. 如權(quán)利要求1所述的分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,其特征在于,所述多個元數(shù)據(jù)服務(wù)節(jié)點中存在一個班長節(jié)點,負(fù)責(zé)決策負(fù)載均衡策略,即計算負(fù)載均衡度,并且判定是否需要進行目錄遷移。
6. 如權(quán)利要求5所述的分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,其特征在于,所述多個元數(shù)據(jù)服務(wù)節(jié)點中還存在副班長節(jié)點,在班長節(jié)點失效時代替履行班長的職責(zé),并且選舉新的班長節(jié)點。
7. 如權(quán)利要求1或3所述的分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,其特征在于,所述目錄樹的訪問熱度值,隨每次訪問的到來增加1 ,同時隨時間的推移進行衰減,其衰減函數(shù)為<formula>formula see original document page 3</formula>其中,n代表被訪問目錄節(jié)點所在目錄樹的層數(shù);n'代表該(目錄)節(jié)點及其每個祖先(目錄)節(jié)點的層數(shù);函數(shù)f是關(guān)于n'的衰減函數(shù),代表需要更新訪問熱度的目錄樹結(jié)點的祖先結(jié)點包含被訪問的目錄結(jié)點的訪問熱度的衰減。
8.如權(quán)利要求1或4所述的分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,其特征在于,所述服務(wù)節(jié)點的負(fù)載均衡度反映了該節(jié)點的負(fù)載均衡的程度,具體表現(xiàn)為<formula>formula see original document page 3</formula>其中,Ls代表元數(shù)據(jù)負(fù)載均衡子系統(tǒng)的負(fù)載均衡度;n代表負(fù)載均衡子系統(tǒng)中元數(shù)據(jù)服務(wù)節(jié)點的個數(shù);k代表負(fù)載均衡子系統(tǒng)中第i個元數(shù)據(jù)服務(wù)節(jié)點的工作負(fù)載;L代表負(fù)載均衡子系統(tǒng)中所有元數(shù)據(jù)服務(wù)節(jié)點工作負(fù)載的算術(shù)平均值。
9.如權(quán)利要求4所述的分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,其特征在于,所述元數(shù)據(jù)服務(wù)節(jié)點的工作負(fù)載為<formula>formula see original document page 3</formula>其中,b代表元數(shù)據(jù)服務(wù)節(jié)點i的工作負(fù)載;L,代表元數(shù)據(jù)服務(wù)節(jié)點i的CPU占用率;W工代表L,在Li中所占的權(quán)重;L^代表元數(shù)據(jù)服務(wù)節(jié)點i的內(nèi)存占用率;W2代表LM在Li中所占的權(quán)重;代表元數(shù)據(jù)服務(wù)節(jié)點i的網(wǎng)絡(luò)IO帶寬占用率;W3代表LnetworkIO在b中所占的權(quán)重。
10.如權(quán)利要求2所述的用于分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的系統(tǒng),其特征在于,所述元數(shù)據(jù)策略執(zhí)行模塊進一步包括元數(shù)據(jù)復(fù)制執(zhí)行模塊,負(fù)責(zé)元數(shù)據(jù)復(fù)制策略的執(zhí)行;元數(shù)據(jù)遷移執(zhí)行模塊,負(fù)責(zé)元數(shù)據(jù)遷移策略的執(zhí)行。
11. 如權(quán)利要求1所述的分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,其特征在于,所述元數(shù)據(jù)服務(wù)節(jié)點中的所有節(jié)點通過鄰居節(jié)點列表建立聯(lián)系。
12. 如權(quán)利要求3所述的分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,其特征在于,所述步驟(e)還包括如下步驟(el)查詢鄰居節(jié)點列表,選擇復(fù)制的目標(biāo)節(jié)點,而且必須保證復(fù)制之前在該目標(biāo)節(jié)點上沒有將被復(fù)制的目錄樹;(e2)對將被復(fù)制的目錄樹設(shè)置操作開始標(biāo)記markl,記錄此時間標(biāo)記后的請求的命令序列ProcedureQueue 5(e3)源節(jié)點啟動同步鎖,此時目錄樹不能對外服務(wù);(e4)源節(jié)點向目標(biāo)節(jié)點發(fā)送目錄樹,目標(biāo)節(jié)點重新構(gòu)建目錄樹;(e5)源節(jié)點向目標(biāo)節(jié)點發(fā)送ProcedureQueue,目標(biāo)節(jié)點按照ProcedureQueue更新目錄樹;(e6)目標(biāo)節(jié)點將目錄樹的主副本節(jié)點設(shè)置為源節(jié)點;(e7)更新源節(jié)點和目標(biāo)節(jié)點的目錄樹的訪問熱度,通常為原來訪問熱度的一半;(e8)關(guān)閉同步鎖,源節(jié)點和目標(biāo)節(jié)點重新對外服務(wù)。
13. 如權(quán)利要求4所述的分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,其特征在于,所述步驟(3)還包括如下步驟(3a)查詢鄰居節(jié)點列表,根據(jù)各節(jié)點的負(fù)載信息,作出決策,選擇過載節(jié)點和過輕節(jié)點;(3b)根據(jù)過載節(jié)點和過輕節(jié)點的負(fù)載,計算需要遷移的負(fù)載,然后將計算出來的負(fù)載量映射為訪問熱度,根據(jù)訪問熱度來選擇將被遷移的目錄樹;(3c)對目錄樹設(shè)置操作開始標(biāo)記markl,記錄此時間標(biāo)記后的請求的命令序列ProcedureQueue 5(3d)過載節(jié)點向過輕節(jié)點發(fā)送目錄樹,過輕節(jié)點重新構(gòu)建目錄樹;(3e)過載節(jié)點向過輕節(jié)點發(fā)送ProcedureQueue,過輕節(jié)點按照ProcedureQueue更新目錄樹;(3f)過載節(jié)點刪除目錄樹;(3g)關(guān)閉同步鎖,過輕節(jié)點對外服務(wù)。
14. 如權(quán)利要求13所述的分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法,其特征在于,所述負(fù)載映射為訪問熱度的計算公式如下<formula>formula see original document page 4</formula>其中,i和k均表示為元數(shù)據(jù)服務(wù)節(jié)點的節(jié)點標(biāo)識;workloadi表示節(jié)點標(biāo)識為i的元數(shù)據(jù)服務(wù)節(jié)點的工作負(fù)載;popularity表示為元數(shù)據(jù)訪問熱度;A表示節(jié)點標(biāo)識為i的元數(shù)據(jù)服務(wù)節(jié)點從工作負(fù)載映射到訪問熱度的映射參數(shù)。
全文摘要
一種分布式文件系統(tǒng)中元數(shù)據(jù)管理的負(fù)載均衡的方法和系統(tǒng),當(dāng)元數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)即目錄樹成為熱點元數(shù)據(jù)時,通過采用元數(shù)據(jù)復(fù)制的方式更新目錄樹的訪問熱度;當(dāng)元數(shù)據(jù)的服務(wù)節(jié)點的負(fù)載均衡度超過預(yù)定的數(shù)值時,通過采用元數(shù)據(jù)遷移的方式,將部分工作負(fù)載從過載節(jié)點遷移到過輕節(jié)點上,通過上述兩種方式來實現(xiàn)多個元數(shù)據(jù)服務(wù)節(jié)點之間的負(fù)載均衡。該系統(tǒng)包括信息通訊模塊、元數(shù)據(jù)操作模塊、元數(shù)據(jù)服務(wù)節(jié)點管理模塊、元數(shù)據(jù)管理模塊、元數(shù)據(jù)策略執(zhí)行模塊以及工作負(fù)載采集模塊。本發(fā)明通過元數(shù)據(jù)復(fù)制和元數(shù)據(jù)遷移這兩種方式,提高了元數(shù)據(jù)服務(wù)資源的利用率,達到了負(fù)載均衡的目的,使元數(shù)據(jù)服務(wù)系統(tǒng)可以平滑擴展。
文檔編號H04L29/08GK101697526SQ200910178458
公開日2010年4月21日 申請日期2009年10月10日 優(yōu)先權(quán)日2009年10月10日
發(fā)明者朱明 , 肖培棕 申請人:中國科學(xué)技術(shù)大學(xué);