CN115665098A - 一种分布式架构下的事务记录方法 - Google Patents
一种分布式架构下的事务记录方法 Download PDFInfo
- Publication number
- CN115665098A CN115665098A CN202211239635.8A CN202211239635A CN115665098A CN 115665098 A CN115665098 A CN 115665098A CN 202211239635 A CN202211239635 A CN 202211239635A CN 115665098 A CN115665098 A CN 115665098A
- Authority
- CN
- China
- Prior art keywords
- request
- user identification
- service
- distributed
- user
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 235000014510 cooky Nutrition 0.000 claims description 10
- 238000013480 data collection Methods 0.000 claims 2
- 230000000977 initiatory effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Abstract
本发明公开一种分布式架构下的事务记录方法,涉及分布式数据采集技术领域;通过客户端发起请求,通过代理服务端接收到请求后,根据预先设置的规则,判断是否需要进行数据采集,若需要进行数据采集,产生调用链追踪上下文,根据请求头中的用户标识信息,选择相应的用户标识信息产生用户的标识ID,同时为请求产生全局唯一的分布式追踪ID,并记录用户标识ID、分布式追踪ID的关系至数据库中,继续执行业务代码逻辑,通过业务执行服务端接收到代理服务端转发的请求后,判断其中是否包含分布式追踪ID,若包含则记录请求对应的数据,否则只执行业务代码逻辑;本发明将用户事务与链路追踪结果进行了关联,为后期用户事务分析提供了数据支撑。
Description
技术领域
本发明公开一种方法,涉及分布式数据采集技术领域,具体地说是一种分布式架构下的事务记录方法。
背景技术
当今互联网中拥有着庞大用户群体的系统,为了使得用户的请求能够得到及时、准确的响应,系统服务提供商大多采用分布式架构来进行服务的部署,以实现请求的高吞吐量、高并发、低延时以及负载均衡。分布式架构虽然解决了传统单体架构的单点问题和性能容量问题,但也带来了其他的问题,比如用户要想完成某一操作,例如新增一条数据,此时客户端就会执行一次新增数据的事务。一次新增事务的执行,客户端通常需要调用一个或多个接口联合起来才能完成。而系统每天都会执行大量事务,这些事务的执行情况,还不能清晰及快速的记录。
发明内容
本发明针对现有技术的问题,提供一种分布式架构下的事务记录方法,能够解决客户端事务与链路追踪结果无法关联,进而无法对事务整体进行记录的问题。
本发明提出的具体方案是:
本发明提供一种分布式架构下的事务记录方法,通过客户端发起请求,通过代理服务端接收到请求后,根据预先设置的规则,判断是否需要进行数据采集,
若需要进行数据采集,产生调用链追踪上下文,根据请求头中的用户标识信息,选择相应的用户标识信息产生用户的标识ID,同时为请求产生全局唯一的分布式追踪ID,并记录用户标识ID、分布式追踪ID的关系至数据库中,继续执行业务代码逻辑,
通过业务执行服务端接收到代理服务端转发的请求后,判断其中是否包含分布式追踪ID,若包含则记录请求对应的数据,否则只执行业务代码逻辑。
进一步,所述的一种分布式架构下的事务记录方法中所述通过客户端发送请求时,在请求头中设置用户标识信息,用于产生用户的标识ID,对用户的身份进行标记。
进一步,所述的一种分布式架构下的事务记录方法中所述在请求头中设置用户标识信息,包括:
设置的用户标识信息为token信息和cookie信息。
进一步,所述的一种分布式架构下的事务记录方法中所述通过代理服务端接收到请求后,根据预先设置的规则,判断是否需要进行数据采集,包括:
检查请求头中的用户标识信息,检查缓存中是否存在与用户标识信息对应的用户标识ID,若存在则使用已存在的标识ID,否则优先选择用户token信息和cookie信息生成用户标识ID,其次选择客户端IP和浏览器信息生成用户标识ID,
若需要进行数据采集,则产生分布式追踪ID,记录用户标识ID、分布式追踪ID的关系至数据库中,否则继续执行业务逻辑。
进一步,所述的一种分布式架构下的事务记录方法中所述通过业务执行服务端在接收到代理服务发送的请求后,判断是否包含分布式追踪ID,包括:
当分布式追踪ID存在时,记录请求的执行情况至数据库,否则只执行业务逻辑。
本发明还提供一种分布式架构下的事务记录装置,包括代理服务模块和业务执行服务模块,
代理服务模块通过代理服务端接收客户端发起的请求后,根据预先设置的规则,判断是否需要进行数据采集,
若需要进行数据采集,产生调用链追踪上下文,根据请求头中的用户标识信息,选择相应的用户标识信息产生用户的标识ID,同时为请求产生全局唯一的分布式追踪ID,并记录用户标识ID、分布式追踪ID的关系至数据库中,继续执行业务代码逻辑,
业务执行服务模块通过业务执行服务端接收到代理服务端转发的请求后,判断其中是否包含分布式追踪ID,若包含则记录请求对应的数据,否则只执行业务代码逻辑。
进一步,所述的一种分布式架构下的事务记录装置中所述代理服务模块接收的请求头中设置有用户标识信息,用于产生用户的标识ID,对用户的身份进行标记。
进一步,所述的一种分布式架构下的事务记录装置中请求头中设置的用户标识信息,包括token信息和cookie信息。
进一步,所述的一种分布式架构下的事务记录装置中所述代理服务模块通过代理服务端接收到请求后,根据预先设置的规则,判断是否需要进行数据采集,包括:
检查请求头中的用户标识信息,检查缓存中是否存在与用户标识信息对应的用户标识ID,若存在则使用已存在的标识ID,否则优先选择用户token信息和cookie信息生成用户标识ID,其次选择客户端IP和浏览器信息生成用户标识ID,
若需要进行数据采集,则产生分布式追踪ID,记录用户标识ID、分布式追踪ID的关系至数据库中,否则继续执行业务逻辑。
进一步,所述的一种分布式架构下的事务记录装置中所述业务执行服务模块通过业务执行服务端在接收到代理服务发送的请求后,判断是否包含分布式追踪ID,包括:
当分布式追踪ID存在时,记录请求的执行情况至数据库,否则只执行业务逻辑。
本发明的有益之处是:
本发明提供一种分布式架构下的事务记录方法,能够将用户发起的事务同链路追踪结果相关联,清晰及快速的记录事务的执行情况,对事务整体进行记录进而为以后对用户操作成功情况、性能情况进行分析提供了数据支撑。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法流程示意图。
图2是本发明方法应用架构示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明提供一种分布式架构下的事务记录方法,通过客户端发起请求,通过代理服务端接收到请求后,根据预先设置的规则,判断是否需要进行数据采集,
若需要进行数据采集,产生调用链追踪上下文,根据请求头中的用户标识信息,选择相应的用户标识信息产生用户的标识ID,同时为请求产生全局唯一的分布式追踪ID,并记录用户标识ID、分布式追踪ID的关系至数据库中,继续执行业务代码逻辑,
通过业务执行服务端接收到代理服务端转发的请求后,判断其中是否包含分布式追踪ID,若包含则记录请求对应的数据,否则只执行业务代码逻辑。
本发明方法能够将用户发起的事务同链路追踪结果相关联,进而为以后对用户操作成功情况、性能情况进行分析提供了数据支撑。
具体应用中将结合实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。参阅图1,图1为本发明实施例中一种分布式架构下的事务记录方法的一个实施例的流程示意图。如图1所示,包括:
步骤S01:用户进行某一操作,例如新增一条数据,客户端即执行新增事务,将会发送一个或多个的请求来完成新增操作,客户端发送请求时可以将用户token、cookie等标识信息设置在请求头中;
步骤S02:代理服务端接收到客户端发送过来的请求,根据预先设置的规则,决定是否进行数据采集,产生调用链追踪上下文。若需要,则执行步骤S03,否则执行步骤S04;
步骤S03:代理服务端,根据预先设置的规则中指定的字段,对请求头进行检查。若请求头中该字段存在值,则可确定唯一的一个用户,若该字段无值,也可以使用客户端IP+浏览器信息等来确定唯一用户。该字段在设置规则时,优先设置用户token信息,其次使用cookie信息,再其次使用客户端IP+浏览器信息,
通过获得的用户标识信息,检查缓存中是否存在与之对应的用户标识ID,如果不存在则生成新的用户标识ID,否则沿用已存在的标识ID,无须重复生成。同时产生追踪ID用来追踪本次请求的上下文情况,将用户标识ID与追踪ID的关系记录至数据库中;
步骤S04:业务执行服务接收到代理服务转发过来的请求时,优先检查请求头中是否包含追踪ID,当该字段存在时,则执行步骤S05,否则执行步骤S06;
步骤S05:记录追踪ID对应请求的执行情况至数据库中;
步骤S06:执行具体的业务逻辑。本发明方法应用中涉及的各方参考图2显示。
本发明还提供一种分布式架构下的事务记录装置,包括代理服务模块和业务执行服务模块,
代理服务模块通过代理服务端接收客户端发起的请求后,根据预先设置的规则,判断是否需要进行数据采集,
若需要进行数据采集,产生调用链追踪上下文,根据请求头中的用户标识信息,选择相应的用户标识信息产生用户的标识ID,同时为请求产生全局唯一的分布式追踪ID,并记录用户标识ID、分布式追踪ID的关系至数据库中,继续执行业务代码逻辑,
业务执行服务模块通过业务执行服务端接收到代理服务端转发的请求后,判断其中是否包含分布式追踪ID,若包含则记录请求对应的数据,否则只执行业务代码逻辑。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
需要说明的是,上述各流程和各装置结构中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (10)
1.一种分布式架构下的事务记录方法,其特征是通过客户端发起请求,通过代理服务端接收到请求后,根据预先设置的规则,判断是否需要进行数据采集,
若需要进行数据采集,产生调用链追踪上下文,根据请求头中的用户标识信息,选择相应的用户标识信息产生用户的标识ID,同时为请求产生全局唯一的分布式追踪ID,并记录用户标识ID、分布式追踪ID的关系至数据库中,继续执行业务代码逻辑,
通过业务执行服务端接收到代理服务端转发的请求后,判断其中是否包含分布式追踪ID,若包含则记录请求对应的数据,否则只执行业务代码逻辑。
2.根据权利要求1所述的一种分布式架构下的事务记录方法,其特征是所述通过客户端发送请求时,在请求头中设置用户标识信息,用于产生用户的标识ID,对用户的身份进行标记。
3.根据权利要求2所述的一种分布式架构下的事务记录方法,其特征是所述在请求头中设置用户标识信息,包括:
设置的用户标识信息为token信息和cookie信息。
4.根据权利要求3所述的一种分布式架构下的事务记录方法,其特征是所述通过代理服务端接收到请求后,根据预先设置的规则,判断是否需要进行数据采集,包括:
检查请求头中的用户标识信息,检查缓存中是否存在与用户标识信息对应的用户标识ID,若存在则使用已存在的标识ID,否则优先选择用户token信息和cookie信息生成用户标识ID,其次选择客户端IP和浏览器信息生成用户标识ID,
若需要进行数据采集,则产生分布式追踪ID,记录用户标识ID、分布式追踪ID的关系至数据库中,否则继续执行业务逻辑。
5.根据权利要求1所述的一种分布式架构下的事务记录方法,其特征是所述通过业务执行服务端在接收到代理服务发送的请求后,判断是否包含分布式追踪ID,包括:
当分布式追踪ID存在时,记录请求的执行情况至数据库,否则只执行业务逻辑。
6.一种分布式架构下的事务记录装置,其特征是包括代理服务模块和业务执行服务模块,
代理服务模块通过代理服务端接收客户端发起的请求后,根据预先设置的规则,判断是否需要进行数据采集,
若需要进行数据采集,产生调用链追踪上下文,根据请求头中的用户标识信息,选择相应的用户标识信息产生用户的标识ID,同时为请求产生全局唯一的分布式追踪ID,并记录用户标识ID、分布式追踪ID的关系至数据库中,继续执行业务代码逻辑,
业务执行服务模块通过业务执行服务端接收到代理服务端转发的请求后,判断其中是否包含分布式追踪ID,若包含则记录请求对应的数据,否则只执行业务代码逻辑。
7.根据权利要求6所述的一种分布式架构下的事务记录装置,其特征是所述代理服务模块接收的请求头中设置有用户标识信息,用于产生用户的标识ID,对用户的身份进行标记。
8.根据权利要求7所述的一种分布式架构下的事务记录装置,其特征是请求头中设置的用户标识信息,包括token信息和cookie信息。
9.根据权利要求8所述的一种分布式架构下的事务记录装置,其特征是所述代理服务模块通过代理服务端接收到请求后,根据预先设置的规则,判断是否需要进行数据采集,包括:
检查请求头中的用户标识信息,检查缓存中是否存在与用户标识信息对应的用户标识ID,若存在则使用已存在的标识ID,否则优先选择用户token信息和cookie信息生成用户标识ID,其次选择客户端IP和浏览器信息生成用户标识ID,
若需要进行数据采集,则产生分布式追踪ID,记录用户标识ID、分布式追踪ID的关系至数据库中,否则继续执行业务逻辑。
10.根据权利要求6所述的一种分布式架构下的事务记录装置,其特征是所述业务执行服务模块通过业务执行服务端在接收到代理服务发送的请求后,判断是否包含分布式追踪ID,包括:
当分布式追踪ID存在时,记录请求的执行情况至数据库,否则只执行业务逻辑。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211239635.8A CN115665098A (zh) | 2022-10-11 | 2022-10-11 | 一种分布式架构下的事务记录方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211239635.8A CN115665098A (zh) | 2022-10-11 | 2022-10-11 | 一种分布式架构下的事务记录方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115665098A true CN115665098A (zh) | 2023-01-31 |
Family
ID=84986653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211239635.8A Pending CN115665098A (zh) | 2022-10-11 | 2022-10-11 | 一种分布式架构下的事务记录方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115665098A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056208A (zh) * | 2007-05-31 | 2007-10-17 | 华为技术有限公司 | 业务跟踪方法、网络设备、o&m控制器、业务请求装置 |
CN101754178A (zh) * | 2008-12-05 | 2010-06-23 | 华为技术有限公司 | 业务跟踪方法、装置及系统 |
CN104145497A (zh) * | 2012-09-19 | 2014-11-12 | 华为技术有限公司 | 用户设备跟踪方法及系统、接入设备、接入控制器 |
CN108173706A (zh) * | 2017-11-29 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种多业务系统下的业务标记方法、装置及设备 |
CN109933412A (zh) * | 2019-01-28 | 2019-06-25 | 武汉慧联无限科技有限公司 | 基于分布式消息中间件的分布式事务处理方法 |
CN110830577A (zh) * | 2019-11-08 | 2020-02-21 | 深圳前海环融联易信息科技服务有限公司 | 服务请求调用追踪方法、装置、计算机设备及存储介质 |
CA3141329A1 (en) * | 2020-12-08 | 2022-06-08 | 10353744 Canada Ltd. | Request link tracking method and service request processing method |
US20220245132A1 (en) * | 2019-06-19 | 2022-08-04 | Zte Corporation | Transaction monitoring method, apparatus and system for distributed database, and storage medium |
-
2022
- 2022-10-11 CN CN202211239635.8A patent/CN115665098A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056208A (zh) * | 2007-05-31 | 2007-10-17 | 华为技术有限公司 | 业务跟踪方法、网络设备、o&m控制器、业务请求装置 |
CN101754178A (zh) * | 2008-12-05 | 2010-06-23 | 华为技术有限公司 | 业务跟踪方法、装置及系统 |
CN104145497A (zh) * | 2012-09-19 | 2014-11-12 | 华为技术有限公司 | 用户设备跟踪方法及系统、接入设备、接入控制器 |
CN108173706A (zh) * | 2017-11-29 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种多业务系统下的业务标记方法、装置及设备 |
CN109933412A (zh) * | 2019-01-28 | 2019-06-25 | 武汉慧联无限科技有限公司 | 基于分布式消息中间件的分布式事务处理方法 |
US20220245132A1 (en) * | 2019-06-19 | 2022-08-04 | Zte Corporation | Transaction monitoring method, apparatus and system for distributed database, and storage medium |
CN110830577A (zh) * | 2019-11-08 | 2020-02-21 | 深圳前海环融联易信息科技服务有限公司 | 服务请求调用追踪方法、装置、计算机设备及存储介质 |
CA3141329A1 (en) * | 2020-12-08 | 2022-06-08 | 10353744 Canada Ltd. | Request link tracking method and service request processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7401141B2 (en) | Method and system for monitoring performance of distributed applications | |
US9037555B2 (en) | Asynchronous collection and correlation of trace and communications event data | |
CN112910945B (zh) | 请求链路跟踪方法和业务请求处理方法 | |
US10146663B2 (en) | Modeling and testing interactions between components of a software system | |
US8825798B1 (en) | Business event tracking system | |
CN107135188B (zh) | 金融信息交换fix协议的业务实现方法、装置及系统 | |
US7403985B2 (en) | Method and system for analyzing electronic service execution | |
US20070268822A1 (en) | Conformance control module | |
US20070130119A1 (en) | User/process runtime system trace | |
US7779113B1 (en) | Audit management system for networks | |
US20060294141A1 (en) | Smart business object proxy | |
CN111930529A (zh) | 基于消息队列及微服务的数据同步方法、模块及系统 | |
CN114363144B (zh) | 一种面向分布式系统的故障信息关联上报方法及相关设备 | |
US20080154954A1 (en) | Apparatus, system, and method for enabling conversational transactions in a service oriented architecture | |
US20090287845A1 (en) | Mediator with interleaved static and dynamic routing | |
US20110246541A1 (en) | Data management apparatus and method | |
US8230002B2 (en) | Method and system for automatic setup in web-based applications | |
CN112860507B (zh) | 分布式链路跟踪系统采样率的控制方法和装置 | |
CN113114794A (zh) | 一种基于二次代理处理域名的方法及设备 | |
CN115665098A (zh) | 一种分布式架构下的事务记录方法 | |
US7441252B2 (en) | Cache control device, and method and computer program for the same | |
US10831590B2 (en) | Error handling | |
US7873715B1 (en) | Optimized instrumentation of web pages for performance management | |
US7653742B1 (en) | Defining and detecting network application business activities | |
US20140337069A1 (en) | Deriving business transactions from web logs |
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 |