CN111263232B - 一种基于数字机顶盒的后台ota升级实现方法及系统 - Google Patents
一种基于数字机顶盒的后台ota升级实现方法及系统 Download PDFInfo
- Publication number
- CN111263232B CN111263232B CN202010059606.8A CN202010059606A CN111263232B CN 111263232 B CN111263232 B CN 111263232B CN 202010059606 A CN202010059606 A CN 202010059606A CN 111263232 B CN111263232 B CN 111263232B
- Authority
- CN
- China
- Prior art keywords
- partition
- ota
- main application
- application program
- app
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Abstract
本发明公开了一种基于数字机顶盒的后台OTA升级实现方法及系统,所述方法包括Flash分区设置步骤和OTA升级步骤;将Flash进行分区,分区除开常规的配置外,额外增加一个App分区和一个App Cfg分区;启动其中一个主应用程序;开启OTA数据过滤任务;过滤到OTA数据后,判断是否为需要的升级数据;如果判断结果为是,读取App Cfg分区中的正在启动的主应用程序的配置信息;并根据信息,确定准备写入升级数据的主应用程序对应的分区;将升级数据写入待升级的主应用程序分区以后,更新App Cfg分区中的主应用程序启动配置文件,使其指向完成升级的主应用程序的分区;关闭OTA数据过滤程序。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于数字机顶盒的后台OTA升级实现方法。
背景技术
在数字机顶盒中,OTA(Over The Air,空中下载)升级是非常重要的一个功能,特别是当数字机顶盒产品到达成千上万的终端客户手上以后,OTA升级功能显得尤为重要。数字机顶盒中新功能的部署、终端客户在数字机顶盒的使用过程中发现的部分问题修复,等等这些情况,都需要使用OTA升级来更新数字机顶盒中的软件,以求达到解决问题的目的。
目前基于STB(数字机顶盒)系统终端的OTA升级方式主要有两种,一种是ManualOTA;一种是Auto OTA。
Manual OTA:STB软件中,存在一个Manual OTA的菜单,该菜单存在一些OTA升级的参数,设置OTA升级参数以后,按提示逐步操作就可以完成升级。该方法的缺陷是:ManualOTA执行流程相对于繁琐,DVBC、DVBT、DVBS等之间的设置参数各不一样,设置选项较为晦涩难懂,非专业人士很难理解其含义,升级操作必须进入特定界面,无法在升级过程中对STB设备进行其他操作。
Auto OTA:STB软件中,创建了一个检测Auto OTA的任务,当检测到OTA升级数据之后,触发提示并引导客户完成OTA升级,或者直接强制进行OTA升级。该方法的缺陷是:相较于Manual OTA没有参数设置这一步骤,如果OTA检测任务检测到OTA升级数据以后,如果是非强制OTA升级,触发升级提示,终端用户可以手动选择是否进入OTA升级界面,如果选则是,中断STB系统终端设备的当前任务,进入OTA升级,如果选择否,关闭选择框,取消OTA升级;如果是强制OTA升级,中断STB设备的所有操作,进入的升级界面进行升级。和ManualOTA一样,升级的过程中无法对STB设备进行其他操作。
不论是Manual OTA还是Auto OTA,都需要中断STB设备的当前任务,进入专门的OTA升级界面才能完成升级,尤其是Auto OTA的强制升级模式,完全忽略了终端用户的使用体验。
发明内容
为了克服现有技术的不足,本发明有必要提供一种新的OTA升级方式——Background OTA即后台OTA,不仅可解决用户体验不佳的问题,还针对更新过程中断电情况加入异常处理机制,提高OTA升级的安全性。
为解决上述问题,本发明所采用的技术方案如下:
一种基于数字机顶盒的后台OTA升级实现方法,包括Flash分区设置步骤和OTA升级步骤;
所述Flash分区设置步骤包括:将Flash进行分区,除常规的配置外,额外增加一个App分区和一个App Cfg分区,此时系统将包含两个App分区:App0和App1,所述App0分区用于存储STB设备的主应用程序App0;所述App1分区用于存储STB设备的主应用程序App1;所述App Cfg分区用于存储STB设备的主程序应用启动配置文件,该配置文件用于确定启动的STB设备主应用程序是App0还是App1;
所述OTA升级步骤包括:
S1、所述数字机顶盒上电以后,运行引导加载程序,所述引导加载程序读取所述App Cfg分区中存储的主应用程序启动配置文件,启动对应的主应用程序App0或App1;若启动失败,修改所述App Cfg分区中存储的主应用程序启动配置文件,使其指向另一个主应用程序App1或App0,并启动其指向的应用程序;
S2、所述主应用程序启动以后,开启OTA数据过滤程序,开始过滤OTA数据;
S3、所述OTA数据过滤程序过滤到OTA数据后,判断是否为需要的升级数据;如果判断结果为是,读取所述App Cfg分区中的指向启动的主应用程序的信息;
S4、根据所述App Cfg分区中的指向的所述主应用程序的信息,确定准备写入升级数据的主应用程序对应的分区:如果当前启动的是App0中的主应用程序,将所述升级数据写入App1分区中,如果当前启动的是App1,将升级数据写入App0分区中;
S5、将所述升级数据写入完成以后,更新所述App Cfg分区中指向的主应用程序启动配置文件;
S6、关闭所述OTA数据过滤程序。
具体的,所述引导加载程序为u-boot。
作为优选,所述S3中,如判断结果为否,则丢弃该数据,继续过滤。
具体的,所述S6之后,还包括S7:所述数字机顶盒被重启后,运行的主应用程序为OTA升级后的版本。
采用本发明之方法,可实现的效果是:当数字机顶盒开机后,启动的是App0分区,则升级的分区就是App1分区,当升级完成以后,数字机顶盒重启时就会启动App1,不会启动App0,从而使得每升级一次,启动分区就会更改一次,这样就可以保证,客户手中每次启动的都是最新的软件。
本发明还提供一种用于实现上述的基于数字机顶盒的后台OTA升级实现方法的系统,包括:包括Flash分区设置模块和OTA升级模块;
所述Flash分区设置模块用于:将Flash进行分区,除常规的配置外,额外增加一个App分区和一个App Cfg分区,此时系统将包含两个App分区:App0和App1,所述App0分区用于存储STB设备的主应用程序App0;所述App1分区用于存储STB设备的主应用程序App1;所述App Cfg分区用于存储STB设备的主程序应用启动配置文件,该配置文件用于确定启动的STB设备主应用程序是App0还是App1;
所述OTA升级模块包括:
启动单元,其用于当所述数字机顶盒上电以后,运行引导加载程序,所述引导加载程序读取所述App Cfg分区中存储的主应用程序启动配置文件,启动对应的主应用程序App0或App1;若启动失败,修改所述App Cfg分区中存储的主应用程序启动配置文件,使其指向另一个主应用程序App1或App0,并启动其指向的应用程序;
过滤单元,其用于当所述主应用程序启动以后,开启OTA数据过滤程序,开始过滤OTA数据;
判断单元,其用于当所述OTA数据过滤程序过滤到OTA数据后,判断是否为需要的升级数据;如果判断结果为是,读取所述App Cfg分区中的指向启动的主应用程序的信息;
升级单元,其用于根据所述App Cfg分区中的指向的所述主应用程序的信息,确定准备写入升级数据的主应用程序对应的分区:如果当前启动的是App0中的主应用程序,将所述升级数据写入App1分区中,如果当前启动的是App1,将升级数据写入App0分区中;
启动配置更新单元,其用于将所述升级数据写入完成以后,更新所述App Cfg分区中指向的主应用程序启动配置文件;
关闭单元,其用于关闭所述OTA数据过滤单元。
优选的,所述引导加载程序为u-boot。
优选的,所述判断单元还用于判断接收到的数据是否为有效的升级数据,结果为否,则丢弃该数据,继续过滤。
优选的,所述判断单元块还用于控制启动的主应用程序,其用于当数字机顶盒被重启后,保证运行的主应用程序为OTA升级后的版本。
相比现有技术,本发明的有益效果在于:
1、Background OTA实现了全后台的STB系统的终端设备升级,升级的过程中,完全不影响终端客户对STB终端设备的使用,升级完成以后,也不会强制重启STB终端设备,待终端客户关机重启后,升级的主应用程序才会生效,并被启用,提高了终端设备用户的体验;
2、Background OTA增加了STB升级的异常处理能力,如果升级数据存在问题,无法启动升级后的主应用程序,STB设备会自动切回,上一次能正常启动的主应用程序,这样能保证STB在终端用户手中始终能正常使用。
附图说明
图1为本发明实施例所述的Flash分区原理示意图;
图2为本发明实施例所述的升级步骤的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细说明。
本实施例提供一种基于数字机顶盒的后台OTA升级实现方法,即Background OTA,其包括Flash分区步骤和OTA升级步骤。
如图1所示,针对本实施例的Background OTA功能Flash分区需要进行调整,调整后必须存在App0、App1、App Cfg这三个分区,这几个分区的主要作用是为了在升级出现异常的时候,保证STB系统终端设备能正常工作。具体的,App0分区用于存储STB设备的主应用程序App0;App1分区用于存储STB设备的主应用程序App1;App Cfg分区用于存储STB设备的主应用程序启动配置文件,该配置文件用于确定启动的STB设备主应用程序是App0还是App1。
如图2所示,Background OTA升级的具体运行流程如下:
STB设备启动上电;
运行引导加载程序uboot,uboot读取App Cfg分区中主应用程序启动配置文件,根据其描述,启动对应的App(App0或App1);若启动失败,则修改主应用程序启动配置文件,并启动另一个分区(App1或App0)中的主应用程序,这样做的目的是为了防止更新软件本身不能启动,或者是更新异常导致不能启动STB设备的问题,增加了安全性;
App启动以后,终端用户通过常规操作正常使用STB设备,同时开启OTA数据过滤的filter,开始过滤OTA数据;
Filter过滤到OTA数据以后,判断是否为需要的升级数据,如果不是,直接丢弃数据,继续过滤;如果是,读取App Cfg,判断是否启动App0,如果判断结果为是,则更新App1,如果判断结果为否,则更新App0;更新后App后,更新App Cfg;
关闭Filter,等待用户重启机器,这样下次开机的时候就可以保证启动的是升级后的版本的主应用程序App0或App1。
本实例还提供一种用于实现上述的基于数字机顶盒的后台OTA升级实现方法的系统,包括:包括Flash分区设置模块和OTA升级模块。
所述Flash分区设置模块用于:将Flash进行分区,针对本实施例的BackgroundOTA功能Flash分区需要进行调整,调整后必须存在App0、App1、App Cfg这三个分区,这几个分区的主要作用是为了在升级出现异常的时候,保证STB系统终端设备能正常工作。具体的,App0分区用于存储STB设备的主应用程序App0;App1分区用于存储STB设备的主应用程序App1;App Cfg分区用于存储STB设备的主应用程序启动配置文件,该配置文件用于确定启动的STB设备主应用程序是App0还是App1。
所述OTA升级模块包括:
启动单元,其用于当所述数字机顶盒上电以后,运行引导加载程序uboot,uboot读取App Cfg分区中主应用程序启动配置文件,根据其描述,启动对应的App(App0或App1);若启动失败,则修改主应用程序启动配置文件,并启动另一个分区(App1或App0)中的主应用程序,这样做的目的是为了防止更新软件本身不能启动,或者是更新异常导致不能启动STB设备的问题,增加了安全性;
过滤单元,其用于当终端用户通过常规操作正常使用STB设备后,主应用程序启动的同时开启OTA数据过滤的filter,开始过滤OTA数据;
判断及升级单元,其用于过滤到OTA数据以后,判断是否为需要的升级数据,如果不是,直接丢弃数据,继续过滤;如果是,读取App Cfg,判断是否启动App0,如果判断结果为是,则更新App1,如果判断结果为否,则更新App0;更新App后,更新App Cfg,具体为,更新所述App Cfg分区中指向的主应用程序启动配置文件;
关闭单元,其用于关闭所述OTA数据过滤程序。
所述OTA升级模块还包括重启运行控制子模块,其用于当数字机顶盒被重启后,运行的主应用程序为OTA升级后的版本的主应用程序App0或App1。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
Claims (8)
1.一种基于数字机顶盒的后台OTA升级实现方法,其特征在于,包括Flash分区设置步骤和OTA升级步骤;
所述Flash分区设置步骤包括:将Flash进行分区,除常规的配置外,额外增加一个APP分区和一个APP Cfg分区,此时系统将包含两个APP分区:APP0和APP1,所述APP0分区用于存储STB设备的主应用程序App0;所述APP1分区用于存储STB设备的主应用程序App1;所述APPCfg分区用于存储STB设备的主程序应用启动配置文件,该配置文件用于确定启动的STB设备主应用程序是App0还是App1;
所述OTA升级步骤包括:
S1、所述数字机顶盒上电以后,运行引导加载程序,所述引导加载程序读取所述APPCfg分区中存储的主应用程序启动配置文件,启动对应的主应用程序App0或App1;若启动失败,修改所述APP Cfg分区中存储的主应用程序启动配置文件,使其指向另一个主应用程序App1或App0,并启动其指向的应用程序;
S2、所述主应用程序启动以后,开启OTA数据过滤程序,开始过滤OTA数据;
S3、所述OTA数据过滤程序过滤到OTA数据后,判断是否为需要的升级数据;如果判断结果为是,读取所述APP Cfg分区中的指向启动的主应用程序的信息;
S4、根据所述APP Cfg分区中的指向的所述主应用程序的信息,确定准备写入升级数据的主应用程序对应的分区:如果当前启动的是APP0中的主应用程序App0,将所述升级数据写入APP1分区中,如果当前启动的是App1,将升级数据写入APP0分区中;
S5、将所述升级数据写入完成以后,更新所述APP Cfg分区中指向的主应用程序启动配置文件;
S6、关闭所述OTA数据过滤程序。
2.根据权利要求1所述的基于数字机顶盒的后台OTA升级实现方法,其特征在于,所述引导加载程序为u-boot。
3.根据权利要求1所述的基于数字机顶盒的后台OTA升级实现方法,其特征在于,所述S3中,如判断结果为否,则丢弃该数据,继续过滤。
4.根据权利要求1所述的基于数字机顶盒的后台OTA升级实现方法,其特征在于,所述S6之后,还包括S7:所述数字机顶盒被重启后,运行的主应用程序为OTA升级后的版本。
5.一种基于数字机顶盒的后台OTA升级实现系统,其特征在于,包括Flash分区设置模块和OTA升级模块;
所述Flash分区设置模块用于:将Flash进行分区,除常规的配置外,额外增加一个APP分区和一个APP Cfg分区,此时系统将包含两个APP分区:APP0和APP1,所述APP0分区用于存储STB设备的主应用程序App0;所述APP1分区用于存储STB设备的主应用程序App1;所述APPCfg分区用于存储STB设备的主程序应用启动配置文件,该配置文件用于确定启动的STB设备主应用程序是App0还是App1;
所述OTA升级模块包括:
启动子模块,其用于当所述数字机顶盒上电以后,运行引导加载程序,所述引导加载程序读取所述APP Cfg分区中存储的主应用程序启动配置文件,启动对应的主应用程序App0或App1;若启动失败,修改所述APP Cfg分区中存储的主应用程序启动配置文件,使其指向另一个主应用程序App1或App0,并启动其指向的应用程序;
过滤单元,其用于当所述主应用程序启动以后,开启OTA数据过滤程序,开始过滤OTA数据;
判断单元,其用于当所述OTA数据过滤程序过滤到OTA数据后,判断是否为需要的升级数据;如果判断结果为是,读取所述APP Cfg分区中的指向启动的主应用程序的信息;
升级单元,其用于根据所述APP Cfg分区中的指向的所述主应用程序的信息,确定准备写入升级数据的主应用程序对应的分区:如果当前启动的是APP0中的主应用程序App0,将所述升级数据写入APP1分区中,如果当前启动的是App1,将升级数据写入APP0分区中;
启动配置更新单元,其用于将所述升级数据写入完成以后,更新所述APP Cfg分区中指向的主应用程序启动配置文件;
关闭单元,其用于关闭所述OTA数据过滤单元。
6.根据权利要求5所述的基于数字机顶盒的后台OTA升级实现系统,其特征在于,所述引导加载程序为u-boot。
7.根据权利要求5所述的基于数字机顶盒的后台OTA升级实现系统,其特征在于,所述判断单元还用于:如判断结果为否,则丢弃该数据,继续过滤。
8.根据权利要求5所述的基于数字机顶盒的后台OTA升级实现系统,其特征在于,所述OTA升级模块还包括重启运行控制子模块,其用于当数字机顶盒被重启后,运行的主应用程序为OTA升级后的版本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010059606.8A CN111263232B (zh) | 2020-01-19 | 2020-01-19 | 一种基于数字机顶盒的后台ota升级实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010059606.8A CN111263232B (zh) | 2020-01-19 | 2020-01-19 | 一种基于数字机顶盒的后台ota升级实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111263232A CN111263232A (zh) | 2020-06-09 |
CN111263232B true CN111263232B (zh) | 2022-07-15 |
Family
ID=70954370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010059606.8A Active CN111263232B (zh) | 2020-01-19 | 2020-01-19 | 一种基于数字机顶盒的后台ota升级实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111263232B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207699A (zh) * | 2006-12-22 | 2008-06-25 | 深圳市同洲电子股份有限公司 | 一种机顶盒升级的方法 |
EP2037361A1 (en) * | 2007-09-10 | 2009-03-18 | Samsung Electronics Co., Ltd. | Video apparatus, video system and method for upgrading software thereof |
CN101567962A (zh) * | 2009-04-24 | 2009-10-28 | 福建新大陆通信科技有限公司 | 机顶盒的双Loader升级方法 |
CN107071570A (zh) * | 2017-02-13 | 2017-08-18 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒升级方法及装置 |
-
2020
- 2020-01-19 CN CN202010059606.8A patent/CN111263232B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207699A (zh) * | 2006-12-22 | 2008-06-25 | 深圳市同洲电子股份有限公司 | 一种机顶盒升级的方法 |
EP2037361A1 (en) * | 2007-09-10 | 2009-03-18 | Samsung Electronics Co., Ltd. | Video apparatus, video system and method for upgrading software thereof |
CN101567962A (zh) * | 2009-04-24 | 2009-10-28 | 福建新大陆通信科技有限公司 | 机顶盒的双Loader升级方法 |
CN107071570A (zh) * | 2017-02-13 | 2017-08-18 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒升级方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111263232A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090217257A1 (en) | Apparatus and Method for Firmware Update | |
CN102646043B (zh) | 移动终端软件升级方法、升级装置及移动终端 | |
EP3879399A1 (en) | Method and apparatus for upgrading vehicle-mounted tbox, device, and storage medium | |
CN101719072A (zh) | 嵌入式终端设备软件升级方法及升级装置 | |
JP2003029997A (ja) | ネットワーク環境におけるソフトウェアアップグレード方法及びそれによるネットワークデバイス | |
CN105912365B (zh) | 一种移动终端系统更新方法及系统 | |
US20210382789A1 (en) | Method for protecting system from being powered off during upgrade and terminal device | |
CN102831022A (zh) | 修改系统配置的方法和装置 | |
CN111078471B (zh) | 显示设备的系统故障恢复方法、设备及计算机存储介质 | |
CN106303709B (zh) | 一种机顶盒及其应用程序升级方法、系统 | |
CN108345464A (zh) | 一种安卓系统的启动方法及安卓车机 | |
CN1889042A (zh) | 一种终端升级方法及系统 | |
CN111083564B (zh) | 一种智能电视升级方法及智能终端、智能外设和智能电视 | |
CN107071570A (zh) | 一种机顶盒升级方法及装置 | |
CN105744365A (zh) | 基于Android系统的智能机顶盒的升级方法 | |
CN111263232B (zh) | 一种基于数字机顶盒的后台ota升级实现方法及系统 | |
CN113626059B (zh) | 系统升级方法、摄像机及计算机可读存储介质 | |
CN112416411A (zh) | 升级方法及装置、设备端、服务器、计算机可读介质 | |
CN106658192A (zh) | 一种用于系统升级的控制方法及装置 | |
CN101520741A (zh) | 一种实现机顶盒系统安全升级的系统及其方法 | |
US20190354392A1 (en) | Preventing interruption during virtual machine reboot | |
CN105843642A (zh) | 终端的升级方法、终端升级控制方法、终端及服务器 | |
CN108334384B (zh) | 基于状态机的4g模块管理方法 | |
CN108595292B (zh) | 一种系统的优化方法、移动终端及计算机存储介质 | |
US7991390B2 (en) | Program updating method of wireless communication terminal and wireless communication terminal using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |