CN115934841A - 数据同步方法、终端设备以及计算机存储介质 - Google Patents

数据同步方法、终端设备以及计算机存储介质 Download PDF

Info

Publication number
CN115934841A
CN115934841A CN202211646232.5A CN202211646232A CN115934841A CN 115934841 A CN115934841 A CN 115934841A CN 202211646232 A CN202211646232 A CN 202211646232A CN 115934841 A CN115934841 A CN 115934841A
Authority
CN
China
Prior art keywords
data
database
target data
target
circular queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211646232.5A
Other languages
English (en)
Inventor
钱俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202211646232.5A priority Critical patent/CN115934841A/zh
Publication of CN115934841A publication Critical patent/CN115934841A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据同步方法、终端设备以及计算机存储介质,该数据同步方法包括:将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中,其中,环形队列基于Disruptor框架实现;从环形队列中以数据流的形式获取目标数据,并写入至少一个第二数据库中,以实现第一数据库和第二数据库的数据同步。本申请在数据同步的过程中使用了基于Disruptor框架实现的环形队列,Disruptor框架可以提高数据的处理能力和传输能力,提高了数据同步的速度,节省了时间。

Description

数据同步方法、终端设备以及计算机存储介质
技术领域
本申请涉及数据同步技术领域,特别是涉及一种数据同步方法、终端设备以及计算机存储介质。
背景技术
随着科技的发展和进步以及互联网技术在各个领域的广泛应用,各领域系统的数据共享也成为趋势,目前各数据库的同步方案所实现数据共享的方式,对系统硬件设备要求高,成本费用较高,而且难以适应于个性化的用户需求。
发明内容
本申请提供一种数据同步方法、终端设备以及计算机存储介质。
本申请采用的一个技术方案是提供一种数据同步方法,其中,数据同步方法包括:
将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中;环形队列基于Disruptor框架实现;
从环形队列中以数据流的形式获取目标数据,并写入至少一个第二数据库中,以实现第一数据库和第二数据库的数据同步。
其中,将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中,包括:
识别每一第一数据库的优先级;
按照优先级顺序将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中。
其中,将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中,包括:
确定环形队列中上一次写入数据的第一数据格;
根据上一次写入数据的第一数据格,确定当前次写入数据的第二数据格;
将至少一个第一数据库中目标数据以数据流的形式缓存至第二数据格中。
其中,将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中,包括:
通过数据存取层,从至少一个第一数据库中获取目标数据;数据存取层采用MyBatis进行抽象得到,能够支持泛型数据类型;
将目标数据以数据流的形式缓存至环形队列中。
其中,从环形队列中以数据流的形式获取目标数据,并写入至少一个第二数据库中,包括:
从环形队列中以数据流的形式获取目标数据,并以相同的数据复制速率将目标数据写入至少一个第二数据库中。
其中,将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中,包括:
获取自定义的批量同步指令;
按照批量同步指令从至少一个第一数据库中获取目标数据;
以数据流的形式将目标数据缓存至环形队列中。
其中,从环形队列中以数据流的形式获取目标数据,并写入至少一个第二数据库中,包括:
响应于目标写入指令,从多线程的环形队列中确定出一个单线程;
通过单线程将目标数据写入至少一个第二数据库中。
其中,上述方案还利用lambda技术对目标数据进行备份。
本申请采用的另一个技术方案是提供一种终端设备,终端设备包括存储器以及与存储器连接的处理器;
其中,存储器用于存储程序数据,处理器用于执行程序数据以实现如上述的数据同步方法。
本申请采用的另一个技术方案是提供一种计算机存储介质,所述计算机存储介质用于存储程序数据,所述程序数据在被计算机执行时,用以实现如上述的数据同步方法。
本申请的有益效果是:在数据同步的过程中使用了基于Disruptor框架实现的环形队列,将第一数据库获得的目标数据先存入环形队列中,再将环形队列的目标数据写入对应的第二服务器中,Disruptor框架可以提高数据的处理能力和传输能力,提高了数据同步的速度,节省了时间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的数据同步方法一实施例的流程示意图;
图2是本申请提供的数据同步方法另一实施例的流程示意图;
图3是本申请提供的数据同步方法另一实施例的流程示意图;
图4是本申请提供的数据同步方法又一实施例的流程示意图;
图5是本申请提供的终端设备一实施例的结构示意图;
图6是本申请提供的计算机存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中的步骤并不一定是按照所描述的步骤顺序进行处理,可以按照需求有选择的将步骤打乱重排,或者删除实施例中的步骤,或者增加实施例中的步骤,本申请实施例中的步骤描述只是可选的顺序组合,并不代表本申请实施例的所有步骤顺序组合,实施例中的步骤顺序不能认为是对本申请的限制。
本申请中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法或设备固有的其它步骤或单元。
另外,本申请中尽管多次采用术语“第一”、“第二”等来描述各种数据(或各种应用或各种指令或各种操作)等,不过这些数据(或应用或指令或操作)不应受这些术语的限制。这些术语只是用于区分一种数据(或应用或指令或操作)和另一种数据(或应用或指令或操作)。
请参阅图1,图1是本申请提供的数据同步方法一实施例的流程示意图。
如图1所示,本申请实施例的数据同步方法具体可以包括以下步骤:
S1,将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中。
其中,环形队列基于Disruptor框架实现,环形队列也称作环形缓冲区(RingBuffer),可以理解地,环形队列的数列可以为至少一个,此处不做限定。
具体地,数据同步终端检测第一数据库和第二数据库的数据是否一致,若第一数据库的数据发生改变,数据同步终端将第一数据库中发生改变的数据以数据流的形式缓存到环形队列中。
可以理解地,数据同步终端执行的数据同步业务的不同,第一数据库存入环形队列中的目标数据也可以不同。例如数据同步终端执行的是数据库的迁移业务,则第一数据库将自身所有的数据存入环形队列中;例如数据同步终端执行的是指定数据的数据库备份业务,则第一数据库将该指定数据存入环形队列中。
一些实施例中,数据同步终端检测第一数据库和第二数据库的数据是否一致的方法可以为数据同步终端监听第一数据库的数据变更事件。其中,数据变更事件可以包括插入数据、删除数据和更新数据。
其中,第一数据库为源数据库,第一数据库的数量可以为多个。可选地,上述第一数据库可以为mysql、sqlserver、oracle、mongodb、hive、log等数据库中的一种或多种。第一数据库中数据为对应不同业务的数据,如在保险行业中主要指客户购买保单的交易数据。
一些实施例中,环形队列中具有2n个数据格,每一数据格用于存放目标数据,其中n为正整数。
S2,从环形队列中以数据流的形式获取目标数据,并写入至少一个第二数据库中,以实现第一数据库和第二数据库的数据同步。
具体地,数据同步终端从环形队列中以数据流的方式取得目标数据,并写入至第二数据库中,实现第一数据库和第二数据库的数据同步。
其中,数据同步终端在环形队列中读取目标数据的方式为先进先出,即第一数据库最先存入的目标数据为读取的数据头、第一数据库最后存入的目标数据为读取的数据位,最开始的目标数据被读取后,便将第二个目标数据作为数据头,数据尾便空出,可接着将另一目标数据加载到数据格中,通过使用环形队列的方式增加数据同步终端的读写效率,加快数据处理能力。
具体地,数据同步终端获取目标数据的方式为按照数据格顺时针顺序从环形队列内取出,具体的,可将目标数据按照第一数据库存入到的先后顺序,按照环形队列顺时针顺序存放,使用时将目标数据按环形队列顺时针顺序取出写入至至少一个第二数据库中,当数据格中的源数据完成了读取操作,数据同步终端将其清除。
其中,第二数据库为目标数据库,第二数据库的数量可以为多个。可选地,上述第二数据库可以为mysql、sqlserver、oracle、mongodb、hive、log等数据库中的一种或多种。
上述方案,在数据同步的过程中使用了基于Disruptor框架实现的环形队列,将第一数据库获得的目标数据先存入环形队列中,再将环形队列的目标数据写入对应的第二服务器中,Disruptor框架可以提高数据的处理能力和传输能力,提高了数据同步的速度,节省了时间。
请参阅图2,图2是本申请提供的数据同步方法另一实施例的流程示意图。
如图2所示,本申请另一实施例的数据同步方法具体可以包括以下步骤:
S11,识别每一第一数据库的优先级。
具体地,数据同步终端检测每一个第一数据库所对应的优先级。
可选地,用户可以根据每一第一数据库对应的业务内容,事先设定每一第一数据库的优先级,其中,高实时性的业务内容对应的优先级高于低实时性的业务内容。
可选地,数据同步终端也可以根据在单位时间内每一第一数据库输入至环形队列的目标数据数量调节每一第一数据库的优先级。可以理解地,单位时间内输入至环形队列的目标数据多的第一数据库优先级高,单位时间内输入至环形队列的目标数据少的第一数据库优先级低。
S12,按照优先级顺序将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中。
具体地,数据同步终端根据优先级大小将第一数据库中的目标数据以数据流的形式缓存至环形队列中。其中,数据同步终端先将优先级高的第一数据库对应的目标数据缓存至环形队列中,再将优先级低的第一数据库对应的目标数据缓存至环形队列中。
S13,从环形队列中以数据流的形式获取目标数据,并写入至少一个第二数据库中,以实现第一数据库和第二数据库的数据同步。
具体地,数据同步终端从环形队列中以数据流的方式取得目标数据,并写入至第二数据库中,实现第一数据库和第二数据库的数据同步。
其中,数据同步终端在环形队列读取目标数据的方式为先进先出,即第一数据库最先存入的目标数据为读取的数据头、第一数据库最后存入的目标数据为读取的数据位,最开始的目标数据被读取后,便将第二个目标数据作为数据头,数据尾便空出,可接着将另一目标数据加载到数据格中,通过使用环形队列的方式增加数据同步终端的读写效率,加快数据处理能力。
其中,数据同步终端在唤醒终端获取目标数据的方式为按照数据格顺时针顺序从环形队列内取出,具体的,可将目标数据按照第一数据库存入到的先后顺序,按照环形队列顺时针顺序存放,使用时将目标数据按环形队列顺时针顺序取出写入至至少一个第二数据库中,当数据格中的源数据完成了读取操作,数据同步终端将其清除。
其中,第二数据库为目标数据库,第二数据库的数量可以为多个。可选地,上述第二数据库可以为mysql、sqlserver、oracle、mongodb、hive、log等数据库中的一种或多种。
其中,上述方案还利用lambda技术对目标数据进行备份。例如,上述方案可以同时执行历史目标数据的批处理和事实目标数据的处理。
上述方案,在数据同步的过程中使用了基于Disruptor框架实现的环形队列,将高优先级第一数据库获得的目标数据先存入环形队列中,低优先级第一数据库获得的目标数据再存入环形队列中,再将环形队列的目标数据写入对应的第二服务器中,Disruptor框架可以提高数据的处理能力和传输能力,提高了数据同步的速度,节省了时间。
请参阅图3,图3是本申请提供的数据同步方法另一实施例的流程示意图。
如图3所示,本申请另一实施例的同步方法具体可以包括以下步骤:
S21,确定环形队列中上一次写入数据的第一数据格。
具体地,数据同步终端确定环形队列中上一次写入数据的数据格的序号。其中,数据格指的是环形队列中写入数据的数据槽(Slot)。
S22,根据上一次写入数据的第一数据格,确定当前次写入数据的第二数据格。
具体地,数据同步终端根据环形队列中上一次写入数据的数据格的序号,确定当前写入数据的数据格的序号。
具体地,数据同步终端获取得到上一次写入数据的数据格的序号,通过检查从环形队列中读取的数据格的序号,判断下一个序号所对应的数据格是否空闲。若下一个序号所对应的数据格被占用,则判断后一个序号所对应的数据格是否空闲。若下一个序号对应的数据格空闲,则数据同步终端可以对该数据格执行写入操作。
例如,数据同步终端获取得到上一次写入数据的数据格的序号为18,判断序号19对应的数据格是否空闲。若序号19对应的数据格被占用,则判断序号20对应的数据格是否空闲。若序号19对应的数据格空闲,则数据同步终端可以对序号19对应的数据格执行写入操作。
S23,将至少一个第一数据库中目标数据以数据流的形式缓存至第二数据格中。
具体地,数据同步终端将第一数据库中的目标数据以数据流的方式缓存至确定序号的数据格中。
S24,从环形队列中以数据流的形式获取目标数据,并写入至少一个第二数据库中,以实现第一数据库和第二数据库的数据同步。
具体地,数据同步终端从环形队列中以数据流的方式取得目标数据,并写入至第二数据库中,实现第一数据库和第二数据库的数据同步。
其中,数据同步终端在环形队列读取目标数据的方式为先进先出,即第一数据库最先存入的目标数据为读取的数据头、第一数据库最后存入的目标数据为读取的数据位,最开始的目标数据被读取后,便将第二个目标数据作为数据头,数据尾便空出,可接着将另一目标数据加载到数据格中,通过使用环形队列的方式增加数据同步终端的读写效率,加快数据处理能力。
其中,数据同步终端在唤醒终端获取目标数据的方式为按照数据格顺时针顺序从环形队列内取出,具体的,可将目标数据按照第一数据库存入到的先后顺序,按照环形队列顺时针顺序存放,使用时将目标数据按环形队列顺时针顺序取出写入至至少一个第二数据库中,当数据格中的源数据完成了读取操作,数据同步终端将其清除。
其中,第二数据库为目标数据库,第二数据库的数量可以为多个。可选地,上述第二数据库可以为mysql、sqlserver、oracle、mongodb、hive、log等数据库中的一种或多种。
上述方案,在数据同步的过程中使用了基于Disruptor框架实现的环形队列,再将环形队列的目标数据写入对应的第二服务器中,Disruptor框架可以提高数据的处理能力和传输能力,提高了数据同步的速度,节省了时间。
请参阅图4,图4是本申请提供的数据同步方法又一实施例的流程示意图。
如图4所示,本申请又一实施例的同步方法具体可以包括以下步骤:
S31,通过数据存取层,从所述至少一个第一数据库中获取所述目标数据。
其中,数据存取层采用MyBatis进行抽象得到,能够支持泛型数据类型。其中,泛型数据为任意的数据类型。
一些实施例中,第一数据库可以为关系型数据库,数据同步终端通过应用采用MyBatis抽象得到的数据存取层,将第一数据库中的目标数据与对象建立起映射关系。例如将第一数据库中的目标数据库表映射至类、例如将第一数据库中的目标行数据映射至对象、例如将第一数据中的目标字段映射至对象的属性。
S32,将所述目标数据以数据流的形式缓存至环形队列中。
S33,从环形队列中以数据流的形式获取目标数据,并写入至少一个第二数据库中,以实现第一数据库和第二数据库的数据同步。
具体地,数据同步终端从环形队列中以数据流的方式取得目标数据,并写入至第二数据库中,实现第一数据库和第二数据库的数据同步。
其中,数据同步终端在环形队列读取目标数据的方式为先进先出,即第一数据库最先存入的目标数据为读取的数据头、第一数据库最后存入的目标数据为读取的数据位,最开始的目标数据被读取后,便将第二个目标数据作为数据头,数据尾便空出,可接着将另一目标数据加载到数据格中,通过使用环形队列的方式增加数据同步终端的读写效率,加快数据处理能力。
其中,数据同步终端在唤醒终端获取目标数据的方式为按照数据格顺时针顺序从环形队列内取出,具体的,可将目标数据按照第一数据库存入到的先后顺序,按照环形队列顺时针顺序存放,使用时将目标数据按环形队列顺时针顺序取出写入至至少一个第二数据库中,当数据格中的源数据完成了读取操作,数据同步终端将其清除。
其中,第二数据库为目标数据库,第二数据库的数量可以为多个。可选地,上述第二数据库可以为mysql、sqlserver、oracle、mongodb、hive、log等数据库中的一种或多种。
上述方案,在数据同步的过程中使用了基于Disruptor框架实现的环形队列,再将环形队列的目标数据写入对应的第二服务器中,Disruptor框架可以提高数据的处理能力和传输能力,提高了数据同步的速度,节省了时间。
本申请提供的数据同步方法另一实施例可以具体包括:
S41,获取自定义的批量同步指令。
具体地,用户可以根据业务需要,在数据同步终端中输入自定义批量同步指令,以提升数据同步终端的数据同步性能。
S42,按照批量同步指令从至少一个第一数据库中获取目标数据。
具体地,数据同步终端在按照批量同步指令从第一数据库中批量获取目标数据。
S43,以数据流的形式将目标数据缓存至环形队列中。
具体地,在环形队列进行读写操作时,数据同步终端在环形队列中预先声明一段空间,然后再对该范围内的数据进行批量读写,读写完成后再进行统一发布操作,提升终端的整体处理性能。
S44,从环形队列中以数据流的形式获取目标数据,并以相同的数据复制速率将目标数据写入至少一个第二数据库中。
具体地,数据同步终端将环形队列中存取的目标数据以数据流的方式获取,并按照与第一数据库写入环形队列速率相同的复制速率将目标数据写入至第二数据库中,避免环形队列所占用的内存空间出现过度膨胀的问题。
上述方案,在数据同步的过程中使用了基于Disruptor框架实现的环形队列,并支持用户自定义的批量数,再将环形队列的目标数据写入对应的第二服务器中,Disruptor框架可以提高数据的处理能力和传输能力,提高了数据同步的速度,节省了时间。
本申请提供的数据同步方法再一实施例可以具体包括:
S51,将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中。
其中,环形队列基于Disruptor框架实现,环形队列也称作环形缓冲区(RingBuffer),可以理解地,环形队列的数列可以为至少一个,此处不做限定。
具体地,数据同步终端检测第一数据库和第二数据库的数据是否一致,若第一数据库的数据发生改变,数据同步终端将第一数据库中发生改变的数据以数据流的形式缓存到环形队列中。
可以理解地,数据同步终端执行的数据同步业务的不同,第一数据库存入环形队列中的目标数据也可以不同。例如数据同步终端执行的是数据库的迁移业务,则第一数据库将自身所有的数据存入环形队列中;例如数据同步终端执行的是指定数据的数据库备份业务,则第一数据库将该指定数据存入环形队列中。
一些实施例中,数据同步终端检测第一数据库和第二数据库的数据是否一致的方法可以为数据同步终端监听第一数据库的数据变更事件。其中,数据变更事件可以包括插入数据、删除数据和更新数据。
其中,第一数据库为源数据库,第一数据库的数量可以为多个。可选地,上述第一数据库可以为mysql、sqlserver、oracle、mongodb、hive、log等数据库中的一种或多种。第一数据库中数据为对应不同业务的数据,如在保险行业中主要指客户购买保单的交易数据。
一些实施例中,环形队列中具有2n个数据格,每一数据格用于存放目标数据,其中n为正整数。
S52,响应于目标写入指令,从多线程的环形队列中确定出一个单线程。
一些实施例中,为避免多线程写入单个数据引发的死锁问题,数据同步终端通过采用单线程的方式进行单条数据的写入。
S53,通过单线程将目标数据写入至少一个第二数据库中。
在数据同步的过程中使用了基于Disruptor框架实现的环形队列,并支持用户自定义的批量数,采用单线程更新的方式将环形队列的目标数据写入对应的第二服务器中,避免了死锁,同时Disruptor框架可以提高数据的处理能力和传输能力,提高了数据同步的速度,节省了时间。
请继续参见图5,图5是本申请提供的终端设备一实施例的结构示意图。本申请实施例的终端设备500包括处理器51、存储器52。
该处理器51、存储器52与总线相连,该存储器52中存储有程序数据,处理器51用于执行程序数据以实现上述实施例所述的数据同步方法。
在本申请实施例中,处理器51还可以称为CPU(Central Processing Unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(DSP,Digital Signal Process)、专用集成电路(ASIC,Application Specific Integrated Circuit)、现场可编程门阵列(FPGA,FieldProgrammable Gate Array)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器51也可以是任何常规的处理器等。
本申请还提供一种计算机存储介质,请继续参阅图6,图6是本申请提供的计算机存储介质一实施例的结构示意图,该计算机存储介质600中存储有程序数据61,该程序数据61在被处理器执行时,用以实现上述实施例的数据同步方法。
本申请的实施例以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,方式利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种数据同步方法,其特征在于,包括:
将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中;所述环形队列基于Disruptor框架实现;
从所述环形队列中以数据流的形式获取所述目标数据,并写入至少一个第二数据库中,以实现所述第一数据库和所述第二数据库的数据同步。
2.根据权利要求1所述的方法,其特征在于,所述将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中,包括:
识别每一第一数据库的优先级;
按照优先级顺序将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中。
3.根据权利要求1所述的方法,其特征在于,所述将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中,包括:
确定所述环形队列中上一次写入数据的第一数据格;
根据上一次写入数据的第一数据格,确定当前次写入数据的第二数据格;
将至少一个第一数据库中目标数据以数据流的形式缓存至所述第二数据格中。
4.根据权利要求1所述的方法,其特征在于,所述将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中,包括:
通过数据存取层,从所述至少一个第一数据库中获取所述目标数据;所述数据存取层采用MyBatis进行抽象得到,能够支持泛型数据类型;
将所述目标数据以数据流的形式缓存至环形队列中。
5.根据权利要求1所述的方法,其特征在于,所述从所述环形队列中以数据流的形式获取所述目标数据,并写入至少一个第二数据库中,包括:
从所述环形队列中以数据流的形式获取所述目标数据,并以相同的数据复制速率将所述目标数据写入至少一个第二数据库中。
6.根据权利要求1所述的方法,其特征在于,所述将至少一个第一数据库中目标数据以数据流的形式缓存至环形队列中,包括:
获取自定义的批量同步指令;
按照所述批量同步指令从所述至少一个第一数据库中获取目标数据;
以数据流的形式将目标数据缓存至环形队列中。
7.根据权利要求1所述的方法,其特征在于,所述从所述环形队列中以数据流的形式获取所述目标数据,并写入至少一个第二数据库中,包括:
响应于目标写入指令,从多线程的所述环形队列中确定出一个单线程;
通过所述单线程将所述目标数据写入至少一个第二数据库中。
8.根据权利要求1-7任一项所述的方法,其特征在于,利用lambda技术对所述目标数据进行备份。
9.一种终端设备,其特征在于,所述终端设备包括处理器、与所述处理器连接的存储器,其中,
所述存储器存储有程序指令;
所述处理器用于执行所述存储器存储的程序指令以实现如权利要求1至8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序指令,所述程序指令被执行时实现如权利要求1至8任一项所述的方法。
CN202211646232.5A 2022-12-19 2022-12-19 数据同步方法、终端设备以及计算机存储介质 Pending CN115934841A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211646232.5A CN115934841A (zh) 2022-12-19 2022-12-19 数据同步方法、终端设备以及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211646232.5A CN115934841A (zh) 2022-12-19 2022-12-19 数据同步方法、终端设备以及计算机存储介质

Publications (1)

Publication Number Publication Date
CN115934841A true CN115934841A (zh) 2023-04-07

Family

ID=86555598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211646232.5A Pending CN115934841A (zh) 2022-12-19 2022-12-19 数据同步方法、终端设备以及计算机存储介质

Country Status (1)

Country Link
CN (1) CN115934841A (zh)

Similar Documents

Publication Publication Date Title
CN110865888A (zh) 一种资源加载方法、装置、服务器及存储介质
CN111383031B (zh) 一种区块链中的智能合约执行方法、系统和电子设备
US20060161923A1 (en) Task management in a data processing environment having multiple hardware entities
CN111949497B (zh) 消息队列系统以及基于消息队列系统的消息处理方法
CN112181902B (zh) 数据库的存储方法、装置及电子设备
CN112800026A (zh) 一种数据转移节点、方法、系统及计算机可读存储介质
CN116881051B (zh) 一种数据备份与恢复方法、装置、电子设备和存储介质
CN115840654B (zh) 消息的处理方法、系统、计算设备及可读存储介质
CN115934841A (zh) 数据同步方法、终端设备以及计算机存储介质
JPWO2004046926A1 (ja) イベント通知方法、デバイス及びプロセッサシステム
CN115357352A (zh) 分布式异步任务调度方法、装置、计算机设备、存储介质
CN112767978B (zh) 一种ddr命令调度方法、装置、设备及介质
WO2009120259A2 (en) System, method, and computer program product for receiving timer objects from local lists in a global list for being used to execute events associated therewith
CN106354722B (zh) 一种流式计算系统的消息处理方法和装置
US9141310B1 (en) Methods and apparatuses for shared state information among concurrently running processes or threads
CN113297150A (zh) 数据库日志处理方法、装置、设备及存储介质
CN108874560B (zh) 进行通信的方法和通信设备
CN110188069A (zh) 一种csv文件存储方法、装置及计算机设备
CN110727405A (zh) 数据处理方法、装置、电子设备及计算机可读介质
US11681527B2 (en) Electronic device and multiplexing method of spatial
CN116126546B (zh) 一种性能调优的方法、装置、电子设备及介质
US20230367726A1 (en) Processing I/O Commands using Block Size Aware Polling
CN116755858A (zh) Kafka数据管理方法、装置、计算机设备及存储介质
CN114546270A (zh) 数据存储方法、装置及电子设备
CN116627754A (zh) 一种命令超时监控方法、存储设备、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination