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

发布者:泥匠手最新更新时间:2006-09-25 来源: 计算机与信息技术关键字:模块  机顶盒  服务器 手机看文章 扫描二维码
随时随地手机看文章
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的个性化方面进行更深入的研究。


  

关键字:模块  机顶盒  服务器 引用地址:IPTV系统中EPG模块的设计与实现

上一篇:基于IEEE 802.15.4的无线传感器网络的设计与实现
下一篇:电信终端FSK数据通信的低功耗实现

推荐阅读最新更新时间:2024-05-13 18:14

基于PXI总线的SAR天线平台测试模块
SAR(specific absorption rate, 电磁波吸收比值)天线平台从机载惯性导航设备获得飞机的即时偏流角、俯仰角、滚动角数据,利用这些数据控制天线平台的运动,使平台在方向位保持与飞行地速方向一致,在俯仰和滚动方向保持水平。天线平台的跟踪性能的好坏,将直接影响SAR的成像质量,所以有必要对天线平台的伺服性能进行测试。 本文介绍了一种基于PXI总线技术的SAR天线稳定平台测试模块。该测试模块是SAR天线平台自动测试系统的主要子系统,主要完成仿真转台位置信号解码及输出、平台跟踪误差信号采集以及信号分析处理等功能。 PXI总线技术简介 PXI总线技术是NI发布的一种全新的开放性、模块化的仪器总线规范,是
[应用]
ATMEAG16L驱动128x64点阵图形液晶模块的实验
  要实验对128x64点阵图形液晶模块的高效控制,必须按照模块设计方式,建立起相关的子程序模块,下面详细介绍各功能子程序。 10.在AVR 单片机 综合实验板上实现128x64LCM演示程序 在AVR单片机综合实验板上实现128x64点阵图形液晶上显示汉字:屏幕上第一行显示“朝辞白帝彩云间”第二行显示“千里江林一日还”,第三行显示“两岸猿声啼不住”,第四行显示“轻舟已过万重山。”其中第三、四行反白显示。在我的文档中新建一个ac20的文件夹。建立一个ac20.prj的工程项目,最后建立源程序文件ac20.c。因此程序较长,就不在正文中给出了。
[单片机]
ATMEAG16L驱动128x64点阵图形液晶<font color='red'>模块</font>的实验
OPC DA 服务器的设计与实现
0 引言    OPC 全称OLE for Process CONtrol,它是由OPC 基金会制定的自动化领域过程控制标准。   实际上,OPC 代表一系列的标准,包括OPC 数据访问(OPC Data AccESS),OPC 报警与事件(Alarms & Events ),历史数据访问(OPC Historical Data Access),OPC XML-DA(1.0)等。目前,OPC 标准在现代工业控制领域,特别是在数据采集和软实时控制方面已有很好的应用。    1 OPC 标准介绍   在 OPC 标准制定之前,工业软件制造商需要为不同的硬件开发各自独立的驱动接口。对于开发典型监控程序软件的技术人员来说,约有2
[模拟电子]
OPC DA <font color='red'>服务器</font>的设计与实现
介绍几个模块电源中常用的MOSFET驱动电路
MOSFET因导通内阻低、开关速度快等优点被广泛应用于开关电源中。MOSFET的驱动常根据电源IC和MOSFET的参数选择合适的电路。下面一起探讨MOSFET用于开关电源的驱动电路。 在使用MOSFET设计开关电源时,大部分人都会考虑MOSFET的导通电阻、最大电压、最大电流。但很多时候也仅仅考虑了这些因素,这样的电路也许可以正常工作,但并不是一个好的设计方案。更细致的,MOSFET还应考虑本身寄生的参数。对一个确定的MOSFET,其驱动电路,驱动脚输出的峰值电流,上升速率等,都会影响MOSFET的开关性能。 当电源IC与MOS管选定之后,选择合适的驱动电路来连接电源IC与MOS管就显得尤其重要了。 一个好的MOSFE
[模拟电子]
VIAVI 进一步强化 ONT-800 XPM 模块,助力加速 800G 产品上市
VIAVI 进一步强化 ONT-800 XPM 模块,助力加速 800G 产品上市 VIAVI ONT-800光网络测试仪可简化并加速高速实验室测试 中国上海,2021年9月27日 —— VIAVI Solutions 公司 近日宣布,VIAVI ONT 800G FLEX XPM模块现支持QSFP-DD800测试,可加速800G网络基础设施的生产。VIAVI ONT XPM是首个同时支持OSFP800和QSFP-DD800模块的实验室验证系统,进一步强化了这一业界最全面的光通信技术开发和生产测试组合。 在高速网络需求不断升级的当下,为确保下一代设备的无差错性能和互操作性,以实现快速和顺利的技术采用,800G组件的实验
[网络通信]
PIC的PWM模块学习经验
今天我们做超声波测距模块,用的是SONY的CX20106A处理接受的信号,要求是标准的40KHz方波,我们打算用PIC自带的PWM模块做40KHz的方波。以前也用过PWM,不过只是普通的用PWM输出信号来控制各类电机,对其输出信号周期、脉宽和占空比没有过高的要求。 今天需要用到很精确的周期跟脉宽,这从而让我们发现了很多问题,也学到了很多 1、PWM周期 = 4T * (TMR2预分频值)*(PR2+1) 这是PIC16F877芯片手册上的公式,开始我们按照北航出版社的《PIC单片机原理及应用(第三版)》上的公式计算周期,总是出不来准确的值,后来再看877的英文手册的时候才发现这本书的PWM周期公式写错了,把(PR2+1)写
[单片机]
用于数据中心配电的新型4750系列多功能IEC连接器模块
为了满足数据中心配电的高特定性需求, SCHURTER推出了其新型4750系列IEC Type F连接器模块 。该模块提供多种功能,包括多个插座、背光选择以及端子配置,其涵盖的标准方案类型超过了以往任何产品。您可以选择2至7个插座、采用总线或常规端子连接、状态指示导光管以及三种不同的颜色来满足一般需求;您也可以量身定制,以满足配电单元应用的特定需求。 4750系列电源插排 将各种功能整齐紧凑地集成在一起,可为元件密集的配电单元节省空间。在复杂的配电系统中,特别是在具有大量电力监控功能的复杂配电系统中,状态的可视化非常重要。在常规的不具备导光管的模块以外,4750系列产品在输出插座的所有位置提供有1、2、L和N几种标
[电源管理]
用于数据中心配电的新型4750系列多功能IEC连接器<font color='red'>模块</font>
基于RFID的预付费电能表的研制
引言   随着人均用电量的大幅度增加,推动了一户一表制的使用。传统的机械式电能表测量精度有限,会带来较大误差;当用电量很大时,误差将让人难以接受。本文介绍的电子式预付费电能表是通过电能测量集成电路对电压电流的取样信号进行处理,并输出与有功功率成正比的频率信号;微处理器通过对脉冲计数来计算所消耗的电量。用户将RFID卡片(预先在电力部门购买,卡片上充有定额的现金)靠近电能表,这时MCU通过射频芯片读取卡的金额,将其存储到 EEPROM,同时此卡清零。电能表将通过声音和LCD显示来提醒用户充值。 1 硬件电路总体设计   通过对AD7755的电能测量,与以低功耗著称的MSP430 MCU接口,再用DS1302作为时钟,将数据储
[测试测量]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved