孟佳佳,白新躍,唐繼勇
(電子科技大學(xué)圖像與廣播電視工程中心,四川 成都 611731)
電視臺(tái)播控系統(tǒng)是數(shù)字電視的一個(gè)重要環(huán)節(jié),一個(gè)設(shè)計(jì)合理的自動(dòng)播出控制系統(tǒng)不僅可以提高播出的質(zhì)量和播出的穩(wěn)定性,還可以降低播出工作人員的勞動(dòng)強(qiáng)度及擴(kuò)展播出功能。關(guān)系到播控系統(tǒng)能否做到正常運(yùn)轉(zhuǎn)的一個(gè)非常重要的條件就是數(shù)據(jù)服務(wù),而播控系統(tǒng)的實(shí)時(shí)性則對(duì)數(shù)據(jù)服務(wù)提出了更高的要求,要求數(shù)據(jù)服務(wù)不能中斷,出現(xiàn)故障后能夠在很短時(shí)間內(nèi)恢復(fù)到正常播出狀態(tài),這樣才能夠最大限度地保證播出的正常進(jìn)行。
容錯(cuò)技術(shù)[1-2]是指在計(jì)算機(jī)網(wǎng)絡(luò)或者計(jì)算機(jī)硬件、軟件產(chǎn)生故障的情況下,仍有能力將指定的應(yīng)用程序或者算法繼續(xù)完成,并且能夠以最快的速度使系統(tǒng)恢復(fù)正常,同時(shí)能夠保證系統(tǒng)的整體性能不降低。傳統(tǒng)的播控系統(tǒng)視頻服務(wù)器中一般采用主備方式,但是,隨著電視臺(tái)的不斷發(fā)展,節(jié)目量的不斷增大,其自身缺點(diǎn)也逐漸暴露出來(lái):首先,這種主備方式難以適應(yīng)播控系統(tǒng)數(shù)字化改造過(guò)程中所帶來(lái)的管理模式上的變化;其次就是由于購(gòu)置成本及復(fù)雜性等原因,讓眾多中小型廣播電視臺(tái)望而止步。
筆者結(jié)合在播控系統(tǒng)項(xiàng)目設(shè)計(jì)過(guò)程中采用的音視頻文件多路徑分發(fā)、文件服務(wù)器容錯(cuò)、數(shù)據(jù)庫(kù)容錯(cuò)的設(shè)計(jì)與實(shí)現(xiàn),探討相關(guān)技術(shù)的應(yīng)用和發(fā)展前景。
系統(tǒng)框圖如圖1所示。
圖1 數(shù)字音視頻播出系統(tǒng)結(jié)構(gòu)圖
為了保證播控系統(tǒng)能夠做到高可靠性和易用性,同時(shí)能夠保證播控系統(tǒng)的數(shù)據(jù)得到及時(shí)備份,并且能夠在播控系統(tǒng)出現(xiàn)災(zāi)難性錯(cuò)誤時(shí)進(jìn)行及時(shí)恢復(fù),從播控系統(tǒng)的功能性需求分析的角度出發(fā),數(shù)據(jù)容錯(cuò)系統(tǒng)的功能應(yīng)包含:
1)能夠?qū)崿F(xiàn)音視頻文件的多路徑分發(fā)并進(jìn)行實(shí)時(shí)備份,保證節(jié)目的安全播出和降低服務(wù)器的負(fù)載量。
2)能夠使文件服務(wù)器的數(shù)據(jù)服務(wù)不中斷,一旦出現(xiàn)故障中斷,能快速接管主服務(wù)器并進(jìn)行數(shù)據(jù)恢復(fù)。
3)提供可靠的數(shù)據(jù)庫(kù)接管功能,當(dāng)播控系統(tǒng)發(fā)生故障時(shí),容錯(cuò)系統(tǒng)能夠保證數(shù)據(jù)在很短時(shí)間內(nèi)恢復(fù),并且數(shù)據(jù)不會(huì)丟失。
數(shù)據(jù)容錯(cuò)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)包括3個(gè)部分,即音視頻文件多路徑分發(fā)設(shè)計(jì)與實(shí)現(xiàn)、文件服務(wù)器數(shù)據(jù)容錯(cuò)設(shè)計(jì)與實(shí)現(xiàn)、數(shù)據(jù)庫(kù)容錯(cuò)設(shè)計(jì)與實(shí)現(xiàn)。
多路徑分發(fā)是指將主服務(wù)器上的節(jié)目素材自動(dòng)地分發(fā)到多個(gè)備份路徑(即多個(gè)備文件服務(wù)器)上,這樣可以保證數(shù)據(jù)不會(huì)丟失和損壞,即使在系統(tǒng)出問(wèn)題時(shí)也能夠保證播出的實(shí)時(shí)性,如圖2所示。
圖2 服務(wù)器間的多路徑分發(fā)
為了能夠?qū)崿F(xiàn)音視頻文件的多路徑分發(fā),常常需要對(duì)素材文件中更新的文件進(jìn)行實(shí)時(shí)更新,為了獲取這些事件的信息,這里使用了SQL中的Trigger。通過(guò)一個(gè)拷貝的程序來(lái)實(shí)現(xiàn)音視頻文件的多路徑分發(fā),采用了Socket套接字實(shí)現(xiàn)數(shù)據(jù)庫(kù)調(diào)用的控制命令和該拷貝程序之間的通信。音視頻的文件多路徑分發(fā)流程如圖3所示。
圖3 音視頻的文件多路徑分發(fā)流程圖
這里主要采取文件服務(wù)器錯(cuò)誤檢測(cè)和文件檢查恢復(fù)。前者采用雙機(jī)熱切換中的Active-Standby方式[3](見(jiàn)圖4)。其中備機(jī)每隔0.1 s向主機(jī)發(fā)送ping命令用以檢查主機(jī)的網(wǎng)絡(luò)是否正常。文件檢查與恢復(fù)有3個(gè)方面的內(nèi)容,分別是:檢查文件的一致性(Handle Coherence Thread)、檢查無(wú)用文件(Check Useless File Thread)、消除無(wú)用文件(Delete Useless File Thread)。
圖4 雙機(jī)主從熱備份模式(Active-Standby)
針對(duì)數(shù)字音視頻播出系統(tǒng)的需要,在數(shù)據(jù)庫(kù)容錯(cuò)技術(shù)上采用了數(shù)據(jù)復(fù)制技術(shù)。數(shù)據(jù)復(fù)制技術(shù)的概念是將一個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)復(fù)制到局域網(wǎng)相同服務(wù)器上的備份數(shù)據(jù)庫(kù)中,每當(dāng)數(shù)據(jù)有更新時(shí),數(shù)據(jù)就會(huì)實(shí)時(shí)復(fù)制到備份數(shù)據(jù)庫(kù)中,這樣能夠最大限度地保證數(shù)據(jù)的同步性。
當(dāng)主數(shù)據(jù)庫(kù)出現(xiàn)錯(cuò)誤時(shí),切換到備服務(wù)器繼續(xù)工作,其實(shí)現(xiàn)過(guò)程如圖5所示。
圖5 數(shù)據(jù)庫(kù)服務(wù)器主、備切換
基于音視頻文件多路徑分發(fā)、文件服務(wù)器數(shù)據(jù)容錯(cuò)和數(shù)據(jù)庫(kù)容錯(cuò)的設(shè)計(jì)能夠很好地解決電視臺(tái)播控系統(tǒng)中數(shù)據(jù)容錯(cuò)的問(wèn)題,很大程度上降低了成本。該設(shè)計(jì)能夠很好地實(shí)現(xiàn)文件備份、數(shù)據(jù)服務(wù)不中斷、文件數(shù)據(jù)恢復(fù)和數(shù)據(jù)庫(kù)容錯(cuò)等功能。
[1]徐美榮.基于實(shí)時(shí)操作系統(tǒng)的多機(jī)冗余、容錯(cuò)技術(shù)研究[D].杭州:浙江大學(xué),2006.
[2]楊俊.關(guān)于數(shù)字視音頻播出與控制的一些關(guān)鍵技術(shù)的研究[D].長(zhǎng)沙:國(guó)防科技大學(xué),2002.
[3]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2008.