北京中電普華信息技術有限公司 王 瑩 陳渲穎 呂亞男
電力物聯(lián)網(wǎng)建設過程中,協(xié)議適配是解決存量設備接入物管平臺的關鍵點和難點。本文提出一種協(xié)議適配方案,高效實現(xiàn)協(xié)議解析、封裝和數(shù)據(jù)的處理,實現(xiàn)設備的統(tǒng)一接入、管理。
2019年,國網(wǎng)公司啟動智慧物聯(lián)體系建設,國網(wǎng)互聯(lián)網(wǎng)部會同設備部、營銷部、物資部等部門,開展智慧物聯(lián)體系總體架構設計和試點探索,取得了階段性成果。
電力系統(tǒng)設備數(shù)量龐大,將這些數(shù)量眾多的分散設備信息有效的收集和綜合判斷是智能電網(wǎng)必不可少的環(huán)節(jié)。各智能設備的聯(lián)系必須根據(jù)所需要交互的信息采取合適的協(xié)議,新型融合終端直接采用MQTT協(xié)議的方式接入物聯(lián)管理平臺,用采、配電存量設備使用DL/T698.45、IEC104等電力專有規(guī)約,無法直接連接到物聯(lián)平臺中。采用協(xié)議解析組件可以將各類設備打通,信息匯集到
圖1 智慧物聯(lián)體系
如圖1所示,智慧物聯(lián)體系分為應用層、平臺層、感知層。物聯(lián)管理平臺處于平臺層,部署在云平臺上,是打通應用層、平臺層、感知層三層之間的數(shù)據(jù)通信管道。物聯(lián)管理平臺對于南向感知層的作用是負責邊設備、端設備的接入,接收邊、端設備上報的數(shù)據(jù),以及對南向設備下發(fā)控制命令,對邊緣物聯(lián)代理進行設備管理等工作。同時可以將設備上報的業(yè)務數(shù)據(jù)導入到數(shù)據(jù)中臺,對北向業(yè)務主站開放接口,供主站通過物聯(lián)管理平臺讀取設備的業(yè)務數(shù)據(jù)、告警信息,并下發(fā)設備的控制命令。統(tǒng)一物聯(lián)平臺進行管理。
如圖2所示,針對物聯(lián)管理平臺接入非MQTT協(xié)議,研發(fā)多協(xié)議統(tǒng)一接入服務、協(xié)議轉(zhuǎn)換模塊,為電力專有L/T698.45、IEC104等協(xié)議提供通道接入服務,從而實現(xiàn)專有協(xié)議的數(shù)據(jù)接入。
多協(xié)議統(tǒng)一接入服務:基于微服務架構,實現(xiàn)海量終端接入的橫向服務擴展,將不同業(yè)務部門的多協(xié)議接入通道統(tǒng)一。
圖2 總體設計
協(xié)議轉(zhuǎn)換模塊:將各種不同的協(xié)議模式進行封裝處理,對需要新配置的協(xié)議可通過系統(tǒng)可視化的操作方式將各參數(shù)協(xié)議配置成功,以實現(xiàn)智能化的協(xié)議管理。
為了滿足不同協(xié)議的適配接入問題,需要構建多協(xié)議統(tǒng)一接入服務,基于微服務技術實現(xiàn)多協(xié)議鏈路跟蹤、斷路器、配置管理、Nginx負載均衡等。
多協(xié)議鏈路跟蹤:為多協(xié)議統(tǒng)一接入服務內(nèi)部之間調(diào)用提供鏈路追蹤。通過鏈路跟蹤可以很清楚的了解到協(xié)議服務請求經(jīng)過了哪些服務,每個服務處理花費了多長時間。
斷路器:多協(xié)議統(tǒng)一接入系統(tǒng)采用單服務集群化部署,由于網(wǎng)絡原因或者自身的原因,服務并不能保證100%可用,如果單個服務出現(xiàn)問題,調(diào)用這個服務就會出現(xiàn)線程阻塞,此時若有大量的請求涌入,Servlet容器的線程資源會被消耗完畢,導致服務癱瘓。服務與服務之間的依賴性,故障會傳播,會對整個微服務系統(tǒng)造成災難性的嚴重后果,導致“雪崩”效應,需要引入斷路器模式,避免“雪崩”問題。
配置管理:為了方便維護多協(xié)議統(tǒng)一接入系統(tǒng)內(nèi)外部配置文件,引入配置管理技術,將外部配置文件集中放置在一個git倉庫里,再新建一個配合服務器,用來管理所有的配置文件,維護的時候需要更改配置時,只需要在本地更改后,推送到遠程倉庫,所有的服務實例都可以通過配置服務器來獲取配置文件,這時每個服務實例就相當于配置服務的客戶端。
Nginx負載均衡:為了保證多協(xié)議統(tǒng)一接入服務訪問的安全性和可靠性,引入Nginx用來做反向代理、負載均衡,當有請求的時候,根據(jù)配置的調(diào)度策略(加權輪詢、IP哈希、最少連接數(shù)、一致性哈希)給請求者返回相應的服務器IP。
協(xié)議轉(zhuǎn)換模塊實現(xiàn)對不同終端的協(xié)議適配和數(shù)據(jù)解析、轉(zhuǎn)發(fā)服務,包括數(shù)據(jù)解密、協(xié)議轉(zhuǎn)換、數(shù)據(jù)處理等功能。
數(shù)據(jù)解密:調(diào)用加密機對業(yè)務數(shù)據(jù)進行解密。
協(xié)議轉(zhuǎn)換:將698.45、1376.1、376.1、101、104等傳統(tǒng)電力協(xié)議常用的電力協(xié)議納入?yún)f(xié)議庫,并依據(jù)協(xié)議規(guī)則進行解析,分析報文內(nèi)容,按照MQTT協(xié)議的方式重新封裝業(yè)務數(shù)據(jù)。其他協(xié)議通過可視化的參數(shù)配置,參數(shù)封裝,進行自動化解析。
數(shù)據(jù)處理:數(shù)據(jù)解析、業(yè)務關聯(lián)等,對采集上來數(shù)據(jù)解析為用主站可識讀的數(shù)據(jù),并通過API接口的方式供主站系統(tǒng)調(diào)用。
本文提出了一種協(xié)議適配方案,通過統(tǒng)一接入服務、協(xié)議適配模塊實現(xiàn)協(xié)議解析、封裝和數(shù)據(jù)的處理,解決存量設備接入?yún)f(xié)議匹配問題。電力場景復雜多樣,存量設備接入?yún)f(xié)議適配問題,還需進一步探討。