事务协调器、资源使用端、服务端及分布式事务处理方法技术

技术编号:2837824 阅读:255 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及事务协调器,事务资源使用端、服务端以及事务资源使用端、服务端处理分布式事务的方法。使用端对事务资源客户端进行注册;通过注册的事务资源客户端提交提交请求;注销事务资源客户端。服务端根据业务操作请求中携带的事务标识查找对应的事务适配器;将当前事务替换为所述事务适配器;执行业务操作;将资源管理器注册到事务标识对应的事务适配器;根据提交请求中携带的事务标识将所述提交请求转发至相应的事务适配器,通过注册的资源管理器执行提交。本发明专利技术实施例实现了基于非JCA的事务统一,接口简单,满足基于J2EE、J2SE的应用系统以及基于C++、C#等的非Java应用系统的数据操作一致性需求,并实现了跨事务管理器的事务统一。

【技术实现步骤摘要】

本专利技术涉及分布式事务处理技术,尤其涉及能够实现跨系统分布式事务处理的事务协调器、事务资源使用端、服务端以及事务资源使用端、服务端处理分布式事务的方法。
技术介绍
随着企业应用系统的广泛发展,财务管理系统、管理分析系统、营业系统,客户关系管理系统、物流管理系统、计费系统等系统间存在着越来越多的信息交互,这要求企业数据具有一致性。企业数据一致性的需求要求数据操作具有原子性,一致性,隔离性,持久性(Atomicity,Consistency,Isolation,Durability,简称ACID),即要求进行分布式事务处理,并且事务处理需要在多个事务性资源间实现。事务是指作为工作的单一逻辑单元而执行的一系列操作。分布式事务是指两个或更多事务资源(比如,两个单独的数据库)之间的ACID事务。现有的基于J2EE连接架构(J2EE Connector Architecture,简称JCA)的事务统一框架实现了跨系统的事务统一。在该框架下,资源适配器(ResourceAdapter)提供了连接(Connection)和连接工厂(Connection Factory)接口,连接工厂负责创建与应用系统(Application System)的连接。连结管理(Connection Manager)统一管理不同应用系统的连接。当连接管理接收到来自连接工厂的连接请求时,连接管理从连接的缓存容器——连接池(PoolManager)中获取连接。如果连接池无可用的连接,则会调用管理连接工厂(Managed Connection Factory)创建一个新的物理连接。现有的基于JCA的事务统一构架存在如下缺陷接口复杂,实现困难,甚至有些现有系统在机制上就无法实现JCA的标准接口,其仅适用于基于J2EE规范构建的应用系统,并不能解决不基于J2EE规范或者非Java应用系统的数据一致性需求,如C++应用,C#应用等。
技术实现思路
本专利技术实施例的目的在于提供了接口简单,符合数据一致性要求的事务协调器、事务资源使用端、事务资源服务端、以及事务资源使用端、服务端的分布式事务处理方法,实现跨系统分布式事务处理,并适用于基于J2EE、J2SE(Java 2 Standard Edition)、C++、C#等多种应用系统。为了实现上述目的,本专利技术实施例提供了一种事务资源使用端的分布式事务处理方法,包括如下步骤注册事务资源客户端;利用所述事务资源客户端向事务资源服务端提交携带有事务标识的提交请求;及注销事务资源客户端。为了实现上述目的,本专利技术实施例还提供了一种事务资源服务端的分布式事务处理方法,包括根据业务操作请求中携带的事务标识查找对应的事务适配器;将当前事务替换为所述事务适配器;根据所述业务操作请求执行业务操作;将资源管理器注册到所述事务适配器;根据提交请求中携带的事务标识将所述提交请求转发至所述事务适配器;及通过所述资源管理器执行提交。为了实现上述目的,本专利技术实施例又提供了一种事务协调器,包括事务代理模块,用于通过注册的事务资源客户端提交携带有事务标识的提交请求;注册模块,用于注册参与当前事务的事务资源客户端,并将注册信息通知所述事务代理模块;所述事务资源客户端至少为一个;提交请求转发模块,用于向事务代理模块提交提交请求;以及注销模块,用于注销当前事务的事务资源客户端,并将注销信息通知所述事务代理模块。为了实现上述目的,本专利技术实施例还提供了一种事务资源使用端,包括事务协调器,用于协调事务资源,进行分布式事务控制,该事务协调器包括事务代理模块用于通过注册的事务资源客户端提交携带有事务标识的提交请求;注册模块,用于注册参与当前事务的事务资源客户端,并将注册信息通知事务代理模块;所述事务资源客户端至少为一个;提交请求转发模块,用于向事务代理模块提交提交请求;及注销模块,用于注销当前事务的事务资源客户端,并将注销信息通知事务代理模块;业务操作请求模块,用于通过的事务资源客户端提交携带有事务标识的业务操作请求;提交请求模块,用于发起提交请求;事务资源客户端,用于与事务资源服务端通信,提交业务操作请求及提交请求。为了实现上述目的,本专利技术实施例再提供了一种事务资源服务端,包括事务映射模块,用于查找事务标识对应的事务适配器;该事务映射模块包括事务适配器,用于将提交请求转发至注册的资源管理器;记录模块,用于记录事务标识与事务适配器的对应关系及查找模块,用于查找事务标识对应的事务适配器;事务适配器创建模块,用于创建事务适配器,并将事务标识与事务适配器保存至所述记录模块;资源管理器,用于根据所述提交请求执行提交;事务管理器,用于将当前事务替换为所述事务适配器以及资源管理器的注册及注销。本专利技术实施例由事务协调器在事务管理器上层控制事务,实现了分布式事务处理要求的原子性、一致性、隔离性和持久性,并且作为接口的事务适配器简单易用;本专利技术实施例实现了跨系统的分布式事务处理,满足了基于J2EE、J2SE(Java 2 Standard Edition)、C++、C#等多种应用系统的数据操作一致性需求。附图说明图1为本专利技术实施例事务资源使用端的第一结构示意图;图2为本专利技术实施例事务资源服务端的第一结构示意图;图3为本专利技术实施例事务资源使用端及事务资源服务端构成的分布式事务处理系统的结构示意图;图4为本专利技术实施例事务协调器的第一结构示意图;图5为本专利技术实施例事务协调器的第二结构示意图;图6为本专利技术实施例事务资源使用端的第二结构示意图;图7为本专利技术实施例事务资源服务端的第二结构示意图;图8为本专利技术实施例事务资源使用端的分布式事务处理方法的第一流程图;图9为本专利技术实施例事务资源服务端的分布式事务处理方法的第一流程图;图10为本专利技术实施例事务资源使用端的分布式事务处理方法的第二流程图;图11为本专利技术实施例事务资源服务端的分布式事务处理方法的第二流程图;图12为本专利技术实施例事务资源使用端的分布式事务处理方法的第三流程图;图13为本专利技术实施例事务资源服务端的分布式事务处理方法的第三流程图。具体实施例方式如图1所示,本专利技术实施例事务资源使用端的第一结构示意图。事务资源使用端1通过事务资源客户端12使用事务资源服务端提供的服务。事务资源使用端1包括事务协调器11、事务资源客户端12、业务操作请求模块13以及提交请求模块14。事务协调器11用于协调事务资源并进行分布式事务控制,事务资源使用端1通过事务协调器11开始事务。事务资源客户端12与事务资源服务端2(图中未示出)一一对应,其用于与相应的事务资源服务端2通信,提交携带有事务标识的业务操作请求及提交请求,实现事务资源服务端2的业务调用。业务操作请求模块13用于通过事务资源客户端12提交携带有事务标识的业务操作请求,业务操作包括数据的增、删、改、查及消息发布等。各事务资源客户端12接收到业务操作请求后,注册到事务协调器11中。提交请求模块14用于发起提交请求,该模块将提交请求发送至事务协调器11,事务协调器11通过注册的事务资源客户端12向事务资源服务端2发送提交请求。当事务涉及多个事务资源客户端时,业务操作请求模块13可按照事务包含的各项操作的顺序向操作对应的各事务资源客户端12逐个发送业务操作请求,各事务资源客户端接收到业务本文档来自技高网
...

【技术保护点】
一种事务资源使用端的分布式事务处理方法,其特征在于,所述方法包括如下步骤:注册事务资源客户端;利用所述事务资源客户端向事务资源服务端提交携带有事务标识的提交请求;及注销所述事务资源客户端。

【技术特征摘要】
1.一种事务资源使用端的分布式事务处理方法,其特征在于,所述方法包括如下步骤注册事务资源客户端;利用所述事务资源客户端向事务资源服务端提交携带有事务标识的提交请求;及注销所述事务资源客户端。2.根据权利要求1所述的事务资源使用端的分布式事务处理方法,其特征在于,所述注册事务资源客户端的步骤之前还包括如下步骤创建事务代理模块;及生成事务标识;所述事务代理模块,用于通过注册的事务资源客户端提交携带有事务标识的提交请求。3.根据权利要求2所述的事务资源使用端的分布式事务处理方法,其特征在于,所述生成事务标识的步骤之后,所述分布式事务处理方法还包括向事务资源客户端发送携带有事务标识的业务操作请求的步骤。4.根据权利要求2所述的事务资源使用端的分布式事务处理方法,其特征在于,在对事务资源客户端进行注册的步骤之后还包括将注册信息通知事务代理模块的步骤。5.根据权利要求1所述的事务资源使用端的分布式事务处理方法,其特征在于,所述通过注册的事务资源客户端向事务资源服务端提交携带有事务标识的提交请求的步骤具体为采用两阶段提交方式通过注册的事务资源客户端向事务资源服务端提交携带有事务标识的提交请求。6.根据权利要求3所述的事务资源使用端的分布式事务处理方法,其特征在于,所述向事务资源客户端发送业务操作请求的步骤具体为依次向各参与当前事务的事务资源客户端发送业务操作请求。7.根据权利要求1至6任意一项所述的分布式事务处理方法,其特征在于,所述注册事务资源客户端的步骤具体为依次注册参与当前事务的各事务资源客户端。8.根据权利要求1至6任意一项所述的事务资源使用端的分布式事务处理方法,其特征在于,所述通过注册的事务资源客户端向事务资源服务端提交携带有事务标识的提交请求的步骤具体为向注册的多个事务资源客户端依次提交携带有事务标识的提交准备请求,若均成功,则向该多个事务资源客户端依次提交携带有事务标识的提交操作请求。9.一种事务资源服务端的分布式事务处理方法,其特征在于,所述方法包括根据业务操作请求中携带的事务标识查找对应的事务适配器;将当前事务替换为所述事务适配器;根据所述业务操作请求执行业务操作;将资源管理器注册到所述事务适配器;根据提交请求中携带的事务标识将所述提交请求转发至所述事务适配器;及通过所述资源管理器执行提交。10.根据权利要求9所述的事务资源服务端的分布式事务处理方法,其特征在于,所述根据业务操作请求中携带的事务标识查找对应的事务适配器的步骤后,若不存在事务标识对应的事务适配器,则创建事务适配器,并记录事务标识与事务适配器的对应关系。11.根据权利要求9所述的事务资源服务端的分布式事务处理方法,其特征在于,在执行提交后,删除所述事务适配器以及所述事务标识与事务适配器的对应关系,并将当前事务由事务适配器替换为事务管理器的事务。12.根据权利要求9所述的事务资源服务端的处理分布式事务处理方法,其特征在于,所述根据提交请求中携带的事务标识将所述提交请求转发至所述事务适配器的步骤具体为根据提交请求中携带的事务标识查找对应的事务适配器,将提交请求转发至该事务适配器。13.一种事务协调器,其特征在于,所述事务协调器包括事务代理模块,用于利用注册的事务资源客户端提交携带有事务标识的提交请求;注册模块,用于...

【专利技术属性】
技术研发人员:刘诗凯沈青春
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1
相关领域技术
  • 暂无相关专利