故障分析方法及装置
技术领域
本说明书涉及通信技术领域,尤其涉及一种故障分析方法及装置。
背景技术
应用、技术组件或数据存储库等系统中,通常包含多个服务器实例、多个服务接口,且每个服务接口分布在不同的物理机房和逻辑机房。以微贷融资业务的支撑系统为例,微贷融资业务的支撑系统共有300多个,单系统存在多个服务器实例、多个服务接口,若以服务接口的物理坐标点统计,其数量大概在1万左右。
上述所述的系统中,若某一服务接口的坐标点发生故障,则必会发生连锁反应,导致应急报警、系统异常信息报警和业务下跌报警,所有报警事件加起来能达到10万量的级别。可见,如何快速地在各类报警事件中定位到异常坐标点,是一切处理措施(如异常原因分析、解决办法等)的开始。为了加强系统应急能力,需要有一套快速定位系统故障发生坐标点的方法。
发明内容
本说明书一个或多个实施例的目的是提供一种故障分析方法及装置,用以实现快速定位系统的故障发生坐标,从而便于针对故障执行应急操作。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
一方面,本说明书一个或多个实施例提供一种故障分析方法,包括:
获取目标系统的日志信息;其中,所述目标系统包括多个服务接口;各所述服务接口分别对应各自的接口位置信息;所述日志信息包括由所述目标系统根据接收到的请求指令所生成的请求标识信息及各所述服务接口的事件执行结果;
根据所述日志信息,确定执行事件服务的多个第一服务接口;及,按照所述请求标识信息对多个所述第一服务接口进行聚类,得到至少一个服务接口集;
从各所述服务接口集中筛选出所述事件执行结果为失败的第二服务接口;及,确定所述第二服务接口对应的接口位置信息为所述第二服务接口所在的服务接口集中的故障发生点。
在一个实施例中,所述日志信息还包括各所述服务接口之间的事件执行顺序;
相应的,在按照所述请求标识信息对多个所述第一服务接口进行聚类,得到至少一个服务接口集之后,还包括:
根据所述日志信息,确定各所述服务接口集中的各所述第一服务接口的事件执行顺序;
按照所述事件执行顺序,将各所述服务接口集中的各所述第一服务接口所对应的节点进行连接,得到至少一个路径网格;
所述从各所述服务接口集中筛选出所述事件执行结果为失败的第二服务接口;及,确定所述第二服务接口对应的位置信息为所述第二服务接口所在的服务接口集中的故障发生点,包括:
从各所述路径网格中筛选出所述事件执行结果为失败的第一节点;及,确定所述第一节点对应的接口位置信息为所述第一节点所在的路径网格中的故障发生点。
在一个实施例中,所述确定所述第一节点对应的接口位置信息为所述第一节点所在的路径网格中的故障发生点,包括:
若从所述路径网格中筛选出多个所述第一节点,则确定多个所述第一节点在所述路径网格中的连接顺序;
从多个所述第一节点中筛选出所述连接顺序位于最前的第二节点;及,确定所述第二节点对应的接口位置信息为所述第二节点所在的路径网格中的故障发生点。
在一个实施例中,所述方法还包括:
按照指定维度对各所述服务接口集进行分类,得到至少一类所述服务接口集;
统计各类所述服务接口集中的所述故障发生点,得到统计结果;其中,所述统计结果包括对应于同一所述接口位置信息的所述故障发生点的数量;
根据所述统计结果,确定所述数量最多的第一故障发生点为对应类别的所述服务接口集中的故障发生点。
在一个实施例中,所述指定维度包括所述服务接口所执行事件的事件标识信息、所述请求指令的来源信息中的至少一项。
在一个实施例中,所述方法还包括:
若存在多个类别的所述服务接口集,则比对各类所述服务接口集中的所述第一故障发生点对应的所述数量;
根据比对结果,从多个所述第一故障发生点中筛选出所述数量最多的第二故障发生点;
根据所述第二故障发生点对应的所述服务接口集的类别,确定所述目标系统的故障发生源。
另一方面,本说明书一个或多个实施例提供一种故障分析装置,包括:
获取模块,用于获取目标系统的日志信息;其中,所述目标系统包括多个服务接口;各所述服务接口分别对应各自的接口位置信息;所述日志信息包括由所述目标系统根据接收到的请求指令所生成的请求标识信息及各所述服务接口的事件执行结果;
确定及聚类模块,用于根据所述日志信息,确定执行事件服务的多个第一服务接口;及,按照所述请求标识信息对多个所述第一服务接口进行聚类,得到至少一个服务接口集;
筛选及确定模块,用于从各所述服务接口集中筛选出所述事件执行结果为失败的第二服务接口;及,确定所述第二服务接口对应的接口位置信息为所述第二服务接口所在的服务接口集中的故障发生点。
在一个实施例中,所述日志信息还包括各所述服务接口之间的事件执行顺序;
相应的,所述装置还包括:
第一确定模块,用于在按照所述请求标识信息对多个所述第一服务接口进行聚类,得到至少一个服务接口集之后,根据所述日志信息,确定各所述服务接口集中的各所述第一服务接口的事件执行顺序;
连接模块,用于按照所述事件执行顺序,将各所述服务接口集中的各所述第一服务接口所对应的节点进行连接,得到至少一个路径网格;
所述筛选及确定模块包括:
筛选及确定单元,用于从各所述路径网格中筛选出所述事件执行结果为失败的第一节点;及,确定所述第一节点对应的接口位置信息为所述第一节点所在的路径网格中的故障发生点。
在一个实施例中,所述筛选及确定单元还用于:
若从所述路径网格中筛选出多个所述第一节点,则确定多个所述第一节点在所述路径网格中的连接顺序;
从多个所述第一节点中筛选出所述连接顺序位于最前的第二节点;及,确定所述第二节点对应的接口位置信息为所述第二节点所在的路径网格中的故障发生点。
在一个实施例中,所述装置还包括:
分类模块,用于按照指定维度对各所述服务接口集进行分类,得到至少一类所述服务接口集;
统计模块,用于统计各类所述服务接口集中的所述故障发生点,得到统计结果;其中,所述统计结果包括对应于同一所述接口位置信息的所述故障发生点的数量;
第二确定模块,用于根据所述统计结果,确定所述数量最多的第一故障发生点为对应类别的所述服务接口集中的故障发生点。
在一个实施例中,所述指定维度包括所述服务接口所执行事件的事件标识信息、所述请求指令的来源信息中的至少一项。
在一个实施例中,所述装置还包括:
比对模块,用于若存在多个类别的所述服务接口集,则比对各类所述服务接口集中的所述第一故障发生点对应的所述数量;
筛选模块,用于根据比对结果,从多个所述第一故障发生点中筛选出所述数量最多的第二故障发生点;
第三确定模块,用于根据所述第二故障发生点对应的所述服务接口集的类别,确定所述目标系统的故障发生源。
再一方面,本说明书一个或多个实施例提供一种故障分析设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取目标系统的日志信息;其中,所述目标系统包括多个服务接口;各所述服务接口分别对应各自的接口位置信息;所述日志信息包括由所述目标系统根据接收到的请求指令所生成的请求标识信息及各所述服务接口的事件执行结果;
根据所述日志信息,确定执行事件服务的多个第一服务接口;及,按照所述请求标识信息对多个所述第一服务接口进行聚类,得到至少一个服务接口集;
从各所述服务接口集中筛选出所述事件执行结果为失败的第二服务接口;及,确定所述第二服务接口对应的接口位置信息为所述第二服务接口所在的服务接口集中的故障发生点。
再一方面,本申请实施例提供一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
获取目标系统的日志信息;其中,所述目标系统包括多个服务接口;各所述服务接口分别对应各自的接口位置信息;所述日志信息包括由所述目标系统根据接收到的请求指令所生成的请求标识信息及各所述服务接口的事件执行结果;
根据所述日志信息,确定执行事件服务的多个第一服务接口;及,按照所述请求标识信息对多个所述第一服务接口进行聚类,得到至少一个服务接口集;
从各所述服务接口集中筛选出所述事件执行结果为失败的第二服务接口;及,确定所述第二服务接口对应的接口位置信息为所述第二服务接口所在的服务接口集中的故障发生点。
采用本说明书一个或多个实施例的技术方案,通过获取目标系统的日志信息,并根据日志信息确定执行事件服务的多个第一服务接口,以及按照日志信息中的请求标识信息对第一服务接口进行聚类,得到至少一个服务接口集,进而从各服务接口集中筛选出事件执行结果为失败的第二服务接口,并确定第二服务接口对应的接口位置信息为该第二服务接口所在的服务接口集中的故障发生点。可见,该技术方案能够准确定位到各请求标识信息对应的服务接口集中的故障发生点,也就是说,能够从请求指令下的多个事件中准确定位出故障发生点,从而便于有针对性地排查故障发生原因,以及进行有效的应急措施。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本说明书一实施例的一种故障分析方法的示意性流程图;
图2是根据本说明书一实施例的一种目标系统的示意性框图;
图3是根据本说明书另一实施例的一种故障分析方法的示意性流程图;
图4是根据本说明书一实施例的一种故障分析方法中路径网络的示意性结构图;
图5是根据本说明书另一实施例的一种故障分析方法中路径网络的示意性结构图;
图6是根据本说明书一实施例的一种故障分析装置的示意性框图;
图7是根据本说明书一实施例的一种故障分析设备的示意性框图。
具体实施方式
本说明书一个或多个实施例提供一种故障分析方法及装置,用以实现快速定位系统的故障发生坐标,从而便于针对故障执行应急操作。
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书一个或多个实施例保护的范围。
图1是根据本说明书一实施例的一种故障分析方法的示意性流程图,如图1所示,该方法包括:
S102,获取目标系统的日志信息。
其中,目标系统包括多个服务接口;各服务接口分别对应各自的接口位置信息;日志信息包括由目标系统根据接收到的请求指令所生成的请求标识信息及各服务接口的事件执行结果。事件执行结果包括成功或失败。
此外,日志信息中还包括客群、渠道、tracerid、rpcid、产品码、事件码、源服务、目标服务、各服务接口之间的事件执行顺序等信息。
其中,tracerid即线索ID值,是目标系统接收用户的任何请求指令时均会生成的一个唯一的ID值,作为tracer链路的ID值,在分布式集群架构中,该值会贯穿tracer链路上的所有系统。
rpcid即远程调用ID值,在分布式集群架构中,跨系统调用发生时,在同一个tracerid下不同系统之间的调用都会生成一个调用ID值,用来区分调用层次。
产品码和事件码即“真实功能”的抽象表示,如转账功能、签约功能、体现功能等,以支付宝余额产品为例,转账、签约和体现就是支付宝余额产品的具体事件,那么转账功能的表示就是“余额产品+转账事件”,签约功能的表示就是“余额产品+签约事件”,体现功能的表示就是“余额产品+体现事件”。
S104,根据日志信息,确定执行事件服务的多个第一服务接口;及,按照请求标识信息对多个第一服务接口进行聚类,得到至少一个服务接口集。
其中,执行事件服务的第一服务接口即:在请求指令的触发下参与事件服务的服务接口。
该步骤中,将同一请求标识信息对应的第一服务接口聚类至一个服务接口集中,不同请求标识信息对应的第一服务接口聚类至不同的服务接口集中。请求标识信息对应的第一服务接口指的是:请求标识信息对应的tracer链路中参与事件服务的第一服务接口。
S106,从各服务接口集中筛选出事件执行结果为失败的第二服务接口;及,确定第二服务接口对应的接口位置信息为第二服务接口所在的服务接口集中的故障发生点。
以“借呗”(供个人申请的一款消费信贷产品)为例说明本实施例中的日志信息的内容。系统物理部署上有深圳-IDC、杭州-IDC及上海-IDC三个物理机房,每个物理机房中又有两个逻辑机房,如深圳-IDC包括深圳-DC-LDCA及深圳-DC-LDCB两个逻辑机房,上海-IDC包括上海-IDC-LDCA上海
-IDC-LDCB两个逻辑机房,杭州-IDC包括杭州-IDC-LDCA及杭州-IDC-LDCB两个逻辑机房。在“借呗”中提供了一个申请服务,服务标识为"pccredit.apply"假设一淘宝用户在淘宝平台上看到“借呗”,并通过“借呗”申请了1W元,且申请结果为成功。那么记录的日志信息如下:
ali-taobao,TB,0ba6eb221552979849887131688328、0.1.1、借呗-9001、12500001,(上海-IDC,上海-IDC-LDCA,pccreditprod,-),(上海-IDC,上海-IDC-LDCB,pccreditcore,pccredit.apply),Y
其中,“ali-taobao”为客群;“TB”为渠道;
“0ba6eb221552979849887131688328”为事件标识信息,即根据淘宝用户的申请请求所生成的唯一编码;“0.1.1”为远程调用ID值,即不同系统间调用的唯一标识;“借呗-9001”为产品码;“12500001”为事件码(即申请事件对应的标识);“上海-IDC,上海-IDC-LDCA,pccreditprod,-”为源服务,由IDC、LDC、系统、服务标识四部分组成,其中“-”代表空值;“上海-IDC,上海-IDC-LDCB,pccreditcore,pccredit.apply”为目标服务;“Y”为事件执行结果。本实施例中,“Y”表示事件执行结果为成功,“N”表示事件执行结果为失败。
本实施例适用的目标系统可以是系统集群的形式,该系统集群中的各系统均包括多个服务接口,且各服务接口分别对应各自的接口位置信息。图2为本实施例中一种系统集群的部署示意图。在图2中,各应用、组件或数据库DB中采用符号“○”表示服务接口。由图2可看出,系统集群中的各系统均包括多个服务接口,每个服务接口均分布在相同或不同的物理机房IDC及逻辑机房LDC,即各服务接口分别对应各自的接口位置信息,用户可以向系统集群发出不同需求的请求指令。
采用本说明书一个或多个实施例的技术方案,通过获取目标系统的日志信息,并根据日志信息确定执行事件服务的多个第一服务接口,以及按照日志信息中的请求标识信息对第一服务接口进行聚类,得到至少一个服务接口集,进而从各服务接口集中筛选出事件执行结果为失败的第二服务接口,并确定第二服务接口对应的接口位置信息为该第二服务接口所在的服务接口集中的故障发生点。可见,该技术方案能够准确定位到各请求标识信息对应的服务接口集中的故障发生点,也就是说,能够从请求指令下的多个事件中准确定位出故障发生点,从而便于有针对性地排查故障发生原因,以及进行有效的应急措施。
图3是根据本说明书另一实施例的一种故障分析方法的示意性流程图,如图3所示,该方法包括:
S301,获取目标系统的日志信息。
其中,日志信息中包括请求标识信息、客群、渠道、tracerid、rpcid、产品码、事件码、源服务、目标服务、各服务接口之间的事件执行顺序、事件执行结果等信息。日志信息中各项信息的含义已在上述实施例中说明,此处不再赘述。
S302,根据日志信息确定执行事件服务的多个第一服务接口。
S303,按照日志信息中的请求标识信息对多个第一服务接口进行聚类,得到至少一个服务接口集,并确定各服务接口集中的各第一服务接口的事件执行顺序。
该步骤中,将同一请求标识信息对应的第一服务接口聚类至一个服务接口集中,不同请求标识信息对应的第一服务接口聚类至不同的服务接口集中。请求标识信息对应的第一服务接口指的是:请求标识信息对应的tracer链路中参与事件服务的第一服务接口。
S304,按照事件执行顺序,将各服务接口集中的各第一服务接口所对应的节点进行连接,得到至少一个路径网格。
S305,从各路径网格中筛选出事件执行结果为失败的第一节点,并确定第一节点对应的接口位置信息为第一节点所在的路径网格中的故障发生点。
其中,各节点对应的事件执行结果可在节点中进行表示,例如,采用不同的节点颜色来区分事件执行结果为成功或失败的节点;或者,采用不同的标识信息来区分事件执行结果为成功或失败的节点;其中,标识信息可以是添加在节点对应位置上的符号、字符等。
图4示出了一实施例中的多个路径网格,包括路径网格A及路径网格B。本实施例中,采用空心圆表示事件执行结果为成功的节点,采用实心圆表示事件执行结果为失败的节点。从图4中可看出,节点a对应的接口位置信息为路径网格A中的故障发生点,节点b对应的接口位置信息为路径网格B中的故障发生点。
在一个实施例中,若从路径网格中筛选出多个事件执行结果为失败的第一节点,则确定多个第一节点在路径网格中的连接顺序;然后从多个第一节点中筛选出连接顺序位于最前的第二节点;及,确定第二节点对应的接口位置信息为第二节点所在的路径网格中的故障发生点。
本实施例中,节点在路径网格中的连接顺序更前,指的是节点距离路径网格的源节点更近。
图5示出了一实施例中的路径网格C,本实施例中,采用空心圆表示事件执行结果为成功的节点,采用实心圆表示事件执行结果为失败的节点。假设在路径网格C中,节点c和节点d对应的事件执行结果均为失败,那么可先确定节点c和节点d在路径网格C中的连接顺序,并确定连接顺序位于最前的节点对应的接口位置信息为路径网格C中的故障发生点。显然,节点c的连接顺序位于节点d的连接顺序之前,因此,可确定节点c对应的接口位置信息为路径网格C中的故障发生点。
在一个实施例中,可按照指定维度对各服务接口集进行分类,得到至少一类服务接口集,然后统计各类服务接口集中的故障发生点;进而根据统计结果,确定数量最多的第一故障发生点为对应类别的服务接口集中的故障发生点。其中,统计结果包括对应于同一接口位置信息的故障发生点的数量。
本实施例中,指定维度可包括服务接口所执行事件的事件标识信息、请求指令的来源信息等。
在同一类别的服务接口集中包括多个服务接口集时,各服务器接口集中的故障发生点可能相同、也可能不同,这种情况下,可将对应于同一接口位置信息的数量最多的故障发生点作为该类服务接口集中的故障发生点。
以指定维度为事件标识信息为例。假设根据事件标识信息对各服务接口集进行分类后,得到事件标识信息A对应的A类服务接口集,A类服务接口集中包括3个服务接口集a、b、c。其中,服务接口集a中的故障发生点对应的接口位置信息为(x1,y1),服务接口集b中的故障发生点对应的接口位置信息为(x2,y2),服务接口集c中的故障发生点对应的接口位置信息为(x1,y1)。由统计可知,对应于接口位置信息为(x1,y1)的故障发生点的数量最多,因此可确定对应于接口位置信息为(x1,y1)的故障发生点为A类服务接口集中的故障发生点。
在一个实施例中,若存在多个类别的服务接口集,则比对各类服务接口集中第一故障发生点对应的数量(即各类服务接口集中的故障发生点对应于同一接口位置信息的数量);然后根据比对结果,从多个第一故障发生点中筛选出对应数量最多的第二故障发生点;进而根据第二故障发生点对应的服务接口集的类别,确定目标系统的故障发生源。
以指定维度为请求指令的来源信息为例,假设按照请求指令的来源信息,可将各服务接口集划分为请求指令来源于“淘宝”的A类服务接口集和请求指令来源于“支付宝”的B类服务接口集。A类服务接口集中的故障发生点对应于同一接口位置信息的数量为3,A类服务接口集中的故障发生点对应于同一接口位置信息的数量为2,显然,A类服务接口集中的故障发生点对应的数量多于B类服务接口集中的故障发生点对应的数量,因此可确定出目标系统的故障发生源即为“淘宝”。
本实施例中,不仅能准确定位出故障发生点,还能分析出目标系统的故障发生源,因此便于有针对性执行有效的应急措施,进而快速解决系统故障。
综上,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
以上为本说明书一个或多个实施例提供的故障分析方法,基于同样的思路,本说明书一个或多个实施例还提供一种故障分析装置。
图6是根据本说明书一实施例的一种故障分析装置的示意性流程图,如图6所示,故障分析装置600包括:
获取模块610,用于获取目标系统的日志信息;其中,目标系统包括多个服务接口;各服务接口分别对应各自的接口位置信息;日志信息包括由目标系统根据接收到的请求指令所生成的请求标识信息及各服务接口的事件执行结果;
确定及聚类模块620,用于根据日志信息,确定执行事件服务的多个第一服务接口;及,按照请求标识信息对多个第一服务接口进行聚类,得到至少一个服务接口集;
筛选及确定模块630,用于从各服务接口集中筛选出事件执行结果为失败的第二服务接口;及,确定第二服务接口对应的接口位置信息为第二服务接口所在的服务接口集中的故障发生点。
在一个实施例中,日志信息还包括各服务接口之间的事件执行顺序;
相应的,装置600还包括:
第一确定模块,用于在按照请求标识信息对多个第一服务接口进行聚类,得到至少一个服务接口集之后,根据日志信息,确定各服务接口集中的各第一服务接口的事件执行顺序;
连接模块,用于按照事件执行顺序,将各服务接口集中的各第一服务接口所对应的节点进行连接,得到至少一个路径网格;
筛选及确定模块630包括:
筛选及确定单元,用于从各路径网格中筛选出事件执行结果为失败的第一节点;及,确定第一节点对应的接口位置信息为第一节点所在的路径网格中的故障发生点。
在一个实施例中,筛选及确定单元还用于:
若从路径网格中筛选出多个第一节点,则确定多个第一节点在路径网格中的连接顺序;
从多个第一节点中筛选出连接顺序位于最前的第二节点;及,确定第二节点对应的接口位置信息为第二节点所在的路径网格中的故障发生点。
在一个实施例中,装置600还包括:
分类模块,用于按照指定维度对各服务接口集进行分类,得到至少一类服务接口集;
统计模块,用于统计各类服务接口集中的故障发生点,得到统计结果;其中,统计结果包括对应于同一接口位置信息的故障发生点的数量;
第二确定模块,用于根据统计结果,确定数量最多的第一故障发生点为对应类别的服务接口集中的故障发生点。
在一个实施例中,指定维度包括服务接口所执行事件的事件标识信息、请求指令的来源信息中的至少一项。
在一个实施例中,装置600还包括:
比对模块,用于若存在多个类别的服务接口集,则比对各类服务接口集中的第一故障发生点对应的数量;
筛选模块,用于根据比对结果,从多个第一故障发生点中筛选出数量最多的第二故障发生点;
第三确定模块,用于根据第二故障发生点对应的服务接口集的类别,确定目标系统的故障发生源。
采用本说明书一个或多个实施例的技术方案,通过获取目标系统的日志信息,并根据日志信息确定执行事件服务的多个第一服务接口,以及按照日志信息中的请求标识信息对第一服务接口进行聚类,得到至少一个服务接口集,进而从各服务接口集中筛选出事件执行结果为失败的第二服务接口,并确定第二服务接口对应的接口位置信息为该第二服务接口所在的服务接口集中的故障发生点。可见,该技术方案能够准确定位到各请求标识信息对应的服务接口集中的故障发生点,也就是说,能够从请求指令下的多个事件中准确定位出故障发生点,从而便于有针对性地排查故障发生原因,以及进行有效的应急措施。
本领域的技术人员应可理解,上述故障分析装置能够用来实现前文所述的故障分析方法,其中的细节描述应与前文方法部分描述类似,为避免繁琐,此处不另赘述。
基于同样的思路,本说明书一个或多个实施例还提供一种故障分析设备,如图7所示。故障分析设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对故障分析设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在故障分析设备上执行存储器702中的一系列计算机可执行指令。故障分析设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706。
具体在本实施例中,故障分析设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对故障分析设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取目标系统的日志信息;其中,所述目标系统包括多个服务接口;各所述服务接口分别对应各自的接口位置信息;所述日志信息包括由所述目标系统根据接收到的请求指令所生成的请求标识信息及各所述服务接口的事件执行结果;
根据所述日志信息,确定执行事件服务的多个第一服务接口;及,按照所述请求标识信息对多个所述第一服务接口进行聚类,得到至少一个服务接口集;
从各所述服务接口集中筛选出所述事件执行结果为失败的第二服务接口;及,确定所述第二服务接口对应的接口位置信息为所述第二服务接口所在的服务接口集中的故障发生点。
可选地,所述日志信息还包括各所述服务接口之间的事件执行顺序;
相应的,计算机可执行指令在被执行时,还可以使所述处理器:
在按照所述请求标识信息对多个所述第一服务接口进行聚类,得到至少一个服务接口集之后,根据所述日志信息,确定各所述服务接口集中的各所述第一服务接口的事件执行顺序;
按照所述事件执行顺序,将各所述服务接口集中的各所述第一服务接口所对应的节点进行连接,得到至少一个路径网格;
从各所述路径网格中筛选出所述事件执行结果为失败的第一节点;及,确定所述第一节点对应的接口位置信息为所述第一节点所在的路径网格中的故障发生点。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
若从所述路径网格中筛选出多个所述第一节点,则确定多个所述第一节点在所述路径网格中的连接顺序;
从多个所述第一节点中筛选出所述连接顺序位于最前的第二节点;及,确定所述第二节点对应的接口位置信息为所述第二节点所在的路径网格中的故障发生点。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
按照指定维度对各所述服务接口集进行分类,得到至少一类所述服务接口集;
统计各类所述服务接口集中的所述故障发生点,得到统计结果;其中,所述统计结果包括对应于同一所述接口位置信息的所述故障发生点的数量;
根据所述统计结果,确定所述数量最多的第一故障发生点为对应类别的所述服务接口集中的故障发生点。
可选地,所述指定维度包括所述服务接口所执行事件的事件标识信息、所述请求指令的来源信息中的至少一项。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
若存在多个类别的所述服务接口集,则比对各类所述服务接口集中的所述第一故障发生点对应的所述数量;
根据比对结果,从多个所述第一故障发生点中筛选出所述数量最多的第二故障发生点;
根据所述第二故障发生点对应的所述服务接口集的类别,确定所述目标系统的故障发生源。
本说明书一个或多个实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行上述故障分析方法,并具体用于执行:
获取目标系统的日志信息;其中,所述目标系统包括多个服务接口;各所述服务接口分别对应各自的接口位置信息;所述日志信息包括由所述目标系统根据接收到的请求指令所生成的请求标识信息及各所述服务接口的事件执行结果;
根据所述日志信息,确定执行事件服务的多个第一服务接口;及,按照所述请求标识信息对多个所述第一服务接口进行聚类,得到至少一个服务接口集;
从各所述服务接口集中筛选出所述事件执行结果为失败的第二服务接口;及,确定所述第二服务接口对应的接口位置信息为所述第二服务接口所在的服务接口集中的故障发生点。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(trans itory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的权利要求范围之内。