一种终端及其软件升级方法和装置的制作方法

文档序号:6581352阅读:133来源:国知局
专利名称:一种终端及其软件升级方法和装置的制作方法
技术领域
本发明属于软件升级技术领域,具体涉及一种终端及其软件升级方法和装置。
背景技术
随着终端内软件版本的不断更新,越来越多的软件需要频繁的进行升级换代。大部分的嵌入式终端软件都具备软件升级功能,可以通过终端自身的主控程序实 现软件的升级。其中,系统主要是通过其内部的主控程序进行升级,在主控程序内进行各个 软件的升级。在对软件进行升级的过程中,经常会遇到一些特殊的情况,譬如断电导致死机或 者网络通信中断等,这些情况往往导致正在进行升级的软件尤其是主控程序升级失败。为了确保由于特殊状态导致软件升级失败的情况下系统还能继续运行,现有技术 中,主要包括以下两种解决方式第一种是采用双软件系统机制,即一个软件系统升级失败后进入另外一个软件系 统继续升级;第二种是软件备份机制,即在升级每个软件时都对原有的软件进行备份,一旦升 级失败再恢复成原有的软件继续运行。上述两种方法虽然都能够保证软件升级失败时系统还能继续运行,但是存在着占 用flash空间很多,增加了终端成本以及升级时间过长,升级效率低的缺点。在终端软件进行升级失败后,如何在终端的主控程序的控制下尽快的、又不占太 多存储空间的情况下实现各个软件(包括主控程序)的升级,是软件升级技术领域研究的 方向之一。发明内容(对应修改)本发明的目的在于提供一种终端软件升级方法,在终端软件进行升级失败后,在 终端的主控程序的控制下尽快的、又不占太多存储空间的情况下实现各个软件的升级。本发明实施例是这样实现的,一种终端软件升级方法,所述方法包括以下步骤在终端进行软件升级过程中遇故障时,重新启动系统;判断所述终端的主控程序是否正常启动;当所述主控程序能够正常启动时,进行所述主控程序及其它软件的升级操作;当所述主控程序不能够正常启动时,从与所述终端连接的服务器下载新的主控程 序,进行所述新的主控程序及其它软件的升级操作。本发明实施例的另一目的在于提供一种终端软件升级装置,所述装置包括系统重启模块,用于在终端进行软件升级过程中遇故障时,重新启动系统;主控程序检测模块,用于系统重新启动后,判断所述终端的主控程序是否正常启 动;升级操作控制模块,用于当所述主控程序检测模块判断主控程序能够正常启动 时,进行所述主控程序及其它软件的升级操作;
主控程序下载模块,用于当所述主控程序检测模块判断主控程序不能够正常启动 时,从与所述终端连接的服务器下载新的主控程序,覆盖不能正常启动的主控程序,所述主 控程序下载模块还控制所述新的主控程序及其它软件进行升级操作。本发明实施例的还提供一种终端,所述终端包括本发明实施例提供的终端软件升 级装置。本发明实施例在升级过程中遇故障重新开机后,检测终端的主控程序是否正常启 动,若能够正常启动,则继续进行主控程序及其它软件的升级,若主控程序不能正常启动, 则下载新的主控程序继续进行主控程序及其他软件的升级,保证了即使主控程序受损不能 正常使用,也能够继续进行升级,节省了升级占用的时间以及存储资源。


图1为本发明较佳实施例提供的终端软件升级方法的流程图;图2为本发明较佳实施例提供的终端软件升级装置的结构框图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。本发明实施例在升级过程中遇故障重新开机后,检测终端的主控程序是否正常启 动,若能够正常启动,则继续进行主控程序及其它软件的升级,若主控程序不能正常启动, 则下载新的主控程序继续进行主控程序及其他软件的升级。图1示出了本发明较佳实施例提供的终端软件升级方法的流程,具体如下步骤S101,终端的主控程序向服务器发送升级请求,要求进行软件升级,在具体实 施过程中,终端在进行软件升级时,其主控程序向服务器发送升级请求,该请求中包括系统 版本号;步骤S102,服务器根据接收到的升级请求中的版本号判断该终端是否需要升级, 如果需要,进行步骤S103,否则终止;步骤S103,服务器返回升级软件列表,该列表中包含所有需要升级的软件,当然, 也包括主控程序;步骤S104,终端获取服务器返回的升级软件列表,进行软件升级,并判断是否已升 级所有的软件,若是,则进行步骤S110,否则进行步骤S105 ;步骤S105,终端根据主控程序名以及接收到的升级软件列表判断当前要升级的软 件是否为主控程序,若是,则进行步骤S106,否则进行步骤S108 ;步骤S106,将主控程序升级标志位设为1 ;步骤S107,判断主控程序升级是否正常,若在升级过程中是否遇到故障,例如用户 升级过程中电源切断、出现网络故障等,进行步骤S111,若升级正常,进行步骤S108 ;步骤S108,当有程序完成升级时,判断是否是主控程序升级完成,若是,则进行步 骤S109,否则进行步骤S104 ;步骤S109,将主控程序升级标志位设为0,并返回步骤S104 ;
步骤Sl 10,修改系统版本号;步骤S111,重新启动系统; 步骤S112,判断终端的主控程序升级标志位,若标志位为0,则进行步骤S101,否 则进行步骤Sl 13;步骤S113,发送消息给主控程序;步骤S114,判断是否收到主控程序的回复消息,若收到,则表明主控程序正常启 动,将主控程序的标志位设为0后,进行步骤SlOl ;若没有收到,表明主控程序不能正常启 动,进行步骤Sl 15 ;步骤S115,从与终端连接的服务器下载新的主控程序,覆盖不能正常启动的主控 程序;步骤S116,运行新的主控程序,并返回步骤S112,直到下载的新的主控程序能够 正常启动,g卩,能够在步骤S114中收到主控程序回复的消息。通过上述步骤,充分保证了主控程序可执行,保证在进行主控程序升级时即使遇 到故障导致主控程序升级失败、不能使用的情况下还能继续进行升级,通过主控程序的继 续升级,也保证了其它软件成功升级。图2示出了本发明较佳实施例提供的终端软件升级装置的结构。该终端软件升级装置包括升级软件判断模块21、升级软件保存模块22、系统重启 模块23、主控程序检测模块24、升级操作控制模块25以及主控程序下载模块26。其中,主 控程序检测模块24还包括升级标志位判断模块241以及消息收发模块242。在具体实施过程中,在终端进行软件升级过程中遇故障时,譬如在检测到诸如电 源断掉、网络中断等情况时,升级软件判断模块21判断需要升级软件是否都已升级完成。在所述升级软件判断模块21判断软件升级完成后,升级软件保存模块22修改已 升级的软件版本号为最新系统版本号。之后,系统重启模块23重新启动系统。在系统重新启动后,主控程序检测模块24判断所述终端的主控程序是否正常启 动,其中升级标志位判断模块241通过检测所述终端的主控程序的升级标志位是否为需 要升级标志位来判断主控程序是否已升级完成;当所述升级标志位判断模块241检测所述终端的主控程序升级完成时,升级操作 控制模块25控制其它软件进行升级操作;当所述升级标志位判断模块241检测所述终端的主控程序升级未完成时,消息收 发模块242发送消息给所述主控程序,根据是否接收到回复消息判断所述主控程序是否能 够正常启动。当所述消息收发模块242收到主控程序的回复消息时,表明该主控程序能够正常 启动,升级操作控制模块25继续进行所述主控程序以及其他软件的升级;当所述消息收发模块242没有收到主控程序的回复消息时,主控程序下载模块26 从与所述终端连接的服务器下载新的主控程序,覆盖不能正常启动的主控程序,所述主控 程序下载模块26还控制重新下载的新的主控程序以及其他软件进行升级操作。本发明实施例还提供一种终端,该终端包括本发明实施例提供的终端软件升级装置,鉴于该装置在上文已有详细的描述,此处不再赘述。本发明实施例在升级过程中遇故障重新开机后,检测终端的主控程序是否正常启 动,若能够正常启动,则继续进行主控程序及其它软件的升级,若主控程序不能正常启动, 则下载新的主控程序继续进行主控程序及其他软件的升级,保证了即使主控程序受损不能 正常使用,也能够继续进行升级,节省了升级占用的时间以及存储资源。应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换, 而这些改进和变换都应属于 本发明所附权利要求的保护范围。
权利要求
1.一种终端软件升级方法,其特征在于,所述方法包括以下步骤在终端进行软件升级过程中遇故障时,重新启动系统;判断所述终端的主控程序是否正常启动;当所述主控程序能够正常启动时,进行所述主控程序及其它软件的升级操作;当所述主控程序不能够正常启动时,从与所述终端连接的服务器下载新的主控程序, 进行所述新的主控程序及其它软件的升级操作。
2.如权利要求1所述的终端软件升级方法,其特征在于,在判断所述终端的主控程序 是否正常启动的步骤之前,所述方法还包括判断所述终端的主控程序是否已升级完成;当所述主控程序已升级完成时,在所述已升级完成的主控程序的控制下进行其它软件 的升级操作;当所述主控程序未升级完成时,进行判断终端主控程序是否正常启动的步骤。
3.如权利要求1所述的终端软件升级方法,其特征在于,在从与所述终端连接的服务 器下载新的主控程序后,所述方法还包括判断所述下载的新的主控程序是否能够正常启动,若是,则覆盖不能正常启动的主控 程序,并进行所述新的主控程序的升级,否则重新下载主控程序。
4.如权利要求1或3所述的终端软件升级方法,其特征在于,所述判断所述终端的主控 程序是否正常启动的步骤具体包括 发送消息给所述主控程序,并判断是否收到回复消息;若收到回复消息,则继续进行所述主控程序及其它软件的升级操作,若没有收到回复 消息,则从与所述终端连接的服务器下载新的主控程序。
5.如权利要求1所述的终端软件升级方法,其特征在于,所述在终端进行软件升级过 程中遇故障时,重新启动系统的步骤中,还包括判断需要升级软件是否都已升级成功,若是,则在修改系统版本号后重新启动系统,否 则直接重新启动系统。
6.一种终端软件升级装置,其特征在于,所述装置包括系统重启模块,用于在终端进行软件升级过程中遇故障时,重新启动系统;主控程序检测模块,用于系统重新启动后,判断所述终端的主控程序是否正常启动;升级操作控制模块,用于当所述主控程序检测模块判断主控程序能够正常启动时,进 行所述主控程序及其它软件的升级操作;主控程序下载模块,用于当所述主控程序检测模块判断主控程序不能够正常启动时, 从与所述终端连接的服务器下载新的主控程序,覆盖不能正常启动的主控程序,然后控制 所述新的主控程序及其它软件进行升级操作。
7.如权利要求6所述的终端软件升级装置,其特征在于,所述主控程序检测模块具体 包括升级标志位判断模块和消息收发模块所述升级标志位判断模块用于检测所述终端的主控程序的升级标志位是否为升级完 成标志位;当所述升级标志位判断模块检测所述终端的主控程序升级完成时,所述升级操作控制 模块控制其它软件进行升级操作;当所述升级标志位判断模块检测所述终端的主控程序升级未完成时,消息收发模块发 送消息给所述主控程序,根据是否接收到回复消息判断所述主控程序是否能够正常启动。
8.如权利要求6所述的终端软件升级装置,其特征在于,所述装置还包括升级软件判断模块,用于在终端进行软件升级过程中遇故障时,判断需要升级软件是 否都已升级成功;升级软件保存模块,用于在所述升级软件判断模块判断软件已成功升级后,修改系统 版本号。
9.如权利要求6所述的终端软件升级装置,其特征在于,所述主控程序检测模块还用 于判断所述下载的新的主控程序是否能够正常启动。
10.一种终端,其特征在于,所述终端包括权利要求6至9任一项所述的终端软件升级装置。
全文摘要
本发明涉及软件升级技术领域,公开了一种终端及其软件升级方法和装置,所述方法包括以下步骤在终端进行软件升级过程中遇故障时,重新启动系统;判断所述终端的主控程序是否正常启动;当所述主控程序能够正常启动时,进行所述主控程序及其它软件的升级操作;当所述主控程序不能够正常启动时,从与所述终端连接的服务器下载新的主控程序,进行所述新的主控程序及其它软件的升级操作。本发明在终端软件进行升级遇故障失败后,在终端的主控程序的控制下尽快的、又不占太多存储空间的情况下实现主控程序及其它各个软件的升级。
文档编号G06F9/445GK102073508SQ20091018952
公开日2011年5月25日 申请日期2009年11月20日 优先权日2009年11月20日
发明者岳湖元, 张晓红 申请人:Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1