孟佳佳,白新躍,唐繼勇
(電子科技大學圖像與廣播電視工程中心,四川 成都 611731)
電視臺播控系統是數字電視的一個重要環節,一個設計合理的自動播出控制系統不僅可以提高播出的質量和播出的穩定性,還可以降低播出工作人員的勞動強度及擴展播出功能。關系到播控系統能否做到正常運轉的一個非常重要的條件就是數據服務,而播控系統的實時性則對數據服務提出了更高的要求,要求數據服務不能中斷,出現故障后能夠在很短時間內恢復到正常播出狀態,這樣才能夠最大限度地保證播出的正常進行。
容錯技術[1-2]是指在計算機網絡或者計算機硬件、軟件產生故障的情況下,仍有能力將指定的應用程序或者算法繼續完成,并且能夠以最快的速度使系統恢復正常,同時能夠保證系統的整體性能不降低。傳統的播控系統視頻服務器中一般采用主備方式,但是,隨著電視臺的不斷發展,節目量的不斷增大,其自身缺點也逐漸暴露出來:首先,這種主備方式難以適應播控系統數字化改造過程中所帶來的管理模式上的變化;其次就是由于購置成本及復雜性等原因,讓眾多中小型廣播電視臺望而止步。
筆者結合在播控系統項目設計過程中采用的音視頻文件多路徑分發、文件服務器容錯、數據庫容錯的設計與實現,探討相關技術的應用和發展前景。
系統框圖如圖1所示。

圖1 數字音視頻播出系統結構圖
為了保證播控系統能夠做到高可靠性和易用性,同時能夠保證播控系統的數據得到及時備份,并且能夠在播控系統出現災難性錯誤時進行及時恢復,從播控系統的功能性需求分析的角度出發,數據容錯系統的功能應包含:
1)能夠實現音視頻文件的多路徑分發并進行實時備份,保證節目的安全播出和降低服務器的負載量。
2)能夠使文件服務器的數據服務不中斷,一旦出現故障中斷,能快速接管主服務器并進行數據恢復。
3)提供可靠的數據庫接管功能,當播控系統發生故障時,容錯系統能夠保證數據在很短時間內恢復,并且數據不會丟失。
數據容錯系統的設計與實現包括3個部分,即音視頻文件多路徑分發設計與實現、文件服務器數據容錯設計與實現、數據庫容錯設計與實現。
多路徑分發是指將主服務器上的節目素材自動地分發到多個備份路徑(即多個備文件服務器)上,這樣可以保證數據不會丟失和損壞,即使在系統出問題時也能夠保證播出的實時性,如圖2所示。

圖2 服務器間的多路徑分發
為了能夠實現音視頻文件的多路徑分發,常常需要對素材文件中更新的文件進行實時更新,為了獲取這些事件的信息,這里使用了SQL中的Trigger。通過一個拷貝的程序來實現音視頻文件的多路徑分發,采用了Socket套接字實現數據庫調用的控制命令和該拷貝程序之間的通信。音視頻的文件多路徑分發流程如圖3所示。

圖3 音視頻的文件多路徑分發流程圖
這里主要采取文件服務器錯誤檢測和文件檢查恢復。前者采用雙機熱切換中的Active-Standby方式[3](見圖4)。其中備機每隔0.1 s向主機發送ping命令用以檢查主機的網絡是否正常。文件檢查與恢復有3個方面的內容,分別是:檢查文件的一致性(Handle Coherence Thread)、檢查無用文件(Check Useless File Thread)、消除無用文件(Delete Useless File Thread)。

圖4 雙機主從熱備份模式(Active-Standby)
針對數字音視頻播出系統的需要,在數據庫容錯技術上采用了數據復制技術。數據復制技術的概念是將一個數據庫中的數據復制到局域網相同服務器上的備份數據庫中,每當數據有更新時,數據就會實時復制到備份數據庫中,這樣能夠最大限度地保證數據的同步性。
當主數據庫出現錯誤時,切換到備服務器繼續工作,其實現過程如圖5所示。

圖5 數據庫服務器主、備切換
基于音視頻文件多路徑分發、文件服務器數據容錯和數據庫容錯的設計能夠很好地解決電視臺播控系統中數據容錯的問題,很大程度上降低了成本。該設計能夠很好地實現文件備份、數據服務不中斷、文件數據恢復和數據庫容錯等功能。
[1]徐美榮.基于實時操作系統的多機冗余、容錯技術研究[D].杭州:浙江大學,2006.
[2]楊俊.關于數字視音頻播出與控制的一些關鍵技術的研究[D].長沙:國防科技大學,2002.
[3]謝希仁.計算機網絡[M].北京:電子工業出版社,2008.