專利名稱:一種均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法。
背景技術(shù):
自從2006年谷歌首次提出云計(jì)算概念以來,云計(jì)算在各方IT巨頭的推動(dòng)下快速發(fā)展。而云存儲(chǔ)作為云計(jì)算的基礎(chǔ),重要性猶如建筑基石。在數(shù)據(jù)快速膨脹的云存儲(chǔ)環(huán)境下,如何解決存儲(chǔ)系統(tǒng)在擴(kuò)展過程中同時(shí)兼顧“簡單、高效、均衡”成為研究的熱點(diǎn)。云存儲(chǔ)系統(tǒng)分為“中心式”與“無中心式”兩種,谷歌文件系統(tǒng)(GFS)為典型的“中心式”云存儲(chǔ)系統(tǒng),有專門的元數(shù)據(jù)節(jié)點(diǎn)和控制節(jié)點(diǎn),需要對這些中心節(jié)點(diǎn)進(jìn)行額外集群以保證其可靠性和可用性。無中心云存儲(chǔ)系統(tǒng),不需要中心節(jié)點(diǎn),所有存儲(chǔ)節(jié)點(diǎn)都是對等的,任何節(jié)點(diǎn)都可提供服務(wù),典型的有亞馬遜的DYNAMO。傳統(tǒng)的無中心存儲(chǔ)系統(tǒng),不管是結(jié)構(gòu)化的還是非結(jié)構(gòu)化的,都具有存儲(chǔ)不均衡的問題。這是因?yàn)榇蟛糠只谝恢滦怨K惴ǖ拇鎯?chǔ)系統(tǒng),節(jié)點(diǎn)的編號(hào)(ID)是隨機(jī)生成的,當(dāng)有限的存儲(chǔ)節(jié)點(diǎn)承載了大量數(shù)據(jù)后,隨機(jī)ID的分布的不均衡性,導(dǎo)致存儲(chǔ)的不均衡,某些節(jié)點(diǎn)負(fù)荷過大,而某些節(jié)點(diǎn)負(fù)荷過輕。另外,存儲(chǔ)系統(tǒng)是逐步擴(kuò)展的,后加入的存儲(chǔ)節(jié)點(diǎn),其容量及處理能力可能不同于之前的節(jié)點(diǎn),因此節(jié)點(diǎn)本身容量與處理能力的差異也導(dǎo)致了存儲(chǔ)網(wǎng)絡(luò)的不均衡。理想的網(wǎng)絡(luò)模型應(yīng)該是“能者多勞”,即節(jié)點(diǎn)應(yīng)該按其本身處理能力承擔(dān)相應(yīng)的負(fù)載。
發(fā)明內(nèi)容
本發(fā)明目的在于提供一種均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法,以克服現(xiàn)有技術(shù)存在的存儲(chǔ)不均衡的技術(shù)問題。具體步驟如下一種均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法,其特征在于所述方法包括以下步驟I)對基于節(jié)點(diǎn)容量的ID空間進(jìn)行分區(qū);2)采用路由算法對基于ID空間的分區(qū)方法,每個(gè)節(jié)點(diǎn)Ni都負(fù)責(zé)相應(yīng)的分區(qū)(Di+ Di],即任何IDMp1,并且ID〈=Di;都由節(jié)點(diǎn)Ni負(fù)責(zé)存儲(chǔ),且路由查找只有一跳;3)采用冗余復(fù)制法實(shí)現(xiàn)對數(shù)據(jù)冗余的復(fù)制,并且定義冗余度為R ;4)通過節(jié)點(diǎn)擴(kuò)展法對當(dāng)云存儲(chǔ)網(wǎng)絡(luò)的存儲(chǔ)容量達(dá)到一定閾值時(shí),需要逐步加入新的節(jié)點(diǎn)以擴(kuò)展容量與計(jì)算能力,實(shí)現(xiàn)對節(jié)點(diǎn)的加入;5)通過重新平衡法對暫時(shí)打破原有平衡的新加入的節(jié)點(diǎn)進(jìn)行平衡處理,以達(dá)到數(shù)據(jù)平衡。優(yōu)選地,上述步驟I中ID空間是由所有可能的ID所構(gòu)成的一個(gè)范圍,采用SHA-I算法得出的摘要ID是一個(gè)160比特位的大數(shù),它構(gòu)成了一個(gè)從O到216°-1的空間。優(yōu)選地,上述空間分區(qū)是將ID空間進(jìn)行分割。
優(yōu)選地,上述步驟2中的路由算法包括以下步驟I)每個(gè)節(jié)點(diǎn)都根據(jù)ID空間分區(qū)原則生成路由表,路由表記錄著節(jié)點(diǎn)編號(hào)與其所負(fù)責(zé)范圍的關(guān)系;
2)任何節(jié)點(diǎn)Ni接受數(shù)據(jù)存取請求;3)節(jié)點(diǎn)Ni根據(jù)要存取的ID,查找路由表,得到所負(fù)責(zé)存取的節(jié)點(diǎn)編號(hào);4)轉(zhuǎn)發(fā)存取請求到相應(yīng)節(jié)點(diǎn);5)節(jié)點(diǎn)Ni等待返回的操作結(jié)果。優(yōu)選地,上述步驟3中的冗余復(fù)制法包括以下步驟I)接受數(shù)據(jù)寫入請求的節(jié)點(diǎn)Ni,根據(jù)路由表,算出所負(fù)責(zé)存儲(chǔ)的節(jié)點(diǎn)編號(hào)為η ;2)通過向相鄰的節(jié)點(diǎn)寫入數(shù)據(jù)副本為原則,算出冗余組成員;3)得到冗余組成員(η, η+1, η+2,. . . , η+R-l),如果R = 3,則冗余組成員為(η, η+1, η+2);如果節(jié)點(diǎn)編號(hào)超出總節(jié)點(diǎn)數(shù),則采用模運(yùn)算方法去整;即節(jié)點(diǎn)編號(hào)=節(jié)點(diǎn)編號(hào)MOD總節(jié)點(diǎn)數(shù);4)按照路由算法,同時(shí)發(fā)送并發(fā)寫入請求給冗余組成員;5)節(jié)點(diǎn)Ni等待冗余組成員的操作結(jié)果。優(yōu)選地,上述節(jié)點(diǎn)擴(kuò)展法包括以下步驟I)管理員選定要加入網(wǎng)絡(luò)的節(jié)點(diǎn),并為其編號(hào)(按從O開始編號(hào)原則)。假定已有節(jié)點(diǎn)數(shù)量k,則為新加入的節(jié)點(diǎn)編號(hào)為k,記為Nk,總網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量達(dá)到k+Ι ;2)管理員通知所有正在運(yùn)行中的節(jié)點(diǎn),有新的節(jié)點(diǎn)Nk要加入;3)所有已運(yùn)行的節(jié)點(diǎn),根據(jù)所加入的節(jié)點(diǎn)Nk的容量Ck,對ID空間進(jìn)行重新分區(qū),并更新本地的路由表;4)節(jié)點(diǎn)加入完成。優(yōu)選地,上述重新平衡法包括以下步驟I)所有節(jié)點(diǎn)開始掃描本地已存儲(chǔ)的數(shù)據(jù);2)讀取下一個(gè)數(shù)據(jù)塊;3)對于每個(gè)數(shù)據(jù)塊ID,根據(jù)路由方法計(jì)算其冗余組(n,η+1, . . .,n+R_l),其中R為冗余度;4)如果當(dāng)前節(jié)點(diǎn)屬于此冗余組,則返回步驟2 ;5)如果當(dāng)前節(jié)點(diǎn)不屬于此冗余組,則按下列公司計(jì)算出其目的地=η+(本節(jié)點(diǎn)編號(hào) MOD R);6)把當(dāng)前數(shù)據(jù)塊移動(dòng)到目地的;7)如果還有數(shù)據(jù)塊,返回步驟2。實(shí)施本發(fā)明具有以下優(yōu)點(diǎn)I、該發(fā)明提出了一種適用于無中心分布式云存儲(chǔ)系統(tǒng),基于節(jié)點(diǎn)空間的ID分區(qū)方法,可以混合使用不同容量的節(jié)點(diǎn),使得每個(gè)節(jié)點(diǎn)按相應(yīng)的容量參與存儲(chǔ),具有良好的均衡性。2、本發(fā)明還提出了完整節(jié)點(diǎn)擴(kuò)展方法,在系統(tǒng)具有冗余度的情況下也能輕松擴(kuò)展。3、節(jié)點(diǎn)重新平衡方法采用基于節(jié)點(diǎn)位置差異信息,快速并發(fā)的把相應(yīng)數(shù)據(jù)副本直接移動(dòng)到不同的目的地,在節(jié)點(diǎn)重新平衡的時(shí)候也最小化了數(shù)據(jù)量的移動(dòng)。4、無中心,存儲(chǔ)系統(tǒng)不需要特定的控制節(jié)點(diǎn),每個(gè)結(jié)點(diǎn)都可以服務(wù);5、結(jié)構(gòu)化,對數(shù)據(jù)塊查找,通過ID即可以在一步內(nèi)快速定位;6、高可靠性,數(shù)據(jù)塊在獨(dú)立節(jié)點(diǎn)上冗余復(fù)制,避免單點(diǎn)故障帶來數(shù)據(jù)損壞;7、均衡性,基于節(jié)點(diǎn)容量的良好的負(fù)載均衡算法;8、易擴(kuò)展性輕松加入節(jié)點(diǎn)以擴(kuò)展容量,并能快速重新平衡。
圖I為本發(fā)明中基于節(jié)點(diǎn)容量的ID空間分區(qū)圖;圖2為本發(fā)明中節(jié)點(diǎn)編號(hào)與其所負(fù)責(zé)范圍的關(guān)系圖;圖3為本發(fā)明中數(shù)據(jù)冗余復(fù)制中的關(guān)系圖;圖4為本發(fā)明中重新平衡法中的關(guān)系圖。
具體實(shí)施例方式為了達(dá)到上述目的,本發(fā)明提供的一種均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法包括以下步驟首先對基于節(jié)點(diǎn)容量的ID空間進(jìn)行分區(qū);其次采用路由算法對基于ID空間的分區(qū)方法,每個(gè)節(jié)點(diǎn)Ni都負(fù)責(zé)相應(yīng)的分區(qū)(Di+ Di],即任何IDMp1,并且ID〈=Di;都由節(jié)點(diǎn)Ni負(fù)責(zé)存儲(chǔ),且路由查找只有一跳;然后采用冗余復(fù)制法實(shí)現(xiàn)對數(shù)據(jù)冗余的復(fù)制,并且定義冗余度為R ;再通過節(jié)點(diǎn)擴(kuò)展法對當(dāng)云存儲(chǔ)網(wǎng)絡(luò)的存儲(chǔ)容量達(dá)到一定閾值時(shí),需要逐步加入新的節(jié)點(diǎn)以擴(kuò)展容量與計(jì)算能力,實(shí)現(xiàn)對節(jié)點(diǎn)的加入;最后通過重新平衡法對暫時(shí)打破原有平衡的新加入的節(jié)點(diǎn)進(jìn)行平衡處理,以達(dá)到數(shù)據(jù)平衡。在基于節(jié)點(diǎn)容量的ID空間分區(qū)中,ID空間是指由所有可能的ID所構(gòu)成的一個(gè)范圍,采用SHA-I算法得出的摘要ID是一個(gè)160比特位的大數(shù),它構(gòu)成了一個(gè)從O到216°_1的空間。SHA-I算法具有良好的均衡性,即使截取ID的前16位也同樣具有良好的均衡性。本發(fā)明只采用了 ID的前16位用于路由計(jì)算,16位的數(shù)字表示了 O到65535的一個(gè)空間,最大的節(jié)點(diǎn)ID65535記為M,本存儲(chǔ)系統(tǒng)節(jié)點(diǎn)數(shù)最多可以達(dá)到M+l=65536臺(tái)??臻g分區(qū)是指按一定的方法,把空間進(jìn)行分割。例如現(xiàn)在我們有N臺(tái)存儲(chǔ)節(jié)點(diǎn),空間被平均的分成了 N等份,每個(gè)節(jié)點(diǎn)存儲(chǔ)總空間的1/N份數(shù)據(jù)。如果把節(jié)點(diǎn)進(jìn)行編號(hào),從O開始到N-1,那么對于任何一個(gè)小于N的ID,都可以一一對應(yīng)的找到存儲(chǔ)節(jié)點(diǎn),即ID為i的數(shù)據(jù)存儲(chǔ)于節(jié)點(diǎn)編號(hào)同樣為i的節(jié)點(diǎn)上。由于云存儲(chǔ)系統(tǒng)是按需逐步擴(kuò)展的,一開始不可能有眾多的節(jié)點(diǎn)與數(shù)據(jù)ID —一對應(yīng),加上參與存儲(chǔ)的節(jié)點(diǎn)容量有可能大小不一,采用均分空間的方法會(huì)導(dǎo)致負(fù)載的不均衡。因此,我們引入了基于節(jié)點(diǎn)容量的ID空間分區(qū),具體參見圖I所示,假定我們現(xiàn)在有k臺(tái)存儲(chǔ)節(jié)點(diǎn),Ni表示編號(hào)為i的節(jié)點(diǎn),i的范圍為從O到k-1 A表示Ni節(jié)點(diǎn)的容量A表示節(jié)點(diǎn)Ni占全存儲(chǔ)網(wǎng)絡(luò)容量的比例,計(jì)算公式Pi=Ci/(CdCAC2+. . . Ci+. . . (V1);這樣,ID空間就被按比例分成了 k個(gè)部分,把節(jié)點(diǎn)按順序排列于ID空間上,每個(gè)節(jié)點(diǎn)就位于一個(gè)單獨(dú)的邊界。Di表示節(jié)點(diǎn)Ni位于ID空間上的距離,則有M=65535 ; D0=P0^M;Dlrl=M ;ID 空間被分隔成(O, D0],(D0, D1],(D1, D2],... (Dk_2,Dk_J 總共 k 個(gè)分區(qū)。其中路由算法是基于以上ID空間的分區(qū)方法,每個(gè)節(jié)點(diǎn)Ni都負(fù)責(zé)相應(yīng)的分區(qū)(0卜1,0山即任何10沖_1,并且10〈=01,都由節(jié)點(diǎn)隊(duì)負(fù)責(zé)存儲(chǔ)。路由查找只有一跳。具體步驟如下步驟1,每個(gè)節(jié)點(diǎn)都根據(jù)ID空間分區(qū)原則生成路由表,路由表記錄著節(jié)點(diǎn)編號(hào)與其所負(fù)責(zé)范圍的關(guān)系,參見圖2所示。步驟2,任何節(jié)點(diǎn)Ni接受數(shù)據(jù)存取請求;步驟3,節(jié)點(diǎn)Ni根據(jù)要存取的ID,查找路由表,得到所負(fù)責(zé)存取的節(jié)點(diǎn)編號(hào);
步驟4,轉(zhuǎn)發(fā)存取請求到相應(yīng)節(jié)點(diǎn);步驟5,節(jié)點(diǎn)Ni等待返回的操作結(jié)果。其中冗余復(fù)制中,定義冗余度為R (通常R= 3),數(shù)據(jù)冗余復(fù)制的包括以下步驟具參見圖3所示,步驟1,接受數(shù)據(jù)寫入請求的節(jié)點(diǎn)Ni,根據(jù)路由表,算出所負(fù)責(zé)存儲(chǔ)的節(jié)點(diǎn)編號(hào)為η ;步驟2,通過向相鄰的節(jié)點(diǎn)寫入數(shù)據(jù)副本為原則,算出冗余組成員步驟3,得到冗余組成員(η, η+1, η+2, · · ·,η+R-l),如何R = 3,則冗余組成員為(η, η+1, η+2) 0如果節(jié)點(diǎn)編號(hào)超出總節(jié)點(diǎn)數(shù),則采用模運(yùn)算方法去整。即節(jié)點(diǎn)編號(hào)=節(jié)點(diǎn)編號(hào)MOD總節(jié)點(diǎn)數(shù);步驟4,按照路由算法,同時(shí)發(fā)送并發(fā)寫入請求給冗余組成員;步驟5,節(jié)點(diǎn)Ni等待冗余組成員的操作結(jié)果。其中節(jié)點(diǎn)擴(kuò)展法中,當(dāng)云存儲(chǔ)網(wǎng)絡(luò)的存儲(chǔ)容量達(dá)到一定閾值時(shí),需要逐步加入新的節(jié)點(diǎn)以擴(kuò)展容量與計(jì)算能力,節(jié)點(diǎn)的擴(kuò)展步驟包括以為首先通過管理員選定要加入網(wǎng)絡(luò)的節(jié)點(diǎn),并為其編號(hào)(按從O開始編號(hào)原則)。假定已有節(jié)點(diǎn)數(shù)量k,則為新加入的節(jié)點(diǎn)編號(hào)為k,記為Nk,總網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量達(dá)到k+Ι ;其次管理員通知所有正在運(yùn)行中的節(jié)點(diǎn),有新的節(jié)點(diǎn)Nk要加入;然后對所有已運(yùn)行的節(jié)點(diǎn),根據(jù)所加入的節(jié)點(diǎn)Nk的容量Ck,對ID空間進(jìn)行重新分區(qū),并更新本地的路由表;最后節(jié)點(diǎn)加入完成。參見圖4所示,在重新平衡法中,當(dāng)有新節(jié)點(diǎn)加入存儲(chǔ)網(wǎng)絡(luò)時(shí),新加入的節(jié)點(diǎn)暫時(shí)打破了原有的平衡。新的節(jié)點(diǎn)Nk加入時(shí),它的容量為Ck,整個(gè)網(wǎng)絡(luò)需要把比例為Pk的數(shù)據(jù)移動(dòng)到新節(jié)點(diǎn)Nk上。Pk的計(jì)算公式為4=0/((^+(^+ +. . . +Ck)。該重新平衡法包括以下步驟步驟1,所有節(jié)點(diǎn)開始掃描本地已存儲(chǔ)的數(shù)據(jù);步驟2,讀取下一個(gè)數(shù)據(jù)塊;步驟3,對于每個(gè)數(shù)據(jù)塊ID,根據(jù)路由方法計(jì)算其冗余組(n,η+1, . . .,n+R_l),其中R為冗余度;步驟4,如果當(dāng)前節(jié)點(diǎn)屬于此冗余組,則返回步驟2 ;步驟5,如果當(dāng)前節(jié)點(diǎn)不屬于此冗余組,則按下列公式計(jì)算出其目的地,公式為目的地=η+ (本節(jié)點(diǎn)編號(hào)MOD R);步驟6,把當(dāng)前數(shù)據(jù)塊移動(dòng)到目地的;步驟7,如果還有數(shù)據(jù)塊,返回步驟2。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法,其特征在于所述方法包括以下步驟 1)對基于節(jié)點(diǎn)容量的ID空間進(jìn)行分區(qū); 2)采用路由算法對基于ID空間的分區(qū)方法,每個(gè)節(jié)點(diǎn)Ni都負(fù)責(zé)相應(yīng)的分區(qū)(DmDi],即任何IDMp1,并且ID〈=Di,都由節(jié)點(diǎn)Ni負(fù)責(zé)存儲(chǔ),且路由查找只有一跳; 3)采用冗余復(fù)制法實(shí)現(xiàn)對數(shù)據(jù)冗余的復(fù)制,并且定義冗余度為R; 4)通過節(jié)點(diǎn)擴(kuò)展法對當(dāng)云存儲(chǔ)網(wǎng)絡(luò)的存儲(chǔ)容量達(dá)到一定閾值時(shí),需要逐步加入新的節(jié)點(diǎn)以擴(kuò)展容量與計(jì)算能力,實(shí)現(xiàn)對節(jié)點(diǎn)的加入; 5)通過重新平衡法對暫時(shí)打破原有平衡的新加入的節(jié)點(diǎn)進(jìn)行平衡處理,以達(dá)到數(shù)據(jù)平衡。
2.根據(jù)權(quán)利要求I所述的均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法,其特征在于所述步驟I中ID空間是由所有可能的ID所構(gòu)成的一個(gè)范圍,采用SHA-I算法得出的摘要ID是一個(gè)160比特位的大數(shù),它構(gòu)成了一個(gè)從O到216°-1的空間。
3.根據(jù)權(quán)利要求2所述的均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法,其特征在于所述空間分區(qū)是將ID空間進(jìn)行分割。
4.根據(jù)權(quán)利要求3所述的均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法,其特征在于所述步驟2中的路由算法包括以下步驟 O每個(gè)節(jié)點(diǎn)都根據(jù)ID空間分區(qū)原則生成路由表,路由表記錄著節(jié)點(diǎn)編號(hào)與其所負(fù)責(zé)范圍的關(guān)系; 2)任何節(jié)點(diǎn)Ni接受數(shù)據(jù)存取請求; 3)節(jié)點(diǎn)Ni根據(jù)要存取的ID,查找路由表,得到所負(fù)責(zé)存取的節(jié)點(diǎn)編號(hào); 4)轉(zhuǎn)發(fā)存取請求到相應(yīng)節(jié)點(diǎn); 5)節(jié)點(diǎn)Ni等待返回的操作結(jié)果。
5.根據(jù)權(quán)利要求4所述的均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法,其特征在于所述步驟3中的冗余復(fù)制法包括以下步驟 1)接受數(shù)據(jù)寫入請求的節(jié)點(diǎn)Ni,根據(jù)路由表,算出所負(fù)責(zé)存儲(chǔ)的節(jié)點(diǎn)編號(hào)為η; 2)通過向相鄰的節(jié)點(diǎn)寫入數(shù)據(jù)副本為原則,算出冗余組成員; 3)得到冗余組成員(η,η+1, η+2,. . . , η+R-l),如果R = 3,則冗余組成員為(n,n+l,n+2);如果節(jié)點(diǎn)編號(hào)超出總節(jié)點(diǎn)數(shù),則采用模運(yùn)算方法去整;即節(jié)點(diǎn)編號(hào)=節(jié)點(diǎn)編號(hào)MOD總節(jié)點(diǎn)數(shù); 4)按照路由算法,同時(shí)發(fā)送并發(fā)寫入請求給冗余組成員; 5)節(jié)點(diǎn)Ni等待冗余組成員的操作結(jié)果。
6.根據(jù)權(quán)利要求5所述的均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法,其特征在于所述節(jié)點(diǎn)擴(kuò)展法包括以下步驟 1)管理員選定要加入網(wǎng)絡(luò)的節(jié)點(diǎn),并為其編號(hào)(按從O開始編號(hào)原則)。假定已有節(jié)點(diǎn)數(shù)量k,則為新加入的節(jié)點(diǎn)編號(hào)為k,記為Nk,總網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量達(dá)到k+Ι ; 2)管理員通知所有正在運(yùn)行中的節(jié)點(diǎn),有新的節(jié)點(diǎn)Nk要加入; 3)所有已運(yùn)行的節(jié)點(diǎn),根據(jù)所加入的節(jié)點(diǎn)Nk的容量Ck,對ID空間進(jìn)行重新分區(qū),并更新本地的路由表; 4)節(jié)點(diǎn)加入完成。
7.根據(jù)權(quán)利要求6所述的均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法,其特征在于所述重新平衡法包括以下步驟 1)所有節(jié)點(diǎn)開始掃描本地已存儲(chǔ)的數(shù)據(jù); 2)讀取下一個(gè)數(shù)據(jù)塊;3)對于每個(gè)數(shù)據(jù)塊ID,根據(jù)路由方法計(jì)算其冗余組(n,n+1,.. .,n+R-1),其中R為冗余度; 4)如果當(dāng)前節(jié)點(diǎn)屬于此冗余組,則返回步驟2; 5)如果當(dāng)前節(jié)點(diǎn)不屬于此冗余組,則按下列公司計(jì)算出其目的地=η+(本節(jié)點(diǎn)編號(hào)MOD R); 6)把當(dāng)前數(shù)據(jù)塊移動(dòng)到目地的; 7)如果還有數(shù)據(jù)塊,返回步驟2。
全文摘要
本發(fā)明提供的一種均衡且易于擴(kuò)展的無中心云存儲(chǔ)方法,該方法首先對基于節(jié)點(diǎn)容量的ID空間進(jìn)行分區(qū);其次采用路由算法對基于ID空間的分區(qū)方法,每個(gè)節(jié)點(diǎn)Ni都負(fù)責(zé)相應(yīng)的分區(qū)(Di-1,Di],即任何ID>Di-1,并且ID<=Di,都由節(jié)點(diǎn)Ni負(fù)責(zé)存儲(chǔ),且路由查找只有一跳;然后采用冗余復(fù)制法實(shí)現(xiàn)對數(shù)據(jù)冗余的復(fù)制,并且定義冗余度為R;再通過節(jié)點(diǎn)擴(kuò)展法對當(dāng)云存儲(chǔ)網(wǎng)絡(luò)的存儲(chǔ)容量達(dá)到一定閾值時(shí),需要逐步加入新的節(jié)點(diǎn)以擴(kuò)展容量與計(jì)算能力,實(shí)現(xiàn)對節(jié)點(diǎn)的加入;最后通過重新平衡法對暫時(shí)打破原有平衡的新加入的節(jié)點(diǎn)進(jìn)行平衡處理,以達(dá)到數(shù)據(jù)平衡。本發(fā)明解決了現(xiàn)有技術(shù)存在的存儲(chǔ)不均衡的技術(shù)問題。具有良好的均衡性等優(yōu)點(diǎn)。
文檔編號(hào)H04L29/08GK102917073SQ20121042957
公開日2013年2月6日 申請日期2012年10月31日 優(yōu)先權(quán)日2012年10月31日
發(fā)明者唐新智, 魏孫鼎 申請人:廣州市宏績信通信設(shè)備有限公司