CN110175034A - 一种应用程序的恢复方法及系统 - Google Patents
一种应用程序的恢复方法及系统 Download PDFInfo
- Publication number
- CN110175034A CN110175034A CN201910464315.4A CN201910464315A CN110175034A CN 110175034 A CN110175034 A CN 110175034A CN 201910464315 A CN201910464315 A CN 201910464315A CN 110175034 A CN110175034 A CN 110175034A
- Authority
- CN
- China
- Prior art keywords
- application program
- run
- installation kit
- inessential
- time error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用程序的恢复方法及系统,涉及通信技术领域,该方法包括以下步骤:保存新版本安装包以及老版本安装包;记录新版本安装包以及老版本安装包各自对应的应用程序版本;根据应用程序的启动失败次数、应用程序主界面、主服务能否加载或应用程序运行中是否正常判断应用程序的运行状态,当应用程序运行错误时,卸载应用程序,并删除与应用程序对应的新版本安装包;安装老版本安装包。本发明保存新版本安装包以及老版本安装包,在判断应用程序运行错误后,及时利用老版本安装包重装应用程序,保证用户能够继续正常使用该应用程序,给用户带来良好的使用体验。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种应用程序的恢复方法及系统。
背景技术
随着网络建设的大力发展,视讯业务出现大幅增长,特别是以Android为操作系统的智能终端设备,智能终端上会被安装各种各样不同功能的应用程序,随着应用程序功能扩展、界面优化等需要,应用程序本身也会升级。
在应用程序更新时,安装的新版本会覆盖旧版本,Android系统只会启动版本高的应用程序,但当新版本由于种种问题出现运行错误问题时,由于旧版本已经被覆盖,往往不能再应用,又或者当应用程序正在更新时设备断电,导致新程序安装覆盖一半,没有被完全安装,也会出现应用程序运行错误的情况,特别是一些主题程序、设置程序等关键程序,如果出现这种问题会直接导致设备无法启动。
为了解决应用更新安装时不完全导致的运行错误和安装完成后新应用程序本身运行错误,导致用户不能使用的问题,急需提供一种合适的应用程序的恢复技术方案。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种应用程序的恢复方法及系统,保存新版本安装包以及老版本安装包,在判断应用程序运行错误后,及时利用老版本安装包重装应用程序,保证用户能够继续正常使用该应用程序,给用户带来良好的使用体验。
为达到以上目的,本发明采取的技术方案是:
本发明公开一种应用程序的恢复方法,所述方法包括以下步骤:
保存新版本安装包以及老版本安装包;
记录所述新版本安装包以及所述老版本安装包各自对应的应用程序版本;
根据所述应用程序的启动失败次数、应用程序主界面、主服务能否加载或应用程序运行中是否正常判断所述应用程序的运行状态,当所述应用程序运行错误时,卸载所述应用程序,并删除与所述应用程序对应的新版本安装包;
安装所述老版本安装包。
在上述技术方案的基础上,当所述应用程序为系统必要应用程序时,判断所述系统必要应用程序的运行状态包括以下步骤:
启动所述系统必要应用程序,并判断当前版本的所述系统必要应用程序是否首次启动,若是则进行下一步,反之则终止操作并判断所述系统必要应用程序运行正常;
判断所述系统必要应用程序在预设的判定时间内是否启动完成,并记录启动失败次数;
若所述启动失败次数超过预设的失败门限值,则判断所述系统必要应用程序运行错误。
在上述技术方案的基础上,所述判断是否首次启动所述系统必要应用程序中,具体包括以下步骤:
创建一个启动标志位,所述系统必要应用程序安装后,向所述启动标志位赋予初始值,所述系统必要应用程序启动成功后将所述启动标志位设置为标记值;
当所述系统必要应用程序响应启动指令时,获取所述启动标志位,当所述启动标志位的值为初始值时,则判定所述系统必要应用程序为首次启动。
在上述技术方案的基础上,当所述应用程序为系统非必要应用程序时,根据应用程序主界面或主服务能否加载判断所述应用程序的运行状态包括以下步骤:
解析所述应用程序Action中Main属性的类;
加载所述Main属性的类,并判断应用异常回调函数是否被调用;
若所述应用异常回调函数被调用,则判定所述系统非必要应用程序运行错误。
在上述技术方案的基础上,当所述应用程序为系统非必要应用程序时,根据应用程序运行中是否正常判断所述应用程序的运行状态包括以下步骤:
判断所述系统非必要应用程序运行时是否出现运行错误,并记录所述运行错误的出现次数;
当所述运行错误的出现次数超过预设的错误门限值,则判定所述系统非必要应用程序运行错误。
在上述技术方案的基础上,所述判断所述系统非必要应用程序运行时是否出现运行错误,具体包括以下步骤:
在所述系统非必要应用程序运行过程中,识别应用异常回调函数是否被触发;
当所述应用异常回调函数被触发时,若引起运行错误的进程包名和所述系统非必要应用程序对应的包名一致,则判定所述系统非必要应用程序运行出错。
本发明还公开一种应用程序的恢复系统,所述系统包括:
安装包存储单元,其用于保存新版本安装包以及老版本安装包,并记录所述新版本安装包以及所述老版本安装包各自对应的应用程序版本;
程序恢复单元,其用于当所述应用程序运行错误时,卸载所述应用程序,并删除与所述应用程序对应的新版本安装包,安装所述老版本安装包。
在上述技术方案的基础上,所述系统还包括:
第一运行错误判断单元,其用于当所述应用程序为系统必要应用程序时,判断所述系统必要应用程序的运行状态;
所述第一运行错误判断单元具体用于:
启动所述系统必要应用程序,并判断当前版本的所述系统必要应用程序是否首次启动,若是则进行下一步,反之则终止操作并判断所述系统必要应用程序运行正常;
判断所述系统必要应用程序在预设的判定时间内是否启动完成,并记录启动失败次数;
若启动失败次数超过预设的失败门限值,则判断所述系统必要应用程序运行错误
在上述技术方案的基础上,所述系统还包括:
第一启动错误判断单元,其用于当所述应用程序为系统非必要应用程序时,判断所述系统非必要应用程序的运行状态;
所述第一启动错误判断单元根据应用程序主界面或主服务能否加载判断所述应用程序的运行状态,若加载出错,则判定所述系统非必要应用程序运行错误。
在上述技术方案的基础上,所述系统还包括:
第二运行错误判断单元,其用于当所述应用程序为系统非必要应用程序时,判断所述系统非必要应用程序的运行状态;
所述第二运行错误判断单元判断所述系统非必要应用程序运行中是否出现运行错误,并记录所述运行错误的出现次数,当所述运行错误的出现次数超过预设的错误门限值,则判定所述系统非必要应用程序出现运行错误。
与现有技术相比,本发明的优点在于:
本发明在应用程序的初始安装以及后续更新过程中,保存新版本安装包以及老版本安装包,在判断应用程序运行错误后,及时利用老版本安装包重装应用程序,保证用户能够继续正常使用该应用程序,给用户带来良好的使用体验。
附图说明
图1为本发明实施例一中应用程序的恢复方法的步骤流程图;
图2为本发明实施例一中应用程序的恢复方法中针对系统必要应用程序的恢复判断流程图;
图3为本发明实施例一中应用程序的恢复方法中的针对系统非必要应用程序的恢复判断流程图;
图4为本发明实施例一中应用程序的恢复方法中的在程序运行过程中针对系统非必要应用程序的恢复流程图;
图5为本发明实施例二中应用程序的恢复系统的结构框图;
图6为本发明实施例四中应用程序的恢复设备的结构框图;
图中:1、安装包存储单元;2、程序恢复单元;3、第一运行错误判断单元;4、第一启动错误判断单元;5、第二运行错误判断单元。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
本发明实施例提供一种应用程序的恢复方法及系统,在应用程序的初始安装以及后续更新过程中,保存新版本安装包以及老版本安装包,在判断应用程序运行错误后,及时利用老版本安装包重装应用程序,保证用户能够继续正常使用该应用程序,给用户带来良好的使用体验。
为达到上述技术效果,本申请的总体思路如下:
一种应用程序的恢复方法,该方法包括以下步骤:
S1、保存新版本安装包以及老版本安装包;
S2、记录新版本安装包以及老版本安装包各自对应的应用程序版本;
S3、根据应用程序的启动失败次数、应用程序主界面、主服务能否加载或应用程序运行中是否正常判断应用程序的运行状态,当应用程序运行错误时,卸载应用程序,并删除与应用程序对应的新版本安装包;
S4、安装老版本安装包。
以下结合附图对本发明的实施例作进一步详细说明。
实施例1
参见图1至图4所示,本发明实施例1提供一种应用程序的恢复方法,该方法包括以下步骤:
S1、保存新版本安装包以及老版本安装包;
S2、记录新版本安装包以及老版本安装包各自对应的应用程序版本;
S3、根据应用程序的启动失败次数、应用程序主界面、主服务能否加载或应用程序运行中是否正常判断应用程序的运行状态,当应用程序运行错误时,卸载应用程序,并删除与应用程序对应的新版本安装包;
S4、安装老版本安装包。
本发明实施例中,首先,针对一个应用程序,第一次安装时,保留其安装包,而当后续对应用程序更新后,保存新版本安装包以及老版本安装包,需要说明的是,此处的老版本安装包,是指相对于本次程序更新的版本而言,上次更新或初始安装所对应的安装包;
进而,需要记录记录新版本安装包以及老版本安装包各自对应的应用程序版本,以便在后续操作时,准确获得对应版本的安装包进行程序重装;
而后,根据应用程序的启动失败次数、应用程序主界面、主服务能否加载或应用程序运行中是否正常判断应用程序的运行状态,
其中,当应用程序是具有主界面的,那么应用程序的Main属性的类就是该应用程序的主界面,当应用程序为服务型,即应用程序无主界面,那么应用程序的Main属性的类就是该应用程序的主服务。
当应用程序运行错误时,卸载应用程序,并删除与应用程序对应的新版本安装包,具体操作时,可以是根据应用程序的启动失败次数或者Main属性的类能否加载判断应用程序的运行状态,当启动失败次数超过预设的阈值则判定应用程序运行错误,当Main属性的类无法被加载,则应用则无法正常运行,此时应用异常回调函数会被调用,则也表明应用程序运行错误,而当应用程序运行错误时,卸载应用程序,并删除与应用程序对应的新版本安装包;
最后,获取老版本安装包,安装老版本安装包,进而,在步骤S4后,重启应用程序。
本发明实施例,在应用程序的初始安装以及后续更新过程中,保存新版本安装包以及老版本安装包,在判断应用程序运行错误后,及时利用老版本安装包重装应用程序,保证用户能够继续正常使用该应用程序,给用户带来良好的使用体验。
本发明实施例中的另一种实施方式,当应用程序为系统必要应用程序时,判断系统必要应用程序的运行状态包括以下步骤:
启动系统必要应用程序,并判断当前版本的系统必要应用程序是否首次启动,若是则进行下一步,反之则终止操作并判断系统必要应用程序运行正常;
判断系统必要应用程序在预设的判定时间内是否启动完成,并记录启动失败次数;
若启动失败次数超过预设的失败门限值,则判断系统必要应用程序运行错误;
需要说明的是,本方法应用于安卓系统时,系统必要应用程序具体可以是Launcher程序,Launcher程序为安卓系统中的桌面启动器;
当Launcher程序此前已经成功启动后,默认其运行是正确的,故而判断后续的启动均是可以正常进行的。
具体的,判断是否首次启动系统必要应用程序中,具体包括以下步骤:
创建一个启动标志位,系统必要应用程序安装后,向启动标志位赋予初始值,系统必要应用程序启动成功后将启动标志位设置为标记值;
当系统必要应用程序响应启动指令时,获取启动标志位,当启动标志位的值为初始值时,则判定系统必要应用程序为首次启动。
在此,以Launcher程序为例,给出一个具体的针对系统必要应用程序的恢复判断流程图,具体步骤如下:
A1、启动Launcher程序;
A2、判断是否首次启动,若是则进入步骤A3,反之终止判断操作;
A3、判断Launcher程序在预设的判断单位时间内是否启动成功,若启动失败,则失败计数值加1,反之,则进行正常操作;
A4、判断失败计数值是否超过失败门限值时;
A5、当失败计数值超过失败门限值时,转入步骤S3;
其中,A3的正常操作,即启动程序的后续操作,转入步骤S3,进行操作进而进行步骤S4的操作,从而完成应用程序的恢复。
本发明实施例中的另一种实施方式,当应用程序为系统非必要应用程序时,根据应用程序主界面或主服务能否加载判断应用程序的运行状态包括以下步骤:
解析应用程序Action中Main属性的类;
加载Main属性的类,并判断应用异常回调函数是否被调用;
若应用异常回调函数被调用,则判定系统非必要应用程序运行错误;
其中,当应用程序是具有主界面的,那么应用程序的Main属性的类就是该应用程序的主界面,当应用程序为服务型,即应用程序无主界面,那么应用程序的Main属性的类就是该应用程序的主服务,
此处的系统非必要应用程序,依旧拿安卓系统为例,系统非必要应用程序类似于QQ、微信、支付宝、微博等应用程序,即排除系统本身运作需要的应用程序以外的其他应用程序;
当系统非必要应用程序启动时,会加载Main属性的类,当Main属性的类无法被加载时,则启动出现错误,故而判定系统非必要应用程序运行错误;
具体的,加载Main属性的类,并判断是否成功加载中,具体包括以下步骤:
加载Main属性的类;
判断应用异常回调函数是否被调用;
若应用异常回调函数被调用,则判定Main属性的类加载出错;
在加载异常时,应用异常回调函数会被调用,故而只需要判断应用异常回调函数是否被调用,即可判定Main属性的类加载是否出错。
本发明实施例中的另一种实施方式,当应用程序为系统非必要应用程序时,根据应用程序运行中是否正常判断应用程序的运行状态包括以下步骤:
判断系统非必要应用程序运行时是否出现运行错误,并记录运行错误的出现次数;
当运行错误的出现次数超过预设的错误门限值,则判定系统非必要应用程序运行错误。
在此,给出一个具体的针对系统非必要应用程序的恢复判断流程图,具体步骤如下:
B1、启动系统非必要应用程序;
B2、解析Action为Main属性的类;
B3、判断解析过程是否出错;
B4、解析出错则启动程序恢复流程。
本发明实施例中的另一种实施方式,判断系统非必要应用程序运行时是否出现运行错误,具体包括以下步骤:
在系统非必要应用程序运行过程中,识别应用异常回调函数是否被触发;
当应用异常回调函数被触发时,若引起运行错误的进程包名和系统非必要应用程序对应的包名一致,则判定系统非必要应用程序运行出错。
在此,给出在程序运行过程中的一个具体的针对系统非必要应用程序的恢复流程图,具体步骤如下:
C1、判断系统非必要应用程序运行时是否出现运行错误;
C2、记录运行错误的出现次数;
C3、判断运行错误的出现次数是否超过预设的错误门限值;
C4、运行错误的出现次数超过预设的错误门限值时,启动程序恢复流程。
需要说明的是,程序恢复流程,具体是指步骤S3以及步骤S4,必要时,还包括应用程序重启步骤,具体是指将错误版本的应用程序进行恢复处理的步骤。
基于同一发明构思,本申请提供了实施例一对应的应用程序的恢复系统的实施例,详见实施例二
实施例二
参见图5所示,本发明实施例提供一种应用程序的恢复系统,该系统包括:
安装包存储单元1,其用于保存新版本安装包以及老版本安装包,并记录新版本安装包以及老版本安装包各自对应的应用程序版本;
程序恢复单元2,其用于当应用程序运行错误时,卸载应用程序,并删除与应用程序对应的新版本安装包,安装老版本安装包。
本发明实施例中,首先,针对一个应用程序,第一次安装时,保留其安装包,而当后续对应用程序更新后,保存新版本安装包以及老版本安装包,需要说明的是,此处的老版本安装包,是指相对于本次程序更新的版本而言,上次更新或初始安装所对应的安装包;
进而,需要记录记录新版本安装包以及老版本安装包各自对应的应用程序版本,以便在后续操作时,准确获得对应版本的安装包进行程序重装;
而后,根据应用程序的启动失败次数或应用程序主界面或主服务能否加载判断应用程序的运行状态,
其中,当应用程序是具有主界面的,那么应用程序的Main属性的类就是该应用程序的主界面,当应用程序为服务型,即应用程序无主界面,那么应用程序的Main属性的类就是该应用程序的主服务,
当应用程序运行错误时,卸载应用程序,并删除与应用程序对应的新版本安装包,具体操作时,可以是根据应用程序的启动失败次数或者Main属性的类能否加载判断应用程序的运行状态,当启动失败次数超过预设的阈值则判定应用程序运行错误,当Main属性的类无法被加载,则应用则无法正常运行,此时应用异常回调函数会被调用,则也表明应用程序运行错误,而当应用程序运行错误时,卸载应用程序,并删除与应用程序对应的新版本安装包;
最后,获取老版本安装包,安装老版本安装包,进一步,可在安装好老版本安装包后,重启应用程序。
本发明实施例,在应用程序的初始安装以及后续更新过程中,保存新版本安装包以及老版本安装包,在判断应用程序运行错误后,及时利用老版本安装包重装应用程序,保证用户能够继续正常使用该应用程序,给用户带来良好的使用体验。
本发明实施例中的另一种实施方式,该系统还包括:
第一运行错误判断单元3,其用于当应用程序为系统必要应用程序时,判断系统必要应用程序的运行状态;
第一运行错误判断单元3具体用于:
启动系统必要应用程序,并判断当前版本的系统必要应用程序是否首次启动,若是则进行下一步,反之则终止操作并判断系统必要应用程序运行正常;
判断系统必要应用程序在预设的判定时间内是否启动完成,并记录启动失败次数;
若启动失败次数超过预设的失败门限值,则判断系统必要应用程序运行错误。
需要说明的是,本方法应用于安卓系统时,系统必要应用程序具体可以是Launcher程序,Launcher程序为安卓系统中的桌面启动器;
当Launcher程序此前已经成功启动后,默认其运行是正确的,故而判断后续的启动均是可以正常进行的。
具体的,判断是否首次启动系统必要应用程序中,具体包括以下步骤:
创建一个启动标志位,系统必要应用程序安装后,向启动标志位赋予初始值,系统必要应用程序启动成功后将启动标志位设置为标记值;
当系统必要应用程序响应启动指令时,获取启动标志位,当启动标志位的值为初始值时,则判定系统必要应用程序为首次启动。
本发明实施例中的另一种实施方式,该系统还包括:
第一启动错误判断单元4,其用于当应用程序为系统非必要应用程序时,判断系统非必要应用程序的运行状态;
第一启动错误判断单元4应用程序为系统非必要应用程序时,根据应用程序主界面或主服务能否加载判断应用程序的运行状态,若加载出错,则判定系统非必要应用程序运行错误;
此处的系统非必要应用程序,依旧拿安卓系统为例,系统非必要应用程序类似于QQ、微信、支付宝、微博等应用程序,即排除系统本身运作需要的应用程序以外的其他应用程序;
当系统非必要应用程序启动时,会加载Main属性的类,当Main属性的类无法被加载时,则启动出现错误,故而判定系统非必要应用程序运行错误。
具体的,当应用程序为系统非必要应用程序时,根据应用程序主界面或主服务能否加载判断应用程序的运行状态包括以下步骤:
解析应用程序Action中Main属性的类;
加载Main属性的类,并判断应用异常回调函数是否被调用;
若应用异常回调函数被调用,则判定系统非必要应用程序运行错误;
其中,当应用程序是具有主界面的,那么应用程序的Main属性的类就是该应用程序的主界面,当应用程序为服务型,即应用程序无主界面,那么应用程序的Main属性的类就是该应用程序的主服务;
在加载异常时,应用异常回调函数会被调用,故而只需要判断应用异常回调函数是否被调用,即可判定Main属性的类加载是否出错。
本发明实施例中的另一种实施方式,该系统还包括:
第二运行错误判断单元5,其用于当应用程序为系统非必要应用程序时,判断系统非必要应用程序的运行状态;
第二运行错误判断单元5判断系统非必要应用程序运行中是否出现运行错误,并记录运行错误的出现次数;当运行错误的出现次数超过预设的错误门限值,则判定系统非必要应用程序运行错误。
本发明实施例中的另一种实施方式,判断系统非必要应用程序运行时是否出现运行错误,具体包括以下步骤:
在系统非必要应用程序运行过程中,识别应用异常回调函数是否被触发;
当应用异常回调函数被触发时,若引起运行错误的进程包名和系统非必要应用程序对应的包名一致,则判定系统非必要应用程序运行出错。
基于同一发明构思,本申请提供了实施例一对应的存储介质的实施例,详见实施例三
实施例三
本发明第三实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一实施例中的所有方法步骤或部分方法步骤。
本发明实现上述第一实施例中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
基于同一发明构思,本申请提供了实施例一对应的设备的实施例,详见实施例四
实施例四
如图6所示,本发明第四实施例还提供一种设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现第一实施例中的所有方法步骤或部分方法步骤。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、服务器和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种应用程序的恢复方法,其特征在于,所述方法包括以下步骤:
保存新版本安装包以及老版本安装包;
记录所述新版本安装包以及所述老版本安装包各自对应的应用程序版本;
根据所述应用程序的启动失败次数、应用程序主界面、主服务能否加载或应用程序运行中是否正常判断所述应用程序的运行状态,当所述应用程序运行错误时,卸载所述应用程序,并删除与所述应用程序对应的新版本安装包;
安装所述老版本安装包。
2.如权利要求1所述的方法,其特征在于,当所述应用程序为系统必要应用程序时,判断所述系统必要应用程序的运行状态包括以下步骤:
启动所述系统必要应用程序,并判断当前版本的所述系统必要应用程序是否首次启动,若是则进行下一步,反之则终止操作并判断所述系统必要应用程序运行正常;
判断所述系统必要应用程序在预设的判定时间内是否启动完成,并记录启动失败次数;
若所述启动失败次数超过预设的失败门限值,则判断所述系统必要应用程序运行错误。
3.如权利要求2所述的方法,其特征在于,所述判断是否首次启动所述系统必要应用程序中,具体包括以下步骤:
创建一个启动标志位,所述系统必要应用程序安装后,向所述启动标志位赋予初始值,所述系统必要应用程序启动成功后将所述启动标志位设置为标记值;
当所述系统必要应用程序响应启动指令时,获取所述启动标志位,当所述启动标志位的值为初始值时,则判定所述系统必要应用程序为首次启动。
4.如权利要求1所述的方法,其特征在于,当所述应用程序为系统非必要应用程序时,根据应用程序主界面或主服务能否加载判断所述应用程序的运行状态包括以下步骤:
解析所述应用程序Action中Main属性的类;
加载所述Main属性的类,并判断应用异常回调函数是否被调用;
若所述应用异常回调函数被调用,则判定所述系统非必要应用程序运行错误。
5.如权利要求1所述的方法,其特征在于,当所述应用程序为系统非必要应用程序时,根据应用程序运行中是否正常判断所述应用程序的运行状态包括以下步骤:
判断所述系统非必要应用程序运行时是否出现运行错误,并记录所述运行错误的出现次数;
当所述运行错误的出现次数超过预设的错误门限值,则判定所述系统非必要应用程序运行错误。
6.如权利要求5所述的方法,其特征在于,所述判断所述系统非必要应用程序运行时是否出现运行错误,具体包括以下步骤:
在所述系统非必要应用程序运行过程中,识别应用异常回调函数是否被触发;
当所述应用异常回调函数被触发时,若引起运行错误的进程包名和所述系统非必要应用程序对应的包名一致,则判定所述系统非必要应用程序运行出错。
7.一种应用程序的恢复系统,其特征在于,所述系统包括:
安装包存储单元,其用于保存新版本安装包以及老版本安装包,并记录所述新版本安装包以及所述老版本安装包各自对应的应用程序版本;
程序恢复单元,其用于当所述应用程序运行错误时,卸载所述应用程序,并删除与所述应用程序对应的新版本安装包,安装所述老版本安装包。
8.如权利要求7所述的系统,其特征在于,所述系统还包括:
第一运行错误判断单元,其用于当所述应用程序为系统必要应用程序时,判断所述系统必要应用程序的运行状态;
所述第一运行错误判断单元具体用于:
启动所述系统必要应用程序,并判断当前版本的所述系统必要应用程序是否首次启动,若是则进行下一步,反之则终止操作并判断所述系统必要应用程序运行正常;
判断所述系统必要应用程序在预设的判定时间内是否启动完成,并记录启动失败次数;
若启动失败次数超过预设的失败门限值,则判断所述系统必要应用程序运行错误。
9.如权利要求7所述的系统,其特征在于,所述系统还包括:
第一启动错误判断单元,其用于当所述应用程序为系统非必要应用程序时,判断所述系统非必要应用程序的运行状态;
所述第一启动错误判断单元根据应用程序主界面或主服务能否加载判断所述应用程序的运行状态,若加载出错,则判定所述系统非必要应用程序运行错误。
10.如权利要求7所述的系统,其特征在于,所述系统还包括:
第二运行错误判断单元,其用于当所述应用程序为系统非必要应用程序时,判断所述系统非必要应用程序的运行状态;
所述第二运行错误判断单元判断所述系统非必要应用程序运行中是否出现运行错误,并记录所述运行错误的出现次数,当所述运行错误的出现次数超过预设的错误门限值,则判定所述系统非必要应用程序出现运行错误。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910464315.4A CN110175034A (zh) | 2019-05-30 | 2019-05-30 | 一种应用程序的恢复方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910464315.4A CN110175034A (zh) | 2019-05-30 | 2019-05-30 | 一种应用程序的恢复方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110175034A true CN110175034A (zh) | 2019-08-27 |
Family
ID=67696661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910464315.4A Pending CN110175034A (zh) | 2019-05-30 | 2019-05-30 | 一种应用程序的恢复方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110175034A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002189594A (ja) * | 2000-12-21 | 2002-07-05 | Mcn:Kk | 最新バージョン自動設定システム、及び自動設定方法 |
CN103036706A (zh) * | 2012-11-26 | 2013-04-10 | 青岛海信传媒网络技术有限公司 | 应用升级异常的本地处理方法 |
CN103902399A (zh) * | 2012-12-28 | 2014-07-02 | 华为技术有限公司 | 软件系统修复处理方法及装置 |
CN105573864A (zh) * | 2015-12-15 | 2016-05-11 | 广州视源电子科技股份有限公司 | 终端系统恢复方法及其系统 |
CN105959462A (zh) * | 2016-04-20 | 2016-09-21 | 深圳市万普拉斯科技有限公司 | 异常启动的控制方法及系统 |
CN106325901A (zh) * | 2015-06-24 | 2017-01-11 | 南宁富桂精密工业有限公司 | 软件版本管理方法及系统 |
CN107220080A (zh) * | 2017-05-12 | 2017-09-29 | 深圳市酷开网络科技有限公司 | 一种智能电视软件回滚方法、智能电视及存储介质 |
CN108055583A (zh) * | 2017-12-28 | 2018-05-18 | 深圳市九洲电器有限公司 | 机顶盒自动恢复方法及系统 |
CN108710503A (zh) * | 2018-05-17 | 2018-10-26 | 烽火通信科技股份有限公司 | 一种软件版本的管理方法、使用方法及系统 |
CN109710324A (zh) * | 2018-12-29 | 2019-05-03 | 360企业安全技术(珠海)有限公司 | 蓝屏显示的处理方法及装置、存储介质、终端 |
-
2019
- 2019-05-30 CN CN201910464315.4A patent/CN110175034A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002189594A (ja) * | 2000-12-21 | 2002-07-05 | Mcn:Kk | 最新バージョン自動設定システム、及び自動設定方法 |
CN103036706A (zh) * | 2012-11-26 | 2013-04-10 | 青岛海信传媒网络技术有限公司 | 应用升级异常的本地处理方法 |
CN103902399A (zh) * | 2012-12-28 | 2014-07-02 | 华为技术有限公司 | 软件系统修复处理方法及装置 |
CN106325901A (zh) * | 2015-06-24 | 2017-01-11 | 南宁富桂精密工业有限公司 | 软件版本管理方法及系统 |
CN105573864A (zh) * | 2015-12-15 | 2016-05-11 | 广州视源电子科技股份有限公司 | 终端系统恢复方法及其系统 |
CN105959462A (zh) * | 2016-04-20 | 2016-09-21 | 深圳市万普拉斯科技有限公司 | 异常启动的控制方法及系统 |
CN107220080A (zh) * | 2017-05-12 | 2017-09-29 | 深圳市酷开网络科技有限公司 | 一种智能电视软件回滚方法、智能电视及存储介质 |
CN108055583A (zh) * | 2017-12-28 | 2018-05-18 | 深圳市九洲电器有限公司 | 机顶盒自动恢复方法及系统 |
CN108710503A (zh) * | 2018-05-17 | 2018-10-26 | 烽火通信科技股份有限公司 | 一种软件版本的管理方法、使用方法及系统 |
CN109710324A (zh) * | 2018-12-29 | 2019-05-03 | 360企业安全技术(珠海)有限公司 | 蓝屏显示的处理方法及装置、存储介质、终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8555271B2 (en) | Method, software and apparatus for application upgrade during execution | |
US8972591B2 (en) | Method for downloading software | |
US20110283274A1 (en) | Firmware image update and management | |
CN107122212A (zh) | 固件加密方法 | |
CN103970564A (zh) | 嵌入式操作系统自动修复升级功能的方法及其系统 | |
CN109614267A (zh) | 一种修复开机异常问题的方法、装置、存储介质及终端 | |
CN108322540A (zh) | 客制化数据导入方法、终端及计算机可读存储介质 | |
CN108345464A (zh) | 一种安卓系统的启动方法及安卓车机 | |
CN108829420A (zh) | 一种基于rpm包的分布式存储系统软件升级方法 | |
CN109324918A (zh) | 应用程序异常的处理方法及装置、终端及存储介质 | |
CN110188004A (zh) | 一种终端设备的双备份软件系统管理方法及系统 | |
CN106028142B (zh) | 一种播放设备的升级控制方法和装置 | |
CN117056115B (zh) | 应用程序的修复方法和装置、存储介质及电子设备 | |
CN102880478A (zh) | 软件更新方法 | |
CN114064084A (zh) | Onu的升级管理方法、存储介质、电子装置和onu | |
CN112015587B (zh) | 一种增强操作系统可靠性的方法及装置 | |
WO2021012170A1 (zh) | 固件启动方法、设备及计算机可读存储介质 | |
CN110175034A (zh) | 一种应用程序的恢复方法及系统 | |
CN115827046A (zh) | 实现spl分区ota升级的方法及装置、终端设备、芯片 | |
CN114995852A (zh) | 一种设备升级方法、设备及计算机可读存储介质 | |
CN105278993B (zh) | 一种基于Linux系统的驱动模块升级方法及装置 | |
CN111813597A (zh) | 一种空调器 | |
CN105511848A (zh) | 一种动态链接库的检测方法和装置 | |
CN112905218B (zh) | 一种固件升级方法、装置及设备 | |
CN105282614B (zh) | 一种模块电视的升级方法、模块电视及升级系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190827 |