許瓏璋 向敏


摘 要:隨著智能電網(wǎng)的發(fā)展,數(shù)據(jù)的訪問并發(fā)量在不斷增加,如何對這些海量的用電數(shù)據(jù)進行高效讀取是現(xiàn)今電力企業(yè)亟待解決的問題。文章在基于HDFS讀策略的基礎上,提出一種面向用電數(shù)據(jù)的HDFS數(shù)據(jù)讀取策略。綜合節(jié)點的網(wǎng)絡距離、帶寬利用率和CPU使用率3種因素,通過評判函數(shù)找出性能最優(yōu)的節(jié)點并進行訪問。實驗驗證,該策略可以有效提高數(shù)據(jù)的讀取效率,提升了數(shù)據(jù)的讀性能服務。
關鍵詞:用電數(shù)據(jù);HDFS;智能電網(wǎng);讀策略;讀取效率
隨著信息技術的飛速發(fā)展,大數(shù)據(jù)時代己走進了人們的生活。由中國信息化專委會發(fā)布的《中國電力大數(shù)據(jù)發(fā)展白皮書》報告中顯示,電力大數(shù)據(jù)已呈現(xiàn)出“數(shù)字摩爾時代”的發(fā)展趨勢[1]。為了能夠實現(xiàn)與居民用戶的實時交互,電表業(yè)務的數(shù)據(jù)采集頻度由現(xiàn)在的每月提高到每日,甚至每小時[2-3]。隨著用電信息采集系統(tǒng)的數(shù)據(jù)越來越多樣化,用戶對數(shù)據(jù)的訪問并發(fā)性也越來越高,如何對數(shù)據(jù)有效地讀取是當今電力企業(yè)急需解決的問題。而分布式文件系統(tǒng)(HadoopDistributed File System,HDFS)作為云存儲的基本架構,將其結合到電網(wǎng)領域當中,可以有效地解決電力大數(shù)據(jù)的讀取速率慢、訪問時延大等問題。目前有不少的學者對HDFS讀取過程策略進行了相關的研究。陳佳[4]通過將灰色優(yōu)勢分析應用于HDFS系統(tǒng)中,根據(jù)用戶的歷史訪問數(shù)據(jù)的規(guī)律來預測下一次的被訪問到數(shù)據(jù)節(jié)點,從而有效提高了數(shù)據(jù)的訪問速率。李強等[5]通過分析HDFS數(shù)據(jù)的存取與讀取的過程,提出一種基于HDFS的數(shù)據(jù)隨機訪問策略。通過在數(shù)據(jù)節(jié)點添加本地數(shù)據(jù)訪問接口,為數(shù)據(jù)塊添加了管理權限,提升了數(shù)據(jù)的讀與寫的性能。
本文通過詳細分析HDFS文件的讀流程,在HDFS讀策略的基礎上進行優(yōu)化,綜合候選數(shù)據(jù)節(jié)點的多個指標,評判出候選節(jié)點群最優(yōu)的數(shù)據(jù)節(jié)點進行讀取數(shù)據(jù),可以有效提高數(shù)據(jù)的訪問速率,也提升了系統(tǒng)的服務性能。
1 HDFS讀過程
在HDFS中,客戶端訪問HDFS文件主要有以下幾個步驟,具體如下。
(1)客戶端發(fā)送讀數(shù)據(jù)請求,打開HDFS文件系統(tǒng):客戶端首選調用open方法來打開HDFS文件系統(tǒng),通過RPC協(xié)議遠程調用Namenode節(jié)點并進行交互得到所有數(shù)據(jù)塊所在的Datanode節(jié)點信息。
(2)通過調用get Block Locations方法獲取訪問數(shù)據(jù)的起始數(shù)據(jù)的所有數(shù)據(jù)節(jié)點位置信息,名字節(jié)點返回來的數(shù)據(jù)節(jié)點隊列是以數(shù)據(jù)節(jié)點與客戶端距離遠近進行排序。
(3)客戶端通過調用read方法從步驟2選出的Data node節(jié)點進行讀數(shù)據(jù),Data node里面的數(shù)據(jù)塊通過以數(shù)據(jù)包(packet)形式通過數(shù)據(jù)流管道傳輸?shù)娇蛻舳松?,當發(fā)送數(shù)據(jù)包的總大小達到一個數(shù)據(jù)塊時,接著繼續(xù)調用文件剩下的數(shù)據(jù)塊。
(4)當客戶端成功的讀取文件所有數(shù)據(jù)塊后,調用clo se方法關閉數(shù)據(jù)流,整個數(shù)據(jù)的讀流程結束。HDFS讀流程如圖1所示。
2 一種面向用電數(shù)據(jù)的HDFS數(shù)據(jù)讀取策略
分析HDFS讀取原理可知,HDFS在選擇數(shù)據(jù)節(jié)點進行讀取數(shù)據(jù)時,只考慮了數(shù)據(jù)節(jié)點離客戶端距離遠近,這易造成離客戶端近的數(shù)據(jù)節(jié)點出現(xiàn)熱點問題,造成網(wǎng)絡擁塞。因此本文提出的策略基于候選節(jié)點的網(wǎng)絡距離(D)、帶寬利用率(Bu)及CPU使用率(Cu),從而選出性能最優(yōu)的節(jié)點進行訪問。
首先定義評價值P,代表每個節(jié)點的性能。其詳細定義如式1下:
P= αD+βBu+γCu
(1)
其中α,β,γ分別是網(wǎng)絡距離、帶寬利用率及CPU使用率的權值因子,α,β,γ的取值由各個因子的偏重程度決定,偏重程度越高的對應的權值因子就越大,且α+β+γ=1。從式1可知,當P值越大時,說明對應該數(shù)據(jù)節(jié)點的性能就越好,從而提供的數(shù)據(jù)讀取效率就越高。
3 測試與分析
在本次實驗當中,取出一個文件,對它采取不同的訪問量進行測試其相應的響應時間,響應時間越快,說明訪問的速度越快。在本次實驗當中,采取的訪問次數(shù)分別為30,40,50,60,70,80,并統(tǒng)計出其平均響應時間,并和HDFS原策略進行對比,對比效果如圖2所示。
從圖2可看出,文件的訪問量在較小時,兩種策略下的響應時間差異性不是很大,但隨著該文件的訪問量不斷加大時,本文提出策略的響應時間快于HDFS原讀取策略。這是因為HDFS原讀取策略只考慮距離的原因,離客戶端越近的數(shù)據(jù)節(jié)點在數(shù)據(jù)傳輸?shù)臅r候易出現(xiàn)擁塞,造成了數(shù)據(jù)延時,而本文策略綜合考慮節(jié)點的離客戶端的距離、帶寬利用率和CPU使用率,選出最優(yōu)的節(jié)點進行讀取數(shù)據(jù),從而提升了數(shù)據(jù)的訪問效率。
4 結語
本文策略以選取節(jié)點的離客戶端的距離、帶寬利用率和CPU使用率為評判因子,通過評判函數(shù)評判出每個節(jié)點的評判值,通過評判值選出性能最優(yōu)的數(shù)據(jù)節(jié)點進行讀取數(shù)據(jù)。研究表明,該策略有效提升了數(shù)據(jù)的訪問速率,提升了系統(tǒng)的服務性能。
[參考文獻]
[1]張沛,楊華飛,許元斌.電力大數(shù)據(jù)及其在電網(wǎng)公司的應用[J].中國電機工程學報,2014( Sl):85-92.
[2]宋亞奇,周國亮,朱永利.智能電網(wǎng)大數(shù)據(jù)處理技術現(xiàn)狀與挑戰(zhàn)[J]電網(wǎng)技術,2013 (4):927-935.
[3]胡江溢,祝恩國,杜新綱,等用電信息采集系統(tǒng)應用現(xiàn)狀及發(fā)展趨勢[J].電力系統(tǒng)自動化,2014(2):131-135.
[4]陳佳.基于灰色優(yōu)勢分析的HDFS數(shù)據(jù)讀取方法方案設計[J].電腦迷,2017 (4):165-166.
[5]李強,孫震宇,孫功星.一種面向HDFS的數(shù)據(jù)隨機訪問方法[J]計算機工程與應用,2017 (10):1-7.