一种机顶盒安全运行方法 【技术领域】
本发明涉及数字机顶盒,尤其涉及一种用于数字机顶盒的安全运行方法。
背景技术
随着数字电视技术的推广和发展,目前机顶盒的软件设计日趋复杂。比如,其操作界面多层嵌套、采用动态画面表现形式等,其功能也不断地推陈出新,补充了许多增值业务,例如,娱乐游戏、股票分析、浏览器以及VOD点播等。这些界面的层次化和功能的多样化固然受到了很多用户的青睐,但同时也为机顶盒的稳定运行埋下了一些安全隐患。由于机顶盒的软件开发大都采用了多线程的机制,如果这种设计机制运用不当的话,本身就会产生很多问题,比如,线程死锁、堆栈越界以及多任务优先级调度等问题。另外,随着上述增值业务的推广和应用,机顶盒中的固有软件也在频繁的更新升级。机顶盒厂商为了缩短开发周期,多拿订单,很多软件版本都是在非常仓促的时间段内开发出来的,这也是影响机顶盒稳定运行的一个重要的潜在因素。
上述因素的客观存在,势必影响到机顶盒的最基本功能(节目播放)在实际使用过程中的稳定运行。在机顶盒的使用过程中,当用户发现机顶盒出现较为严重的异常情况时,比如,应用软件运行不稳定、时常出现死机、或遥控器无响应的现象;由于软件中的缺陷导致音视频播放不流畅、或者应用程序根本就无法启动等现象;通常的处理方法是联系售后工程师,对当前版本的软件进行代码检查或升级更新。
上述现有处理方法存在如下缺点:
1、机顶盒应用软件出现问题时,机顶盒所有应用方面的功能全部受到影响,就连最基本的功能(节目播放)都无法正常运行,导致用户无法继续收看电视节目;
2、从用户发现机顶盒出现问题到最终解决问题,中间经过多个环节和部门,需要一定的时间周期,而在这期间,用户无法正常收看电视节目;
3、软件版本的频繁更新,本身就会给机顶盒的运行带来潜在的安全隐患,最新版本的软件虽然能够解决用户提出的问题,但仍然无法确保机顶盒的正常运行始终不出问题。
对于用户而言,机顶盒最基本、最重要的功能是为用户提供丰富、稳定的电视节目。因此,在机顶盒的设计中,如何引用一种良好的安全保护运行机制,使得机顶盒始终保持正常运行,确保用户正常欣赏电视节目显得尤为重要。
【发明内容】
本发明的目的是解决上述现有技术中存在的问题,提出一种用于数字机顶盒的安全运行方法。
本发明采用的技术方案是,提出一种数字机顶盒的安全运行方法,该方法包括下列步骤:
a.基于程序稳定性考虑和有线电视网传输流的特征,设计一个安全模式应用程序,可供用户根据机顶盒的运行状态,有选择性的进入;
b.机顶盒启动时,由Loader模块根据用户请求情况,判断是否需要跳转到安全模式,如是,则跳转到安全模式运行,如否,则按原固化程序运行。
步骤b中所述的跳转到安全模式包括选择临时进入安全模式,或永久进入安全模式。若是选择永久进入安全模式,Loader模块负责将相关标志位写入FLASH,在机顶盒启动时,Loader模块会优先检测该标志位,直接跳转到安全模式应用程序。
所述的步骤a中,基于程序的稳定性和网络传输要求考虑,设计安全模式应用程序;基于数字电视传送流的标准和规范,通过在安全模式应用程序二进制文件中插入标签TAG和PID的方式,实现其传送流的打包,在数字电视前端通过PMT表以私有数据的形式将其在有线电视网络中进行实时传送。
所述的步骤b中,当判定为需要跳转到安全模式运行后,Loader模块负责对安全模式应用程序的接收和启动,具体步骤按下述执行:锁定主频点、设定解复用通道的PID和过滤器的TABLE ID、接收应用程序的SECTION分段并进行拼包组合,进而得到的完整的应用程序,并将其逐行填充到相应的内存地址空间中,完成安全模式应用程序的正确跳转。
与现有技术相比,本发明为机顶盒系统稳定运行提供了有力的辅助措施,即使在机顶盒应用软件出现严重问题时,仍然能够确保机顶盒的基本功能稳定运行,有效弥补了由于软件开发过程中偶发的设计缺陷、软件升级频繁等因素对用户收看效果造成的不利影响,从而确保在技术人员对出现问题的应用软件进行修复的时间周期内,用户仍然能够继续欣赏精彩的电视节目。
【附图说明】
下面结合附图和实施例对本发明作进一步的描述,其中:
图1是本发明方法的流程示意图;
图2是本发明方法的设计流程图。
【具体实施方式】
众所周知,从机顶盒的软件系统功能角度来分,一般有两大部分构成:一、系统引导和程序升级下载部分,通常我们称之为Loader,主要负责机顶盒开机启动时应用程序的引导和跳转,并负责对机顶盒内置应用程序或者Loader本身进行升级更新,这部分功能是机顶盒赖以稳定运行的基础,通常要求其设计考虑全面长远、运行稳定可靠;二、应用程序部分,我们称之为主程序,主要负责节目播放、电子节目指南、股票分析、VOD点播以及浏览器功能等。这部分功能跟用户的日常使用联系比较紧密,机顶盒增值业务的开发和完善,都是通过对应用程序的升级来完成,因此该部分功能的设计比较复杂,升级更新也较为频繁。
通过上述分析,我们知道,机顶盒开机启动后,通过Loader部分的正确引导和跳转,可以实现应用程序的加载和运行,Loader部分的设计通常较为稳定,发生问题的几率较少。由于应用程序结构设计复杂、功能不断更新,因此,最容易出现问题。鉴于这一点,我们为机顶盒增设一个稳定的安全模式应用程序,在机顶盒开机启动时,当用户发现机顶盒的运行状态不理想时,由Loader部分根据用户请求或者设定情况,可以选择性的或者自动跳转到安全模式应用程序中,以确保机顶盒最基本的电视播放功能始终能够稳定运行。
如图1所示,本发明提出的机顶盒安全运行方法包括下列步骤:
a.基于程序稳定性考虑和有线电视网传输流的特征,设计一个安全模式应用程序,可供用户根据机顶盒的运行状态,有选择性的进入;
b.机顶盒启动时,由Loader模块根据用户请求情况,判断是否需要跳转到安全模式,如是,则跳转到安全模式运行,如否,则按原固化程序运行。
下面分三部分来具体介绍这种安全保护机制的具体实现方法,其设计流程如图2所示。
1、安全模式应用程序的设计
在机顶盒开发平台上设计一个安全模式应用程序,在这个应用程序里头剔除机顶盒的一些复杂功能,只需要保留机顶盒最常用、最基本的功能,比如节目搜索,节目列表,节目切换等。考虑到安全模式应用程序功能相对简单,而对其稳定性要求相对较高,在其软件设计方面,我们需要考虑以下四点,其一,在软件框架设计方面,我们采用单线程的运行机制,以避免多线程运行机制产生的安全隐患;其二,在界面设计方面,我们要求精简,禁止采用动态画面和贴图,完全采用平台本身自带的OSD绘制功能来完成;其三。在该程序的运行过程中,尽可能减少对FLASH的操作。其四,要求程序的设计尽可能的精简,使得编制出来的二进制文件最小化,便于在有线电视网络中进行实时传输。
2、安全模式应用程序的启动方式
我们在Loader模块中增加一个按键接收功能,使得在Loader的运行过程中能够接收用户通过遥控器或者前面板发来的按键信息。当数字电视终端在机顶盒开机启动后由Loader向应用程序进行跳转时,Loader模块会通过按键接收模块检测用户请求状况,当用户发现机顶盒内置固化的当前版本的应用程序存在重大缺陷,比如,在节目收看过程中,经常发生死机、遥控器无响应、视频播放不流畅或者应用程序根本无法启动时,用户可以在机器启动后,在Loader向应用程序发生跳转之前,通过设定的遥控器后门按键,主动请求机顶盒进入安全模式应用程序,并可通过不同的后门按键组合,决定本次是临时进入安全模式还是永久进入安全模式,若是永久进入安全模式,Loader会负责将相关标志位写入FLASH,Loader启动时会优先检测该标志位,如果符合条件,Loader便会自动跳转到安全模式应用程序。
3、安全模式应用程序的传送和接收
当安全模式应用程序设计完成后,通过机顶盒开发平台携带的编译器输出二进制文件,按照数字电视传送流制订的标准和规范,为其设定标签TAG和PID,并打包成传送流,在数字电视前端通过PMT表的形式将其进行实时传送。
为了尽可能缩短机顶盒对安全模式应用程序数据接收所耗费的时间,一方面,我们在设计该程序时,尽量将其最小化;另一方面,我们在接收应用程序数据时,选择在主频点上进行接收,因为广电运营商为了方便数据下载,通常为主频点配置较大的带宽,以提高数据下载的速度。当终端机顶盒开机启动后,在Loader模块运行过程中,当其检测到进入安全模式应用程序的条件符合时,启动其在线下载功能,通过设定安全模式传送流打包时所设定的PMT表的通道PID和过滤器的TABLE ID,并根据TAG对其进行辨别,实时接收其对应的SECTION数据包,并对这些SECTION分段进行拼包组合,从而构成一个完整的安全模式应用程序,并由Loader模块的跳转功能模块负责将安全模式应用程序逐行填充到为应用程序规划的内存地址空间中,从而实现向安全模式应用程序的正确跳转。
本发明在机顶盒的软件设计过程中,通过采用一种安全模式保护机制,使得机顶盒在使用过程中,当其内置应用软件发生异常时,能够正确跳转到所设计的安全模式应用程序中,从而可以确保机顶盒最基本的电视播放功能始终稳定运行,最大程度地降低对用户实际使用效果的影响。