CN109388546B - 处理应用程序的故障的方法、装置和*** - Google Patents
处理应用程序的故障的方法、装置和*** Download PDFInfo
- Publication number
- CN109388546B CN109388546B CN201710665615.XA CN201710665615A CN109388546B CN 109388546 B CN109388546 B CN 109388546B CN 201710665615 A CN201710665615 A CN 201710665615A CN 109388546 B CN109388546 B CN 109388546B
- Authority
- CN
- China
- Prior art keywords
- abnormal
- name
- data
- key
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种处理应用程序的故障的方法、装置和***,涉及计算机领域。该方法的一具体实施方式包括:单独获取应用程序运行时产生的异常数据,所述异常数据中的任一个包括至少一种异常特征信息;根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量;展示任一异常特征信息、以及与该异常特征信息对应的异常数据数量,以处理应用程序的故障。该实施方式能够快速发现故障,准确定位故障点。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种处理应用程序的故障的方法、装置和***。
背景技术
在计算机技术领域中,需要及时处理应用程序运行过程中产生的故障,这样才能保证业务的正常运营,提升用户体验,因此,需要通过技术手段第一时间发现与定位故障点。
现有技术中故障发现与处理的流程一般如下:
S101.通过硬编码生成采集程序,将应用程序运行时的异常信息输出至日志文件。
S102.日志收集服务将日志文件内容上报至日志***存储。
S103.通过监控***发现***发生故障时,以人工的方式在日志***查询异常日志,以定位故障原因;如果无法定位原因只能临时修改代码。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
1.日志输出依赖程序硬编码,发生故障时,对于没有输出异常数据的故障点无法定位,必须上线处理,效率较低。
2.异常数据输出代码与业务代码耦合,维护困难。
3.输出的日志内容无法控制,其中存在大量与故障无关的内容,使得日志数据量巨大,导致无法查询或查询缓慢。
4.人工查询效率较低,同时日志为非结构化数据,无法聚合分析,难以准确定位故障点,难以获得故障原因。上述流程如图1所示。
发明内容
有鉴于此,本发明实施例提供一种处理应用程序的故障的方法、装置和***,能够输出与业务数据隔离的异常数据,并在将异常数据聚合之后进行展示,从而快速发现故障、定位故障点。
为实现上述目的,根据本发明的一个方面,提供了一种处理应用程序的故障的方法、装置和***。
本发明实施例的处理应用程序的故障的方法包括:单独获取应用程序运行时产生的异常数据,所述异常数据中的任一个包括至少一种异常特征信息;根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量;展示任一异常特征信息、以及与该异常特征信息对应的异常数据数量,以处理应用程序的故障。
可选地,所述异常特征信息包括以下至少一种:异常时间、异常应用程序名称、异常接口名称、异常调用方法名称、异常IP地址、异常描述信息、异常调用栈信息。
可选地,所述方法进一步包括:在对所述异常数据进行聚合之前,将所述异常调用栈信息中、第一次包含预设配置值的行数据之后的数据去除。
可选地,所述方法进一步包括:在对所述异常数据进行聚合之前,将所述异常调用栈信息中、除栈顶数据与第一次包含预设配置值的行数据之外的数据去除。
可选地,所述根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量包括以下至少之一:以异常时间为第一键,以异常应用程序名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;以异常时间以及异常应用程序名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;以异常时间、异常应用程序名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量。
可选地,所述展示任一异常特征信息、以及与该异常特征信息对应的异常数据数量包括以下至少之一:基于聚合后的异常数据:展示与任一异常时间以及任一异常应用程序名称对应的异常数据数量,得到应用维度展示信息;展示与任一异常接口名称以及任一异常调用方法名称对应的异常数据数量,得到方法维度展示信息;展示与任一异常描述信息、任一异常调用栈信息、以及任一异常IP地址对应的异常数据数量,得到IP维度展示信息。
可选地,所述异常时间以秒或分为单位。
可选地,所述方法进一步包括:基于应用维度展示信息,当存在符合第一告警条件的异常应用程序名称及异常时间时,将该异常应用程序名称确定为故障应用程序名称,将该异常时间确定为故障时间;对于所述故障应用程序名称及所述故障时间,基于方法维度展示信息,当存在符合第二告警条件的异常接口名称及异常调用方法名称时,将该异常接口名称确定为故障接口名称,将该异常调用方法名称确定为故障调用方法名称;以及对于所述故障接口名称及所述故障调用方法名称,基于IP维度展示信息,当存在符合第三告警条件的异常描述信息、异常调用栈信息及异常IP地址时,将该异常描述信息确定为故障描述信息,将该异常调用栈信息确定为故障调用栈信息,将该异常IP地址确定为故障IP地址。
为实现上述目的,根据本发明的另一方面,提供了一种处理应用程序的故障的装置。
本发明实施例的处理应用程序的故障的装置包括:获取单元,可用于单独获取应用程序运行时产生的异常数据,所述异常数据中的任一个包括至少一种异常特征信息;聚合单元,可用于根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量;展示单元,可用于展示任一异常特征信息、以及与该异常特征信息对应的异常数据数量,以处理应用程序的故障。
可选地,所述异常特征信息包括以下至少一种:异常时间、异常应用程序名称、异常接口名称、异常调用方法名称、异常IP地址、异常描述信息、异常调用栈信息;
以及,所述聚合单元用于以下至少之一:以异常时间为第一键,以异常应用程序名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;以异常时间以及异常应用程序名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;以异常时间、异常应用程序名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;
以及,所述展示单元用于以下至少之一:基于聚合后的异常数据,展示与任一异常时间以及任一异常应用程序名称对应的异常数据数量,得到应用维度展示信息;基于聚合后的异常数据,展示与任一异常接口名称以及任一异常调用方法名称对应的异常数据数量,得到方法维度展示信息;基于聚合后的异常数据,展示与任一异常描述信息、任一异常调用栈信息、以及任一异常IP地址对应的异常数据数量,得到IP维度展示信息;
以及,所述展示单元进一步用于:基于应用维度展示信息,当存在符合第一告警条件的异常应用程序名称及异常时间时,将该异常应用程序名称确定为故障应用程序名称,将该异常时间确定为故障时间;对于所述故障应用程序名称及所述故障时间,基于方法维度展示信息,当存在符合第二告警条件的异常接口名称及异常调用方法名称时,将该异常接口名称确定为故障接口名称,将该异常调用方法名称确定为故障调用方法名称;以及对于所述故障接口名称及所述故障调用方法名称,基于IP维度展示信息,当存在符合第三告警条件的异常描述信息、异常调用栈信息及异常IP地址时,将该异常描述信息确定为故障描述信息,将该异常调用栈信息确定为故障调用栈信息,将该异常IP地址确定为故障IP地址。
为实现上述目的,根据本发明的再一方面,提供了一种处理应用程序的故障的***。
本发明实施例的处理应用程序的故障的***包括至少一个应用节点、数据聚合节点以及数据展示节点;其中:应用节点用于单独获取应用程序运行时产生的异常数据,所述异常数据中的任一个包括至少一种异常特征信息;数据聚合节点用于根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量;数据展示节点用于展示任一异常特征信息、以及与该异常特征信息对应的异常数据数量,以处理应用程序的故障。
可选地,所述异常特征信息包括以下至少一种:异常时间、异常应用程序名称、异常接口名称、异常调用方法名称、异常IP地址、异常描述信息、异常调用栈信息;
以及,所述数据聚合节点用于以下至少之一:以异常时间为第一键,以异常应用程序名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;以异常时间以及异常应用程序名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;以异常时间、异常应用程序名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;
以及,所述数据展示节点用于以下至少之一:基于聚合后的异常数据,展示与任一异常时间以及任一异常应用程序名称对应的异常数据数量,得到应用维度展示信息;基于聚合后的异常数据,展示与任一异常接口名称以及任一异常调用方法名称对应的异常数据数量,得到方法维度展示信息;基于聚合后的异常数据,展示与任一异常描述信息、任一异常调用栈信息、以及任一异常IP地址对应的异常数据数量,得到IP维度展示信息;
以及,所述数据展示节点进一步用于:基于应用维度展示信息,当存在符合第一告警条件的异常应用程序名称及异常时间时,将该异常应用程序名称确定为故障应用程序名称,将该异常时间确定为故障时间;对于所述故障应用程序名称及所述故障时间,基于方法维度展示信息,当存在符合第二告警条件的异常接口名称及异常调用方法名称时,将该异常接口名称确定为故障接口名称,将该异常调用方法名称确定为故障调用方法名称;以及对于所述故障接口名称及所述故障调用方法名称,基于IP维度展示信息,当存在符合第三告警条件的异常描述信息、异常调用栈信息及异常IP地址时,将该异常描述信息确定为故障描述信息,将该异常调用栈信息确定为故障调用栈信息,将该异常IP地址确定为故障IP地址。
为实现上述目的,根据本发明的又一方面,提供了一种电子设备。
本发明的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的处理应用程序的故障的方法。
为实现上述目的,根据本发明的再一方面,提供了一种计算机可读存储介质。
本发明的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明所提供的处理应用程序的故障的方法。
根据本发明的技术方案,上述发明中的一个实施例具有如下优点或有益效果:通过将异常数据与业务数据隔离并完整输出,使得日志数据量大幅减小,解决了现有技术中异常数据与业务数据耦合、***维护不便、日志查询效率较低的技术问题;通过对输出的异常数据进行数据过滤,进一步减小了日志数据量;通过对异常数据进行多种维度的聚合统计,为后续的数据分析与故障点定位提供支持,解决了现有技术中异常数据无法聚合分析、从而无法确定故障点的技术问题;通过从多种维度展示异常数据,实现了快速发现并定位故障点、同时提供获得故障原因的必要数据的技术效果,解决了现有技术中人工查询效率较低、无法及时发现并准确定位故障点、难以获得故障原因的技术问题。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是现有技术中处理应用程序的故障的流程示意图;
图2是根据本发明实施例的处理应用程序的故障的方法的主要步骤示意图;
图3是根据本发明实施例的处理应用程序的故障的方法的应用维度展示信息示意图;
图4是根据本发明实施例的处理应用程序的故障的装置的主要部分的示意图;
图5是根据本发明实施例可以应用于其中的示例性***架构图;
图6是用来实现本发明实施例的处理应用程序的故障的方法的电子设备的结构示意图。
图7是根据本发明实施例的处理应用程序的故障的***的组成示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明的实施例的技术方案通过将异常数据与业务数据隔离并完整输出,使得日志数据量大幅减小,解决了现有技术中异常数据与业务数据耦合、***维护不便、日志查询效率较低的技术问题;通过对输出的异常数据进行数据过滤,进一步减小了日志数据量;通过对异常数据进行多种维度的聚合统计,为后续的数据分析与故障点定位提供支持,解决了现有技术中异常数据无法聚合分析、从而无法确定故障点的技术问题;通过从多种维度展示异常数据,实现了不依赖监控***即可快速发现并定位故障点、同时提供获得故障原因的必要数据的技术效果,解决了现有技术中人工查询效率较低、无法及时发现并准确定位故障点、难以获得故障原因的技术问题。
实施例一
图2是根据本实施例的处理应用程序的故障的方法的主要步骤示意图。
如图2所示,本发明实施例的处理应用程序的故障的方法主要包括如下步骤:
步骤S201:单独获取应用程序运行时产生的异常数据,所述异常数据中的任一个包括至少一种异常特征信息。
在本实施例中,异常数据是指与应用程序运行时产生的大部分数据存在差异的数据。一般地,在发生故障时,异常数据会集中、大量出现,因此,可以将异常数据的集中、大量出现视为应用程序出现故障,将异常数据作为判定故障点的关键数据。本实施例即通过对异常数据的监测实现故障的发现及定位。
需要说明的是,所述单独获取应用程序运行时产生的多个异常数据指的是:在应用程序运行时产生的数据中,将业务数据与异常数据分离,单独获取所述异常数据。实际应用中,可以通过AOP(Aspect Oriented Programming,面向切面编程)单独获取异常数据。具体地,可以在预先确定的可能出现故障的业务方法以AOP Around(AOP环绕通知)的方式在该业务方法执行前后织入自定义的收集程序,当收集程序调用业务方法并在出现异常的情况下捕获异常数据,并将异常数据转换为结构化数据,输出到异常日志中。
可以理解的是,获取异常数据的步骤也可通过AOP Before(AOP前置通知)、AOPAfter(AOP后置通知)的方式实现。
在本实施例中,任一异常数据均包括至少一种用于后续聚合分析的异常特征信息。异常特征信息指的是异常数据中携带的特征信息,其包括以下至少一种:异常时间、异常应用程序名称、异常接口名称、异常调用方法名称、异常IP地址、异常描述信息、异常调用栈信息。其中:异常时间指的是发生异常的时间,一般用时间戳来表示,异常时间以秒或分为单位。异常应用程序名称指的是发生异常的应用程序的名称。异常接口名称指的是发生异常的接口的名称。异常调用方法名称指的是发生异常的调用方法的名称,在本实施例中,异常调用方法名称包括发生异常的类名与对应的方法名。异常IP地址指的是发生异常的应用程序所在节点的IP(Internet Protocol,网络之间互连的协议)地址。可以理解的是,异常数据包括上述全部信息时,能够实现数据聚合、数据展示的全部功能。异常数据包括部分信息时,只能实现部分后续功能。
下例为格式化的异常数据:
在本实施例的可选实现方式中,还可对异常数据中的异常调用栈信息进行过滤,以减小数据量。具体地,首先确定配置值。配置值一般采用当前应用程序中自行开发的代码包的名称,第一次包含该配置值的行数据可被视为首次发生异常的位置,在时间轴上发生在该行数据之前的数据(即异常调用栈中该行数据之后的数据)均不需考虑,可进行去除。对于异常调用栈信息中剩余的各行数据,由于所述行数据能够反映异常发生的相对位置,栈顶数据能够反映异常发生的实际位置,因此可根据实际需要在异常调用栈中只保留栈顶数据与所述行数据,将异常调用栈信息中的其余数据去除,以进一步减少数据量。可以理解的是,栈顶数据是指异常调用栈中的第一行数据(位于栈顶),第一次包含该配置值的行数据指的是:从栈顶到栈底遍历异常调用栈的每行数据,第一次包含该配置值那行数据。
例如,通过以下方法进行数据过滤:
通过以上配置,本实施例避免了大量无用数据的输出,同时不会对故障的判定造成影响。
步骤S202:根据异常特征信息对异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量。
在本步骤中,聚合指的是根据数据的特点进行合并或统计,使数据针对性较强、对故障处理较为有利。
具体地,本步骤可按照如下步骤执行:
(一)以异常时间为第一键,以异常应用程序名称为第二键,统计与第一键的键值以及第二键的键值对应的异常数据数量。
可以理解,上述“第一”、“第二”仅用于将一个键与另一个键区分。举例而言,在不脱离本发明范围的情况下,可以将第一键称为第二键,也可以将第二键称为第一键,第一键与第二键都是键,但二者不是同一键。具体应用中,可以根据应用环境灵活设置第一键与第二键。例如:在hbase数据库中,可将行键作为第一键,将列键作为第二键。所述键值指的是键的具体取值,例如:异常时间为第一键时,具体的异常时间t1、t2均为第一键的键值。所述异常数据数量是指与异常应用程序名称、异常时间对应的异常数据数量,即从上一异常时间(以该异常时间为起点)到该异常时间,该应用程序的异常次数。
例如:以异常时间为行键(RowKey)、异常应用程序名称为列键(ColumnKey)存储异常数据数量,见下表:
通过上述步骤(一),生成了应用维度的聚合数据。
(二)以异常时间以及异常应用程序名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与第一键键值以及第二键键值对应的异常数据数量。
具体应用中,可以将异常应用程序名称对应的MD5码或HASH码与异常时间结合,作为第一键。例如:
通过上述步骤(二),生成了方法维度的聚合数据。
(三)以异常时间、异常应用程序名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与第一键键值以及第二键键值对应的异常数据数量。
具体应用中,可以将异常应用程序名称、异常接口名称及异常调用方法名称组合,通过MD5算法或HASH算法生成MD5码或HASH码,将该MD5码或该HASH码与异常时间结合,作为第一键;将异常描述信息与异常调用栈信息组合,通过MD5算法或HASH算法生成MD5码或HASH码,将该MD5码或该HASH码与异常IP地址结合,作为第二键。例如:
通过上述步骤(三),生成了IP维度的聚合数据。
较佳地,在本实施例中,还可将MD5(异常描述信息+异常调用栈信息)与相应的异常描述信息、异常调用栈信息进行存储,以使异常描述信息及异常调用栈信息与异常数据数量分别存储,从而节省存储空间。
需要说明的是,上述步骤(一)、(二)、(三)并不只能按照上述固定顺序执行,实际应用中可以灵活选择执行顺序。同时,也可以选择步骤(一)、(二)、(三)中的一种或多种进行异常数据的聚合。
特别地,上述步骤(一)、(二)、(三)中的异常时间可以以秒或分为单位,这样即可在应用维度、方法维度以及IP维度产生秒级与分级的聚合数据,利于后续处理。
步骤S203:展示任一异常特征信息以及与该异常特征信息对应的异常数据数量,以处理应用程序的故障。
在本步骤中,所述展示指的是将数据以人类易于感知的形式输出。例如将数据输出为图、表、声音等。所述处理包括:发现故障、定位故障、获取故障原因及解决故障中的一种或多种行为。
在本实施例的可选实现方式中,步骤S203按照以下步骤执行:
(1)基于聚合后的异常数据,展示与任一异常时间以及任一异常应用程序名称对应的异常数据数量,得到应用维度展示信息。
实际应用中,可以以图、表等方式输出应用维度展示信息。
图3是根据本实施例的处理应用程序的故障的方法的应用维度展示信息示意图。
如图3所示,多条曲线中的每一条均表示一个应用程序产生的异常数据的数量随时间的变化情况,从中可以直观地掌握不同应用程序的异常变化情况。
(2)基于聚合后的异常数据,展示与任一异常接口名称以及任一调用方法名称对应的异常数据数量,得到方法维度展示信息。
下表示出了一种具体的方法维度展示信息,表中的记录按照异常数据数量降序排列:
接口 | 方法 | 数量 | 操作 |
cartAdd | xxx.execute | 4618 | 详细 |
cartChange | xxxx.execute | 232 | 详细 |
cartCheckAll | xxxxx.execute | 38 | 详细 |
cart | xxxxxx.execute | 28 | 详细 |
(3)基于聚合后的异常数据,展示与任一异常描述信息、任一异常调用栈信息以及任一异常IP地址对应的异常数据数量,得到IP维度展示信息。
下表示出了一种具体的方法维度展示信息,表中的记录按照异常数据数量降序排列:
在上表中,异常信息包含异常描述信息与异常调用栈信息。
需要说明的是,上述步骤(1)、(2)、(3)并不只能按照上述固定顺序执行,实际应用中可以灵活选择执行顺序。同时,也可以根据实际需要选择上述步骤(1)、(2)、(3)中的一种或多种进行异常数据展示。
特别地,上述步骤(1)、(2)、(3)中的异常时间可以以秒或分为单位,这样即可在应用维度、方法维度以及IP维度分别以秒级或分级展示异常数据。秒级展示能够更快地发现应用程序异常趋势,更早发现故障,分级展示能够体现异常数量在一段时间内的走势。实际应用中,可以根据需求选择秒级展示、分级展示、或将二者结合以判断故障。通过上述设置,在实际应用中,本实施例可在故障发生一分钟内直接展示并定位故障点。
通过上述应用维度展示信息、方法维度展示信息以及IP维度展示信息,本实施例能够快速、准确地发现故障。
在本实施例的可选实现方式中,在数据展示之后,还可基于各维度的展示信息,实现故障点的定位与故障原因的分析,具体可按照下列步骤执行:
一.判断是否存在符合第一告警条件的异常应用程序名称及异常时间:如果是,则将该异常应用程序名称确定为故障应用程序名称,将该异常时间确定为故障时间。
实际应用中,第一告警条件可以根据应用环境设置。一般地,第一告警条件可以是以下之一:
1.异常数据数量大于第一数量阈值。
2.异常数据数量的时间变化率大于第一变化率阈值。
3.异常数据数量大于第二数量阈值的持续时间超过第一时间阈值。
二.对于故障应用程序名称及故障时间,基于方法维度展示信息,判断是否存在符合第二告警条件的异常接口名称及异常调用方法名称:如果是,将该异常接口名称确定为故障接口名称,将该异常调用方法名称确定为故障调用方法名称。
实际应用中,第二告警条件可以根据应用环境设置。一般地,第二告警条件可以是以下之一:
1.异常数据数量大于第三数量阈值。
2.异常数据数量的时间变化率大于第二变化率阈值。
3.异常数据数量大于第四数量阈值的持续时间超过第二时间阈值。
4.某一异常接口名称及某一异常调用方法名称对应的异常数据数量在异常数据总数量中的比例大于比例阈值。
三.对于故障接口名称及故障调用方法名称,基于IP维度展示信息判断是否存在符合第三告警条件的异常描述信息、异常调用栈信息及异常IP地址:如果是,将该异常描述信息确定为故障描述信息,将该异常调用栈信息确定为故障调用栈信息,将该异常IP地址确定为故障IP地址。
实际应用中,第三告警条件可以根据应用环境设置。一般地,第三告警条件可以是以下之一:
1.异常数据数量大于第五数量阈值。
2.异常数据数量的时间变化率大于第三变化率阈值。
3.异常数据数量大于第六数量阈值的持续时间超过第三时间阈值。
四.将故障应用程序名称、故障时间、故障接口名称、故障调用方法名称、故障描述信息、故障调用栈信息以及故障IP地址中的至少一种发送。
一般地,在本实施例中,可将上述信息中的至少一种通过微信、短信等方式发送到相关人员,以实现故障告警。
特别地,通过确定故障接口名称、故障调用方法名称、故障IP地址,可以准确定位故障点,通过故障描述信息与故障调用栈信息可判断故障原因。例如:当外部接口出现问题时,异常信息基本为连接超时或socket异常,这时可以判定此外部接口故障,可以通过降级、切换等技术手段解决。另外,由于IP地址与机房内的计算机对应,因此通过IP的故障情况即可判断机房是否存在网络故障。
通过上述步骤一、二、三、四,本实施例实现了故障点的快速发现及准确定位,并可提供获得故障原因的必要数据。
需要说明的是,上述步骤一、二、三可以按照上述顺序执行,也可以根据实际需要选择其中的一个或多个步骤执行,实现故障点的发现与定位。
根据本发明实施例的处理应用程序的故障的方法可以看出,因为采用了将异常数据与业务数据隔离并完整输出的技术手段,所以使得日志数据量大幅减小,解决了现有技术中异常数据与业务数据耦合、***维护不便、日志查询效率较低的技术问题;通过对输出的异常数据进行数据过滤,进一步减小了日志数据量;通过对异常数据进行多种维度的聚合统计,为后续的数据分析与故障点定位提供支持,解决了现有技术中异常数据无法聚合分析、从而无法确定故障点的技术问题;因为采用了通过从多种维度展示异常数据的技术手段,从而实现了快速发现并定位故障点、同时提供获得故障原因的必要数据的技术效果,解决了现有技术中人工查询效率较低、无法及时发现并准确定位故障点、难以获得故障原因的技术问题。
实施例二
图4是根据本实施例的处理应用程序的故障的装置的主要部分的示意图。
如图4所示,本实施例的处理应用程序的故障的装置400包括获取单元401、聚合单元402以及展示单元403。其中:
获取单元401可用于单独获取应用程序运行时产生的异常数据,所述异常数据中的任一个包括至少一种异常特征信息。
聚合单元402可用于根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量。
展示单元403可用于展示任一异常特征信息以及与该异常特征信息对应的异常数据数量,以处理应用程序的故障。
较佳地,在本实施例中,异常特征信息包括以下至少一种:异常时间、异常应用程序名称、异常接口名称、异常调用方法名称、异常IP地址、异常描述信息、异常调用栈信息。
在本实施例的可选实现方式中,获取单元401还可对异常数据中的异常调用栈信息进行过滤,以减小数据量。具体地,首先确定配置值。配置值一般采用当前应用程序中自行开发的代码包的名称,第一次包含该配置值的行数据可被视为首次发生异常的位置,在时间轴上发生在该行数据之前的数据(即异常调用栈中该行数据之后的数据)均不需考虑,可进行去除。对于异常调用栈信息中剩余的各行数据,由于所述行数据能够反映异常发生的相对位置,栈顶数据能够反映异常发生的实际位置,因此可根据实际需要在异常调用栈中只保留栈顶数据与所述行数据,将异常调用栈信息中的其余数据去除,以进一步减少数据量。
作为一个优选方案,聚合单元402可用于以下至少一种:以异常时间为第一键,以异常应用程序名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;以异常时间以及异常应用程序名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;以异常时间、异常应用程序名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量。
展示单元403可用于以下至少一种:基于聚合后的异常数据:展示与任一异常时间以及任一异常应用程序名称对应的异常数据数量,得到应用维度展示信息;展示与任一异常接口名称以及任一异常调用方法名称对应的异常数据数量,得到方法维度展示信息;展示与任一异常描述信息、任一异常调用栈信息、以及任一异常IP地址对应的异常数据数量,得到IP维度展示信息。
在本实施例的可选实现方式中,展示单元403还可用于:基于应用维度展示信息,判断是否存在符合第一告警条件的异常应用程序名称及异常时间:如果是,将该异常应用程序名称确定为故障应用程序名称,将该异常时间确定为故障时间;对于所述故障应用程序名称及所述故障时间,基于方法维度展示信息判断是否存在符合第二告警条件的异常接口名称及异常调用方法名称:如果是,将该异常接口名称确定为故障接口名称,将该异常调用方法名称确定为故障调用方法名称;以及对于所述故障接口名称及所述故障调用方法名称,基于IP维度展示信息判断是否存在符合第三告警条件的异常描述信息、异常调用栈信息及异常IP地址:如果是,将该异常描述信息确定为故障描述信息,将该异常调用栈信息确定为故障调用栈信息,将该异常IP地址确定为故障IP地址。
实际应用中,可以根据需要灵活设置第一告警条件、第二告警条件及第三告警条件。
此外,在定位故障点后,展示单元403还可将故障应用程序名称、故障时间、故障接口名称、故障调用方法名称、故障描述信息、故障调用栈信息以及故障IP地址中的至少一种发送。
需要说明的是,本实施例的处理应用程序的故障的装置400作为软件,安装在计算机、移动终端等设备中。具体应用中,本实施例的处理应用程序的故障的装置400包括的获取单元401、聚合单元402、展示单元403可以安装在同一设备,也可以以各种方式安装在不同的设备,本发明并不对此作出限制。例如本实施例的处理应用程序的故障的装置400的安装可以按照以下任一方式:
1.处理应用程序的故障的装置400安装在计算机A,即获取单元401、聚合单元402、展示单元403都安装在计算机A。
2.获取单元401安装在计算机A、B、C,聚合单元402安装在计算机D,展示单元403安装在计算机F。
3.获取单元401安装在计算机A、B、C,聚合单元402与展示单元403都安装在计算机F。
从以上描述可以看出,因为采用了将异常数据与业务数据隔离并完整输出的技术手段,所以使得日志数据量大幅减小,解决了现有技术中异常数据与业务数据耦合、***维护不便、日志查询效率较低的技术问题;通过对输出的异常数据进行数据过滤,进一步减小了日志数据量;通过对异常数据进行多种维度的聚合统计,为后续的数据分析与故障点定位提供支持,解决了现有技术中异常数据无法聚合分析、从而无法确定故障点的技术问题;因为采用了通过从多种维度展示异常数据的技术手段,从而实现了快速发现并定位故障点、同时提供获得故障原因的必要数据的技术效果,解决了现有技术中人工查询效率较低、无法及时发现并准确定位故障点、难以获得故障原因的技术问题。
实施例三
图5示出了可以应用本实施例的处理应用程序的故障的方法或处理应用程序的故障的装置的示例性***架构500。
如图1所示,***架构500可以包括终端设备501、502、503,网络504和服务器505(此架构仅仅是示例,具体架构中包含的组件可以根据申请具体情况调整)。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本实施例所提供的处理应用程序的故障的方法一般由服务器505执行,相应地,处理应用程序的故障的装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
实施例四
本实施例提供了一种电子设备。
本实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的处理应用程序的故障的方法。
下面参考图6,其示出了适于用来实现本实施例的电子设备的计算机***600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本实施例的功能和使用范围带来任何限制。
如图6所示,计算机***600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有计算机***600操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文的主要步骤图描述的过程可以被实现为计算机软件程序。例如,本发明实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在上述实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元601执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、聚合单元及展示单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“向聚合单元发送异常数据的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中的。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该设备执行时,使得该设备执行的步骤包括:单独获取应用程序运行时产生的异常数据,所述异常数据中的任一个包括至少一种异常特征信息;根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量;展示任一异常特征信息、以及与该异常特征信息对应的异常数据数量,以处理应用程序的故障。
根据本发明实施例的技术方案,通过将异常数据与业务数据隔离并完整输出,使得日志数据量大幅减小,解决了现有技术中异常数据与业务数据耦合、***维护不便、日志查询效率较低的技术问题;通过对输出的异常数据进行数据过滤,进一步减小了日志数据量;通过对异常数据进行多种维度的聚合统计,为后续的数据分析与故障点定位提供支持,解决了现有技术中异常数据无法聚合分析、从而无法确定故障点的技术问题;通过从多种维度展示异常数据,实现了快速发现并定位故障点、同时提供获得故障原因的必要数据的技术效果,解决了现有技术中人工查询效率较低、无法及时发现并准确定位故障点、难以获得故障原因的技术问题。
实施例五
图7是根据本实施例的处理应用程序的故障的***的组成示意图。
如图7所示,本实施例的处理应用程序的故障的***可包括:至少一个应用节点701、数据聚合节点702以及数据展示节点703。
可以理解的是,应用节点701、数据聚合节点702或数据展示节点703可以是分布式***中的计算机、服务器,可以是移动终端,也可以是其它设备,本发明对此不作任何限制。
具体而言,应用节点701可用于单独获取应用程序运行时产生的异常数据;其中,所述异常数据中的任一个包括至少一种异常特征信息。
数据聚合节点702可用于根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量。
数据展示节点703可用于展示任一异常特征信息以及与该异常特征信息对应的异常数据数量,以处理应用程序的故障。
作为一个优选方案,本实施例的处理应用程序的故障的***还可包括消息队列节点704,用于从应用节点701获取异常数据发送到数据聚合节点702。实际应用中,还可以在每一应用节点701部署数据采集单元采集异常数据。具体地,数据采集单元可以以独立进程的方式运行,监视异常日志。当有新的数据输入到异常日志时,数据采集单元读取该数据并发送至消息队列节点704。消息队列节点704将异常数据发送到数据聚合节点702。
在本实施例的可选实现方式中,异常特征信息可包括以下至少一种:异常时间、异常应用程序名称、异常接口名称、异常调用方法名称、异常IP地址、异常描述信息、异常调用栈信息。
在本实施例的可选实现方式中,所述应用节点701可包括数据过滤单元,其可用于将所述异常调用栈信息中、第一次包含预设配置值的行数据之后的数据去除;或者将所述异常调用栈信息中、除栈顶数据与第一次包含预设配置值的行数据之外的数据去除。
特别地,在本实施例中,所述数据聚合节点702可用于以下至少一种:以异常时间为第一键,以异常应用程序名称为第二键,统计与第一键的键值以及第二键的键值对应的异常数据数量;以异常时间以及异常应用程序名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与第一键的键值以及第二键的键值对应的异常数据数量;以异常时间、异常应用程序名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与第一键的键值以及第二键的键值对应的异常数据数量。
另外,在本实施例中,所述数据展示节点703可用于以下至少一种:基于聚合后的异常数据,展示与任一异常时间以及任一异常应用程序名称对应的异常数据数量,得到应用维度展示信息;展示与任一异常接口名称以及任一调用方法名称对应的异常数据数量,得到方法维度展示信息;展示与任一异常描述信息、任一异常调用栈信息、以及任一异常IP地址对应的异常数据数量,得到IP维度展示信息。
在本实施例的可选实现方式中,所述数据展示节点703还可用于基于应用维度展示信息,如果判断存在符合第一告警条件的异常应用程序名称及异常时间,将该异常应用程序名称确定为故障应用程序名称,将该异常时间确定为故障时间;对于所述故障应用程序名称及所述故障时间,基于方法维度展示信息判断是否存在符合第二告警条件的异常接口名称及异常调用方法名称:如果是,将该异常接口名称确定为故障接口名称,将该异常调用方法名称确定为故障调用方法名称;以及对于所述故障接口名称及所述故障调用方法名称,基于IP维度展示信息判断是否存在符合第三告警条件的异常描述信息、异常调用栈信息及异常IP地址:如果是,将该异常描述信息确定为故障描述信息,将该异常调用栈信息确定为故障调用栈信息,将该异常IP地址确定为故障IP地址。数据展示节点703还可用于将所述故障应用程序名称、所述故障时间、所述故障接口名称、所述故障调用方法名称、所述故障描述信息、所述故障调用栈信息以及所述故障IP地址中的至少一种发送。
实际应用中,可以根据需要灵活设置第一告警条件、第二告警条件及第三告警条件。
根据本实施例的处理应用程序的故障的***可以看出,因为采用了将异常数据与业务数据隔离并完整输出的技术手段,所以使得日志数据量大幅减小,解决了现有技术中异常数据与业务数据耦合、***维护不便、日志查询效率较低的技术问题;通过对输出的异常数据进行数据过滤,进一步减小了日志数据量;通过对异常数据进行多种维度的聚合统计,为后续的数据分析与故障点定位提供支持,解决了现有技术中异常数据无法聚合分析、从而无法确定故障点的技术问题;因为采用了通过从多种维度展示异常数据的技术手段,从而实现了快速发现并定位故障点、同时提供获得故障原因的必要数据的技术效果,解决了现有技术中人工查询效率较低、无法及时发现并准确定位故障点、难以获得故障原因的技术问题。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (13)
1.一种处理应用程序的故障的方法,其特征在于,包括:
单独获取应用程序运行时产生的异常数据,所述异常数据中的任一个包括至少一种异常特征信息;所述异常特征信息包括以下至少一种:异常时间、异常应用程序名称、异常接口名称、异常调用方法名称、异常IP地址、异常描述信息、异常调用栈信息;
根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量;
展示任一异常特征信息、以及与该异常特征信息对应的异常数据数量,以处理应用程序的故障;
所述根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量包括:以异常时间为第一键,以异常应用程序名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:在对所述异常数据进行聚合之前,将所述异常调用栈信息中、第一次包含预设配置值的行数据之后的数据去除。
3.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:在对所述异常数据进行聚合之前,将所述异常调用栈信息中、除栈顶数据与第一次包含预设配置值的行数据之外的数据去除。
4.根据权利要求1所述的方法,其特征在于,所述根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量包括以下至少之一:
以异常时间以及异常应用程序名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;
以异常时间、异常应用程序名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量。
5.根据权利要求1所述的方法,其特征在于,所述展示任一异常特征信息、以及与该异常特征信息对应的异常数据数量包括以下至少之一:
基于聚合后的异常数据:
展示与任一异常时间以及任一异常应用程序名称对应的异常数据数量,得到应用维度展示信息;
展示与任一异常接口名称以及任一异常调用方法名称对应的异常数据数量,得到方法维度展示信息;
展示与任一异常描述信息、任一异常调用栈信息、以及任一异常IP地址对应的异常数据数量,得到IP维度展示信息。
6.根据权利要求1-5任一所述的方法,其特征在于,所述异常时间以秒或分为单位。
7.根据权利要求5所述的方法,其特征在于,所述方法进一步包括:
基于应用维度展示信息,当存在符合第一告警条件的异常应用程序名称及异常时间时,将该异常应用程序名称确定为故障应用程序名称,将该异常时间确定为故障时间;
对于所述故障应用程序名称及所述故障时间,基于方法维度展示信息,当存在符合第二告警条件的异常接口名称及异常调用方法名称时,将该异常接口名称确定为故障接口名称,将该异常调用方法名称确定为故障调用方法名称;以及
对于所述故障接口名称及所述故障调用方法名称,基于IP维度展示信息,当存在符合第三告警条件的异常描述信息、异常调用栈信息及异常IP地址时,将该异常描述信息确定为故障描述信息,将该异常调用栈信息确定为故障调用栈信息,将该异常IP地址确定为故障IP地址。
8.一种处理应用程序的故障的装置,其特征在于,包括:
获取单元,用于单独获取应用程序运行时产生的异常数据,所述异常数据中的任一个包括至少一种异常特征信息;所述异常特征信息包括以下至少一种:异常时间、异常应用程序名称、异常接口名称、异常调用方法名称、异常IP地址、异常描述信息、异常调用栈信息;
聚合单元,用于根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量;
展示单元,用于展示任一异常特征信息、以及与该异常特征信息对应的异常数据数量,以处理应用程序的故障;
所述聚合单元进一步用于:以异常时间为第一键,以异常应用程序名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量。
9.根据权利要求8所述的装置,其特征在于,所述聚合单元用于以下至少之一:
以异常时间以及异常应用程序名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;
以异常时间、异常应用程序名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;以及所述展示单元用于以下至少之一:
基于聚合后的异常数据,展示与任一异常时间以及任一异常应用程序名称对应的异常数据数量,得到应用维度展示信息;
基于聚合后的异常数据,展示与任一异常接口名称以及任一异常调用方法名称对应的异常数据数量,得到方法维度展示信息;
基于聚合后的异常数据,展示与任一异常描述信息、任一异常调用栈信息、以及任一异常IP地址对应的异常数据数量,得到IP维度展示信息;以及所述展示单元进一步用于:
基于应用维度展示信息,当存在符合第一告警条件的异常应用程序名称及异常时间时,将该异常应用程序名称确定为故障应用程序名称,将该异常时间确定为故障时间;
对于所述故障应用程序名称及所述故障时间,基于方法维度展示信息,当存在符合第二告警条件的异常接口名称及异常调用方法名称时,将该异常接口名称确定为故障接口名称,将该异常调用方法名称确定为故障调用方法名称;以及
对于所述故障接口名称及所述故障调用方法名称,基于IP维度展示信息,当存在符合第三告警条件的异常描述信息、异常调用栈信息及异常IP地址时,将该异常描述信息确定为故障描述信息,将该异常调用栈信息确定为故障调用栈信息,将该异常IP地址确定为故障IP地址。
10.一种处理应用程序的故障的***,其特征在于,包括:至少一个应用节点、数据聚合节点以及数据展示节点;其中:
应用节点用于单独获取应用程序运行时产生的异常数据;其中,所述异常数据中的任一个包括至少一种异常特征信息;所述异常特征信息包括以下至少一种:异常时间、异常应用程序名称、异常接口名称、异常调用方法名称、异常IP地址、异常描述信息、异常调用栈信息;
数据聚合节点用于根据所述异常特征信息对所述异常数据进行聚合,获取与任一异常特征信息对应的异常数据数量;
数据展示节点用于展示任一异常特征信息、以及与该异常特征信息对应的异常数据数量,以处理应用程序的故障;
所述数据聚合节点用于:以异常时间为第一键,以异常应用程序名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量。
11.根据权利要求10所述的***,其特征在于,所述数据聚合节点用于以下至少之一:
以异常时间以及异常应用程序名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;
以异常时间、异常应用程序名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与该第一键的键值以及该第二键的键值对应的异常数据数量;以及所述数据展示节点用于以下至少之一:
基于聚合后的异常数据,展示与任一异常时间以及任一异常应用程序名称对应的异常数据数量,得到应用维度展示信息;
基于聚合后的异常数据,展示与任一异常接口名称以及任一异常调用方法名称对应的异常数据数量,得到方法维度展示信息;
基于聚合后的异常数据,展示与任一异常描述信息、任一异常调用栈信息、以及任一异常IP地址对应的异常数据数量,得到IP维度展示信息;以及所述数据展示节点进一步用于:
基于应用维度展示信息,当存在符合第一告警条件的异常应用程序名称及异常时间时,将该异常应用程序名称确定为故障应用程序名称,将该异常时间确定为故障时间;
对于所述故障应用程序名称及所述故障时间,基于方法维度展示信息,当存在符合第二告警条件的异常接口名称及异常调用方法名称时,将该异常接口名称确定为故障接口名称,将该异常调用方法名称确定为故障调用方法名称;以及
对于所述故障接口名称及所述故障调用方法名称,基于IP维度展示信息,当存在符合第三告警条件的异常描述信息、异常调用栈信息及异常IP地址时,将该异常描述信息确定为故障描述信息,将该异常调用栈信息确定为故障调用栈信息,将该异常IP地址确定为故障IP地址。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710665615.XA CN109388546B (zh) | 2017-08-07 | 2017-08-07 | 处理应用程序的故障的方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710665615.XA CN109388546B (zh) | 2017-08-07 | 2017-08-07 | 处理应用程序的故障的方法、装置和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109388546A CN109388546A (zh) | 2019-02-26 |
CN109388546B true CN109388546B (zh) | 2022-06-07 |
Family
ID=65413434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710665615.XA Active CN109388546B (zh) | 2017-08-07 | 2017-08-07 | 处理应用程序的故障的方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388546B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109798A (zh) * | 2019-03-19 | 2019-08-09 | 中国平安人寿保险股份有限公司 | 应用程序异常处理方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354317A (zh) * | 2007-07-27 | 2009-01-28 | 通用电气公司 | 异常聚合方法 |
CN105653432A (zh) * | 2015-12-22 | 2016-06-08 | 北京奇虎科技有限公司 | 一种崩溃数据的处理方法和装置 |
CN105893248A (zh) * | 2015-12-30 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 获取终端设备中异常相关信息的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8176559B2 (en) * | 2009-12-16 | 2012-05-08 | Mcafee, Inc. | Obfuscated malware detection |
-
2017
- 2017-08-07 CN CN201710665615.XA patent/CN109388546B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354317A (zh) * | 2007-07-27 | 2009-01-28 | 通用电气公司 | 异常聚合方法 |
CN105653432A (zh) * | 2015-12-22 | 2016-06-08 | 北京奇虎科技有限公司 | 一种崩溃数据的处理方法和装置 |
CN105893248A (zh) * | 2015-12-30 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 获取终端设备中异常相关信息的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109388546A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109257200B (zh) | 大数据平台监控的方法和装置 | |
CN111190888A (zh) | 一种管理图数据库集群的方法和装置 | |
CN110727560A (zh) | 云服务报警方法及装置 | |
CN110928934A (zh) | 一种用于业务分析的数据处理方法和装置 | |
CN114091704B (zh) | 一种告警压制方法和装置 | |
CN113495820B (zh) | 异常信息收集、处理方法和装置以及异常监控*** | |
US10331484B2 (en) | Distributed data platform resource allocator | |
US20130198381A1 (en) | Optimizing Data Extraction from Distributed Systems into a Unified Event Aggregator Using Time-Outs | |
CN110727563A (zh) | 预设客户的云服务报警方法及装置 | |
US11283697B1 (en) | Scalable real time metrics management | |
CN111064656A (zh) | 数据管理方法、装置、***、存储介质及电子设备 | |
CN110534136B (zh) | 录音的方法和装置 | |
CN109388546B (zh) | 处理应用程序的故障的方法、装置和*** | |
CN111274104B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN109684279B (zh) | 一种数据处理方法及*** | |
CN111698109A (zh) | 监控日志的方法和装置 | |
CN112749204B (zh) | 一种读取数据的方法和装置 | |
CN113282455A (zh) | 一种监控处理方法和装置 | |
CN112688982B (zh) | 一种用户请求处理方法和装置 | |
CN115914064A (zh) | 网络***服务性能评估方法、装置、计算设备和存储介质 | |
CN114049065A (zh) | 一种数据处理方法、装置及*** | |
US10296967B1 (en) | System, method, and computer program for aggregating fallouts in an ordering system | |
CN110888770B (zh) | 用于发送信息的方法和装置 | |
CN112711517A (zh) | 一种服务器性能监控方法、装置、存储介质及终端 | |
CN110852537A (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 |