廣播發(fā)射臺(tái)站運(yùn)行圖管理系統(tǒng)研究

時(shí)間:2022-07-18 03:17:33

導(dǎo)語(yǔ):廣播發(fā)射臺(tái)站運(yùn)行圖管理系統(tǒng)研究一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

廣播發(fā)射臺(tái)站運(yùn)行圖管理系統(tǒng)研究

1引言

由于站點(diǎn)數(shù)量多、站內(nèi)設(shè)備多,一次整體修改運(yùn)行圖涉及節(jié)點(diǎn)數(shù)量過萬(wàn),工作量大且修改錯(cuò)漏的情況每年都有發(fā)生。運(yùn)行圖錯(cuò)誤將導(dǎo)致設(shè)備發(fā)生重大停播事故,同時(shí)還可能造成其他告警系統(tǒng)失效,對(duì)安全播出產(chǎn)生嚴(yán)重威脅。因此,本文設(shè)計(jì)一套自動(dòng)化程度高、具有監(jiān)測(cè)與修復(fù)功能、融合多種設(shè)備[2]的運(yùn)行圖管理系統(tǒng)解決上述問題。

2開發(fā)平臺(tái)的選擇

開發(fā)工具需要根據(jù)應(yīng)用場(chǎng)景進(jìn)行選擇。經(jīng)需求調(diào)研后發(fā)現(xiàn),站點(diǎn)受控運(yùn)行圖設(shè)備均已網(wǎng)絡(luò)化,使用TCP/UDP協(xié)議通信。本系統(tǒng)無(wú)需操控底層硬件或高精度定時(shí)作業(yè),因此工具方面選擇開發(fā)效率優(yōu)先。微軟VisualStudio2010是一個(gè)高性能可視化集成開發(fā)平臺(tái),內(nèi)含.NETFramework。.NETFramework主要包含一個(gè)非常大的代碼庫(kù),可以在客戶語(yǔ)言中通過面向?qū)ο缶幊碳夹g(shù)(OOP)來(lái)使用這些代碼[3]。而C#是運(yùn)行于.NETFramework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言,它結(jié)合了VB和C++的很多優(yōu)點(diǎn)。本系統(tǒng)的服務(wù)器端總控程序與客戶端程序均使用C#設(shè)計(jì),實(shí)現(xiàn)較為復(fù)雜的運(yùn)行圖管理功能和人性化的人機(jī)界面。在運(yùn)行圖存儲(chǔ)方面,選用可伸縮性好、集成度高的關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)系統(tǒng)———SQLServer2008[4]。

3系統(tǒng)總體架構(gòu)

運(yùn)行圖管理系統(tǒng)總監(jiān)控服務(wù)器架設(shè)于監(jiān)控核心站,服務(wù)器中保存有各個(gè)站點(diǎn)各套節(jié)目的基準(zhǔn)運(yùn)行圖以及其變更方案,是整個(gè)系統(tǒng)的核心部分、一級(jí)基準(zhǔn)源。在各個(gè)發(fā)射臺(tái)站,站內(nèi)工控計(jì)算機(jī)運(yùn)行子監(jiān)控程序,部署數(shù)據(jù)庫(kù)存儲(chǔ)運(yùn)行圖作為二級(jí)基準(zhǔn)源;當(dāng)網(wǎng)絡(luò)中斷時(shí),站內(nèi)計(jì)算機(jī)仍可對(duì)各設(shè)備運(yùn)行圖進(jìn)行實(shí)時(shí)監(jiān)控。整省范圍更新運(yùn)行圖流程如下:在運(yùn)行圖管理計(jì)算機(jī)下達(dá)站點(diǎn)運(yùn)行圖變更操作后,總監(jiān)控服務(wù)器中的程序通過網(wǎng)絡(luò)將運(yùn)行圖下發(fā)至各個(gè)站點(diǎn)的工控計(jì)算機(jī)。站點(diǎn)工控計(jì)算機(jī)對(duì)進(jìn)行新運(yùn)行圖進(jìn)行校驗(yàn)、本地存儲(chǔ),再通過多種不同的通信協(xié)議將運(yùn)行圖下發(fā)到設(shè)備[5]。運(yùn)行圖上報(bào)監(jiān)控流程如下:由各站點(diǎn)內(nèi)工控計(jì)算機(jī)內(nèi)子監(jiān)控程序定時(shí)查詢?cè)O(shè)備運(yùn)行圖,并與機(jī)內(nèi)運(yùn)行圖比對(duì);若一致,則直接將該運(yùn)行圖上報(bào)至總監(jiān)控服務(wù)器;若不一致,則將設(shè)備運(yùn)行圖與機(jī)內(nèi)運(yùn)行圖共同上報(bào)??偙O(jiān)控程序根據(jù)站點(diǎn)發(fā)送的運(yùn)行圖信息與庫(kù)內(nèi)基準(zhǔn)運(yùn)行圖進(jìn)行比對(duì)判斷,若發(fā)現(xiàn)錯(cuò)誤則推送報(bào)警信息至各個(gè)監(jiān)控終端,并向相關(guān)負(fù)責(zé)人發(fā)送告警短信。當(dāng)啟用修復(fù)功能時(shí),監(jiān)控程序會(huì)將服務(wù)器內(nèi)基準(zhǔn)運(yùn)行圖自動(dòng)下發(fā)至該站點(diǎn),自動(dòng)修正錯(cuò)誤運(yùn)行圖。此外,時(shí)鐘也是決定設(shè)備實(shí)際是否準(zhǔn)確按照運(yùn)行圖運(yùn)行的重要因素,雖然站內(nèi)有GPS授時(shí)工具、網(wǎng)內(nèi)有NTP服務(wù)器,但設(shè)備仍需在與監(jiān)控服務(wù)器通信時(shí)上報(bào)內(nèi)部時(shí)鐘,以防設(shè)備時(shí)鐘異常造成停播。為防止上報(bào)環(huán)節(jié)出現(xiàn)異常,增強(qiáng)整體可靠性,系統(tǒng)亦可越過站點(diǎn)計(jì)算機(jī)程序,定時(shí)查詢?cè)O(shè)備內(nèi)運(yùn)行圖,使用主動(dòng)掃描方式來(lái)進(jìn)行運(yùn)行圖比對(duì)。本系統(tǒng)的結(jié)構(gòu)示意圖如圖1所示。

4系統(tǒng)設(shè)計(jì)

4.1系統(tǒng)安全

管理系統(tǒng)安全、可靠是保障安全播出的重要基石。本系統(tǒng)安全設(shè)計(jì)主要考慮兩個(gè)方面:權(quán)限管理和數(shù)據(jù)安全。權(quán)限管理包括用戶管理、功能權(quán)限管理、數(shù)據(jù)權(quán)限管理、角色管理、登錄與操作日志等。當(dāng)用戶被賦予一定權(quán)限后,其所有操作將被系統(tǒng)嚴(yán)格控制。數(shù)據(jù)安全針對(duì)運(yùn)行圖存儲(chǔ)安全。為防止運(yùn)行圖傳輸錯(cuò)誤或遭人為意外篡改,本系統(tǒng)采用MD5算法生成運(yùn)行圖數(shù)據(jù)信息摘要。MD5能夠產(chǎn)生128比特的散列值[6],長(zhǎng)度小,非常適合傳輸和存儲(chǔ);系統(tǒng)將運(yùn)行圖修改時(shí)間、方案名稱、節(jié)目名稱、節(jié)目頻率、開關(guān)機(jī)時(shí)間等等要素文本化,再添加KeyString(自定義密碼字符串),字符串拼接后的值用MD5算法生成校驗(yàn)數(shù)據(jù)。校驗(yàn)數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)當(dāng)中,每次取出運(yùn)行圖時(shí)需根據(jù)運(yùn)行圖內(nèi)容重新計(jì)算,若與存儲(chǔ)值不同則放棄下一步操作并發(fā)出告警。.Net架構(gòu)已為MD5算法提供對(duì)應(yīng)實(shí)現(xiàn)類庫(kù),實(shí)現(xiàn)方式非常簡(jiǎn)單://返回MD5校驗(yàn)數(shù)據(jù)publicstringGetMD5(stringstr){System.Security.Cryptography.MD5CryptoServiceProvidermd5=newMD5CryptoServiceProvider();strings=BitConverter.ToString(md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str)));s=s.Replace("-","");returna;}

4.2模板、方案與存儲(chǔ)

為減輕運(yùn)行圖管理員反復(fù)錄入同一運(yùn)行圖,系統(tǒng)設(shè)計(jì)中包含運(yùn)行圖模板編輯模塊,利用此模塊可快速定制多個(gè)運(yùn)行圖典型,做到一次錄入多次使用。在一個(gè)播出年度中,廣播發(fā)射臺(tái)常常要根據(jù)上級(jí)要求數(shù)次有規(guī)律地調(diào)整運(yùn)行圖。因此,系統(tǒng)需引入“方案”的概念,如“全天播出”、“允許停機(jī)檢修”、“重要保障期”等等。系統(tǒng)可讓用戶自定義多種不同的運(yùn)行方案,確保系統(tǒng)具有足夠的便捷性。在新的播出任務(wù)下達(dá)后,管理員可根據(jù)過往已定制的方案,快速匹配下發(fā)運(yùn)行圖。廣播節(jié)目并沒有一個(gè)可以整省套用的樣圖———不同節(jié)目的運(yùn)行圖不同、不同地區(qū)同一套節(jié)目的運(yùn)行圖不同、不同時(shí)期同一地區(qū)同一節(jié)目的運(yùn)行圖也可能不同。因此,在運(yùn)行圖存儲(chǔ)方面,每個(gè)臺(tái)站每套節(jié)目的運(yùn)行圖都要獨(dú)立存放,互不影響,才能確保系統(tǒng)具有足夠的靈活性。根據(jù)臺(tái)站號(hào)、節(jié)目編碼、節(jié)目頻率、方案名等四個(gè)要素才能索引出一套運(yùn)行圖方案,表1給出數(shù)據(jù)庫(kù)中基準(zhǔn)運(yùn)行圖表的部分字段。

4.3運(yùn)行圖比對(duì)、配置

運(yùn)行圖比對(duì)、配置為本系統(tǒng)核心模塊,兩者均涉及遠(yuǎn)程通信,流程類似。由于站點(diǎn)網(wǎng)絡(luò)可能中斷,因此在每處理一個(gè)站點(diǎn)運(yùn)行圖前,使用需先對(duì)站點(diǎn)工控計(jì)算機(jī)、設(shè)備的連接情況進(jìn)行測(cè)試,節(jié)約不必要的等待時(shí)間。在C#中可以使用System.Net.NetworkInformation.Ping類測(cè)試網(wǎng)絡(luò)連接情況;也可定義一個(gè)Sockect類的實(shí)例,使用TCP協(xié)議連接工控計(jì)算機(jī)的1433端口和設(shè)備開放的TCP連接端口,設(shè)定短等待時(shí)間,若超時(shí)則放棄處理[7]。此外,整省范圍的運(yùn)行圖比對(duì)、配置若按設(shè)備逐個(gè)進(jìn)行,需要消耗大量的時(shí)間;為減少等待時(shí)間、避免程序“假死”,一般使用多線程技術(shù)。.Net架構(gòu)中,多線程處理的方法很多,本系統(tǒng)采用最簡(jiǎn)單易用的BackgroundWorker類來(lái)實(shí)現(xiàn)該項(xiàng)任務(wù)。BackgroundWorker非常適合線程持續(xù)在后臺(tái)運(yùn)行,并不時(shí)與主線程進(jìn)行通信的場(chǎng)合[8]。在程序設(shè)計(jì)中,調(diào)用該類的Run-WorkerAsync方法,觸發(fā)DoWork事件后,即可在事件處理方法中調(diào)用比對(duì)函數(shù)。運(yùn)行圖比對(duì)過程不復(fù)雜,將各項(xiàng)要素逐一比對(duì),比對(duì)結(jié)果有差異的,把差異記錄并顯示,并進(jìn)一步推送告警信息。比對(duì)整體流程如圖2所示。

5應(yīng)用效果

本系統(tǒng)部署前,運(yùn)行圖修改工作需要提前若干天通知全省各個(gè)站點(diǎn)技術(shù)維護(hù)人員,利用多天時(shí)間修改站點(diǎn)設(shè)備運(yùn)行圖;此后仍需重新安排人員通過網(wǎng)絡(luò)遠(yuǎn)程抽樣復(fù)檢。修改工作耗時(shí)長(zhǎng),且未能完全避免錯(cuò)漏問題。系統(tǒng)上線后,統(tǒng)一配置功能使整省各站點(diǎn)設(shè)備運(yùn)行圖修改工作縮短至幾分鐘,實(shí)時(shí)監(jiān)控功能多次及時(shí)發(fā)現(xiàn)并修正設(shè)備自身故障導(dǎo)致運(yùn)行圖錯(cuò)誤,切實(shí)避免了運(yùn)行圖異常導(dǎo)致的停播事故,提高了運(yùn)行圖管理水平。

6結(jié)束語(yǔ)

只要網(wǎng)絡(luò)通達(dá)、設(shè)備接口支持,即可實(shí)施遠(yuǎn)程監(jiān)控。本文通過使用C#編程技術(shù)結(jié)合網(wǎng)絡(luò)通信,充分利用計(jì)算機(jī)監(jiān)控系統(tǒng)的特點(diǎn),將技術(shù)人員從大量繁雜、重復(fù)的運(yùn)行圖監(jiān)控與管理工作中解放出來(lái)。廣電行業(yè)仍需在多方面加速推動(dòng)計(jì)算機(jī)技術(shù)的應(yīng)用,將傳輸發(fā)射和計(jì)算機(jī)技術(shù)充分結(jié)合將是未來(lái)業(yè)務(wù)發(fā)展的一個(gè)重要突破點(diǎn)。

作者:周潔珍 單位:中國(guó)移動(dòng)通信集團(tuán)廣西有限公司

參考文獻(xiàn)

[1]廣播電視發(fā)射臺(tái)自動(dòng)化通用技術(shù)要求(GY/T252-2011)[S].北京:國(guó)家廣播電影電視總局,2011.

[2]徐志省.基于發(fā)射機(jī)運(yùn)行圖的值班自動(dòng)提醒系統(tǒng)的開發(fā)[J].遼寧:智能城市,2016,4.

[3]KarliWatson,ChristianNagel,齊立波,譯.C#入門經(jīng)典(第五版)[M].北京:清華大學(xué)出版社,2010.

[4]MacLennanJ,TangZH,CrivatB.DataminingwithMicrosoftSQLserver2008[M].Wiley,2011.

[5]孟海虹.TSW2500型短波發(fā)射機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[D].河北大學(xué),2015.

[6]結(jié)城浩,周自恒,譯.圖解密碼技術(shù)[M].北京:人民郵電出版社,2015.

[7]梁玉.基于C#的數(shù)據(jù)采集上位機(jī)軟件設(shè)計(jì)[D].西安電子科技大學(xué),2014.

[8]DanielMSolis,姚琪琳,等譯.C#圖解教程(第4版)[M].北京:人民郵電出版社,2013.