[发明专利]异步调用链路监控方法及系统有效
申请号: | 202011284470.7 | 申请日: | 2020-11-17 |
公开(公告)号: | CN112416708B | 公开(公告)日: | 2023-09-22 |
发明(设计)人: | 刘慕雨;王泽洋;黄镜澄;张锦涛 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;孙乳笋 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异步 调用 监控 方法 系统 | ||
本发明提供一种异步调用链路监控方法及系统,应用于云计算技术领域。该异步调用链路监控方法包括:接收业务请求,根据业务请求生成链路上下文;其中,链路上下文包括字段;将链路上下文存储至外部的分布式存储装置;处理业务请求并根据业务请求的当前线程更新字段;根据更新后的字段从分布式存储装置中获取链路上下文;根据链路上下文和业务请求处理结果确定监控指标。本发明可以达到监控异步调用链路的目的。
技术领域
本发明涉及云计算技术领域,具体地,涉及一种异步调用链路监控方法及系统。
背景技术
随着分布式架构的成熟,大量企业级应用采用分布式和云计算技术,企业生产上运行的节点常常是成千上万的,不同类型的节点间调用关系错综复杂,这些节点往往是跨应用、跨团队、跨园区的,一旦某一环节出错,开发和运维人员定位问题非常困难,往往需要通过海量的离散的日志去排查分析,效率较低。分布式追踪技术的出现,让研发和运维人员能够更好的掌控节点间调用情况,更高效、便捷的排查线上问题,为全链路监控提供了可能。
分布式追踪技术的监控对象是每一笔业务请求(或者叫交易或网络调用),通过跟踪业务请求流向实现跨进程、跨节点、跨网络的交易监控,所以也叫全链路监控。根据最新的全链路监控标准(OPENTRACING),分布式追踪技术的原理是通过在业务请求的入口节点,生成一个ID(即TRACEID)来标记一笔业务请求,TRACEID会随着整条调用链路透传,从而将分布式节点串联起来。每次网络调用时,通过生成一个SPANID来标记链路的一个阶段,或者说是业务请求链的某个步骤。业务请求的发送和接收,算是一个阶段(S PAN),因此SPANID也要在这次调用中随网络协议栈透传。此外,既然要将链路串联起来,还需要知道上一阶段的SPANID,即PARENTSPANID,PARENTSPANID也需要随网络协议栈透传。此外,根据OPENTRACING标准,是否采集标志、自定义字段,这两个字段也要透传。这样整条链路就可以串联起来,解决了链路串联的问题,就可以对整条链路的调用情况进行监控。前面说的要透传的五个字段,以及本次网络调用的元信息(如网络信息、接口信息),一起称作链路上下文。有了上下文,就可以关联指标进行监控分析,如记录业务请求的发送时点、接收时点,进行相减就可以计算出一次业务请求的响应时间。因此业务请求的发送时点也要保持在链路上下文中。通过在服务端对某个接口的响应时间做平均计算,就可以监控某个接口的平均响应时间。
上面介绍的分布式追踪技术原理在同步业务请求下比较好实现,因为对于一个进程来说,一次同步业务请求在一个线程内完成,可以将链路上下文存储在线程的本地内存中。以一次网络调用为例,调用方生成要透传的字段后记录本次网络调用的元信息(也就是特征),如网络信息(如调用方IP、接收方IP)、接口信息(如接口名、接口版本号、接口类型(比如RPC、HTTP等))和当前时间。然后,调用方将链路上下文保存在处理当前业务请求的线程的本地内存中(与其他线程的内存空间隔离,因此互不影响),调用方随即发起网络调用,并等待接收方返回响应数据。调用方收到响应后,从内存中拿出上下文,并记录当前时间,用当前时间减去内存中记录的发送时间,就可以得到这次调用的总耗时,达到了监控业务请求耗时的目的。
对于异步调用,调用方发送完业务请求后,不等待接收方响应就直接返回了。当接收方响应回来后,用来处理响应的很可能是另一个线程,因此利用线程本地内存来存储链路上下文的方案就不可行了。但监控异步调用在很多场景中是必要的。因此,如何监控异步调用,成为亟待解决的问题,业界没有好的方案。
发明内容
本发明实施例的主要目的在于提供一种异步调用链路监控方法及系统,以达到监控异步调用链路的目的。
为了实现上述目的,本发明实施例提供一种异步调用链路监控方法,包括:
接收业务请求,根据业务请求生成链路上下文;其中,链路上下文包括字段;
将链路上下文存储至外部的分布式存储装置;
处理业务请求并根据业务请求的当前线程更新字段;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011284470.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种钛铝合金靶材的制备方法
- 下一篇:一种生态保护智能预警方法、装置及服务器