高志恒
國(guó)家新聞出版廣電總局573臺(tái) 北京市 102209
衛(wèi)星廣播電視安全預(yù)警系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
高志恒
國(guó)家新聞出版廣電總局573臺(tái) 北京市 102209
本文簡(jiǎn)要介紹了衛(wèi)星廣播電視安全預(yù)警系統(tǒng)的構(gòu)建背景,該監(jiān)測(cè)預(yù)警系統(tǒng)建成后,其監(jiān)測(cè)技術(shù)更先進(jìn),部署靈活性更高,業(yè)務(wù)使用和交互性更便捷和人性化,可擴(kuò)展性更強(qiáng),冗余性考慮更周密,為全國(guó)衛(wèi)星廣播電視安全覆蓋播出業(yè)務(wù)的健康發(fā)展提供了強(qiáng)有力的保障。
NodeJS 多畫(huà)面 碼流錄制 轉(zhuǎn)碼
隨著衛(wèi)星廣播電視監(jiān)測(cè)工作業(yè)務(wù)量逐步上升,為了滿足衛(wèi)星廣播電視飛速發(fā)展的現(xiàn)狀和衛(wèi)星廣播電視安全播出工作的需要,構(gòu)建了正在使用的廣播電視安全預(yù)警系統(tǒng)。該系統(tǒng)在開(kāi)發(fā)初期,聽(tīng)取了相關(guān)專業(yè)人員的建議,并充分考慮到系統(tǒng)在未來(lái)數(shù)年內(nèi)的技術(shù)先進(jìn)性和規(guī)模發(fā)展。該系統(tǒng)的建成,極大提高了工作效率,成為監(jiān)測(cè)業(yè)務(wù)的核心系統(tǒng)。
1.1 系統(tǒng)技術(shù)架構(gòu)設(shè)計(jì)
全新上線的廣播電視安全預(yù)警系統(tǒng),采用當(dāng)前主流的B/S+C/S混合架構(gòu),系統(tǒng)技術(shù)架構(gòu),如圖1所示。
圖1 系統(tǒng)技術(shù)架構(gòu)
單獨(dú)使用B/S架構(gòu)的劣勢(shì):
個(gè)性化特點(diǎn)較低,較難實(shí)現(xiàn)個(gè)性化突出的功能;一旦頁(yè)面動(dòng)態(tài)刷新,響應(yīng)速度明顯降低;功能弱化,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。
單獨(dú)使用C/S架構(gòu)的劣勢(shì):
對(duì)于業(yè)務(wù)呈現(xiàn)及控制終端,需要安裝專門的客戶端程序;分布功能弱,網(wǎng)絡(luò)用戶群體,無(wú)法實(shí)現(xiàn)快速部署和配置;系統(tǒng)開(kāi)發(fā)成本和維護(hù)成本高。
綜合考慮以上因素,結(jié)合全國(guó)廣播電視安全預(yù)警系統(tǒng)的需求以及系統(tǒng)規(guī)模和設(shè)備數(shù)量,本系統(tǒng)采用B/S+C/S混合架構(gòu)搭建系統(tǒng)框架,對(duì)整個(gè)系統(tǒng)的不同部分具體分析,做出有針對(duì)性的架構(gòu)和實(shí)施策略。
對(duì)位于應(yīng)用與業(yè)務(wù)控制層面,需要支持分布式使用功能且處理流程相對(duì)較簡(jiǎn)單的應(yīng)用子系統(tǒng),采用B/S架構(gòu)來(lái)實(shí)現(xiàn),使得系統(tǒng)具備:(1)分布性特點(diǎn),可以隨時(shí)隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理;(2)業(yè)務(wù)擴(kuò)展簡(jiǎn)單方便,通過(guò)增加網(wǎng)頁(yè)即可增加服務(wù)功能;(3)維護(hù)簡(jiǎn)單方便,只需要改變網(wǎng)頁(yè),即可實(shí)現(xiàn)所有用戶的同步更新。
對(duì)于顯示與控制復(fù)雜的終端應(yīng)用或系統(tǒng)底層處理層,如信道、頻譜監(jiān)測(cè)、天線控制、矩陣切換和服務(wù)器集群調(diào)度等,實(shí)時(shí)性要求高、計(jì)算量大、具備一定復(fù)雜度的子系統(tǒng)或模塊,采用C/S架構(gòu)實(shí)施,使得系統(tǒng)具備:(1)應(yīng)用終端可使用客戶端與服務(wù)器的直連,沒(méi)有中間環(huán)節(jié),響應(yīng)速度快;(2)可定制復(fù)雜功能,操作界面漂亮、形式多樣,充分滿足個(gè)性化要求;(3)通過(guò)C/S結(jié)構(gòu)較強(qiáng)的事務(wù)處理能力,高效地實(shí)現(xiàn)安全預(yù)警系統(tǒng)中復(fù)雜的業(yè)務(wù)處理流程。
1.2 WEB平臺(tái)技術(shù)設(shè)計(jì)
WEB平臺(tái)服務(wù)采用Node.JS技術(shù)框架,進(jìn)行事件驅(qū)動(dòng)和異步編程,為網(wǎng)絡(luò)服務(wù)而設(shè)計(jì)。
Node.JS作為一個(gè)日趨成熟的后臺(tái)語(yǔ)言,采用node來(lái)開(kāi)發(fā)監(jiān)測(cè)系統(tǒng)的后端系統(tǒng),同樣具備很多優(yōu)勢(shì):(1)Node.JS是一個(gè)開(kāi)放源代碼,可以跨平臺(tái)用于服務(wù)器端和網(wǎng)絡(luò)應(yīng)用的運(yùn)行環(huán)境,只需要接入內(nèi)網(wǎng),任何操作系統(tǒng)和設(shè)備都可以接入監(jiān)測(cè)系統(tǒng);(2)Node.JS非常擅長(zhǎng)實(shí)時(shí)交互的應(yīng)用,十分適合通過(guò)對(duì)象數(shù)據(jù)庫(kù)來(lái)查詢數(shù)據(jù),如本系統(tǒng)使用到的MONGODB數(shù)據(jù)庫(kù);(3)依賴于ChromeV8引擎,采用最新的編譯技術(shù),系統(tǒng)頁(yè)面加載快速高效,滿足值班員快速響應(yīng)處理報(bào)警;(4)事件驅(qū)動(dòng),非常適合處理系統(tǒng)并發(fā)請(qǐng)求,多臺(tái)控制臺(tái)使用系統(tǒng),系統(tǒng)依然能高效處理請(qǐng)求;(5)非阻塞I/O,Node.JS遇到I/O事件會(huì)創(chuàng)建一個(gè)線程去執(zhí)行,然后主線程會(huì)繼續(xù)往下執(zhí)行,避免系統(tǒng)卡頓;(6)通過(guò)Nginx來(lái)實(shí)現(xiàn)負(fù)載均衡,Nginx在處理并發(fā)請(qǐng)求時(shí)表現(xiàn)優(yōu)異,兩臺(tái)平臺(tái)服務(wù)器都能以最優(yōu)秀的狀態(tài)響應(yīng)控制臺(tái)的請(qǐng)求。
全新上線的廣播電視安全預(yù)警系統(tǒng),搭配Node.JS使用MONGODB數(shù)據(jù)庫(kù)性能優(yōu)異,其優(yōu)勢(shì)包括:(1)MONGODB可以通達(dá)副本集以及分片來(lái)實(shí)現(xiàn)高可用,當(dāng)主庫(kù)遇到問(wèn)題,無(wú)法繼續(xù)提供服務(wù)時(shí),副本集將選舉出一個(gè)新的主庫(kù)來(lái)繼續(xù)提供服務(wù),保證了監(jiān)測(cè)系統(tǒng)的可靠穩(wěn)定;(2)數(shù)據(jù)處理方式是基于內(nèi)存,將熱數(shù)據(jù)存儲(chǔ)于物理內(nèi)存中,從而達(dá)到高速讀寫的目的;(3)由于MONGODB采用Json存儲(chǔ)格式,非常適合監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)存儲(chǔ)與查詢;(4)使用Mongoose操作數(shù)據(jù)庫(kù),不需考慮數(shù)據(jù)庫(kù)的打開(kāi)與關(guān)閉規(guī)則,從而保證監(jiān)測(cè)系統(tǒng)數(shù)據(jù)庫(kù)連接池的穩(wěn)定性;(5)支持故障恢復(fù),自動(dòng)處理碎片和備份數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)性能穩(wěn)定;(6)MONGODB支持建立索引,針對(duì)各類報(bào)警等大數(shù)據(jù)量,可以快速查詢到所需數(shù)據(jù)。
2.1 多畫(huà)面技術(shù)
多畫(huà)面技術(shù)主要分為:Communication Interface、Http Service、Manager、Alarm Process、Data Rev、Demux、AV Decoder、AV Inspect、AV Output和User Interface模塊,如圖2所示。
圖2 多畫(huà)面技術(shù)模塊
由Data Rev接收碼流;Demux負(fù)責(zé)對(duì)碼流進(jìn)行解復(fù)用,過(guò)濾掉其他信息取得視頻信息和音頻信息;AV Decoder負(fù)責(zé)對(duì)音、視頻流進(jìn)行解碼;AV Inspect對(duì)節(jié)目信息進(jìn)行監(jiān)測(cè),監(jiān)測(cè)到的數(shù)據(jù)會(huì)送給報(bào)警模塊進(jìn)行分析處理;AV Output負(fù)責(zé)對(duì)解碼后的數(shù)據(jù)流輸出到用戶界面User Interface,即顯示系統(tǒng)。
2.2 碼流錄制技術(shù)
碼流錄制技術(shù)主要分為:User Interface、Http Interface、Manager、File Manager、Data rev、Data Record和Record Play等模塊,各模塊功能如圖3所示。
圖3 碼流錄制模塊功能
User Interface是預(yù)留的交互界面。Http Interface模塊負(fù)責(zé)與平臺(tái)進(jìn)行通信,接收平臺(tái)下發(fā)的碼流信息及錄制任務(wù),并上報(bào)記錄的文件信息。Manager是碼流記錄的管理模塊,負(fù)責(zé)給各個(gè)功能模塊根據(jù)配置信息分配任務(wù),記錄日志等。File Manager負(fù)責(zé)對(duì)保存文件的目錄進(jìn)行管理,支持按照空間和時(shí)間兩種方式。Data Rev負(fù)責(zé)接收碼流及碼流中斷的檢測(cè)。Data Record負(fù)責(zé)將接收到的碼流進(jìn)行錄制和存儲(chǔ),支持常規(guī)錄制和觸發(fā)錄制兩種方式;對(duì)于保存的文件可以按照文件大小或時(shí)間進(jìn)行保存。Record Play使用Http的方式播放指定時(shí)間段的錄像。
2.3 轉(zhuǎn)碼技術(shù)
轉(zhuǎn)碼技術(shù)主要分為:Communication Interface、Http Service、Manager、Alarm Process、Data Rev、Demux、AV Decoder、Mosac、AV Inspect、AV Encoder和User Interface模塊,結(jié)構(gòu)如圖4所示。
圖4 轉(zhuǎn)碼技術(shù)結(jié)構(gòu)
由Data Rev接收碼流;Demux負(fù)責(zé)對(duì)碼流進(jìn)行解復(fù)用,過(guò)濾掉其他信息取得視頻信息和音頻信息;AV Decoder負(fù)責(zé)對(duì)音視頻流進(jìn)行解碼;Mosac可以對(duì)界面進(jìn)行馬賽克合成;AV Inspect對(duì)節(jié)目信息進(jìn)行監(jiān)測(cè),監(jiān)測(cè)到的數(shù)據(jù)會(huì)送給報(bào)警模塊進(jìn)行分析處理;AV Encoder負(fù)責(zé)對(duì)解碼后的數(shù)據(jù)流進(jìn)行重新編碼,編碼格式可以由用戶指定,編碼后可以保存文件,也可直接以Http協(xié)議發(fā)布給用戶實(shí)時(shí)觀看;User Interface為預(yù)留的配置界面。
3.1 碼流模板比對(duì)
對(duì)于常規(guī)監(jiān)測(cè)(頻譜監(jiān)測(cè)、信道監(jiān)測(cè)、音視頻質(zhì)量監(jiān)測(cè))中無(wú)法監(jiān)測(cè)到的載波中新增節(jié)目、新增PID、節(jié)目加擾狀態(tài)變化(由加擾流變?yōu)榍辶鳎┖凸?jié)目碼率變化等碼流層面的問(wèn)題,碼流模板比對(duì)功能可以通過(guò)碼流特征對(duì)比,監(jiān)測(cè)碼流特征比對(duì)儀的實(shí)時(shí)數(shù)據(jù)指標(biāo)與系統(tǒng)所配門限的差異,可以監(jiān)測(cè)的指標(biāo)包括:
(1)碼流層面信息:網(wǎng)絡(luò)名稱、總碼率、PID數(shù)量、節(jié)目數(shù)量等;
(2)節(jié)目層面信息:節(jié)目ID、名稱、類型、碼率和ES流數(shù)量、PID、類型、碼率等;
(3)加擾信息:CA系統(tǒng)ID、EMM數(shù)量、EMMPID、ECM數(shù)量、ECMPID、PID加擾狀態(tài)、控制字變化狀態(tài)等。
對(duì)于上述信息,系統(tǒng)使用模板快照比對(duì)的方式進(jìn)行一對(duì)一的監(jiān)測(cè),以最快的速度發(fā)現(xiàn)碼流特征的變化,并將報(bào)警信息上報(bào)控制臺(tái),以提醒值班員關(guān)注,有問(wèn)題及時(shí)處理。
3.2 載波全景
信道全景監(jiān)測(cè)主要監(jiān)測(cè)糾錯(cuò)前誤碼率、糾錯(cuò)后誤碼率、功率(dBm)、載噪比和信道板卡鎖定狀態(tài)。若板卡對(duì)比報(bào)警門限,當(dāng)超過(guò)報(bào)警門限并持續(xù)到對(duì)應(yīng)報(bào)警的報(bào)警持續(xù)時(shí)長(zhǎng)門限,那么該能量柱和背景色塊將會(huì)有紅色報(bào)警閃爍,并伴有報(bào)警提示音,同時(shí)上報(bào)控制臺(tái)。每一個(gè)獨(dú)立用戶的信道全景,每一個(gè)位置所配置的信道,以及模板的行列比,都是在用戶權(quán)限管理中的信道權(quán)限分配中配置的。
3.3 頻譜全景
頻譜全景監(jiān)測(cè)主要監(jiān)測(cè)載波的頻譜狀態(tài)。頻譜狀態(tài)是否異常,可以快速定位到各類頻譜信道異態(tài),例如單載波等,整個(gè)頻譜塊的背景會(huì)紅色閃爍,并伴有報(bào)警提示音,同時(shí)上報(bào)控制臺(tái)。若頻譜中的信號(hào)產(chǎn)生信道報(bào)警,那么對(duì)應(yīng)信號(hào)也會(huì)紅色閃爍。每一個(gè)獨(dú)立用戶的頻譜全景,每一個(gè)位置所配置的頻譜,以及模板的行列比,都是在用戶權(quán)限管理中的頻譜權(quán)限分配中配置的。
3.4 控制臺(tái)
控制臺(tái)是整個(gè)系統(tǒng)中,值班員使用最多,處理業(yè)務(wù)最多的頁(yè)面,系統(tǒng)大多功能最終都匯總到控制臺(tái)顯示,控制臺(tái)集查詢、配置、異態(tài)、交互、處理、巡查等功能于一身??刂婆_(tái)分為五大功能區(qū),分別是:快捷操作按鈕、控制臺(tái)大屏、節(jié)目播放器、報(bào)警列表以及錄像快速回查,如圖5所示。
圖5 控制臺(tái)界面
3.5 異態(tài)處理
值班員通過(guò)控制臺(tái)功能,首先需要通過(guò)報(bào)警錄像回查、回看指標(biāo)數(shù)據(jù)的方式,來(lái)判斷報(bào)警是否是真實(shí)報(bào)警,報(bào)警是否有效。非有效報(bào)警,值班員可以直接非異態(tài)報(bào)警,若報(bào)警的確是異態(tài),則通過(guò)電話核實(shí)相關(guān)部門,錄入異態(tài)。
全新上線的廣播電視安全預(yù)警系統(tǒng),大大提升了界面操作易用性和合理性,為值班員提供更高效的操作與應(yīng)急手段,并在上線初期進(jìn)行了大量實(shí)踐測(cè)試。目前,已經(jīng)實(shí)現(xiàn)了對(duì)多顆衛(wèi)星的百余個(gè)衛(wèi)星載波、數(shù)百套電視和廣播節(jié)目實(shí)時(shí)監(jiān)測(cè),以及對(duì)節(jié)目的錄像錄制回查,碼流錄制分析,視頻比對(duì)任務(wù)等,并且為未來(lái)可預(yù)見(jiàn)到的業(yè)務(wù)量增加設(shè)計(jì)了冗余配置,保證了系統(tǒng)的先進(jìn)性。
[1]NodeJS的異步非阻塞I/O研究[J],《工業(yè)控制計(jì)算機(jī)》,2015(3)
[2]基于Docker、Swarm、Consul與Nginx構(gòu)建高可用和可擴(kuò)展Web服務(wù)框架的方法[J],《電信技術(shù)》,2016年(11)
[3]PID碼在復(fù)用與解復(fù)用中的作用[J],《中國(guó)有線電視》,2010(9)
[4]淺析數(shù)字電視CA系統(tǒng)同密與多密技術(shù)[J],《有線電視技術(shù)》,2013(7)期
[5]一種衛(wèi)星頻譜監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J],《數(shù)字通信世界》,2016(3)
審稿人:趙 峰 內(nèi)蒙古新聞出版廣播影視科研所正高級(jí)工程師
責(zé)任編輯:王學(xué)敏
TP315
B
2096-0751(2017)03-0029-04
高志恒 國(guó)家新聞出版廣電總局573臺(tái) 高級(jí)工程師