CN102917267A - 一种机顶盒升级方法及装置 - Google Patents
一种机顶盒升级方法及装置 Download PDFInfo
- Publication number
- CN102917267A CN102917267A CN2012103745962A CN201210374596A CN102917267A CN 102917267 A CN102917267 A CN 102917267A CN 2012103745962 A CN2012103745962 A CN 2012103745962A CN 201210374596 A CN201210374596 A CN 201210374596A CN 102917267 A CN102917267 A CN 102917267A
- Authority
- CN
- China
- Prior art keywords
- program
- upgrading
- emergence
- top box
- emergence program
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种机顶盒升级方法及装置。该方法包括:对应用程序进行升级;检测升级后的应用程序是否正常;若异常,则启动应急程序以对应用程序进行再次升级。通过上述方式,本发明在机顶盒应用程序升级失败后,从应急程序启动并在应急程序中进行应用程序的再次升级或修复,可防止机顶盒应用程序升级失败并遭到破坏时机顶盒不能正常启动的情况发生。
Description
技术领域
本发明涉及数字电视领域,特别是涉及一种机顶盒升级方法及装置。
背景技术
机顶盒内有功能多样的应用程序,在用户使用机顶盒的过程中,随着机顶盒新功能的增加或是解决修复新的问题都需要对机顶盒的应用程序进行升级。在进行应用程序升级的过程中,可能会遇到各种突发状况而导致应用程序升级失败,例如:机顶盒在应用程序升级过程中突然断电。此时,如果没有采取一定的保护措施,可能就会造成机顶盒再也无法启动,给用户或者维修人员带来更大的修复难度。
现有技术采用的解决方法是在bootloader(引导加载程序)里进行软件升级及修复,但bootloader一般用于系统的初始化和解压应用程序代码,比较短小,并不适于软件升级或修复。
因此,在机顶盒应用程序升级过程中出现异常并遭到破坏时如何对其进行软件升级或修复,使得机顶盒能正常启动成为一个亟待解决的问题。
发明内容
本发明主要解决的技术问题是提供一种机顶盒升级方法及装置,以解决现有技术的机顶盒升级方法在应用程序升级失败后机顶盒无法正常启动的问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种机顶盒升级方法,该方法包括步骤:对应用程序进行升级;检测升级后的应用程序是否正常;若异常,则启动应急程序以对应用程序进行再次升级。
其中,在对应用程序进行升级的步骤之前,该方法进一步包括步骤:升级应急程序,或者获取并存储应急程序。
其中,升级应急程序,或者获取并存储应急程序的步骤包括:判断是否已存储应急程序;若已存储,则判断应急程序是否需要升级,若需要升级则对应急程序进行升级;以及若未存储,则获取并存储应急程序。
其中,获取并存储应急程序的步骤包括:将闪存中的用户数据区的用户数据保存至内存中;将应急程序存储至用户数据区中。
其中,在对应用程序进行升级的步骤之后,该方法进一步包括步骤:将内存中的用户数据存储至用户数据区中。
其中,对应用程序进行再次升级的方式包括:空中下载技术升级、USB升级和网络升级。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种机顶盒升级装置,该装置包括:应用程序升级模块,对应用程序进行升级;判断模块,检测升级后的应用程序是否正常;修复模块,当判断模块检测出升级后的应用程序异常时,启动应急程序以对应用程序进行再次升级。
其中,该装置进一步包括:应急程序管理模块,用于升级应急程序,或者获取并存储应急程序。
其中,应急程序管理模块包括:判断单元,判断是否已存储应急程序,若已存储,则判断应急程序是否需要升级;应急程序升级单元,当判断单元判断应急程序需要升级时,对应急程序进行升级;应急程序获取单元,当判断单元判断未存储应急程序时,获取并存储应急程序。
其中,应急程序获取单元用于:将闪存中的用户数据区的用户数据保存至内存中;将应急程序存储至用户数据区中;在升级模块对应用程序进行升级后,将内存中的用户数据存储至用户数据区中。
本发明的有益效果是:区别于现有技术的情况,本发明的机顶盒升级方法及装置在机顶盒应用程序升级失败后,启动应急程序进行应用程序再次升级或修复,从而有效防止机顶盒应用程序升级失败并遭到破坏时机顶盒不能正常启动的情况发生,再次升级或修复的过程方便快捷,应急程序占用存储空间小,给用户及维修人员带来了极大方便。
附图说明
图1是本发明机顶盒升级方法第一实施例的流程图;
图2是本发明机顶盒升级装置第一实施例的结构示意图;
图3是本发明机顶盒升级方法一具体实施例的流程图;以及
图4是本发明机顶盒升级方法另一具体实施例的流程图。
具体实施方式
下面结合附图和实施例对本发明进行详细说明。
图1是本发明机顶盒升级方法第一实施例的流程图。如图1所示,该方法包括步骤:
S102、对应用程序进行升级;
机顶盒从网络服务器端或外部设备端获取应用程序升级包,并利用获取的应用程序升级包对应用程序进行升级,对应用程序进行升级的具体方式,例如可以采用空中下载技术升级、USB升级和网络升级,此处不做限制。
S103、检测升级后的应用程序是否正常;
例如可以运行闪存中的bootloader以检测应用程序是否正常,如果检测正常则启动应用程序,如果应用程序在S102步骤的升级过程中出现异常情况而未升级成功并遭到破坏(例如应用程序在升级的过程中机顶盒突然断电等情况),则执行步骤S104。
S104、启动应急程序以对应用程序进行再次升级;
当步骤S103中检测得出应用程序出现异常后,机顶盒在闪存中查找应急程序并启动应急程序,在应急程序中进行应用程序的再次升级以修复出现异常的应用程序,对应用程序进行再次升级的具体方式包括:空中下载技术升级、USB升级和网络升级等,此处不作限制。
若机顶盒中未存储有应急程序或者机顶盒中存储的应急程序并不是最新版本的,则在步骤S102之前,机顶盒升级方法还进一步包括步骤:
S101、升级应急程序,或者获取并存储应急程序。
步骤S101具体包括如下步骤:
a、判断是否已存储应急程序;
对已烧入、未烧入且未存储或者未烧入但已存储应急程序的机顶盒本发明方法皆适用,本步骤将判断机顶盒中是否已存储应急程序;
b、若已存储,则判断应急程序是否需要升级,若需要升级则对应急程序进行升级;
机顶盒从网络服务器端或外部设备端获取应急程序升级包,并利用获取的应急程序升级包对应急程序进行升级,具体的升级方法例如可以采用空中下载技术升级、USB升级和网络升级,此处不做限制;
c、若未存储,则获取并存储应急程序;
机顶盒从网络服务器端或外部设备端获取应急程序,并将应急程序存储至机顶盒的闪存中。应急程序在闪存中有两种存储方式,即临时存储和固定存储。
临时存储是指进行应用程序升级前,将应急程序临时存储在闪存的用户数据区中,当应用程序升级成功后,将临时存储在闪存的用户数据区的应急程序清除掉。本实施例中,将应急程序存储至闪存中的步骤具体包括:将闪存中的用户数据区的用户数据保存至内存中;将应急程序存储至用户数据区中;在应用程序升级成功后,将存储在用户数据区的应急程序清除掉并将内存中的用户数据存储至用户数据区中。
固定存储是指机顶盒在闪存中分配独立的应急程序存储区,应急程序固定存储在该应急程序存储区,其中,固定存储的应急程序可以通过烧录的方式存储至该应急程序存储区内。
图2是本发明机顶盒升级装置第一实施例的结构示意图。如图2所示,机顶盒升级装置包括:应急程序管理模块10、应用程序升级模块20、判断模块30和修复模块40。
应急程序管理模块10用于升级应急程序,或者获取并存储应急程序。
应用程序升级模块20与应急程序管理模块10相连接,用于对应用程序进行升级。
判断模块30与应用程序模块20相连接,用于检测升级后的应用程序是否正常。
修复模块40与判断模块30相连接,用于当判断模块30检测出升级后的应用程序异常时,启动应急程序以对应用程序进行再次升级。其中,对应用程序进行再次升级的方式包括:空中下载技术升级、USB升级和网络升级等。
进一步地,应急程序管理模块10包括判断单元11、应急程序升级单元12和应急程序获取单元13。
判断单元11用于判断是否已存储应急程序,若已存储,则判断应急程序是否需要升级。
应急程序升级单元12与判断单元11相连接,用于当判断单元11判断应急程序需要升级时,对应急程序进行升级。
应急程序获取单元13与判断单元11相连接,用于当判断单元11判断未存储应急程序时,获取并存储所述应急程序。具体来说,应急程序获取单元13用于将闪存中的用户数据区的用户数据保存至内存中;将应急程序存储至用户数据区中;在应用程序升级模块20对应用程序进行升级后,将内存中的用户数据存储至用户数据区中。
图3是本发明机顶盒升级方法一具体实施例的流程图。该方法包括:
步骤S301:将闪存中的用户数据区的用户数据保存至内存中;
在本实施例中,闪存保存有bootloader,应用程序以及用户数据等等。其中,在进行应用程序升级前,先将用户数据临时保存至内存中。
步骤S302:将应急程序存储至用户数据区中;
获取应急程序并将应急程序存储至用户数据区。将应急程序存储至用户数据区可以不占用闪存的额外空间,比较适合闪存空间较小的机顶盒来实现。
步骤S303:对应用程序进行升级;
获取应用程序的升级包,并将闪存中的应用程序升级为最新版本。
步骤S304:将内存中的用户数据存储至用户数据区中;
将存储在用户数据区的应急程序清除掉并将内存中的用户数据写回用户数据区中。
步骤S305:检测升级后的应用程序是否正常;
机顶盒重新启动后,运行闪存中的bootloader以检测应用程序是否正常。
步骤S306:在闪存中的用户数据区查找应急程序并启动应急程序,对应用程序进行再次升级。
如果步骤S305检测得出的应用程序异常,则在闪存中的用户数据区查找应急程序并启动应急程序,在应急程序中进行应用程序的再次升级。
在本实施例中,应急程序和应用程序的升级包相互独立。在制作升级程序的过程中,应急程序和应用程序的升级包被打包在一起。
在本实施例中,机顶盒升级过程中,如果将闪存中的用户数据区的用户数据保存至内存中时失败,例如:将闪存中的用户数据区的用户数据保存至内存中时机顶盒突然断电,则机顶盒重新启动后,运行闪存中的bootloader可以检测到应用程序正常,但用户数据被破坏。机顶盒的应用程序可正常运行,但版本为旧版本。此时,可对应用程序进行再次升级。
在本实施例中,机顶盒升级过程中,如果对应用程序进行升级时失败,例如:对应用程序进行升级时机顶盒突然断电,则机顶盒重新启动后,运行闪存中的bootloader可以检测到应用程序异常并遭到破坏。此时,在闪存中的用户数据区查找应急程序并启动应急程序,在应急程序中进行应用程序的再次升级。
在本实施例中,机顶盒升级过程中,如果将内存中的用户数据存储至用户数据区中时失败,例如:将内存中的用户数据存储至用户数据区中时机顶盒突然断电,则机顶盒重新启动后,运行闪存中的bootloader可以检测到应用程序正常,但用户数据被破坏。机顶盒的应用程序可正常运行,版本为最新版本。此时,只要进行搜台即可正常观看节目。
图4是本发明机顶盒升级方法另一具体实施例的流程图。该方法包括:
步骤S401:判断应急程序是否需要升级?若需要,则执行步骤S402,若不需要,则执行步骤S403;
在本实施例中,闪存中分配有独立的应急程序存储区,在机顶盒出厂时,应急程序已烧入该应急程序存储区。将应急程序存储至应急程序存储区需要占用闪存的额外空间,比较适合闪存空间较大的机顶盒来实现。
在本实施例中,闪存保存有bootloader,应急程序、应用程序以及用户数据等等。
判断应急程序是否需要升级的步骤具体为:判断闪存中的应急程序是否正常或者判断升级文件中是否要求升级应急程序。
步骤S402:对应急程序进行升级;
如果步骤S401判断应急程序需要升级,则在本步骤中获取应急程序的升级包并对应急程序进行升级。
步骤S403:对应用程序进行升级;
获取应用程序的升级包,并将闪存中的应用程序升级为最新版本。
步骤S404:检测升级后的应用程序是否正常;
机顶盒重新启动后,运行闪存中的bootloader以检测应用程序是否正常。
步骤S405:启动应急程序以对应用程序进行再次升级。
如果步骤S404检测得出的应用程序异常,则启动保存在应急程序存储区的应急程序,在应急程序中进行应用程序的再次升级。
在本实施例中,应急程序的升级包是应用程序的升级包的一部分。在制作升级程序的过程中,应急程序的升级包和应用程序的升级包被打包在一起。
在本实施例中,机顶盒升级过程中,如果对应急程序进行升级时失败,例如:对应急程序进行升级时机顶盒突然断电,则机顶盒重新启动后,运行闪存中的bootloader可以检测到应用程序正常,应急程序被破坏。机顶盒的应用程序可正常运行,版本为旧版本。此时,可对应急程序进行再次升级,然后对应用程序进行再次升级。
在本实施例中,机顶盒升级过程中,如果对应用程序进行升级时失败,例如:对应用程序进行升级时机顶盒突然断电,则机顶盒重新启动后,运行闪存中的bootloader可以检测到应用程序异常并遭到破坏。此时,在应急程序存储区查找应急程序并启动应急程序,在应急程序中进行应用程序的再次升级。
通过上述方式,本发明的机顶盒升级方法及装置在机顶盒应用程序升级失败后,启动应急程序进行应用程序再次升级或修复,从而有效防止机顶盒应用程序升级失败并遭到破坏时机顶盒不能正常启动的情况发生,再次升级或修复的过程方便快捷,给用户及维修人员带来了极大方便。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种机顶盒升级方法,其特征在于,所述方法包括步骤:
对应用程序进行升级;
检测升级后的应用程序是否正常;
若异常,则启动应急程序以对所述应用程序进行再次升级。
2.根据权利要求1所述的机顶盒升级方法,其特征在于,在所述对应用程序进行升级的步骤之前,所述方法进一步包括步骤:
升级应急程序,或者获取并存储应急程序。
3.根据权利要求2所述的机顶盒升级方法,其特征在于,所述升级应急程序,或者获取并存储应急程序的步骤包括:
判断是否已存储应急程序;
若已存储,则判断所述应急程序是否需要升级,若需要升级则对所述应急程序进行升级;以及
若未存储,则获取并存储应急程序。
4.根据权利要求3所述的机顶盒升级方法,其特征在于,所述获取并存储应急程序的步骤包括:
将闪存中的用户数据区的用户数据保存至内存中;
将所述应急程序存储至所述用户数据区中。
5.根据权利要求4所述的机顶盒升级方法,其特征在于,在所述对应用程序进行升级的步骤之后,所述方法进一步包括步骤:
将所述内存中的所述用户数据存储至所述用户数据区中。
6.根据权利要求1所述的机顶盒升级方法,其特征在于,所述对应用程序进行再次升级的方式包括:
空中下载技术升级、USB升级和网络升级。
7.一种机顶盒升级装置,其特征在于,所述装置包括:
应用程序升级模块,对应用程序进行升级;
判断模块,检测升级后的应用程序是否正常;
修复模块,当所述判断模块检测出升级后的应用程序异常时,启动应急程序以对所述应用程序进行再次升级。
8.根据权利要求7所述的机顶盒升级装置,其特征在于,所述装置进一步包括:
应急程序管理模块,用于升级应急程序,或者获取并存储应急程序。
9.根据权利要求8所述的机顶盒升级装置,其特征在于,应急程序管理模块包括:
判断单元,判断是否已存储应急程序,若已存储,则判断所述应急程序是否需要升级;
应急程序升级单元,当所述判断单元判断所述应急程序需要升级时,对所述应急程序进行升级;
应急程序获取单元,当所述判断单元判断未存储应急程序时,获取并存储所述应急程序。
10.根据权利要求9所述的机顶盒升级装置,其特征在于,所述应急程序获取单元用于:
将闪存中的用户数据区的用户数据保存至内存中;
将所述应急程序存储至所述用户数据区中;
在所述升级模块对所述应用程序进行升级后,将所述内存中的所述用户数据存储至所述用户数据区中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103745962A CN102917267A (zh) | 2012-09-27 | 2012-09-27 | 一种机顶盒升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103745962A CN102917267A (zh) | 2012-09-27 | 2012-09-27 | 一种机顶盒升级方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102917267A true CN102917267A (zh) | 2013-02-06 |
Family
ID=47615472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012103745962A Pending CN102917267A (zh) | 2012-09-27 | 2012-09-27 | 一种机顶盒升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102917267A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104730993A (zh) * | 2015-03-24 | 2015-06-24 | 深圳市金正方科技股份有限公司 | 智能仪表分区升级方法及智能仪表 |
CN105955846A (zh) * | 2016-04-29 | 2016-09-21 | 乐视控股(北京)有限公司 | 移动终端基于网络升级失败后进行恢复的方法及系统 |
WO2016206017A1 (zh) * | 2015-06-24 | 2016-12-29 | 冯旋宇 | 机顶盒的数据更新方法及系统 |
CN108845822A (zh) * | 2018-05-28 | 2018-11-20 | 烽火通信科技股份有限公司 | 实现软件不中断业务升级的内存管理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520741A (zh) * | 2008-12-19 | 2009-09-02 | 康佳集团股份有限公司 | 一种实现机顶盒系统安全升级的系统及其方法 |
CN101719072A (zh) * | 2009-11-23 | 2010-06-02 | 青岛海信宽带多媒体技术有限公司 | 嵌入式终端设备软件升级方法及升级装置 |
CN101895671A (zh) * | 2010-07-21 | 2010-11-24 | 深圳创维数字技术股份有限公司 | 一种机顶盒Loader模块升级方法及其机顶盒 |
CN102262554A (zh) * | 2011-08-05 | 2011-11-30 | 深圳市九洲电器有限公司 | 一种软件升级过程中节省存储空间的方法、装置及机顶盒 |
CN102662689A (zh) * | 2012-03-15 | 2012-09-12 | 青岛海信传媒网络技术有限公司 | 基于usb接口的嵌入式软件升级方法及系统 |
-
2012
- 2012-09-27 CN CN2012103745962A patent/CN102917267A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520741A (zh) * | 2008-12-19 | 2009-09-02 | 康佳集团股份有限公司 | 一种实现机顶盒系统安全升级的系统及其方法 |
CN101719072A (zh) * | 2009-11-23 | 2010-06-02 | 青岛海信宽带多媒体技术有限公司 | 嵌入式终端设备软件升级方法及升级装置 |
CN101895671A (zh) * | 2010-07-21 | 2010-11-24 | 深圳创维数字技术股份有限公司 | 一种机顶盒Loader模块升级方法及其机顶盒 |
CN102262554A (zh) * | 2011-08-05 | 2011-11-30 | 深圳市九洲电器有限公司 | 一种软件升级过程中节省存储空间的方法、装置及机顶盒 |
CN102662689A (zh) * | 2012-03-15 | 2012-09-12 | 青岛海信传媒网络技术有限公司 | 基于usb接口的嵌入式软件升级方法及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104730993A (zh) * | 2015-03-24 | 2015-06-24 | 深圳市金正方科技股份有限公司 | 智能仪表分区升级方法及智能仪表 |
WO2016206017A1 (zh) * | 2015-06-24 | 2016-12-29 | 冯旋宇 | 机顶盒的数据更新方法及系统 |
CN105955846A (zh) * | 2016-04-29 | 2016-09-21 | 乐视控股(北京)有限公司 | 移动终端基于网络升级失败后进行恢复的方法及系统 |
CN108845822A (zh) * | 2018-05-28 | 2018-11-20 | 烽火通信科技股份有限公司 | 实现软件不中断业务升级的内存管理方法及系统 |
CN108845822B (zh) * | 2018-05-28 | 2022-03-01 | 烽火通信科技股份有限公司 | 实现软件不中断业务升级的内存管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662689B (zh) | 基于usb接口的嵌入式软件升级方法及系统 | |
CN101329632B (zh) | 一种使用boot启动cpu的方法与装置 | |
CN102023881B (zh) | 一种软件升级方法、装置及嵌入式设备 | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
CN102110000A (zh) | 一种软件自动升级控制方法、装置及设备 | |
US20120198133A1 (en) | Electronic device with expandable memory capacity and an expansion method thereof | |
CN101719072A (zh) | 嵌入式终端设备软件升级方法及升级装置 | |
US10606579B2 (en) | Multi-system terminal system updating method, updating device and terminal | |
CN101826026A (zh) | 嵌入式设备、嵌入式设备中固件在线升级的系统及方法 | |
CN102799452B (zh) | 系统软件升级方法和装置 | |
CN102243594A (zh) | 一种嵌入式linux系统软件安全远程升级的方法 | |
CN102917267A (zh) | 一种机顶盒升级方法及装置 | |
CN102346673A (zh) | 一种手机系统升级的方法及装置 | |
CN101834976A (zh) | 使用3段式引导升级启动技术的机顶盒启动和升级方法 | |
CN103186400A (zh) | Web应用程序升级方法及系统 | |
CN111767172A (zh) | 一种基于看门狗及bootloader的机顶盒自修复办法 | |
CN103514014A (zh) | 一种嵌入式终端设备引导系统的设计方法 | |
CN102262573B (zh) | 操作系统启动保护方法和装置 | |
CN202009452U (zh) | 一种电视机应用程序升级的验证系统 | |
CN102622254A (zh) | 电视机宕机处理方法和系统 | |
CN102541585A (zh) | 一种远程升级方法及嵌入式系统 | |
CN104423997A (zh) | 一种远程基站版本安装方法及装置 | |
CN107301072B (zh) | 一种升级文件的自动加载方法及装置 | |
CN103177213A (zh) | 一种软件漏洞修复方法及系统 | |
CN102999365B (zh) | 一种胎儿监护仪软件网络安全升级方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130206 |