CN109324918A - 应用程序异常的处理方法及装置、终端及存储介质 - Google Patents
应用程序异常的处理方法及装置、终端及存储介质 Download PDFInfo
- Publication number
- CN109324918A CN109324918A CN201811068782.7A CN201811068782A CN109324918A CN 109324918 A CN109324918 A CN 109324918A CN 201811068782 A CN201811068782 A CN 201811068782A CN 109324918 A CN109324918 A CN 109324918A
- Authority
- CN
- China
- Prior art keywords
- exception
- application program
- software version
- application
- program
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用程序异常的处理方法及装置、终端及存储介质。该方法包括:在应用程序出现异常时,获取所述应用程序的运行信息;根据所述运行信息对所述应用程序的程序或关联数据进行本地化处理。本发明实施例通过采用上述技术方案,能够快速地对应用程序出现的异常进行处理,减少应用程序异常处理所耗费的时间,降低异常对用户使用应用程序所造成的影响。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用程序异常的处理方法及装置、终端及存储介质。
背景技术
随着计算机技术及电子信息技术的发展,终端设备上所安装应用程序的数量也在逐步增加。应用程序在用户的使用过程中可能会因为系统版本、兼容性、硬件配置、终端设备的当前运行状态以及用户的操作手法等原因出现异常。目前常用的异常处理方法主要有以下三种:
灰度发布:在应用程序每一个正式版本发布之前,使小部分用户优先安装试用,应用程序中的异常采集模块采集用户试用过程中出现的异常并上报到应用程序的服务器,开发人员在接收到异常采集模块上报的异常后,对该异常进行修复,以此类推,直至应用程序达到一个相对稳定的状态,并将相对稳定后的软件版本作为正式版本发布。
热修复:在应用程序正式发布后,应用程序中的异常采集模块采集应用程序在用户使用过程中产生的异常并上报至应用程序的服务器,开发人员在接收到异常采集装置上报的异常后,快速修复并将修复后的应用程序和修复前的应用程序对比生成差分包,将差分包上传到差分包管理平台上,应用程序中的热修复模块在检测到新的差分包后,对该差分包进行下载,并基于下载的差分包对应用程序进行修复。
升级:在应用程序正式发布后,应用程序中的异常采集模块采集应用程序在用户使用过程中产生的异常并上报至应用程序的服务器,开发人员在接收到异常采集装置上报的异常后,快速修复并将修复后的软件版本上传至应用升级平板或第三方应用商城,以使终端设备可以基于用户的操作对新发布的软件版本进行下载并基于下载的软件版本对应用程序进行升级。
但是,现有技术中的各种异常处理方式的异常处理过程均需要耗费较长的时间,严重影响用户对应用程序的正常使用。
发明内容
有鉴于此,本发明实施例提供一种应用程序异常的处理方法及装置、终端及存储介质,以解决现有技术中应用程序的异常处理过程耗时较长的技术问题。
第一方面,本发明实施例提供了一种应用程序异常的处理方法,包括:
在应用程序出现异常时,获取所述应用程序的运行信息;
根据所述运行信息对所述应用程序的程序或关联数据进行本地化处理。
第二方面,本发明实施例提供了一种应用程序异常的处理装置,包括:
获取模块,用于在应用程序出现异常时,获取所述应用程序的运行信息;
处理模块,用于根据所述运行信息对所述应用程序的程序或关联数据进行本地化处理。
第三方面,本发明实施例提供了一种终端,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例所述的应用程序异常的处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所述的应用程序异常的处理方法。
在上述处理应用程序异常的技术方案中,在应用程序出现异常时,获取应用程序的运行信息,根据所获取的运行信息对应用程序或应用程序的关联数据进行本地化处理。本发明实施例通过采用上述技术方案,能够快速地对应用程序出现的异常进行处理,减少应用程序异常处理所耗费的时间,降低异常对用户使用应用程序所造成的影响。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例一提供的一种应用程序异常的处理方法的流程示意图;
图2为本发明实施例二提供的一种应用程序异常的处理方法的流程示意图;
图3为本发明实施例三提供的一种应用程序异常的处理方法的流程示意图;
图4为本发明实施例四提供的一种优选的应用程序异常的处理方法的流程示意图;
图5为本发明实施例五提供的一种应用程序异常的处理装置的结构框图;
图6为本发明实施例六提供的一种终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
本发明实施例一提供一种应用程序异常的处理方法。该方法可以由应用程序异常的处理装置执行,其中,该装置可以由软件和/或硬件实现,一般可集成在终端中,典型的,可以集成在学习机、智能手机、笔记本、平板电脑等移动终端中。图1是本发明实施例一提供的应用程序异常的处理方法的流程示意图,如图1所示,该方法包括:
S101、在应用程序出现异常时,获取所述应用程序的运行信息。
本实施例中,可以对应用程序出现的所有异常均进行处理,也可以仅对应用程序在特定时间段出现的和/或特定异常种类的异常进行处理。相应的,本步骤中的应用程序出现的异常可以为应用程序出现的任意异常;也可以为在应用程序的预设时间段出现的和/或特定异常种类的异常(以下以目标异常指代),如可以为在应用程序启动过程中出现的启动异常或启动完成后,在应用程序的使用过程中出现的使用异常,和/或,由数值为空引起的空值异常、由被除数或分母为零引起的除零异常或由目标文件不存在引起的调用异常等等。其中,异常所属的异常种类可以根据导致异常出现的原因进行划分。
示例性的,当所述异常为应用程序的任意异常时,可以在检测到应用程序出现异常之后,不对异常出现的时间段或异常所属的异常种类等进行区分,直接确定应用程序出现异常并获取应用程序的运行信息;当所述异常为目标异常时,可以在检测到应用程序出现异常时,判断应用程序出现的异常是否为目标异常,若是,则确定应用程序出现目标异常,并获取应用程序的运行信息,若否,则确定应用程序未出现目标异常。以所述异常为启动异常举例而言,可以在检测到应用程序出现异常时,判断该异常是否为启动异常,若是,则判定应用程序出现启动异常,并获取应用程序的运行信息;若否,则判定应用程序未出现启动异常。其中,启动异常的判定方式可以根据需要选取,如可以根据异常在应用程序中出现的位置判定某一异常是否为启动异常。此时,优选的,如果所述异常出现时,所述应用程序的程序启动界面尚未正常显示,则可以将所述异常确定为启动异常。
本步骤中,应用程序的运行信息可以从应用程序本地获取。其中,应用程序的运行信息可以理解为能够基于其对应用程序出现的异常进行处理的应用程序的任意信息,如可以为异常所属的异常种类、异常在应用程序的当前软件版本中出现的位置、异常出现的次数、应用程序在异常出现位置处的正常运行次数和/或应用程序的当前软件版本信息,等等,本实施例不对应用程序的运行信息进行限制。
S102、根据所述运行信息对所述应用程序的程序或关联数据进行本地化处理。
本实施例中,可以根据应用程序运行信息的不同,采用不同的处理方式对应用程序的程序或关联数据进行处理,如可以根据异常所属异常种类的不同,异常在应用程序的当前软件版本中出现的位置的不同、异常出现次数的不同、应用程序在异常出现位置处的正常运行次数的不同和/或应用程序的当前软件版本的版本信息的不同,在本地采用不同的处理方式,如清除关联数据、更改关联数据、更改应用程序的当前软件版本等方式,对应用程序的程序或关联数据进行处理。
考虑到基于各运行信息对应用程序进行处理时的简捷性与有效性,优选的,可以基于应用程序在异常出现位置处的正常运行次数和/或应用程序当前软件版本的版本信息对应用程序的程序或关联数据进行处理。如可以在所述正常运行次数为零时,将应用程序降级为版本号与应用程序当前软件版本的版本号相邻且发布日期位于当前软件版本之前的次新软件版本或发布日期位于当前软件版本之前的其他软件版本;在当前软件次数不为零时,清除应用程序的用户数据。和/或,在当前软件版本为应用程序已发布的最新软件版本时,将应用程序降级为版本号与应用程序当前软件版本的版本号相邻且发布日期位于当前软件版本之前的次新软件版本或发布日期位于当前软件版本之前的其他软件版本;在当前软件版本不为应用程序已发布的最新软件版本时,将应用程序升级为最新软件版本或发布日期位于当前软件版本之后的其他软件版本。此时,相应的,所述运行信息优选可以包括所述应用程序在当前运行位置处的正常运行次数和/或所述应用程序当前软件版本的版本信息,所述当前运行位置为所述异常在应用程序的当前软件版本中出现的位置。
本发明实施例一提供的应用程序异常的处理方法,在应用程序出现异常时,获取应用程序的运行信息,根据所获取的运行信息对应用程序或应用程序的关联数据进行本地化处理。本发明实施例通过采用上述技术方案,能够快速地对应用程序出现的异常进行处理,减少应用程序异常处理所耗费的时间,降低异常对用户使用应用程序所造成的影响,提高用户的使用体验。
实施例二
图2为本发明实施例二提供的一种应用程序异常的处理方法的流程示意图。本实施例在上述实施例的基础上将“根据所述运行信息对所述应用程序的程序或关联数据进行本地化处理”优化为如果所述正常运行次数为零且所述当前软件版本为所述应用程序的最新软件版本,则获取所述应用程序的次新软件版本,并将所述当前软件版本降级为所述次新软件版本;如果所述正常运行次数为零且所述当前软件版本为所述应用程序的非最新软件版本,则获取所述应用程序的最新软件版本,并将所述当前软件版本升级为所述最新软件版本;如果所述正常运行次数非零,则删除所述应用程序的用户数据。
进一步的,在所述将所述当前软件版本降级为所述次新软件版本之后,还可以包括:如果检测到所述应用程序的最新软件版本发生变化,则将所述当前软件版本升级为变化后的最新软件版本。
进一步的,在所述根据所述运行信息对所述异常进行处理之后,还可以包括:将所述异常上报至所述应用程序的服务器。
相应的,如图2所示,本实施例提供的应用程序异常的处理方法包括:
S201、在应用程序出现异常时,获取所述应用程序的运行信息,所述运行信息包括所述应用程序在当前运行位置处的正常运行次数和所述应用程序当前软件版本的版本信息,所述当前运行位置为所述异常在应用程序的当前软件版本中出现的位置,执行S202、S203或S205.
在本实施例中,可以同时基于应用程序在异常出现位置处(即当前运行位置处)的正常运行次数和应用程序当前软件版本的版本信息,在该当前运行位置不同和/或该版本信息不同时采取不同的处理方式对应用程序的程序或关联数据进行处理,以使在处理完成后用户可以正常的使用应用程序。其中,该正常运行次数为自上次对相同的异常进行处理后或自应用程序的当前软件版本安装后,应用程序在当前运行位置处的正常运行次数。考虑到正常运行次数的有效性,可选的,如果自当前软件版本安装后,应用程序首次出现该异常,则该正常运行次数为自应用程序的当前软件版本安装后,应用程序在当前运行位置处的正常运行次数;如果自当前软件版本安装后,应用程序非首次出现该异常,则该正常运行次数为自上次对相同的异常进行处理后,应用程序在当前运行位置处的正常运行次数。
S202、如果所述正常运行次数为零且所述当前软件版本为所述应用程序的非最新软件版本,则获取所述应用程序的最新软件版本,并将所述当前软件版本升级为所述最新软件版本,执行S206。
S203、如果所述正常运行次数为零且所述当前软件版本为所述应用程序的最新软件版本,则获取所述应用程序的次新软件版本,并将所述当前软件版本降级为所述次新软件版本。
本实施例中,如果正常运行次数为零,则说明当前软件版本安装后,应用程序初次运行到当前运行位置处即出现异常。由于初次运行即出现异常,此种情况下可以判定该异常极有可能是由当前软件版本引起的,因此,可以通过更换应用程序的当前软件版本的方式来避免该异常的出现。其中,正常运行次数是否为零可以通过记录应用程序在各个节点的运行次数并基于记录结果确定;也可以通过判断应用程序中是否存储有应用程序运行至当前运行位置处产生的使用数据确定。
一般而言,应用程序发布日期较晚的软件版本在设计时会对发布日期较早的软件版本中出现的异常进行修复,并且,应用程序发布日期较晚的软件版本的性能、功能等一般也会优于其发布日期较早的软件版本,因此,本实施例中,在更换应用程序的当前软件版本时,如果应用程序的当前软件版本不是该应用程序已发布的最新软件版本,则优选可以将应用程序的当前软件版本更换为应用程序当前发布的最新软件版本;如果应用程序的当前软件版本为该应用程序已发布的最新软件版本,则优选可以将该应用程序的当前软件版本更换为应用程序的次新软件版本。
在此,需要说明的是,虽然本实施例以当前软件版本为最新软件版本时更换为次新软件版本为例进行说明,但在本申请的其他实施例中,其同样可以在当前软件版本为最新软件版本时将当前软件版本更换为次新的稳定软件版本或终端出厂时携带的软件版本,如可以在能够获取到次新软件版本或次新稳定软件版本时,将当前软件版本更换为该次新软件版本或次新稳定软件版本;在无法获取到次新软件版本和次新稳定软件版本时,如果应用程序为终端出厂时携带的应用程序,则将应用程序的当前软件版本更换为终端出产时携带的软件版本;否则,则将其更换为可获取到的其他任意版本或不对应用程序进行更换当前软件版本的操作,本发明实施例并不对此进行限制。其中,稳定软件版本和非稳定软件版本(如试用版本)可以通过解析软件版本的相关信息确定;应用程序的最新软件版本、次新软件版本和次新稳定软件版本可以从第三方应用商城或应用程序的服务器中获取;应用程序出厂时携带的软件版本可以从终端本地获取。
S204、如果检测到所述应用程序的最新软件版本发生变化,则将所述当前软件版本升级为变化后的最新软件版本,执行S206。
本步骤中,如果检测到应用程序的最新软件版本发生变化,则可以判定自将应用程序降级为次新版本之后,所述应用程序的开发人员发布了新的软件版本,因此,此种情况下,可以将降低得到的应用程序的当前软件版本替换为开发人员新发布的软件版本,即替换为变化后的最新软件版本,以便于用户可以及时地体验应用程序的最佳性能和最新功能。其中,应用程序的最新软件版本是否发生变化可以对比降级前应用程序的版本信息以及当前应用程序服务器或第三方平台中发布的最新软件版本的版本信息确定。此时,优选的,在对应用程序的当前软件版本降级之后,可以将降级前的软件版本标记为异常版本,并在本地或服务器中记录该异常版本的版本信息。
本实施例中,终端可以根据应用程序的运行信息自动更换应用程序的当前软件版本(如对应用程序的当前软件版本进行升级或降级操作);也可以基于用户的操作更换应用程序的当前软件版本,即可以在更换当前软件版本之前,通过终端屏幕向用户展示本次的更换信息,并在用户确认更换后再更换应用程序的当前软件版本,相应的,若用户未进行操作或用户确认不进行更换,则不执行更换应用程序当前软件版本的操作。
示例性的,在更换应用程序的当前软件版本时,可以卸载终端中所安装的应用程序的原始软件版本,下载需要更换的目标软件版本(如上述的最新软件版本或次新软件版本等),并安装该目标软件版本,以将应用程序的当前软件版本由该原始软件版本更换为该目标软件版本。
S205、如果所述正常运行次数非零,则删除所述应用程序的用户数据。
本实施例中,如果正常运行次数非零,则说明当前软件安装后,应用程序初次运行或前几次运行未出现异常,当使用次数增多时应用程序出现异常,由此可以判定该异常极有可能是由用户数据引起的,因此,可以通过删除部分或全部用户数据的方式(即将应用程序恢复至安装时的状态)来避免该异常的出现。其中,用户数据可以理解为用户使用过程中产生的数据,如用户的使用记录、用户的设置信息、用户的账号名和/或登录密码等,其可以仅包含存储于应用程序本地的用户数据,也可以进一步包含存储于应用程序的服务器中的用户数据;应用程序可以在异常出现后自行删除应用程序的用户数据,也可以在用户确认删除之后再对应用程序中的用户数据进行删除操作,此处不作限制。
S206、将所述异常上报至所述应用程序的服务器。
本实施例中,在对应用程序的程序及其关联数据本地化处理完成后,可以将该异常(包括异常在软件程序中出现的位置和异常的种类等)上报至应用程序的服务器,以便开发人员可以及时对该软件版本中的该异常进行修复。
本发明实施例二提供的应用程序异常的处理方法,应用程序出现异常之后,在应用程序的正常运行次数为零且应用程序的当前软件版本为非最新软件版本时,将应用程序的当前软件版本升级为最新软件版本;在应用程序的正常运行次数为零且应用程序的当前软件版本为最新软件版本时,将应用程序的当前软件版本降级为次新软件版本;当应用程序的正常运行次数非零时,删除应用程序的用户数据。本实施例通过采用上述技术方案,能够确保用户可以快速地再次使用应用程序,提高用户的使用体验,避免用户的流失。
实施例三
图3为本发明实施例三提供的一种应用程序异常的处理方法的流程示意图,本实施例在上述实施例的基础上进行优化,进一步地,在所述获取所述应用程序的运行信息之前,还包括:确定所述异常为不可修复异常;
进一步地,所述方法还可以包括:如果所述异常为可修复异常,则根据所述异常所属的待修复异常种类,采用所述待修复异常种类对应的修复方式对所述异常进行修复。
相应的,如图3所示,本实施例提供的应用程序异常的处理方法包括:
S301、检测到应用程序出现异常。
S302、判断所述异常是否为不可修复异常,若是,则执行S303,若否,则执行S304。
为了减小应用程序的程序和关联数据的本地化处理对应用程序的性能及用户的使用造成的影响,本实施例中,可以仅在应用程序出现的异常为不可修复异常时基于应用程序的运行信息对应用程序的程序或关联数据进行本地化处理,并在应用程序出现的异常为可修复异常时,直接采用预设的修复方式对应用程序进行修复,而不对其应用程序进行升级、降级或删除关联数据的操作。
本实施例中,应用程序出现的异常是否为不可修复异常的判断方式可以根据需要设置。示例性的,可以预先在应用程序本地或服务器中设置多种用于修复应用程序出现的异常的修复方式,当应用程序出现异常时,依次采用各修复方式对应用程序出现的异常进行修复,直至该异常修复成功或各修复方式均未完成对该异常的修复。此时,若异常修复成功,则可以判定应用程序出现的该异常为可修复异常,并不再执行S305;若各修复方式未完成对该异常的修复,则可以确定应用程序出现的该异常为不可修复异常,执行S303。或者,也可以预先设置应用程序的可修复异常种类集合,并在应用程序出现异常时,根据应用程序所出现异常所属的异常种类(即待修复异常种类)是否包含于该可修复异常种类集合中来判定该异常是否为可修复异常。
考虑到各种判定方式的简捷性及判定过程所耗费的时间,优选的,可以根据预先设置的可修复异常种类集合判定应用程序出现的异常是否为可修复异常。此时,应用程序出现的异常是否为可修复异常的判定过程可以为:获取所述异常所属的待修复异常种类以及所述应用程序的可修复异常种类集合,所述可修复异常种类集合由所述应用程序可自行修复的各异常种类组成;如果所述可修复异常种类集合未包含所述待修复异常种类,则确定所述异常为不可修复异常。相应的,如果所述可修复异常种类集合包含所述待修复异常种类,则确定所述异常为可修复异常。
S303、获取所述应用程序的运行信息。
S304、根据所述运行信息对所述应用程序的程序或关联数据进行本地化处理,执行S306。
S305、根据所述异常所属的待修复异常种类,采用所述待修复异常种类对应的修复方式对所述异常进行修复。
本实施例中,可以预先设置应用程序可自行修复的可修复异常种类集合,并为可修复异常种类集合中的各种可修复的异常种类设置对应的修复方式。此时,相应的,在确定应用程序出现的异常为可修复异常之后,可以确定该异常所属的异常种类(即待修复异常种类),获取预先设置的该待修复异常种类对应的修复方式,并采用该修复方式对该异常进行修复。
其中,异常所属的异常种类可以根据导致异常出现的原因划分,并可以根据该原因为各可修复的异常种类设置对应的修复方式。如对于空值异常,则可以将其对应的修复方式设置为将导致异常出现的空值设置为一个默认值;对于除零异常,则可以将其对应的修复方式设置为为导致异常出现的分母或被除数设置一个默认的非零值,或者在预设数值范围内随机选取一个非零数值,并采用该非零数值替换分母或被除数的零值;对于文件夹为空导致的异常,则可以将其对应的修复方式设置为在导致异常出现的空的文件夹中写入一个默认的数值或一段默认的文字;对于文件夹不存在导致的调用异常,则可以在相应位置处添加一个默认的文件夹,等等,本实施例并不对此进行限制。此时,可选的,所述根据所述异常所属的待修复异常种类,采用所述待修复异常种类对应的修复方式对所述异常进行修复可以包括:如果所述异常为空值异常,则将导致所述异常发生的空值赋值为预设的默认值;如果所述异常为除零异常,则在预设范围获取随机数,并将导致所述异常发生的分母或被除数赋值为所述随机数。其中,预设范围优选为接近于零的范围,如可以为(0,1]或(0,0.5]等等
S306、将所述异常上报至所述应用程序的服务器。
本发明实施例三提供的应用程序异常的处理方法,在异常为可修复异常时,根据异常所属异常种类对应的修复方式对异常进行修复,在异常为不可修复异常时,根据应用程序的运行信息对应用程序的程序或关联数据进行处理,可以在异常可修复时直接对异常进行修复,无需更改应用程序的程序或删除关联数据,减少对应用程序的程序或关联数据进行处理的次数,提高用户的使用体验。
实施例四
本发明实施例四提供一种优选的应用程序异常的处理方法。本实施例的方法可以由应用程序异常的处理装置执行,适用于当应用程序在启动过程中出现异常时,对应用程序的启动异常进行处理的情况。图4为本发明实施例四提供的应用程序异常的处理方法的流程示意图,如图4所示,该方法包括:
S401、开始启动应用程序。
S402、检测应用程序是否存在异常,若是,则执行S403;若否,则执行S411。
S403、判断所述异常是否为可修复异常,若否,则执行S404;若是,则执行S410。
S404、判断应用程序在异常出现位置处的正常运行次数是否为零,若是,则执行S405,;若否,则执行S407。
S405、提示用户更换应用程序的当前软件版本,并检测用户是否同意更换,若是,则执行S406,若否,则执行S409。
S406、更换应用程序的当前软件版本,返回S401。
S407、提示用户将应用程序恢复至安装时的状态,并检测用户是否同意恢复,若是,则执行S408,若否,则执行S409。
S408、将应用程序恢复至安装时的状态,返回S401.
S409、退出应用程序,结束操作。
S410、根据所述异常所属的待修复异常种类,采用所述待修复异常种类对应的修复方式对所述异常进行修复,并将所述异常上报至应用程序的服务器。
S411、继续启动程序,并判断应用程序是否启动完成,若是,则结束操作;若否,则执行S412。
S412、判断当前是否到达应用程序异常的检测周期,若是,则返回执行S402,若否,则返回执行S411。
本发明实施例四提供的技术方案,能够解决现有的异常改善方案无法很好的解决应用程序的启动异常的问题,在解决应用程序出现的启动异常的前提下,减少应用程序的程序或关联数据的处理次数,提高用户的使用体验。
实施例五
本发明实施例五提供一种应用程序异常的处理装置。该装置可以由软件和/或硬件实现,一般可集成在终端中,典型的,可以集成在学习机、智能手机、笔记本、平板电脑等移动终端中。图5为本发明实施例五提供的应用程序异常的处理装置的结构框图,如图5所示,该装置包括:
获取模块501,用于在应用程序出现异常时,获取所述应用程序的运行信息;
处理模块502,用于根据所述运行信息对所述应用程序的程序或关联数据进行本地化处理。
本发明实施例五提供的应用程序异常的处理装置,通过获取模块在应用程序出现异常时,获取应用程序的运行信息,通过处理模块根据所获取的运行信息对应用程序或应用程序的关联数据进行本地化处理。本实施例通过采用上述技术方案,能够快速地对应用程序出现的异常进行处理,减少应用程序异常处理所耗费的时间,降低异常对用户使用应用程序所造成的影响。
在上述方案中,所述运行信息可以包括所述应用程序在当前运行位置处的正常运行次数和/或所述应用程序当前软件版本的版本信息,所述当前运行位置为所述异常在应用程序的当前软件版本中出现的位置。
在上述方案中,所述处理模块502可以包括:降级单元,用于响应于所述正常运行次数为零且所述当前软件版本为所述应用程序的最新软件版本的事件,获取所述应用程序的次新软件版本,并将所述当前软件版本降级为所述次新软件版本;第一升级单元,用于响应于所述正常运行次数为零且所述当前软件版本为所述应用程序的非最新软件版本的事件,获取所述应用程序的最新软件版本,并将所述当前软件版本升级为所述最新软件版本;删除单元,用于响应于所述正常运行次数非零的事件,删除所述应用程序的用户数据。
在上述方案中,所述处理模块502还可以包括:第二升级单元,用于在所述将所述当前软件版本降级为所述次新软件版本之后,如果检测到所述应用程序的最新软件版本发生变化,则将所述当前软件版本升级为变化后的最新软件版本。
在上述方案中,所述获取模块501可以包括:确定单元,用于在所述获取所述应用程序的运行信息之前,确定所述异常为不可修复异常;
进一步的,所述装置还可以包括:修复模块,用于响应于所述异常为可修复异常的事件,根据所述异常所属的待修复异常种类,采用所述待修复异常种类对应的修复方式对所述异常进行修复。
在上述方案中,所述修复模块可以包括:第一修复单元,用于响应于所述异常为空值异常的事件,将导致所述异常发生的空值赋值为预设的默认值;第二修复单元,用于响应于所述异常为除零异常的事件,在预设范围获取随机数,并将导致所述异常发生的分母或被除数赋值为所述随机数。
在上述方案中,所述确定单元可以包括:获取子单元,用于获取所述异常所属的待修复异常种类以及所述应用程序的可修复异常种类集合,所述可修复异常种类集合由所述应用程序可自行修复的各异常种类组成;确定子单元,用于在所述可修复异常种类集合未包含所述待修复异常种类时,确定所述异常为不可修复异常。
在上述方案中,所述异常可以为启动异常,所述装置还可以包括:异常确定模块,用于响应于所述异常出现时,所述应用程序的程序启动界面尚未正常显示的事件,将所述异常确定为启动异常。
进一步的,所述装置还可以包括:上报模块,用于在所述根据所述运行信息对所述异常进行处理之后,将所述异常上报至所述应用程序的服务器。
本发明实施例五提供的应用程序异常的处理装置可执行本发明任意实施例提供的应用程序异常的处理方法,具备执行应用程序异常的处理方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的应用程序异常的处理方法。
实施例六
图6为本发明实施例六提供的一种终端的结构示意图,如图6所示,该终端包括处理器60和存储器61,还可以包括输入装置62和输出装置63;终端中处理器60的数量可以是一个或多个,图6中以一个处理器60为例;终端中的处理器60、存储器61、输入装置62和输出装置63可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的应用程序异常的处理方法对应的程序指令/模块(例如,应用程序异常的处理装置中的获取模块501和处理模块502)。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的应用程序异常的处理方法。
存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置62可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。输出装置63可包括显示屏等显示设备。
本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用程序异常的处理方法,该方法包括:
在应用程序出现异常时,获取所述应用程序的运行信息;
根据所述运行信息对所述应用程序的程序或关联数据进行本地化处理。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用程序异常的处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述应用程序异常的处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种应用程序异常的处理方法,其特征在于,包括:
在应用程序出现异常时,获取所述应用程序的运行信息;
根据所述运行信息对所述应用程序的程序或关联数据进行本地化处理。
2.根据权利要求1所述的方法,其特征在于,所述运行信息包括所述应用程序在当前运行位置处的正常运行次数和/或所述应用程序当前软件版本的版本信息,所述当前运行位置为所述异常在应用程序的当前软件版本中出现的位置。
3.根据权利要求2所述的方法,其特征在于,所述根据所述运行信息对所述应用程序的程序或关联数据进行本地化处理,包括:
如果所述正常运行次数为零且所述当前软件版本为所述应用程序的最新软件版本,则获取所述应用程序的次新软件版本,并将所述当前软件版本降级为所述次新软件版本;
如果所述正常运行次数为零且所述当前软件版本为所述应用程序的非最新软件版本,则获取所述应用程序的最新软件版本,并将所述当前软件版本升级为所述最新软件版本;
如果所述正常运行次数非零,则删除所述应用程序的用户数据。
4.根据权利要求3所述的方法,其特征在于,在所述将所述当前软件版本降级为所述次新软件版本之后,还包括:
如果检测到所述应用程序的最新软件版本发生变化,则将所述当前软件版本升级为变化后的最新软件版本。
5.根据权利要求1所述的方法,其特征在于,在所述获取所述应用程序的运行信息之前,还包括:
确定所述异常为不可修复异常;
所述方法还包括:
如果所述异常为可修复异常,则根据所述异常所属的待修复异常种类,采用所述待修复异常种类对应的修复方式对所述异常进行修复。
6.根据权利要求5所述的方法,其特征在于,所述根据所述异常所属的待修复异常种类,采用所述待修复异常种类对应的修复方式对所述异常进行修复,包括:
如果所述异常为空值异常,则将导致所述异常发生的空值赋值为预设的默认值;
如果所述异常为除零异常,则在预设范围获取随机数,并将导致所述异常发生的分母或被除数赋值为所述随机数。
7.根据权利要求5所述的方法,其特征在于,所述确定所述异常为不可修复异常,包括:
获取所述异常所属的待修复异常种类以及所述应用程序的可修复异常种类集合,所述可修复异常种类集合由所述应用程序可自行修复的各异常种类组成;
如果所述可修复异常种类集合未包含所述待修复异常种类,则确定所述异常为不可修复异常。
8.根据权利要求1所述的方法,其特征在于,所述异常为启动异常,所述方法还包括:
如果所述异常出现时,所述应用程序的程序启动界面尚未正常显示,则将所述异常确定为启动异常。
9.根据权利要求1所述的方法,其特征在于,在所述根据所述运行信息对所述异常进行处理之后,还包括:
将所述异常上报至所述应用程序的服务器。
10.一种应用程序异常的处理装置,其特征在于,包括:
获取模块,用于在应用程序出现异常时,获取所述应用程序的运行信息;
处理模块,用于根据所述运行信息对所述应用程序的程序或关联数据进行本地化处理。
11.一种终端,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的应用程序异常的处理方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的应用程序异常的处理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811068782.7A CN109324918A (zh) | 2018-09-13 | 2018-09-13 | 应用程序异常的处理方法及装置、终端及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811068782.7A CN109324918A (zh) | 2018-09-13 | 2018-09-13 | 应用程序异常的处理方法及装置、终端及存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN109324918A true CN109324918A (zh) | 2019-02-12 |
Family
ID=65265755
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201811068782.7A Pending CN109324918A (zh) | 2018-09-13 | 2018-09-13 | 应用程序异常的处理方法及装置、终端及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN109324918A (zh) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110221756A (zh) * | 2019-06-18 | 2019-09-10 | Oppo广东移动通信有限公司 | 处理应用数据的方法、装置、终端及存储介质 |
| CN110704276A (zh) * | 2019-09-19 | 2020-01-17 | 爱钱进(北京)信息科技有限公司 | App异常处理方法、装置以及存储介质 |
| CN111813427A (zh) * | 2019-04-12 | 2020-10-23 | 杭州海康威视数字技术股份有限公司 | 设备修复方法、装置、电子设备及存储介质 |
| CN112114991A (zh) * | 2020-09-18 | 2020-12-22 | 北京百度网讯科技有限公司 | 小程序的异常处理方法、装置、电子设备和存储介质 |
| CN112906913A (zh) * | 2019-11-18 | 2021-06-04 | 英业达科技有限公司 | 电子装置及其检测方法 |
| CN113778743A (zh) * | 2020-09-16 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 用于应用程序降级的方法和装置、电子设备、及介质 |
| CN114356640A (zh) * | 2022-01-07 | 2022-04-15 | 深圳创维-Rgb电子有限公司 | 应用程序修复方法、装置、设备及存储介质 |
| CN114840360A (zh) * | 2022-04-08 | 2022-08-02 | 湖南北云科技有限公司 | 程序加载方法、装置、电子设备及存储介质 |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101324856A (zh) * | 2008-08-07 | 2008-12-17 | 金蝶软件(中国)有限公司 | 一种数据升级方法及系统 |
| CN102855181A (zh) * | 2011-07-01 | 2013-01-02 | 腾讯科技(深圳)有限公司 | 软件修复方法及系统 |
| CN103365732A (zh) * | 2012-03-29 | 2013-10-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用程序异常的处理方法、系统及移动终端 |
| CN103377094A (zh) * | 2012-04-12 | 2013-10-30 | 金蝶软件(中国)有限公司 | 异常监测方法和装置 |
| US9098450B2 (en) * | 2012-03-20 | 2015-08-04 | Google Inc. | Automated application update checks based on unexpected errors and crashes |
| CN106293987A (zh) * | 2016-08-15 | 2017-01-04 | Tcl集团股份有限公司 | 一种修复终端开机异常的方法和装置 |
| CN106502665A (zh) * | 2016-10-18 | 2017-03-15 | 广州视睿电子科技有限公司 | 一种应用程序的修复方法及装置 |
| CN107861738A (zh) * | 2017-11-06 | 2018-03-30 | 广东欧珀移动通信有限公司 | 应用异常处理方法、装置、存储介质及终端设备 |
-
2018
- 2018-09-13 CN CN201811068782.7A patent/CN109324918A/zh active Pending
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101324856A (zh) * | 2008-08-07 | 2008-12-17 | 金蝶软件(中国)有限公司 | 一种数据升级方法及系统 |
| CN102855181A (zh) * | 2011-07-01 | 2013-01-02 | 腾讯科技(深圳)有限公司 | 软件修复方法及系统 |
| US9098450B2 (en) * | 2012-03-20 | 2015-08-04 | Google Inc. | Automated application update checks based on unexpected errors and crashes |
| CN103365732A (zh) * | 2012-03-29 | 2013-10-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用程序异常的处理方法、系统及移动终端 |
| CN103377094A (zh) * | 2012-04-12 | 2013-10-30 | 金蝶软件(中国)有限公司 | 异常监测方法和装置 |
| CN106293987A (zh) * | 2016-08-15 | 2017-01-04 | Tcl集团股份有限公司 | 一种修复终端开机异常的方法和装置 |
| CN106502665A (zh) * | 2016-10-18 | 2017-03-15 | 广州视睿电子科技有限公司 | 一种应用程序的修复方法及装置 |
| CN107861738A (zh) * | 2017-11-06 | 2018-03-30 | 广东欧珀移动通信有限公司 | 应用异常处理方法、装置、存储介质及终端设备 |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111813427A (zh) * | 2019-04-12 | 2020-10-23 | 杭州海康威视数字技术股份有限公司 | 设备修复方法、装置、电子设备及存储介质 |
| CN110221756A (zh) * | 2019-06-18 | 2019-09-10 | Oppo广东移动通信有限公司 | 处理应用数据的方法、装置、终端及存储介质 |
| CN110221756B (zh) * | 2019-06-18 | 2020-08-28 | Oppo广东移动通信有限公司 | 处理应用数据的方法、装置、终端及存储介质 |
| CN110704276A (zh) * | 2019-09-19 | 2020-01-17 | 爱钱进(北京)信息科技有限公司 | App异常处理方法、装置以及存储介质 |
| CN112906913A (zh) * | 2019-11-18 | 2021-06-04 | 英业达科技有限公司 | 电子装置及其检测方法 |
| CN113778743A (zh) * | 2020-09-16 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 用于应用程序降级的方法和装置、电子设备、及介质 |
| CN113778743B (zh) * | 2020-09-16 | 2025-04-15 | 北京沃东天骏信息技术有限公司 | 用于应用程序降级的方法和装置、电子设备、及介质 |
| CN112114991A (zh) * | 2020-09-18 | 2020-12-22 | 北京百度网讯科技有限公司 | 小程序的异常处理方法、装置、电子设备和存储介质 |
| CN112114991B (zh) * | 2020-09-18 | 2024-01-16 | 北京百度网讯科技有限公司 | 小程序的异常处理方法、装置、电子设备和存储介质 |
| CN114356640A (zh) * | 2022-01-07 | 2022-04-15 | 深圳创维-Rgb电子有限公司 | 应用程序修复方法、装置、设备及存储介质 |
| CN114840360A (zh) * | 2022-04-08 | 2022-08-02 | 湖南北云科技有限公司 | 程序加载方法、装置、电子设备及存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109324918A (zh) | 应用程序异常的处理方法及装置、终端及存储介质 | |
| JP6267184B2 (ja) | モバイル機器サポートサービスを提供するためのシステム、方法、装置、およびコンピュータプログラム製品 | |
| CN106095620B (zh) | 一种嵌入式Linux存储分区的开发方法 | |
| CN103458086B (zh) | 一种智能手机及其故障检测方法 | |
| US12087099B2 (en) | Method for establishing communicable connection with tire pressure monitoring system, apparatus thereof and electronic device | |
| CN110119325B (zh) | 服务器故障处理方法、装置、设备及计算机可读存储介质 | |
| US20090204946A1 (en) | Intelligent software code updater | |
| CN101610449B (zh) | 配置数据升级与回退的方法和系统 | |
| CN100583782C (zh) | 软件升级方法和装置 | |
| CN105868047A (zh) | 数据分区的修复方法、装置及终端 | |
| CN104346279A (zh) | 一种软件测试方法及装置 | |
| CN102023917A (zh) | 电脑系统以及用于电脑系统的监控装置 | |
| CN104866951A (zh) | 业务流程中的业务信息更新方法和系统 | |
| CN110968456B (zh) | 分布式存储系统中故障磁盘的处理方法及装置 | |
| CN103955386B (zh) | 存储设备固件升级的方法及装置 | |
| CN111130856A (zh) | 一种服务器配置方法、系统、设备及计算机可读存储介质 | |
| CN114064511A (zh) | 自定义监控指标开发方法及装置 | |
| CN108287761A (zh) | 内存回收方法及装置、终端设备及计算机可读存储介质 | |
| CN118331806A (zh) | 固态硬盘无中断固件更新的测试方法、装置、设备和介质 | |
| CN119127254A (zh) | 一种硬盘固件升级方法、装置、电子设备及存储介质 | |
| CN110990177A (zh) | 故障修复方法、装置、系统、存储介质及电子设备 | |
| EP2391944A1 (en) | System care of computing devices | |
| CN113434179B (zh) | 一种可编程电源的在线升级方法、装置、设备及存储介质 | |
| CN110399138A (zh) | 一种软件卸载的方法、装置、设备以及存储介质 | |
| CN110795334B (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 |
Application publication date: 20190212 |
|
| RJ01 | Rejection of invention patent application after publication |