一种基于sql的增量数据同步获取方法及系统技术方案

技术编号:28673362 阅读:41 留言:0更新日期:2021-06-02 02:49
本发明专利技术公开了一种基于sql的增量数据同步获取方法及系统,属于数据库全量、增量数据同步领域;所述的方法具体步骤包括:S1在数据库采集端通过执行数据库sql创建逻辑复制槽;S2采集程序实时获取表结构和逻辑解码后的增量数据;S3将逻辑解码后的字符串数据集二次解析并序列化后通过cmsp传输;S4入库端根据数据库类型反序列化获取数据,将数据写入数据库;S5当采集需求结束后清理创建的逻辑复制槽;S6获取数据库增量数据;本发明专利技术方法通过时间戳或增量字段方式无法获取表结构变化的情况,利用数据库解析,提高了解析的准确性和效率;将采集数据发送到目的端,目的端根据数据库类型启动相应的转换,入库模块实时的将增量数据写入目的数据库中。

【技术实现步骤摘要】
一种基于sql的增量数据同步获取方法及系统
本专利技术公开一种基于sql的增量数据同步获取方法及系统,涉及数据库全量、增量数据同步

技术介绍
PostgreSQL自9.4+版本之后提供了逻辑复制与逻辑解码的功能,逻辑复制能实现主备间数据同步,逻辑解码是内置的插件实现增量数据的结构集的解析,以插件test_decoding举例,可把增量采集的结果,以字符串表示结果集的形式反馈给用户;CMSP是云和大数据时代的一种高性能消息中间件,以云服务和集群方式对外提供高性能和高可靠的消息队列服务,支撑大数据采集、传输、汇聚、交换,大数据实时处理和微服务处理架构,CMSP实现的功能如图3所示;随着Postgresql被越来越多的用户熟悉和使用,目前其本身的功能,并不能实现与其它数据库间的全量、增量数据同步,为了实现PG与其它数据库间增量数据同步,我们利用PG9.4版本之后的逻辑复制与解码技术,在其内置的test_decoding插件解析基础上,完成二次开发,获取dml变更记录,在采集端,通过把数据序列化,通过cmsp传输,在入库端获取数据,反本文档来自技高网...

【技术保护点】
1.一种基于sql的增量数据同步获取方法,其特征是所述的方法具体步骤包括:/nS1在数据库采集端通过执行数据库sql创建逻辑复制槽;/nS2采集程序实时获取表结构和逻辑解码后的增量数据;/nS3将逻辑解码后的字符串数据集二次解析并序列化后通过cmsp传输;/nS4入库端根据数据库类型反序列化获取数据,将数据写入数据库;/nS5当采集需求结束后清理创建的逻辑复制槽;/nS6获取数据库增量数据。/n

【技术特征摘要】
1.一种基于sql的增量数据同步获取方法,其特征是所述的方法具体步骤包括:
S1在数据库采集端通过执行数据库sql创建逻辑复制槽;
S2采集程序实时获取表结构和逻辑解码后的增量数据;
S3将逻辑解码后的字符串数据集二次解析并序列化后通过cmsp传输;
S4入库端根据数据库类型反序列化获取数据,将数据写入数据库;
S5当采集需求结束后清理创建的逻辑复制槽;
S6获取数据库增量数据。


2.根据权利要求1所述的方法,其特征是所述S1在数据库采集端通过执行数据库sql创建逻辑复制槽的具体步骤包括:
S101针对需要同步的表创建逻辑复制槽;
S102根据业务需求确定逻辑槽管理表的数据同步信息的数量。


3.根据权利要求2所述的方法,其特征是所述S3将逻辑解码后的字符串数据集二次解析并序列化后通过cmsp传输的具体步骤包括:
S301通过查询表结构变化获取采集表列信息;
S302将结果集中取需要同步的表和同步的字段相结合;
S303将得到的结果集序列化放到cmsp中传输。


4.根据权利要求3所述的方法,其特征是所述S6的具体步骤包括:
S601解析增量数据判断是否为表信息
S602解析字符串获取模式名+表名,同时获取dml的增量类型;
S603按字符串存储格式,循环解析列名及列数据内容;
S604入库端接收并组装数据。


5.一种基于sql的增量数据同步获取系统,其特征是所述的系统具体包括逻辑解码模块、数据采集模块、数据解析模块、数据写入模块、槽位清理模块和代码实现模块:...

【专利技术属性】
技术研发人员:朱传举方建勋张明哲
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1