葉逢春
(余姚市融媒體中心,浙江 寧波 315400)
廣播電視機(jī)房是數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)播發(fā)的樞紐,每天都在產(chǎn)生、傳遞、處理海量的數(shù)據(jù)。隨著信息技術(shù)的快速發(fā)展,機(jī)房的數(shù)據(jù)安全正面臨越來(lái)越多的安全隱患[1]。目前的機(jī)房管理存在以下問(wèn)題:一是大規(guī)模設(shè)備、復(fù)雜環(huán)境下的監(jiān)控系統(tǒng),無(wú)法做到監(jiān)控?cái)?shù)據(jù)實(shí)時(shí)同步、快速響應(yīng),發(fā)生問(wèn)題以后很難進(jìn)行應(yīng)急處理;二是現(xiàn)有監(jiān)控系統(tǒng)可視化效果較差,機(jī)房監(jiān)控?cái)?shù)據(jù)主要顯示的是二維圖像和數(shù)據(jù)報(bào)表等,無(wú)法直觀展示機(jī)房設(shè)備的狀態(tài);三是現(xiàn)有的監(jiān)控系統(tǒng)人機(jī)交互性能較差,使用者在操作的時(shí)候使用計(jì)算機(jī)進(jìn)行查看,很難進(jìn)行沉浸式訪問(wèn)機(jī)房?jī)?nèi)部。為此,升級(jí)機(jī)房管理正成為各地廣電單位迫在眉睫的主要任務(wù)之一[2]。余姚市融媒體中心借中心大樓改造建設(shè)的契機(jī),將數(shù)字孿生技術(shù)應(yīng)用于機(jī)房的管理。數(shù)字孿生借助多種傳感器獲取數(shù)據(jù),采用數(shù)字化的表達(dá)方式,建立與機(jī)房物理實(shí)體相似的虛擬化模型,并利用實(shí)際測(cè)量、仿真計(jì)算等方法,實(shí)時(shí)分析當(dāng)前物理實(shí)體的狀態(tài),實(shí)現(xiàn)了模型信息同步,很好地解決了目前機(jī)房管理存在的問(wèn)題。
機(jī)房三維建模是將物理機(jī)房?jī)?nèi)的設(shè)備、機(jī)房場(chǎng)景等映射到計(jì)算機(jī)系統(tǒng)中,主要采用Blender建模軟件構(gòu)建機(jī)房三維模型,并借助WebGL三維引擎庫(kù)將模型添加到畫(huà)布上,最后完成渲染[3]。建模時(shí),首先測(cè)量機(jī)房設(shè)備結(jié)構(gòu)、尺寸和相關(guān)材質(zhì),同時(shí)收集設(shè)備的實(shí)物照片,利用Blender建模軟件建立一個(gè)立體模型,在編輯模式下立體縮放設(shè)備的X軸、Y軸、Z軸,建立與實(shí)際設(shè)備完全一致的模型。模型建立完成以后,為使模型更接近實(shí)際,將設(shè)備模型導(dǎo)出,利用Photoshop軟件進(jìn)行簡(jiǎn)單的紋理操作處理。
廣電機(jī)房場(chǎng)景構(gòu)建是機(jī)房在完成主要設(shè)備模型設(shè)計(jì)以后,將設(shè)備模型放置在虛擬化場(chǎng)景中,按照物理機(jī)房的實(shí)際布局進(jìn)行排列。機(jī)房采用了場(chǎng)景樹(shù)模型管理方法,根節(jié)點(diǎn)是整個(gè)機(jī)房的場(chǎng)景,枝節(jié)點(diǎn)為內(nèi)部環(huán)境、資產(chǎn)設(shè)備及動(dòng)力環(huán)境,葉節(jié)點(diǎn)包括服務(wù)器、交換機(jī)、傳輸線路及機(jī)柜等具體設(shè)備,布局如圖1所示。具體場(chǎng)景構(gòu)建流程[4]如下:
圖1 廣電機(jī)房場(chǎng)景構(gòu)建布局
(1)根據(jù)實(shí)際的廣電機(jī)房布局,部署虛擬機(jī)房各個(gè)模型所在的位置;
(2)借助WebGL的三維引擎庫(kù)構(gòu)建場(chǎng)景設(shè)施,包括視圖窗口、門(mén)窗等,進(jìn)行初始化操作;
(3)對(duì)搭建好的場(chǎng)景進(jìn)行功能劃分,利用three.js庫(kù)中的Three.ObjectLoader方法加載JOSN格式的模型到搭建好的場(chǎng)景中;
(4)對(duì)搭建好的場(chǎng)景進(jìn)行渲染,優(yōu)化可視化界面。
機(jī)房模型建立以后,通過(guò)軟件將其加載到計(jì)算機(jī)系統(tǒng)。但大樓的廣電機(jī)房面積大、場(chǎng)景復(fù)雜,僅僅依靠計(jì)算機(jī)無(wú)法對(duì)模型進(jìn)行完整顯示。為確保虛擬化場(chǎng)景能夠正常顯示,對(duì)場(chǎng)景采用層次結(jié)構(gòu)模型技術(shù)作進(jìn)一步優(yōu)化處理。
孿生技術(shù)的關(guān)鍵是如何將物理機(jī)房的各項(xiàng)數(shù)據(jù)映射到虛擬機(jī)房。機(jī)房數(shù)據(jù)包括靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù)兩種[5]。其中,靜態(tài)數(shù)據(jù)是機(jī)房場(chǎng)景、設(shè)備的固有屬性數(shù)據(jù),包括主要設(shè)備的名稱(chēng)、型號(hào)、生產(chǎn)廠家、報(bào)修時(shí)間及運(yùn)維狀態(tài)等,靜態(tài)數(shù)據(jù)一般情況下不會(huì)發(fā)生變化;動(dòng)態(tài)數(shù)據(jù)是機(jī)房運(yùn)行過(guò)程中產(chǎn)生的數(shù)據(jù),包括機(jī)房設(shè)備運(yùn)行狀態(tài)、設(shè)備參數(shù)和流量傳輸信息等。數(shù)據(jù)采集使用多源異構(gòu)方式,根據(jù)不同設(shè)備的通信接口,實(shí)時(shí)采集設(shè)備運(yùn)行參數(shù)。余姚市融媒體中心機(jī)房采用了智能數(shù)據(jù)采集設(shè)備對(duì)機(jī)房環(huán)境參數(shù)進(jìn)行采集,并借助簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(Simple Network Management Protocol,SNMP)完 成 通 信 數(shù)據(jù)的采集,獲取機(jī)房設(shè)備的網(wǎng)絡(luò)流量、主機(jī)CPU利用率以及主要設(shè)備運(yùn)行狀態(tài)等,然后由網(wǎng)絡(luò)管理系統(tǒng)負(fù)責(zé)發(fā)送管理命令,如數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢等。通過(guò)SNMP和網(wǎng)絡(luò)管理系統(tǒng)(NetWare Management System,NMS)進(jìn)行數(shù)據(jù)交流,接收NMS系統(tǒng)下發(fā)的各類(lèi)指令。
數(shù)據(jù)交互方面,機(jī)房采用WebSocket協(xié)議進(jìn)行通信。該協(xié)議能夠完成瀏覽器與服務(wù)器之間的數(shù)據(jù)交互,同時(shí)也可以讓服務(wù)器主動(dòng)將信息數(shù)據(jù)推送到瀏覽器中,確保數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性和有效性[6]。具體運(yùn)行采用了表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)層共三層次的結(jié)構(gòu)。
(1)表示層。為用戶提供人機(jī)交互平臺(tái),平臺(tái)使用three.js三維建模技術(shù),可視化顯示機(jī)房場(chǎng)景,并向業(yè)務(wù)邏輯層發(fā)送請(qǐng)求,對(duì)返回的數(shù)據(jù)進(jìn)行渲染和處理,實(shí)現(xiàn)虛擬機(jī)房的實(shí)時(shí)更新。
(2)業(yè)務(wù)邏輯層。根據(jù)表示層的請(qǐng)求,為相關(guān)業(yè)務(wù)提供操作接口。
(3)數(shù)據(jù)層。通過(guò)數(shù)據(jù)采集設(shè)備及SNMP協(xié)議獲得數(shù)據(jù)以后,將這些數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,執(zhí)行數(shù)據(jù)管理工作。
機(jī)房管理系統(tǒng)主要具有三維場(chǎng)景交互、場(chǎng)景漫游、機(jī)房監(jiān)控以及異常報(bào)警等功能。三維場(chǎng)景交互是利用計(jì)算機(jī)實(shí)現(xiàn)模型和場(chǎng)景的操作,實(shí)現(xiàn)值機(jī)人員和模型之間的人機(jī)交互。場(chǎng)景漫游是值機(jī)人員在使用系統(tǒng)的時(shí)候可以通過(guò)第一人稱(chēng)的視角查看廣電機(jī)房場(chǎng)景。機(jī)房監(jiān)控是利用數(shù)據(jù)采集設(shè)備對(duì)機(jī)房主要設(shè)備進(jìn)行監(jiān)控,值機(jī)人員可以隨時(shí)查看主要設(shè)備的狀態(tài),并利用虛擬化機(jī)房查看機(jī)房環(huán)境,監(jiān)控機(jī)房運(yùn)行情況是否正常。異常報(bào)警功能是在系統(tǒng)運(yùn)行有異常的時(shí)候,系統(tǒng)可以借助頁(yè)面彈窗、手機(jī)短信等方式將報(bào)警信息通知管理人員。
三維場(chǎng)景可以讓值機(jī)人員通過(guò)第一人稱(chēng)視角來(lái)瀏覽和查看系統(tǒng),屬于三維可視化系統(tǒng)的重要功能模塊。通過(guò)該模塊,值機(jī)人員能夠熟悉機(jī)房?jī)?nèi)部各個(gè)設(shè)備的布局,檢查機(jī)房可能存在的異常和不足。場(chǎng)景交互使用了碰撞檢測(cè)技術(shù),該技術(shù)可以防止場(chǎng)景出現(xiàn)重疊現(xiàn)象。機(jī)房場(chǎng)景借助three.js庫(kù)的Raycaster類(lèi)進(jìn)行碰撞檢測(cè)。該方法是對(duì)移動(dòng)模型的頂點(diǎn)坐標(biāo)進(jìn)行變換,獲取模型中心點(diǎn)指向頂點(diǎn)的向量direction Vertor,并且將場(chǎng)景中所有網(wǎng)絡(luò)模型定義為數(shù)組,然后利用檢測(cè)移動(dòng)模型發(fā)出的射線與數(shù)組的相交情況,判斷是否有碰撞出現(xiàn)。值機(jī)人員進(jìn)入系統(tǒng)以后,使用計(jì)算機(jī)改變場(chǎng)景的視角,系統(tǒng)在運(yùn)行的時(shí)候會(huì)判斷場(chǎng)景中模型可能發(fā)生的碰撞情況,從而改變場(chǎng)景中的情景。
機(jī)房監(jiān)控功能采用了多種可視化監(jiān)控的方式,完成機(jī)房環(huán)境和設(shè)備的監(jiān)控和查看,如狀態(tài)查看、三維虛擬場(chǎng)景查看、視頻監(jiān)控情況查看等。三維虛擬化機(jī)房借助人機(jī)交互操作以沉浸式的方式查看機(jī)房設(shè)備實(shí)時(shí)運(yùn)行狀態(tài)。系統(tǒng)Web端數(shù)據(jù)可視化采用前后端分離的模式,在瀏覽器前端使用Echarts開(kāi)源可視化圖庫(kù),利用各種圖形展示實(shí)時(shí)數(shù)據(jù),同時(shí)值機(jī)人員可以利用計(jì)算機(jī)進(jìn)行操作,顯示對(duì)應(yīng)的模塊和數(shù)據(jù)。后端采用了SpringBoot框架,在框架內(nèi)部的底層將application.xml文件進(jìn)行解析,然后制定MyBatis基礎(chǔ)配置文件和實(shí)例類(lèi)映射文件的地址,并對(duì)請(qǐng)求數(shù)據(jù)重新整合,調(diào)用Dao方法,將數(shù)據(jù)結(jié)果寫(xiě)入數(shù)據(jù)庫(kù)中。在對(duì)機(jī)房進(jìn)行監(jiān)控的時(shí)候,采用ElementUI組件庫(kù)的對(duì)話框彈出方式展示監(jiān)控?cái)?shù)據(jù),如果值機(jī)人員需要查看機(jī)房?jī)?nèi)部的具體設(shè)備信息,通過(guò)數(shù)據(jù)表雙擊這個(gè)設(shè)備的模型即可。
為了實(shí)現(xiàn)對(duì)機(jī)房進(jìn)行實(shí)時(shí)監(jiān)控,系統(tǒng)對(duì)機(jī)房主要設(shè)備設(shè)置了監(jiān)控的閾值,這樣后臺(tái)傳輸數(shù)據(jù)能夠及時(shí)傳送到表示層。當(dāng)設(shè)備數(shù)據(jù)參數(shù)大于設(shè)置的告警閾值,設(shè)備的顏色就會(huì)變成黃色;如果設(shè)備的數(shù)據(jù)參數(shù)異常情況明顯,影響機(jī)房安全的時(shí)候,設(shè)備模型就會(huì)變成紅色。管理人員可以及時(shí)查看歷史告警信息,判斷設(shè)備出現(xiàn)的異常,并進(jìn)行針對(duì)性的操作和處理。
基于數(shù)字孿生技術(shù)的智能化機(jī)房管理系統(tǒng)實(shí)現(xiàn)了機(jī)房?jī)?nèi)通信設(shè)備和動(dòng)環(huán)監(jiān)控設(shè)備的運(yùn)行狀態(tài)和參數(shù)的自動(dòng)采集、分析和預(yù)警處理,提升了機(jī)房的風(fēng)險(xiǎn)預(yù)警和故障處理能力,為機(jī)房運(yùn)維提供了智能決策支撐。系統(tǒng)也解決了機(jī)房運(yùn)維監(jiān)控方式單一、實(shí)時(shí)性差、透明度低等問(wèn)題,有效地提高了運(yùn)維效率,縮短了故障響應(yīng)時(shí)間,減輕了工作人員的壓力,減少了機(jī)房運(yùn)維的人工投入以及費(fèi)用支出。