作 者:肖晴 吴志明
●C/S方式的应用程序。C/S方式的应用程序直接与服务器端交互,实现各种应用,适合于实现无法通过B/S方式实现的游戏、证券等应用。这种方式为IPTV增值业务及融合业务的发展提供了无限的想象空间。但目前受制于机顶盒的软硬件能力,以及客户端程序在机顶盒上移植的难度,这类应用的开发周期很长,无法满足业务发展的需求。
●本地应用程序。不需与服务器端交互的本机应用,如:本机游戏、用户收藏夹、本地通信录等。
业务无关程序层:包括各种直接运行在操作系统之上,与IPTV业务无关的程序,如DHCP、PPPoE接入认证程序等。程序直接运行在OS之上,可以提高运行效率。这些程序与终端中间件软件一样,在引入新的机顶盒时要进行移植,但这些程序通常具有业务无关性,遵循通用的接口协议,因此能做到快速移植。
3.2终端中间件模块结构
IPTV终端中间件层的软件又分为以下3部分。
(1)中间件可移植层
可移植层被用来与第三方机顶盒集成,任何第三方的机顶盒,只要实现了本层软件,终端中间件和中间件层支持的所有应用程序就可以运行在该机顶盒上,不需要对不同的硬件和操作系统再进行适配。
中间件可移植层包括系统抽象层和接口抽象层。系统抽象层负责对操作系统进行抽象,封装了所有的通用操作,包括任务、定时器、消息队列等,以及一些公共的数据结构,如队列、堆栈等,屏蔽了操作系统。接口抽象层负责对底层硬件平台进行抽象,封装了所有底层硬件平台和接口设备的操作和接口,包括Flash、RAM、键盘、鼠标、遥控器等,屏蔽了底层硬件。
(2)中间件API层
API层将机顶盒中间件核心模块提供的能力封装成统一的API。开放给CP/SP,供CP/SP在开发业务应用时调用。CP/SP只需根据API实现应用,而不必去考虑机顶盒具体如何实现这些API封装的功能。API层的存在降低了CP/SP开发应用程序的门槛。
中间件API层的API分成两类:一类API将底层资源所能提供的能力进行封装;另一类API将终端中间件直接与服务器端交互的能力进行封装。
(3)中间件核心模块
根据IPTV业务开展的实际需求以及中间件架构技术实现上的需求,IPTV终端中间件至少应具有以下核心模块:
●应用程序管理器。负责应用程序的初始化,启动应用程序,管理所有应用程序的生命周期,包括彼此之间的相互操作,便于各种应用程序能够协调地执行。
●资源管理器。负责管理和调度应用程序使用的各种底层资源及它们的状态。底层资源包括:如硬盘、内存、外设等硬件资源,文件系统、定时器等软件系统资源。
●输入输出管理:与红外遥控器、键盘、USB接口、音视频输入/输出接口等有关的各种输入输出事件的管理。
●基本网络服务。调用操作系统层实现的各种网络传送协议,控制音视频数据的传送方式以及收集信息以提供服务质量(QoS)保证。
●图形用户界面(GUI)管理。为应用程序提供用户界面控制(如按钮、列表)以及图形图像绘制等图形功能。IPTV的GUI管理,应基于电视机屏幕的显示特性。综合抽象出一些通用的基本图形操作功能,以支持上层软件的调用,实现特定的显示目的,如支持分层显示,支持透明/半透明显示等。
●安全及认证管理。包括用户认证、业务应用鉴权、软件升级及下载认证、网络安全策略、密钥及会话令牌管理等功能。用户认证应支持单点登录的统一认证(SSO),软件下载认证应支持对所有下载的应用程序的合法性校验,确保只有经运营商授权的应用程序才能在终端上安装。
●软件下载及升级服务。负责底层平台(包括操作系统)、系统软件(包括中间件)、上层应用程序及一些应用需要的特殊数据,如EPG数据的下载和动态升级。