【技术实现步骤摘要】
事务处理方法、装置及设备
本申请涉及计算机
,尤其涉及一种事务处理方法、装置及设备。
技术介绍
事务,在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。当一个事务需要拆分成多个子事务,由多个不同的服务器执行时,该事务可以称为主事务。对应的各个子事务,可以称为分支事务。负责主事务的产生,以及分支事务的处理的服务器,可以称为协调者。负责分支事务的处理的服务器,可以称为参与者。现有技术中,为了保证数据的一致性,通常的流程是,协调者在一阶段,向各个参与者发送分支事务准备指令,各个参与者接收到指令后,进行相应的分支事务准备操作。协调者确定所有参与者均准备完毕后,在二阶段,向各个参与者发送分支事务提交指令。如果协调者确定一阶段中所有参与者无法全部准备完毕,则在二阶段向各个参与者发送回滚指令;参与者在接收到回滚指令后,执行回滚操作,释放相应资源。但是,现有技术中,由于网络延迟或者其他原因,参与者自身可能无法按照正确的顺序接收到一阶段与二阶段的指令,而参与者只要接收到协调者的指令,就会开始执行,从而导致出现一阶段与二阶段的执行顺序混乱,产生错 ...
【技术保护点】
1.一种事务处理方法,包括:获取服务器发送的指示进行一阶段事务处理的指令;所述一阶段事务为需两阶段提交的主事务在第一阶段需要处理的事务;所述指令中包含所述主事务的主事务标识;确定所述主事务的二阶段事务尚未执行;所述二阶段事务为需两阶段提交的主事务在第二阶段需要处理的事务;处理所述一阶段事务。
【技术特征摘要】
1.一种事务处理方法,包括:获取服务器发送的指示进行一阶段事务处理的指令;所述一阶段事务为需两阶段提交的主事务在第一阶段需要处理的事务;所述指令中包含所述主事务的主事务标识;确定所述主事务的二阶段事务尚未执行;所述二阶段事务为需两阶段提交的主事务在第二阶段需要处理的事务;处理所述一阶段事务。2.如权利要求1所述的方法,所述确定所述主事务的二阶段事务尚未执行,具体包括:查询包含所述主事务标识的主事务记录,得到第一查询结果;当所述第一查询结果表示查询到所述主事务记录时,锁定所述主事务记录。3.如权利要求2所述的方法,所述查询包含所述主事务标识的主事务记录之后,还包括:当所述第一查询结果表示查询不到包含所述主事务标识的主事务记录时,插入包含所述主事务标识的主事务记录;查询是否存在包含所述主事务标识的回滚记录,得到第二查询结果;所述处理所述一阶段事务,具体包括:当所述第二查询结果表示查询不到包含所述主事务标识的回滚记录时,处理所述一阶段事务。4.如权利要求3所述的方法,所述查询是否存在包含所述主事务标识的回滚记录之后,还包括:当所述第二查询结果表示存在包含所述主事务标识的回滚记录时,结束对所述一阶段事务进行处理的进程。5.如权利要求2所述的方法,所述查询包含所述主事务标识的主事务记录之后,还包括:当所述第一查询结果表示查询不到包含所述主事务标识的主事务记录时,查询包含所述主事务标识的回滚记录,得到第三查询结果;当所述第三查询结果表示查询不到包含所述主事务标识的回滚记录时,对包含所述主事务标识的回滚记录的存储区域执行锁定操作;插入包含所述主事务标识的主事务记录。6.如权利要求5所述的方法,所述查询包含所述主事务标识的回滚记录之后,还包括:当所述第三查询结果表示查询到包含所述主事务标识的回滚记录时,结束对所述一阶段事务进行处理的进程。7.一种事务处理方法,包括:获取服务器发送的指示进行二阶段事务处理的回滚指令;所述二阶段事务为需两阶段提交的主事务在第二阶段需要处理的事务;所述回滚指令中包含所述主事务的主事务标识;确定所述主事务的一阶段事务已执行完毕;所述一阶段事务为需两阶段提交的主事务在第一阶段需要处理的事务;对已执行完毕的所述一阶段事务执行回滚操作。8.如权利要求7所述的方法,所述确定所述主事务的一阶段事务已执行完毕,具体包括:查询包含所述主事务标识的主事务记录,得到第一查询结果;当所述第一查询结果表示查询到包含所述主事务标识的主事务记录时,锁定所述主事务记录。9.如权利要求8所述的方法,所述对已执行完毕的所述一阶段事务执行回滚操作之后,还包括:插入包含所述主事务标识的回滚记录。10.如权利要求8所述的方法,所述查询包含所述主事务标识的主事务记录之后,还包括:当所述第一查询结果表示查询不到包含所述主事务标识的主事务记录时,插入包含所述主事务标识的主事务记录;删除所述主事务记录;查询包含所述主事务标识的回滚记录,得到第二查询结果;当所述第二查询结果表示查询不到包含所述主事务标识的回滚记录时,插入包含所述主事务标识的回滚记录。11.如权利要求10所述的方法,所述查询包含所述主事务标识的回滚记录之后,还包括:当所述第二查询结果表示查询到包含所述主事务标识的回滚记录时,结束对所述二阶段事务进行处理的进程。12.如权利要求8所述的方法,所述查询包含所述主事务标识的主事务记录之前,还包括:查询包含所述主事务标识的回滚记录,得到第三查询结果;当所述第三查询结果表示查询不到包含所述主事务标识的回滚记录时,插入包含所述主事务标识的回滚记录。13.如权利要求12所述的方法,所述查询包含所述主事务标识的回滚记录之后,还包括:当所述第三查询结果表示查询到包含所述主事务标识的回滚记录时,结束对所述二阶段事务进行处理的进程。14.如权利要求12所述的方法,所述插入包含所述主事务标识的回滚记录之后,还包括:当所述第一查询结果表示查询不到包含所述主事务标识的主事务记录时,结束对所述二阶段事务进行处理的进程。15.一种事务处理装置,包括:指令获取模块,用于获取服务器发送的指示进行一阶段事务处理的指令;所述一阶段事务为需两阶段提交的主事务在第一阶段需要处理的事务;所述指令中包含所述主事务的主事务标识;确定模块,用于确定所述主事务的二阶段事务尚未执行;所述二阶段事务为需两阶段提交的主事务在第二阶段需要处理的事务;一阶段事务处理模块,用于处理所述一阶段事务。16.如权利要求15所述的装置,所述确定模块具体包括:第一结果确定单元,用于查询包含所述主事务标识的主事务记录,得到第一查询结果;主事务记录锁定单元,用于当所述第一查询结果表示查询到所述主事务记录时,锁定所述主事务记录。17.如权利要求16所述的装置,所述确定模块还包括:第一主事务...
【专利技术属性】
技术研发人员:孙进宝,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。