一种软件修复方法及终端设备的制造方法

文档序号:8395776阅读:213来源:国知局
一种软件修复方法及终端设备的制造方法
【技术领域】
[0001]本发明涉及软件技术领域,尤其涉及一种软件修复方法及终端设备。
【背景技术】
[0002]在用户使用各种终端设备的过程中,终端设备会随着终端设备新功能的增加或是对终端设备的系统主程序的BUG(漏洞)的修复,来对系统主程序进行升级。在进行系统主程序升级的过程中,可能会遇到各种突发状况导致系统主程序升级失败。而且在系统主程序的开发过程中,由于各种原因可能导致分区保护机制不完善,因此,在数据的擦写过程中可能会破坏掉系统主程序,从而导致系统主程序无法启动,进而使得终端设备可能无法启动或无法正常运行。
[0003]例如:终端设备在对系统主程序进行升级时,若升级程序正在执行擦写FLASH(闪存)的过程中用户强行断电,则会导致终端设备的系统主程序被破坏而导致终端设备无法启动;或者,在需要接收某些存储在FLASH中的数据(如广告图片,邮件信息)时,由于软件设计不严谨导致擦写FLASH的模块分区越界,进而会导致数字接收设备无法启动,比如,若某个系统主程序的存储空间大小为100M,但是需要接收的某些存储在FLASH中的数据为120M,那么,将这些数据写入系统主程序的存储空间内时,就会导致擦写FLASH的模块分区越界,进而导致与该系统主程序的存储空间相邻的其他应用程序遭到破坏,从而使得数字接收设备无法启动;或者,由于软件设计的原因,随着前端环境的变化,设备软件启动后关键数据校验通不过或者陷入死循环,应用程序虽然在运行,但是无法执行到触发升级的代码段,从而导致系统主程序无法正常运行。
[0004]目前对于系统主程序被破坏的设备而言,由于用户不具备专业的工具或者烧录程序,不能修复系统主程序被破坏的问题,因此,只能依靠技术人员采取串口升级或仿真烧录的方法重新对终端设备进行系统主程序的烧录,甚至需要更换存储软件所用的FLASH存储芯片,整个操作费时费力,效率低下。

【发明内容】

[0005]本发明的实施例提供一种软件修复方法及终端设备,解决了现有技术中由于系统主程序发生异常或无法启动,而导致的终端设备无法启动或无法正常运行的问题。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,提供一种软件修复方法,应用于终端设备,该方法包括:
[0008]在所述终端设备监测到系统主程序发生异常或无法启动时,则生成告警;其中,所述告警用于指示获取loader模块触发指令;
[0009]根据所述告警获取loader模块触发指令,并根据所述loader模块触发指令启动所述终端设备的loader模块;
[0010]向所述loader模块发送包含修复所述系统主程序所需的配置参数的配置请求,以便所述loader模块根据所述配置请求中的配置参数对所述系统主程序进行修复。
[0011]第二方面,提供一种软件修复装置,应用于终端设备,所述装置包括:
[0012]生成模块,用于在所述终端设备监测到系统主程序发生异常或无法启动时,则生成告警;其中,所述告警用于指示获取loader模块触发指令;
[0013]处理模块,用于根据所述生成模块生成的所述告警获取loader模块触发指令,并根据所述loader模块触发指令启动所述终端设备的loader模块;
[0014]发送模块,用于向所述loader模块发送包含修复所述系统主程序所需的配置参数的配置请求,以便所述loader模块根据所述配置请求中的配置参数对所述系统主程序进行修复。
[0015]本发明的实施例提供的软件修复方法及终端设备,当终端设备监测到系统主程序无法运行或运行异常时,触发告警,根据该告警获取loader模块触发指令,并根据loader模块触发指令启动终端设备的loader模块,然后,向loader模块发送包含修复系统主程序所需的配置参数的配置请求,以便loader模块根据配置请求中的配置参数对系统主程序进行修复或升级。相比于现有技术在系统主程序发生异常或无法启动而导致终端设备无法启动或无法正常运行后,需要技术人员人工重新烧录系统主程序,本发明根据获取的loader模块触发指令启动终端设备中用于修复系统主程序的loader模块,并告知该loader模块升级所需的配置参数,使得loader模块可以根据该配置参数自动修复或升级系统主程序,无需技术人员登门操作,大大提高了工作效率。
【附图说明】
[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本发明的实施例提供的一种软件修复方法的方法流程图;
[0018]图2为本发明的实施例提供的一种软件修复装置的装置示意图;
[0019]图3为本发明的实施例提供的一种终端设备的结构示意图;
[0020]图4为本发明的实施例提供的另一种终端设备的结构示意图。
【具体实施方式】
[0021]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022]本发明的实施例提供一种软件修复方法,如图1所示,该方法具体包括如下步骤:
[0023]101、软件修复装置在终端设备监测到系统主程序无法运行或运行异常时,生成告靈目ο
[0024]其中,上述的告警用于指示终端设备获取loader模块触发指令。本发明实施例中的软件修复装置应用于终端设备,而该终端设备可以是数字电视或网络电视的机顶盒,例如,数字机顶盒、网路协议电视(Internet Protocol Televis1n,简称IPTV)机顶盒、智能高清机顶盒等,也可以是智能手机、平板电脑、计算机等主程序需要修复或升级的终端设备。具体的,若该终端设备想要对系统主程序进行升级维护,则该终端设备中至少需要包含:用于管理整个系统软件的运行的系统主程序、用于实时监测该终端设备的系统主程序升级过程中是否发生异常以及收发、处理数据的软件修复装置、用于引导程序的boot模块、用于下载用于升级该系统主程序的升级程序的loader模块以及数据库存储等软件设计所需要的模块。
[0025]在本实施例中描述的终端设备的系统主程序无法运行或运行异常具体指:由于设备在升级或者某些需要擦写FLASH的情况下导致存储应用程序的FLASH对应的分区被破坏,导致设备无法启动,或者,由于软件设计的原因,随着前端环境的变化,设备软件启动后关键数据校验通不过或者陷入死循环,系统主程序虽然仍在运行,但无法执行到触发升级的代码段。总体来说,即终端设备无法启动或者启动后无法有效运行时终端设备便可认定该终端设备的系统主程序无法运行或运行异常。
[0026]需要说明的是,终端设备的系统主程序若需要修复或升级,则必须通过loader来完成所要修复程序的下载,这就需要通过有效的途径通知终端设备的loader模块所要下载的数据对应的配置信息。例如,若该终端设备为机顶盒时,则该配置信息包括该机顶盒的系统主程序对应升级程序的数据包的标志码传输包(Packet ID dentifier,简称PID)等信息,此外,若是采取在线升级的方法,则该配置信息还包括该机顶盒的系统主程序对应升级程序的传输流(Transport Stream,简称TS)所在的频点等信息。因此,若系统主程序遭到破坏或者系统主程序启动后无法运行到负责通知loader模块的代码段,那么,便会导致loader模块得不到所需下载的所需要的配置信息或者接收不到启动loader模块的指令,进而导致系统主程序升级的失败,因此,若想要重新执行系统主程序升级的过程,则首先需要重新触发或启动loader模块。
[0027]102、软件修复装置根据告警获取loader模块触发指令,并根据loader模块触发指令启动loader模块。
[0028]具体的,软件修复装置在根据告警获取loader模块触发指令时具体可以通过如下过程实现:
[0029]al、软件修复装置获取用户指令,并根据用户指令生成loader模块触发指令;其中,该用户指令是用户在获知告警后通过触发终端设备上按键生成的。具体的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1