摘 要: 鑒于云計(jì)算存在龐大的節(jié)點(diǎn)規(guī)模和數(shù)據(jù)規(guī)模,云計(jì)算系統(tǒng)在可擴(kuò)展性、高可用性等方面面臨著諸多問題。針對(duì)云計(jì)算環(huán)境下的分布數(shù)據(jù)存儲(chǔ),構(gòu)建了一種基于遞歸的正[N]邊形網(wǎng)絡(luò)模型,在數(shù)據(jù)中心網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上給出了數(shù)據(jù)管理模型,并設(shè)計(jì)了以提高數(shù)據(jù)可用性、負(fù)載平衡為目的的副本分布策略和副本選擇策略。在保證數(shù)據(jù)可用性的前提下,提出一種基于覆蓋集的數(shù)據(jù)遷移算法,利用節(jié)點(diǎn)選擇策略盡量減少遷移成本,進(jìn)行數(shù)據(jù)遷移讓更多的機(jī)器休眠,降低能耗。通過對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行比較分析,驗(yàn)證了提出的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、數(shù)據(jù)管理模型、數(shù)據(jù)遷移技術(shù)的正確性和有效性。
關(guān)鍵詞: 云計(jì)算; 數(shù)據(jù)中心網(wǎng)絡(luò)結(jié)構(gòu); 數(shù)據(jù)遷移; 軟件節(jié)能
中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)03?0063?05
Research on key technologies of distributed data storage in cloud computing environment
XIANG Chunzhi, FAN Ying
(School of Technology, Henan Radio Television University, Zhengzhou 450008, China)
Abstract: The cloud computing system is faced with many problems in the aspects of scalability and high availability due to the enormous node scale and data scale of cloud computing. For the distributed data storage in cloud computing environment, an regular N?equilateral polygon (RNEP) network model based on recursion was constructed. The data management model is given on the basis of data center network structure. The transcript distribution strategy and selection strategy were designed to improve the data availability and load balancing ability. A data migration algorithm based on covering set is proposed on the premise of ensuring the data availability, in which the node selection strategy is used to minimize the migration cost and conduct data migration to rest more machines and reduce energy consumption. The experimental data is compared and analyzed, which proves that the proposed network topology, data management model and data migration technology are valid and effective.
Keywords: cloud computing; data center network structure; data migration; software energy saving
0 引 言
云計(jì)算中的資源包括網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)和應(yīng)用等,通過這些資源向用戶提供普適的、方便的、按需的網(wǎng)絡(luò)訪問,這些資源可以快速進(jìn)行使用和釋放,不需要很大的管理代價(jià)。隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,導(dǎo)致應(yīng)用中的數(shù)據(jù)呈爆發(fā)式的增長(zhǎng),海量數(shù)據(jù)存儲(chǔ)技術(shù)得到了前所未有的迅速發(fā)展。云計(jì)算服務(wù)的底層基礎(chǔ)是大規(guī)模的數(shù)據(jù)中心,成千上萬的服務(wù)器互聯(lián)、組織方式,直接影響到云計(jì)算服務(wù)的高效性和穩(wěn)定性。合理的網(wǎng)絡(luò)結(jié)構(gòu)是云計(jì)算數(shù)據(jù)中心高可擴(kuò)展性和資源高利用率的重要保證。但是,隨著數(shù)據(jù)存儲(chǔ)與傳輸需求的高速增長(zhǎng),目前采用的網(wǎng)絡(luò)結(jié)構(gòu)在可擴(kuò)展性、容錯(cuò)性、高性能傳輸以及跨區(qū)域調(diào)度等方面面臨著諸多問題。
在云計(jì)算環(huán)境下,底層數(shù)據(jù)中心規(guī)模非常龐大,導(dǎo)致存儲(chǔ)成本很高,這里的存儲(chǔ)成本不僅包括各種基礎(chǔ)設(shè)施成本,還包括基礎(chǔ)設(shè)施在運(yùn)行過程中的能量消耗。根據(jù)調(diào)查機(jī)構(gòu)的研究顯示,企業(yè)存儲(chǔ)設(shè)備的利用率不足50%,設(shè)備利用率普遍比較低。解決成本與云計(jì)算系統(tǒng)中不斷增長(zhǎng)的數(shù)據(jù)存儲(chǔ)以及計(jì)算的沖突成為了研究熱點(diǎn)?;趶某杀?、保護(hù)環(huán)境的角度考慮,降低能耗都具有很大的現(xiàn)實(shí)意義和應(yīng)用前景。
針對(duì)云計(jì)算環(huán)境下分布數(shù)據(jù)存儲(chǔ)在可擴(kuò)展性、可用性和綠色節(jié)能等方面的問題,研究解決分布數(shù)據(jù)存儲(chǔ)的關(guān)鍵技術(shù)包括數(shù)據(jù)中心網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)管理模型的設(shè)計(jì)以及節(jié)能技術(shù)等。數(shù)據(jù)中心網(wǎng)絡(luò)結(jié)構(gòu)是云計(jì)算的基礎(chǔ),它確保了云計(jì)算數(shù)據(jù)中心的擴(kuò)展性和資源利用率。首先研究設(shè)計(jì)合理的網(wǎng)絡(luò)拓?fù)?,從高可擴(kuò)展性、經(jīng)濟(jì)性、高效性多個(gè)角度保證了云計(jì)算的服務(wù)質(zhì)量。在此基礎(chǔ)上,從數(shù)據(jù)的高可用性方面研究數(shù)據(jù)管理技術(shù)。從綠色節(jié)能角度出發(fā),圍繞數(shù)據(jù)遷移技術(shù)展開研究,最終設(shè)計(jì)出擁有良好的可擴(kuò)展性、容錯(cuò)性和低成本的云計(jì)算環(huán)境下海量數(shù)據(jù)存儲(chǔ)方案。
1 [N]邊形數(shù)據(jù)中心網(wǎng)絡(luò)結(jié)構(gòu)
樹型結(jié)構(gòu)以交換機(jī)為中心,可以很方便地通過增加機(jī)架和相應(yīng)的交換機(jī)進(jìn)行擴(kuò)展,但也存在許多問題。為了解決樹型結(jié)構(gòu)聚合層帶寬瓶頸和單點(diǎn)失效問題,研究者提出了幾種改進(jìn)的樹型結(jié)構(gòu),包括Fat?Tree以及路由方法等,其中胖樹結(jié)構(gòu)采用這種全連接的方式使樹的上層獲得了較高的帶寬,解決了樹型結(jié)構(gòu)上層的帶寬瓶頸問題,但是核心交換機(jī)端口數(shù)量限制了Fat?Tree的擴(kuò)展性。
1.1 RNEP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
1.1.1 設(shè)計(jì)思路
為了能夠消除最高處交換機(jī)的帶寬限制問題,本文參照DCell混合結(jié)構(gòu)與BCube面向集裝箱式的、模塊化的2種數(shù)據(jù)中心網(wǎng)絡(luò)結(jié)構(gòu),以低級(jí)網(wǎng)絡(luò)遞歸構(gòu)建復(fù)雜的高級(jí)網(wǎng)絡(luò),同時(shí)保證網(wǎng)間全連接以及路由機(jī)制的分類處理。
遞歸構(gòu)建的最基本單位是全連接圖,對(duì)于它的設(shè)計(jì),參照簡(jiǎn)單的正[n]邊形圖形,以可改變參數(shù)[n]來保證數(shù)據(jù)網(wǎng)絡(luò)構(gòu)建的靈活性,滿足不同規(guī)模數(shù)據(jù)中心的建設(shè)需求,提出基于遞歸的正[N]邊形網(wǎng)絡(luò)結(jié)構(gòu)RNEP,該網(wǎng)絡(luò)結(jié)構(gòu)參照了P2P模型、改進(jìn)樹型結(jié)構(gòu)的思路以及遞歸的思想,通過引入可變參數(shù)、采用遞歸構(gòu)建、設(shè)計(jì)分類路由,來滿足云計(jì)算數(shù)據(jù)中心網(wǎng)絡(luò)結(jié)構(gòu)對(duì)高帶寬、擴(kuò)展性、容錯(cuò)性、靈活性以及綠色節(jié)能等多方面的需求。
1.1.2 網(wǎng)絡(luò)結(jié)構(gòu)的定義與構(gòu)建方法
本文提出的網(wǎng)絡(luò)結(jié)構(gòu)也采用遞歸構(gòu)建。對(duì)于遞歸的正[n]邊形網(wǎng)絡(luò)結(jié)構(gòu)來說,第0級(jí)網(wǎng)絡(luò)結(jié)構(gòu)全部由服務(wù)器構(gòu)成,此層級(jí)網(wǎng)絡(luò)只存在網(wǎng)絡(luò)內(nèi)部傳輸,不存在與其他同等層級(jí)網(wǎng)絡(luò)的傳輸交互。為了兼顧簡(jiǎn)單且充分表現(xiàn)遞歸結(jié)構(gòu),此處以[n=3]為例進(jìn)行擴(kuò)展:在第0級(jí)網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上增加一個(gè)交換機(jī),并和所有節(jié)點(diǎn)連接,得到Network0′。以此時(shí)的 Network0′作為Network1的虛擬節(jié)點(diǎn),全連接3個(gè)Network0′網(wǎng)絡(luò)的交換機(jī),得到Network1。繼續(xù)擴(kuò)展時(shí),為Network1增加交換機(jī),實(shí)現(xiàn)當(dāng)前節(jié)點(diǎn)與交換機(jī)全連接,得到Network1′作為遞歸單位,由3個(gè)Network1′得到Network2。
類似地,對(duì)于任意[n]邊形[k]級(jí)網(wǎng)絡(luò)的擴(kuò)展,都是先對(duì)當(dāng)前層級(jí)的網(wǎng)絡(luò)增加一個(gè)交換機(jī),并和[k]級(jí)網(wǎng)絡(luò)的[n]個(gè)節(jié)點(diǎn)分別連接,然后作為遞歸單位,和其他[n-1]個(gè)[k]級(jí)網(wǎng)絡(luò)全連接構(gòu)成[n]邊形[k+1]級(jí)網(wǎng)絡(luò)結(jié)構(gòu)。這樣的構(gòu)建,是不斷通過添加固定的結(jié)構(gòu)進(jìn)行擴(kuò)展,整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)嚴(yán)格進(jìn)行模塊化連接,使得網(wǎng)絡(luò)擴(kuò)展簡(jiǎn)易可行。同時(shí),[n-1]級(jí)內(nèi)部結(jié)構(gòu)是否完全,并不影響第[n]級(jí)結(jié)構(gòu)的構(gòu)造;在第[n]級(jí)構(gòu)建完成后,對(duì)于任意低層級(jí)內(nèi)部結(jié)構(gòu)的修正,不會(huì)影響上層結(jié)構(gòu)。不同層級(jí)之間保證了獨(dú)立性。
1.2 路由策略
在路由策略中,定義源節(jié)點(diǎn)src(i0,i1,i2,…,ik-1,ik),目的節(jié)點(diǎn)dst(j0,j1,j2,…,jk),以及由src發(fā)送的數(shù)據(jù)包。同時(shí)定義源節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包中,包含源節(jié)點(diǎn)與目的節(jié)點(diǎn)的標(biāo)識(shí)信息以及數(shù)據(jù)包ID,任意一個(gè)數(shù)據(jù)包通過自身ID與源節(jié)點(diǎn)的標(biāo)識(shí),可以得到惟一標(biāo)記。當(dāng)目標(biāo)節(jié)點(diǎn)接收到數(shù)據(jù)包后,也可以根據(jù)包中攜帶的源節(jié)點(diǎn)標(biāo)識(shí)信息獲得請(qǐng)求節(jié)點(diǎn)的信息,路由算法的流程如圖1所示。
路由策略算法如下所示,[k]層級(jí)的RNEP結(jié)構(gòu)的路由策略,根據(jù)此算法可以分析得到傳輸路徑長(zhǎng)度。
NetworkRouting(n,k,*srcAdd,*dstAdd)
{
//確定需要上傳的最高層級(jí)
for(intCurrentLevel=k;CurrentLevel>=0;CurrentLevel??)
if(srcAddCurrentLevel!=dstAddCurrentLevel)
break;
//從src將數(shù)據(jù)包傳至最高層級(jí)的交換機(jī)(SWCurrentLevel)
UpPath(src,SW0);
for(inttemp=0;temp UpPath(SWtemp,SWtemp+1); //通過currentlevel的交換機(jī)在該層級(jí)下實(shí)現(xiàn)子網(wǎng)跨越,進(jìn)入 dst所在子網(wǎng),由于一個(gè)高層級(jí)交換機(jī)會(huì)與數(shù)個(gè)低層級(jí)交換機(jī) 互聯(lián),所以在向下傳遞DownPath函數(shù)中需要引入相對(duì)位置參數(shù) for(temp=CurrentLevel;temp>0;temp??) DownPath(SWtemp?1,dstAddtemp); //數(shù)據(jù)包到達(dá)dst所在基本域中 Path(SW0,dst); } 1.3 RNEP網(wǎng)絡(luò)結(jié)構(gòu)分析 由于采用了遞歸構(gòu)建,和傳統(tǒng)樹型結(jié)構(gòu)相比,本文提出的網(wǎng)絡(luò)設(shè)計(jì)在物理結(jié)構(gòu)上具有良好的可擴(kuò)展性,能夠支持網(wǎng)絡(luò)規(guī)模的指數(shù)增長(zhǎng)。 根據(jù)網(wǎng)絡(luò)構(gòu)建過程可知,對(duì)于正[n]邊形結(jié)構(gòu)來說,每個(gè)服務(wù)器只需要和其所在域中的其他[n-1]個(gè)服務(wù)器以及惟一的一個(gè)交換機(jī)相連即可,所以每個(gè)服務(wù)器需要支持[[(n-1)+1]]條鏈路。無論是網(wǎng)絡(luò)適配器數(shù)量[n]還是交換機(jī)接口數(shù)[2n-1,]只要[n]不超過常用數(shù)目,在實(shí)際構(gòu)建中,本文提出的結(jié)構(gòu)都是可行的,同時(shí),RNEP 網(wǎng)絡(luò)結(jié)構(gòu)可以保證較低的交換機(jī)與服務(wù)器比例,有效地節(jié)省了能耗[1]。 1.4 模擬實(shí)驗(yàn) 使用NeuroGrid進(jìn)行模擬實(shí)驗(yàn),實(shí)驗(yàn)主要是構(gòu)建 RNEP網(wǎng)絡(luò)結(jié)構(gòu),并模擬路由算法。驗(yàn)證在無任何失效的情況下,路由機(jī)制的運(yùn)行狀況,通過平均路徑長(zhǎng)度來分析傳輸性能。以正六邊形為例,實(shí)驗(yàn)產(chǎn)生初始大小為42~1 554個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)。在實(shí)驗(yàn)中,從一個(gè)節(jié)點(diǎn)出發(fā),向其余所有節(jié)點(diǎn)傳遞消息,記錄路徑跳數(shù)總和,從而求得平均值。對(duì)于[n=6]時(shí)的RNEP結(jié)構(gòu),不同層級(jí)節(jié)點(diǎn)總數(shù)及平均最短路徑長(zhǎng)度實(shí)驗(yàn)所得結(jié)果如表1所示。 表1反映了無節(jié)點(diǎn)失效的情況下,當(dāng)[n=6]時(shí),任一服務(wù)器到達(dá)其余節(jié)點(diǎn)的平均最短路徑情況。由于不考慮節(jié)點(diǎn)失效,所以不可達(dá)節(jié)點(diǎn)數(shù)目均為0。實(shí)驗(yàn)所得的平均最短路徑長(zhǎng)度與算法的推導(dǎo)結(jié)果基本一致,且實(shí)驗(yàn)結(jié)果要優(yōu)于算法的理論結(jié)果。 以[n=6,k=2]的網(wǎng)絡(luò)結(jié)構(gòu)為例,節(jié)點(diǎn)數(shù)目為258。通過實(shí)驗(yàn)分析平均最短路徑長(zhǎng)度與鏈路失效率之間的關(guān)系。此處的鏈路是指交換機(jī)與服務(wù)器的鏈接斷開,而非服務(wù)器(節(jié)點(diǎn))失效。在實(shí)驗(yàn)中設(shè)置鏈路失效率的范圍為5%~30%,以5%遞增。實(shí)驗(yàn)結(jié)果如圖2所示。 從圖2中可以看出,當(dāng)節(jié)點(diǎn)失效率增加時(shí),平均增加的跳數(shù)在1跳左右,平均路徑長(zhǎng)度增長(zhǎng)緩慢。 繼續(xù)以[n=6,k=2]的網(wǎng)絡(luò)進(jìn)行試驗(yàn),分析隨著節(jié)點(diǎn)失效率的增加,路徑失效率的變化情況,并與DCell 結(jié)構(gòu)的實(shí)驗(yàn)結(jié)果進(jìn)行了對(duì)比。實(shí)驗(yàn)中,設(shè)計(jì)節(jié)點(diǎn)失效率從2%~20%變化并以2%的增幅增長(zhǎng),通過洪泛傳遞消息,記錄失效路徑數(shù)目,以求得路徑失效率。統(tǒng)計(jì)結(jié)果展示如圖3所示。 2 RNEP網(wǎng)絡(luò)結(jié)構(gòu)的數(shù)據(jù)管理模型 2.1 網(wǎng)絡(luò)結(jié)構(gòu)的數(shù)據(jù)管理模型 存儲(chǔ)服務(wù)器集群可實(shí)現(xiàn)存儲(chǔ)節(jié)點(diǎn)的動(dòng)態(tài)添加和刪除的可擴(kuò)展存儲(chǔ)服務(wù),其主要功能是負(fù)責(zé)數(shù)據(jù)文件的實(shí)際存儲(chǔ),數(shù)據(jù)請(qǐng)求方通過與主管理服務(wù)器和存儲(chǔ)服務(wù)器集群的通信實(shí)現(xiàn)對(duì)數(shù)據(jù)的操作。整個(gè)系統(tǒng)對(duì)外屏蔽底層實(shí)現(xiàn),為用戶提供快速、透明、穩(wěn)定、可靠的數(shù)據(jù)存儲(chǔ)服務(wù)。 服務(wù)管理節(jié)點(diǎn)管理集群內(nèi)部的數(shù)據(jù)塊服務(wù)器,監(jiān)控?cái)?shù)據(jù)塊服務(wù)器的運(yùn)行,并為數(shù)據(jù)創(chuàng)建以及數(shù)據(jù)訪問提供數(shù)據(jù)塊服務(wù)器的位置。元數(shù)據(jù)管理模塊負(fù)責(zé)管理和維護(hù)文件系統(tǒng)的元數(shù)據(jù),系統(tǒng)監(jiān)控模塊用于查看當(dāng)前系統(tǒng)的運(yùn)行狀態(tài),負(fù)載均衡模塊負(fù)責(zé)對(duì)用戶的請(qǐng)求進(jìn)行分配。 2.2 副本管理方法 副本放置位置的不同會(huì)使副本的可用性和一致性在訪問過程中產(chǎn)生變化,同一域內(nèi)的多個(gè)存儲(chǔ)節(jié)點(diǎn)上分別存儲(chǔ)副本可以最大化利用域內(nèi)的網(wǎng)絡(luò)帶寬,防止機(jī)器失效、磁盤損壞所帶來的影響,同時(shí)也減少域間寫操作的網(wǎng)絡(luò)通信[2]。 當(dāng)有新數(shù)據(jù)上傳到數(shù)據(jù)管理模型中時(shí),客戶端向服務(wù)管理節(jié)點(diǎn)提出創(chuàng)建副本請(qǐng)求,服務(wù)管理節(jié)點(diǎn)采用如下策略對(duì)副本進(jìn)行放置: (1) 默認(rèn)副本個(gè)數(shù)為3,服務(wù)管理節(jié)點(diǎn)根據(jù)存儲(chǔ)節(jié)點(diǎn)的因素、域內(nèi)的網(wǎng)絡(luò)狀況因素以及客戶端的位置信息進(jìn)行第一個(gè)副本的節(jié)點(diǎn)位置選擇,存儲(chǔ)節(jié)點(diǎn)的因素包括:磁盤利用率低;限制每個(gè)存儲(chǔ)節(jié)點(diǎn)“最近”創(chuàng)建的數(shù)量。 (2) 第二個(gè)副本在同域內(nèi)根據(jù)存儲(chǔ)節(jié)點(diǎn)因素選擇最優(yōu)的存儲(chǔ)節(jié)點(diǎn)。 (3) 第三個(gè)副本在不同域間根據(jù)第一個(gè)副本的位置選擇策略進(jìn)行選擇,這種策略減少了域間的數(shù)據(jù)傳輸,提高了寫操作的效率。 3個(gè)副本其中2個(gè)處于不同的域內(nèi),保證副本的可靠性。副本選擇算法流程圖,如圖4所示。 2.3 模擬實(shí)現(xiàn)及分析 參考OptorSim模擬器,擴(kuò)展云模擬器CloudSim的功能,并在擴(kuò)展后的模擬器上進(jìn)行了仿真實(shí)驗(yàn)。在CloudSim上模擬基于RNEP數(shù)據(jù)管理模型的副本放置和副本選擇策略,對(duì)比策略為HDFS副本放置策略和副本選擇策略;HDFS的副本放置策略為:如果該客戶端上有數(shù)據(jù)節(jié)點(diǎn),那么隨機(jī)將副本分別放在本地節(jié)點(diǎn),否則在整個(gè)集群中隨機(jī)選擇一個(gè)合適的數(shù)據(jù)節(jié)點(diǎn)作為此時(shí)的本地機(jī)架節(jié)點(diǎn),第一個(gè)副本放在本地機(jī)架上;第二個(gè)副本放在本地機(jī)架上的另外一個(gè)節(jié)點(diǎn);第三個(gè)副本放在不同機(jī)架的節(jié)點(diǎn)上。HDFS的副本選擇策略為客戶端總是選擇從距離它最近的可用數(shù)據(jù)節(jié)點(diǎn)上讀取需要的數(shù)據(jù)塊。 每個(gè)Datacenter包含10臺(tái)Host,最大功率為250 W,處理器能力為2 000 MIPS,每臺(tái)主機(jī)內(nèi)存為2 GB,主機(jī)帶寬為100 Mb/s,每臺(tái)主機(jī)上傳100個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊有3個(gè)副本。第一個(gè)數(shù)據(jù)中心模擬基于RNEP網(wǎng)絡(luò)結(jié)構(gòu)的數(shù)據(jù)管理模型,第二個(gè)數(shù)據(jù)中心模擬HDFS策略。 (1) 副本讀取時(shí)間的比較:副本讀取時(shí)間是指客戶端從發(fā)出讀取請(qǐng)求到讀取完副本所花費(fèi)的時(shí)間。在兩個(gè)數(shù)據(jù)中心分別隨機(jī)選擇一個(gè)客戶端采用各自策略進(jìn)行100次隨機(jī)讀取操作的平均時(shí)間進(jìn)行比較,如圖5所示。 如圖5所示,基于RNEP數(shù)據(jù)管理模型的副本讀取平均時(shí)間均明顯要小于HDFS 策略的平均讀取時(shí)間。 (2) 負(fù)載均衡的比較:在兩個(gè)數(shù)據(jù)中心隨機(jī)選擇一個(gè)數(shù)據(jù)塊,其中有7個(gè)客戶端離選中數(shù)據(jù)塊的一個(gè)副本比較近,另外3個(gè)客戶端分布在較遠(yuǎn)的節(jié)點(diǎn)上,然后這10個(gè)客戶端隨機(jī)向這個(gè)數(shù)據(jù)塊發(fā)出讀取請(qǐng)求,分別采用各自的策略:選擇與客戶端距離最近副本的HDFS策略和基于RNEP網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù)管理模型的副本選擇策略。將負(fù)載表示為副本所在的存儲(chǔ)節(jié)點(diǎn)接收的客戶端讀取請(qǐng)求的數(shù)量,每隔3分鐘記錄一次3個(gè)副本所在的存儲(chǔ)節(jié)點(diǎn)在這3分鐘內(nèi)的負(fù)載總量。 采用HDFS策略的3個(gè)副本負(fù)載不均衡,客戶端選擇距離最近的副本從而使客戶端的訪問聚集在一個(gè)副本,導(dǎo)致該副本所在的存儲(chǔ)節(jié)點(diǎn)負(fù)載很高,另外兩個(gè)副本所在的存儲(chǔ)節(jié)點(diǎn)負(fù)載比較低,造成集群負(fù)載不均衡?;赗NEP數(shù)據(jù)管理模型中的3個(gè)副本負(fù)載差距不大,達(dá)到了負(fù)載均衡的效果。實(shí)驗(yàn)表明,基于RNEP網(wǎng)絡(luò)結(jié)構(gòu)的數(shù)據(jù)管理模型能夠提高數(shù)據(jù)的訪問性能,合理地利用網(wǎng)絡(luò)帶寬,使系統(tǒng)負(fù)載均衡。 3 基于覆蓋集的數(shù)據(jù)遷移方法 在云存儲(chǔ)環(huán)境中,數(shù)據(jù)遷移是一項(xiàng)復(fù)雜的任務(wù),為了能更好的節(jié)能,在滿足數(shù)據(jù)可用性的前提下,休眠更多的機(jī)器,節(jié)省更多的能耗。本文提出一種基于覆蓋集的數(shù)據(jù)遷移算法,在進(jìn)行數(shù)據(jù)遷移之前,要獲得以下信息:源服務(wù)器、數(shù)據(jù)對(duì)象、目標(biāo)服務(wù)器、遷移成本?;诟采w集的數(shù)據(jù)遷移算法流程圖如圖6所示。 在擴(kuò)展功能后的CloudSim模擬器上進(jìn)行仿真實(shí)驗(yàn),實(shí)現(xiàn)基于覆蓋集的數(shù)據(jù)遷移的算法,CloudSim中的能耗模型根據(jù)CPU的利用率計(jì)算能耗,通過修改PowerModel類采用的能耗模型計(jì)算能耗,并設(shè)定休眠的主機(jī)功耗為0。 每隔1 000 s,統(tǒng)計(jì)數(shù)據(jù)中心的能耗情況,各種策略的能耗對(duì)比數(shù)據(jù)如圖7所示?;诟采w集的數(shù)據(jù)遷移策略雖然在前期數(shù)據(jù)遷移過程中消耗了能量,使總消耗的能量有所增加,但是,數(shù)據(jù)遷移后休眠部分節(jié)點(diǎn),使數(shù)據(jù)中心消耗的能量比不進(jìn)行數(shù)據(jù)遷移策略消耗的能量要少,并且隨著時(shí)間的增多這種優(yōu)勢(shì)越來越明顯。 設(shè)置了不同規(guī)模的對(duì)比試驗(yàn),數(shù)據(jù)中心的節(jié)點(diǎn)數(shù)分別為20,100,300和500,如圖8所示,給出的是三種不同的方法在電源消耗方面的對(duì)比,其中集群規(guī)模表示物理節(jié)點(diǎn)數(shù)。 數(shù)據(jù)顯示集群的規(guī)模越大,基于覆蓋集的數(shù)據(jù)遷移方法節(jié)約的能耗越多。這是由于基于覆蓋集的數(shù)據(jù)遷移方法在越大規(guī)模的集群中,休眠的機(jī)器更多,也就減少了數(shù)據(jù)中心的能耗。 4 結(jié) 論 云存儲(chǔ)通過集群應(yīng)用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量不同的設(shè)備集合起來協(xié)同工作對(duì)外提供服務(wù)。本文研究云存儲(chǔ)中的網(wǎng)絡(luò)結(jié)構(gòu)、數(shù)據(jù)管理模型以及數(shù)據(jù)遷移算法,創(chuàng)新性的提出了基于遞歸的正[N]邊形網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)及其路由機(jī)制設(shè)計(jì),同時(shí),設(shè)計(jì)了基于覆蓋集的數(shù)據(jù)遷移方法。使云計(jì)算系統(tǒng)易于擴(kuò)展,提高訪問性能,合理利用網(wǎng)絡(luò)帶寬,減少系統(tǒng)能耗,既具有重要的學(xué)術(shù)價(jià)值,也具有廣闊的應(yīng)用前景。 參考文獻(xiàn) [1] 左曉靜,王榮.一種基于云計(jì)算的海量數(shù)據(jù)分布式存儲(chǔ)策略[J].河南科學(xué),2015,33(12):2135?2140. [2] CHOU J, KIM J, ROTEM D. Energy?aware scheduling in disk storage systems [C]// Proceedings of 2011 31st International Conference on Distributed Computing Systems. [S.l.]: IEEE, 2011: 423?433. [3] ABU?LIBDEH H, COSTA P, ROWSTRON A, et al. Symbiotic routing in future data centers [J]. ACM SIGCOMM Computer Communication Review, 2011, 40(4): 51?62. [4] GREENBERG A, HAMILTON J R, JAIN N, et al. VL2: a scalable and flexible data center network [J]. Communications of the ACM, 2011, 54(3): 95?104. [5] 吳旦,王改云,李小龍.基于最小覆蓋集的WSN數(shù)據(jù)聚集算法[J].計(jì)算機(jī)工程,2012,38(2):97?99. [6] 程付超,苗放,陳墾.自適應(yīng)的分布式文件系統(tǒng)元數(shù)據(jù)管理模型[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(3):867?874. [7] AVERSA L, BESTAVROS A. Load balancing a cluster of Web servers using distributed packet rewriting [C]// Proceedings of IEEE International Conference on Performance, Computing and Communications. Phoenix: IEEE, 2000: 24?29. [8] 劉云飛.基于Hadoop的數(shù)據(jù)遷移與存儲(chǔ)的研究[D].北京:北京郵電大學(xué),2015.