一种应用异常处理方法、装置、计算设备及存储介质
文献发布时间:2024-01-17 01:27:33
技术领域
本发明涉及计算机技术领域,具体涉及一种应用异常处理方法、装置、计算设备及存储介质。
背景技术
目前,用户终端上安装有大量应用程序(以下简称为“应用”),以满足用户的需求。应用常使用了多种开发技术的融合,用于快速开发实现业务需求的迭代更新。应用在使用过程中,如果出现严重缺陷,则会导致运行异常,需要及时进行异常定位以方便修复,避免影响用户的体验效果。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用异常处理方法、装置、计算设备以及存储介质。
根据本发明的一个方面,提供一种应用异常处理方法,在计算设备中执行,应用驻留在用户终端中,计算设备与用户终端连接,该方法包括:接收用户终端发送的应用异常请求,确定至少一个导致应用异常的可疑文件;从用户终端获取各可疑文件;利用各可疑文件,确定异常数据,并对异常数据进行处理,以将应用恢复至正常。
可选地,在根据本发明的应用异常处理方法中,其中,在从用户终端获取各可疑文件之前,还包括:从用户终端中获取与应用相关联的各文件的文件特征信息;基于文件特征信息,以确定各可疑文件是否存在。
可选地,在根据本发明的应用异常处理方法中,其中,利用各可疑文件,确定异常数据,包括:通过各可疑文件,模拟应用在用户终端的运行场景,以确定出异常数据。
可选地,在根据本发明的应用异常处理方法中,其中,对异常数据进行处理,以将应用恢复至正常,包括:对异常数据进行删除;或基于异常数据,对应用进行更新。
可选地,在根据本发明的应用异常处理方法中,其中,从用户终端获取各可疑文件,包括:控制所述用户终端对各可疑文件进行压缩,并将压缩后的压缩文件进行上传。
可选地,在根据本发明的应用异常处理方法中,其中,用户终端中还驻留有沙盒,各可疑文件存储在沙盒中。
可选地,在根据本发明的应用异常处理方法中,其中,还包括:当检测到用户终端在文件压缩或文件上传出错时,基于出错原因,控制用户终端进行相应调整。
可选地,在根据本发明的应用异常处理方法中,其中,出错原因至少包括:用户终端文件接口出错、存储空间不足、用户终端本地文件信息出错、上传中网络接口出错、上传请求状态非200至300之间错误信息。
可选地,在根据本发明的应用异常处理方法中,其中,从用户终端获取各可疑文件,包括:响应于应用异常请求,将用户终端标记为异常终端;当检测到异常终端重启应用时,获取各可疑文件。
可选地,在根据本发明的应用异常处理方法中,其中,从用户终端获取各可疑文件,包括:响应于应用异常请求,将用户终端标记为异常终端;向异常终端发送应用重启指令,以便控制异常终端重启应用,并获取各可疑文件。
可选地,在根据本发明的应用异常处理方法中,其中,接收用户终端发送的应用异常请求,确定至少一个导致应用异常的可疑文件,包括:基于应用异常请求,确定异常类型;将异常类型与预设的配置文件进行匹配,以确定出各可疑文件,配置文件中至少记录有各异常类型与可疑文件的关联关系。
可选地,在根据本发明的应用异常处理方法中,其中,文件特征信息至少包括文件目录信息。
根据本发明的又一个方面,提供一种应用异常处理装置,驻留在计算设备中,应用驻留在用户终端中,计算设备与用户终端连接,该装置包括:确定模块,适于接收用户发送的应用异常请求,确定至少一个导致应用异常的可疑文件;获取模块,适于从用户终端获取各可疑文件;处理模块,适于利用各可疑文件,确定异常数据,并对异常数据进行处理,以将应用恢复至正常。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行上述方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述的方法。
根据本发明的方案,根据用户反馈的应用异常请求,标记出可能导致应用异常的可疑文件,再对这些可疑文件进行提取和分析,从而确定出导致该应用异常的异常数据,再根据确定出的异常数据进行异常处理。
根据本发明的方案,可应用于解决疑难问题场景、特殊数据存储场景、应用配置不当等多种场景,帮助开发者快速找到应用异常原因,定位异常数据,从而解决问题。另外,本发明的应用异常处理方法适用于所有的应用。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的应用异常处理系统100的结构图;
图2示出了根据本发明一个实施例的计算设备200的结构图;
图3示出了根据本发明一个实施例的应用异常处理方法300的流程图;
图4示出了根据本发明一个实施例的应用异常处理装置400的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
目前常用的异常定位方法主要有两种:第一种是记录用户操作的路径,基于记录页面路径的操作,根据路径操作信息来回朔用户场景,以此来模拟复现用户场景,此类场景常与收集崩溃堆栈信息配合使用,来倒推问题产生的原因。
第二种是对特殊的逻辑功能埋点,以推测程序可能出现的问题点。具体地,基于预埋点的业务逻辑上报处理方案,该方案是在实现程序功能时提前设计埋点逻辑,在程序执行到相关逻辑时将已经触发的埋点信息上报。此类方案适合推理用户可能出现的复现场景,如果没有预埋点处理则无法推理复现用户场景。
对于第一种异常定位方法,只能跟踪页面路径配合崩溃收集信息实现部分的场景复现,应用单一,不适合更为复杂的场景复现。业务在接入时也需要预处理接入页面代码,接入较为复杂,无法实现真正的用户场景复现。
对于第二种异常定位方法,提前预埋点,需在程序开发阶段就进行,如果预埋点较多的话,会占用大量的开发时间,验证预埋点时也存在较大的耗时。
为解决上述现有技术中存在的问题,提出本发明的方案。从用户终端中提取可能引起问题的数据和配置,能够配合预埋点方案完成更多的场景还原复现,且一次接入无需二次维护。
相较于现有的异常定位方法,本方案具有如下优势:
1、无需埋点,业务无需修改任务代码,业务没有开发成本和改造成本。
2、普遍适用性,适合对市面上大多数应用进行异常定位。
3、可后台配置,灵活提取应用的配置信息;可下发删除指令,删除异常配置,使应用恢复正常,可快速导入导致应用异常的可疑文件,重现用户崩溃现场或其他问题现场,以帮助开发人员快速定位崩溃原因,帮助用户恢复应用到正常状态。
4、本方案对应用所产生的异常信息,有自动收集回执的能力。
本发明的一个实施例提供了一种应用异常处理系统,图1示出了根据本发明一个实施例的应用异常处理系统100的结构图。
如图1所示,应用异常处理系统100包括用户终端110和计算设备200。
用户终端110即用户所使用的终端设备,其具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能可穿戴设备等,但不限于此。应用驻留在用户终端110中。通过应用中的交互模块访问互联网中的计算设备200。计算设备200用于向用户终端110提供服务,其可以实现为服务器,例如应用服务器、Web服务器等;也可以实现为桌面电脑、笔记本电脑、处理器芯片、平板电脑等,但不限于此。
根据一种实施例,计算设备200可以向用户终端110提供应用异常处理服务,当驻留在用户终端110中的应用出现异常崩溃时,用户终端110会向计算设备200发送应用异常处理请求,计算设备200通常会根据接收到的异常处理请求确定出导致应用异常的异常数据,从而对异常数据进行处理,使得应用恢复至正常。
在一个实施例中,应用异常处理系统100还包括数据存储装置120。数据存储装置120可以是关系型数据库例如MySQL、ACCESS等,也可以是非关系型数据库例如NoSQL等;可以是驻留于计算设备200中的本地数据库,也可以作为分布式数据库例如HBase等设置于多个地理位置处,总之,数据存储装置120用于存储数据,本发明对数据存储装置120的具体部署、配置情况不做限制。计算设备200可以与数据存储装置120连接,并获取数据存储装置120中所存储的数据。例如,计算设备200可以直接读取数据存储装置120中的数据(在数据存储装置120为计算设备200的本地数据库时),也可以通过有线或无线的方式接入互联网,并通过数据接口来获取数据存储装置120中的数据。
在本发明的实施例中,数据存储装置120适于存储预设的配置文件,该配置文件中记录有各应用常见的异常类型与导致该异常类型的可疑文件的关联关系。优选地,关联关系可以为应用标识-异常类型-导致异常类型的可疑文件。应用异常类型包括多种,例如,登录崩溃、跳转失败等,相应的可疑文件可以是与登录相关的文件、与页面跳转相关的文件。
配置文件可基于对应用异常处理的历史事件总结生成,也可由开发人员根据其工作经验编撰而成,本申请对此不作限定。
图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,应用222包括执行方法300的多条程序指令。
图3示出了根据本发明一个实施例的应用异常处理方法300的流程图。方法300适于在计算设备(例如前述计算设备200)中执行。
如图3所示,方法300的目的是实现一种帮助开发者快速找到应用异常原因,定位异常数据,从而恢复应用正常使用的方法。
方法300始于步骤302,在步骤302中,接收用户终端110发送的应用异常请求,确定至少一个导致应用异常的可疑文件。上文记载,与计算设备200连接的数据存储装置120中会存储一个记录应用的异常类型与可疑文件的关系的配置文件。例如,用户上报了一个应用登录崩溃的异常处理请求,则确定该应用的异常类型为登录崩溃类型,再根据该异常类型与配置文件进行匹配,从而确定出可能导致该异常类型的可疑文件。
配置文件一般由开发人员编撰完成,并存储在数据存储装置120中,开发人员可根据工作经验或者以往对应用异常处理事件进行总结,形成该配置文件。示例性地,登录崩溃可能是由于用户终端110网络功能设置出错、应用版本过低、系统维护等导致,则确定可疑文件包括与网络功能设置相关的文件、与应用版本相关的文件和与系统维护相关的文件。最后,根据应用异常的异常类型与对应的可疑文件形成关联关系记录在配置文件中。
在确定出可疑文件后,进入步骤304,从用户终端110获取各可疑文件。容易理解的是,用户在用户终端110中下载某个应用后,会为该应用分配一个独立的存储空间,即沙盒空间,用于存储与该应用相关的数据。即各可疑文件存储在与该应用相应的沙盒中。其他应用无法访问和进入该沙盒空间,从而保证应用安全。
容易理解的是,用户终端110与计算设备200通过应用实现交互,因此,在一些实施例中,计算设备200响应于接收到应用异常请求,将该应用所属用户终端110标记为异常终端。当检测到该异常终端重启应用,以便从沙盒中获取各可疑文件。当然,计算设备200也可以主动向异常终端发送一个重启应用的请求,从而实现快速获取到可疑文件。
另外,在获取可疑文件之前,需判断这些可疑文件是否存在,若存在,则直接获取,若不存在,则判断该应用异常是否由可疑文件缺失导致,若是,则直接控制用户终端110进行应用更新或重新下载来恢复应用正常,若不是,则不必对该缺失可疑文件进行获取,以简化异常处理流程,避免由于文件缺失无法获取而导致各可疑文件获取失败。具体地,首先,从用户终端中获取与应用相关联的各文件的文件特征信息。随后,基于文件特征信息,以确定各可疑文件是否存在。优选地,文件特性信息可以为文件的目录信息。
在一些实施例中,控制用户终端110对各可疑文件进行压缩,并将压缩后的压缩文件进行上传。对可疑文件进行压缩上传,可减少上传时间,提高上传效率。进一步地,当检测到用户终端110在文件压缩或文件上传出错时,基于出错原因,控制用户终端进行相应调整。其中,出错原因至少包括:用户终端文件接口出错、存储空间不足、用户终端110本地文件信息出错、上传中网络接口出错、上传请求状态非200至300之间错误信息。
示例性地,由于对可疑文件进行压缩后形成的压缩文件也需要占据一定的存储空间,而当用户终端110的存储空间不足时,会导致压缩失败,此时,计算设备200可向用户终端110发送清除存储空间的指令,用户终端110基于该指令,进行存储空间清除,从而使得用户终端110有足够的存储空间来暂存压缩文件。
在获取到各可疑文件后,进入步骤306,利用各可疑文件,确定异常数据,并对异常数据进行处理,以将应用恢复至正常。具体地,通过各可疑文件,模拟应用在用户终端的运行场景,以确定出异常数据。分析人员在获取到各可疑文件后,可将这些可疑文件导入一台正常运行的设备中,对应用在用户终端110的运行过程进行模拟,从而确定出导致该应用异常的异常数据。
在一些实施例中,通过对异常数据进行处理;或基于异常数据,对应用进行更新来达到应用正常运行的目的。
根据本发明的异常处理方法300,根据用户反馈的应用异常请求,标记出可能导致应用异常的可疑文件,再对这些可疑文件进行提取和分析,从而确定出导致该应用异常的异常数据,再根据确定出的异常数据进行异常处理。该应用异常处理方法300可应用于解决疑难问题场景、特殊数据存储场景、应用配置不当等多种场景,帮助开发者快速找到应用异常原因,定位异常数据,从而解决问题,该方法300可适用于市场上大多数应用。
图4示出了根据本发明一个实施例的应用异常处理装置400的结构示意图。装置400驻留在计算设备200中,应用驻留在用户终端110中,计算设备200与用户终端110连接。装置400包括,相互耦接的确定模块402、获取模块404和处理模块406。其中,确定模块402适于接收用户发送的应用异常请求,确定至少一个导致应用异常的可疑文件。获取模块404适于适于从用户终端获取各可疑文件。处理模块406适于适于利用各可疑文件,确定异常数据,并对异常数据进行处理,以将应用恢复至正常。
需要说明的是,本实施例提供的装置400的工作原理及流程与上述方法300相似,相关之处可参考对上述方法300的描述,在此不再赘述。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
A8、如A7所述的方法,其中,所述出错原因至少包括:用户终端文件接口出错、存储空间不足、用户终端本地文件信息出错、上传中网络接口出错、上传请求状态非200至300之间错误信息。A9、如A1所述的方法,其中,从所述用户终端获取各所述可疑文件,包括:响应于所述应用异常请求,将所述用户终端标记为异常终端;当检测到所述异常终端重启所述应用时,获取各所述可疑文件。A10、如A1所述的方法,其中,从所述用户终端获取各所述可疑文件,包括:响应于所述应用异常请求,将所述用户终端标记为异常终端;向所述异常终端发送应用重启指令,以便控制所述异常终端重启所述应用,并获取各所述可疑文件。A11、如A1所述的方法,其中,接收用户终端发送的应用异常请求,确定至少一个导致所述应用异常的可疑文件,包括:基于所述应用异常请求,确定异常类型;将所述异常类型与预设的配置文件进行匹配,以确定出各所述可疑文件,所述配置文件中至少记录有各异常类型与可疑文件的关联关系。A12、如A2所述的方法,其中,所述文件特征信息至少包括文件目录信息。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的较佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。
- 异常处理方法、装置、计算机设备以及存储介质
- 异常处理方法、装置、计算机设备及存储介质
- 一种信息处理方法及装置、一种计算设备及存储介质
- 一种数据处理方法及装置、一种计算设备及存储介质
- 一种访问请求处理方法及装置、一种计算设备及存储介质
- 应用程序异常的处理方法、装置、计算机设备及存储介质
- 应用程序异常处理方法、装置、计算机设备及存储介质