当前位置: 首页 > 专利查询>曹蕤专利>正文

分布式事务处理方法、系统、计算机设备及存储介质技术方案

技术编号:36024035 阅读:13 留言:0更新日期:2022-12-21 10:21
本方案涉及一种分布式事务处理方法、系统、计算机设备及存储介质。所述方法包括:接收交易请求,交易请求中包含有分布式事务标识;根据分布式事务标识判断是否启动分布式事务,若需要启动分布式事务,则启动分布式事务处理机制,并基于数据访问对象DAO访问数据库;DAO中添加有技术键属性;通过DAO调用持久化引擎接口,并通过持久化引擎接口完成分布式事务逻辑。在启动分布式事务处理机制后,通过DAO调用对应的持久化引擎接口即可实现对应的处理,提高分布式系统的性能;且无需应用开发人员关心和实现确认接口和取消接口,可以降低业务系统的复杂度和开发成本。的复杂度和开发成本。的复杂度和开发成本。

【技术实现步骤摘要】
分布式事务处理方法、系统、计算机设备及存储介质


[0001]本专利技术涉及计算机
,特别是涉及一种分布式事务处理方法、系统、计算机设备及存储介质。

技术介绍

[0002]随着互联网技术的不断发展,系统越来越复杂,几乎所有IT公司的系统都已经完成从单体架构到分布式架构的转变,分布式系统在系统扩展性、高可用等方面得到了极大的提高,同时也带来了分布式系统事务一致性的问题。为了解决分布式架构下事务问题,业界常见做法是采用分布式事务解决方案,TCC(Try

Confirm

Cancel)就是其中之一。TCC分为3个阶段:Try阶段、Confirm阶段、Cancel阶段,其中,Try阶段是指尝试执行,完成所有业务检查(一致性),预留必须业务资源(准隔离性);Confirm阶段是指确认真正执行业务,不作任何业务检查,只使用Try阶段预留的业务资源,Confirm操作要求具备幂等设计,Confirm失败后需要进行重试;Cancel阶段是指取消执行,释放Try阶段预留的业务资源。Cancel阶段的异常和Confirm阶段异常处理方案基本上一致,要求满足幂等设计。
[0003]经过上述操作,分布式事务一致性问题便得到了解决。基于TCC实现最终一致性保障机制看起来很好,但通常会大幅提升业务应用开发的复杂度。

技术实现思路

[0004]基于此,为了解决上述技术问题,提供一种分布式事务处理方法、装置、计算机设备和存储介质,可以提高分布式系统的性能,降低业务系统的复杂度和开发成本。
[0005]一种分布式事务处理方法,所述方法包括:
[0006]接收交易请求,所述交易请求中包含有分布式事务标识;
[0007]根据所述分布式事务标识判断是否启动分布式事务,若需要启动分布式事务,则启动分布式事务处理机制,并基于数据访问对象DAO访问数据库;所述DAO中添加有技术键属性,所述技术键属性用于表示所述分布式事务用到的属性;
[0008]通过所述DAO调用持久化引擎接口,并通过所述持久化引擎接口完成分布式事务逻辑。
[0009]在其中一个实施例中,在启动分布式事务处理机制之后,所述方法还包括:
[0010]创建与所述交易请求对应的分布式事务对象。
[0011]在其中一个实施例中,在通过所述持久化引擎接口完成分布式事务逻辑之前,所述方法还包括:
[0012]持久化引擎根据所述分布式事务对象判断所述分布式事务机制是否启动;
[0013]若所述分布式事务机制启动,则通过所述持久化引擎接口完成分布式事务逻辑;
[0014]若所述分布式事务机制未启动,则无需通过所述持久化引擎接口执行所述分布式事务逻辑。
[0015]在其中一个实施例中,所述通过所述DAO调用持久化引擎接口,并通过所述持久化
引擎接口完成分布式事务逻辑,包括:
[0016]当执行数据库插入请求时,通过所述DAO调用持久化引擎接口中的数据插入接口,并通过所述数据插入接口执行插入操作;
[0017]当执行数据库更新请求时,通过所述DAO调用持久化引擎接口中的数据更新接口,并通过所述数据更新接口执行更新操作;
[0018]当执行数据库删除请求时,通过所述DAO调用持久化引擎接口中的数据删除接口,并通过所述数据删除接口执行删除操作。
[0019]在其中一个实施例中,所述插入操作、所述更新操作、所述删除操作的数据状态均为待确认状态;
[0020]所述方法还包括:
[0021]获取数据确认请求,所述数据确认请求中包含有状态确认标识;
[0022]根据所述状态确认标识将所述插入操作、所述更新操作、所述删除操作的数据状态更新为确认状态或回滚状态。
[0023]在其中一个实施例中,所述通过所述DAO调用持久化引擎接口,并通过所述持久化引擎接口完成分布式事务逻辑,包括:
[0024]当执行数据库查询请求时,通过DAO调用持久化引擎接口中的数据查询接口;所述DAO调用所述数据查询接口时,通过所述数据查询接口传入查询条件;
[0025]通过所述数据查询接口在所述查询条件的基础上增加分布式事务控制条件;
[0026]通过所述数据查询接口根据所述分布式事务控制条件执行查询操作;
[0027]当所述数据库查询请求为关联表查询请求时,为每张表都拼接上所述分布式事务控制条件,执行关联查询操作。
[0028]在其中一个实施例中,所述分布式事务用到的属性包括备份标识、事务编号、事务状态;所述备份标识用于标识数据是原始数据还是备份数据;所述事务编号用于标识一条记录属于哪一个分布式事务;所述事务状态用于标识记录在所述分布式事务中的状态。
[0029]一种分布式事务处理系统,所述系统包括:
[0030]请求接收模块,用于接收交易请求,所述交易请求中包含有分布式事务标识;
[0031]分布式事务启动模块,用于根据所述分布式事务标识判断是否启动分布式事务,若需要启动分布式事务,则启动分布式事务处理机制,并基于数据访问对象DAO访问数据库;所述DAO中添加有技术键属性,所述技术键属性用于表示所述分布式事务用到的属性;
[0032]分布式事务处理模块,用于通过所述DAO调用持久化引擎接口,并通过所述持久化引擎接口完成分布式事务逻辑。
[0033]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0034]接收交易请求,所述交易请求中包含有分布式事务标识;
[0035]根据所述分布式事务标识判断是否启动分布式事务,若需要启动分布式事务,则启动分布式事务处理机制,并基于数据访问对象DAO访问数据库;所述DAO中添加有技术键属性,所述技术键属性用于表示所述分布式事务用到的属性;
[0036]通过所述DAO调用持久化引擎接口,并通过所述持久化引擎接口完成分布式事务逻辑。
[0037]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0038]接收交易请求,所述交易请求中包含有分布式事务标识;
[0039]根据所述分布式事务标识判断是否启动分布式事务,若需要启动分布式事务,则启动分布式事务处理机制,并基于数据访问对象DAO访问数据库;所述DAO中添加有技术键属性,所述技术键属性用于表示所述分布式事务用到的属性;
[0040]通过所述DAO调用持久化引擎接口,并通过所述持久化引擎接口完成分布式事务逻辑。
[0041]上述分布式事务处理方法、系统、计算机设备和存储介质,通过接收交易请求,所述交易请求中包含有分布式事务标识;根据所述分布式事务标识判断是否启动分布式事务,若需要启动分布式事务,则启动分布式事务处理机制,并基于数据访问对象DAO访问数据库;所述DAO中添加有技术键属性,所述技术键属性用于表示所述分布式事务用到的属性;通过所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式事务处理方法,其特征在于,所述方法包括:接收交易请求,所述交易请求中包含有分布式事务标识;根据所述分布式事务标识判断是否启动分布式事务,若需要启动分布式事务,则启动分布式事务处理机制,并基于数据访问对象DAO访问数据库;所述DAO中添加有技术键属性,所述技术键属性用于表示所述分布式事务用到的属性;通过所述DAO调用持久化引擎接口,并通过所述持久化引擎接口完成分布式事务逻辑。2.根据权利要求1所述的分布式事务处理方法,其特征在于,在启动分布式事务处理机制之后,所述方法还包括:创建与所述交易请求对应的分布式事务对象。3.根据权利要求2所述的分布式事务处理方法,其特征在于,在通过所述持久化引擎接口完成分布式事务逻辑之前,所述方法还包括:持久化引擎根据所述分布式事务对象判断所述分布式事务机制是否启动;若所述分布式事务机制启动,则通过所述持久化引擎接口完成分布式事务逻辑;若所述分布式事务机制未启动,则无需通过所述持久化引擎接口执行所述分布式事务逻辑。4.根据权利要求1所述的分布式事务处理方法,其特征在于,所述通过所述DAO调用持久化引擎接口,并通过所述持久化引擎接口完成分布式事务逻辑,包括:当执行数据库插入请求时,通过所述DAO调用持久化引擎接口中的数据插入接口,并通过所述数据插入接口执行插入操作;当执行数据库更新请求时,通过所述DAO调用持久化引擎接口中的数据更新接口,并通过所述数据更新接口执行更新操作;当执行数据库删除请求时,通过所述DAO调用持久化引擎接口中的数据删除接口,并通过所述数据删除接口执行删除操作。5.根据权利要求4所述的分布式事务处理方法,其特征在于,所述插入操作、所述更新操作、所述删除操作的数据状态均为待确认状态;所述方法还包括:获取数据确认请求,所述数据确认请求中包含有状态确认标识;根据所述状态确认标识将所述插入操作、所述更新操作、所...

【专利技术属性】
技术研发人员:曹蕤
申请(专利权)人:曹蕤
类型:发明
国别省市:

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

1