江苏有线约有500余万存量主流高清机顶盒,其软硬件情况复杂,运维成本非常高,不利于全省统一业务运营。在此背景下,江苏有线启动了“全省可利旧机顶盒软件升级”项目,该项目覆盖全省13个地市,69个分子公司,涉及6个机顶盒品牌主流高清机顶盒,最终将53种硬件规格,198个软件版本统一升级成了TVOS-H。本文针对项目的升级方案设计与具体实施进行论述,总结并给出了平台、网络、终端、业务等方面的升级经验。
【关键词】
TVOS-H,OTA升级,存量机顶盒, Loader
0 引言
2018年,江苏有线针对全省软硬件情况较为复杂的500余万普通高清互动机顶盒启动“全省可利旧机顶盒软件升级项目”。采用的升级软件为具有开放体系架构的TVOS-H软件[1],该软件涵盖了数字电视功能组件,满足可管可控、安全可靠的技术要求,且兼容继承了NGB终端中间件功能组件。该项目历经两年奋战,实施了覆盖全省13个地市、69个分子公司,涉及创维、同洲、九洲、熊猫、长虹、金网通6个机顶盒品牌,53种硬件规格,198个软件版本的升级工作,基本实现主流高清机顶盒升级全覆盖。
升级项目总体工作量重、复杂程度高、协调难度大。从表面上看,升级工作只是机顶盒软件研发和调试,但在实际工作过程中,它更是一项复杂的系统工程,牵涉到终端、网络、平台、业务等多个方面工作,需要协调播控、运营、业务、市场、分子公司及合作厂家等多个相关单位。本文针对升级方案的设计与具体实施进行论述,总结并给出了平台、网络、终端、业务等方面的升级经验。
1 背景介绍
江苏有线经过多年的发展,目前拥有总计约2600万台在网机顶盒终端,根据2017年年底的数据统计,高清机顶盒约计500万余台(包括普通互动机顶盒和2011年至2013年上线的云媒体机顶盒[2])。由于历史原因,这部分存量机顶盒技术体系混乱,硬件品牌、型号、规格多种多样,软件方案纷繁复杂,给公司经营活动带来极大阻碍。具体调研情况如表1。
为充分盘活存量机顶盒资源,促进终端技术体系统一,满足业务快速落地与统一部署的需求,切实提升用户体验,江苏有线启动了全省可利旧机顶盒升级项目,江苏有线主要领导做出了关于“尽快实施全省在网数字电视缴费用户机顶盒软件升级工作,提升在网数字电视缴费用户数及其体验度”的重要批示。江苏有线技术研究院在此背景下拟定了全省可利旧升级计划,分两个阶段完成,第一阶段先升级普通互动机顶盒,第二阶段升级云媒体机顶盒。
2 TVOS-H软件系统设计
2.1 设计原则
NGB TVOS是由原国家新闻出版广电总局(现为“国家广播电视总局”)科技司组织的合作开发组所推出的一款智能电视操作系统,该系统具备(1)安全、可管可控遵;(2)标准化;(3)开放构架等特点[1]。其应用框架层实现了NGB终端中间件标准定义的API,支持NGB—J和NGB—H应用运行[3]。TVOS-H是在TVOS-C基础上裁剪得来,主要是将TVM虚拟机以及其上的应用框架层软件模块去除,适应部分较低硬件配置的机顶盒/电视机使用。江苏有线遵照国家TVOS标准[4][5][6],以TVOS操作系统原型为基础,结合江苏有线技术系统要求以及市场发展需求,研制适用于江苏有线的新一代高清机顶盒软件TVOS-H平台。根据江苏全省市场需求以及在网机顶盒硬件规格,移植统一TVOS-H软件,集成分公司本地特色业务与功能。完成分公司本地存量高清智能机顶盒软件升级,全部迁移到最新统一软件。一方面统一终端软件接口标准,统一终端技术架构;另一方面便于统一业务灵活上下线,兼顾本地业务,为市场部门业务运营提供有力支撑。
2.2 TVOS-H系统软件设计方案
TVOS-H系统软件是位于终端硬件驱动和嵌入式操作系统层之上、应用软件层之下的软件系统。它对下层可以屏蔽不同硬件平台和操作系统的差异,使同一个应用能在不同的终端上运行;对上层可以提供丰富的程序开发接口,使同一款终端能支持各种各样的数字电视应用,图1描述了TVOS-H单引擎操作系统在终端所处的位置。
TVOS-H单引擎操作系统采用层状架构,从下到上可分为系统移植层、核心软件层、执行环境层和应用接口层,每层由一个或若干个模块构成[2],图2描述了TVOS-H单引擎操作系统的系统架构。
2.3 全省统一软件区域配置方案
由于江苏有线全省区域众多,不同区域业务存在一定的差异性,针对江苏有全省统一软件区域配置,TVOS-H单引擎操作系统软件在电视UI中预先内置一个区域配置文件(该文件主要描述江苏有线全省各区域区域码以及其对应的相关特定区域配置项)。机顶盒终端软件在发布前通过系统软件中key分区文件配置版本发布区域对应的区域码。之后机顶盒终端即可根据key分区中的区域码,从区域配置文件中获取终端所在当前区域的相关配置信息。从而实现全省统一软件版本区域控制。
机顶盒终端具体业务流程如下:
机顶盒开机时,由应用通过TVOS-H单引擎操作系统软件提供的API获取key分区文件中配置的区域码值。
应用根据获取到的区域码,在本地存储的区域配置文件中配对当前区域相关特定配置项信息。
应用将获取到的当前区域配置项信息通过TVOS-H单引擎操作系统软件提供的API设置到相关系统软件区域中。
设置成功,则应用保存当前区域配置设置状态、配置文件版本以及区域码(注:应用将相关信息成功设置到对应系统软件区域后才可保存当前配置文件版本以及区域吗),用于下次开机执行更新判断。相关区域配置项配置成功后在下次开机后生效。
当机顶盒恢复出厂设置之后,应用需要重新设置当前区域相关配置信息。
区域配置文件参考格式定义:
3 Loader功能设计
机顶盒终端软件升级分为在线升级和USB升级,升级软件模块示意如图3所示。
各软件模块说明如下:
1. Boot Loader:boot在机顶盒加电时最先载入,负责系统启动,初始化硬件设备。
2. mini-APP:与统一软件应用程序分离,启动时用来检测升级标志位,同时负责对统一软件程序校验。
3. APP + UI即整套应用软件。
3.1 在线升级
基于江苏有线运营商在网盒子的数量和部署情况,推荐使用在线升级方式。在线升级是运营商的前端部署升级触发流,终端设备系统对升级触发流予以检测获取升级信息后,予以升级触发判断,确认符合升级触发条件后,予以下载升级文件。升级文件下载到本地后,进入升级系统(如Recovery系统或Loader系统)实现对分区的擦写更新,完成系统的更新。
3.2 USB升级
当在线升级操作失败的终端设备或待发的机顶盒设备,可以采用USB升级的方式予以对系统做升级。
USB升级是将包含升级文件的USB设备插入机顶盒的USB口,上电后,通过某个触发条件(如长按待机键)让机顶盒进入升级系统,由机顶盒读取USB设备中的升级文件,实现对分区的擦写更新。该方式需要由人工操作实施。
3.3 升级风险评估
江苏有线在网待升级的NGB-H单引擎操作系统数字电视机顶盒是分别由6家设备提供商提供的覆盖全省52个区域119款机顶盒设备。涉及到Flash型号和容量、外设配置、分区规划、数据格式等相关环节差异性。这个给升级方案的规划带来了巨大的难度,需要全面的考虑各设备的差异性,给出统一的、安全的升级方案。
3.4 机顶盒升级流程
机顶盒需要升级时详细的启动流程如图4所示。
1. 第1步系统启动。
2. 第2步对系统设备进行初始化。
3. 第3步检测IP Loader升级标志位,是否需要升级。
4. 第4步升级标志位置升级位,则进入升级画面。
5. 第5步检测网络是否连通,如连接成功则开始请求下载升级文件。
6. 第6步整个升级过程屏幕显示:与升级服务器连接的状态、升级进度和获取到的升级参数(视客户要求再定)。
7. 第7步文件下载完成后,需要进行CRC校验和写flash完成升级,清除升级标志位,接着自动重启盒子。
8. 第8步以刚升级的统一软件重启系统,表示升级成功。
9. 第9步在第3步基础上,如升级标志位提示不要求升级,则继续启动统一软件。
10. 第10步对统一软件进行CRC校验,出错,进入升级画面,执行第4步。
11. 第11步在第9步基本上,统一软件CRC校验成功,则进入第8步打开电视服务。
12. 第12步在第6步基础上,如果网络连接失败,则跳到第7步清除升级标志位并以升级前的统一软件重启。
13. 第13步在第6步基础上,如升级文件下载失败、CRC校验错误、写flash出错,都需要跳到第7步清除升级标志位,以原软件版本重启系统。
3.5 升级异常处理
1.升级过程中断电
1)下载文件中断电
当终端重新上电后系统能够正常运行,并能够重新检测需要下载的文件进行下载。
2)系统更新时断电
在系统更新时断电,当终端上电时能够重新进入到recovery升级系统,再次下载文件并进行升级。
2.升级过程中失败
1)下载文件中失败或超时
下载过程中如出现失败或超时情况,需不影响现有系统运行并进行适时重试,超时与重试的参数需支持局端动态配置的机制。
2)系统更新时失败或超时
更新过程中如出现失败或超时情况,终端能自动重启并重新进入到原有操作系统,要求升级过程中对操作系统存在安全备份机制。
4 环境系统调试
机顶盒升级更是一项复杂的系统工程,牵涉到终端、网络、平台、业务等多个方面工作,本节主要针对主要的Launcher管理系统、EPG系统、广告系统和CA系统进行简单归结。
4.1 Launcher管理系统
Launcher管理系统是一套管理UI portal页面的系统,独立于机顶盒系统, 是本次升级的一个亮点。该系统按照“省、市、县”三级管理框架进行设计,使业务上下线不需要再行机顶盒升级,直接修改前端页面就可以实现在线变更,方便灵活,真正意义上实现公司UI的统一。
4.2 EPG系统
单向EPG系统是数字电视业务系统的重要组成部分,直接关系到用户是否能够正确观看电视节目,本次利旧升级过程针对全省EPG系统情况梳理如下:
1. 全省目前以本地建设的单向EPG播放系统为主,根据规划需要,大部分实施“三级播控”。
2. 部分地区EPG播出系统、规范不一致,通过前端改造或终端兼容等方案,使之基本统一。
3. 建设一套集中部署,面向全省使用的双向EPG系统,目前可以实现以县为颗粒度的差异化配置。
4.3 广告系统
广告系统是各区县地方电视台重要的赢利手段之一,其中部分广告系统的资产和管理大部分不在区县分公司手中,而是在地方电视台手里。通过本次升级调试,江苏有线对全省各地的广告系统逐一排查,详细参数信息记录在案,基本摸清了全省广告系统的参数配置规律和变迁情况,并重新统一定义了高清广告的广告类型、大小尺寸,在不影响现有机顶盒接收广告的情况下,统一升级了全省各区县公司的高清广告播出模块,为公司广告业务全省统一经营打好技术基础。
4.4 CA系统
全省目前存在3家CA系统,使用情况如下:
1. 只用1家;
2. 用其中的2家;
3. CA系统做配对或不配对(机卡绑定),如苏州、溧阳等地做了配对。为了尽量保持机顶盒软件版本统一,在机顶盒利旧升级过程中,针对全省CA前端系统不一致的情况,江苏有线设计了一种新的方案,可以在几种不同的环境下使用,并通过详细测试以及实网验证,整体运行稳定可靠。
5 测试与升级
5.1 测试
软件测试工作很细,软件质量控制尤为重要。即便按照测试规范多用例、多场景地测试,也很难把所有的应用场景都能穷尽,正是由于这样的风险存在,除了加强常规测试外,还要加强边界测试、异常测试、压力测试及大范围的试商用测试。尤其是试商用阶段,是搜集问题、评估风险的最佳时间,监测并搜集升级过程中可能出现的问题,并对这些问题进行分析,做好升级风险评估,再做回归测试。通过试商用阶段和回归测试阶段,才可以把升级风险降到可控范围内。
5.2 升级
机顶盒大网升级工作需要组织好、策划好。在大网正式升级前,需要与各分公司做好宣传工作,加强升级前的运维和客服培训工作,做好应急预案。升级过程中做好运维准备和报修监测,注意风险把控,搜集反馈的问题。升级过程不宜操之过急,平稳递增,边升级边观察,有问题及时应对,做到有条不紊,胆大心细,大网规模化升级才能有的放矢,才不会出大乱子。
6 升级实施效果及价值
综上所述,本项目的实施主要实现了以下效果及价值:统一了全省主流高清互动机顶盒软件平台, 统一了终端接口规范;统一了全省UI界面,实现了业务的灵活部署;兼顾了各地区业务功能的差异性,为逐步统一打下了技术基础。
6.1 统一机顶盒软件平台
本次升级项目分两个阶段完成,第一阶段已完成300余万普通高清互动机顶盒软件覆盖。第二阶段完成200余万云媒体机顶盒软件覆盖。截至发稿日,全省已挂大网的升级率约为74.5%,后续仍在挂网升级。
根据目前全省存量机顶盒的发展状况,针对全省主流高清互动机顶盒,选用TVOS-H单引擎操作系统进行全省高清互动机顶盒终端升级,相比于传统“中间件”技术方案具有技术先进、标准统一、安全可控等突出优势。通过本次软件升级,统一了全省浏览器接口规范,屏蔽了机顶盒品牌、硬件、配置的差异,统一全省机顶盒应用开发接口,统一机顶盒业务支撑能力,实现省公司业务统一落地,进而逐步统一全省高清机顶盒终端技术体系,从而实现对现有机顶盒终端资源最大程度的利旧。
6.2 灵活统一的UI界面
升级后机顶盒通过B/S架构统一对接了全省Launcher管理系统。统一的UI既保证全省UI的统一性,又满足分公司开展本地业务的个性化需要;所有元素可以灵活更新,可根据公司业务发展需要在不升级机顶盒软件升级的情况下在线改版和更新。
6.3 兼容地区差异化业务和功能
在TVOS全省推广中,保证终端软件统一的前提下,又要兼顾历史现状,同时,又要考虑后续如何逐渐过渡到统一的问题。各地业务与功能差异化处理的方式主要有三种:
1. 内置多家C库:如各家CA库、广告库等,在不影响性能的同时,自动适配不同地区差异化的前端,保证系统的正常运行。
2. 区域码机制:增加区域码机制,在保证全省TVOS软件统一相对的前提下,对接本地自有平台。
3. 扩展TVOS应用开发接口:通过键值映射、开发JS插件等方式扩展TVOS应用开发接口,适配全省不同的遥控器、各类智慧城市业务,满足本地驻地化的业务需求。
7 小结
“全省可利旧机顶盒软件升级”项目的顺利实施进一步推动了全省不同品牌、不同规格、软件版本杂乱的机顶盒软件标准进行了统一,把江苏有线全省主流高清互动机顶盒软件逐渐统一到TVOS版本,在一定程度上统一了全省终端技术体系,逐步实现江苏有线软件版本的收敛。同时,支撑了江苏有线省级业务如孝乐神州、电影院线、地方新闻及微信电视、视频通话、七彩童年等新业务的快速落地,并为在线医疗、同步教育等即将上线的创新业务提供承载能力支撑。项目组通过开展三轮全省技术培训以及赴一线的技术指导和支撑,为分公司尤其是技术力量比较薄弱的区县公司培养了一批终端技术人才;通过全省存量机顶盒升级有效延续了在网机顶盒的使用寿命。在实施软件升级过程中,保质保量完成了软件研发任务,实现了升级工作的平稳、高效开展。
参考文献
[1] 陈德林,黎政,王颖等.NGB TVOS软件构架及其主要技术特点[J].广播电台信息,2013.10(256):21-25.
[2] 于涛,钟铁军.浅谈江苏有线云媒体电视的建设与发展[J].有线电视技术,2014.6(294):24-28.
[3] 张定京,王颖,黎政,白伟,陈德林.NGB TVOS Java应用框架层API的封装模型分析[J].电视技术,2015,39(13).
[4] GY/T267-2012下一代广播电视网(NGB)终端中间件技术规范[S].
[5] GY/T 303.1-2016智能电视操作系统 第1部分:功能与架构[S].
[6] GY/T 303.2-2016智能电视操作系统 第2部分:安全[S].
作者简介
张一哲,男,1984年生,硕士,江苏有线江苏有线终端技术部技术经理,工程师,主要从事机顶盒终端技术工作,参与TVOS国家“核高基”项目。