[发明专利]事务处理方法、装置及设备在审
申请号: | 201811624568.5 | 申请日: | 2018-12-28 |
公开(公告)号: | CN109901914A | 公开(公告)日: | 2019-06-18 |
发明(设计)人: | 孙进宝 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京晋德允升知识产权代理有限公司 11623 | 代理人: | 杨移 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务 事务处理 装置及设备 两阶段 指令 服务器发送 事务标识 | ||
本说明书实施例公开了一种事务处理方法、装置及设备。方案包括:获取服务器发送的指示进行一阶段事务处理的指令;所述一阶段事务为需两阶段提交的主事务在第一阶段需要处理的事务;所述指令中包含所述主事务的主事务标识;确定所述主事务的二阶段事务尚未执行;所述二阶段事务为需两阶段提交的主事务在第二阶段需要处理的事务;处理所述一阶段事务。
技术领域
本申请涉及计算机技术领域,尤其涉及一种事务处理方法、装置及设备。
背景技术
事务,在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。
当一个事务需要拆分成多个子事务,由多个不同的服务器执行时,该事务可以称为主事务。对应的各个子事务,可以称为分支事务。负责主事务的产生,以及分支事务的处理的服务器,可以称为协调者。负责分支事务的处理的服务器,可以称为参与者。
现有技术中,为了保证数据的一致性,通常的流程是,协调者在一阶段,向各个参与者发送分支事务准备指令,各个参与者接收到指令后,进行相应的分支事务准备操作。协调者确定所有参与者均准备完毕后,在二阶段,向各个参与者发送分支事务提交指令。如果协调者确定一阶段中所有参与者无法全部准备完毕,则在二阶段向各个参与者发送回滚指令;参与者在接收到回滚指令后,执行回滚操作,释放相应资源。
但是,现有技术中,由于网络延迟或者其他原因,参与者自身可能无法按照正确的顺序接收到一阶段与二阶段的指令,而参与者只要接收到协调者的指令,就会开始执行,从而导致出现一阶段与二阶段的执行顺序混乱,产生错误的事务处理结果。
发明内容
有鉴于此,本申请实施例提供了一种事务处理方法、装置及设备,用于解决由于网络延迟或者其他原因,参与者自身可能无法按照正确的顺序接收到一阶段与二阶段的指令,而参与者只要接收到协调者的指令,就会开始执行,从而导致出现一阶段与二阶段的执行顺序混乱,产生错误的事务处理结果的问题。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种事务处理方法,包括:
获取服务器发送的指示进行一阶段事务处理的指令;所述一阶段事务为需两阶段提交的主事务在第一阶段需要处理的事务;所述指令中包含所述主事务的主事务标识;
确定所述主事务的二阶段事务尚未执行;所述二阶段事务为需两阶段提交的主事务在第二阶段需要处理的事务;
处理所述一阶段事务。
本说明书实施例提供的另一种事务处理方法,包括:
获取服务器发送的指示进行二阶段事务处理的回滚指令;所述二阶段事务为需两阶段提交的主事务在第二阶段需要处理的事务;所述回滚指令中包含所述主事务的主事务标识;
确定所述主事务的一阶段事务已执行完毕;所述一阶段事务为需两阶段提交的主事务在第一阶段需要处理的事务;
对已执行完毕的所述一阶段事务执行回滚操作。
本说明书实施例提供的一种事务处理装置,包括:
指令获取模块,用于获取服务器发送的指示进行一阶段事务处理的指令;所述一阶段事务为需两阶段提交的主事务在第一阶段需要处理的事务;所述指令中包含所述主事务的主事务标识;
确定模块,用于确定所述主事务的二阶段事务尚未执行;所述二阶段事务为需两阶段提交的主事务在第二阶段需要处理的事务;
一阶段事务处理模块,用于处理所述一阶段事务。
本说明书实施例提供的另一种事务处理装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811624568.5/2.html,转载请声明来源钻瓜专利网。