CN113886392A - 分布式链路跟踪TraceID写入数据库的方法及系统 - Google Patents
分布式链路跟踪TraceID写入数据库的方法及系统 Download PDFInfo
- Publication number
- CN113886392A CN113886392A CN202111183418.7A CN202111183418A CN113886392A CN 113886392 A CN113886392 A CN 113886392A CN 202111183418 A CN202111183418 A CN 202111183418A CN 113886392 A CN113886392 A CN 113886392A
- Authority
- CN
- China
- Prior art keywords
- configuration
- traceid
- sql statement
- distributed link
- sql
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013507 mapping Methods 0.000 claims description 18
- 238000010276 construction Methods 0.000 claims description 6
- 238000011161 development Methods 0.000 abstract description 7
- 238000005457 optimization Methods 0.000 description 8
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 101100328886 Caenorhabditis elegans col-2 gene Proteins 0.000 description 3
- 101100328884 Caenorhabditis elegans sqt-3 gene Proteins 0.000 description 3
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了分布式链路跟踪TraceID写入数据库的方法及系统,在配置文件定义一个配置项,结合拦截器拦截SQL语句,检查SQL语句的表对象是否在配置项的配置范围内,只扩展改写在配置项的配置范围内的SQL语句,无需在业务代码中的每个SQL语句里插入字段“trace_id”及值,无需在业务代码中耦合与业务无关的代码,极大提高开发人员的开发效率,降低开发人员的接入成本。
Description
技术领域
本发明涉及微服务架构技术领域,具体涉及一种分布式链路跟踪TraceID写入数据库的方法及系统。
背景技术
在微服务架构中,一次请求往往需要由多个模块、中间件等相互调用才能完成,其中的调用过程可能是串行的,可能是并行的。分布式链路跟踪就是将一次请求经过的模块、调用关系、调用先后顺序还原成一个拓扑图。一次请求会产生一个全局唯一的不可改变的TraceID,该TraceID在各个模块之间流转。数据库是微服务架构中经常使用的一个组件,记录业务数据。INSERT是数据库的DML语句,向数据库中插入数据。
传统TraceID写入数据库的方法是在业务代码的SQL语句里明确写上插入的字段“trace_id”及值,业务系统工程代码里需要额外的读取和设置trace_id的代码逻辑,不仅业务字段和非业务字段的耦合性强;系统中的每个SQL语句都需要写字段,涉及多个数据表需要存放分布式链路跟踪TraceID,会大大增加维护成本。
发明内容
本发明所要解决的技术问题是传统TraceID写入数据库的方法业务字段和非业务字段的耦合性强,系统中的每个SQL语句都需要写字段,大大增加维护成本;本发明目的在于提供一种分布式链路跟踪TraceID写入数据库的方法及系统,以解决上述技术问题。
本发明通过下述技术方案实现:
本方案提供分布式链路跟踪TraceID写入数据库的方法,包括步骤:
步骤一:在业务系统工程代码中新建配置文件,并在配置文件中填写配置项;
步骤二:拦截业务系统运行时待执行的SQL语句,获取分布式链路跟踪上下文的TraceID;
步骤三:判断SQL语句是否在配置项的配置范围内,基于TraceID对配置范围内的SQL语句进行字段扩展改写;
步骤四:业务系统以字段扩展改写后的SQL语句继续运行。
现有技术中存在的接入效率低下、业务代码和非业务代码耦合程度高的问题,本方案提供一种新的无侵入的自动化的修改SQL语句方法,只对在配置项的配置范围内的SQL语句进行字段扩展改写,对于不在配置项的配置范围内的SQL语句,业务系统直接执行而无需字段扩展改写。
进一步优化方案为,所述配置项包括:配置名称和该配置名称下的定义数据表。
进一步优化方案为,步骤二包括:
定义一个拦截器C用于拦截业务系统运行时待执行的SQL语句;拦截器C还读取配置文件中的配置项,并基于配置名称下的定义数据表生成映射关系。
进一步优化方案为,步骤三包括以下子步骤:
步骤3.1:基于拦截器C生成的映射关系判断SQL语句是否在配置项的配置范围内;
步骤3.2:对在配置范围内的SQL语句进行字段扩展改写。
进一步优化方案为,步骤3.1包括:
判断SQL语句中第一个关键字是否为“INSERT”,同时SQL语句中待插入的数据表是否在拦截器C生成的映射关系中,若是则该SQL语句在配置项的配置范围内。
拦截器C自动化拦截SQL语句,并判断SQL语句是否是INSERT类型,并是否在拦截配置的表范围内,如果是则自动扩展SQL语句,无需在业务代码里耦合分布式链路跟踪TraceId的写入字段,业务系统开发人员无需关心数据库层面数据库链路跟踪的落库情况,对开发人员无感知,对业务代码无侵入。
进一步优化方案为,步骤3.2包括:
在SQL语句的最后一个列名之后扩展新的列名“trace_id”,在VALUES列表的最后扩展新的值“TraceID”。
基于上述分布式链路跟踪TraceID写入数据库的方法,本方案构建分布式链路跟踪TraceID写入数据库的系统,包括:配置构建模块,采集模块,判断扩展模块和执行模块;
所述配置构建模块用于在业务系统工程代码中新建配置文件,并在配置文件中填写配置项;
所述采集模块用于拦截业务系统运行时待执行的SQL语句并获取分布式链路跟踪上下文的TraceID;
所述判断扩展模块用于判断SQL语句是否在配置项的配置范围内,并基于TraceID对配置范围内的SQL语句进行字段扩展改写;
所述执行模块令业务系统以字段扩展改写后的SQL语句继续运行。
进一步优化方案为,所述配置项包括:配置名称和该配置名称下的定义数据表。
进一步优化方案为,所述采集模块包括定义单元和获取单元;
所述定义单元用于定义一个拦截器C,所述拦截器C用于拦截业务系统运行时待执行的SQL语句,所述拦截器C还用于读取配置文件中的配置项并生成映射关系;所述获取单元获取分布式链路跟踪上下文的TraceID。
进一步优化方案为,所述判断扩展模块包括判断单元和扩展单元;
所述判断单元用于判断SQL语句中第一个关键字是否为“INSERT”,同时SQL语句中待插入的数据表是否在拦截器C生成的映射关系中,若是则判定该SQL语句在配置项的配置范围内;
所述扩展单元对SQL语句的最后一个列名之后扩展新的列名“trace_id”,在VALUES列表的最后扩展新的值“TraceID”。
常规做法是在业务代码的SQL语句里明确写上插入的字段“trace_id”及值,例如:
insert db1.table1(col_1,col_2,trace_id)
value(“a”,“b”,“0ad1348f1403169275002100356696”);
该手段的缺点:(1)代码里需要写上与业务无关的字段“trace_id”,增加业务字段和非业务字段的耦合性;(2)系统中的每个insert语句都要写上“trace_id”字段,后期维护成本高。(3)与业务代码的耦合程度高:需要在insert语句里显示写上“trace_id”,代码里需要额外的读取和设置trace_id的代码逻辑,将非业务逻辑和业务逻辑紧耦合在一起,降低开发效率。
本方案在业务代码的SQL语句里无需插入字段“trace_id”及值,而是在配置文件定义一个配置项,例如.trace.tables=db1.table1,db1.table2;再定义一个拦截器,拦截SQL语句,检查SQL语句的表对象是否在配置项trace.tables的配置范围内,如果是,则修改SQL语句,插入字段”trace_id”及值;本方案判断出配置范围内的语句,只对配置范围内的语句进行字段扩展改写,无需在业务代码中耦合与业务无关的代码,无需在业务代码里耦合分布式链路跟踪TraceId的写入字段,业务系统开发人员无需关心数据库层面数据库链路跟踪的落库情况,开发人员仅仅需要一个配置项和引入一个配置文件即可,无需在业务代码中耦合与业务无关的代码;使用简单,极大提高开发人员的开发效率,降低开发人员的接入成本。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明提供的分布式链路跟踪TraceID写入数据库的方法及系统,在配置文件定义一个配置项,结合拦截器拦截SQL语句,检查SQL语句是否在配置项的配置范围内,只扩展改写在配置项的配置范围内的SQL语句,无需在业务代码中的每个SQL语句里插入字段“trace_id”及值,无需在业务代码中耦合与业务无关的代码,业务系统开发人员无需关心数据库层面数据库链路跟踪的落库情况,对开发人员无感知,对业务代码无侵入,极大提高开发人员的开发效率,降低开发人员的接入成本。
附图说明
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
图1为分布式链路跟踪TraceID写入数据库的方法流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
如图1所示,本实施例提供分布式链路跟踪TraceID写入数据库的方法,包括步骤:
步骤一:在业务系统工程代码中新建配置文件trace-config A,并在配置文件中填写配置项B;
配置项B包括:配置名称和该配置名称下的定义数据表,
例如配置项B:trace.tables=db1.table1,db1.table2,db1.table3,db1.table4;
其中trace.tables为配置名称,db1.table1,db1.table2,db1.table3,db1.table4是定义的需要拦截数据表。
步骤二:拦截业务系统运行时待执行的SQL语句,获取分布式链路跟踪上下文的TraceID;
具体为:
定义一个拦截器C用于拦截业务系统运行时待执行的SQL语句;初始化拦截器C,拦截器C读取配置文件中的配置项B,并基于配置名称下的定义数据表生成映射关系。拦截器C,根据配置项B生成的映射关系M为:
获取分布式链路跟踪上下文TraceId;
例如:“0ad1348f1403169275002100356696”。
步骤三:判断SQL语句是否在配置项的配置范围内,基于TraceID对配置范围内的SQL语句进行字段扩展改写;
步骤三包括以下子步骤:
步骤3.1:基于拦截器C生成的映射关系判断SQL语句是否在配置项的配置范围内;
拦截器C拦截SQL语句F,SQL语句F中第一个关键字是否为“INSERT”,同时SQL语句F中待插入的数据表是否在拦截器C生成的映射关系M中,若是则该SQL语句F在配置项的配置范围内。
步骤3.2:对在配置范围内的SQL语句进行字段扩展改写。
SQL语句F例如:INSERT INTO db1.table1(col1,col2)VALUES(val1,val2)的最后一个列名之后扩展新的列名“trace_id”,在VALUES列表的最后扩展新的值“TraceID”。
扩展之后的SQL语句F为:
INSERT INTO db1.table1(col1,col2,trace_id)VALUES(val1,val2,”0ad1348f1403169275002100356696”)
步骤四:业务系统以字段扩展改写后的SQL语句F继续运行。
实施例2
本实施例基于上一实施例所述的分布式链路跟踪TraceID写入数据库的方法构建系统,包括:配置构建模块,采集模块,判断扩展模块和执行模块;
所述配置构建模块用于在业务系统工程代码中新建配置文件,并在配置文件中填写配置项;
所述采集模块用于拦截业务系统运行时待执行的SQL语句并获取分布式链路跟踪上下文的TraceID;
所述判断扩展模块用于判断SQL语句是否在配置项的配置范围内,并基于TraceID对配置范围内的SQL语句进行字段扩展改写;
所述执行模块令业务系统以字段扩展改写后的SQL语句继续运行。
所述配置项包括:配置名称和该配置名称下的定义数据表。
所述采集模块包括定义单元和获取单元;
所述定义单元用于定义一个拦截器C,所述拦截器C用于拦截业务系统运行时待执行的SQL语句,所述拦截器C还用于读取配置文件中的配置项并生成映射关系;所述获取单元获取分布式链路跟踪上下文的TraceID。
所述判断扩展模块包括判断单元和扩展单元;
所述判断单元用于判断SQL语句中第一个关键字是否为“INSERT”,同时SQL语句中待插入的数据表是否在拦截器C生成的映射关系中,若是则判定该SQL语句在配置项的配置范围内;
所述扩展单元对SQL语句的最后一个列名之后扩展新的列名“trace_id”,在VALUES列表的最后扩展新的值“TraceID”。
实施例3
本实施例对传统方法与本发明方法进行实际操作比较:
案例背景:假设有一个借款操作,该操作产生两个写表动作,需要将分布链路跟踪的TraceID随业务数据写入业务数据表。这里有一个数据库loan_db,数据表t_loan(id,account_id,amount,create_date,trace_id),该表存放账户account_id在时间create_date借款amount,这笔借款记录的流水号是id,数据表t_repay(id,account_id,loan_id,repay_date,trace_id),该表存放账户account_id需要在时间repay_date前归还流水号是load_id这笔借款。现在有一个客户zhangsan在2020-10-20 09:09:09发起借款1000元,该笔借款应该在2020-11-20 00:00:00归还。
传统方法:
1.开发人员在代码里编写SQL模板:
INSERT INTO t_loan(id,account_id,amount,create_date,trace_id)value(#{id},
#{accoundId},#{amount},#{createDate},#{traceId});
INSERT INTO t_repay(id,account_id,loan_id,repay_date,trace_id)value(#{id},
#{accoundId},#{loanId},#{repayDate},#{traceId})
2.业务代码逻辑描述:
2.1:通过代码获取分布式链路跟踪上下文的TraceID,例如:
String traceId=TraceContext.getTraceId();
2.2:将TraceID随业务数据写入一个业务实例对象,例如
class Loan{
private String id;
private String accoutId;
private BigDecimal amount;
private Date createDate;
private String traceId;
}
class Repay{
private String id;
private String accoutId;
private String loanId;
private Date repayDate;
private String traceId;
}
load loan=new Loan();
load.setId(#{id});
load.setAccountId(#{accountId})
load.setAmount(#{amount});
loan.setCreateDate(#{createDate});
loan.setTraceId(#{traceId});//设置TraceID
Repay repay=new Repay();
repay.setId(#{id});
repay.setAccount(zhangsan);
repay.setLoanId(#{loanId});
repay.setRepayDate(#{repayDate});
repay.setTraceId(#{traceId});//设置TraceID
3.执行SQL语句,写入数据库
INSERT INTO t_loan(id,account_id,amount,create_date,trace_id)value(1001,zhangsan,1000,2020-10-20 09:09:09,0ad1348f1403169275002100356696);
INSERT INTO t_repay(id,account_id,loan_id,repay_date,trace_id)value(#{id},zhangsan,1001,2020-11-20 00:00:00,0ad1348f1403169275002100356696)。
本发明方法:
步骤1.创建配置文件tracer-config,文件中新建配置项:trace.tables=loan.t_loan,loan.t_repay;
步骤2.开发人员在代码里编写SQL模板:
SQL1:
INSERT INTO loan_db.t_loan(id,account_id,amount,create_date)value(#{id},
#{accoundId},#{amount},#{createDate});
SQL2:
INSERT INTO loan_db.t_repay(id,account_id,loan_id,repay_date)value(#{id},#{accoundId},#{loanId},#{repayDate})
步骤3.业务代码逻辑:只需要编写与业务逻辑相关的代码,无需编写获取TraceID和设置TraceID的代码;
步骤4.定义拦截器:
4.1、拦截器加载步骤1中的配置文件,并解析成映射关系Map,其中key为数据库名称,value为数据库表:
{
“loan_db”:[“t_loan”,”t_repay”]
}
步骤5.发生借款事件时,拦截SQL语句;
5.1:检查每条SQL语句是否是INSERT类型,如果是INSERT类型,那么待插入的数据表是否在映射关系Map中,如果是,则进入下一步;
5.2:扩展SQL语句,以SQL1说明:
获取分布式链路跟踪上下文traceId:String traceId=TraceContext.getTraceId();在列表(id,account_id,amount,create_date)最后增加一列trace_id,成为(id,account_id,amount,create_date,trace_id),在VALUES列表最后扩展值“#{traceId}”,成为(#{id},#{accoundId},#{amount},#{createDate},#{traceId})。
最终SQL语句为:
INSERT INTO loan_db.t_loan(id,account_id,amount,create_date,
trace_id)value(#{id},
#{accoundId},#{amount},#{createDate},#{traceId});
步骤6.JDBC(Java Data Base Connectivity,java数据库连接)执行修改后的SQL。
由上述可得,传统开发方法中开发人员在开发,在业务代码里耦合分布式链路跟踪的TraceId,将非业务逻辑和业务逻辑紧耦合在一起,涉及多个数据表需要存放分布式链路跟踪TraceId的,大大增加维护成本;而本发明方法中开发人员仅仅需要一个配置项和引入一个外部工具包即可,无需在业务代码中耦合与业务无关的代码;使用简单,极大提高开发人员的开发效率,降低开发人员的接入成本。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
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.分布式链路跟踪TraceID写入数据库的系统,其特征在于,基于权利要求1-6任意一项所述的分布式链路跟踪TraceID写入数据库的方法构建,包括:配置构建模块,采集模块,判断扩展模块和执行模块;
所述配置构建模块用于在业务系统工程代码中新建配置文件,并在配置文件中填写配置项;
所述采集模块用于拦截业务系统运行时待执行的SQL语句并获取分布式链路跟踪上下文的TraceID;
所述判断扩展模块用于判断SQL语句是否在配置项的配置范围内,并基于TraceID对配置范围内的SQL语句进行字段扩展改写;
所述执行模块令业务系统以字段扩展改写后的SQL语句继续运行。
8.根据权利要求7所述的分布式链路跟踪TraceID写入数据库的系统,其特征在于,所述配置项包括:配置名称和该配置名称下的定义数据表。
9.根据权利要求8所述的分布式链路跟踪TraceID写入数据库的系统,其特征在于,所述采集模块包括定义单元和获取单元;
所述定义单元用于定义一个拦截器C,所述拦截器C用于拦截业务系统运行时待执行的SQL语句,所述拦截器C还用于读取配置文件中的配置项并生成映射关系;
所述获取单元获取分布式链路跟踪上下文的TraceID。
10.根据权利要求9所述的分布式链路跟踪TraceID写入数据库的系统,其特征在于,所述判断扩展模块包括判断单元和扩展单元;
所述判断单元用于判断SQL语句中第一个关键字是否为“INSERT”,同时SQL语句中待插入的数据表是否在拦截器C生成的映射关系中,若是则判定该SQL语句在配置项的配置范围内;
所述扩展单元对SQL语句的最后一个列名之后扩展新的列名“trace_id”,在VALUES列表的最后扩展新的值“TraceID”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111183418.7A CN113886392B (zh) | 2021-10-11 | 2021-10-11 | 分布式链路跟踪TraceID写入数据库的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111183418.7A CN113886392B (zh) | 2021-10-11 | 2021-10-11 | 分布式链路跟踪TraceID写入数据库的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113886392A true CN113886392A (zh) | 2022-01-04 |
CN113886392B CN113886392B (zh) | 2024-07-02 |
Family
ID=79006179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111183418.7A Active CN113886392B (zh) | 2021-10-11 | 2021-10-11 | 分布式链路跟踪TraceID写入数据库的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886392B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107431711A (zh) * | 2015-01-30 | 2017-12-01 | 黑莓有限公司 | Ims服务的接入控制 |
CN108509805A (zh) * | 2018-03-21 | 2018-09-07 | 深圳天源迪科信息技术股份有限公司 | 数据加解密与脱敏运行引擎及其工作方法 |
CN111241125A (zh) * | 2020-01-08 | 2020-06-05 | 成都嗨学洛子教育科技有限公司 | 一种记录操作日志的方法、装置、电子设备和存储介质 |
CN112925720A (zh) * | 2021-03-29 | 2021-06-08 | 中国建设银行股份有限公司 | 一种软件sql测试方法、装置、存储介质及系统 |
-
2021
- 2021-10-11 CN CN202111183418.7A patent/CN113886392B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107431711A (zh) * | 2015-01-30 | 2017-12-01 | 黑莓有限公司 | Ims服务的接入控制 |
CN108509805A (zh) * | 2018-03-21 | 2018-09-07 | 深圳天源迪科信息技术股份有限公司 | 数据加解密与脱敏运行引擎及其工作方法 |
CN111241125A (zh) * | 2020-01-08 | 2020-06-05 | 成都嗨学洛子教育科技有限公司 | 一种记录操作日志的方法、装置、电子设备和存储介质 |
CN112925720A (zh) * | 2021-03-29 | 2021-06-08 | 中国建设银行股份有限公司 | 一种软件sql测试方法、装置、存储介质及系统 |
Non-Patent Citations (2)
Title |
---|
NESRINE NOUGHI 等: "Conceptual interpretation of SQL execution traces for program comprehension", 《2015 IEEE 6TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION THROUGH DYNAMIC ANALYSIS (PCODA)》, 26 March 2015 (2015-03-26), pages 19 - 24, XP032752430, DOI: 10.1109/PCODA.2015.7067179 * |
赵来: "面向微服务的运维监控系统的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 5, 15 May 2021 (2021-05-15), pages 140 - 377 * |
Also Published As
Publication number | Publication date |
---|---|
CN113886392B (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9672017B2 (en) | Object storage and synchronization hooks for occasionally-connected devices | |
US7457817B2 (en) | Versioning in an integration platform | |
CN101174240B (zh) | 一种软件测试管理方法及其系统 | |
US7873899B2 (en) | Mapping schemes for creating and storing electronic documents | |
US8935575B2 (en) | Test data generation | |
US7275024B2 (en) | Automatic generation of a dimensional model for business analytics from an object model for online transaction processing | |
US11645340B2 (en) | Data store interface including application configurable format constraints for use in accessing or visualization of values stored an in-memory cache | |
CN101727320B (zh) | 用于识别数据库更改对应用的影响的方法和系统 | |
US7822710B1 (en) | System and method for data collection | |
US7490098B2 (en) | Apparatus, system, and method for processing hierarchical data in disparate data repositories | |
EP1457878B1 (en) | Automatic generation of an object model from a dimensional model | |
US7831614B2 (en) | System and method for generating SQL using templates | |
CN111159040A (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
US11379465B2 (en) | Autonomous self-healing application data validation using database configurations | |
US20060242167A1 (en) | Object based test library for WinFS data model | |
CN113886392A (zh) | 分布式链路跟踪TraceID写入数据库的方法及系统 | |
JP2003248635A (ja) | ネットワーク管理プロトコールにおける管理情報ベースのデータベースアクセス方法及びシステム | |
US7197496B2 (en) | Macro-based dynamic discovery of data shape | |
CN110647535B (zh) | 一种将业务数据更新至Hive的方法、终端及存储介质 | |
CN112965706B (zh) | 一种数据类型的描述方法、设备及介质 | |
Aithal et al. | Disconnected Data Access Architecture using ADO. NET Framework | |
CN116010337B (zh) | 一种openGauss访问ORC数据的方法 | |
KR100656559B1 (ko) | Bibd 방법론을 이용하는 프로그램 자동 개발 장치 | |
WO2003030020A2 (en) | Handling relational metanodes in databases | |
CN112256323A (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 | ||
GR01 | Patent grant |