[发明专利]数据库之间的数据同步方法和系统有效
申请号: | 201910040361.1 | 申请日: | 2019-01-16 |
公开(公告)号: | CN109960710B | 公开(公告)日: | 2023-04-11 |
发明(设计)人: | 刘顺 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23;G06F16/242 |
代理公司: | 华进联合专利商标代理有限公司 44224 | 代理人: | 李文渊 |
地址: | 518033 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 之间 数据 同步 方法 系统 | ||
1.一种数据库之间的数据同步方法,所述方法包括:
源服务器读取源数据库的日志文件,并将所述日志文件解析成可识别文本;其中,所述日志文件为binlog日志文件;
所述源服务器从所述可识别文本中筛选SQL语句,并将获得的SQL语句转换成标准SQL语句;筛选的所述SQL语句用于对数据库中发生变化的数据进行操作;
所述源服务器将所述标准SQL语句封装成订阅消息并发送至kafka集群;
所述kafka集群在接收到所述订阅消息后,向各目标服务器进行广播;
所述目标服务器将SQL_consumer与所述kafka集群建立长连接,通过所述长连接从所述kafka集群中拉取订阅消息,对所述订阅消息进行消费;在SQL_consumer消费所述订阅消息时,所述kafka集群通过offset记录当前消费位置,不同SQL_consumer同时消费所述订阅消息时,消费的记录位置offset互不干扰;
所述SQL_consumer保存消费的所述订阅消息的偏移量,当SQL_consumer消费订阅消息时,offset线性向前驱动,使得所述订阅消息依顺序被消费;
所述目标服务器在获得所述订阅消息后,对所述订阅消息进行解封装得到所述标准SQL语句,执行所述标准SQL语句,以将所述源数据库中发生变化的数据同步至目标数据库,实现不同数据库集群的数据同步。
2.根据权利要求1所述的方法,其特征在于,所述SQL语句至少包括以下之一:新增语句、插入语句和删除语句;所述从所述可识别文本中筛选SQL语句,并将获得的SQL语句转换成标准SQL语句包括:
所述源服务器获取与所述新增语句、插入语句和/或删除语句对应的关键词;
所述源服务器从所述可识别文本中筛选与所述关键词匹配的SQL语句,或者,将可识别文本中与所述关键词不匹配的SQL语句进行过滤,得到筛选的SQL语句,并将获得的SQL语句转换成标准SQL语句。
3.根据权利要求1所述的方法,其特征在于,所述标准SQL语句,至少包括以下之一:标准的新增语句、标准的插入语句和标准的删除语句;
所述执行所述标准SQL语句,以将所述源数据库中发生变化的数据同步至目标数据库包括:
所述目标服务器执行所述标准的新增语句,以将所述源数据库中更新的业务数据同步更新至目标数据库;和/或,
所述目标服务器执行所述标准的插入语句,以将所述源数据库中插入的业务数据同步插入至目标数据库;和/或,
所述目标服务器执行所述标准的删除语句,以删除目标数据库中与所述源数据库中被删除的业务数据相对应的数据。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
所述源服务器通过指定分区的方式,将所述订阅消息发送至所述kafka集群中所指定的分区;或者,
所述源服务器通过均衡策略的方式,将所述订阅消息发送至所述kafka集群中对应不同的分区。
5.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
zookeeper系统监控所述源服务器、所述kafka集群和所述目标服务器的工作状态,根据所述工作状态生成状态列表,以便根据所述状态列表从所述源服务器、所述kafka集群和所述目标服务器中查找出现异常的设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910040361.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据库驱动的处理方法、装置、设备及存储介质
- 下一篇:设备管理方法和系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置