亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于存儲介質(zhì)類型和加權(quán)配額的存儲資源管理方法與流程

文檔序號:11653891閱讀:253來源:國知局
一種基于存儲介質(zhì)類型和加權(quán)配額的存儲資源管理方法與流程

本發(fā)明涉及一種基于存儲介質(zhì)類型和加權(quán)配額的存儲資源管理方法,屬于大數(shù)據(jù)存儲和分布式計(jì)算領(lǐng)域。



背景技術(shù):

隨著大數(shù)據(jù)存儲和混合存儲介質(zhì)技術(shù)的發(fā)展,存儲資源管理和分配方法變得越來越重要,也面臨著越來越嚴(yán)重的考驗(yàn)。apache開源社區(qū)開發(fā)的hadoop大數(shù)據(jù)處理系統(tǒng)已經(jīng)成為大數(shù)據(jù)領(lǐng)域最具代表性的解決方案。hadoop包括hdfs(hadoopdistributedfilesystem)分布式文件系統(tǒng)和yarn(yetanotherresourcenegotiator)資源管理系統(tǒng)和mapreduce數(shù)據(jù)處理框架。其中運(yùn)行的mapreduce應(yīng)用對于數(shù)據(jù)的訪問分為訪問map階段讀取輸入文件時(shí)、reduce階段寫入輸出文件時(shí)對hdfs分布式文件系統(tǒng)的訪問和shuffle階段讀寫中間數(shù)據(jù)時(shí)對于本地系統(tǒng)存儲資源的訪問。隨著混合存儲技術(shù)的發(fā)展,應(yīng)用對于存儲資源的訪問也引入不同的考慮因素,因此基于存儲介質(zhì)和加權(quán)分配的存儲資源分配技術(shù)也得到學(xué)術(shù)界和工業(yè)界越來越多的重視。

由于mapreduce應(yīng)用在shuffle(數(shù)據(jù)混洗)階段把中間數(shù)據(jù)存放于本地系統(tǒng)中,訪問序列具有高隨機(jī)性并對于特定應(yīng)用會產(chǎn)生數(shù)倍于原始輸入數(shù)據(jù)大小的中間數(shù)據(jù)文件。因此優(yōu)化中間數(shù)據(jù)的存儲效率有較高的研究價(jià)值。對于中間數(shù)據(jù)的存儲資源管理,能否根據(jù)存儲資源的存儲空間容量平衡地分配存儲數(shù)據(jù)是至關(guān)重要的。從存儲效率的角度來看,存儲資源管理技術(shù)需要滿足的條件包括平衡性、低內(nèi)存效率、存儲介質(zhì)的選擇性、低算法復(fù)雜度、容錯(cuò)性和伸縮性。尤其是伸縮性,需要在新增存儲設(shè)備時(shí),最小化已有數(shù)據(jù)的移動。然而在現(xiàn)今已有的存儲資源管理或分配方法中,還沒有一種方法能有效的將上述條件全部滿足。本發(fā)明提出了一種新的存儲資源管理方法,能有效的利用混合存儲介質(zhì)的差異性并滿足上述優(yōu)化要求。



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

本發(fā)明的技術(shù)解決解決問題:克服現(xiàn)有技術(shù)的不足,提供一種內(nèi)存消耗小的高性能的存儲資源管理方法,該方法將存儲資源的介質(zhì)信息和容量信息有效的結(jié)合起來進(jìn)行加權(quán)一致性哈希計(jì)算,能夠更平衡高效地管理存儲資源。

本發(fā)明的技術(shù)解決方案:一種基于存儲介質(zhì)類型和加權(quán)配額的存儲資源管理方法,包括:用戶空間文件系統(tǒng)的掛載和讀寫請求的分發(fā)兩個(gè)步驟;

所述用戶空間文件系統(tǒng)的掛載步驟如下:

(11)將多塊固態(tài)硬盤和機(jī)械硬盤成對分別掛載于當(dāng)前文件系統(tǒng)中。將第1塊固態(tài)硬盤和第1塊機(jī)械硬盤分別掛載到有完全讀寫權(quán)限的目錄/ssd-1和/hdd-1下,將第2塊固態(tài)硬盤和第2塊機(jī)械硬盤分別掛載到有完全讀寫權(quán)限的目錄/ssd-2和/hdd-2下,將第n塊固態(tài)硬盤和第n塊機(jī)械硬盤分別掛載到有完全讀寫權(quán)限的目錄/ssd-n和/hdd-n下,直至將全部存儲設(shè)備掛載到/ssd1~/ssdn和/hddn~/hddn下;

(12)將每對固態(tài)硬盤目錄和機(jī)械硬盤目錄的訪問封裝到用戶空間文件系統(tǒng)中,用戶空間文件系統(tǒng)優(yōu)先將訪問重定向到固態(tài)硬盤目錄中,當(dāng)固態(tài)硬盤目錄的存儲空間不足時(shí),使用近期最少使用算法(lru)將固態(tài)硬盤目錄中近期最少使用的文件置換到機(jī)械硬盤目錄中。

(13)啟動多個(gè)進(jìn)程,運(yùn)行步驟(12)中的用戶空間文件系統(tǒng),并將這多個(gè)進(jìn)程提供的文件服務(wù)都掛載到hadoop系統(tǒng)配置中的中間數(shù)據(jù)存儲目錄中,監(jiān)聽這些中間數(shù)據(jù)存儲目錄的讀寫請求;

所述讀寫請求的分發(fā)步驟如下:

(21)將步驟(13)中的多個(gè)進(jìn)程從1開始進(jìn)行順序編號,檢查這些進(jìn)程所提供文件服務(wù)的剩余容量,將這多個(gè)剩余容量的值,記錄為請求分發(fā)的權(quán)重比例數(shù)組w;

(22)當(dāng)對于hadoop集群(hadoop是一個(gè)由apache基金會所開發(fā)的分布式計(jì)算系統(tǒng))中用戶提交的計(jì)算任務(wù)產(chǎn)生讀寫請求時(shí),將讀寫請求的路徑名和文件名,以及步驟(21)中計(jì)算的權(quán)重比例數(shù)組w輸入weightingjump算法,將輸出的值作為進(jìn)程編號,將讀寫請求分發(fā)到步驟(21)中符合該編號的進(jìn)程中。完成請求分發(fā)的操作。

所述的用戶空間文件系統(tǒng)的掛載步驟中,使用fuse庫封裝固態(tài)硬盤目錄和機(jī)械硬盤目錄的文件操作,對外實(shí)現(xiàn)posix接口的文件操作。

所述用戶空間文件系統(tǒng)中對外提供一個(gè)統(tǒng)一的邏輯視圖,這種邏輯視圖的實(shí)現(xiàn)是通過符號鏈接技術(shù)構(gòu)建的。用戶空間文件系統(tǒng)將固態(tài)硬盤目錄作為邏輯視圖,置換到機(jī)械硬盤目錄中的文件以符號鏈接的形式存放到固態(tài)硬盤目錄中,指向機(jī)械硬盤目錄中的原文件。而置換到固態(tài)硬盤目錄中的文件以原文件的形式存放到固態(tài)硬盤目錄中。將固態(tài)硬盤目錄中近期最少使用的文件置換到機(jī)械硬盤目錄中的具體過程如下:

(31)當(dāng)固態(tài)硬盤目錄的空間不足并且置換算法使用的調(diào)度緩存隊(duì)列不為空,彈出緩存隊(duì)列首部的文件路徑;

(32)將步驟(31)的文件路徑下的該文件復(fù)制到機(jī)械硬盤目錄中;

(33)刪除固態(tài)硬盤目錄下的該文件;

(34)在固態(tài)硬盤目錄中建立該文件的符號鏈接,指向步驟(32)中的機(jī)械硬盤目錄中的該文件。

將機(jī)械硬盤目錄中訪問較多的文件f置換到固態(tài)硬盤目錄中的具體過程如下:

(31)若固態(tài)硬盤容量不足,則先執(zhí)行步驟(31)到(35);

(32)將文件f復(fù)制到固態(tài)硬盤中;

(33)刪除固態(tài)硬盤目錄中該文件的符號鏈接;

(34)將機(jī)械硬盤中文件f刪除;

(35)更新緩存隊(duì)列中文件f的位置。

weightingjump算法的具體實(shí)現(xiàn)邏輯如下:

(1)輸入步驟(22)中的權(quán)重?cái)?shù)組w、請求路徑和文件名;

(2)將請求路徑和文件名輸入字符串哈希函數(shù),哈希函數(shù)的輸出是一個(gè)長整型;

(3)將步驟(2)中獲得的長整型作為種子輸入64位的線性同余隨機(jī)數(shù)發(fā)生器;

(4)新建變量b為0,變量b為一個(gè)整數(shù),代表本算法計(jì)算的進(jìn)程編號。新建變量n,為步驟(21)中進(jìn)程的數(shù)量;

(5)運(yùn)行步驟(3)中的隨機(jī)數(shù)發(fā)生器,隨機(jī)數(shù)發(fā)生器的輸出是一個(gè)隨機(jī)數(shù)r;

(6)根據(jù)公式求出j的最大值。若j的值小于n,則將b的值更改為j;若j的值大于等于n,則維持b的值不變。公式中wx為步驟(1)中權(quán)重?cái)?shù)組w的第x項(xiàng),而floor()函數(shù)表示求上確界,b為步驟(5)中定義的變量,r為步驟(5)中獲得的隨機(jī)數(shù);

(7)重復(fù)步驟(5)至步驟(6)直至b的值不再變化,輸出變量b。輸出步驟(6)中所算出的變量b,即:算法輸入的請求的路徑、文件名時(shí),應(yīng)分發(fā)給編號為b的進(jìn)程進(jìn)行處理。因此,將此次讀寫請求分發(fā)給編號為b的進(jìn)程。完成請求分發(fā)步驟。

本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于:本發(fā)明采用一致性哈希算法保證了技術(shù)的可伸縮性和容錯(cuò)性;并且技術(shù)中一致性哈希算法的實(shí)現(xiàn)weightingjump算法相比于karger的割環(huán)法實(shí)現(xiàn)減少了內(nèi)存消耗;由于本發(fā)明提出的基于存儲介質(zhì)和加權(quán)一致性哈希的存儲資源管理方法能更全面得考慮存儲介質(zhì)和存儲容量,并且weightingjump算法中使用的概率算法減少了內(nèi)存消耗,因此具有更高的魯棒性。

附圖說明

圖1為本地存儲資源管理的系統(tǒng)結(jié)構(gòu)圖;

圖2為本技術(shù)在實(shí)際分布式計(jì)算框架中應(yīng)用的系統(tǒng)結(jié)構(gòu)圖;

圖3為本技術(shù)與現(xiàn)有技術(shù)的內(nèi)存消耗對比圖;

圖4為本技術(shù)與現(xiàn)有技術(shù)的運(yùn)行時(shí)間對比圖;

圖5為本技術(shù)與現(xiàn)有技術(shù)的標(biāo)準(zhǔn)誤對比圖。

具體實(shí)施方式

下面結(jié)合附圖詳細(xì)解釋本發(fā)明提出的基于存儲介質(zhì)和加權(quán)一致性哈希的存儲資源管理方法。

本發(fā)明的存儲資源管理方法應(yīng)該包含以下幾個(gè)步驟:存儲設(shè)備的掛載、用戶空間文件系統(tǒng)的掛載、運(yùn)行hadoop應(yīng)用、hadoop應(yīng)用讀寫請求的分發(fā)。其系統(tǒng)結(jié)構(gòu)如圖1所示。首先將存儲設(shè)備按照存儲介質(zhì)的不同掛載到不同的目錄下,再通過用戶空間文件系統(tǒng)封裝對于這些目錄的文件操作請求。然后通過多個(gè)進(jìn)程啟動用戶空間文件系統(tǒng)提供fuse文件服務(wù),并掛載到hadoop系統(tǒng)的中間數(shù)據(jù)存儲目錄,提高存儲資源的并發(fā)利用率。然后通過修改hadoop系統(tǒng)的源代碼,添加請求分發(fā)模塊,使用weightingjump算法平衡多個(gè)進(jìn)程的負(fù)載。

本發(fā)明提出的基于存儲介質(zhì)和加權(quán)一致性哈希的存儲資源管理方法主要涉及mapreduce大數(shù)據(jù)處理框架中shuffle階段的中間數(shù)據(jù)讀寫這個(gè)環(huán)節(jié),如圖2所示,本發(fā)明將map函數(shù)輸出的緩沖區(qū)的溢寫中間數(shù)據(jù)交由本地資源存儲分配器管理。hadoop應(yīng)用的讀寫請求經(jīng)由請求分發(fā)模塊的weightingjump算法,分發(fā)到某個(gè)運(yùn)行中的用戶空間文件系統(tǒng)。用戶空間文件系統(tǒng)通過數(shù)據(jù)操作模塊封裝的fuseapi實(shí)現(xiàn),操作實(shí)際掛載的存儲設(shè)備。當(dāng)存儲空間足夠時(shí),優(yōu)先使用固態(tài)硬盤,否則使用置換算法在固態(tài)硬盤和機(jī)械硬盤間進(jìn)行文件的置換。中間數(shù)據(jù)文件和存儲目錄的具體映射關(guān)系由一致性哈希算法的單調(diào)性保證,具體步驟如下:

1.用戶空間文件系統(tǒng)的掛載

本發(fā)明提出在分布式計(jì)算框架(如mapreduce)的中緩沖區(qū)溢寫到本地存儲資源時(shí),對于中間計(jì)算數(shù)據(jù)的臨時(shí)文件,使用掛載的用戶空間文件系統(tǒng),具體步驟如下:

(1)將多塊固態(tài)硬盤和機(jī)械硬盤成對分別掛載于當(dāng)前文件系統(tǒng)中。將第1塊固態(tài)硬盤和第1塊機(jī)械硬盤分別掛載到有完全讀寫權(quán)限的目錄/ssd-1和/hdd-1下,將第2塊固態(tài)硬盤和第2塊機(jī)械硬盤分別掛載到有完全讀寫權(quán)限的目錄/ssd-2和/hdd-2下,將第n塊固態(tài)硬盤和第n塊機(jī)械硬盤分別掛載到有完全讀寫權(quán)限的目錄/ssd-n和/hdd-n下,直至將全部存儲設(shè)備掛載到/ssd1~/ssdn和/hddn~/hddn下;

(2)將每對固態(tài)硬盤目錄和機(jī)械硬盤目錄的訪問封裝到用戶空間文件系統(tǒng)中,用戶空間文件系統(tǒng)優(yōu)先將訪問重定向到固態(tài)硬盤目錄中,當(dāng)固態(tài)硬盤目錄的存儲空間不足時(shí),使用近期最少使用算法(lru)將固態(tài)硬盤目錄中近期最少使用的文件置換到機(jī)械硬盤目錄中。邏輯上的文件和目錄通過符號鏈接操作物理上實(shí)際的文件和目錄。如果文件置換模塊將文件換出到機(jī)械硬盤中,則固態(tài)硬盤中則只剩下符號連接;如果文件置換模塊將文件換入到固態(tài)硬盤中,則固態(tài)硬盤存放著實(shí)際的文件。使用符號鏈接而不使用哈希表的原因有兩點(diǎn):第一點(diǎn)是因?yàn)榉栨溄邮浅志没?,因此不需要?dān)心內(nèi)存和磁盤不一致的問題,可以保證強(qiáng)一致性;第二點(diǎn)是由于符號鏈接是類unix系統(tǒng)中原生支持的;

(3)啟動多個(gè)進(jìn)程運(yùn)行步驟(2)中的所有用戶空間文件系統(tǒng),并將多個(gè)進(jìn)程提供的fuse文件服務(wù)都掛載到hadoop系統(tǒng)配置中的中間數(shù)據(jù)存儲目錄中,通過linux內(nèi)核的fuse模塊監(jiān)聽掛載目錄的讀寫請求;

本發(fā)明利用hadoop應(yīng)用對于中間數(shù)據(jù)的訪問以隨機(jī)i/o為主,且存活時(shí)間較短的特點(diǎn),將中間數(shù)據(jù)優(yōu)先存儲于固態(tài)硬盤中,僅在空間不足時(shí)將文件置換到機(jī)械硬盤中。利用固態(tài)硬盤對于隨機(jī)i/o的加速特性提高h(yuǎn)adoop應(yīng)用的存儲效率。

2.讀寫請求的分發(fā)

本發(fā)明提出采用weightingjump算法進(jìn)行讀寫請求的分發(fā)。步驟中線性同余隨機(jī)數(shù)發(fā)生器進(jìn)行加權(quán)哈希值的計(jì)算,從而獲得存儲目錄的編號。目標(biāo)是為了解決存儲設(shè)備的訪問平衡性和效率問題,同時(shí)在存儲設(shè)備發(fā)生故障或者新增存儲設(shè)備時(shí),最小化數(shù)據(jù)的移動。本發(fā)明采用的方法具有較好的平衡性、單調(diào)性、伸縮性、高效和極低的內(nèi)存消耗。其中平衡性是指哈希的結(jié)果能夠盡可能按照權(quán)重比分布到所有的存儲目錄中去,這樣可以使得所有存儲資源都得到利用。單調(diào)性是指雖然分配器沒有存儲已有的數(shù)據(jù)文件和存儲目錄的映射關(guān)系,哈希的結(jié)果能夠保證原有已分配的內(nèi)容可以通過設(shè)置隨機(jī)數(shù)發(fā)生器的種子重新計(jì)算出映射關(guān)系。伸縮性是指當(dāng)存儲設(shè)備出現(xiàn)故障或者新增存儲設(shè)備時(shí),僅通過短暫的初始化分配器,即可適配新的存儲環(huán)境,計(jì)算出最小數(shù)據(jù)移動的數(shù)據(jù)文件和存儲目錄的映射關(guān)系。高效是指算法的復(fù)雜度僅為o(lgn*lgn),其中n為中間數(shù)據(jù)存儲目錄的數(shù)量;內(nèi)存消耗僅為o(n),且系數(shù)為一個(gè)極小的常數(shù)。具體步驟如下:

(1)輸入步驟(22)中的權(quán)重?cái)?shù)組w、請求路徑和文件名;

(2)將請求路徑和文件名輸入字符串哈希函數(shù),哈希函數(shù)的輸出是一個(gè)長整型;

(3)將步驟(2)中獲得的長整型作為種子輸入64位的線性同余隨機(jī)數(shù)發(fā)生器;

(4)新建變量b為0,變量n為步驟(21)中進(jìn)程的數(shù)量;

(5)運(yùn)行步驟(3)中的隨機(jī)數(shù)發(fā)生器,隨機(jī)數(shù)發(fā)生器的輸出是一個(gè)隨機(jī)數(shù)r;

(6)根據(jù)公式求出j的最大值。若j的值小于n,則將b的值更改為j;若j的值大于等于n,則維持b的值不變。公式中wx為步驟(1)中權(quán)重?cái)?shù)組w的第x項(xiàng),而floor()函數(shù)表示求上確界,b為步驟(5)中定義的變量,r為步驟(4)中獲得的隨機(jī)數(shù);

(7)重復(fù)步驟(5)至步驟(6)直至b的值不再變化,輸出變量b。變量b是輸出的進(jìn)程編號。因此將此次讀寫請求分發(fā)給編號為b的進(jìn)程。完成請求分發(fā)步驟。

需要指出的是,與karger使用的割環(huán)法實(shí)現(xiàn)相比,本發(fā)明不要求讀寫請求中的路徑名,或使用的字符串函數(shù)具有均勻性或平衡性,這是由于本發(fā)明使用內(nèi)置64位的偽隨機(jī)數(shù)生成器來對每一次輸入?yún)?shù)做再哈希,所以結(jié)果分布的平衡性與輸入?yún)?shù)的分布無關(guān),由隨機(jī)數(shù)生成器的均勻性保證。下面詳細(xì)說明weighting算法的實(shí)現(xiàn)和原理:

設(shè)算法的輸出為文件置換模塊的編號j,定義j=ch(key,n),其中key為計(jì)算任務(wù)編號的哈希值key,n為文件置換模塊的數(shù)量。由于編號為0到n-1的整數(shù),所以對于任意的key,有ch(key,1)=0,此時(shí)n=1。為了滿足上文所述的設(shè)計(jì)目標(biāo)中的平衡性,當(dāng)n的數(shù)量增加到2時(shí),對于一部分key,ch(key,2)的值需要保持與ch(key,1)一樣,依舊為0,這部分的比例占總量的而另外比例的ch(key,2)的值則需要跳變?yōu)?。以此類推可以得出公式因此此時(shí)可以使用一個(gè)隨機(jī)數(shù)發(fā)生器來決定某一個(gè)key的結(jié)果要不要跳變,這個(gè)隨機(jī)數(shù)發(fā)生器的狀態(tài)僅僅依賴于key。通過n次增大編號的范圍,最終可以將所有key的結(jié)果按照權(quán)重分配到n個(gè)文件置換模塊。

借鑒于johnlamping和ericveach的發(fā)現(xiàn),大多數(shù)情況下,ch(key,k)的值是不會跳變的,而且隨著n的值越來越大,這個(gè)概率也變得越來越低。因此可以直接追蹤編號的跳變路徑。記上一個(gè)跳變的編號為b,假設(shè)下一個(gè)發(fā)生跳變的編號以一定的概率為j,那么從b+1到j(luò)-1中間發(fā)生的多次增大編號的范圍都不能發(fā)生跳變。因此對于在區(qū)間(b,j)內(nèi)的任意整數(shù)i,j是下一個(gè)跳變編號的概率可以記為p(j≥i)=p(ch(key,i)==ch(key,b+1))。

因此經(jīng)過代入約分有:

上述推導(dǎo)的實(shí)際意義即為j>=i的概率為此時(shí)通過取一個(gè)在(0,1)區(qū)間內(nèi)的隨機(jī)數(shù)r,規(guī)定當(dāng)時(shí),意義為j>=i,所以有這樣就得到了i的上界。

由于對于任意的i都要有j>=i,因此有這樣算法就可以根據(jù)一個(gè)隨機(jī)數(shù)r得到下一個(gè)跳變的編號值j(滿足公式的最大j取值),也即步驟(3)中的循環(huán)過程。

對采用上述weightingjump計(jì)算方法的請求分發(fā)模塊,本發(fā)明不需要存儲數(shù)據(jù)文件和存儲目錄的映射關(guān)系,這一點(diǎn)節(jié)省了大量的存儲空間,可以從圖3的內(nèi)存消耗對比圖看出這一優(yōu)勢:隨著掛載目錄的規(guī)模的增大kager算法的內(nèi)存消耗很快達(dá)到4500mb,而谷歌的jumpconsisthash算法和本發(fā)明中的weightingjump算法的內(nèi)存消耗依然能維持在一個(gè)較小的范圍(4mb和8.1mb)。本發(fā)明與現(xiàn)有的kager割環(huán)法相比,由于不需要維護(hù)虛節(jié)點(diǎn)環(huán),節(jié)省了大量內(nèi)存垃圾回收的時(shí)間,同時(shí)增加了加權(quán)配比的功能;本發(fā)明與谷歌的跳變式實(shí)現(xiàn)的一致性哈希計(jì)算的方法相比,增加了加權(quán)配比的功能,同時(shí)能夠維持與其相近的時(shí)間消耗和標(biāo)準(zhǔn)誤;本發(fā)明與傳統(tǒng)的輪詢法或輪盤賭技術(shù)相比,將讀取的時(shí)間復(fù)雜度從o(n)降低到了o(logn),這些從圖4的平均耗時(shí)和圖5的標(biāo)準(zhǔn)誤對比圖可以看出。圖4中karger算法在虛擬節(jié)點(diǎn)的數(shù)量k=100或k=1000時(shí)的平均執(zhí)行時(shí)間隨著掛載目錄的規(guī)模的增大,也隨著明顯增大。而weightingjump算法和karge算法虛擬節(jié)點(diǎn)數(shù)量k=10時(shí),請求分發(fā)的平均時(shí)間能夠依然維持較小的數(shù)字。另一個(gè)很重要的因素就是請求分發(fā)的均衡性通過圖5的標(biāo)準(zhǔn)誤對比圖進(jìn)行比較,由圖5可以看出karge算法的虛擬節(jié)點(diǎn)數(shù)量k=4或k=10時(shí),標(biāo)準(zhǔn)誤明顯高于后續(xù)幾個(gè)其他的實(shí)現(xiàn)。而weightingjump算法在上述兩個(gè)比較中在平均執(zhí)行時(shí)間、內(nèi)存消耗和標(biāo)準(zhǔn)誤上的表現(xiàn)都比較優(yōu)秀。karge算法在虛擬節(jié)點(diǎn)數(shù)量多時(shí)消耗的執(zhí)行時(shí)間較多,而虛擬節(jié)點(diǎn)數(shù)量較少時(shí)卻有標(biāo)準(zhǔn)誤較大的缺點(diǎn)。谷歌的jump算法在上述三個(gè)方面的表現(xiàn)最為優(yōu)秀,但卻缺少了根據(jù)權(quán)重分發(fā)請求的功能。

如上所述,本發(fā)明利用具有一致性哈希計(jì)算具有單調(diào)性的優(yōu)點(diǎn)減去了中間數(shù)據(jù)文件和存儲目錄的映射關(guān)系的保存,與傳統(tǒng)的kager割環(huán)法實(shí)現(xiàn)技術(shù)相比,這種方法能有效的同時(shí)減少內(nèi)存消耗,同時(shí)加入了用戶配置選擇存儲介質(zhì)和不同應(yīng)用對于存儲介質(zhì)的依賴程度的考慮因素,因此能夠更加全面的應(yīng)對大數(shù)據(jù)存儲領(lǐng)域的需求,從而提高存儲性能。另外,本發(fā)明利用一個(gè)在概率算法的基礎(chǔ)上提出的線性同余偽隨機(jī)數(shù)來減少輸入?yún)?shù)不均勻時(shí)受到的字符串哈希函數(shù)的干擾,因此能夠使得存儲負(fù)載的平衡性更加有效可靠,從而進(jìn)一步提高存儲性能。這種方法采用類似谷歌johnlamping和ericveach提出的依概率跳變的方法來實(shí)現(xiàn)。能夠從概率的層面保證存儲資源的分配服從設(shè)定的權(quán)重,最小化標(biāo)準(zhǔn)誤,并且具有比原有hadoop集群的資源管理系統(tǒng)yarn中實(shí)現(xiàn)更低的時(shí)間復(fù)雜度和內(nèi)存消耗。克服了之前資源管理系統(tǒng)yarn中實(shí)現(xiàn)的磁盤資源分配算法輪詢檢索目錄的低效性,具有可伸縮性,且在擴(kuò)展時(shí),能夠依概率最小化原有數(shù)據(jù)的移動。

上面所述的僅是體現(xiàn)本發(fā)明基于存儲介質(zhì)類型和加權(quán)配額的存儲資源管理方法的實(shí)施例。本發(fā)明并不限于上述實(shí)施例。本發(fā)明的說明書是用于進(jìn)行說明,不限制權(quán)利要求的范圍。對于本領(lǐng)域的技術(shù)人員,很顯然可以有很多的替換、改進(jìn)和變化。凡采用等同替換或等效變換形成的技術(shù)方案,均落在本發(fā)明要求的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1