國網(wǎng)江蘇省電力有限公司南京供電分公司 孫佳煒 滕力陽 闞沁怡
隨著配電網(wǎng)的數(shù)字化、信息化、自動化、互動化和智能化的發(fā)展,對配電終端“三遙”信息的標準化、配電終端調(diào)試效率的要求越來越高。新一代配電自動化主站系統(tǒng)涉及的終端數(shù)量多、設(shè)備種類繁雜[1],配電自動化大量終端接入主站系統(tǒng)的聯(lián)調(diào)工作需要主站與現(xiàn)場配合,現(xiàn)場調(diào)試人員按照信號定義逐一觸發(fā)動作或?qū)δM量加量輸入,再由主站人員觀察主站系統(tǒng)反應(yīng),并比對分析給出信號變化是否合格評判,這一調(diào)試方式總體效率較低。
通過對傳統(tǒng)驗收過程的客觀分析,主要有以下幾個問題:由于現(xiàn)場設(shè)備調(diào)試人員缺乏后臺信號變化可視化和問題診斷工具,影響設(shè)備投運進度;在整個聯(lián)調(diào)過程中,全程需要主站人員配合,占用了配電主站自動化人員的大量工作時長;調(diào)試結(jié)果依靠人工核查,容易出現(xiàn)疏漏,存在較大安全隱患。為了解決以上問題,本文提出一種配電自動化終端接入主站智能聯(lián)調(diào)系統(tǒng)。
數(shù)據(jù)系統(tǒng)中存儲設(shè)備的安全和高可用性與數(shù)據(jù)庫軟件系統(tǒng)一樣至關(guān)重要,一旦數(shù)據(jù)丟失就有可能面臨著巨額的經(jīng)濟損失[2-3]。正因為如此,一個大型數(shù)據(jù)庫系統(tǒng)要具有高安全、高可用性,就必須具有以下幾個方面的特點:高可用性HA(High Availability);有單獨的服務(wù)和資源管理的能力;一對或Cluster系統(tǒng),支持100%聯(lián)機運行。
為了提供存儲設(shè)備的高可用性,保障數(shù)據(jù)的安全性,本文提出增加一臺備用存儲設(shè)備,由兩臺存儲設(shè)備負責(zé)數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)存儲服務(wù),保障數(shù)據(jù)庫的安全和數(shù)據(jù)存儲服務(wù)器的穩(wěn)定。為了保證數(shù)據(jù)高安全、高可用,本文中數(shù)據(jù)庫采用了鏡像系統(tǒng)結(jié)構(gòu)。左側(cè)存儲為主存儲設(shè)備,右側(cè)為備用存儲設(shè)備。通過卷鏡像復(fù)制軟件、網(wǎng)絡(luò)層的存儲虛擬化設(shè)備或者存儲設(shè)備自帶的卷鏡像復(fù)制功能等多種方式來實現(xiàn)主、備存儲設(shè)備間的卷鏡像復(fù)制,保障數(shù)據(jù)的安全性。
備用存儲設(shè)備可以作為數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)存儲服務(wù)功能的一種后備方式,一旦存儲設(shè)備發(fā)生故障,可以自動或手動的切換到備用存儲設(shè)備上,這種切換實際上是主存儲設(shè)備生產(chǎn)卷到備用存儲設(shè)備的鏡像卷的切換。由于RAID鏡像卷跨兩個存儲設(shè)備,因此即使一臺存儲設(shè)備發(fā)生整體故障時,RAID鏡像卷也不會發(fā)生故障,更不會影響數(shù)據(jù)庫服務(wù)區(qū)端業(yè)務(wù)的正常進行。
在數(shù)據(jù)傳輸方面本文選擇了Netty框架[4],其是一個廣泛使用的Java網(wǎng)絡(luò)編程框架。Netty是基于JavaNIO的異步事件驅(qū)動的網(wǎng)絡(luò)應(yīng)用框架,使用Netty可以快速開發(fā)網(wǎng)絡(luò)應(yīng)用,Netty雖然提供了高層次的抽象來簡化TCP和UDP服務(wù)器的編程,但是仍然可以使用底層的API。本文選用Netty框架還有以下原因:
對各種傳輸協(xié)議提供統(tǒng)一的API;基于一個靈活、可擴展的事件模型來實現(xiàn)關(guān)注點清晰分離;高度可定制的線程模型——單線程、一個或多個線程池;真正的無數(shù)據(jù)報套接字(UDP)的支持(since3.1)。
完善的Javadoc文檔和示例代碼;不需要額外的依賴,JDK5(Netty3.x)或者JDK6(Netty4.x)已經(jīng)足夠。
更好的吞吐量,更低的等待延遲;更少的資源消耗;最小化不必要的內(nèi)存拷貝。
完整的SSL/TLS和StartTLS支持高可擴展性。
為了提高配電自動化終端接入主站智能聯(lián)調(diào)系統(tǒng)部署的靈活性并減小項目的耦合性以提高后期的高可擴展性和高可維護性,項目采用的是SpringBoot的開發(fā)方式[5-6],將不同的功能模塊分別打包成不同的且相互獨立的服務(wù)應(yīng)用并分別部署在相應(yīng)的服務(wù)器上,不同的服務(wù)間可以通過接口相互調(diào)用。
本文選用SpringBoot開發(fā)主要有以下幾個原因:快速構(gòu)建項目;對主流開發(fā)框架的無配置集成;項目可獨立運行,無須外部依賴Servlet容器;提供運行時的應(yīng)用監(jiān)控;極大地提高了開發(fā)、部署效率;與云計算的天然集成。
本系統(tǒng)包括現(xiàn)場驗收裝置和測試主站應(yīng)用服務(wù)器。現(xiàn)場驗收裝置集成符合配電安全通信協(xié)議和安全證書認證的無線通信模塊,可與調(diào)度主站證書服務(wù)器點對點通信;測試主站應(yīng)用服務(wù)器試各地市情況而定,可部署與調(diào)度主站I區(qū)或調(diào)度主站III區(qū),一方面接收驗收裝置的上送信號,另一方面通過接口獲取真實主站的三遙信號。具體的硬件結(jié)構(gòu)如圖1所示。
圖1 配電自動化終端接入主站智能聯(lián)調(diào)系統(tǒng)網(wǎng)絡(luò)架構(gòu)圖
配電自動化終端接入主站智能聯(lián)調(diào)系統(tǒng)整體架構(gòu)由運行環(huán)境、數(shù)據(jù)層、業(yè)務(wù)層和展示層組成。
系統(tǒng)運行環(huán)境基于凝思操作系統(tǒng),在采用Jdk1.8開發(fā)工具的基礎(chǔ)上通過搭建Netty框架進行應(yīng)用程序的開發(fā);數(shù)據(jù)層中Mybatis持久層框架配合redis非關(guān)系型數(shù)據(jù)庫以支持數(shù)據(jù)持久化、數(shù)據(jù)緩存、數(shù)據(jù)讀寫、事務(wù)和存儲過程;業(yè)務(wù)層的主要作用在于生成驗收任務(wù)、對E文件進行解析,除此之外還需要進行聯(lián)調(diào)驗收,然后返回驗收結(jié)果、生成驗收報告和統(tǒng)計驗收任務(wù);展示層將驗收結(jié)果和驗收報告等通過聯(lián)調(diào)測試儀測試軟件和主站系統(tǒng)客戶端進行展示,供工作人員查看驗收情況。
圖2 平臺整體架構(gòu)
綜上,配電自動化終端接入主站智能聯(lián)調(diào)系統(tǒng)的實現(xiàn)主要有以下優(yōu)點:
系統(tǒng)自動校驗,提高工作效率、規(guī)范流程。使用本系統(tǒng)前,終端設(shè)備驗收工作由人工進行,需要主站與現(xiàn)場配合,錯誤、不規(guī)范時有發(fā)生,且效率低;使用后,借助系統(tǒng)可準確、高效地完成驗收任務(wù),提高驗收效率,規(guī)范驗收流程。
驗收問題自動診斷,提升終端信號驗收效率。使用前,現(xiàn)場設(shè)備調(diào)試人員缺乏后臺信號變化可視化和問題診斷工具,影響設(shè)備投運進度;使用后,借助系統(tǒng)可自主完成信號驗收工作,并自動分析調(diào)試失敗原因,縮減查詢問題時間,提高驗收效率。
驗收進度實時掌握,驗收報告自動生成,自動統(tǒng)計驗收記錄。使用前,驗收結(jié)果需要人工統(tǒng)計,驗收報告需要人工編寫,影響驗收結(jié)果歸檔效率;使用后,系統(tǒng)自動顯示驗收進度,自動生成驗收報告,自動統(tǒng)計驗收記錄,提高驗收結(jié)果分析效率。