一种终端及其软件升级方法和装置制造方法及图纸

技术编号:6988940 阅读:193 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及软件升级技术领域,公开了一种终端及其软件升级方法和装置,所述方法包括以下步骤:在终端进行软件升级过程中遇故障时,重新启动系统;判断所述终端的主控程序是否正常启动;当所述主控程序能够正常启动时,进行所述主控程序及其它软件的升级操作;当所述主控程序不能够正常启动时,从与所述终端连接的服务器下载新的主控程序,进行所述新的主控程序及其它软件的升级操作。本发明专利技术在终端软件进行升级遇故障失败后,在终端的主控程序的控制下尽快的、又不占太多存储空间的情况下实现主控程序及其它各个软件的升级。

【技术实现步骤摘要】

本专利技术属于软件升级
,具体涉及一种终端及其软件升级方法和装置
技术介绍
随着终端内软件版本的不断更新,越来越多的软件需要频繁的进行升级换代。大部分的嵌入式终端软件都具备软件升级功能,可以通过终端自身的主控程序实 现软件的升级。其中,系统主要是通过其内部的主控程序进行升级,在主控程序内进行各个 软件的升级。在对软件进行升级的过程中,经常会遇到一些特殊的情况,譬如断电导致死机或 者网络通信中断等,这些情况往往导致正在进行升级的软件尤其是主控程序升级失败。为了确保由于特殊状态导致软件升级失败的情况下系统还能继续运行,现有技术 中,主要包括以下两种解决方式第一种是采用双软件系统机制,即一个软件系统升级失败后进入另外一个软件系 统继续升级;第二种是软件备份机制,即在升级每个软件时都对原有的软件进行备份,一旦升 级失败再恢复成原有的软件继续运行。上述两种方法虽然都能够保证软件升级失败时系统还能继续运行,但是存在着占 用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收到主本文档来自技高网...

【技术保护点】
一种终端软件升级方法,其特征在于,所述方法包括以下步骤:在终端进行软件升级过程中遇故障时,重新启动系统;判断所述终端的主控程序是否正常启动;当所述主控程序能够正常启动时,进行所述主控程序及其它软件的升级操作;当所述主控程序不能够正常启动时,从与所述终端连接的服务器下载新的主控程序,进行所述新的主控程序及其它软件的升级操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:岳湖元张晓红
申请(专利权)人:TCL集团股份有限公司
类型:发明
国别省市:44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1