CN108491320A - 应用程序的异常分析方法、装置、计算机设备和存储介质 - Google Patents
应用程序的异常分析方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108491320A CN108491320A CN201810180089.2A CN201810180089A CN108491320A CN 108491320 A CN108491320 A CN 108491320A CN 201810180089 A CN201810180089 A CN 201810180089A CN 108491320 A CN108491320 A CN 108491320A
- Authority
- CN
- China
- Prior art keywords
- application program
- abnormal
- anomaly analysis
- server
- location information
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种应用程序的异常分析方法、装置、计算机设备和存储介质。所述方法包括:运行应用程序,对所述应用程序的运行状况记录对应的日志文件;当所述应用程序运行过程中发生异常时,调用异常分析模型;通过所述异常分析模型读取所述日志文件,利用读取到的日志信息进行异常定位,输出异常定位信息;将所述异常定位信息上传至服务器。采用本方法能够有效减少开发人员工作量,提高应用程序修复效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序的异常分析方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,涌现出了多种多样的应用程序。应用程序为人们的工作和生活带来了诸多便利。应用程序在用户终端运行时,如果出现了异常,通常是用户终端将相应的日志文件上报至服务器。服务器将日志文件转移给开发人员,由开发人员对应用程序进行修复。由于应用程序的异常类型较多,开发人员需要对每种异常类型进行排查才能对异常进行定位。由此在修复应用程序时给开发人员造成了较大的工作量,使得应用程序的修复效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够有效减少开发人员工作量,提高应用程序修复效率的应用程序的异常分析方法、装置、计算机设备和存储介质。
一种应用程序的异常分析方法,所述方法包括:
运行应用程序,对所述应用程序的运行状况记录对应的日志文件;
当所述应用程序运行过程中发生异常时,调用异常分析模型;
通过所述异常分析模型读取所述日志文件,利用读取到的日志信息进行异常定位,输出异常定位信息;
将所述异常定位信息上传至服务器。
在其中一个实施例中,所述异常分析模型具有对应的异常类型;通过所述异常分析模型读取所述日志文件,利用读取到的日志信息进行异常定位,输出异常定位信息包括:
通过多个异常分析模型并行读取所述日志文件,得到与异常类型对应的日志信息;
通过多个异常分析模型利用与异常类型对应的日志信息,对应用程序的异常状况并行进行异常分析,得到一个或多个异常结果;
根据所述异常结果输出对应的异常定位信息。
在其中一个实施例中,根据所述异常结果输出对应的异常定位信息包括:
在所述异常结果中提取异常名称、报错代码位置以及对应的调用函数;
将所述异常名称、报错代码位置以及对应的调用函数按照预设格式生成与异常类型对应的异常定位信息。
在其中一个实施例中,所述方法还包括:
当再次启动应用程序时,向服务器发送所述应用程序对应的更新请求;所述更新请求用于服务器获取应用程序更新后的安装包;
接收服务器返回的更新后的安装包,利用所述更新后的安装包对本地的应用程序进行更新。
在其中一个实施例中,所述方法还包括:
在所述应用程序再次启动之前,若接收到与所述应用程序对应的页面链接,且所述页面链接被触发时,解析所述页面链接对应的传递参数,对所述传递参数进行缓存;
当所述应用程序在更新后再次启动时,通过更新后的应用程序调用已缓存的传递参数,跳转至与所述页面链接对应的页面。
在其中一个实施例中,所述方法还包括:
采集埋点数据,将所述埋点数据上传至服务器;所述埋点数据用于服务器对用户感兴趣功能进行分析,利用所述感兴趣业务功能获取静态资源对应的差分包;
接收服务器返回的更新后的安装包,所述安装包中包含所述静态资源对应的差分包;
利用所述更新后的安装包对本地的应用程序进行更新,以及利用所述差分包对本地的静态资源进行更新。
一种应用程序的异常分析装置,所述装置包括:
记录模块,用于运行应用程序时,对所述应用程序的运行状况记录对应的日志文件;
异常定位模块,用于当所述应用程序运行过程中发生异常时,调用异常分析模型;通过所述异常分析模型读取所述日志文件,利用读取到的日志信息进行异常定位,输出异常定位信息;
通信模块,用于将所述异常定位信息上传至服务器。
在其中一个实施例中,所述异常分析模型具有对应的异常类型;所述异常定位模块还用于通过多个异常分析模型并行读取所述日志文件,得到与异常类型对应的日志信息;通过多个异常分析模型利用与异常类型对应的日志信息,对应用程序的异常状况并行进行异常分析,得到一个或多个异常结果;根据所述异常结果输出对应的异常定位信息。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
上述应用程序的异常分析方法、装置、计算机设备和存储介质,用户终端运行应用程序时,通过日志文件实时记录应用程序的运行状况。当应用程序发生异常时,用户终端在本地调用异常分析模型,通过异常分析模型读取日志文件,利用读取到的日志信息进行异常定位分析,从而输出相应的异常定位信息,将异常定位信息上传至服务器。服务器将异常定位信息转移给开发人员,由此可以使得开发人员直接根据异常定位信息对应用程序进行修复,无需在根据日志文件对每种异常类型进行排查分析,有效节省了开发人员的工作量,同时有效提高了应用程序的修复效率。
附图说明
图1为一个实施例中应用程序的异常分析方法的应用场景图;
图2为一个实施例中应用程序的异常分析方法的流程示意图;
图3为一个实施例中应用程序的异常分析装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的应用程序的异常分析方法,可以应用于如图1所示的应用环境中。其中,用户终端102通过网络与服务器104进行通信。开发终端106通过网络与服务器104进行通信。其中,用户终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。开发终端106可以是计算机以及笔记本电脑等。用户终端102中安装了应用程序以及多个异常分析模型。当应用程序启动时,用户终端102开始记录应用程序对应的日志文件。应用程序在运行过程中可能会发生异常。当应用程序在运行过程中发生异常时,用户终端102在本地调用异常分析模型,通过异常分析模型进行异常定位。通过异常分析模型读取日志文件,利用读取到的日志信息进行异常定位,输出异常定位信息。用户终端102将异常定位信息上传至服务器104。服务器104将异常定位信息发送至开发人员对应的开发终端106。开发人员可以直接根据异常定位信息通过开发终端106对应用程序进行修复。无需在根据日志文件对每种异常类型进行排查分析,有效节省了开发人员的工作量,同时有效提高了应用程序的修复效率。
在一个实施例中,如图2所示,提供了一种应用程序的异常分析方法,以该方法应用于图1中的用户终端为例进行说明,包括以下步骤:
步骤202,运行应用程序,对应用程序的运行状况记录对应的日志文件。
步骤204,当应用程序运行过程中发生异常时,调用异常分析模型。
用户终端通过应用程序的安装包在本地安装相应的应用程序。应用程序的安装包中预先嵌入了多个异常分析模型。当应用程序在本地安装时,多个异常分析模型也相应的安装在用户终端本地。当应用程序启动时,用户终端开始记录应用程序对应的日志文件。日志文件可以对应用程序的运行状况进行实时记录。应用程序在用户终端运行时,可以使得用户办理多种业务,例如,贷款业务、理赔业务等。应用程序在运行过程中可能会发生异常。应用程序发生的异常包括多种类型,例如,内存溢出、空指针异常、数组下标越界、字符串转换为数字、类型不兼容、资源错误、文件已结束异常以及输入输出异常等。每种类型的异常都会导致应用程序崩溃。
当应用程序在运行过程中发生异常时,用户终端在本地调用异常分析模型,通过异常分析模型进行异常定位。异常分析模型可以是开发人员预先生成。具体的,开发人员可以利用开发终端采集多种异常类型对应的异常数据,利用异常数据进行机器学习,得到每种异常类型对应的异常分析模型。机器学习的算法可以采用最大期望算法,通过计算多种异常数据对应的期望值,对期望值进行最大化处理,得到最大似然的期望值,从而计算得异常类型所对应的最大似然估计,得到异常类型对应的异常分析模型。
步骤206,通过异常分析模型读取日志文件,利用读取到的日志信息进行异常定位,输出异常定位信息。
步骤208,将异常定位信息上传至服务器。
当应用程序在运行过程中发生异常时,用户终端可以在本地调用多个异常分析模型。用户终端可以逐个调用异常分析模型,也可以批量调用多个异常分析模型。当用户终端批量调用多个异常分析模型时,异常分析模型可以预先进行分组,每一组都可以配置对应的优先级别。用户终端可以根据优先级别分批次调用多个分组的异常分析模型。不同的应用程序可以对不同的异常分析模型进行分组。当分组中的异常分析模型被调用时,多个异常分析模型可以并发执行异常定位。
具体的,用户终端通过多个异常分析模型并行读取日志文件,得到与异常类型对应的日志信息。用户终端通过多个异常分析模型利用与异常类型对应的日志信息,对应用程序的异常状况并行进行异常分析,得到一个或多个异常结果。用户终端根据异常结果输出对应的异常定位信息。
用户终端将异常定位信息上传至服务器。服务器将异常定位信息发送至开发人员对应的开发终端。由于异常定位信息中已经包含了应用程序中出现异常的具体信息,因此开发人员可以直接根据异常定位信息对应用程序进行修复。有效节省了开发人员的工作量。
本实施例中,用户终端运行应用程序时,通过日志文件实时记录应用程序的运行状况。当应用程序发生异常时,用户终端在本地调用异常分析模型,通过异常分析模型读取日志文件,利用读取到的日志信息进行异常定位分析,从而输出相应的异常定位信息,将异常定位信息上传至服务器。服务器将异常定位信息转移给开发人员,由此可以使得开发人员直接根据异常定位信息对应用程序进行修复,无需在根据日志文件对每种异常类型进行排查分析,有效节省了开发人员的工作量,同时有效提高了应用程序的修复效率。
进一步的,用户终端还可以根据异常定位信息生成相应的修复提示信息。定位信息中可以包括异常名称、报错代码位置以及对应的调用函数等。用户终端利用异常名称、报错代码位置以及对应的调用函数等生成相应的修复提示信息,将修复提示信息上传至服务器。服务器将修复提示信息发送至开发终端。由此可以使得开发人员直接根据修复提示信息对应用程序进行修复。进一步减少了开发人员的工作量,从而进一步提高了应用程序的修复效率。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,异常分析模型具有对应的异常类型;通过异常分析模型读取日志文件,利用读取到的日志信息进行异常定位,输出异常定位信息包括:通过多个异常分析模型并行读取日志文件,得到与异常类型对应的日志信息;通过多个异常分析模型利用与异常类型对应的日志信息,对应用程序的异常状况并行进行异常分析,得到一个或多个异常结果;根据异常结果输出对应的异常定位信息。
为了有效提高异常定位效率,用户终端可以批量调用多个异常分析模型进行异常定位分析。具体的,用户终端可以根据异常分析模型对应的分组的优先级,按照从高到低的顺序调用分组内的多个异常分析模型。被调用的多个异常分析模型可以并行读取日志文件。异常分析模型读取日志文件时,可以根据自己的异常类型读取所需维度的日志信息。不同的异常分析模型所需维度不同。以“资源错误”这一异常分析模型为例,该模型对应的类型为资源异常,所需维度为资源,因此该模型只需要读取“资源”这一维度的日志信息,无需读取其他维度的日志信息。
多个异常分析模型可以并行进行异常定位。具体的,被调用的多个异常分析模型可以分别将读取到的日志信息进行异常定位分析,识别发生异常的代码。当发现读取到的日志信息中存在异常时,异常分析模型可以得到对应的异常结果,根据异常结果输出对应的异常定位信息。若未发现异常,异常分析模型可以输出不存在相应类型的异常的提示信息。如果只存在一种异常,可以只输出一种异常定位信息,如果存在多种异常,可以输出多种异常定位信息。
在其中一个实施例中,根据异常结果输出对应的异常定位信息包括:在异常结果中提取异常名称、报错代码位置以及对应的调用函数;将异常名称、报错代码位置以及对应的调用函数按照预设格式生成与异常类型对应的异常定位信息。
异常结果中至少包括异常名称、报错代码位置以及对应的调用函数等多项异常信息。异常名称可以是异常类型的名称。报错代码位置可以是造成应用程序崩溃的代码(即有问题的代码)的所在位置。调用函数可以是造成应用程序崩溃时所调用的函数。以“资源错误”这一异常分析模型为例,该异常分析模型读取“资源”这一维度的日志信息。读取到的日志信息中包括资源名称,该异常分析模型根据资源名称识别应用程序中有问题的代码、有问题的代码所对应的调用函数等,根据有问题的代码查找出对应的资源标识(ResourceID#0x0),对有问题的代码的位置进行定位。例如,可以精确定位到应用程序的第几行代码发生异常,如Resource.jave:809等。调用的函数名称是1internal calls。
用户终端通过异常分析模型将异常名称、报错代码位置以及对应的调用函数按照预设格式生成与异常类型对应的异常定位信息。用户终端将异常定位信息上传至服务器。由于用户终端可以批量调用多个异常分析模型并行进行异常定位分析,能够有效提高异常定位分析的效率,有效减少了用户终端上传异常定位信息的耗时,从而能进一步提高应用程序的修复效率。
在一个实施例中,该方法还包括:当再次启动应用程序时,向服务器发送应用程序对应的更新请求;更新请求用于服务器获取应用程序更新后的安装包;接收服务器返回的更新后的安装包,利用更新后的安装包对本地的应用程序进行更新。
用户终端向服务器上传异常定位信息之后,服务器将异常定位信息下发至开发终端。开发人员根据异常定位信息通过开发终端对应用程序进行修复,生成应用程序对应的更新后的安装包。开发终端将更新后的安装包上传至服务器的数据库中。
用户终端中再次启动应用程序时,用户终端向服务器发送应用程序对应的更新请求。服务器根据更新请求在数据库中查询是否存在该应用程序更新后的安装包。当存在更新后的安装包时,服务器向用户终端返回更新后的安装包。用户终端利用更新后的安装包对本地的应用程序进行更新。其中,用户终端可以对应用程序进行全量更新,也可以进行增量更新。通过对应用程序进行更新,由此可以克服之前出现的异常,以此确保应用程序的正常运行。
在一个实施例中,该方法还包括:在应用程序再次启动之前,若接收到与应用程序对应的页面链接,且页面链接被触发时,解析页面链接对应的传递参数,对传递参数进行缓存;当应用程序在更新后再次启动时,通过更新后的应用程序调用已缓存的传递参数,跳转至与页面链接对应的页面。
在应用程序发生异常崩溃后,用户终端将应用程序退出运行。如果在应用程序再次启动之前,用户终端接收到与该应用程序对应的页面链接。例如,用户终端通过短信接收到与该应用程序对应的页面链接。该页面链接被触发时,用户终端可以唤醒该应用程序,根据该页面链接进行相应页面。若应用程序被唤醒后,在进入页面时再次发生异常,导致应用程序崩溃,则用户终端对该页面链接对应的传递参数进行解析,将解析得到的传递参数进行缓存。当应用程序更新后再次启动时,更新后的应用程序可以调用已缓存的传递参数,跳转至与页面链接对应的页面。由此能够在应用程序更新后第一次启动时即可直接跳转至相应页面。页面跳转不需要用户反复操作,给用户带来了方便。
在一个实施例中,该方法还包括:采集埋点数据,将埋点数据上传至服务器;埋点数据用于服务器对用户感兴趣功能进行分析,利用感兴趣业务功能获取静态资源对应的差分包;接收服务器返回的更新后的安装包,安装包中包含静态资源对应的差分包;利用更新后的安装包对本地的应用程序进行更新,以及利用差分包对本地的静态资源进行更新。
应用程序的安装包中除了可以包含多个异常分析模型之外,还可以包含静态资源的安装包。当应用程序被安装到用户终端本地时,多个异常分析模型以及多个页面的静态资源文件也可以被相应的安装在本地。由于静态资源安装在本地,当应用程序加载页面时,可以从本地直接加载相应的静态资源,无需在通过网络向服务器请求该静态资源,因此能够有效提高页面加载效率。
应用程序被修复时,静态资源也可以被相应的更新。服务器可以根据用户感兴趣功能来更新静态资源。应用程序中可以包含多个页面,不同的页面可以实现不同的功能。页面中包含多个控件,部分控件可以被预先设置为埋点。埋点可以是控件、文本、图片或视频等。当埋点被触发时,用户终端获取对应的埋点数据,将埋点数据上传至服务器。服务器对埋点数据进行分析,以此对用户行为进行分析。服务器可以对每个类型的埋点数据进行分析,以此了解用户对该功能的喜好情况,可以得到一个或多个感兴趣功能。
在其中一个实施例中,服务器对所有用户终端上传的埋点数据进行分析,得到所有用户终端对应的一个或多个感兴趣功能。
服务器可以对所有用户终端上传的埋点数据进行分析。例如,服务器可以对所有用户终端上传的控件对应的埋点数据进行分析,根据业务类型对所有被触发的控件进行统计,得到被触发的控件的点击量。当被触发的控件的点击量超过阈值时,服务器根据该控件对应的业务类型的得到感兴趣功能。由此能够从整体上反映用户的感兴趣功能。为了使得用户在通过感兴趣功能办理业务时,应用程序能够快速加载相应页面,服务器根据感兴趣功能查询静态资源对应的安装包是否有更新。若有更新,服务器将静态资源对应的差分包打包至应用程序更新后的安装包,将应用程序更新后的安装包发送至所有连接中的用户终端。用户终端可以利用静态资源对应的差分包本地的静态资源进行增量更新,由此使得用户终端能够在本地直接加载更新后静态资源。在用户使用感兴趣功能办理业务时,可以进一步提高页面加载速度。
在其中一个实施例中,服务器根据用户终端标识对每个用户终端上传的埋点数据分别进行分析,得到每个用户终端标识对应的感兴趣功能。
服务器还可以针对每个用户终端上传的埋点数据进行分析,得到每个用户终端对应的一个或多个感兴趣功能,以此对每个用户进行个性化分析。服务器在对每个用户终端的感兴趣功能分析之后,服务器利用每个用户终端对应的感兴趣功能对应的静态资源,生成对应的差分包。服务器根据用户终端标识将静态资源对应的差分包分别发送至每个用户终端。由此可以使得每个用户终端分别利用静态资源对应的差分包对本地的静态资源进行增量更新。通过对每个用户终端的个性化的分析,以及对每个用户终端的静态资源进行个性化的更新,由此使得在不同用户在使用自己的感兴趣功能时,都可以使得相应页面的加载速度得到有效提升。
在一个实施例中,如图3所示,提供了一种应用程序的异常分析装置,包括:记录模块302、异常定位模块304和通信模块306,其中:
记录模块302,用于运行应用程序时,对应用程序的运行状况记录对应的日志文件。
异常定位模块304,用于当应用程序运行过程中发生异常时,调用异常分析模型;通过异常分析模型读取日志文件,利用读取到的日志信息进行异常定位,输出异常定位信息。
通信模块306,用于将异常定位信息上传至服务器。
在一个实施例中,异常分析模型具有对应的异常类型;异常定位模块还用于通过多个异常分析模型并行读取日志文件,得到与异常类型对应的日志信息;通过多个异常分析模型利用与异常类型对应的日志信息,对应用程序的异常状况并行进行异常分析,得到一个或多个异常结果;根据异常结果输出对应的异常定位信息。
在一个实施例中,异常定位模块还用于在异常结果中提取异常名称、报错代码位置以及对应的调用函数;将异常名称、报错代码位置以及对应的调用函数按照预设格式生成与异常类型对应的异常定位信息。
在一个实施例中,通信模块还用于当再次启动应用程序时,向服务器发送应用程序对应的更新请求;更新请求用于服务器获取应用程序更新后的安装包;接收服务器返回的更新后的安装包;该装置还包括:更新模块,用于利用更新后的安装包对本地的应用程序进行更新。
在一个实施例中,该装置还包括:解析模块,用于在应用程序再次启动之前,若接收到与应用程序对应的页面链接,且页面链接被触发时,解析页面链接对应的传递参数,对传递参数进行缓存;
跳转模块,用于当应用程序在更新后再次启动时,通过更新后的应用程序调用已缓存的传递参数,跳转至与页面链接对应的页面。
在一个实施例中,通信模块还用于采集埋点数据,将埋点数据上传至服务器;埋点数据用于服务器对用户感兴趣功能进行分析,利用感兴趣业务功能获取静态资源对应的差分包;接收服务器返回的更新后的安装包,安装包中包含静态资源对应的差分包;更新模块还用于利用更新后的安装包对本地的应用程序进行更新,以及利用差分包对本地的静态资源进行更新。
关于应用程序的异常分析装置的具体限定可以参见上文中对于应用程序的异常分析方法的限定,在此不再赘述。上述应用程序的异常分析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是用户终端,其内部结构图可以如图4所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的用户终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序的异常分析方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用程序的异常分析方法,所述方法包括:
运行应用程序,对所述应用程序的运行状况记录对应的日志文件;
当所述应用程序运行过程中发生异常时,调用异常分析模型;
通过所述异常分析模型读取所述日志文件,利用读取到的日志信息进行异常定位,输出异常定位信息;
将所述异常定位信息上传至服务器。
2.根据权利要求1所述的方法,其特征在于,所述异常分析模型具有对应的异常类型;通过所述异常分析模型读取所述日志文件,利用读取到的日志信息进行异常定位,输出异常定位信息包括:
通过多个异常分析模型并行读取所述日志文件,得到与异常类型对应的日志信息;
通过多个异常分析模型利用与异常类型对应的日志信息,对应用程序的异常状况并行进行异常分析,得到一个或多个异常结果;
根据所述异常结果输出对应的异常定位信息。
3.根据权利要求2所述的方法,其特征在于,根据所述异常结果输出对应的异常定位信息包括:
在所述异常结果中提取异常名称、报错代码位置以及对应的调用函数;
将所述异常名称、报错代码位置以及对应的调用函数按照预设格式生成与异常类型对应的异常定位信息。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
当再次启动应用程序时,向服务器发送所述应用程序对应的更新请求;所述更新请求用于服务器获取应用程序更新后的安装包;
接收服务器返回的更新后的安装包,利用所述更新后的安装包对本地的应用程序进行更新。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述应用程序再次启动之前,若接收到与所述应用程序对应的页面链接,且所述页面链接被触发时,解析所述页面链接对应的传递参数,对所述传递参数进行缓存;
当所述应用程序在更新后再次启动时,通过更新后的应用程序调用已缓存的传递参数,跳转至与所述页面链接对应的页面。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
采集埋点数据,将所述埋点数据上传至服务器;所述埋点数据用于服务器对用户感兴趣功能进行分析,利用所述感兴趣业务功能获取静态资源对应的差分包;
接收服务器返回的更新后的安装包,所述安装包中包含所述静态资源对应的差分包;
利用所述更新后的安装包对本地的应用程序进行更新,以及利用所述差分包对本地的静态资源进行更新。
7.一种应用程序的异常分析装置,其特征在于,所述装置包括:
记录模块,用于运行应用程序时,对所述应用程序的运行状况记录对应的日志文件;
异常定位模块,用于当所述应用程序运行过程中发生异常时,调用异常分析模型;通过所述异常分析模型读取所述日志文件,利用读取到的日志信息进行异常定位,输出异常定位信息;
通信模块,用于将所述异常定位信息上传至服务器。
8.根据权利要求7所述的装置,其特征在于,所述异常分析模型具有对应的异常类型;所述异常定位模块还用于通过多个异常分析模型并行读取所述日志文件,得到与异常类型对应的日志信息;通过多个异常分析模型利用与异常类型对应的日志信息,对应用程序的异常状况并行进行异常分析,得到一个或多个异常结果;根据所述异常结果输出对应的异常定位信息。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810180089.2A CN108491320A (zh) | 2018-03-05 | 2018-03-05 | 应用程序的异常分析方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810180089.2A CN108491320A (zh) | 2018-03-05 | 2018-03-05 | 应用程序的异常分析方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108491320A true CN108491320A (zh) | 2018-09-04 |
Family
ID=63341330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810180089.2A Pending CN108491320A (zh) | 2018-03-05 | 2018-03-05 | 应用程序的异常分析方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108491320A (zh) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445979A (zh) * | 2018-11-14 | 2019-03-08 | 广东小天才科技有限公司 | 一种可穿戴设备的异常日志上报方法及*** |
CN109491860A (zh) * | 2018-10-17 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 应用程序的异常检测方法、终端设备及介质 |
CN109522206A (zh) * | 2018-09-26 | 2019-03-26 | 平安科技(深圳)有限公司 | 异常数据定位方法、装置、计算机设备及存储介质 |
CN109558261A (zh) * | 2018-11-20 | 2019-04-02 | 广东小天才科技有限公司 | 一种可穿戴设备的异常日志获取方法及*** |
CN109669402A (zh) * | 2018-09-25 | 2019-04-23 | 平安普惠企业管理有限公司 | 异常监控方法、设备、装置及计算机可读存储介质 |
CN109766205A (zh) * | 2018-12-19 | 2019-05-17 | 益萃网络科技(中国)有限公司 | 异常处理方法、装置、计算机设备和存储介质 |
CN109766265A (zh) * | 2018-12-15 | 2019-05-17 | 深圳壹账通智能科技有限公司 | 智能运维方法、装置、计算机设备及存储介质 |
CN109800101A (zh) * | 2019-02-01 | 2019-05-24 | 北京字节跳动网络技术有限公司 | 小程序异常情况的上报方法、装置、终端设备和存储介质 |
CN109862379A (zh) * | 2018-12-29 | 2019-06-07 | 北京奇艺世纪科技有限公司 | 一种日志处理方法、装置、移动终端及存储介质 |
CN109960690A (zh) * | 2019-03-18 | 2019-07-02 | 新华三大数据技术有限公司 | 一种大数据集群的运行维护方法及装置 |
CN110069401A (zh) * | 2019-03-18 | 2019-07-30 | 平安科技(深圳)有限公司 | 基于数据建模的***测试异常定位方法及*** |
CN110149230A (zh) * | 2019-05-20 | 2019-08-20 | 拉扎斯网络科技(上海)有限公司 | 服务维护方法、装置、电子设备及可读存储介质 |
CN110162442A (zh) * | 2019-04-19 | 2019-08-23 | 平安科技(深圳)有限公司 | 一种***性能瓶颈定位方法及*** |
CN110287051A (zh) * | 2019-06-21 | 2019-09-27 | 四川盛趣时代网络科技有限公司 | 基于windows异常处理机制的主动防护方法 |
CN110543375A (zh) * | 2019-07-22 | 2019-12-06 | 深圳壹账通智能科技有限公司 | 赔付事务异常处理方法、装置、计算机设备和存储介质 |
CN111190761A (zh) * | 2019-12-27 | 2020-05-22 | 深圳前海达闼云端智能科技有限公司 | 日志输出方法、装置、存储介质及电子设备 |
CN111209134A (zh) * | 2020-01-02 | 2020-05-29 | 广州虎牙科技有限公司 | 基于日志信息的故障分析方法、装置、存储介质及设备 |
CN111324516A (zh) * | 2018-11-29 | 2020-06-23 | 北京京东尚科信息技术有限公司 | 自动记录异常事件的方法及装置、存储介质、电子设备 |
CN111459757A (zh) * | 2020-03-31 | 2020-07-28 | 中国银行股份有限公司 | 异常数据的分析方法及异常数据分析平台 |
CN111597093A (zh) * | 2019-02-20 | 2020-08-28 | 阿里巴巴集团控股有限公司 | 一种异常处理方法、装置及其设备 |
CN111796997A (zh) * | 2020-07-02 | 2020-10-20 | 北京字节跳动网络技术有限公司 | 日志信息处理方法、装置和电子设备 |
CN111949551A (zh) * | 2020-09-01 | 2020-11-17 | 网易(杭州)网络有限公司 | 应用程序测试方法、装置、设备及存储介质 |
CN111984444A (zh) * | 2020-07-24 | 2020-11-24 | 五八有限公司 | 一种异常信息的处理方法和装置 |
CN112114994A (zh) * | 2020-09-28 | 2020-12-22 | 平安普惠企业管理有限公司 | 异常处理方法、装置、设备及介质 |
CN112114991A (zh) * | 2020-09-18 | 2020-12-22 | 北京百度网讯科技有限公司 | 小程序的异常处理方法、装置、电子设备和存储介质 |
CN112416705A (zh) * | 2020-11-11 | 2021-02-26 | 北京五八信息技术有限公司 | 一种异常信息的处理方法和装置 |
CN112764962A (zh) * | 2021-01-29 | 2021-05-07 | 恒鸿达科技有限公司 | 一种应用版本异常修复的跟踪方法和*** |
CN112948224A (zh) * | 2019-12-23 | 2021-06-11 | 深圳市明源云科技有限公司 | 一种数据处理方法、装置、终端及存储介质 |
CN113591079A (zh) * | 2020-04-30 | 2021-11-02 | 中移互联网有限公司 | 获取异常应用安装包的方法、装置及电子设备 |
CN115168149A (zh) * | 2022-07-11 | 2022-10-11 | 广州市玄武无线科技股份有限公司 | 一种异常应用程序的检测方法及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236587A (zh) * | 2010-04-28 | 2011-11-09 | 上海中标软件有限公司 | firefox浏览器异常恢复方法 |
CN103365732A (zh) * | 2012-03-29 | 2013-10-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用程序异常的处理方法、***及移动终端 |
CN103377094A (zh) * | 2012-04-12 | 2013-10-30 | 金蝶软件(中国)有限公司 | 异常监测方法和装置 |
CN105955862A (zh) * | 2016-04-15 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种异常问题的监测定位方法及装置 |
CN106708734A (zh) * | 2016-12-13 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 软件异常检测方法及装置 |
CN106940679A (zh) * | 2017-02-23 | 2017-07-11 | 中科创达软件股份有限公司 | 数据处理方法及装置 |
CN107133063A (zh) * | 2017-03-10 | 2017-09-05 | 西安中科创达软件有限公司 | 一种定制化的软件升级方法及移动终端 |
-
2018
- 2018-03-05 CN CN201810180089.2A patent/CN108491320A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236587A (zh) * | 2010-04-28 | 2011-11-09 | 上海中标软件有限公司 | firefox浏览器异常恢复方法 |
CN103365732A (zh) * | 2012-03-29 | 2013-10-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用程序异常的处理方法、***及移动终端 |
CN103377094A (zh) * | 2012-04-12 | 2013-10-30 | 金蝶软件(中国)有限公司 | 异常监测方法和装置 |
CN105955862A (zh) * | 2016-04-15 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种异常问题的监测定位方法及装置 |
CN106708734A (zh) * | 2016-12-13 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 软件异常检测方法及装置 |
CN106940679A (zh) * | 2017-02-23 | 2017-07-11 | 中科创达软件股份有限公司 | 数据处理方法及装置 |
CN107133063A (zh) * | 2017-03-10 | 2017-09-05 | 西安中科创达软件有限公司 | 一种定制化的软件升级方法及移动终端 |
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669402A (zh) * | 2018-09-25 | 2019-04-23 | 平安普惠企业管理有限公司 | 异常监控方法、设备、装置及计算机可读存储介质 |
CN109522206A (zh) * | 2018-09-26 | 2019-03-26 | 平安科技(深圳)有限公司 | 异常数据定位方法、装置、计算机设备及存储介质 |
CN109522206B (zh) * | 2018-09-26 | 2023-09-26 | 平安科技(深圳)有限公司 | 异常数据定位方法、装置、计算机设备及存储介质 |
CN109491860A (zh) * | 2018-10-17 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 应用程序的异常检测方法、终端设备及介质 |
CN109445979B (zh) * | 2018-11-14 | 2022-05-03 | 广东小天才科技有限公司 | 一种可穿戴设备的异常日志上报方法及*** |
CN109445979A (zh) * | 2018-11-14 | 2019-03-08 | 广东小天才科技有限公司 | 一种可穿戴设备的异常日志上报方法及*** |
CN109558261A (zh) * | 2018-11-20 | 2019-04-02 | 广东小天才科技有限公司 | 一种可穿戴设备的异常日志获取方法及*** |
CN109558261B (zh) * | 2018-11-20 | 2022-05-03 | 广东小天才科技有限公司 | 一种可穿戴设备的异常日志获取方法及*** |
CN111324516A (zh) * | 2018-11-29 | 2020-06-23 | 北京京东尚科信息技术有限公司 | 自动记录异常事件的方法及装置、存储介质、电子设备 |
CN109766265A (zh) * | 2018-12-15 | 2019-05-17 | 深圳壹账通智能科技有限公司 | 智能运维方法、装置、计算机设备及存储介质 |
CN109766205A (zh) * | 2018-12-19 | 2019-05-17 | 益萃网络科技(中国)有限公司 | 异常处理方法、装置、计算机设备和存储介质 |
CN109862379A (zh) * | 2018-12-29 | 2019-06-07 | 北京奇艺世纪科技有限公司 | 一种日志处理方法、装置、移动终端及存储介质 |
CN109800101A (zh) * | 2019-02-01 | 2019-05-24 | 北京字节跳动网络技术有限公司 | 小程序异常情况的上报方法、装置、终端设备和存储介质 |
CN111597093B (zh) * | 2019-02-20 | 2024-04-16 | 阿里巴巴集团控股有限公司 | 一种异常处理方法、装置及其设备 |
CN111597093A (zh) * | 2019-02-20 | 2020-08-28 | 阿里巴巴集团控股有限公司 | 一种异常处理方法、装置及其设备 |
CN109960690A (zh) * | 2019-03-18 | 2019-07-02 | 新华三大数据技术有限公司 | 一种大数据集群的运行维护方法及装置 |
CN110069401A (zh) * | 2019-03-18 | 2019-07-30 | 平安科技(深圳)有限公司 | 基于数据建模的***测试异常定位方法及*** |
CN110162442B (zh) * | 2019-04-19 | 2022-09-27 | 平安科技(深圳)有限公司 | 一种***性能瓶颈定位方法及*** |
WO2020211359A1 (zh) * | 2019-04-19 | 2020-10-22 | 平安科技(深圳)有限公司 | ***性能瓶颈定位方法及*** |
CN110162442A (zh) * | 2019-04-19 | 2019-08-23 | 平安科技(深圳)有限公司 | 一种***性能瓶颈定位方法及*** |
CN110149230B (zh) * | 2019-05-20 | 2021-03-02 | 拉扎斯网络科技(上海)有限公司 | 服务维护方法、装置、电子设备及可读存储介质 |
CN110149230A (zh) * | 2019-05-20 | 2019-08-20 | 拉扎斯网络科技(上海)有限公司 | 服务维护方法、装置、电子设备及可读存储介质 |
CN110287051A (zh) * | 2019-06-21 | 2019-09-27 | 四川盛趣时代网络科技有限公司 | 基于windows异常处理机制的主动防护方法 |
CN110543375B (zh) * | 2019-07-22 | 2023-03-10 | 深圳壹账通智能科技有限公司 | 赔付事务异常处理方法、装置、计算机设备和存储介质 |
CN110543375A (zh) * | 2019-07-22 | 2019-12-06 | 深圳壹账通智能科技有限公司 | 赔付事务异常处理方法、装置、计算机设备和存储介质 |
CN112948224B (zh) * | 2019-12-23 | 2023-10-10 | 深圳市明源云科技有限公司 | 一种数据处理方法、装置、终端及存储介质 |
CN112948224A (zh) * | 2019-12-23 | 2021-06-11 | 深圳市明源云科技有限公司 | 一种数据处理方法、装置、终端及存储介质 |
CN111190761A (zh) * | 2019-12-27 | 2020-05-22 | 深圳前海达闼云端智能科技有限公司 | 日志输出方法、装置、存储介质及电子设备 |
CN111209134B (zh) * | 2020-01-02 | 2024-03-01 | 广州虎牙科技有限公司 | 基于日志信息的故障分析方法、装置、存储介质及设备 |
CN111209134A (zh) * | 2020-01-02 | 2020-05-29 | 广州虎牙科技有限公司 | 基于日志信息的故障分析方法、装置、存储介质及设备 |
CN111459757A (zh) * | 2020-03-31 | 2020-07-28 | 中国银行股份有限公司 | 异常数据的分析方法及异常数据分析平台 |
CN113591079A (zh) * | 2020-04-30 | 2021-11-02 | 中移互联网有限公司 | 获取异常应用安装包的方法、装置及电子设备 |
CN113591079B (zh) * | 2020-04-30 | 2023-08-15 | 中移互联网有限公司 | 获取异常应用安装包的方法、装置及电子设备 |
CN111796997A (zh) * | 2020-07-02 | 2020-10-20 | 北京字节跳动网络技术有限公司 | 日志信息处理方法、装置和电子设备 |
CN111984444A (zh) * | 2020-07-24 | 2020-11-24 | 五八有限公司 | 一种异常信息的处理方法和装置 |
CN111949551A (zh) * | 2020-09-01 | 2020-11-17 | 网易(杭州)网络有限公司 | 应用程序测试方法、装置、设备及存储介质 |
CN112114991B (zh) * | 2020-09-18 | 2024-01-16 | 北京百度网讯科技有限公司 | 小程序的异常处理方法、装置、电子设备和存储介质 |
CN112114991A (zh) * | 2020-09-18 | 2020-12-22 | 北京百度网讯科技有限公司 | 小程序的异常处理方法、装置、电子设备和存储介质 |
CN112114994B (zh) * | 2020-09-28 | 2024-02-27 | 严梅(北京)文化科技发展有限公司 | 异常处理方法、装置、设备及介质 |
CN112114994A (zh) * | 2020-09-28 | 2020-12-22 | 平安普惠企业管理有限公司 | 异常处理方法、装置、设备及介质 |
CN112416705A (zh) * | 2020-11-11 | 2021-02-26 | 北京五八信息技术有限公司 | 一种异常信息的处理方法和装置 |
CN112764962B (zh) * | 2021-01-29 | 2022-05-17 | 恒鸿达科技有限公司 | 一种应用版本异常修复的跟踪方法和*** |
CN112764962A (zh) * | 2021-01-29 | 2021-05-07 | 恒鸿达科技有限公司 | 一种应用版本异常修复的跟踪方法和*** |
CN115168149A (zh) * | 2022-07-11 | 2022-10-11 | 广州市玄武无线科技股份有限公司 | 一种异常应用程序的检测方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108491320A (zh) | 应用程序的异常分析方法、装置、计算机设备和存储介质 | |
CN109901834B (zh) | 文档页面生成方法、装置、计算机设备和存储介质 | |
CN109445842A (zh) | 规则生成方法、装置、计算机设备和存储介质 | |
CN108446116A (zh) | 应用程序页面的生成方法、装置、计算机设备和存储介质 | |
CN112241506B (zh) | 用户行为的回溯方法、装置、设备及*** | |
CN108418797A (zh) | 网页访问方法、装置、计算机设备和存储介质 | |
CN110569428A (zh) | 一种推荐模型的构建方法、装置及设备 | |
CN109271356A (zh) | 日志文件格式处理方法、装置、计算机设备和存储介质 | |
CN113918738B (zh) | 多媒体资源推荐方法、装置、电子设备及存储介质 | |
CN113420203B (zh) | 对象推荐方法、装置、电子设备及存储介质 | |
CN110852752B (zh) | 充值订单撤销异常处理方法、装置、设备和存储介质 | |
CN116911572A (zh) | 页面自动化装配方法、***、计算机设备及存储介质 | |
CN116185425A (zh) | 基于节点组合的事件流程编排方法、装置、设备及介质 | |
CN114626352B (zh) | 报表自动化生成方法、装置、计算机设备及存储介质 | |
CN116048609A (zh) | 配置文件更新方法、装置、计算机设备和存储介质 | |
CN113032647B (zh) | 数据分析*** | |
CN114661826A (zh) | 基于区块链的数据处理方法、装置及设备 | |
CN111221817B (zh) | 业务信息数据存储方法、装置、计算机设备及存储介质 | |
CN113076262A (zh) | 网页自动化测试方法及装置 | |
CN113298636B (zh) | 一种基于模拟资源申请的风险控制方法、装置和*** | |
CN110222290A (zh) | 页面生成方法、装置、计算机设备和存储介质 | |
CN116149750A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110472177A (zh) | 页面信息上传方法、***、计算机设备和存储介质 | |
CN116701488A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN116860614A (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: 20180904 |