胡楠,楊壯觀,李峰,李亮
(國(guó)網(wǎng)遼寧省電力有限公司信息通信分公司 遼寧 沈陽(yáng) 110000)
基于GIS的電網(wǎng)地理信息分布式數(shù)據(jù)挖掘
胡楠,楊壯觀,李峰,李亮
(國(guó)網(wǎng)遼寧省電力有限公司信息通信分公司 遼寧 沈陽(yáng) 110000)
MapReduce是現(xiàn)有大數(shù)據(jù)平臺(tái)中典型的分布式并行計(jì)算編程模型,在大數(shù)據(jù)處理中被廣泛應(yīng)用于電網(wǎng)綜合系統(tǒng)中。由于MapReduce屏蔽底層復(fù)雜的數(shù)據(jù)源連接,將不同數(shù)據(jù)源映射為統(tǒng)一的接口,有效地為智能電網(wǎng)一體化平臺(tái)(IMS)監(jiān)管系統(tǒng)上層應(yīng)用提供對(duì)異構(gòu)數(shù)據(jù)的訪問(wèn),成為現(xiàn)階段數(shù)據(jù)分析需要解決的問(wèn)題。本文將針對(duì)電網(wǎng)海量GIS信息數(shù)據(jù)及其對(duì)電網(wǎng)調(diào)度幾種控制系統(tǒng)帶來(lái)的數(shù)據(jù)存取問(wèn)題,采用Hadoop HDFS進(jìn)行海量GIS電網(wǎng)地理信息數(shù)據(jù)存取,利用MapReduce,設(shè)計(jì)面向HDFS、HBase和Mysql數(shù)據(jù)庫(kù)的多數(shù)據(jù)源的統(tǒng)一數(shù)據(jù)模型,集成數(shù)據(jù)操作代碼,減少重復(fù)代碼,提高開(kāi)發(fā)效率。
電網(wǎng)系統(tǒng);GIS;MapReduce;分布式計(jì)算
地理信息數(shù)據(jù)平臺(tái)是為了加強(qiáng)硬件及軟件業(yè)務(wù)緊密型,將業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)形成地圖位置。將設(shè)備數(shù)據(jù)與應(yīng)用軟件數(shù)據(jù)及非結(jié)構(gòu)化數(shù)據(jù)繪制出一張靈活、立體的“全公司一張網(wǎng)”,是加強(qiáng)智能電網(wǎng)建設(shè)的綜合展現(xiàn)平臺(tái)與輔助規(guī)劃決策基礎(chǔ)支撐平臺(tái)[1-4]。傳統(tǒng)的高壓采用單一的輸電線路對(duì)電塔進(jìn)行定位[5],但是一旦輸電線路因老化等因素導(dǎo)致無(wú)法及時(shí)準(zhǔn)確地定位高壓電塔位置,進(jìn)而無(wú)法合理地調(diào)控電力輸送,將可能發(fā)現(xiàn)區(qū)域性大面積斷電等事故[6-8]。近年來(lái),我國(guó)采用的輸電線路技術(shù)及移頻自閉技術(shù)對(duì)高壓電塔位置區(qū)段進(jìn)行定位的方法,其數(shù)據(jù)丟失現(xiàn)象時(shí)有發(fā)生[7],對(duì)使用與調(diào)度指揮的安全可靠性構(gòu)成巨大挑戰(zhàn)。因此,智能電網(wǎng)一體化平臺(tái)IMS監(jiān)管系統(tǒng)迫切需要可靠的、低成本的新型高壓電塔定位系統(tǒng),以實(shí)現(xiàn)對(duì)高壓電塔的實(shí)時(shí)定位監(jiān)控[9]。
通過(guò)分析計(jì)算現(xiàn)有GIS電網(wǎng)數(shù)據(jù),可以發(fā)現(xiàn)數(shù)據(jù)中蘊(yùn)含的規(guī)律與價(jià)值,從而讓信息更好的服務(wù)于電網(wǎng)工業(yè)的發(fā)展。然而,面對(duì)著TB及甚至PB級(jí)的數(shù)據(jù)量,傳統(tǒng)的數(shù)據(jù)挖掘處理方式已經(jīng)無(wú)法滿足智能電網(wǎng)的需求[10]。MapReduce是 Hadoop平臺(tái)的分布式并行計(jì)算編程模型,在GIS大數(shù)據(jù)并行處理中被廣泛應(yīng)用[11-13]。隨著應(yīng)用越來(lái)越廣泛,MapReduce需要面對(duì)的數(shù)據(jù)也越來(lái)越多樣化。通常,MapReduce所處理的數(shù)據(jù)可能會(huì)來(lái)自于HDFS、HBase、關(guān)系型數(shù)據(jù)庫(kù),不同的數(shù)據(jù)源需要不同的連接方式[14]。面對(duì)著GIS數(shù)據(jù)源的多樣化與連接方式的復(fù)雜性,MapReduce原有的GIS數(shù)據(jù)輸入方式難免會(huì)顯得復(fù)雜繁瑣。本文提出基于Hadoop的MapReduce分布式計(jì)算框架,將不同的GIS電網(wǎng)地理信息數(shù)據(jù)源提取方法整合成一個(gè)統(tǒng)一的數(shù)據(jù)模型,對(duì)外發(fā)布統(tǒng)一的接口,并使用函數(shù)封裝,提高程序開(kāi)發(fā)效率。同時(shí),由于采用分布式平臺(tái)處理框架,數(shù)據(jù)處理的時(shí)效性和高容錯(cuò)性也能得到保障。
1.1 MapReduce與傳統(tǒng)數(shù)據(jù)處理比較
與傳統(tǒng)數(shù)據(jù)處理相比 ,MapReduce具有分布式并行處理能力,在計(jì)算處理巨大GIS電網(wǎng)地理數(shù)據(jù)量信息時(shí),具有很大優(yōu)勢(shì)。具體對(duì)兩種處理方式進(jìn)行比較分析。
傳統(tǒng)的GIS電網(wǎng)數(shù)據(jù)存儲(chǔ)和計(jì)算通常使用關(guān)系型數(shù)據(jù)庫(kù)[15]。關(guān)系型數(shù)據(jù)庫(kù)的興起和廣泛應(yīng)用一度解決了數(shù)據(jù)存儲(chǔ)以及操作的問(wèn)題。然而,大數(shù)據(jù)時(shí)代的來(lái)臨,使GIS電網(wǎng)關(guān)系型數(shù)據(jù)庫(kù)的存儲(chǔ)與處理能力捉襟見(jiàn)肘。對(duì)于有限數(shù)據(jù)量的紀(jì)錄,關(guān)系型數(shù)據(jù)庫(kù)性能優(yōu)異,隨著數(shù)據(jù)量的動(dòng)態(tài)增長(zhǎng),關(guān)系型數(shù)據(jù)庫(kù)暴露出了一定的不足之處。關(guān)系型數(shù)據(jù)庫(kù)的一致性和正確性的特點(diǎn),不得不讓它從 更換硬件的角度來(lái)擴(kuò)展處理節(jié)點(diǎn)的能力。這樣無(wú)疑會(huì)帶來(lái)很大的經(jīng)濟(jì)開(kāi)銷。相比之下,分布式基礎(chǔ)框架Hadoop分布式存儲(chǔ)與處理框架MapReduce解決了上述問(wèn)題。它具有有效分割大規(guī)模數(shù)據(jù)并合理分配任務(wù)的優(yōu)勢(shì)。作為面向大數(shù)據(jù)分析和處理的并行計(jì)算模型,MapReduce技術(shù)致力于通過(guò)IMS監(jiān)管系統(tǒng)集群實(shí)現(xiàn)大數(shù)據(jù)的并行處理,而且MapReduce把擴(kuò)展性和系統(tǒng)可重用性放在了優(yōu)先考慮的位置。
1.2 MapReduce工作過(guò)程
Hadoop是當(dāng)今流行的分布式系統(tǒng)基礎(chǔ)架構(gòu)。該框架最核心的兩個(gè)設(shè)計(jì)分別是:HDFS和MapReduce。HDFS是分布式文件系統(tǒng)(Hadoop Distributed File System),可以創(chuàng)建、刪除、移動(dòng)或重命名文件等。MapReduce則是用于并行處理大數(shù)據(jù)集的編程模型。改進(jìn)的MapReduce數(shù)據(jù)源連接方式,工作過(guò)程如下:
MapRecude的輸入都是以分片為單位,默認(rèn)情況下,以HDFS的一個(gè)塊的大小(默認(rèn)為64M)為一個(gè)分片[17]。Mapper處理這些分片信息,根據(jù)處理邏輯,將數(shù)據(jù)轉(zhuǎn)換為鍵值對(duì)列表。輸出的結(jié)果會(huì)暫且放在一個(gè)環(huán)形內(nèi)存緩沖區(qū)中[16]。這些結(jié)果會(huì)經(jīng)過(guò)Shuffle分配給相應(yīng)的Reducer來(lái)處理,最后輸出想要的結(jié)果。此過(guò)程的流程示如圖1所示。
圖1 MapReduce工作流程
1.3 GIS電網(wǎng)感知信息的分類
當(dāng)有IMS管理員對(duì)分布式網(wǎng)絡(luò)感知信息存儲(chǔ)系統(tǒng)進(jìn)行存儲(chǔ)和查詢操作時(shí),首先要解決的問(wèn)題是對(duì)GIS網(wǎng)絡(luò)感知信息中的動(dòng)態(tài)信息和靜態(tài)信息進(jìn)行分類識(shí)別,該功能由執(zhí)行層中的識(shí)別接口完成。分布式網(wǎng)絡(luò)感知信息存儲(chǔ)系統(tǒng)會(huì)預(yù)先對(duì)網(wǎng)絡(luò)感知GIS電網(wǎng)地理信息中動(dòng)態(tài)信息和靜態(tài)信息的Family值的范疇進(jìn)行定義,如圖2所示。
圖2 分布式GIS電網(wǎng)感知信息分類
當(dāng)有IMS管理員對(duì)系統(tǒng)提出寫(xiě)入或讀取請(qǐng)求時(shí),分布式網(wǎng)絡(luò)感知信息存儲(chǔ)系統(tǒng)會(huì)匹配該條網(wǎng)絡(luò)感知信息的數(shù)據(jù)模型中Family的值,判斷該值是屬于預(yù)先定義好的動(dòng)態(tài)信息還是靜態(tài)信息,然后給該條網(wǎng)絡(luò)感知信息加上相應(yīng)的布爾型變量進(jìn)行區(qū)別標(biāo)識(shí)。如果判斷為動(dòng)態(tài)信息,則轉(zhuǎn)交給分布式網(wǎng)絡(luò)感知信息存儲(chǔ)系統(tǒng)執(zhí)行層中的弱寫(xiě)入接口和弱讀取接口進(jìn)行處理;如果判斷為靜態(tài)信息,則轉(zhuǎn)交給分布式網(wǎng)絡(luò)感知信息存儲(chǔ)系統(tǒng)執(zhí)行層中的強(qiáng)寫(xiě)入接口、定位讀取接口和讀修復(fù)接口進(jìn)行處理。
2.1 HDFS連接方式
在MapReduce中調(diào)用HDFS中的GIS電網(wǎng)數(shù)據(jù),IMS管理員首先需要獲得程序配置信息,并設(shè)置MapReduce的主機(jī)地址、Zookeeper集群與端口號(hào)、JobTracker信息。除此之外,還需要設(shè)置輸入輸出類型,對(duì)應(yīng)Mapper和Reducer等信息。以實(shí)驗(yàn)環(huán)境為例,具體的調(diào)用代碼如下:
2.2 HBase連接方式
在恒溫干燥條件下,綜合得分較高的是在溫度為55℃,風(fēng)速分別為1.2,1.8,0.6m/s時(shí),其綜合得分分別為31.2,29.55,29.3。
在MapReduce中調(diào)用HBase中的GIS電網(wǎng)數(shù)據(jù),IMS管理員首先需要獲得程序配置信息,并設(shè)置 MapReduce的主機(jī)地址、Zookeeper集群與端口號(hào)、JobTracker信息。除此之外,還需要設(shè)置輸入輸出類型,輸入輸出數(shù)據(jù)表以及對(duì)應(yīng)Mapper和Reducer等信息。以實(shí)驗(yàn)環(huán)境為例,具體的調(diào)用代碼如下:
2.3 MySQL連接方式
在MapReduce中調(diào)用Mysql數(shù)據(jù)庫(kù)中的GIS電網(wǎng)數(shù)據(jù),IMS管理員首先需要獲得程序配置信息,并設(shè)置Mysql數(shù)據(jù)庫(kù)的主機(jī)地址,數(shù)據(jù)庫(kù)名稱,數(shù)據(jù)庫(kù)用戶名和密碼[18-19]。除此之外,還需要設(shè)置輸入輸出表名,程序?qū)?yīng)數(shù)據(jù)庫(kù)表字段以及對(duì)應(yīng)Mapper和Reducer等信息。以實(shí)驗(yàn)環(huán)境為例,具體的調(diào)用代碼如下:
3.1 概 要
現(xiàn)實(shí)電網(wǎng)中控系統(tǒng)中,應(yīng)用程序往往根據(jù)自身的特性存儲(chǔ)在不同的存儲(chǔ)介質(zhì)或者數(shù)據(jù)平臺(tái)中。因此,MapReduce需要從多種不同的數(shù)據(jù)源中提取數(shù)據(jù)。由于在編寫(xiě)MapReduce程序過(guò)程中,涉及到的參數(shù)與配置有很多[17],導(dǎo)致IMS管理員在編程的過(guò)程中很容易造成代碼的混亂和遺漏。特別是在連接關(guān)系型數(shù)據(jù)庫(kù)的過(guò)程中,管理員需要定義和設(shè)置包括GIS電網(wǎng)數(shù)據(jù)庫(kù)用戶名、密碼等多個(gè)參數(shù),代碼可讀性較差,并且很容易遺漏某些參數(shù),導(dǎo)致程序報(bào)錯(cuò)。
針對(duì)上述問(wèn)題,為方便IMS管理員使用,設(shè)計(jì)出一個(gè)統(tǒng)一的接口提供給管理員。整體系統(tǒng)一共分為3層,第一層為數(shù)據(jù)源統(tǒng)一對(duì)外發(fā)布的接口,直接被IMS管理員調(diào)用。第二層則是三種數(shù)據(jù)源的接口,分別是HDFS接口、HBase接口、MySQL接口。第三層則是直接操作MapReduce的函數(shù),用于設(shè)置與獲得相關(guān)參數(shù)并運(yùn)行程序[19]。
3.2 系統(tǒng)詳細(xì)設(shè)計(jì)
在編寫(xiě)MapReduce程序過(guò)程中,所處理的GIS電網(wǎng)數(shù)據(jù)可能會(huì)來(lái)自于HDFS、HBase、關(guān)系型數(shù)據(jù)庫(kù),不同的數(shù)據(jù)源需要不同的連接方式[20]。由于涉及到的參數(shù)與配置有很多,導(dǎo)致IMS管理員在編程的過(guò)程中很容易造成代碼的混亂和遺漏。因此,為屏蔽數(shù)據(jù)源多樣性與復(fù)雜性,設(shè)計(jì)一個(gè)面向多數(shù)據(jù)源的信息提取系統(tǒng),通過(guò)用函數(shù)把參數(shù)封裝起來(lái)。管理員只需要通過(guò)set方法來(lái)設(shè)置參數(shù),通過(guò)get方法獲取想要得到的實(shí)例,并調(diào)用運(yùn)行方法,就可以建立數(shù)據(jù)源連接。
3.2.1 IMRMultiDataSource接口
此接口定義3個(gè)函數(shù),用于得到不同連接方式的實(shí)例變量,以便操作相關(guān)數(shù)據(jù)源。此接口詳細(xì)介紹請(qǐng)見(jiàn)表1。
3.2.2 IMRHDFS接口
此接口作用是封裝原有MapReduce連接HDFS的連接方式,通過(guò)函數(shù)封裝,將復(fù)雜的GIS電網(wǎng)地理信息數(shù)據(jù)源代碼變?yōu)楹?jiǎn)單的變量設(shè)置與函數(shù)調(diào)用,方便管理員調(diào)用HDFS數(shù)據(jù)。
此接口詳細(xì)介紹請(qǐng)見(jiàn)表2。
3.2.3 IMRHBase接口
此接口作用是封裝原有MapReduce連接HBase的連接方式,通過(guò)函數(shù)封裝,將復(fù)雜的GIS電網(wǎng)地理數(shù)據(jù)源代碼變?yōu)楹?jiǎn)單的變量設(shè)置與函數(shù)調(diào)用,方便管理員調(diào)用HBase數(shù)據(jù)。此接口詳細(xì)介紹請(qǐng)見(jiàn)表3。
3.2.4 IMRMysql接口
此接口作用是封裝原有MapReduce連接Mysql的連接方式,通過(guò)函數(shù)封裝[21],將復(fù)雜的GIS電網(wǎng)地理數(shù)據(jù)源代碼變?yōu)楹?jiǎn)單的變量設(shè)置與函數(shù)調(diào)用,方便管理員調(diào)用Mysql數(shù)據(jù)。此接口詳細(xì)介紹請(qǐng)見(jiàn)表4。
針對(duì)我國(guó)電網(wǎng)高壓線路GIS地理信息數(shù)據(jù)源的多樣性與復(fù)雜性,首次采用MapReduce構(gòu)建了一種面向海量電網(wǎng)GIS信息的分布式數(shù)據(jù)挖掘方法。采用分布式網(wǎng)絡(luò)感知信息存儲(chǔ)系統(tǒng)對(duì)GIS電網(wǎng)地理信息數(shù)據(jù)進(jìn)行存儲(chǔ),提出了基于MapReduce的GIS電網(wǎng)地理信息數(shù)據(jù)挖掘設(shè)計(jì)方案,旨在提高IMS系統(tǒng)管理員的編程效率,降低編程難度與出錯(cuò)概率。通過(guò)本系統(tǒng),IMS系統(tǒng)管理員只需要根據(jù)接口和函數(shù),就能完成配置,提高了編程效率,降低了編程難度。
表1 IMRMultiDataSource接口
表2 IMRHDFS接口
表3 IMRHBasee接口
[1]韓強(qiáng),馮濤,劉新天,等.電網(wǎng)GIS空間信息服務(wù)平臺(tái)及其專業(yè)應(yīng)用[J].電力信息化,2011,9(2):152-156.
[2]李書(shū)群,高飛,吳兆福,等.單基站CORS在電網(wǎng)GIS數(shù)據(jù)采集中的應(yīng)用[J].測(cè)繪工程,2013,22(1):59-62.
[3]陳亮,殷博,單寶麟,等.電網(wǎng)GIS全過(guò)程管理及數(shù)據(jù)獲取技術(shù)研究[J].測(cè)繪通報(bào),2015(10):118-121.
[4]鐘一俊,周明磊,洪建光,等.基于組件化設(shè)計(jì)的電網(wǎng)GIS及應(yīng)用[J].電力信息與通信技術(shù),2014(12):39-43.
[5]鄭松濤,湯文成,陳昀.SLP法在風(fēng)電塔筒廠區(qū)總平面布置中的應(yīng)用[J].工業(yè)工程與管理,2010,15(1):116-120.
[6]劉劍,邰能靈,范春菊,等.柔性直流輸電線路故障處理與保護(hù)技術(shù)評(píng)述[J].電力系統(tǒng)自動(dòng)化,2015,39(20):158-167.
[7]彭向陽(yáng),錢冠軍,李鑫,等.架空輸電線路跳閘故障智能診斷[J].高電壓技術(shù),2012,38(8):1965-1972.
[8]宋國(guó)兵,蔡新雷,高淑萍,等.高壓直流輸電線路故障定位研究綜述[J].電力系統(tǒng)保護(hù)與控制,2012(5):133-137.
[9]王長(zhǎng)久,石文婷,柳君,等.中控GCS系統(tǒng)在電力廊道項(xiàng)目的應(yīng)用[J].中國(guó)儀器儀表,2014(10):41-45.
[10]周馳,郭寶,王沈亮,等.生產(chǎn)管理系統(tǒng)與電網(wǎng)GIS平臺(tái)集成應(yīng)用分析[J].電力信息化,2011,9(2):102-106.
[11]李建江,崔健,王聃,等.MapReduce并行編程模型研究綜述[J].電子學(xué)報(bào),2011,39(11):2635-2642.
[12]饒君,吳斌,東昱曉.MapReduce環(huán)境下的并行復(fù)雜網(wǎng)絡(luò)鏈路預(yù)測(cè)[J].軟件學(xué)報(bào),2012,23(12):3175-3186.
[13]李成華,張新訪,金海,等.MapReduce:新型的分布式并行計(jì)算編程模型[J].計(jì)算機(jī)工程與科學(xué),2011,33(3):129-135.
[14]潘巍,李戰(zhàn)懷,伍賽,等.基于消息傳遞機(jī)制的MapReduce圖算法研究[J].計(jì)算機(jī)學(xué)報(bào),2011,34(10):1768-1784.
[15]王習(xí)特,申德榮,于戈,等.MapReduce集群中最大收益問(wèn)題的研究[J].計(jì)算機(jī)學(xué)報(bào),2015,38(1):109-121.
[16]張洋舜.基于Hadoop的并行實(shí)體解析方法研究與應(yīng)用[D].上海:東華大學(xué),2014.
[17]郝樹(shù)魁.Hadoop HDFS和MapReduce架構(gòu)淺析[J].郵電設(shè)計(jì)技術(shù),2012,(7):37-42.
[18]魯學(xué)鳳.基于關(guān)系數(shù)據(jù)庫(kù)和map/reduce的綜合查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].上海:復(fù)旦大學(xué),2012.
[19]師金鋼,鮑玉斌,冷芳玲,等.基于MapReduce的關(guān)系型數(shù)據(jù)倉(cāng)庫(kù)并行查詢 [J].東北大學(xué)學(xué)報(bào):自然科學(xué)版,2011,(5):626-629.
[20]田勝利.針對(duì)HBase的MapReduce數(shù)據(jù)訪問(wèn)方式的優(yōu)化[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2012.
[21]楊勇生.數(shù)據(jù)集成平臺(tái)中多數(shù)據(jù)源包裝器的實(shí)現(xiàn)[D].天津:天津大學(xué),2008.
A distributed computing for grid distributed based on GIS geographic information data
HU Nan,YANG Zhuang-guan,LI Feng,LI Liang
(Information and Communication Branch of State Grid Liaoning Electric Power Supply Co.,Ltd.,Shenyang 110000,China)
To attack the challenge of storing and analyzing massive GIS data generated by high-voltage tower,a distributed solution was proposed,which used Hadoop HDFS to store and employed MapReduce to process the huge data.In addition,the data structures in HBase and the algorithms on position matching of GIS data and safe distance calculation were proposed.Finally,experiments demonstrated that the distributed solution was much more efficient and extendible.
high-voltage tower;GIS;MapReduce;distributed computing
表4 IMRMysql接口
TN919.6
A
1674-6236(2016)15-0020-05
2016-01-21 稿件編號(hào):201601198
國(guó)家自然科學(xué)基金項(xiàng)目(51307051)
胡 楠(1982—),男,遼寧撫順人,博士,高級(jí)工程師。研究方向:電力信息化運(yùn)維。