[发明专利]数据双向实时同步系统在审
申请号: | 202110773803.0 | 申请日: | 2021-07-08 |
公开(公告)号: | CN113392161A | 公开(公告)日: | 2021-09-14 |
发明(设计)人: | 王文贵 | 申请(专利权)人: | 苏州海管家物流科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/242;G06F16/9035 |
代理公司: | 北京润川律师事务所 11643 | 代理人: | 张超 |
地址: | 215000 江苏省苏州市工业*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 双向 实时 同步 系统 | ||
本发明公开了数据双向实时同步系统,包括以下操作步骤:客户端通过mybatis的Interceptor扩展,获取其sql语句,实现程序数据的DML语句拦截,如果当前线程存在事务,通过TransactionSynchronizationManager,为当前线程注册一个新的TransactionSynchronizationAdapter,在事务提交后,异步发送包含sql语句的同步信息至客户端,根据配置文件中配置的映射关系、以及convert实现,对原sql进行校验、过滤、转换,然后发送到执行队列中,服务端监听到队列中存在数据的时候,对数据进行持久化执行。本发明所述的数据双向实时同步系统,采用无侵入式数据同步客户端,可以实现数据同步,无需额外配置和开发工作,对原有系统没有影响,实现不同数据源之间的同步,多数据源统一管理和动态切换。
技术领域
本发明涉及数据技术领域,特别涉及数据双向实时同步系统。
背景技术
数据双向实时同步系统是一种进行数据同步处理的支撑方法,企业在新老系统迭代的过程中,涉及新老系统同时在线,存在一个平滑过度期,且新老系统的存储形式、存储位置、数据结构、业务逻辑等等,完全不同,大多数据中间组件,仅支持简单业务逻辑的数据迁移和同步,随着科技的不断发展,人们对于数据双向实时同步系统的制造工艺要求也越来越高。
现有的数据双向实时同步系统在使用时存在一定的弊端,首先,市场上比较知名的同步组件,如阿里的canal组件,类似还有很多其他产品,主要实现是基于mysql的binlog,利用mysql的dump协议进行解析而实现同步,支持及实现单一,且仅支持mysql,比如常用的oracle、sqlserver、redis、mongo等都不支持,基于mysql的binlog,在数据库进行双主模式部署时,存在额外的数据回环同步问题,除了基于binlog之外,还存在的同步方案,就是业务双写模式,此方案,对于开发人员,工作量近乎翻倍,代码侵入性高,并且带来事务上复杂度提升,降低系统的不稳定性,另外对于新重构系统的开发人员,还要熟悉老的业务系统代码,带来沉重的梳理成本和沟通成本,不利于人们的使用,还有,双向实时同步,数据回环问题,一直没有得到有效解决或避免,新老系统,都存在实时流量,怎么控制数据是否需要同步,又带来额外的数据比对成本,并且在特殊的场景中,根本无法分辨数据的来源,也就是无法避免数据回环问题,给人们的使用过程带来了一定的不利影响,为此,我们提出数据双向实时同步系统。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了数据双向实时同步系统,采用无侵入式数据同步客户端,同步体系为需要同步的业务系统,提供了无侵入式客户端,业务系统开发人员,只需引入客户端依赖,就可以实现数据同步,无需额外配置和开发工作,对原有系统没有影响,也不需要测试人员介入而投入新的测试成本,不限数据库类型和存储方式,实现不同数据源之间的同步,多数据源统一管理和动态切换,插件式json配置,自动映射生成同步逻辑,插件式扩展,可针对特殊逻辑做处理,接近实时同步,毫秒级同步延迟,可以有效解决背景技术中的问题。
(二)技术方案
为实现上述目的,本发明采取的技术方案为:数据双向实时同步系统,包括以下操作步骤:
S1:语句拦截:客户端通过mybatis的Interceptor扩展,针对应用的持久层,在落库之前获取Statement,获取其sql语句,实现程序数据的DML语句拦截;
S2:注册新事务:客户端拿到sql语句之后,如果当前线程存在事务,通过TransactionSynchronizationManager,为当前线程注册一个新的TransactionSynchronizationAdapter,在事务提交后,异步发送包含sql语句的同步信息至客户端;
S3:校验过滤转换:服务端在接收到同步信息后,根据配置文件中配置的映射关系、以及convert实现,对原sql进行校验、过滤、转换,然后发送到执行队列中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州海管家物流科技有限公司,未经苏州海管家物流科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110773803.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置