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

技术编号:33041116 阅读:11 留言:0更新日期:2022-04-15 09:22
本公开涉及一种数据同步方法、装置、计算机设备和介质;其中,该方法包括:从源端数据库中获取待同步数据;将待同步数据封装成多个数据记录,并将多个数据记录依次写入对应的目标队列中;调用目标数据读取程序从目标队列中读取对应的数据记录,并将读取到的数据记录发送至对应的目标数据库。本公开实施例通过从目标队列中读取对应的数据记录,能够减少对源端数据库资源的占用,同时保证目标数据库数据同步的实时性。的实时性。的实时性。

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


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

技术介绍

[0002]随着计算机网络技术的不断发展,数据库同步技术逐渐成为保证系统性能和提高系统可靠性的关键技术。利用数据同步工具进行数据同步时主要分为三个阶段:第一阶段进行存量数据的初始化装载,获得数据同步的基础点;第二阶段以初始化数据装载得到的基础点为基准进行增量数据同步;第三阶段定期对数据同步的源端数据和目标数据进行比对校验,以确认在数据同步过程中没有丢失数据。
[0003]在数据分发的同步场景中,尤其是在第二阶段的增量数据同步过程中,需要将一个源端数据库的增量数据同时同步到多个目标数据库。传统的数据同步方法是在源端数据库中安装多个数据捕获程序,将原本的数据分发场景转换为多个1对1的数据同步场景。但是上述方法中,由于多个数据捕获程序都需要从源端数据库中捕获增量数据,会大量的抢占源端数据库的中央处理器(Central Processing Unit,简称CPU)资源和输入/输出(Input/Ouput,简称I/O)资源,对源端数据库而言,不仅负载多且会造成大量资源的浪费。

技术实现思路

[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]第二方面,本公开提供了一种数据同步装置,包括:
[0029]获取模块,用于从源端数据库中获取待同步数据;
[0030]写入模块,用于将所述待同步数据封装成多个数据记录,并将所述多个数据记录依次写入对应的目标队列中;
[0031]发送模块,用于调用目标数据读取程序从所述目标队列中读取对应的数据记录,并将读取到的数据记录发送至对应的目标数据库。
[0032]可选的,发送模块,包括:
[0033]第一确定单元,用于根据所述目标数据库确定对应的目标数据读取程序;
[0034]第二确定单元,用于获取数据读取方式;
[0035]记录发送单元,用于根据所述数据读取方式,调用所述目标数据读取程序从所述目标队列中读取对应的目标数据记录,并将所述目标数据记录发送至所述目标数据库。
[0036]可选的,记录发送单元,具体用于:
[0037]根据所述数据读取方式,调用所述目标数据读取程序从所述目标队列中读取对应的目标数据记录;
[0038]确定与所述目标数据库对应的目标入库程序;
[0039]将所述目标数据记录发送至所述目标入库程序,以使所述目标入库程序将所述目标数据记录发送至所述目标数据库。
[0040]可选的,写入模块,包括:
[0041]封装单元,用于调用对应的数据写入程序将所述待同步数据封装成多个数据记录,并确定所述多个数据记录中包含的所有数据记录的第一个数;
[0042]个数获取单元,用于获取所述目标队列中存储区间的第二个数;
[0043]记录写入单元,用于根据所述第一个数以及所述第二个数的大小关系,将所述多个数据记录依次写入对应的目标队列中。
[0044]可选的,记录写入单元,包括:
[0045]第一写入单元,用于若所述第一个数大于所述第二个数,则基于所述多个数据记录中各数据记录的排列顺序将目标个数的数据记录依次写入对应的存储区间中,其中,所述目标个数与所述第二个数相等;
[0046]第二写入单元,用于确定所述目标队列中存在空闲存储区间,根据所述空闲存储区间的第三个数以及所述多个数据记录中剩余的数据记录对应的排列顺序将第三个数的数据记录依次写入对应的空闲存储区间中。
[0047]可选的,记录写入单元,具体用于:
[0048]若所述第一个数小于等于所述第二个数,则基于所述多个数据记录中各数据记录的排列顺序将所述多个数据记录依次写入对应的存储区间中。
[0049]可选的,第二写入单元,具体用于:
[0050]获取所述目标队列中各存储区间所对应的数据记录分别被读取的次数;
[0051]根据所有次数,确定所述目标队列中存在空闲存储区间;
[0052]根据所述空闲存储区间的第三个数以及所述多个数据记录中剩余的数据记录对应的排本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步方法,其特征在于,所述方法包括:从源端数据库中获取待同步数据;将所述待同步数据封装成多个数据记录,并将所述多个数据记录依次写入对应的目标队列中;调用目标数据读取程序从所述目标队列中读取对应的数据记录,并将读取到的数据记录发送至对应的目标数据库。2.根据权利要求1所述的方法,其特征在于,所述调用目标数据读取程序从所述目标队列中读取对应的数据记录,并将读取到的数据记录发送至对应的目标数据库,包括:根据所述目标数据库确定对应的目标数据读取程序;获取数据读取方式;根据所述数据读取方式,调用所述目标数据读取程序从所述目标队列中读取对应的目标数据记录,并将所述目标数据记录发送至所述目标数据库。3.根据权利要求2所述的方法,其特征在于,所述将所述目标数据记录发送至所述目标数据库,包括:确定与所述目标数据库对应的目标入库程序;将所述目标数据记录发送至所述目标入库程序,以使所述目标入库程序将所述目标数据记录发送至所述目标数据库。4.根据权利要求1所述的方法,其特征在于,所述将所述待同步数据封装成多个数据记录,并将所述多个数据记录依次写入对应的目标队列中,包括:调用对应的数据写入程序将所述待同步数据封装成多个数据记录,并确定所述多个数据记录中包含的所有数据记录的第一个数;获取所述目标队列中存储区间的第二个数;根据所述第一个数以及所述第二个数的大小关系,将所述多个数据记录依次写入对应的目标队列中。5.根据权利要求4所述的方法,其特征在于,所述根据所述第一个数以及所述第二个数的大小关系,将所述多个数据记录依次写入对应的目标队列中,包括:若所述第一个数大于所述第二个...

【专利技术属性】
技术研发人员:王凯龙
申请(专利权)人:北京人大金仓信息技术股份有限公司
类型:发明
国别省市:

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

1