CN117971409A - 链路生成方法、装置、设备及存储介质 - Google Patents
链路生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117971409A CN117971409A CN202311281017.4A CN202311281017A CN117971409A CN 117971409 A CN117971409 A CN 117971409A CN 202311281017 A CN202311281017 A CN 202311281017A CN 117971409 A CN117971409 A CN 117971409A
- Authority
- CN
- China
- Prior art keywords
- application
- link
- calling
- call
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 116
- 230000008569 process Effects 0.000 claims abstract description 41
- 238000001514 detection method Methods 0.000 claims description 33
- 230000002159 abnormal effect Effects 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 29
- 230000001360 synchronised effect Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 abstract description 20
- 230000005856 abnormality Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 8
- 230000006854 communication Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000013499 data model Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007175 bidirectional communication Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请关于一种链路生成方法、装置、设备及存储介质,涉及计算机技术领域,以至少用于改善在发生异步调用的调用过程中,难以有效地生成调用链路图的问题。该链路生成方法,包括:获取与目标服务的多个应用一一对应的多个日志信息;多个应用包括至少一个第一应用和至少一个第二应用;基于每个第一应用的调用方对应的来源信息确定每个第一应用对应节点的父节点,并基于每个第二应用的调用方的调用标识确定每个第二应用对应节点的父节点,以生成与目标服务的执行过程对应的调用链路。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种链路生成方法、装置、设备及存储介质。
背景技术
目前,一般可以通过服务所涉及的各个应用程序之间的调用链路图,发现并改善各个应用程序之间调用的异常,以提高服务的稳定性和可靠性等。应用程序之间的调用方式一般包括同步调用和异步调用等。
通用技术可以生成关于各个应用程序之间同步调用过程的调用链路图。然而,为了提高服务的运行效率和吞吐量等,各个应用程序之间的调用过程通常同时存在同步调用和异步调用等方式。这种情况下,通用技术生成调用链路图时,往往会在发生异步调用的应用程序形成断点,难以生成关于完整调用过程的调用链路图。
发明内容
本申请提供一种链路生成方法、装置、设备及存储介质,以至少用于改善在发生异步调用的调用过程中,难以有效地生成调用链路图的问题。本申请的技术方案如下:
根据本申请实施例的第一方面,提供一种链路生成方法,包括:获取与目标服务的多个应用一一对应的多个日志信息;多个应用包括至少一个第一应用和至少一个第二应用;第一应用用于表征在目标服务的执行过程中以异步调用方式被调用的应用;第一应用对应的日志信息包括第一应用的调用标识,以及与第一应用的调用方对应的来源信息;第二应用用于表征在目标服务的执行过程中以同步调用方式被调用的应用;第二应用对应的日志信息包括第二应用的调用标识,以及第二应用的调用方的调用标识;基于每个第一应用的调用方对应的来源信息确定每个第一应用对应节点的父节点,并基于每个第二应用的调用方的调用标识确定每个第二应用对应节点的父节点,以生成与目标服务的执行过程对应的调用链路;调用链路包括与多个应用一一对应的多个节点。
在一种可选的实现方式中,来源信息包括源接口信息;该方法还包括:在当前应用以异步调用方式调用第一应用的情况下,将当前应用对应的来源信息携带在异步调用请求中,并向第一应用发送异步调用请求,以使第一应用生成包括有来源信息的日志信息。
在一种可选的实现方式中,该链路生成方法,还包括:在多个应用中的任意一个应用被调用的情况下,确定任意一个应用的响应时长;当响应时长大于或等于预设时长阈值时,发送提示信息;提示信息用于表征任意一个应用运行异常。
在一种可选的实现方式中,获取与目标服务的多个应用一一对应的多个日志信息之前,该链路生成方法,还包括:确定待缓存服务的执行信息;执行信息包括待缓存服务的执行时刻,以及待缓存服务在预设时长内的执行次数;在执行信息符合预设条件的情况下,将待缓存服务确定为目标服务;预设条件包括执行时刻处于预设时间段内、和/或执行次数大于预设次数。
在一种可选的实现方式中,该链路生成方法,还包括:在预设缓存位置中存储目标服务的服务标识和调用链路的对应关系。
在一种可选的实现方式中,该链路生成方法,还包括:响应于携带有待查询标识的链路查询请求,确定预设缓存位置是否存在与待查询标识对应的调用链路;在预设缓存位置存在与待查询标识对应的调用链路的情况下,发送与待查询标识对应的调用链路;或者,在预设缓存位置不存在与待查询标识对应的调用链路的情况下,将与待查询标识对应的服务确定为目标服务。
在一种可选的实现方式中,生成与目标服务的执行过程对应的调用链路后,该链路生成方法,还包括:确定调用链路的链路信息;链路信息包括调用链路的起始节点、终止节点、节点数量和执行时长;将链路信息输入至状态检测模型进行检测处理,得到检测结果;检测结果包括链路正常或链路异常。
在一种可选的实现方式中,该链路生成方法,还包括:获取与多个历史调用链路一一对应的多个链路信息;基于多个链路信息对初始检测模型进行训练,得到状态检测模型。
在一种可选的实现方式中,该链路生成方法,还包括:将多个应用中日志信息存在调用失败信息的应用,确定为待标记应用;将调用链路中与待标记应用对应的节点配置为异常节点,并配置异常节点与调用失败信息的链接关系。
在一种可选的实现方式中,该链路生成方法,还包括:响应于信息配置指示,将预设控制标志更新为与信息配置指示对应的状态;预设控制标志的状态包括开启状态或关闭状态;开启状态用于指示采集调用信息;关闭状态用于指示不采集调用信息。
根据本申请实施例的第二方面,提供一种链路生成装置,包括:获取单元和生成单元;
获取单元,被配置为获取与目标服务的多个应用一一对应的多个日志信息;多个应用包括至少一个第一应用和至少一个第二应用;第一应用用于表征在目标服务的执行过程中以异步调用方式被调用的应用;第一应用对应的日志信息包括第一应用的调用标识,以及与第一应用的调用方对应的来源信息;第二应用用于表征在目标服务的执行过程中以同步调用方式被调用的应用;第二应用对应的日志信息包括第二应用的调用标识,以及第二应用的调用方的调用标识;
生成单元,被配置为基于每个第一应用的调用方对应的来源信息确定每个第一应用对应节点的父节点,并基于每个第二应用的调用方的调用标识确定每个第二应用对应节点的父节点,以生成与目标服务的执行过程对应的调用链路;调用链路包括与多个应用一一对应的多个节点。
在一种可选的实现方式中,来源信息包括源接口信息;该装置还包括:发送单元;
发送单元,被配置为在当前应用以异步调用方式调用第一应用的情况下,将当前应用对应的来源信息携带在异步调用请求中,并向第一应用发送异步调用请求,以使第一应用生成包括有来源信息的日志信息。
在一种可选的实现方式中,该链路生成装置,还包括:确定单元;
确定单元,被配置为在多个应用中的任意一个应用被调用的情况下,确定任意一个应用的响应时长;
发送单元,还被配置为当响应时长大于或等于预设时长阈值时,发送提示信息;提示信息用于表征任意一个应用运行异常。
在一种可选的实现方式中,确定单元,还被配置为确定待缓存服务的执行信息;执行信息包括待缓存服务的执行时刻,以及待缓存服务在预设时长内的执行次数;
确定单元,还被配置为在执行信息符合预设条件的情况下,将待缓存服务确定为目标服务;预设条件包括执行时刻处于预设时间段内、和/或执行次数大于预设次数。
在一种可选的实现方式中,该链路生成装置,还包括:存储单元;
存储单元,被配置为在预设缓存位置中存储目标服务的服务标识和调用链路的对应关系。
在一种可选的实现方式中,确定单元,还被配置为响应于携带有待查询标识的链路查询请求,确定预设缓存位置是否存在与待查询标识对应的调用链路;
发送单元,还被配置为在预设缓存位置存在与待查询标识对应的调用链路的情况下,发送与待查询标识对应的调用链路;
确定单元,还被配置为在预设缓存位置不存在与待查询标识对应的调用链路的情况下,将与待查询标识对应的服务确定为目标服务。
在一种可选的实现方式中,确定单元,还被配置为确定调用链路的链路信息;链路信息包括调用链路的起始节点、终止节点、节点数量和执行时长;
确定单元,还被配置为将链路信息输入至状态检测模型进行检测处理,得到检测结果;检测结果包括链路正常或链路异常。
在一种可选的实现方式中,获取单元,还被配置为获取与多个历史调用链路一一对应的多个链路信息;确定单元,还被配置为基于多个链路信息对初始检测模型进行训练,得到状态检测模型。
在一种可选的实现方式中,确定单元,还被配置为将多个应用中日志信息存在调用失败信息的应用,确定为待标记应用;确定单元,还被配置为将调用链路中与待标记应用对应的节点配置为异常节点,并配置异常节点与调用失败信息的链接关系。
在一种可选的实现方式中,确定单元,还被配置为响应于信息配置指示,将预设控制标志更新为与信息配置指示对应的状态;预设控制标志的状态包括开启状态或关闭状态;开启状态用于指示采集调用信息;关闭状态用于指示不采集调用信息。
根据本申请实施例的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现如第一方面中任一可选的链路生成方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面中任一可选的链路生成方法。
根据本申请实施例的第五方面,提供一种计算机程序产品,包括计算机程序,计算机程序被电子设备执行时实现第一方面中任一可选的链路生成方法。
本申请的实施例提供的第一方面的技术方案至少带来以下有益效果:
电子设备可以获取与目标服务的多个应用一一对应的多个日志信息。其中,多个应用包括至少一个第一应用和至少一个第二应用。由于以异步调用方式被调用的第一应用对应的日志信息包括第一应用的调用标识,以及与第一应用的调用方对应的来源信息,且以同步调用方式被调用的第二应用对应的日志信息包括第二应用的调用标识,以及第二应用的调用方的调用标识。因此,可以基于每个第一应用的调用方对应的来源信息确定每个第一应用对应节点的父节点,并基于每个第二应用的调用方的调用标识确定每个第二应用对应节点的父节点,以进一步生成与目标服务的执行过程对应的调用链路。
基于此,本申请可以通过在以异步调用方式被调用的应用的日志信息中记录调用方对应的来源信息,支持匹配以异步调用方式被调用的应用与调用方之间的连接关系,避免通用技术在以异步调用方式被调用的应用处形成断点的问题,从而准确且完整地生成调用链路。因此,本申请可以至少用于改善在发生异步调用的调用过程中,难以有效地生成调用链路图的问题。
需要说明的是,第二方面至第五方面中的任一种实现方式所带来的技术效果可参见第一方面中对应实现方式所带来的技术效果,此处不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1是本申请实施例示出的一种实施架构的示意图;
图2是本申请实施例示出的一种链路生成系统的功能架构示意图
图3是本申请实施例示出的一种链路生成方法的流程图;
图4是本申请实施例示出的一种链路生成流程的示意图;
图5是本申请实施例示出的一种链路生成装置的框图;
图6是本申请实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在对本申请提供的链路生成方法进行详细介绍之前,先对本申请涉及的应用场景、实施环境进行简单介绍。
目前,一般可以通过服务所涉及的各个应用程序之间的调用链路图,发现并改善各个应用程序之间调用的异常,以提高服务的稳定性和可靠性等。应用程序之间的调用方式一般包括同步调用和异步调用等。
通用技术可以生成关于各个应用程序之间同步调用过程的调用链路图。然而,为了提高服务的运行效率和吞吐量等,各个应用程序之间的调用过程通常同时存在同步调用和异步调用等方式。这种情况下,通用技术生成调用链路图时,往往会在发生异步调用的应用程序形成断点,难以生成关于完整调用过程的调用链路图,导致开发运维人员难以准确地发现并改善调用过程的异常。
针对上述问题,本申请提供了一种链路生成方法,电子设备可以获取与目标服务的多个应用一一对应的多个日志信息。其中,多个应用包括至少一个第一应用和至少一个第二应用。由于以异步调用方式被调用的第一应用对应的日志信息包括第一应用的调用标识,以及与第一应用的调用方对应的来源信息,且以同步调用方式被调用的第二应用对应的日志信息包括第二应用的调用标识,以及第二应用的调用方的调用标识。因此,可以基于每个第一应用的调用方对应的来源信息确定每个第一应用对应节点的父节点,并基于每个第二应用的调用方的调用标识确定每个第二应用对应节点的父节点,以进一步生成与目标服务的执行过程对应的调用链路。
基于此,本申请可以通过在以异步调用方式被调用的应用的日志信息中记录调用方对应的来源信息,支持匹配以异步调用方式被调用的应用与调用方之间的连接关系,避免通用技术在以异步调用方式被调用的应用处形成断点的问题,从而准确且完整地生成调用链路。因此,本申请可以至少用于改善在发生异步调用的调用过程中,难以有效地生成调用链路图的问题。
图1为本申请的实施架构图。如图1所示,本申请实施例提供一种链路生成系统100的结构示意图。该链路生成系统100可以包括终端101和电子设备102。终端101可以和电子设备102之间通信连接。
实际应用中,终端101的数量可以是多个,且该多个终端101可以和电子设备102之间通信连接。
为了便于理解,本申请以电子设备102和一个终端101之间通信连接为例进行说明。
可选的,图1中的终端101和电子设备102可以是集成于同一个设备内的功能模块,也可以是两个相互独立设置的设备。本申请实施例对此不作限制。
容易理解的是,当终端101和电子设备102是集成于同一个设备内的功能模块时,终端101和电子设备102之间的通信方式为设备内部模块之间的通信。这种情况下,二者之间的通信流程与“终端101和电子设备102相互独立设置的情况下,二者之间的通信流程”相同。
为了便于理解,本申请主要以终端101和电子设备102相互独立设置为例进行说明。
图1中的终端101可以配置有显示模块和输入模块,用于提供调用链路显示服务和调用链路查询服务等。
图1中的电子设备102可以配置有链路生成功能,用于生成各种服务的调用链路。电子设备102还可以配置有多种类型的应用程序,用于实现多种类型的服务。例如,分布式计算服务等。
可选地,电子设备102可以是终端,也可以是服务器,还可以是其他具备链路生成功能的设备。图1中仅为电子设备102的设备形态的一种示例,并不对其构成限定。
可选地,当电子设备102是终端时,该终端和终端101可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本,以及个人数字助理(personal digital assistant,PDA)等设备。并且,该终端还可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。本申请对终端的具体形态不作特殊限制。
可选地,当电子设备102时服务器时,该服务器可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本申请对服务器的具体实现方式也不作限制。
结合图1,如图2所示,为本申请实施例提供的一种链路生成系统100的功能架构示意图。终端101可以包括调用链路查询模块、调用链路展示模块和错误日志展示模块。调用链路查询模块、调用链路展示模块和错误日志展示模块之间可以通过总线连接。
调用链路查询模块可以用于支持编辑查询信息,以及发起查询。调用链路展示模块可以用于支持展示调用链路等信息。错误日志展示模块可以用于支持展示异常节点的调用失败信息等。
电子设备102可以包括逆向监控模块、缓存模块、大数据模块、全局开关模块、日志生成模块、异步调用模块和错误日志配置模块。这些模块之间可以通过总线连接。
逆向监控模块可以用于监控任意应用的响应时长是否大于或等于预设时长阈值,以及在确定响应时长大于或等于预设时长阈值时,发出提示信息,以提示存在运行异常。
缓存模块可以用于存储多个调用链路,以便于支持对于调用链路的高效查询。
大数据模块可以根据状态检测模型,预测调用链路的状态,以确定调用链路是否存在生成错误风险。
全局开关模块可以用于支持配置全局控制信息,以避免某些极端异常造成的负面影响。全局开关模块的作用是为整个系统做兜底。当需要全局开启或者关闭数据采集时,即全局开启或者关闭服务调用相关信息的采集时,各应用可以读取配置文件中与全局控制标志相关的标志位,以在实现数据采集的拦截器运行前,对标志位进行判断。如果标志位为用于表征关闭数据采集时,则表示拦截器不需要拦截任何信息,则拦截器不继续向下执行,直接结束,以达到关闭数据采集的目的。
日志生成模块可以用于支持各个应用程序生成日志信息,以及存储日志信息。
异步调用模块可以用于在异步调用过程中,将调用方的信息和被调用方的信息记录在异步调用请求的请求头中,以支持调用链路的生成。
错误日志配置模块可以用于链接错误日志,以支持终端展示异常节点的调用失败信息,从而便于工作人员改善相关异常。
为了便于理解,以下结合附图对本申请提供的链路生成方法进行具体介绍。
图3是根据一示例性实施例示出的一种链路生成方法的流程图,该链路生成方法应用于图1中的电子设备102。如图3所示,该链路生成方法包括:S301-S302。
S301、电子设备获取与目标服务的多个应用一一对应的多个日志信息。
其中,多个应用可以包括至少一个第一应用和至少一个第二应用。第一应用可以用于表征在目标服务的执行过程中以异步调用方式被调用的应用。第二应用可以用于表征在目标服务的执行过程中以同步调用方式被调用的应用。
多个应用还可以包括首部应用。首部应用可以理解为目标服务开始执行的首个应用。即目标服务的执行过程的开始可以是以首部应用启动执行。首部应用一般不会被调用。
一种可能的方式中,应用对应的日志信息可以包括应用运行过程中的运行结果等相关信息。例如,第一应用对应的日志信息可以包括目标服务的跟踪标识、第一应用的调用标识,以及与第一应用的调用方对应的来源信息。第二应用对应的日志信息可以包括目标服务的跟踪标识、第二应用的调用标识,以及第二应用的调用方的调用标识。调用标识也可以理解为在目标服务的调用过程中,应用对应的跨度标识。
一种可以实现的方式中,电子设备可以配置有存储模块。存储模块可以用于存储电子设备内各个应用产生的日志信息。基于此,电子设备可以在存储模块中读取包括有目标服务的跟踪标识的日志信息,得到多个日志信息。
需要说明的是,考虑到以异步调用方式被调用的第一应用对应的日志信息中,无法记录上一级的跨度标识,即调用该第一应用的调用方的跨度标识。为了生成完整地调用链路,本申请在第一应用对应的日志信息中,记录调用方的来源信息。具体地,在异步调用过程中,调用方的信息和被调用方的信息可以被记录在异步调用请求的头部。调用方的信息可以包括调用方对应的源接口信息等。调用方对应的来源信息也可以理解为调用方对应的源接口信息。被调用方的信息可以包括被调用方对应的目的接口信息等。
示例性地,如果是异步超文本传输协议(hypertext transfer protocol,HTTP)请求,则源接口信息和目的接口信息将被记录在异步HTTP请求的请求头中。如果异步调用的对象是数据库中间件或者消息中间件等,则除了在异步调用请求的请求头中记录源接口信息和目的接口信息外,可以在调用方对应的日志信息中记录调用方的角色(例如生成者)。被调用方接收到异步调用请求后,可以在被调用方对应的日志信息中记录被调用方的角色(例如生产者)。例如,应用A调用应用B,则应用A对应的日志信息中可以记录角色为生产者。应用B接收到应用A发送的异步调用请求后,则应用B对应的日志信息中可以记录角色为消费者。
一种可能的方式中,目标服务可以是用于实现特定业务的服务。例如,该特定业务可以是数字货币更新服务,也可以是交易信息存储服务等。目标服务可以具备跟踪标识。
可选地,应用可以是用于实现特定功能的组件或者中间件等。例如,用于实现数据计算的组件,或者用于实现数据存储的数据库中间件等。
S302、电子设备基于每个第一应用的调用方对应的来源信息确定每个第一应用对应节点的父节点,并基于每个第二应用的调用方的调用标识确定每个第二应用对应节点的父节点,以生成与目标服务的执行过程对应的调用链路。
其中,调用链路可以包括与多个应用一一对应的多个节点。
具体地,电子设备可以解析各个日志信息。若一个日志信息包括调用方的调用标识,则可以表明该一个日志信息对应的应用以同步调用方式被调用。这种情况下,电子设备可以将调用标识对应的应用在调用链路中的节点,确定为该一个日志信息对应的应用在调用链路中的节点的父节点。
若一个日志信息包括调用方的来源信息,则可以表明该一个日志信息对应的应用以异步调用方式被调用。这种情况下,电子设备可以将该来源信息对应的应用在调用链路中的节点,确定为该一个日志信息对应的应用在调用链路中的节点的父节点。
应理解,首部应用对应的节点不存在父节点,且会被确定为其调用的应用对应节点的父节点。
基于此,电子设备可以将首部应用对应的节点确定为调用链路的起始节点,并将每个第一应用对应的节点添加在其父节点之后,以及将每个第二应用对应的节点添加在其父节点之后,得到调用链路。
一种可能的示例中,预设目标服务对应有A、B、C和D四个应用。其中,应用A为首部应用。应用B被应用A以同步调用方式调用。应用C被应用B以异步调用方式调用。应用D被应用C以同步调用方式调用。这种情况下,若采用通用技术,则为目标服务的执行过程生成的调用链路为应用A连接应用B的第一调用链路,以及应用C连接应用D的第二调用链路。应用B和应用C之间不存在连接关系,即第一调用链路和第二调用链路之间存在断点。若采用本申请的方案,为目标服务的执行过程生成的调用链路为应用A连接应用B、应用B连接应用C、应用C连接应用D的一条调用链路,可以完整地还原调用过程。
基于上述S301-S302描述的方法,由于以异步调用方式被调用的第一应用对应的日志信息包括第一应用的调用标识,以及与第一应用的调用方对应的来源信息,且以同步调用方式被调用的第二应用对应的日志信息包括第二应用的调用标识,以及第二应用的调用方的调用标识。因此,可以基于每个第一应用的调用方对应的来源信息确定每个第一应用对应节点的父节点,并基于每个第二应用的调用方的调用标识确定每个第二应用对应节点的父节点,以进一步生成与目标服务的执行过程对应的调用链路。
基于此,本申请可以通过在以异步调用方式被调用的应用的日志信息中记录调用方对应的来源信息,支持匹配以异步调用方式被调用的应用与调用方之间的连接关系,避免通用技术在以异步调用方式被调用的应用处形成断点的问题,从而准确且完整地生成调用链路。因此,本申请可以至少用于改善在发生异步调用的调用过程中,难以有效地生成调用链路图的问题。
一种实施例中,本申请实施例提供的链路生成方法,还包括:S401。
S401、电子设备在当前应用以异步调用方式调用第一应用的情况下,将当前应用对应的来源信息携带在异步调用请求中,并向第一应用发送异步调用请求,以使第一应用生成包括有来源信息的日志信息。
其中,当前应用可以用于表征当前执行的应用。多个应用中的任意一个应用执行时,可以理解为当前应用。
一种可以实现的方式中,结合图2,电子设备可以通过配置的异步调用模块,确定当前应用执行时是否发生了异步调用,即是否以异步调用方式调用了其他的应用。在确定当前应用以异步调用方式调用第一应用的情况下,电子设备可以通过配置的异步调用模块将当前应用对应的来源信息,以及第一应用对应的目的接口信息携带在异步调用请求中,并向第一应用发送异步调用请求。则第一应用可以将异步调用请求记录在第一应用对应的日志信息,以生成包括有来源信息的日志信息。
一种可能的方式中,电子设备还可以通过配置的异步调用模块,在异步调用的请求头中设置标志信息。标志信息可以用于表征当前调用为异步调用。
一种实施例中,本申请实施例提供的链路生成方法,还包括:S501-S502。
S501、电子设备在多个应用中的任意一个应用被调用的情况下,确定任意一个应用的响应时长。
需要说明的是,当调用方向被调用方发送调用请求时,被调用方接收到调用请求后,可以生成对应的日志,以及向调用方发送响应信息,以表示接受调用。若调用方发送了调用请求,但却长时间未收到调用方发送的响应信息,则可以表明被调用方处于非健康状态,即运行异常,容易导致服务存在潜在风险。
一种可以实现的方式中,结合图2,电子设备在多个应用中的任意一个应用被调用的情况下,可以通过配置的逆向监控模块可以确定该任意一个应用被调用的开始时刻。并且,电子设备可以在该任意一个应用发送响应信息之前,实时或周期性地结合开始时刻和当前时刻,确定该任意一个应用的响应时长。
S502、电子设备当响应时长大于或等于预设时长阈值时,发送提示信息。
其中,提示信息可以用于表征任意一个应用运行异常。
一种可以实现的方式中,结合图2,电子设备通过配置的逆向监控模块将该任意一个应用的响应时长和预设时长阈值进行比较。若该任意一个应用的响应时长小于预设时长阈值,则电子设备保持监控该任意一个应用的响应时长。若该任意一个应用的响应时长大于或等于预设时长阈值,则可以表明该任意一个应用处于非健康状态,即运行异常。这种情况下,电子设备可以通过配置的逆向监控模块向终端发送提示信息,以便于终端展示关于该任意一个应用的提示信息,从而便于工作人员进行维护,提供服务的稳定性。
一种可能的方式中,预设时长阈值可以由工作人员凭经验合理配置。
一种实施例中,在上述S301之前,即电子设备获取与目标服务的多个应用一一对应的多个日志信息之前,本申请实施例提供的链路生成方法,还包括:S601-S602。
S601、电子设备确定待缓存服务的执行信息。
其中,待缓存服务的执行信息可以包括待缓存服务的执行时刻,以及待缓存服务在预设时长内的执行次数等。预设时长可以由工作人员凭经验合理配置。
需要说明的是,对于调用过程中涉及的应用较多的服务而言,其调用链路的节点数量较多,生成其调用链路的耗时较长,导致查询效率较低,影响工作人员使用体验。为了在不增加设备负载的同时提高查询效率,本申请设计一种缓存机制,考虑对部分服务的调用链路进行缓存。例如,执行频率较高的服务,或者在热点时段内执行的服务等。基于此,可以高效地在本地缓存中查询这些服务的调用链路。
一种可能的方式中,待缓存服务可以理解为没有对调用链路进行缓存的服务。电子设备可以确定待缓存服务的执行时刻。待缓存服务的执行时刻可以是待缓存服务在最近一次执行时的时刻。并且,待缓存服务每执行一次,电子设备可以确定待缓存服务在预设时长内的执行次数。
S602、电子设备在执行信息符合预设条件的情况下,将待缓存服务确定为目标服务。
其中,预设条件可以包括执行时刻处于预设时间段内、和/或执行次数大于预设次数。预设时间段和预设次数可以由工作人员凭经验合理配置。例如,预设时间段可以是14:00-20:00。预设次数可以是10次。
一种可以实现的方式中,若待缓存服务的执行信息不符合预设条件,则可以表明待缓存服务的调用链路的查询频率可能较低。这种情况下,电子设备可以不将待缓存服务确定为目标服务,从而避免缓存待缓存服务的调用链路导致的负载增加。
若待缓存服务的执行信息符合预设条件,则可以表明待缓存服务的调用链路的查询频率可能较高。这种情况下,电子设备可以将待缓存服务确定为目标服务,从而缓存待缓存服务的调用链路,提高查询效率,以及避免多次生成待缓存服务的调用链路导致的负载增加。
一种实施例中,本申请实施例提供的链路生成方法,还包括:S701。
S701、电子设备在预设缓存位置中存储目标服务的服务标识和调用链路的对应关系。
其中,预设缓存位置可以由工作人员预先配置在电子设备内。
一种可以实现的方式中,对于被确定为目标服务的待缓存服务而言,电子设备在生成待缓存服务的调用链路后,可以在预设缓存位置中存储目标服务的服务标识和调用链路的对应关系,以便于高效的查询待缓存服务的调用链路。
一种可能的方式中,目标服务的服务标识可以是基于调用链路的起始节点和终止节点生成的值。
一种实施例中,本申请实施例提供的链路生成方法,还包括:S801-S803。
S801、电子设备响应于携带有待查询标识的链路查询请求,确定预设缓存位置是否存在与待查询标识对应的调用链路。
其中,待查询标识可以理解为需要查询调用链路的服务的标识。
一种可以实现的方式中,结合图1,工作人员可以触发终端向电子设备发送携带有待查询标识的链路查询请求。电子设备响应于该携带有待查询标识的链路查询请求,可以将待查询标识在预设缓存位置内进行匹配,以确定预设缓存位置是否存在与待查询标识对应的调用链路。
S802、电子设备在预设缓存位置存在与待查询标识对应的调用链路的情况下,发送与待查询标识对应的调用链路。
一种可能的方式中,若预设缓存位置存在与待查询标识对应的调用链路,则电子设备可以向终端发送与待查询标识对应的调用链路,以支持终端展示与待查询标识对应的调用链路,从而便于工作人员查看与待查询标识对应的调用链路。
S803、电子设备在预设缓存位置不存在与待查询标识对应的调用链路的情况下,将与待查询标识对应的服务确定为目标服务。
一种可能的方式中,若预设缓存位置不存在与待查询标识对应的调用链路,则可以表明未预先缓存待查询标识对应的调用链路。这种情况下,电子设备可以将与待查询标识对应的服务确定为目标服务,以进一步生成该目标服务的调用链路。进一步的,电子设备可以向终端发送生成的与待查询标识对应的调用链路,以支持终端展示与待查询标识对应的调用链路,从而便于工作人员查看与待查询标识对应的调用链路。
一种实施例中,本申请实施例提供的链路生成方法,还包括:S901-S902。
S901、电子设备获取与多个历史调用链路一一对应的多个链路信息。
其中,历史调用链路对应的链路信息可以包括起始节点、终止节点、节点数量(也可以称为链路深度)和执行时长(也可以称为调用时长)等信息。
需要说明的是,为了检测是否生成了存在节点数量错误等异常的调用链路,本申请考虑基于多个历史调用链路进行构建大数据模型,以采用大数据模型对生成的调用链路进行检测。在生成的调用链路较短且执行时长较长等情况下,大数据模型可以输出该调用链路处于异常状态的检测结果,以提示调用链路存在异常风险,从而便于开发人员进行维护。
一种可能的方式中,为了构建大数据模型,电子设备可以从配置的存储模块中读取多个历史调用链路,并确定各个历史调用链路的链路信息。
S902、电子设备基于多个链路信息对初始检测模型进行训练,得到状态检测模型。
可选地,初始模型可以是基于留存分析模型、漏斗分析模型、全行为路径分析模型或者热图分析模型等模型结构实现的。本申请对此不作限制。
一种可能的方式中,电子设备可以将多个链路信息转换为与初始模型的输入匹配的数据格式和结构,并基于转换后的多个链路信息对初始模型进行训练,从而不断地更新初始模型内的超参数,得到状态检测模型。
一种实施例中,在上述S302之后,即电子设备生成与目标服务的执行过程对应的调用链路后,本申请实施例提供的链路生成方法,还包括:S1001-S1002。
S1001、电子设备确定调用链路的链路信息。
其中,调用链路的链路信息包括调用链路的起始节点、终止节点、节点数量和执行时长等。
S1002、电子设备将链路信息输入至状态检测模型进行检测处理,得到检测结果。
其中,检测结果可以包括链路正常或链路异常。链路正常可以用于表征调用链路不存在异常风险。链路异常可以用于表征调用链路存在异常风险。
一种实施例中,本申请实施例提供的链路生成方法,还包括:S1101-S1102。
S1101、电子设备将多个应用中日志信息存在调用失败信息的应用,确定为待标记应用。
需要说明的是,通用技术在生成调用链路时,无法展示出调用链路中的异常信息,导致开发人员无法便捷地了解到异常情况。为了便于提供服务的稳定性,本申请在生成调用链路的同时,收集调用失败的节点的日志信息,以实现调用链路和异常信息的双向打通。具体地,调用失败的应用在调用链路中对应的节点,可以链接到调用失败的应用的调用失败信息,以便于工作人员排查异常。
基于此,电子设备可以对各个应用的日志信息进行过滤处理,以确定各个应用的日志信息中是否存在调用失败信息。并且,电子设备可以将多个应用中日志信息存在调用失败信息的应用,确定为待标记应用。
S1102、电子设备将调用链路中与待标记应用对应的节点配置为异常节点,并配置异常节点与调用失败信息的链接关系。
一种可能的方式中,电子设备可以将调用链路中与待标记应用对应的节点配置为异常节点,并配置该异常节点与调用失败信息的链接关系。基于此,终端在显示调用链路时,可以显示该异常节点,并且当工作人员点击异常节点时,可以弹出链接的调用失败信息。
一种可能的方式中,为了在调用链路中突显异常节点,可以在调用链路的展示页的右侧显示红色异常提示符。当工作人员点击红色异常提示符时,可以弹出链接的调用失败信息。
一种实施例中,本申请实施例提供的链路生成方法,还包括:S1201。
S1201、电子设备响应于信息配置指示,将预设控制标志更新为与信息配置指示对应的状态。
其中,预设控制标志的状态可以包括开启状态或关闭状态。开启状态可以用于指示采集调用信息。关闭状态可以用于指示不采集调用信息。调用信息可以理解为服务的调用链路涉及的调用请求和日志信息等信息,
需要说明的是,考虑到电子设备通过链路生成服务生成调用链路时,可以出现运行错误等异常,从而造成应用运行异常等影响。工作人员可以在电子设备中配置作用于全局的预设控制标志,以控制链路生成服务的开启或关闭。
一种可能的方式中,工作人员可以触发终端同时配置一个或多个电子设备中链路生成服务的开启或者关闭,以达到保护电子设备性能的目的。响应于信息配置指示,电子设备可以将预设控制标志更新为与信息配置指示对应的状态。
如图4所示,为本申请实施例提供的一种链路生成流程的示意图。可以检测全局控制开关(即预设控制标志),判断是否需要采集数据。不需要则结束流程。需要则采集各应用(例如第一应用和第二应用等)的调用信息。并且,在采集各应用的调用信息时,可以逆向监控各应用运行状况。需要则采集各应用的调用信息后,若存在需要缓存的调用链路,则生成调用链路,并集成调用链路和异常信息(即调用失败信息),以及缓存调用链路。基于此,可以支持在预设缓存位置中查询调用链路。
本申请实施例提出的生成或绘制服务的调用链路的方法,在保证生成同步调用过程的调用链路的前提下,可以生成异步调用过程的调用链路,同时,还可以收集应用的调用失败信息,实现了调用失败信息和调用链路的双向打通,既可以通过调用链路查询调用过程中的调用失败信息,又可以根据调用失败信息反向定位调用链路。此外,本申请还可以反向监控数据库、消息队列等中间件的响应时长,进一步保证服务的稳定运行。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,电子设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法,示例性的对电子设备进行功能模块的划分,例如,电子设备可以包括对应各个功能划分的各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
例如,本申请实施例还提供一种链路生成装置。
图5是根据一示例性实施例示出的一种链路生成装置的框图。参照图5,该链路生成装置可以包括:获取单元1301和生成单元1302;
获取单元1301,被配置为获取与目标服务的多个应用一一对应的多个日志信息;多个应用包括至少一个第一应用和至少一个第二应用;第一应用用于表征在目标服务的执行过程中以异步调用方式被调用的应用;第一应用对应的日志信息包括第一应用的调用标识,以及与第一应用的调用方对应的来源信息;第二应用用于表征在目标服务的执行过程中以同步调用方式被调用的应用;第二应用对应的日志信息包括第二应用的调用标识,以及第二应用的调用方的调用标识;
生成单元1302,被配置为基于每个第一应用的调用方对应的来源信息确定每个第一应用对应节点的父节点,并基于每个第二应用的调用方的调用标识确定每个第二应用对应节点的父节点,以生成与目标服务的执行过程对应的调用链路;调用链路包括与多个应用一一对应的多个节点。
在一种可选的实现方式中,来源信息包括源接口信息;该装置还包括:发送单元1303;
发送单元1303,被配置为在当前应用以异步调用方式调用第一应用的情况下,将当前应用对应的来源信息携带在异步调用请求中,并向第一应用发送异步调用请求,以使第一应用生成包括有来源信息的日志信息。
在一种可选的实现方式中,该链路生成装置,还包括:确定单元1304;
确定单元1304,被配置为在多个应用中的任意一个应用被调用的情况下,确定任意一个应用的响应时长;
发送单元1303,还被配置为当响应时长大于或等于预设时长阈值时,发送提示信息;提示信息用于表征任意一个应用运行异常。
在一种可选的实现方式中,确定单元1304,还被配置为确定待缓存服务的执行信息;执行信息包括待缓存服务的执行时刻,以及待缓存服务在预设时长内的执行次数;
确定单元1304,还被配置为在执行信息符合预设条件的情况下,将待缓存服务确定为目标服务;预设条件包括执行时刻处于预设时间段内、和/或执行次数大于预设次数。
在一种可选的实现方式中,该链路生成装置,还包括:存储单元1305;
存储单元1305,被配置为在预设缓存位置中存储目标服务的服务标识和调用链路的对应关系。
在一种可选的实现方式中,确定单元1304,还被配置为响应于携带有待查询标识的链路查询请求,确定预设缓存位置是否存在与待查询标识对应的调用链路;
发送单元1303,还被配置为在预设缓存位置存在与待查询标识对应的调用链路的情况下,发送与待查询标识对应的调用链路;
确定单元1304,还被配置为在预设缓存位置不存在与待查询标识对应的调用链路的情况下,将与待查询标识对应的服务确定为目标服务。
在一种可选的实现方式中,确定单元1304,还被配置为确定调用链路的链路信息;链路信息包括调用链路的起始节点、终止节点、节点数量和执行时长;
确定单元1304,还被配置为将链路信息输入至状态检测模型进行检测处理,得到检测结果;检测结果包括链路正常或链路异常。
在一种可选的实现方式中,获取单元1301,还被配置为获取与多个历史调用链路一一对应的多个链路信息;确定单元1304,还被配置为基于多个链路信息对初始检测模型进行训练,得到状态检测模型。
在一种可选的实现方式中,确定单元1304,还被配置为将多个应用中日志信息存在调用失败信息的应用,确定为待标记应用;确定单元1304,还被配置为将调用链路中与待标记应用对应的节点配置为异常节点,并配置异常节点与调用失败信息的链接关系。
在一种可选的实现方式中,确定单元1304,还被配置为响应于信息配置指示,将预设控制标志更新为与信息配置指示对应的状态;预设控制标志的状态包括开启状态或关闭状态;开启状态用于指示采集调用信息;关闭状态用于指示不采集调用信息。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种电子设备的框图。
如图6所示,电子设备200包括但不限于:处理器210和存储器220。
其中,上述的存储器220,用于存储上述处理器210的可执行指令。可以理解的是,上述处理器210被配置为执行指令,以实现上述实施例中的链路生成方法。
需要说明的是,本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图6所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器210是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器220内的软件程序和/或模块,以及调用存储在存储器220内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器210可包括一个或多个处理单元;可选的,处理器210可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器210中。
存储器220可用于存储软件程序以及各种数据。存储器220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能模块所需的应用程序)等。此外,存储器220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器220,上述指令可由电子设备200的处理器210执行以实现上述实施例中的链路生成方法。
可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存储存储器(Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,本申请实施例还提供了一种包括一条或多条指令的计算机程序产品,该一条或多条指令可以由电子设备200的处理器210执行以完成上述实施例中的链路生成方法。
需要说明的是,上述计算机可读存储介质中的指令或计算机程序产品中的一条或多条指令被电子设备200的处理器210执行时实现上述链路生成方法实施例的各个过程,且能达到与上述链路生成方法相同的技术效果,为避免重复,这里不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全分类部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全分类部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对通用技术做出贡献的部分或者该技术方案的全分类部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全分类部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种链路生成方法,其特征在于,包括:
获取与目标服务的多个应用一一对应的多个日志信息;所述多个应用包括至少一个第一应用和至少一个第二应用;所述第一应用用于表征在所述目标服务的执行过程中以异步调用方式被调用的应用;所述第一应用对应的日志信息包括所述第一应用的调用标识,以及与所述第一应用的调用方对应的来源信息;所述第二应用用于表征在所述目标服务的执行过程中以同步调用方式被调用的应用;所述第二应用对应的日志信息包括所述第二应用的调用标识,以及所述第二应用的调用方的调用标识;
基于每个第一应用的调用方对应的来源信息确定所述每个第一应用对应节点的父节点,并基于每个第二应用的调用方的调用标识确定所述每个第二应用对应节点的父节点,以生成与所述目标服务的执行过程对应的调用链路;所述调用链路包括与所述多个应用一一对应的多个节点。
2.根据权利要求1所述的链路生成方法,其特征在于,所述来源信息包括源接口信息;所述方法还包括:
在当前应用以异步调用方式调用第一应用的情况下,将所述当前应用对应的来源信息携带在异步调用请求中,并向所述第一应用发送所述异步调用请求,以使所述第一应用生成包括有所述来源信息的日志信息。
3.根据权利要求1所述的链路生成方法,其特征在于,还包括:
在所述多个应用中的任意一个应用被调用的情况下,确定所述任意一个应用的响应时长;
当所述响应时长大于或等于预设时长阈值时,发送提示信息;所述提示信息用于表征所述任意一个应用运行异常。
4.根据权利要求1-3任一项所述的链路生成方法,其特征在于,所述获取与目标服务的多个应用一一对应的多个日志信息之前,还包括:
确定待缓存服务的执行信息;所述执行信息包括所述待缓存服务的执行时刻,以及所述待缓存服务在预设时长内的执行次数;
在所述执行信息符合预设条件的情况下,将所述待缓存服务确定为所述目标服务;所述预设条件包括所述执行时刻处于预设时间段内、和/或所述执行次数大于预设次数。
5.根据权利要求4所述的链路生成方法,其特征在于,还包括:
在预设缓存位置中存储所述目标服务的服务标识和所述调用链路的对应关系。
6.根据权利要求1-3任一项所述的链路生成方法,其特征在于,还包括:
响应于携带有待查询标识的链路查询请求,确定预设缓存位置是否存在与所述待查询标识对应的调用链路;
在所述预设缓存位置存在与所述待查询标识对应的调用链路的情况下,发送与所述待查询标识对应的调用链路;
或者,在所述预设缓存位置不存在与所述待查询标识对应的调用链路的情况下,将与所述待查询标识对应的服务确定为所述目标服务。
7.根据权利要求1-3任一项所述的链路生成方法,其特征在于,所述生成与所述目标服务的执行过程对应的调用链路后,还包括:
确定所述调用链路的链路信息;所述链路信息包括所述调用链路的起始节点、终止节点、节点数量和执行时长;
将所述链路信息输入至状态检测模型进行检测处理,得到检测结果;所述检测结果包括链路正常或链路异常。
8.根据权利要求7所述的链路生成方法,其特征在于,还包括:
获取与多个历史调用链路一一对应的多个链路信息;
基于所述多个链路信息对初始检测模型进行训练,得到所述状态检测模型。
9.根据权利要求1-3任一项所述的链路生成方法,其特征在于,还包括:
将所述多个应用中日志信息存在调用失败信息的应用,确定为待标记应用;
将所述调用链路中与所述待标记应用对应的节点配置为异常节点,并配置所述异常节点与所述调用失败信息的链接关系。
10.根据权利要求1-3任一项所述的链路生成方法,其特征在于,还包括:
响应于信息配置指示,将预设控制标志更新为与所述信息配置指示对应的状态;所述预设控制标志的状态包括开启状态或关闭状态;所述开启状态用于指示采集调用信息;所述关闭状态用于指示不采集调用信息。
11.一种链路生成装置,其特征在于,包括:获取单元和生成单元;
所述获取单元,被配置为获取与目标服务的多个应用一一对应的多个日志信息;所述多个应用包括至少一个第一应用和至少一个第二应用;所述第一应用用于表征在所述目标服务的执行过程中以异步调用方式被调用的应用;所述第一应用对应的日志信息包括所述第一应用的调用标识,以及与所述第一应用的调用方对应的来源信息;所述第二应用用于表征在所述目标服务的执行过程中以同步调用方式被调用的应用;所述第二应用对应的日志信息包括所述第二应用的调用标识,以及所述第二应用的调用方的调用标识;
所述生成单元,被配置为基于每个第一应用的调用方对应的来源信息确定所述每个第一应用对应节点的父节点,并基于每个第二应用的调用方的调用标识确定所述每个第二应用对应节点的父节点,以生成与所述目标服务的执行过程对应的调用链路;所述调用链路包括与所述多个应用一一对应的多个节点。
12.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-10中任一项所述的链路生成方法。
13.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,
当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-10中任一项所述的链路生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311281017.4A CN117971409A (zh) | 2023-09-28 | 2023-09-28 | 链路生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311281017.4A CN117971409A (zh) | 2023-09-28 | 2023-09-28 | 链路生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117971409A true CN117971409A (zh) | 2024-05-03 |
Family
ID=90854195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311281017.4A Pending CN117971409A (zh) | 2023-09-28 | 2023-09-28 | 链路生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117971409A (zh) |
-
2023
- 2023-09-28 CN CN202311281017.4A patent/CN117971409A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7451479B2 (ja) | コンピューティング・デバイスについてのシステム性能およびイベント・データを収集、追跡、および記憶するためのシステムおよび方法 | |
US10268755B2 (en) | Systems and methods for providing dynamic indexer discovery | |
US10298469B2 (en) | Automatic asynchronous handoff identification | |
US10257316B2 (en) | Monitoring of node.js applications | |
US20150067147A1 (en) | Group server performance correction via actions to server subset | |
CN110659109A (zh) | 一种openstack集群虚拟机监控系统及方法 | |
CN110727560A (zh) | 云服务报警方法及装置 | |
US20160124832A1 (en) | Monitoring and correlating a binary process in a distributed business transaction | |
CN111614483A (zh) | 链路监控方法、装置、存储介质及计算机设备 | |
CN113760641A (zh) | 业务监控方法、装置、计算机系统和计算机可读存储介质 | |
CN104298675A (zh) | 用于缓存管理的方法和装置 | |
US10775751B2 (en) | Automatic generation of regular expression based on log line data | |
CN109802842B (zh) | 应用拓扑的生成方法及相关设备 | |
US10191844B2 (en) | Automatic garbage collection thrashing monitoring | |
US10432490B2 (en) | Monitoring single content page application transitions | |
CN107656999B (zh) | 呼叫历史追溯方法、装置、电子设备、存储介质 | |
CN117370053A (zh) | 一种面向信息系统业务运行全景监测方法及系统 | |
US10389818B2 (en) | Monitoring a network session | |
CN112187509A (zh) | 多架构云平台执行日志管理方法、系统、终端及存储介质 | |
CN117971409A (zh) | 链路生成方法、装置、设备及存储介质 | |
CN111698109A (zh) | 监控日志的方法和装置 | |
CN115129491A (zh) | 微服务请求消息跟踪方法、生成方法、装置、介质及设备 | |
CN114756301A (zh) | 日志处理方法、装置和系统 | |
CN114816914A (zh) | 基于Kubernetes的数据处理方法、设备及介质 | |
US20150222505A1 (en) | Business transaction resource usage tracking |
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 |