CN112783629A - 服务调用方法、装置、电子设备及存储介质 - Google Patents
服务调用方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112783629A CN112783629A CN202110137765.XA CN202110137765A CN112783629A CN 112783629 A CN112783629 A CN 112783629A CN 202110137765 A CN202110137765 A CN 202110137765A CN 112783629 A CN112783629 A CN 112783629A
- Authority
- CN
- China
- Prior art keywords
- calling
- chain
- service
- service node
- call
- 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 35
- 238000012545 processing Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种服务调用方法、装置、电子设备及存储介质,其中,该方法在接收到客户端请求时,分配一个调用链标识,并在基于客户端请求进行服务调用时,将调用链标识在涉及到的服务节点中进行传递。这样基于调用链标识分析系统的日志数据时,可以快速确定与客户端请求关联的至少一个服务节点及服务节点之间的调用关系,以及反映调用路径的目标调用链。另外,由于可以快速确定服务节点之间的调用关系以及目标调用链,能够有效降低故障分析的难度,提高故障分析的效率。
Description
技术领域
本申请实施例涉及计算机应用技术领域,尤其涉及一种服务调用方法、装置、电子设备及存储介质。
背景技术
目前,微服务架构应用广泛。微服务架构是一种服务间松耦合的、每个服务之间高度自治并且使用轻量级协议进行通信的可持续集成部署的分布式架构体系。
基于微服务架构的系统包括至少一个服务节点,每个服务节点提供指定的服务,一台计算机设备可以部署一个服务节点或者多个服务节点。系统中任一服务节点接收到客户端设备发起的客户端请求时,该服务节点响应该客户端请求的过程中,往往需要调用多个其他服务节点,服务节点之间的调用关系可能非常复杂,一旦出现故障,复杂的调用关系导致难以快速排查故障原因。
发明内容
本申请实施例提供一种服务调用方法、装置、电子设备及存储介质,用以快速确定服务节点之间的调用关系,便于后续快速排查故障原因。
第一方面,本申请实施例中提供了一种服务调用方法,包括:
在监控到任一服务节点接收到客户端请求时,为所述客户端请求分配调用链标识;
在所述任一服务节点基于所述客户端请求进行服务调用时,控制上一个服务节点向下一个服务节点发送的调用请求中携带所述调用链标识;
根据所述调用链标识分析采集的日志数据,确定发送和/或接收携带所述调用链标识的调用请求的至少一个服务节点,以及所述至少一个服务节点的调用关系;
根据所述至少一个服务节点的调用关系生成所述目标调用链。
第二方面,本申请实施例中提供了一种服务调用装置,包括:
分配模块,用于在监控到任一服务节点接收到客户端请求时,为所述客户端请求分配调用链标识;
处理模块,用于在所述任一服务节点基于所述客户端请求进行服务调用时,控制上一个服务节点向下一个服务节点发送的调用请求中携带所述调用链标识;
处理模块,还用于根据所述调用链标识分析采集的日志数据,确定发送和/或接收携带所述调用链标识的调用请求的至少一个服务节点,以及所述至少一个服务节点的调用关系;
处理模块,还用于根据所述至少一个服务节点的调用关系生成所述目标调用链。
第三方面,本申请实施例中提供了一种电子设备,包括处理组件以及存储组件;
所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行;
所述处理组件用于:
在监控到任一服务节点接收到客户端请求时,为所述客户端请求分配调用链标识;
在所述任一服务节点基于所述客户端请求进行服务调用时,控制上一个服务节点向下一个服务节点发送的调用请求中携带所述调用链标识;
根据所述调用链标识分析采集的日志数据,确定发送和/或接收携带所述调用链标识的调用请求的至少一个服务节点,以及所述至少一个服务节点的调用关系;
根据所述至少一个服务节点的调用关系生成所述目标调用链。
第四方面,本申请实施例中提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述服务调用方法中的步骤。
本申请实施例中,接收到客户端请求时,分配一个调用链标识,并在基于客户端请求进行服务调用时,将调用链标识在涉及到的服务节点中进行传递。这样基于调用链标识分析系统的日志数据时,可以快速确定与客户端请求关联的至少一个服务节点及服务节点之间的调用关系,以及反映调用路径的目标调用链。另外,由于可以快速确定服务节点之间的调用关系以及目标调用链,能够有效降低故障分析的难度,提高故障分析的效率。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请提供的服务调用方法一个实施例的流程图;
图2为示例性的调用链;
图3示出了根据本申请提供的服务调用装置一个实施例的结构示意图;
图4示出了根据本申请提供的电子设备一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出了根据本申请提供的服务调用方法一个实施例的流程图。
参见图1,该方法包括:
101、在监控到任一服务节点接收到客户端请求时,为所述客户端请求分配调用链标识。
102、在所述任一服务节点基于所述客户端请求进行服务调用时,控制上一个服务节点向下一个服务节点发送的调用请求中携带所述调用链标识。
具体的,基于微服务架构的系统包括至少一个服务节点,任一服务节点提供指定的服务,任一服务节点部署在一台计算机设备上,一台计算机设备可以部署一个服务节点或者多个服务节点。
在一些实施例中,调用链标识为随机数。或者,调用链标识至少包括表征标识为调用链的指示信息和随机数。例如,调用链标识为diaoyonglian-12345。开发或运维人员根据diaoyonglian-12345中的diaoyonglian可以知道该标识是一个调用链的标识,以提高调用链标识的可读性。
在一些实施例中,由于请求头可以加入自定义的字段,因此,可以在调用请求的请求头中加入调用链标识。
其中,客户端请求由客户端设备发送,为客户端请求分配对应的调用链标识。该调用链标识用于标识客户端请求的目标调用链,目标调用链为从接收到响应所客户端请求的过程中关联的至少一个服务节点的调用路径。在上一个服务节点调用下一个服务节点时,发送给下一个服务节点的调用请求中包括调用链标识,进而使得调用链标识在调用链的服务节点之间进行传递。如此,后续在采集到系统的日志数据之后,基于调用链标识可分析系统的日志数据,便可快速确定客户端请求涉及的至少一个服务节点及各服务节点之间的调用关系。
图2为示例性的调用链。入口服务A响应客户端请求需要调用服务B和服务C,且服务B需要调用服务D。服务A、服务B、服务C、服务D均为一个服务节点。
为了便于快速确定调用链中各个服务节点之间的调用关系,在入口服务A接收到客户端请求时,为该客户端请求分配一个调用链标识,在入口服务A发送给服务B的调用请求中加入调用链标识,在入口服务A发送给服务C的调用请求中加入调用链标识,在服务B发送给服务D的调用请求中加入调用链标识。
103、根据所述调用链标识分析采集的日志数据,确定发送和/或接收携带所述调用链标识的调用请求的至少一个服务节点,以及所述至少一个服务节点的调用关系。
104、根据所述至少一个服务节点的调用关系生成所述目标调用链。
具体的,系统中每个服务节点的日志数据中会记录该服务节点所接收的请求,以及响应所接收的请求的响应数据等。因此,在有分析客户端请求对应的目标调用链的需求,则可以根据该客户端请求的调用链标识分析采集的日志数据,确定系统中哪些服务节点发送或接收了包括调用链标识的调用请求,以及这些服务节点的调用关系,并基于这些服务节点的调用关系生成客户端请求对应的目标调用链。
在一些实施例中,在确定客户端请求对应的目标调用链后,可以对目标调用链涉及的至少一个服务节点的与客户端请求有关的日志数据进行存储,以便后续在需要分析客户请求响应失败时,基于目标调用链的日志数据快速定位故障原因。
可以理解的是,无论客户端请求是否响应成功,都对客户端请求对应的目标调用链的日志数据进行存储。
另外,针对客户端请求响应成功的情形,在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,还包括:判断所述目标调用链的调用时间是否大于预设调用时间;若是,则输出提示信息,所述提示信息用于提示缩短所述目标调用链的调用时间以优化所述目标调用链。
其中,调用时间通过计算入口服务发送调用请求的调用开始时间和入口服务接收到调用结果的时间之间时间差得到。调用开始时间和接收到调用结果的时间可以分析目标调用链的日志数据得到。
在一些实施例中,为了节约存储资源,还可以定期清理存储的目标调用链的日志数据。
在一些实施例中,为了节约存储资源,可以在确定客户端请求响应失败时,存储与客户端请求对应的目标调用链的日志数据。而在确定客户端请求响应成功时,可以不存储与客户端请求对应的目标调用链的日志数据。
在一些实施例中,在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,对目标调用链的调用次数加一;每隔预设时间间隔判断目标调用链的调用次数是否大于预设调用次数,若是,输出提示信息,所述提示信息用于提示缩短所述目标调用链的调用时间以优化所述目标调用链。
其中,预设时间间隔可以根据实际情形设置。预设时间间隔例如为一天或者一周或者一个月等。
其中,预设调用次数根据实际情形进行设置,预设调用次数例如为1万次。当目标调用链的调用次数小于预设调用次数,针对该目标调用链的用户访问量较小,系统的压力也较小。而当目标调用链的调用次数大于预设调用次数,说明系统频繁接收到与目标调用链关联的客户端请求,也即针对该目标调用链的用户访问量较大,系统的压力也较大,因此,为了减轻系统压力,可以提示开发或运维人员对目标调用链的性能进行优化,例如可以缩短目标调用链的调用时间,以应对巨大的用户访问量,减轻系统的压力。其中,调用耗时通过计算入口服务发送调用请求的调用开始时间和入口服务接收到调用结果的时间之间时间差得到。调用开始时间、接收到调用结果的时间可以查询入口服务的日志数据得到。
在一些实施例中,在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,该方法还包括:对目标调用链的调用次数加一;统计不同调用链的调用次数;输出提示信息,所述提示信息用于提示缩短所述调用次数排序靠前的调用链的调用时间以优化所述调用链。
实际应用中,不同的客户端请求生成不同的调用链。有的调用链频繁被调用,有的调用链偶尔被调用。为了减轻系统压力,可以周期性按照调用次数对不同的调用链进行排序,对排序的前N个调用链进行优化处理,N为正整数。
在一些实施例中,为所述客户端请求分配调用链标识之后,还可以包括:
确定所述客户端请求对应的业务标识,所述业务标识用于标识所述客户端请求对应的业务;将所述调用链标识和所述业务标识进行关联;在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,还可以包括:针对任一业务标识,获取与该业务标识关联的至少一个调用链标识所对应的至少一个调用链,将所述至少一个调用链作为该业务标识的业务链。
实际应用中,一个可能需要用户进行发送多次客户端请求才能完成,例如,以订单业务为例,需要发起下单请求、退款请求、支付请求等多次客户端请求,这些客户端请求之间存储关联。通过将调用链标识和标识业务唯一性的业务标识进行关联,可以实现将属于同一业务的调用链聚合在一起形成业务链。
本申请实施例提供的服务调用方法,接收到客户端请求时,分配一个调用链标识,并在基于客户端请求进行服务调用时,将调用链标识在涉及到的服务节点中进行传递。这样基于调用链标识分析系统的日志数据时,可以快速确定与客户端请求关联的至少一个服务节点及服务节点之间的调用关系,以及反映调用路径的目标调用链。另外,由于可以快速确定服务节点之间的调用关系以及目标调用链,能够有效降低故障分析的难度,提高故障分析的效率。
图3示出了根据本申请提供的服务调用装置一个实施例的结构示意图。该装置是服务调用方法的执行主体,该装置由硬件和/或软件组成,该装置可以集成在诸如手机、平板电脑、计算机、车载电脑、可穿戴设备中。
参见图3,该服务调用装置包括:
分配模块301,用于在监控到任一服务节点接收到客户端请求时,为所述客户端请求分配调用链标识;
处理模块302,用于在所述任一服务节点基于所述客户端请求进行服务调用时,控制上一个服务节点向下一个服务节点发送的调用请求中携带所述调用链标识;
所述处理模块302,还用于根据所述调用链标识分析采集的日志数据,确定发送和/或接收携带所述调用链标识的调用请求的至少一个服务节点,以及所述至少一个服务节点的调用关系;
所述处理模块302,还用于根据所述至少一个服务节点的调用关系生成所述目标调用链。
在一些实施例中,还装置还包括存储模块,用于在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,对所述目标调用链涉及的至少一个服务节点的与所述客户端请求有关的日志数据进行存储。
在一些实施例中,存储模块对所述目标调用链涉及的至少一个服务节点的与所述客户端请求有关的日志数据进行存储具体是:
判断所述客户端请求是否响应失败;
若响应失败,则对所述目标调用链涉及的至少一个服务节点的与所述客户端请求有关的日志数据进行存储。
在一些实施例中,处理模块302还用于在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,对目标调用链的调用次数加一;每隔预设时间间隔判断所述目标调用链的调用次数是否大于预设调用次数;若是,输出提示信息,所述提示信息用于提示缩短所述目标调用链的调用时间以优化所述目标调用链。
在一些实施例中,处理模块302还用于,在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,还包括:对目标调用链的调用次数加一;
统计不同调用链的调用次数;输出提示信息,所述提示信息用于提示缩短所述调用次数排序靠前的调用链的调用时间以优化所述调用链。
在一些实施例中,分配模块301在为所述客户端请求分配调用链标识之后,还用于:确定所述客户端请求对应的业务标识,所述业务标识用于标识所述客户端请求对应的业务;将所述调用链标识和所述业务标识进行关联;
所述处理模块302在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,还用于:
针对任一业务标识,获取与该业务标识关联的至少一个调用链标识所对应的至少一个调用链,将所述至少一个调用链作为该业务标识的业务链。
图3所述的服务调用装置可以执行图1所示实施例所述的服务调用方法,其实现原理和技术效果不再赘述。对于上述实施例中的服务调用装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在一个可能的设计中,图3所示实施例的服务调用装置可以实现为电子设备,如图4所示,该电子设备可以包括存储组件401以及处理组件402;
所述存储组件402存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理组件调用执行。
所述处理组件用于:
在监控到任一服务节点接收到客户端请求时,为所述客户端请求分配调用链标识;
在所述任一服务节点基于所述客户端请求进行服务调用时,控制上一个服务节点向下一个服务节点发送的调用请求中携带所述调用链标识;
根据所述调用链标识分析采集的日志数据,确定发送和/或接收携带所述调用链标识的调用请求的至少一个服务节点,以及所述至少一个服务节点的调用关系;
根据所述至少一个服务节点的调用关系生成所述目标调用链。
其中,处理组件402可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件401被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
该电子设备还可以包括显示组件403,显示组件403可以为电致发光(EL)元件、液晶显示器或具有类似结构的微型显示器、或者视网膜可直接显示或类似的激光扫描式显示器。
当然,电子设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。
输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。
通信组件被配置为便于电子设备和其他设备之间有线或无线方式的通信等。
如在本文所使用的,“电子设备”可以是远程web服务器、服务器、计算机联网设备、芯片组、台式计算机、笔记本式计算机、工作站,或任何其他处理设备或者装备。
其中,该电子设备可以为物理设备或者云计算平台提供的弹性计算主机等,此时计算设备即可以是指云服务器,上述处理组件、存储组件等可以是从云计算平台租用或购买的基础服务器资源。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图1所示实施例的服务调用方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种服务调用方法,其特征在于,包括:
在监控到任一服务节点接收到客户端请求时,为所述客户端请求分配调用链标识;
在所述任一服务节点基于所述客户端请求进行服务调用时,控制上一个服务节点向下一个服务节点发送的调用请求中携带所述调用链标识;
根据所述调用链标识分析采集的日志数据,确定发送和/或接收携带所述调用链标识的调用请求的至少一个服务节点,以及所述至少一个服务节点的调用关系;
根据所述至少一个服务节点的调用关系生成所述目标调用链。
2.根据权利要求1的所述方法,其特征在于,在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,还包括:
对所述目标调用链涉及的至少一个服务节点的与所述客户端请求有关的日志数据进行存储。
3.根据权利要求2的所述方法,其特征在于,对所述目标调用链涉及的至少一个服务节点的与所述客户端请求有关的日志数据进行存储,包括:
判断所述客户端请求是否响应失败;
若响应失败,则对所述目标调用链涉及的至少一个服务节点的与所述客户端请求有关的日志数据进行存储。
4.根据权利要求1至3任一项的所述方法,其特征在于,在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,还包括:
对目标调用链的调用次数加一;
每隔预设时间间隔判断所述目标调用链的调用次数是否大于预设调用次数;
若是,输出提示信息,所述提示信息用于提示缩短所述目标调用链的调用时间以优化所述目标调用链。
5.根据权利要求1至3任一项的所述方法,其特征在于,在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,还包括:
对目标调用链的调用次数加一;
统计不同调用链的调用次数;
输出提示信息,所述提示信息用于提示缩短所述调用次数排序靠前的调用链的调用时间以优化所述调用链。
6.根据权利要求1至3任一项的所述方法,其特征在于,在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,还包括:
判断所述目标调用链的调用时间是否大于预设调用时间;
若是,则输出提示信息,所述提示信息用于提示缩短所述目标调用链的调用时间以优化所述目标调用链。
7.根据权利要求1所述的方法,其特征在于,为所述客户端请求分配调用链标识之后,还包括:
确定所述客户端请求对应的业务标识,所述业务标识用于标识所述客户端请求对应的业务;
将所述调用链标识和所述业务标识进行关联;
在根据所述至少一个服务节点的调用关系生成所述目标调用链之后,还包括:
针对任一业务标识,获取与该业务标识关联的至少一个调用链标识所对应的至少一个调用链,将所述至少一个调用链作为该业务标识的业务链。
8.一种服务调用装置,其特征在于,包括:
分配模块,用于在监控到任一服务节点接收到客户端请求时,为所述客户端请求分配调用链标识;
处理模块,用于在所述任一服务节点基于所述客户端请求进行服务调用时,控制上一个服务节点向下一个服务节点发送的调用请求中携带所述调用链标识;
处理模块,还用于根据所述调用链标识分析采集的日志数据,确定发送和/或接收携带所述调用链标识的调用请求的至少一个服务节点,以及所述至少一个服务节点的调用关系;
处理模块,还用于根据所述至少一个服务节点的调用关系生成所述目标调用链。
9.一种电子设备,其特征在于,包括处理组件以及存储组件;
所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行;
所述处理组件用于:
在监控到任一服务节点接收到客户端请求时,为所述客户端请求分配调用链标识;
在所述任一服务节点基于所述客户端请求进行服务调用时,控制上一个服务节点向下一个服务节点发送的调用请求中携带所述调用链标识;
根据所述调用链标识分析采集的日志数据,确定发送和/或接收携带所述调用链标识的调用请求的至少一个服务节点,以及所述至少一个服务节点的调用关系;
根据所述至少一个服务节点的调用关系生成所述目标调用链。
10.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被计算机执行时实现上述服务调用方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110137765.XA CN112783629A (zh) | 2021-02-01 | 2021-02-01 | 服务调用方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110137765.XA CN112783629A (zh) | 2021-02-01 | 2021-02-01 | 服务调用方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783629A true CN112783629A (zh) | 2021-05-11 |
Family
ID=75760320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110137765.XA Pending CN112783629A (zh) | 2021-02-01 | 2021-02-01 | 服务调用方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783629A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114928530A (zh) * | 2022-04-24 | 2022-08-19 | 中国工商银行股份有限公司 | 链路信息采集方法及相关装置 |
CN115834699A (zh) * | 2021-09-16 | 2023-03-21 | 广州汽车集团股份有限公司 | 一种服务调用链跟踪实现方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012079354A1 (zh) * | 2010-12-15 | 2012-06-21 | 中兴通讯股份有限公司 | 一种全网跟踪的方法、基站及系统 |
US9189355B1 (en) * | 2013-05-21 | 2015-11-17 | Intuit Inc. | Method and system for processing a service request |
CN106656536A (zh) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种用于处理服务调用信息的方法与设备 |
CN106790718A (zh) * | 2017-03-16 | 2017-05-31 | 北京搜狐新媒体信息技术有限公司 | 服务调用链路分析方法及系统 |
CN107688899A (zh) * | 2017-08-22 | 2018-02-13 | 北京潘达互娱科技有限公司 | 业务流程监控方法及装置 |
CN109921927A (zh) * | 2019-02-20 | 2019-06-21 | 苏州人之众信息技术有限公司 | 基于微服务的实时调用链跟踪方法 |
CN110245035A (zh) * | 2019-05-20 | 2019-09-17 | 平安普惠企业管理有限公司 | 一种链路跟踪方法及装置 |
-
2021
- 2021-02-01 CN CN202110137765.XA patent/CN112783629A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012079354A1 (zh) * | 2010-12-15 | 2012-06-21 | 中兴通讯股份有限公司 | 一种全网跟踪的方法、基站及系统 |
US9189355B1 (en) * | 2013-05-21 | 2015-11-17 | Intuit Inc. | Method and system for processing a service request |
CN106656536A (zh) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种用于处理服务调用信息的方法与设备 |
CN106790718A (zh) * | 2017-03-16 | 2017-05-31 | 北京搜狐新媒体信息技术有限公司 | 服务调用链路分析方法及系统 |
CN107688899A (zh) * | 2017-08-22 | 2018-02-13 | 北京潘达互娱科技有限公司 | 业务流程监控方法及装置 |
CN109921927A (zh) * | 2019-02-20 | 2019-06-21 | 苏州人之众信息技术有限公司 | 基于微服务的实时调用链跟踪方法 |
CN110245035A (zh) * | 2019-05-20 | 2019-09-17 | 平安普惠企业管理有限公司 | 一种链路跟踪方法及装置 |
Non-Patent Citations (3)
Title |
---|
NO_GAME_NO_LIFE: "为分布式做准备吧——调用链原理", 《CSDN HTTPS://BLOG.CSDN.NET/NO_GAME_NO_LIFE_/ARTICLE/DETAILS/95165809?》 * |
王帅: "基于日志的微服务化系统监测与故障预测的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
范亚敏等: "微服务之道 度量驱动开发", 《微服务之道 度量驱动开发》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834699A (zh) * | 2021-09-16 | 2023-03-21 | 广州汽车集团股份有限公司 | 一种服务调用链跟踪实现方法及系统 |
CN114928530A (zh) * | 2022-04-24 | 2022-08-19 | 中国工商银行股份有限公司 | 链路信息采集方法及相关装置 |
CN114928530B (zh) * | 2022-04-24 | 2024-04-09 | 中国工商银行股份有限公司 | 链路信息采集方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10944655B2 (en) | Data verification based upgrades in time series system | |
US10084637B2 (en) | Automatic task tracking | |
CN109542718B (zh) | 服务调用的监控方法、装置、存储介质及服务器 | |
US20170207990A1 (en) | Reducing an amount of captured network traffic data to analyze | |
WO2015152969A1 (en) | Monitoring of node.js applications | |
US20160323160A1 (en) | Detection of node.js memory leaks | |
CN112783629A (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN109828830B (zh) | 用于管理容器的方法和装置 | |
CN112416488B (zh) | 一种用户画像实现的方法、装置、计算机设备及计算机可读存储介质 | |
CN115951923B (zh) | 订阅事件管理方法、显示系统、设备和存储介质 | |
CN114968286A (zh) | 微服务发布方法、装置、存储介质及电子设备 | |
US10191844B2 (en) | Automatic garbage collection thrashing monitoring | |
CN112837013B (zh) | 业务处理方法、装置及设备 | |
CN113986062A (zh) | 信息处理方法、装置及存储介质 | |
US10616081B2 (en) | Application aware cluster monitoring | |
CN108390770B (zh) | 一种信息生成方法、装置及服务器 | |
US20230049322A1 (en) | Information processing method, device, system, and computer-readable storage medium | |
CN114564249A (zh) | 推荐调度引擎、推荐调度方法及计算机可读存储介质 | |
CN113592646A (zh) | 智能合约的执行方法、装置和系统 | |
US20160034919A1 (en) | Collection and aggregation of large volume of metrics | |
CN112995301B (zh) | 应用于分布式系统的数据处理方法和装置 | |
CN113590331A (zh) | 一种任务处理方法、控制装置及存储介质 | |
CN115514534A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN114418695A (zh) | 基于区块链网络的订单处理方法、装置、设备及介质 | |
CN115801357A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210511 |
|
RJ01 | Rejection of invention patent application after publication |