廣播發(fā)射臺站運(yùn)行圖管理系統(tǒng)研究
時間:2022-07-18 03:17:33
導(dǎo)語:廣播發(fā)射臺站運(yùn)行圖管理系統(tǒng)研究一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
1引言
由于站點(diǎn)數(shù)量多、站內(nèi)設(shè)備多,一次整體修改運(yùn)行圖涉及節(jié)點(diǎn)數(shù)量過萬,工作量大且修改錯漏的情況每年都有發(fā)生。運(yùn)行圖錯誤將導(dǎo)致設(shè)備發(fā)生重大停播事故,同時還可能造成其他告警系統(tǒng)失效,對安全播出產(chǎn)生嚴(yán)重威脅。因此,本文設(shè)計一套自動化程度高、具有監(jiān)測與修復(fù)功能、融合多種設(shè)備[2]的運(yùn)行圖管理系統(tǒng)解決上述問題。
2開發(fā)平臺的選擇
開發(fā)工具需要根據(jù)應(yīng)用場景進(jìn)行選擇。經(jīng)需求調(diào)研后發(fā)現(xiàn),站點(diǎn)受控運(yùn)行圖設(shè)備均已網(wǎng)絡(luò)化,使用TCP/UDP協(xié)議通信。本系統(tǒng)無需操控底層硬件或高精度定時作業(yè),因此工具方面選擇開發(fā)效率優(yōu)先。微軟VisualStudio2010是一個高性能可視化集成開發(fā)平臺,內(nèi)含.NETFramework。.NETFramework主要包含一個非常大的代碼庫,可以在客戶語言中通過面向?qū)ο缶幊碳夹g(shù)(OOP)來使用這些代碼[3]。而C#是運(yùn)行于.NETFramework之上的高級程序設(shè)計語言,它結(jié)合了VB和C++的很多優(yōu)點(diǎn)。本系統(tǒng)的服務(wù)器端總控程序與客戶端程序均使用C#設(shè)計,實(shí)現(xiàn)較為復(fù)雜的運(yùn)行圖管理功能和人性化的人機(jī)界面。在運(yùn)行圖存儲方面,選用可伸縮性好、集成度高的關(guān)系數(shù)據(jù)庫存儲系統(tǒng)———SQLServer2008[4]。
3系統(tǒng)總體架構(gòu)
運(yùn)行圖管理系統(tǒng)總監(jiān)控服務(wù)器架設(shè)于監(jiān)控核心站,服務(wù)器中保存有各個站點(diǎn)各套節(jié)目的基準(zhǔn)運(yùn)行圖以及其變更方案,是整個系統(tǒng)的核心部分、一級基準(zhǔn)源。在各個發(fā)射臺站,站內(nèi)工控計算機(jī)運(yùn)行子監(jiān)控程序,部署數(shù)據(jù)庫存儲運(yùn)行圖作為二級基準(zhǔn)源;當(dāng)網(wǎng)絡(luò)中斷時,站內(nèi)計算機(jī)仍可對各設(shè)備運(yùn)行圖進(jìn)行實(shí)時監(jiān)控。整省范圍更新運(yùn)行圖流程如下:在運(yùn)行圖管理計算機(jī)下達(dá)站點(diǎn)運(yùn)行圖變更操作后,總監(jiān)控服務(wù)器中的程序通過網(wǎng)絡(luò)將運(yùn)行圖下發(fā)至各個站點(diǎn)的工控計算機(jī)。站點(diǎn)工控計算機(jī)對進(jìn)行新運(yùn)行圖進(jìn)行校驗(yàn)、本地存儲,再通過多種不同的通信協(xié)議將運(yùn)行圖下發(fā)到設(shè)備[5]。運(yùn)行圖上報監(jiān)控流程如下:由各站點(diǎn)內(nèi)工控計算機(jī)內(nèi)子監(jiān)控程序定時查詢設(shè)備運(yùn)行圖,并與機(jī)內(nèi)運(yùn)行圖比對;若一致,則直接將該運(yùn)行圖上報至總監(jiān)控服務(wù)器;若不一致,則將設(shè)備運(yùn)行圖與機(jī)內(nèi)運(yùn)行圖共同上報。總監(jiān)控程序根據(jù)站點(diǎn)發(fā)送的運(yùn)行圖信息與庫內(nèi)基準(zhǔn)運(yùn)行圖進(jìn)行比對判斷,若發(fā)現(xiàn)錯誤則推送報警信息至各個監(jiān)控終端,并向相關(guān)負(fù)責(zé)人發(fā)送告警短信。當(dāng)啟用修復(fù)功能時,監(jiān)控程序會將服務(wù)器內(nèi)基準(zhǔn)運(yùn)行圖自動下發(fā)至該站點(diǎn),自動修正錯誤運(yùn)行圖。此外,時鐘也是決定設(shè)備實(shí)際是否準(zhǔn)確按照運(yùn)行圖運(yùn)行的重要因素,雖然站內(nèi)有GPS授時工具、網(wǎng)內(nèi)有NTP服務(wù)器,但設(shè)備仍需在與監(jiān)控服務(wù)器通信時上報內(nèi)部時鐘,以防設(shè)備時鐘異常造成停播。為防止上報環(huán)節(jié)出現(xiàn)異常,增強(qiáng)整體可靠性,系統(tǒng)亦可越過站點(diǎn)計算機(jī)程序,定時查詢設(shè)備內(nèi)運(yùn)行圖,使用主動掃描方式來進(jìn)行運(yùn)行圖比對。本系統(tǒng)的結(jié)構(gòu)示意圖如圖1所示。
4系統(tǒng)設(shè)計
4.1系統(tǒng)安全
管理系統(tǒng)安全、可靠是保障安全播出的重要基石。本系統(tǒng)安全設(shè)計主要考慮兩個方面:權(quán)限管理和數(shù)據(jù)安全。權(quán)限管理包括用戶管理、功能權(quán)限管理、數(shù)據(jù)權(quán)限管理、角色管理、登錄與操作日志等。當(dāng)用戶被賦予一定權(quán)限后,其所有操作將被系統(tǒng)嚴(yán)格控制。數(shù)據(jù)安全針對運(yùn)行圖存儲安全。為防止運(yùn)行圖傳輸錯誤或遭人為意外篡改,本系統(tǒng)采用MD5算法生成運(yùn)行圖數(shù)據(jù)信息摘要。MD5能夠產(chǎn)生128比特的散列值[6],長度小,非常適合傳輸和存儲;系統(tǒng)將運(yùn)行圖修改時間、方案名稱、節(jié)目名稱、節(jié)目頻率、開關(guān)機(jī)時間等等要素文本化,再添加KeyString(自定義密碼字符串),字符串拼接后的值用MD5算法生成校驗(yàn)數(shù)據(jù)。校驗(yàn)數(shù)據(jù)存儲在數(shù)據(jù)庫當(dāng)中,每次取出運(yùn)行圖時需根據(jù)運(yùn)行圖內(nèi)容重新計算,若與存儲值不同則放棄下一步操作并發(fā)出告警。.Net架構(gòu)已為MD5算法提供對應(yīng)實(shí)現(xiàn)類庫,實(shí)現(xià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模板、方案與存儲
為減輕運(yùn)行圖管理員反復(fù)錄入同一運(yùn)行圖,系統(tǒng)設(shè)計中包含運(yùn)行圖模板編輯模塊,利用此模塊可快速定制多個運(yùn)行圖典型,做到一次錄入多次使用。在一個播出年度中,廣播發(fā)射臺常常要根據(jù)上級要求數(shù)次有規(guī)律地調(diào)整運(yùn)行圖。因此,系統(tǒng)需引入“方案”的概念,如“全天播出”、“允許停機(jī)檢修”、“重要保障期”等等。系統(tǒng)可讓用戶自定義多種不同的運(yùn)行方案,確保系統(tǒng)具有足夠的便捷性。在新的播出任務(wù)下達(dá)后,管理員可根據(jù)過往已定制的方案,快速匹配下發(fā)運(yùn)行圖。廣播節(jié)目并沒有一個可以整省套用的樣圖———不同節(jié)目的運(yùn)行圖不同、不同地區(qū)同一套節(jié)目的運(yùn)行圖不同、不同時期同一地區(qū)同一節(jié)目的運(yùn)行圖也可能不同。因此,在運(yùn)行圖存儲方面,每個臺站每套節(jié)目的運(yùn)行圖都要獨(dú)立存放,互不影響,才能確保系統(tǒng)具有足夠的靈活性。根據(jù)臺站號、節(jié)目編碼、節(jié)目頻率、方案名等四個要素才能索引出一套運(yùn)行圖方案,表1給出數(shù)據(jù)庫中基準(zhǔn)運(yùn)行圖表的部分字段。
4.3運(yùn)行圖比對、配置
運(yùn)行圖比對、配置為本系統(tǒng)核心模塊,兩者均涉及遠(yuǎn)程通信,流程類似。由于站點(diǎn)網(wǎng)絡(luò)可能中斷,因此在每處理一個站點(diǎn)運(yùn)行圖前,使用需先對站點(diǎn)工控計算機(jī)、設(shè)備的連接情況進(jìn)行測試,節(jié)約不必要的等待時間。在C#中可以使用System.Net.NetworkInformation.Ping類測試網(wǎng)絡(luò)連接情況;也可定義一個Sockect類的實(shí)例,使用TCP協(xié)議連接工控計算機(jī)的1433端口和設(shè)備開放的TCP連接端口,設(shè)定短等待時間,若超時則放棄處理[7]。此外,整省范圍的運(yùn)行圖比對、配置若按設(shè)備逐個進(jìn)行,需要消耗大量的時間;為減少等待時間、避免程序“假死”,一般使用多線程技術(shù)。.Net架構(gòu)中,多線程處理的方法很多,本系統(tǒng)采用最簡單易用的BackgroundWorker類來實(shí)現(xiàn)該項(xiàng)任務(wù)。BackgroundWorker非常適合線程持續(xù)在后臺運(yùn)行,并不時與主線程進(jìn)行通信的場合[8]。在程序設(shè)計中,調(diào)用該類的Run-WorkerAsync方法,觸發(fā)DoWork事件后,即可在事件處理方法中調(diào)用比對函數(shù)。運(yùn)行圖比對過程不復(fù)雜,將各項(xiàng)要素逐一比對,比對結(jié)果有差異的,把差異記錄并顯示,并進(jìn)一步推送告警信息。比對整體流程如圖2所示。
5應(yīng)用效果
本系統(tǒng)部署前,運(yùn)行圖修改工作需要提前若干天通知全省各個站點(diǎn)技術(shù)維護(hù)人員,利用多天時間修改站點(diǎn)設(shè)備運(yùn)行圖;此后仍需重新安排人員通過網(wǎng)絡(luò)遠(yuǎn)程抽樣復(fù)檢。修改工作耗時長,且未能完全避免錯漏問題。系統(tǒng)上線后,統(tǒng)一配置功能使整省各站點(diǎn)設(shè)備運(yùn)行圖修改工作縮短至幾分鐘,實(shí)時監(jiān)控功能多次及時發(fā)現(xiàn)并修正設(shè)備自身故障導(dǎo)致運(yùn)行圖錯誤,切實(shí)避免了運(yùn)行圖異常導(dǎo)致的停播事故,提高了運(yùn)行圖管理水平。
6結(jié)束語
只要網(wǎng)絡(luò)通達(dá)、設(shè)備接口支持,即可實(shí)施遠(yuǎn)程監(jiān)控。本文通過使用C#編程技術(shù)結(jié)合網(wǎng)絡(luò)通信,充分利用計算機(jī)監(jiān)控系統(tǒng)的特點(diǎn),將技術(shù)人員從大量繁雜、重復(fù)的運(yùn)行圖監(jiān)控與管理工作中解放出來。廣電行業(yè)仍需在多方面加速推動計算機(jī)技術(shù)的應(yīng)用,將傳輸發(fā)射和計算機(jī)技術(shù)充分結(jié)合將是未來業(yè)務(wù)發(fā)展的一個重要突破點(diǎn)。
作者:周潔珍 單位:中國移動通信集團(tuán)廣西有限公司
參考文獻(xiàn)
[1]廣播電視發(fā)射臺自動化通用技術(shù)要求(GY/T252-2011)[S].北京:國家廣播電影電視總局,2011.
[2]徐志省.基于發(fā)射機(jī)運(yùn)行圖的值班自動提醒系統(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è)計[D].西安電子科技大學(xué),2014.
[8]DanielMSolis,姚琪琳,等譯.C#圖解教程(第4版)[M].北京:人民郵電出版社,2013.