一种数据同步时ROWID映射改变的修正方法、装置及系统制造方法及图纸

技术编号:44907827 阅读:12 留言:0更新日期:2025-04-08 18:53
本发明专利技术涉及一种数据同步时ROWID映射改变的修正方法、装置及系统。其方法部分主要包括:目标端数据同步服务在源端同步到目标端的表上添加辅助列,用于存储对应行数据在源端的ROWID;目标端数据同步服务接收到源端发送的MOVE操作开始命令后,创建映射容器;将接收到的源端发送的新ROWID和MD5值的映射插入到映射容器中;目标端数据同步服务接收源端发送的清理数据页的源端ROWID范围后,从辅助列中获取旧数据ROWID范围;根据两个ROWID范围构造对应表的查询语句;目标端数据同步服务执行查询语句并提取结果集后,根据结果集求每行的MD5值并在映射容器中获取对应的新ROWID值,将新ROWID值更新到辅助列。本发明专利技术可以有效的提升源端ROWID和目标端数据映射关系的修复性能。

【技术实现步骤摘要】

本专利技术涉及数据库,特别是涉及一种数据同步时rowid映射改变的修正方法、装置及系统。


技术介绍

1、在基于日志解析架构的数据库实时同步服务(支持异构)中,源端数据同步服务负责捕获源端数据库的操作日志,并解析日志还原得到相应的数据库操作,然后发送到目标端数据同步服务,目标端数据同步服务负责把这些操作在目标端数据库中执行,从而完成数据同步的过程。

2、目标端数据同步服务在目标端数据库上同步操作时,有些同步的表没有主键,导致同步效率低下,这种场影下采用rowid(用来唯一标记表中行的伪列)映射的方式可以有效的提升同步的效率。rowid映射指的是把源数据库中表数据的rowid和该数据在目标端数据库中建立一个映射关系,当操作源数据时,利用操作上源端数据库的rowid来快速定位操作目标端数据库的数据,这种方法可以有效的提升无主键表的同步效率。但是在rowid映射关系建立以后,有的源端数据库,例如甲骨文(oracle)数据库为了业务的需要,会使用移动(move)命令来移动数据到其它表空间,这个操作会改变被移动数据行的rowid值,导致后续在操作这些数据时本文档来自技高网...

【技术保护点】

1.一种数据同步时ROWID映射改变的修正方法,其特征在于,包括:

2.根据权利要求1所述的数据同步时ROWID映射改变的修正方法,其特征在于,所述MOVE操作开始命令的获取包括:源端数据同步服务识别到MOVE方法操作日志后,向目标端数据同步服务发送一个MOVE操作开始命令。

3.根据权利要求1所述的数据同步时ROWID映射改变的修正方法,其特征在于,所述新ROWID和MD5值的映射的获取包括:源端数据同步服务解析新数据的插入日志,获取新数据的新ROWID值;将新数据每一列的列值按统一的格式转为字符串,然后按行以列名排序,再求对应行除ROWID列以外的所有列值组合...

【技术特征摘要】

1.一种数据同步时rowid映射改变的修正方法,其特征在于,包括:

2.根据权利要求1所述的数据同步时rowid映射改变的修正方法,其特征在于,所述move操作开始命令的获取包括:源端数据同步服务识别到move方法操作日志后,向目标端数据同步服务发送一个move操作开始命令。

3.根据权利要求1所述的数据同步时rowid映射改变的修正方法,其特征在于,所述新rowid和md5值的映射的获取包括:源端数据同步服务解析新数据的插入日志,获取新数据的新rowid值;将新数据每一列的列值按统一的格式转为字符串,然后按行以列名排序,再求对应行除rowid列以外的所有列值组合以后的md5值;将插入的每行新rowid结合对应行的md5值发送到目标端数据同步服务。

4.根据权利要求1所述的数据同步时rowid映射改变的修正方法,其特征在于,所述根据两个rowid范围构造对应表的查询语句具体包括:

5.根据权利要求4所述的数据同步时rowid映射改变的修正方法,其特征在于,所述全表查询语句以及所述区间查询语句的查询项均包含目标端数据库的rowid列,但不包含辅助列a,且除rowid列以外,列名位置按列名排序;其中,所述全表查询语句不带过滤条件,所述区间查询语句带辅助列a基于rowid范围的过滤条...

【专利技术属性】
技术研发人员:孙峰彭青松陈江辉向明理
申请(专利权)人:武汉达梦数据库股份有限公司
类型:发明
国别省市:

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

1