1 .一种基于源库不停机的异构数据库增量同步方法,将源端数据库内容存到目标端数
据库中,其特征在于:具体步骤如下:
S1、开启数据捕获,监控源端数据库的最新变化,捕获增量数据,并将增量数据发送到
临时储存区;
S2、进行全量同步任务 ,全量过程和增量过程中均设置递增序列号,全量过程中的递增
序列号记录源端数据库改变次数,同时,增量过程中的递增序列号记录增量数据捕获次数;
S3、全量同步完成,获得全量过程中源端数据库改变的次数,获得全量过程的递增序列
号;
S4、捕获增量数据完成,进行数据投递,完成临时储存区的增量数据进入目标端数据
库,确保临时储存区的消息消费完毕;
S5、对全量同步及增量数据进入目标端数据库后出现的重复数据进行去重;
S6、继续进行数据捕获和数据投递,进行后续的增量同步。
2.根据权利要求1所述的一种基于源库不停机的异构数据库增量同步方法,其特征在
于:步骤S4中,捕获增量数据完成的判断方法如下:
全量过程中设置的递增序列号在每次源端数据库改变后增加一,增量过程中设置的递
增序列号记录增量数据捕获次数,当捕获次数大于改变次数时,标志着捕获增量数据完成。
3 .根据权利要求1所述的一种基于源库不停机的异构数据库增量同步方法,其特征在
于:步骤S4中,临时储存区的消息消费完毕的判断方法如下:
判断 最 后一 条 消息的 偏 移 量 ma xof fse t 与消费 完成返回的 确认 消息的 偏移量
commitoffset是否一致,若一致时,标志临时储存区消息消费完毕。
4 .根据权利要求1所述的一种基于源库不停机的异构数据库增量同步方法,其特征在
于:步骤S5中,对全量同步过程中产生的重复数据进行去重的具体步骤如下:
S71、根据目标端数据库表中的数据ID分组,相同的ID分为一组;
S72、根据分组后组内总条数大于1的ID找出重复数据,并将每个ID对应的重复数据重
新存入一个临时表中;
S73、为临时表增加一个row_number列,所述row_number列中的序号依次递增,为重复
数据增加一个序列号;
S74、删除目标端数据库中的重复数据,并在每组重复数据中通过序列号选出任意一条
数据插回目标数据库中。
5 .一种基于源库不停机的异构数据库增量同步系统,其特征在于:包括数据捕获组件、
数据投递组件、队列中间件kafka、管理组件、去重组件;
所述数据捕获组件通过管理组件控制启动,所述数据捕获组件用于监控源端数据库的
最新变化,捕获增量内容,并将增量内容发送到队列中间件kafka中;
所述管理组件用于启动全量同步任务、设置递增序列号,全量过程和增量过程中均设
置递增序列号,全量过程中的递增序列号记录源端数据库改变次数,同时,增量过程中的递
增序列号记录增量数据捕获次数;
全量同步任务完成后,所述管理组件会返回全量过程中源端数据库改变的次数,等待
数据捕获组件捕获增量内容完成后,所述管理组件会返回捕获完成的信号;
所述数据投递组件通过管理组件启动,将队列中间件kafka中存入的增量内容全部存
权 利 要 求 书
1/2 页
2
评论