日志同步的方法、装置、系统、设备及存储介质制造方法及图纸

技术编号:34332383 阅读:16 留言:0更新日期:2022-07-31 02:19
本说明书实施例提供一种日志同步的方法、装置、系统、设备、存储介质,所述方法包括:分片节点向消息中心发送待同步日志,所述待同步日志中包含有表征数据来源的标识,所述数据来源包括所述分片节点本地创建或由其他分片节点迁移至所述分片节点;所述消息中心从所述待同步日志中解析出所述标识,向各个所述分片节点发送广播消息,所述广播消息中携带有所述分片节点的地址信息以及所述标识;所述分片节点基于所述地址信息接收所述广播消息,并基于所述标识,确定是否发送所述待同步日志。旨在解决分布式数据库日志同步过程中信息不一致的问题。题。题。

【技术实现步骤摘要】
日志同步的方法、装置、系统、设备及存储介质


[0001]本说明书实施例涉及数据库同步的
,尤其涉及日志同步的方法、装置、系统、设备及存储介质。

技术介绍

[0002]分布式数据库一般具有多个独立的物理节点,在分布式数据库数据同步的过程中,其数据写入的日志一般是每个源端数据库的分片节点单独管理,但是分片节点之间由于负载均衡或者人为的一些操作会存在分片节点之间的数据迁移的情况,当分片节点之间发生数据迁移时,会导致分片节点同步到目标端数据库的数据最终可能不一致。针对这一问题,目前实时同步分布式数据库的增量有两种主流的做法,第一种是将源端的分布式数据库的每个分片节点单独配置任务,关闭源端分片节点之间的数据迁移,以此保证最终同步到目标端数据库的信息最终的一致性;这样做的缺点是需要对每个源端数据库的分片节点都进行配置,当源端数据库的分片节点非常多的时候,操作就会变得很复杂,并且源端数据库分片节点之间也不能进行数据迁移;第二种方法是分布式数据库自己提供统一的日志流,如MongoDB的change

stream方案,其原理是通过拉取各个不同的分片节点的增量日志,自己做一次归并排序后输出日志流,该方式可以在保证源端分布式数据库分片节点之间有数据迁移的同时,同步到目标端数据库的最终信息是一致的,但是该方式的缺点是不具备通用性,且同步效率受限于源端的日志归并排序后的输出效率。

技术实现思路

[0003]为克服相关技术中存在的问题,本说明书实施例提供了一种日志同步的方法、装置、系统、设备及存储介质。
[0004]根据本说明书实施例的第一方面,提供一种日志同步的系统,所述系统包括:
[0005]分布式数据库和消息中心;
[0006]所述分布式数据库包括源数据库和目标数据库,所述源数据库包括若干个分片节点,所述分片节点用于向所述消息中心发送待同步日志,所述待同步日志中包含表征数据来源的标识,所述数据来源包括所述分片节点本地创建或由其他分片节点迁移至所述分片节点;
[0007]所述消息中心用于从所述待同步日志中解析出所述标识,并向各个所述分片节点发送广播消息,所述广播消息中携带有所述分片节点的地址信息以及所述标识;
[0008]所述分片节点还用于基于所述地址信息接收所述广播消息,并基于所述标识,确定是否发送所述待同步日志。
[0009]根据本说明书实施例的第二方面,提供一种日志同步的方法,所示方法包括:
[0010]所述分片节点发送待同步日志,所述待同步日志中包含有表征数据来源的标识,所述数据来源包括所述分片节点本地创建或由其他分片节点迁移至所述分片节点;
[0011]所述分片节点基于所述分片节点的地址信息接收广播消息,所述广播消息中携带
有发送所述待同步日志的分片节点的地址信息以及所述标识,所述标识是从所述待同步日志中解析获得;
[0012]所述分片节点基于所述地址信息接收所述广播消息,并基于所述标识,确定是否发送所述待同步日志。
[0013]根据本说明书实施例的第三方面,提供一种日志同步的方法,应用于消息中心,所述方法包括:
[0014]接收所述分片节点发送的待同步日志,所述待同步日志中包含有表征数据来源的标识,所述数据来源包括所述分片节点本地创建或由其他分片节点迁移至所述分片节点;
[0015]基于所述待同步日志解析出所述标识,并向各个所述分片节点发送广播消息,所述广播消息中包括所述分片节点的地址信息以及所述标识;以使所述分片节点基于所述地址信息接收所述广播消息,并基于所述标识确定是否发送所述待同步日志。
[0016]根据本说明书实施例第四方面,提供一种日志同步的装置,所述装置包括:接收模块,用于接收所述分片节点发送的待同步日志,所述待同步日志中包含有表征数据来源的标识,所述数据来源包括所述分片节点本地创建或由其他分片节点迁移至所述分片节点;
[0017]解析模块,用于对接收到的所述待同步日志进行解析,得到所述标识;广播模块,用于向各个所述分片节点发送广播消息,所述广播消息中包括所述分片节点的地址信息以及所述标识,以使所述分片节点基于所述地址信息接收所述广播消息,并基于所述标识,使得所述分片节点确定是否发送所述待同步日志。
[0018]根据本说明书实施例第五方面,提供一种电子设备,所述电子设备包括:
[0019]处理器;
[0020]用于存储处理器可执行指令的存储器;
[0021]其中,所述处理器被配置为执行如前述第一方面所述的任意一项方法所述的操作。
[0022]根据本申请实施例的第六方面,提供一种可读存储介质,包括:
[0023]该指令被处理器执行时实现如前述第一方面所述的任意一项方法所述的操作。
[0024]本说明书实施例的实施例提供的技术方案可以包括以下有益效果:
[0025]在本说明书实施例中,对源端数据库的分片节点分别建立与目标端数据库的连接链路,并通过一个消息中心对分片节点的连接链路进行监测,根据监测到的有关各个链路的待发送的日志任务的数据来源构建广播消息,以广播的方式发布给各个分片节点,从而使得分片节点可以获知待发送的日志的数据来源是由其他分片节点迁移至本节点的、还是本节点自身创建的,进而决定是否将该日志发送给目的数据库,增强了分布式数据库数据同步时的协同性,且由于各个分片节点发送待发送的任务之前都参考了其他分片节点待发送的任务的信息,因此所有分片节点所发送的任务具有一致性。
[0026]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
附图说明
[0027]此处的附图被并入说明书中并构成本说明书实施例的一部分,示出了符合本说明书实施例的实施例,并与说明书一起用于解释本说明书实施例的原理。
[0028]图1A是本说明书实施例根据一示例性实施例示出的一种日志同步的方法的流程图。
[0029]图1B是本说明书实施例根据一示例性实施例示出的一种日志同步的方法的流程图。
[0030]图2A是一种现有技术。
[0031]图2B是本说明书实施例根据一示例性实施例示出的一种分布式数据库结构图。
[0032]图3是本说明书实施例根据一示例性实施例示出的一种消息中心构建的新消息的结构图。
[0033]图4是本说明书实施例根据一示例性实施例示出的另一种消息中心的结构图。
[0034]图5本说明书实施例根据一示例性实施例示出的一种日志同步的装置的框图。
[0035]图6是本说明书实施例根据一示例性实施例示出的一种日志同步的系统的框图。
[0036]图7是本说明书实施例根据一示例性实施例示出的一种应用在云数据库场景的日志同步的方案流程图。
[0037]图8是本说明书实施例根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
[0038]这里将详细地对示例性实施例进行说明,其示例表示在附图中。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种日志同步的系统,所述系统包括:分布式数据库和消息中心;所述分布式数据库包括源数据库和目标数据库,所述源数据库包括若干个分片节点,所述分片节点用于向所述消息中心发送待同步日志,所述待同步日志中包含表征数据来源的标识,所述数据来源包括所述分片节点本地创建或由其他分片节点迁移至所述分片节点;所述消息中心用于从所述待同步日志中解析出所述标识,并向各个所述分片节点发送广播消息,所述广播消息中携带有所述分片节点的地址信息以及所述标识;所述分片节点还用于基于所述地址信息接收所述广播消息,并基于所述标识,确定是否发送所述待同步日志。2.根据权利要求1所述的系统,基于所述标识,确定是否发送所述待同步日志包括:在数据来源为所述分片节点本地创建的情况下,将所述待同步日志发送至所述目标数据库,或者,在数据来源为其他分片节点迁移至所述分片节点的情况下,不发送所述待同步日志。3.根据权利要求1所述的系统,所述消息中心向各个所述分片节点发送的广播消息中还携带有所述待同步日志的时序信息,所述分片节点还用于在根据所述标识确定出不发送的其他分片节点迁移至所述分片节点的待同步日志后,根据所述时序信息跳转到所述本地节点创建的待同步日志并发送至所述目标数据库。4.一种日志同步的方法,应用于权利要求1

2任一所述的日志同步系统,所述分布式数据库包括源数据库和目标数据库,所述源数据库包括若干个分片节点,所述方法包括:所述分片节点发送待同步日志,所述待同步日志中包含有表征数据来源的标识,所述数据来源包括所述分片节点本地创建或由其他分片节点迁移至所述分片节点;所述分片节点基于所述分片节点的地址信息接收广播消息,所述广播消息中携带有发送所述待同步日志的分片节点的地址信息以及所述标识,所述标识是从所述待同步日志中解析获得;所述分片节点基于所述标识,确定是否发送所述待同步日志。5.根据权利要求4所述的方法,基于所述标识,确定是否发送所述待同步日志包括:在数据来源为所述分片节点本地创建的情况下,将所述待同步日志发送至所述目标数据库,或者,在数据来源为其他分片节点迁移至所述分片节点的情况下,不发送所述待同步日志。6.根据权利要求4所述的方法,所述广播消息中还携带有所述分片节点待同步日志的时序信息,所述分片节点在根据所述标识确定出不发送的其他分片节点迁移至所述分片节点的待同步日志后,根据所述时序信息跳转到所述本地节点创建的待同步...

【专利技术属性】
技术研发人员:张淼霍国铖王旭
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1