呂穎利,李春光
(濟(jì)源職業(yè)技術(shù)學(xué)院,河南 濟(jì)源 459000)
隨著社會(huì)用電需求的快速增長(zhǎng),配電網(wǎng)大數(shù)據(jù)數(shù)量逐漸增加,類型多、增長(zhǎng)速度變快,這對(duì)數(shù)據(jù)資源的存儲(chǔ)與查詢有了極高的要求。本文以配電網(wǎng)數(shù)據(jù)分布不集中的問(wèn)題為出發(fā)點(diǎn),結(jié)合使用中間件集成平臺(tái)等完成配電網(wǎng)大數(shù)據(jù)的分級(jí)存儲(chǔ)管理。以分級(jí)存儲(chǔ)管理為基礎(chǔ),結(jié)合可擴(kuò)展標(biāo)記語(yǔ)言(eXtensible Markup Language,XML)等相關(guān)技術(shù)手段,將各類數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)統(tǒng)一化的中繼數(shù)據(jù)格式,從數(shù)據(jù)庫(kù)中調(diào)取出與實(shí)際中繼數(shù)據(jù)相對(duì)應(yīng)的數(shù)據(jù)系統(tǒng)目錄,并將實(shí)際數(shù)據(jù)映射成統(tǒng)一規(guī)范的存儲(chǔ)格式,為數(shù)據(jù)存儲(chǔ)、查詢和處理奠定基礎(chǔ)以規(guī)范化集成后的標(biāo)準(zhǔn)數(shù)據(jù)為基石,探究配電網(wǎng)數(shù)據(jù)關(guān)聯(lián)性存儲(chǔ),提出鏈地址數(shù)據(jù)存儲(chǔ)算法。對(duì)數(shù)據(jù)查詢方式進(jìn)行優(yōu)化升級(jí),提出了基于MapReduce的配電網(wǎng)大數(shù)據(jù)聯(lián)合查詢方式,提升了數(shù)據(jù)存儲(chǔ)和查詢的效率。
配電網(wǎng)數(shù)據(jù)的識(shí)別、處理以及轉(zhuǎn)換是數(shù)據(jù)智能集成的幾個(gè)重要過(guò)程,如何將格式不一致數(shù)據(jù)轉(zhuǎn)化成標(biāo)準(zhǔn)XML格式的中繼數(shù)據(jù)更是重中之重。配電網(wǎng)數(shù)據(jù)的XML中繼數(shù)據(jù)生成流程如下。
(1)實(shí)體識(shí)別。具體包括屬性提取、類型劃分以及內(nèi)容甄別等操作。屬性提取是按照數(shù)據(jù)的特征,即數(shù)據(jù)的性質(zhì)和關(guān)系等將數(shù)據(jù)的屬性抽取出來(lái);類型劃分是在屬性提取后進(jìn)行類型劃分,包括電網(wǎng)數(shù)據(jù)和非電網(wǎng)數(shù)據(jù)兩類;內(nèi)容甄別的主要做法是將損壞數(shù)據(jù)和數(shù)據(jù)里重復(fù)的部分甄別出并淘汰。
(2)數(shù)據(jù)預(yù)處理。實(shí)體識(shí)別后的數(shù)據(jù)中仍有部分臟數(shù)據(jù)存在,這些數(shù)據(jù)存在會(huì)對(duì)后續(xù)的數(shù)據(jù)挖掘操作形成很大的阻礙,這時(shí)需要對(duì)其進(jìn)行預(yù)處理操作。結(jié)合對(duì)圖形像素、文本結(jié)構(gòu)等的研究分析,從這些數(shù)據(jù)中分離出有意義的內(nèi)容,進(jìn)而將其轉(zhuǎn)換成標(biāo)準(zhǔn)統(tǒng)一的格式。
(3)數(shù)據(jù)轉(zhuǎn)化?;赬ML的數(shù)據(jù)集成目標(biāo),將各類非標(biāo)格式得到的數(shù)據(jù)轉(zhuǎn)化成具有XML標(biāo)準(zhǔn)格式的中繼數(shù)據(jù),這類數(shù)據(jù)通信性能高且兼容性強(qiáng),因此被廣泛運(yùn)用在具體數(shù)據(jù)解釋中。數(shù)據(jù)轉(zhuǎn)化是提前選擇好數(shù)據(jù)的解釋形式,依據(jù)實(shí)體識(shí)別和預(yù)處理產(chǎn)生的數(shù)據(jù)結(jié)果,利用實(shí)體-模型映射的過(guò)程,轉(zhuǎn)化成XML標(biāo)準(zhǔn)格式的中繼數(shù)據(jù)。
中繼數(shù)據(jù)和數(shù)據(jù)系統(tǒng)目錄是生成數(shù)據(jù)索引的前提。配電網(wǎng)數(shù)據(jù)集成的第一步是創(chuàng)建配電網(wǎng)數(shù)據(jù)系統(tǒng)目錄,隨后采用一些技術(shù)手段來(lái)檢查相應(yīng)數(shù)據(jù)庫(kù)中數(shù)據(jù)有沒(méi)有發(fā)生變化。若有新數(shù)據(jù)產(chǎn)生,則應(yīng)立即依照上文的流程將數(shù)據(jù)轉(zhuǎn)換成統(tǒng)一的中繼數(shù)據(jù)。根據(jù)中繼數(shù)據(jù)中的內(nèi)容,從數(shù)據(jù)系統(tǒng)目錄中獲取有效信息,最后將數(shù)據(jù)系統(tǒng)目錄通過(guò)索引把數(shù)據(jù)轉(zhuǎn)換成規(guī)范統(tǒng)一的格式,并將規(guī)范的數(shù)據(jù)存儲(chǔ)于分布式存儲(chǔ)系統(tǒng)中[1]。
配電網(wǎng)數(shù)據(jù)需要先生成標(biāo)準(zhǔn)化的XML中繼數(shù)據(jù),然后創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)系統(tǒng)目錄。配電網(wǎng)非標(biāo)數(shù)據(jù)的統(tǒng)一規(guī)范標(biāo)準(zhǔn)化處理提升了數(shù)據(jù)的交互性,為后續(xù)的數(shù)據(jù)存儲(chǔ)、查詢及處理創(chuàng)造了良好的前提條件。圖1為配電網(wǎng)數(shù)據(jù)聯(lián)絡(luò)圖,清晰地展示了電網(wǎng)數(shù)據(jù)和非電網(wǎng)數(shù)據(jù)中各個(gè)字段之間的聯(lián)絡(luò)關(guān)系,為數(shù)據(jù)存儲(chǔ)優(yōu)化奠定了基礎(chǔ)。
配電網(wǎng)數(shù)據(jù)聯(lián)絡(luò)圖更像是一個(gè)網(wǎng)絡(luò)拓?fù)鋱D,在這張網(wǎng)絡(luò)中,獨(dú)立的系統(tǒng)平臺(tái)類似多種類型的終端設(shè)備,而設(shè)備ID、地理因素等聯(lián)絡(luò)字段則相當(dāng)于傳輸?shù)墓饫|、網(wǎng)線,各類終端設(shè)備進(jìn)行通信的過(guò)程也就是不同系統(tǒng)之間交換數(shù)據(jù)的過(guò)程。接下來(lái)將參照該聯(lián)絡(luò)圖,結(jié)合Hadoop相關(guān)技術(shù)對(duì)規(guī)范集成的數(shù)據(jù)進(jìn)行數(shù)據(jù)存儲(chǔ)和查詢方式的優(yōu)化,提升數(shù)據(jù)存儲(chǔ)和查詢的效率。
配電網(wǎng)大數(shù)據(jù)的快速發(fā)展使配電網(wǎng)絡(luò)架構(gòu)得到優(yōu)化,負(fù)荷預(yù)測(cè)更加準(zhǔn)確、錯(cuò)峰調(diào)節(jié)準(zhǔn)確度更加精準(zhǔn)、節(jié)電分析更加精確,也解決了數(shù)據(jù)數(shù)量增加、類型增多、增長(zhǎng)速度變快和來(lái)源更廣泛等帶來(lái)的負(fù)面影響,未來(lái)更是具有智能、精準(zhǔn)等特點(diǎn),這使得配電網(wǎng)大數(shù)據(jù)的存儲(chǔ)與查詢向著更好、更長(zhǎng)遠(yuǎn)的目標(biāo)發(fā)展。
(1)數(shù)量大。隨著數(shù)據(jù)量不斷增多,數(shù)據(jù)的存儲(chǔ)需求也不斷增加,這就需要存儲(chǔ)系統(tǒng)更加完善,有足夠的空間發(fā)揮其效能,保證配電網(wǎng)大數(shù)據(jù)資源數(shù)量得到擴(kuò)大,為配電網(wǎng)應(yīng)用提供更好的支撐保障。
(2)完整一致性。電網(wǎng)公司的發(fā)展永遠(yuǎn)都離不開(kāi)配電網(wǎng)大數(shù)據(jù),數(shù)據(jù)資產(chǎn)的脆弱性導(dǎo)致其極易被損壞和遺落,若短時(shí)間內(nèi)難以回歸原狀,則電網(wǎng)內(nèi)多類數(shù)據(jù)系統(tǒng)的業(yè)務(wù)都將遭受負(fù)面影響,不能正常運(yùn)行,同時(shí)會(huì)嚴(yán)重滯后電網(wǎng)企業(yè)的經(jīng)濟(jì)發(fā)展?;诖?,數(shù)據(jù)存儲(chǔ)應(yīng)當(dāng)結(jié)合分布式技術(shù)進(jìn)行優(yōu)化,并著眼于數(shù)據(jù)的備份和恢復(fù),為提升數(shù)據(jù)存儲(chǔ)的完整一致性提供技術(shù)支持[2]。
(3)效率高。數(shù)據(jù)量在不斷擴(kuò)大,配電網(wǎng)相關(guān)系統(tǒng)需要對(duì)大量數(shù)據(jù)進(jìn)行快速的計(jì)算和分析,要求存儲(chǔ)系統(tǒng)有較強(qiáng)的發(fā)送與接收量,滿足海量數(shù)據(jù)的發(fā)送、讀寫(xiě)等請(qǐng)求,進(jìn)而使配電網(wǎng)相關(guān)系統(tǒng)完成高效率工作。
(4)聯(lián)合查詢需求。首先,配電網(wǎng)大數(shù)據(jù)在時(shí)間和空間上具有很強(qiáng)的聯(lián)絡(luò)特性,需要對(duì)不同的分散平臺(tái)進(jìn)行時(shí)間和地點(diǎn)的采集工作。其次,隨著數(shù)據(jù)類型的不斷增多,關(guān)聯(lián)分析需要從不同數(shù)據(jù)類型中得到優(yōu)化升級(jí),從而必須滿足日益增長(zhǎng)的數(shù)據(jù)聯(lián)合查詢的需求,這主要依靠于配電網(wǎng)絡(luò)架構(gòu)的優(yōu)化、錯(cuò)峰強(qiáng)度的精確度以及節(jié)電分析的準(zhǔn)確度來(lái)進(jìn)行時(shí)空等維度中各類數(shù)據(jù)的挖掘和分析。
如今,電網(wǎng)公司中的集中式關(guān)系型數(shù)據(jù)庫(kù)仍是大部分?jǐn)?shù)據(jù)存儲(chǔ)的選擇。但是隨著所存儲(chǔ)數(shù)據(jù)數(shù)量的急劇上升,表現(xiàn)出處理內(nèi)存缺乏、效率不高、異地?cái)?shù)據(jù)復(fù)制能力差、拓展性不強(qiáng)等明顯的劣勢(shì),這很容易造成有用的數(shù)據(jù)信息被丟棄,給電網(wǎng)公司帶來(lái)巨大損失。Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)可以保證PB級(jí)別或更大級(jí)別的數(shù)據(jù)訪問(wèn)得到安全可靠的存儲(chǔ)保障以及較高的吞吐量。當(dāng)前,全世界都在普遍研究HDFS的大數(shù)據(jù)存儲(chǔ)技術(shù),可是現(xiàn)有的研究并沒(méi)有針對(duì)數(shù)據(jù)的特征為Hadoop的存儲(chǔ)方式進(jìn)行優(yōu)化升級(jí),對(duì)于滿足配電網(wǎng)大數(shù)據(jù)存儲(chǔ)需求還有一定距離[3]。
HDFS對(duì)配電網(wǎng)大數(shù)據(jù)存儲(chǔ)進(jìn)行優(yōu)化升級(jí),其實(shí)是為了解決數(shù)據(jù)的分布問(wèn)題,滿足集群的分布策略。HDFS集群的結(jié)構(gòu)中,包含一個(gè)掌管文件系統(tǒng)命脈的名稱節(jié)點(diǎn)和很多個(gè)存放數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)。其中,Name端點(diǎn)相當(dāng)于主管服務(wù)器,即Master,用以管理和統(tǒng)籌數(shù)據(jù)的操作;而Data端點(diǎn)相當(dāng)于服務(wù)器下連接的若干終端,負(fù)責(zé)存放各類數(shù)據(jù)[4]。
針對(duì)數(shù)據(jù)集群中節(jié)點(diǎn)的負(fù)載均衡能力、數(shù)據(jù)輸送速率以及異地?cái)?shù)據(jù)復(fù)制性能等問(wèn)題,HDFS能夠自動(dòng)生成文件多余的3個(gè)副本,同時(shí)為每一個(gè)副本安排一個(gè)Data端點(diǎn)用以存儲(chǔ)數(shù)據(jù)。舊式的分布式文件系統(tǒng)中,數(shù)據(jù)的分布狀況決定了數(shù)據(jù)存儲(chǔ)性能的好壞。假設(shè)數(shù)據(jù)集群總體由N個(gè)節(jié)點(diǎn)組成,存儲(chǔ)工作中提出了M個(gè)小要求Mapij,其中要求的編號(hào)由i表示,在節(jié)點(diǎn)上的位置編號(hào)由j表示,存放數(shù)據(jù)副本的節(jié)點(diǎn)是不定的,因此存儲(chǔ)工作中傳送的數(shù)據(jù)信息的總數(shù)量為
式中:B為數(shù)據(jù)副本的數(shù)量;s為數(shù)據(jù)塊的大?。籨i為工作劃分小要求Mapij通過(guò)第j個(gè)數(shù)據(jù)節(jié)點(diǎn)處理數(shù)據(jù)塊的數(shù)量。
數(shù)據(jù)在進(jìn)行傳送時(shí),工作劃分的小要求Mapij倘若分別通過(guò)不一樣的數(shù)據(jù)節(jié)點(diǎn)獲取數(shù)據(jù)信息,則它所消耗的時(shí)間也不相同。當(dāng)工作劃分的小要求Mapij用到的數(shù)據(jù)塊所屬node不在本地時(shí),將小要求Mapij和數(shù)據(jù)塊的位置在同一機(jī)柜的概率設(shè)置為p1,同一機(jī)柜的不同node之間傳輸數(shù)據(jù)的耗時(shí)設(shè)成q1,小要求Mapij和數(shù)據(jù)塊的位置在不同機(jī)柜的概率設(shè)置為p2,不同機(jī)柜的不同node之間傳輸數(shù)據(jù)的耗時(shí)設(shè)成q2,那么將整個(gè)數(shù)據(jù)存儲(chǔ)工作的耗時(shí)記為
通過(guò)式(2)可知,當(dāng)分布式集群節(jié)點(diǎn)總數(shù)、數(shù)據(jù)副本個(gè)數(shù)、數(shù)據(jù)塊數(shù)量以及節(jié)點(diǎn)之間傳輸數(shù)據(jù)耗時(shí)等參數(shù)不變時(shí),數(shù)據(jù)分布狀態(tài)的好壞將會(huì)影響數(shù)據(jù)查詢及處理操作效率的高低。因此,應(yīng)當(dāng)盡量把相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)在HDFS集群的相同節(jié)點(diǎn)中,同時(shí)也滿足了數(shù)據(jù)查詢與計(jì)算,使其在同一節(jié)點(diǎn)上進(jìn)行,不僅促進(jìn)了查詢?nèi)蝿?wù),而且提升了計(jì)算速度。
如今,鏈地址算法經(jīng)常被運(yùn)用于數(shù)據(jù)的分布式存儲(chǔ)中,用以解決相同鏈接地址索引中因數(shù)據(jù)過(guò)量而引發(fā)的數(shù)據(jù)存儲(chǔ)效率低下的問(wèn)題。鏈地址算法是在數(shù)據(jù)存儲(chǔ)遇到?jīng)_突時(shí),把具有一樣地址的數(shù)據(jù)鏈接后面。本文對(duì)以上集成好的數(shù)據(jù),結(jié)合HDFS相關(guān)技術(shù)采用鏈地址算法對(duì)配電網(wǎng)數(shù)據(jù)存儲(chǔ)加以優(yōu)化,鏈地址存儲(chǔ)示意如圖2所示。
圖2 鏈地址存儲(chǔ)示意
(1)主管節(jié)點(diǎn)負(fù)責(zé)對(duì)所有中繼數(shù)據(jù)的管理,從屬節(jié)點(diǎn)負(fù)責(zé)具體數(shù)據(jù)的存儲(chǔ)。通過(guò)給各類數(shù)據(jù)添加3個(gè)存儲(chǔ)副本,實(shí)現(xiàn)安全可靠的存儲(chǔ)。配電網(wǎng)大數(shù)據(jù)具有類型多樣化、格式不一致以及約束條款復(fù)雜等特點(diǎn),數(shù)據(jù)集成也因此變得困難。本文使用鏈地址進(jìn)行數(shù)據(jù)存儲(chǔ)算法優(yōu)化,電網(wǎng)及非電網(wǎng)的數(shù)據(jù)基本都是通過(guò)設(shè)備ID和地理位置等字段來(lái)進(jìn)行聯(lián)絡(luò),將設(shè)備ID和地理位置當(dāng)成電網(wǎng)數(shù)據(jù)和非電網(wǎng)數(shù)據(jù)的關(guān)鍵聯(lián)絡(luò)字段,對(duì)后文數(shù)據(jù)的聯(lián)合查詢起到促進(jìn)作用[5]。
(2)在存儲(chǔ)數(shù)據(jù)時(shí),首先根據(jù)聯(lián)絡(luò)字段的散列值把數(shù)據(jù)的關(guān)鍵副本,也就是1號(hào)數(shù)據(jù)副本存放于不一樣的容器里,其次把位于一個(gè)容器中的所有數(shù)據(jù)放置于能夠通過(guò)地址鏈接到分布式文件系統(tǒng)多個(gè)目錄的一個(gè)數(shù)據(jù)節(jié)點(diǎn)中,最后完成具有聯(lián)絡(luò)關(guān)系的數(shù)據(jù)統(tǒng)一存儲(chǔ)任務(wù)。
(3)針對(duì)數(shù)據(jù)集群中節(jié)點(diǎn)的負(fù)載均衡能力、數(shù)據(jù)輸送速率以及異地?cái)?shù)據(jù)復(fù)制性能等問(wèn)題,將2號(hào)數(shù)據(jù)副本和3號(hào)數(shù)據(jù)副本與別的數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng),并把數(shù)據(jù)放進(jìn)去。通常把存放1號(hào)、2號(hào)數(shù)據(jù)副本的數(shù)據(jù)節(jié)點(diǎn)放置在不相同的機(jī)柜中,而存放1號(hào)、3號(hào)數(shù)據(jù)副本的數(shù)據(jù)節(jié)點(diǎn)可以放置在相同的機(jī)柜中。
(4)由于負(fù)載均衡能力與數(shù)據(jù)數(shù)量大小的差異性,本文對(duì)所有Data端點(diǎn)里的數(shù)據(jù)塊分類。在對(duì)數(shù)據(jù)存儲(chǔ)時(shí),還應(yīng)該保證數(shù)據(jù)具有有序性和規(guī)律性,關(guān)鍵數(shù)據(jù)副本的存儲(chǔ)需要把一個(gè)字段當(dāng)成排列順序的依據(jù),從而達(dá)成數(shù)據(jù)按序存儲(chǔ)的目標(biāo)。
傳統(tǒng)的數(shù)據(jù)聯(lián)合查詢過(guò)程中,依據(jù)地理位置信息與設(shè)備ID號(hào)多表聯(lián)合查詢時(shí),需要綜合考慮網(wǎng)絡(luò)架構(gòu)的升級(jí)優(yōu)化情況、電力負(fù)荷預(yù)測(cè)情況以及節(jié)電分析精確度、錯(cuò)峰調(diào)節(jié)準(zhǔn)確度等配電網(wǎng)需求來(lái)提升數(shù)據(jù)采集和查詢的效率。在進(jìn)行網(wǎng)絡(luò)架構(gòu)升級(jí)優(yōu)化時(shí),需要結(jié)合氣候狀況、經(jīng)濟(jì)條件及地理位置等要素對(duì)現(xiàn)存網(wǎng)絡(luò)架構(gòu)產(chǎn)生的影響進(jìn)行研究和分析,進(jìn)而實(shí)現(xiàn)網(wǎng)絡(luò)架構(gòu)的合理化升級(jí)。依據(jù)設(shè)備的臺(tái)賬信息(設(shè)備ID、設(shè)備類型、設(shè)備定位、投運(yùn)日期等)、用電負(fù)荷信息(采集信息、采集負(fù)荷等)、地理位置信息(地域編號(hào)、用地性質(zhì)、統(tǒng)計(jì)日期等)、氣候狀況信息以及經(jīng)濟(jì)條件信息等對(duì)配電網(wǎng)數(shù)據(jù)進(jìn)行規(guī)范化集成,數(shù)據(jù)量大、效率低。
為了解決傳統(tǒng)的數(shù)據(jù)聯(lián)合查詢數(shù)據(jù)量大、效率低的特點(diǎn),本文設(shè)計(jì)了一種結(jié)合MapReduce模型的配電網(wǎng)數(shù)據(jù)聯(lián)合查詢技術(shù),優(yōu)化配電網(wǎng)大數(shù)據(jù)鏈地址數(shù)據(jù)存儲(chǔ)算法。首先確定聯(lián)絡(luò)不同表的關(guān)鍵字段,盡可能地在MapTask流程中完成對(duì)配電網(wǎng)數(shù)據(jù)的查詢、重組等任務(wù),省略ReduceTask部分的工作,同時(shí)結(jié)合關(guān)鍵聯(lián)絡(luò)字段優(yōu)化數(shù)據(jù)存儲(chǔ),在同一節(jié)點(diǎn)上完成查詢、重組等任務(wù)。該技術(shù)大大提升了數(shù)據(jù)信息交互的速率,滿足用戶對(duì)數(shù)據(jù)高速查詢的需求,以下是數(shù)據(jù)聯(lián)合查詢的具體流程。
首先,通過(guò)調(diào)研得知查詢?nèi)蝿?wù)的要求,把聯(lián)絡(luò)不同表的關(guān)鍵字段確定下來(lái),同時(shí)建立對(duì)應(yīng)的聯(lián)合查詢工作流程。其次,研究查詢的數(shù)據(jù)在HDFS數(shù)據(jù)集群里聚類的效果,在MapTask流程中通過(guò)Map函數(shù)對(duì)數(shù)據(jù)信息掃描,并關(guān)聯(lián)重組后得到需求的數(shù)據(jù)。最后,通過(guò)省略掉ReduceTask部分的工作,MapTask流程結(jié)合關(guān)鍵聯(lián)絡(luò)字段直接把符合查詢要求的數(shù)據(jù)歸并在一起進(jìn)行整合,得到聯(lián)合查詢的輸出結(jié)果。
根據(jù)具體流程可以看出,各個(gè)相對(duì)獨(dú)立的數(shù)據(jù)表經(jīng)過(guò)MapReduce模型的優(yōu)化后,數(shù)據(jù)之間的關(guān)聯(lián)性明顯加強(qiáng),同時(shí)也極大地提高了數(shù)據(jù)查詢的效率。本文分析了HDFS分布式存儲(chǔ),并提出基于鏈地址的配電網(wǎng)數(shù)據(jù)關(guān)聯(lián)性存儲(chǔ)算法優(yōu)化方式,將數(shù)據(jù)存儲(chǔ)分布優(yōu)化升級(jí),逐步完成關(guān)聯(lián)數(shù)據(jù)的集中存儲(chǔ),有效提升了數(shù)據(jù)存儲(chǔ)和查詢的效率。