事务回放方法以及装置制造方法及图纸

技术编号:33123078 阅读:55 留言:0更新日期:2022-04-17 00:28
本说明书实施例提供事务回放方法以及装置,其中事务回放方法包括:获取待回放事务、以及待回放事务的开始时间戳;确定待回放事务待插入的第一目标队列;在待回放事务的开始时间戳不大于第二目标队列的指定提交时间戳的情况下,将待回放事务插入第一目标队列进行回放,其中,第二目标队列与第一目标队列分别记录有进行回放的事务和事务的提交时间戳,第二目标队列与第一目标队列之间的事务并行回放。本方案可以提高事务回放的效率。本方案可以提高事务回放的效率。本方案可以提高事务回放的效率。

【技术实现步骤摘要】
事务回放方法以及装置


[0001]本说明书实施例涉及数据库
,特别涉及一种事务回放方法。

技术介绍

[0002]逻辑复制是一种将对象及对象的更改进行复制的方法,被广泛用于数据库的主备复制、分布式数据库的数据在线迁移、以及数据库在线升级等场景。在上述场景中,用于实现对象更改的操作可以是事务(Transaction):访问及更新数据库中各数据项的一个程序执行单元(unit)。例如,在关系数据库中,一个事务可以是一条结构化查询语言(SQL,Structured Query Language)语句,一组SQL语句或整个程序。因此,对所复制对象的更改可以包括:获取所复制对象的事务,针对所复制对象对所获取的事务进行回放,在回放完成时提交该事务。
[0003]在具体应用中,逻辑复制中事务的数量往往为多个。并且,不同事务之间可能存在读写依赖关系:某一事务需要在另一事务回放结束后才能进行回放。对此,通常对多个事务进行串行回放。但是,在上述关于数据库的应用场景中通常存在大量并发的事务,上述串行回放的方式容易导致事务回放的效率大幅降低。因此,需要提供更本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种事务回放方法,包括:获取待回放事务、以及所述待回放事务的开始时间戳;确定所述待回放事务待插入的第一目标队列,所述第一目标队列中记录的事务与所述待回放事务存在串行回放的执行关系;在所述待回放事务的开始时间戳不大于第二目标队列的指定提交时间戳的情况下,将所述待回放事务插入所述第一目标队列进行回放,其中,所述第二目标队列与所述第一目标队列分别记录有进行回放的事务和事务的提交时间戳,所述第二目标队列与所述第一目标队列之间的事务并行回放。2.根据权利要求1所述的方法,所述指定提交时间戳包括:所述第二目标队列中所有未完成回放的事务的提交时间戳;所述在所述待回放事务的开始时间戳不大于第二目标队列的指定提交时间戳的情况下,将所述待回放事务插入所述第一目标队列进行回放,包括:分别比较所述待回放事务的开始时间戳与所述第二目标队列中所有未完成回放的事务的提交时间戳;若所述待回放事务的开始时间戳不大于所述第二目标队列中所有未完成回放的事务的提交时间戳,则将所述待回放事务插入所述第一目标队列进行回放。3.根据权利要求2所述的方法,在所述分别比较所述待回放事务的开始时间戳与所述第二目标队列中所有未完成回放的事务的提交时间戳之后,还包括:若所述第二目标队列中存在未完成回放的第一事务的提交时间戳小于所述待回放事务的开始时间戳,则等待所述第一事务完成回放。4.根据权利要求1所述的方法,所述指定提交时间戳为:所述第二目标队列中未完成回放的事务的最小提交时间戳;所述在所述待回放事务的开始时间戳不大于第二目标队列的指定提交时间戳的情况下,将所述待回放事务插入所述第一目标队列进行回放,包括:比较所述待回放事务的开始时间戳与所述最小提交时间戳;若所述待回放事务的开始时间戳不大于所述最小提交时间戳,则将所述待回放事务插入所述第一目标队列进行回放。5.根据权利要求4所述的方法,在所述比较所述待回放事务的开始时间戳与所述最小提交时间戳之后,还包括:若所述待回放事务的开始时间戳大于所述最小提交时间戳,则等待所述第二目标队列中未回放完成的事务完成回放。6.根据权利要求1至5任一项所述的方法,所述确定所述待回放事务待插入的第一目标队列,包括:获取所述待...

【专利技术属性】
技术研发人员:康俊彬周星璇蔡乐李飞飞蔡松露
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1