CN114706737B - 崩溃告警方法、装置、系统、设备及可读存储介质 - Google Patents

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

Info

Publication number
CN114706737B
CN114706737B CN202210571694.9A CN202210571694A CN114706737B CN 114706737 B CN114706737 B CN 114706737B CN 202210571694 A CN202210571694 A CN 202210571694A CN 114706737 B CN114706737 B CN 114706737B
Authority
CN
China
Prior art keywords
crash
application
alarm
characteristic value
information set
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.)
Active
Application number
CN202210571694.9A
Other languages
English (en)
Other versions
CN114706737A (zh
Inventor
李宇杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yishi Huolala Technology Co Ltd
Original Assignee
Shenzhen Yishi Huolala Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Yishi Huolala Technology Co Ltd filed Critical Shenzhen Yishi Huolala Technology Co Ltd
Priority to CN202210571694.9A priority Critical patent/CN114706737B/zh
Publication of CN114706737A publication Critical patent/CN114706737A/zh
Application granted granted Critical
Publication of CN114706737B publication Critical patent/CN114706737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

崩溃告警方法、装置、系统、设备及可读存储介质
技术领域
本申请涉及计算机及数据处理技术领域,具体涉及一种崩溃告警方法、装置、系统、设备及可读存储介质。
背景技术
如今,随着移动终端技术的蓬勃发展,出现了各种高性能的移动终端,给人们的生活带来了极大的便利。但是,在Android应用在开发过程中,有一定概率存在由于代码逻辑不完善导致出现漏洞的情况。而在Android应用发布之后,如果不小心触发漏洞,则会导致Android应用崩溃,用户体验极差,且开发人员往往无法在第一时间及时有效地获取漏洞的相关信息,例如内存使用情况、Android线程堆栈和设备状态等信息,导致无法及时有效地处理漏洞。
在构思及实现本申请过程中,本申请的发明人发现,现有技术在Android应用发生崩溃后,一般会将崩溃时应用的相关运行情况上传至崩溃收集后台中,再通过开发人员定期登录崩溃收集平台进行查看和处理,但这种处理方式较为耗时,无法及时有效对信息进行处理,导致时效性较差的问题。
前面的叙述在于提供一般的背景信息,并不一定构成现有技术。
发明内容
针对上述技术问题,本申请提供一种崩溃告警方法、装置、系统、设备及可读存储介质,通过获取应用崩溃信息并进行分析归类和崩溃计数,能够在判断应用发生异常时自动触发告警,并提高应用崩溃告警的时效性和精准性。
为解决上述技术问题,本申请提供一种崩溃告警方法,至少包括如下步骤:
获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;
在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;
根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;
当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
可选地,所述获取应用崩溃信息集合,包括:
实时获取应用崩溃时生成的初始崩溃数据,并对所述初始崩溃数据进行编号;其中,所述初始崩溃数据包括崩溃堆栈和终端设备运行状态信息。
可选地,所述对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值,包括:
对所述应用崩溃信息集合中的崩溃堆栈进行分析归类;
采用散列算法对进行分析归类后的崩溃堆栈进行特征值计算,得到各个崩溃堆栈对应的特征值。
可选地,所述对所述应用崩溃信息集合中的崩溃堆栈进行分析归类,包括:
通过正则表达式先后去除所述崩溃堆栈中源代码的行号和下标。
可选地,所述根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到所述特征值对应的崩溃计数值,包括:
通过信息队列将所述特征值推送至实时计算平台进行崩溃计数;
实时统计所述特征值在预设时间段内的出现的崩溃次数,生成所述特征值对应的崩溃计数值。
可选地,所述当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警,包括:
当判断任一特征值对应的崩溃计数值大于预设告警值时,根据该特征值对应的崩溃数据生成对应的崩溃告警信息;
发出所述崩溃告警信息以进行崩溃告警。
相应地,本申请还提供了一种崩溃告警装置,包括:
获取模块,用于获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;
分析模块,用于在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;
统计模块,用于根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;
告警模块,用于当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
本申请还提供一种崩溃告警系统,包括应用端、崩溃监控平台和实时计算平台;
其中,应用端,用于获取应用崩溃信息集合并上传至崩溃监控平台,所述应用崩溃信息集合至少包括一个崩溃数据;
崩溃监控平台,用于接收所述应用端上传的应用崩溃信息集合,并对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值,并将分析归类后的应用崩溃信息集合及其对应特征值发送至实时计算平台;以及用于接收实时计算平台发送的预设时间段内所述特征值对应的崩溃计数值,生成对应的崩溃告警信息进行崩溃告警;
实时计算平台,用于根据接收所述崩溃监控平台发送的分析归类后的应用崩溃信息集合及其对应特征值,进行实时崩溃计算,并将预设时间段内所述特征值对应的崩溃计数值发送至所述崩溃监控平台。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的崩溃告警方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的崩溃告警方法的步骤。
实施本发明实施例,具有如下有益效果:
如上所述,本申请提供的一种崩溃告警方法、装置、系统、设备及可读存储介质,所述方法包括:首先获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;然后根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;最后,当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。本申请的崩溃告警方法,通过自动获取终端设备的应用崩溃信息并进行分析归类和崩溃计数,能够在判断应用发生异常时自动触发告警,使得相同的崩溃在同一预设时间段内仅生成一次告警,降低重复告警的频率;当根据崩溃计数确定相同的崩溃的产生频率达到临界值时,从而自动触发告警,并提高应用崩溃告警的时效性和精准性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的崩溃告警方法的第一种实施方式的流程示意图;
图2是本申请实施例提供的崩溃告警方法的第二种实施方式的流程示意图;
图3是本申请实施例提供的崩溃告警装置的结构示意图;
图4是本申请实施例提供的崩溃告警系统的结构示意图;
图5是本申请实施例提供的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时"”或“响应于确定”。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。本申请使用的术语“或”、“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。例如,“包括以下至少一个: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”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,在本文中,采用了诸如S1、S2等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行S2后执行S1等,但这些均应在本申请的保护范围之内。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或者“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或者“单元”可以混合地使用。
本申请实施例可以应用于服务器中,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
首先介绍本申请可以提供的应用场景,如提供一种崩溃告警方法、装置、系统、设备及可读存储介质,能够自动获取终端设备的应用崩溃信息并进行分析归类和崩溃计数,从而在判断应用发生异常时自动触发告警,提高应用崩溃告警的时效性和精准性。
请参阅图1,图1是本申请实施例提供的崩溃告警方法的流程示意图。该崩溃告警方法具体可以包括:
S1.获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据。
具体的,对于步骤S1,首先自动捕获终端设备的Android应用崩溃时产生的基本信息,在发生应用崩溃后,会开始收集终端设备(例如手机)的运行状态、崩溃堆栈、内存和CPU使用率等数据,收集完成后,将上述崩溃数据上传至崩溃监控平台。优选地,可基于现有的崩溃收集平台收集终端设备的应用崩溃数据,生成应用崩溃信息集合。
可选地,在一些实施例中,对于步骤S1,具体可以包括:
实时获取应用崩溃时生成的初始崩溃数据,并对初始崩溃数据进行编号;其中,所述初始崩溃数据包括崩溃堆栈和终端设备运行状态信息。
具体的,在实时获取应用崩溃时生成的初始崩溃数据之后,包括崩溃堆栈和发生崩溃时终端设备的当前运行状态信息(内存和CPU使用率等数据),对初始状态的崩溃数据进行编号。
S2.在将应用崩溃信息集合上传至崩溃监控平台后,对应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值。
具体的,对于步骤S2,在将步骤S1获取的应用崩溃信息集合上传至崩溃监控平台之后,服务端将应用崩溃信息集合保存至各种可持久化的数据库,再对该应用崩溃信息集合中的崩溃堆栈进行分析归类处理,最后计算各个经过分析归类处理后的崩溃堆栈的特征值,从而得到各个崩溃堆栈对应的特征值,并发送至实时计算平台。
可选地,在一些实施例中,对于步骤S2,具体可以包括:
S21.对应用崩溃信息集合中的崩溃堆栈进行分析归类;
S22.采用散列算法对进行分析归类后的崩溃堆栈进行特征值计算,得到各个崩溃堆栈对应的特征值。
可选地,在一些实施例中,对于步骤S21,具体可以包括:
通过正则表达式先后去除崩溃堆栈中源代码的行号和下标。
具体的,首先对应用崩溃信息集合中的已经编号的若干个崩溃堆栈进行自动分析归类处理,将同一类型的崩溃堆栈分类至同一集合中,在对崩溃堆栈进行谷类分析后,可以使得相同类型的崩溃在同一时间窗口内仅会生成一次告警,从而降低了重复告警的频率。其中,应用崩溃信息集合中的每个崩溃堆栈都包含了若干行源代码。
但由于同一个应用存在多个不同版本,不同版本在产生崩溃时,虽然堆栈顺序相同,但其源代码行号可能有所不同,因此在对崩溃堆栈进行分析归类后,还需要去除崩溃堆栈中的源代码行号,通过使用正则表达式对满足预设条件的源代码,删除其行号数据,例如包含文件行号的Android源代码格式为:xxx.java:行号,则使用的正则表达式为:\.java:(\d)+,从而解决不同版本应用间包含堆栈源代码中包含行号的差异的问题。
另外,在Android应用的崩溃类型中,还包括一类越界崩溃。越界崩溃在堆栈中,有可能会产生不同的下标索引,但实质上还是属于同一类崩溃,如不剔除下标,对分析归类产生的特征值会产生影响。因此,在去除崩溃堆栈中的源代码行号之后,还需要去除源代码下标,通过正则表达式将不固定的源代码中不固定的值统一为固定值,避免对后续分类归类后的崩溃堆栈的特征值造成影响,例如通过正则表达式(^.*IndexOutOfBoundsException.*$)对源代码中的length=xx; index=yy进行下标索引的去除,当正则表达式找到了这行源代码后,将其替换为 length=0; index=0。通过对崩溃堆栈中的源代码的下标索引进行去除,解决不同的越界崩溃差异的问题。
在对分析归类的崩溃堆栈中源代码进行行号和下标的去除后,对崩溃堆栈的源代码进行特征值计算,计算出各个崩溃堆栈对应的特征值。优选地,本实施例中采取的特征值算法为散列算法,包括但不限于MD5、SHA-1和SHA-256等算法,对于相同的文本,采取不同的散列算法其计算结果始终是相同的。
S3.根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值。
具体的,对于步骤S3,在将分析归类后的应用崩溃信息集合中的各个崩溃堆栈及其对应的特征值发送至实时计算平台后,根据各个崩溃堆栈及其对应的特征值进行预设时间段内的实时崩溃计数,从而得到各个特征值对应的崩溃计数值。
可选地,在一些实施例中,对于步骤S3,具体可以包括:
S31.通过信息队列将特征值推送至实时计算平台进行崩溃计数;
S32.实时统计特征值在预设时间段内的出现的崩溃次数,生成特征值对应的崩溃计数值。
具体的,使用消息队列方式将各个崩溃堆栈及其对应的特征值推送至实时计算平台进行崩溃计数,其中,消息队列包括但不限于kafka和rabbitmq等消息队列组件。实时计算平台接收到特征值后,开始时间窗口(在预设时间段内开始计时),对于相同的特征值,如果存在有开启状态的时间窗口,则只开启一次。通过实时计算平台不断的接收来自崩溃监控平台的特征值,进行计数。实时计算平台关闭时间窗口,将特征值与崩溃计数使用消息队列推送至崩溃监控平台。
S4.当崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
具体的,对于步骤S4,崩溃监控平台根据接收到的特征值与崩溃计数值,判断崩溃计数值是否大于临界值(预设告警值),如果大于,则生成对应的崩溃告警信息,通过即时消息将崩溃数据发送给Android应用开发人员进行处理。
可选地,在一些实施例中,对于步骤S4,具体可以包括:
S41.当判断任一特征值对应的崩溃计数值大于预设告警值时,根据该特征值对应的崩溃数据生成对应的崩溃告警信息;
S42.发出崩溃告警信息以进行崩溃告警。
具体的,当判断任一特征值在单位时间窗口内的崩溃计数值大于预设告警值时,自动触发告警,根据该特征值及其对应的崩溃数据自动生成对应的崩溃告警信息,并通过崩溃监控平台件生成的崩溃告警信息通过即时通许方式发送至应用开发人员,从而使得应用开发人员及时对崩溃数据进行处理,有效提高开发人员对应用崩溃的修复效率,提高应用崩溃告警的时效性。其中,即时通信方式包括但不限于短信、邮件以及微信等即时通信方式;应用开发人员也可根据实际需求自主配置告警临界值和时间窗口,提高应用崩溃告警的灵活性。
在具体的实施例中,如图2所示,本实施例还提供了崩溃告警方法的第二种实施方式,具体步骤包括:通过Android应用捕获崩溃信息,收集崩溃时手机的运行状态和崩溃堆栈,上传崩溃信息至崩溃监控平台;通过崩溃监控平台接收崩溃信息,对崩溃堆栈进行分析归类,以及去除崩溃堆栈中的源代码行号和下标索引,然后生成崩溃堆栈对应的特征值,将分析归类后的崩溃信息发送至实时计算平台;实时计算平台对同一特征值,在首次接收时,开启时间窗口并开始计时;关闭时间窗口,结束计时,统计同一特征值发生崩溃次数,将特征值与崩溃发生次数返回至崩溃监控平台;崩溃监控平台接收特征值与崩溃次数,判断崩溃次数是否达到临界值,若是,则触发告警发送即时信息,若否,则结束本次流程。
由上可知,本申请实施例提供的崩溃告警方法,包括:首先获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;然后根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;最后,当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
可见,本申请实施例的崩溃告警方法,通过自动获取终端设备的应用崩溃信息并进行分析归类和崩溃计数,能够在判断应用发生异常时自动触发告警,使得相同的崩溃在同一预设时间段内仅生成一次告警,降低相关崩溃场景重复告警的频率;当根据崩溃计数确定相同的崩溃的产生频率达到临界值时,从而自动触发告警,并提高应用崩溃告警的时效性和精准性,有利于提高开发人员对崩溃的修复效率,从而更好地提高应用使用者的用户体验感。
相应的,本申请还提供一种崩溃告警装置,请参阅图3,图3是本申请提供的崩溃告警装置的结构示意图,具体可以包括获取模块100、分析模块200、统计模块300和告警模块400;
其中,获取模块100,用于获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据。
具体的,对于获取模块100,首先自动捕获终端设备的Android应用崩溃时产生的基本信息,在发生应用崩溃后,会开始收集终端设备(例如手机)的运行状态、崩溃堆栈、内存和CPU使用率等数据,收集完成后,将上述崩溃数据上传至崩溃监控平台。
分析模块200,用于在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值。
具体的,对于分析模块200,在将获取的应用崩溃信息集合上传至崩溃监控平台之后,服务端将应用崩溃信息集合保存至各种可持久化的数据库,再对该应用崩溃信息集合中的崩溃堆栈进行分析归类处理,最后计算各个经过分析归类处理后的崩溃堆栈的特征值,从而得到各个崩溃堆栈对应的特征值,并发送至实时计算平台。
统计模块300,用于根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值。
具体的,对于统计模块300,在将分析归类后的应用崩溃信息集合中的各个崩溃堆栈及其对应的特征值发送至实时计算平台后,根据各个崩溃堆栈及其对应的特征值进行预设时间段内的实时崩溃计数,从而得到各个特征值对应的崩溃计数值。
告警模块400,用于当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
具体的,对于告警模块400,崩溃监控平台根据接收的特征值与崩溃计数值,判断崩溃计数值是否大于临界值(预设告警值),如果大于,则生成对应的崩溃告警信息,通过即时消息将崩溃数据发送给Android应用开发人员进行处理。
综上所述,本申请实施例提供的崩溃告警装置,通过获取模块100获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;通过分析模块200在将应用崩溃信息集合上传至崩溃监控平台后,对应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;统计模块300根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内特征值对应的崩溃计数值;通过告警模块400在判断崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。可见,本申请实施例的崩溃告警装置,通过自动获取终端设备的应用崩溃信息并进行分析归类和崩溃计数,能够在判断应用发生异常时自动触发告警,使得相同的崩溃在同一预设时间段内仅生成一次告警,降低相关崩溃场景重复告警的频率;当根据崩溃计数确定相同的崩溃的产生频率达到临界值时,从而自动触发告警,并提高应用崩溃告警的时效性和精准性,有利于提高开发人员对崩溃的修复效率,从而更好地提高应用使用者的用户体验感。
如图4所示,本申请实施例还提供了一种崩溃告警系统,包括应用端10、崩溃监控平台20和实时计算平台30;
其中,应用端10,用于获取应用崩溃信息集合并上传至崩溃监控平台20,所述应用崩溃信息集合至少包括一个崩溃数据;
崩溃监控平台20,用于接收所述应用端10上传的应用崩溃信息集合,并对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值,并将分析归类后的应用崩溃信息集合及其对应特征值发送至实时计算平台30;以及用于接收实时计算平台30发送的预设时间段内所述特征值对应的崩溃计数值,生成对应的崩溃告警信息进行崩溃告警;
实时计算平台30,用于根据接收所述崩溃监控平台20发送的分析归类后的应用崩溃信息集合及其对应特征值,进行实时崩溃计算,并将预设时间段内所述特征值对应的崩溃计数值发送至所述崩溃监控平台20。
参照图5,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存崩溃告警方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种崩溃告警方法。所述崩溃告警方法,包括:首先获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;然后根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;最后,当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种崩溃告警方法,包括步骤:首先获取应用崩溃信息集合,所述应用崩溃信息集合至少包括一个崩溃数据;在将所述应用崩溃信息集合上传至崩溃监控平台后,对所述应用崩溃信息集合先后进行崩溃堆栈分析和特征值计算,得到崩溃堆栈对应的特征值;然后根据崩溃堆栈分析后的应用崩溃信息集合及其对应特征值进行实时崩溃计数,得到预设时间段内所述特征值对应的崩溃计数值;最后,当所述崩溃计数值大于预设告警值时,生成对应的崩溃告警信息进行崩溃告警。
上述执行的崩溃告警方法,通过自动获取终端设备的应用崩溃信息并进行分析归类和崩溃计数,能够在判断应用发生异常时自动触发告警,使得相同的崩溃在同一预设时间段内仅生成一次告警,降低相关崩溃场景重复告警的频率;当根据崩溃计数确定相同的崩溃的产生频率达到临界值时,从而自动触发告警,并提高应用崩溃告警的时效性和精准性,有利于提高开发人员对崩溃的修复效率,从而更好地提高应用使用者的用户体验感。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例设备中的单元可以根据实际需要进行合并、划分和删减。
在本申请中,对于相同或相似的术语概念、技术方案和/或应用场景描述,一般只在第一次出现时进行详细描述,后面再重复出现时,为了简洁,一般未再重复阐述,在理解本申请技术方案等内容时,对于在后未详细描述的相同或相似的术语概念、技术方案和/或应用场景描述等,可以参考其之前的相关详细描述。
在本申请中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本申请技术方案的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本申请记载的范围。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络,或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD),或者半导体介质(例如固态存储盘Solid State Disk (SSD))等。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (9)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210571694.9A CN114706737B (zh) 2022-05-25 2022-05-25 崩溃告警方法、装置、系统、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210571694.9A CN114706737B (zh) 2022-05-25 2022-05-25 崩溃告警方法、装置、系统、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN114706737A CN114706737A (zh) 2022-07-05
CN114706737B true CN114706737B (zh) 2022-09-02

Family

ID=82177594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210571694.9A Active CN114706737B (zh) 2022-05-25 2022-05-25 崩溃告警方法、装置、系统、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114706737B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040395A (zh) * 2016-02-03 2017-08-11 腾讯科技(深圳)有限公司 一种告警信息的处理方法、装置和系统
CN109739672A (zh) * 2018-11-23 2019-05-10 惠州Tcl移动通信有限公司 应用程序崩溃的处理方法、计算机存储介质及移动终端
CN114090407A (zh) * 2021-11-29 2022-02-25 平安科技(深圳)有限公司 基于线性回归模型的接口性能预警方法及其相关设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078945B (zh) * 2013-01-07 2015-11-25 北京奇虎科技有限公司 对浏览器崩溃数据进行处理的方法与系统
US9436533B2 (en) * 2014-05-30 2016-09-06 Apteligent, Inc. System for monitoring and tracking application crashes occurring on different mobile devices
CN109815083B (zh) * 2018-12-21 2021-06-04 瑞庭网络技术(上海)有限公司 一种应用崩溃的监控方法、装置、电子设备及介质
CN110489345B (zh) * 2019-08-08 2023-08-25 北京字节跳动网络技术有限公司 一种崩溃聚合方法、装置、介质和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040395A (zh) * 2016-02-03 2017-08-11 腾讯科技(深圳)有限公司 一种告警信息的处理方法、装置和系统
CN109739672A (zh) * 2018-11-23 2019-05-10 惠州Tcl移动通信有限公司 应用程序崩溃的处理方法、计算机存储介质及移动终端
CN114090407A (zh) * 2021-11-29 2022-02-25 平安科技(深圳)有限公司 基于线性回归模型的接口性能预警方法及其相关设备

Also Published As

Publication number Publication date
CN114706737A (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
US11586972B2 (en) Tool-specific alerting rules based on abnormal and normal patterns obtained from history logs
KR101826865B1 (ko) 모바일 디바이스 거동들의 효율적인 분류를 위해 부스트 결정 그루터기들 및 공동의 특징 선택 및 선별 알고리즘들을 사용하는 방법들 및 시스템들
KR101848576B1 (ko) 이동 디바이스 거동들의 효율적인 분류를 위한 애플리케이션-특정 및 애플리케이션-타입-특정 모델들을 이용하는 방법들 및 시스템들
US9721212B2 (en) Efficient on-device binary analysis for auto-generated behavioral models
CN110851321B (zh) 一种业务告警方法、设备及存储介质
US9686023B2 (en) Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors
CN111859384B (zh) 异常事件监控方法、装置、计算机设备及存储介质
KR20160132394A (ko) 주변 디바이스들을 보안하기 위한 거동 분석
CN112181767B (zh) 软件系统异常的确定方法、装置和存储介质
CN109543891B (zh) 容量预测模型的建立方法、设备及计算机可读存储介质
CN109343853B (zh) 一种应用程序的异常识别方法及设备
CN110457175B (zh) 业务数据处理方法、装置、电子设备及介质
CN114968754A (zh) 一种应用程序接口api测试方法以及装置
CN113672475B (zh) 告警处理方法、装置、计算机设备和存储介质
CN112395156A (zh) 故障的告警方法和装置、存储介质和电子设备
CN111194027B (zh) 一种网络连接方法、装置及系统
CN112685799B (zh) 设备指纹生成方法、装置、电子设备和计算机可读介质
CN108111328B (zh) 一种异常处理方法及装置
CN112988523A (zh) 一种多维度的游戏系统告警方法和系统
CN115499187A (zh) Api安全监测模型训练方法、监测方法、装置及设备
CN115242434A (zh) 应用程序接口api的识别方法及装置
CN114706737B (zh) 崩溃告警方法、装置、系统、设备及可读存储介质
CN112367215A (zh) 基于机器学习的网络流量协议识别方法和装置
CN114650218B (zh) 一种数据获取方法、设备、系统及存储介质
CN114048512A (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
GR01 Patent grant
GR01 Patent grant