一种数据同步方法及系统与流程

文档序号:19418540发布日期:2019-12-14 01:11阅读:来源:国知局

技术特征:

1.一种数据同步方法,基于源数据库、目标数据库和分布式缓存系统,其特征在于:源数据库每成功发送一次变更数据后,更新分布式缓存系统中的源数据库检查点信息;目标数据库每成功同步一次变更数据后,目标数据库就更新分布式缓存系统中的目标数据库检查点信息。

2.根据权利要求1所述的一种数据同步方法,其特征在于:所述分布式缓存系统采用redis分布式缓存系统。

3.根据权利要求1或2所述的一种数据同步方法,其特征在于:所述源数据库发送变更数据的方法包括以下步骤:

s1、通过事件流抽取进程读取源数据库日志,获取变更数据;

s2、事件流抽取进程将变更数据转换成内部事件流;

s3、内部事件流通过网络发送到目标数据库。

4.根据权利要求3所述的一种数据同步方法,其特征在于:所述事件流抽取进程将变更数据转换成内部事件流的方法包括以下步骤:

s201、事件流抽取进程读取变更数据;

s202、事件流抽取进程处理变更数据,生成内部相应的事件流数据。

5.根据权利要求3所述的一种数据同步方法,其特征在于:所述目标数据库同步变更数据的方法包括以下步骤:

s4、消息队列通过网络接收内部事件流;

s5、事件流同步进程将消息队列接收到的内部事件流解析为sql语句;

s6、目标数据库根据解析得到的sql语句进行同步。

6.根据权利要求5所述的一种数据同步方法,其特征在于:所述消息队列采用开源消息队列。

7.根据权利要求1或2所述的一种数据同步方法,其特征在于:还包括使用该方法的任意组件出现故障时的解决方法:

当源数据库出现软件或硬件故障时,包括以下步骤:

s701、重启事件流抽取进程;

s801、事件流抽取进程从分布式缓存系统中获取源数据库检查点信息;

s901、事件流抽取进程根据获取的源数据库检查点信息从源数据库中检查点对应的位置重新开始读取日志信息;

当目标数据库出现软件或硬件故障时,包括以下步骤:

s702、重启事件流同步进程;

s802、事件流同步进程从分布式缓存系统中获取目标数据库检查点信息;

s902、事件流同步进程根据获取的目标数据库检查点信息从目标数据库中检查点对应的位置重新开始进行同步。

8.一种数据同步系统,其特征在于,包括用于存储检查点信息的分布式缓存系统,还包括数据同步平台,所示数据同步平台包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令,实现如权利要求5所述的更新分布式缓存系统中的源数据库检查点信息、更新分布式缓存系统中的目标数据库检查点信息、执行事件流抽取进程、消息队列、事件流同步进程。


技术总结
本发明公开了一种数据同步方法及系统,基于源数据库、目标数据库和分布式缓存系统,源数据库每成功发送一次变更数据后,更新分布式缓存系统中的源数据库检查点信息;目标数据库每成功同步一次变更数据到数据库后,目标数据库就更新分布式缓存系统中的目标数据库检查点信息。本方案区别于现有的数据同步方法,将检查点存储在分布式缓存系统中,即使出现单点硬件故障,也不会导致检查点丢失,保证了数据同步系统的高可用性。同时,源数据库在变更数据发送成功后才更新分布式缓存系统中的源数据库检查点信息,即确认目标数据库接受变更数据后才更新分布式缓存系统中的源数据库检查点信息,可以进一步的保证在出现问题进行断点续传时的效率。

技术研发人员:赵东;李庆东;王纯斌
受保护的技术使用者:成都四方伟业软件股份有限公司
技术研发日:2019.11.06
技术公布日:2019.12.13
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1