嵌入式终端设备软件升级方法及升级装置的制作方法

文档序号:7719425阅读:134来源:国知局
专利名称:嵌入式终端设备软件升级方法及升级装置的制作方法
技术领域
本发明涉及一种软件升级方法及升级装置,具体地说,是涉及一种嵌入式终端设
备软件升级方法及其装置。
背景技术
当前,基于嵌入式的终端设备大多采用远程网络下载软件升级包及其配置文件, 实现设备应用程序的升级。在升级过程中,是用软件升级包的新的应用程序数据来升级修 改系统中原有的应用程序数据。现有技术中的嵌入式终端设备,是在执行应用程序之后才 运行软件升级包的升级;如果因突然断电或其他原因导致升级失败,应用程序将不可恢复, 无法正常运行,因此,也就无法继续执行升级过程,且导致整个终端设备无法正常工作。在 此情况下,需要生产厂家往终端设备重新烧写应用程序,才能保证终端设备的工作。而生产 厂家重新烧写应用程序的过程比较复杂,而且会导致终端设备用户成本增加,因此,现有技 术中的对嵌入式终端设备升级过程要求较严格,绝对不允许断电等可能导致升级失败的非 法操作。

发明内容
本发明针对现有技术中嵌入式终端设备升级过程要求严格、若升级失败需要生产 厂家重新烧写应用程序而引起的过程复杂和成本较高的技术问题,提供了一种嵌入式终端 设备软件升级方法,实现在升级失败、重启机顶盒后,能够重新进行应用程序软件升级包的 升级过程。 为解决上述技术问题,本发明采用以下技术方案予以实现 —种嵌入式终端设备软件升级方法,该方法包括在终端设备系统启动后、应用程 序运行前,检测终端设备是否需要升级的步骤,以及在需要升级时执行升级过程的步骤。
根据本发明所述的升级方法,在检测不需要升级时或执行完升级过程后,终端设 备运行应用程序。 根据本发明所述的升级方法,终端设备内存中、区别于应用程序存储分区的位置 设置有升级状态标志,通过检测所述升级状态标志确定是否需要升级。
根据本发明所述的升级方法,所述升级过程具体包括下述步骤
检测是否存在软件升级包; 在存在软件升级包时,判断其是否符合升级规则; 在软件升级包不存在或软件升级包不符合升级规则时,重新下载软件升级包,并 存储至终端设备内存中、区别于应用程序存储分区的位置;在软件升级包存在且符合升级 规则时,根据软件升级包中的数据进行升级;
升级成功后,清除所述升级状态标志。 其中,在判断软件升级包是否符合升级规则时,可采用下述方法通过对软件升级 包的配置文件进行MD5值校验,以判断所述软件升级包是否为完整升级包;在为完整升级
3包时,则判断其符合升级规则。 本发明的另一目的是提供一种嵌入式终端设备软件升级装置,其特征在于,所述 装置包括 检测模块,用于在终端设备系统启动后、应用程序运行前,检测终端设备是否需要 升级;以及 升级模块,在终端设备系统启动后、应用程序运行前启动,用于对终端设备进行升 级。 根据本发明所述的升级装置,还包括升级信息存储模块,设置在终端设备内存中、
区别于应用程序存储分区的位置,用于存储软件升级包及状态标志。 其中,所述状态标志包括标志是否升级的升级状态标志。 根据本发明所述的装置,所述检测模块检测所述升级状态标志,以确定终端设备 是否需要升级。 在本发明所述装置中,所述嵌入式终端设备为网络机顶盒。 与现有技术相比,本发明的优点和积极效果是通过将升级过程独立于终端设备 系统内核与应用程序,在终端设备系统启动后、应用程序运行前即执行升级过程,且升级时 的判断及软件升级包的存储均脱离系统内核与应用程序,实现了嵌入式终端设备远程下载 软件升级包并升级应用程序;且若在升级过程中发生断电或其他原因导致升级失败,在终 端设备再次重启后仍可重新升级,直至升级成功,有效解决了现有技术中因升级过程中的 突然断电等原因导致升级失败后不能再继续升级、而需要生产厂家重新烧写应用程序的问 题。


图1是本发明所述嵌入式终端设备软件升级方法一个实施例的流程图;
图2是本发明所述嵌入式终端设备软件升级装置一个实施例的结构示意图。
具体实施例方式
下面结合附图对本发明作进一步详细的说明。 本发明针对现有技术中嵌入式终端设备的软件升级是在运行应用程序后才执行,
导致一旦升级失败应用程序无法恢复、无法继续升级的问题,提出了一种新的软件升级方
法,该方法的核心是将升级过程独立于系统应用程序,具体是在终端设备系统启动后、应
用程序运行前,检测终端设备是否需要升级的步骤,以及在需要升级时执行升级过程的步
骤。这样,在终端设备系统启动后、不需要运行应用程序就可执行升级过程,升级应用程序。
不管原有应用程序是否损坏,均不影响网络机顶盒的正常工作,从而有效解决了现有技术
中的缺陷。
图1示出了本发明嵌入式终端设备软件升级方法一个实施例的流程图。 该实施例的嵌入式终端设备为网络机顶盒,下面结合附图l,详细描述所述网络机
顶盒进行软件升级的具体流程。 在需要对远程用户的网络机顶盒应用程序进行升级时,程序发布方采用升级包制 作软件制作新的软件升级包,然后发布软件升级包和软件升级包配置文件到以太网络上。发布方可以根据新软件版本的特点,选择发布自动升级版本或手动升级版本。远程用户根 据软件升级包是自动升级还是手动升级,通过网络选择下载发布方发布的软件升级包,然 后升级本地网络机顶盒的应用程序,实现网络机顶盒的更新。网络机顶盒软件升级的流程 如下 S101 :流程开始。 S102 :网络机顶盒系统内核启动。网络机顶盒开机后,首先执行系统程序启动机顶
S103 :检测升级状态标志。 在网络机顶盒内存中、区别于应用程序存储分区的存储位置开辟有升级信息存储 区域,该存储区域除用来存储下载的软件升级包外,还存储有标志是否升级的升级状态标 志。网络机顶盒开机后,其后台将根据用户选择的自动升级或手动升级从网络上下载相应 的软件升级包,在下载完软件升级包后,将所述升级状态标志置位。而在软件升级过程中, 首先检测所述升级状态标志,以判断是否需要升级。 S104 :根据检测的升级状态标志判断是否需要升级。若需要升级,执行步骤S106 ; 若不需要升级,执行步骤S105。 S105 :在不需要升级时,运行网络机顶盒中的应用程序,机顶盒正常工作。 S106 :在需要进行网络升级时,判断网络机顶盒特定的存储区域内是否存在软件
升级包。若存在软件升级包,转至步骤S109 ;否则执行步骤S107。 S107 :在需要升级而内存中不存在软件升级包时,提示出错,并执行步骤S108。
S108 :通过网络重新下载软件升级包及其配置文件,并存储至指定区域内。
然后,转至步骤S105执行应用程序;下载的软件升级包将在下次网络机顶盒重启 时进行升级更新。 S109:若需要升级、且内存中存在软件升级包时,判断存在的软件升级包是否符合 升级规则。如果符合升级规则,执行步骤S110 ;若不符合升级规则,表明软件升级包不完 整,需要重新下载,转至步骤S107。
在该实施例中,采用下述方法判断软件升级包是否符合升级规则对软件升级包 的配置文件进行MD5值校验,若校验正确,判定所述软件升级包为完整升级包,符合升级规 则。若校验不正确,则判定其不符合升级规则。
S110 :在软件升级包符合升级规则时,进行软件升级。 Slll :判断升级是否成功。若升级成功,执行步骤S112 ;若升级不成功,转至步骤 S107。 在升级过程中,若因非断电原因导致升级失败,则转至步骤S107提示出错,并重
新下载软件升级包。若因突然断电导致升级失败,则存储在特定区域内的升级状态标志依
然存在,在网络机顶盒上电重启后,仍会在系统内核启动后首先检测到需要升级,然后按照
上述过程执行升级程序,在升级成功后,应用程序可以按照升级更新后的数据正常运行。 S112 :在升级成功后,清除升级状态标志,即将升级状态标志复位,重启网络机顶
盒。则在网络机顶盒重启后,检测升级状态标志已经复位,不需要升级,则直接运行升级更
新后的应用程序。 S113:流程结束。
该实施例由于是在网络机顶盒内核启动后首先执行升级过程,判断是否需要升
级。若需要升级,先执行升级过程,且整个升级过程不依赖于应用程序的运行;只有在不需
要升级或升级成功后才启动应用程序。若不需要升级,则按照原有正常的应用程序来运行;
若需要升级,即使原有应用程序因上次升级失败造成损坏,由于该次首先进行升级,会首先
更新应用程序,因此,不会影响升级过程结束后的应用程序的正常运行。
图2所示为本发明嵌入式终端设备软件升级装置一个实施例的结构示意图。 该实施例仍以网络机顶盒为例,所示网络机顶盒包括有系统模块和应用程序模
块,还包括有软件升级装置,所述软件升级装置在系统模块启动后、应用程序模块启动前就
启动运行。 所述软件升级装置包括有检测模块、升级模块及升级信息存储模块。 所述升级信息存储模块是在网络机顶盒内存中、区别于应用程序存储分区的一个
存储区域,用来存储软件升级包及与软件升级相关的状态标志,如标志是否升级的升级状
态标志等。 在网络机顶盒系统模块启动后、应用程序模块启动前,所述检测模块检测所述升 级信息存储模块中的升级状态标志。若升级状态标志置位,表示需要升级,则执行升级模 块;若升级状态标志复位,表示不需要升级,则运行所述应用程序模块,网络机顶盒安装应 用程序正常工作。 所述升级模块作为软件升级装置的核心,负责执行软件的升级。在所述检测模块 检测需要升级时,升级模块将在所述升级信息存储模块中查找是否存在软件升级包,并判 断所存在的软件升级包是否符合升级规则。在软件升级包不存在或软件升级包不符合升级 规则时,启动网络机顶盒的下载模块重新从网络上下载软件升级包。在软件升级包符合升 级规则时,启动软件升级,更新应用程序;并在升级成功后,清除所述升级信息存储模块中 的升级状态标志。 当然,以上所述仅是本发明的一种优选实施方式而已,应当指出,对于本技术领域 的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改 进和润饰也应视为本发明的保护范围。
权利要求
一种嵌入式终端设备软件升级方法,其特征在于,该方法包括在终端设备系统启动后、应用程序运行前,检测终端设备是否需要升级的步骤,以及在需要升级时执行升级过程的步骤。
2 根据权利要求1所述的嵌入式终端设备软件升级方法,其特征在于,在检测不需要 升级时或执行完升级过程后,终端设备运行应用程序。
3. 根据权利要求1或2所述的嵌入式终端设备软件升级方法,其特征在于,终端设备内 存中、区别于应用程序存储分区的位置设置有升级状态标志,通过检测所述升级状态标志 确定是否需要升级。
4. 根据权利要求3所述的嵌入式终端设备软件升级方法,其特征在于,所述升级过程具体包括下述步骤检测是否存在软件升级包;在存在软件升级包时,判断其是否符合升级规则;在软件升级包不存在或软件升级包不符合升级规则时,重新下载软件升级包,并存储 至终端设备内存中、区别于应用程序存储分区的位置;在软件升级包存在且符合升级规则 时,根据软件升级包中的数据进行升级;升级成功后,清除所述升级状态标志。
5. 根据权利要求4所述的嵌入式终端设备软件升级方法,其特征在于,通过对软件升 级包的配置文件进行MD5值校验,以判断所述软件升级包是否为完整升级包;在为完整升 级包时,则判断其符合升级规则。
6. —种嵌入式终端设备软件升级装置,其特征在于,包括检测模块,用于在终端设备系统启动后、应用程序运行前,检测终端设备是否需要升 级;以及升级模块,在终端设备系统启动后、应用程序运行前启动,用于对终端设备进行升级。
7. 根据权利要求6所述的嵌入式终端设备软件升级装置,其特征在于,还包括升级信 息存储模块,设置在终端设备内存中、区别于应用程序存储分区的位置,用于存储软件升级 包及状态标志。
8. 根据权利要求7所述的嵌入式终端设备软件升级装置,其特征在于,所述状态标志 包括标志是否升级的升级状态标志。
9. 根据权利要求8所述的嵌入式终端设备软件升级装置,其特征在于,所述检测模块 检测所述升级状态标志,以确定终端设备是否需要升级。
10. 根据权利要求8所述的嵌入式终端设备软件升级装置,其特征在于,所述嵌入式终 端设备为网络机顶盒。
全文摘要
本发明公开了一种嵌入式终端设备软件升级方法及升级装置,所述软件升级方法包括在终端设备系统启动后、应用程序运行前,检测终端设备是否需要升级的步骤,以及在需要升级时执行升级过程的步骤。应用本发明所述的软件升级方法,能够实现在升级失败、重启机顶盒后,重新进行应用程序软件升级包的升级过程,有效解决了现有技术中因升级过程中的突然断电等原因导致升级失败后不能再继续升级、而需要生产厂家重新烧写应用程序的问题。
文档编号H04N5/00GK101719072SQ20091023064
公开日2010年6月2日 申请日期2009年11月23日 优先权日2009年11月23日
发明者王海亮 申请人:青岛海信宽带多媒体技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1