System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据库的数据同步方法及计算机程序产品技术_技高网

数据库的数据同步方法及计算机程序产品技术

技术编号:42738873 阅读:17 留言:0更新日期:2024-09-18 13:33
本发明专利技术提供了一种数据库的数据同步方法及计算机程序产品。数据库的数据同步方法包括:获取到源端数据库的系统表的事务日志;检测事务日志是否含有页数据,若是,将页数据存储在预设的系统表缓存器,以用于为解析系统表的事务日志提供原始元组数据。通过将页数据存储在系统表缓存器,当需要对信息不完整的系统表事务日志进行解析时,可以从系统表缓存器中获取操作所针对的原始元组数据,利用原始元组数据对事务日志中的残缺信息进行补全,从而就可以解析得到完整的操作执行语句,因此,使得系统表和普通表一起在增量数据同步过程中实现数据同步,无需对系统表进行另外的同步工作,有利于提高数据同步效率。

【技术实现步骤摘要】

本专利技术涉及数据库,特别是涉及一种数据库的数据同步方法及计算机程序产品


技术介绍

1、在数据库系统的运行过程中,对两个数据库进行数据同步是常见工作需求,其中,提供数据的数据库通常称为源端数据库,接收数据的数据库通常称为目标端数据库。其中,增量数据同步是数据同步的一个重要阶段。数据库的事务日志记录了针对数据库的表格的操作,因此,在进行增量数据同步的过程中,一般是获取并解析源端数据库的事务日志,来得到对数据库的表格的相应操作,然后更新至目标端数据库,就可以完成源端数据库和目标端数据库的增量数据同步。

2、然而,在数据库的表格类型中,存在着普通表和系统表,对于系统表的部分操作,所生成的事务日志并不完整,所以无法解析出完整的操作信息,继而无法用于数据同步。因此,在现有技术中,无法在增量数据同步时随普通表一起完成系统表的解析,为数据同步工作造成诸多不便。


技术实现思路

1、本专利技术的一个目的是要提供一种能够实现对系统表的事务日志解析并得到完整操作执行语句的数据库的数据同步方法及计算机程序产品。

2、特别地,本专利技术提供了一种数据库的数据同步方法,包括:

3、获取到源端数据库的系统表的事务日志;

4、检测所述事务日志是否含有页数据,若是,将所述页数据存储在预设的系统表缓存器,以用于为解析所述系统表的事务日志提供原始元组数据。

5、可选地,所述将所述页数据存储在预设的系统表缓存器的步骤之后包括:

6、确定所述事务日志记录的操作类型;

7、根据所述操作类型对所述事务日志进行解析。

8、可选地,所述根据所述操作类型对所述事务日志进行解析的步骤包括:

9、若所述操作类型为更新操作,从所述系统表缓存器中获取更新操作针对的元组的原始元组数据;

10、根据所述原始元组数据对所述事务日志进行解析;

11、根据所述更新操作的结果更新所述系统表缓存器中对应的原始元组数据。

12、可选地,所述根据所述操作类型对所述事务日志进行解析的步骤包括:

13、若所述操作类型为删除操作,从所述系统表缓存器中获取删除操作针对的元组原始元组数据;

14、根据所述原始元组数据对所述事务日志进行解析。

15、可选地,所述根据所述操作类型对所述事务日志进行解析的步骤包括:

16、若所述操作类型为插入操作,对所述事务日志进行解析;

17、将所述插入操作所插入的新元组存储到所述系统表缓存器中。

18、可选地,所述系统表缓存器具有页存储区和元组存储区;

19、所述将所述页数据存储在预设的系统表缓存器的步骤包括:将所述页数据存储在所述系统表缓存器的所述页存储区;

20、所述将所述插入操作所插入的新元组存储到所述系统表缓存器中的步骤包括:将所述新元组存储在所述系统表缓存器的所述元组存储区。

21、可选地,所述检测所述事务日志是否含有页数据的步骤之后包括:

22、若否,执行确定所述事务日志记录的操作类型的步骤。

23、可选地,所述获取到源端数据库的系统表的事务日志的步骤之前包括:

24、获取所述源端数据库的事务日志;

25、检测所述事务日志是否是系统表的事务日志,若是,判定获取到源端数据库的系统表的事务日志,若否,对所述事务日志进行解析。

26、可选地,所述检测所述事务日志是否是系统表的事务日志之前包括:

27、判断所述事务日志是否为检查点日志,若是,清空所述系统表缓存器。

28、根据本专利技术的另一个方面,还提供了一种计算机程序产品,包括计算机可执行程序,所述计算机可执行程序被处理器执行时实现根据上述任一项所述的数据库的数据同步方法。

29、本专利技术的数据库的数据同步方法及计算机程序产品通过预先配置系统表缓存器,在获取到源端数据库的系统表的事务日志后,检测事务日志是否含有页数据,若含有页数据,将页数据存储在预设的系统表缓存器,以用于为解析系统表的事务日志提供原始元组数据。具体来说,因为对于系统表的删除和更新操作对应的事务日志来说,事务日志中记录的操作信息并不完整,所以无法解析出完整的操作执行语句,继而无法完成相应操作在目标端数据库的同步。而通过将页数据存储在系统表缓存器,当需要对信息不完整的系统表事务日志进行解析时,可以从系统表缓存器中获取操作所针对的原始元组数据,利用原始元组数据对事务日志中的残缺信息进行补全,从而就可以解析得到完整的操作执行语句,继而用于系统表的数据同步。因此,使得系统表和普通表一起在增量数据同步过程中实现数据同步,无需对系统表进行另外的同步工作,有利于提高数据同步效率。

30、根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。

本文档来自技高网...

【技术保护点】

1.一种数据库的数据同步方法,包括:

2.根据权利要求1所述的数据库的数据同步方法,其中,

3.根据权利要求2所述的数据库的数据同步方法,其中,

4.根据权利要求2所述的数据库的数据同步方法,其中,

5.根据权利要求2所述的数据库的数据同步方法,其中,

6.根据权利要求5所述的数据库的数据同步方法,其中,

7.根据权利要求2所述的数据库的数据同步方法,其中,

8.根据权利要求1所述的数据库的数据同步方法,其中,

9.根据权利要求8所述的数据库的数据同步方法,其中,

10.一种计算机程序产品,包括计算机可执行程序,所述计算机可执行程序被处理器执行时实现根据权利要求1至9任一项所述的数据库的数据同步方法。

【技术特征摘要】

1.一种数据库的数据同步方法,包括:

2.根据权利要求1所述的数据库的数据同步方法,其中,

3.根据权利要求2所述的数据库的数据同步方法,其中,

4.根据权利要求2所述的数据库的数据同步方法,其中,

5.根据权利要求2所述的数据库的数据同步方法,其中,

6.根据权利要求5所述的数据库的数据同步方法...

【专利技术属性】
技术研发人员:李佳洛魏乾
申请(专利权)人:北京人大金仓信息技术股份有限公司
类型:发明
国别省市:

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

1