分布式链路跟踪TraceID写入数据库的方法及系统技术方案

技术编号:31751570 阅读:29 留言:0更新日期:2022-01-05 16:33
本发明专利技术公开了分布式链路跟踪TraceID写入数据库的方法及系统,在配置文件定义一个配置项,结合拦截器拦截SQL语句,检查SQL语句的表对象是否在配置项的配置范围内,只扩展改写在配置项的配置范围内的SQL语句,无需在业务代码中的每个SQL语句里插入字段“trace_id”及值,无需在业务代码中耦合与业务无关的代码,极大提高开发人员的开发效率,降低开发人员的接入成本。接入成本。接入成本。

【技术实现步骤摘要】
分布式链路跟踪TraceID写入数据库的方法及系统


[0001]本专利技术涉及微服务架构
,具体涉及一种分布式链路跟踪TraceID写入数据库的方法及系统。

技术介绍

[0002]在微服务架构中,一次请求往往需要由多个模块、中间件等相互调用才能完成,其中的调用过程可能是串行的,可能是并行的。分布式链路跟踪就是将一次请求经过的模块、调用关系、调用先后顺序还原成一个拓扑图。一次请求会产生一个全局唯一的不可改变的TraceID,该TraceID在各个模块之间流转。数据库是微服务架构中经常使用的一个组件,记录业务数据。INSERT是数据库的DML语句,向数据库中插入数据。
[0003]传统TraceID写入数据库的方法是在业务代码的SQL语句里明确写上插入的字段“trace_id”及值,业务系统工程代码里需要额外的读取和设置trace_id的代码逻辑,不仅业务字段和非业务字段的耦合性强;系统中的每个SQL语句都需要写字段,涉及多个数据表需要存放分布式链路跟踪TraceID,会大大增加维护成本。

技术实现思路
r/>[0004]本本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.分布式链路跟踪TraceID写入数据库的方法,其特征在于,包括步骤:步骤一:在业务系统工程代码中新建配置文件,并在配置文件中填写配置项;步骤二:拦截业务系统运行时待执行的SQL语句,获取分布式链路跟踪上下文的TraceID;步骤三:判断SQL语句是否在配置项的配置范围内,基于TraceID对配置范围内的SQL语句进行字段扩展改写;步骤四:业务系统以字段扩展改写后的SQL语句继续运行。2.根据权利要求1所述的分布式链路跟踪TraceID写入数据库的方法,其特征在于,所述配置项包括:配置名称和该配置名称下的定义数据表。3.根据权利要求2所述的分布式链路跟踪TraceID写入数据库的方法,其特征在于,步骤二包括:定义一个拦截器C用于拦截业务系统运行时待执行的SQL语句;拦截器C还读取配置文件中的配置项,并基于配置名称下的定义数据表生成映射关系。4.根据权利要求3所述的分布式链路跟踪TraceID写入数据库的方法,其特征在于,步骤三包括以下子步骤:步骤3.1:基于拦截器C生成的映射关系判断SQL语句是否在配置项的配置范围内;步骤3.2:对在配置范围内的SQL语句进行字段扩展改写。5.根据权利要求4所述的分布式链路跟踪TraceID写入数据库的方法,其特征在于,步骤3.1包括:判断SQL语句中第一个关键字是否为“INSERT”,同时SQL语句中待插入的数据表是否在拦截器C生成的映射关系中,若是则该SQL语句在配置项的配置范围内。6.根据权利要求5所述的分布式链路跟踪TraceID写入数据库的方法,其特征在于,步骤3.2包括:在SQL语句的最后一个列名之后扩展新的列名“trace_id”,在VALUES列表的最后扩展新的值“TraceID”。7.分布式链路跟...

【专利技术属性】
技术研发人员:白铖谢延泽李佳明蒋恩平
申请(专利权)人:四川新网银行股份有限公司
类型:发明
国别省市:

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

1