2012年3月,国家新闻出版广电总局科技司组织科研院所、设备开发商、网络运营商等17家单位成立了NGB TVOS合作开发组,开展NGB TVOS的研发工作,于2013年7月实现1.0版本的原型系统,目前正在版本稳定测试过程中。
软件架构体现了一个软件系统的设计思路和技术路线,撰写本文对NGB TVOS的软件架构进行分析,对其技术特点进行总结,以便读者能从总体上更好地了解NGB TVOS。
NGB TVOS应满足下列最基本的要求:
安全、可管可控;
标准化:支持NGB中间件标准和可下载CA(DCAS)标准定义的API;
开放架构与高效应用计算;
支持多硬件平台:不同主芯片和外设芯片组合方案;
支持多种终端产品形态:数字电视机顶盒和一体机,互联网电视机顶盒和一体机,数字电视+互联网电视机顶盒和一体机等;
能够有效利用和整合已有产业链资源:如已有的各种应用程序资源,特别是Android下的各种应用;
自主创新。
在此需求的导向下,NGB TVOS软件架构概要设计如所示。

图1 NGB TVOS软件架构概要设计
NGB TVOS向上承载Java和HTML应用,其软件架构按照功能层次从上到下分为五层:应用框架层、执行环境层、功能组件层、硬件抽象层(HAL,Hardware Abstract Layer)和Linux内核层。
为了实现对系统稀缺资源的高效管理,NGB TVOS软件架构提出了一种资源管理框架,从上到下实现系统资源的全局高效管理;为了解决系统的安全问题,NGB TVOS软件架构提出了一种安全框架,从上到下实现系统安全的全局防控。
NGB TVOS软件架构详细设计见图2。

图2 NGB TVOS软件架构详细设计
本文按层次对NGB TVOS的架构进行分析。
(1)应用框架层
所谓应用框架是指对底层功能组件外露的能力的组合和封装,简化应用程序对底层功能组件的调用,方便应用程序开发。
NGB TVOS支持Java和Web应用,因此同时提供了Java应用框架和Web应用框架:Java应用框架是指底层功能组件外露的能力在Java空间的组合和封装,以Java对象的形式存在,应用程序通过调用Java对象的方法实现对底层功能组件的访问;Web应用框架是指底层功能组件外露的能力在Web空间的组合和封装,以HTML标签、JS对象等形式存在,应用程序通过调用JS对象的方法实现对底层功能组件的访问。
Java应用框架向应用程序显露的API遵循GY/T 267-2012《下一代广播电视网(NGB)终端中间件技术规范》,简称NGB-J API。
Web应用框架主要包括HTML 5.0标签、JS 1.5对象和扩展JS对象。扩展JS对象遵循GY/T 267-2012《下一代广播电视网(NGB)终端中间件技术规范》,简称NGB-H JS对象。









