【技术实现步骤摘要】
一种基于并发扫描以及并发回放的数据事务复制的方法
[0001]本专利技术涉及数据处理
,尤其涉及一种基于并发扫描以及并发回放的数据事务复制的方法
。
技术介绍
[0002]数据库备库回放是指将主库的操作记录在备库上重新执行,以使备库的数据与主库一致,目前只能串行回放事务
。
主库如果并发事务量较大
,
从库只能串行回放
。
主库发生了大事务
,
会阻塞后续的所有的事务的运行
。
技术实现思路
[0003]为了解决以上技术问题,本专利技术提供了一种基于并发扫描以及并发回放的数据事务复制的方法,可以实现由原本的串行的事务回放优化成事务之间的并发回放,极大幅度的提升事务的回放性能,解决了分布式数据库的事务数据只能串行回放的问题
。
[0004]本专利技术的技术方案是:
[0005]一种基于并发扫描以及并发回放的数据事务复制的方法,
[0006]根据
Reactor
模型,拆分
Main Reactor(Scanner)
和
Sub Reactor(Replayer)
两种协程并发模型,以及通过并发控制确保全部可回放的事务最终都被回放结束;
[0007]通过并发的
Scanner
实现并发对事务回放队列进行扫描,生成可以并发回放的事务,并且通知回放协程
Replayer
进行并发的回放
。
...
【技术保护点】
【技术特征摘要】
1.
一种基于并发扫描以及并发回放的数据事务复制的方法,其特征在于,根据
Reactor
模型,拆分
Main Reactor(Scanner)
和
Sub Reactor(Replayer)
两种协程并发模型,以及通过并发控制确保全部可回放的事务最终都被回放结束;通过并发的
Scanner
实现并发对事务回放队列进行扫描,生成可以并发回放的事务,并且通知回放协程
Replayer
进行并发的回放
。2.
根据权利要求1所述的方法,其特征在于,备库的事务数据按照事务
ID
分段存储到备库的事务数据队列中,根据事务
ID
为
UUID
完全无序的特性,对
UUID
进行事务
ID
分段并发扫描,将事务
ID UUID
分段后,交给
Scanner
协程,每个
Scanner
负责一个
UUID
分区进行数个
Scanner
并发扫描,扫描可回放的事务
。3.
根据权利要求2所述的方法,其特征在于,当
Scanner
发现可回放的事务后,会将事务
ID
加入
txnList
执行
enqueu
操作,加入事务
ID
后,
Scanner
会执行
notify
操作,唤醒正在睡眠的
Replayer
进行事务回放操作
。4.
根据权利要求3所述的方法,其特征在于,
Replayer<...
【专利技术属性】
技术研发人员:邱卓栋,冯友旭,
申请(专利权)人:上海沄熹科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。