[发明专利]一种微服务架构下单数据源分布式事务的处理方法有效
申请号: | 202010529433.1 | 申请日: | 2020-06-11 |
公开(公告)号: | CN111708616B | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 朱维扬;周波;王健;李善平;杨朝晖 | 申请(专利权)人: | 浙江网新恒天软件有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/54;G06F16/23 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 刘静 |
地址: | 310012 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 微服 架构 数据源 分布式 事务 处理 方法 | ||
1.一种微服务架构下单数据源分布式事务的处理方法,其特征在于,包括以下步骤:
(1)服务调用者开启分布式事务:服务调用者生成唯一的事务ID,并将事务ID传递给分布式事务协调器,通知其准备开启分布式事务;所述分布式事务协调器负责转发服务调用者对数据库的访问请求;所述分布式事务协调器具备数据源代理和分布式事务协调功能;
数据源代理维持上游连接,即客户端向数据源代理发起的数据源连接;维持下游连接,即数据源代理向具体数据源发起的数据源连接;根据上游连接和下游连接的绑定关系,转发客户端和具体数据源之间的请求和响应;
分布式事务协调功能用于接收来自客户端的开启事务、关闭事务、加入事务、退出事务、提交事务、回滚事务请求,并将上游连接和下游连接进行动态绑定,完成分布式事务控制;
(2)服务调用者发起远程调用:服务调用者将事务ID包含在远程调用请求内,向服务提供者发起服务远程调用,并同步等待服务提供者的响应;
(3)服务提供者参与分布式事务:服务提供者凭事务ID向分布式事务协调器声明加入当前分布式事务;分布式事务协调器负责转发服务提供者对数据库的访问请求;服务提供者执行业务操作或数据库操作;服务提供者完成业务操作和数据库操作后,或者发生事务回滚时,凭事务ID向分布式事务协调器声明退出当前分布式事务;
(4)服务提供者返回调用响应:服务提供者完成业务操作和数据库操作后,向服务调用者返回调用响应;如果服务提供者处理远程调用请求时发生异常,则触发服务调用者进行分布式事务回滚;如果服务提供者响应正常,则服务调用者继续执行业务操作或数据库操作;
(5)服务调用者关闭分布式事务:服务调用者凭事务ID通知分布式事务协调器关闭相对应的分布式事务。
2.根据权利要求1所述的一种微服务架构下单数据源分布式事务的处理方法,其特征在于,所述步骤(1)中,如果服务调用者尚未与分布式事务协调器中的数据源代理建立网路连接,则首先与其建立网络连接;数据源代理代表服务调用者与具体数据源建立初始网络连接。
3.根据权利要求1所述的一种微服务架构下单数据源分布式事务的处理方法,其特征在于,所述步骤(1)中,服务调用者在开启分布式事务后,执行一些可选的业务操作或数据库操作之后再发起远程调用,或者直接发起远程调用。
4.根据权利要求1所述的一种微服务架构下单数据源分布式事务的处理方法,其特征在于,所述步骤(3)中,如果服务提供者尚未与分布式事务协调器中的数据源代理建立网路连接,则首先与其建立网络连接;数据源代理代表服务提供者与具体数据源建立初始的网络连接。
5.根据权利要求1所述的一种微服务架构下单数据源分布式事务的处理方法,其特征在于,所述步骤(3)中,服务提供者经由数据源代理开启数据库事务,随后通过网络连接通知分布式事务协调器,其申请加入事务ID对应的分布式事务;分布式事务协调器将服务提供者与数据源代理建立的上游连接绑定至事务ID对应的下游数据库连接。
6.根据权利要求1所述的一种微服务架构下单数据源分布式事务的处理方法,其特征在于,所述步骤(3)中,服务提供者在当前事务内,执行一些可选的业务操作或数据库操作,如果服务提供者需要继续调用其他服务完成既定业务逻辑,可以作为新一轮服务调用的服务调用者发起服务调用,并将当前的事务ID传递给新的服务提供者。
7.根据权利要求1所述的一种微服务架构下单数据源分布式事务的处理方法,其特征在于,所述步骤(3)中,在执行事务提交或回滚前,服务提供者通知分布式事务协调器退出当前分布式事务;分布式事务协调器将服务提供者与数据源代理建立的上游连接绑定至初始的下游连接上;随后正常执行事务提交或回滚动作。
8.根据权利要求1所述的一种微服务架构下单数据源分布式事务的处理方法,其特征在于,所述步骤(4)中,如果服务调用者需要继续调用其他服务完成既定业务逻辑,可以作为新一轮服务调用的服务调用者发起服务调用,并将当前的事务ID传递给新的服务提供者。
9.根据权利要求1所述的一种微服务架构下单数据源分布式事务的处理方法,其特征在于,所述步骤(5)中,服务调用者当前事务代码执行成功时,首先凭事务ID通知分布式事务协调器准备关闭事务,随后服务调用者提交数据库事务;服务调用者当前事务代码执行失败时,首先凭事务ID通知分布式事务协调器准备关闭事务,随后服务调用者回滚数据库事务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江网新恒天软件有限公司,未经浙江网新恒天软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010529433.1/1.html,转载请声明来源钻瓜专利网。