謝海嘯,邱 建,余暉良,馬慶賀
(北京奧特維科技有限公司,北京 100010)
城市運管指揮中心是一個整合交通、公安、水利、環(huán)保、城管以及氣象等委辦局業(yè)務(wù)和信息,通過大數(shù)據(jù)分析、云計算等技術(shù),建立城市統(tǒng)一運行監(jiān)控體系,統(tǒng)一事件綜合協(xié)調(diào)平臺,全面提升城市綜合管理水平和應(yīng)急處置效率的治理一體化解決方案。中心需要接入多個不同保密等級的網(wǎng)絡(luò),融合多個不同部門的各類數(shù)據(jù),承載入駐的多個不同部門業(yè)務(wù)的值班人員,具備視頻顯示、圖像傳輸、音頻擴聲、融合通信及安防、照明等多個信息化系統(tǒng),提供7×24 h 不間斷運行服務(wù),為領(lǐng)導(dǎo)及時、高效地指揮決策提供保障。
如此龐大、復(fù)雜的系統(tǒng),它的管理和運維將極其煩瑣。傳統(tǒng)做法是為每個子系統(tǒng)部署獨立的管理軟件,每個子系統(tǒng)由專人負責(zé),各子系統(tǒng)的數(shù)據(jù)相互獨立?;蛘卟捎眉锌刂葡到y(tǒng)實現(xiàn)對多媒體設(shè)備的集中管理,但無法實現(xiàn)設(shè)備運行狀態(tài)監(jiān)測和故障定位功能,定位故障和解決故障時間長,且對運維人員要求較高,無法滿足7×24 h 不間斷運行的要求。因此,為指揮大廳部署一套可視一體化運維管控平臺尤為重要。
隨著云計算、人工智能和物聯(lián)網(wǎng)的快速發(fā)展,人臉識別技術(shù)、語音識別技術(shù)和物聯(lián)網(wǎng)技術(shù)已經(jīng)相對成熟,同時通過云計算對傳統(tǒng)行業(yè)的賦能,能夠?qū)芏鄠鹘y(tǒng)產(chǎn)業(yè)的提升提供較大的推動力。
對于指揮大廳而言,一方面物聯(lián)網(wǎng)技術(shù)將傳統(tǒng)音視頻設(shè)備接入物聯(lián)網(wǎng),實現(xiàn)設(shè)備互聯(lián),增強感知能力,提高系統(tǒng)可用性和可維護性,使得集中管理成千上萬的音視頻設(shè)備成為可能;另一方面,通過人工智能和云計算技術(shù)對指揮大廳進行賦能,使得其成為具備AI 能力、能感知以及可通過語言交流的智慧系統(tǒng)。
因此,需要部署一套能夠解決上述問題的可視一體化管控平臺,不僅能統(tǒng)一管理整個指揮大廳各子系統(tǒng),還能發(fā)現(xiàn)問題并輔助解決問題,提高指揮大廳長期運行的穩(wěn)定性。
可視一體化管控平臺通過物聯(lián)網(wǎng)監(jiān)測所有子系統(tǒng)設(shè)備的運行狀態(tài)(如圖1 所示),并采集存儲形成大數(shù)據(jù)。通過大數(shù)據(jù)可視化技術(shù)可生成直觀的用戶界面,同時結(jié)合人臉識別、語音識別、云計算等人工智能技術(shù),為指揮大廳提供更加人性化的功能。例如:通過人臉識別實現(xiàn)登錄KVM 坐席調(diào)度系統(tǒng)、自動會議簽到、門禁和考勤系統(tǒng);通過語音指令實現(xiàn)燈光空調(diào)控制、圖像調(diào)度以及語音轉(zhuǎn)寫等;通過數(shù)據(jù)分析實現(xiàn)故障預(yù)警和故障快速定位等功能。
系統(tǒng)架構(gòu)包括基礎(chǔ)設(shè)施層、數(shù)據(jù)層、云計算支撐層、業(yè)務(wù)層和用戶層,如圖2 所示。
基礎(chǔ)設(shè)施層是指揮大廳信息化的各種基礎(chǔ)設(shè)施,是可視一體化管控平臺管理和運維的主要設(shè)備和設(shè)施,包括音頻擴聲、大屏顯示、視頻會議、KVM分布式高清坐席、融合通信、機電、照明、坐席計算、安防、網(wǎng)絡(luò)工程以及機房工程等子系統(tǒng)。
數(shù)據(jù)層是采集、存儲、計算和管理數(shù)據(jù)的邏輯層,包括物聯(lián)網(wǎng)平臺和大數(shù)據(jù)平臺。其中:物聯(lián)網(wǎng)平臺主要負責(zé)采集數(shù)據(jù)和下發(fā)指令,主要支持包括Modbus TCP、Modbus RTU、Backnet、SNMP、Dante音頻以及各種基于TCP/IP 或RS232 的私有協(xié)議;大數(shù)據(jù)平臺主要負責(zé)存儲、計算和管理數(shù)據(jù)。
云計算支撐層是為可視一體化管控平臺提供賦能的邏輯層,包括語音識別引擎、人臉識別引擎、聲紋識別引擎、文本翻譯引擎以及業(yè)務(wù)模型庫等模塊。
業(yè)務(wù)層是可視一體化管控平臺的主要業(yè)務(wù)邏輯層,包括WEB 服務(wù)器、業(yè)務(wù)處理、數(shù)據(jù)管理、用戶管理以及日志管理等模塊,主要功能包括運行狀態(tài)監(jiān)測、數(shù)據(jù)接入、智能分析研判、快速故障定位、設(shè)備控制和管理功能等。
用戶層是用戶交互層,包括瀏覽器端、APP 端和語音指令端。為了簡化業(yè)務(wù)層架構(gòu),用戶層的各種應(yīng)用均通過HTTP 協(xié)議與業(yè)務(wù)層通信。
技術(shù)路線主要從用戶層、業(yè)務(wù)層、云計算支撐層和數(shù)據(jù)層等方面進行闡述。
用戶層包括瀏覽器端、APP 端和語音指令端。為了簡化業(yè)務(wù)層架構(gòu),用戶層的各種應(yīng)用均通過HTTP 協(xié)議與業(yè)務(wù)層通信。
瀏覽器端(也稱前端)開發(fā)框架技術(shù)路線選擇較多。由于開發(fā)團隊專注于JavaScript(以下簡稱JS)腳本語言,本文主要選擇基于JS 前端框架技術(shù)路線。基于JS 的主流前端框架包括VUE、Angular以及React 等。表1 主要針對這3 套框架進行比較。
表1 瀏覽器前端框架對比
由于可視一體化運維管控平臺屬于中小型項目,對比上述3 種框架,根據(jù)團隊實際情況選擇VUE 作為瀏覽器端的開發(fā)框架。
對于語音指令前端,由于Python 語音在AI 領(lǐng)域的重要地位,選擇Python 作為主要開發(fā)語言,并針對部分性能敏感模塊選擇Golang 語言和C++語言編寫。
對于APP 端,針對移動端平臺選擇相應(yīng)的開發(fā)語言和相關(guān)框架,不再贅述。
業(yè)務(wù)層(也稱后端)是可視一體化運維管控平臺的核心層,主要包括Web 服務(wù)器和業(yè)務(wù)邏輯兩大部分,其中業(yè)務(wù)邏輯包括業(yè)務(wù)處理、數(shù)據(jù)管理、用戶管理以及日志管理等模塊。它的主要功能包括運行狀態(tài)監(jiān)測、數(shù)據(jù)接入、智能分析研判、快速故障定位、管理控制和資產(chǎn)管理等。
3.2.1 后端框架選擇
后端開發(fā)框架技術(shù)路線選擇較多。由于開發(fā)團隊專注于JavaScript(以下簡稱JS)腳本語言,本文主要選擇基于Node.js 后端框架技術(shù)路線。相關(guān)的主流后框架包括Express、Sails 以及Egg 等。表2 主要針對這3 套框架進行比較。
表2 后端框架對比
由于可視一體化運維管控平臺屬于中小型項目,對比上述3 種框架,根據(jù)團隊實際情況,選擇Egg 作為后端的開發(fā)框架。
3.2.2 Web 服務(wù)器選擇
由于后端選擇了Egg 作為開發(fā)框架,因此不使用Web 服務(wù)器系統(tǒng)也能正常工作。只是為了高并發(fā)性能,需要選擇一個Web 服務(wù)器。針對這個需求,選擇Nginx 作為Web 服務(wù)器。Nginx 是一個高性能的HTTP 和反向代理服務(wù)器,性能穩(wěn)定,系統(tǒng)資源消耗低,能夠支持高達50 000 個并發(fā)連接數(shù)。
云計算支撐層包括語音識別引擎、人臉識別引擎和文本翻譯引擎等。由于主流語音識別引擎在普通話識別率均能達到95%以上,因此選擇中電慧聲語音識別引擎(它在項目實際應(yīng)用中表現(xiàn)良好)。此外,基于同樣的原因,人臉識別引擎和文本翻譯引擎均選擇市場主流產(chǎn)品。
數(shù)據(jù)層包括物聯(lián)網(wǎng)平臺和大數(shù)據(jù)平臺。其中,大數(shù)據(jù)平臺選擇市場主流產(chǎn)品。由于物聯(lián)網(wǎng)平臺是可視一體化運維管控平臺的關(guān)鍵模塊,且運維對象主要是音視頻系統(tǒng)設(shè)備,很多設(shè)備不能提供標準的協(xié)議和接口,與很多流行的物聯(lián)網(wǎng)平臺兼容性不佳,所以選擇自主開發(fā)物聯(lián)網(wǎng)平臺。
物聯(lián)網(wǎng)平臺功能包括數(shù)據(jù)采集和指令下發(fā)等功能,需要支持的接口、協(xié)議見表3。
由于需要和底層設(shè)備交互且對性能要求較高,物聯(lián)網(wǎng)平臺選擇C/C++作為主要的開發(fā)語言。
重點難點分析將從快速故障追蹤和定位、故障預(yù)警分析、坐席計算機運維、提高語音指令識別率和人臉識別應(yīng)用等方面進行闡述。
表3 物聯(lián)網(wǎng)平臺支持的協(xié)議一覽表
快速故障追蹤和定位主要由一套故障報警處理流程和相關(guān)支撐能力實現(xiàn)。故障報警處理流程如圖3 所示。
它為設(shè)備坐標信息、電子地圖以及完善故障模型庫提供支持。其中,故障模型包括故障類型、故障描述、故障影響指數(shù)以及故障處理建議等。下面舉例說明快速故障處理流程。
4.1.1 生成告警信息
發(fā)生故障后,系統(tǒng)監(jiān)測到該故障并自動生成告警信息,通知運維人員。告警信息列表界面,如圖4 所示。
4.1.2 電子地圖定位
運維人員打開告警信息的定位功能,系統(tǒng)會在電子地圖上顯示故障點位置,從而引導(dǎo)運維人員迅速處理故障,界面如圖5 所示。
4.1.3 完成故障處理
故障處理完成后,運維人員需要根據(jù)實際情況填寫故障處理報告,并關(guān)閉該工單,界面如圖6 所示。
設(shè)備故障預(yù)警和狀態(tài)監(jiān)測根據(jù)設(shè)備運行規(guī)律或觀測得到的可能性前兆,在設(shè)備真正發(fā)生故障前及時預(yù)報設(shè)備的異常狀況,并采取相應(yīng)的措施,從而最大程度地降低設(shè)備故障造成的損失。隨著指揮大廳系統(tǒng)的規(guī)模和復(fù)雜性日益增大,為保證系統(tǒng)安全平穩(wěn),通過可靠的狀態(tài)監(jiān)控技術(shù)及時有效地監(jiān)測和診斷過程異常顯得尤為迫切和重要?,F(xiàn)有的故障預(yù)警技術(shù)主要分為基于機理模型的方法、基于知識的方法和基于數(shù)據(jù)驅(qū)動的方法3 大類。
基于機理模型的方法是發(fā)展最早也最深入的故障預(yù)警和狀態(tài)監(jiān)測方法,主要包括兩個階段。第一階段是殘差產(chǎn)生階段,即通過設(shè)備運行機理建立精確的數(shù)學(xué)模型來估計系統(tǒng)輸出,并將之與實際測量值比較獲得殘差,這個階段構(gòu)建的模型又叫殘差產(chǎn)生器。第二階段是殘差評價階段,即對殘差進行分析,以確定過程是否發(fā)生故障,并進一步辨識故障類型。
基于知識的方法主要以相關(guān)專家和操作人員的啟發(fā)性經(jīng)驗知識為基礎(chǔ),定性或定量描述過程中各單元之間的連接關(guān)系、故障傳播模式等,并在設(shè)備出現(xiàn)異常征兆后通過推理、演繹等方式模擬過程專家在監(jiān)測上的推理能力,從而自動完成設(shè)備故障預(yù)警和設(shè)備監(jiān)測。
基于數(shù)據(jù)驅(qū)動的方法通過挖掘過程數(shù)據(jù)中的內(nèi)在信息建立數(shù)學(xué)模型和表達過程狀態(tài),從而根據(jù)模型實施過程的有效監(jiān)測。隨著智能化儀表和計算機存儲技術(shù)的廣泛應(yīng)用,海量的過程數(shù)據(jù)得以有效監(jiān)測、收集和存儲,而該類方法正是基于這樣的海量數(shù)據(jù)。
可視一體化運維管控平臺采用基于數(shù)據(jù)驅(qū)動的方法和基于知識的方法相結(jié)合的方式實現(xiàn),并將每個成功預(yù)測的模型保存在系統(tǒng)業(yè)務(wù)模型庫中。
指揮大廳通常需要配置大量的高性能席位計算機,用于GIS 地圖展示、數(shù)據(jù)可視化、指揮調(diào)度及業(yè)務(wù)流轉(zhuǎn)等業(yè)務(wù)。這些坐席計算機通過KVM 分布式坐席系統(tǒng)實現(xiàn)調(diào)度。由于席位計算機接入不同安全等級網(wǎng)絡(luò),其自身的安全等級和操作系統(tǒng)不盡相同,因此如何實現(xiàn)對其統(tǒng)一運維管理而不會引起安全問題,是亟需解決的難點問題。
運維需求包括遠程開關(guān)機控制,讀取運行狀態(tài)、報警狀態(tài)以及資源負載等信息,數(shù)據(jù)量較小。由于安全策略,不能選擇網(wǎng)絡(luò)和USB 傳輸。經(jīng)過權(quán)衡,選擇通過串口實現(xiàn)上述功能,此時只要能夠?qū)崿F(xiàn)串口遠程開機功能即可。經(jīng)過查閱資料和廠家調(diào)研,準備了兩套實現(xiàn)方案。
方案一:定制一塊串口開關(guān)機電路板和后臺服務(wù)程序。該電路板一端連接計算機主板內(nèi)置串口,一端對外提供串口連接器,并提供一個干接點輸出接口連接計算機Power on 開關(guān)。電路板供電通過計算機電源的+5 V SB(+5 V 待機電源)引腳提供。這樣即使計算機處于關(guān)機狀態(tài),電路板也能夠正常運行。同時,需要在操作系統(tǒng)中安裝上述后臺服務(wù)程序,用于提供運行狀態(tài)等信息。
方案二:選擇服務(wù)器平臺計算機。服務(wù)器平臺通常會配置基板管理控制器(Baseboard Management Controller,BMC),只要該BMC 支持串口開關(guān)機即可。
方案一能夠支持多數(shù)計算機,但是實現(xiàn)相對復(fù)雜,且需要安裝后臺軟件;方案二支持的計算機較少,實現(xiàn)更容易,但是成本較高。在本項目中選擇方案二。
近幾年,隨著語音識別引擎的進步,應(yīng)用語音識別實現(xiàn)語音轉(zhuǎn)寫和語音指令的應(yīng)用越來越多。本項目充分應(yīng)用語音指令功能,與運維平臺深度結(jié)合,不僅能夠?qū)崿F(xiàn)燈光控制、空調(diào)控制以及模式調(diào)用等功能,還能夠直接透過運維平臺查詢系統(tǒng)設(shè)備狀態(tài)等信息。但是,由于使用人發(fā)音差異,經(jīng)常出現(xiàn)語音指令不能被正確識別等問題,如“關(guān)電視”有可能被識別成“關(guān)鍵是”。針對這類問題,提出能否通過模糊拼音算法進行糾正。
4.4.1 模糊拼音算法
提取語音指令的漢語拼音作為字符串s1,如“關(guān)電視”的漢語拼音“guan1 dian4 shi4”;提取識別的漢字的漢語拼音作為字符串s2,如“關(guān)鍵是”的漢語拼音“guan1 jian4 shi4”。將字符串s1和字符串s2進行相似度計算,本項目采用Jaro similarity 算法,相關(guān)公式如下:
其中:|s1|和|s2|表示字符串s1和s2的長度;m表示兩字符串的匹配字符數(shù);t表示換位數(shù)目的一半;simj表示相似度。上述計算結(jié)果simj=0.937 5。
可以定義相似度大于0.85 即可認為語音指令符合。上述算法需要結(jié)合模糊拼音,才能實現(xiàn)更好的效果,如圖7 所示。
4.4.2 模糊拼音改進1
上述算法能夠大幅提高語音指令的識別率,但是也會提高錯誤識別率。例如,在較短的語音指令集上,語音指令“關(guān)燈”和詞語“咣當”的相似度約為0.869 5。如果按照相似度大于0.85 的標準,會導(dǎo)致錯誤指令。改進方案是針對語音指令集的每個指令分別設(shè)置適當?shù)南嗨贫乳y值,對較短的指令閥值設(shè)置大一些,對較長的指令閥值設(shè)置小一些。
4.4.3 模糊拼音改進2
改進后的算法不僅提高了語音指令的識別率,又抑制了錯誤識別率,在實踐中效果較好,對比未采用該算法的識別率提高了15%~20%。但是,應(yīng)用在指揮大廳這種語言指令集比較龐大,且語音指令系統(tǒng)24 h 待機的情況下,當用戶處于連續(xù)發(fā)言的情況下會導(dǎo)致大量的轉(zhuǎn)寫文本進入算法核心,導(dǎo)致CPU 單核過載,處理結(jié)果延遲多大于2 s,用戶體驗較差。為了解決該問題,提出充分利用CPU 的多核處理能力,用Golang 重寫算法,利用Golang 協(xié)程充分調(diào)度CPU 多核處理能力,將原先大負載下2 s 以上的延遲縮短到8 個邏輯核心CPU 的0.5 s以內(nèi),實現(xiàn)了較好的用戶體驗效果。
4.4.4 應(yīng)用AEC 算法消除干擾
當通過語音指令與系統(tǒng)交互時,通常是一問一答的形式。例如,語音指令“今天幾號”,系統(tǒng)以語音答復(fù)“2020 年7 月22 日”。這樣系統(tǒng)答復(fù)的語音又會被拾取到,造成語音指令干擾。如何消除這樣的干擾,解決方案有多種,這里選擇應(yīng)用AEC 算法。從根本上看,效果類似干擾。AEC 算法有軟件實現(xiàn)和硬件實現(xiàn)之分。軟件實現(xiàn)是在語音指令處理器上用軟件實現(xiàn),硬件實現(xiàn)是將進入語音指令處理器的音頻和語音指令處理器輸出的音頻均引入數(shù)字音頻處理器,用后者的AEC 模塊消除進入語音指令處理器的音頻中的干擾部分,保留干凈音頻輸入。這在實際項目中效果較好。
人臉識別是基于人的臉部特征信息進行身份識別的一種生物識別技術(shù)。用攝像機或攝像頭采集含有人臉的圖像或視頻流,并自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部識別。人臉識別技術(shù)在安防領(lǐng)域的應(yīng)用已經(jīng)比較成熟,如人臉識別門禁等。在指揮大廳場景中如何應(yīng)用人臉識別并提高工作效率,是本系統(tǒng)重點考慮的主要問題之一。調(diào)研發(fā)現(xiàn),指揮大廳的坐席值班人員經(jīng)常會隨著任務(wù)調(diào)整位置,而每次更換位置需要重新登錄KVM 系統(tǒng),如圖8 所示。應(yīng)用人臉識別可以解決這個問題,即值班人員可以通過人臉識別自動登錄系統(tǒng),還能夠自動關(guān)聯(lián)上次登錄的席位計算機,且當值班人員離開一定時間后會自動退出登錄,消除了因值班人員忘記退出登錄導(dǎo)致信息泄露等問題。
此外,基于人臉識別實現(xiàn)了會議簽到、考勤等應(yīng)用,且所有這些應(yīng)用均共享一套人臉識別引擎。
故障模型包含故障影響指數(shù),而不同的故障指數(shù)也不盡相同。影響范圍大、核心設(shè)備故障的指數(shù)高,相反影響范圍小、非核心設(shè)備的故障指數(shù)低??梢曇惑w化運維管控平臺能夠根據(jù)告警信息列表,實時自動計算故障指數(shù)統(tǒng)計值。數(shù)值越高,系統(tǒng)健康指數(shù)越低;反之,健康指數(shù)越高。根據(jù)系統(tǒng)健康指數(shù),采用綠、黃、橙、紅共4 種顏色來直觀標識,其中綠色表示系統(tǒng)健康,紅色表示系統(tǒng)不健康。
表4 系統(tǒng)健康程度一覽表
聯(lián)動功能是指在指揮大廳控制室和大廳內(nèi)部安裝一些氛圍燈光和氛圍顯示屏,系統(tǒng)根據(jù)健康指數(shù)自動調(diào)節(jié)氛圍燈光和氛圍顯示屏的顏色,以最直觀的方式展示系統(tǒng)的健康狀態(tài)。
為了提高用戶體驗,除了瀏覽器端和APP 端,可視一體化運維管控平臺還為用戶提供了語音指令交互功能,并與運維平臺深度結(jié)合,不僅能夠?qū)崿F(xiàn)燈光控制、空調(diào)控制以及模式調(diào)用等功能,還能夠直接通過運維平臺查詢系統(tǒng)設(shè)備狀態(tài)等信息。
可視一體化運維管控平臺應(yīng)用了大量成熟的架構(gòu)和AI 新技術(shù),為指揮大廳賦予了自我感知和自主學(xué)習(xí)能力,能聽,會說,能看,具備一定的思維、判斷和決策能力,從而保障指揮大廳7×24 h 穩(wěn)定、高效運行。目前,本項目開發(fā)完成后已經(jīng)應(yīng)用在海南社會管理信息化指揮中心3 個月。從實際使用效果來看,它較好地完成了立項目標,但是還有一些功能具備一定的提升空間,用于滿足更大的市場需求,如由于網(wǎng)絡(luò)延時和帶寬等原因,APP 端尚未開發(fā)。隨著5G 的普及應(yīng)用,APP 端也將提上日程。