崩溃告警方法、装置、系统、设备及可读存储介质与流程

allin2023-03-17  58



1.本技术涉及计算机及数据处理技术领域,具体涉及一种崩溃告警方法、装置、系统、设备及可读存储介质。


背景技术:

2.如今,随着移动终端技术的蓬勃发展,出现了各种高性能的移动终端,给人们的生活带来了极大的便利。但是,在android应用在开发过程中,有一定概率存在由于代码逻辑不完善导致出现漏洞的情况。而在android应用发布之后,如果不小心触发漏洞,则会导致android应用崩溃,用户体验极差,且开发人员往往无法在第一时间及时有效地获取漏洞的相关信息,例如内存使用情况、android线程堆栈和设备状态等信息,导致无法及时有效地处理漏洞。
3.在构思及实现本技术过程中,本技术的发明人发现,现有技术在android应用发生崩溃后,一般会将崩溃时应用的相关运行情况上传至崩溃收集后台中,再通过开发人员定期登录崩溃收集平台进行查看和处理,但这种处理方式较为耗时,无法及时有效对信息进行处理,导致时效性较差的问题。
4.前面的叙述在于提供一般的背景信息,并不一定构成现有技术。


技术实现要素:

5.针对上述技术问题,本技术提供一种崩溃告警方法、装置、系统、设备及可读存储介质,通过获取应用崩溃信息并进行分析归类和崩溃计数,能够在判断应用发生异常时自动触发告警,并提高应用崩溃告警的时效性和精准性。
6.为解决上述技术问题,本技术提供一种崩溃告警方法,至少包括如下步骤:获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
7.可选地,所述获取应用崩溃信息集合,包括:实时获取应用崩溃时生成的初始崩溃数据,并对所述初始崩溃数据进行编号;其中,所述初始崩溃数据包括崩溃堆栈和终端设备运行状态信息。
8.可选地,所述对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值,包括:对所述应用崩溃信息集合中的崩溃堆栈进行分析归类;采用散列算法对进行分析归类后的崩溃堆栈进行特征值计算,得到各个崩溃堆栈对应的特征值。
9.可选地,所述对所述应用崩溃信息集合中的崩溃堆栈进行分析归类,包括:通过正则表达式先后去除所述崩溃堆栈中源代码的行号和下标。
10.可选地,所述根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到所述特征值对应的崩溃计数值,包括:通过信息队列将所述特征值推送至实时计算平台进行崩溃计数;实时统计所述特征值在预设时间段内的出现的崩溃次数,生成所述特征值对应的崩溃计数值。
11.可选地,所述当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警,包括:当判断任一特征值对应的崩溃计数值大于预设告警值时,根据该特征值对应的崩溃数据生成对应的崩溃告警信息;发出所述崩溃告警信息以进行崩溃告警。
12.相应地,本技术还提供了一种崩溃告警装置,包括:获取模块,用于获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;分析模块,用于在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;统计模块,用于根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;告警模块,用于当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
13.本技术还提供一种崩溃告警系统,包括应用端、崩溃监控平台和实时计算平台;其中,应用端,用于获取应用崩溃信息集合并上传至崩溃监控平台,所述应用崩溃信息集合至少包括一个崩溃数据;崩溃监控平台,用于接收所述应用端上传的应用崩溃信息集合,并对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值,并将分析归类后的应用崩溃信息集合及其对应特征值发送至实时计算平台;以及用于接收实时计算平台发送的预设时间段内所述特征值对应的崩溃计数值,生成对应的崩溃告警信息进行崩溃告警;实时计算平台,用于根据接收所述崩溃监控平台发送的分析归类后的应用崩溃信息集合及其对应特征值,进行实时崩溃计算,并将预设时间段内所述特征值对应的崩溃计数值发送至所述崩溃监控平台。
14.本技术还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的崩溃告警方法的步骤。
15.本技术还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的崩溃告警方法的步骤。
16.实施本发明实施例,具有如下有益效果:如上所述,本技术提供的一种崩溃告警方法、装置、系统、设备及可读存储介质,所述方法包括:首先获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;
在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;然后根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;最后,当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。本技术的崩溃告警方法,通过自动获取终端设备的应用崩溃信息并进行分析归类和崩溃计数,能够在判断应用发生异常时自动触发告警,使得相同的崩溃在同一预设时间段内仅生成一次告警,降低重复告警的频率;当根据崩溃计数确定相同的崩溃的产生频率达到临界值时,从而自动触发告警,并提高应用崩溃告警的时效性和精准性。
附图说明
17.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。为了更清楚地说明本技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1是本技术实施例提供的崩溃告警方法的第一种实施方式的流程示意图;图2是本技术实施例提供的崩溃告警方法的第二种实施方式的流程示意图;图3是本技术实施例提供的崩溃告警装置的结构示意图;图4是本技术实施例提供的崩溃告警系统的结构示意图;图5是本技术实施例提供的计算机设备的结构示意框图。
19.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
20.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
21.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本技术不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
22.应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信
息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时"”或“响应于确定”。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。本技术使用的术语“或”、“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。例如,“包括以下至少一个:a、b、c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a和b和c”,再如,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a和b和c”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
23.应该理解的是,虽然本技术实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
24.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
25.需要说明的是,在本文中,采用了诸如s1、s2等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行s2后执行s1等,但这些均应在本技术的保护范围之内。
26.应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
27.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或者“单元”的后缀仅为了有利于本技术的说明,其本身没有特定的意义。因此,“模块”、“部件”或者“单元”可以混合地使用。
28.本技术实施例可以应用于服务器中,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
29.首先介绍本技术可以提供的应用场景,如提供一种崩溃告警方法、装置、系统、设备及可读存储介质,能够自动获取终端设备的应用崩溃信息并进行分析归类和崩溃计数,从而在判断应用发生异常时自动触发告警,提高应用崩溃告警的时效性和精准性。
30.请参阅图1,图1是本技术实施例提供的崩溃告警方法的流程示意图。该崩溃告警方法具体可以包括:s1.获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据。
31.具体的,对于步骤s1,首先自动捕获终端设备的android应用崩溃时产生的基本信息,在发生应用崩溃后,会开始收集终端设备(例如手机)的运行状态、崩溃堆栈、内存和cpu使用率等数据,收集完成后,将上述崩溃数据上传至崩溃监控平台。优选地,可基于现有的
崩溃收集平台收集终端设备的应用崩溃数据,生成应用崩溃信息集合。
32.可选地,在一些实施例中,对于步骤s1,具体可以包括:实时获取应用崩溃时生成的初始崩溃数据,并对初始崩溃数据进行编号;其中,所述初始崩溃数据包括崩溃堆栈和终端设备运行状态信息。
33.具体的,在实时获取应用崩溃时生成的初始崩溃数据之后,包括崩溃堆栈和发生崩溃时终端设备的当前运行状态信息(内存和cpu使用率等数据),对初始状态的崩溃数据进行编号。
34.s2.在将应用崩溃信息集合上传至崩溃监控平台后,对应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值。
35.具体的,对于步骤s2,在将步骤s1获取的应用崩溃信息集合上传至崩溃监控平台之后,服务端将应用崩溃信息集合保存至各种可持久化的数据库,再对该应用崩溃信息集合中的崩溃堆栈进行分析归类处理,最后计算各个经过分析归类处理后的崩溃堆栈的特征值,从而得到各个崩溃堆栈对应的特征值,并发送至实时计算平台。
36.可选地,在一些实施例中,对于步骤s2,具体可以包括:s21.对应用崩溃信息集合中的崩溃堆栈进行分析归类;s22.采用散列算法对进行分析归类后的崩溃堆栈进行特征值计算,得到各个崩溃堆栈对应的特征值。
37.可选地,在一些实施例中,对于步骤s21,具体可以包括:通过正则表达式先后去除崩溃堆栈中源代码的行号和下标。
38.具体的,首先对应用崩溃信息集合中的已经编号的若干个崩溃堆栈进行自动分析归类处理,将同一类型的崩溃堆栈分类至同一集合中,在对崩溃堆栈进行谷类分析后,可以使得相同类型的崩溃在同一时间窗口内仅会生成一次告警,从而降低了重复告警的频率。其中,应用崩溃信息集合中的每个崩溃堆栈都包含了若干行源代码。
39.但由于同一个应用存在多个不同版本,不同版本在产生崩溃时,虽然堆栈顺序相同,但其源代码行号可能有所不同,因此在对崩溃堆栈进行分析归类后,还需要去除崩溃堆栈中的源代码行号,通过使用正则表达式对满足预设条件的源代码,删除其行号数据,例如包含文件行号的android源代码格式为:xxx.java:行号,则使用的正则表达式为:\.java:(\d)+,从而解决不同版本应用间包含堆栈源代码中包含行号的差异的问题。
40.另外,在android应用的崩溃类型中,还包括一类越界崩溃。越界崩溃在堆栈中,有可能会产生不同的下标索引,但实质上还是属于同一类崩溃,如不剔除下标,对分析归类产生的特征值会产生影响。因此,在去除崩溃堆栈中的源代码行号之后,还需要去除源代码下标,通过正则表达式将不固定的源代码中不固定的值统一为固定值,避免对后续分类归类后的崩溃堆栈的特征值造成影响,例如通过正则表达式(^.*indexoutofboundsexception.*$)对源代码中的length=xx; index=yy进行下标索引的去除,当正则表达式找到了这行源代码后,将其替换为 length=0; index=0。通过对崩溃堆栈中的源代码的下标索引进行去除,解决不同的越界崩溃差异的问题。
41.在对分析归类的崩溃堆栈中源代码进行行号和下标的去除后,对崩溃堆栈的源代码进行特征值计算,计算出各个崩溃堆栈对应的特征值。优选地,本实施例中采取的特征值算法为散列算法,包括但不限于md5、sha-1和sha-256等算法,对于相同的文本,采取不同的
散列算法其计算结果始终是相同的。
42.s3.根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值。
43.具体的,对于步骤s3,在将分析归类后的应用崩溃信息集合中的各个崩溃堆栈及其对应的特征值发送至实时计算平台后,根据各个崩溃堆栈及其对应的特征值进行预设时间段内的实时崩溃计数,从而得到各个特征值对应的崩溃计数值。
44.可选地,在一些实施例中,对于步骤s3,具体可以包括:s31.通过信息队列将特征值推送至实时计算平台进行崩溃计数;s32.实时统计特征值在预设时间段内的出现的崩溃次数,生成特征值对应的崩溃计数值。
45.具体的,使用消息队列方式将各个崩溃堆栈及其对应的特征值推送至实时计算平台进行崩溃计数,其中,消息队列包括但不限于kafka和rabbitmq等消息队列组件。实时计算平台接收到特征值后,开始时间窗口(在预设时间段内开始计时),对于相同的特征值,如果存在有开启状态的时间窗口,则只开启一次。通过实时计算平台不断的接收来自崩溃监控平台的特征值,进行计数。实时计算平台关闭时间窗口,将特征值与崩溃计数使用消息队列推送至崩溃监控平台。
46.s4.当崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
47.具体的,对于步骤s4,崩溃监控平台根据接收到的特征值与崩溃计数值,判断崩溃计数值是否大于临界值(预设告警值),如果大于,则生成对应的崩溃告警信息,通过即时消息将崩溃数据发送给android应用开发人员进行处理。
48.可选地,在一些实施例中,对于步骤s4,具体可以包括:s41.当判断任一特征值对应的崩溃计数值大于预设告警值时,根据该特征值对应的崩溃数据生成对应的崩溃告警信息;s42.发出崩溃告警信息以进行崩溃告警。
49.具体的,当判断任一特征值在单位时间窗口内的崩溃计数值大于预设告警值时,自动触发告警,根据该特征值及其对应的崩溃数据自动生成对应的崩溃告警信息,并通过崩溃监控平台件生成的崩溃告警信息通过即时通许方式发送至应用开发人员,从而使得应用开发人员及时对崩溃数据进行处理,有效提高开发人员对应用崩溃的修复效率,提高应用崩溃告警的时效性。其中,即时通信方式包括但不限于短信、邮件以及微信等即时通信方式;应用开发人员也可根据实际需求自主配置告警临界值和时间窗口,提高应用崩溃告警的灵活性。
50.在具体的实施例中,如图2所示,本实施例还提供了崩溃告警方法的第二种实施方式,具体步骤包括:通过android应用捕获崩溃信息,收集崩溃时手机的运行状态和崩溃堆栈,上传崩溃信息至崩溃监控平台;通过崩溃监控平台接收崩溃信息,对崩溃堆栈进行分析归类,以及去除崩溃堆栈中的源代码行号和下标索引,然后生成崩溃堆栈对应的特征值,将分析归类后的崩溃信息发送至实时计算平台;实时计算平台对同一特征值,在首次接收时,开启时间窗口并开始计时;关闭时间窗口,结束计时,统计同一特征值发生崩溃次数,将特征值与崩溃发生次数返回至崩溃监控平台;崩溃监控平台接收特征值与崩溃次数,判断崩溃次数是否达到临界值,若是,则触发告警发送即时信息,若否,则结束本次流程。
51.由上可知,本技术实施例提供的崩溃告警方法,包括:首先获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;然后根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;最后,当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
52.可见,本技术实施例的崩溃告警方法,通过自动获取终端设备的应用崩溃信息并进行分析归类和崩溃计数,能够在判断应用发生异常时自动触发告警,使得相同的崩溃在同一预设时间段内仅生成一次告警,降低相关崩溃场景重复告警的频率;当根据崩溃计数确定相同的崩溃的产生频率达到临界值时,从而自动触发告警,并提高应用崩溃告警的时效性和精准性,有利于提高开发人员对崩溃的修复效率,从而更好地提高应用使用者的用户体验感。
53.相应的,本技术还提供一种崩溃告警装置,请参阅图3,图3是本技术提供的崩溃告警装置的结构示意图,具体可以包括获取模块100、分析模块200、统计模块300和告警模块400;其中,获取模块100,用于获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据。
54.具体的,对于获取模块100,首先自动捕获终端设备的android应用崩溃时产生的基本信息,在发生应用崩溃后,会开始收集终端设备(例如手机)的运行状态、崩溃堆栈、内存和cpu使用率等数据,收集完成后,将上述崩溃数据上传至崩溃监控平台。
55.分析模块200,用于在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值。
56.具体的,对于分析模块200,在将获取的应用崩溃信息集合上传至崩溃监控平台之后,服务端将应用崩溃信息集合保存至各种可持久化的数据库,再对该应用崩溃信息集合中的崩溃堆栈进行分析归类处理,最后计算各个经过分析归类处理后的崩溃堆栈的特征值,从而得到各个崩溃堆栈对应的特征值,并发送至实时计算平台。
57.统计模块300,用于根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值。
58.具体的,对于统计模块300,在将分析归类后的应用崩溃信息集合中的各个崩溃堆栈及其对应的特征值发送至实时计算平台后,根据各个崩溃堆栈及其对应的特征值进行预设时间段内的实时崩溃计数,从而得到各个特征值对应的崩溃计数值。
59.告警模块400,用于当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
60.具体的,对于告警模块400,崩溃监控平台根据接收的特征值与崩溃计数值,判断崩溃计数值是否大于临界值(预设告警值),如果大于,则生成对应的崩溃告警信息,通过即时消息将崩溃数据发送给android应用开发人员进行处理。
61.综上所述,本技术实施例提供的崩溃告警装置,通过获取模块100获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;通过分析模块200在将应用崩溃信息集合上传至崩溃监控平台后,对应用崩溃信息集合先后进行崩溃堆栈分析和特征值计
算,得到崩溃堆栈对应的特征值;统计模块300根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内特征值对应的崩溃计数值;通过告警模块400在判断崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。可见,本技术实施例的崩溃告警装置,通过自动获取终端设备的应用崩溃信息并进行分析归类和崩溃计数,能够在判断应用发生异常时自动触发告警,使得相同的崩溃在同一预设时间段内仅生成一次告警,降低相关崩溃场景重复告警的频率;当根据崩溃计数确定相同的崩溃的产生频率达到临界值时,从而自动触发告警,并提高应用崩溃告警的时效性和精准性,有利于提高开发人员对崩溃的修复效率,从而更好地提高应用使用者的用户体验感。
62.如图4所示,本技术实施例还提供了一种崩溃告警系统,包括应用端10、崩溃监控平台20和实时计算平台30;其中,应用端10,用于获取应用崩溃信息集合并上传至崩溃监控平台20,所述应用崩溃信息集合至少包括一个崩溃数据;崩溃监控平台20,用于接收所述应用端10上传的应用崩溃信息集合,并对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值,并将分析归类后的应用崩溃信息集合及其对应特征值发送至实时计算平台30;以及用于接收实时计算平台30发送的预设时间段内所述特征值对应的崩溃计数值,生成对应的崩溃告警信息进行崩溃告警;实时计算平台30,用于根据接收所述崩溃监控平台20发送的分析归类后的应用崩溃信息集合及其对应特征值,进行实时崩溃计算,并将预设时间段内所述特征值对应的崩溃计数值发送至所述崩溃监控平台20。
63.参照图5,本技术实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存崩溃告警方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种崩溃告警方法。所述崩溃告警方法,包括:首先获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;然后根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;最后,当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
64.本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种崩溃告警方法,包括步骤:首先获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;然后根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;最后,当所述崩溃计数值大于预设
告警值时,生成对应的崩溃告警信息进行崩溃告警。
65.上述执行的崩溃告警方法,通过自动获取终端设备的应用崩溃信息并进行分析归类和崩溃计数,能够在判断应用发生异常时自动触发告警,使得相同的崩溃在同一预设时间段内仅生成一次告警,降低相关崩溃场景重复告警的频率;当根据崩溃计数确定相同的崩溃的产生频率达到临界值时,从而自动触发告警,并提高应用崩溃告警的时效性和精准性,有利于提高开发人员对崩溃的修复效率,从而更好地提高应用使用者的用户体验感。
66.可以理解,上述场景仅是作为示例,并不构成对于本技术实施例提供的技术方案的应用场景的限定,本技术的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
67.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
68.本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
69.本技术实施例设备中的单元可以根据实际需要进行合并、划分和删减。
70.在本技术中,对于相同或相似的术语概念、技术方案和/或应用场景描述,一般只在第一次出现时进行详细描述,后面再重复出现时,为了简洁,一般未再重复阐述,在理解本技术技术方案等内容时,对于在后未详细描述的相同或相似的术语概念、技术方案和/或应用场景描述等,可以参考其之前的相关详细描述。
71.在本技术中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
72.本技术技术方案的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本技术记载的范围。
73.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本技术每个实施例的方法。
74.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络,或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,dvd),或者半导体介质(例如固态存储盘solid state disk (ssd))等。
75.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。

技术特征:
1.一种崩溃告警方法,其特征在于,包括如下步骤:获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。2.根据权利要求1所述的崩溃告警方法,其特征在于,所述获取应用崩溃信息集合,包括:实时获取应用崩溃时生成的初始崩溃数据,并对所述初始崩溃数据进行编号;其中,所述初始崩溃数据包括崩溃堆栈和终端设备运行状态信息。3.根据权利要求1所述的崩溃告警方法,其特征在于,所述对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值,包括:对所述应用崩溃信息集合中的崩溃堆栈进行分析归类;采用散列算法对进行分析归类后的崩溃堆栈进行特征值计算,得到各个崩溃堆栈对应的特征值。4.根据权利要求3所述的崩溃告警方法,其特征在于,所述对所述应用崩溃信息集合中的崩溃堆栈进行分析归类,包括:通过正则表达式先后去除所述崩溃堆栈中源代码的行号和下标。5.根据权利要求1所述的崩溃告警方法,其特征在于,所述根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到所述特征值对应的崩溃计数值,包括:通过信息队列将所述特征值推送至实时计算平台进行崩溃计数;实时统计所述特征值在预设时间段内的出现的崩溃次数,生成所述特征值对应的崩溃计数值。6.根据权利要求1所述的崩溃告警方法,其特征在于,所述当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警,包括:当判断任一特征值对应的崩溃计数值大于预设告警值时,根据该特征值对应的崩溃数据生成对应的崩溃告警信息;发出所述崩溃告警信息以进行崩溃告警。7.一种崩溃告警装置,其特征在于,包括:获取模块,用于获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;分析模块,用于在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;统计模块,用于根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;告警模块,用于当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
8.一种崩溃告警系统,其特征在于,包括应用端、崩溃监控平台和实时计算平台;其中,应用端,用于获取应用崩溃信息集合并上传至崩溃监控平台,所述应用崩溃信息集合至少包括一个崩溃数据;崩溃监控平台,用于接收所述应用端上传的应用崩溃信息集合,并对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值,并将分析归类后的应用崩溃信息集合及其对应特征值发送至实时计算平台;以及用于接收实时计算平台发送的预设时间段内所述特征值对应的崩溃计数值,生成对应的崩溃告警信息进行崩溃告警;实时计算平台,用于根据接收所述崩溃监控平台发送的分析归类后的应用崩溃信息集合及其对应特征值,进行实时崩溃计算,并将预设时间段内所述特征值对应的崩溃计数值发送至所述崩溃监控平台。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的崩溃告警方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的崩溃告警方法的步骤。

技术总结
本申请提出了一种崩溃告警方法、装置、系统、设备及可读存储介质。该方法包括:获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;在将应用崩溃信息集合上传至崩溃监控平台后,对应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内特征值对应的崩溃计数值;当崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。本申请通过获取应用崩溃信息并进行分析归类和崩溃计数,能够在判断应用发生异常时自动触发告警,并提高应用崩溃告警的时效性和精准性。效性和精准性。效性和精准性。


技术研发人员:李宇杰
受保护的技术使用者:深圳依时货拉拉科技有限公司
技术研发日:2022.05.25
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-6279.html

最新回复(0)