- 相關(guān)推薦
論文:探討IPTV系統(tǒng)中EPG模塊框架的設(shè)計(jì)和實(shí)現(xiàn)
摘 要 IPTV系統(tǒng)是目前寬帶網(wǎng)絡(luò)技術(shù)的前沿應(yīng)用,EPG提供IPTV系統(tǒng)和用戶交互的首要界面,是系統(tǒng)的核心模塊之一。當(dāng)前數(shù)字電視中EPG的常用設(shè)計(jì)方法不適合用來設(shè)計(jì)IPTV中的EPG。根據(jù)IPTV系統(tǒng)的自身特點(diǎn),本文介紹了一種EPG模塊的設(shè)計(jì)和實(shí)現(xiàn)方法。
關(guān)鍵詞 IPTV;EPG;機(jī)頂盒;MVC
1 引 言
IPTV即網(wǎng)絡(luò)電視,是目前一種新興的網(wǎng)絡(luò)應(yīng)用,它利用寬帶互聯(lián)網(wǎng)的基礎(chǔ)設(shè)施,以家用電視機(jī)作為主要終端,通過互聯(lián)網(wǎng)協(xié)議(IP)來提供包括電視節(jié)目在內(nèi)的多種數(shù)字媒體服務(wù)及其增值業(yè)務(wù)的技術(shù)。IPTV最大的優(yōu)勢(shì)在于“互動(dòng)性”和“按需觀看”,徹底改變了傳統(tǒng)電視單向廣播的特點(diǎn)[1]。它的出現(xiàn)極大的滿足了用戶(文中的用戶是指安裝了IPTV客戶端的消費(fèi)者,客戶是指IPTV服務(wù)提供商和運(yùn)營(yíng)商)對(duì)在線影視欣賞的需求。IPTV的發(fā)展十分迅速,國(guó)際上,UT斯達(dá)康、微軟、西門子、阿爾卡特、惠普等,國(guó)內(nèi)的華為、中興和盛大等廠家都投入了IPTV的開發(fā)和研究。國(guó)外早已有IPTV的商業(yè)運(yùn)營(yíng)系統(tǒng),英國(guó)Video Networks公司早在1999年就推出了IPTV業(yè)務(wù)。國(guó)內(nèi)截至目前,首個(gè)IPTV已在上海投入商業(yè)應(yīng)用,并且中國(guó)電信已在五省市進(jìn)行IPTV試點(diǎn),IPTV在國(guó)內(nèi)和國(guó)際都有廣闊的發(fā)展前景。
為了提供“互動(dòng)性”和“按需觀看”,系統(tǒng)需要提供和用戶交互的界面,供用戶瀏覽系統(tǒng)提供的節(jié)目信息并選擇要欣賞的節(jié)目。在IPTV系統(tǒng)中由EPG(Electronic Program Guide電子程序向?qū)В┓⻊?wù)器提供這套界面。EPG是一個(gè)當(dāng)前和將來節(jié)目信息的交互式節(jié)目安排表,用戶通過操作遙控器進(jìn)行瀏覽[2]。EPG模塊在整個(gè)IPTV系統(tǒng)中是至關(guān)重要的,它是整個(gè)IPTV系統(tǒng)的門戶。EPG給用戶提供一個(gè)容易使用的、界面友好的、可以快速訪問節(jié)目的一種方式。因此,用戶對(duì)IPTV整個(gè)系統(tǒng)的評(píng)價(jià)在很大程度上取決于EPG。提供簡(jiǎn)單易用、快速、穩(wěn)定、美觀的交互界面是EPG的首要目標(biāo)。
2 IPTV的系統(tǒng)結(jié)構(gòu)模型
圖1是一個(gè)IPTV系統(tǒng)結(jié)構(gòu)模型,此模型已在國(guó)內(nèi)一些城市得到實(shí)際應(yīng)用。在此模型結(jié)構(gòu)圖中,整個(gè)IPTV系統(tǒng)分為兩大部分:后臺(tái)部分和用戶接入部分。后臺(tái)部分主要提供媒體內(nèi)容的管理、用戶管理、整個(gè)系統(tǒng)的服務(wù)器管理、用戶認(rèn)證和計(jì)費(fèi)管理等等。用戶接入部分為用戶提供視頻服務(wù)和其他服務(wù),根據(jù)城市規(guī)模大小可分為多個(gè)區(qū)域,每一區(qū)域主要有區(qū)域媒體基站和EPG服務(wù)器。用戶使用機(jī)頂盒[3] [4] [5]加電視或者PC作為終端,通過ADSL或小區(qū)寬帶收看系統(tǒng)存儲(chǔ)的節(jié)目或者直播電視節(jié)目。機(jī)頂盒是一臺(tái)功能簡(jiǎn)單的計(jì)算機(jī),有CPU、內(nèi)存、網(wǎng)絡(luò)連接設(shè)備、解碼器等硬件及操作系統(tǒng)和應(yīng)用程序等軟件,接收通過寬帶IP網(wǎng)絡(luò)傳輸過來的視頻信號(hào),信號(hào)經(jīng)過處理后在電視機(jī)上顯示出來。用戶通過操縱遙控器使用機(jī)頂盒提供的功能。
用戶被劃分為多個(gè)區(qū)域,每個(gè)區(qū)域分別部署多個(gè)區(qū)域媒體服務(wù)器和EPG服務(wù)器,用戶的視頻服務(wù)和交互界面由用戶所在區(qū)域的媒體服務(wù)器和EPG服務(wù)器提供。這種部署方式具有容易擴(kuò)充的特點(diǎn),適合大規(guī)模部署。增加一個(gè)區(qū)域只須增加區(qū)域媒體基站和EPG服務(wù)器,對(duì)后臺(tái)部分和其它區(qū)域不會(huì)造成影響。同時(shí),用戶的大部分?jǐn)?shù)據(jù)流量都集中在自己所在區(qū)域,減輕了主干網(wǎng)的負(fù)擔(dān),而且單個(gè)區(qū)域系統(tǒng)的崩潰不會(huì)影響其它區(qū)域。
系統(tǒng)工作過程大致如下:①媒體源經(jīng)過媒體處理模塊處理成系統(tǒng)所定義的格式,存儲(chǔ)在主媒體基站上,并由后臺(tái)的媒體分發(fā)管理模塊負(fù)責(zé)如何將這些節(jié)目分發(fā)到下面的每一個(gè)區(qū)域中的媒體基站中。②同時(shí)有關(guān)節(jié)目的信息也被下發(fā)到EPG服務(wù)器中,供EPG顯示給用戶。③用戶開機(jī)經(jīng)過后臺(tái)認(rèn)證后登錄到EPG服務(wù)器上,開始瀏覽系統(tǒng)的節(jié)目信息。④當(dāng)用戶選擇一個(gè)節(jié)目觀看后,EPG將有關(guān)節(jié)目信息和用戶的信息發(fā)送到后臺(tái)部分,由后臺(tái)的用戶管理部分判斷用戶是否能夠欣賞節(jié)目,如果可以,用戶的機(jī)頂盒則向本區(qū)域的媒體基站發(fā)送播放節(jié)目的請(qǐng)求。⑤播放完畢,機(jī)頂盒向后臺(tái)發(fā)送扣除相應(yīng)收費(fèi)的請(qǐng)求,同時(shí)重新定向到EPG服務(wù)器,用戶可以繼續(xù)瀏覽節(jié)目和欣賞節(jié)目。
考慮到目前IPTV在國(guó)內(nèi)還處于發(fā)展階段,一個(gè)區(qū)域的用戶不是很多。目前系統(tǒng)設(shè)計(jì)為一個(gè)區(qū)域支持最多3000用戶,在同一時(shí)刻訪問EPG服務(wù)器的用戶數(shù)不超過500。當(dāng)用戶數(shù)量增多時(shí),可以使用EPG服務(wù)器集群。在圖1中,每個(gè)區(qū)域都部署了一個(gè)主EPG服務(wù)器,為了系統(tǒng)的穩(wěn)定性,同時(shí)也部署了一個(gè)備用的EPG服務(wù)器。
3 EPG模塊的設(shè)計(jì)
從IPTV系統(tǒng)在中國(guó)的部署應(yīng)用看,EPG模塊是整個(gè)系統(tǒng)中需求變化最大、最快的模塊,而且是直接展示給客戶的模塊,很大程度上決定客戶是否采用我們的系統(tǒng)。模塊在整體框架設(shè)計(jì)時(shí),主要考慮以下原則:
(1) 結(jié)構(gòu)清晰,開發(fā)快速?蛻舻男枨笞兓呛芸斓,在設(shè)計(jì)時(shí),首先要考慮能夠在最短的時(shí)間內(nèi)按照客戶的要求開發(fā)出新界面,結(jié)構(gòu)清晰的設(shè)計(jì)有利于快速開發(fā)。
(2) 維護(hù)方便。能夠讓客戶在對(duì)EPG代碼和實(shí)現(xiàn)不是很了解的情況下改動(dòng)EPG的某些代碼或修改一些配置,而不會(huì)影響EPG的運(yùn)行。
。3) 方便客戶定制?蛻艨赡芤笞约褐谱鱁PG。因此,設(shè)計(jì)時(shí)要考慮到能夠快速、簡(jiǎn)單地使客戶明白EPG的制作過程,在較短時(shí)間內(nèi)掌握制作EPG。
。4) 性能滿足設(shè)計(jì)要求。要滿足設(shè)計(jì)時(shí)的性能要求,主要考慮服務(wù)器優(yōu)化,數(shù)據(jù)庫(kù)的優(yōu)化。
。5) 界面簡(jiǎn)單美觀,有良好的可擴(kuò)展性和開放性。容易支持新的業(yè)務(wù),能夠兼容不同廠家的機(jī)頂盒。
EPG實(shí)現(xiàn)主要有兩種方案選擇,本地應(yīng)用方案和交互式實(shí)現(xiàn)方案 [7]。目前國(guó)內(nèi)和國(guó)外的EPG設(shè)計(jì)基本上是針對(duì)數(shù)字電視的,其EPG實(shí)現(xiàn)一般采用本地應(yīng)用方案。本地方案對(duì)機(jī)頂盒的硬件要求較高,而且在和用戶的交互性方面做的不是很好。IPTV是一種和用戶有高度交互性的系統(tǒng),設(shè)計(jì)和實(shí)現(xiàn)適合采用第二種方案。
此模型中EPG實(shí)現(xiàn)選擇交互式方案,采用由EPG服務(wù)器給機(jī)頂盒提供HTML頁面的實(shí)現(xiàn)方式。將系統(tǒng)的節(jié)目信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,服務(wù)器從數(shù)據(jù)庫(kù)中檢索節(jié)目信息,以HTML頁面的形式提供給機(jī)頂盒,機(jī)頂盒解析頁面后呈現(xiàn)給用戶。這樣,對(duì)PC用戶來說,用戶端自帶的瀏覽器即可瀏覽。對(duì)使用機(jī)頂盒的用戶來說,需要機(jī)頂盒實(shí)現(xiàn)能夠解析HTML頁面的功能。
在本文中,著重針對(duì)機(jī)頂盒的EPG設(shè)計(jì) ,具體實(shí)現(xiàn)采用Linux+Apache+MySQL+PHP,程序的整個(gè)框架設(shè)計(jì)基于MVC模式的思想。
3.1 MVC的設(shè)計(jì)模式
模型-視圖-控制(Model-View-Controller)是一種經(jīng)典的軟件設(shè)計(jì)模式,它采用分治的思想將系統(tǒng)分成三大模塊,每個(gè)模塊各負(fù)其責(zé),其關(guān)系如圖2所示。
(1) 模型。負(fù)責(zé)維護(hù)數(shù)據(jù)并提供數(shù)據(jù)訪問方法。模型只有純粹的功能性接口, 也就是一系列的公開方法。通過這些公開方法, 可以取得模型的所有功能。
(2) 視圖。用來顯示模型的數(shù)據(jù)。在一個(gè)MVC 模型中可以有多個(gè)視圖。
(3) 控制器。用戶可以通過視圖來改變模型的狀態(tài), 這種更新是通過控制器來完成的?刂破髫(fù)責(zé)調(diào)用模型的改值方法以改變模型的狀態(tài), 同時(shí), 控制器會(huì)通知所有的已登記視圖刷新數(shù)據(jù)顯示。
MVC 體系有效地實(shí)現(xiàn)了表示與數(shù)據(jù)的分離,能很方便地用多個(gè)視圖來顯示多套數(shù)據(jù),使系統(tǒng)很方便地支持其它新的客戶端類型,可以很好地表達(dá)用戶的交互。從國(guó)內(nèi)的應(yīng)用情況看,大部分客戶都是對(duì)顯示界面要求不一樣,對(duì)程序處理邏輯有少量不同。采用MVC模式,可以很方便的響應(yīng)客戶的需求變化,而且可以很容易提供不同的顯示界面讓客戶自己選擇。
3.2 具體實(shí)現(xiàn)
根據(jù)設(shè)計(jì)目的和MVC模式,考慮到用戶使用的終端設(shè)備為機(jī)頂盒,在客戶端需要一些與機(jī)頂盒有關(guān)的特殊處理,服務(wù)器處理請(qǐng)求的實(shí)現(xiàn)過程分為五個(gè)層次,如圖3所示。
(1) 頁面展示層。負(fù)責(zé)系統(tǒng)節(jié)目信息的顯示。
。ǎ玻 用戶端處理層。負(fù)責(zé)請(qǐng)求發(fā)出前和請(qǐng)求處理結(jié)果返回后的一些特殊處理。此處加入用戶端處理層主要是因?yàn)槟壳坝脩舻慕K端為機(jī)頂盒,機(jī)頂盒瀏覽器的功能不是很強(qiáng)。在用戶轉(zhuǎn)向另外一個(gè)頁面或者返回到原來的頁面都需要EPG做一些處理,比如記錄光標(biāo)的位置、初始化光標(biāo)位置。
。ǎ常 請(qǐng)求和響應(yīng)層。負(fù)責(zé)請(qǐng)求到達(dá)服務(wù)器后和處理結(jié)果返回給用戶端前的一些處理。
。ǎ矗 邏輯處理層。負(fù)責(zé)對(duì)客戶的請(qǐng)求進(jìn)行處理。
。ǎ担 數(shù)據(jù)訪問層。負(fù)責(zé)提供獲取數(shù)據(jù)庫(kù)中數(shù)據(jù)的接口。
我們以顯示熱門影片的實(shí)例說明使用MVC模式的思想處理請(qǐng)求的過程。處理顯示熱門影片請(qǐng)求的過程如圖4所示。
過程如下:
(1)用戶在首頁單擊“最新影片”,經(jīng)過用戶端控制層處理(關(guān)閉在首頁播放的廣告視頻)后,請(qǐng)求被提交到服務(wù)器進(jìn)行處理。
(2)請(qǐng)求和響應(yīng)層開始處理請(qǐng)求,保存上一頁有關(guān)的狀態(tài),并且初始化一些變量(如取數(shù)據(jù)的類、保存頁面所有信息的變量)。
。ǎ常┻壿嬏幚韺佑(jì)算數(shù)據(jù)庫(kù)中要取的熱門影片的起始位置和數(shù)量。
。ǎ矗┱{(diào)用數(shù)據(jù)訪問層的接口開始從數(shù)據(jù)庫(kù)里面取出熱門影片的信息(節(jié)目名稱、價(jià)格、簡(jiǎn)介、海報(bào)圖片名稱等)。
。ǎ担┻壿嬏幚韺訉(duì)取到的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后的所有數(shù)據(jù)保存在一個(gè)變量中,這個(gè)變量要傳遞給顯示結(jié)果的頁面。
(6)請(qǐng)求和響應(yīng)層調(diào)用顯示結(jié)果的頁面和用戶端的控制代碼,生成HTML代碼。
。ǎ罚C(jī)頂盒解析傳遞過來的HTML頁面,初始化光標(biāo)位置,將熱門影片信息顯示給用戶。
開發(fā)之前,在設(shè)計(jì)文檔中定義預(yù)先定義頁面展示層和邏輯處理層、邏輯處理層和數(shù)據(jù)訪問層的接口。每一部分的開發(fā)人員只須關(guān)心自己所做的部分,使用其它層提供的接口調(diào)用其它層的功能。這樣各個(gè)部分的開發(fā)可以并行工作,大大提高了開發(fā)速度。
數(shù)據(jù)訪問層和邏輯處理層可以很容易編寫單元測(cè)試來測(cè)試自己的代碼,不受其它層的代碼的影響,很大程度上提高了軟件的質(zhì)量。同時(shí)后期的維護(hù)也是很方便的,如果需求有變,只須改動(dòng)需求變化所在層次的代碼,不用關(guān)心其它層代碼是否要改動(dòng)。
整個(gè)EPG模塊每個(gè)頁面的編碼都遵循這種規(guī)則。同時(shí)我們提供給客戶一個(gè)EPG參考手冊(cè),主要是取數(shù)據(jù)的接口函數(shù)和用戶端處理層JavaScript函數(shù)的使用說明?蛻糁恍枰莆找粋(gè)頁面的制作過程和所提供的使用手冊(cè)中的函數(shù)調(diào)用方法,并具有一定的編程水平,就可在很短的時(shí)間內(nèi)獨(dú)立編寫自己的EPG。
3.3 EPG性能測(cè)試
為了測(cè)試EPG性能是否達(dá)到了當(dāng)初的設(shè)計(jì)要求,使用LoadRunner測(cè)試工具對(duì)EPG服務(wù)器進(jìn)行了性能測(cè)試,測(cè)試最主要的指標(biāo)是不同并發(fā)用戶數(shù)時(shí)的事務(wù)響應(yīng)時(shí)間,它是服務(wù)器性能最重要的指標(biāo)。
測(cè)試的硬件環(huán)境為:CPU Intel(R) Pentium(R)4 2.40GHz, 內(nèi)存 1GB,網(wǎng)卡 1GB/s。軟件環(huán)境為:操作系統(tǒng) RedHat 9.0, Apache 2.0.50,MySQL 4.0.21,PHP 4.3.9RC3-dev,Squid 2.5 STABLE1。
LoadRunner模擬測(cè)試并發(fā)用戶數(shù)為220、500,測(cè)試EPG服務(wù)器的事務(wù)響應(yīng)時(shí)間和事務(wù)完成情況。服務(wù)器響應(yīng)時(shí)間和事務(wù)完成情況測(cè)試數(shù)據(jù)如表1和表2所示。從測(cè)試數(shù)據(jù)看,當(dāng)并發(fā)用戶數(shù)為500時(shí),沒有出現(xiàn)事務(wù)失敗的情況,平均響應(yīng)時(shí)間不超過3秒。對(duì)用戶來說,這個(gè)時(shí)間是可以接受的。說明采用這種設(shè)計(jì)方法開發(fā)EPG,服務(wù)器的性能也達(dá)到了預(yù)先的要求。
從以上的測(cè)試和分析可以看出,使用上文所說的設(shè)計(jì)方法開發(fā)EPG總體上達(dá)到了預(yù)先的設(shè)計(jì)原則。
4 結(jié)束語
本文闡述了一個(gè)IPTV系統(tǒng)模型及其EPG模塊的設(shè)計(jì)和實(shí)現(xiàn),在實(shí)際應(yīng)用中也證明了我們的設(shè)計(jì)方法對(duì)快速開發(fā)易維護(hù)、方便擴(kuò)展的EPG是正確和可行的。隨著IPTV的發(fā)展和用戶數(shù)的增多,今后需要在服務(wù)器的性能方面和EPG的個(gè)性化方面進(jìn)行更深入的研究。
表1 EPG服務(wù)器響應(yīng)時(shí)間
事務(wù)
模擬用戶數(shù)
登錄EPG
瀏覽VOD菜單
瀏覽TV菜單
返回首頁
220
最大響應(yīng)時(shí)間
4.456
3.464
4.048
4.035
最小響應(yīng)時(shí)間
0.034
0.017
0.038
0.016
平均響應(yīng)時(shí)間
0.297
0.279
0.0941
0.245
500
最大響應(yīng)時(shí)間
10.465
9.087
8.53
8.551
最小響應(yīng)時(shí)間
0.035
0.017
0.038
0.016
平均響應(yīng)時(shí)間
2.611
1.934
2.471
2.054
表2 事務(wù)執(zhí)行統(tǒng)計(jì)
事務(wù)
模擬用戶數(shù)
登錄EPG
瀏覽VOD菜單
瀏覽TV菜單
返回首頁
220
共執(zhí)行次數(shù)
26010
26010
26010
26010
通過次數(shù)
26010
26010
26010
26010
失敗次數(shù)
500
共執(zhí)行次數(shù)
82904
82904
82904
82904
通過次數(shù)
82904
82904
82904
82904
失敗次數(shù)
參考文獻(xiàn):
[1] 關(guān)注IPTV關(guān)注網(wǎng)絡(luò)發(fā)展[EB/OL]. http://www.chinabbc.com.cn/news/news.asp?newsid=200563111314246&classid=112111 2005.12.16
[2] Electronic Program Guide(EPG) [EB/OL]. http://www.abc.net.au/reception/digital/epg.htm 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] 林勝,林國(guó)輝,全子一. 一種ATM網(wǎng)絡(luò)機(jī)頂盒的NIU實(shí)現(xiàn)[J].電視技術(shù),2000,6(216):40~42
[6] A lur D. J2EE 核心模式[M ]. 牛志奇譯. 北京: 機(jī)械工業(yè)出版社, 2002.
[7] 汪志明,鄒道文,周源華. 數(shù)字電視中電子節(jié)目指南系統(tǒng)的研究[J]. 數(shù)字電視與數(shù)字視頻,2002,11(245):(4~6)
[8] 趙慶斌.IPTV系統(tǒng)結(jié)構(gòu)和關(guān)鍵技術(shù)[J]. 通信管理與技術(shù),2005,8(4):(14~16)
【論文:探討IPTV系統(tǒng)中EPG模塊框架的設(shè)計(jì)和實(shí)現(xiàn)】相關(guān)文章:
解析科技競(jìng)賽賽務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)論文04-19
游戲造型中角色裝備設(shè)計(jì)在教學(xué)中的探討論文07-12
網(wǎng)絡(luò)教學(xué)中的教學(xué)設(shè)計(jì)探討11-23
復(fù)合圖書館的基本理論與建設(shè)框架探討論文07-28
高校平面設(shè)計(jì)的軟件模塊化教學(xué)論文07-12
模塊化包裝設(shè)計(jì)教學(xué)模式研究論文06-23
旅游網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文11-14
電影院售票系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)開題報(bào)告12-01