一種基於大數據技術的用電信息採集系統及其採集方法與流程
2023-06-14 02:34:31 3

本發明涉及用電信息採集系統及其採集方法,尤其是一種基於大數據技術的用電信息採集系統及其採集方法。
背景技術:
自2010年起全面推進用電信息採集系統建設。截至2014年7月份,國網27家單位全部開展了用電信息採集系統建設,全口徑用戶實現採集覆蓋2.3億戶,採集覆蓋率達到66.98%,採集的電量佔總售電量比例達到93.49%。用電信息採集系統由系統主站、傳輸信道、採集終端以及智能電錶組成。
系統主站負責整個系統的用電信息採集、存儲、分析、處理和應用,由通信子系統、資料庫、業務應用、接口應用等組成。大部分網省公司採用省級集中部署方式建設。
傳輸信道分為系統主站與終端之間的遠程通信信道、終端與智能電錶之間的本地通信信道。當前公司範圍內採集系統遠程通信信道主要採用GPRS/CDMA無線公網系統、230MHz無線專網信道、電話PSTN、光纖通信信道等。本地通信信道主要採用RS485、低壓電力線載波(窄帶、寬帶)、微功率無線等。電力用戶用電信息採集系統是對電力用戶的用電信息進行採集、處理和實時監控的系統,實現用電信息的自動採集、計量異常監測、電能質量監測、用電分析和管理、相關信息發布、分布式能源監控、智能用電設備的信息交互等功能。
目前用電信息採集系統存在以下問題:
1.高速海量數據存儲計算模型欠缺
現用電信息採集業務數據模型,面對浙江全省2000多萬低壓用戶,在高頻數據採集、存儲、計算領域,存在不同種類、不同形式的海量數據存儲、計算時間周期偏長;
2. 耗時兩大且計算效果不佳,存在計算瓶頸
現用電信息採集數據計算,受制於oracle原內存空間、處理性能瓶頸,對於每天24點的全省全量數據,實現數據計算,耗時兩大且計算效果不佳。
技術實現要素:
本發明要解決的技術問題和提出的技術任務是對現有技術方案進行完善與改進,提供大數據技術的用電信息採集系統,以達到存儲、計算能力增強。為此,本發明採取以下技術方案。
基於大數據技術的用電信息採集系統,包括:
通信服務模塊:通過通信網絡與採集設備相連以獲得用電信息數據;
數據存儲模塊:與通信服務模塊相連,包括關係型資料庫、分布式資料庫及雲存儲,獲取的用電信息數據對應存放至關係型資料庫、分布式資料庫及雲存儲中;
數據處理模塊:與數據存儲模塊相連,其包括定時計算服務單元、實時數據流處理單元、複雜事件流處理單元、海量數據離線處理單元及數據挖掘單元,所述的定時計算服務單元及關係型資料庫相連;所述的實時數據流處理單元、複雜事件流處理單元與分布式資料庫相連,所述的複雜事件流處理單元、海量數據離線處理單元、數據挖掘單元與雲存儲相連;
數據展現模塊:與數據存儲模塊相連,以進行數據的展現,包括與分布式資料庫相連的實時數據監測單元和與雲存儲相連的海量數據查詢單元。
本技術方案實時計算和離線計算採用不同的處理方式,提高數據的實時處理能力和計算速度並有效減少存儲空間。
作為對上述技術方案的進一步完善和補充,本發明還包括以下附加技術特徵。
通訊服務模塊包括通信網關集群、通信前置機集群、流處理單元;其中通信網關集群用於維護終端通訊鏈路和原始報文的收發;通信前置機集群用於維護終端原始通訊報文的解析以及採集數據入庫;採集數據入庫採用雙鏈路存儲機制,即一路將低頻度採集數據保存至關係型資料庫,一路將所有採集數據保存至雲平臺;流處理單元用於對採集數據進行實時處理,包括數據提取、過濾、分析計算。
關係型資料庫為關係型資料庫集群,其包括主資料庫集群、歷史資料庫、災備資料庫;其中主資料庫集群負責存儲整個採集系統的檔案數據和近期業務數據,為其他應用提供數據訪問支撐;歷史資料庫通過數據遷移從主資料庫遷移過來一定時間以上的歷史業務數據進行存儲;災備資料庫通過資料庫底層複製技術,實現與生產主資料庫相同的資料庫應用備份節點。
雲存儲設於雲平臺上,所述的雲平臺包括雲存儲、雲計算和雲接口;其中雲存儲負責採集全量數據以及來自外部數據源的各類非結構化數據的存儲,並從關係型資料庫中通過ETL實時同步檔案數據;雲計算負責對多樣化的海量數據通過分布式計算實現各類統計分析;雲接口負責對外部應用提供標準程序調用接口。雲數據平臺以高級統計分析計算業務為主,使得原依賴生產主資料庫的統計分析等複雜應用遷移至雲數據平臺中,保證生產主資料庫單一的數據採集入庫及基本功能作用,降低主庫壓力,同時提升複雜統計分析應用以及數據處理的效率,使得高級統計分析功能響應速度可較之前大幅提升,以滿足時效性越來越高的業務需求。
所述的數據存儲模塊設有用於對電量採集前置機採集到的電量進行隊列緩存的分布式消息隊列存儲單元,數據處理模塊的實時數據流處理單元為分布式流計算單元:其 採用Apache Storm進行分布式實時計算;讀取分布式消息隊列存儲單元數據,並實時存儲到分布式資料庫;
數據處理模塊的定時計算服務單元為分布式離線計算模塊:用於在分布式資料庫中抽取需要處理的電量信息,並將其導入到Hive數據表;通過Spark離線計算處理相關Hive數據表得到當期電量,並對相關異常處理。
數據處理模塊在系統部署初始化時,使用Sqoop工具直接從關係型資料庫讀取檔案數據,並將數據放到分布式資料庫存儲,提供給各個分布式計算服務調用檔案數據;在系統運行過程中,從關係型資料庫讀取增量檔案更新數據,並可將數據實時更新到雲平臺的分布式文件存儲中,為分布式流計算和離線計算提供準確的基礎信息。
數據展現模塊根據各個應用框架的交互和狀態數據,進行可視化的界面展現,同時通過讀取各個計算服務存儲在分布式資料庫中的日誌信息以及收集的文本日誌信息,監控計算服務的運行狀態,實現計算節點的熱部署;對計算服務進行實時任務調度。
基於大數據技術的用電信息採集方法,包括以步驟:
1)電量採集前置機將採集電量實時發送到Kafka隊列緩存;
2)Storm集群讀取Kafka隊列電量信息,並實時存儲到Hbase;
3)Spark在Hbase中抽取需要處理的電量信息,並將其導入到Hive數據表;
4)通過Spark離線計算操作相關Hive數據表得到當期電量。
在步驟2)中,Storm集群包括一個主節點Nimbus和一群工作節點Supervisor,並通過 Zookeeper進行協調;Nimbus負責在集群裡面分發代碼,分配計算任務給機器,並且監控狀態;Supervisor監聽分配給它那臺機器的工作,根據需要啟動/關閉工作進程。
Supervisor的每一個工作進程執行一個topology的一個子集;一個運行的topology由運行在多臺機器上的多個工作進程組成;計算任務Topology是由不同的Spouts和Bolts,通過數據流連接起來的圖;Spout作為Storm中的消息源,用於為Topology生產消息,從外部數據源不間斷地讀取數據並發送給Topology消息;Bolt為Storm中的消息處理者,用於為Topology進行消息的處理,Bolt處理包括消息過濾、聚合、查詢資料庫,其對消息作逐級處理; 最後,Topology被提交到Storm集群中運行;或通過命令停止Topology的運行,將Topology佔用的計算資源歸還給Storm集群。
有益效果:
基於大數據技術應用,通過分布式離線技術批量高速計算用電信息採集數據的分布式複雜事件流處理技術,構建流處理環境,提升整體計算容量、速度;有效增強存儲、計算能力。
集Storm和Spark的優點,提升整體計算處理容量。從事務保障任務節點動態遷移技術,提出完整的任務節點遷移的事務保障協議,在確保遷移過程中流系統消息不丟包、不重複的同時,提高遷移本身的執行效率,提升系統穩定性。
附圖說明
圖1是本發明應用結構圖。
圖2是本發明邏輯架構圖。
圖3是本發明大數據云平臺邏輯架構圖。
圖4是本發明數據架構圖。
圖5是本發明數據處理架構。
圖6是本發明物理架構圖。
圖7是本發明雲平臺物理架構圖。
圖8是本發明系統安全架構圖。
圖9是本發明雲平臺安全架構圖。
具體實施方式
以下結合說明書附圖對本發明的技術方案做進一步的詳細說明。
如圖1所示,本發明包括:
通信服務模塊:通過通信網絡與採集設備相連以獲得用電信息數據;
數據存儲模塊:與通信服務模塊相連,包括關係型資料庫、分布式資料庫及雲存儲,獲取的用電信息數據對應存放至關係型資料庫、分布式資料庫及雲存儲中;
數據處理模塊:與數據存儲模塊相連,其包括定時計算服務單元、實時數據流處理單元、複雜事件流處理單元、海量數據離線處理單元及數據挖掘單元,所述的定時計算服務單元及關係型資料庫相連;所述的實時數據流處理單元、複雜事件流處理單元與分布式資料庫相連,所述的複雜事件流處理單元、海量數據離線處理單元、數據挖掘單元與雲存儲相連;
數據展現模塊:與數據存儲模塊相連,以進行數據的展現,包括與分布式資料庫相連的實時數據監測單元和與雲存儲相連的海量數據查詢單元。
通訊服務模塊包括通信網關集群、通信前置機集群、流處理單元;其中通信網關集群用於維護終端通訊鏈路和原始報文的收發;通信前置機集群用於維護終端原始通訊報文的解析以及採集數據入庫;採集數據入庫採用雙鏈路存儲機制,即一路將低頻度採集數據保存至關係型資料庫,一路將所有採集數據保存至雲平臺;流處理單元用於對採集數據進行實時處理,包括數據提取、過濾、分析計算。
關係型資料庫為關係型資料庫集群,其包括主資料庫集群、歷史資料庫、災備資料庫;其中主資料庫集群負責存儲整個採集系統的檔案數據和近期業務數據,為其他應用提供數據訪問支撐;歷史資料庫通過數據遷移從主資料庫遷移過來一定時間以上的歷史業務數據進行存儲;災備資料庫通過資料庫底層複製技術,實現與生產主資料庫相同的資料庫應用備份節點。
雲平臺主要包括雲存儲、雲計算和雲接口;其中雲存儲負責採集全量數據以及來自外部數據源的各類非結構化數據的存儲,並從關係型資料庫中通過ETL實時同步檔案數據;雲計算負責對多樣化的海量數據通過分布式計算實現各類統計分析;雲接口負責對外部應用提供標準程序調用接口。雲數據平臺以高級統計分析計算業務為主,使得原依賴生產主資料庫的統計分析等複雜應用遷移至雲數據平臺中,保證生產主資料庫單一的數據採集入庫及基本功能作用,降低主庫壓力,同時提升複雜統計分析應用以及數據處理的效率,使得高級統計分析功能響應速度可較之前大幅提升,以滿足時效性越來越高的業務需求。
所述的數據存儲模塊設有用於對電量採集前置機採集到的電量進行隊列緩存的分布式消息隊列存儲單元,數據處理模塊的實時數據流處理單元為分布式流計算單元:其 採用Apache Storm進行分布式實時計算;讀取分布式消息隊列存儲單元數據,並實時存儲到分布式資料庫;
數據處理模塊的定時計算服務單元為分布式離線計算模塊:用於在分布式資料庫中抽取需要處理的電量信息,並將其導入到Hive數據表;通過Spark離線計算處理相關Hive數據表得到當期電量,並對相關異常處理。
數據處理模塊在系統部署初始化時,使用Sqoop工具直接從關係型資料庫讀取檔案數據,並將數據放到分布式資料庫存儲,提供給各個分布式計算服務調用檔案數據;在系統運行過程中,從關係型資料庫讀取增量檔案更新數據,並可將數據實時更新到雲平臺的分布式文件存儲中,為分布式流計算和離線計算提供準確的基礎信息。
數據展現模塊根據各個應用框架的交互和狀態數據,進行可視化的界面展現,同時通過讀取各個計算服務存儲在分布式資料庫中的日誌信息以及收集的文本日誌信息,監控計算服務的運行狀態,實現計算節點的熱部署;對計算服務進行實時任務調度。
基於大數據技術的用電信息採集方法,包括以步驟:
1)電量採集前置機將採集電量實時發送到Kafka隊列緩存;
2)Storm集群讀取Kafka隊列電量信息,並實時存儲到Hbase;
3)Spark在Hbase中抽取需要處理的電量信息,並將其導入到Hive數據表;
4)通過Spark離線計算操作相關Hive數據表得到當期電量。
在步驟2)中,Storm集群包括一個主節點Nimbus和一群工作節點Supervisor,並通過 Zookeeper進行協調;Nimbus負責在集群裡面分發代碼,分配計算任務給機器,並且監控狀態;Supervisor監聽分配給它那臺機器的工作,根據需要啟動/關閉工作進程。
Supervisor的每一個工作進程執行一個topology的一個子集;一個運行的topology由運行在多臺機器上的多個工作進程組成;計算任務Topology是由不同的Spouts和Bolts,通過數據流連接起來的圖;Spout作為Storm中的消息源,用於為Topology生產消息,從外部數據源不間斷地讀取數據並發送給Topology消息;Bolt為Storm中的消息處理者,用於為Topology進行消息的處理,Bolt處理包括消息過濾、聚合、查詢資料庫,其對消息作逐級處理; 最後,Topology被提交到Storm集群中運行;或通過命令停止Topology的運行,將Topology佔用的計算資源歸還給Storm集群。
如圖1所示的應用架構圖說明:
1、採集設備採集用戶用電信息數據通過通信網絡(光纖 / GPRS / CDMA / SMS等)接入通信網關(Gate)。
2、通信網關(Gate)將接收到的報文數據發送至通信前置機(FE)進行報文分發和報文入庫,報文入庫採用雙鏈路存儲機制分別存入關係型資料庫(Oracle)和大數據云存儲(HDFS)中,並通過實時數據流處理對終端通信狀況和終端通信流量進行實時處理統計。
3、通信前置機(FE)將報文分發至業務處理器(BP)進行報文解析和採集數據入庫,採集數據入庫採用雙鏈路存儲機制,即一路將低頻度採集數據保存至傳統的關係型資料庫,一路將所有採集數據保存至大數據云存儲(HDFS),並通過實時數據流處理對終端實時工況進行實時處理統計。
4、數據存儲包括關係型資料庫集群、分布式內存資料庫集群和雲存儲(HDFS)三部分。關係型資料庫(Oracle)為原有OLTP應用提供支撐;分布式內存資料庫集群為實時大數據分析提供支撐;雲存儲(HDFS)為大數據離線分析和數據挖掘(機器學習、分析預測)等OLAP應用提供支撐。
5、數據處理包括原有在關係型資料庫(Oracle)中的定時計算服務和大數據云平臺上的實時數據流處理、複雜事件流處理、海量數據離線分析、數據挖掘(機器學習、分析預測)。
6、數據展示在原有關係型資料庫(Oracle)上的WEB應用上增加對大數據云平臺上的實時數據監測和海量數據查詢功能。
系統邏輯架構,如圖2所示。
具體邏輯架構圖說明:
通訊服務:包括通信網關集群、通信前置機集群、流處理應用三個部分。其中通信網關集群負責維護終端通訊鏈路和原始報文的收發;通信前置機集群負責維護終端原始通訊報文的解析以及採集數據入庫;採集數據入庫採用雙鏈路存儲機制,即一路將低頻度採集數據保存至傳統的關係型資料庫,一路將所有採集數據保存至雲平臺;流處理應用負責對採集數據進行實時提取、過濾、分析計算等。
數據存儲:包括關係型資料庫集群以及雲平臺兩個部分。關係型資料庫集群包括主資料庫集群、歷史資料庫、災備資料庫。其中主資料庫集群負責存儲整個採集系統的檔案數據和近期業務數據,為其他應用提供數據訪問支撐;歷史資料庫通過數據遷移從主資料庫遷移過來一定時間以上的歷史業務數據進行存儲;災備資料庫通過資料庫底層複製技術,實現與生產主資料庫相同的資料庫應用備份節點。雲平臺主要包括雲存儲、雲計算和雲接口三個部分。其中雲存儲負責採集全量數據以及來自外部數據源的各類非結構化數據的存儲,並從關係型資料庫中通過ETL實時同步檔案數據;雲計算負責對多樣化的海量數據通過分布式計算實現各類統計分析;雲接口負責對外部應用提供標準程序調用接口。雲平臺以高級統計分析計算業務為主,使得原依賴生產主資料庫的統計分析等複雜應用遷移至雲平臺中,保證生產主資料庫單一的數據採集入庫及基本功能作用,降低主庫壓力,同時提升複雜統計分析應用以及數據處理的效率,使得高級統計分析功能響應速度可較之前大幅提升,以滿足時效性越來越高的業務需求。
WEB應用:通過集群提供給用戶具體的採集系統操作界面,同時實現與通訊服務集群、接口服務之間的業務交互。
接口服務:包括營銷系統接口、數據發布接口。其中營銷系統接口負責實現營銷系統與採集系統之間的日常業務流程交互;數據發布接口通過WebServices服務負責統一提供發布採集數據給第三方系統
大數據云平臺邏輯架構,如圖3所示:
大數據云平臺邏輯架構圖說明:
1.檔案數據流向說明
檔案數據的維護在原有關係型資料庫Oracle中,通過GoldenGate Active MQ的方式將檔案增量部分實時同步至分布式內存資料庫集群中;
分布式內存資料庫集群中的檔案數據通過定期(1小時或1天)全量持久化到HDFS中。
2.通信服務數據流向說明
通信前置機/業務處理器把現場終端上報的數據經過處理後分三部分進行數據處理:(1)、存入原有關係型資料庫Oracle中;(2)、通過文件方式直接存入大數據云平臺HDFS存儲中,為海量數據離線分析和機器學習、預測分析等數據挖掘提供數據支撐;(3)、實時數據計算應用(如通信流量監測,通信狀況及實時工況監測),直接進入Storm流計算框架,實時計算結果存入分布式內存集群中。
3.統計分析數據流向說明
實時數據計算是通過Storm流計算框架進行計算,計算結果存入分布式 內存資料庫中,並定期持久化到HDFS和原關係型資料庫Oracle中,為原有應用提供數據支持;
海量數據離線分析和數據挖掘(機器學習)的計算結果存入到SQL on Hadoop內部表或者HDFS上,並可定期持久化到原關係型資料庫Oracle中,為原有應用提供數據支持。
系統數據架構,如圖4所示,
通過大數據Lambda體系架構來構建電力系統大數據云平臺的數據處理架構,使用該架構時:
1、數據採集之後要進行同步雙寫分流:
一部分進入原始數據,批量操作區域。
一部分進入實時分析模塊,即實時處理層。
2、歷史和批量數據的離線分析之後要能建立快速索引視圖。
3、實時分析能夠參照離線索引視圖進行高速實時分析。
4、數據要能在不同的模塊之間自由流轉流動,採用標準協議,如標準SQL/JDBC,REST等。
更進一步,我們可以將該架構細分為如圖5所示的幾個層次:
1、數據源通過採集集成層同時進入實時處理模塊和原始數據存儲管理層。
2、實時處理層提供高性能實時分析和查詢能力,同時可以透明的將數據同步到原始數據存儲管理層。也可以將分析過的結果和遠見存儲到原始數據存儲管理層。另一條數據流直接進入到數據存儲和管理區的原始存放區。
3、由Oozie或其他工作流引擎驅動批處理任務進行原始數據全局粗加工,生成的中間結果或者最終結果存放於成品區或者近實時處理層。
4、客戶端合併實時處理和近實時處理層的數據構成完整的客戶端視圖。
系統物理架構,如圖6所示:
物理架構圖說明:
(1)用電信息採集系統從物理上可根據部署位置分為主站、通信信道、採集設備三部分,與公網信道採用防火牆進行安全隔離,保證系統的信息安全。
(2)主站網絡的物理結構主要由資料庫伺服器、磁碟陣列、雲平臺伺服器、應用伺服器、接口伺服器、通信子系統伺服器(包括前置機伺服器、網關伺服器、流處理伺服器、負載均衡器)、防火牆設備以及相關的網絡設備組成。
(3)通信信道是指系統主站與終端之間的遠程通信信道,主要包括光纖信道、GPRS/CDMA無線公網信道、230MHz無線電力專用信道等。
(4)採集設備是指安裝在現場的終端及計量設備,主要包括專變終端、集中器、採集器以及智能表等。
大數據云平臺物理架構如圖7所示。
系統安全架構,如圖8所示。
大數據云平臺安全架構如圖9所示,包括以下功能:
1、基於角色的授權(Role based authorization)
確保職責的分離。
限制功能性的訪問。
2、管理和配置(Admin and Configuration)
基於角色的管理。
可配置的節點和集群參數。
3、身份認證框架(Authentication framework)
認證節點。
認證客戶端應用程式(為了訪問集群和MapReduce任務)。
4、審查日誌(Audit Log)
日誌事務。
日誌活動。
5、警報(Alerts)
實時報警。
持續性監測。
6、文件加密(File encryption)
保護私有信息 (SPI/BPI)。
遵循監管規範。
7、密鑰認證伺服器(Key certificate Server)
中央密鑰管理伺服器管理不同文件的不同密鑰 。
8、網路安全(Network security)
確保節點之間、應用程式之間以及其他接口之間的安全通信。
9、資源控制(Resource slim)
最低限度的網絡消耗。
最低限度的資源、線程、進程的消耗。
10、通用性(Universal)
Hadoop未知性 – 跨分支的兼容。
異構支持 – 跨生態系統之間的兼容。