数据同步方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:37509095 阅读:17 留言:0更新日期:2023-05-07 09:48
本申请涉及一种数据同步方法、装置、计算机设备和存储介质。所述方法包括:服务端在符合数据比对条件的情况下,才向源端数据库发送第一拉取请求以拉取预设时长内的第一比对数据,在接收到源端数据库发送的第一比对数据时,向目标端数据库发送第二拉取请求以拉取第一比对数据对应的第二比对数据,根据接收到的第二比对数据与第一比对数据进行比对,基于其比对结果确定源端数据库与目标端数据库之间的目标差异数据,以源端数据库中的记录为准按照目标差异数据对目标端数据库中的记录进行同步处理,避免业务负载较高时会在服务端堆积大量的无效中间待校验数据,从而解决了服务端对无效的中间校验数据进行校验同步处理导致服务端计算力浪费的问题。服务端计算力浪费的问题。服务端计算力浪费的问题。

【技术实现步骤摘要】
数据同步方法、装置、计算机设备和存储介质


[0001]本申请涉及计算机
,尤其涉及一种数据同步方法、装置、计算机设备和存储介质。

技术介绍

[0002]业务从一个单机数据库迁移到一个分布式数据库时,有一个重要的流程就是当业务迁移成功后,有个反向同步的窗口期,用于防止万一迁移出现不成功时,业务还能快速的回切到原单机数据库上。在分布式数据库(源端数据库)向单机数据库(目标端数据库)同步增量数据的过程中,服务端定时从分布式数据库和单机数据库拉取需要进行比对校验的数据,当业务负载较高时服务端会堆积大量来自单机数据库的无效中间待校验数据,而服务端对无效的中间校验数据进行校验同步处理将会浪费服务端的计算力。

技术实现思路

[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]图1为一个实施例中数据同步方法的应用环境图;
[0028]图2为一个实施例中数据同步方法的流程示意图;
[0029]图3为一个实施例中数据同步装置的结构框图;
[0030]图4为一个实施例中计算机设备的内部结构图。
具体实施方式
[0031]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0032]图1为一个实施例中数据同步方法的应用环境图。参照图1,该数据同步方法应用于数据同步系统。该数据同步系统包括源端数据库110、目标端数据库120和服务端130。源端数据库110、目标端数据库120和服务端130通过网络连接。源端数据库110和目标端数据库120为不同的数据库,源端数据库110的数据处理能力强于目标端数据120库的数据处理能力,即在本实施例中源端数据库110为分布式数据库,目标端数据库120为单机数据库。服务端130可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0033]在一个实施例中,图2为一个实施例中一种数据同步方法的流程示意图,参照图2,提供了一种数据同步方法。本实施例主要以该方法应用于上述图1中的服务端130来举例说明,该数据同步方法具体包括如下步骤:
[0034]步骤S210,在符合数据比对条件的情况下,向源端数据库110发送第一拉取请求,其本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步方法,其特征在于,所述方法包括:在符合数据比对条件的情况下,向源端数据库发送第一拉取请求,其中,所述第一拉取请求用于请求拉取预设时长内的第一比对数据;在接收到来自所述源端数据库的所述第一比对数据的情况下,向目标端数据库发送第二拉取请求,其中,所述第二拉取请求用于请求拉取与所述第一比对数据对应的第二比对数据;在接收到所述第二比对数据的情况下,根据所述第一比对数据与所述第二比对数据之间的比对结果,确定所述源端数据库与所述目标端数据库之间的目标差异数据;根据所述目标差异数据对所述目标端数据库进行同步处理。2.根据权利要求1所述的方法,其特征在于,所述在符合数据比对条件的情况下,向源端数据库发送第一拉取请求,包括:在达到预设比对时刻的情况下,向所述源端数据库发送第一拉取请求;或,在获取到上一批次数据同步完成信号的情况下,向所述源端数据库发送第一拉取请求。3.根据权利要求1所述的方法,其特征在于,所述在接收到来自所述源端数据库的所述第一比对数据的情况下,向目标端数据库发送第二拉取请求,包括:在接收到来自所述源端数据库的所述第一比对数据的情况下,将所述第一比对数据拆分为多个比对任务,其中,所述第一比对数据包括多个第一待比对记录;按照预设滑动窗口依次滑动选取未经比对的所述比对任务作为目标任务保存至任务队列中,其中,所述任务队列中所述目标任务的数量等于所述预设滑动窗口的窗口数;针对所述任务队列中的每个所述目标任务启动一个比对线程;通过每个所述比对线程根据相应所述目标任务中各个所述第一待比对记录的记录标识,生成各个所述目标任务对应的所述第二拉取请求,其中,所述第二拉取请求用于请求从所述目标端数据库中拉取与相应所述目标任务中,各个所述第一待比对记录的记录标识相应的第二待比对记录,所述第二比对数据包括多个所述第二待比对记录;发送各个所述第二拉取请求至所述目标端数据库。4.根据权利要求3所述的方法,其特征在于,所述根据所述第一比对数据与所述第二比对数据之间的比对结果,确定所述源端数据库与所述目标端数据库之间的目标差异数据,包括:通过每个所述比对线程按照预设比对方案,将各个所述目标任务中每个所述第一待比对记录与多个所述第二待比对记录进行比对处理,得到各个所述目标任务对应的比对结果;确定各个所述比对任务的比对状态;在存在比对状态为未经比对的所述比对任务的情况下,执行所述按照预设滑动窗口依次滑动选取未经比对的所述比对任务作为目标任务保存至任务队列中,直至得到各个所述目标任务对应的比对结果的步骤;在全部所述比对任务的比对状态为已经比对的情况下,根据全部所述比对任务对应的比对结果,确定所述源端数据库与所述目标端数据库之间的目标差异数据。5.根据权利要求4所述的方法,其特征在于,所述通过每个所述比对线程按照预设比对
方案,将各个所述目标任务中每个所述第一待比对记录与多个所述第二待比对记录进行比对处理,得到各个所述目标任务对应的比对结果,包括:通过当前比对线程确定当前目标任务中当前第一待比对记录的记录标识与各个所述第二待比对记录的记录标识之间的第一匹配结果,其中,所述当前第一待比对记录为所述当前目标任务中任意一个未经比对的所述第一待...

【专利技术属性】
技术研发人员:戴扶
申请(专利权)人:金篆信科有限责任公司
类型:发明
国别省市:

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

1