[发明专利]一种元数据变更捕获方法在审
申请号: | 202110868149.1 | 申请日: | 2021-07-30 |
公开(公告)号: | CN113626453A | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 石梦飞;鲍之骁;徐扬;刘文硕;袁声思;田祥雨;沈瑜 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27;G06F16/22;G06F16/21 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜鹏 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 变更 捕获 方法 | ||
本发明涉及数据库数据捕获技术领域,具体提供了一种元数据变更捕获方法,具有一下步骤:S1、在分布式数据库执行CDC语句并带有元数据捕获功能;S2、用户执行DDL操作,数据库服务语法解析SQL生成语法树,再通过语法树生成执行计划;S3、数据库将执行计划下发给各个执行节点执行,计划执行完成后,将元数据的变更记录更新至系统表中,监控器将这些元数据变更记录推送到changefeed中;S4、判断changefeed发送模式是否为DDL发送模式,如果是,则直接发送DDL;如不是,等待发送模式切换为DDL发送模式后方可发出。与现有技术相比,本发明无需改变数据库的去中心化结构,不依赖中心节点的授时服务,通过一系列判断来保证捕获DDL的事务语义,不依赖于中心节点数据库仍保有良好的可拓展性。
技术领域
本发明涉及数据库数据捕获技术领域,具体提供一种元数据变更捕获方法。
背景技术
在大型分布式数据库系统中,捕获元数据变更面临着很大的挑战,我们既希望可以随着集群规模无限拓展,同时又希望保证强大的事务语义。当前已知数据库CDC功能对于捕获元数据变更主要采取一下两种策略:
(1)通过外部程序抽取日志文件,并在外部进行事务重组
该方案在外部建立一个专门用于抽取分析发送的CDC集群,抽取数据库日志并对内容进行重新排序,以此保证发送数据的事务语义。
(2)仅支持捕获数据变更,不支持捕获元数据变更
该方案认为元数据变更在数据同步时为罕见操作,可以通过DBA手动改造目标库的结构来保证数据迁移的成功。
方案(1)需要记录额外的日志,占用额外的系统进程资源,增加IO压力,而且大多需要依赖于中心节点去保证外部程序的高可用。方案(2)如果不支持对元数据变更的捕获,依赖人工改造目标数据库结构,对数据迁移同步带来未知的风险。
发明内容
本发明是针对上述现有技术的不足,提供一种实用性强的元数据变更捕获方法。
本发明解决其技术问题所采用的技术方案是:
一种元数据变更捕获方法,具有一下步骤:
S1、在分布式数据库执行CDC语句并带有元数据捕获功能;
S2、用户执行DDL操作,数据库服务语法解析SQL生成语法树,再通过语法树生成执行计划;
S3、数据库将执行计划下发给各个执行节点执行,计划执行完成后,将元数据的变更记录更新至系统表中,监控器将这些元数据变更记录推送到changefeed中;
S4、判断changefeed发送模式是否为DDL发送模式,如果是,则直接发送DDL;如不是,等待发送模式切换为DDL发送模式后方可发出。。
进一步的,在步骤S1中,创建CDC的具体操作包括:
S101、创建CDC语句;
S102、CDC开启对元数据变更捕获后,会在数据库内部打开对记录表结构变更的系统表的监控。
进一步的,在步骤S2中,生成执行计划后,首先查询操作对象的CDC注册信息,判断是否创建了CDC。
进一步的,在步骤S2中,判断是否创建CDC的步骤为:
a)、如果没有创建CDC,则生成正常的执行计划;
b)、如果发现已经创建了CDC,则根据CDC注册信息生成CDC处理器,并将执行计划和CDC处理器封装为执行计划的派生对象。
进一步的,在步骤S3中,进一步包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110868149.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种帕利哌酮缓释片及其制备方法
- 下一篇:一种基于web页面自定义绘图的方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置