根因确定方法、设备和存储介质技术

技术编号:39281679 阅读:6 留言:0更新日期:2023-11-07 10:55
本申请提供一种根因确定方法、设备和存储介质,该方法包括:根据目标指标异常的目标用户访问请求在应用系统中调用的多个服务接口所关联的多种指标,确定与目标用户访问请求的目标指标异常相关的多个原始因素节点,根据多个原始因素节点各自对应的影响函数对多个原始因素节点进行分解处理,以得到多个原始因素节点对应的受其他因素节点影响的多个第一子因素节点和不受其他因素节点影响的多个第二子因素节点。确定多个第二子因素节点对导致目标用户访问请求的目标指标异常的贡献值,并据此从多个原始因素节点中确定导致目标用户访问请求的目标指标值异常的根因因素节点,从而实现比如微服务系统中根因的准确诊断。实现比如微服务系统中根因的准确诊断。实现比如微服务系统中根因的准确诊断。

【技术实现步骤摘要】
根因确定方法、设备和存储介质


[0001]本专利技术涉及数据处理
,尤其涉及一种根因确定方法、设备和存储介质。

技术介绍

[0002]微服务系统,又叫微服务架构,是一种软件架构方式,它将应用构建成一系列模块化的、小的自治服务。在微服务系统中,每个服务都是自我包含的,并且实现了单一的服务功能。简单来说,就是将一个应用系统按功能划分成多个子服务系统,每个子服务系统都是完整的,可独立运行的,子服务系统间可通过一些通信协议、消息队列等方式进行通信。所以,不同子服务系统可以使用不同的编程语言实现,可以使用不同的存储技术。
[0003]虽然微服务系统因为其模块化开发,独立部署,兼容多语言等特点,被广泛采用。但微服务系统的运维却带来了很多挑战:比如不同子服务系统之间的依赖关系错综复杂;硬件、软件以及网络等存在的故障类型繁多;某个子服务系统的长时间异常可能雪崩式引发整个应用系统不可用;由于微服务系统采用多语言多框架的分布式开发方式,需要运维人员对整个系统的设计要很熟悉,运维门槛高。
[0004]当用户访问微服务系统获得不佳的用户体验,比如访问请求的响应时间过长时,需要找到导致该异常问题的根本原因。依靠大量人力去排查,在众多子服务系统中找到根因的子服务系统,并进一步定位到根因子服务系统异常的原因,是耗时耗力的,且未必能够准确找到根因。

技术实现思路

[0005]本专利技术实施例提供一种根因确定方法、设备和存储介质,用以对应用系统中导致用户访问请求的目标指标异常的根本原因进行快速、准确地诊断。/>[0006]第一方面,本专利技术实施例提供一种根因确定方法,所述方法包括:
[0007]根据目标指标异常的目标用户访问请求在应用系统中调用的多个服务接口所关联的多种指标,确定与所述目标用户访问请求的目标指标异常相关的多个原始因素节点,所述多种指标中包括所述目标指标;
[0008]确定所述多个原始因素节点各自对应的影响函数,所述影响函数用于描述不同因素节点之间的依赖关系;
[0009]根据所述多个原始因素节点各自对应的影响函数对所述多个原始因素节点进行分解处理,以得到所述多个原始因素节点对应的受其他因素节点影响的多个第一子因素节点和不受其他因素节点影响的多个第二子因素节点;
[0010]确定所述多个第二子因素节点的贡献值,所述贡献值反映相应第二子因素节点对导致所述目标用户访问请求的目标指标异常的贡献程度;
[0011]根据所述多个第二子因素节点的贡献值,从所述多个原始因素节点中确定导致所述目标用户访问请求的目标指标值异常的根因因素节点。
[0012]第二方面,本专利技术实施例提供一种根因确定装置,所述装置包括:
[0013]因素建立模块,用于根据目标指标异常的目标用户访问请求在应用系统中调用的多个服务接口所关联的多种指标,确定与所述目标用户访问请求的目标指标异常相关的多个原始因素节点,所述多种指标中包括所述目标指标;
[0014]因素分解模块,用于确定所述多个原始因素节点各自对应的影响函数,所述影响函数用于描述不同因素节点之间的依赖关系;以及,根据所述多个原始因素节点各自对应的影响函数对所述多个原始因素节点进行分解处理,以得到所述多个原始因素节点对应的受其他因素节点影响的多个第一子因素节点和不受其他因素节点影响的多个第二子因素节点;
[0015]根因确定模块,用于确定所述多个第二子因素节点的贡献值,所述贡献值反映相应第二子因素节点对导致所述目标用户访问请求的目标指标异常的贡献程度;以及,根据所述多个第二子因素节点的贡献值,从所述多个原始因素节点中确定导致所述目标用户访问请求的目标指标值异常的根因因素节点。
[0016]第三方面,本专利技术实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第一方面所述的根因确定方法。
[0017]第四方面,本专利技术实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的根因确定方法。
[0018]本专利技术实施例中,首先,确定出当前需要进行根因确定的目标对象——某目标指标异常的某目标用户访问请求,该目标指标比如是响应时间(Response

time,简称RT),目标指标异常是指RT过大。之后,根据目标用户访问请求在应用系统中调用的多个服务接口所关联的多种指标(其中包含目标指标),确定与目标用户访问请求的目标指标异常相关的多个原始因素节点,以在这些原始因素节点中确定导致目标用户访问请求的目标指标异常的根因,其中,服务接口是目标用户访问请求执行过程中调用的服务的接口,每个服务接口可以分别关联有不同的指标,关联一种指标的一个服务接口作为一个原始因素节点。之后,确定多个原始因素节点各自对应的影响函数,影响函数用于描述不同因素节点之间的依赖关系,以根据多个原始因素节点各自对应的影响函数对多个原始因素节点进行分解处理,以得到多个原始因素节点对应的受其他因素节点影响的多个第一子因素节点和不受其他因素节点影响的多个第二子因素节点。因素节点的分解实际上是考虑了因素节点之间的因果关系即依赖关系,根因因素节点应该是不受其他因素节点影响的因素节点,所以通过对原始因素节点进行分解,仅保留不受其他因素节点影响的部分——多个第二子因素节点。确定多个第二子因素节点对导致目标用户访问请求的目标指标异常的贡献值,以根据多个第二子因素节点的贡献值,从多个原始因素节点中确定导致目标用户访问请求的目标指标值异常的根因因素节点。
[0019]通过上述方案提供的自动进行根因确定的方法,能在众多的服务接口中找到根因的服务接口,并进一步定位到根因服务接口异常的原因,可以更快地完成根因确定。通过考虑了因素节点之间的影响,并且将因素节点分离为受其他因素节点影响的部分和仅与自身状态相关的部分,基于仅有自身状态相关的部分来定位根因,可以获得更加准确的根因确定结果。
附图说明
[0020]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1为本专利技术实施例提供的一种根因确定方法的流程图;
[0022]图2为本专利技术实施例提供的一种因果图的示意图;
[0023]图3为本专利技术实施例提供的一种因素节点分解情形的示意图;
[0024]图4为本专利技术实施例提供的一种根因确定方法的流程图;
[0025]图5为本专利技术实施例提供的一种子因素节点贡献值的确定方法的流程图;
[0026]图6为与图5所示实施例对应的子因素节点贡献值的确定过程的示意图;
[0027]图7为本专利技术实施例提供的一种子因素节点贡献值的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种根因确定方法,其特征在于,包括:根据目标指标异常的目标用户访问请求在应用系统中调用的多个服务接口所关联的多种指标,确定与所述目标用户访问请求的目标指标异常相关的多个原始因素节点,所述多种指标中包括所述目标指标;确定所述多个原始因素节点各自对应的影响函数,所述影响函数用于描述不同因素节点之间的依赖关系;根据所述多个原始因素节点各自对应的影响函数对所述多个原始因素节点进行分解处理,以得到所述多个原始因素节点对应的受其他因素节点影响的多个第一子因素节点和不受其他因素节点影响的多个第二子因素节点;确定所述多个第二子因素节点的贡献值,所述贡献值反映相应第二子因素节点对导致所述目标用户访问请求的目标指标异常的贡献程度;根据所述多个第二子因素节点的贡献值,从所述多个原始因素节点中确定导致所述目标用户访问请求的目标指标值异常的根因因素节点。2.根据权利要求1所述的方法,其特征在于,所述根据所述多个第二子因素节点的贡献值,从所述多个原始因素节点中确定导致所述目标用户访问请求的目标指标值异常的根因因素节点,包括:根据所述多个第二子因素节点的贡献值,确定所述多个第二子因素节点对应的原始因素节点各自对应的贡献值;根据所述多个原始因素节点各自对应的贡献值,从所述多个原始因素节点中确定导致所述目标用户访问请求的目标指标值异常的根因因素节点。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:若确定所述应用系统中目标服务接口在目标时间段内所述目标指标异常,则获取所述目标时间段内调用所述目标服务接口的所述目标用户访问请求,其中,所述目标用户访问请求调用的所述多个服务接口中包括所述目标服务接口。4.根据权利要求3所述的方法,其特征在于,所述确定所述多个第二子因素节点的贡献值,包括:若所述目标时间段内调用所述目标服务接口的所述目标指标异常的目标用户访问请求为多个,则确定多个目标用户访问请求各自对应的多个第二子因素节点的贡献值;所述根据所述多个第二子因素节点的贡献值,从所述多个原始因素节点中确定导致所述目标用户访问请求的目标指标值异常的根因因素节点,包括:根据所述多个目标用户访问请求在目标第二子因素节点上对应的贡献值,确定所述目标第二子因素节点的平均贡献值,所述目标第二子因素节点是所述多个目标用户访问请求各自对应的多个第二子因素节点中任一个;根据不同第二子因素节点的平均贡献值,从所述多个目标用户访问请求对应的多个原始因素节点中确定导致所述多个目标用户访问请求的目标指标值异常的根因因素节点。5.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述目标时间段内调用所述目标服务接口的所述目标指标异常的用户访问请求为多个,则统计多个用户访问请求对应的访问特征模式,所述访问特征模式中包括多个特征属性的属性值;
从所述多个用户访问请求中筛选出符合所述访问特征模式的用户访问请求;所述确定与所述目标用户访问请求的目标指标异常相关的多个原始因素节点,包括:若筛选出的用户访问请求中包含所述目标用户访问请求,则确定与所述目标用户访问请求的目标指标异常相关的多个原始因素节点,所述多个原始因素节点中包括所述多个特征属性。6.根据权利要求1所述的方法,其特征在于,所述确定所述多个第二子因素节点的贡献值,包括:根据所述多个第二子因素节点的执行顺序,生成与所述多个第二子因素节点对应的有向无环图;对所述有向无环图中能够合并的第二子因素节点进行合并处理,以得到多个第三子因素节点,所述多个第三子因素节点中包括未被合并的第二子因素节点以及合并后得到的新因素节点;确定所述多个第三子因素节点的贡献值;根据所述多个第三子因素节点的贡献值,确定所述多个第二子因素节点的贡献值。7.根据权利要求6所述的方法,其特征在于,所述根据所述多个第三子因素节点的贡献值,确定所述多个第二子因素节点的贡献...

【专利技术属性】
技术研发人员:李也谭剑吴斌何晓李飞飞
申请(专利权)人:阿里巴巴达摩院杭州科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1