[发明专利]一种元数据变更捕获方法在审
申请号: | 202110868149.1 | 申请日: | 2021-07-30 |
公开(公告)号: | CN113626453A | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 石梦飞;鲍之骁;徐扬;刘文硕;袁声思;田祥雨;沈瑜 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27;G06F16/22;G06F16/21 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜鹏 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 变更 捕获 方法 | ||
1.一种元数据变更捕获方法,其特征在于,具有一下步骤:
S1、在分布式数据库执行CDC语句并带有元数据捕获功能;
S2、用户执行DDL操作,数据库服务语法解析SQL生成语法树,再通过语法树生成执行计划;
S3、数据库将执行计划下发给各个执行节点执行,计划执行完成后,将元数据的变更记录更新至系统表中,监控器将这些元数据变更记录推送到changefeed中;
S4、判断changefeed发送模式是否为DDL发送模式,如果是,则直接发送DDL;如不是,等待发送模式切换为DDL发送模式后方可发出。
2.根据权利要求1所述的一种元数据变更捕获方法,其特征在于,在步骤S1中,创建CDC的具体操作包括:
S101、创建CDC语句;
S102、CDC开启对元数据变更捕获后,会在数据库内部打开对记录表结构变更的系统表的监控。
3.根据权利要求2所述的一种元数据变更捕获方法,其特征在于,在步骤S2中,生成执行计划后,首先查询操作对象的CDC注册信息,判断是否创建了CDC。
4.根据权利要求3所述的一种元数据变更捕获方法,其特征在于,在步骤S2中,判断是否创建CDC的步骤为:
a)、如果没有创建CDC,则生成正常的执行计划;
b)、如果发现已经创建了CDC,则根据CDC注册信息生成CDC处理器,并将执行计划和CDC处理器封装为执行计划的派生对象。
5.根据权利要求4所述的一种元数据变更捕获方法,其特征在于,在步骤S3中,进一步包括:
S301、如果存在CDC处理器,且打开了对元数据的变更捕获,则将元数据的变更记录推送至changefeed中:
S302、如果不存在CDC处理器,或没打开对元数据的变更捕获,事务直接提交。
6.根据权利要求5所述的一种元数据变更捕获方法,其特征在于,在步骤S4中,进一步包括:
S401、如果当前changefeed的发送模式为DDL发送模式,则发送DDL到指定位置,并读取临时文件中的DML,随后更新changfeed状态为DML发送模式。
S402、如果当前changefeed的发送模式为其他模式,则需要阻塞DDL发送进程,等待发送模式被其他进程更新为DDL发送模式。
7.根据权利要求6所述的一种元数据变更捕获方法,其特征在于,changefeed发送DML需要满足以下条件:
(1)当前发送模式为DML发送模式;
(2)lastDDLSendTime小于ModificationTime;
如果不满足上诉条件,则DML不会直接发送而是记录到临时文件中,等待DDL发送完毕后读取临时文件中的DML内容。
8.根据权利要求7所述的一种元数据变更捕获方法,其特征在于,changefeed的模式切换需满足以下条件:
(1)ChangeFeedSyncDML切换为ChangeFeedExecDDL
a)DDL对应的blockTime非空,这意味着当前有阻塞着的DDL等待发送;
b)lastDMLTransactionCommitTime小于等于sfTime,这意味着上一次DML的事务提交时间小于各个range的以解析时间;
(2)ChangeFeedExecDDL转换为ChangeFeedWaitToExecDDL;捕获到元数据变更但还没有成功发送;
(3)ChangeFeedWaitToExecDDL转换为ChangeFeedSyncDML;元数据变更已经成功发送。
9.根据权利要求1所述的一种元数据变更捕获方法,其特征在于,异步启动带有元数据变更监控的CDC处理器,对元数据变更进行监控,将数据发送至数据池。
10.根据权利要求9所述的一种元数据变更捕获方法,其特征在于,异步启动带有元数据变更监控的CDC处理器,对元数据变更的监控,将数据发送至数据池,这一过程的具体操作为:
a)、开启对用户表监控的同时,开启一个特殊的监控程序,监控记录表结构变更的系统表;
b)、解析并重组捕获到的数据,依据表的唯一标识进行过滤;
c)、连接外部的数据池,并将表元数据变更输出到外部的数据池。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110868149.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种帕利哌酮缓释片及其制备方法
- 下一篇:一种基于web页面自定义绘图的方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置