高清有线机顶盒软件安全可靠升级的措施
2014-10-30李晓芳
李晓芳
【摘 要】数字技术的普及堪称现代信息领域最大的一次技术革命,这场革命的浪潮在二十世纪末的最后几年迅速席卷全球。所到之处,不仅改变了人类的生产方式、生活方式、思维方式,更改变了人类的信息传播方式。电视从模拟到数字的转变是当今电视产业正在经历的一个重大历史阶段。用户日益增加的数字电视功能和业务需求对高清数字电视的设计和升级提出了更高的要求。因此在尽量保持原有前期机顶盒硬件设备投入的基础上,不断地更新、完善新的机顶盒应用软件成为一种趋势。
【关键词】机顶盒 升级 可靠性 数字信号
1 机顶盒软件升级措施
目前市场上的数字机顶盒的升级方式不规范,有些机顶盒没有自动升级功能,发现问题就返厂维修,机顶盒发下去后,一旦有问题只能返回厂家重写软件或废弃,升级成本极高。最初生产的机顶盒都没有自动升级功能,目前机顶盒最常用的是在机顶盒出厂时一次写入FLASH中一个Loader,但是一经写入不得更改,可以实现应用程序的升级。但是不能升级Loader本身。
为解决升级的问题,本系统设计了Boot加双Loader的双系统升级模式,在系统中增加一个备份Loader软件,备份Loader是Loader的完整的复制,这样就可以实现Loader的升级,当升级Loader的时候,如果擦除后写入Loader失败,下次开机可以从备份Loader拷贝到主Loader块,重新引导升级流程。在Flash存储时,本设计把程序物理上分块设计,各块相对独立,字库、图片、开机画面、广告图片等分别做成独立的bin文件,放到flash中不同的块中,这样就可以实现每部分的独立升级,及时升级失败,开机仍然可以继续自动升级,如果自动升级失败,本系统配备的多种手动升级方式还可以继续升级,确保在用户家可以完全升级,不需把机顶盒收回。
本方案在Loader中增加了多合一驱动的概念,比如三合一高频头驱动,就是三款高频头做成一个驱动库,开机进入Loader后自动适配硬件器件,而不是固定的硬件型号,不再受一款硬件只能配一种软件驱动的限制。一个市场即使有多宽硬件也可以做到软件的兼容,软件维护起来就比较方便,成本相对也会降低。
2 机顶盒软件升级方法的设计实现
机顶盒软件是运行在硬件基础上,软件包括Boot、Loader和图片、字库及应用程序等,由于flash的内容在断掉时也不会丢失,所以,Boot、loader和应用程序代码是存储在flash中。正常工作时,Boot引导程序启动,flash中的Loader代码将被拷贝到动态存储器的DDR中执行,Loader运行过程中判断是否需要升级数据,如果不需要升级,则把应用代码拷贝到DDR中运行应用程序。在进行升级时,数字电视设备从TS流中提取出复用在TS流中的代码数据块,并重新组合成为完整的flash镜像文件,把Loader和应用程序、图片、字库等写入到配置好的flash块中。
2.1机顶盒软件升级模块设计
本方案的设计目的是要实现整套软件的可升级性,降低升级软件的复杂度,升级模块设计上分为一个boot模块和两个独立的Loader模块,以及完整的应用模块。Boot模块志实现系统的引导功能,本方案Loader的主要功能是实现手动和自动升级功能,带有基本的OSD显示,用于显示升级设置界面以及升级进度。从应用角度看,boot和Loader都可以看做一套应用系统,相当于裁减了应用层、中间层以及驱动层的精简系统。这样设计可以叨叨上层应用、图片、字库和Loader的组合或者单独升级。Flash的特性是必须先擦除才能写入,这样组合升级时我们也采用分块结构,就是按升级的单元擦除和写入,每个在flash中独立存储的块就是一个独立的单元。为了减少提取数据的时间,升级数据提取时是把所有的数据一次提到,写入的时候不是一次全部擦除原有数据,而是擦一个单元写一个单元。这样可以降低升级过程断电或异常造成升级破坏的概率,更好的确保升级过程的有效性,软件代码结构图如下:
应用程序(Flash APP)
主Loader 备份Loader
Boot(引导系统)
2.2 升级安全设计
由于机顶盒产品的特殊性,其规模大,应用广,需求变化多,升级次数多,一个小的有线市场也要有十几万用户。如果升级不可靠,其后果是难以想象的,升级维护的成本也是巨大的。所以,省级安全是必须做到的。
软件升级的安全性主要是考虑两个方面,一个是本机升级到可靠性,即信号恶劣、升级失败情况下所采取的措施;二是升级文件本身的完整性和可靠性。
要确保升级方案的可靠性,首先从设计上要考虑完善。本系统从软硬件环境可靠性、流程设计、非正常操作、恢复机制、用户操作过程等方面都采取一定的措施来保证。本系统设计强行设定信号弱的时候不进行升级操作,因为如果信号比较差的情况下,高频头可以锁定,但是提取数据可能会超时或中断。如果数据未下载完系统断电,由于未对flash进行改写,因此不应向可靠性。如果在flash改写时断电,则下次开机时应重新进入升级界面。开机校验主Loader是否正确,若主Loader模块正确,则引导主Loader模块启动,若主Loader模块损坏,则校验备份Loader模块是否正确,若备份Loader正确,将备份Loader的内容拷贝到主Loader中,引导主Loader启动。
3 结语
我国模拟电视转数字电视正在如火如荼的进行着,数字机顶盒必在此阶段担当重任,各种新的业务需求,新的功能层出不穷,Loader系统的设计在今后应该还会向着更智能,更人性化的方向发展。此外,三网融合的进程也在推动,目前也有多家公司拿到了广电的网络营业牌照,这为机顶盒注入新的动力,机顶盒Loader的设计应该也会更加多样化。
参考文献:
[1] 胡嘉和.浅析数字电视机顶盒技术[J].广播电视信息,2009,2:63-66.
[2] 曾延光.国内外机顶盒能效要求对比分析[J].信息技术与标准化,2011(5):56-59.
[3] 格兰研究.2011年中国机顶盒白皮书[J].卫星电视与宽带多媒体,2011(21):30-32.endprint