周慧明,張曉春,章洪良,楊 帆,金 寧*
(1.浙江華云信息科技有限公司,杭州 310008;2.中國計量大學,杭州 310018)
電力是當今社會重要的能源之一,由于人口、經(jīng)濟、資源、地理環(huán)境等因素,造成了電力數(shù)據(jù)具有復雜的空間特征[1]。電力GIS是將電力企業(yè)中設備信息、生產(chǎn)數(shù)據(jù)、用戶信息等進行信息化的綜合生產(chǎn)管理系統(tǒng),其集成了電力數(shù)據(jù)采集、信息管理、數(shù)據(jù)挖掘等功能[2~4]。大力發(fā)展電力GIS,有利于保證電力生產(chǎn)、運輸、管理等環(huán)節(jié)的效率,提高供電企業(yè)的生產(chǎn)經(jīng)濟效益。
電力作為最主要的生活能源之一,其在生產(chǎn)、運檢和管理的過程中產(chǎn)生大量數(shù)據(jù)[5]。而電力GIS的核心任務是為電力行業(yè)的各項任務提供地理空間信息基礎數(shù)據(jù)與服務,其強大的分析與可視化能力,可滿足電力行業(yè)對空間數(shù)據(jù)管理和可視化等方面的需求[5]。二維GIS技術與電力GIS中的廣泛應用,使得電力GIS在處理地理信息數(shù)據(jù)方面具有優(yōu)異的表現(xiàn)。例如,于泓漪提出了電力GIS建設的系統(tǒng)模型,并對電力GIS中的多種數(shù)據(jù)模型進行對比分析[6];鐘一俊等闡述了電力GIS的業(yè)務規(guī)劃、GIS建設的關鍵技術,提出了技術架構(gòu)[7]。隨著“智慧城市”概念興起,對電力GIS提出了更高的要求,需要其具有處理更高維度空間數(shù)據(jù)的能力,從而真實再現(xiàn)三維客觀世界[8]。隨著三維GIS技術更加成熟,開展三維GIS技術在電力系統(tǒng)中的應用具有重要的意義。魏祖寬等分析了二維GIS在電力系統(tǒng)中的局限性,并探討了三維GIS技術的在電力系統(tǒng)下的應用[9];張亞迪等針對實際場景中電網(wǎng)系統(tǒng)中的數(shù)據(jù)展示,將三維GIS應用到電網(wǎng)管理系統(tǒng)中,實現(xiàn)了電網(wǎng)數(shù)據(jù)信息的可視化[10];王堃等針對電力配網(wǎng)的特點,開發(fā)了基于三維GIS的電力配網(wǎng)系統(tǒng)[11]。
三維GIS技術處理空間數(shù)據(jù)具有非常大的優(yōu)勢,能夠?qū)﹄娏υO施及其周圍環(huán)境進行三維可視化展示,但是其需要高質(zhì)量的數(shù)據(jù)進行支撐,造成了其在三維數(shù)據(jù)存儲、處理以及可視化等方面存在缺陷,不能很好地滿足實際應用需求。開展二三維一體化GIS平臺已經(jīng)成為一個熱點研究課題。目前,基于二三維一體化技術的GIS平臺在地理信息管理、軍工、農(nóng)業(yè)等領域開始了廣泛的應用[12~14]。因此,開展二三維一體化的電力GIS平臺對電力系統(tǒng)具有重要的意義和應用價值。
基于上述需求,本文提出一種基于微服務的二三維一體化的電力GIS設計方案,該方案在電力GIS中集成二維地圖和三維地圖的數(shù)據(jù),利用數(shù)據(jù)同步技術和二三維聯(lián)動技術,實現(xiàn)電力GIS對多維度地圖數(shù)據(jù)的處理和分析;同時本系統(tǒng)基于微服務的思想,進行總體架構(gòu)和功能的設計,實現(xiàn)服務組件化,提高系統(tǒng)的擴容能力,保證了平臺的高可用。
微服務架構(gòu)是一種細粒度、自治、協(xié)同工作的服務體系,其依據(jù)業(yè)務需求將應用程序劃分成多個相互獨立的子服務,各個子服務通過輕量級的通信機制進行數(shù)據(jù)傳遞。微服務架構(gòu)具有開發(fā)簡單、可擴展性、可升級性、技術異質(zhì)性等特點,便于系統(tǒng)的技術升級和功能更新[15]?;谖⒎盏亩S一體化GIS系統(tǒng)主要架構(gòu)如圖1所示。本系統(tǒng)將架構(gòu)劃分為多個層級,包含基礎層、數(shù)據(jù)層、服務層、代理層、應用層等。數(shù)據(jù)層,選擇關系型數(shù)據(jù)庫MySQL、文件服務器以及UDB作為數(shù)據(jù)存儲;服務層,該層是本系統(tǒng)的主要內(nèi)容,包含了二三維地圖引擎管理、業(yè)務服務、基礎服務、組件管理等;接口層,使用SpringCloud Gateway作為了服務網(wǎng)關,接收外部請求并進行轉(zhuǎn)發(fā);代理層,使用Nginx作為反向代理服務器;應用層,實現(xiàn)了外部提供的應用;展示層,是該系統(tǒng)的Web和移動端界面,實現(xiàn)系統(tǒng)與人的交互。
圖1 二三維一體化電力GIS系統(tǒng)架構(gòu)
基礎層包括了網(wǎng)絡、物理機、云計算以及虛擬機等基礎設施?;A設施層負責為二三維一體化電力GIS平臺提供基本保證。
數(shù)據(jù)層包含,PMS系統(tǒng)數(shù)據(jù)、業(yè)務數(shù)據(jù)、矢量數(shù)據(jù)、氣象數(shù)據(jù)、影像數(shù)據(jù)、模型數(shù)據(jù)、DEM高程數(shù)據(jù)等。根據(jù)數(shù)據(jù)形式不同,選擇不同的存儲系統(tǒng)進行存儲。本系統(tǒng)采用MySQL與文件服務器的形式存儲PMS系統(tǒng)、業(yè)務數(shù)據(jù)等數(shù)據(jù);針對地理信息數(shù)據(jù),如模型數(shù)據(jù)、矢量數(shù)據(jù)以及DEM數(shù)據(jù)采用UDB數(shù)據(jù)進行存儲。
服務層是該系統(tǒng)的重要組成部分,包含了業(yè)務服務、基礎服務、管理組件、公共組件等內(nèi)容。本系統(tǒng)選擇基于Java的Spring框架作為技術框架,對多數(shù)主流框架提供支持,且提供了事務管理、依賴關系管理等眾多功能;
基礎服務包含了權限控制、緩存服務、引擎管理以及任務調(diào)度等內(nèi)容;
業(yè)務服務包含用戶管理、數(shù)據(jù)處理、信息查詢、智能應用、二維地圖、三維地圖、基礎業(yè)務、視頻監(jiān)控、設備信息、天氣信息、風險預測、數(shù)據(jù)可視化等服務;
公共組件中包含日志記錄、服務通信和消息隊列等部分,本系統(tǒng)采用Log4j作為日志記錄組件,記錄運行時變量變化狀態(tài);Feign作為服務通信工具,實現(xiàn)服務通信,同時可搭配服務注冊中心實現(xiàn)負載均衡。Kafka作為消息隊列,完成高吞吐量的分布式消息發(fā)布訂閱。
管理組件包含服務發(fā)現(xiàn)、服務限流、服務熔斷等部分,本系統(tǒng)采用Eureka作為服務注冊中心組件,具有應付網(wǎng)絡故障能力強的特性;采用Hystrix作為服務熔斷組件,支持異步調(diào)用;采用Nacos作為配置中心,統(tǒng)一管理服務配置。
接口層選擇SpringCloud Gateway作為網(wǎng)關,其具有線程開銷小,異步通信塊,支持各種長鏈接且功能豐富。
代理層選擇Nginx作為反向代理服務器和靜態(tài)資源服務器,其具有內(nèi)存消耗少、成本低、性能優(yōu)越等特性,同時其包含的負載均衡策略,獎勵接口層負載。
應用層向外部提供具體的應用,包含了數(shù)字大屏、信息查詢、信息分析和智能應用(應急指揮、線路巡檢、設備檢修、風險預警)等應用。
二三位一體化電力GIS平臺提供了PC端和移動端的登錄,實現(xiàn)單點登錄操作,單點登錄即用戶登陸一次即可訪問平臺所有微服務的資源,使用JWT令牌作為用戶身份認證許可,增加了交互友好程度。
二三位一體化電力GIS功能設計包含了系統(tǒng)基本工具、數(shù)據(jù)處理模塊、信息查詢模塊、信息分析模塊、智能應用模塊以及用戶管理模塊等內(nèi)容,如圖2所示;該平臺實現(xiàn)從數(shù)據(jù)采集到電力GIS應用的全生命周期管理。
圖2 二三維一體化電力GIS功能設計
二三維一體化電力GIS平臺主要包含多種類型的數(shù)據(jù),涉及電力設備、地形以及模型等內(nèi)容。該模塊功能主要包含了數(shù)據(jù)的處理、可視化以及管理等;用于實現(xiàn)不同類型數(shù)據(jù)的導入、導出以及管理。
瀏覽查詢模塊是建立三維場景構(gòu)建的基礎上該模塊包含了電纜查詢、工井瀏覽、道路查詢、電纜溝瀏覽等內(nèi)容。該模塊用于滿足查詢電纜、道路、工井以及電纜溝等需求,并顯示其相應的屬性信息,使用戶直觀感受電力設備的實際分布情況。
二三維一體化電力GIS平臺中包含了二維以及三維地圖,基本工具模塊包含了對二維和三維視圖的操作,包含了視圖保存、視圖打印、視圖輸出、視圖數(shù)千、場景打印、場景輸出等基本功能。
二三維一體化電力GIS平臺中分析模塊包含了電力熱圖、電力網(wǎng)架變化、負載率分析以及電力驟降分析等基本的分析功能,同時也實現(xiàn)了輔助決策的功能。該模塊可以實現(xiàn)供電情況以及停電故障的分析,輔助決策功能可在出現(xiàn)停電檢修時對故障診斷進行決策支持。
本平臺的服務對象分為普通用戶以及管理用戶,不同用戶的權限時不同的。管理用戶擁有最高權限,可以對普通用戶使用的功能進行限制。普通用戶則根據(jù)擁有的權限,可在平臺中進行相應的操作。
二三維一體化電力GIS平臺智能應用主要包含了線路巡檢、應急決策以及風險預警等功能。該模塊時將二三維一體化電力GIS平臺中形成的數(shù)據(jù)進行應用開發(fā),為電力系統(tǒng)提供更智能的信息服務。
二三維一體化可以提升電力GIS的運行效率、用戶體驗以及方便外部應用二次開發(fā),本系統(tǒng)采用基于統(tǒng)一圖形顯示框架的二三維一體化技術。本系統(tǒng)通過構(gòu)建一個統(tǒng)一的顯示邏輯層,實現(xiàn)了統(tǒng)一的二三維一體化對外顯示接口,方便二次開發(fā)人員進行開發(fā);本系統(tǒng)只采用三維圖形引擎進行工作,提升了系統(tǒng)運行效率。通過該技術實現(xiàn)了二三維地圖之間的平滑切換,以及拖動和縮放等操作,其技術工作流程如圖3所示。
圖3 二三維一體化技術工作流程
1)數(shù)據(jù)同步
二三維一體化電力GIS涉及的二維地圖和三維地圖其形式存在差異,導致其顯示范圍不一致,因此實現(xiàn)二三維一體化功能,需要完成數(shù)據(jù)的同步。其基本思想是根據(jù)二維地圖和三維地圖兩者自身的參數(shù),如坐標、深度信息等,經(jīng)過一系列變換使二維地圖窗口與三維地圖窗口的映射到同一空間的目的。基于該思想,本系統(tǒng)創(chuàng)建一個同步函數(shù),對同步進行事件監(jiān)聽。當二維地圖與三維地圖需要一體化時,首先獲取兩者源數(shù)據(jù)中的相關屬性,包括柵格數(shù)據(jù)圖層中的瓦片url地址、瓦片級別、分辨率參數(shù)等,矢量數(shù)據(jù)則包括參考坐標系、分辨率、樣式、矢量要素等。然后調(diào)用本系統(tǒng)采用的Cesium三維地圖引擎,達到數(shù)據(jù)同步的目的。
2)二三維聯(lián)動技術
二三維聯(lián)動技術是指當用戶操作二維地圖或三維地圖中的一個窗口時,另一窗口的視角和區(qū)域應跟隨其變換。本系統(tǒng)根據(jù)用戶調(diào)用指令,首先移動其中一個窗口,然后利用數(shù)據(jù)同步功能,計算另一地圖窗口的變化情況,將相應數(shù)據(jù)輸入到三維地圖引擎中進行地圖繪制,實現(xiàn)二三維聯(lián)動展現(xiàn)。
微服務拆分是實現(xiàn)微服務設計的關鍵步驟,需要跟著實際業(yè)務場景進行規(guī)劃;本系統(tǒng)依據(jù)微服務劃分的單一職責、服務自治、去中心化、輕量級通信等原則,將系統(tǒng)中的微服務劃分為原子服務與聚合服務,其中聚合服務包含系統(tǒng)基本工具、數(shù)據(jù)模塊、查詢服務、分析服務、用戶管理服務等;原子服務包含二維地圖服務、三維地圖服務、設備信息服務、數(shù)據(jù)可視化服務、風險預測服務、天氣信息服務、視頻監(jiān)控服務、基礎業(yè)務服務等,其微服務劃分如圖4所示。
圖4 二三維一體化電力GIS平臺微服務設計
1)系統(tǒng)基本工具服務提供了針對多維視圖的操作,包括視圖基礎操作,場景可視化以及三維漫游等,其由二維地圖服務、三維地圖服務、數(shù)據(jù)可視化服務等原子服務構(gòu)成。
2)數(shù)據(jù)處理服務,完成對各種類型數(shù)據(jù)的管理,包括數(shù)據(jù)導入導出、數(shù)據(jù)可視化、專業(yè)數(shù)據(jù)建模以及數(shù)據(jù)管理等;其由數(shù)據(jù)可視化服務、基礎業(yè)務服務、設備信息服務等組成;
3)信息查詢服務,實現(xiàn)了二三維一體化電力GIS一些可視化信息的查詢,包括電纜查詢、工井瀏覽、電纜溝覽、坐標定位等,其由二維地圖服務、三維地圖服務、設別信息服務、視頻監(jiān)控服務、基礎業(yè)務服務以及數(shù)據(jù)可視化服務等組成
4)信息分析服務,實現(xiàn)所監(jiān)管區(qū)域的數(shù)據(jù)分析以及輔助決策,包括電力熱力圖、電力網(wǎng)架變化、電壓暫降分析以及輔助決策等;其由數(shù)據(jù)可視化服務、設備信息服務、基礎業(yè)務服務等組成。
5)用戶管理服務,包括管理員操作、用戶權限管理以及用戶信息管理等,其主要是由基礎業(yè)務服務組成。
6)智能應用服務,包括線路巡檢、應急決策以及風險預警等,提供了電力GIS平臺的上層應用,其由二維地圖服務、三維地圖服務、設備信息服務、數(shù)據(jù)可視化服務、風險預測服務、天氣信息服務、視頻監(jiān)控服務、基礎業(yè)務服務等,組成而成。
本系統(tǒng)可接入無人機、機器人等外部設備,利用外部設備掃描的數(shù)據(jù),如紅外熱圖、音頻數(shù)據(jù)以及可見光圖片等傳輸?shù)蕉S一體化電力GIS中;二三維電力一體化電力GIS會講外部數(shù)據(jù)與存儲的數(shù)據(jù)進行融合,根據(jù)用戶的需求構(gòu)建三維模型或者二維模型,從而進行實時直播或回放。
當電力GIS監(jiān)控范圍內(nèi)發(fā)生事故時候,用戶可在第一時間獲取事故點信息(如行政區(qū)名稱、變電站信息等)精確顯示在二三維電力GIS平臺上。也可以通過查詢功能,了解附近的道路信息、天氣狀況以及救援物資分布,決策者可根據(jù)顯示的實時信息制定救援策略,最大程度降低事故損失。
二三維電力一體化電力GIS中接入了氣象信息,可根據(jù)接入的氣象信息以及外部的傳感器進行環(huán)境信息的真實模擬,形成實時三維地圖;當發(fā)生災害天氣時,該系統(tǒng)可進行災難評估,針對災難評估中的災害等級提供不同程度的預警,最大程度降低災害天氣對電網(wǎng)的影響。
本系統(tǒng)提出了一種基于微服務的二三維一體化電力GIS平臺設計方案,該方案采用微服務架構(gòu)設計,依據(jù)微服務切分原則,對平臺服務進行多維度的分解,具有服務解耦、開發(fā)環(huán)境獨立、部署環(huán)境獨立以及擴展性強的優(yōu)點;并且本系統(tǒng)在同一平臺框架下采用二三維一體化技術,實現(xiàn)二維地圖與三維地圖的聯(lián)動,有效節(jié)省在電力GIS系統(tǒng)中所使用的人力物力及時間成本,二維現(xiàn)存資源被更充分地利用,使得實時視圖信息構(gòu)建更加快速。通過構(gòu)建本系統(tǒng),有效的獲取電力設備設施、電網(wǎng)運行狀態(tài)、電力技術與自然環(huán)境等數(shù)據(jù),滿足了數(shù)據(jù)快速可視化與空間異構(gòu)快速轉(zhuǎn)化的需求,促進了電力GIS在線路巡檢、風險預警、應急決策等方面的應用。