CN112650614A - 调用链监控方法、装置、电子设备及存储介质 - Google Patents

调用链监控方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112650614A
CN112650614A CN202011617618.4A CN202011617618A CN112650614A CN 112650614 A CN112650614 A CN 112650614A CN 202011617618 A CN202011617618 A CN 202011617618A CN 112650614 A CN112650614 A CN 112650614A
Authority
CN
China
Prior art keywords
monitored
call chain
target
determining
chain
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
Application number
CN202011617618.4A
Other languages
English (en)
Inventor
朱跻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Consumer Finance Co Ltd
Original Assignee
Ping An Consumer Finance Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Consumer Finance Co Ltd filed Critical Ping An Consumer Finance Co Ltd
Priority to CN202011617618.4A priority Critical patent/CN112650614A/zh
Publication of CN112650614A publication Critical patent/CN112650614A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及数据处理技术,尤其涉及一种调用链监控方法、装置、电子设备及存储介质,该方法包括:获取待监控调用链,所述待监控调用链包括多个微服务;在所述待监控调用链运行时,对所述待监控调用链进行监控;在所述待监控调用链出现异常时,定位所述待监控调用链中的目标异常位置;确定所述目标异常位置对应的目标异常处理参数;依据所述目标异常处理参数确定所述待监控调用链的下一跳;基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。采用本申请实施例能够提升调用链监控效率。

Description

调用链监控方法、装置、电子设备及存储介质
技术领域
本申请涉及数据处理技术领域,具体涉及一种调用链监控方法、装置、电子设备及存储介质。
背景技术
随着业务域的划分,进入系统框架进入微服务时代,子系统的增加,各种各样的组件随着业务发展不断涌现,系统与系统之间的调用链不断被拉长,一旦调用环节中出现问题,只能通过入参中的特征码以及时间去定位问题,由于特征码可能多次存在于日志中,而且极度依赖开发人员手写日志,一旦没有日志也就无从查询起来,同时也没有办法进行成功率的监控以及统计,对系统性能指标以及各项要求没有办法进行分析。因此,如何提升调用链监控效率的问题亟待解决。
发明内容
本申请实施例提供了一种调用链监控方法、装置、电子设备及存储介质,能够提升调用链监控效率。
第一方面,本申请实施例提供一种调用链监控方法,所述方法包括:
获取待监控调用链,所述待监控调用链包括多个微服务;
在所述待监控调用链运行时,对所述待监控调用链进行监控;
在所述待监控调用链出现异常时,定位所述待监控调用链中的目标异常位置;
确定所述目标异常位置对应的目标异常处理参数;
依据所述目标异常处理参数确定所述待监控调用链的下一跳;
基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。
第二方面,本申请实施例提供一种调用链监控装置,所述装置包括:获取单元、监控单元、定位单元、第一确定单元和第二确定单元,其中,
所述获取单元,用于获取待监控调用链,所述待监控调用链包括多个微服务;
所述监控单元,用于在所述待监控调用链运行时,对所述待监控调用链进行监控;
所述定位单元,用于在所述待监控调用链出现异常时,定位所述待监控调用链中的目标异常位置;
所述第一确定单元,用于确定所述目标异常位置对应的目标异常处理参数;
所述第二确定单元,用于依据所述目标异常处理参数确定所述待监控调用链的下一跳;
所述监控单元,还用于基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
实施本申请实施例,具备如下有益效果:
可以看出,本申请实施例中所描述的调用链监控方法、装置、电子设备及存储介质,获取待监控调用链,待监控调用链包括多个微服务,在待监控调用链运行时,对待监控调用链进行监控,在待监控调用链出现异常时,定位待监控调用链中的目标异常位置,确定目标异常位置对应的目标异常处理参数,依据目标异常处理参数确定待监控调用链的下一跳,基于下一跳,继续运行待监控调用链,并继续监控待监控调用链,进而,能够在调用链监控时,定位到异常位置,且能够对其进行相应修复,以实现调用链正常运行,不仅提升了调用链运行效率,还能够对其进行有效监控。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种调用链监控方法的流程示意图;
图2是本申请实施例提供的另一种调用链监控方法的流程示意图;
图3是本申请实施例提供的一种电子设备的结构示意图;
图4是本申请实施例提供的一种调用链监控装置的功能单元组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及到的电子设备可以包括各种具有无线通信功能的手持设备(如手机、平板电脑、POS机等等)、台式机、车载设备、可穿戴设备(智能手表、智能手环、无线耳机、增强现实/虚拟现实设备、智能眼镜)、AI机器人、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(user equipment,UE),移动台(mobilestation,MS),终端设备(terminal device)等等。为方便描述,上面提到的设备统称为电子设备。所述电子设备还可以为服务器。
下面对本申请实施例进行详细介绍。
请参阅图1,图1是本申请实施例提供的一种调用链监控方法的流程示意图,如图所示,应用于电子设备,本调用链监控方法包括:
101、获取待监控调用链,所述待监控调用链包括多个微服务。
其中,待监控调用链可以为针对预设类型业务、预设网点、预设任务的调用链,其中,预设类型业务、预设网点、预设任务可以由用户自行设置或者系统默认。预设类型业务可以为以下至少一种:贷款业务类型、保险业务类型、还款业务类型、支付业务类型等等,在此不作限定。待监控调用链可以包括多个微服务,该多个微服务之间存在调用次序关系,进而,依据该调用次序关系可以确定调用链,以及运行该调用链。微服务与微服务之间可以存在调用先后次序关系。
可选地,上述步骤101,获取待监控调用链,可以包括如下步骤:
11、获取目标业务类型;
12、按照预设的业务类型与调用链标识之间的映射关系,确定所述目标业务类型对应的目标调用链标识;
13、依据所述目标调用链标识获取所述待监控调用链。
具体实现中,本申请实施例中,电子设备中可以预先存储预设的业务类型与调用链标识之间的映射关系,进而,电子设备可以获取目标业务类型,目标业务类型可以为用户选择的业务,进而,电子设备可以按照预设的业务类型与调用链标识之间的映射关系,确定目标业务类型对应的目标调用链标识,并依据目标调用链标识获取待监控调用链。
102、在所述待监控调用链运行时,对所述待监控调用链进行监控。
具体实现中,电子设备可以在待监控调用链在运行时,则可以对其工作状况进行监控。电子设备可以采用一个线程或者进程运行调用链,采用另一个线程或者进程监控调用链。
可选地,上述步骤102,对所述待监控调用链进行监控之后,还可以包括如下步骤:
A1、按照预设时间间隔获取所述待监控调用链的跟踪标识,每一微服务对应一个跟踪标识;
A2、若相邻两次获取到相同的跟踪标识时,确定所述待监控调用链运行出现异常。
其中,预设时间间隔可以预先设置或者系统默认。具体实现中,电子设备可以按照预设时间间隔获取待监控调用链的跟踪标识,若相邻两次获取到相同的跟踪标识时,则说明调用链运行时,中间出现掉链,则确定待监控调用链运行出现异常。其中,预设时间间隔的确定可以由调用一次微服务的时长确定,预设时间间隔的时间长度可以等于调用一次微服务的时长。
103、在所述待监控调用链出现异常时,定位所述待监控调用链中的目标异常位置。
其中,具体实现中,在监控调用链出现异常时,电子设备则可以定位到检测到的跟踪标识,还可以确定其下一跳的跟踪标识。
104、确定所述目标异常位置对应的目标异常处理参数。
其中,本申请实施例中,异常处理参数可以为以下至少一种:下一跳的跟踪标识、服务接口标识、线程变量类型、异常处理策略等等,在此不作限定。异常处理策略预先设置或者系统默认,例如,通知管理员,例如,系统修复,又例如,执行下一微服务等等,又例如,推送异常提示信息,在此不作限定。异常出现在不同的位置,则相应的处理策略不一样。线程变量类型可以用于跟踪相应的跟踪标识,以定位到异常位置。上述异常处理参数可以为序列指令,其可以用于定位下一跳的微服务。
举例说明下,待监控调用链的微服务与微服务之间的调用主要是通过feign调用,需要重写feign中的httpclient类,并重新指定httpclient,从线程变量中获取跟踪标识(traceId),即唯一标志位,如果获取不到,则认为是第一跳,由负责第一跳的系统生成该traceId,然后将生成的traceId组装到请求头中,传给下一跳的系统。
再举例说明下,电子设备中可以预先存储一个拦截器,拦截所有http请求,从http请求头中获取跟踪标识(traceId),将traceId存入线程变量中,供下一跳使用,还可以使用metrics在每一跳进行埋点,用于统计功能的实现。
可选地,上述步骤104,确定所述目标异常位置对应的目标异常处理参数,可以包括如下步骤:
41、获取所述目标异常位置对应的代码运行记录;
42、对所述代码运行记录进行关键字提取,得到目标关键字;
43、按照预设的关键字与异常处理参数之间的映射关系,确定所述目标关键字对应的目标异常处理参数。
其中,具体实现中,电子设备中可以预先存储预设的关键字与异常处理参数之间的映射关系。具体得,电子设备可以获取目标异常位置对应的代码运行记录,进而,可以对代码运行记录进行关键字提取,得到目标关键字,还可以按照预设的关键字与异常处理参数之间的映射关系,确定目标关键字对应的目标异常处理参数,如此,可以通过其运行记录,实现相应的异常处理,提升异常处理效率。
进一步地,可选地,在所述目标关键字包括多个关键字时,上述步骤42,对所述代码运行记录进行关键字提取,得到目标关键字,可以包括如下步骤:
421、确定所述多个关键字中的每一关键字的重要度,得到多个重要度;
422、确定出所述多个重要度中的最大值,并获取所述最大值对应的关键字作为所述目标关键字。
具体实现中,不同的关键字,其对应的重要度不一样,重要度对于分析异常原因相当重要,进而,电子设备可以确定多个关键字中的每一关键字的重要度,得到多个重要度,并且确定出多个重要度中的最大值,并获取最大值对应的关键字作为目标关键字。
进一步地,可选地,上述步骤421,确定所述多个关键字中的每一关键字的重要度,得到多个重要度,可以包括如下步骤:
4211、确定关键字p在所述代码运行记录中的目标位置以及所述关键字p的参考重要等级,所述关键字p为所述多个关键字中的任一关键字;
4212、按照预设的重要等级与重要度之间的映射关系,确定所述参考重要等级对应的参考重要度;
4213、按照预设的位置与第一调节系数之间的映射关系,确定所述目标位置对应的目标第一调节系数;
4214、依据所述目标第一调节系数对所述参考重要度进行调节,得到所述关键字p的重要度。
具体实现中,电子设备中可以预先存储预设的重要等级与重要度之间的映射关系,以及预设的位置与第一调节系数之间的映射关系。
具体实现中,以关键字p为例,关键字p为多个关键字中的任一关键字。电子设备可以确定关键字p在代码运行记录中的目标位置以及关键字p的参考重要等级,不同的关键字,其对应的参考重要等级不同,电子设备中可以预先存储关键字与重要等级之间的映射关系。
进而,电子设备可以按照预设的重要等级与重要度之间的映射关系,确定参考重要等级对应的参考重要度,重要度可以以百分制或者0~1之间的数值表示。进而,电子设备可以按照预设的位置与第一调节系数之间的映射关系,确定目标位置对应的目标第一调节系数,依据目标第一调节系数对参考重要度进行调节,得到关键字p的重要度,具体计算公式如下:
关键字p的重要度=参考重要度*(1+目标第一调节系数)
其中,针对关键字可以设置不同的重要度,还可以依据关键字出现的位置对关键字的重要性进行评估,进而,精准分析出关键字的重要度。
105、依据所述目标异常处理参数确定所述待监控调用链的下一跳。
具体实现中,电子设备可以据目标异常处理参数确定待监控调用链的下一跳,进而,可以保证待监控调用链继续运行下去。由于目标异常处理参数包括指示下一跳的微服务的标识信息,进而,可以依据目标异常处理参数确定待监控调用链的下一跳。
基于上述本申请实施例,电子设备可以通过调用链监控对生产问题能够进行快速定位,精确到哪个系统的问题,不用一层一层找下去,另外,也能对各个系统调用链实施监控,并统计成功率,可以成为系统性能和业务分析的材料指标,且无需代码侵入,开发人员只需引入jar包即可。
106、基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。
具体实现中,电子设备可以基于下一跳,继续运行待监控调用链,当然,还可以继续监控待监控调用链,如此,可以提升待监控调用链的运行效率和监控效率。
可选地,步骤106,基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链,可以包括如下步骤:
61、获取电子设备的第一空闲资源参数;
62、确定所述待监控调用链对应的需求资源参数以及所述需求资源参数对应的资源标识集;
63、依据所述资源标识集对所述第一空闲资源参数进行筛选,得到第二空闲资源参数;
64、确定所述第二空闲资源参数与所述需求资源参数之间的比值;
65、获取所述待监控调用链对应的已占用资源参数;
66、依据所述比值从所述第二空闲资源参数中确定出部分空闲资源的第三空闲资源参数;
67、依据所述第三空闲资源参数和所述已占用资源参数,确定参考资源参数;
68、调用所述参考资源参数对应的资源,以基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。
其中,本申请实施例中,具体实现中,电子设备可以获取该电子设备的第一空闲资源参数,第一空闲资源参数可以为以下至少一种:神经网络处理器(Neural-networkProcessing Unit,NPU)空闲资源、中央处理器(Central Processing Unit,CPU)空闲资源、图形处理器(Graphics Processing Unit,GPU)空闲资源、可用内存空间、可用内存碎片大小等等,在此不作限定。
进一步地,电子设备可以确定待监控调用链对应的需求资源参数以及需求资源参数对应的资源标识集,资源标识集可以包括多个资源标识,每一资源标识均用于标识一种资源,需求资源参数可以为以下至少一种:NPU资源、CPU资源、GPU资源、内存空间、内存碎片大小等等,在此不作限定。进而,电子设备可以依据资源标识集对第一空闲资源参数进行筛选,得到第二空闲资源参数。
进一步地,电子设备可以确定第二空闲资源参数与需求资源参数之间的比值,即确定空闲与调用链所需的比例关系,进而,还可以获取待监控调用链对应的已占用资源参数,且依据比值从第二空闲资源参数中确定出部分空闲资源的第三空闲资源参数,依据比值越大,则可以分配资源越大,比例越小,则可以分配资源越小,进而,依据第三空闲资源参数和已占用资源参数,确定参考资源参数,例如,可以将两者之间的全部资源作为后期执行步骤106的资源,进而,调用参考资源参数对应的资源,以基于下一跳,继续运行待监控调用链,并继续监控待监控调用链,如此,在调用链异常时,可以额外拓展更多的资源,以用于运行以及监控调用链,可以提升调用链的运行效率,保证业务有序进行。
可以看出,本申请实施例中所描述的调用链监控方法,获取待监控调用链,待监控调用链包括多个微服务,在待监控调用链运行时,对待监控调用链进行监控,在待监控调用链出现异常时,定位待监控调用链中的目标异常位置,确定目标异常位置对应的目标异常处理参数,依据目标异常处理参数确定待监控调用链的下一跳,基于下一跳,继续运行待监控调用链,并继续监控待监控调用链,进而,能够在调用链监控时,定位到异常位置,且能够对其进行相应修复,以实现调用链正常运行,不仅提升了调用链运行效率,还能够对其进行有效监控。
请参阅图2,图2是本申请实施例提供的一种调用链监控方法的流程示意图,应用于电子设备,如图所示,本调用链监控方法包括:
201、获取待监控调用链,所述待监控调用链包括多个微服务。
202、在所述待监控调用链运行时,对所述待监控调用链进行监控。
203、按照预设时间间隔获取所述待监控调用链的跟踪标识,每一微服务对应一个跟踪标识。
204、若相邻两次获取到相同的跟踪标识时,确定所述待监控调用链运行出现异常。
205、在所述待监控调用链出现异常时,定位所述待监控调用链中的目标异常位置。
206、确定所述目标异常位置对应的目标异常处理参数。
207、依据所述目标异常处理参数确定所述待监控调用链的下一跳。
208、基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。
其中,上述步骤201-步骤208的具体描述可以参照上述图1所描述的相应步骤,在此不再赘述。
可以看出,本申请实施例中所描述的调用链监控方法,获取待监控调用链,待监控调用链包括多个微服务,在待监控调用链运行时,对待监控调用链进行监控,按照预设时间间隔获取待监控调用链的跟踪标识,每一微服务对应一个跟踪标识,若相邻两次获取到相同的跟踪标识时,确定待监控调用链运行出现异常,在待监控调用链出现异常时,定位待监控调用链中的目标异常位置,确定目标异常位置对应的目标异常处理参数,依据目标异常处理参数确定待监控调用链的下一跳,基于下一跳,继续运行待监控调用链,并继续监控待监控调用链,进而,能够在调用链监控时,定位到异常位置,且能够对其进行相应修复,以实现调用链正常运行,不仅提升了调用链运行效率,还能够对其进行有效监控。
与上述实施例一致地,请参阅图3,图3是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,本申请实施例中,上述程序包括用于执行以下步骤的指令:
获取待监控调用链,所述待监控调用链包括多个微服务;
在所述待监控调用链运行时,对所述待监控调用链进行监控;
在所述待监控调用链出现异常时,定位所述待监控调用链中的目标异常位置;
确定所述目标异常位置对应的目标异常处理参数;
依据所述目标异常处理参数确定所述待监控调用链的下一跳;
基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。
可以看出,本申请实施例中所描述的电子设备,获取待监控调用链,待监控调用链包括多个微服务,在待监控调用链运行时,对待监控调用链进行监控,在待监控调用链出现异常时,定位待监控调用链中的目标异常位置,确定目标异常位置对应的目标异常处理参数,依据目标异常处理参数确定待监控调用链的下一跳,基于下一跳,继续运行待监控调用链,并继续监控待监控调用链,进而,能够在调用链监控时,定位到异常位置,且能够对其进行相应修复,以实现调用链正常运行,不仅提升了调用链运行效率,还能够对其进行有效监控。
可选地,在所述获取待监控调用链方面,上述程序包括用于执行以下步骤的指令:
获取目标业务类型;
按照预设的业务类型与调用链标识之间的映射关系,确定所述目标业务类型对应的目标调用链标识;
依据所述目标调用链标识获取所述待监控调用链。
可选地,在所述确定所述目标异常位置对应的目标异常处理参数方面,上述程序包括用于执行以下步骤的指令:
获取所述目标异常位置对应的代码运行记录;
对所述代码运行记录进行关键字提取,得到目标关键字;
按照预设的关键字与异常处理参数之间的映射关系,确定所述目标关键字对应的目标异常处理参数。
可选地,在所述对所述代码运行记录进行关键字提取,得到目标关键字方面,上述程序包括用于执行以下步骤的指令:
确定所述多个关键字中的每一关键字的重要度,得到多个重要度;
确定出所述多个重要度中的最大值,并获取所述最大值对应的关键字作为所述目标关键字。
可选地,在所述确定所述多个关键字中的每一关键字的重要度,得到多个重要度方面,上述程序包括用于执行以下步骤的指令:
确定关键字p在所述代码运行记录中的目标位置以及所述关键字p的参考重要等级,所述关键字p为所述多个关键字中的任一关键字;
按照预设的重要等级与重要度之间的映射关系,确定所述参考重要等级对应的参考重要度;
按照预设的位置与第一调节系数之间的映射关系,确定所述目标位置对应的目标第一调节系数;
依据所述目标第一调节系数对所述参考重要度进行调节,得到所述关键字p的重要度。
可选地,在所述获取待监控调用链之后,以及所述在所述待监控调用链运行时,对所述待监控调用链进行监控之前,上述程序还包括用于执行以下步骤的指令:
按照预设时间间隔获取所述待监控调用链的跟踪标识,每一微服务对应一个跟踪标识;
若相邻两次获取到相同的跟踪标识时,确定所述待监控调用链运行出现异常。
可选地,在所述基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链方面,上述程序包括用于执行以下步骤的指令:
获取电子设备的第一空闲资源参数;
确定所述待监控调用链对应的需求资源参数以及所述需求资源参数对应的资源标识集;
依据所述资源标识集对所述第一空闲资源参数进行筛选,得到第二空闲资源参数;
确定所述第二空闲资源参数与所述需求资源参数之间的比值;
获取所述待监控调用链对应的已占用资源参数;
依据所述比值从所述第二空闲资源参数中确定出部分空闲资源的第三空闲资源参数;
依据所述第三空闲资源参数和所述已占用资源参数,确定参考资源参数;
调用所述参考资源参数对应的资源,以基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图4是本申请实施例中所涉及的调用链监控装置400的功能单元组成框图。该调用链监控装置400,所述装置400包括:获取单元401、监控单元402、定位单元403、第一确定单元404和第二确定单元405,其中,
所述获取单元401,用于获取待监控调用链,所述待监控调用链包括多个微服务;
所述监控单元402,用于在所述待监控调用链运行时,对所述待监控调用链进行监控;
所述定位单元403,用于在所述待监控调用链出现异常时,定位所述待监控调用链中的目标异常位置;
所述第一确定单元404,用于确定所述目标异常位置对应的目标异常处理参数;
所述第二确定单元405,用于依据所述目标异常处理参数确定所述待监控调用链的下一跳;
所述监控单元402,还用于基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。
可以看出,本申请实施例中所描述的调用链监控装置,获取待监控调用链,待监控调用链包括多个微服务,在待监控调用链运行时,对待监控调用链进行监控,在待监控调用链出现异常时,定位待监控调用链中的目标异常位置,确定目标异常位置对应的目标异常处理参数,依据目标异常处理参数确定待监控调用链的下一跳,基于下一跳,继续运行待监控调用链,并继续监控待监控调用链,进而,能够在调用链监控时,定位到异常位置,且能够对其进行相应修复,以实现调用链正常运行,不仅提升了调用链运行效率,还能够对其进行有效监控。
可选地,在所述获取待监控调用链方面,所述获取单元401具体用于:
获取目标业务类型;
按照预设的业务类型与调用链标识之间的映射关系,确定所述目标业务类型对应的目标调用链标识;
依据所述目标调用链标识获取所述待监控调用链。
可选地,在所述确定所述目标异常位置对应的目标异常处理参数方面,所述第一确定单元404具体用于:
获取所述目标异常位置对应的代码运行记录;
对所述代码运行记录进行关键字提取,得到目标关键字;
按照预设的关键字与异常处理参数之间的映射关系,确定所述目标关键字对应的目标异常处理参数。
可选地,在所述对所述代码运行记录进行关键字提取,得到目标关键字方面,所述第一确定单元404具体用于:
确定所述多个关键字中的每一关键字的重要度,得到多个重要度;
确定出所述多个重要度中的最大值,并获取所述最大值对应的关键字作为所述目标关键字。
可选地,在所述确定所述多个关键字中的每一关键字的重要度,得到多个重要度方面,所述第一确定单元404具体用于:
确定关键字p在所述代码运行记录中的目标位置以及所述关键字p的参考重要等级,所述关键字p为所述多个关键字中的任一关键字;
按照预设的重要等级与重要度之间的映射关系,确定所述参考重要等级对应的参考重要度;
按照预设的位置与第一调节系数之间的映射关系,确定所述目标位置对应的目标第一调节系数;
依据所述目标第一调节系数对所述参考重要度进行调节,得到所述关键字p的重要度。
可选地,在所述获取待监控调用链之后,以及所述在所述待监控调用链运行时,对所述待监控调用链进行监控之前,所述装置400还具体用于:
按照预设时间间隔获取所述待监控调用链的跟踪标识,每一微服务对应一个跟踪标识;
若相邻两次获取到相同的跟踪标识时,确定所述待监控调用链运行出现异常。
可选地,在所述基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链方面,所述监控单元402具体用于:
获取电子设备的第一空闲资源参数;
确定所述待监控调用链对应的需求资源参数以及所述需求资源参数对应的资源标识集;
依据所述资源标识集对所述第一空闲资源参数进行筛选,得到第二空闲资源参数;
确定所述第二空闲资源参数与所述需求资源参数之间的比值;
获取所述待监控调用链对应的已占用资源参数;
依据所述比值从所述第二空闲资源参数中确定出部分空闲资源的第三空闲资源参数;
依据所述第三空闲资源参数和所述已占用资源参数,确定参考资源参数;
调用所述参考资源参数对应的资源,以基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。
可以理解的是,本实施例的调用链监控装置的各程序模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、电子设备或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种调用链监控方法,其特征在于,所述方法包括:
获取待监控调用链,所述待监控调用链包括多个微服务;
在所述待监控调用链运行时,对所述待监控调用链进行监控;
在所述待监控调用链出现异常时,定位所述待监控调用链中的目标异常位置;
确定所述目标异常位置对应的目标异常处理参数;
依据所述目标异常处理参数确定所述待监控调用链的下一跳;
基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。
2.根据权利要求1所述的方法,其特征在于,所述获取待监控调用链,包括:
获取目标业务类型;
按照预设的业务类型与调用链标识之间的映射关系,确定所述目标业务类型对应的目标调用链标识;
依据所述目标调用链标识获取所述待监控调用链。
3.根据权利要求1或2所述的方法,其特征在于,所述确定所述目标异常位置对应的目标异常处理参数,包括:
获取所述目标异常位置对应的代码运行记录;
对所述代码运行记录进行关键字提取,得到目标关键字;
按照预设的关键字与异常处理参数之间的映射关系,确定所述目标关键字对应的目标异常处理参数。
4.根据权利要求3所述的方法,其特征在于,所述对所述代码运行记录进行关键字提取,得到目标关键字,包括:
确定所述多个关键字中的每一关键字的重要度,得到多个重要度;
确定出所述多个重要度中的最大值,并获取所述最大值对应的关键字作为所述目标关键字。
5.根据权利要求4所述的方法,其特征在于,所述确定所述多个关键字中的每一关键字的重要度,得到多个重要度,包括:
确定关键字p在所述代码运行记录中的目标位置以及所述关键字p的参考重要等级,所述关键字p为所述多个关键字中的任一关键字;
按照预设的重要等级与重要度之间的映射关系,确定所述参考重要等级对应的参考重要度;
按照预设的位置与第一调节系数之间的映射关系,确定所述目标位置对应的目标第一调节系数;
依据所述目标第一调节系数对所述参考重要度进行调节,得到所述关键字p的重要度。
6.根据权利要求1或2所述的方法,其特征在于,在所述获取待监控调用链之后,以及所述在所述待监控调用链运行时,对所述待监控调用链进行监控之前,所述方法还包括:
按照预设时间间隔获取所述待监控调用链的跟踪标识,每一微服务对应一个跟踪标识;
若相邻两次获取到相同的跟踪标识时,确定所述待监控调用链运行出现异常。
7.根据权利要求1或2所述的方法,其特征在于,所述基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链,包括:
获取电子设备的第一空闲资源参数;
确定所述待监控调用链对应的需求资源参数以及所述需求资源参数对应的资源标识集;
依据所述资源标识集对所述第一空闲资源参数进行筛选,得到第二空闲资源参数;
确定所述第二空闲资源参数与所述需求资源参数之间的比值;
获取所述待监控调用链对应的已占用资源参数;
依据所述比值从所述第二空闲资源参数中确定出部分空闲资源的第三空闲资源参数;
依据所述第三空闲资源参数和所述已占用资源参数,确定参考资源参数;
调用所述参考资源参数对应的资源,以基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。
8.一种调用链监控装置,其特征在于,所述装置包括:获取单元、监控单元、定位单元、第一确定单元和第二确定单元,其中,
所述获取单元,用于获取待监控调用链,所述待监控调用链包括多个微服务;
所述监控单元,用于在所述待监控调用链运行时,对所述待监控调用链进行监控;
所述定位单元,用于在所述待监控调用链出现异常时,定位所述待监控调用链中的目标异常位置;
所述第一确定单元,用于确定所述目标异常位置对应的目标异常处理参数;
所述第二确定单元,用于依据所述目标异常处理参数确定所述待监控调用链的下一跳;
所述监控单元,还用于基于所述下一跳,继续运行所述待监控调用链,并继续监控所述待监控调用链。
9.一种电子设备,其特征在于,包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-7任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
CN202011617618.4A 2020-12-30 2020-12-30 调用链监控方法、装置、电子设备及存储介质 Pending CN112650614A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011617618.4A CN112650614A (zh) 2020-12-30 2020-12-30 调用链监控方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011617618.4A CN112650614A (zh) 2020-12-30 2020-12-30 调用链监控方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112650614A true CN112650614A (zh) 2021-04-13

Family

ID=75364580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011617618.4A Pending CN112650614A (zh) 2020-12-30 2020-12-30 调用链监控方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112650614A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760778A (zh) * 2021-11-09 2021-12-07 浙江大学滨海产业技术研究院 一种基于词向量模型的微服务接口划分评价方法
CN114884807A (zh) * 2022-05-20 2022-08-09 远景智能国际私人投资有限公司 链路日志生成方法、装置、物联网平台及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760778A (zh) * 2021-11-09 2021-12-07 浙江大学滨海产业技术研究院 一种基于词向量模型的微服务接口划分评价方法
CN113760778B (zh) * 2021-11-09 2022-02-08 浙江大学滨海产业技术研究院 一种基于词向量模型的微服务接口划分评价方法
CN114884807A (zh) * 2022-05-20 2022-08-09 远景智能国际私人投资有限公司 链路日志生成方法、装置、物联网平台及存储介质

Similar Documents

Publication Publication Date Title
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
CN110417778B (zh) 访问请求的处理方法和装置
CN107645562A (zh) 数据传输处理方法、装置、设备及系统
CN109992473B (zh) 应用系统的监控方法、装置、设备及存储介质
CN107807852B (zh) 应用程序性能控制方法、设备及计算机可读存储介质
CN112148518A (zh) 日志文件处理方法、装置、计算机设备和存储介质
CN107832142B (zh) 应用程序的资源配置方法及设备
CN112650614A (zh) 调用链监控方法、装置、电子设备及存储介质
CN114095567B (zh) 数据访问请求的处理方法、装置、计算机设备及介质
CN114257551A (zh) 一种分布式限流的方法及系统、存储介质
CN113411404A (zh) 一种文件下载方法、装置、服务器及存储介质
CN110808877A (zh) 基于接口响应时长的统计分析方法、装置及计算机设备
CN111597065A (zh) 用于采集设备信息的方法和装置
CN104980421A (zh) 一种批量请求处理方法及系统
CN112416729A (zh) 数据处理方法、装置、电子设备及存储介质
CN110807050B (zh) 性能分析方法、装置、计算机设备及存储介质
CN108111328B (zh) 一种异常处理方法及装置
CN109995834A (zh) 大流量数据处理方法、装置、计算设备及存储介质
CN113329096B (zh) 消息传输方法、装置、电子设备和存储介质
US10616081B2 (en) Application aware cluster monitoring
CN107018039B (zh) 测试服务器集群性能瓶颈的方法和装置
CN110365682B (zh) 一种反作弊方法及装置
EP3200112B1 (en) Usage based authentication system
CN115878358A (zh) 异常日志分析方法、装置、电子设备及存储介质
US9813927B2 (en) Mobile terminal flow identification method and apparatus

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