馬占中
(通號(hào)通信信息集團(tuán)有限公司,北京 100070)
近些年中國(guó)鐵路取得了飛速高質(zhì)量發(fā)展,截至2021年底,中國(guó)高鐵運(yùn)營(yíng)里程突破4萬(wàn)千米,中國(guó)鐵路營(yíng)運(yùn)總里程突破15萬(wàn)千米。伴隨著中國(guó)鐵路的飛速發(fā)展,鐵路綜合視頻監(jiān)控系統(tǒng)作為鐵路運(yùn)營(yíng)的重要安全保障,其規(guī)模不斷擴(kuò)大、設(shè)備種類越來(lái)越龐雜、系統(tǒng)結(jié)構(gòu)越來(lái)越復(fù)雜、系統(tǒng)維護(hù)工作越來(lái)越繁重。
鐵路綜合視頻監(jiān)控系統(tǒng)如果采用傳統(tǒng)的人工運(yùn)維方式,其被動(dòng)運(yùn)維效率低下,經(jīng)常出現(xiàn)漏檢問(wèn)題,數(shù)據(jù)統(tǒng)計(jì)不全、考核無(wú)法下手,無(wú)法適應(yīng)視頻規(guī)模高速增長(zhǎng)和相關(guān)業(yè)務(wù)應(yīng)用不斷增加的管理需求。
視頻圖像質(zhì)量診斷系統(tǒng)是一種用計(jì)算機(jī)來(lái)代替人工對(duì)攝像機(jī)的圖像質(zhì)量自動(dòng)診斷的系統(tǒng)。但是現(xiàn)有的視頻圖像質(zhì)量診斷系統(tǒng)診斷效率低下、診斷結(jié)果準(zhǔn)確率不高,容易對(duì)攝像機(jī)故障造成誤判,不能滿足當(dāng)前鐵路綜合視頻監(jiān)控系統(tǒng)的發(fā)展要求。
鐵路綜合視頻監(jiān)控系統(tǒng)的網(wǎng)管模塊對(duì)網(wǎng)絡(luò)中的硬件進(jìn)行了監(jiān)控,但是監(jiān)控功能簡(jiǎn)單,隨著綜合視頻監(jiān)控系統(tǒng)不斷發(fā)展,網(wǎng)管功能不能滿足當(dāng)前系統(tǒng)維護(hù)工作的需求。
為了解決上述問(wèn)題,本文依據(jù)《QCR 575—2017鐵路視頻監(jiān)控系統(tǒng)技術(shù)規(guī)范》,以鐵路綜合視頻監(jiān)控系統(tǒng)的運(yùn)維工
作為對(duì)象,研究一個(gè)系統(tǒng)方案,用于指導(dǎo)鐵路綜合視頻監(jiān)控智能運(yùn)維系統(tǒng)的開發(fā)工作。方案通過(guò)對(duì)全網(wǎng)視頻設(shè)備、IT設(shè)備、系統(tǒng)軟件及應(yīng)用軟件等進(jìn)行實(shí)時(shí)監(jiān)控、故障告警、故障定位、自動(dòng)化工單和大數(shù)據(jù)分析,實(shí)現(xiàn)對(duì)視頻監(jiān)控系統(tǒng)及其基礎(chǔ)支撐運(yùn)行環(huán)境的可視、可控、可管理,持續(xù)提升視頻監(jiān)控系統(tǒng)的整體運(yùn)行維護(hù)管理水平,保障視頻監(jiān)控系統(tǒng)長(zhǎng)期穩(wěn)定。
方案以鐵路綜合視頻業(yè)務(wù)為出發(fā)點(diǎn),實(shí)現(xiàn)全面、海量視頻數(shù)據(jù)的收集,同時(shí)融合基礎(chǔ)設(shè)施和系統(tǒng)軟件的監(jiān)控?cái)?shù)據(jù),向用戶提供多維立體可視化監(jiān)控服務(wù),提升視頻數(shù)據(jù)價(jià)值,提供智能運(yùn)維,全方位感知設(shè)備狀態(tài)、用戶行為,感知業(yè)務(wù)運(yùn)行質(zhì)量,降低人員工作強(qiáng)度、提升工作效率,有效指導(dǎo)運(yùn)維工作,實(shí)現(xiàn)故障全周期跟蹤。
方案系統(tǒng)邏輯架構(gòu)分為6層,如圖1所示。
圖1 智能運(yùn)維系統(tǒng)邏輯架構(gòu)圖
感知層指被監(jiān)控的硬件設(shè)備與軟件,包括攝像機(jī)、編碼器、解碼器、服務(wù)器、交換機(jī)、磁陣、防火墻、UPS、操作系統(tǒng)、視頻監(jiān)控系統(tǒng)軟件、云存儲(chǔ)系統(tǒng)軟件等。
協(xié)議層指監(jiān)控服務(wù)與被監(jiān)控對(duì)象之間的通信協(xié)議,包括SSH、HTTP、HTTPS、IMAP、TCP、Telnet、Zabbix agent、SNMPv1 agent、SNMPv2 agent、SNMPv3 agent、ICMP ping、RTSP,鐵標(biāo)A接口協(xié)議等。
服務(wù)層指執(zhí)行監(jiān)控任務(wù)的服務(wù)程序,包括Zabbix服務(wù)、圖像質(zhì)量診斷服務(wù)、運(yùn)維管理接入服務(wù)。
數(shù)據(jù)層指系統(tǒng)的基礎(chǔ)數(shù)據(jù)與服務(wù)層從監(jiān)控對(duì)象采集到數(shù)據(jù),包括運(yùn)維管理數(shù)據(jù)庫(kù)、Zabbix服務(wù)數(shù)據(jù)庫(kù)、圖像質(zhì)量診斷數(shù)據(jù)庫(kù)、消息隊(duì)列數(shù)據(jù)等。
應(yīng)用層指數(shù)據(jù)的管理和處理層,是用戶直接使用的各種應(yīng)用,包括系統(tǒng)基礎(chǔ)數(shù)據(jù)管理、設(shè)備管理、圖診任務(wù)管理、告警管理、工單管理、數(shù)據(jù)統(tǒng)計(jì)等。
展示層指系統(tǒng)與用戶交互信息界面,向用戶展示信息,接收用戶的輸入,包括Web瀏覽器、大屏幕展示、手機(jī)APP、電子郵件、短消息等。
感知層的硬件設(shè)備通過(guò)啟用SNMPagent、開通IPMI接口、安裝Zabbix agent等技術(shù)措施,使設(shè)備中的數(shù)據(jù)能夠采集到Zabbix監(jiān)控服務(wù)器。感知層的云存儲(chǔ)系統(tǒng)通過(guò)restful格式的應(yīng)用程序接口為運(yùn)維管理接入服務(wù)提供監(jiān)控?cái)?shù)據(jù)。感知層的視頻監(jiān)控系統(tǒng)通過(guò)TCP/IP技術(shù)將視頻數(shù)據(jù)傳輸?shù)綀D像質(zhì)量診斷服務(wù)。
服務(wù)層的Zabbix監(jiān)控服務(wù)是一種企業(yè)級(jí)的分布式開源監(jiān)控解決方案,能夠監(jiān)控眾多網(wǎng)絡(luò)參數(shù)和服務(wù)器的健康度和完整性的軟件。圖像質(zhì)量診斷服務(wù)采用C++技術(shù)開發(fā),實(shí)現(xiàn)了鐵路視頻監(jiān)控系統(tǒng)技術(shù)規(guī)范中的A接口,通過(guò)TCP與綜合視頻監(jiān)控系統(tǒng)通信,獲取視頻流,并將視頻圖像解碼,將圖像數(shù)據(jù)送入深度學(xué)習(xí)模型中進(jìn)行圖像分析,再將分析結(jié)果寫入數(shù)據(jù)庫(kù)并發(fā)送MQ消息通知運(yùn)維管理系統(tǒng)。
數(shù)據(jù)層的數(shù)據(jù)庫(kù)選用MySQL數(shù)據(jù)庫(kù),MySQL是當(dāng)前最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一。消息隊(duì)列選用ActiveMQ,它是Apache出品的開源消息總線,是一個(gè)完全支持JMS規(guī)范的JMS Provider實(shí)現(xiàn),支持多種語(yǔ)言和協(xié)議編寫客戶端。
應(yīng)用層的各功能模塊采用Java EE技術(shù),基于當(dāng)前流行的SpringBoot開發(fā)框架實(shí)現(xiàn)。SpringBoot開箱即用,提供各種默認(rèn)配置來(lái)簡(jiǎn)化項(xiàng)目配置,使得開發(fā)人員擺脫了復(fù)雜的配置工作以及依賴的管理工作,更加專注于業(yè)務(wù)邏輯。應(yīng)用層通過(guò)SpringMVC框架為展示層提供Restful開發(fā)接口并處理用戶請(qǐng)求,通過(guò)Hibernate、JPA等持久層框架訪問(wèn)數(shù)據(jù)庫(kù),通過(guò)JMS與消息隊(duì)列進(jìn)行即時(shí)通信。
展示層采用Layui開源框架開發(fā),并集成了echarts、bootstrap等多種組件,通過(guò)Ajax、WebSocket等技術(shù)與應(yīng)用層進(jìn)行數(shù)據(jù)交互。Layui是一套開源的Web UI解決方案,采用自身經(jīng)典的模塊化規(guī)范,并遵循原生HTML/CSS/JS的開發(fā)方式,風(fēng)格簡(jiǎn)約輕盈,而組件優(yōu)雅豐盈,非常適合網(wǎng)頁(yè)界面的快速開發(fā)。
視頻圖像質(zhì)量診斷功能包括攝像機(jī)資源管理、診斷模板與算法管理、診斷任務(wù)管理、診斷數(shù)據(jù)統(tǒng)計(jì)等,融合了信息處理技術(shù)、圖像處理技術(shù)、計(jì)算機(jī)視覺(jué)技術(shù)、計(jì)算機(jī)圖形學(xué)、人工智能、圖像分析等多項(xiàng)技術(shù),涉及運(yùn)維管理服務(wù)、圖像診斷服務(wù)和圖像診斷算法模塊,網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 視頻圖像質(zhì)量診斷功能網(wǎng)絡(luò)架構(gòu)圖
視頻圖像質(zhì)量診斷功能能夠支持多種診斷類型,診斷類型及說(shuō)明如表1所示。
表1 視頻圖像質(zhì)量診斷類型
視頻圖像質(zhì)量診斷功能的工作流程如圖3所示。
圖3 視頻圖像質(zhì)量診斷功能工作流程圖
首先要獲取攝像機(jī)的資源信息,視頻圖像質(zhì)量診斷功能中的攝像機(jī)資源數(shù)據(jù)的來(lái)源是視頻監(jiān)控系統(tǒng)。用戶在運(yùn)維管理服務(wù)提供的Web界面上,通過(guò)點(diǎn)擊“資源同步”按鈕觸發(fā)攝像機(jī)同步事件。運(yùn)維管理服務(wù)后臺(tái)收到攝像機(jī)同步消息后,發(fā)送“資源同步”命令到ActiveMQ的消息隊(duì)列。圖像診斷服務(wù)接收到ActiveMQ轉(zhuǎn)發(fā)的“資源同步”命令后,通過(guò)鐵路綜合視頻規(guī)范中的A接口協(xié)議連接視頻監(jiān)控系統(tǒng)獲取攝像機(jī)資源信息,并將獲取到的數(shù)據(jù)寫入數(shù)據(jù)庫(kù)中。
用戶通過(guò)視頻運(yùn)維管理系統(tǒng)的Web界面,可以管理診斷任務(wù)。創(chuàng)建診斷任務(wù)時(shí),每個(gè)診斷任務(wù)需要配置幾種不同的診斷類型。為了簡(jiǎn)化診斷任務(wù)的配置,系統(tǒng)中通過(guò)增加診斷模板,將診斷類型進(jìn)行組合,每個(gè)任務(wù)只選擇一個(gè)模板即可。診斷任務(wù)分為單次任務(wù)和周期任務(wù)。單次任務(wù)主要用于臨時(shí)診斷,周期任務(wù)由系統(tǒng)根據(jù)參數(shù)設(shè)置自動(dòng)執(zhí)行。
診斷任務(wù)的執(zhí)行由圖像診斷服務(wù)完成。診斷服務(wù)通過(guò)ActiveMQ接收診斷命令,收到執(zhí)行任務(wù)的命令后,通過(guò)A接口協(xié)議調(diào)取視頻監(jiān)控系統(tǒng)的視頻流,對(duì)視頻流解碼并將圖片發(fā)送給診斷算法模型。進(jìn)行圖像數(shù)據(jù)分析的算法模型是基于深度學(xué)習(xí)技術(shù)訓(xùn)練得出的,經(jīng)過(guò)了大量實(shí)景圖片的監(jiān)督學(xué)習(xí),提高了圖像診斷的準(zhǔn)確率。一張圖片經(jīng)過(guò)算法模型運(yùn)算可診斷出多種類型的概率,提高了圖像診斷診斷效率。算法模型對(duì)圖片進(jìn)行運(yùn)算后,輸出各種診斷類型的概率,確定診斷結(jié)果,并將結(jié)果輸出到診斷服務(wù)。診斷服務(wù)將診斷結(jié)果寫入數(shù)據(jù)庫(kù)中,并通過(guò)ActiveMQ將診斷進(jìn)度通知到運(yùn)維管理系統(tǒng)。運(yùn)維管理系統(tǒng)收到診斷任務(wù)的實(shí)時(shí)進(jìn)度后,通過(guò)WebSocket將消息實(shí)時(shí)發(fā)送到正在查看診斷任務(wù)的用戶的Web瀏覽器上,用戶可以實(shí)時(shí)了解任務(wù)診斷的進(jìn)度。
用戶在視頻運(yùn)維管理系統(tǒng)Web界面可以對(duì)診斷歷史結(jié)果進(jìn)行數(shù)據(jù)統(tǒng)計(jì),以表格和圖表的形式展現(xiàn),并支持將統(tǒng)計(jì)結(jié)果導(dǎo)出為Excel格式文件。
設(shè)備與軟件監(jiān)控功能包括設(shè)備管理、設(shè)備實(shí)時(shí)監(jiān)控、告警通知與處理等,涉及運(yùn)維管理服務(wù)和Zabbix監(jiān)控服務(wù),網(wǎng)絡(luò)架構(gòu)如圖4所示。
圖4 設(shè)備與軟件監(jiān)控功能網(wǎng)絡(luò)架構(gòu)圖
Zabbix負(fù)責(zé)設(shè)備與軟件的實(shí)時(shí)監(jiān)控、數(shù)據(jù)采集、生成告警等業(yè)務(wù)。Zabbix是一種高度集成的網(wǎng)絡(luò)監(jiān)控解決方案,支持輪詢和被動(dòng)捕獲。Zabbix由幾個(gè)主要的功能組件組成,組件及職責(zé)如表2所示。
表2 Zabbix主要功能組件及職責(zé)
Zabbix可從任何設(shè)備、系統(tǒng)、應(yīng)用程序上采集數(shù)據(jù);支持Zabbix agent主動(dòng)和被動(dòng)監(jiān)控模式;支持多種協(xié)議的無(wú)代理監(jiān)控(ICMP和TCP檢查、IPMI、SNMP(v1/2c/3)輪詢和trapping、SSH/Telnet檢查、Modbus和MQTT協(xié)議支持、使用外部腳本或插件進(jìn)行擴(kuò)展);存儲(chǔ)數(shù)據(jù)之前對(duì)任何類型的數(shù)據(jù)進(jìn)行規(guī)范和轉(zhuǎn)換;支持定義非常靈活的問(wèn)題閾值,便于精準(zhǔn)發(fā)現(xiàn)問(wèn)題;支持多個(gè)渠道發(fā)送告警事件消息;支持自動(dòng)掃描網(wǎng)絡(luò)并添加發(fā)現(xiàn)的設(shè)備;支持使用開箱即用的模板或自定義監(jiān)控模板;通過(guò)部署Zabbixproxy,支持分布式監(jiān)控;提供可編程接口,用于大規(guī)模操作、第三方軟件集成。
視頻監(jiān)控系統(tǒng)中的攝像機(jī)、編碼器、解碼器、交換機(jī)、磁陣、防火墻、UPS等設(shè)備都安裝了SNMP代理,Zabbix服務(wù)可以通過(guò)SNMP方式進(jìn)行數(shù)據(jù)采集。服務(wù)器和操作系統(tǒng)可以啟用IPMI并安裝Zabbix agent,Zabbix服務(wù)能夠獲取到更為豐富的數(shù)據(jù)。視頻監(jiān)控系統(tǒng)軟件和云存儲(chǔ)系統(tǒng)軟件提供restful接口,Zabbix服務(wù)通過(guò)調(diào)用外部腳本的方式采集數(shù)據(jù)。
運(yùn)維管理服務(wù)采用B/S結(jié)構(gòu)開發(fā),提供用戶操作界面和后臺(tái)服務(wù),支持對(duì)監(jiān)控設(shè)備信息的維護(hù)、設(shè)備監(jiān)控信息的實(shí)時(shí)展示、告警信息的顯示及處理等功能。用戶通過(guò)Web瀏覽器訪問(wèn)運(yùn)維管理服務(wù),經(jīng)后臺(tái)服務(wù)認(rèn)證授權(quán)進(jìn)入設(shè)備維護(hù)界面,輸入設(shè)備信息,通過(guò)ajax技術(shù)將設(shè)備信息提交到后臺(tái)服務(wù),后臺(tái)服務(wù)將信息存儲(chǔ)到MySQL數(shù)據(jù)庫(kù)并調(diào)用Zabbix提供基于JSON-RPC 2.0協(xié)議的WebAPI在Zabbix服務(wù)中創(chuàng)建設(shè)備的監(jiān)控信息。Zabbix服務(wù)根據(jù)設(shè)備的監(jiān)控策略執(zhí)行監(jiān)測(cè)任務(wù),并將采集的數(shù)據(jù)進(jìn)行處理后存儲(chǔ)到Zabbix數(shù)據(jù)庫(kù)中,如果收到的數(shù)據(jù)超過(guò)設(shè)置的閾值會(huì)產(chǎn)生告警事件,并根據(jù)設(shè)置的媒介類型和消息格式發(fā)送消息。通過(guò)JDBC數(shù)據(jù)庫(kù)連接訪問(wèn)Zabbix的數(shù)據(jù)庫(kù)服務(wù),讀取監(jiān)控?cái)?shù)據(jù)。
鐵路綜合視頻監(jiān)控系統(tǒng)智能運(yùn)維管理方案綜合運(yùn)用Zabbix、spring boot、C++、AI、echarts、bootstrap、Ajax、WebSocket、Messagequeue等多種技術(shù),對(duì)綜合視頻監(jiān)控系統(tǒng)的硬件設(shè)備、網(wǎng)絡(luò)狀況和軟件系統(tǒng)的運(yùn)行數(shù)據(jù)進(jìn)行了實(shí)時(shí)采集,對(duì)采集的數(shù)據(jù)進(jìn)行分析,及時(shí)產(chǎn)生告警事件,以多種方式通知到用戶。該方案使用戶可以實(shí)時(shí)了解綜合視頻監(jiān)控系統(tǒng)的運(yùn)行狀況,及時(shí)發(fā)現(xiàn)系統(tǒng)故障告警、快速解決故障,降低系統(tǒng)維護(hù)的難度,能夠有效地保障綜合視頻監(jiān)控系統(tǒng)穩(wěn)定運(yùn)行。