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

一種糾刪碼存儲(chǔ)中負(fù)載感知的讀優(yōu)化方法

文檔序號(hào):6400213閱讀:255來(lái)源:國(guó)知局
專利名稱:一種糾刪碼存儲(chǔ)中負(fù)載感知的讀優(yōu)化方法
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)存儲(chǔ)領(lǐng)域,更具體地,涉及一種糾刪碼存儲(chǔ)中負(fù)載感知的讀優(yōu)化方法。
背景技術(shù)
廉價(jià)冗余磁盤陣列RAID(Redundant Array of Independent DisK)是一種將一堆磁盤通過(guò)相關(guān)的技術(shù)連接起來(lái),構(gòu)成邏輯上的空間。同時(shí)RAID可以使諸多磁盤驅(qū)動(dòng)器同時(shí)傳輸數(shù)據(jù),在邏輯上面這些磁盤驅(qū)動(dòng)器又是被看成一個(gè)磁盤驅(qū)動(dòng)器。同時(shí)對(duì)于一般的RAID來(lái)說(shuō)比如RAID2、RAID3、RAID4和RAID5等都提供了相應(yīng)的校驗(yàn)技術(shù)來(lái)進(jìn)行數(shù)據(jù)的校驗(yàn)。通過(guò)校驗(yàn)技術(shù)可以保證RAID系統(tǒng)在某個(gè)或某些磁盤的數(shù)據(jù)出現(xiàn)錯(cuò)誤的時(shí)候還可以通過(guò)校驗(yàn)盤的數(shù)據(jù)和其余剩余未出錯(cuò)盤上的數(shù)據(jù)恢復(fù)出失效數(shù)據(jù)。作為RAID碼的一般化形式,糾刪碼也具備這種特性,如糾刪碼在存儲(chǔ)集群下的應(yīng)用,它能保護(hù)集群節(jié)點(diǎn)的數(shù)據(jù)失效,構(gòu)成具有容錯(cuò)特性的糾刪碼存儲(chǔ)集群。在傳統(tǒng)的糾刪碼存儲(chǔ)集群中讀取數(shù)據(jù)的大致過(guò)程可以分為以下兩步:(1)首先接收客戶的訪問(wèn)請(qǐng)求,獲得所請(qǐng)求分塊數(shù)據(jù)在糾刪碼集群的具體位置(位于某數(shù)據(jù)節(jié)點(diǎn)上的具體偏移地址)。(2)根據(jù)數(shù)據(jù)節(jié)點(diǎn)相應(yīng)的偏移地址讀取出相應(yīng)的分塊數(shù)據(jù),并將請(qǐng)求結(jié)果返回給客戶。如圖1所示,其為傳統(tǒng)糾刪碼存儲(chǔ)集群中的數(shù)據(jù)讀過(guò)程,該過(guò)程是接收應(yīng)用訪問(wèn)請(qǐng)求,直接從數(shù)據(jù)節(jié)點(diǎn)讀取相應(yīng)的分塊數(shù)據(jù)返回給客戶,具體不涉及對(duì)校驗(yàn)節(jié)點(diǎn)進(jìn)行操作。如圖2所示,其為傳統(tǒng)糾刪碼存儲(chǔ)集群中數(shù)據(jù)讀的流程圖。在傳統(tǒng)糾刪碼存儲(chǔ)集群中的讀取數(shù)據(jù)過(guò)程中,如果各節(jié)點(diǎn)的負(fù)載相對(duì)比較均衡,讀取各分塊數(shù)據(jù)的返回時(shí)間是接近的。然而如果各節(jié)點(diǎn)的負(fù)載相差很大(具體表現(xiàn)為:從不同節(jié)點(diǎn)讀取相應(yīng)分塊數(shù)據(jù)的完成時(shí)間參差不齊,相差I(lǐng) 2個(gè)數(shù)量級(jí))時(shí),傳統(tǒng)糾刪碼存儲(chǔ)集群中的讀數(shù)據(jù)方法會(huì)存在以下問(wèn)題:1、在糾刪碼存儲(chǔ)集群中請(qǐng)求完成時(shí)間受限于最晚返回的分塊請(qǐng)求,因此會(huì)導(dǎo)致糾刪碼存儲(chǔ)集群很差的讀性能,增加應(yīng)用訪問(wèn)請(qǐng)求的響應(yīng)時(shí)間。2、在糾刪碼存儲(chǔ)集群中,此時(shí)某些節(jié)點(diǎn)的負(fù)載相對(duì)較輕,甚至處于空閑狀態(tài),而一些節(jié)點(diǎn)處于重負(fù)載狀態(tài),頻繁的超重負(fù)載往往增加節(jié)點(diǎn)崩潰的概率,從而降低了糾刪碼存儲(chǔ)集群的可靠性。

發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的在于提供一種糾刪碼存儲(chǔ)中負(fù)載感知的讀優(yōu)化方法,其不僅能夠保證在各個(gè)節(jié)點(diǎn)的負(fù)載相對(duì)比較均衡時(shí),讀取應(yīng)用請(qǐng)求的分塊數(shù)據(jù)與傳統(tǒng)糾刪碼集群讀數(shù)據(jù)方法有相同的性能,同時(shí)能夠解決傳統(tǒng)糾刪碼集群讀數(shù)據(jù)方法在各節(jié)點(diǎn)負(fù)載相差很大時(shí)存在的應(yīng)用訪問(wèn)請(qǐng)求的響應(yīng)時(shí)間長(zhǎng)、糾刪碼存儲(chǔ)集群的可靠性低的問(wèn)題。為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種糾刪碼存儲(chǔ)中負(fù)載感知的讀優(yōu)化方法,其是應(yīng)用于糾刪碼存儲(chǔ)集群中,該方法包括以下步驟:( I)初始化糾刪碼存儲(chǔ)集群中所有節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值為零;(2)從用戶接收應(yīng)用訪問(wèn)請(qǐng)求;(3)從糾刪碼存儲(chǔ)集群的數(shù)據(jù)節(jié)點(diǎn)中任選一個(gè)數(shù)據(jù)節(jié)點(diǎn);(4)判斷該數(shù)據(jù)節(jié)點(diǎn)是否在應(yīng)用訪問(wèn)請(qǐng)求操作對(duì)應(yīng)的節(jié)點(diǎn)號(hào)內(nèi),如果是則進(jìn)入步驟(5),否則轉(zhuǎn)入步驟(10);(5)判斷該數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值是否大于或等于預(yù)定的閾值,若是則轉(zhuǎn)入步驟(6),否則轉(zhuǎn)入步驟(10);(6)將糾刪碼存儲(chǔ)集群中所有節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值按照從小到大的順序進(jìn)行排列;(7)讀取前K個(gè)節(jié)點(diǎn)對(duì)應(yīng)的偏移地址的分塊數(shù)據(jù),并獲取讀取該分塊數(shù)據(jù)各自所花費(fèi)的時(shí)間,并利用RS解碼算法對(duì)讀取的前K個(gè)節(jié)點(diǎn)對(duì)應(yīng)的偏移地址的分塊數(shù)據(jù)進(jìn)行解碼操作;(8)使用步驟(7)獲取的前K個(gè)節(jié)點(diǎn)中各個(gè)節(jié)點(diǎn)的時(shí)間替換該節(jié)點(diǎn)最近M次被訪問(wèn)中第一次被訪問(wèn)的響應(yīng)時(shí)間;(9)從解碼后的分塊數(shù)據(jù)中選取應(yīng)用訪問(wèn)請(qǐng)求對(duì)應(yīng)的分塊數(shù)據(jù),將該分塊數(shù)據(jù)返回給用戶,然后轉(zhuǎn)入步驟(12);(10)讀取應(yīng)用訪問(wèn)請(qǐng)求指定的各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的偏移地址的分塊數(shù)據(jù),并獲取應(yīng)用訪問(wèn)請(qǐng)求指定的各個(gè)節(jié)點(diǎn)讀取分塊數(shù)據(jù)所花費(fèi)的時(shí)間,并將分塊數(shù)據(jù)返回給用戶;(11)使用步驟(10)獲取的各個(gè)節(jié)點(diǎn)的時(shí)間替換該節(jié)點(diǎn)最近M次被訪問(wèn)中第一次被訪問(wèn)的響應(yīng)時(shí)間;(12)從用戶接收下一條應(yīng)用訪問(wèn)請(qǐng)求,并判斷該應(yīng)用訪問(wèn)請(qǐng)求是否是結(jié)束命令,如果是則過(guò)程結(jié)束,否則將糾刪碼存儲(chǔ)集群中所有節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值按照從小到大的順序進(jìn)行排列,從中選取節(jié)點(diǎn)負(fù)載權(quán)重值最大的數(shù)據(jù)節(jié)點(diǎn),并返回步驟(4)。應(yīng)用訪問(wèn)請(qǐng)求包括節(jié)點(diǎn)號(hào)、偏移、大小和跨越四個(gè)元素。閾值的取值范圍是50至100毫秒。數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值是通過(guò)計(jì)算該數(shù)據(jù)節(jié)點(diǎn)最近M次被訪問(wèn)的響應(yīng)時(shí)間之和來(lái)獲得,M的取值范圍是5至10。通過(guò)本發(fā)明所構(gòu)思的以上技術(shù)方案,與現(xiàn)有技術(shù)相比,本發(fā)明具有以下的有益效果:1、在各個(gè)節(jié)點(diǎn)負(fù)載不均衡的情況下響應(yīng)時(shí)間短:由于采用了步驟(5)、步驟(6)以及步驟(7)三個(gè)步驟對(duì)負(fù)載權(quán)重值最大的節(jié)點(diǎn)進(jìn)行調(diào)度處理,減少了該情況下的響應(yīng)時(shí)間。2、提高糾刪碼存儲(chǔ)集群的可靠性:由于采用了步驟(5)、步驟(6)、步驟(7)、步驟(8)和步驟(9)對(duì)負(fù)載權(quán)重值最大的節(jié)點(diǎn)進(jìn)行調(diào)度,一定程度上平衡了各個(gè)節(jié)點(diǎn)的負(fù)載情況,降低了糾刪碼存儲(chǔ)集群中各個(gè)節(jié)點(diǎn)因頻繁的超負(fù)載而崩潰的概率,從而提高整個(gè)糾刪碼存儲(chǔ)集群的可靠性。


圖1為傳統(tǒng)數(shù)據(jù)讀示意圖。
圖2為傳統(tǒng)糾刪碼存儲(chǔ)集群數(shù)據(jù)讀流程圖。圖3為糾刪碼存儲(chǔ)集群中各節(jié)點(diǎn)的條帶與分塊數(shù)據(jù)示意圖。圖4為RS (N, K)編碼的結(jié)構(gòu)組成圖。圖5為本發(fā)明數(shù)據(jù)讀示意圖。圖6為本發(fā)明糾刪碼存儲(chǔ)中負(fù)載感知的讀優(yōu)化方法的流程圖。圖7為RS (8,5)編碼應(yīng)用訪問(wèn)請(qǐng)求分布圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。以下首先就本發(fā)明的技術(shù)術(shù)語(yǔ)進(jìn)行解釋和說(shuō)明:節(jié)點(diǎn)負(fù)載權(quán)重:在本發(fā)明中以Load_weight表示,其指示節(jié)點(diǎn)在一段時(shí)間窗口內(nèi)的負(fù)載情況,負(fù)載權(quán)重值(LoacLweight)還可以用許多狀態(tài)量如CPU利用率、存儲(chǔ)空間、I/O帶寬等表征。在本發(fā)明中,用負(fù)載權(quán)重值(Load_weight)表示節(jié)點(diǎn)在一段時(shí)間窗口內(nèi)的平均請(qǐng)求響應(yīng)時(shí)間。Load_weight值越大表示節(jié)點(diǎn)的負(fù)載越重,負(fù)載權(quán)重值(Load_weight)的取值可以是任意的正數(shù)。調(diào)度層:本發(fā)明中在客戶層和底層節(jié)點(diǎn)之間增加一調(diào)度功能模塊,充當(dāng)I/O調(diào)度層,其主要任務(wù)是維護(hù)糾刪碼存儲(chǔ)集群中各個(gè)節(jié)點(diǎn)的負(fù)載權(quán)重值(LoacLweight)。分塊數(shù)據(jù)和數(shù)據(jù)條帶以及偏移地址:節(jié)點(diǎn)的分塊數(shù)據(jù)表示節(jié)點(diǎn)中一定大小的數(shù)據(jù)塊。如圖3中所示的分塊數(shù)據(jù)Du、Dcu…、D0,^等即為數(shù)據(jù)節(jié)點(diǎn)上的分塊數(shù)據(jù),校驗(yàn)分塊P。,。、Pcu等即為校驗(yàn)節(jié)點(diǎn)上的分塊數(shù)據(jù)。偏移地址表示為相對(duì)于節(jié)點(diǎn)首地址的偏移量。如圖3中所示的0、1...η-1、η表示的離節(jié)點(diǎn)首地址偏移量為0*512字節(jié)、1*512字節(jié)…(η_1)*512字節(jié)、η*512字節(jié)的位置。所有節(jié)點(diǎn)上相同偏移地址的各個(gè)分塊數(shù)據(jù)構(gòu)成一個(gè)數(shù)據(jù)條帶。在圖3中表示為分塊數(shù)據(jù)Dci^Dcu-Dtl,,這N塊分塊數(shù)據(jù)組成一個(gè)數(shù)據(jù)條帶。如圖3所示一分塊數(shù)據(jù)的大小為512字節(jié)。本發(fā)明提供了一種糾刪碼存儲(chǔ)中負(fù)載感知的讀優(yōu)化方法,其采用RS(N, K)編碼,即水平Vandermondev Reed-Solomon編碼,如圖4所示,其中K表示存儲(chǔ)集群中數(shù)據(jù)節(jié)點(diǎn)數(shù)目,N表示存儲(chǔ)集群中節(jié)點(diǎn)的總數(shù)(具體表示為:存儲(chǔ)集群中節(jié)點(diǎn)總數(shù)為數(shù)據(jù)節(jié)點(diǎn)數(shù)目與校驗(yàn)節(jié)點(diǎn)數(shù)目之和,即校驗(yàn)節(jié)點(diǎn)數(shù)目為(Ν-Κ)),對(duì)于節(jié)點(diǎn)數(shù)N處于重構(gòu)時(shí)間考慮,節(jié)點(diǎn)數(shù)通常低于20,比如微軟Azure存儲(chǔ)中,參數(shù)K=12,(N-K)=4,這樣總節(jié)點(diǎn)數(shù)為16。如果整個(gè)整個(gè)系統(tǒng)規(guī)模很大,則對(duì)所有節(jié)點(diǎn)進(jìn)行分組,在分組內(nèi)進(jìn)行糾刪碼數(shù)據(jù)組織。每個(gè)分組是一個(gè)獨(dú)立的糾刪碼集群存儲(chǔ)系統(tǒng)。如圖5所示,本發(fā)明方法主要在傳統(tǒng)糾刪碼存儲(chǔ)集群的數(shù)據(jù)讀過(guò)程中增加一 I/O調(diào)度層(以I/o調(diào)度模塊的方式呈現(xiàn)),該I/O調(diào)度層的主要任務(wù)是維護(hù)糾刪碼集群節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值,并對(duì)應(yīng)用訪問(wèn)請(qǐng)求進(jìn)行調(diào)度。具體而言,以下的步驟(6)至(8)都是通過(guò)I/O調(diào)度模塊實(shí)現(xiàn)的。如圖6所示,本發(fā)明糾刪碼存儲(chǔ)中負(fù)載感知的讀優(yōu)化方法是應(yīng)用于糾刪碼存儲(chǔ)集群中,并包括以下步驟:
( I)初始化糾刪碼存儲(chǔ)集群中所有節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值為零;
(2)從用戶接收應(yīng)用訪問(wèn)請(qǐng)求;應(yīng)用訪問(wèn)請(qǐng)求包括節(jié)點(diǎn)號(hào)(node)、偏移(offset)、大小(size)和跨越(across)四個(gè)元素,表示為〈節(jié)點(diǎn)號(hào),偏移,大小,跨越〉,各個(gè)元素的含義如下:
節(jié)點(diǎn)號(hào):表示應(yīng)用訪問(wèn)請(qǐng)求的各個(gè)節(jié)點(diǎn)中,第一個(gè)訪問(wèn)的節(jié)點(diǎn)的編號(hào)(節(jié)點(diǎn)的編號(hào)是從I開(kāi)始標(biāo)記的,如數(shù)據(jù)節(jié)點(diǎn)I標(biāo)記為1、數(shù)據(jù)節(jié)點(diǎn)2標(biāo)記為2、數(shù)據(jù)節(jié)點(diǎn)3標(biāo)記為3,…,依次類推)。偏移:表示節(jié)點(diǎn)上的偏移地址,具體表示為在節(jié)點(diǎn)的具體位置讀取分塊數(shù)據(jù),單位是字節(jié)(Byte)。大小:表示讀取數(shù)據(jù)的大小,單位是字節(jié)??缭?表示應(yīng)用訪問(wèn)請(qǐng)求中請(qǐng)求操作的節(jié)點(diǎn)個(gè)數(shù)。舉例而言,應(yīng)用訪問(wèn)請(qǐng)求命令為〈1,20,40,3>,其表示從節(jié)點(diǎn)號(hào)為I的節(jié)點(diǎn)開(kāi)始,連續(xù)讀取節(jié)點(diǎn)號(hào)1、2、3三個(gè)節(jié)點(diǎn),從上述節(jié)點(diǎn)的偏移地址20字節(jié)開(kāi)始讀取大小為40字節(jié)的數(shù)據(jù)。(3)從糾刪碼存儲(chǔ)集群的數(shù)據(jù)節(jié)點(diǎn)中任選一個(gè)數(shù)據(jù)節(jié)點(diǎn);(4)判斷該數(shù)據(jù)節(jié)點(diǎn)是否在應(yīng)用訪問(wèn)請(qǐng)求操作對(duì)應(yīng)的節(jié)點(diǎn)號(hào)內(nèi),如果是則進(jìn)入步驟(5),否則轉(zhuǎn)入步驟(10);(5)判斷該數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值是否大于或等于預(yù)定的閾值,若是則轉(zhuǎn)入步驟(6),否則轉(zhuǎn)入步驟(10);該閾值的取值范圍是50至100毫秒,優(yōu)選為60毫秒;具體而言,數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值是通過(guò)計(jì)算該數(shù)據(jù)節(jié)點(diǎn)最近M次被訪問(wèn)的響應(yīng)時(shí)間之和來(lái)獲得,M的取值范圍是5至10 ;(6)將糾刪碼存儲(chǔ)集群中所有節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值按照從小到大的順序進(jìn)行排列;(7)讀取前K個(gè)節(jié)點(diǎn)對(duì)應(yīng)的偏移地址的分塊數(shù)據(jù),并獲取讀取該分塊數(shù)據(jù)各自所花費(fèi)的時(shí)間,并利用RS解碼算法對(duì)讀取的前K個(gè)節(jié)點(diǎn)對(duì)應(yīng)的偏移地址的分塊數(shù)據(jù)進(jìn)行解碼操作;(8)使用步驟(7)獲取的前K個(gè)節(jié)點(diǎn)中各個(gè)節(jié)點(diǎn)的時(shí)間替換該節(jié)點(diǎn)最近M次被訪問(wèn)中第一次被訪問(wèn)的響應(yīng)時(shí)間;(9)從解碼后的分塊數(shù)據(jù)中選取應(yīng)用訪問(wèn)請(qǐng)求對(duì)應(yīng)的分塊數(shù)據(jù),將該分塊數(shù)據(jù)返回給用戶,然后轉(zhuǎn)入步驟(12);( 10)讀取應(yīng)用訪問(wèn)請(qǐng)求指定的各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的偏移地址的分塊數(shù)據(jù),并獲取應(yīng)用訪問(wèn)請(qǐng)求指定的各個(gè)節(jié)點(diǎn)讀取分塊數(shù)據(jù)所花費(fèi)的時(shí)間,并將分塊數(shù)據(jù)返回給用戶;(11)使用步驟(10)獲取的各個(gè)節(jié)點(diǎn)的時(shí)間替換該節(jié)點(diǎn)最近M次被訪問(wèn)中第一次被訪問(wèn)的響應(yīng)時(shí)間;(12)從用戶接收下一條應(yīng)用訪問(wèn)請(qǐng)求,并判斷該應(yīng)用訪問(wèn)請(qǐng)求是否是結(jié)束命令,如果是則過(guò)程結(jié)束,否則將糾刪碼存儲(chǔ)集群中所有節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值按照從小到大的順序進(jìn)行排列,從中選取節(jié)點(diǎn)負(fù)載權(quán)重值最大的數(shù)據(jù)節(jié)點(diǎn),并返回步驟(4)。如圖7所示,其示出以RS (8,5)編碼為實(shí)例的應(yīng)用訪問(wèn)請(qǐng)求分布圖。對(duì)圖7的說(shuō)明如下:圖7中各個(gè)節(jié)點(diǎn)的偏移地址以512字節(jié)為基數(shù)。
圖7中虛線以上的部分表示各個(gè)節(jié)點(diǎn)數(shù)據(jù)塊的分布圖,虛線以下部分表示當(dāng)前各個(gè)節(jié)點(diǎn)的負(fù)載權(quán)重值(Load_weight)的情況,各個(gè)節(jié)點(diǎn)的負(fù)載權(quán)重值(Load_weight)通過(guò)直方圖反映。圖7中客戶發(fā)出一條〈1,4*512,1*512,3>的應(yīng)用訪問(wèn)請(qǐng)求。該應(yīng)用訪問(wèn)請(qǐng)求在兩種不同的讀過(guò)程中的操作分別如下:(I)傳統(tǒng)的糾刪碼存儲(chǔ)集群中的操作為:如圖7所示,直接從三個(gè)數(shù)據(jù)節(jié)點(diǎn){數(shù)據(jù)節(jié)點(diǎn)1、數(shù)據(jù)節(jié)點(diǎn)2、數(shù)據(jù)節(jié)點(diǎn)3}的偏移地址為4*512字節(jié)的位置,讀取大小為1*512字節(jié)的分塊數(shù)據(jù),返回給客戶(具體為取附圖7中a、b、c三個(gè)分塊數(shù)據(jù)返回給客戶)。( 2)本發(fā)明中的操作分為:第一步:根據(jù)各個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值對(duì)所有節(jié)點(diǎn)進(jìn)行升序排列,排序結(jié)果為:數(shù)據(jù)節(jié)點(diǎn)2、數(shù)據(jù)節(jié)點(diǎn)1、冗余節(jié)點(diǎn)1、數(shù)據(jù)節(jié)點(diǎn)4、數(shù)據(jù)節(jié)點(diǎn)5、冗余節(jié)點(diǎn)2、冗余節(jié)點(diǎn)3、數(shù)據(jù)節(jié)點(diǎn)4。第二步:取節(jié)點(diǎn)負(fù)載權(quán)重值(Load_weight)最大的數(shù)據(jù)節(jié)點(diǎn)2進(jìn)行判斷,判斷該節(jié)點(diǎn)是否在客戶應(yīng)用訪問(wèn)請(qǐng)求的節(jié)點(diǎn)內(nèi)(客戶請(qǐng)求訪問(wèn)的節(jié)點(diǎn)為數(shù)據(jù)節(jié)點(diǎn)1、數(shù)據(jù)節(jié)點(diǎn)2、數(shù)據(jù)節(jié)點(diǎn)3)。第三步:由于數(shù)據(jù)節(jié)點(diǎn)2的節(jié)點(diǎn)負(fù)載權(quán)重值大于閾值(本實(shí)例選取最佳閾值為60ms) (70ms>60ms),則進(jìn)行調(diào)度處理:讀取節(jié)點(diǎn)負(fù)載權(quán)重值值相對(duì)較小的數(shù)據(jù)節(jié)點(diǎn)3、數(shù)據(jù)節(jié)點(diǎn)4、數(shù)據(jù)節(jié)點(diǎn)5、冗余節(jié)點(diǎn)2、冗余節(jié)點(diǎn)3五個(gè)節(jié)點(diǎn)相應(yīng)位置的分塊數(shù)據(jù)(具體在圖7中即為讀取分塊數(shù)據(jù)c、d、e、g、h到調(diào)度層)。第四步:利用分塊數(shù)據(jù)C、d、e、g、h解碼出所有數(shù)據(jù)節(jié)點(diǎn)的分塊數(shù)據(jù){a、b、C、d、e},然后從已解碼的分塊數(shù)據(jù)中選取應(yīng)用訪問(wèn)請(qǐng)求所需的分塊數(shù)據(jù){a、b、c}返回給用戶。到此應(yīng)用訪問(wèn)請(qǐng)求執(zhí)行完畢。總而言之,本發(fā)明具有以下的有益效果:1、在各個(gè)節(jié)點(diǎn)負(fù)載不均衡的情況下響應(yīng)時(shí)間短:由于采用了步驟(5)、步驟(6)以及步驟(7)三個(gè)步驟對(duì)負(fù)載權(quán)重值最大的節(jié)點(diǎn)進(jìn)行調(diào)度處理,減少了該情況下的響應(yīng)時(shí)間。2、提高糾刪碼存儲(chǔ)集群的可靠性:由于采用了步驟(5)、步驟(6)、步驟(7)、步驟
(8)和步驟(9)對(duì)負(fù)載權(quán)重值最大的節(jié)點(diǎn)進(jìn)行調(diào)度,一定程度上平衡了各個(gè)節(jié)點(diǎn)的負(fù)載情況,降低了糾刪碼存儲(chǔ)集群中各個(gè)節(jié)點(diǎn)因頻繁的超負(fù)載而崩潰的概率,從而提高整個(gè)糾刪碼存儲(chǔ)集群的可靠性。本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種糾刪碼存儲(chǔ)中負(fù)載感知的讀優(yōu)化方法,其是應(yīng)用于糾刪碼存儲(chǔ)集群中,其特征在于,該方法包括以下步驟: (1)初始化糾刪碼存儲(chǔ)集群中所有節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值為零; (2)從用戶接收應(yīng)用訪問(wèn)請(qǐng)求; (3)從糾刪碼存儲(chǔ)集群的數(shù)據(jù)節(jié)點(diǎn)中任選一個(gè)數(shù)據(jù)節(jié)點(diǎn); (4)判斷該數(shù)據(jù)節(jié)點(diǎn)是否在應(yīng)用訪問(wèn)請(qǐng)求操作對(duì)應(yīng)的節(jié)點(diǎn)號(hào)內(nèi),如果是則進(jìn)入步驟(5),否則轉(zhuǎn)入步驟(10); (5)判斷該數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值是否大于或等于預(yù)定的閾值,若是則轉(zhuǎn)入步驟(6),否則轉(zhuǎn)入步驟(10); (6)將糾刪碼存儲(chǔ)集群中所有節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值按照從小到大的順序進(jìn)行排列; (7)讀取前K個(gè)節(jié)點(diǎn)對(duì)應(yīng)的偏移地址的分塊數(shù)據(jù),并獲取讀取該分塊數(shù)據(jù)各自所花費(fèi)的時(shí)間,并利用RS解碼算法對(duì)讀取的前K個(gè)節(jié)點(diǎn)對(duì)應(yīng)的偏移地址的分塊數(shù)據(jù)進(jìn)行解碼操作; (8 )使用步驟(7 )獲取的前K個(gè)節(jié)點(diǎn)中各個(gè)節(jié)點(diǎn)的時(shí)間替換該節(jié)點(diǎn)最近M次被訪問(wèn)中第一次被訪問(wèn)的響應(yīng)時(shí)間; (9)從解碼后的分塊數(shù)據(jù)中選取應(yīng)用訪問(wèn)請(qǐng)求對(duì)應(yīng)的分塊數(shù)據(jù),將該分塊數(shù)據(jù)返回給用戶,然后轉(zhuǎn)入步驟(12); (10)讀取應(yīng)用訪問(wèn)請(qǐng)求指定的各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的偏移地址的分塊數(shù)據(jù),并獲取應(yīng)用訪問(wèn)請(qǐng)求指定的各個(gè)節(jié)點(diǎn)讀取分塊數(shù)據(jù)所花費(fèi)的時(shí)間,并將分塊數(shù)據(jù)返回給用戶; (11)使用步驟(10)獲取的各個(gè)節(jié)點(diǎn)的時(shí)間替換該節(jié)點(diǎn)最近M次被訪問(wèn)中第一次被訪問(wèn)的響應(yīng)時(shí)間; (12)從用戶接收下一條應(yīng)用訪問(wèn)請(qǐng)求,并判斷該應(yīng)用訪問(wèn)請(qǐng)求是否是結(jié)束命令,如果是則過(guò)程結(jié)束,否則將糾刪碼存儲(chǔ)集群中所有節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值按照從小到大的順序進(jìn)行排列,從中選取節(jié)點(diǎn)負(fù)載權(quán)重值最大的數(shù)據(jù)節(jié)點(diǎn),并返回步驟(4)。
2.根據(jù)權(quán)利要求1所述的讀優(yōu)化方法,其特征在于,應(yīng)用訪問(wèn)請(qǐng)求包括節(jié)點(diǎn)號(hào)、偏移、大小和跨越四個(gè)元素。
3.根據(jù)權(quán)利要求1所述的讀優(yōu)化方法,其特征在于,閾值的取值范圍是50至100毫秒。
4.根據(jù)權(quán)利要求1所述的讀優(yōu)化方法,其特征在于,數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值是通過(guò)計(jì)算該數(shù)據(jù)節(jié)點(diǎn)最近M次被訪問(wèn)的響應(yīng)時(shí)間之和來(lái)獲得,M的取值范圍是5至10。
全文摘要
本發(fā)明公開(kāi)了一種糾刪碼存儲(chǔ)中負(fù)載感知的讀優(yōu)化方法,包括初始化糾刪碼存儲(chǔ)集群中所有節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值為零,從用戶接收應(yīng)用訪問(wèn)請(qǐng)求,從糾刪碼存儲(chǔ)集群的數(shù)據(jù)節(jié)點(diǎn)中任選一個(gè)數(shù)據(jù)節(jié)點(diǎn),判斷該數(shù)據(jù)節(jié)點(diǎn)是否在應(yīng)用訪問(wèn)請(qǐng)求操作對(duì)應(yīng)的節(jié)點(diǎn)號(hào)內(nèi),如果是則判斷該數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值是否大于或等于預(yù)定的閾值,若是則將糾刪碼存儲(chǔ)集群中所有節(jié)點(diǎn)的節(jié)點(diǎn)負(fù)載權(quán)重值按照從小到大的順序進(jìn)行排列,讀取前K個(gè)節(jié)點(diǎn)對(duì)應(yīng)的偏移地址的分塊數(shù)據(jù),并獲取讀取該分塊數(shù)據(jù)各自所花費(fèi)的時(shí)間,并利用RS解碼算法對(duì)分塊數(shù)據(jù)進(jìn)行解碼操作。本方法能夠解決傳統(tǒng)方法在各節(jié)點(diǎn)負(fù)載相差很大時(shí)存在的應(yīng)用訪問(wèn)請(qǐng)求的響應(yīng)時(shí)間長(zhǎng)、糾刪碼存儲(chǔ)集群的可靠性低的問(wèn)題。
文檔編號(hào)G06F11/14GK103176865SQ20131007728
公開(kāi)日2013年6月26日 申請(qǐng)日期2013年3月12日 優(yōu)先權(quán)日2013年3月12日
發(fā)明者黃建忠, 曹強(qiáng), 謝長(zhǎng)生, 黃思倜, 梁先海 申請(qǐng)人:華中科技大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1