[发明专利]事务回放方法以及装置在审
申请号: | 202111464744.5 | 申请日: | 2021-12-02 |
公开(公告)号: | CN114356508A | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 康俊彬;周星璇;蔡乐;李飞飞;蔡松露 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F16/23 |
代理公司: | 北京智信禾专利代理有限公司 11637 | 代理人: | 赵杰 |
地址: | 310052 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务 回放 方法 以及 装置 | ||
1.一种事务回放方法,包括:
获取待回放事务、以及所述待回放事务的开始时间戳;
确定所述待回放事务待插入的第一目标队列,所述第一目标队列中记录的事务与所述待回放事务存在串行回放的执行关系;
在所述待回放事务的开始时间戳不大于第二目标队列的指定提交时间戳的情况下,将所述待回放事务插入所述第一目标队列进行回放,其中,所述第二目标队列与所述第一目标队列分别记录有进行回放的事务和事务的提交时间戳,所述第二目标队列与所述第一目标队列之间的事务并行回放。
2.根据权利要求1所述的方法,所述指定提交时间戳包括:所述第二目标队列中所有未完成回放的事务的提交时间戳;
所述在所述待回放事务的开始时间戳不大于第二目标队列的指定提交时间戳的情况下,将所述待回放事务插入所述第一目标队列进行回放,包括:
分别比较所述待回放事务的开始时间戳与所述第二目标队列中所有未完成回放的事务的提交时间戳;
若所述待回放事务的开始时间戳不大于所述第二目标队列中所有未完成回放的事务的提交时间戳,则将所述待回放事务插入所述第一目标队列进行回放。
3.根据权利要求2所述的方法,在所述分别比较所述待回放事务的开始时间戳与所述第二目标队列中所有未完成回放的事务的提交时间戳之后,还包括:
若所述第二目标队列中存在未完成回放的第一事务的提交时间戳小于所述待回放事务的开始时间戳,则等待所述第一事务完成回放。
4.根据权利要求1所述的方法,所述指定提交时间戳为:所述第二目标队列中未完成回放的事务的最小提交时间戳;
所述在所述待回放事务的开始时间戳不大于第二目标队列的指定提交时间戳的情况下,将所述待回放事务插入所述第一目标队列进行回放,包括:
比较所述待回放事务的开始时间戳与所述最小提交时间戳;
若所述待回放事务的开始时间戳不大于所述最小提交时间戳,则将所述待回放事务插入所述第一目标队列进行回放。
5.根据权利要求4所述的方法,在所述比较所述待回放事务的开始时间戳与所述最小提交时间戳之后,还包括:
若所述待回放事务的开始时间戳大于所述最小提交时间戳,则等待所述第二目标队列中未回放完成的事务完成回放。
6.根据权利要求1至5任一项所述的方法,所述确定所述待回放事务待插入的第一目标队列,包括:
获取所述待回放事务的目标对象标识;
从各队列中查找所述目标对象标识对应的第一目标队列。
7.根据权利要求1至5任一项所述的方法,在所述将所述待回放事务插入所述第一目标队列进行回放之后,还包括:
若在达到预设时长阈值时,未对所述待回放事务执行回放,则从所述第二目标队列中,确定回放总时长最短的第三目标队列,其中,任一队列的回放总时长为该队列中未回放事务均完成回放所需的总时长;
从当前的第一目标队列中取出所述待回放事务,并插入所述第三目标队列。
8.根据权利要求1至5任一项所述的方法,所述获取待回放事务,包括:
获取对目标对象生成快照的快照时间戳、以及所述目标对象的数据库日志;
解析所述数据库日志,获得提交时间戳大于或者等于所述快照时间戳的事务,作为所述待回放事务。
9.根据权利要求8所述的方法,任一事务对应有一个事务标识;还包括:
在解析所述目标对象的数据库日志的过程中,若解析得到中止信息,则获取所述中止信息对应的事务标识;
从缓存区中删除所述事务标识对应的事务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111464744.5/1.html,转载请声明来源钻瓜专利网。