呂穎利,李春光
(濟源職業技術學院,河南 濟源 459000)
隨著社會用電需求的快速增長,配電網大數據數量逐漸增加,類型多、增長速度變快,這對數據資源的存儲與查詢有了極高的要求。本文以配電網數據分布不集中的問題為出發點,結合使用中間件集成平臺等完成配電網大數據的分級存儲管理。以分級存儲管理為基礎,結合可擴展標記語言(eXtensible Markup Language,XML)等相關技術手段,將各類數據轉換成標準統一化的中繼數據格式,從數據庫中調取出與實際中繼數據相對應的數據系統目錄,并將實際數據映射成統一規范的存儲格式,為數據存儲、查詢和處理奠定基礎以規范化集成后的標準數據為基石,探究配電網數據關聯性存儲,提出鏈地址數據存儲算法。對數據查詢方式進行優化升級,提出了基于MapReduce的配電網大數據聯合查詢方式,提升了數據存儲和查詢的效率。
配電網數據的識別、處理以及轉換是數據智能集成的幾個重要過程,如何將格式不一致數據轉化成標準XML格式的中繼數據更是重中之重。配電網數據的XML中繼數據生成流程如下。
(1)實體識別。具體包括屬性提取、類型劃分以及內容甄別等操作。屬性提取是按照數據的特征,即數據的性質和關系等將數據的屬性抽取出來;類型劃分是在屬性提取后進行類型劃分,包括電網數據和非電網數據兩類;內容甄別的主要做法是將損壞數據和數據里重復的部分甄別出并淘汰。
(2)數據預處理。實體識別后的數據中仍有部分臟數據存在,這些數據存在會對后續的數據挖掘操作形成很大的阻礙,這時需要對其進行預處理操作。結合對圖形像素、文本結構等的研究分析,從這些數據中分離出有意義的內容,進而將其轉換成標準統一的格式。
(3)數據轉化。基于XML的數據集成目標,將各類非標格式得到的數據轉化成具有XML標準格式的中繼數據,這類數據通信性能高且兼容性強,因此被廣泛運用在具體數據解釋中。數據轉化是提前選擇好數據的解釋形式,依據實體識別和預處理產生的數據結果,利用實體-模型映射的過程,轉化成XML標準格式的中繼數據。
中繼數據和數據系統目錄是生成數據索引的前提。配電網數據集成的第一步是創建配電網數據系統目錄,隨后采用一些技術手段來檢查相應數據庫中數據有沒有發生變化。若有新數據產生,則應立即依照上文的流程將數據轉換成統一的中繼數據。根據中繼數據中的內容,從數據系統目錄中獲取有效信息,最后將數據系統目錄通過索引把數據轉換成規范統一的格式,并將規范的數據存儲于分布式存儲系統中[1]。
配電網數據需要先生成標準化的XML中繼數據,然后創建對應的數據系統目錄。配電網非標數據的統一規范標準化處理提升了數據的交互性,為后續的數據存儲、查詢及處理創造了良好的前提條件。圖1為配電網數據聯絡圖,清晰地展示了電網數據和非電網數據中各個字段之間的聯絡關系,為數據存儲優化奠定了基礎。
配電網數據聯絡圖更像是一個網絡拓撲圖,在這張網絡中,獨立的系統平臺類似多種類型的終端設備,而設備ID、地理因素等聯絡字段則相當于傳輸的光纜、網線,各類終端設備進行通信的過程也就是不同系統之間交換數據的過程。接下來將參照該聯絡圖,結合Hadoop相關技術對規范集成的數據進行數據存儲和查詢方式的優化,提升數據存儲和查詢的效率。
配電網大數據的快速發展使配電網絡架構得到優化,負荷預測更加準確、錯峰調節準確度更加精準、節電分析更加精確,也解決了數據數量增加、類型增多、增長速度變快和來源更廣泛等帶來的負面影響,未來更是具有智能、精準等特點,這使得配電網大數據的存儲與查詢向著更好、更長遠的目標發展。
(1)數量大。隨著數據量不斷增多,數據的存儲需求也不斷增加,這就需要存儲系統更加完善,有足夠的空間發揮其效能,保證配電網大數據資源數量得到擴大,為配電網應用提供更好的支撐保障。
(2)完整一致性。電網公司的發展永遠都離不開配電網大數據,數據資產的脆弱性導致其極易被損壞和遺落,若短時間內難以回歸原狀,則電網內多類數據系統的業務都將遭受負面影響,不能正常運行,同時會嚴重滯后電網企業的經濟發展。基于此,數據存儲應當結合分布式技術進行優化,并著眼于數據的備份和恢復,為提升數據存儲的完整一致性提供技術支持[2]。
(3)效率高。數據量在不斷擴大,配電網相關系統需要對大量數據進行快速的計算和分析,要求存儲系統有較強的發送與接收量,滿足海量數據的發送、讀寫等請求,進而使配電網相關系統完成高效率工作。
(4)聯合查詢需求。首先,配電網大數據在時間和空間上具有很強的聯絡特性,需要對不同的分散平臺進行時間和地點的采集工作。其次,隨著數據類型的不斷增多,關聯分析需要從不同數據類型中得到優化升級,從而必須滿足日益增長的數據聯合查詢的需求,這主要依靠于配電網絡架構的優化、錯峰強度的精確度以及節電分析的準確度來進行時空等維度中各類數據的挖掘和分析。
如今,電網公司中的集中式關系型數據庫仍是大部分數據存儲的選擇。但是隨著所存儲數據數量的急劇上升,表現出處理內存缺乏、效率不高、異地數據復制能力差、拓展性不強等明顯的劣勢,這很容易造成有用的數據信息被丟棄,給電網公司帶來巨大損失。Hadoop分布式文件系統(Hadoop Distributed File System,HDFS)可以保證PB級別或更大級別的數據訪問得到安全可靠的存儲保障以及較高的吞吐量。當前,全世界都在普遍研究HDFS的大數據存儲技術,可是現有的研究并沒有針對數據的特征為Hadoop的存儲方式進行優化升級,對于滿足配電網大數據存儲需求還有一定距離[3]。
HDFS對配電網大數據存儲進行優化升級,其實是為了解決數據的分布問題,滿足集群的分布策略。HDFS集群的結構中,包含一個掌管文件系統命脈的名稱節點和很多個存放數據的數據節點。其中,Name端點相當于主管服務器,即Master,用以管理和統籌數據的操作;而Data端點相當于服務器下連接的若干終端,負責存放各類數據[4]。
針對數據集群中節點的負載均衡能力、數據輸送速率以及異地數據復制性能等問題,HDFS能夠自動生成文件多余的3個副本,同時為每一個副本安排一個Data端點用以存儲數據。舊式的分布式文件系統中,數據的分布狀況決定了數據存儲性能的好壞。假設數據集群總體由N個節點組成,存儲工作中提出了M個小要求Mapij,其中要求的編號由i表示,在節點上的位置編號由j表示,存放數據副本的節點是不定的,因此存儲工作中傳送的數據信息的總數量為

式中:B為數據副本的數量;s為數據塊的大小;di為工作劃分小要求Mapij通過第j個數據節點處理數據塊的數量。
數據在進行傳送時,工作劃分的小要求Mapij倘若分別通過不一樣的數據節點獲取數據信息,則它所消耗的時間也不相同。當工作劃分的小要求Mapij用到的數據塊所屬node不在本地時,將小要求Mapij和數據塊的位置在同一機柜的概率設置為p1,同一機柜的不同node之間傳輸數據的耗時設成q1,小要求Mapij和數據塊的位置在不同機柜的概率設置為p2,不同機柜的不同node之間傳輸數據的耗時設成q2,那么將整個數據存儲工作的耗時記為

通過式(2)可知,當分布式集群節點總數、數據副本個數、數據塊數量以及節點之間傳輸數據耗時等參數不變時,數據分布狀態的好壞將會影響數據查詢及處理操作效率的高低。因此,應當盡量把相關聯的數據存儲在HDFS集群的相同節點中,同時也滿足了數據查詢與計算,使其在同一節點上進行,不僅促進了查詢任務,而且提升了計算速度。
如今,鏈地址算法經常被運用于數據的分布式存儲中,用以解決相同鏈接地址索引中因數據過量而引發的數據存儲效率低下的問題。鏈地址算法是在數據存儲遇到沖突時,把具有一樣地址的數據鏈接后面。本文對以上集成好的數據,結合HDFS相關技術采用鏈地址算法對配電網數據存儲加以優化,鏈地址存儲示意如圖2所示。

圖2 鏈地址存儲示意
(1)主管節點負責對所有中繼數據的管理,從屬節點負責具體數據的存儲。通過給各類數據添加3個存儲副本,實現安全可靠的存儲。配電網大數據具有類型多樣化、格式不一致以及約束條款復雜等特點,數據集成也因此變得困難。本文使用鏈地址進行數據存儲算法優化,電網及非電網的數據基本都是通過設備ID和地理位置等字段來進行聯絡,將設備ID和地理位置當成電網數據和非電網數據的關鍵聯絡字段,對后文數據的聯合查詢起到促進作用[5]。
(2)在存儲數據時,首先根據聯絡字段的散列值把數據的關鍵副本,也就是1號數據副本存放于不一樣的容器里,其次把位于一個容器中的所有數據放置于能夠通過地址鏈接到分布式文件系統多個目錄的一個數據節點中,最后完成具有聯絡關系的數據統一存儲任務。
(3)針對數據集群中節點的負載均衡能力、數據輸送速率以及異地數據復制性能等問題,將2號數據副本和3號數據副本與別的數據節點對應,并把數據放進去。通常把存放1號、2號數據副本的數據節點放置在不相同的機柜中,而存放1號、3號數據副本的數據節點可以放置在相同的機柜中。
(4)由于負載均衡能力與數據數量大小的差異性,本文對所有Data端點里的數據塊分類。在對數據存儲時,還應該保證數據具有有序性和規律性,關鍵數據副本的存儲需要把一個字段當成排列順序的依據,從而達成數據按序存儲的目標。
傳統的數據聯合查詢過程中,依據地理位置信息與設備ID號多表聯合查詢時,需要綜合考慮網絡架構的升級優化情況、電力負荷預測情況以及節電分析精確度、錯峰調節準確度等配電網需求來提升數據采集和查詢的效率。在進行網絡架構升級優化時,需要結合氣候狀況、經濟條件及地理位置等要素對現存網絡架構產生的影響進行研究和分析,進而實現網絡架構的合理化升級。依據設備的臺賬信息(設備ID、設備類型、設備定位、投運日期等)、用電負荷信息(采集信息、采集負荷等)、地理位置信息(地域編號、用地性質、統計日期等)、氣候狀況信息以及經濟條件信息等對配電網數據進行規范化集成,數據量大、效率低。
為了解決傳統的數據聯合查詢數據量大、效率低的特點,本文設計了一種結合MapReduce模型的配電網數據聯合查詢技術,優化配電網大數據鏈地址數據存儲算法。首先確定聯絡不同表的關鍵字段,盡可能地在MapTask流程中完成對配電網數據的查詢、重組等任務,省略ReduceTask部分的工作,同時結合關鍵聯絡字段優化數據存儲,在同一節點上完成查詢、重組等任務。該技術大大提升了數據信息交互的速率,滿足用戶對數據高速查詢的需求,以下是數據聯合查詢的具體流程。
首先,通過調研得知查詢任務的要求,把聯絡不同表的關鍵字段確定下來,同時建立對應的聯合查詢工作流程。其次,研究查詢的數據在HDFS數據集群里聚類的效果,在MapTask流程中通過Map函數對數據信息掃描,并關聯重組后得到需求的數據。最后,通過省略掉ReduceTask部分的工作,MapTask流程結合關鍵聯絡字段直接把符合查詢要求的數據歸并在一起進行整合,得到聯合查詢的輸出結果。
根據具體流程可以看出,各個相對獨立的數據表經過MapReduce模型的優化后,數據之間的關聯性明顯加強,同時也極大地提高了數據查詢的效率。本文分析了HDFS分布式存儲,并提出基于鏈地址的配電網數據關聯性存儲算法優化方式,將數據存儲分布優化升級,逐步完成關聯數據的集中存儲,有效提升了數據存儲和查詢的效率。