蘇斌
【摘要】廣播技術(shù)運(yùn)維服務(wù)平臺是一個完全自主設(shè)計開發(fā),以實現(xiàn)高效的廣播播控業(yè)務(wù)管理、精準(zhǔn)的技術(shù)服務(wù)為目的,確保安全播出的平臺。其中播控運(yùn)維管理模塊實現(xiàn)了本臺播出二部技術(shù)業(yè)務(wù)的統(tǒng)一管理;廣播部導(dǎo)播綜合管理模塊能夠為各廣播部提供及時的技術(shù)服務(wù);上下游聯(lián)絡(luò)機(jī)制模塊以播出信號鏈路為路由,實現(xiàn)了上下游技術(shù)部門的聯(lián)絡(luò)溝通。每個功能模塊既可獨(dú)立運(yùn)行,也可在不同PC上同時運(yùn)行多個實例,通過臺內(nèi)辦公網(wǎng)訪問統(tǒng)一的數(shù)據(jù)庫,模塊之間也可實現(xiàn)數(shù)據(jù)交換。此平臺于2018年10月正常運(yùn)行至今。
【關(guān)鍵詞】自主設(shè)計開發(fā);安全播出;經(jīng)濟(jì)務(wù)實;統(tǒng)一管理;精準(zhǔn)服務(wù);數(shù)據(jù)庫管理
中圖分類號:TN929? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ?DOI:10.12246/j.issn.1673-0348.2021.08.028
廣播播控的業(yè)務(wù)管理盡管已經(jīng)采用了一些電子化的方式,但并沒有將部門各項技術(shù)管理工作有機(jī)地結(jié)合在一起,不利于管理工作的量化。同時,各廣播部導(dǎo)播的日常工作中,各種日志、數(shù)據(jù)報表等都沒有統(tǒng)一的管理機(jī)制,各類技術(shù)服務(wù)需求缺乏高效的與技術(shù)部門的對接機(jī)制,技術(shù)部門上下游之間的播出信號聯(lián)絡(luò)確認(rèn)機(jī)制也需進(jìn)一步完善。為此,我們確定自主設(shè)計開發(fā)一個高效的廣播技術(shù)運(yùn)維服務(wù)平臺。
1. 系統(tǒng)設(shè)計
1.1 系統(tǒng)架構(gòu)
1.2 總體設(shè)計
本平臺包括播控運(yùn)維管理模塊、廣播部導(dǎo)播綜合管理模塊、上下游技術(shù)聯(lián)絡(luò)機(jī)制(播出信號雙向確認(rèn)模塊)3個部分。播出運(yùn)維管理模塊、廣播部導(dǎo)播綜合管理模塊均能夠收集、存儲本部門的各種工作數(shù)據(jù),對數(shù)據(jù)進(jìn)行分析、統(tǒng)計,以體現(xiàn)工作中的優(yōu)點和短板,對日常工作加以指導(dǎo)、修正,提高部門的工作管理水平,提高安全播出保障能力。此外,這2個模塊之間還能夠進(jìn)行數(shù)據(jù)交換,為各廣播部提供精準(zhǔn)的技術(shù)服務(wù)。上下游聯(lián)絡(luò)機(jī)制模塊能夠?qū)崿F(xiàn)上下游各技術(shù)部門之間的信息溝通,實現(xiàn)播出信號的雙向確認(rèn)。
1.3 設(shè)計目標(biāo)
滿足需求的同時,平臺要設(shè)計得盡量簡潔;UI設(shè)計、界面配色充分反映該部門的特點;軟件操作簡便,最大程度減少鍵盤輸入操作,最大程度降低學(xué)習(xí)成本;無需修改庫、數(shù)據(jù)表,無需修改程序代碼,即可滿足今后業(yè)務(wù)功能改變;各模塊不僅可以單機(jī)運(yùn)行,也可多機(jī)同時運(yùn)行多個實例,通過臺內(nèi)辦公網(wǎng)訪問統(tǒng)一的數(shù)據(jù)庫,并在各模塊之間實現(xiàn)數(shù)據(jù)交換;平臺采用多用戶、多層權(quán)限訪問方式,嚴(yán)格控制不同權(quán)限用戶的操作范圍;運(yùn)行平臺的PC禁止直連外網(wǎng),需設(shè)置防火墻,安裝殺毒軟件。
2. 功能設(shè)計
2.1 播控運(yùn)維管理模塊
為播控運(yùn)維管理模塊設(shè)計了人員管理、值班管理、轉(zhuǎn)播管理、維護(hù)管理、設(shè)備器材、培訓(xùn)考核、文件資料等功能模塊。其中每個功能模塊都含有若干子功能。 轉(zhuǎn)播管理包括轉(zhuǎn)播調(diào)度、轉(zhuǎn)播日志、轉(zhuǎn)播統(tǒng)計及其它調(diào)度文件的管理;維護(hù)管理包括每年各項維護(hù)計劃、各種維護(hù)日志、系統(tǒng)與設(shè)備的測試、各廣播部提出的維護(hù)申請等管理;設(shè)備器材包括部門所有設(shè)備、器材的資產(chǎn)管理、調(diào)撥借用等;培訓(xùn)考核管理包括部門全體員工的培訓(xùn)與考核記錄及量化統(tǒng)計。
2.2 廣播部導(dǎo)播綜合管理模塊
為導(dǎo)播綜合管理模塊設(shè)計了人員管理、值班管理、轉(zhuǎn)播管理、播出管理、維護(hù)申請等子功能。廣播部可通過維護(hù)申請功能隨時向技術(shù)部門提出維護(hù)要求;播控運(yùn)維管理中的維護(hù)申請功能則實現(xiàn)維護(hù)申請的接收、呈現(xiàn),2個維護(hù)功能之間能夠?qū)崿F(xiàn)各項維護(hù)工作的進(jìn)度反饋、完成情況等數(shù)據(jù)交換。播出管理包括節(jié)目播出表單、節(jié)目網(wǎng)絡(luò)互動等,人員管理、值班管理和轉(zhuǎn)播管理與上述類似,不再贅述。
2.3 上下游技術(shù)部門聯(lián)絡(luò)機(jī)制
為上下游技術(shù)部門聯(lián)絡(luò)機(jī)制設(shè)計了播出信號雙向確認(rèn)功能。以播出信號鏈路為路由,實現(xiàn)此路由上各部門之間的播出信號的一鍵雙向確認(rèn)。
3.數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫采用SQL Server,通過ODBC訪問。
3.1 建立完善的數(shù)據(jù)庫
在大量需求分析和功能設(shè)計的基礎(chǔ)上,為3個功能模塊設(shè)計了各自的數(shù)據(jù)庫,3個模塊共計建立了近70張數(shù)據(jù)表。建立哪些數(shù)據(jù)表、數(shù)據(jù)表中建立哪些字段、每個字段的數(shù)據(jù)類型及長度都經(jīng)過仔細(xì)斟酌,以提供安全可靠的數(shù)據(jù)存儲、數(shù)據(jù)查詢服務(wù),并避免在后期的代碼編寫中增減或修改表結(jié)構(gòu)為開發(fā)工作帶來麻煩。在這里無法展示所有的數(shù)據(jù)表,挑選其中2張如圖3、圖4所示
3.2 設(shè)置數(shù)據(jù)表關(guān)系
對于數(shù)據(jù)庫來說,數(shù)據(jù)是什么不是最重要的,數(shù)據(jù)之間的關(guān)系才是最重要的。為此,在各個數(shù)據(jù)表之間選擇所需字段設(shè)置了相應(yīng)關(guān)系,將所有數(shù)據(jù)形成一個有機(jī)的整體,在存儲、刪除數(shù)據(jù)時均嚴(yán)格遵守數(shù)據(jù)之間的關(guān)系。值班日志表中的當(dāng)班AID字段與員工信息表中的員工ID字段這對關(guān)系如圖5所示;值班日志表中的當(dāng)班班別字段與值班類別表中的值班類別字段這對關(guān)系如圖6所示。
3.3 輔助數(shù)據(jù)表
建立輔助數(shù)據(jù)表的目的就是為了實現(xiàn)在不修改數(shù)據(jù)表結(jié)構(gòu),不修改程序代碼的情況下,平臺也能夠適應(yīng)今后業(yè)務(wù)變化的需要。
3.4? 數(shù)據(jù)的備份與恢復(fù)
為了保證數(shù)據(jù)安全,制定了數(shù)據(jù)庫備份計劃。每天零點30分后臺自動執(zhí)行,通過網(wǎng)絡(luò)備份到另一臺PC上,備份方式為完整備份。每周二下午整理一次備份文件。
4.軟件代碼編寫
軟件開發(fā)環(huán)境采用了Microsoft Visual Studio,整個代碼編寫始終遵循前文所述的設(shè)計目標(biāo)。在整個代碼編寫中,使用了眾多的技術(shù):采用WebBrowser控件實現(xiàn)多種文檔、圖片的加載呈現(xiàn);采用Excel類實現(xiàn)Excel文檔的載入與導(dǎo)出;采用Chart控件實現(xiàn)餅圖、柱狀圖對數(shù)據(jù)統(tǒng)計結(jié)果的呈現(xiàn);采用NetStream類實現(xiàn)辦公網(wǎng)內(nèi)的網(wǎng)絡(luò)通訊和數(shù)據(jù)交換;自定義多個類結(jié)構(gòu)、函數(shù)、子過程,實現(xiàn)屏幕分辨率自適應(yīng)、防程序多次運(yùn)行、無操作自動注銷等小功能。播控運(yùn)維管理模塊的主界面如圖7所示。導(dǎo)播綜合管理模塊的主界面如圖8所示;播出信號雙向確認(rèn)的主界面如圖9所示。
9. 播出信號雙向主界面
由于篇幅有限,這里只介紹如何使用二進(jìn)制數(shù)據(jù)流雙向轉(zhuǎn)換,將文檔、圖片存入Image字段,并可從Image字段中重新生成原文件。同時,文檔和圖片均可用WebBrowser控件呈現(xiàn)。這種方法實現(xiàn)起來比較簡單,代碼運(yùn)行穩(wěn)定,執(zhí)行效率較高。下列代碼并不是完整的代碼,只是實現(xiàn)此功能的關(guān)鍵代碼。
Dim DiaoDustream As New ADODB.Stream? '定義用于加載轉(zhuǎn)播調(diào)度的數(shù)據(jù)流
Dim rsDiaoDu As New ADODB.Recordset? '定義用于存儲轉(zhuǎn)播調(diào)度的記錄集
DiaoDustream.Type=ADODB.StreamTypeEnum.adTypeBinary? '設(shè)置數(shù)據(jù)流
DiaoDustream.Open()? '打開數(shù)據(jù)流
DiaoDustream.LoadFromFile(具休路徑/文檔名)? '將文檔轉(zhuǎn)換成數(shù)據(jù)流
WebBrowser1.Navigate(具休路徑/文檔名, False)? '將這個文檔在WebBrowser控件中呈現(xiàn)出來
rsDiaoDu.Fields("調(diào)度單").Value=DiaoDustream.Read? '將數(shù)據(jù)流讀到字段中
以上是將文檔轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)流并存儲到字段中的過程。再次強(qiáng)調(diào)這不是完整的代碼,rsDiaoDu記錄集的產(chǎn)生及寫入數(shù)據(jù)庫都省略了。寫入數(shù)據(jù)庫時應(yīng)把文檔的擴(kuò)展名同時存入某字段,以方便今后從數(shù)據(jù)庫生成原文檔時使用。生成原文件如下列代碼。
DiaoDustream.Mode=ADODB.ConnectModeEnum.adModeReadWrite? '? ? ? ? ?設(shè)置數(shù)據(jù)流的讀寫模式
DiaoDustream.Type=ADODB.StreamTypeEnum.adTypeBinary? ? '? ? ? ? ? 設(shè)置數(shù)據(jù)流
DiaoDustream.Open()? ' 打開數(shù)據(jù)流
DiaoDustream.Write(rsDiaoDu.Fields("調(diào)度單").Value)? '? ? ? ? ? ? ? ?將字段內(nèi)容寫入數(shù)據(jù)流
DiaoDustream.SaveToFile(具體路徑/文檔名,DODB.SaveOptionsEnum.adSaveCreateOverWrite)? '生成原文件
WebBrowser1.Navigate(具休路徑/文檔名,F(xiàn)alse)? '將這個文檔在WebBrowser控件中呈現(xiàn)出來
生成原文件時,擴(kuò)展名一定要與原來相同,否則就會出現(xiàn)亂碼。
5. 使用情況
自2018年10月開始,各模塊已在3個部門投入使用,運(yùn)行穩(wěn)定,安全機(jī)制完善。本平臺的建成,提高了資源利用效率,實現(xiàn)了系統(tǒng)、資源、業(yè)務(wù)流程的智能化管控,更好地滿足了廣播節(jié)目、技術(shù)業(yè)務(wù)需求,符合總臺媒體融合戰(zhàn)略部署。
平臺操作方便、快捷,用戶體驗舒適、流暢,解決了工作中的實際問題,經(jīng)濟(jì)、務(wù)實、高效,減輕了工作人員的壓力,保障了安全播出,獲得了各使用部門的一致好評。
本平臺完全由播出二部技術(shù)人員自主設(shè)計開發(fā)。這種開發(fā)形式成本低,維護(hù)、升級方便,開發(fā)出的產(chǎn)品更符合本部門的實際工作情況。同時也鍛煉了隊伍,提高了技術(shù)的業(yè)務(wù)水平。
參考文獻(xiàn):
[1]Thomas Nield.Getting Started with SQL. OReilly Media,2016.
[2]Lars Powers,Mike Snell.Visual Studio技術(shù)大全. 人民郵電出版社.