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