呂旭明,鄭善奇,曹麗娜,欒敬釗,高 瀟
(國網遼寧省電力有限公司,遼寧 沈陽 110006)
圖數據庫技術在電力系統信息通信資產管理中的應用
呂旭明,鄭善奇,曹麗娜,欒敬釗,高 瀟
(國網遼寧省電力有限公司,遼寧 沈陽 110006)
日益增多的信息通信設備在電力系統中投入使用,其發展趨勢使電力系統信息通信資產管理成為電力系統發展亟待解決的困難與挑戰。傳統關系型數據庫已不能滿足日益復雜的實際發展需求。文中對通用流行的圖數據庫產品和信息通信資產管理的需求進行調研,詳細介紹了用圖數據庫建模實現電力系統信息通信資產管理以及相應可視化方案,并選定新型的圖數據庫Neo4j存儲、管理、查詢電力系統信息通信資產數據。
圖數據庫;信息通信設備;資產管理;診斷
電力系統中的信息通信資產設備的主要功能是實現電力系統高性能控制和自動化管理。隨著智能電網技術的發展,大量新型電力設備投入使用,例如分布式能源、智能變電站、電動車充電站等。這些給電力系統信息通信資產管理帶來嚴峻挑戰。首先,管理這些電氣設備需要安裝更多的服務器、交換機和其他通信設備,傳統的關系型數據庫已不能滿足發展的需求。其次,不同信息通信設備的關聯關系更加復雜,直接查詢一類特殊設備的影響范圍十分困難。為了實現可靠控制和靈活管理,一種創新型的信息通信管理系統亟待開發。
圖數據庫被認為是一種有效存儲、管理、分析復雜關聯數據以及可視化方案的新型技術方案[1]。大量數據類應用可以被建模為圖數據結構,例如社交網絡、網頁數據、生物結構、化工合成以及道路網絡[2]。圖數據庫的數學基礎是圖論。圖數據庫的3類基本元素分別是節點、邊和屬性。節點通常用來定義實體和標記屬性,例如人、城市和訂單記錄。圖數據庫中的節點近似于關系型數據庫中的一列。邊用來定義2個節點之間的關聯關系。邊可以是有向邊,也可以是無向邊,可賦予不同含義。邊是圖數據庫中的重要元素,因為關聯關系在其他類型數據庫中并不能直接表示。關聯關系可以允許數據直接相連,而且在大部分應用場景下都可以通過簡單操作實現關聯數據檢索。屬性代表節點的附屬信息,例如在圖數據中定義1個節點 “人”,用戶可以定義節點的屬性為性別、年齡或教育經歷,取決于人的哪類信息在此特定數據庫中考慮。
圖結構提供一種自然表達關聯關系的方式。在關系型數據庫中,數據之間的聯系存儲在關系型數據庫本身,對于此類數據的查詢需要使用 “JOIN”操作。復雜關聯關系數據的簡單和快速在關系型數據庫中難以實現,使用圖數據庫則能很好地支撐上述功能。
目前,圖數據庫還未在電力系統中廣泛使用,但電力系統中的信息和通信系統可以建模為屬性圖。信息通信設備,例如服務器、存儲設備和網關等可以建模為節點;傳輸線路以及邏輯業務連接可以建模成邊;設備的配置,設備所屬的電力信息系統,實際地址等可以建模為屬性。這是首次應用圖數據庫建模電力系統信息通信管理系統。
本文通過調查對電力系統信息通信資產管理的實際應用需求完成建模,調查了市場上常見的圖數據庫產品:Neo4j、GraphFrame和GraphSQL,并完成電力系統信息通信資產拓撲網絡建模,實現了信息通信資產管理的可視化功能。
隨著圖數據庫平臺的快速發展,一系列圖數據庫產品應運而生,滿足存儲大型圖數據的市場需求。它們中的絕大多數系統通過一系列并不十分嚴謹公平的比較獲取結論,例如,有些比較并未同時采用雙方產品的最新版本,有些比較采用的是社區版本而不是商業版本。
大量不同圖數據庫的比較通過測試圖數據載入、PageRank算法和最短路徑算法等功能獲取性能表現。在眾多圖數據庫產品中,本文選擇Neo4j、GraphFrame和GraphSQL作為設計電力系統信息通信資產管理系統的備選技術方案[3-10]。
a. Neo4j
Neo4j是Neo科技公司開發的一款圖數據庫管理系統,被認為是最流行的圖數據庫之一。第一個版本在2010年發布,最新版本3.0在2016年發布。Neo4j支持的圖模型被稱作屬性圖,屬性圖包括節點、邊、屬性。Neo4j采用Java語言寫成,提供多個 API接口,并支持多類開發語言:Java、Python、 Ruby、 JavaScript、 PHP 和.NET, C 和 C++不在支持開發語言之列。Cypher是專為Neo4j設計的描述性數據遍歷查詢語言,類似于關系型數據庫中的類SQL語言。數據庫系統采用Blue-prints接口和自然Rest接口,擴展數據庫的應用范圍。Neo4j提供3個版本:社區版本、企業版本和政府版本。社區版本提供給開發者學習圖數據庫的基礎知識,實現小型系統的開發,不支持大規模高性能系統的開發,且不包含專業支持和系統服務。企業版本提供更強功能和更靈活的開發范圍,支持企業級別數據的存儲、管理和分析能力,也提供具有競爭性的內部應用,例如主數據管理、網絡和信息操作管理、系統和詐騙識別。
b.GraphFrame
GraphFrame是一個可管理圖結構數據的數據庫。它是在Spark平臺上通過Spark SQL模塊實現。數據結構基于 Spark Reslient分布式數據庫(RDD)。GraphFrame的數據可以轉換傳輸到Spark GraphX平臺。GraphX是一種基于Apache Spark的分布式圖數據處理框架。GraphX將ETL、探索式分析和遍歷計算集中在1臺計算機或服務器。數據可以表示成圖或是集合。RDDs可有效支持圖的轉換和加成。開發者可以使用Pregel API設計客戶需求的迭代式圖算法。GraphX支撐一類圖算法:PageRank、連通分支、SVD++、強連通分支和三角計數。因為GraphX是基于Spark實現的數據庫,因此不需要針對Spark的基礎功能進行修改。為實現超越其他圖數據分析平臺的性能,GraphX引入了mrTriplets等一系列優化技術。GraphX在處理大規模電網潮流計算具有極大的潛力。
c.GraphSQL
GraphSQL數據庫以及配套的分析引擎被認為是一個完整的、分布式的、并行的、旨在解決網絡級別大規模數據的實時分析平臺。Map Reduce機制和并行圖數據處理方法在GraphSQL平臺上集成,加速大規模并行圖算法。以節點為中心的、Map Reduce方式的API支持用戶自定義函數。另外,GraphSQL用來提供圖數據的ad-hoc式遍歷和迭代式分析。GraphSQL采用獨特的分布式計算機制實現大規模的圖數據處理。基于上述技術,GraphSQL實現快速的數據載入重構原圖,快速的并行圖算法具備大規模數據處理能力和實時分析功能。
GraphSQL具有獨特特征:實時處理流數據的加載和更新功能。通常意義下,GraphSQL平臺具有3個關鍵功能組件:圖引擎實時分析平臺、企業級數據引擎以及客戶智能解決方案。圖引擎實時分析平臺收集、存儲、分析大量數據并形成屬性圖。企業級數據引擎支持圖論算法的魯棒式實現。客戶智能解決方案集中支撐系統以及各類可視化工具,如支持Tableau。Neo4j、GraphX和GraphSQL的主要特征和區別見表1。

表1 Neo4j、GraphX和GraphSQL的主要特征和區別
電力系統信息通信資產建模過程中的所有設備和設備間的關聯關系都需要精確地通過圖模型進行。
a. 節點建模
電力系統信息通信資產建模中共有3類物理設備節點,包括服務器節點、存儲設備節點和網絡設備節點。其中服務器節點包含應用服務器 (App)、數據服務器 (Data)、接口服務器 (Port)、地圖服務器 (Map)、代理服務器 (Agent) 和F5負載平衡設備 (F5)。存儲設備與其中的數據服務器相連,而網絡設備在電力系統信息通信資產建模中單指交換機。圖模型不同類型的節點包含不同屬性,節點對應的屬性見表2。
設備ID、子類別、設備型號和設備位置是通用屬性。服務器設備和存儲設備的IP地址和網絡設備 (交換機)的接口是一一對應的,但是具體的對應關系不會由節點的IP地址或接口屬性表示出來。1個節點可能有超過1個IP地址或超過1個接口。

表2 節點對應屬性
操作系統、硬件配置和集群方式是服務器設備的特有屬性。操作系統可以為任意版本的Windows或Linux;硬件配置主要記載了服務器的CPU核心、主頻和內存大小;集群方式指1個服務器集群的拓撲關系 (如F5或RAC),同1個集群中的所有服務器的集群方式屬性是相同的。
b.邊建模
電力系統信息通信建模中使用雙向邊對設備間的連接關系進行建模,每1條邊對應1根光纜。邊兩端可以連接的設備類型見表3。

表3 邊兩端連接的設備類型 (邊的類型)
為了描述設備的功能關系,兩類虛擬節點被引入電力系統信息通信建模中。一類為系統節點和從屬邊,另一類為業務邏輯邊。
a. 系統節點和從屬邊
每個系統都可以被看作為1個圖中的超級節點,每個系統超級節點都包含了屬于該系統的子圖。在電力系統信息通信設備的圖建模中,1個特殊的虛擬節點和1組從屬邊被用來表示這些系統級的節點。
b. 業務邏輯邊
另一類虛擬邊為業務邏輯邊。這類邊表述了2個設備間的業務聯系,故障影響范圍可以通過這類業務邊進行確定。
可視化目的是展示通信設備之間的關聯關系和連接狀況,有利于設備管理、通信系統分析和網絡規劃。通過可視化展示可使工作人員較好地觀察所有運行設備和其工作狀態。讀取設備連接狀況,利用圖數據信息通信資產管理模型實現數據可視化。本文所使用的數據根據真實的設備連接圖手動生成。
社區版Neo4j和GraphSQL都提供可視化工具。因為Neo4j使用的Cypher語言是聲明型查詢語言,開發者可高效編寫查詢和更新圖數據,避免對數據結構的針對性修正。使用者可編寫Cypher語言查詢并在Neo4j的編輯框中運行。Neo4j自動在結果框中生成可視化效果用以展示查詢結果。在GraphSQL平臺中,使用者可在瀏覽器中提交已經創建好的查詢任務,查詢結果的可視化展示隨之生成。考慮到Cypher語言的靈活性和高度可定制性的可視化效果,本文選擇Neo4j進行下一步的工作。
本文使用Neo4j來創建圖和實現圖數據的可視化。數據讀取前,已根據不同設備的實際連接情況創建好CSV格式的數據。圖數據庫平臺Neo4j和GraphSQL均可讀入CSV格式文件。節點代表信息通信設備,邊代表設備間物理連接。主要步驟如下:
a.讀取節點數據→創建設備節點→讀取物理連接數據→創建邊
本文采用3類物理節點,所有邊都為無向邊。3類節點分別表示服務器、網絡設備、存儲設備。每個節點有若干屬性,如網絡設備節點具有的屬性為設備ID、子類別、設備型號、設備位置和接口。
在讀取數據并創建節點時依次創建每類節點。節點全部建立好后進行邊的創建。這里所有的邊都是無向的,因為邊只意味著其兩端的節點所代表的設備有物理連接。然而本次創建圖中的邊都是有向邊,在此不必關注邊的方向。
b. 運行查詢→自定義可視化效果
針對不同的應用場景可編寫相應的查詢。通過全圖的可視化可方便地對所有設備進行詳細展示。查詢所有節點類別為服務器的節點,可以對所有服務器設備進行可視化展示。查詢所有與PMS系統節點相連的節點可以對所有PMS系統的節點進行可視化展示。用戶可方便地編寫類似查詢,并得到想要的可視化展示。
Neo4j提供的圖樣式列表可以方便對圖的樣式進行改動。在圖樣式列表中可設置節點和邊的顏色、名稱顯示、文字顏色、字體等。用戶可導入已編輯好的圖樣式列表實現自定義可視化效果。可視化時節點的分布位置較混亂,使用者需拖拽節點到合適的位置得到想要的效果。
使用Neo4j可在瀏覽器中實現圖數據的可視化,圖中包含有設備狀態和設備間連接情況等信息。可視化將為故障影響范圍分析提供支持,節點可設置成醒目顏色提示工作人員故障情況。
圖數據庫技術作為一種新型的計算方法,具有邏輯性強、效率高、并發性好等特點。電力系統信息通信網絡具有天然的網絡特性,其物理關系、資產關系可形成較龐大的網絡拓撲結構,為圖數據庫提供良好的應用前景。本文對3款通用流行的圖數據庫產品:GraphSQL、GraphFrame以及Neo4j進行調研分析,結合電力系統企業信息通信資產特點,最終選定Neo4j產品建立電力系統信息通信資產存儲和管理的圖數據模型,并實現了可視化功能,提高了電力系統企業信息通信資產管理水平及信息通信系統運行水平。
[1] EPRISmart Grid Demonstration Initiative.Two year update [J].Electric Power Research Institute (EPRI). – USA,California,2014.
[2] Miller J J.Graph database applications and concepts with Neo4j[C] //Proceedings of the Southern Association for Information Systems Conference, Atlanta, GA, USA.2013, 2324.
[3] Singh M,Kaur K.SQL2Neo:Moving health-care data from relational to graph databases [C] //Advance Computing Conference(IACC), 2015 IEEE International.IEEE, 2015: 721-725.
[4] Pabon O S.A comparison of NoSQL graph databases [C] //2014 9th Computing Colombian Conference (9CCC).2014.
[5] Jouili S, Vansteenberghe V.An empirical comparison of graph databases [C] //Social Computing (SocialCom), 2013 International Conference on.IEEE, 2013: 708-715.
[6] Jain R,Iyengar S,Arora A.Overview of popular graph databases[ C ] //Computing, Communications and Networking Technologies(ICCCNT), 2013 Fourth International Conference on.IEEE, 2013: 1-6.
[7] McColl R C,Ediger D,Poovey J,etal.A performance evaluation of open source graph databases [C] //Proceedings of the first workshop on Parallel programming for analytics applications.ACM,2014:11-18.
[8] Kolomiˇcenko V,Svoboda M,MlynkováIH.Experimental comparison of graph databases [C] //Proceedings of International Conference on Information Integration and Web-based Applications& Services.ACM,2013:115.
[9] Vicknair C,Macias M,Zhao Z,et al.A comparison of a graph database and a relational database:a data provenance perspective[C] //Proceedings of the 48th annual Southeast regional conference.ACM,2010:42.
[10] Beis S, Papadopoulos S, Kompatsiaris Y.Benchmarking graph databases on the problem of community detection [M] //New Trends in Database and Information Systems II.Springer International Publishing, 2015: 3-14.
Application of Graph Databases in the Communication and Information Asset Management in Power Grid
Lü Xuming, ZHENG Shanqi, CAO Lina, LUAN Jingzhao, GAO Xiao
(State Grid Liaoning Electric Power Co., Ltd., Shenyang, Liaoning 110006, China)
With an increasing amount of communication and information equipment added to the power grid, the new situation brings great challenges to the communication and information assetmanagement in the power grid.Traditional database could notmanage the complex relations in a reasonable efficiency.An exploration ismade to use a popular graph database.Neo4j can store,manage and query those data in the paper.The requirement of the management and several graph products are surveyed.Besides,a graph model of communication and information asset in the power system and their's visualization are presented in detail.
graph databases; communication and information asset; assetmanagement; diagnosis
TP311.13
A
1004-7913(2017)11-0027-04
呂旭明 (1981),男,碩士,高級工程師,主要從事電力系統信息通信專業管理及新技術研究工作。
2017-08-30)