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

來源:才華庫 1.5W

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)

熱門標籤