CN115296978B - 根因定位方法、装置、设备 - Google Patents
根因定位方法、装置、设备 Download PDFInfo
- Publication number
- CN115296978B CN115296978B CN202210800487.6A CN202210800487A CN115296978B CN 115296978 B CN115296978 B CN 115296978B CN 202210800487 A CN202210800487 A CN 202210800487A CN 115296978 B CN115296978 B CN 115296978B
- Authority
- CN
- China
- Prior art keywords
- node
- service
- nodes
- host
- anomaly score
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000002159 abnormal effect Effects 0.000 claims abstract description 24
- 230000015654 memory Effects 0.000 claims description 19
- 238000013508 migration Methods 0.000 claims description 19
- 230000005012 migration Effects 0.000 claims description 19
- 230000004807 localization Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 230000005856 abnormality Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000005295 random walk Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种根因定位方法、装置、设备,属于计算机技术领域。方法包括:获取第一服务的服务数据和至少一个第二服务的服务数据;根据第一服务的服务数据和至少一个第二服务的服务数据,构建传播拓扑图;确定传播拓扑图中的各个节点对应的访问次数,访问次数用于指示节点被访问的次数;根据各个节点对应的访问次数,确定目标根因,目标根因用于指示部署有任一服务的主机的任一指标存在异常,任一服务为第一服务和至少一个第二服务中的任一个服务。该方法使得根因定位的精细度更高,准确性更高。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种根因定位方法、装置、设备。
背景技术
随着计算机技术的不断发展,智能运维技术被越来越多的应用在企业运维***中。根因定位是智能运维技术的重要一环,根因定位通过对产生异常的节点进行回溯分析,输出引起异常的最可能的根因节点。
相关技术中,在各节点中查找出异常节点,节点为主机节点或服务节点,获取目标节点的异常情况与参考节点的异常情况的相似度,其中,目标节点为异常节点中的任一个节点,参考节点为目标节点的下游节点中的异常节点。响应于相似度大于相似阈值,将目标节点作为根因节点。
然而,上述根因定位方法中,当目标节点为主机节点时,则确定目标节点对应的主机出现异常,当目标节点为服务节点时,则确定目标节点对应的服务出现异常,但并不知道出现何种异常,使得根因定位的精细度不高,导致根因定位的准确性较低。
发明内容
本申请实施例提供了一种根因定位方法、装置、设备,可用于解决相关技术中的问题。所述技术方案如下:
一方面,本申请实施例提供了一种根因定位方法,所述方法包括:
获取第一服务的服务数据和至少一个第二服务的服务数据,所述至少一个第二服务为与所述第一服务相关的服务;
根据所述第一服务的服务数据和所述至少一个第二服务的服务数据,构建传播拓扑图,所述传播拓扑图中包括多个服务节点、多个主机节点和多个指标节点,任意两个存在关联的节点通过边进行连接,所述服务节点基于所述第一服务和所述第二服务确定,所述主机节点为所述服务节点的下游节点,所述指标节点为所述主机节点的下游节点;
确定所述传播拓扑图中的各个节点对应的访问次数,所述访问次数用于指示节点被访问的次数;
根据所述各个节点对应的访问次数,确定目标根因,所述目标根因用于指示部署有任一服务的主机的任一指标存在异常,所述任一服务为所述第一服务和所述至少一个第二服务中的任一个服务。
在一种可能的实现方式中,所述确定所述传播拓扑图中的各个节点对应的访问次数,包括:
根据各个节点的入向边的异常分数和出向边的异常分数,确定在各个节点向各个游走方向进行游走的概率,所述节点的入向边的异常分数是指从入向边的起始节点到所述节点发生异常的概率,所述节点的出向边的异常分数是指从所述节点到所述出向边的结束节点发生异常的概率;
根据所述在各个节点向各个游走方向进行游走的概率,在所述传播拓扑图中进行随机游走,得到所述各个节点对应的访问次数。
在一种可能的实现方式中,所述游走方向包括正向、逆向和停留;
所述根据各个节点的入向边的异常分数和出向边的异常分数,确定在各个节点向各个游走方向进行游走的概率,包括:
对于所述各个节点中的目标节点,根据所述目标节点的入向边的异常分数和出向边的异常分数,确定参考异常分数;
根据所述目标节点的入向边的异常分数和所述参考异常分数,确定在所述目标节点向正向进行游走的概率;
根据所述目标节点的出向边的异常分数和所述参考异常分数,确定在所述目标节点向逆向进行游走的概率;
根据所述目标节点的入向边的异常分数中的最大异常分数和所述目标节点的出向边的异常分数中的最大异常分数,确定在所述目标节点停留的概率。
在一种可能的实现方式中,所述方法还包括:
获取任一主机节点对应的主机在目标时间段的目标性能的时序数据;
获取所述任一主机节点对应的主机中存在的任一指标节点对应的指标在所述目标时间段的第一时序数据;
确定所述目标性能的时序数据和所述第一时序数据的第一相似性系数;
根据所述第一相似性系数,确定从所述任一主机节点指向所述任一指标节点的边的异常分数。
在一种可能的实现方式中,所述传播拓扑图中还包括多个故障节点,所述故障节点为所述主机节点的下游节点;所述方法还包括:
获取所述任一主机节点对应的主机中存在的任一故障节点对应的故障在所述目标时间段的第二时序数据;
确定所述目标性能的时序数据和所述第二时序数据的第二相似性系数;
根据所述第二相似性系数,确定从所述任一主机节点指向所述任一故障节点的边的异常分数;
在从所述任一主机节点指向各个指标节点的边的异常分数中确定第一异常分数;
在从所述任一主机节点指向各个故障节点的边的异常分数中确定第二异常分数;
根据所述第一异常分数和所述第二异常分数,确定从所述任一服务节点指向所述任一主机节点的边的异常分数。
在一种可能的实现方式中,所述根据所述第一异常分数和所述第二异常分数,确定从所述任一服务节点指向所述任一主机节点的边的异常分数,包括:
确定所述第一异常分数和所述第二异常分数的加权和;
将所述加权和作为从所述任一服务节点指向所述任一主机节点的边的异常分数;或者,获取所述任一主机节点对应的主机的故障占比,根据所述故障占比和所述加权和确定从所述任一服务节点指向所述任一主机节点的边的异常分数。
在一种可能的实现方式中,所述方法还包括:
获取第三异常分数,所述第三异常分数为从第二服务节点指向各个主机节点的边的异常分数中的最大值,所述第二服务节点对应的服务可被第一服务节点对应的服务调用;
确定所述第一服务节点对应的服务调用所述第二服务节点对应的服务的调用失败比例;
根据所述第三异常分数和所述调用失败比例,确定从所述第一服务节点指向所述第二服务节点的边的异常分数。
在一种可能的实现方式中,所述方法还包括:
根据所述各个节点的类型,对所述各个节点分组,得到多个节点组,一个节点组中包括多个节点;
所述根据所述各个节点对应的访问次数,确定目标根因,包括:
在各个节点组包括的多个节点中确定访问次数满足次数要求的节点;
根据各个节点组中包括的访问次数满足次数要求的节点,确定所述目标根因。
另一方面,本申请实施例提供了一种根因定位装置,所述装置包括:
获取模块,用于获取第一服务的服务数据和至少一个第二服务的服务数据,所述至少一个第二服务为与所述第一服务相关的服务;
构建模块,用于根据所述第一服务的服务数据和所述至少一个第二服务的服务数据,构建传播拓扑图,所述传播拓扑图中包括多个服务节点、多个主机节点和多个指标节点,任意两个存在关联的节点通过边进行连接,所述服务节点基于所述第一服务和所述第二服务确定,所述主机节点为所述服务节点的下游节点,所述指标节点为所述主机节点的下游节点;
确定模块,用于确定所述传播拓扑图中的各个节点对应的访问次数,所述访问次数用于指示节点被访问的次数;
所述确定模块,还用于根据所述各个节点对应的访问次数,确定目标根因,所述目标根因用于指示部署有任一服务的主机的任一指标存在异常,所述任一服务为所述第一服务和所述至少一个第二服务中的任一个服务。
在一种可能的实现方式中,所述确定模块,用于根据各个节点的入向边的异常分数和出向边的异常分数,确定在各个节点向各个游走方向进行游走的概率,所述节点的入向边的异常分数是指从入向边的起始节点到所述节点发生异常的概率,所述节点的出向边的异常分数是指从所述节点到所述出向边的结束节点发生异常的概率;
根据所述在各个节点向各个游走方向进行游走的概率,在所述传播拓扑图中进行随机游走,得到所述各个节点对应的访问次数。
在一种可能的实现方式中,所述游走方向包括正向、逆向和停留;
所述确定模块,用于对于所述各个节点中的目标节点,根据所述目标节点的入向边的异常分数和出向边的异常分数,确定参考异常分数;
根据所述目标节点的入向边的异常分数和所述参考异常分数,确定在所述目标节点向正向进行游走的概率;
根据所述目标节点的出向边的异常分数和所述参考异常分数,确定在所述目标节点向逆向进行游走的概率;
根据所述目标节点的入向边的异常分数中的最大异常分数和所述目标节点的出向边的异常分数中的最大异常分数,确定在所述目标节点停留的概率。
在一种可能的实现方式中,所述获取模块,还用于获取任一主机节点对应的主机在目标时间段的目标性能的时序数据;
获取所述任一主机节点对应的主机中存在的任一指标节点对应的指标在所述目标时间段的第一时序数据;
所述确定模块,还用于确定所述目标性能的时序数据和所述第一时序数据的第一相似性系数;
根据所述第一相似性系数,确定从所述任一主机节点指向所述任一指标节点的边的异常分数。
在一种可能的实现方式中,所述传播拓扑图中还包括多个故障节点,所述故障节点为所述主机节点的下游节点;
所述获取模块,还用于获取所述任一主机节点对应的主机中存在的任一故障节点对应的故障在所述目标时间段的第二时序数据;
所述确定模块,还用于确定所述目标性能的时序数据和所述第二时序数据的第二相似性系数;
根据所述第二相似性系数,确定从所述任一主机节点指向所述任一故障节点的边的异常分数;
在从所述任一主机节点指向各个指标节点的边的异常分数中确定第一异常分数;
在从所述任一主机节点指向各个故障节点的边的异常分数中确定第二异常分数;
根据所述第一异常分数和所述第二异常分数,确定从所述任一服务节点指向所述任一主机节点的边的异常分数。
在一种可能的实现方式中,所述确定模块,用于确定所述第一异常分数和所述第二异常分数的加权和;
将所述加权和作为从所述任一服务节点指向所述任一主机节点的边的异常分数;或者,获取所述任一主机节点对应的主机的故障占比,根据所述故障占比和所述加权和确定从所述任一服务节点指向所述任一主机节点的边的异常分数。
在一种可能的实现方式中,所述获取模块,还用于获取第三异常分数,所述第三异常分数为从第二服务节点指向各个主机节点的边的异常分数中的最大值,所述第二服务节点对应的服务可被第一服务节点对应的服务调用;
所述确定模块,还用于确定所述第一服务节点对应的服务调用所述第二服务节点对应的服务的调用失败比例;
根据所述第三异常分数和所述调用失败比例,确定从所述第一服务节点指向所述第二服务节点的边的异常分数。
在一种可能的实现方式中,所述装置还包括:
分组模块,用于根据所述各个节点的类型,对所述各个节点分组,得到多个节点组,一个节点组中包括多个节点;
所述确定模块,还用于在各个节点组包括的多个节点中确定访问次数满足次数要求的节点;
根据各个节点组中包括的访问次数满足次数要求的节点,确定所述目标根因。
另一方面,本申请实施例提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使电子设备实现上述任一所述的根因定位方法。
另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现上述任一所述的根因定位方法。
另一方面,还提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行,以使计算机实现上述任一种根因定位方法。
本申请实施例提供的技术方案至少带来如下有益效果:
本申请实施例提供的技术方案通过第一服务的服务数据和第二服务的服务数据构建传播拓扑图,传播拓扑图中不仅包括服务节点和主机节点,还包括指标节点。通过确定各个节点对应的访问次数的方式,进而定位根因。这种方式定位出的根因是部署有任务的主机的指标出现异常,根因定位的精细度较高,且根因定位的准确性也较高。而且,这种方式不需要设置相似阈值,也即是不需要人工参与,进一步提高了根因定位的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种根因定位方法的实施环境示意图;
图2是本申请实施例提供的一种根因定位方法的流程图;
图3是本申请实施例提供的一种传播拓扑图的示意图;
图4是本申请实施例提供的另一种传播拓扑图的示意图;
图5是本申请实施例提供的一种包括异常分数的传播拓扑图的示意图;
图6是本申请实施例提供的一种根因定位装置的结构示意图;
图7是本申请实施例提供的一种终端设备的结构示意图;
图8是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种根因定位方法的实施环境示意图,如图1所示,该实施环境包括:电子设备101。电子设备101可以是终端设备,也可以是服务器,本申请实施例对此不进行限定。电子设备101用于执行本申请实施例提供的根因定位方法。
可选地,终端设备可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器和膝上型便携计算机中的至少一种。服务器为一台服务器,或者为多台服务器组成的服务器集群,或者为云计算平台和虚拟化中心中的任意一种,本申请实施例对此不加以限定。服务器与终端设备通过有线网络或无线网络进行通信连接。服务器具有数据接收功能、数据处理功能和数据发送功能。当然,服务器还可以具有其他功能,本申请实施例对此不加以限定。
终端设备可以泛指多个终端设备中的一个,本实施例仅以终端设备来举例说明。本领域技术人员可以知晓,上述终端设备的数量可以更多或更少。比如上述终端设备可以仅为一个,或者上述终端设备为几十个或几百个,或者更多数量,本申请实施例对终端设备的数量和设备类型不加以限定。
本领域技术人员应能理解上述终端设备和服务器仅为举例说明,其他现有的或者今后可能出现的终端设备或服务器,如可适用于本申请,也应包含在本申请的保护范围之内,并在此以引用方式包含于此。
本申请实施例提供了一种根因定位方法,该方法可应用于上述实施环境,以图2所示的本申请实施例提供的一种根因定位方法的流程图为例,该方法可由图1中的电子设备101执行。如图2所示,该方法包括下述步骤:
在步骤201中,获取第一服务的服务数据和至少一个第二服务的服务数据,至少一个第二服务为与第一服务相关的服务。
在本申请示例性实施例中,电子设备中部署有微服务***,微服务***包括多个服务,各个服务部署在相同或不同的主机上,主机可以是服务器,也可以是终端设备,本申请实施例对此不进行限定。第一服务为微服务***包括的多个服务中出现异常的服务,第二服务为与第一服务相关的服务,第二服务可以是第一服务的下游服务,也可以是第一服务的上游服务,本申请实施例对此不进行限定。如果第二服务是第一服务的下游服务,则第一服务可以调用第二服务。如果第二服务是第一服务的上游服务,则第二服务可以调用第一服务。
当微服务***中的第一服务出现异常时,可能是因为微服务***中的其他服务出现异常导致的第一服务出现异常,也可能是微服务***包括的服务所部属的主机出现异常所导致的,因此,需要本申请实施例提供的根因定位方法来定位微服务***中第一服务出现异常的根本原因。
在一种可能的实现方式中,服务数据包括但不限于调用链数据、部属有服务的主机对应的指标。其中,服务为第一服务和至少一个第二服务中的任一个服务。
可选地,调用链数据包括但不限于服务间的调用关系,每一对服务调用的状态,每一对服务调用的总次数和调用失败的次数。部署有服务的主机对应的指标包括但不限于部署有服务的主机的CPU(Central Processing Unit,中央处理器)指标、内存指标、负载指标、网络指标、内核指标以及Java(一种面向对象的编程语言)虚拟机指标。
在步骤202中,根据第一服务的服务数据和至少一个第二服务的服务数据,构建传播拓扑图。
其中,传播拓扑图中包括多个服务节点、多个主机节点和多个指标节点,任意两个存在关联的节点通过边进行连接,服务节点基于第一服务和第二服务确定,主机节点为服务节点的下游节点,指标节点为主机节点的下游节点。
在一种可能的实现方式中,根据第一服务的服务数据和至少一个第二服务的服务数据,构建传播拓扑图的过程,包括:根据第一服务的服务数据和至少一个第二服务的服务数据,确定多个服务节点、多个主机节点和多个指标节点。对多个服务节点、多个主机节点和多个指标节点进行连接,得到传播拓扑图。
根据第一服务的服务数据和至少一个第二服务的服务数据,确定多个服务节点、多个主机节点和多个指标节点的过程包括:根据第一服务和至少一个第二服务,确定多个服务节点;根据部署有第一服务的主机和部署有第二服务的主机,确定多个主机节点;根据部署有第一服务的主机对应的指标和部署有第二服务的主机对应的指标,确定多个指标节点。
示例性地,获取到第一服务和一个第二服务,第一服务可以调用第二服务。其中,第一服务部署在第一主机上,第二服务部署在第二主机上。由此可以得到两个服务节点,分别为:第一服务对应的服务节点和第二服务对应的服务节点;可以得到两个主机节点,分别为:第一主机对应的主机节点和第二主机对应的主机节点。两个主机上均存在CPU指标、内存指标、负载指标、网络指标、内核指标以及Java虚拟机指标,因此,确定出六个指标节点,分别为CPU指标对应的指标节点、内存指标对应的指标节点、负载指标对应的指标节点、网络指标对应的指标节点、内核指标对应的指标节点和Java虚拟机指标对应的指标节点。
在一种可能的实现方式中,对多个服务节点、多个主机节点和多个指标节点进行连接,得到传播拓扑图的过程包括:对于任意两个服务节点,基于任意两个服务节点对应的服务之间存在调用关系,在任意两个服务节点之间添加一条边,边从被调用的服务对应的服务节点指向调用的服务对应的服务节点;对于任一主机节点和任一服务节点,基于任一主机节点对应的主机上部署有任一服务节点对应的服务,在任一主机节点和任一服务节点之间添加一条边,边从任一服务节点指向任一主机节点;对于任一主机节点和任一指标节点,基于任一主机节点对应的主机上存在任一指标节点对应的指标,在任一主机节点和任一指标节点之间添加一条边,边从任一主机节点指向任一指标节点;基于上述操作,得到传播拓扑图。
如图3是本申请实施例提供的一种传播拓扑图的示意图。在图3中包括两个服务节点、两个主机节点和两个指标节点。其中,服务节点1对应的服务能够调用服务节点2对应的服务,因此,在服务节点1和服务节点2之间添加一条边,且边从服务节点1指向服务节点2。服务节点1对应的服务部署在主机节点1对应的主机上和主机节点2对应的主机上。服务节点2对应的服务部署在主机节点1对应的主机上和主机节点2对应的主机上。主机节点1对应的主机上存在指标节点1对应的指标、指标节点2对应的指标。主机节点2对应的主机上存在指标节点1对应的指标、指标节点2对应的指标。
可选地,服务数据中还包括部署有服务的主机的日志数据,部署有服务的主机的日志数据包括每条日志的时间戳、服务标识符、服务所在主机标识符、日志事件类型、日志信息、执行次数以及事件持续时长。每条日志数据均可转化为时间窗口的时序数据。根据部署有第一服务的主机的日志数据和部署有第二服务的主机的日志数据,确定多个故障节点,故障节点为主机节点的下游节点。在构建传播拓扑图时,还可以在存在关联的主机节点和故障节点之间添加一条边,对于任一主机节点和任一故障节点,基于任一主机节点对应的主机上存在任一故障节点对应的故障,在任一主机节点和任一故障节点之间添加一条边,边从任一主机节点指向任一故障节点。进而得到传播拓扑图,传播拓扑图中包括多个服务节点、多个主机节点、多个指标节点和多个故障节点。
如图4是本申请实施例提供的另一种传播拓扑图的示意图。在图4中包括两个服务节点、两个主机节点、两个指标节点和两个故障节点。其中,服务节点1对应的服务能够调用服务节点2对应的服务,因此,在服务节点1和服务节点2之间添加一条边,且边从服务节点1指向服务节点2。服务节点1对应的服务部署在主机节点1对应的主机上和主机节点2对应的主机上。服务节点2对应的服务部署在主机节点1对应的主机上和主机节点2对应的主机上。主机节点1对应的主机上存在指标节点1对应的指标、指标节点2对应的指标、故障节点1对应的故障和故障节点2对应的故障。主机节点2对应的主机上存在指标节点1对应的指标、指标节点2对应的指标、故障节点1对应的故障和故障节点2对应的故障。
在步骤203中,确定传播拓扑图中的各个节点对应的访问次数,访问次数用于指示节点被访问的次数。
在一种可能的实现方式中,确定传播拓扑图中的各个节点对应的访问次数的过程包括:根据各个节点的入向边的异常分数和出向边的异常分数,确定在各个节点向各个游走方向进行游走的概率,节点的入向边的异常分数是指从入向边的起始节点到节点发生的异常的概率,节点的出向边的异常分数是指从节点到出向边的结束节点发生异常的概率;根据在各个节点向各个游走方向进行游走的概率,在传播拓扑图中进行随机游走,得到各个节点对应的访问次数。
根据各个节点的入向边的异常分数和出向边的异常分数,确定在各个节点向各个游走方向进行游走的概率之前,还需要确定传播拓扑图中的各条边对应的异常分数。
其中,确定传播拓扑图中的各条边对应的异常分数的过程包括:确定传播拓扑图中从任一主机节点指向任一指标节点的边的异常分数;确定传播拓扑图中从任一服务节点指向任一主机节点的边的异常分数;确定传播拓扑图中从第一服务节点指向第二服务节点的边的异常分数,第一服务节点对应的服务可调用第二服务节点对应的服务。
在一种可能的实现方式中,确定传播拓扑图中从任一主机节点指向任一指标节点的边的异常分数的过程包括:获取任一主机节点对应的主机在目标时间段的目标性能的时序数据;获取任一主机节点对应的主机中存在的任一指标节点对应的指标在目标时间段的第一时序数据;确定目标性能的时序数据和第一时序数据的第一相似性系数;根据第一相似性系数,确定从任一主机节点指向任一指标节点的边的异常分数。其中,目标时间段为任意一个时间段,本申请实施例对此不进行限定。目标性能可以是接口访问成功率、数据库访问成功率、rpc(Remote Procedure Call Protocol,远程过程调用)调用成功率、缓存命中率中的任一种,本申请实施例对此不进行限定。
可选地,确定目标性能的时序数据和第一时序数据的第一相似性系数的过程包括:确定目标性能的时序数据和第一时序数据之间的第一距离,将第一距离作为第一相似性系数。示例性地,确定目标性能的时序数据和第一时序数据之间的欧氏距离,将目标性能的时序数据和第一时序数据之间的欧氏距离作为第一相似性系数。
在一种可能的实现方式中,根据第一相似性系数,确定从任一主机节点指向任一指标节点的边的异常分数的过程包括:将第一相似性系数作为从任一主机节点指向任一指标节点的边的异常分数。
示例性地,通过下述公式(1)确定从任一主机节点指向任一指标节点的边的异常分数。
weight(host,metric)=r(KPI,tmetric) 公式(1)
上述公式(1)中,weight(host,metric)为从任一主机节点指向任一指标节点的边的异常分数,KPI为目标性能的时序数据,tmetric为第一时序数据,r(KPI,tmetric)为第一相似性系数。
确定出第一相似性系数之后,还可以对第一相似性系数进行归一化处理,得到归一化处理后的第一相似性系数,将归一化处理后的第一相似性系数作为从任一主机节点指向任一指标节点的边的异常分数。其中,归一化处理后的第一相似性系数不大于1,且不小于0。
以确定从第一主机节点指向CPU节点的边的异常分数为例,确定第一主机节点对应的主机在目标时间段的目标性能的时序数据,确定第一主机节点对应的主机中的CPU在目标时间段的第一时序数据,根据上述公式(1)确定目标性能的时序数据和第一时序数据的第一相似性系数,将第一相似性系数作为从第一主机节点指向CPU节点的边的异常分数。
在一种可能的实现方式中,确定传播拓扑图中从任一主机节点指向任一故障节点的边的异常分数的过程包括:获取任一主机节点对应的主机在目标时间段的目标性能的时序数据;获取任一主机节点对应的主机中存在的任一故障节点对应的故障在目标时间段的第二时序数据;确定目标性能的时序数据和第二时序数据的第二相似性系数;根据第二相似性系数,确定从任一主机节点指向任一故障节点的边的异常分数。其中,确定第二相似性系数的过程与上述确定第一相似性系数的过程类似,在此不再进行赘述。
在一种可能的实现方式中,根据第二相似性系数,确定从任一主机节点指向任一故障节点的边的异常分数的过程包括:将第二相似性系数作为从任一主机节点指向任一故障节点的边的异常分数。
示例性地,通过下述公式(2)确定从任一主机节点指向任一故障节点的边的异常分数。
weight(host,problem)=r(KPI,tproblem) 公式(2)
在上述公式(2)中,weight(host,problem)为从任一主机节点指向任一故障节点的边的异常分数,KPI为目标性能的时序数据,tproblem为第二时序数据,r(KPI,tproblem)为第二相似性系数。
以确定从第一主机节点指向第一故障节点的边的异常分数为例,确定第一主机节点对应的主机在目标时间段的目标性能的时序数据,确定第一主机节点对应的主机中的第一故障在目标时间段的第二时序数据,按照上述公式(2)确定目标性能的时序数据和第二时序数据的第二相似性系数,将第二相似性系数作为从第一主机节点指向第一故障节点的边的异常分数。
确定出第二相似性系数之后,还可以对第二相似性系数进行归一化处理,得到归一化处理后的第二相似性系数,将归一化处理后的第二相似性系数作为从任一主机节点指向任一故障节点的边的异常分数。归一化处理后的第二相似性系数不大于1,且不小于0。
在一种可能的实现方式中,还可以确定任一主机节点对应的主机中出现任一故障节点对应的故障的数量、任一主机节点对应的主机中出现故障的总数,根据第二相似性系数、任一主机节点对应的主机中出现任一故障节点对应的故障的数量、任一主机节点对应的主机中出现故障的总数,确定从任一主机节点指向任一故障节点的边的异常分数。其中,根据任一主机节点对应的主机的日志数据,确定任一主机节点对应的主机出现故障的总数以及任一主机节点对应的主机出现任一故障节点对应的故障的数量。
可选地,根据第二相似性系数、任一主机节点对应的主机出现任一故障节点对应的故障的数量、任一主机节点对应的主机出现故障的总数,按照下述公式(3)确定从任一主机节点指向任一故障节点的边的异常分数。
在上述公式(3)中,weight(host,problem)为从任一主机节点指向任一故障节点的边的异常分数,wcr为故障占比权重(0.2),KPI为目标性能的时序数据,tproblem为第二时序数据。r(KPI,tproblem)为第二相似性系数,count为任一主机节点对应的主机中出现任一故障节点对应的故障的数量,total count为任一主机节点对应的主机中出现故障的总数。
其中,故障占比权重基于经验进行设置,或者根据实施环境进行调整,本申请实施例对此不进行限定。示例性地,故障占比权重为0.2。
在一种可能的实现方式中,确定传播拓扑图中从任一服务节点指向任一主机节点的边的异常分数的过程包括:在从任一主机节点指向各个指标节点的边的异常分数中确定第一异常分数;在从任一主机节点指向各个故障节点的边的异常分数中确定第二异常分数;根据第一异常分数和第二异常分数,确定从任一服务节点指向任一主机节点的边的异常分数。其中,第一异常分数为从任一主机节点指向各个指标节点的边的异常分数中的最大异常分数。第二异常分数为从任一主机节点指向各个故障节点的边的异常分数中的最大异常分数。
可选地,确定第一异常分数和第二异常分数的加权和,将加权和作为从任一服务节点指向任一主机节点的边的异常分数。示例性地,根据第一异常分数和第二异常分数,按照下述公式(4)确定从任一服务节点指向任一主机节点的边的异常分数。
weight(app,host)=wm*max weight(host,metrici)+wp*max weight(host,problemj) 公式(4)
在上述公式(4)中,weight(app,host)为从任一服务节点指向任一主机节点的边的异常分数,wm为从主机节点指向指标节点的权重参数,max weight(host,metrici)为第一异常分数,wp为从主机节点指向故障节点的权重参数,max weight(host,problemj)为第二异常分数。
其中,从主机节点指向指标节点的权重参数基于经验进行设置,或者根据实施环境进行调整,本申请实施例对此不进行限定。示例性地,从主机节点指向指标节点的权重参数为0.5。从主机节点指向故障节点的权重参数基于经验进行设置,或者根据实施环境进行调整,本申请实施例对此不进行限定。示例性地,从主机节点指向故障节点的权重参数为0.5。
在一种可能的实现方式中,确定出第一异常分数和第二异常分数的加权和,还可以确定任一主机节点对应的主机的故障占比,根据故障占比和加权和确定从任一服务节点指向任一主机节点的边的异常分数。其中,任一主机节点对应的主机的故障占比基于任一主机节点对应的主机中出现任一故障节点对应的故障的数量和任一主机节点对应的主机中出现故障的总数确定。例如,将任一主机节点对应的主机中出现任一故障节点对应的故障的数量与任一主机节点对应的主机中出现故障的总数之间的商作为任一主机节点对应的主机的故障占比。根据任一主机节点对应的主机的日志数据,确定任一主机节点对应的主机出现故障的总数以及任一主机节点对应的主机出现任一故障节点对应的故障的数量。
可选地,根据第一异常分数、第二异常分数、任一主机节点对应的主机中出现任一故障节点对应的故障的数量、任一主机节点对应的主机中出现故障的总数,按照下述公式(5)确定从任一服务节点指向任一主机节点的边的异常分数。
在上述公式(5)中,weight(app,host)为从任一服务节点指向任一主机节点的边的异常分数;wh为任一主机节点对应的主机的故障占比权重,wM为从主机节点指向指标节点的权重参数,max weight(host,metrici)为第一异常分数,wp为从主机节点指向故障节点的权重参数,max weight(host,problemj)为第二异常分数,count为任一主机节点对应的主机中出现任一故障节点对应的故障的数量,total count为任一主机节点对应的主机中出现故障的总数。
其中,任一主机节点对应的主机的故障占比权重基于经验进行设置,或者根据实施环境进行调整,本申请实施例对此不进行限定。示例性地,任一主机节点对应的主机的故障占比权重为0.8。
在一种可能的实现方式中,确定传播拓扑图中从第一服务节点指向第二服务节点的边的异常分数的过程包括:获取第三异常分数,第三异常分数为从第二服务节点指向各个主机节点的边的异常分数中的最大值,第二服务节点对应的服务被第一服务节点对应的服务调用;确定第一服务节点对应的服务调用第二服务节点对应的服务的调用失败比例;根据第三异常分数和调用失败比例,确定从第一服务节点指向第二服务节点的边的异常分数。
其中,第一服务节点对应的服务调用第二服务节点对应的服务的调用失败比例的确定过程包括:确定第一服务节点对应的服务调用第二服务节点对应的服务的调用次数以及调用失败次数,将第一服务节点对应的服务调用第二服务节点对应的服务的调用失败次数和第一服务节点对应的服务调用第二服务节点对应的服务的调用次数之间的商作为第一服务节点对应的服务调用第二服务节点对应的服务的调用失败比例。
示例性地,第一服务节点对应的服务调用第二服务节点对应的服务的调用次数为100次,其中,调用失败次数为30次,因此,第一服务节点对应的服务调用第二服务节点对应的服务的调用失败比例为30÷100=0.3。
在一种可能的实现方式中,根据第三异常分数和调用失败比例,按照下述公式(6)确定从第一服务节点指向第二服务节点的边的异常分数。
weight(app1,app2)=(1-wsr)*max weight(app2,hosti)+wsr+fail Percentage公式(6)
在上述公式(6)中,weight(app1,app2)为从第一服务节点指向第二服务节点的边的异常分数,wsr为调用失败比例权重,max weight(app2,hosti)为第三异常分数,failPercentage为调用失败比例。其中,调用失败比例权重基于经验进行设置,或者根据实施环境进行调整,本申请实施例对此不进行限定。示例性地,调用失败比例权重为0.8。
在一种可能的实现方式中,确定出传播拓扑图中的各条边对应的异常分数之后,在传播拓扑图的各条边上添加对应的异常分数,得到包括异常分数的传播拓扑图。如图5是本申请实施例提供的一种包括异常分数的传播拓扑图的示意图。图5所示的拓扑图是在图4所示的传播拓扑图的各边上添加对应的异常分数所得到的拓扑图。在图5中,从服务节点1指向服务节点2的边的异常分数为0.39,从服务节点1指向主机节点1的边的异常分数为0.65,从服务节点1指向主机节点2的边的异常分数为0.75,其他节点之间的边的异常分数见图5所示,在此不再进行赘述。
可选地,游走方向包括正向、逆向和停留。确定出传播拓扑图中各条边对应的异常分数之后,根据各个节点的入向边的异常分数和出向边的异常分数,确定在各个节点向各个游走方向进行游走的概率的过程包括:对于各个节点中的目标节点,根据目标节点的入向边的异常分数和出向边的异常分数,确定参考异常分数,参考异常分数为入向边的异常分数和出向边的异常分数之和。根据目标节点的入向边的异常分数和参考异常分数,确定在目标节点向正向游走的概率。根据目标节点的出向边的异常分数和参考异常分数,确定在目标节点向逆向游走的概率。根据目标节点的入向边的最大异常分数和出向边的最大异常分数,确定在目标节点停留的概率。
其中,根据目标节点的入向边的异常分数和参考异常分数,确定在目标节点向正向游走的概率的过程包括:确定目标节点的入向边的异常分数的和值,将目标节点的入向边的异常分数的和值与参考异常分数之间的商作为在目标节点向正常游走的概率。
可选地,根据目标节点的入向边的异常分数和参考异常分数,按照下述公式(7)确定在目标节点向正向游走的概率。
在上述公式(7)中,P1为在目标节点向正向游走的概率,w为参考异常分数,wri为目标节点的第i条入向边的异常分数,i=1,2,…,n,n为正整数。
可选地,根据目标节点的出向边的异常分数和参考异常分数,确定在目标节点向逆向游走的概率的过程包括:确定目标节点的出向边的异常分数之和,将目标节点的出向边的异常分数之和与参考异常分数之间的商作为在目标节点向逆向游走的概率。
示例性地,根据目标节点的出向边的异常分数和参考异常分数,按照下述公式(8)确定在目标节点向逆向游走的概率。
在上述公式(8)中,P2为在目标节点向逆向游走的概率,W为参考异常分数,wci为目标节点的第i条出向边的异常分数,i=1,2,…,n。
可选地,根据目标节点的出向边的异常分数和参考异常分数,还可以按照下述公式(9)确定在目标节点向逆向游走的概率。
在上述公式(9)中,P2为在目标节点向逆向游走的概率,W为参考异常分数,wci为目标节点的第i条出向边的异常分数,i=1,2,…,n,为逆袭游走因子,逆袭游走因子的取值基于经验进行设置,或者根据实施环境进行调整,本申请实施例对此不进行限定,示例性地,/>为0.4。
根据目标节点的入向边的最大异常分数和出向边的最大异常分数,确定在目标节点停留的概率包括:确定目标节点的入向边的最大异常分数和出向边的最大异常分数之间的差值,响应于差值不大于0,则确定在目标节点停留的概率为0,响应于差值大于0,则确定在目标节点停留的概率为差值。
示例性地,在图3所示的传播拓扑图中进行随机游走,其中,服务节点1对应的访问次数为150次,服务节点2对应的访问次数为130次,主机节点1对应的访问次数为120次,主机节点2对应的访问次数为130次,指标节点1对应的访问次数为170次,指标节点2对应的访问次数为180次。
又例如,在图4所示的传播拓扑图中进行随机游走,其中,服务节点1对应的访问次数为150次,服务节点2对应的访问次数为130次,主机节点1对应的访问次数为120次,主机节点2对应的访问次数为130次,指标节点1对应的访问次数为170次,指标节点2对应的访问次数为180次,故障节点1对应的访问次数为80次,故障节点2对应的访问次数为70次。
在步骤204中,根据各个节点对应的访问次数,确定目标根因,目标根因用于指示部署有任一服务的主机的任一指标存在异常,任一服务为第一服务和至少一个第二服务中的任一个服务。
在一种可能的实现方式中,根据各个节点对应的访问次数,确定目标根因的之前,还需要对各个节点进行分类,分类过程包括:根据各个节点的类型,对各个节点分组,得到多个节点组,一个节点组中包括多个节点。根据各个节点对应的访问次数,确定目标根因的过程包括:在各个节点组包括的多个节点中确定访问次数满足次数要求的节点;根据各个节点组中包括的访问次数满足次数要求的节点,确定目标根因,目标根因用于指示部署有任一服务的主机的任一指标存在异常。
其中,访问次数满足次数要求的节点可以是指访问次数最高的节点,也可以是访问次数大于对应的次数阈值的节点。次数阈值基于经验进行设置,或者根据实施环境进行调整,本申请实施例对此不进行限定。各个节点组对应的次数阈值可以相同,也可以不同,本申请实施例对此也不进行限定。示例性地,各个节点组对应的次数阈值相同,均为130。
根据各个节点的类型,对各个节点分组,得到多个节点组的过程包括:响应于多个节点中包括服务节点、主机节点和指标节点,将多个节点中的服务节点作为一个节点组,将多个节点中的主机节点作为一个节点组,将多个节点中的指标节点作为一个节点组。响应于多个节点中还包括故障节点,将多个节点中的故障节点作为一个节点组。
示例性地,以上述图3中包括的多个节点为例,对图3中包括的多个节点进行分组,得到三个节点组,分别为服务节点组、主机节点组和指标节点组。其中,服务节点组包括服务节点1和服务节点2,主机节点组包括主机节点1和主机节点2,指标节点组包括指标节点1和指标节点2。各个节点对应的访问次数如上述步骤203所示,在各个节点组包括的节点中确定访问次数最高的节点得到服务节点1、主机节点2、指标节点2。根据服务节点1、主机节点2、指标节点2,确定目标根因为部署有服务节点1对应的服务的主机节点2对应的主机上的指标节点2对应的指标存在异常。
响应于多个节点中还包括故障节点,将多个节点中的故障节点作为一个节点组。以上述图4中包括的多个节点为例,对图4中包括的多个节点进行分组,得到四个节点组,分别为服务节点组、主机节点组、指标节点组和故障节点组。其中,服务节点组包括服务节点1和服务节点2,主机节点组包括主机节点1和主机节点2,指标节点组包括指标节点1和指标节点2,故障节点组包括故障节点1和故障节点2。各个节点对应的访问次数如上述步骤203所示,在各个节点组包括的节点中确定访问次数最高的节点得到服务节点1、主机节点2、指标节点2和故障节点1。根据服务节点1、主机节点2、指标节点2和故障节点1,确定目标根因为部署有服务节点1对应的服务的主机节点2对应的主机上的指标节点2对应的指标存在故障节点1对应的故障。
上述方法通过第一服务的服务数据和第二服务的服务数据构建传播拓扑图,传播拓扑图中不仅包括服务节点和主机节点,还包括指标节点。通过确定各个节点对应的访问次数的方式,进而定位根因。这种方式定位出的根因是部署有任务的主机的指标出现异常,根因定位的精细度较高,且根因定位的准确性也较高。而且,这种方式不需要设置相似阈值,也即是不需要人工参与,进一步提高了根因定位的准确性。
图6所示为本申请实施例提供的一种根因定位装置的结构示意图,如图6所示,该装置包括:
获取模块601,用于获取第一服务的服务数据和至少一个第二服务的服务数据,至少一个第二服务为与第一服务相关的服务;
构建模块602,用于根据第一服务的服务数据和至少一个第二服务的服务数据,构建传播拓扑图,传播拓扑图中包括多个服务节点、多个主机节点和多个指标节点,任意两个存在关联的节点通过边进行连接,服务节点基于第一服务和第二服务确定,主机节点为服务节点的下游节点,指标节点为主机节点的下游节点;
确定模块603,用于确定传播拓扑图中的各个节点对应的访问次数,访问次数用于指示节点被访问的次数;
确定模块603,还用于根据各个节点对应的访问次数,确定目标根因,目标根因用于指示部署有任一服务的主机的任一指标存在异常,任一服务为第一服务和至少一个第二服务中的任一个服务。
在一种可能的实现方式中,确定模块603,用于根据各个节点的入向边的异常分数和出向边的异常分数,确定在各个节点向各个游走方向进行游走的概率,节点的入向边的异常分数是指从入向边的起始节点到节点发生异常的概率,节点的出向边的异常分数是指从节点到出向边的结束节点发生异常的概率;根据在各个节点向各个游走方向进行游走的概率,在传播拓扑图中进行随机游走,得到各个节点对应的访问次数。
在一种可能的实现方式中,游走方向包括正向、逆向和停留;
确定模块603,用于对于各个节点中的目标节点,根据目标节点的入向边的异常分数和出向边的异常分数,确定参考异常分数;根据目标节点的入向边的异常分数和参考异常分数,确定在目标节点向正向进行游走的概率;根据目标节点的出向边的异常分数和参考异常分数,确定在目标节点向逆向进行游走的概率;根据目标节点的入向边的异常分数中的最大异常分数和目标节点的出向边的异常分数中的最大异常分数,确定在目标节点停留的概率。
在一种可能的实现方式中,获取模块601,还用于获取任一主机节点对应的主机在目标时间段的目标性能的时序数据;获取任一主机节点对应的主机中存在的任一指标节点对应的指标在目标时间段的第一时序数据;
确定模块603,还用于确定目标性能的时序数据和第一时序数据的第一相似性系数;根据第一相似性系数,确定从任一主机节点指向任一指标节点的边的异常分数。
在一种可能的实现方式中,传播拓扑图中还包括多个故障节点,故障节点为主机节点的下游节点;
获取模块601,还用于获取任一主机节点对应的主机中存在的任一故障节点对应的故障在目标时间段的第二时序数据;
确定模块603,还用于确定目标性能的时序数据和第二时序数据的第二相似性系数;根据第二相似性系数,确定从任一主机节点指向任一故障节点的边的异常分数;在从任一主机节点指向各个指标节点的边的异常分数中确定第一异常分数;在从任一主机节点指向各个故障节点的边的异常分数中确定第二异常分数;根据第一异常分数和第二异常分数,确定从任一服务节点指向任一主机节点的边的异常分数。
在一种可能的实现方式中,确定模块603,用于确定第一异常分数和第二异常分数的加权和;将加权和作为从任一服务节点指向任一主机节点的边的异常分数;或者,获取任一主机节点对应的主机的故障占比,根据故障占比和加权和确定从任一服务节点指向任一主机节点的边的异常分数。
在一种可能的实现方式中,获取模块601,还用于获取第三异常分数,第三异常分数为从第二服务节点指向各个主机节点的边的异常分数中的最大值,第二服务节点对应的服务可被第一服务节点对应的服务调用;
确定模块603,还用于确定第一服务节点对应的服务调用第二服务节点对应的服务的调用失败比例;根据第三异常分数和调用失败比例,确定从第一服务节点指向第二服务节点的边的异常分数。
在一种可能的实现方式中,装置还包括:
分组模块,用于根据各个节点的类型,对各个节点分组,得到多个节点组,一个节点组中包括多个节点;
确定模块603,还用于在各个节点组包括的多个节点中确定访问次数满足次数要求的节点;根据各个节点组中包括的访问次数满足次数要求的节点,确定目标根因。
上述装置通过第一服务的服务数据和第二服务的服务数据构建传播拓扑图,传播拓扑图中不仅包括服务节点和主机节点,还包括指标节点。通过确定各个节点对应的访问次数的方式,进而定位根因。定位出的根因是部署有任务的主机的指标出现异常,根因定位的精细度较高,且根因定位的准确性也较高。而且,这种方式不需要设置相似阈值,也即是不需要人工参与,进一步提高了根因定位的准确性。
应理解的是,上述提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7示出了本申请一个示例性实施例提供的终端设备700的结构框图。该终端设备700可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端设备700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端设备700包括有:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的根因定位方法。
在一些实施例中,终端设备700还可选包括有:***设备接口703和至少一个***设备。处理器701、存储器702和***设备接口703之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口703相连。具体地,***设备包括:射频电路704、显示屏705、摄像头组件706、音频电路707、定位组件708和电源709中的至少一种。
***设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和***设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和***设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端设备进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置在终端设备700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端设备700的不同表面或呈折叠设计;在另一些实施例中,显示屏705可以是柔性显示屏,设置在终端设备700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端设备700的前面板,后置摄像头设置在终端设备700的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端设备700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位终端设备700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***、俄罗斯的格雷纳斯***或欧盟的伽利略***的定位组件。
电源709用于为终端设备700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端设备700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
加速度传感器711可以检测以终端设备700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器712可以检测终端设备700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端设备700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器713可以设置在终端设备700的侧边框和/或显示屏705的下层。当压力传感器713设置在终端设备700的侧边框时,可以检测用户对终端设备700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在显示屏705的下层时,由处理器701根据用户对显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置在终端设备700的正面、背面或侧面。当终端设备700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制显示屏705的显示亮度。具体地,当环境光强度较高时,调高显示屏705的显示亮度;当环境光强度较低时,调低显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在终端设备700的前面板。接近传感器716用于采集用户与终端设备700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端设备700的正面之间的距离逐渐变小时,由处理器701控制显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端设备700的正面之间的距离逐渐变大时,由处理器701控制显示屏705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对终端设备700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图8为本申请实施例提供的服务器的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)801和一个或多个的存储器802,其中,该一个或多个存储器802中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器801加载并执行以实现上述各个方法实施例提供的根因定位方法。当然,该服务器800还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器800还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以使计算机实现上述任一种根因定位方法。
可选地,上述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品中存储有至少一条计算机指令,该至少一条计算机指令由处理器加载并执行,以使计算机实现上述任一种根因定位方法。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的服务数据都是在充分授权的情况下获取的。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种根因定位方法,其特征在于,所述方法包括:获取第一服务的服务数据和至少一个第二服务的服务数据,所述至少一个第二服务为与所述第一服务相关的服务;根据所述第一服务的服务数据和所述至少一个第二服务的服务数据,构建传播拓扑图,所述传播拓扑图中包括多个服务节点、多个主机节点和多个指标节点,任意两个存在关联的节点通过边进行连接,所述服务节点基于所述第一服务和所述第二服务确定,所述主机节点为所述服务节点的下游节点,所述指标节点为所述主机节点的下游节点;确定所述传播拓扑图中的各个节点对应的访问次数,所述访问次数用于指示节点被访问的次数;根据所述各个节点对应的访问次数,确定目标根因,所述目标根因用于指示部署有任一服务的主机的任一指标存在异常,所述任一服务为所述第一服务和所述至少一个第二服务中的任一个服务;其中,
所述确定所述传播拓扑图中的各个节点对应的访问次数,包括:根据各个节点的入向边的异常分数和出向边的异常分数,确定在各个节点向各个游走方向进行游走的概率,所述节点的入向边的异常分数是指从入向边的起始节点到所述节点发生异常的概率,所述节点的出向边的异常分数是指从所述节点到所述出向边的结束节点发生异常的概率;根据所述在各个节点向各个游走方向进行游走的概率,在所述传播拓扑图中进行随机游走,得到所述各个节点对应的访问次数。
2.根据权利要求1所述的方法,其特征在于,所述游走方向包括正向、逆向和停留;所述根据各个节点的入向边的异常分数和出向边的异常分数,确定在各个节点向各个游走方向进行游走的概率,包括:对于所述各个节点中的目标节点,根据所述目标节点的入向边的异常分数和出向边的异常分数,确定参考异常分数;根据所述目标节点的入向边的异常分数和所述参考异常分数,确定在所述目标节点向正向进行游走的概率;根据所述目标节点的出向边的异常分数和所述参考异常分数,确定在所述目标节点向逆向进行游走的概率;根据所述目标节点的入向边的异常分数中的最大异常分数和所述目标节点的出向边的异常分数中的最大异常分数,确定在所述目标节点停留的概率。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:获取任一主机节点对应的主机在目标时间段的目标性能的时序数据;获取所述任一主机节点对应的主机中存在的任一指标节点对应的指标在所述目标时间段的第一时序数据;确定所述目标性能的时序数据和所述第一时序数据的第一相似性系数;根据所述第一相似性系数,确定从所述任一主机节点指向所述任一指标节点的边的异常分数。
4.根据权利要求3所述的方法,其特征在于,所述传播拓扑图中还包括多个故障节点,所述故障节点为所述主机节点的下游节点;所述方法还包括:获取所述任一主机节点对应的主机中存在的任一故障节点对应的故障在所述目标时间段的第二时序数据;确定所述目标性能的时序数据和所述第二时序数据的第二相似性系数;根据所述第二相似性系数,确定从所述任一主机节点指向所述任一故障节点的边的异常分数;在从所述任一主机节点指向各个指标节点的边的异常分数中确定第一异常分数;在从所述任一主机节点指向各个故障节点的边的异常分数中确定第二异常分数;根据所述第一异常分数和所述第二异常分数,确定从所述任一服务节点指向所述任一主机节点的边的异常分数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一异常分数和所述第二异常分数,确定从所述任一服务节点指向所述任一主机节点的边的异常分数,包括:确定所述第一异常分数和所述第二异常分数的加权和;将所述加权和作为从所述任一服务节点指向所述任一主机节点的边的异常分数;或者,获取所述任一主机节点对应的主机的故障占比,根据所述故障占比和所述加权和确定从所述任一服务节点指向所述任一主机节点的边的异常分数。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:获取第三异常分数,所述第三异常分数为从第二服务节点指向各个主机节点的边的异常分数中的最大值,所述第二服务节点对应的服务可被第一服务节点对应的服务调用;确定所述第一服务节点对应的服务调用所述第二服务节点对应的服务的调用失败比例;根据所述第三异常分数和所述调用失败比例,确定从所述第一服务节点指向所述第二服务节点的边的异常分数。
7.根据权利要求1至2、4、5任一所述的方法,其特征在于,所述方法还包括:根据所述各个节点的类型,对所述各个节点分组,得到多个节点组,一个节点组中包括多个节点;所述根据所述各个节点对应的访问次数,确定目标根因,包括:在各个节点组包括的多个节点中确定访问次数满足次数要求的节点;根据各个节点组中包括的访问次数满足次数要求的节点,确定所述目标根因。
8.一种根因定位装置,其特征在于,所述装置包括:获取模块,用于获取第一服务的服务数据和至少一个第二服务的服务数据,所述至少一个第二服务为与所述第一服务相关的服务;构建模块,用于根据所述第一服务的服务数据和所述至少一个第二服务的服务数据,构建传播拓扑图,所述传播拓扑图中包括多个服务节点、多个主机节点和多个指标节点,任意两个存在关联的节点通过边进行连接,所述服务节点基于所述第一服务和所述第二服务确定,所述主机节点为所述服务节点的下游节点,所述指标节点为所述主机节点的下游节点;确定模块,用于确定所述传播拓扑图中的各个节点对应的访问次数,所述访问次数用于指示节点被访问的次数;所述确定模块,还用于根据所述各个节点对应的访问次数,确定目标根因,所述目标根因用于指示部署有任一服务的主机的任一指标存在异常,所述任一服务为所述第一服务和所述至少一个第二服务中的任一个服务;其中,所述确定所述传播拓扑图中的各个节点对应的访问次数,包括:根据各个节点的入向边的异常分数和出向边的异常分数,确定在各个节点向各个游走方向进行游走的概率,所述节点的入向边的异常分数是指从入向边的起始节点到所述节点发生异常的概率,所述节点的出向边的异常分数是指从所述节点到所述出向边的结束节点发生异常的概率;根据所述在各个节点向各个游走方向进行游走的概率,在所述传播拓扑图中进行随机游走,得到所述各个节点对应的访问次数。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使所述电子设备实现如权利要求1至7任一所述的根因定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210800487.6A CN115296978B (zh) | 2022-07-06 | 2022-07-06 | 根因定位方法、装置、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210800487.6A CN115296978B (zh) | 2022-07-06 | 2022-07-06 | 根因定位方法、装置、设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115296978A CN115296978A (zh) | 2022-11-04 |
CN115296978B true CN115296978B (zh) | 2023-09-12 |
Family
ID=83822336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210800487.6A Active CN115296978B (zh) | 2022-07-06 | 2022-07-06 | 根因定位方法、装置、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115296978B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111160329A (zh) * | 2019-12-27 | 2020-05-15 | 深圳前海微众银行股份有限公司 | 一种根因分析的方法及装置 |
CN111597070A (zh) * | 2020-07-27 | 2020-08-28 | 北京必示科技有限公司 | 一种故障定位方法、装置、电子设备及存储介质 |
CN113098723A (zh) * | 2021-06-07 | 2021-07-09 | 新华三人工智能科技有限公司 | 一种故障根因定位方法、装置、存储介质及设备 |
CN113657715A (zh) * | 2021-07-15 | 2021-11-16 | 福建新大陆软件工程有限公司 | 一种基于核密度估计调用链的根因定位方法及*** |
CN114024837A (zh) * | 2022-01-06 | 2022-02-08 | 杭州大乘智能科技有限公司 | 一种微服务***的故障根因定位方法 |
CN114385397A (zh) * | 2021-12-31 | 2022-04-22 | 广西大学 | 基于故障传播图的微服务故障根因定位方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8443074B2 (en) * | 2007-03-06 | 2013-05-14 | Microsoft Corporation | Constructing an inference graph for a network |
US20180276266A1 (en) * | 2017-03-27 | 2018-09-27 | Ca, Inc. | Correlating end node log data with connectivity infrastructure performance data |
US12045282B2 (en) * | 2020-03-27 | 2024-07-23 | International Business Machines Corporation | Fault localization and alert aggregation |
-
2022
- 2022-07-06 CN CN202210800487.6A patent/CN115296978B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111160329A (zh) * | 2019-12-27 | 2020-05-15 | 深圳前海微众银行股份有限公司 | 一种根因分析的方法及装置 |
CN111597070A (zh) * | 2020-07-27 | 2020-08-28 | 北京必示科技有限公司 | 一种故障定位方法、装置、电子设备及存储介质 |
CN113098723A (zh) * | 2021-06-07 | 2021-07-09 | 新华三人工智能科技有限公司 | 一种故障根因定位方法、装置、存储介质及设备 |
CN113657715A (zh) * | 2021-07-15 | 2021-11-16 | 福建新大陆软件工程有限公司 | 一种基于核密度估计调用链的根因定位方法及*** |
CN114385397A (zh) * | 2021-12-31 | 2022-04-22 | 广西大学 | 基于故障传播图的微服务故障根因定位方法 |
CN114024837A (zh) * | 2022-01-06 | 2022-02-08 | 杭州大乘智能科技有限公司 | 一种微服务***的故障根因定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115296978A (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113204298B (zh) | 显示发布进度的方法、装置、电子设备及存储介质 | |
CN111104980B (zh) | 确定分类结果的方法、装置、设备及存储介质 | |
CN111614634A (zh) | 流量检测方法、装置、设备及存储介质 | |
CN110096865B (zh) | 下发验证方式的方法、装置、设备及存储介质 | |
CN111866140B (zh) | 融合管理设备、管理***、服务调用方法及介质 | |
CN111510482B (zh) | 失败网络请求的确定方法、装置及计算机存储介质 | |
CN110890969B (zh) | 群发消息的方法、装置、电子设备及存储介质 | |
CN111131392A (zh) | 处理消息的方法、装置、电子设备及介质 | |
CN110912830B (zh) | 传输数据的方法和装置 | |
CN111881423B (zh) | 限制功能使用授权方法、装置、*** | |
CN111862972B (zh) | 语音交互服务方法、装置、设备及存储介质 | |
CN111128115A (zh) | 信息验证方法、装置、电子设备及存储介质 | |
CN114143280B (zh) | 会话显示方法、装置、电子设备及存储介质 | |
CN115296978B (zh) | 根因定位方法、装置、设备 | |
CN112764824B (zh) | 触发应用程序中身份验证的方法、装置、设备及存储介质 | |
CN111523876A (zh) | 支付方式的显示方法、装置、***及存储介质 | |
CN111259252A (zh) | 用户标识识别方法、装置、计算机设备及存储介质 | |
CN111191254A (zh) | 访问校验方法、装置、计算机设备及存储介质 | |
CN112311652A (zh) | 消息发送方法、装置、终端及存储介质 | |
CN115834244B (zh) | 异常信息的检测方法、装置、设备及存储介质 | |
CN111666214B (zh) | 客户端容错测试方法、装置、终端、服务器和存储介质 | |
CN115348262B (zh) | 基于跨链协议的跨链操作执行方法及网络*** | |
CN111526221B (zh) | 域名质量确定方法、装置及存储介质 | |
CN115037702B (zh) | 报文分发、数据发送方法及设备 | |
CN111275561B (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 |