劉建喜,鄭 展,黃宇魁,易國亮
(1.廣東電網(wǎng)公司佛山供電局,廣東佛山,528000;2.廣東卓維網(wǎng)絡(luò)有限公司,廣東佛山,528200)
電力需求側(cè)管理平臺分布式通訊架構(gòu)設(shè)計
劉建喜1,鄭 展1,黃宇魁2,易國亮2
(1.廣東電網(wǎng)公司佛山供電局,廣東佛山,528000;2.廣東卓維網(wǎng)絡(luò)有限公司,廣東佛山,528200)
電力需求側(cè)管理與服務(wù)集成平臺是智能電網(wǎng)的重要組成部分。針對需求側(cè)復(fù)雜環(huán)境下的電信息采集與控制數(shù)據(jù)交互問題,以及基于分布式計算通信需求問題,提出了基于ZeroMQ(Zero Message Queue,零消息隊列)消息中間件的分布式通信架構(gòu),并設(shè)計了能夠傳輸需求側(cè)數(shù)據(jù)采集與需求響應(yīng)及其它復(fù)雜消息的通用消息格式。ZeroMQ的優(yōu)秀性能使得該通信架構(gòu)可有效支撐分布式計算平臺在異構(gòu)系統(tǒng)間快速交換數(shù)據(jù),縮短了智能電網(wǎng)高級應(yīng)用分析的數(shù)據(jù)交互與計算時間,增加了系統(tǒng)的容錯性。利用佛山市需求側(cè)服務(wù)集成平臺的實際工程環(huán)境進(jìn)行了部署和測試,測試結(jié)果證明了該通信架構(gòu)的可行性。
需求側(cè)響應(yīng);分布式通信架構(gòu);ZeroMQ
隨著電力需求側(cè)數(shù)據(jù)采集與需求響應(yīng)的消息復(fù)雜化和多樣化,必然會對通信架構(gòu)提出更高的要求。通信架構(gòu)的設(shè)計必須滿足電信息交互的需求,同時還需要滿足穩(wěn)定性、高效性以使得它能保障電力需求側(cè)的正常管理。
隨著大量嵌入式設(shè)備進(jìn)入到電力需求側(cè)管理系統(tǒng),通信通道將架設(shè)在不同的操作系統(tǒng)平臺上,因此,通信架構(gòu)的設(shè)計還需要滿足平臺無關(guān)性,以使得它能夠在不同的環(huán)境下運行和交互。
本文將選用ZeroMQ進(jìn)行數(shù)據(jù)通信,并基于ZeroMQ進(jìn)行電力需求側(cè)分布式通信系統(tǒng)的架構(gòu)、實際測試和分析該通信架構(gòu)的性能和容錯性。
圖1 ZeroMQ與同類產(chǎn)品的性能比較
ZeroMQ是一個開源、輕量、大吞吐、低延遲的消息隊列中間件,基于這些特點,它主要應(yīng)用在高吞吐、低延遲的通信場景中,同時它也是目前效率最高的消息系統(tǒng),由于其性能的優(yōu)異,因此越來越廣泛地應(yīng)用在分布式系統(tǒng)的通信架構(gòu)中。ZeroMQ對網(wǎng)絡(luò)連接、數(shù)據(jù)打包和路由選擇等底層網(wǎng)絡(luò)通信進(jìn)行了抽象,同時還封裝了操作系統(tǒng)的消息緩沖、異步和多線程處理等機(jī)制,它的異步I/O模型能夠為多核消息系統(tǒng)提供更多的擴(kuò)展性。ZeroMQ不僅支持點對點的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),還支持不同通信模式的組合,非常便于分布式系統(tǒng)的全局拓?fù)?,而且它支?0多種語言的API,在通信架構(gòu)中,將不存在語言特性而只存在消息特性。
ZeroMQ與同類產(chǎn)品相比還存在著不支持消息持久化和崩潰恢復(fù)的缺點,但是它主要的優(yōu)點在于點對點的消息傳輸上,它的性能遠(yuǎn)遠(yuǎn)高于其他同類消息隊列軟件。ZeroMQ與其同類產(chǎn)品的性能對比結(jié)果如圖1所示。
圖片中MSMQ是微軟出品的消息隊列中間件,主要應(yīng)用于微軟平臺的軟件中;ActiveMQ是Apache基金會旗下的消息隊列產(chǎn)品,由于它是基于Java編寫的,因此有著跨平臺的特性;RabbitMQ是使用Erlang編寫的消息隊列,它支持開放高級消息隊列協(xié)議 (AMQP,Advanced Message Queuing Protocol),穩(wěn)定性非常好。Send和Receive指的是每秒發(fā)送和接收的消息數(shù)(測試環(huán)境:Windows Vista),可以看到ZeroMQ和其他消息隊列軟件的性能完全不在一個級別上(每秒發(fā)送消息數(shù):242659條,每秒接收消息數(shù):88699條,每條數(shù)據(jù)為一個byte)。
2.1 架構(gòu)設(shè)計
系統(tǒng)由一個任務(wù)分發(fā)中心(DC, Distrubution Center)、x個服務(wù)單元(SC, Service Cell)、y個數(shù)據(jù)傳輸終端(DT,Data Terminal)和z個信息采集終端(IT, Information Terminal)構(gòu)成。信息采集終端完成電參量等信息的采集工作后,將數(shù)據(jù)傳給數(shù)據(jù)傳輸終端,由數(shù)據(jù)傳輸終端把組織好的數(shù)據(jù)發(fā)送給任務(wù)分發(fā)中心,接著,任務(wù)分發(fā)中心會跟服務(wù)單元通信,把相應(yīng)的任務(wù)發(fā)送給相應(yīng)的服務(wù)單元,由服務(wù)單元解析數(shù)據(jù),完成整個數(shù)據(jù)通信過程。系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
信息采集終端(IT):是智能電網(wǎng)中信息的來源,負(fù)責(zé)采集原始的電能信息。
數(shù)據(jù)傳輸單元(DT):既是物理網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中的信息中轉(zhuǎn)節(jié)點,也是智能電網(wǎng)中邏輯結(jié)構(gòu)的分組節(jié)點;前者負(fù)責(zé)將若干信息采集終端收集到的信息通過ZeroMQ上傳給需求側(cè)管理平臺,或接收需求側(cè)管理平臺下發(fā)的命令,后者則通過分組實現(xiàn)智能電網(wǎng)對企業(yè)、區(qū)域和其他邏輯單元的劃分、識別與控制。
任務(wù)分發(fā)中心(DC):是需求側(cè)管理平臺統(tǒng)一接收各個數(shù)據(jù)傳輸單元上傳數(shù)據(jù)的中心。它將從數(shù)據(jù)傳輸單元收到的各類信息傳遞給服務(wù)單元,或把服務(wù)單元下發(fā)的命令傳遞給指定的數(shù)據(jù)傳輸單元,是智能電網(wǎng)中信息的集散地。
服務(wù)單元(SC):智能電網(wǎng)在這里處理各類電能數(shù)據(jù)。每個服務(wù)單元都只提供一種數(shù)據(jù)解析服務(wù),這樣做既能分散服務(wù)器壓力,又能減少系統(tǒng)處理邏輯。
ZeroMQ主要的通信模式有4種:請求回應(yīng)模式、發(fā)布訂閱模式、管道模式和信號模式。根據(jù)智能電網(wǎng)對數(shù)據(jù)傳輸要求的及時性和可靠性,經(jīng)過對比測試,本系統(tǒng)選擇了最合適的請求回應(yīng)模式,并且使用了高級請求回應(yīng)模式:DEALER和ROUTER。該模式主要應(yīng)用于數(shù)據(jù)傳輸終端和任務(wù)分發(fā)中心之間的數(shù)據(jù)通信。
2.2 消息封裝格式
本系統(tǒng)的通信協(xié)議基于ZeroMQ通信協(xié)議實現(xiàn),消息的封裝采用如下格式:
數(shù)據(jù)傳輸終端標(biāo)識是智能電網(wǎng)中數(shù)據(jù)傳輸終端的唯一標(biāo)識,這里采用其MAC地址,一方面用于需求側(cè)管理平臺識別該數(shù)據(jù)傳輸終端,另一方面用于任務(wù)分發(fā)中心對數(shù)據(jù)傳輸終端的向下定向。
數(shù)據(jù)類型是智能電網(wǎng)中各種信息的標(biāo)識,主要分為單向數(shù)據(jù)流和有反饋的雙向數(shù)據(jù)流。單向數(shù)據(jù)流例如周期數(shù)據(jù)(智能電網(wǎng)需要定時收集的數(shù)據(jù))流、通信異常數(shù)據(jù)(數(shù)據(jù)傳輸終端記錄的跟數(shù)據(jù)采集終端發(fā)生通信異常的數(shù)據(jù))流等,有反饋的雙向數(shù)據(jù)流比如數(shù)據(jù)傳輸終端和任務(wù)分發(fā)中心之間的心跳,需求側(cè)管理平臺主動發(fā)出的命令等。
數(shù)據(jù)方面,對不同的數(shù)據(jù)類型,本系統(tǒng)規(guī)定了不同的數(shù)據(jù)組織結(jié)構(gòu),并在傳輸前進(jìn)行了序列化和壓縮,最后加密傳輸。
校驗碼方面,系統(tǒng)采用CRC32校驗碼,保證了數(shù)據(jù)的完整性和可靠性。
2.3 交互方式
對某一個數(shù)據(jù)傳輸終端和任務(wù)分發(fā)中心之間從建立到傳遞信息的過程可以用圖3描述。
DT和DC建立連接的過程為:DT發(fā)送HELLO消息通知DC,DC在收到消息后回復(fù)WELCOME消息通知DT連接已經(jīng)建立;之后DT異步發(fā)送各種數(shù)據(jù)類型,例如DT向DC發(fā)送周期數(shù)據(jù)時,DT將信息組織為:
DT向DC發(fā)送的通信異常數(shù)據(jù)跟周期數(shù)據(jù)基本一樣,只有Frame2的數(shù)據(jù)標(biāo)識變?yōu)?x02。
DT向DC發(fā)送心跳數(shù)據(jù)時,DT將信息組織為:
DC在接收到DT的心跳數(shù)據(jù)包時,回復(fù)一個相應(yīng)的心跳數(shù)據(jù)包,通知DT上個心跳數(shù)據(jù)包正常接收。
在16-core Intel CPU,32G內(nèi)存,1000Mb/s網(wǎng)卡,linux/ubuntu14.04(內(nèi)核版本:3.13.0-24)的服務(wù)器上部署任務(wù)分發(fā)中心(DC),使用ZeroMQ版本為4.1.0,在并發(fā)多個數(shù)據(jù)傳輸終端(DT)的情況下,每個數(shù)據(jù)傳輸終端每隔8秒發(fā)送一次心跳數(shù)據(jù),每隔15秒上傳一次周期數(shù)據(jù),周期數(shù)據(jù)大小為1976byte,將測得的結(jié)果記錄如圖4所示。
圖4:CPU使用率及內(nèi)存占用率
以上實際測試顯示,隨著數(shù)據(jù)傳輸終端數(shù)量的增加,系統(tǒng)CPU的使用率和內(nèi)存占用率穩(wěn)步增加,在數(shù)據(jù)傳輸終端數(shù)量達(dá)到峰值時達(dá)到最大,并在之后隨著數(shù)據(jù)傳輸終端數(shù)量的減少而穩(wěn)步減小,可見ZeroMQ在分布式系統(tǒng)中具有優(yōu)異的數(shù)據(jù)傳輸性能。
另外,ZeroMQ對程序錯誤的原則是內(nèi)部錯誤零容忍,外部錯誤全包容。對于程序內(nèi)部的錯誤,只要有錯立即讓程序中斷,只有這樣才能保證上線的產(chǎn)品有足夠的穩(wěn)定性。另一方面,對程序外部的錯誤需要完全包容,比如輸入格式錯誤,輸入時間錯誤等,都需要有相應(yīng)的處理機(jī)制,這樣的結(jié)果是給系統(tǒng)整體帶來更好的適應(yīng)性。本系統(tǒng)也是按照這樣的原則來處理錯誤的。
ZeroMQ的明確目標(biāo)是“成為標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議棧的一部發(fā),之后進(jìn)入Linux內(nèi)核”,無論是在性能上還是穩(wěn)定性上,它都是一個不錯的選擇。隨著電力需求側(cè)管理的發(fā)展,未來還將對電力需求側(cè)的通信架構(gòu)提出更多的要求,基于ZeroMQ的靈活的通信架構(gòu)的設(shè)計,將足以應(yīng)對這種變化。
[1] Sharath Maddineni等.Distributed Application Runtime Environment(DARE):A Standards-based Middleware Framework for Science-Gateways[J]. Journal of Grid Computing,2012,Volume 10, Issue 4, pp 647-664.
[2] Kunlun Gao等.Study on data acquisition solution of network security monitoring system. Information Theory and Information Security(ICITIS),2010 IEEE International Conference on,P674 - 677
[3] 盧本捷.分布式消息隊列的理論、實現(xiàn)與應(yīng)用[D].華中科技大學(xué),2004.
[4] 史小平.消息隊列中間件技術(shù)研究與功能分析[J].內(nèi)蒙古科技與經(jīng)濟(jì),2008(2):71-75.
[5] iMatix Corporation.Zguide[EB/OL].2014.http:// zguide.zeromq.org/
[6] 劉壯志,許柏婷,牛東曉.智能電網(wǎng)需求響應(yīng)與均衡分析發(fā)展趨勢[J].電網(wǎng)技術(shù),2013,37(006):1555-1561.
Power demand side management platform of distributed communication architecture design
Liu Jianxi1,Zheng Zhan1,Huang Yukui2,Yi GuoLiang2
(1.Foshan Power Supply Bureau 528000;2.Guangdong Topway Network CO.,LTD.528200)
Demand Side Management and Service Integration Platform is an important part of the smart grid.For data acquisition and control electrical information interact in complex environments demand side issues,a distributed communication architecture based on ZeroMQ messaging middleware is proposed to meet the communication needs of distributed computing problem,and can transmit collected data and demand response common message format and other complex messages.ZeroMQ's excellent performance can effectively support the distribute computation and communication platform to rapid exchange of data between heterogeneous systems,reduce the computation data exchange overhead,and increase the fault tolerance of the system.The Application and test results in demand-side Foshan proved the feasibility of the communication architecture.
Demand-side response;Distributed Communications Architecture;ZeroMQ
圖3 信息封裝格式
劉建喜(1966-),男,高級工程師,研究方向為需求側(cè)管理及需求響應(yīng)、節(jié)能技術(shù)及政策;
鄭展(1965-),男,高級工程師,研究方向為需求側(cè)管理、節(jié)能技術(shù)及政策;
黃宇魁 (1976-)男,廣東卓維網(wǎng)絡(luò)有限公司.碩士.研究方向需求側(cè)管理及需求響應(yīng);
易國亮 (1976-)男,廣東卓維網(wǎng)絡(luò)有限公司.中級工程師研究方向智能電網(wǎng)及需求響應(yīng)技術(shù)。