应用软件异常处理的方法及装置与流程

文档序号:12822961阅读:371来源:国知局
应用软件异常处理的方法及装置与流程

本发明涉及信息处理技术领域,尤其涉及一种应用软件异常处理的方法及装置。



背景技术:

目前,越来越多的智能终端采用安卓android系统。其中智能终端包括专供企业使用的定制终端以及通用的消费品终端。对于企业定制的智能终端,在终端出厂的时候会以预装的方式在智能终端中预装企业的业务软件,业务软件中集合了操作系统和预装的应用软件。在智能终端在使用的过程中,因为功能的扩展或者处理实际使用中的缺陷等需求,会出现要求智能终端升级系统或者升级预装的应用软件的提示,具体是通过空中下载技术(over-the-airtechnology,ota)方式进行升级的。当预装的应用软件升级后,在用户使用的过程中可能会出现ota升级包发布时出现未检测出的较严重的缺陷,这种较严重的缺陷会导致用户在使用的过程中无法正常进行业务工作。由于是系统预装的应用软件,所以无法通过恢复出厂设置方式将存在严重缺陷的预装应用软件进行删除,恢复到原来没有缺陷的版本,并且若等待下次ota升级包发布时还需要很长的时间,因此,当升级后的预装应用软件发生严重缺陷后,无法及时的恢复,影响智能终端进行正常的业务工作。



技术实现要素:

鉴于上述问题,本发明提供一种应用软件异常处理的方法及装置,用以解决现有的预装应用软件异常时无法及时的恢复的问题。

为解决上述技术问题,第一方面,本发明提供了一种应用软件异常处理的处理方法,所述方法包括:

预装应用软件异常后,根据系统恢复提示消息设置系统恢复标记,所述预装应用软件为预装在智能终端系统中的应用软件;

根据所述系统恢复标记获取正常应用软件的相关数据,所述正常应用软件为与发生异常的预装应用软件为不同版本的同一软件;

将正常应用软件的相关数据以覆盖的方式写到智能终端系统中,以替换异常的预装应用软件对应的相关数据。

第二方面,本发明还提供了一种应用软件异常处理的装置,所述装置包括:

设置单元,用于预装应用软件异常后,根据系统恢复提示消息设置系统恢复标记,所述预装应用软件为预装在智能终端系统中的应用软件;

数据获取单元,用于根据所述系统恢复标记获取正常应用软件的相关数据,所述正常应用软件为与发生异常的预装应用软件为不同版本的同一软件;

写入单元,用于将正常应用软件的相关数据以覆盖的方式写到智能终端系统中,以替换异常的预装应用软件对应的相关数据。

借由上述技术方案,本发明提供的应用软件异常处理的方法及装置,可以在预装应用软件异常后,通过设置的系统恢复标记获取到正常版本的预装应用软件的相关数据来覆盖异常的预装应用软件的相关数据,相当于将用正常版本的预装应用软件替换异常预装应用软件的方式实现预装应用软件的异常处理。这种方式可以在预装应用软件异常后及时的恢复智能终端中正常的业务操作,不需要等到获取ota升级包后恢复正常的业务操作。这种预装应用软件的异常处理的方式,在保证业务正常操作的前提下,提高了业务操作的恢复效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种应用软件异常处理的方法的流程图;

图2示出了本发明实施例提供的另一种应用软件异常处理的方法的流程图;

图3示出了本发明实施例提供的又一种应用软件异常处理的方法的流程图;

图4示出了本发明实施例提供的一种应用软件异常处理的装置的组成框图;

图5示出了本发明实施例提供的另一种应用软件异常处理的装置的组成框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

为解决现有的预装应用软件异常时无法及时的恢复的问题,本发明实施例提供了一种应用软件异常处理的方法,如图1所示,该方法包括:

101、预装应用软件异常后,根据系统恢复提示消息设置系统恢复标记。

首先需要说明的是,本实施例中的预装应用软件是指预装在智能终端系统中的应用软件,因此需要通过选择对智能终端系统恢复的方式来实现预装应用软件异常的处理。当智能终端设备中的预装应用软件在使用的过程中出现异常后,用户可以在智能终端系统中的设置选项中选择系统恢复选项,用户选择系统恢复选项后生成系统恢复提示消息,因此智能终端系统可以接收到系统恢复的提示消息。当接收到系统恢复的提示消息后设置系统恢复标记。在实际应用中简便的设置系统恢复标记的方式为:通过一个标识位实现,当用户选择系统恢复选项时,将对应的标识位设为1,不选择系统恢复选项时为0。另外,也可以选择其他现有的可以设置标记的方式进行设置。

另外需要说明的是,具体进行设置系统恢复标记的执行是由智能终端系统中的核心程序kernel执行的。

102、根据系统恢复标记获取正常应用软件的相关数据。

根据系统恢复标记,确定需要进行系统的恢复,本实施例中系统的恢复的原理不是针对预装应用软件中具体的缺陷,进行对应的程序的修改,而是将与发生异常的预装应用软件为同一软件的不同版本的正常应用软件替换异常的预装应用软件。因此,需要获取与发生异常的预装应用软件为同一软件的不同版本的正常应用软件的相关数据。其中相关数据是保证正常应用软件能够正常运行的所有数据,相关数据存储在存储器的数据备份分区中。需要说明的是,在存储器中可以放置一个版本的正常应用软件,也可以放置多个版本的正常应用软件,但是在选择时只能选择其中的一个。若存储器中存储多个版本的正常应用软件时,可以让输出多个版本的标识信息供选择。在实际的应用中,为了节省空间资源的占用可以尽可能放置更少版本的正常应用软件。

103、将正常应用软件的相关数据以覆盖的方式写到智能终端系统中。

将由步骤102获取到的正常应用软件的相关数据按照所属的分区分别写到对应的数据区域。需要说明的是,智能终端系统通常划分多个分区,不同的分区对应不同的功能和作用,因此对应不同的数据,在写入时需要按照分区对应写入。另外,覆盖的方式表示,不保留原来的数据,将写入的数据代替原来的数据。

写入正常应用软件的相关数据后,最终实现预装应用软件的异常处理。

本发明提供的应用软件异常处理的方法,可以在预装应用软件异常后,通过设置的系统恢复标记获取到正常版本的预装应用软件的相关数据来覆盖异常的预装应用软件的相关数据,相当于将用正常版本的预装应用软件替换异常预装应用软件的方式实现预装应用软件的异常处理。这种方式可以在预装应用软件异常后及时的恢复智能终端中正常的业务操作,不需要等到获取ota升级包后恢复正常的业务操作。这种预装应用软件的异常处理的方式,在保证业务正常操作的前提下,提高了业务操作的恢复效率。

为了对上述图1所示的方法的补充或扩展,本发明实施例还提供了一种应用软件异常处理的方法,如图2所示,该方法包括:

201、预装应用软件异常后,根据系统恢复提示消息设置系统恢复标记。

本步骤的实现方式与图1中步骤101的实现方式相同,此处不再赘述。

202、将系统恢复标记存储在存储器中。

将步骤201中设置的系统恢复标记存储在智能终端系统的存储器中,以使智能终端系统重新启动时,可以获取到系统恢复标记。另外,为了保证系统恢复标记的安全性,需要将系统恢复标记存储在存储器中的安全区域,防止被破坏或丢失。

203、输出重启智能终端系统的提示信息,以使智能终端系统重新被启动。

当智能终端系统重新被启动后,开始对智能终端系统中的预装应用软件的异常进行处理,理论上可以直接设置为在步骤202后自动重启智能终端系统。但在实际应用中,如果由于智能终端的电量不足等原因等导致异常处理的过程被中断时,可能会发生系统瘫痪的现象。因此为了避免上述情况的发生,保证智能终端在进行异常处理的过程中有足够的电量,所以在重启智能终端系统前需要输出提示消息,并提供一个电量参考值(比如大于20%的电量等)使用户确定剩余的电量是否满足异常处理过程中所需要的电量,并选择是否重启智能终端系统。当接收到确定重启智能终端系统的确定消息后,执行重启智能终端系统。

204、智能终端系统重启后,从存储器中获取系统恢复标记。

本实施例中从存储器中获取系统恢复标记的方法是添加在bootloader程序中执行的。通常智能终端系统重启后,首先执行的是bootloader程序,bootloader程序是在智能终端系统的内核程序kernel运行之前运行的,它可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。

205、根据系统恢复标记从存储器的备份分区中获取正常应用软件的相关数据。

具体的获取正常应用软件的相关数据的实现方式图1步骤102中的实现方式相同,此处不再赘述。另外需要说明的是,其中的备份分区功能是将整个分区中的所有文件数据或其它数据备份到指定的文件中,以便在分区数据遭到破坏时恢复。因此正常应用软件的相关数据放置在备份分区中,需要从存储器的备份分区中获取正常应用软件的相关数据。

另外,还需要说明的是,本实施例中存储器中只存储有一个版本的正常应用软件,并且该版本的正常应用软件为预装应用软件的初始版本。因为实际的应用中,通常初始版本的测试周期是最长的,性能也是最稳定的。

206、将正常应用软件的相关数据以覆盖的方式对应写入到智能终端系统中boot分区以及system分区。

boot分区中包括引导程序以及内核kernel程序,system分区中包括了操作系统(比如android系统)的用户界面的相关程序,以及所有的预安装在智能终端上的应用程序。本实施例中将获取到的正常应用软件的相关数据按照所属的分区分类写入到boot分区以及system分区中。完成正常应用软件替换异常的预装应用软件,实现预装应用软件的异常处理。当重启智能终端系统后,就可以运行正常应用软件了。

另外,为了在重启智能终端系统后不会发生根据系统恢复标记重新进行系统恢复的情况,将需要在将正常应用软件的相关数据以覆盖的方式对应写入到智能终端系统中boot分区以及system分区后,将系统恢复标记清除。具体的清除系统恢复标记的方式可以为:若在存储器中设置系统恢复标记时对应的标识位为1,则将存储器中设置系统恢复标记时对应的标识位修改为0,0表示不进行系统的恢复,这样就可以实现系统恢复标记的清除。当清除系统恢复标记后,智能终端系统重新启动后,获取到的是不进行系统恢复的标记,从而避免重新进行系统恢复,并直接运行正常应用软件。

另外,当存储器中存储的是初始版本的预装应用软件时,用户可能有获取较高版本的预装应用软件的需要,因此在智能终端系统重启后,若获取到应用软件升级的提示信息,则根据应用软件升级的提示消息中包含的版本号向服务器获取对应版本号的预装应用软件,并将获取到的更高版本的预装应用软件进行安装。需要说明的是,不同版本的预装应用软件对应不同的版本号。

为了对上述图2中应用软件异常处理的方法进行更清晰的说明,给出另一种应用软件异常处理的方法的流程图,如图3所示,其中android为智能终端系统中的操作系统,android、bootloader、预设应用、存储器都属于智能终端系统。当预装应用软件异常后,用户选择系统恢复,然后android设置系统恢复标记,并将系统恢复标记保存在存储器中,当智能终端系统重启后,从存储器中获取系统恢复标记,并获取正常应用软件(预装应用软件初始版本)的相关数据,将获取到的相关数据以覆盖的方式写入到对应的boot分区以及system分区,然后将系统恢复标记清除后重启智能终端系统。重启智能终端系统后,向服务器查询更高版本的预装应用软件,接收到服务器返回所有更高版本的预装应用软件的版本号,并输出让用户进行选择期望的版本号,然后根据用户选择的版本号启动下载通知进行下载以及安装对应版本号的预装应用软件。

进一步的,作为对上述各实施例的实现,本发明实施例的另一实施例还提供了一种应用软件异常处理的装置,用于实现上述图1以及图2中所述的方法。如图4所示,该装置包括:设置单元31、数据获取单元32以及写入单元33。

设置单元31,用于预装应用软件异常后,根据系统恢复提示消息设置系统恢复标记,预装应用软件为预装在智能终端系统中的应用软件;

首先需要说明的是,本实施例中的预装应用软件是指预装在智能终端系统中的应用软件,因此需要通过选择对智能终端系统恢复的方式来实现预装应用软件异常的处理。当智能终端设备中的预装应用软件在使用的过程中出现异常后,用户可以在智能终端系统中的设置选项中选择系统恢复选项,用户选择系统恢复选项后生成系统恢复提示消息,因此智能终端系统可以接收到系统恢复的提示消息。当接收到系统恢复的提示消息后设置系统恢复标记。在实际应用中简便的设置系统恢复标记的方式为:通过一个标识位实现,当用户选择系统恢复选项时,将对应的标识位设为1,不选择系统恢复选项时为0。另外,也可以选择其他现有的可以设置标记的方式进行设置。

另外需要说明的是,具体进行设置系统恢复标记的执行是由智能终端系统中的核心程序kernel执行的。

数据获取单元32,用于根据系统恢复标记获取正常应用软件的相关数据,正常应用软件为与发生异常的预装应用软件为不同版本的同一软件;

根据系统恢复标记,确定需要进行系统的恢复,本实施例中系统的恢复的原理不是针对预装应用软件中具体的缺陷,进行对应的程序的修改,而是将与发生异常的预装应用软件为同一软件的不同版本的正常应用软件替换异常的预装应用软件。因此,需要获取与发生异常的预装应用软件为同一软件的不同版本的正常应用软件的相关数据。其中相关数据是保证正常应用软件能够正常运行的所有数据,相关数据存储在存储器的数据备份分区中。需要说明的是,在存储器中可以放置一个版本的正常应用软件,也可以放置多个版本的正常应用软件,但是在选择时只能选择其中的一个。若存储器中存储多个版本的正常应用软件时,可以让输出多个版本的标识信息供选择。在实际的应用中,为了节省空间资源的占用可以尽可能放置更少版本的正常应用软件。

写入单元33,用于将正常应用软件的相关数据以覆盖的方式写到智能终端系统中,以替换异常的预装应用软件对应的相关数据。

将由数据获取单元32获取到的正常应用软件的相关数据按照所属的分区分别写到对应的数据区域。需要说明的是,智能终端系统通常划分多个分区,不同的分区对应不同的功能和作用,因此对应不同的数据,在写入时需要按照分区对应写入。另外,覆盖的方式表示,不保留原来的数据,将写入的数据代替原来的数据。

写入正常应用软件的相关数据后,最终实现预装应用软件的异常处理。

数据获取单元32用于:

根据系统恢复标记从存储器的备份分区中获取正常应用软件的相关数据;

其中的备份分区功能是将整个分区中的所有文件数据或其它数据备份到指定的文件中,以便在分区数据遭到破坏时恢复。因此正常应用软件的相关数据放置在备份分区中,需要从存储器的备份分区中获取正常应用软件的相关数据。

写入单元33用于:

将正常应用软件的相关数据以覆盖的方式对应写入到智能终端系统中boot分区以及system分区。

boot分区中包括引导程序以及内核kernel程序,system分区中包括了操作系统(比如android系统)的用户界面的相关程序,以及所有的预安装在智能终端上的应用程序。本实施例中将获取到的正常应用软件的相关数据按照所属的分区分类写入到boot分区以及system分区中。完成正常应用软件替换异常的预装应用软件,实现预装应用软件的异常处理。当重启智能终端系统后,就可以运行正常应用软件了。

如图5所示,装置还包括:

存储单元34,用于在根据系统恢复提示消息设置系统恢复标记之后,将系统恢复标记存储在存储器中;

为了保证系统恢复标记的安全性,需要将系统恢复标记存储在存储器中的安全区域,防止被破坏或丢失。

输出单元35,用于输出重启智能终端系统的提示信息,以使智能终端系统重新被启动;

当智能终端系统重新被启动后,开始对智能终端系统中的预装应用软件的异常进行处理,理论上可以直接设置为自动重启智能终端系统。但在实际应用中,如果由于智能终端的电量不足等原因等导致异常处理的过程被中断时,可能会发生系统瘫痪的现象。因此为了避免上述情况的发生,保证智能终端在进行异常处理的过程中有足够的电量,所以在重启智能终端系统前需要输出提示消息,并提供一个电量参考值(比如大于20%的电量等)使用户确定剩余的电量是否满足异常处理过程中所需要的电量,并选择是否重启智能终端系统。当接收到确定重启智能终端系统的确定消息后,执行重启智能终端系统。

标记获取单元36,用于智能终端系统重启后,从存储器中获取系统恢复标记。

如图5所示,装置还包括:

清除单元37,用于在将正常应用软件的相关数据以覆盖的方式写到智能终端系统中之后,将系统恢复标记清除;

另外,为了在重启智能终端系统后不会发生根据系统恢复标记重新进行系统恢复的情况,将需要在将正常应用软件的相关数据以覆盖的方式对应写入到智能终端系统中boot分区以及system分区后,将系统恢复标记清除。具体的清除系统恢复标记的方式可以为:若在存储器中设置系统恢复标记时对应的标识位为1,则将存储器中设置系统恢复标记时对应的标识位修改为0,0表示不进行系统的恢复,这样就可以实现系统恢复标记的清除。当清除系统恢复标记后,智能终端系统重新启动后,获取到的是不进行系统恢复的标记,从而避免重新进行系统恢复,并直接运行正常应用软件。输出单元35,还用于输出重启智能终端系统的提示信息,以使智能终端系统重新被启动后运行正常的应用软件。

如图5所示,装置还包括:

版本号获取单元38,用于正常应用软件为预装应用软件的初始版本,在运行正常的应用软件后,获取应用软件升级的提示信息,应用软件升级的提示信息中包含升级的版本号;

下载单元39,用于根据版本号从服务器下载对应版本号的预装应用软件,不同版本的预装应用软件对应不同的版本号;

安装单元310,用于安装对应版本号的预装应用软件。

本发明提供的应用软件异常处理的装置,可以在预装应用软件异常后,通过设置的系统恢复标记获取到正常版本的预装应用软件的相关数据来覆盖异常的预装应用软件的相关数据,相当于将用正常版本的预装应用软件替换异常预装应用软件的方式实现预装应用软件的异常处理。这种方式可以在预装应用软件异常后及时的恢复智能终端中正常的业务操作,不需要等到获取ota升级包后恢复正常的业务操作。这种预装应用软件的异常处理的方式,在保证业务正常操作的前提下,提高了业务操作的恢复效率。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的发明名称(如应用软件异常处理的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1