衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用Linux+Apache+MySQL+PHP實現EPG模塊的設計

電子設計 ? 來源:計算機與信息技術 ? 作者:黃志濤,張建標, ? 2021-06-17 16:12 ? 次閱讀

作者:黃志濤,張建標,包薩如拉

1 引 言

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

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

2 IPTV的系統結構模型

圖1是一個IPTV系統結構模型,此模型已在國內一些城市得到實際應用。在此模型結構圖中,整個IPTV系統分為兩大部分:后臺部分和用戶接入部分。后臺部分主要提供媒體內容的管理、用戶管理、整個系統的服務器管理、用戶認證和計費管理等等。用戶接入部分為用戶提供視頻服務和其他服務,根據城市規模大小可分為多個區域,每一區域主要有區域媒體基站和EPG服務器。用戶使用機頂盒 加電視或者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實現主要有兩種方案選擇,本地應用方案和交互式實現方案 。目前國內和國外的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,PHP4.3.9RC3-dev,Squid 2.5 STABLE1。

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

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

4 結束語

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

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8694

    瀏覽量

    151929
  • 西門子
    +關注

    關注

    95

    文章

    3062

    瀏覽量

    116453
  • 服務器
    +關注

    關注

    12

    文章

    9308

    瀏覽量

    86071
收藏 人收藏

    評論

    相關推薦

    【NanoPi M2試用體驗】基于Apache2+PHP5+Mysql環境的網頁服務器搭建

    apache2 apache2-doc libapache2-mod-php5 其中apache2-doc是apache服務器的說明和配置
    發表于 05-18 20:26

    【NanoPi NEO申請】mysql+php5+apache 架設網站服務器

    想要用NanoPi NEO 安裝mysql+php5+apache 制作一個網絡服務器,用于網址的訪問需要進行的步驟1.熟悉和了解NanoPi NEO的硬件功能和手能實現的工能2.熟悉linux
    發表于 10-24 18:15

    PHP/MySQL教程

    PHP/MySQL教程(一)  PHP/MySQL教程(二)  PHP/MySQL
    發表于 01-10 23:43 ?0次下載

    php開發環境的搭建和使用

    (iis)+php+mysql+phpadmin(管理mysql的一個界面操作軟件)=>wamp。2、在linux系統下搭建:linux+apache+php+mysql=>lamp
    的頭像 發表于 02-01 15:26 ?3500次閱讀
    <b class='flag-5'>php</b>開發環境的搭建和使用

    PHP的安全性詳細資料說明

    本文所討論的安全性環境是在Linux+Apache+Mysql+PHP。超出此范圍的安全性問題不在本文范疇之內。
    發表于 02-22 14:25 ?3次下載
    <b class='flag-5'>PHP</b>的安全性詳細資料說明

    散裝包完美搭建wamp(windows+Apache+MySQL+php+phpmyadmin)

    散裝包完美搭建wamp(windows+Apache+MySQL+php+phpmyadmin)(肇慶理士電源技術有限公司電話)-文檔為散裝包完美搭建wamp(windows+Apache+MySQL+php+phpmyadmin-附有圖片)詳解文檔,是一份不錯的參考資料
    發表于 09-18 13:45 ?1次下載
    散裝包完美搭建wamp(windows+<b class='flag-5'>Apache+MySQL+php</b>+phpmyadmin)

    VISTA-64位-PHP+MYSQL+APACHE配置方法

    VISTA-64位-PHP+MYSQL+APACHE配置方法(南方電網通信電源技術規范)-文檔為VISTA-64位-PHP+MYSQL+APACHE配置方法詳解文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,,,
    發表于 09-18 13:51 ?14次下載
    VISTA-64位-<b class='flag-5'>PHP+MYSQL+APACHE</b>配置方法

    Php+mysql+apache編譯安裝詳述

    Php+mysql+apache編譯安裝詳述(深圳市核達中遠通電源技術股份有限公司大嗎)-文檔為Php+mysql+apache編譯安裝詳述詳解文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,,,
    發表于 09-18 14:42 ?2次下載
    <b class='flag-5'>Php+mysql+apache</b>編譯安裝詳述

    CentOS下配置Apache+PHP+MySQL

    CentOS下配置Apache+PHP+MySQL(開關電源技術課程設計buckboost)-文檔為CentOS下配置Apache+PHP+MySQL詳解文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,,,
    發表于 09-18 15:10 ?11次下載
    CentOS下配置<b class='flag-5'>Apache+PHP+MySQL</b>

    CentOS-5.3搭建Apache2.2.4+Mysql5.1.4+PHP5.3服務器

    CentOS-5.3搭建Apache2.2.4+Mysql5.1.4+PHP5.3服務器(通信電源技術學術報告)-文檔為CentOS-5.3搭建Apache2.2.4+Mysql5.1.4+PHP5.3服務器詳解文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,,
    發表于 09-18 15:56 ?4次下載
    CentOS-5.3搭建<b class='flag-5'>Apache2.2.4+Mysql5.1.4+PHP</b>5.3服務器

    Apache2.2.x+PHP5.3.x+MySQL5.1.x-搭建WMAP運行環境

    Apache2.2.x+PHP5.3.x+MySQL5.1.x-搭建WMAP運行環境(深圳市核達中遠通電源技術有限公司上市)-文檔為Apache2.2.x+PHP5.3.x+MySQL5.1.x-搭建WMAP運行環境詳解文檔,是一份不錯的參考資料,感興趣的可以下載看看,,
    發表于 09-18 15:58 ?12次下載
    <b class='flag-5'>Apache2.2.x+PHP5.3.x+MySQL</b>5.1.x-搭建WMAP運行環境

    linux下安裝Apache+Php+Mysql

    linux下安裝Apache+Php+Mysql(數字電源技術及其應用)-文檔為在linux下安裝Apache+Php+Mysql詳解文檔,是一份不錯的參考資料,感興趣的可以下載看看
    發表于 09-18 16:09 ?5次下載
    在<b class='flag-5'>linux</b>下安裝<b class='flag-5'>Apache+Php+Mysql</b>

    mysql的安裝-與phpApache相結合

    mysql的安裝-與phpApache相結合(深圳核達中遠通電源技術有限公司 產品功能用途)-文檔為mysql的安裝-與php
    發表于 09-18 16:33 ?20次下載
    <b class='flag-5'>mysql</b>的安裝-與<b class='flag-5'>php</b>、<b class='flag-5'>Apache</b>相結合

    設計動態網站的最佳方案-Apache+PHP+MySQL

    設計動態網站的最佳方案-Apache+PHP+MySQL(電源技術是sci嗎)-文檔為設計動態網站的最佳方案-Apache+PHP+MySQL總結文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,,,,
    發表于 09-18 17:53 ?9次下載
    設計動態網站的最佳方案-<b class='flag-5'>Apache+PHP+MySQL</b>

    phpmysql無法啟動

    MySQL是一種常用的關系型數據庫管理系統,而PHP是一種廣泛應用于服務器端的腳本語言。在使用PHP開發網站或應用時,經常會碰到MySQL無法啟動的問題。本文將詳細介紹解決
    的頭像 發表于 12-04 15:59 ?1660次閱讀
    亚洲皇冠| 百家乐官网微笑玩法| 百家乐官网e78| 百家乐网络投注| 威尼斯人娱乐城会员开户| 大家旺娱乐| 乐享百家乐官网的玩法技巧和规则 | 大发888电话| 百家乐官网赢钱公式冯耕| 24山分阴阳| 大发888怎么玩不了| 百家乐官网娱乐城怎么样| 百家乐赌博机原理| 大发888手机真钱游戏| 百家乐官网代理在线游戏可信吗网上哪家平台信誉好安全 | 百家乐官网官方网址| 查找百家乐官网群| 太阳城娱乐网88| 百家乐官网平台要多少钱| 澳门百家乐赌技术| 大发娱乐场下载| 大三元百家乐官网的玩法技巧和规则| 百博百家乐的玩法技巧和规则| 许昌市| 风水24山里的四维八干| 大发888娱乐场下载 17| 百家乐官网最佳公式| 百家乐开户首选| 牟定县| 百家乐哪家信誉好| 大发888娱乐真钱游戏 官方| 真人百家乐官网做假| 博彩网百家乐全讯网| 百家乐官网怎么玩了| 百家乐桌布橡胶| 爱赢百家乐官网现金网| 亚洲百家乐论坛| 百家乐官网游戏网址| 合肥百家乐赌博机| 潮州市| 至尊百家乐娱乐场|