异步调用链路监控方法及系统技术方案

技术编号:27506459 阅读:23 留言:0更新日期:2021-03-02 18:33
本发明专利技术提供一种异步调用链路监控方法及系统,应用于云计算技术领域。该异步调用链路监控方法包括:接收业务请求,根据业务请求生成链路上下文;其中,链路上下文包括字段;将链路上下文存储至外部的分布式存储装置;处理业务请求并根据业务请求的当前线程更新字段;根据更新后的字段从分布式存储装置中获取链路上下文;根据链路上下文和业务请求处理结果确定监控指标。本发明专利技术可以达到监控异步调用链路的目的。的目的。的目的。

【技术实现步骤摘要】
异步调用链路监控方法及系统


[0001]本专利技术涉及云计算
,具体地,涉及一种异步调用链路监控方法及系统。

技术介绍

[0002]随着分布式架构的成熟,大量企业级应用采用分布式和云计算技术,企业生产上运行的节点常常是成千上万的,不同类型的节点间调用关系错综复杂,这些节点往往是跨应用、跨团队、跨园区的,一旦某一环节出错,开发和运维人员定位问题非常困难,往往需要通过海量的离散的日志去排查分析,效率较低。分布式追踪技术的出现,让研发和运维人员能够更好的掌控节点间调用情况,更高效、便捷的排查线上问题,为全链路监控提供了可能。
[0003]分布式追踪技术的监控对象是每一笔业务请求(或者叫交易或网络调用),通过跟踪业务请求流向实现跨进程、跨节点、跨网络的交易监控,所以也叫全链路监控。根据最新的全链路监控标准(OPENTRACING),分布式追踪技术的原理是通过在业务请求的入口节点,生成一个ID(即TRACEID)来标记一笔业务请求,TRACEID会随着整条调用链路透传,从而将分布式节点串联起来。每次网络调用时,通过生成一个SPANID来标记链路的一个阶段,或者说是业务请求链的某个步骤。业务请求的发送和接收,算是一个阶段(S PAN),因此SPANID也要在这次调用中随网络协议栈透传。此外,既然要将链路串联起来,还需要知道上一阶段的SPANID,即PARENTSPANID,PARENTSPANID也需要随网络协议栈透传。此外,根据OPENTRACING标准,是否采集标志、自定义字段,这两个字段也要透传。这样整条链路就可以串联起来,解决了链路串联的问题,就可以对整条链路的调用情况进行监控。前面说的要透传的五个字段,以及本次网络调用的元信息(如网络信息、接口信息),一起称作链路上下文。有了上下文,就可以关联指标进行监控分析,如记录业务请求的发送时点、接收时点,进行相减就可以计算出一次业务请求的响应时间。因此业务请求的发送时点也要保持在链路上下文中。通过在服务端对某个接口的响应时间做平均计算,就可以监控某个接口的平均响应时间。
[0004]上面介绍的分布式追踪技术原理在同步业务请求下比较好实现,因为对于一个进程来说,一次同步业务请求在一个线程内完成,可以将链路上下文存储在线程的本地内存中。以一次网络调用为例,调用方生成要透传的字段后记录本次网络调用的元信息(也就是特征),如网络信息(如调用方IP、接收方IP)、接口信息(如接口名、接口版本号、接口类型(比如RPC、HTTP等))和当前时间。然后,调用方将链路上下文保存在处理当前业务请求的线程的本地内存中(与其他线程的内存空间隔离,因此互不影响),调用方随即发起网络调用,并等待接收方返回响应数据。调用方收到响应后,从内存中拿出上下文,并记录当前时间,用当前时间减去内存中记录的发送时间,就可以得到这次调用的总耗时,达到了监控业务请求耗时的目的。
[0005]对于异步调用,调用方发送完业务请求后,不等待接收方响应就直接返回了。当接收方响应回来后,用来处理响应的很可能是另一个线程,因此利用线程本地内存来存储链
路上下文的方案就不可行了。但监控异步调用在很多场景中是必要的。因此,如何监控异步调用,成为亟待解决的问题,业界没有好的方案。

技术实现思路

[0006]本专利技术实施例的主要目的在于提供一种异步调用链路监控方法及系统,以达到监控异步调用链路的目的。
[0007]为了实现上述目的,本专利技术实施例提供一种异步调用链路监控方法,包括:
[0008]接收业务请求,根据业务请求生成链路上下文;其中,链路上下文包括字段;
[0009]将链路上下文存储至外部的分布式存储装置;
[0010]处理业务请求并根据业务请求的当前线程更新字段;
[0011]根据更新后的字段从分布式存储装置中获取链路上下文;
[0012]根据链路上下文和业务请求处理结果确定监控指标。
[0013]本专利技术实施例还提供一种异步调用链路监控系统,包括:
[0014]接收单元,用于接收业务请求,根据业务请求生成链路上下文;其中,链路上下文包括字段;
[0015]存储单元,用于将链路上下文存储至外部的分布式存储装置;
[0016]更新单元,用于处理业务请求并根据业务请求的当前线程更新字段;
[0017]链路上下文获取单元,用于根据更新后的字段从分布式存储装置中获取链路上下文;
[0018]监控指标确定单元,用于根据链路上下文和业务请求处理结果确定监控指标。
[0019]本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,处理器执行计算机程序时实现所述的异步调用链路监控方法的步骤。
[0020]本专利技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现所述的异步调用链路监控方法的步骤。
[0021]本专利技术实施例的异步调用链路监控方法及系统先根据业务请求生成链路上下文,再将链路上下文存储至外部的分布式存储装置,然后根据业务请求的当前线程更新字段并根据更新后的字段从分布式存储装置中获取链路上下文以确定监控指标,可以达到监控异步调用链路的目的。
附图说明
[0022]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是本专利技术实施例中异步调用链路监控方法的流程图;
[0024]图2是本专利技术实施例中异步调用链路监控系统的结构框图;
[0025]图3是监控系统的系统架构图;
[0026]图4是监控系统的工作流程图;
[0027]图5是本专利技术实施例中异步调用发起装置的结构框图;
[0028]图6是本专利技术实施例中分布式存储装置的结构框图;
[0029]图7是本专利技术实施例中异步调用接收装置的结构框图;
[0030]图8是本专利技术实施例中异步调用响应装置的结构框图;
[0031]图9是本专利技术实施例中监控数据分析装置的结构框图;
[0032]图10是本专利技术实施例中计算机设备的结构框图。
具体实施方式
[0033]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0034]本领域技术人员知道,本专利技术的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
[0035]鉴于现有技术在异步本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异步调用链路监控方法,其特征在于,包括:接收业务请求,根据所述业务请求生成链路上下文;其中,所述链路上下文包括字段;将所述链路上下文存储至外部的分布式存储装置;处理所述业务请求并根据所述业务请求的当前线程更新所述字段;根据更新后的字段从所述分布式存储装置中获取链路上下文;根据所述链路上下文和业务请求处理结果确定监控指标。2.根据权利要求1所述的异步调用链路监控方法,其特征在于,所述字段包括链路ID和当前阶段ID;将所述链路上下文存储至外部的分布式存储装置包括:根据所述链路ID和所述当前阶段ID生成键,根据所述链路上下文生成值;根据所述键和所述值生成键值对,将所述键值对存储至外部的分布式存储装置。3.根据权利要求2所述的异步调用链路监控方法,其特征在于,根据所述业务请求的当前线程更新所述字段包括:根据所述业务请求的当前线程更新所述字段中的当前阶段ID和上一阶段ID。4.根据权利要求3所述的异步调用链路监控方法,其特征在于,根据更新后的字段从所述分布式存储装置中获取链路上下文包括:根据更新后的上一阶段ID和所述链路ID从所述分布式存储装置中获取链路上下文。5.根据权利要求1所述的异步调用链路监控方法,其特征在于,所述链路上下文还包括特征,所述特征包括调用发起时间,所述监控指标包括业务请求耗时、成功数据和失败数据;根据所述链路上下文和业务请求处理结果确定监控指标包括:确定链路上下文获取时间;根据所述链路上下文获取时间和所述调用发起时间确定业务请求耗时;根据所述业务请求处理结果生成成功数据和失败数据。6.根据权利要求5所述的异步调用链路监控方法,其特征在于,所述特征还包括接口信息;所述异步调用链路监控方法还包括:将所述监控指标与所述特征关联;将所述特征和关联特征的监控指标发送至外部的监控数据分析装置,以使所述监控数据分析装置根据所述监控指标分析所述接口信息对应的接口的数据。7.一种异步调用链路监控系统,其特征在于,包括:接收单元,用于接收业务请求,根据所述业务请求生成链路上下文;其中,所述链路上下文包括字段;存储单元,用于将所述链路上下文存储至外部的分布式存储装置...

【专利技术属性】
技术研发人员:刘慕雨王泽洋黄镜澄张锦涛
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1