[发明专利]一种基于日志解析的DDL操作的同步方法和同步系统有效
| 申请号: | 202011446484.4 | 申请日: | 2020-12-11 |
| 公开(公告)号: | CN112559626B | 公开(公告)日: | 2022-06-21 |
| 发明(设计)人: | 孙峰;彭青松;余院兰 | 申请(专利权)人: | 武汉达梦数据库股份有限公司 |
| 主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22;G06F16/242;G06F9/52 |
| 代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
| 地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 日志 解析 ddl 操作 同步 方法 系统 | ||
本发明公开了一种基于日志解析的DDL操作的同步方法和同步系统,该同步方法包括:日志接收线程接收来自于源端的待同步操作,对待同步操作进行解析得到待同步操作所涉及的表ID,将涉及同一个表ID的待同步操作归属到同一个同步链路上;判断待同步操作的操作类型;若待同步操作为DDL操作,则获取DDL操作的操作信息,将操作信息添加到辅助表中;事务执行线程从同步链路中取出目标操作,并判断目标操作是否为重命名操作或新建表操作;若目标操作为重命名操作或新建表操作,则根据目标操作的操作信息构建查询语句,以在辅助表中查询是否存在与目标操作相冲突的DDL操作,从而根据冲突情况策略性进行DDL操作的同步。
技术领域
本发明属于数据同步领域,更具体地,涉及一种基于日志解析的DDL操作的同步方法和同步系统。
背景技术
目前基于数据库日志分析的异构数据库复制技术应用广泛。这种技术在源端捕获出数据库的增量数据,然后发送到目的端,在目的端通过通用的数据库访问接口,将增量数据应用到目的端数据库,实现数据复制。这种技术因为使用到通用数据库接口,因此支持异构数据库系统复制,支持异构操作系统环境,并且目的端备机数据库系统可读写,是一种“双活”系统。
在这种基于日志解析的数据同步环境中,如果目的端采用分表同步的策略,即每个表的同步进度完全独立,那么这种场景下目的端针对表的DDL(Data DefinitionLanguage,简写为DDL)操作执行顺序的控制显得尤为重要。目前在分表同步的环境中,目的端一般采用表的ID作为KEY来分类,实现不同表之间的并行同步,不同表的操作使用各自操作中指定的表ID来归属到它对应的同步链路。由于表与表之间同步是并行的,在表没有DDL操作修改的前提下,各个链路之间的同步可以互不干涉。当源端数据库存在表的DDL操作时(例如:删表、建表或重命名),在这种场景下,表与表之间不能再简单的依靠表ID来分类,链路之间无干涉的并行同步,因为此时不同表ID的表名有可能是相同的,那么在目的端执行时,相冲突的表的DDL操作需要按照它在源端日志流中捕获的顺序来串行执行(以日志中事务提交的LSN大小为先后顺序),因此,在数据同步中目的端如何在按表分类同步的场景下执行有冲突的表的DDL操作,保证表DDL操作同步正确就成为业界亟待解决的重要技术问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于日志解析的DDL操作的同步方法和同步系统,其目的在于目的端在执行表DDL操作时,先按照表ID进行分类,然后按照操作产生的先后顺序来执行相应的操作,在执行DDL操作时,使用表名、用户名和日志LSN进行冲突检测,根据冲突情况策略性进行DDL操作的同步,在避免在并行同步的过程中出现表名冲突的问题,保证同步的准确性,由此解决在数据同步中目的端在按表分类同步的场景下,如何保证表DDL操作同步正确的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于日志解析的DDL操作的同步方法,在源端数据库部署源端数据同步系统,在目的端数据库部署目的端数据同步系统,在所述目的端数据同步系统设置一个日志接收线程和一组事务执行线程,在所述目的端数据库创建辅助表,所述同步方法包括:
所述日志接收线程接收来自于源端的待同步操作,对所述待同步操作进行解析得到所述待同步操作所涉及的表ID,将涉及同一个表ID的所述待同步操作归属到同一个同步链路上;
判断所述待同步操作的操作类型;
若所述待同步操作为DDL操作,则获取所述DDL操作的操作信息,将所述操作信息添加到所述辅助表中,其中,所述操作信息包括用户名、表名、事务编号和日志LSN;
所述事务执行线程从同步链路中取出目标操作,并判断所述目标操作是否为重命名操作或新建表操作;
若所述目标操作为重命名操作或新建表操作,则根据所述目标操作的操作信息构建查询语句,以在所述辅助表中查询是否存在与所述目标操作相冲突的DDL操作,从而根据冲突情况策略性进行DDL操作的同步。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库股份有限公司,未经武汉达梦数据库股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011446484.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于增材制造的金属粉粒筛选机
- 下一篇:送风设备及送风设备的清洁方法





