林驚雷 劉向東
華北石油通信有限公司
目前,動(dòng)力環(huán)境監(jiān)控系統(tǒng)用于實(shí)時(shí)監(jiān)測(cè)機(jī)房基礎(chǔ)設(shè)施運(yùn)行狀態(tài),為機(jī)房管理自動(dòng)化、運(yùn)行智能化、決策科學(xué)化提供有力的技術(shù)支撐。但大部分系統(tǒng)基于通用性考慮,多側(cè)重于設(shè)備監(jiān)測(cè)的準(zhǔn)確性和穩(wěn)定性,但在數(shù)據(jù)庫(kù)建模上忽視了設(shè)備間的關(guān)聯(lián)性。在部署階段,被監(jiān)測(cè)設(shè)備通常以空間為單位進(jìn)行組織,用組態(tài)方式展示出來(lái),這種方式有利于用戶快速定位故障設(shè)備,但由于缺乏設(shè)備間的關(guān)聯(lián)性描述,故障告警只能體現(xiàn)設(shè)備單體故障狀態(tài),無(wú)法評(píng)估或預(yù)測(cè)該故障的影響區(qū)域,而這點(diǎn)對(duì)于全面掌控供電系統(tǒng)的故障影響至關(guān)重要。
當(dāng)供電系統(tǒng)出現(xiàn)故障時(shí),運(yùn)營(yíng)管理者更關(guān)心機(jī)房哪些設(shè)備會(huì)受到影響,而這多依賴運(yùn)維人員對(duì)供電系統(tǒng)的熟悉程度和故障處理經(jīng)驗(yàn),對(duì)于不熟悉系統(tǒng)的維護(hù)人員多通過(guò)人工檢索組網(wǎng)圖完成,時(shí)效性很差。如果能解決供電設(shè)備關(guān)聯(lián)性問(wèn)題,便可通過(guò)程序?qū)╇娤到y(tǒng)進(jìn)行分析,快速定位出終端用電設(shè)備,并關(guān)聯(lián)出該故障點(diǎn)上下游供電設(shè)備,這樣,可有效收斂故障邊界,提升應(yīng)急響應(yīng)時(shí)間。
由于大部分動(dòng)力環(huán)境監(jiān)控系統(tǒng)都存在封裝性,這導(dǎo)致系統(tǒng)擴(kuò)展性差,用戶只能停留在應(yīng)用層面,特定需求只能通過(guò)廠家定制開發(fā)實(shí)現(xiàn),既增加了投入成本,也限制了用戶主動(dòng)運(yùn)維的積極性。實(shí)際上,實(shí)現(xiàn)該功能難度并不大,只要考慮好如何描述設(shè)備間的邏輯關(guān)系,并依此關(guān)系建立數(shù)據(jù)模型,圍繞此模型進(jìn)行程序開發(fā)即可。該文以某數(shù)據(jù)機(jī)房供電系統(tǒng)為例,為該機(jī)房供電系統(tǒng)設(shè)備建立數(shù)據(jù)模型,通過(guò)對(duì)故障節(jié)點(diǎn)的分析,快速定位出故障影響區(qū)域,并在矢量拓?fù)鋱D上展示出來(lái)。
該運(yùn)維應(yīng)用以某數(shù)據(jù)機(jī)房供電系統(tǒng)為參考,以拓?fù)鋱D方式構(gòu)建出該數(shù)據(jù)機(jī)房供電系統(tǒng)組建結(jié)構(gòu)(圖1)。
該供電組網(wǎng)的局部拓?fù)浣Y(jié)構(gòu)比較簡(jiǎn)單,由圖1可知,供電設(shè)備并非一對(duì)一的鏈表關(guān)系,相對(duì)于可靠性要求高的機(jī)房,都存在多機(jī)并聯(lián)或冗余的情況,因而在實(shí)體關(guān)系描述上存在多對(duì)一或一對(duì)多的情況?;诖丝捎枚嗖鏄鋵?shí)現(xiàn)對(duì)整個(gè)供電系統(tǒng)的描述。通過(guò)數(shù)據(jù)建模,構(gòu)建出供電系統(tǒng)各設(shè)備的關(guān)聯(lián)性。在實(shí)際應(yīng)用中,可從告警事件中獲取到設(shè)備ID,依據(jù)設(shè)備間的關(guān)聯(lián)性,可快速遍歷出故障設(shè)備關(guān)聯(lián)的上下游設(shè)備。表1將對(duì)依據(jù)模型建立起來(lái)的表單中的主要字段進(jìn)行簡(jiǎn)要說(shuō)明。圖2展示了該表的查詢結(jié)果。
圖1 機(jī)房供電系統(tǒng)拓?fù)鋱DFig.1 Topology of machine room power supply system
表1 字段描述Tab.1 Field description
圖2 記錄查詢Fig.2 Record query
遍歷程序采用Python語(yǔ)言編寫,當(dāng)動(dòng)力環(huán)境監(jiān)控系統(tǒng)上報(bào)某供電設(shè)備停電告警后,以告警設(shè)備為錨點(diǎn)分別進(jìn)行上行和下行的遍歷,從而獲取到與之相關(guān)完整供電設(shè)備鏈的輸出。假設(shè)圖1中的UP-2-1并機(jī)輸出柜出現(xiàn)停電,輸出結(jié)果如下:
輸出結(jié)果是和故障節(jié)點(diǎn)相關(guān)的完整設(shè)備鏈,即故障影響區(qū)域。這些數(shù)據(jù)從后端傳遞給前端,并在矢量拓?fù)鋱D上展示出來(lái)。圖3 是告警觸發(fā)后對(duì)機(jī)房供電系統(tǒng)上行的遍歷代碼[1-2]。
圖3 上行遍歷代碼Fig.3 Upward traversal code
采用B/S 架構(gòu),后端采用DJANGO,前端為HTML5+JS。供電系統(tǒng)拓?fù)鋱D采用SVG(可縮放矢量圖)格式繪制,展示效果好,繪制完成的SVG圖嵌入到HTML中,
供電設(shè)備停電告警會(huì)觸發(fā)后端進(jìn)行設(shè)備遍歷,并把遍歷結(jié)果發(fā)送給前端。前端根據(jù)接收數(shù)據(jù)定位SVG文件中的對(duì)應(yīng)元素,并通過(guò)代碼對(duì)其屬性進(jìn)行操作(如顏色填充或閃動(dòng)等特效),把故障設(shè)備及相關(guān)的上下鏈設(shè)備和其他設(shè)備區(qū)分開,實(shí)現(xiàn)了對(duì)故障邊界的收斂。該處理方式對(duì)擁有龐大且組網(wǎng)結(jié)構(gòu)復(fù)雜的供電系統(tǒng)而言,能顯著提升應(yīng)急處理的時(shí)效。
如圖1所示,深灰填充部分是告警節(jié)點(diǎn),淺灰填充部分為該設(shè)備關(guān)聯(lián)的上下游供電設(shè)備。故障邊界收斂有利于提升處理故障的時(shí)效,尤其對(duì)擁有龐大且組網(wǎng)結(jié)構(gòu)復(fù)雜的供電系統(tǒng)而言效果更為明顯。
后端的主要功能是根據(jù)告警節(jié)點(diǎn)把遍歷的數(shù)據(jù)集傳遞給前端。在實(shí)際應(yīng)用場(chǎng)景中可通過(guò)動(dòng)力環(huán)境監(jiān)控系統(tǒng)的北向接口獲取實(shí)時(shí)告警事件。測(cè)試階段是通過(guò)前端發(fā)送設(shè)備名稱給后端,來(lái)模擬從動(dòng)環(huán)獲取供電設(shè)備停電告警事件。圖4為后端主要代碼[3]。
圖4 后端主要代碼Fig.4 Back-end core code
前端測(cè)試瀏覽器為IE。根據(jù)后端傳遞的數(shù)據(jù)匹配對(duì)應(yīng)的SVG 控件對(duì)象,并填充該控件,從而實(shí)現(xiàn)對(duì)遍歷結(jié)果的展示。需要注意的是當(dāng)頁(yè)面加載完成后才能操作SVG,程序里時(shí)延100 ms 后開始操作,具體時(shí)延根據(jù)頁(yè)面的復(fù)雜程度進(jìn)行調(diào)整。圖5為前端主要代碼[4-5]。
圖5 前端主要代碼Fig.5 Front-end core code
開發(fā)及測(cè)試環(huán)境為
供電系統(tǒng)作為關(guān)鍵基礎(chǔ)設(shè)施,其安全性決定了整體運(yùn)營(yíng)質(zhì)量。為供電系統(tǒng)提供安全保護(hù)措施,除了設(shè)計(jì)階段冗余保障,運(yùn)維階段需要更多的快速定位和消除故障保護(hù)措施[6]。本文提供的對(duì)供電系統(tǒng)故障影響區(qū)域快速分析定位的方法,彌補(bǔ)了現(xiàn)有監(jiān)控系統(tǒng)的不足,今后將進(jìn)一步提高保障供電系統(tǒng)安全的自動(dòng)化運(yùn)維水平。