【技术实现步骤摘要】
一种基于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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。