数据同步方法及装置制造方法及图纸

技术编号:37805562 阅读:10 留言:0更新日期:2023-06-09 09:35
本发明专利技术提出一种数据同步方法及装置,通过查询源数据库中需同步数据的总条数,根据统计的已完成同步数据条数与查询的所述总条数,查询源数据库,以同步排序在已完成同步数据条数与总条数之间的数据。响应于成功同步至少部分数据,基于成功同步的数据条数,更新已完成同步数据条数。在数据同步过程中,通过记录已完成同步数据条数,并基于该已完成同步数据条数,通过两次数据库查询,便可以实现断点续传,与相关技术相比,减少查询次数,提升断点续传效率。本申请记载的方案在数据同步成功之后才会更新已完成同步数据条数(即更新断点位置),与相关技术相比,写入失败的数据不会被记为断点位置,会被重写,不会丢失,解决了数据可能丢失的问题。失的问题。失的问题。

【技术实现步骤摘要】
数据同步方法及装置


[0001]本专利技术涉及大数据
,尤其涉及一种数据同步方法及装置。

技术介绍

[0002]随着技术不断更新迭代,需要采用算法进行处理,或者,用于对算法进行训练的数据越来越多,数据量越来越大。产生了用户构建数据仓库、数据湖等需求。在构建数据仓或者数据湖构建的过程中,需要通过数据同步收集大量数据。
[0003]若因为网联或者服务问题导致数据同步中断,每次重新从头进行数据同步无疑会增加时间成本和资源占用。

技术实现思路

[0004]本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005]为此,本专利技术的第一个目的在于提出一种数据同步方法。
[0006]本专利技术的第二个目的在于提出一种数据同步装置。
[0007]本专利技术的第三个目的在于提出一种电子设备。
[0008]本专利技术的第四个目的在于提出一种非临时性计算机可读存储介质。
[0009]本专利技术的第五个目的在于提出一种计算机程序产品。
[0010]为达上述目的,本专利技术第一方面实施例提出了一种数据同步方法,包括:
[0011]查询源数据库中需同步数据的总条数,其中,所述源数据库中的数据按照预设顺序排序;
[0012]根据统计的已完成同步数据条数与查询的所述总条数,查询所述源数据库,以同步排序在所述已完成同步数据条数与所述总条数之间的数据;
[0013]响应于成功同步至少部分数据,基于成功同步的数据条数,更新所述已完成同步数据条数。
[0014]为达上述目的,本专利技术第二方面实施例提出了一种数据同步装置,包括:
[0015]第一查询模块,用于查询源数据库中需同步数据的总条数,其中,所述源数据库中的数据按照预设顺序排序;
[0016]第二查询模块,用于根据统计的已完成同步数据条数与查询的所述总条数,查询所述源数据库,以同步排序在所述已完成同步数据条数与所述总条数之间的数据;
[0017]第一处理模块,用于响应于成功同步至少部分数据,基于成功同步的数据条数,更新所述已完成同步数据条数。
[0018]本专利技术实施例提供的数据同步方法及装置,在源数据库中的数据按照预设顺序排序的情况下,通过查询源数据库中需同步数据的总条数,根据统计的已完成同步数据条数与查询的所述总条数,查询源数据库,以同步排序在已完成同步数据条数与总条数之间的数据。响应于成功同步至少部分数据,基于成功同步的数据条数,更新已完成同步数据条数。在数据同步过程中,通过记录已完成同步数据条数,并基于该已完成同步数据条数,通
过两次数据库查询,便可以实现断点续传,与相关技术相比,减少查询次数,提升断点续传效率。另外,本申请记载的方案在数据同步成功之后才会更新已完成同步数据条数(即更新断点位置),与相关技术相比,写入失败的数据不会被记为断点位置,会被重写,不会丢失,解决了数据可能丢失的问题。
[0019]为达上述目的,本专利技术第三方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如第一方面所述的方法。
[0020]为了实现上述目的,本专利技术第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法。
[0021]为了实现上述目的,本专利技术第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行如第一方面所述的方法。
[0022]本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0023]本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0024]图1为本专利技术实施例所提供的一种数据同步方法的流程示意图;
[0025]图2为一种场景下的数据同步方法的流程示意图;
[0026]图3为本专利技术实施例所提供的另一种数据同步方法的流程示意图;
[0027]图4为本专利技术实施例所提供的另一种数据同步方法的流程示意图;
[0028]图5为本专利技术实施例提供的一种数据同步装置的结构示意图;以及
[0029]图6示出了适于用来实现本申请实施方式的示例性计算机设备的框图。
具体实施方式
[0030]下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。
[0031]下面参考附图描述本专利技术实施例的数据同步方法和装置。
[0032]相关技术中,已存在通过分页去实现断点续传,但在数据异构的场景下如果目的数据库写入失败,会导致数据丢失,并且基于分页的断点续传需要多次从源数据库去查询,效率不高。
[0033]有鉴于此,本专利技术实施例提供了一种数据同步方法,以实现断点续传。
[0034]图1为本专利技术实施例所提供的一种数据同步方法的流程示意图。如图1所示,该方法包括以下步骤:
[0035]步骤101,查询源数据库中需同步数据的总条数,其中,源数据库中的数据按照预设顺序排序。
[0036]源数据库中每一条数据,均按照预设的顺序进行排序的。在一些方式中,可以在发起数据同步任务时,指定排序字段,使得所述源数据库可以响应于所述数据同步任务的案
子所述排序字段对数据进行排序,从而保证每次获取到的数据顺序一致。
[0037]在一种可能的实现方式下,在源数据库中需要增加数据时,是按照设定排序进行增量,后续新增加的数据不会影响源数据库中原有数据的排序。
[0038]在需要对源数据进行数据同步,执行数据同步任务时。在一种场景下,若数据同步任务指定了查询条件,可以基于数据同步任务中指定的查询条件,查询源数据库中的条数最大值,即满足查询条件的需同步数据的总条数。
[0039]在另一种场景下,若数据同步任务未指定查询条件,则查询源数据库中全部数据的总条数。
[0040]需要说明的是,本步骤中查询需同步数据的总条数,是需要获知有多少条数据待同步。以便后续同步后,确认是否已将全部数据同步完成。
[0041]另外需要说明的是,由于源数据库中的数据也是增量变化的,因此,每次执行数据同步任务均需要重新查询源数据库中需同步数据的总条数。
[0042]步骤102,根据统计的已完成同步数据条数与查询的所述总条数,查询所述源数据库,以同步排序在所述已完成同步数据条数与所述总条数之间的数据。
[0043]本次查询是基于前述已查询出的总条数,以及本地存储的已完成同步数据条数作为查询条件,生成查询语句,查询并同步排序在所述已完成同步数据条数与所述总条数之间的数据。
[0044]步骤103,响应于成功同步至少部分数据,基于成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:查询源数据库中需同步数据的总条数,其中,所述源数据库中的数据按照预设顺序排序;根据统计的已完成同步数据条数与查询的所述总条数,查询所述源数据库,以同步排序在所述已完成同步数据条数与所述总条数之间的数据;响应于成功同步至少部分数据,基于成功同步的数据条数,更新所述已完成同步数据条数。2.根据权利要求1所述的方法,其特征在于,所述源数据库中的数据还具有对应的时间戳,所述时间戳用于指示对应数据存储至所述源数据库中的时刻;所述预设排序是指数据存储在所述源数据库中的时间顺序;所述根据统计的已完成同步数据条数与查询的所述总条数,查询所述源数据库,以同步排序在所述已完成同步数据条数与所述总条数之间的数据,包括:获取最后一条被同步数据的目标时间戳;根据统计的已完成同步数据条数与查询的所述总条数,查询所述源数据库,以同步时间戳大于或大于等于所述目标时间戳,且排序在所述已完成同步数据条数与所述总条数之间的数据;根据同步成功的最后一条数据的时间戳,更新所述目标时间戳。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:响应于未存储所述已完成同步数据条数,查询所述源数据库,以同步排序在首条与所述总条数之间的数据。4.根据权利要求1或2所述的方法,其特征在于,所述根据统计的已完成同步数据条数与查询的所述总条数,查询所述源数据库,以同步排序在所述已完成同步数据条数与所述总条数之间的数据,包括:从所述源数据库中查询排序在所述已完成同步数据条数与所述总条数之间的数据;采用第一线程从源数据库获取查询到的数据,并写入到预设数据队列中,以采用第二线程从所述预设数据队列中读取数据,并写入到目的数据库中。5.根据权利要求4所述的方法,其特征在于,所述预设数据队列包括阻塞队列。6.根据权利要求1或2所述的方法,其特征在于,在所述源数据库为预设类型数据库的情形下,通过一条SQL语句查询源数据库中需同步数据的总条数,以及根据统计的已完成同步数据条数与查询的所述总条数,查询所述数据库,以同步排序在所述已完成同步数据条数与所述总条数之间的数据。7.一种数据同步装置,其特征在于,包括:第一查询模块,用于查询源数据库中需同步数据的总条数,其中,所述源数据库中的数据按照预...

【专利技术属性】
技术研发人员:张鹏
申请(专利权)人:杭州数梦工场科技有限公司
类型:发明
国别省市:

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

1