鄭楷洪,李鵬,楊勁鋒,王鑫,張文瀚,周尚禮,曾璐琨,李勝
(1.南方電網(wǎng)數(shù)字電網(wǎng)研究院有限公司,廣州510663;2. 中國南方電網(wǎng)有限責任公司,廣州510663;3. 浙江大學計算機科學與技術學院,杭州310058)
近年來,智能電網(wǎng)建設發(fā)展迅速,智能電表安裝數(shù)量越來越多,電力計量系統(tǒng)需要采集和處理的數(shù)據(jù)量日益增多。目前國內電力計量系統(tǒng)可以滿足一般量級的計量服務,但無法集中處理來自各省市的大規(guī)模電能量數(shù)據(jù),對海量數(shù)據(jù)的利用率較低。為解決上述問題,南方電網(wǎng)研發(fā)上線了網(wǎng)級電能量數(shù)據(jù)平臺。該平臺可以對全南方電網(wǎng)的電力計量數(shù)據(jù)進行統(tǒng)一采集、統(tǒng)一管理、統(tǒng)一分析、統(tǒng)一應用,從而為電力營銷業(yè)務提供決策支持。近幾年來,隨著數(shù)字電網(wǎng)建設的進一步發(fā)展,電能量數(shù)據(jù)規(guī)模進一步擴大,該平臺采用的傳統(tǒng)式架構存在:1)集中式數(shù)據(jù)采集效率不高;2)數(shù)據(jù)處理并發(fā)量偏低;3)傳統(tǒng)關系型數(shù)據(jù)庫無法滿足大數(shù)據(jù)擴展需求;4)系統(tǒng)可用性低等問題。本文論述了如何對該平臺架構升級改造,以支持大規(guī)模電力計量數(shù)據(jù)的采集、處理、計算和存儲等各方面業(yè)務。
針對上述研究問題,國內外已開展相關研究工作。在電能量數(shù)據(jù)采集的實時性方面,Sariri S等構建出一種基于Secure Shell通道技術的實時電力數(shù)據(jù)采集系統(tǒng),用來實時采集用戶電力數(shù)據(jù),掌握用戶電力需求[1]。Nithin S等構造出一種智能電網(wǎng)中實時用電數(shù)據(jù)收集單元,該單元使用基于傅立葉變換的方法來計算電壓、電流、相量和頻率,實時性較高[2]。
在電能量數(shù)據(jù)采集的安全性方面,H. Mohammed等利用對稱密鑰密碼術和哈希操作,提出一種基于隱私保護的數(shù)據(jù)采集方案,實驗證明該方案性能優(yōu)越[3]。隨著數(shù)據(jù)采集效率的提高,對數(shù)據(jù)的計算處理能力有了更高要求。為了實現(xiàn)對海量電力數(shù)據(jù)的快速并行分析計算,日本Kyushu電力公司上線使用Hadoop云計算平臺,在數(shù)據(jù)處理上具有較高的效率[4]。C. Lackner等開發(fā)了相量測量單元數(shù)據(jù)狀態(tài)估計器和拓撲處理器作為OpenPDC適配器,實現(xiàn)了電力計量數(shù)據(jù)的實時處理和接收,并且可以很容易地應用到現(xiàn)有相量數(shù)據(jù)處理基礎結構中[5]。鄭楷洪等將人工智能技術應用到電網(wǎng)具體業(yè)務場景,利用智能數(shù)據(jù)分析技術對海量電能量數(shù)據(jù)進行分析計算,提高數(shù)據(jù)計算能力[6]。
在大規(guī)模電能量數(shù)據(jù)的存儲方面,Perisic等基于MongoDB數(shù)據(jù)庫支持自動分片、自動故障轉移且支持的數(shù)據(jù)結構多樣的特點,提出使用MongoDB數(shù)據(jù)庫存儲電能量數(shù)據(jù)[7]。Xu等提出一種將高級量測體系(advanced metering infrastructure,AMI)數(shù)據(jù)根據(jù)其各自特征分為測量數(shù)據(jù)和管理數(shù)據(jù)的方法,該方法混合Hadoop分布式文件系統(tǒng)和關系數(shù)據(jù)庫管理系統(tǒng)來對電能量數(shù)據(jù)進行分類、存儲和統(tǒng)一訪問,具有高效率和強伸縮性的優(yōu)勢[8]。S. Yoon等提出一種具有高速數(shù)據(jù)流處理能力的存儲結構,以突破對電力數(shù)據(jù)查詢速度的限制[9]。R. Hao等針對電能信息采集系統(tǒng)中數(shù)據(jù)重復采集、利用率低、數(shù)據(jù)共享困難的問題,提出了一種基于遠程字典服務(remote dictionary server,Redis)和有序集合數(shù)據(jù)庫(sorted set data base,SSDB)的變電站多維歷史數(shù)據(jù)統(tǒng)一存儲技術,實現(xiàn)了歷史數(shù)據(jù)的永久存儲[10]。
隨著分布式架構和技術的日趨成熟,越來越多的分布式技術被應用于電力計量領域。盧繼哲等基于區(qū)塊鏈技術提出一種電能量數(shù)據(jù)分布式采集模式,可以在提高計量設備數(shù)據(jù)采集效率的前提下保證采集過程數(shù)據(jù)的安全性[11]。李瑾等提出基于區(qū)塊鏈的分布式電能量數(shù)據(jù)可信存儲機制,解決了電能量數(shù)據(jù)中心化存儲安全性和存儲效率低下的問題[12]。陳森利等基于Redis數(shù)據(jù)庫的分布式擴展機制提出動態(tài)分布式緩存系統(tǒng),能夠處理海量數(shù)據(jù),具有高效、可靠、擴展方便等特點[13]。王和棟等為提高省級計量自動化系統(tǒng)的數(shù)據(jù)處理效率,提出分布式并行處理的方法,有效解決了海量數(shù)據(jù)在存儲、容錯、吞吐量等方面的問題[14]。呂中梁等所提出的電力系統(tǒng)能量管理系統(tǒng)(energy management system,EMS)高級應用微服務Web架構有著可移動使用、具備熱升級功能等優(yōu)勢,從而保障了系統(tǒng)安全、可靠,為調度員提供了更為靈活的決策支持[15]。賀勇等基于分布式實時計算框架,提出一種電能量數(shù)據(jù)異常特征提取在線預警系統(tǒng),可以用來實時檢測有無異常數(shù)據(jù)并提供報警,證明了該分布式實時計算框架在數(shù)據(jù)計算分析方面的有效性[16]。李朋等采用分布式架構技術對抄表系統(tǒng)進行升級,提高了各功能模塊間的數(shù)據(jù)交互效率[17]。
基于上述幾個主要方面的研究現(xiàn)狀和技術要素考慮,本文在數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲等方面對南方電網(wǎng)平臺所使用的面向大規(guī)模電能量數(shù)據(jù)的全棧全分布式架構展開論述。所謂全棧,即在電能量數(shù)據(jù)的采集、處理、存儲等一系列過程中對電能量數(shù)據(jù)進行管理,并應用于南方電網(wǎng)網(wǎng)級電能量數(shù)據(jù)平臺,滿足平臺多業(yè)務需求。性能測試和實踐應用結果表明了本文所提架構,具有數(shù)據(jù)吞吐量大、處理效率高、高并發(fā)存儲訪問等優(yōu)點,具有一定的創(chuàng)新性和行業(yè)借鑒性。
本文基于大數(shù)據(jù)技術,針對網(wǎng)級電能量數(shù)據(jù)的采集、處理、存儲,提出了一個全棧全分布式架構,可以提供多種業(yè)務應用。架構采用分布式存儲、分布式計算、分布式消息隊列和分布式應用技術。其中分布式存儲包括分布式內存庫、分布式關系庫和分布式大數(shù)據(jù)平臺;分布式計算包括分布式的內存計算和分布式離線計算;分布式消息隊列使用 Kafka,分布式應用采用微服務架構實現(xiàn)。
網(wǎng)級電能量數(shù)據(jù)平臺通過采集平臺從各省級計量自動化系統(tǒng)數(shù)據(jù)上送隊列中獲取數(shù)據(jù),對采集到的大規(guī)模電能量數(shù)據(jù)進行分析、處理和存儲,進而實現(xiàn)各類業(yè)務應用。平臺架構由數(shù)據(jù)采集層、數(shù)據(jù)處理層和業(yè)務應用層組成,結構如圖1所示。
圖1 網(wǎng)級電能量數(shù)據(jù)平臺分布式架構Fig.1 Distributed architecture of electrical energy data platform of power grid
在數(shù)據(jù)采集層,各省計量自動化系統(tǒng)首先進行原始數(shù)據(jù)采集及預處理,構成分子公司互聯(lián)網(wǎng)數(shù)據(jù)中心(Internet data center,IDC)。各分子公司按照接口規(guī)范格式,將各類數(shù)據(jù)上送到由各Kafka消息隊列組成的總公司IDC區(qū)。數(shù)據(jù)源裝載服務將實時檔案數(shù)據(jù)、實時采集數(shù)據(jù)、各項統(tǒng)計指標結果數(shù)據(jù),裝載到網(wǎng)級電能量數(shù)據(jù)平臺的相應存儲中。數(shù)據(jù)源裝載服務采用分布式技術框架,可以保證數(shù)據(jù)采集和傳輸?shù)膶崟r性。
在數(shù)據(jù)處理層,通過大數(shù)據(jù)分析和數(shù)據(jù)挖掘技術,對采集到的源數(shù)據(jù)進行加工,包括數(shù)據(jù)的清洗、校驗、指標計算等。得到加工結果并存儲在分布式關系庫、內存庫等數(shù)據(jù)庫中,用于支撐實時業(yè)務、非實時業(yè)務和數(shù)據(jù)挖掘業(yè)務。
在業(yè)務應用層,采用“微服務+微應用”的互聯(lián)網(wǎng)技術實現(xiàn)平臺業(yè)務應用。微服務通過訪問分布式關系數(shù)據(jù)庫、大規(guī)模并行處理(massively parallel processing,MPP)、內存數(shù)據(jù)庫等提供微服務業(yè)務接口。微應用通過各種前端展現(xiàn)工具,基于微服務提供的業(yè)務接口組裝前端業(yè)務應用。總公司隔離安全區(qū)(demilitarized zone,DMZ)將外部應用與內部網(wǎng)絡進行隔離,保護內部網(wǎng)絡安全。
數(shù)據(jù)采集分為兩部分,一部分是從各省及超高壓的 Kafka 隊列中采集實時電能量數(shù)據(jù)存儲到實時庫和分布式庫,另一部分采集企業(yè)內其他系統(tǒng)的數(shù)據(jù)。為了實現(xiàn)數(shù)據(jù)大規(guī)模并行采集,保證采集數(shù)據(jù)的高速穩(wěn)定,采集集群采用分布式部署。圖2所示為南方電網(wǎng)網(wǎng)級電能量數(shù)據(jù)平臺數(shù)據(jù)采集流程。
圖2 數(shù)據(jù)采集邏輯架構Fig.2 Logical architecture of data collection
數(shù)據(jù)采集流程分為7個部分,分別為數(shù)據(jù)上送、上送數(shù)據(jù)獲取、檔案變更數(shù)據(jù)發(fā)布、上送數(shù)據(jù)裝載、MPP數(shù)據(jù)裝載、檔案變更數(shù)據(jù)獲取和檔案子集數(shù)據(jù)裝載,具體描述如下。
1)數(shù)據(jù)上送:各省級計量自動化系統(tǒng)將采集數(shù)據(jù)、檔案變更數(shù)據(jù)及其他數(shù)據(jù)通過專用程序上送到網(wǎng)級電能量數(shù)據(jù)平臺消息隊列,作為平臺數(shù)據(jù)源。
2)上送數(shù)據(jù)獲?。翰捎没谂渲玫姆植际蕉鄬嵗耗J讲渴鹁W(wǎng)側的數(shù)據(jù)源獲取工具,在配置獲取消息時,每個消息主題可以配置一個或多個消費實例,每個消費實例也可以配置多個消費者消費不同的消息主題。
3)檔案變更數(shù)據(jù)發(fā)布:考慮到檔案數(shù)據(jù)的動態(tài)性,不僅要將檔案數(shù)據(jù)裝載到持久化存儲中,還要檢測其是否發(fā)生變更,并將變更數(shù)據(jù)發(fā)布到“變更檔案隊列”,供各前端MySQL數(shù)據(jù)庫中的檔案子集更新使用。
4)上送數(shù)據(jù)裝載:針對不同類型的上送數(shù)據(jù),本文設計了形成上送日志、形成MPP數(shù)據(jù)源、裝載到HBASE數(shù)據(jù)庫3種上送數(shù)據(jù)裝載方式,同時為了保證數(shù)據(jù)裝載的性能和實時性,裝載過程基于分時斷面和最大批次2個參數(shù)進行。
5)MPP數(shù)據(jù)裝載:為保證準實時數(shù)據(jù)的裝載,MPP數(shù)據(jù)裝載程序應實時監(jiān)控MPP數(shù)據(jù)源目錄,同時由于MPP數(shù)據(jù)庫不能直接獲取和裝載消息隊列信息,因此通過上送數(shù)據(jù)裝載程序將其處理成分片數(shù)據(jù)文件再進行裝載。
6)檔案變更數(shù)據(jù)獲取:上送數(shù)據(jù)裝載程序在獲取并處理檔案數(shù)據(jù)時標識出檔案變更記錄,并對檔案變更數(shù)據(jù)進行全字段差異性對比,為了提升對比性能,采用全字段檔案數(shù)據(jù)Json數(shù)據(jù)字符串Hash碼對比的方式進行對比。
7)檔案子集數(shù)據(jù)裝載:各前端應用MPP數(shù)據(jù)根據(jù)需要從變更檔案隊列中獲取數(shù)據(jù),根據(jù)前端應用MPP前端數(shù)據(jù)庫的需要,更新相關對象的相關字段。
相較于傳統(tǒng)架構的集中式電能量數(shù)據(jù)采集,這種分布式部署的采集集群具有更高的采集效率和更大的數(shù)據(jù)吞吐量,可以保證未來全網(wǎng)范圍內的電能量數(shù)據(jù)采集的時效性。
南方電網(wǎng)網(wǎng)級電能量數(shù)據(jù)平臺以Kafka消息隊列接收五省兩市數(shù)據(jù),為了保證Kafka數(shù)據(jù)處理的時間先后順序,需要確保同一測點數(shù)據(jù)發(fā)送到同一個Kafka的分區(qū)中。Kafka將消息以主題(Topic)進行歸納,每一個Kafka分區(qū)的服務端都設置不同的主題(Topic),Kafka客戶端根據(jù)Topic向指定Kafka分區(qū)發(fā)送數(shù)據(jù),保證測點數(shù)據(jù)和Kafka分區(qū)的一一對應。為了提高數(shù)據(jù)吞吐量,實現(xiàn)實時流數(shù)據(jù)處理,采用Spark Streaming框架獲取數(shù)據(jù)源。為了平衡服務器壓力,使用消息分區(qū)算法保障各分區(qū)消息數(shù)量的平衡。分區(qū)算法采用MurmurHash[18]對測點計算Hash值,并用其絕對值與分區(qū)數(shù)量取模。
針對現(xiàn)實業(yè)務數(shù)據(jù)量級較大,數(shù)據(jù)上傳存在漏傳、延遲傳輸、重復上傳等外在因素,為了保證數(shù)據(jù)的實時性和準確性,將數(shù)據(jù)處理過程分為實時數(shù)據(jù)處理和歷史數(shù)據(jù)處理,處理流程如圖3所示。
圖3 數(shù)據(jù)處理流程Fig.3 Data processing flow
2.2.1 實時數(shù)據(jù)處理
為保證數(shù)據(jù)的準確性及完整性,避免因網(wǎng)絡或采集程序出錯導致實時數(shù)據(jù)丟失,各業(yè)務系統(tǒng)對實時數(shù)據(jù)進行累積,目前采取保留當天和最近5 d數(shù)據(jù)的措施。由于實時數(shù)據(jù)需要對比與當前時間最接近的數(shù)據(jù)指標,因此需要快速讀取大量近實時數(shù)據(jù),并進行大規(guī)模的并行計算,最后將計算結果反饋到結果庫中。
將實時數(shù)據(jù)處理過程分為3部分。首先由于從Kafka接收的外部數(shù)據(jù)存在較多不確定因素,每次Spark Streaming接收到數(shù)據(jù)都要先進行數(shù)據(jù)清洗與校驗,剔除同一批次中重復的數(shù)據(jù),并將數(shù)據(jù)發(fā)送到Redis數(shù)據(jù)庫中,利用Lua腳本對Redis插入的數(shù)據(jù)和原始數(shù)據(jù)進行去重操作。然后通過調度器每15 min定時啟動Spark Job對Redis近5 d的歷史數(shù)據(jù)進行指標計算,并將計算結果輸出到分布式文件系統(tǒng)(Hadoop distributed file system,HDFS)相應的目錄中。最后調度器定時啟動同步Spark Job檢查相同業(yè)務時間點下面最舊一次計算的結果目錄文件,與最新一次計算結果的目錄文件進行差異對比,對有修改和新增操作的指令進行歸類,最后增量同步到MPP數(shù)據(jù)庫。
2.2.2 歷史數(shù)據(jù)處理
為避免因為網(wǎng)絡或采集程序原因導致N天前指標數(shù)據(jù)計算錯誤,對近兩星期內的數(shù)據(jù)進行指標重算,并且通過手動指定的方式對歷史的某一天進行指標重算,最后將計算結果反饋到結果庫中。
將歷史數(shù)據(jù)處理過程分為3部分。首先對Spark Streaming接到的數(shù)據(jù)進行數(shù)據(jù)清洗與校驗,并將數(shù)據(jù)發(fā)送到Hbase和MPP數(shù)據(jù)庫。一方面,端系統(tǒng)(end system,ES)從Hbase中讀取數(shù)據(jù),通過網(wǎng)絡向網(wǎng)級電能量系統(tǒng)輸送明細初始數(shù)據(jù)。另一方面,調度器每日定時啟動Spark job程序對Hbase 5 d前至近兩星期內的歷史數(shù)據(jù)進行指標計算,并將計算結果輸出HDFS中。最后調度器定時啟動同步Spark Job檢查相同業(yè)務時間點下面最舊一次計算的結果目錄文件,與最新一次計算結果的目錄文件進行差異對比,對有修改和新增操作的指令進行歸類,最后增量同步到MPP數(shù)據(jù)庫。
2.2.3 數(shù)據(jù)計算分層
為了保證數(shù)據(jù)計算的準確性和計算結果的及時性,依據(jù)如圖4所示的數(shù)據(jù)依賴關系對數(shù)據(jù)計算過程進行分層,包括業(yè)務數(shù)據(jù)層、公共明細層、公共匯總層、應用數(shù)據(jù)層和實時維度層,明確各層處理的數(shù)據(jù)類型如下所示。
圖4 大數(shù)據(jù)計算依賴Fig.4 Big data computing dependency
1)業(yè)務數(shù)據(jù)層
業(yè)務數(shù)據(jù)層主要處理來自省級計量系統(tǒng)的原始數(shù)據(jù),包含了所有采集數(shù)據(jù)、檔案數(shù)據(jù)、和指標數(shù)據(jù)。數(shù)據(jù)質量中心對這類數(shù)據(jù)進行數(shù)據(jù)清洗、數(shù)據(jù)校驗,因此數(shù)據(jù)粒度是最細的。
2)公共明細層
公共明細層是在業(yè)務數(shù)據(jù)層基礎上,根據(jù)業(yè)務過程建模出來的實時事實明細層,比如小時電量、小時功率、日電量等,這種數(shù)據(jù)會回流到離線計算供下游使用,最大程度地保證實時和離線數(shù)據(jù)在業(yè)務數(shù)據(jù)層和公共明細層是一致的。
3)公共匯總層
公共匯總層在訂閱公共明細層的數(shù)據(jù)后,會在實時任務中計算各個維度的匯總指標。如果維度是各類業(yè)務通用的,則會放在公共匯總層,作為通用的數(shù)據(jù)模型使用。
4)應用數(shù)據(jù)層
應用數(shù)據(jù)層的計算結果將直接用于系統(tǒng)應用展示,如線損數(shù)據(jù)、指標統(tǒng)計數(shù)據(jù)等。
5)實時維度層
實時維度層數(shù)據(jù)從離線維表層導出,抽取到在線計算中供實時應用調用。該層對實時應用來說是靜態(tài)的,所有的數(shù)據(jù)抽取、轉換、加載(extract-transform-load,ETL)處理工作會在離線計算中完成。
基于Spark對數(shù)據(jù)集的共享和重用,加快數(shù)據(jù)訪問速度的優(yōu)勢,本文架構在計算層采用基于內存計算的Spark分布式計算框架,執(zhí)行各項計算功能,如圖5所示。通過設計計算組件實現(xiàn)計算邏輯,通過計算調度組件分配計算資源、創(chuàng)建計算任務,并監(jiān)控、協(xié)調計算任務的執(zhí)行,將計算結果通過計算入庫程序分別寫入分布式數(shù)據(jù)庫、關系數(shù)據(jù)庫和內存數(shù)據(jù)庫。
圖5 分布式計算架構Fig.5 Architecture of distributed computing
傳統(tǒng)的關系型數(shù)據(jù)庫已經(jīng)無法滿足存儲容量和擴展性的需求。因此,本文將主從分布式內存數(shù)據(jù)庫與Hbase分布式數(shù)據(jù)庫結合,如圖6所示,數(shù)據(jù)庫存儲2部分數(shù)據(jù):1)實時計算結果數(shù)據(jù),支撐實時性要求高的業(yè)務,比如省級系統(tǒng)狀態(tài)監(jiān)控、終端在線率、終端信號強度、地圖展示、實時停電情況、實時采集完整率等;2)原始采集的電能量數(shù)據(jù),支持數(shù)據(jù)的準實時發(fā)布及計算。使用分布式內存數(shù)據(jù)庫可實現(xiàn)高熱度數(shù)據(jù)的高并發(fā)高性能訪問,對于關鍵功能提供最為高效的數(shù)據(jù)訪問支持。
圖6 分布式內存數(shù)據(jù)庫Fig.6 Distributed memory database
本文架構已經(jīng)應用于南方電網(wǎng)網(wǎng)級電能量數(shù)據(jù)平臺,截至目前,平臺已經(jīng)在大客戶監(jiān)控、線損分析、電力交易、停電監(jiān)控、業(yè)務監(jiān)測、用電分析、指標監(jiān)測等方面表現(xiàn)出良好的應用效果。下面將給出應用分布式架構前后平臺性能測試對比,以及架構在網(wǎng)級電能量數(shù)據(jù)平臺的應用效果。
4.1.1 系統(tǒng)性能對比
本文依據(jù)南方電網(wǎng)《計量自動化系統(tǒng)主站技術規(guī)范》[19]中技術指標要求,對平臺的信息處理指標如系統(tǒng)數(shù)據(jù)正確率、數(shù)據(jù)完整率,實時性指標如重要信息(重要狀態(tài)信息及總功率和電能量等)巡檢時間、常規(guī)數(shù)據(jù)召測和設置響應時間(指主站發(fā)送召測命令到主站顯示數(shù)據(jù)的時間)、歷史數(shù)據(jù)召測響應時間(指主站發(fā)送召測命令到主站顯示數(shù)據(jù)的時間)、常規(guī)數(shù)據(jù)查詢(指查詢1個計量點1個月的表碼數(shù)據(jù)所需的時間)、大規(guī)模數(shù)據(jù)查詢(指查詢10 000個計量點1個月的表碼數(shù)據(jù)所需的時間)以及可用性指標如系統(tǒng)年可用率進行測試。測試結果表明,使用本文架構平臺的各項性能指標不僅達到了計量自動化系統(tǒng)主站技術規(guī)范中技術指標的要求,而且要優(yōu)于原架構的性能。原架構和本文架構性能測試對比結果如表1所示。
表1 系統(tǒng)性能對比Tab.1 System performance comparison
4.1.2 數(shù)據(jù)采集CPU測算
數(shù)據(jù)采集CPU測算主要參照實際測試結果,測試在一定服務器資源的配置下,在要求的時間內,能完成多少計量點采集數(shù)據(jù)的入庫。測試情況如下:4臺2路12核心服務器,共96個CPU線程,原架構入庫程序在5 min內完成1 000萬計量點數(shù)據(jù)的入庫,運行負載率為30%,而采用本文分布式架構入庫程序在5 min內完成3 500萬計量點數(shù)據(jù)的入庫,運行負載率為50%,數(shù)據(jù)采集效率大大提升,結果如表2所示。
表2 數(shù)據(jù)采集CPU測算Tab.2 Data acquisition CPU measurement
4.1.3 數(shù)據(jù)計算處理CPU測算
數(shù)據(jù)計算處理CPU測算主要測試在一定服務器資源的配置下,在要求的時間內,能完成多少計量點采集數(shù)據(jù)的計算處理,以測試系統(tǒng)的并行計算能力。測試情況如下:8臺2路12核心服務器,可運行線程共192個CPU線程,原架構計算處理程序在10 min內完成1 000萬計量點數(shù)據(jù)的入庫,運行負載率為30%,而采用本文分布式架構計算處理程序在10 min內完成4 000萬計量點數(shù)據(jù)的入庫,運行負載率為55%,數(shù)據(jù)計算處理能力有了較大提升,結果如表3所示。
表3 數(shù)據(jù)計算處理CPU測算Tab.3 Data calculation processing CPU measurement
4.1.4 數(shù)據(jù)存儲容量測試
存儲容量根據(jù)存儲計量條數(shù)及每條計量所占空間進行估算,測量點分為廠站、公變、專變、低壓部分,按照HDFS文件及列簇估算空間對分布式數(shù)據(jù)庫進行計算,計量條數(shù)根據(jù)采集頻率及存儲周期進行計算,具體計算公式為:
存儲容量=測量點數(shù)據(jù)×采集頻率×每條計錄所占空間×存儲周期。
由于文章篇幅限制,展示部分數(shù)據(jù)存儲容量測試結果,如表4所示。從上述測試結果可知,使用全棧全分布式架構后網(wǎng)級電能量數(shù)據(jù)平臺在數(shù)據(jù)采集、數(shù)據(jù)計算處理性能要優(yōu)于原架構,同時數(shù)據(jù)存儲容量達到較高級別。
表4 Hbase數(shù)據(jù)庫存儲容量Tab.4 Hbase database storage capacity
圖7 南方電網(wǎng)網(wǎng)級電能量數(shù)據(jù)平臺截圖Fig.7 Screenshot of electric energy data platform of CSG
得益于分布式架構強大的應用擴展能力,目前網(wǎng)級電能量數(shù)據(jù)平臺開發(fā)了數(shù)據(jù)管理、監(jiān)測中心、數(shù)據(jù)統(tǒng)計分析、智能運維支撐、輔助決策、系統(tǒng)管理、綜合資源監(jiān)測、統(tǒng)一服務、綜合展示9個業(yè)務功能模塊,如圖7所示。全面接入9.8萬座廠站、70.1萬臺專變、84.4萬臺公變以及9 404.6萬戶低壓用戶數(shù)據(jù),實現(xiàn)了全網(wǎng)電能計量數(shù)據(jù)的統(tǒng)一采集、存儲、監(jiān)控及應用。隨著業(yè)務的不斷發(fā)展,未來會加入更多業(yè)務功能模塊,進一步提高平臺的服務能力。
本文基于國內外電力計量領域的研究現(xiàn)狀,結合分布式架構的優(yōu)點,設計面向大規(guī)模電能量數(shù)據(jù)的全棧全分布式架構,并應用于南方電網(wǎng)網(wǎng)級電能量數(shù)據(jù)平臺。從平臺的數(shù)據(jù)采集和數(shù)據(jù)處理兩個模塊對架構設計展開介紹,使用分布式內存計算技術和分布式內存數(shù)據(jù)庫技術提高平臺對海量數(shù)據(jù)的處理能力以及存儲能力。平臺性能測試和實際應用效果表明,新架構下的網(wǎng)級電能量數(shù)據(jù)平臺大數(shù)據(jù)采集、處理和存儲能力有著較大的提升,可以穩(wěn)定支撐業(yè)務應用擴展,為電網(wǎng)安全運行、可靠供電、優(yōu)質服務、信息輔助決策提供完備、及時、準確、安全的支持。