EPG的设计

发布时间: 2022-06-29 09:54:59
     EPG设计页面
播控平台的节目,最终要通过EPG系统才能给客户提供服务,而EPG系统作为IPTV业务的门户系统,主要完成与用户之间的接口、用户命令的解析和交互并将结果发回给用户,为最终用户消费提供指引,使用户最终享受到IPTV服务。EPG系统必须向用户提供高质量的用户体验服务,既可快速响应各类操作,让用户感受到电视般的享受,又可给用户提供简便的操作方式,适合各类人群进行操作。   

一、EPG概述

      EPG是Electronic Program Guide的英文缩写,意思是电子节目指南,具体介绍如下:
      • EPG运行在IPTV业务平台上;
      • EPG基于IPTV终端,即STB(SetTopBox,机顶盒)或者PC模拟终端;
      • EPG是用户进入数字电视、IPTV,互联网电视的门户,是面向最终用户(家庭、个人)的人机交互界面;
      • EPG是系统的核心模块之一,实现IPTV平台承载的业务导航、展示、购买、消费、服务等终端交互。
       EPG为IPTV基本业务(直播、点播、时移、回看等)及各种增值业务(互动游戏、信息服务、电视购物、卡拉OK等)的使用提供了简单方便的操作平台,为IPTV用户收看电视节目、享受多媒体节目点播以及开展信息服务提供了一个良好的导航机制。用户对整个系统的评价在很大程度上取决于EPG。
       IPTV集成播控平台实行两级架构,中央设立一个集成播控总平台,地区(省)设立一个集成播控分平台。总平台与分平台采用统一设计开发的系统软件、统一的运营管理系统和统一的EPG管理,对IPTV节目从播出端到用户端实现管理。中央平台通过提供EPG服务系统,实现对节目内容和信息展示的管控;省市分平台的EPG管理还可以实现本地EPG定制化。EPG服务系统直接为终端用户提供EPG浏览、交互服务,支持分布式部署,可平滑扩展,支持大规模用户,并支持高可靠性部署。 

二、EPG的设计模型与技术

6.2.1通用的EPG实现工作模型通用的EPG实现工作模型如图6-1所示。
 通用的EPG实现工作模型
图6-1   通用的EPG实现工作模型
     • STB通过IPTV中间件向AAA完成STB鉴权和用户鉴权。
     • IPTV中间件把EPG入口URL传递给嵌入式浏览器。
     • 嵌入式浏览器向EPG服务器请求HTML页面,完成界面交互。
     • 嵌入式浏览器与嵌入式媒体播放器的显示输出,通过显示屏展示交互内容。
     • HTML页面内的JAVAScript(包含为IPTV扩展的JS)通过浏览器与IPTV中间件和媒体播放器进行通信,完成IPTV音/视频播放业务。

2、经典的EPG设计模式

       EPG的设计采用“模型-视图-控制”(Model-View-Controller,MVC)模式。MVC是一种经典的软件设计模式,它釆用分治的思想将系统分成三大模块,每个模块各负其责,其关系如图6-2所示。
MVC关系图
图6-2 MVC关系图
       注:图6-2中实线代表对象方法的调用,虚线代表事件传递。
       釆用MVC模式的目的就是实现Web系统的职能分匸。Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB(EnterpriseJavaBeans,Java企业Bean)来实现。View层用于与用户的交互,通常用JSP来实现。Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示。同时,它也可以解释用户的输入并将它们映射为模型层可执行的操作。
       MVC模式的优势如下所述。
(1)低耦合性
       视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码。同样,一个应用的业务流程或者业务规则的改变只需改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
(2) 高重用性和可适用性
       随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。MVC模式允许用户使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何Web(HTTP)浏览器或者无线浏览器(WAP),比如,用户既可以通过计算机也可通过手机来订购某款产品,虽然订购的方式不-样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需的命令是改变视图层的实现方式,而控制层和模型层无须做任何改变。
(3) 较低的生命周期成本
      MVC降低了开发和维护用户接口的技术含量。
(4) 快速的部署
      使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式。
(5)可维护性
       分离视图层和业务逻辑层使得Web应用更易于维护和修改。
(6)有利于软件工程化管理
       由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。

3、EPG的分层设计架构

EPG的分层设计架构如图6-3所示。
图6-3EPG的分层设计架构
分层架构的优点如下所述。
        ① 分离开发人员的关注对象。由于某一层仅仅调用其相邻下一层所提供的服务,所以,只要本层和相邻下一层的接口定义完整,开发人员在开发某一层时就可以集中关注这-层所用的思想、模式和技术。这样,就等同于将分工带来的生产力提高优势引入软件开发中。
        ② 无损替换。想象一下,如果某家奶牛场倒闭了,奶油加工厂也要跟着倒闭吗?当然不会,它可以迅速更换一家奶牛场,因为各个奶牛场都可以实现“提供牛奶”这项服务。再譬如,如果某天国家出台政策,要求所有奶油厂必须从审查合格的奶牛场引进原料,恰好某奶油厂的合作牛奶供应商没能通过审查,那么,只要换一家通过审查的供应商就行了。而且奶油厂内部的各个环节不用动,因为不同的奶牛场都可以提供“供应牛奶”这个服务。而如果奶油厂自己养牛生产牛奶,一旦遇到这个政策,还得自己去有关部门进行审查,调整相应业务流程,牵一发而动全身。同理,在程序设计中,最常听说的可能就是迁移数据库。
       ③ 降低了系统间的依赖。举个蛋糕的例子,如果某天蛋糕厂内部换机器了,或业务流程调整了,请问顾客需要关心吗?显然不用,因为顾客只接受超市提供的服务,而超市为顾客隐藏了下面所有产业细节。如果每一个顾客买一样商品,都要了解这个商品从原料生产到成型再到销售的一系列细节,岂不累死了?换作程序中,就如表示层只管调用业务层的服务,至于业务层下还有几层,各种数据是怎么来的,怎么存的,是真实的还是捏造的,都不需要了解。这大大降低了系统各职责之间的依赖性。
       ④ 复用。例如,你可以去这个超市买东西,我也可以去这个超市买东西。蛋糕厂可以从面粉厂提取面粉,馒头厂也可以。这样,同样的层就可以为不同的上层提供服务,达到了复用的目的。

4、EPGUI的实现模型

(1)建立在统一封装的API基础上
       API即Application Programming Interface(应用编程接曰),是一些预先定义的函数,其目的是提供应用程序与开发人员基于某软件或硬件访问一组例程的能力,而又无须访问源代码,或理解内部工作机制的细节。统-封装的API如图6-4所示。
统一封装的API
图6-4    统一封装的API
(2) 代码分离
代码分离如图6-5所示。 
代码分离
图6-5 代码分离

5、采用面向对象的软件开发技术

面向对象的软件开发技术如图6-6所示。
面向对象的软件开发技术
图6-6 面向对象的软件开发技术
使用面向对象思想进行开发具有以下优点。
(1)易维护
       釆用面向对象思想设计的结构可读性高,由于继承性的存在,即使改变需求,维护也只是在局部模块,所以维护起来非常方便且成本较低。
(2)质量高
       在设计时,可重用现有的、在以前项目的领域中已被测试过的类似系统满足业务需求并具有较高的质量。
(3)效率高
       在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
(4)易扩展
       由于继承性、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
exit

申请演示

IPTV网络电视系统仅适用于企业和公司。

电话:028-83110277
  • 端到端解决方案
  • IPTV/OTT 中间件 (CMS)
  • OTT 播放器应用程序(支持超过 11 个平台)
  • IPTV电视系统媒体服务器
  • 转码器
  • 机顶盒
  • 数字版权管理/CAS
  • 酒店IPTV系统方案
联系我们