【技术实现步骤摘要】
事务处理方法、服务器集群及数据库节点
[0001]本专利技术实施例涉及数据库
,尤其涉及一种事务处理方法、服务器集群及数据库节点。
技术介绍
[0002]XA协议由X/Open组织定义,用于跨异构数据源的分布式事务处理(Distributed Transaction Processing,DTP),XA协议是事务管理器(Transaction Manager,TM)与资源管理器(Resource Manager,RM)间的通信接口标准。实现该XA协议的数据库可作为异构数据源在事务管理器的协调管理下参与同一个分布式事务。
[0003]在共享存储集群下,各个节点作为资源管理器独立参与分布式事务的处理,其中由XA协议规定的分布式事务,可称为XA事务。由于各个节点维护的XA事务信息彼此不可见,会导致不同的节点可同时参与处理同一XA事务,从而无法保证每个XA事务只有一个唯一节点参与,即无法保证XA事务的唯一性。
技术实现思路
[0004]本专利技术实施例提供了一种事务处理方法、服务器集群及数据库节点,以在 ...
【技术保护点】
【技术特征摘要】
1.一种事务处理方法,其特征在于,包括:第一节点接收事务管理器请求,若所述第一节点中存在所述事务管理器请求对应的目标事务,则所述第一节点执行所述目标事务,否则,所述第一节发送事务注册请求至第二节点;其中,所述事务注册请求包括所述目标事务对应的目标全局事务标识符GTID和目标节点号所构成的目标键值对,所述目标节点号为所述第一节点的节点号;所述第二节点根据所述事务注册请求向所述第一节点返回注册结果;所述第一节点设置注册标记以记录所述注册结果,并根据所述注册标记执行相应的事务处理操作。2.根据权利要求1所述的方法,其特征在于,所述第二节点根据所述事务注册请求向所述第一节点返回注册结果,包括:所述第二节点接收所述事务注册请求;所述第二节点根据哈希表和所述事务注册请求,判断所述目标事务是否已被注册,其中,所述哈希表包括已注册事务的已注册GTID和对应的已注册节点号;若是,则所述第二节点确定注册结果为注册失败,并返回所述注册结果至所述第一节点;若否,则所述第二节点将所述事务注册请求中所包含的目标键值对存储至所述哈希表中以注册所述目标事务,并确定注册结果为注册成功,返回所述注册结果至所述第一节点。3.根据权利要求2所述的方法,其特征在于,所述第二节点根据哈希表和所述事务注册请求,判断所述目标事务是否已被注册,包括:所述第二节点判断所述哈希表中所包含的已注册GTID中是否包含所述目标事务对应的目标GTID;若是,则所述目标事务已被注册;否则,所述目标事务未被注册。4.根据权利要求1所述的方法,其特征在于,所述注册标记包括未接收到注册结果、注册失败和注册成功;所述根据所述注册标记执行相应的事务处理操作,包括:若所述注册标记为未接收到注册结果,则所述第一节点等待接收所述注册结果,直至接收到所述注册结果之后,返回执行设置注册标记的操作;若所述注册标记为注册失败,则所述第一节点拒绝执行所述目标事务,并向所述事务管理器返回错误信息;若所述注册标记为注册成功,则所述第一节点在本地创建目标事务,并执行所述目标事务。5.根据权利要求4所述的方法,其特征在于,在执行所述目标事务之后,还包括:所述第一节点在接收到所述事务管理器的提交或回滚请求之后,执行所述目标事务的提交或回滚;在执行完所述目标事务的提交或回滚之后,所述第一节点清理所述目标事务,并发送事务注销请求至所述第二节点,其中,所述事务注销请求包括所述目标事务对应的...
【专利技术属性】
技术研发人员:王海龙,李金龙,韩朱忠,
申请(专利权)人:上海达梦数据库有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。