當前位置:文書都 >

實用範文 >論文 >

論文:探討IPTV系統中EPG模塊框架的設計和實現

論文:探討IPTV系統中EPG模塊框架的設計和實現

IPTV系統是目前寬帶網絡技術的前沿應用,EPG提供IPTV系統和用户交互的首要界面,是系統的核心模塊之一。當前數字電視中EPG的常用設計方法不適合用來設計IPTV中的EPG。根據IPTV系統的自身特點,本文介紹了一種EPG模塊的設計和實現方法。

論文:探討IPTV系統中EPG模塊框架的設計和實現

關鍵詞 IPTV;EPG;機頂盒;MVC

1

IPTV即網絡電視,是目前一種新興的網絡應用,它利用寬帶互聯網的基礎設施,以家用電視機作為主要終端,通過互聯網協議(IP)來提供包括電視節目在內的多種數字媒體服務及其增值業務的技術。IPTV最大的優勢在於“互動性”和“按需觀看”,徹底改變了傳統電視單向廣播的特點[1]。它的出現極大的滿足了用户(文中的用户是指安裝了IPTV客户端的消費者,客户是指IPTV服務提供商和運營商)對在線影視欣賞的需求。IPTV的發展十分迅速,國際上,UT斯達康、微軟、西門子、阿爾卡特、惠普等,國內的華為、中興和盛大等廠家都投入了IPTV的開發和研究。國外早已有IPTV的商業運營系統,英國Video Networks公司早在1999年就推出了IPTV業務。國內截至目前,首個IPTV已在上海投入商業應用,並且中國電信已在五省市進行IPTV試點,IPTV在國內和國際都有廣闊的發展前景。

為了提供“互動性”和“按需觀看”,系統需要提供和用户交互的界面,供用户瀏覽系統提供的節目信息並選擇要欣賞的節目。在IPTV系統中由EPG(Electronic Program Guide電子程序嚮導)服務器提供這套界面。EPG是一個當前和將來節目信息的交互式節目安排表,用户通過操作遙控器進行瀏覽[2]。EPG模塊在整個IPTV系統中是至關重要的,它是整個IPTV系統的門户。EPG給用户提供一個容易使用的、界面友好的、可以快速訪問節目的一種方式。因此,用户對IPTV整個系統的評價在很大程度上取決於EPG。提供簡單易用、快速、穩定、美觀的交互界面是EPG的首要目標。

2 IPTV的系統結構模型

圖1是一個IPTV系統結構模型,此模型已在國內一些城市得到實際應用。在此模型結構圖中,整個IPTV系統分為兩大部分:後台部分和用户接入部分。後台部分主要提供媒體內容的管理、用户管理、整個系統的服務器管理、用户認證和計費管理等等。用户接入部分為用户提供視頻服務和其他服務,根據城市規模大小可分為多個區域,每一區域主要有區域媒體基站和EPG服務器。用户使用機頂盒[3] [4] [5]加電視或者PC作為終端,通過ADSL或小區寬帶收看系統存儲的節目或者直播電視節目。機頂盒是一台功能簡單的計算機,有CPU、內存、網絡連接設備、解碼器等硬件及操作系統和應用程序等軟件,接收通過寬帶IP網絡傳輸過來的視頻信號,信號經過處理後在電視機上顯示出來。用户通過操縱遙控器使用機頂盒提供的功能。

用户被劃分為多個區域,每個區域分別部署多個區域媒體服務器和EPG服務器,用户的視頻服務和交互界面由用户所在區域的媒體服務器和EPG服務器提供。這種部署方式具有容易擴充的特點,適合大規模部署。增加一個區域只須增加區域媒體基站和EPG服務器,對後台部分和其它區域不會造成影響。同時,用户的大部分數據流量都集中在自己所在區域,減輕了主幹網的負擔,而且單個區域系統的崩潰不會影響其它區域。

系統工作過程大致如下:①媒體源經過媒體處理模塊處理成系統所定義的格式,存儲在主媒體基站上,並由後台的媒體分發管理模塊負責如何將這些節目分發到下面的每一個區域中的媒體基站中。②同時有關節目的信息也被下發到EPG服務器中,供EPG顯示給用户。③用户開機經過後台認證後登錄到EPG服務器上,開始瀏覽系統的節目信息。④當用户選擇一個節目觀看後,EPG將有關節目信息和用户的信息發送到後台部分,由後台的用户管理部分判斷用户是否能夠欣賞節目,如果可以,用户的機頂盒則向本區域的媒體基站發送播放節目的請求。⑤播放完畢,機頂盒向後台發送扣除相應收費的請求,同時重新定向到EPG服務器,用户可以繼續瀏覽節目和欣賞節目。

考慮到目前IPTV在國內還處於發展階段,一個區域的用户不是很多。目前系統設計為一個區域支持最多3000用户,在同一時刻訪問EPG服務器的用户數不超過500。當用户數量增多時,可以使用EPG服務器集羣。在圖1中,每個區域都部署了一個主EPG服務器,為了系統的穩定性,同時也部署了一個備用的EPG服務器。

3 EPG模塊的設計

從IPTV系統在中國的部署應用看,EPG模塊是整個系統中需求變化最大、最快的模塊,而且是直接展示給客户的模塊,很大程度上決定客户是否採用我們的系統。模塊在整體框架設計時,主要考慮以下原則:

(1) 結構清晰,開發快速。客户的需求變化是很快的,在設計時,首先要考慮能夠在最短的時間內按照客户的要求開發出新界面,結構清晰的設計有利於快速開發。

(2) 維護方便。能夠讓客户在對EPG代碼和實現不是很瞭解的情況下改動EPG的某些代碼或修改一些配置,而不會影響EPG的運行。

(3) 方便客户定製。客户可能要求自己製作EPG。因此,設計時要考慮到能夠快速、簡單地使客户明白EPG的製作過程,在較短時間內掌握製作EPG。

(4) 性能滿足設計要求。要滿足設計時的性能要求,主要考慮服務器優化,數據庫的優化。

(5) 界面簡單美觀,有良好的可擴展性和開放性。容易支持新的業務,能夠兼容不同廠家的機頂盒。

EPG實現主要有兩種方案選擇,本地應用方案和交互式實現方案 [7]。目前國內和國外的EPG設計基本上是針對數字電視的,其EPG實現一般採用本地應用方案。本地方案對機頂盒的硬件要求較高,而且在和用户的交互性方面做的不是很好。IPTV是一種和用户有高度交互性的系統,設計和實現適合採用第二種方案。

此模型中EPG實現選擇交互式方案,採用由EPG服務器給機頂盒提供HTML頁面的實現方式。將系統的節目信息存儲在數據庫中,服務器從數據庫中檢索節目信息,以HTML頁面的形式提供給機頂盒,機頂盒解析頁面後呈現給用户。這樣,對PC用户來説,用户端自帶的瀏覽器即可瀏覽。對使用機頂盒的用户來説,需要機頂盒實現能夠解析HTML頁面的'功能。

在本文中,着重針對機頂盒的EPG設計 ,具體實現採用Linux+Apache+MySQL+PHP,程序的整個框架設計基於MVC模式的思想。

 3.1 MVC的設計模式

模型-視圖-控制(Model-View-Controller)是一種經典的軟件設計模式,它採用分治的思想將系統分成三大模塊,每個模塊各負其責,其關係如圖2所示。

(1) 模型。負責維護數據並提供數據訪問方法。模型只有純粹的功能性接口, 也就是一系列的公開方法。通過這些公開方法, 可以取得模型的所有功能。

(2) 視圖。用來顯示模型的數據。在一個MVC 模型中可以有多個視圖。

(3) 控制器。用户可以通過視圖來改變模型的狀態, 這種更新是通過控制器來完成的。控制器負責調用模型的改值方法以改變模型的狀態, 同時, 控制器會通知所有的已登記視圖刷新數據顯示。

MVC 體系有效地實現了表示與數據的分離,能很方便地用多個視圖來顯示多套數據,使系統很方便地支持其它新的客户端類型,可以很好地表達用户的交互。從國內的應用情況看,大部分客户都是對顯示界面要求不一樣,對程序處理邏輯有少量不同。採用MVC模式,可以很方便的響應客户的需求變化,而且可以很容易提供不同的顯示界面讓客户自己選擇。

3.2 具體實現

根據設計目的和MVC模式,考慮到用户使用的終端設備為機頂盒,在客户端需要一些與機頂盒有關的特殊處理,服務器處理請求的實現過程分為五個層次,如圖3所示。

(1) 頁面展示層。負責系統節目信息的顯示。

(2) 用户端處理層。負責請求發出前和請求處理結果返回後的一些特殊處理。此處加入用户端處理層主要是因為目前用户的終端為機頂盒,機頂盒瀏覽器的功能不是很強。在用户轉向另外一個頁面或者返回到原來的頁面都需要EPG做一些處理,比如記錄光標的位置、初始化光標位置。

(3) 請求和響應層。負責請求到達服務器後和處理結果返回給用户端前的一些處理。

(4) 邏輯處理層。負責對客户的請求進行處理。

(5) 數據訪問層。負責提供獲取數據庫中數據的接口。

我們以顯示熱門影片的實例説明使用MVC模式的思想處理請求的過程。處理顯示熱門影片請求的過程如圖4所示。

過程如下:

(1)用户在首頁單擊“最新影片”,經過用户端控制層處理(關閉在首頁播放的廣告視頻)後,請求被提交到服務器進行處理。

(2)請求和響應層開始處理請求,保存上一頁有關的狀態,並且初始化一些變量(如取數據的類、保存頁面所有信息的變量)。

(3)邏輯處理層計算數據庫中要取的熱門影片的起始位置和數量。

(4)調用數據訪問層的接口開始從數據庫裏面取出熱門影片的信息(節目名稱、價格、簡介、海報圖片名稱等)。

(5)邏輯處理層對取到的數據進行轉換,轉換後的所有數據保存在一個變量中,這個變量要傳遞給顯示結果的頁面。

(6)請求和響應層調用顯示結果的頁面和用户端的控制代碼,生成HTML代碼。

(7)機頂盒解析傳遞過來的HTML頁面,初始化光標位置,將熱門影片信息顯示給用户。

開發之前,在設計文檔中定義預先定義頁面展示層和邏輯處理層、邏輯處理層和數據訪問層的接口。每一部分的開發人員只須關心自己所做的部分,使用其它層提供的接口調用其它層的功能。這樣各個部分的開發可以並行工作,大大提高了開發速度。

數據訪問層和邏輯處理層可以很容易編寫單元測試來測試自己的代碼,不受其它層的代碼的影響,很大程度上提高了軟件的質量。同時後期的維護也是很方便的,如果需求有變,只須改動需求變化所在層次的代碼,不用關心其它層代碼是否要改動。

整個EPG模塊每個頁面的編碼都遵循這種規則。同時我們提供給客户一個EPG參考手冊,主要是取數據的接口函數和用户端處理層JavaScript函數的使用説明。客户只需要掌握一個頁面的製作過程和所提供的使用手冊中的函數調用方法,並具有一定的編程水平,就可在很短的時間內獨立編寫自己的EPG。

3.3 EPG性能測試

為了測試EPG性能是否達到了當初的設計要求,使用LoadRunner測試工具對EPG服務器進行了性能測試,測試最主要的指標是不同併發用户數時的事務響應時間,它是服務器性能最重要的指標。

測試的硬件環境為:CPU Intel(R) Pentium(R)4 2.40GHz, 內存 1GB,網卡 1GB/s。軟件環境為:操作系統 RedHat 9.0, Apache 2.0.50,MySQL 4.0.21,PHP 4.3.9RC3-dev,Squid 2.5 STABLE1。

LoadRunner模擬測試併發用户數為220、500,測試EPG服務器的事務響應時間和事務完成情況。服務器響應時間和事務完成情況測試數據如表1和表2所示。從測試數據看,當併發用户數為500時,沒有出現事務失敗的情況,平均響應時間不超過3秒。對用户來説,這個時間是可以接受的。説明採用這種設計方法開發EPG,服務器的性能也達到了預先的要求。

從以上的測試和分析可以看出,使用上文所説的設計方法開發EPG總體上達到了預先的設計原則。

4 結束語

本文闡述了一個IPTV系統模型及其EPG模塊的設計和實現,在實際應用中也證明了我們的設計方法對快速開發易維護、方便擴展的EPG是正確和可行的。隨着IPTV的發展和用户數的增多,今後需要在服務器的性能方面和EPG的個性化方面進行更深入的研究。

表1 EPG服務器響應時間

事務

模擬用户數

登錄EPG

瀏覽VOD菜單

瀏覽TV菜單

返回首頁

220

最大響應時間

4.456

3.464

4.048

4.035

最小響應時間

0.034

0.017

0.038

0.016

平均響應時間

0.297

0.279

0.0941

0.245

500

最大響應時間

10.465

9.087

8.53

8.551

最小響應時間

0.035

0.017

0.038

0.016

平均響應時間

2.611

1.934

2.471

2.054

表2 事務執行統計

事務

模擬用户數

登錄EPG

瀏覽VOD菜單

瀏覽TV菜單

返回首頁

220

共執行次數

26010

26010

26010

26010

通過次數

26010

26010

26010

26010

失敗次數

500

共執行次數

82904

82904

82904

82904

通過次數

82904

82904

82904

82904

失敗次數

參考文獻:

[1] 關注IPTV關注網絡發展[EB/OL]. 2005.12.16

[2] Electronic Program Guide(EPG) [EB/OL]. 2005.12.16

[3] Ciciora W S. Inside the Set-Top Box. In IEEE Spectrum[C]. 1995,(4):70~75

[4] Perkowsky S, Jaeger R. The Set-Top Box as MultiMedia Terminal[C]. In IEEE Transaction on Consmer Electronic, 1998,44(3):833~840

[5] 林勝,林國輝,全子一. 一種ATM網絡機頂盒的NIU實現[J].電視技術,2000,6(216):40~42

[6] A lur D. J2EE 核心模式[M ]. 牛志奇譯. 北京: 機械工業出版社, 2002.

[7] 汪志明,鄒道文,周源華. 數字電視中電子節目指南系統的研究[J]. 數字電視與數字視頻,2002,11(245):(4~6)

[8] 趙慶斌系統結構和關鍵技術[J]. 通信管理與技術,2005,8(4):(14~16)

  • 文章版權屬於文章作者所有,轉載請註明 https://wenshudu.com/shiyongfanwen/lunwen/lkg09j.html
專題