[发明专利]基于表初始化分组装载的数据库同步方法及设备在审
申请号: | 201910361323.6 | 申请日: | 2019-04-30 |
公开(公告)号: | CN110222115A | 公开(公告)日: | 2019-09-10 |
发明(设计)人: | 付铨;孙峰;余院兰;赵家威 | 申请(专利权)人: | 武汉达梦数据库有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/245 |
代理公司: | 武汉智嘉联合知识产权代理事务所(普通合伙) 42231 | 代理人: | 黄君军 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 装载 数据库同步 表初始化 日志 源端数据库 查询结果 数据同步 目标端 分组 线程 目标端数据库 发送 建立连接 查询 初始化 获取源 源端 数据库 关联 释放 创建 分析 服务 | ||
本发明实施例提供了一种基于表初始化分组装载的数据库同步方法及设备。所述方法包括:在源端数据库对待装载表上S锁,获取源端数据库中日志的LastLSN并与待装载表进行关联,获取第一ROWID和第二ROWID,将两者之间的区间,划分为若干份的区间范围;创建若干线程,与源端数据库建立连接,采用若干线程对若干份的区间范围进行查询,查询完毕后释放S锁并提取查询结果,将查询结果发送至目标端数据同步服务,并插入目标端数据库;若从源端日志中分析得到待装载表的操作,且操作对应的日志LSN大于等于LastLSN,则将操作发送至目标端数据同步进行同步。本发明实施例提供的基于表初始化分组装载的数据库同步方法及设备,可以提升数据库同步过程中初始化装载的效率。
技术领域
本发明实施例涉及数据库同步技术领域,尤其涉及一种基于表初始化分组装载的数据库同步方法及设备。
背景技术
在数据库数据实时同步技术中,其中基于数据库日志分析的数据实时同步技术因其具备支持异构操作系统和数据库平台、对源端数据库系统侵入性较小、数据同步延时低等特点,而得到广泛研究和应用。异构数据库系统之间的日志格式及日志内容差异较大,因此数据同步源端数据库的日志内容并不能直接应用到目标数据库中。基于日志分析的数据实时同步技术,一般原理是捕获源端数据库的增量日志内容,然后通过网络发送至目标端,在目标端使用SQL逆向生成技术恢复源端数据库的事务操作SQL语句,再通过通用的数据库访问接口如ODBC、OCI等接口,执行恢复后的SQL语句,实现源和目标端的数据实时同步。
在同步系统源端,实时读取源端数据库日志文件,捕获源端数据库上的事务增量日志内容;然后实时解析增量日志内容,提取日志中的事务ID、操作表ID、事务的操作类型如INSERT、UPDATE、DELETE,事务操作时间戳、日志LSN值、操作数据等,然后将其组装成特定格式的消息,存放在发送队列中;最后发送队列中的消息通过TCP/IP网络发送到同步系统的目标端。
在同步系统目标端,同步软件日志接收模块,接收源端发送的消息,并解析消息内容,根据事务ID将同属于一个事务的操作进行缓存,当接收到事务的COMMIT消息时,则交由日志执行模块进行同步执行;同步软件日志执行模块,根据事务操作内容,构建SQL语句,在目标数据库同步执行。
在现实数据库应用中,源端数据库中可能存在成千上万张数据表,并且表数据量大,特别是存在有大对像数据表,装载时提取大对像数据会更加费时费力,导致整个初始化装载数据的过程耗时较长。因此,找到一种加快整个初始化装载的效率,缩短数据库同步搭建花费时间的方法,就成为业界亟待解决的技术问题。
发明内容
针对现有技术存在的上述问题,本发明实施例提供了一种基于表初始化分组装载的数据库同步方法及设备。
第一方面,本发明的实施例提供了一种基于表初始化分组装载的数据库同步方法,包括:在源端数据库对待装载表上S锁,获取源端数据库中日志的LastLSN,将所述LastLSN与所述待装载表进行关联,并获取所述待装载表第一ROWID和第二ROWID,将所述第一ROWID和第二ROWID之间的区间,划分为若干份的区间范围;创建若干线程,并与所述源端数据库建立连接,采用所述若干线程对所述若干份的区间范围进行查询,查询完毕后释放所述S锁并提取查询结果,将所述查询结果发送至目标端数据同步服务,并插入目标端数据库;若从源端日志中分析得到所述待装载表的操作,且所述操作对应的日志LSN大于等于所述LastLSN,则将所述操作发送至目标端数据同步进行同步;其中,所述LastLSN为处理若干事务后得到的最终日志序列号;所述LSN为日志序列号;所述ROWID为数据库中一行数据的标记行号。
进一步地,在上述方法实施例内容的基础上,本发明实施例中提供的基于表初始化分组装载的数据库同步方法,所述第一ROWID,包括:所述待装载表的起始ROWID。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库有限公司,未经武汉达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910361323.6/2.html,转载请声明来源钻瓜专利网。