[发明专利]数据同步方法、系统、服务器及存储介质在审
申请号: | 202310073103.X | 申请日: | 2023-01-13 |
公开(公告)号: | CN116303764A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 张昆;李保进;熊学武;韦利东 | 申请(专利权)人: | 上海泛微软件有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/25;G06F16/22;G06F16/23 |
代理公司: | 成都顶峰专利事务所(普通合伙) 51224 | 代理人: | 曹源 |
地址: | 200000 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 同步 方法 系统 服务器 存储 介质 | ||
本发明公开了一种数据同步方法、系统、服务器及存储介质,涉及数据同步技术领域。数据同步方法用于源数据库与目标数据库之间的数据同步更新,该数据同步方法包括:生产端将源数据库中的更新数据写入中间表,并在中间表中写入更新数据的数据同步状态为未同步;生产端扫描中间表中数据同步状态为未同步的目标数据,并将目标数据发送至消息队列;消费端消费消息队列中的数据,并将被消费数据写入目标数据库。本发明公开的数据同步方法、系统、服务器及存储介质可十分方便的完成源数据库与目标数据库之间的数据同步更新,且支持各类型数据库之间的数据同步更新,使得数据同步更新的应用场景不再局限于MySQL数据库。
技术领域
本发明属于数据同步技术领域,具体涉及一种数据同步方法、系统、服务器及存储介质。
背景技术
为保证数据安全,通常会采用数据同步的方式将源数据库中变化的数据同步到目标数据库。目前,现有的数据同步大都是通过基于MySQL(MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一)的高性能数据同步系统Canal获取binlog(binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息)中的数据并解析,然后将数据变动传输给下游的目标数据库,实现数据同步。
然而采用这样的方式,在进行数据同步时源数据库就要求必须是MySQL数据库,这大大限制了数据同步的应用场景。
发明内容
本发明的目的是提供一种数据同步方法、系统、服务器及存储介质,用以解决现有技术中存在的上述问题。
为了实现上述目的,本发明采用以下技术方案:
第一方面,本发明提供了一种数据同步方法,用于源数据库与目标数据库之间的数据同步更新,包括:
生产端将源数据库中的更新数据写入中间表,并在所述中间表中写入所述更新数据的数据同步状态为未同步;
生产端扫描所述中间表中数据同步状态为未同步的目标数据,并将所述目标数据发送至消息队列;
消费端消费所述消息队列中的数据,并将被消费数据写入目标数据库。
在一个可能的设计中,在生产端将源数据库中的更新数据写入中间表之后,所述方法还包括:
生产端在所述中间表中写入所述更新数据的数据更新类型;
生产端将被消费数据写入目标数据库,包括:
生产端依据将被消费数据所对应的数据更新类型,将被消费数据写入目标数据库;
其中,被消费数据所对应的数据更新类型为数据插入、数据更新或数据删除。
在一个可能的设计中,在生产端将所述目标数据发送至消息队列之后,所述方法还包括:
生产端将所述目标数据的数据同步状态更新为数据同步中;
在消费端将被消费数据写入目标数据库之后,所述方法还包括:
消费端将所述中间表中与被消费数据对应的数据的数据同步状态更新为已完成更新。
在一个可能的设计中,在生产端将所述目标数据发送至消息队列之前,所述方法还包括:
生产端对所述目标数据加上分布式锁。
在一个可能的设计中,生产端扫描所述中间表中数据同步状态为未同步的目标数据,包括:
生产端以心跳的方式扫描所述中间表中数据同步状态为未同步的目标数据。
第二方面,本发明提供了一种数据同步系统,用于源数据库与目标数据库之间的数据同步更新,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海泛微软件有限公司,未经上海泛微软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310073103.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置