[发明专利]数据库间数据的复制方法及装置在审
申请号: | 201610073070.9 | 申请日: | 2016-02-02 |
公开(公告)号: | CN107025242A | 公开(公告)日: | 2017-08-08 |
发明(设计)人: | 莫泽涵 | 申请(专利权)人: | 南京中兴新软件有限责任公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 江舟,李灵洁 |
地址: | 210012 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 数据 复制 方法 装置 | ||
技术领域
本发明涉及通信领域,具体而言,涉及一种数据库间数据的复制方法及装置。
背景技术
在容灾、数据备份、统计等应用中,经常会遇到数据库复制问题,对于千万级以上的大表的复制,由于性能的原因,一般采用增量复制。相关技术中常用的数据库复制方法有Oracle数据库的流(Stream)复制和GoldenGate,这两种方法都是基于源数据库日志文件的挖掘来获取同步信息,这种方法的优点是对应用透明,缺点是依赖于具体的数据库,且日志文件的挖掘需要占用较多的机器资源,对源数据的负荷影响较大。另外一种常用的数据库复制方法是Oracle的物化视图。物化视图也能提供增量刷新和保证数据一致性,但主要的缺点是不能在异构数据库环境中使用,且实现不同表间数据一致需要用到组刷新,而组刷新需要锁表,不适合于源数据库运行联机事务处理(On-line transaction processing,简称OLTP)类型应用且每秒交易量很高的场景。
针对相关技术中的增量数据库复制方法依赖于具体数据库的类型的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种数据库间数据的复制方法及装置,以至少解决相关技术中的增量数据库复制方法依赖于具体数据库的类型的问题。
根据本发明的一个方面,提供了一种数据库间数据的复制方法,包括:目标数据库按照预设规则采集源数据库中的日志记录;其中,预设规则包括:日志记录的事务序列号大于已同步至目标数据库中的数据所对应的事务序列号;目标数据库将日志记录复制到目标数据库中的目标表中;其中,目标数据库和源数据库都为异构数据库。
进一步地,在目标数据库将日志记录复制到目标数据库中的目标表中之前,方法还包括:目标数据库获取目标数据库本次采集的所有日志记录所对应的事务序列号;按照预定规则从本次采集的所有日志记录所对应的事务序列号中选择一个事务序列号作为本次采集的事务序列号。
进一步地,按照预定规则从本次采集的所有日志记录所对应的事务序列号中选择一个事务序列号作为本次采集的事物序列号包括:对于本次采集的每个日志记录所在的日志表,目标数据库获取日志表中所有日志记录对应的事务序列号中的最大事务序列号;目标数据库将所有日志表的最大事务序列号中的最小事务序列号作为本次采集的事务 序列号。
进一步地,在目标数据库将日志记录复制到目标数据库中的目标表中之后,方法还包括:目标数据库记录本次采集的事务序列号。
进一步地,目标数据库将日志记录复制到目标数据库中的目标表中包括:针对每个日志记录所在的日志表,目标数据库根据日志表对应的主键,获取日志表中事务序列号最大的日志记录;目标数据库将日志表中事务序列号最大的日志记录复制到目标表中。
进一步地,目标数据库将日志表中事务序列号最大的日志记录复制到目标表中包括:目标数据库根据日志表的主键,查找主键对应的目标表;目标数据库根据日志表中事务序列号最大的日志记录的操作类型和日志表的主键,对目标表进行操作。
进一步地,目标数据库根据日志表中事务序列号最大的日志记录的操作类型和日志表的主键,对目标表进行操作包括以下至少之一:在操作类型为删除操作时,目标数据库根据日志表的主键删除目标表中与日志表的主键对应的记录;在操作类型为新增操作或者修改操作,以及目标表中不存在与日志表的主键对应的记录时,目标数据库将日志记录的内容作为新的记录添加在目标表中;在操作类型为新增操作或者修改操作,以及目标表中已存在与日志表的主键对应的记录时,目标数据库以日志记录的内容更新目标表中与日志表的主键对应的记录。
进一步地,目标数据库将日志记录复制到目标数据库中的目标表中包括:目标数据库以目标数据库中已同步至目标数据库中的数据所对应的事务序列号加1为起点事务序列号,以本次采集的事务序列号为终点事务序列号,采用事务序列号递增的方式,将每个日志表中与事务序列号所对应的日志记录依次复制到目标表中。
根据本发明的另一方面,提供了一种数据库间数据的复制装置,应用于目标数据库中,包括:采集模块,用于按照预设规则采集源数据库中的日志记录;其中,预设规则包括:日志记录的事务序列号大于已同步至目标数据库中的数据所对应的事务序列号;复制模块,用于将日志记录复制到目标数据库中的目标表中;其中,目标数据库和源数据库都为异构数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京中兴新软件有限责任公司,未经南京中兴新软件有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610073070.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置