摘 要 隨著智能電網信息技術的快速發展,用電信息采集系統自建成后積累了海量的電網采集量測類型的數據,采集量測數據是電網領域的重要數據類型之一,是電網設備狀態監控、電網業務輔助決策分析的主要依據,當前用電信息采集系統量測類數據主要采用傳統關系型數據庫Oracle數據庫進行存儲。本文提出了基于大數據技術的用電信息系統量測數據處理技術方案,解決了傳統關系型數據庫用處理效率低的技術問題。
【關鍵詞】用電信息采集系統 量測數據 大數據 kafka
1 電力大數據現狀
用電信息采集系統建設理念是通過獲取海量的電網電能信息,優化電能的生產、輸送、調配以及用戶用電消費。用電信息采集系統將承載電力流、信息流、業務流,并且基于此基礎在實現用電信息數據的采集、深度處理和分析,實現電能的清潔生產、電能的高效傳輸、靈活動態分配電能、合理利用電能的智慧電力的目標。隨著堅強電網的建設,產生了一大批服務于各個專業的信息采集與管理系統,用電信息采集系統擁有海量的采集量測類數據,構成了電力大數據的來源。量測類數據是電力海量數據中重要的一類數據,系統包括SCADA、WAMS和AMI三類。其WAMS系統采集周期為毫秒級,相比SCADA分、秒級采樣周期,WAMS可以準確實時反映電網運行動態信息,帶來的數據量增長也是成百上千級。AMI面向的是龐大的用戶群體,收集了粒度更細的海量用戶用電信息。而傳統架構的逐漸暴露出技術不足與局限性,不能夠很好的支撐大數據環境下對量測數據的高效計算與深度挖掘。本文提出的基于大數據技術的用電信息采集系統量測數據處理方法,可解決傳統關系型數據庫用于電力信息系統量測數據處理效率低的技術問題。
2 量測數據處理系統設計
2.1 模型設計
依據Hbase數據庫、Redis數據庫的特點以及用電信息采集系統量測數據特性設計數據處理系統,該量測數據處理系統能夠將同時刻的同一電站所有設備數據邏輯上顯示在數據庫的同一行,并且在物理磁盤上也存儲在相鄰位置。因為Hbase是列式存儲數據庫,海量的列對于數據的訪問性能幾乎沒有影響,并且在Hbase的行存儲上是非常稀少的,行存儲中沒有值的單元不會占用物理存儲空間。當用戶進行量測數據斷面查詢時,數據處理系統將能夠快速查詢得到該時刻具體電站所屬區域的所有采集量測數據設備斷面值。當用戶進行量測數據批量查詢時,由于設計了量測數據存儲模型與處理方案,對表按照具體類型進行了分表分區,量測類數據分布在服務器集群中,批量查詢中集群中的服務器并行處理要查詢的數據,查詢結果可以快速獲取。存儲模型如圖1所示。
2.1.1 表名規范
用電信息采集量測數據按照月度進行分表,表名劃分為三段,格式為“省(市)公司編碼_源業務系統類型碼_分表標識”,每段之間用“_”分隔,段內不得使用“_”,表名中英文使用大寫,如:ZJ_103_201506表示浙江用電信息采系統2015年6月份的數據。
2.1.2 表分區規范
存儲在HBase表內的數據劃分為多個分區進行存儲,決定分區數量有兩個因素,分別是服務器數量與所存儲表的數據量,分區的原則是分區數量設置為服務器數量的整數倍,單個分區的數據量控制在2GB到4GB之間。
2.1.3 行鍵規范
行鍵可修改,將用電采集系統量測數據模型的相層級體現到RowKey的設計中,行鍵規范的各個層級可以根據具體的表進行定制化的配置,提高了行鍵配置的靈活度,如用電信息采集系統中量測數據模型行鍵可劃分為四段,格式為“地市級供電單位編碼.業務檢索字段.采集時間.量測類型”,分隔符為“.”,段內不得使用“.”。例如“CY.21001111. 01012017040101.BA”表示朝陽區21001111號臺區下2017年1月1日4時1分1秒反向有功。
2.1.4 列名規范
利用HBase特性,表列數設計與設備數量相等。表列名選用“電能表ID”。例如“1000000201”表示編號為1000000201的電能表。
2.2 系統結構
用電信息采集系統量測數據處理系統主要包含四個環節,分別是數據對接,即時處理,數據加載與存放以及數據查詢。
2.2.1 數據對接
用電信息采集系統量測數據接入大數據平臺前需要定制的對接程序,對接程序的作用有兩個,分別是用于傳輸協議的協調以及對源業務系統數據進行數據模型的轉換。對接程序部署在用電信息采集系統與大數據平臺的卡夫卡消息隊列組件之間,定制的對接程序根據量測數據的類型的不同,分別將數據投遞到卡夫卡不同的消息隊列中,用電信息采集系統量測數據類型雖然紛亂復雜,但是通過定制的對接程序可以將其分類,有效的投遞到卡夫卡不同的隊列中。卡夫卡消息隊列的優勢有三點,分別是分布式、異步通信與通信帶寬大。用電信息采集系統量測數據通過卡夫卡消息隊列接入大數據平臺可以有效的緩解數據接入高峰對大數據平臺的沖擊,避免量測數據的丟失,保證數據的完整與有效。
2.2.2 即時處理
在卡夫卡消息隊列與數據存儲組件Hbase與Redis之間 ,部署了分布式實時流計算組件Storm,Storm組件可以將海量的數據分布到服務器集群進行數據處理,主要是對數據進行即時計算。 Storm組件在本系統中主要完成兩項工作,包括對采集量測數據進行深度處理,比如數據完善、數據質量驗證等,經過深度處理的數據投遞到Hbase與Redis中,對量測數據進行分析以及計數統計,將結果保留在關系型數據庫中。
2.2.3 數據加載與存放
量測數據的加載與存放有兩種,分別是隨機加載存儲與固定加載存儲,加載存儲方式的選擇主要依據實際場景的需求。本系統采用了分布式數據庫Hbase加Redis數據庫的組合,Hbase數據庫與Redis數據庫具備不同的特點。Hbase數據庫是一個構建在HDFS上的分布式列存儲系統,基于Google BigTable模型開發的典型的key/value系統,主要用于海量結構化數據存儲。在邏輯上,HBase將數據根據表、行和列進行存儲,依靠橫向擴展,通過不斷增加廉價的服務器,來增加計算和存儲能力。Hbase中的一張表可以有數十億行,上百萬列,完全滿足海量電網量測數據的采集。 Redis是一個速度非常快的高性能的key-value數據庫存儲系統。Redis數據庫很大程度上補償了memcached這類key/value存儲的不足。Redis支持存儲五種value數據類型,包括string(字符串)、list(鏈表)、set(集合)、hash(哈希類型)和zset(sorted set --有序集合)。這些數據類型都支 持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。為了保證效率,數據都是緩存在內存中。redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了master-slave(主從)同步。 總之,HBase和Redis都是基于Key、Value的數據庫,他們的不同點在于HBase是基于文件系統的,Redis是基于內存的。本系統根據Hbase與Redis數據庫的不同特點,將用電采集系統的歷史存檔數據存儲在Hbase上,將近期增量量測數據存儲在Redis中,該設計既可以利用Hbase存儲海量量測類數據,又可以利用Redis基于內存的特點,當用戶需要查詢最近數據時,快速得到查詢結果。本系統需求是將量測數據盡可能的存儲在鄰接的物理位置,當進行數據查詢時,磁頭可以通過較少的IO讀取次數將數據取出,能夠大幅度提取讀數量測數據的效率。endprint
2.2.4 數據查詢
依據量測數據的進入大數據平臺的時間不同的特點,分別將數據加載存儲在Redis數據庫以及Hbase列式數據庫,進入數據庫中的量測數據已經經過了前端定制程序處理, 本系統基于國網海量平臺的UAPI接口,升級設計了通用訪問接口UAPI, 使用戶可以忽略數據的存儲細節,使用電采集系統的業務應用依據電網模型查詢數據,實現量測數據分流、中間計算結果臨時存儲、量測數據的高效查詢等功能。
3 實驗分析
為了驗證所設計的量測數據處理系統有效性,以某網省用電信息采集系統量測數據處理為例,用電信息采集系統數據接入組件部署如圖2所示。
Windows服務器部署三個軟件,分別是海量平臺一發雙收工具、Mysql數據庫以及SFTP服務。海量平臺一發雙收工具用于將業務系統的數據轉換為標準形式的E文件;Mysql數據與用于存儲業務系統的檔案數據;SFTP服務用于提供E文件下載服務。
Linux服務器中的第一臺服務器部署五個組件,分別是SFTP下載組件、Eparse組件、RPC組件、RedisLoader組件以及Kafka2hbase組件。另一臺Linux服務器部署Kafka2hbase組件。SFTP下載組件用于將海量一發雙收工具生成的E文件下載到Linux服務器本地文件夾;Eparse組件用于將E文件進行解析,寫入分布式消息隊列Kafka中;RPC組件用于各組件的通信;Kafka2hbase組件將消息隊列中的數據寫入Hbase;RedisLoader組件將消息隊列中的數據寫入Redis。
在該網省現場,Kafka2hbase寫入大數據平臺服務器Hbase數據庫中的寫入速率可達到75M每秒,滿足該網省用電信息采集系統采集監測數據應用需求。
4 結語
本文提出了一種基于大數據技術的用電信息采集系統測數據處理方法,解決了傳統關系型數據庫用于電力信息系統量測數據處理效率低的技術問題。通過實驗證明了該處理方法的可行與有效。
參考文獻
[1]孫柏林.“大數據”技術及其在電力行業中的應用[J].電氣時代,2013(08):18-23.
[2]趙云山,劉煥煥.大數據技術在電力行業的應用研究[J].電信科學,2014,30(01):57-62.
[3]WITT S.Data Mangement & Analytics for Utilities 2014[EB/OL].[2014–5–20].http://www.smartgridupdate.com.
作者簡介
張珂珩(1972-),男,高級工程師。主要研究方向為電力大數據處理技術研究開發、建設運行和技術管理。
作者單位
江蘇瑞中數據股份有限公司 江蘇省南京市 210012endprint