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所述的更新分布式缓存系统中的源数据库检查点信息、更新分布式缓存系统中的目标数据库检查点信息、执行事件流抽取进程、消息队列、事件流同步进程。