陳槾露 丁 鵬
(廣東電網(wǎng)有限責(zé)任公司茂名供電局,廣東茂名525000)
工作票是配電網(wǎng)日常運(yùn)維作業(yè)過(guò)程中保證人身安全的重要組織措施之一。配電網(wǎng)運(yùn)維作業(yè)實(shí)施前,配網(wǎng)運(yùn)維人員應(yīng)通過(guò)填寫工作票,明確工作時(shí)間、工作地點(diǎn)、工作班成員、工作任務(wù)、工作地段、停電線路以及工作要求的安全措施,作為現(xiàn)場(chǎng)作業(yè)風(fēng)險(xiǎn)管控的書面依據(jù)[1]。由于填報(bào)系統(tǒng)操作煩瑣、填報(bào)過(guò)程需跨系統(tǒng)查閱圖紙資料以及人員技能水平不足等因素影響,填報(bào)一項(xiàng)作業(yè)的工作票需耗時(shí)超過(guò)0.5 h的情況常態(tài)存在,工作票填報(bào)錄入工作耗時(shí)費(fèi)力,且難以確保工作票規(guī)范性、準(zhǔn)確性[2]。針對(duì)此種情況,為進(jìn)一步優(yōu)化配網(wǎng)工作票填報(bào)工作,亟需開發(fā)配電網(wǎng)智能工作票錄入系統(tǒng),智能調(diào)用配網(wǎng)單線圖圖模[3],實(shí)現(xiàn)快速生成工作票內(nèi)容、自動(dòng)填報(bào)生產(chǎn)系統(tǒng)[4],協(xié)助配網(wǎng)運(yùn)維人員高效、便捷地完成工作票系統(tǒng)錄入工作,保障工作票規(guī)范、準(zhǔn)確。
根據(jù)配電網(wǎng)工作票智能成票業(yè)務(wù)需求的特點(diǎn),基于龐大的業(yè)務(wù)量、自動(dòng)執(zhí)行的效率和精度等要求,系統(tǒng)采用了機(jī)器人技術(shù)搭建,由機(jī)器人軟件平臺(tái)、機(jī)器人通信服務(wù)管理、高性能機(jī)器人客戶端、流程化數(shù)據(jù)預(yù)處理等部分組成。機(jī)器人軟件平臺(tái),實(shí)現(xiàn)Web瀏覽器接入、外部系統(tǒng)交互、業(yè)務(wù)邏輯處理等配網(wǎng)智能工作票服務(wù)的統(tǒng)一管理和控制。高性能機(jī)器人客戶端,搭建了人性化人機(jī)界面,并輔以簡(jiǎn)單點(diǎn)選的形式,方便、快捷地完成常規(guī)工作任務(wù)文字信息的錄入。流程化數(shù)據(jù)預(yù)處理,能提高自動(dòng)錄入執(zhí)行效率,保證系統(tǒng)操作的有效性和準(zhǔn)確性。
系統(tǒng)應(yīng)用服務(wù)器優(yōu)化采用分布式框架改造,基于SOA架構(gòu)設(shè)計(jì),支持分布式的部署及擴(kuò)展,并支持通過(guò)IIS或Nginx組件實(shí)現(xiàn)接入層的負(fù)載均衡,以支撐系統(tǒng)機(jī)器人軟件平臺(tái)運(yùn)行。系統(tǒng)應(yīng)用服務(wù)架構(gòu),依邏輯關(guān)聯(lián)可劃分為表現(xiàn)層、應(yīng)用層和數(shù)據(jù)層,具體如圖1所示。
(1)表現(xiàn)層,主要負(fù)責(zé)與用戶和外部系統(tǒng)交互,具體提供系統(tǒng)可操作Web功能、數(shù)據(jù)交換程序以及數(shù)據(jù)接口,以滿足不同的場(chǎng)景和渠道使用。Web Layer,由asp.net mvc5技術(shù)實(shí)現(xiàn);Data Exchange,根據(jù)需求實(shí)現(xiàn)數(shù)據(jù)交換程序;Data Interface主要基于http協(xié)議,用Web API技術(shù)實(shí)現(xiàn)。
(2)應(yīng)用層,主要負(fù)責(zé)系統(tǒng)邏輯計(jì)算的實(shí)現(xiàn),提供服務(wù)接口給展現(xiàn)層使用。為了提高數(shù)據(jù)傳輸效率,表現(xiàn)層與應(yīng)用層之間通信基于局域網(wǎng)TCP/IP協(xié)議。根據(jù)應(yīng)用服務(wù)職責(zé)不同,將分兩大類,分別為業(yè)務(wù)應(yīng)用服務(wù)和基礎(chǔ)應(yīng)用服務(wù)。業(yè)務(wù)應(yīng)用服務(wù)實(shí)現(xiàn)業(yè)務(wù)需求的功能服務(wù),基礎(chǔ)應(yīng)用服務(wù)實(shí)現(xiàn)系統(tǒng)基礎(chǔ)公用的功能服務(wù)。
(3)數(shù)據(jù)層,主要負(fù)責(zé)系統(tǒng)數(shù)據(jù)存儲(chǔ)、同步、緩存和備份管理。系統(tǒng)數(shù)據(jù)分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。對(duì)于結(jié)構(gòu)化數(shù)據(jù)使用Oracle11以上數(shù)據(jù)庫(kù)存儲(chǔ)。業(yè)務(wù)日志數(shù)據(jù)結(jié)構(gòu)多樣化、數(shù)據(jù)量較大,選用MongoDB的NoSQL技術(shù)作為日志存儲(chǔ)選型,同時(shí),系統(tǒng)面對(duì)高并發(fā)的訪問,采取了緩存的機(jī)制提升性能,選用Redis緩存組件實(shí)現(xiàn)數(shù)據(jù)緩存存儲(chǔ)。對(duì)于機(jī)器人異常的圖片等數(shù)據(jù),采用基于Windows平臺(tái)的NTFS文件系統(tǒng)實(shí)現(xiàn)文檔存儲(chǔ)和讀寫功能。
圖1 配電網(wǎng)智能工作票系統(tǒng)應(yīng)用服務(wù)架構(gòu)
系統(tǒng)支持服務(wù)器統(tǒng)一管理和控制,服務(wù)器通過(guò)實(shí)時(shí)通信服務(wù)和機(jī)器人交互,實(shí)現(xiàn)接入服務(wù)和通信服務(wù)邏輯上的解耦。通信服務(wù)器采用Protobuf3.0協(xié)議,邏輯上由連接管理、網(wǎng)關(guān)服務(wù)、路由中心、日志服務(wù)、緩存服務(wù)等主要模塊組成,如圖2所示。
(1)通信日志服務(wù),主要負(fù)責(zé)業(yè)務(wù)日志輸出,包括鏈接相關(guān)日志、推送鏈路日志、心跳日志、監(jiān)控日志等。
(2)通信管理服務(wù),主要負(fù)責(zé)在控制臺(tái)對(duì)單臺(tái)機(jī)器進(jìn)行控制與探查,如查看連接數(shù)量、在線用戶數(shù)、關(guān)閉服務(wù)等。
圖2 配電網(wǎng)智能工作票系統(tǒng)通信服務(wù)架構(gòu)
(3)連接管理,主要負(fù)責(zé)維持與客戶端之間的TCP通道,定時(shí)檢查連接空閑情況,判斷是否讀寫超時(shí),連接斷開時(shí)發(fā)出相應(yīng)的事件給路由中心去處理。
(4)網(wǎng)關(guān)服務(wù),主要用于處理服務(wù)器之間的消息交互,為橫向擴(kuò)展使用。
(5)Packet,主要用于協(xié)議部分的編解碼和包的完整性校驗(yàn)、最大長(zhǎng)度校驗(yàn)等。其中,PacketReceiver負(fù)責(zé)消息的分發(fā),分發(fā)是根據(jù)Command來(lái)實(shí)現(xiàn)的。
(6)消息管理,是整個(gè)業(yè)務(wù)的核心,實(shí)現(xiàn)了消息的序列化,MessageHandler會(huì)根據(jù)不同消息獨(dú)立處理自己所屬的業(yè)務(wù),主要有心跳響應(yīng)、握手、快速重連、腳本分發(fā)、腳本更新推送、異常推送、機(jī)器人版本更新通知等。
(7)路由中心,主要負(fù)責(zé)路由管理和用戶在線管理。
系統(tǒng)選用了Selenium自動(dòng)化驅(qū)動(dòng)管理來(lái)處理瀏覽器交互。Selenium是一個(gè)用于Web應(yīng)用程序的自動(dòng)化工具,可在瀏覽器中直接運(yùn)行,就像真正的用戶在操作一樣。Selenium支持自動(dòng)錄制動(dòng)作和自動(dòng)生成,通過(guò)模仿用戶操作的Selenium驅(qū)動(dòng)腳本,從終端用戶的角度來(lái)驅(qū)動(dòng)應(yīng)用程序。其中,Selenium的核心——browser bot負(fù)責(zé)執(zhí)行從自動(dòng)化腳本接收到的命令。
(1)基于XML和可嵌入的機(jī)器人腳本語(yǔ)言。系統(tǒng)在XML語(yǔ)言基礎(chǔ)上,增加可擴(kuò)展的嵌入語(yǔ)言腳本,來(lái)豐富機(jī)器人腳本語(yǔ)言,支持函數(shù)級(jí)別的調(diào)用,支持Class語(yǔ)法實(shí)現(xiàn)腳本引用,從而提高腳本的可復(fù)用功能。
(2)客戶端多進(jìn)程管理。機(jī)器人客戶端通過(guò)共享內(nèi)存和消息傳遞的方式實(shí)現(xiàn)多進(jìn)度同步和通信管理,從而實(shí)現(xiàn)使用多進(jìn)程管理不同的任務(wù)自動(dòng)化執(zhí)行流程,各個(gè)任務(wù)執(zhí)行期間不會(huì)互相干擾,提高了程序的穩(wěn)定性。
(3)異常處理。機(jī)器人如果出現(xiàn)了異常中斷,系統(tǒng)會(huì)運(yùn)轉(zhuǎn)自身設(shè)計(jì)的異常管理和中斷處理流程,自動(dòng)干預(yù)并記錄錯(cuò)誤日志。
系統(tǒng)支持用戶根據(jù)業(yè)務(wù)需求通過(guò)繪制流程圖的方式自定義數(shù)據(jù)處理流程,從業(yè)務(wù)層面過(guò)濾和清洗數(shù)據(jù),包括剔除重復(fù)導(dǎo)入數(shù)據(jù)、不合規(guī)數(shù)據(jù)、業(yè)務(wù)互斥等,從而提高機(jī)器人的執(zhí)行效率,避免不必要的執(zhí)行行為,保證數(shù)據(jù)的有效性和準(zhǔn)確性。同時(shí),輔以大數(shù)據(jù)機(jī)器學(xué)習(xí)算法,設(shè)計(jì)出前置數(shù)據(jù)篩選規(guī)則,提升受理成功率。
目前,配電網(wǎng)智能工作票系統(tǒng)已應(yīng)用于某地區(qū)供電局日常維護(hù)業(yè)務(wù),應(yīng)用的具體情況如下:
系統(tǒng)從用戶使用角度出發(fā)設(shè)計(jì),界面友好,操作簡(jiǎn)便,易學(xué)易用,僅通過(guò)圖形點(diǎn)選,自動(dòng)生成工作票和所需操作票,能協(xié)助配網(wǎng)運(yùn)維人員快速、高效、便捷地完成填報(bào)工作,有效解決系統(tǒng)工作票填報(bào)操作煩瑣問題,節(jié)省填票時(shí)間,提高工作效率,降低出錯(cuò)概率。
系統(tǒng)與配網(wǎng)單線圖圖模系統(tǒng)建立智能化數(shù)據(jù)對(duì)接,調(diào)用工作票檢修工作涉及線路的圖模數(shù)據(jù),通過(guò)圖模拓?fù)浞治?,支撐以“點(diǎn)圖成票”的形式自動(dòng)獲取停電線路段所涉及的設(shè)備、快速錄入接地線位置及相關(guān)設(shè)備操作;同樣,系統(tǒng)能與生產(chǎn)管理系統(tǒng)建立智能化數(shù)據(jù)對(duì)接,實(shí)現(xiàn)生成工作票的自動(dòng)轉(zhuǎn)錄。
配電網(wǎng)智能工作票系統(tǒng)采用機(jī)器人技術(shù),搭建基于Protobuf3.0的機(jī)器人軟件平臺(tái),應(yīng)用Selenium自動(dòng)化驅(qū)動(dòng)管理,實(shí)現(xiàn)了快速生成工作票內(nèi)容、自動(dòng)填報(bào)生產(chǎn)系統(tǒng),有效解決了工作票填報(bào)錄入業(yè)務(wù)問題。系統(tǒng)所采用的技術(shù),具有較強(qiáng)的可伸縮性、可擴(kuò)展性,開發(fā)了以瀏覽器擴(kuò)展程序形式的機(jī)器人客戶端,安裝便捷,即插即用。同時(shí),系統(tǒng)僅通過(guò)簡(jiǎn)單的圖形點(diǎn)選操作,即可依照拓?fù)潢P(guān)系進(jìn)行分析,自動(dòng)生成工作票和所需操作票,簡(jiǎn)化了系統(tǒng)工作票填報(bào)操作,能協(xié)助配網(wǎng)運(yùn)維人員快速、高效、便捷地完成填報(bào),提高工作效率,降低出錯(cuò)概率,確保了工作票的規(guī)范、準(zhǔn)確,進(jìn)一步提升了配電網(wǎng)維護(hù)業(yè)務(wù)安全水平。