數(shù)字電視中間件增值業(yè)務(wù)支撐平臺(tái)解決方案
林峰 孫軍 2009/03/11
作為數(shù)字電視產(chǎn)業(yè)鏈的一個(gè)重要組成部分,增值業(yè)務(wù)占有重要地位。為實(shí)現(xiàn)增值業(yè)務(wù),需要有完善的中間件業(yè)務(wù)支撐平臺(tái),使第三方增值軟件開發(fā)商開發(fā)的交互應(yīng)用能從前端快速輪播到后端并且高效地運(yùn)行。
1.引言
作為數(shù)字電視產(chǎn)業(yè)鏈的一個(gè)重要組成部分,增值業(yè)務(wù)占有重要地位。為實(shí)現(xiàn)增值業(yè)務(wù),需要有完善的中間件業(yè)務(wù)支撐平臺(tái),使第三方增值軟件開發(fā)商開發(fā)的交互應(yīng)用能從前端快速輪播到后端并且高效地運(yùn)行。
在廣播環(huán)境下,數(shù)據(jù)業(yè)務(wù)的傳送是通過(guò)輪播方式進(jìn)行的。輪播分兩種,數(shù)據(jù)輪播和對(duì)象輪播。目前國(guó)際上基于輪播傳送數(shù)據(jù)業(yè)務(wù)主要采用兩種技術(shù),一種是以美國(guó)ATSC標(biāo)準(zhǔn)為代表所采用的數(shù)據(jù)輪播方案,另外一種是以歐洲D(zhuǎn)VB標(biāo)準(zhǔn)為代表所采用的對(duì)象輪播方案。數(shù)據(jù)業(yè)務(wù)的實(shí)現(xiàn)很大程度上是通過(guò)交互應(yīng)用實(shí)現(xiàn)的,而交互應(yīng)用的開發(fā)和數(shù)據(jù)組織普遍使用文件系統(tǒng),ATSC采用的數(shù)據(jù)輪播方案保持了數(shù)據(jù)輪播的簡(jiǎn)潔性和高效性,但不支持文件系統(tǒng)的傳輸。DVB采用的對(duì)象輪播技術(shù)支持文件系統(tǒng)傳送,適應(yīng)性和擴(kuò)展性很好,但實(shí)現(xiàn)較復(fù)雜,打包引入的冗余信息較大,且較難在中間件中實(shí)現(xiàn)。
本文提出了符合中國(guó)數(shù)字電視中間件標(biāo)準(zhǔn)(草案)的增值業(yè)務(wù)平臺(tái)整體解決方案。為了提高平臺(tái)的整體性能,提出了一種改進(jìn)的數(shù)據(jù)輪播方案作為平臺(tái)交互應(yīng)用廣播傳輸?shù)募夹g(shù)基礎(chǔ),并進(jìn)一步闡述中間件中實(shí)現(xiàn)該方案的數(shù)據(jù)廣播文件系統(tǒng)的設(shè)計(jì)和優(yōu)化策略。
2.數(shù)字電視中間件增值業(yè)務(wù)平臺(tái)架構(gòu)
2.1 前端數(shù)據(jù)播發(fā)系統(tǒng)架構(gòu)
如圖1所示,前端數(shù)據(jù)播發(fā)系統(tǒng)主要包括應(yīng)用管理器,節(jié)目信息子系統(tǒng),數(shù)據(jù)廣播服務(wù)器,系統(tǒng)軟件升級(jí)服務(wù)器和應(yīng)用數(shù)據(jù)服務(wù)器等5個(gè)部分。
應(yīng)用管理器是播發(fā)和控制交互應(yīng)用及其數(shù)據(jù),按照前述改進(jìn)的數(shù)據(jù)輪播方案將應(yīng)用打包和傳輸,且通過(guò)應(yīng)用信令控制廣播應(yīng)用的運(yùn)行;節(jié)目信息子系統(tǒng),用于整個(gè)廣播網(wǎng)絡(luò)的服務(wù)信息編輯,存儲(chǔ),查詢和修改;數(shù)據(jù)廣播服務(wù)器接收來(lái)自各個(gè)功能模塊的數(shù)據(jù),按照MPEG一2標(biāo)準(zhǔn)打包和復(fù)用,最終數(shù)據(jù)通過(guò)ASI端口發(fā)送到指定的復(fù)用器和音視頻流復(fù)用成傳輸流播發(fā)出去;系統(tǒng)軟件升級(jí)服務(wù)器為終端接收系統(tǒng)提供一種廣播環(huán)境下的在線軟件升級(jí)功能;應(yīng)用數(shù)據(jù)服務(wù)器用于生成應(yīng)用顯示處理的數(shù)據(jù)并將其封裝到MPEG一2私有段結(jié)構(gòu)中。封裝內(nèi)容的格式由各應(yīng)用自身決定,這樣可以實(shí)現(xiàn)廣播環(huán)境下大量實(shí)時(shí)性應(yīng)用數(shù)據(jù)的傳送,比如新聞消息和股票行情數(shù)據(jù)的傳送。
2.2 后端中間件架構(gòu)
圖2所示為符合國(guó)家標(biāo)準(zhǔn)草案的中間件架構(gòu),在具體實(shí)現(xiàn)上采用了層次化和模塊化的設(shè)計(jì)方案。整個(gè)系統(tǒng)可以劃分為系統(tǒng)層、核心層和移植層。
系統(tǒng)層為上層具體應(yīng)用的執(zhí)行提供基于Java的運(yùn)行環(huán)境。這層主要包括3部分:Java虛擬機(jī)、應(yīng)用管理器和符合中間件標(biāo)準(zhǔn)的應(yīng)用編程接口(API)集。Java虛擬機(jī)負(fù)責(zé)解釋和執(zhí)行。lavaTM語(yǔ)言。應(yīng)用管理器負(fù)責(zé)管理應(yīng)用的生命周期。API集除了包括與MHP兼容的部分包,比如基本的Java包,DAVIC包外,還對(duì)國(guó)家中間件標(biāo)準(zhǔn)作了部分的擴(kuò)展。
核心層主要采用C語(yǔ)言實(shí)現(xiàn)了Java層的功能,兩層之間通過(guò)Java本機(jī)方法接口連接。這層主要的功能模塊包括MPEG一2段過(guò)濾器,數(shù)據(jù)廣播協(xié)議棧,SI引擎,事件管理器,圖形系統(tǒng),虛擬文件系統(tǒng)和條件接人模塊等。在具體實(shí)現(xiàn)時(shí),對(duì)執(zhí)行效率要求較低的管理控制工作一般在系統(tǒng)層實(shí)現(xiàn),而對(duì)執(zhí)行效率要求高的工作在本層實(shí)現(xiàn)。這是因?yàn)樵谇度胧较到y(tǒng)中,C語(yǔ)言執(zhí)行效率要明顯優(yōu)于解釋性的lava語(yǔ)言。
移植層定義了一套統(tǒng)一的移植接口,屏蔽了核心層具體的硬件驅(qū)動(dòng)。核心層通過(guò)這些接口訪問(wèn)硬件資源。這樣,整個(gè)中間件系統(tǒng)只需要修改移植接口就可以在不同平臺(tái)上運(yùn)轉(zhuǎn),從而大大減輕了工作量。
3.中間件平臺(tái)特點(diǎn)及優(yōu)化策略
為了支持交互電視的發(fā)展,國(guó)際上許多組織制訂了相關(guān)的中間件標(biāo)準(zhǔn),比如歐洲D(zhuǎn)VB提出的MHP,美國(guó)針對(duì)有線電視系統(tǒng)由Cablelabs提出的OCAP,美國(guó)ATSC提出的DASE等,其中MHP標(biāo)準(zhǔn)應(yīng)用最為廣泛。圖2提出的中間件架構(gòu)符合國(guó)家數(shù)字電視中間件標(biāo)準(zhǔn)(草案),以JavaTM語(yǔ)言為基礎(chǔ),在MHP基礎(chǔ)上去除了MHP包中的冗余部分。
在中間件平臺(tái)中,輪播方案是交互業(yè)務(wù)傳送的基礎(chǔ),綜合考慮ATSC和DVB采用的數(shù)據(jù)輪播方案中的優(yōu)缺點(diǎn),在簡(jiǎn)單的數(shù)據(jù)輪播基礎(chǔ)上加以改進(jìn)以滿足交互數(shù)字電視業(yè)務(wù)的發(fā)展需求。同時(shí),作為接收端中間件交互應(yīng)用下載的核心部件,基于輪播方案的數(shù)據(jù)廣播文件系統(tǒng)存在一定延時(shí),具體設(shè)計(jì)實(shí)現(xiàn)時(shí)必須優(yōu)化以提高系統(tǒng)性能。
3.1 改進(jìn)型數(shù)據(jù)輪播方案
在DSM-CC標(biāo)準(zhǔn)中,數(shù)據(jù)輪播主要使用DSl,DⅡ和DDB 3種消息封裝控制和數(shù)據(jù)信息。DVB標(biāo)準(zhǔn)對(duì)上述3種消息的語(yǔ)法、語(yǔ)義和部分描述子作了規(guī)范。為了利用DVB數(shù)據(jù)輪播協(xié)議傳送文件系統(tǒng),作如下加強(qiáng)規(guī)范:
1) 對(duì)DSI消息GrouplnfoBuytes域的加強(qiáng)規(guī)范。該域包含對(duì)超級(jí)組內(nèi)每個(gè)組的描述符。令一個(gè)組表示文件系統(tǒng)的一個(gè)目錄。該域中含有組的名稱描述子Name-De-scriptor,描述該組對(duì)應(yīng)目錄的路徑名。
因此,DSI消息是文件系統(tǒng)的入口,包含了所有的目錄信息,可被看作是文件系統(tǒng)完整的目錄索引表。
2) 對(duì)DⅡ消息ModulelnfoBytes域的加強(qiáng)規(guī)范。該域包含組內(nèi)每個(gè)模塊的描述符。令一個(gè)模塊表示該組對(duì)應(yīng)目錄下的一個(gè)文件,若DII的NumberOfModules值為0,說(shuō)明該組對(duì)應(yīng)目錄下面沒(méi)有文件。該域中含有模塊的名稱描述子Name_Descriptor,來(lái)描述文件名。若文件較大,可分成幾個(gè)子模塊傳送,子模塊間用Module-Link-De-scriptor連接,文件的具體內(nèi)容由DDB攜帶傳送。
3) 對(duì)DSI,DⅡ中名稱描述符Name-Descriptor的加強(qiáng)規(guī)范。該描述子用于描述目錄路徑名時(shí),絕對(duì)路徑名格式如"/目錄1/目錄2/",相對(duì)路徑名格式如"目錄2/"。描述文件路徑名時(shí),由于能夠通過(guò)模塊位置直接定位其所在組,進(jìn)而定位所在目錄節(jié)點(diǎn),因此文件路徑名直接為文件名,格式如"文件1"。
4) 對(duì)私有描述子的加強(qiáng)規(guī)范。DVB數(shù)據(jù)輪播協(xié)議定義了私有描述子Private_Descriptor以方便用戶進(jìn)行擴(kuò)展,其tag范圍為Ox80-Oxff,F(xiàn)分配Ox80用于指示相對(duì)路徑目錄的父目錄。一個(gè)目錄的名稱描述子有一個(gè)配對(duì)的私有描述子,用來(lái)指示父目錄。
上述語(yǔ)法中,凈荷為4 byte,其值是父目錄對(duì)應(yīng)組的Groupld值,記做ParentGroupId。如果發(fā)現(xiàn)ParentGroupId值和DSI的Transactionld值相等,說(shuō)明其父目錄就是根目錄。通過(guò)尋找匹配的Groupld,可定位父節(jié)點(diǎn),直到根目錄,從而構(gòu)建整個(gè)文件系統(tǒng)的目錄樹。
通過(guò)上面4點(diǎn)加強(qiáng)規(guī)范,可使用DVB數(shù)據(jù)輪播傳送文件系統(tǒng)。該方案是國(guó)家數(shù)字電視中間件標(biāo)準(zhǔn)輪播傳輸備選方案之一,也可作為MHP平臺(tái)的一種改進(jìn)方案。
3.2 改進(jìn)型數(shù)據(jù)輪播方案
中間件的數(shù)據(jù)廣播文件系統(tǒng)主要負(fù)責(zé)裝載廣播應(yīng)用,是數(shù)據(jù)輪播協(xié)議在終端實(shí)現(xiàn)的核心模塊。圖3給出了基于改進(jìn)型數(shù)據(jù)輪播方案的數(shù)據(jù)廣播文件系統(tǒng)的架構(gòu)圖。相關(guān)Java功能在org.dvb.DSMCC包實(shí)現(xiàn),對(duì)應(yīng)中間件架構(gòu)的系統(tǒng)層部分。具體的功能實(shí)現(xiàn)位于核心層。
數(shù)據(jù)廣播文件系統(tǒng)的一個(gè)突出特點(diǎn)就是存在較大延時(shí),這對(duì)用戶快速切入啟動(dòng)交互應(yīng)用非常不利。為提高系統(tǒng)的執(zhí)行效率需要采取一些優(yōu)化措施。
首先,應(yīng)用是通過(guò)輪播方式周期性地傳送,而輪播協(xié)議和應(yīng)用數(shù)據(jù)封裝在一系列DSI,DⅡ,DDB段結(jié)構(gòu)里,理想情況下接收所有輪播數(shù)據(jù)需要一個(gè)輪播周期。機(jī)頂盒接收端一般由硬件段過(guò)濾器過(guò)濾出段數(shù)據(jù),然后以軟件方式按照協(xié)議解析這些數(shù)據(jù),但時(shí)間較長(zhǎng)。如果接收一個(gè)段數(shù)據(jù)后馬上解析,很可能造成下一個(gè)段數(shù)據(jù)的丟失。為獲取丟失的段數(shù)據(jù),只能等到下一輪播周期,延時(shí)很大。為降低這種延時(shí),將段數(shù)據(jù)處理分成過(guò)濾和解析兩步,分別由兩個(gè)獨(dú)立線程同時(shí)進(jìn)行,并通過(guò)事件管理器通信協(xié)調(diào)運(yùn)行狀態(tài),如圖3所示。
另一方面,考慮到用戶很可能在不同的廣播應(yīng)用之間來(lái)回頻繁切換。如果一個(gè)廣播應(yīng)用退出時(shí)馬上釋放其相關(guān)資源,那么下次重啟時(shí)必須先從碼流中重新載入應(yīng)用代碼并實(shí)例化,這在廣播環(huán)境下很費(fèi)時(shí)間。因此,圖3中在DSM-CC文件系統(tǒng)中引入了應(yīng)用緩存策略,如果緩存超出了預(yù)期分配上限值,則釋放部分緩存給新下載的應(yīng)用。這種通過(guò)犧牲一定存儲(chǔ)空間換取時(shí)間效率的方法,可在廣播環(huán)境下有效提高系統(tǒng)的性能。
4.改進(jìn)型數(shù)據(jù)輪播性能測(cè)試和分析
表l比較了改進(jìn)型數(shù)據(jù)輪播和DVB對(duì)象輪播方案打包前后的數(shù)據(jù)。由表1可知,改進(jìn)型數(shù)據(jù)輪播引入的帶寬冗余信息要小于對(duì)象輪播,可為平臺(tái)節(jié)省更多的帶寬資源。
同時(shí),考慮到接收端中間件運(yùn)行的機(jī)頂盒環(huán)境資源相當(dāng)有限,相對(duì)對(duì)象輪播協(xié)議來(lái)說(shuō),簡(jiǎn)單的數(shù)據(jù)輪播協(xié)議實(shí)現(xiàn)更加容易,且耗費(fèi)的系統(tǒng)資源更少,能有效提高系統(tǒng)平臺(tái)效率。
5.小結(jié)
筆者提出的數(shù)字電視中間件增值業(yè)務(wù)支撐平臺(tái)方案已經(jīng)在上海藍(lán)信軟件公司的媒體烽火臺(tái)(MBT)上設(shè)計(jì)實(shí)現(xiàn)。該平臺(tái)的前端數(shù)據(jù)廣播系統(tǒng)和后端中間件系統(tǒng)都已經(jīng)實(shí)現(xiàn),并且在實(shí)際電視臺(tái)測(cè)試中表現(xiàn)出良好的性能。作為交互應(yīng)用傳輸?shù)募夹g(shù)基礎(chǔ),改進(jìn)型數(shù)據(jù)輪播方案非常簡(jiǎn)潔,便于在系統(tǒng)資源有限的接收端實(shí)現(xiàn)。另外,其引入的帶寬冗余較小,能有效節(jié)約平臺(tái)的帶寬資源,是國(guó)家中間件標(biāo)準(zhǔn)備選方案之一。
《電視技術(shù)》
相關(guān)鏈接: