蔣雷雷,代作松 ,秦 賓
(1. 國網臨沂供電公司,山東 臨沂 371300;2.南瑞集團,江蘇 南京 210013)
隨著智能電網、大數據技術以及物聯網技術的發展,電力企業在生產運營過程中積累了海量的數據資源。由于這些數據具有結構多樣、來源復雜、規模巨大、系統獨立等特點,造成企業數據集成與共享難度加大,直接影響數據內在知識價值發現,降低電網運營監測效率[1,2]。數據共享是企業實現資源集中管控、提升數據應用價值以及完善信息化建設進程中首要考慮的問題,當前企業在實現數據共享中還存在許多問題:數據集成方式混亂、缺乏統一的數據標準、海量數據的存儲與處理能力低等[3],傳統的數據共享技術尚不具備完整解決這些問題的能力。目前的理論比較側重于探索數據共享模式原理及機制,鮮有介紹數據共享技術在實際企業中的應用[4]。當前電網企業雖然已經建成面向不同應用需求的業務數據中心和運監數據中心,但是傳統的企業服務總線(ESB)與數據交換平臺(DXP)等數據集成方式在數據可擴展性、容錯性和數據安全方面還略有不足,造成數據層面并未真正實現數據資源集中管控、綜合治理和高度共享,因此,需要構建一套基于企業現狀的、完善的及高性能的數據共享方案。
數據共享就是在邏輯上和物理上有機地實現異源異構數據的集中存儲和統一訪問。文獻[5]分析了當前比較成熟的三種數據共享框架模式:基于聯邦數據庫的數據共享模式、基于中間件技術的數據共享模式和基于數據倉庫的數據共享模式,國外也開展了許多類似的研究。基于聯邦數據庫的數據共享模式雖然構建了數據源視圖與全局模式間的映射關系,并能夠滿足用戶的全局查詢請求,但是對于海量用戶的并發查詢以及節點容錯問題還存在諸多不足;基于中間件技術的數據集成模式具有較強的融合異構系統的能力,通過中間件間接訪問源系統,雖然提高了安全性能,但是隨著應用系統增多,中間件性能效率大大降低;基于數據倉庫的數據共享模式通過統一的標準對源數據副本進行統一存儲,并提供統一訪問接口,但是面對海量數據資源,數據倉庫的擴展能力和容錯性略顯不足。Hadoop是一種對大規模數據進行高性能分布式處理的開源技術框架。文獻[6]設計了基于Hadoop架構的電力數據中心云計算平臺,保證了電力運營的高可靠性、高可用性和可伸縮性,但并未提及海量數據異源異構數據的接入技術。
鑒于以上分析,本文根據電網企業數據資源管理現狀,針對海量數據的集成與共享問題,構建分析了基于Hadoop架構的電力企業數據共享模型,采用“editlog+fsimage”動態集成策略實現對元數據管理,增強數據共享的容錯性和安全性,依據全局模式和節點模式之間的映射關系以及數據重建的方式,實現數據的共享交互,提高了模型的可擴展性和整體計算性能。
針對國網公司實際業務情況和數據資產管理現狀,企業數據集成共享方面的建設還存在以下挑戰:
(1)數據異構嚴重。電力企業信息化在建設過程中,由于企業統推系統及各個自建系統建設的階段性、技術性以及其它人為因素的影響,導致業務系統種類繁多、存儲方式多樣、信息編碼和技術規范不統一及數據格式不一致等,造成信息資源集成和共享困難。
(2)數據存儲低效。由于部署在電網企業中的信息系統比較龐雜,產生的數據包括智能設備實時數據、歷史數據、日志數據、文本數據和多媒體數據等,元數據系統分布地域廣泛,使得數據資源難于實現統一訪問和管理,另外,“爆炸式”增長的海量電力數據對存儲時間要求和IT基礎設施提出了更高的要求[7]。
(3)缺乏統一標準體系。企業數據共享平臺建設雖然依據國網公共信息模型(SG-CIM)標準要求,但是在實際的數據共享設計建設中還存在數據粒度大小多樣、存儲標準不一、執行效率低、數據規范不一致等問題,嚴重阻礙了企業數據共享、數據質量、數據安全和數據應用等方面工作的開展。
(4)企業在運營過程中積累了大量的數據資產,其中往往蘊含著各種各樣有價值的知識,如何更好地將這些數據轉換為實際價值成為了研究焦點。基于數據共享構建大數據分析平臺,采用數據挖掘和智能技術能夠有效地發現數據的內在知識價值,為企業的運營管理提供科學決策支持[8]。
企業當前數據共享模式主要是以統一數據中心為核心,采用傳統的ESB/DXP/OGG/ETL等數據集成技術實現數據的抽取、轉換和加載,并且采用傳統關系型數據庫進行數據存儲,造成異構數據存儲困難、可擴展性低、吞吐性能差等問題,為了不斷提升數據的存儲效率和性能,本文采用分布式存儲技術和分布式計算技術實現海量數據的存儲需求,構建了基于HBase的企業數據共享模型,引入Sqoop、Kafka、Flume等大數據集成技術進行數據的采集工作,并且進一步闡述了數據共享運行機制和保障機制,著力幫助企業構建一個堅實架構,實現企業資源高度共享,優化資源配置,提高管理效率和客戶服務水平的一體化企業數據共享平臺[9]。
本文構建的企業數據共享平臺總體架構嚴格遵循國網公司信息化建設總體思路以及SG-CIM公共信息模型結構,按照“統一管理、統一應用”的原則,開展企業數據資產管理建設工作,為總部、省市、地市三級中心各業務模塊提供數據接入管理、數據集成與共享、數據分析以及數據應用的全壽命周期數據管理服務。企業數據共享平臺總體架構包括數據源層、數據集成層(ODS)、數據倉庫層、數據集市層和數據應用層。總體架構如圖1所示。
(1)數據源層:由于公司數據管理具有業務龐雜、系統相互獨立、數據量大、數據異構、數據質量低等特點,因此,根據數據類型和集成需求將其分為實時數據(傳感器數據和智能電網設備數據)、非結構化數據(系統日志數據和文本、圖像、視頻文件)及數據中心數據。
(2)數據集成層:數據集成層是源數據層和數據倉庫之間的數據緩沖區,主要負責臨時存儲業務系統數據,進行數據的初步清洗、加工和計算。本模型嚴格遵循公司現有的數據集成技術,一方面通過ESB/OGG/ETL/Webservice等方式實現與源數據業務系統之間的數據貫通;另一方面采用DXP/OGG等技術可實現上下級中心間的數據交換與共享;另外,實時數據通過Kafka消息隊列接收來自不同源系統的實時數據,非結構化數據采用Flume組件實時的將分布在不同節點上的數據采集到數據倉庫中,Flume也具有在線數據轉換和直接消息的能力[10]。
(3)數據倉庫層:數據倉庫層的設計以國網SG-CIM公共信息模型主題域為前提,形成統一的數據視圖實現數據共享交換。本文以開源的Hadoop框架為底層架構,構建基于HBase和Hive的數據倉庫層,二者一般都是基于HDFS進行元數據管理和數據存儲,通過Kafka、Sqoop、Flume、Mapreduce等技術實現異源異構數據、實時數據、日志數據、業務系統數據等的共享交換[11]。Hbase具有很強的實時高并發處理能力,Hive通過類SQL并轉換成MapReduce程序,對于歷史數據的統計分析更具優勢,二者對于數據共享需求優勢互補。
(4)數據集市:數據集市一般面向具體業務部門、專業、具體問題進行分析,動態組建所需的數據模型,基于數據倉庫中的數據,進行數據靈活加載。數據集市層以公司的關鍵業務流程為基礎,可從精準營銷、客戶管理、構建高級場景、專項分析、深度分析、業務擴展研究等方面開展,同時滿足數據應用層的分析應用需求,數據集市層更加偏向于業務方面的戰術性需求,目標在于滿足企業特定應用分析的即時性和高效性。
(5)數據應用層:數據應用層的設計依據國網公司“三集五大”戰略規劃,根據業務需要以及分析決策需求,采用大數據技術進行數據挖掘分析及展示,對企業的關鍵業務流程進行專題分析,通過數據訪問接口技術,實現企業人資集約化、財務集約化、物資集約化、大規劃、大建設、大運行、大檢修、大營銷的戰略發展目標。
當前比較成熟的數據共享模式主要有三種:基于聯邦數據庫的數據集成模式、基于中間件技術的數據集成模式、基于數據倉庫的數據集成模式。本文在建立的數據共享平臺總體架構的基礎上,采用基于數據倉庫的數據集成模式,構建了基于Hadoop架構的數據共享模型,并且研究分析了模型的運行機制,主要包括基于HDFS的元數據管理機制,基于“發布-訂閱”的數據分發策略,基于HBase的數據共享運行機制以及數據共享模型容錯機制[12]。
本文研究的數據共享模型采用基于HDFS的元數據管理機制,HDFS采用的是Master/Slave模型,其對數據的存儲以數據塊(Block)為單位,由主元數據節點(Primary NameNode)、次元數據節點(Secondary NameNode)和數據節點(DataNode)構成。HDFS的元數據由Block的屬性、從屬關系和所在位置構成,其對元數據的管理策略采用“editlog+fsimage”動態集成方式,其中,editlog以操作日志的形式記錄下元數據操作的歷史信息,而fsimage是某時刻整個文件系統信息的映射文件,并且二者都支持多副本機制,保持系統運行的一致性。基于HDFS的元數據管理機制如圖2所示。

圖2 基于HDFS的元數據管理方案
HDFS元數據管理機制:
(1)Primary NameNode通過Secondary NameNode的http post提交請求生成新的日志文件,并在edits.new文件中記錄最新請求的操作日志記錄;
(2)Secondary NameNode周期性的通過http get獲取鏡像文件fsimage和日志文件editlogs;
(3)Secondary NameNode加載fsimage文件到內存中,同時執行日志文件的操作,將二者合并為fsimage.ckpt文件;
(4)Secondary NameNode將fsimage.ckpt文件通過http post發送到Primary NameNode進行存儲;
(5)Primary NameNode得到fsimage.ckpt文件后,對節點原有的鏡像文件和日志文件進行更新,生成新的editlogs和fsimage;
(6)當系統發生故障時,Primary NameNode就可以從Secondary NameNode進行元數據更新,從而實現存儲數據的恢復。
黑板模型思想最早由Newell提出,是一種常見的數據架構模式,針對需要解決的問題和不同的應用之間協作共同完成。其基本思想就是多個專家協同來解決黑板上的問題,每個專家根據自己的領域更新相應策略,然后其他專家在此基礎上進一步不斷更新,直至問題全部解決。在數據共享模型中,該模式能夠實現信息的實時共享,并且可以并發地進行消息的更新,具有較高的獨立性、可維護性和重用性[13]。
黑板模型主要由三部分構成:黑板、知識源(KS)和監控機構。黑板就相當于本數據共享模型的全局數據倉庫,知識源為集成到數據倉庫的各源數據庫系統。黑板由輸入數據、控制數據、部分解、最終解和備選方案等功能構成,能夠對初始數據、部分解等進行共享處理。知識源是為黑板提供相應信息和解空間的途徑,其通過“條件-動作”的形式進行數據狀態的更新。監控結構通過監聽黑板信息變化情況,然后通過相應的服務激活相應的數據庫接口信息,并將該操作加入到調度隊列中,緊接著調度程序會選擇合適的知識源對黑板上的問題進行求解,根據其求解結果更新黑板狀態,最終實現所有的數據更新共享[9]。
本文構建的基于HBase的數據共享模型,采用了基于“發布-訂閱”的數據分發策略完成對數據的分發、接收操作。在該策略的模型中主要有三個角色,分別是消息發布者、消息訂閱者和發布訂閱服務器[10]。元數據庫系統針對需要共享的數據信息服務進行注冊,同時HBase數據倉庫與發布訂閱服務器之間完成發布服務注冊以及配置好接口信息。當發布者向發布訂閱服務器發布某條數據集成請求時,服務器就會自動匹配訂閱服務信息,并且激活相應訂閱者的相應操作,完成數據的集成共享過程。在實際應用中,為了盡可能提高數據分發性能及效率,應該部署專門的服務器負責接收和匹配對應的消息和訂閱條件并完成數據的分發。該策略基于HBase的多副本機制和容災機制,使得單個故障節點并不會影響整個數據倉庫的數據集成。圖3為“發布-訂閱”數據分發模型示意圖。
本文在數據集成層和數據集市層之間,引入基于Hadoop架構的數據倉庫層,針對各源系統數據,采用Sqoop、Flume、Kafka、ETL等集成技術實現數據集中管控、綜合治理、智能分析、高度共享。基于HBase的數據共享模式主要包括6部分:共享接口、數據復制、訂閱數據、共享數據管理器、數據源和元數據管理,將HBase作為數據倉庫與源數據庫系統之間的橋梁進行數據共享。

圖3 “發布?訂閱”數據分發模型
在基于HBase的數據共享模式中,作為“黑板”出現的HBase數據倉庫與每個源數據庫也就是各個“知識源”之間,是通過其HBase共享接口與節點共享接口的連接,實現數據重建和數據復制共享,其中對數據的重建是HBase數據庫共享數據的方式,對于源系統數據通過數據重建的方式實現數據共享管理,并且對共享數據與系統數據之間進行分開存儲,實現數據的集中管理,基于HDFS元數據管理的“監控機構”保證了整個數據共享機制的有序運行[14]。
基于HBase的數據共享模式主要是通過建立全局模式與節點模式之間的虛擬映射關系來實現的;HBase數據倉庫與各元數據庫之間通過映射配置接口信息實現通信;節點模式下的數據資源通過映射關系轉換為全局模式視圖;這樣,HBase數據倉庫就會根據元數據庫的請求完成數據采集工作。如圖4所示,基于HDFS元數據管理技術主要包括元數據的獲取、元數據查詢、元數據映射、元數據操作等。在元數據管理技術的前提下,節點數據源以審核發布的方式將數據以數據復制的方式被存儲到HBase訂閱數據組。然后,HBase共享數據管理器將這部分數據以全局視圖模式存儲到HBase數據庫中。其次,通過元數據映射和模式信息管理機制,HBase數據庫通過審核發布將數據以數據重建的方式抽取到節點數據訂閱組,并通過節點共享數據管理器將數據存儲到節點數據源中,實現二者之間的數據集成與共享。

圖4 基于HBase的數據共享運行機制
本文在電網企業現有信息化建設及數據管理現狀的基礎上,研究分析了基于Hadoop架構的電網企業數據共享模型,包括基于HDFS的元數據管理方案和基于Hbase的數據共享模式。該模型針對海量異源異構數據的集成和處理有一定優勢,有效地解決了電網企業數據共享中存在的擴展能力低、低效容錯、數據安全等問題。結合電網企業構建了基于該模型的數據共享平臺總體架構,為電網企業實現數據資源集中管控、數據信息高度共享、數據價值深度挖掘提供一定的借鑒,促進公司各業務數據的全面集成和深度融合,幫助企業更好發掘數據的內在價值,為企業的運營管理提供科學決策和應用價值。該模型有望為電網企業統一數據中心建設、全壽命周期數據治理體系構建、大數據分析挖掘領域等提供數據層支持。此外,本文僅研究分析了電網企業數據共享建設框架思路,但是具體的數據移植、數據集成方案、硬件支撐等實施方案還需認真深入研究。
參考文獻:
[1]王瑋,劉蔭,于展鵬,等.電力大數據環境下大數據中心架構體系設計[J].電力信息與通信技術,2016,14(1):31-36.
[2]張東霞,苗新,劉麗平.智能電網大數據技術發展研究[J].中國電機工程學報,2015,35(1):22-34.
[3]王相偉,史玉良,張建林,等.基于Hadoop的用電信息大數據計算服務及應用[J].電網技術,2015,39(11):3128-3133.
[4]蘇學能,劉天琪,曹鴻謙,等.基于Hadoop架構的多重分布式BP神經網絡的短期負荷預測方法[J].中國電機工程學報,2016,23(8):43-53.
[5]王海豹.基于Hadoop架構的數據共享模型研究[D].北京:北京工業大學,2013.
[6]王德文.基于云計算的電力數據中心基礎架構及其關鍵技術[J].電力系統自動化,2012,36(11):67-71.
[7]劉友波,劉洋,劉俊勇,等.基于Hadoop架構的電力系統連鎖故障分布式計算技術[J].電力系統自動化,2016,40(07):90-97.
[8]Silberstein A E, Sears R, Zhou W,etal. A batch of PNUTS: experiences connecting cloud batch and serving systems[C].Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data. Athens: ACM SIGMOD/PODS, 2011:1101-1112.
[9]Baliga J, Ayre R W A, Hinton K,etal. Green cloud computing: balancing energy in processing, storage, and transport[J]. Proceedings of the IEEE, 2011: 149-167.
[10] 齊林海,艾明浩,王金浩.基于Hadoop架構的電能質量監測云模型研究[J].電力信息與通信技術,2014,12(2):10-14.
[11] 刁柏青.智能電網框架下智能運營系統的構建[J].智能電網,2014,2(04):1-7.
[12] 王逸飛,張行,何迪,等.基于大數據平臺的電網防災調度系統功能設計與系統架構[J].電網技術,2016,40(10):11-14.
[13] 宋亞奇,周國亮,朱永利.智能電網大數據處理技術現狀與挑戰[J].電網技術,2013,37(4):927-935.
[14] 彭小圣,鄧迪元,程時杰,等.面向智能電網應用的電力大數據關鍵技術[J].中國電機工程學報,2015,35(3),503-511.