IPTV系统中EPG模块的设计与实现
扫描二维码
随时随地手机看文章
1 引 言
为了提供“互动性”和“按需观看”,系统需要提供和用户交互的界面,供用户浏览系统提供的节目信息并选择要欣赏的节目。在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服务器,用户可以继续浏览节目和欣赏节目。
考虑到目前IPTV在国内还处于发展阶段,一个区域的用户不是很多。目前系统设计为一个区域支持最多3000用户,在同一时刻访问EPG服务器的用户数不超过500。当用户数量增多时,可以使用EPG服务器集群。在图1中,每个区域都部署了一个主EPG服务器,为了系统的稳定性,同时也部署了一个备用的EPG服务器。
3 EPG模块的设计
(4) 性能满足设计要求。要满足设计时的性能要求,主要考虑服务器优化,数据库的优化。
EPG实现主要有两种方案选择,本地应用方案和交互式实现方案 [7]。目前国内和国外的EPG设计基本上是针对数字电视的,其EPG实现一般采用本地应用方案。本地方案对机顶盒的硬件要求较高,而且在和用户的交互性方面做的不是很好。IPTV是一种和用户有高度交互性的系统,设计和实现适合采用第二种方案。
在本文中,着重针对机顶盒的EPG设计 ,具体实现采用Linux+Apache+MySQL+PHP,程序的整个框架设计基于MVC模式的思想。
3.1 MVC的设计模式
3.2 具体实现
过程如下:
开发之前,在设计文档中定义预先定义页面展示层和逻辑处理层、逻辑处理层和数据访问层的接口。每一部分的开发人员只须关心自己所做的部分,使用其它层提供的接口调用其它层的功能。这样各个部分的开发可以并行工作,大大提高了开发速度。
整个EPG模块每个页面的编码都遵循这种规则。同时我们提供给客户一个EPG参考手册,主要是取数据的接口函数和用户端处理层 JavaScript函数的使用说明。客户只需要掌握一个页面的制作过程和所提供的使用手册中的函数调用方法,并具有一定的编程水平,就可在很短的时间内独立编写自己的EPG。
3.3 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 结束语
表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 | |
失败次数 |
0 |
0 |
0 |
0 | |
500 |
共执行次数 |
82904 |
82904 |
82904 |
82904 |
通过次数 |
82904 |
82904 |
82904 |
82904 | |
失败次数 |
0 |
0 |
0 |
0 |
参考文献: