IPTV系统中EPG模块的设计与实现

上传人:油条 文档编号:26308865 上传时间:2017-12-25 格式:PDF 页数:4 大小:465.93KB
返回 下载 相关 举报
IPTV系统中EPG模块的设计与实现_第1页
第1页 / 共4页
IPTV系统中EPG模块的设计与实现_第2页
第2页 / 共4页
IPTV系统中EPG模块的设计与实现_第3页
第3页 / 共4页
IPTV系统中EPG模块的设计与实现_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《IPTV系统中EPG模块的设计与实现》由会员分享,可在线阅读,更多相关《IPTV系统中EPG模块的设计与实现(4页珍藏版)》请在金锄头文库上搜索。

1、IPTV 系统中 EPG模块的设计与实现黄志涛 张建标 包萨如拉(北京工业大学 计算机学院 ,北京 100022)摘 要 IPTV 系统是目前宽带网络技术的前沿应用 , EPG提供 IPTV 系统和用户交互的首要界面 ,是系统的核心模块之一。当前数字电视中 EPG的常用设计方法不适合用来设计 IPTV 中的 EPG。根据 IPTV 系统的自身特点 ,本文介绍了一种EPG模块的设计和实现方法。关键词 IPTV ; EPG;机顶盒 ;MVC1 引言IPTV即网络电视 ,是目前一种新兴的网络应用 ,它利用宽带互联网的基础设施 ,以家用电视机作为主要终端 ,通过互联网协议 ( IP) 来提供包括电视节

2、目在内的多种数字媒体服务及其增值业务的技术。 IPTV 最大的优势在于“互动性”和“按需观看” ,彻底改变了传统电视单向广播的特点 【 1】 。它的出现极大的满足了用户 (文中的用户是指安装了 IPTV 客户端的消费者 ,客户是指 IPTV 服务提供商和运营商 ) 对在线影视欣赏的需求。 IPTV 的发展十分迅速 ,国际上 ,UT 斯达康、微软、西门子、阿尔卡特、惠普等 ,国内的华为、中兴和盛大等厂家都投入了 IPTV 的开发和研究。国外早已有 IPTV 的商业运营系统 ,英国 Video Networks 公司早在 1999 年就推出了 IPTV 业务。国内截至目前 ,首个 IPTV 已在上

3、海投入商业应用 ,并且中国电信已在五省市进行 IPTV 试点 ,IPTV 在国内和国际都有广阔的发展前景。为了提供“互动性”和“按需观看” ,系统需要提供和用户交互的界面 ,供用户浏览系统提供的节目信息并选择要欣赏的节目。在 IPTV 系统中由 EPG( Electronic Program Guide 电子程序向导 )服务器提供这套界面。 EPG是一个当前和将来节目信息的交互式节目安排表 ,用户通过操作遥控器进行浏览 【 2】 。 EPG模块在整个 IPTV 系统中是至关重要的 ,它是整个 IPTV 系统的门户。 EPG给用户提供一个容易使用的、界面友好的、可以快速访问节目的一种方式。因此

4、,用户对IPTV整个系统的评价在很大程度上取决于 EPG。提供简单易用、快速、稳定、美观的交互界面是 EPG的首要目标。2 IPTV 的系统结构模型图 1 IPTV 系统模型图 1 是一个 IPTV 系统结构模型 ,此模型已在国内一些城市得到实际应用。在此模型结构图中 ,整个 IPTV 系统分为两大部分 :后台部分和用户接入部分。后台部分主要提供媒体内容的管理、用户管理、整个系统的服务器管理、用户认证和计费管理等等。用户接入部分为用户提供视频服务和其他服务 ,根据城市规模大小可分为多个区域 ,每一区域主要有区域媒体基站和 EPG服务器。用户使用机顶盒 【 3 5】 加电视或者 PC作为终端 ,

5、通过 ADSL 或小区宽带收看系统存储的节目或者直播电视节目。机顶盒是一台功能简单的计算机 ,有 CPU、内存、网络连接设备、解码器等硬件及操作系统和应用程序等软件 ,接收通过宽带 IP 网络传输过来的视频信号 ,信号经过处理后在电视机上显示出来。用户通过操纵遥控器使用机顶盒提供的功能。用户被划分为多个区域 ,每个区域分别部署多个区域媒体服务器和 EPG服务器 ,用户的视频服务和交互界面由用户所在区域的媒体服务器和 EPG服务器提供。这种部署方式54开发与应用 计算机与信息技术具有容易扩充的特点 ,适合大规模部署。增加一个区域只须增 加区域媒体基站和 EPG服务器 ,对后台部分和其它区域不会造

6、成影响。同时 ,用户的大部分数据流量都集中在自己所在区域 ,减轻了主干网的负担 ,而且单个区域系统的崩溃不会影响其它区域。系统工作过程大致如下 : 媒体源经过媒体处理模块处理成系统所定义的格式 ,存储在主媒体基站上 ,并由后台的媒体分发管理模块负责如何将这些节目分发到下面的每一个区域中的媒体基站中。同时有关节目的信息也被下发到 EPG服务器中 ,供 EPG显示给用户。用户开机经过后台认证后登录到 EPG服务器上 ,开始浏览系统的节目信息。当用户选择一个节目观看后 ,EPG将有关节目信息和用户的信息发送到后台部分 ,由后台的用户管理部分判断用户是否能够欣赏节目 ,如果可以 ,用户的机顶盒则向本区

7、域的媒体基站发送播放节目的请求。播放完毕 ,机顶盒向后台发送扣除相应收费的请求 ,同时重新定向到 EPG服务器 ,用户可以继续浏览节目和欣赏节目。考虑到目前 IPTV 在国内还处于发展阶段 ,一个区域的用户不是很多。目前系统设计为一个区域支持最多 3000 用户 ,在同一时刻访问 EPG服务器的用户数不超过 500。当用户数量增多时 ,可以使用 EPG服务器集群。在图 1 中 ,每个区域都部署了一个主 EPG服务器 ,为了系统的稳定性 ,同时也部署了一个备用的 EPG服务器。3 EPG模块的设计从 IPTV 系统在中国的部署应用看 , EPG模块是整个系统中需求变化最大、最快的模块 ,而且是直

8、接展示给客户的模块 ,很大程度上决定客户是否采用我们的系统。模块在整体框架设计时 ,主要考虑以下原则 :(1) 结构清晰 ,开发快速。客户的需求变化是很快的 ,在设计时 ,首先要考虑能够在最短的时间内按照客户的要求开发出新界面 ,结构清晰的设计有利于快速开发。(2) 维护方便。能够让客户在对 EPG代码和实现不是很了解的情况下改动 EPG的某些代码或修改一些配置 ,而不会影响 EPG的运行。(3) 方便客户定制。客户可能要求自己制作 EPG。因此 ,设计时要考虑到能够快速、简单地使客户明白 EPG的制作过程 ,在较短时间内掌握制作 EPG。(4) 性能满足设计要求。要满足设计时的性能要求 ,主

9、要考虑服务器优化 ,数据库的优化。(5) 界面简单美观 ,有良好的可扩展性和开放性。容易支持新的业务 ,能够兼容不同厂家的机顶盒。EPG实现主要有两种方案选择 ,本地应用方案和交互式实现方案 【 7】 。目前国内和国外的 EPG设计基本上是针对数字电视的 ,其 EPG实现一般采用本地应用方案。本地方案对机顶盒的硬件要求较高 ,而且在和用户的交互性方面做的不是很好。 IPTV 是一种和用户有高度交互性的系统 ,设计和实现适合采用第二种方案。此模型中 EPG实现选择交互式方案 ,采用由 EPG服务器给机顶盒提供 HTML 页面的实现方式。将系统的节目信息存储在数据库中 ,服务器从数据库中检索节目信

10、息 ,以HTML 页面的形式提供给机顶盒 ,机顶盒解析页面后呈现给用户。这样 ,对 PC 用户来说 ,用户端自带的浏览器即可浏览。对使用机顶盒的用户来说 ,需要机顶盒实现能够解析HTML 页面的功能。在本文中 ,着重针对机顶盒的 EPG设计 ,具体实现采用Linux + Apache + MySQL + PHP ,程序的整个框架设计基于MVC模式的思想。3. 1 MVC的设计模式模型 - 视图 - 控制 (Model - View - Controller)是一种经典的软件设计模式 ,它采用分治的思想将系统分成三大模块 ,每个模块各负其责 ,其关系如图 2 所示。(1) 模型。负责维护数据并提

11、供数据访问方法。模型只有纯粹的功能性接口 , 也就是一系列的公开方法。通过这些公开方法 , 可以取得模型的所有功能。(2) 视图。用来显示模型的数据。在一个 MVC 模型中可以有多个视图。(3) 控制器。用户可以通过视图来改变模型的状态 , 这种更新是通过控制器来完成的。控制器负责调用模型的改值方法以改变模型的状态 , 同时 , 控制器会通知所有的已登记视图刷新数据显示。图 2 MVC关系图MVC 体系有效地实现了表示与数据的分离 ,能很方便地用多个视图来显示多套数据 ,使系统很方便地支持其它新的客户端类型 ,可以很好地表达用户的交互。从国内的应用情况看 ,大部分客户都是对显示界面要求不一样

12、,对程序处理逻辑有少量不同。采用 MVC 模式 ,可以很方便的响应客户的需求变化 ,而且可以很容易提供不同的显示界面让客户自己选择。3. 2 具体实现根据设计目的和 MVC 模式 ,考虑到用户使用的终端设备为机顶盒 ,在客户端需要一些与机顶盒有关的特殊处理 ,服务器处理请求的实现过程分为五个层次 ,如图 3 所示。(1) 页面展示层。负责系统节目信息的显示。(2) 用户端处理层。负责请求发出前和请求处理结果返回后的一些特殊处理。此处加入用户端处理层主要是因为目前用户的终端为机顶盒 ,机顶盒浏览器的功能不是很强。在用户转向另外一个页面或者返回到原来的页面都需64 计算机与信息技术 开发与应用要

13、EPG做一些处理 ,比如记录光标的位置、初始化光标位置。图 3 EPG实现层次图(3) 请求和响应层。负责请求到达服务器后和处理结果返回给用户端前的一些处理。(4) 逻辑处理层。负责对客户的请求进行处理。(5) 数据访问层。负责提供获取数据库中数据的接口。我们以显示热门影片的实例说明使用 MVC 模式的思想处理请求的过程。处理显示热门影片请求的过程如图 4 所示。图 4 响应热门影片请求流程过程如下 :(1)用户在首页单击“最新影片” ,经过用户端控制层处理 (关闭在首页播放的广告视频 )后 ,请求被提交到服务器进行处理。(2)请求和响应层开始处理请求 ,保存上一页有关的状态 ,并且初始化一些

14、变量 (如取数据的类、保存页面所有信息的变量 ) 。(3)逻辑处理层计算数据库中要取的热门影片的起始位置和数量。(4)调用数据访问层的接口开始从数据库里面取出热门影片的信息 (节目名称、价格、简介、海报图片名称等 ) 。(5)逻辑处理层对取到的数据进行转换 ,转换后的所有数据保存在一个变量中 ,这个变量要传递给显示结果的页面。(6)请求和响应层调用显示结果的页面和用户端的控制代码 ,生成 HTML 代码。(7)机顶盒解析传递过来的 HTML 页面 ,初始化光标位置 ,将热门影片信息显示给用户。开发之前 ,在设计文档中定义预先定义页面展示层和逻辑处理层、逻辑处理层和数据访问层的接口。每一部分的开

15、发人员只须关心自己所做的部分 ,使用其它层提供的接口调用其它层的功能。这样各个部分的开发可以并行工作 ,大大提高了开发速度。数据访问层和逻辑处理层可以很容易编写单元测试来测试自己的代码 ,不受其它层的代码的影响 ,很大程度上提高了软件的质量。同时后期的维护也是很方便的 ,如果需求有变 ,只须改动需求变化所在层次的代码 ,不用关心其它层代码是否要改动。整个 EPG模块每个页面的编码都遵循这种规则。同时我们提供给客户一个 EPG参考手册 ,主要是取数据的接口函数和用户端处理层 JavaScript 函数的使用说明。客户只需要掌握一个页面的制作过程和所提供的使用手册中的函数调用方法 ,并具有一定的编

16、程水平 ,就可在很短的时间内独立编写自己的 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. 5STABLE1。LoadRunner模拟测试并发用户数为 220、 500 ,测试 EPG服务器的事务响应时间和事务完成情况。服务器响应时间和事务完成情况测试数据如表 1 和表 2 所示。从测试数据看 ,当并发用户数为 500 时 ,没有出现事务失败的情况 ,平均响应时

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号