林斌 黃元 江蘇省廣播電視總臺
EPG即時更新系統(tǒng)前端信息推送淺析
林斌黃元江蘇省廣播電視總臺
當前,EPG節(jié)目預告信息最常用的即時更新前端解決方案,是在播出網內部署EPG自動更新設備,運用安全單工傳輸、哈希加密、VPN等一系列技術手段,以確保播出系統(tǒng)網絡安全并及時對節(jié)目條目予以過濾、篩選,再通過可靠的傳輸信道上傳發(fā)布。相比傳統(tǒng)處理方式,該方案的效率和準確性均有顯著提高,但其也存在一些不足有待完善。本文從提升系統(tǒng)健壯性,改進應對臨時變化的響應能力,及增強播出機構控制權限等角度出發(fā),對前端系統(tǒng)的技術改造和升級展開了探討。并結合江蘇臺初步升級串行單向EPG數(shù)據(jù)傳送器等軟硬件設施后實際測試的效果及相關技術分析,對未來的研發(fā)和應用加以展望。
數(shù)字電視EPG同步更新系統(tǒng)正則表達式
1.EPG即時更新系統(tǒng)簡述
電視播出機構作為節(jié)目編排和播出信息的唯一準確來源, 向有線網絡運營商和EPG(電子節(jié)目指南Electronic Program Guide)信息服務商提供節(jié)目預告。由于其編排及播出系統(tǒng)通常與公網隔離,傳統(tǒng)上從這些系統(tǒng)獲取節(jié)目信息也主要依賴于U盤拷貝和人工錄入手段;前者容易引入網絡安全威脅,而后者操作繁瑣,速度、準確性均不理想。而人工發(fā)送環(huán)節(jié)也加長了預告信息推送的延遲。
為此,EPG 即時更新系統(tǒng)應運而生。按其基本架構(如圖1所示)和運作方式,可大體劃分為三個子系統(tǒng)。即:同步傳送、發(fā)布、覆蓋。同步傳送子系統(tǒng)通過在播出系統(tǒng)中部署專用設備,來確保串聯(lián)單提取環(huán)節(jié)的安全、穩(wěn)定和高效,得以構建自動化同步傳送機制。在專用設備中實施數(shù)據(jù)校驗、文件加密后,得到符合預定義標準的EPG信息數(shù)據(jù)集核心元數(shù)據(jù),再將該元數(shù)據(jù)通過安全信道傳送給發(fā)布管理系統(tǒng)。發(fā)布子系統(tǒng)主要用于接收加密元數(shù)據(jù),對其進行解密、過濾、驗證后再實施加密、壓縮、打包等處理并通過安全專用信道發(fā)送給覆蓋子系統(tǒng),還能根據(jù)覆蓋網絡的回傳數(shù)據(jù),調整自身收發(fā)策略。而在覆蓋子系統(tǒng)中,依靠同步更新模塊實時接收衛(wèi)星、廣播等信道傳輸?shù)腅PG信息元數(shù)據(jù),解密解壓后參照預定義的關鍵字過濾、處理并覆蓋至終端用戶;而回傳設備實時接收數(shù)字電視系統(tǒng)終端的信號,通過解析EIT表生成EPG元數(shù)據(jù)文件,并加密回傳至發(fā)布子系統(tǒng)。
整個系統(tǒng)在確保EPG預告信息全天候高效率實時傳輸?shù)耐瑫r,既很好維護了播出系統(tǒng)的安全性,又提升了傳輸信道和元數(shù)據(jù)文件的可靠性。
下面結合江蘇臺的實際應用狀況,對EPG即時更新系統(tǒng)前端的同步傳送子系統(tǒng)及其工作原理做簡要的探討和分析。
1.串行單向EPG數(shù)據(jù)傳送器
如前所述,在EPG即時更新系統(tǒng)方案中,實現(xiàn)前端同步傳送功能的核心關鍵技術就集中在播出網內運行的專用設備上,即“串行單向EPG數(shù)據(jù)傳送器”(簡稱VT)。VT 設備采用冗余雙電源,具備用于暫存數(shù)據(jù)的緩存區(qū),可避免因斷電、斷網等意外造成的數(shù)據(jù)丟失,一旦網絡連接恢復正常,即可重新發(fā)送所有緩存的預告文件,很好地確保了前端同步傳送子系統(tǒng)對節(jié)目預告信息的自動抓取、過濾和推送。
VT設備與播出設備通過 RS232 串口連接,其獨具的“單向傳輸無回傳”機制限制了僅能由播出設備向VT設備的采集端發(fā)送數(shù)據(jù),而反向傳輸通道已被物理截斷。由于采用了低速串口通訊,無需建立新的邏輯端口,病毒、木馬無法通過端口掃描發(fā)現(xiàn)新連接并進行感染,由此幾乎杜絕了任何潛在的對播出系統(tǒng)的網絡安全影響。而VT自身的網卡工作于辦公網段,通過VPN連接向服務商的EPG數(shù)據(jù)中心回傳經安全加密的節(jié)目信息,破解難度極大,能很好的防止向EPG 數(shù)據(jù)鏈路中插入非法數(shù)據(jù)。
專用串口傳輸程序SendEPG用于與VT配合來更好地適配各類自動播出系統(tǒng)。SendEPG程序采用被動式應答機制,可在后臺實時監(jiān)測新進入預設目錄的文件,并通過安全單工連接將其傳入VT設備,系統(tǒng)資源占用小,響應時間短。該程序還實現(xiàn)了可靠的報錯及重傳機制。
VT設備接收到文件后,首先校驗確認串聯(lián)單所屬頻道及節(jié)目條目是否有效,時間信息是否合乎規(guī)范。驗證通過后,按素材類型等字段對節(jié)目條目實施篩選、過濾;再與早先推送的串聯(lián)單比對,若檢測到有效更新,即對文件內容進行散列(HASH)運算,將運算結果—32字節(jié)的特征字串與播出機構代碼、文件序列號合成為新的文件名(如圖2所示)。這樣,EPG數(shù)據(jù)中心收到上傳文件后,即可通過散列運算與文件名核對,確保文件未損壞或被篡改。而序列號與文件修改時間信息共同確保了當網絡延遲等因素導致文件接收順序錯亂時,系統(tǒng)也能準確識別最近的有效更新。
2.本地過濾及上傳
(1)客戶端軟件
集成式客戶端軟件——TVEdit。它既可聯(lián)網實時查看節(jié)目預告,又能對本地串聯(lián)單實施自動過濾和人工編輯并上傳。其界面如圖3所示:右側預告區(qū)域顯示從數(shù)據(jù)中心下載并通過校驗的當前頻道預告,左側區(qū)域則用于顯示和處理本地文件。
(2)基于正則表達式的字符串處理
正則表達式(Regular Expression)是計算機科學的一個概念,它使用單個字符串來描述、匹配一系列符合某個句法規(guī)則的字符串。TVEdit軟件就運用了基于Unix語法的正則表達式處理引擎來對節(jié)目條目進行篩選、過濾。使用該軟件打開本地串聯(lián)單文件后,用戶可以自主設置由正則表達式指定的行過濾、行刪除和行截斷條件。其中,行刪除功能指刪除含有匹配字串的行(每行對應一條節(jié)目);行過濾指刪除行內匹配的關鍵字;而行截斷是指若某行出現(xiàn)匹配字串,則自動刪除從該字串至行結尾的所有字符。通過以上功能對軟件導入的串聯(lián)單描述文件實施自動處理,可以大幅減少人工編輯的工作量。
3.現(xiàn)有方案的不足
在多個頻道的實際應用表明,上述EPG系統(tǒng)前端自動更新方案,無論在獲取預告的便捷性和安全性上,還是信息傳輸?shù)男屎头€(wěn)定性上,較之傳統(tǒng)方式都有了長足進步,但它也仍存在一些遺憾和不足:對于電視播出機構而言,現(xiàn)有系統(tǒng)的信息過濾、傳輸機制透明度不足,難于控制。還不能很好地適配和滿足一些特殊需求,如“應對節(jié)目緊急調整”、“提升保密級別”等。節(jié)目條目及過濾條件的臨時調整,都需要播出機構和服務商雙方接洽和人工處置,顯得效率不彰。
TVEdit軟件也亟需改進:現(xiàn)有版本中,行過濾功能只針對每行首先匹配到的字串生效,行截斷功能也會偶爾出現(xiàn)錯亂,這都大大限制了軟件對復雜文本的處理能力。此外,下載預告的相關信息提示得不夠及時、準確,編輯、上傳等功能的用戶體驗也不甚理想。
鑒于以上問題和不足,很有必要對系統(tǒng)實施針對性的功能改造和升級,以增強其適應性,更好的滿足應用需求。升級方案如圖4所示。
1.并發(fā)上傳
VT設備當前采用的單路上傳方式,不利于播出機構開展有效的監(jiān)控并在必要時進行干預,也不利于及時檢測出傳輸信道的故障。
為此,很有必要改進VT的工作機制,實現(xiàn)雙路上傳,將向EPG數(shù)據(jù)中心上傳的預告文件,同步發(fā)送給備路FTP服務器,以便盡快確認文件上傳狀態(tài),并可通過查看、編輯收到的文件來進一步完善預告信息的管理。
2.前端過濾及校驗機制
目前,部署于播出機構的整個前端系統(tǒng)對節(jié)目數(shù)據(jù)的檢測和處理都完全依賴于VT設備,無論過濾、校驗還是檢測更新機制,也都還停留在一些最簡單、基本的形式,靈活、智能程度都有待提升。
實際測試表明,目前VT設備的過濾功能,僅限于對數(shù)值字段的精確匹配,篩去取值在預設的“忽略數(shù)值集合”內的記錄。而尚未引入與節(jié)目名稱等文本字段相關的條件匹配、批量匹配等手段。檢測更新也只是對過濾后文件的散列校驗值進行對比。因此,像節(jié)目信號源、播出方式等最終不納入預告的字段出現(xiàn)變化也會影響系統(tǒng)判斷,即便節(jié)目名稱、播出時間等有效信息一成不變,也可能觸發(fā)VT設備多次上傳。
因此,通過升級固件和配置來優(yōu)化VT設備功能,提升過濾能力,減少重復信息上傳,可以降低前后端系統(tǒng)的負荷,提升效率。
在對VT設備及TVEdit、SendEPG等軟件進行升級和重新配置后,江蘇臺的前端EPG同步傳送系統(tǒng)已初步實現(xiàn)了“雙路上傳”、“檢測前置”等新特性,下面就通過實際測試來檢驗其功能的運作。
1.測試環(huán)境搭建及調試
因地制宜采用辦公PC搭建測試環(huán)境無疑是最簡便、節(jié)約且可行的選擇。在安裝Windows Server 2003系統(tǒng)的PC上部署開源的FTP服務器端(FileZilla)及TVEdit軟件,即可同時接收來自VT設備上傳的文件與EPG數(shù)據(jù)中心發(fā)布的預告信息。
由于網絡環(huán)境的特殊性——防火墻設置了“屏蔽橋接以防范潛在跳板攻擊”過濾規(guī)則,還需要額外的技術手段進行配置。經反復測試、排查,需保持VT與FTP2之間的連接活躍方能確保預告文件的正常接收。在Telnet客戶端中設置周期性發(fā)送FTP協(xié)議的noop指令,既能確保連接通暢,還利于FTP服務器記錄日志以便追查。
配置完成后,檢查接收到的串聯(lián)單XML文件,得以確認測試時段中,F(xiàn)TP2成功接收到了所有文件,且VT設備的過濾功能也符合預期——指定節(jié)目類型的條目均已被篩去。
2.測試方案
此測試需要驗證的是,在鏈路1斷開之后,VT設備的文件上傳和過濾功能仍能正常運作,備用的FTP2服務器還能通過鏈路2收到經過處理的串聯(lián)單文件。
利用被測頻道每日特定時段兩次例行的、間隔較近的播出線上串聯(lián)單調整,即可觸發(fā)VT設備推送串聯(lián)單文件,便于實施測試計劃。具體測試步驟如下:
(1)斷開“鏈路1”;
(2)由第一次播出線上的串聯(lián)單調整觸發(fā)第一次文件推送;
(3)查驗FTP2接收到的串聯(lián)單XML文件信息,與TVEdit軟件接收的節(jié)目信息進行比對;
(4)恢復“鏈路1”;
(5)由第二次播出線上的串聯(lián)單調整觸發(fā)第二次文件推送;
(6)再次查看FTP2接收到的文件,并與TVEdit軟件中顯示的節(jié)目信息對照。
3.測試結果
鏈路1(VT與數(shù)據(jù)中心的連接)切斷后,在被測頻道播出工作站上執(zhí)行串聯(lián)單加載操作,很快就在FTP2上收到與此次操作對應的新推送XML文件,其中包含了新加載的19點以后直至次日凌晨的節(jié)目條目,而與此同時,TVEdit軟件所收到的同一頻道預告還只包含19點前的節(jié)目條目。將XML文件中ITEM標簽time屬性對應的時間與播出線上的節(jié)目單時間進行比對即可確認,F(xiàn)TP2所收到的文件已經過VT設備的過濾、篩選,無需預告的條目均已被過濾掉。
而在恢復“鏈路1”之后,TVEdit軟件很快也獲取到了完整的晚間節(jié)目信息。
測試中也發(fā)現(xiàn),“鏈路1”斷開后,VT設備多次登陸FTP1服務器失敗,就會進入“緩存等待”狀態(tài),向備服務器上傳的進程也隨之阻塞。由SendEPG程序發(fā)送來的文件,均被VT自動置入緩存,暫緩發(fā)送,待VT重新登錄上FTP1之后,才集中將所有緩存的文件一并發(fā)送給主備路服務器。因此,一旦鏈路1斷開,F(xiàn)TP2也僅能在很短時間內繼續(xù)接收到預告文件。
由測試可見,上述系統(tǒng)及其配置還有很大的升級、改進空間。
1.升級數(shù)據(jù)傳送器
VT設備的“并發(fā)上傳”功能還需要做進一步的調整優(yōu)化,以期能實現(xiàn)在鏈路1意外中斷期間,該設備能夠一面緩存節(jié)目數(shù)據(jù),以備鏈路1恢復后集中給發(fā)送FTP1,一面繼續(xù)向FTP2服務器實時推送新收到的來自SendEPG程序的節(jié)目數(shù)據(jù)。這樣無疑能顯著改善系統(tǒng)的健壯性,提升節(jié)目信息獲取的安全系數(shù)。將來面臨特殊的信息保密需求時,播出機構甚至可以主動斷開鏈路1,并利用FTP2上部署的軟件進行二次篩選及審核后,再將預告信息上傳給EPG數(shù)據(jù)中心。
就數(shù)據(jù)過濾能力而言,VT的提升空間也很大。比如目前該設備還缺失的字符串字段處理能力,以后就可以考慮引入基于正則表達式的匹配、篩選機制。在通訊的及時性、穩(wěn)定性得到保障的前提下,還可以更進一步,通過將節(jié)目條目篩選策略配置信息置于EPG數(shù)據(jù)中心或是備路的FTP,來實現(xiàn)準實時的過濾條件更新,以更好的適應節(jié)目預告相關需求的持續(xù)調整和變化。
2.客戶端系統(tǒng)升級
這里的“客戶端”囊括了需要與EPG數(shù)據(jù)中心的“服務器端”進行通訊的多種實體,包括可以部署多個實例的桌面TVEdit程序,以及在播出機構用于接收VT上傳文件的備FTP服務器上逐步構建的可處理和上傳串聯(lián)單文件的系列程序。
如前所述,TVEdit程序的正則表達式匹配功能還有待完善,涉及與EPG數(shù)據(jù)中心交互的多項功能也都需要改進。在FTP2服務器上,可以應用與SendEPG程序類似的機制,收到串聯(lián)單文件后,自動觸發(fā)一系列文件校驗、數(shù)據(jù)過濾等處理,將無需預告的節(jié)目條目篩去,必要時還可提醒責任人員及時審核并對疑似有誤的條目給出警示,以確保節(jié)目信息及時、有效且不包含播出機構要求保密的信息。而當滿足一定預設條件時(例如過濾后的文件已符合‘免審核’條件,或已提交審核通過),系統(tǒng)還能自動將處理后文件上傳至EPG數(shù)據(jù)中心。這些新特性也都對系統(tǒng)的文件自動解析、驗證能力提出了更高的要求。
[1] GY/T 231-2008,數(shù)字電視廣播電子節(jié)目指南規(guī)范[S].
[2] GD-J 053-2014,EPG信息數(shù)據(jù)集核心元數(shù)據(jù)即時更新系統(tǒng)技術規(guī)范[S].
[3] 劉家寶.數(shù)字電視系統(tǒng)的節(jié)目復用和條件接收技術[D].山東大學碩士學位論文.
[4] Electronic Program Guide (EPG) [EB/OL].http://www.abc.net.au/reception/digital/EPG.htm 2005.12.16.
[5] Ciciora W S.Inside the Set-Top Box[C].In IEEE Spectrum.1995,(4):70~75.
[6] Perkowsky S, Jaeger R.The Set-Top Box as Multi-Media Terminal[C].In IEEE Transaction on Consumer Electronic,1998,44(3):833~840.
[7] 汪志明,鄒道文,周源華.數(shù)字電視中電子節(jié)目指南系統(tǒng)的研究[J].數(shù)字電視與數(shù)字視頻,2002,11(245):(4~6).