許瓏璋 向敏


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