[发明专利]一种实现跨安全隔离网闸数据库实时同步的方法及系统在审
申请号: | 202110631722.7 | 申请日: | 2021-06-07 |
公开(公告)号: | CN113342890A | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 王贯兵;缪燕;王伟 | 申请(专利权)人: | 北京许继电气有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23;G06F16/242;G06F9/54 |
代理公司: | 北京立成智业专利代理事务所(普通合伙) 11310 | 代理人: | 吕秀丽 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 安全 隔离 数据库 实时 同步 方法 系统 | ||
1.一种实现跨安全隔离网闸数据库实时同步系统,其特征在于,包括:WAL日志解析模块、逻辑解码模块、增量采集模块、消息中间件模块和数据入库模块;其中
WAL日志解析模块,用于监控源数据库进程以获取WAL的变更日志,实时推送到逻辑解码模块;
逻辑解码模块,用于根据WAL变更日志,自动解析成DML语句的SQL文本,实时的发送到增量采集模块;
增量采集模块,用于根据配置文件参数设置,根据实例、模式名称、表名或表字段信息设置采集的过滤条件,实时的采集逻辑解码模块发送过来的增量SQL文本,并按参数设置规则发送到消息中间件模块;
消息中间件模块,用于按照配置规则接收SQL文本,配置多线程消费消息实例,并把消息传输到数据入库模块;其中,在消息中间件模块中写N个内存queue,具有相同key的数据都到同一个内存queue;然后对于N个线程,每个线程分别消费一个内存queue,以保证顺序性并提高吞吐量;
数据入库模块,用于配和安全隔离网闸的数据库驱动,根据驱动程序写原生的jdbc操作,并配置jdbc的事务管理,使操作在同一个事务中,并按顺序执行SQL脚本以实现数据同步。
2.根据权利要求1所述的实现跨安全隔离网闸数据库实时同步系统,其特征在于,所述WAL日志解析模块通过decoder_raw工具或wal2json工具,将获取WAL的变更日志进行解析以获取DML操作记录的SQL文本,其中所述SQL文本包含所有列字段类型。
3.一种利用如权利要求1-2任一项所述的系统实现跨安全隔离网闸数据库实时同步的方法,其特征在于,包括:
根据配置文件对逻辑解码插件的设置解析WAL日志格式化成不同形式的SQL文本;然后将SQL文本依次传输到增量采集模块中,根据配置文件参数设置,将过滤之后的SQL文本依次传输到消息中间件中;其中增量采集模块通过配置文件参数设置,根据实例、模式名称、表名或表字段信息设置采集的过滤条件,实时的采集逻辑解码模块发送过来的增量SQL文本,基于过滤对比(流对比)技术并按参数设置规则发送到消息中间件模块;消息中间件模块按配置规则接收SQL文本,配置多线程消费消息实例,并把消息传输到数据入库模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京许继电气有限公司,未经北京许继电气有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110631722.7/1.html,转载请声明来源钻瓜专利网。