【技术实现步骤摘要】
一种数据库复制系统、方法、源端设备以及目的端设备本申请要求在2020年2月28日提交中华人民共和国知识产权局、申请号为202010129105.2、专利技术名称为“数据复制方法和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及存储
,尤其涉及一种数据库复制系统、方法、源端设备以及目的端设备。
技术介绍
随着技术的发展,越来越多的数据需要使用数据库进行存储。为了保证数据库中数据的可靠性,通常可以通过数据库复制方案,将源端数据库中的数据复制到目的端数据库中,以保证当源端数据库中的数据发生故障时,能够从目的端数据库中恢复发生故障前的数据。作为一种示例,基于事务日志的数据库复制方案通常包括变化数据捕获、变化数据传输以及变化数据重演这3个阶段。其中,变化数据捕获是指,通过源数据库的日志文件中记录的事务日志,识别源端数据库中发生变化的数据,并获取该发生变化的数据所对应的事务日志。变化数据的传输是指,将发生变化的数据所对应的事务日志从源端数据库传输到目的端数据库。变化数据的重演是指,目的端数据库对接收到的发生变化的数据所对应的事务日志进行解析及处理,将变化的数据更新到目的端数据库。由于数据库中的多个事务日志之间可能存在依赖关系,例如,事务日志1必须在事务日志2重演完成之后再重演,其原因在于,事务日志1和事务日志2均记录了源数据库中针对相同的操作对象进行的操作,例如写操作,针对源数据库的一个数据表行主键的写操作,事务日志1记录的针对该行主键的写操作先于事务日志2记录的针对该行 ...
【技术保护点】
1.一种数据库复制系统,其特征在于,包括源端设备和目的端设备,所述数据库复制系统用于根据源端数据库的日志文件中包括的至少两组事务日志,在目的端数据库进行重演,其中:/n所述源端设备,用于从所述源端数据库的日志文件中并行获取所述至少两组事务日志,所述至少两组事务日志包括第一组事务日志和第二组事务日志,并发送所述至少两组事务日志,其中,第一组事务日志至少包括相邻的第一事务日志和第二事务日志,所述第二组事务日志至少包括相邻的第三事务日志和第四事务日志,所述第二事务日志的产生时间早于所述第三事务日志的产生时间;/n所述目的端设备,用于接收所述至少两组事务日志,在根据所述第一组事务日志中的所述第一事务日志、所述第二事务日志以及所述第一事务日志与所述第二事务日志的依赖关系在所述目的端数据库进行事务重演之后,根据所述第二组事务日志中的所述第三事务日志、所述第四事务日志以及所述第三事务日志与所述第四事务日志的依赖关系在所述目的端数据库进行事务重演,使得所述目的端数据库与所述源端数据库存储的数据一致。/n
【技术特征摘要】
20200228 CN 20201012910521.一种数据库复制系统,其特征在于,包括源端设备和目的端设备,所述数据库复制系统用于根据源端数据库的日志文件中包括的至少两组事务日志,在目的端数据库进行重演,其中:
所述源端设备,用于从所述源端数据库的日志文件中并行获取所述至少两组事务日志,所述至少两组事务日志包括第一组事务日志和第二组事务日志,并发送所述至少两组事务日志,其中,第一组事务日志至少包括相邻的第一事务日志和第二事务日志,所述第二组事务日志至少包括相邻的第三事务日志和第四事务日志,所述第二事务日志的产生时间早于所述第三事务日志的产生时间;
所述目的端设备,用于接收所述至少两组事务日志,在根据所述第一组事务日志中的所述第一事务日志、所述第二事务日志以及所述第一事务日志与所述第二事务日志的依赖关系在所述目的端数据库进行事务重演之后,根据所述第二组事务日志中的所述第三事务日志、所述第四事务日志以及所述第三事务日志与所述第四事务日志的依赖关系在所述目的端数据库进行事务重演,使得所述目的端数据库与所述源端数据库存储的数据一致。
2.根据权利要求1所述的数据库复制系统,其特征在于,
所述源端设备还用于在确认所述第一事务日志记录的第一事务操作在所述源端数据库中的操作对象与所述第二事务日志记录的第二事务操作在所述源端数据库中的操作对象相同,且所述第一事务日志记录的第一事务操作在所述源端数据库中的操作时刻早于所述第二事务日志记录的第二事务操作在所述源端数据库中的操作时刻的情况下,将所述第一事务日志的编号记录到所述第二事务日志中,其中,所述第一事务日志的编号用于指示所述第一事务日志与所述第二事务日志的依赖关系;
所述源端设备还用于在确认所述第三事务日志记录的第三事务操作在所述源端数据库中的操作对象与所述第四事务日志记录的第四事务操作在所述源端数据库中的操作对象相同,且所述第三事务日志记录的第三事务操作在所述源端数据库中的操作时刻早于所述第四事务日志记录的第四事务操作在所述源端数据库中的操作时刻的情况下,将所述第三事务日志的编号记录到所述第四事务日志中,其中,所述第三事务日志的编号用于指示所述第三事务日志与所述第四事务日志的依赖关系。
3.根据权利要求1所述的数据库复制系统,其特征在于,
所述目的端设备还用于在确认所述第一事务日志记录的第一事务操作在所述源端数据库中的操作对象与所述第二事务日志记录的第二事务操作在所述源端数据库中的操作对象相同,且所述第一事务日志记录的第一事务操作在所述源端数据库中的操作时刻早于所述第二事务日志记录的第二事务操作在所述源端数据库中的操作时刻的情况下,将所述第一事务日志的编号记录到所述第二事务日志中,其中,所述第一事务日志的编号用于指示所述第一事务日志与所述第二事务日志的依赖关系;
所述目的端设备还用于在确认所述第三事务日志记录的第三事务操作在所述源端数据库中的操作对象与所述第四事务日志记录的第四事务操作在所述源端数据库中的操作对象相同,且所述第三事务日志记录的第三事务操作在所述源端数据库中的操作时刻早于所述第四事务日志记录的第四事务操作在所述源端数据库中的操作时刻的情况下,将所述第三事务日志的编号记录到所述第四事务日志中,其中,所述第三事务日志的编号用于指示所述第三事务日志与所述第四事务日志的依赖关系。
4.根据权利要求2或3所述的数据库复制系统,其特征在于,
所述目的端设备在获取到所述第一组事务日志中的所述第二事务日志的情况下,确认所述第二事务日志记录有用于指示所述第一事务日志与所述第二事务日志的依赖关系的所述第一事务日志的编号,在确认根据所述第一事务日志进行的事务重演完成之后,根据所述第二事务日志进行事务重演。
5.根据权利要求2或3所述的数据库复制系统,其特征在于,
所述目的端设备在获取到第一组事务日志中的所述第一事务日志的情况下,确认所述第一事务日志没有记录有用于指示与所述第一事务日志存在依赖关系的事务日志的编号,根据所述第一事务日志进行事务重演。
6.根据权利要求2或3所述的数据库复制系统,其特征在于,
所述目的端设备在获取到第二组事务日志中的所述第四事务日志的情况下,确认所述第四事务日志记录有用于指示所述第四事务日志与所述第三事务日志的依赖关系的所述第三事务日志的编号,在确认根据所述第三事务日志进行的事务重演完成之后,根据所述第四事务日志进行事务重演。
7.根据权利要求2或3所述的数据库复制系统,其特征在于,
所述目的端设备在获取到第二组事务日志中的所述第三事务日志的情况下,确认所述第三事务日志没有记录有用于指示与所述第三事务日志存在依赖关系的事务日志的编号,根据所述第三事务日志进行事务重演。
8.根据权利要求1至7任一项所述的数据库复制系统,其特征在于,所述源端设备和所述源端数据库设置在第一区域,所述目的端设备和所述目的端数据库设置在第二区域,所述第一区域和所述第二区域远程连接。
9.根据权利要求1至8任一项所述的数据库复制系统,其特征在于,
所述源端设备用于根据事务日志的编号范围从源端数据库中并行获取所述至少两组事务日志。
10.根据权利要求9所述的数据库复制系统,其特征在于,所述源端设备还用于:
从所述源端数据库中读取日志概要记录信息,所述日志概要记录信息记录有所述源端数据库产生的事务日志的编号、在所述日志文件中的记录位置、长度以及数量;
根据所述日志概要记录信息在所述日志文件中并行获取所述至少两组事务日志。
11.一种数据库复制方法,其特征在于,包括:
从源端数据库的日志文件中并行获取至少两组事务日志,所述至少两组事务日志包括第一组事务日志和第二组事务日志,并发送所述至少两组事务日志,其中,第一组事务日志至少包括相邻的第一事务日志和第二事务日志,所述第二组事务日志至少包括相邻的第三事务日志和第四事务日志,所述第二事务日志的产生时间早于所述第三事务日志的产生时间;
向目的端设备发送所述至少两组事务日志。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
在确认所述第一事务日志记录的第一事务操作在所述源端数据库中的操作对象与所述第二事务日志记录的第二事务操作在所述源端数据库中的操作对象相同,且所述第一事务日志记录的第一事务操作在所述源端数据库中的操作时刻早于所述第二事务日志记录的第二事务操作在所述源端数据库中的操作时刻的情况下,将所述第一事务日志的编号记录到所述第二事务日志中,其中,所述第一事务日志的编号用于指示所述第一事务日志与所述第二事务日志的依赖关系;以及,
在确认所述第三事务日志记录的第三事务操作在所述源端数据库中的操作对象与所述第四事务日志记录的第四事务操作在所述源端数据库中的操作对象相同,且所述第三事务日志记录的第三事务操作在所述源端数据库中的操作时刻早于所述第四事务日志记录的第四事务操作在所述源端数据库中的操作时刻的情况下,将所述第三事务日志的编号记录到所述第四事务日志中,其中,所述第三事务日志的编号用于指示所述第三事务日志与所述第四事务日志的依赖关系。
13.根据权利要求11或12所述的方法,其特征在于,从源端数据库中并行获取所述至少两组事务日志,包括:
根据事务日志的编号范围从源端数据库中并行获取所述至少两组事务日志。
14.根据权利要求13所述的方法,其特征在于,根据事务日志的编号范围从源端数据库中并行获取所述至少两组事务日志,包括:
从所述源端数据库中读取日志概要记录信息,所述日志概要记录信息记录有所述源端数据库产生的事务日志的编号、在所述日志文件中的记录位置、长度以及数量,
根据所述日志概要记录信息在所述日志文件中并行获取所述至少两组事务日志。
15.一种数据库复制方法,其特征在于,包括:
从源端设备接收至少两组事务日志,所述至少两组事务日志包括第一组事务日志以及第二组事务日志,所述第一组事务日志至少包括相邻的第一事务日志和第二事务日志,所述第二组事务日志至少相邻的包括第三事务日志和第四事务日志,所述第二事务日志的产生时间早于所述第三事务日志的产生时间;
在根据所述第一组事务日志中的所述第一事务日志、所述第二事务日志以及所述第一事务日志与所述第二事务日志的依赖关系在目的端数据库进行事务重演之后,根据所述第二组事务日志中的所述第三事务日志、所述第四事务日志以及所述第三事务日志与所述第四事务日志的依赖关系在所述目的端数据库进行事务重演,使得所述目的端数据库与所述源端数据库存储的数据一致。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
在确认所述第一事务日志记录的第一事务操作在所述源端数据库中的操作对象与所述第二事务日志记录的第二事务操作在所述源端数据库中的操作对象相同,且所述第一事务日志记录的第一事务操作在所述源端数据库中的操...
【专利技术属性】
技术研发人员:孟小珍,马剑涛,黄凯耀,李志学,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。