劉蘇英
(安徽機(jī)電職業(yè)技術(shù)學(xué)院電氣工程學(xué)院 安徽蕪湖 241002)
信息時(shí)代,社會(huì)各行業(yè)正常運(yùn)轉(zhuǎn)已經(jīng)離不開電子通信數(shù)據(jù)文件的支持,如何高效率存儲(chǔ)大規(guī)模電子通信數(shù)據(jù)是當(dāng)前多領(lǐng)域健康有序發(fā)展迫切需要解決的問題[1]。HDFS(hadoop distributed file system)是一種分布式的文件存儲(chǔ)系統(tǒng),具備強(qiáng)大的數(shù)據(jù)追加、數(shù)據(jù)讀取優(yōu)化能力[2]。面對(duì)不斷增長的電子通信數(shù)據(jù)存儲(chǔ)規(guī)模,HDFS集群可以按需求拓展容量,同時(shí)在可靠性、容錯(cuò)率方面取得了用戶的廣泛認(rèn)可[3]。為此,文章對(duì)傳統(tǒng)的HDFS分布式文件存儲(chǔ)系統(tǒng)進(jìn)行優(yōu)化與改進(jìn),實(shí)現(xiàn)電子通信數(shù)據(jù)在HDFS集群上的高效率、低能耗存儲(chǔ)目標(biāo)。
HDFS分布式文件存儲(chǔ)系統(tǒng)具有極強(qiáng)的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)拓展功能,個(gè)體HDFS集群具有拓展千萬節(jié)點(diǎn)的能力,可以適應(yīng)較大吞吐量數(shù)據(jù)的讀取寫入工作,所以適用于大規(guī)模的服務(wù)集群的海量數(shù)據(jù)存儲(chǔ)工作,可靠性得到廣大用戶的認(rèn)可。圖1描述了HDFS集群架構(gòu)布局情況,待存儲(chǔ)的大型文件一般劃分成大型數(shù)據(jù)塊,標(biāo)記為data block,在集群節(jié)點(diǎn)上有序且分布存儲(chǔ)。圖1中,HDFS集群的命名空間、數(shù)據(jù)塊存儲(chǔ)位置信息全部屬于元數(shù)據(jù)范疇,由NameNode節(jié)點(diǎn)集中管理,系統(tǒng)專門為其設(shè)計(jì)了備份節(jié)點(diǎn),以免NameNode管理誤差導(dǎo)致的HDFS分布式集群故障[4]。HDFS分布式集群元數(shù)據(jù)規(guī)模不是一層不變的,跟隨集群規(guī)模擴(kuò)張、文件存儲(chǔ)規(guī)模增加而擴(kuò)大,針對(duì)這一情況,HDFS集群設(shè)計(jì)了人性化的多個(gè)NameNode節(jié)點(diǎn)并存機(jī)制,將分布式存儲(chǔ)任務(wù)按照其負(fù)荷能力分配到具體的NameNode節(jié)點(diǎn)上,值得注意的是多個(gè)NameNode節(jié)點(diǎn)之間不存在關(guān)聯(lián)關(guān)系。
圖1 HDFS集群架構(gòu)布局
DataNode是HDFS集群節(jié)點(diǎn)數(shù)據(jù)管理主體,將本地不同數(shù)據(jù)塊分派給若干個(gè)DataNode,NameNode可定時(shí)接收來自DataNode發(fā)送的表征節(jié)點(diǎn)狀內(nèi)容的心跳信息。由于最初電子通信大數(shù)據(jù)開始分布式存儲(chǔ)行為之初進(jìn)行了數(shù)據(jù)塊劃分處理,HDFS在統(tǒng)一集群環(huán)境中保存了3個(gè)左右的文件副本以保障數(shù)據(jù)存儲(chǔ)的可靠性與安全性,增強(qiáng)HDFS集群分布式存儲(chǔ)的容錯(cuò)性能,這些數(shù)據(jù)塊和副本一同存儲(chǔ)在DataNode。機(jī)架內(nèi)部為數(shù)據(jù)塊位置所在,即圖中的虛線塊部分,數(shù)據(jù)塊詳細(xì)的位置信息取決于NameNode[5]。另外,機(jī)架(Rack)是HDFS分布式文件存儲(chǔ)系統(tǒng)的關(guān)鍵構(gòu)成要素,每個(gè)機(jī)架設(shè)置了若干個(gè)DataNode,以數(shù)據(jù)中心的網(wǎng)絡(luò)為介質(zhì)實(shí)施高效率、高速率的數(shù)據(jù)交互行為。
HDFS分布式文件系統(tǒng)需要依靠集群存儲(chǔ)狀態(tài)劃分系統(tǒng)各節(jié)點(diǎn)的文件存儲(chǔ)任務(wù),避免個(gè)別節(jié)點(diǎn)負(fù)載量過大,均衡系統(tǒng)的大數(shù)據(jù)存儲(chǔ)效率[6]。該研究為了高效率完成電子通信大數(shù)據(jù)在HDFS分布式文件系統(tǒng)上的安全存儲(chǔ),首先需要了解集群各層次硬盤空閑占比情況,基于這些相關(guān)變量合理的向系統(tǒng)節(jié)點(diǎn)分配文件存儲(chǔ)任務(wù),為此基于公式(1)求取HDFS集群虛擬內(nèi)存盤空閑容量百分比:
(1)
其中,集群包含n個(gè)節(jié)點(diǎn);G1j、Gah分別表示各節(jié)點(diǎn)虛擬內(nèi)存磁盤空閑存儲(chǔ)大小及其總存儲(chǔ)量大小,j、h的取值均為j=1,…,n。
根據(jù)公式(1)明確HDFS集群不同層次空閑存儲(chǔ)情況后,需定義科學(xué)的閾值對(duì)可用的存儲(chǔ)層次進(jìn)行評(píng)估和確定[7]。例如閾值設(shè)置為25%,若G超過閾值視其為健康的存儲(chǔ)層次,可以作為正常的存儲(chǔ)節(jié)點(diǎn)使用;反之,若G低于閾值則視其為非健康存儲(chǔ)層次,需深度評(píng)估其存儲(chǔ)狀態(tài),進(jìn)行更加深度的維護(hù)處理。
HDFS分布式文件存儲(chǔ)系統(tǒng)中存在訪問熱度不同的海量電子信息文件,隨著時(shí)間的推移能夠顯著區(qū)別文件的訪問熱度,工作中較為關(guān)注的信息內(nèi)容往往更容易被查看點(diǎn)擊,因此文件創(chuàng)建時(shí)間更加鄰近當(dāng)前時(shí)刻;同樣,熱度較低的電子通信大數(shù)據(jù)文件較少被查看點(diǎn)擊,其創(chuàng)建時(shí)間相應(yīng)的更加久遠(yuǎn)[8]。為此,該研究基于電子通信大數(shù)據(jù)熱度與時(shí)間的相關(guān)性特征,對(duì)HDFS集群的大數(shù)據(jù)文件進(jìn)行合理放置。主要原理如下:此過程中,熱度接近的文件稱它們?cè)跁r(shí)間維度上的細(xì)粒度相似,將細(xì)粒度相似的文件平均分配給各個(gè)節(jié)點(diǎn),這樣可以分擔(dān)各節(jié)點(diǎn)的存儲(chǔ)負(fù)擔(dān),實(shí)現(xiàn)HDFS集群均衡存儲(chǔ)與負(fù)載,此為細(xì)粒度均衡算法的基本要義。
細(xì)粒度均衡算法實(shí)施之前,需預(yù)先設(shè)定文件創(chuàng)建時(shí)間區(qū)間、創(chuàng)建時(shí)間區(qū)間數(shù)量等信息[9]。細(xì)粒度較低的文件對(duì)存儲(chǔ)系統(tǒng)的負(fù)載貢獻(xiàn)較小,因?yàn)樗鼈兙嚯x當(dāng)前時(shí)刻較為久遠(yuǎn)、訪問的熱度較低,由此可以得出以下規(guī)律:接近當(dāng)前時(shí)刻的文件創(chuàng)建時(shí)間,對(duì)應(yīng)的區(qū)間更加細(xì)密;遠(yuǎn)離當(dāng)前時(shí)刻的文件創(chuàng)建時(shí)間,其區(qū)間更加稀疏。
搭建包含3個(gè)節(jié)點(diǎn)的HDFS分布式文件存儲(chǔ)集群實(shí)驗(yàn)環(huán)境,其中包含1 NameNode節(jié)點(diǎn),2個(gè)DataNode節(jié)點(diǎn),DataNode節(jié)點(diǎn)的詳細(xì)參數(shù)如表1所示。使用2.6.0版本的Hadoop,計(jì)算機(jī)硬件條件如下:CPU 2.7 GHz Intel Core i7、內(nèi)存大小為8GB、硬盤大小為500GB。實(shí)驗(yàn)數(shù)據(jù)集采集自某企業(yè)的正規(guī)電子通信業(yè)務(wù),根據(jù)測試需求劃分成1000個(gè)大小一致的實(shí)驗(yàn)數(shù)據(jù)包。引用傳統(tǒng)HDFS大數(shù)據(jù)存儲(chǔ)方法、基于Hadoop的大數(shù)據(jù)存儲(chǔ)方法作為對(duì)比測試方法,突出文章方法在存儲(chǔ)電子通信大數(shù)據(jù)方面的優(yōu)越性。
表1 DataNode節(jié)點(diǎn)詳細(xì)參數(shù)
采用文章方法、傳統(tǒng)HDFS大數(shù)據(jù)存儲(chǔ)方法、基于Hadoop的大數(shù)據(jù)存儲(chǔ)方法向分布式文件存儲(chǔ)系統(tǒng)發(fā)送數(shù)據(jù)包,記錄不同時(shí)間節(jié)點(diǎn)上數(shù)據(jù)傳輸延時(shí)情況,如表2所示。
表2 不同時(shí)間節(jié)點(diǎn)上三種方法的大數(shù)據(jù)傳輸延時(shí)(s)
隨著數(shù)據(jù)發(fā)送行為的進(jìn)行,分布式文件存儲(chǔ)系統(tǒng)存儲(chǔ)文件的工作有序開展,3~15s期間文章方法存儲(chǔ)數(shù)據(jù)的延時(shí)保持在0.05~0.11s之內(nèi),延時(shí)增幅較小,屬于正常數(shù)據(jù)存儲(chǔ)狀態(tài)。傳統(tǒng)HDFS大數(shù)據(jù)存儲(chǔ)方法起步存儲(chǔ)延時(shí)與文章方法一致,但是隨著時(shí)間的推移,該方法延時(shí)增幅越來越大,運(yùn)行到15s時(shí)的傳輸延時(shí)達(dá)到0.17s。此外,基于Hadoop的大數(shù)據(jù)存儲(chǔ)方法最初的存儲(chǔ)延時(shí)較大,每個(gè)時(shí)間節(jié)點(diǎn)上的延時(shí)大幅度提升,測試進(jìn)行到12s、15s時(shí)其存儲(chǔ)大數(shù)據(jù)的延時(shí)也達(dá)到0.19s、0.22s。相比之下,對(duì)比方法均展現(xiàn)了較差的存儲(chǔ)效率,文章方法存儲(chǔ)海量電子通信數(shù)據(jù)的效率得到了認(rèn)可,同時(shí)記錄了3種方法測試中文件存儲(chǔ)的節(jié)能效率走勢,如圖2所示。
由圖2可知,測試開展最初,3種方法的節(jié)能效率均保持在60%左右,存儲(chǔ)電子通信大數(shù)據(jù)的節(jié)能效果優(yōu)異;當(dāng)數(shù)據(jù)包增加至400個(gè)時(shí),3種方法節(jié)能效率仍然持平并出現(xiàn)同步的小幅度下降趨勢;當(dāng)數(shù)據(jù)包傳輸量增加到600個(gè)時(shí),傳統(tǒng)HDFS大數(shù)據(jù)存儲(chǔ)方法、基于Hadoop的大數(shù)據(jù)存儲(chǔ)方法節(jié)能效率下降趨勢顯著,文章方法節(jié)能效率仍然高達(dá)約48%;隨后,數(shù)據(jù)包傳輸達(dá)到1000個(gè)時(shí),文章方法的節(jié)能效率約為33.3%,另外兩種方法降低至16.5%左右。
文章利用分布式文件存儲(chǔ)系統(tǒng)生成一套行之有效的電子通信大數(shù)據(jù)存儲(chǔ)方案,在實(shí)驗(yàn)中取得了較短的延時(shí)效果以及良好的節(jié)能效率,為存儲(chǔ)海量電子通信數(shù)據(jù)提供了有效途徑。文章方法始終保持良好的節(jié)能效率,是因?yàn)槭褂昧嘶诳臻e容量的HDFS系統(tǒng)優(yōu)化存儲(chǔ)策略,也是文章方法的創(chuàng)新之處。該方法避免了個(gè)別節(jié)點(diǎn)負(fù)載量過大、均衡了系統(tǒng)的大數(shù)據(jù)存儲(chǔ)效率和實(shí)現(xiàn)大數(shù)據(jù)存儲(chǔ)的節(jié)能目標(biāo)。另外,基于細(xì)粒度均衡的文件放置優(yōu)化算法實(shí)現(xiàn)了對(duì)HDFS集群大數(shù)據(jù)的合理放置,減輕了海量電子通信數(shù)據(jù)對(duì)HDFS集群的存儲(chǔ)負(fù)擔(dān)。