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