两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種分布式文件容量均衡的方法與裝置與流程

文檔序號(hào):11654437閱讀:181來(lái)源:國(guó)知局
一種分布式文件容量均衡的方法與裝置與流程

本發(fā)明涉及分布式文件系統(tǒng)技術(shù)領(lǐng)域,特別是涉及一種分布式文件系統(tǒng)容量均衡的方法與裝置。



背景技術(shù):

分布式文件系統(tǒng)(distributedfilesystem,dfs)可以有效解決數(shù)據(jù)的存儲(chǔ)和管理難題,將固定于某個(gè)地點(diǎn)的某個(gè)文件系統(tǒng),擴(kuò)展到任意多個(gè)地點(diǎn)/多個(gè)文件系統(tǒng),眾多的節(jié)點(diǎn)組成一個(gè)文件系統(tǒng)網(wǎng)絡(luò)。每個(gè)節(jié)點(diǎn)可以分布在不同的地點(diǎn),通過(guò)網(wǎng)絡(luò)進(jìn)行節(jié)點(diǎn)間的通信和數(shù)據(jù)傳輸。

在使用分布式文件系統(tǒng),創(chuàng)建存儲(chǔ)池之后,pg(數(shù)據(jù)存儲(chǔ)的最小邏輯單元)成員會(huì)按照偽隨機(jī)數(shù)據(jù)分布算法(controlledreplicationunderscalablehashing,crush),在存儲(chǔ)資源(objectstoragedevice,osd)上進(jìn)行偽隨機(jī)分布。由于crush算法計(jì)算得出的pg分布并不能達(dá)到完美的均衡,使得有些osd上分布的pg數(shù)量較多,有些osd上分布的pg數(shù)量較少。pg是數(shù)據(jù)存儲(chǔ)的最小邏輯單元,因此數(shù)據(jù)寫入分布式文件系統(tǒng)的時(shí)候,直觀的現(xiàn)象就是osd上的數(shù)據(jù)分布不均,可能會(huì)出現(xiàn)整體容量寫入到80%的時(shí)候,有些pg分布較多的osd實(shí)際占用量已經(jīng)達(dá)到95%,導(dǎo)致系統(tǒng)無(wú)法繼續(xù)寫入。

可見(jiàn),如何提升分布式文件系統(tǒng)容量利用率,是本領(lǐng)域技術(shù)人員亟待解決的問(wèn)題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例的目的是提供一種分布式文件系統(tǒng)容量均衡的方法與裝置,可以實(shí)現(xiàn)不同osd的數(shù)據(jù)均衡分布,從而提升分布式文件系統(tǒng)容量利用率。

為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供一種分布式文件系統(tǒng)容量均衡的方法,包括:

s10:利用crush算法對(duì)存儲(chǔ)池中包括的所有osd進(jìn)行pg的分配,得到pg分布;

s11:計(jì)算所述存儲(chǔ)池中pg的目標(biāo)平均數(shù);

s12:依據(jù)所述pg分布,判斷各個(gè)所述osd所對(duì)應(yīng)的pg數(shù)目是否超過(guò)所述目標(biāo)平均數(shù);

s13:若超過(guò),則依據(jù)預(yù)先存儲(chǔ)的權(quán)重調(diào)整命令,調(diào)整所述osd的權(quán)重,并返回所述s10;

s14:若不超過(guò),則結(jié)束調(diào)整所述osd的權(quán)重,得到滿足容量均衡的pg分布。

可選的,在所述s11中:

利用公式:pg的目標(biāo)平均數(shù)=(pg總數(shù)量/osd總個(gè)數(shù))*1.05,計(jì)算出pg的目標(biāo)平均數(shù)。

可選的,在所述s13中:

從所述pg數(shù)目超過(guò)所述目標(biāo)平均數(shù)的osd中,查詢是否存在pg數(shù)目超過(guò)最大值的osd;

若存在pg數(shù)目超過(guò)最大值的osd,則按照極限調(diào)整值,調(diào)整所述osd的權(quán)重;

若不存在pg數(shù)目超過(guò)最大值的osd,則依據(jù)預(yù)先存儲(chǔ)的梯度值,從高到低依次查詢是否存在pg數(shù)目超過(guò)目標(biāo)梯度值的osd;其中,所述目標(biāo)梯度值為所述梯度值中的其中一個(gè)梯度值;

若存在,則按照所述目標(biāo)梯度值,調(diào)整所述osd的權(quán)重。

本發(fā)明實(shí)施例還提供了一種分布式文件系統(tǒng)容量均衡的裝置,包括分配單元、計(jì)算單元、判斷單元、調(diào)整單元、和結(jié)束單元:

所述分配單元,用于利用crush算法對(duì)存儲(chǔ)池中包括的所有osd進(jìn)行pg的分配,得到pg分布;

所述計(jì)算單元,用于計(jì)算所述存儲(chǔ)池中pg的目標(biāo)平均數(shù);

所述判斷單元,用于依據(jù)所述pg分布,判斷各個(gè)所述osd所對(duì)應(yīng)的pg數(shù)目是否超過(guò)所述目標(biāo)平均數(shù);

若超過(guò),則觸發(fā)所述調(diào)整單元,所述調(diào)整單元,用于依據(jù)預(yù)先存儲(chǔ)的權(quán)重調(diào)整命令,調(diào)整所述osd的權(quán)重,并觸發(fā)所述分配單元;

若不超過(guò),則觸發(fā)所述結(jié)束單元,所述結(jié)束單元,用于結(jié)束調(diào)整所述osd的權(quán)重,得到滿足容量均衡的pg分布。

可選的,所述計(jì)算單元具體用于利用公式:pg的目標(biāo)平均數(shù)=(pg總數(shù)量/osd總個(gè)數(shù))*1.05,計(jì)算出pg的目標(biāo)平均數(shù)。

可選的,所述調(diào)整單元包括:查詢子單元和調(diào)整子單元;

所述查詢子單元,用于從所述pg數(shù)目超過(guò)所述目標(biāo)平均數(shù)的osd中,查詢是否存在pg數(shù)目超過(guò)最大值的osd;

若存在pg數(shù)目超過(guò)最大值的osd,則觸發(fā)所述調(diào)整子單元,所述調(diào)整子單元,用于按照極限調(diào)整值,調(diào)整所述osd的權(quán)重;

若不存在pg數(shù)目超過(guò)最大值的osd,則觸發(fā)所述查詢子單元,所述查詢子單元還用于依據(jù)預(yù)先存儲(chǔ)的梯度值,從高到低依次查詢是否存在pg數(shù)目超過(guò)目標(biāo)梯度值的osd;其中,所述目標(biāo)梯度值為所述梯度值中的其中一個(gè)梯度值;

若存在,則觸發(fā)所述調(diào)整子單元,所述調(diào)整子單元還用于按照所述目標(biāo)梯度值,調(diào)整所述osd的權(quán)重。

由上述技術(shù)方案可以看出,依據(jù)crush算法對(duì)存儲(chǔ)池中包括的所有osd進(jìn)行初始化的pg分布,計(jì)算存儲(chǔ)池中pg的目標(biāo)平均數(shù);從而依據(jù)所述pg分布,判斷各個(gè)所述osd所對(duì)應(yīng)的pg數(shù)目是否超過(guò)所述目標(biāo)平均數(shù);若超過(guò),則說(shuō)明此時(shí)pg分布不均衡,則可以依據(jù)預(yù)先存儲(chǔ)的權(quán)重調(diào)整命令,調(diào)整所述osd的權(quán)重;每進(jìn)行一次osd權(quán)重的調(diào)整,crush算法會(huì)依據(jù)調(diào)整后的權(quán)重,對(duì)存儲(chǔ)池中的所有osd重新進(jìn)行pg的分配,得到調(diào)整后的pg分布,依據(jù)該pg分布判斷各個(gè)所述osd所對(duì)應(yīng)的pg數(shù)目是否超過(guò)所述目標(biāo)平均數(shù),若不超過(guò),則結(jié)束調(diào)整所述osd的權(quán)重,得到滿足容量均衡的pg分布??梢?jiàn),通過(guò)對(duì)osd權(quán)重的不斷調(diào)整,來(lái)達(dá)到pg分布的均衡,從而實(shí)現(xiàn)容量均衡,有效的提升分布式文件系統(tǒng)的容量利用率。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例,下面將對(duì)實(shí)施例中所需要使用的附圖做簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)容量均衡的方法的流程圖;

圖2為本發(fā)明實(shí)施例提供的一種權(quán)重調(diào)整的方法的流程圖;

圖3為本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)容量均衡的裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下,所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)范圍。

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。

傳統(tǒng)方式中,利用crush算法進(jìn)行pg分布,由于crush算法采用偽隨機(jī)的方式進(jìn)行pg的分配,往往會(huì)出現(xiàn)pg分布不均衡的問(wèn)題,導(dǎo)致分布式文件系統(tǒng)容量利用率較低。

為了解決pg分布不均衡的問(wèn)題,可以從crush算法的機(jī)制入手。調(diào)研發(fā)現(xiàn),crush算法會(huì)根據(jù)osdmap中每個(gè)osd的權(quán)重進(jìn)行pg的分配,權(quán)重減小能夠降低osd被選中的概率,因此,解決容量均衡問(wèn)題的關(guān)鍵,在于合理的調(diào)整osd的權(quán)重,對(duì)于pg分布較多的osd適當(dāng)?shù)慕档推錂?quán)重,使該osd上的部分pg可以重新分配到其他osd上,最終實(shí)現(xiàn)容量均衡,從而可以有效的提升分布式文件系統(tǒng)容量利用率。

在本發(fā)明實(shí)施例中,實(shí)現(xiàn)容量均衡的目的在于提升容量的利用率,通過(guò)調(diào)整osd的權(quán)重,可以實(shí)現(xiàn)pg分布的均衡,當(dāng)pg分布達(dá)到均衡后,相應(yīng)的,容量利用率會(huì)得到有效的提升。故此,在本發(fā)明實(shí)施例中,實(shí)現(xiàn)容量均衡也即是實(shí)現(xiàn)pg分布的均衡。

在實(shí)際應(yīng)用中,當(dāng)pg分布較多的osd的實(shí)際占用量(利用率)達(dá)到額定數(shù)值時(shí),會(huì)導(dǎo)致分布式文件系統(tǒng)無(wú)法繼續(xù)寫入數(shù)據(jù),為了介紹方便,后續(xù)介紹中均以利用率的最高值為95%為例介紹。

接下來(lái),詳細(xì)介紹本發(fā)明實(shí)施例所提供的一種分布式文件系統(tǒng)容量均衡的方法。圖1為本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)容量均衡的方法的流程圖,該方法包括:

s10:利用crush算法對(duì)存儲(chǔ)池中包括的所有osd進(jìn)行pg的分配,得到pg分布。

用于存儲(chǔ)數(shù)據(jù)的pg可以有一個(gè)或多個(gè),可以將這些pg稱作為一個(gè)集群,創(chuàng)建存儲(chǔ)池后,集群會(huì)根據(jù)crush算法進(jìn)行初始化的pg分布,也即為該存儲(chǔ)池中的每一個(gè)osd分配pg。

分配完成后,計(jì)算機(jī)系統(tǒng)可以通過(guò)相關(guān)的命令,將pg與osd的對(duì)應(yīng)關(guān)系進(jìn)行統(tǒng)計(jì),獲取到相應(yīng)的pg分布表,如表1所示:

表1

表1中第一列和第三列表示存儲(chǔ)池中包括的osd,為了對(duì)不同的osd進(jìn)行區(qū)分,每個(gè)osd有其對(duì)應(yīng)的編號(hào),第二列的pg數(shù)目為第一列中各個(gè)osd所對(duì)應(yīng)的pg數(shù)目,第四列的pg數(shù)目為第三列中各個(gè)osd所對(duì)應(yīng)的pg數(shù)目。

s11:計(jì)算所述存儲(chǔ)池中pg的目標(biāo)平均數(shù)。

目標(biāo)平均數(shù)可以用于表示一個(gè)osd所對(duì)應(yīng)的pg數(shù)目的最大值??紤]到實(shí)際情況的可實(shí)現(xiàn)性,在本發(fā)明實(shí)施例中,可以將pg的目標(biāo)平均數(shù)設(shè)定為pg分布平均值的105%,其計(jì)算公式如下:

pg的目標(biāo)平均數(shù)=(pg總數(shù)量/osd總個(gè)數(shù))*1.05

以osd的最高利用率為95%為例,選定平均值的1.05倍作為目標(biāo)平均數(shù),從而限定每個(gè)osd所對(duì)應(yīng)的pg數(shù)目最多超過(guò)平均值的5%,從而可以保證整個(gè)存儲(chǔ)池的平均利用率可以達(dá)到90%。

參照表1的pg分布表,可以計(jì)算出pg的目標(biāo)平均數(shù)=6144/32*1.05=201.6,因?yàn)閜g是整數(shù),所以可以只取整數(shù)部分的數(shù)值作為目標(biāo)平均數(shù),即目標(biāo)平均數(shù)為201,當(dāng)存儲(chǔ)池中每個(gè)osd上分布的pg數(shù)目不超過(guò)201個(gè)即可實(shí)現(xiàn)均衡的目標(biāo)。

需要說(shuō)明的是,選定平均值的x倍作為目標(biāo)平均數(shù),其中x=1.05只是一種可選的方式,也可以根據(jù)實(shí)際要求,設(shè)置x的具體取值,本發(fā)明實(shí)施例對(duì)此不做限定。

s12:依據(jù)所述pg分布,判斷各個(gè)所述osd所對(duì)應(yīng)的pg數(shù)目是否超過(guò)所述目標(biāo)平均數(shù)。

以一個(gè)osd為例,當(dāng)該osd對(duì)應(yīng)的pg數(shù)目超過(guò)該目標(biāo)平均值后,則說(shuō)明該osd實(shí)際占用量可能會(huì)比其他未超過(guò)目標(biāo)平均值的osd提前達(dá)到額定數(shù)值,從而導(dǎo)致系統(tǒng)無(wú)法繼續(xù)寫入數(shù)據(jù)。

在本發(fā)明實(shí)施例中,可以以目標(biāo)平均數(shù)作為容量均衡的依據(jù),通過(guò)判斷各個(gè)osd所對(duì)應(yīng)的pg數(shù)目是否超過(guò)目標(biāo)平均數(shù)的方式,來(lái)衡量pg分布是否達(dá)到均衡。

s13:若超過(guò),則依據(jù)預(yù)先存儲(chǔ)的權(quán)重調(diào)整命令,調(diào)整所述osd的權(quán)重,并返回所述s10。

計(jì)算機(jī)系統(tǒng)可以通過(guò)相關(guān)命令查詢到每個(gè)osd的權(quán)重,在初始化pg分布時(shí),每個(gè)osd的權(quán)重值為1。由表1可知,雖然每個(gè)osd的權(quán)重值相同,但是pg分布并不是非常平均,總計(jì)6144個(gè)pg,分布在32個(gè)osd上,平均值為6144/32=192,然而根據(jù)表1實(shí)際的分布情況可知,最高的pg數(shù)目為211個(gè),最低為161個(gè),相差很大,pg分布并不均衡。

當(dāng)存在pg數(shù)目超過(guò)目標(biāo)平均數(shù)的osd時(shí),說(shuō)明pg分布并未達(dá)到均衡,需要對(duì)pg分布進(jìn)行調(diào)整。

在分布式文件系統(tǒng)中會(huì)預(yù)先存儲(chǔ)有相應(yīng)的權(quán)重調(diào)整命令,該權(quán)重調(diào)整命令可以實(shí)現(xiàn)對(duì)osd權(quán)重的調(diào)整。

結(jié)合表1所示的數(shù)據(jù),對(duì)osd進(jìn)行一次權(quán)重調(diào)整后,各個(gè)osd對(duì)應(yīng)的權(quán)重,如表2所示:

表2

表2中第一列和第三列表示存儲(chǔ)池中包括的osd,為了對(duì)不同的osd進(jìn)行區(qū)分,每個(gè)osd有其對(duì)應(yīng)的編號(hào),第二列的權(quán)重為第一列中各個(gè)osd所對(duì)應(yīng)的權(quán)重,第四列的權(quán)重為第三列中各個(gè)osd所對(duì)應(yīng)的權(quán)重。

需要說(shuō)明的是,每進(jìn)行一次osd權(quán)重的調(diào)整,crush算法會(huì)依據(jù)調(diào)整后的權(quán)重,對(duì)存儲(chǔ)池中的所有osd重新進(jìn)行pg的分配。

根據(jù)表2所示的權(quán)重表,重新進(jìn)行pg分配的pg分布表如表3所示:

表3

表3中第一列和第三列表示存儲(chǔ)池中包括的osd,為了對(duì)不同的osd進(jìn)行區(qū)分,每個(gè)osd有其對(duì)應(yīng)的編號(hào),第二列的pg數(shù)目為第一列中各個(gè)osd所對(duì)應(yīng)的pg數(shù)目,第四列的pg數(shù)目為第三列中各個(gè)osd所對(duì)應(yīng)的pg數(shù)目。

結(jié)合表1、表2和表3的數(shù)據(jù),可知,在第一次權(quán)重調(diào)整中,降低了編號(hào)為10、12、21和30的osd的權(quán)重,將這四個(gè)的osd的權(quán)重降低后,重新分配后的pg數(shù)目,由表1和表3的對(duì)比可以看出,這四個(gè)osd所對(duì)應(yīng)的pg數(shù)目均有所下降。

s14:若不超過(guò),則結(jié)束調(diào)整所述osd的權(quán)重,得到滿足容量均衡的pg分布。

由于crush算法進(jìn)行pg分配的結(jié)果無(wú)法提前預(yù)知,所以往往需要進(jìn)行多次調(diào)整后,才能獲取到滿足容量均衡的pg分布,也即不存在pg數(shù)目超過(guò)目標(biāo)平均數(shù)的osd。分布式文件系統(tǒng)依據(jù)該pg分布,便可以有效的提升容量的利用率。

結(jié)合表1所示的數(shù)據(jù),經(jīng)過(guò)多次權(quán)重調(diào)整后,pg分布最終達(dá)到均衡,其權(quán)重表如表4所示,對(duì)應(yīng)的pg分布表如表5所示:

表4

表4中第一列和第三列表示存儲(chǔ)池中包括的osd,為了對(duì)不同的osd進(jìn)行區(qū)分,每個(gè)osd有其對(duì)應(yīng)的編號(hào),第二列的權(quán)重為第一列中各個(gè)osd所對(duì)應(yīng)的權(quán)重,第四列的權(quán)重為第三列中各個(gè)osd所對(duì)應(yīng)的權(quán)重。

依據(jù)該權(quán)重表,對(duì)osd重新進(jìn)行pg分配后,得到的pg分布表如表5所示:

表5

表5中第一列和第三列表示存儲(chǔ)池中包括的osd,為了對(duì)不同的osd進(jìn)行區(qū)分,每個(gè)osd有其對(duì)應(yīng)的編號(hào),第二列的pg數(shù)目為第一列中各個(gè)osd所對(duì)應(yīng)的pg數(shù)目,第四列的pg數(shù)目為第三列中各個(gè)osd所對(duì)應(yīng)的pg數(shù)目。

結(jié)合上述介紹中,計(jì)算的目標(biāo)平均數(shù)為201,由表5可以看出,不存在pg數(shù)目超過(guò)該目標(biāo)平均數(shù)的osd,表明表5所示的pg分布表已經(jīng)達(dá)到pg分布的均衡,也即已經(jīng)達(dá)到容量均衡。

在本發(fā)明實(shí)施例中,以調(diào)整osd權(quán)重的方式,來(lái)實(shí)現(xiàn)各個(gè)osd上pg數(shù)目的均衡分布即pg分布的均衡,從而達(dá)到容量均衡。接下來(lái),將對(duì)該調(diào)整過(guò)程展開(kāi)介紹。如圖2所示,該調(diào)整過(guò)程的具體實(shí)現(xiàn)包括:

s201:從所述pg數(shù)目超過(guò)所述目標(biāo)平均數(shù)的osd中,查詢是否存在pg數(shù)目超過(guò)最大值的osd。

在本發(fā)明實(shí)施例中,調(diào)整osd的權(quán)重后,集群會(huì)利用crush算法對(duì)各個(gè)osd進(jìn)行pg的再次分配,由于crush算法采用偽隨機(jī)方式為osd分配pg,該分配結(jié)果是預(yù)先無(wú)法獲知的。如果第一次調(diào)整權(quán)重時(shí),就將pg數(shù)目超過(guò)目標(biāo)平均值的所有osd的權(quán)重降低,由于crush算法的偽隨機(jī)性,權(quán)重降低的osd分配到的pg數(shù)目會(huì)相應(yīng)的減少,但可能會(huì)出現(xiàn)為降低權(quán)重的osd分配到的pg數(shù)目增多,超過(guò)目標(biāo)平均值。為了更好的實(shí)現(xiàn)pg分布均衡,在本發(fā)明實(shí)施例中,可以采用遞進(jìn)的方式,對(duì)osd的權(quán)重進(jìn)行調(diào)整。對(duì)于超過(guò)目標(biāo)平均數(shù)的pg數(shù)目可以從高到低依次進(jìn)行比較,也即對(duì)于osd權(quán)重的調(diào)整,可以先調(diào)整pg數(shù)目較高的osd的權(quán)重。

在具體實(shí)現(xiàn)中,可以預(yù)先設(shè)置pg數(shù)目的最大值,先從pg數(shù)目超過(guò)最大值的osd開(kāi)始進(jìn)行權(quán)重的調(diào)整。

s202:若存在pg數(shù)目超過(guò)最大值的osd,則按照極限調(diào)整值,調(diào)整所述osd的權(quán)重。

權(quán)重的調(diào)整范圍可以與pg數(shù)目超過(guò)目標(biāo)平均值的范圍呈正相關(guān),即pg數(shù)目越高,所對(duì)應(yīng)的osd的權(quán)重調(diào)整幅度可以越大。但是為了保證最終實(shí)現(xiàn)容量均衡,對(duì)于osd的權(quán)重值不能無(wú)限度的降低,故此,可以預(yù)先設(shè)置一個(gè)極限調(diào)整值,極限調(diào)整值可以用于表示權(quán)重調(diào)整的最大范圍。也即對(duì)于osd權(quán)重的最大調(diào)整幅度不能超過(guò)該極限調(diào)整值。例如,將該極限調(diào)整值設(shè)置為0.05,一個(gè)osd的權(quán)重為1,則在一次調(diào)整中該osd的權(quán)重值最多只能降低至0.95。

相應(yīng)的,對(duì)于pg數(shù)目的最大值與該極限調(diào)整值相對(duì)應(yīng),當(dāng)osd所對(duì)應(yīng)的pg數(shù)目超過(guò)該最大值時(shí),則可以按照極限調(diào)整值,對(duì)該osd的權(quán)重進(jìn)行一次調(diào)整。

s203:若不存在pg數(shù)目超過(guò)最大值的osd,則依據(jù)預(yù)先存儲(chǔ)的梯度值,從高到低依次查詢是否存在pg數(shù)目超過(guò)目標(biāo)梯度值的osd;其中,所述目標(biāo)梯度值為所述梯度值中的其中一個(gè)梯度值。

在本發(fā)明實(shí)施例中,為了更加準(zhǔn)確快速的調(diào)整osd的權(quán)重,可以將osd所對(duì)應(yīng)的pg數(shù)目進(jìn)行范圍的劃分,每一個(gè)區(qū)間范圍可以對(duì)應(yīng)一個(gè)權(quán)重值。

在本發(fā)明實(shí)施例中,對(duì)于pg數(shù)目不超過(guò)目標(biāo)平均值的osd,可以不對(duì)其權(quán)重進(jìn)行調(diào)整。故此,對(duì)于pg數(shù)目進(jìn)行范圍的劃分,可以是以目標(biāo)平均值到最大值的范圍進(jìn)行劃分。

例如,目標(biāo)平均值為pg平均值的1.05倍,最大值為pg平均值的1.2倍,則設(shè)置的梯度值可以包括pg平均值的1.17倍、pg平均值的1.14倍、pg平均值的1.11倍、pg平均值的1.08倍。相應(yīng)的,可以劃分出5個(gè)梯度范圍,從高到低依次為(1.17,1.20],(1.14,1.17],(1.11,1.14],(1.08,1.11],(1.05,1.08],每個(gè)梯度范圍對(duì)應(yīng)一個(gè)權(quán)重值,以一個(gè)梯度范圍為例,梯度值1.17對(duì)應(yīng)的梯度范圍為(1.17,1.20]即表示pg數(shù)目處于pg平均值的1.17倍的數(shù)值和pg平均值的1.20倍的數(shù)值之間,不包含pg平均值的1.17倍的數(shù)值,包含pg平均值的1.20倍的數(shù)值。

需要說(shuō)明的是,上述梯度劃分的方式僅是本發(fā)明實(shí)施例一種可行的方式,也可以采用其它劃分方式對(duì)osd的權(quán)重進(jìn)行調(diào)整,在此不做限定。

s204:若存在pg數(shù)目超過(guò)目標(biāo)梯度值的osd,按照所述目標(biāo)梯度值,調(diào)整所述osd的權(quán)重。

在進(jìn)行權(quán)重調(diào)整時(shí),可以按照從高到低的范圍依次進(jìn)行調(diào)整,也即按照劃分的梯度值,從高到低依次查看是否存在pg數(shù)目超過(guò)梯度值的osd,若存在,則按照該梯度值所屬梯度范圍對(duì)應(yīng)的權(quán)重值,對(duì)該osd進(jìn)行權(quán)重的調(diào)整。

由上述技術(shù)方案可以看出,依據(jù)crush算法對(duì)存儲(chǔ)池中包括的所有osd進(jìn)行初始化的pg分布,計(jì)算存儲(chǔ)池中pg的目標(biāo)平均數(shù);從而依據(jù)所述pg分布,判斷各個(gè)所述osd所對(duì)應(yīng)的pg數(shù)目是否超過(guò)所述目標(biāo)平均數(shù);若超過(guò),則說(shuō)明此時(shí)pg分布不均衡,則可以依據(jù)預(yù)先存儲(chǔ)的權(quán)重調(diào)整命令,調(diào)整所述osd的權(quán)重;每進(jìn)行一次osd權(quán)重的調(diào)整,crush算法會(huì)依據(jù)調(diào)整后的權(quán)重,對(duì)存儲(chǔ)池中的所有osd重新進(jìn)行pg的分配,得到調(diào)整后的pg分布,依據(jù)該pg分布判斷各個(gè)所述osd所對(duì)應(yīng)的pg數(shù)目是否超過(guò)所述目標(biāo)平均數(shù),若不超過(guò),則結(jié)束調(diào)整所述osd的權(quán)重,得到滿足容量均衡的pg分布??梢?jiàn),通過(guò)對(duì)osd權(quán)重的不斷調(diào)整,來(lái)達(dá)到pg分布的均衡,從而實(shí)現(xiàn)容量均衡,有效的提升分布式文件系統(tǒng)的容量利用率。

圖3為本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)容量均衡的裝置的結(jié)構(gòu)示意圖,所述裝置包括:分配單元31、計(jì)算單元32、判斷單元33、調(diào)整單元34和結(jié)束單元35;

所述分配單元31,用于利用crush算法對(duì)存儲(chǔ)池中包括的所有osd進(jìn)行pg的分配,得到pg分布。

所述計(jì)算單元32,用于計(jì)算所述存儲(chǔ)池中pg的目標(biāo)平均數(shù)。

所述判斷單元33,用于依據(jù)所述pg分布,判斷各個(gè)所述osd所對(duì)應(yīng)的pg數(shù)目是否超過(guò)所述目標(biāo)平均數(shù)。

若超過(guò),則觸發(fā)所述調(diào)整單元34,所述調(diào)整單元34,用于依據(jù)預(yù)先存儲(chǔ)的權(quán)重調(diào)整命令,調(diào)整所述osd的權(quán)重,并觸發(fā)所述分配單元31。

若不超過(guò),則觸發(fā)所述結(jié)束單元35,所述結(jié)束單元35,用于結(jié)束調(diào)整所述osd的權(quán)重,得到滿足容量均衡的pg分布。

可選的,所述計(jì)算單元具體用于利用公式:pg的目標(biāo)平均數(shù)=(pg總數(shù)量/osd總個(gè)數(shù))*1.05,計(jì)算出pg的目標(biāo)平均數(shù)。

可選的,所述調(diào)整單元包括:查詢子單元和調(diào)整子單元;

所述查詢子單元,用于從所述pg數(shù)目超過(guò)所述目標(biāo)平均數(shù)的osd中,查詢是否存在pg數(shù)目超過(guò)最大值的osd;

若存在pg數(shù)目超過(guò)最大值的osd,則觸發(fā)所述調(diào)整子單元,所述調(diào)整子單元,用于按照極限調(diào)整值,調(diào)整所述osd的權(quán)重;

若不存在pg數(shù)目超過(guò)最大值的osd,則觸發(fā)所述查詢子單元,所述查詢子單元還用于依據(jù)預(yù)先存儲(chǔ)的梯度值,從高到低依次查詢是否存在pg數(shù)目超過(guò)目標(biāo)梯度值的osd;其中,所述目標(biāo)梯度值為所述梯度值中的其中一個(gè)梯度值;

若存在,則觸發(fā)所述調(diào)整子單元,所述調(diào)整子單元還用于按照所述目標(biāo)梯度值,調(diào)整所述osd的權(quán)重。

圖3所對(duì)應(yīng)實(shí)施例中特征的說(shuō)明可以參見(jiàn)圖1和圖2所對(duì)應(yīng)實(shí)施例的相關(guān)說(shuō)明,這里不再一一贅述。

以上對(duì)本發(fā)明實(shí)施例所提供的一種分布式文件系統(tǒng)容量均衡的方法與裝置進(jìn)行了詳細(xì)介紹。說(shuō)明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的裝置而言,由于其與實(shí)施例公開(kāi)的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

結(jié)合本文中所公開(kāi)的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(ram)、內(nèi)存、只讀存儲(chǔ)器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動(dòng)磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
突泉县| 庆城县| 墨竹工卡县| 龙井市| 萨迦县| 海盐县| 石狮市| 长垣县| 石林| 常熟市| 且末县| 齐齐哈尔市| 博罗县| 辽宁省| 京山县| 康定县| 贵南县| 财经| 监利县| 萍乡市| 武安市| 页游| 彭水| 娱乐| 广汉市| 广西| 龙陵县| 墨脱县| 梅河口市| 望城县| 绥中县| 比如县| 南康市| 青川县| 漳州市| 三都| 凤阳县| 黑水县| 西峡县| 曲靖市| 清镇市|