CN111061740A - 一种数据同步方法、设备和存储介质 - Google Patents

一种数据同步方法、设备和存储介质 Download PDF

Info

Publication number
CN111061740A
CN111061740A CN201911304308.4A CN201911304308A CN111061740A CN 111061740 A CN111061740 A CN 111061740A CN 201911304308 A CN201911304308 A CN 201911304308A CN 111061740 A CN111061740 A CN 111061740A
Authority
CN
China
Prior art keywords
source table
data
record
source
partitions
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.)
Granted
Application number
CN201911304308.4A
Other languages
English (en)
Other versions
CN111061740B (zh
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.)
Beijing Softcom Smart City Technology Co Ltd
Original Assignee
Beijing Softcom Smart City Technology 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 Beijing Softcom Smart City Technology Co Ltd filed Critical Beijing Softcom Smart City Technology Co Ltd
Priority to CN201911304308.4A priority Critical patent/CN111061740B/zh
Publication of CN111061740A publication Critical patent/CN111061740A/zh
Application granted granted Critical
Publication of CN111061740B publication Critical patent/CN111061740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

本发明实施例公开了一种数据同步方法、设备及存储介质。数据同步方法包括:根据源表的关键字段获得源表的多个分区,其中,关键字段包括唯一主键或联合主键;根据源表的分区确定目标表的分区,其中,目标表与源表具有相同的表结构;分别将相同分区的源表和目标表进行对比,根据对比结果将目标表与源表进行数据同步。通过将目标表和源表中的数据进行分区,并将多个分区中的数据进行同步处理,不仅减少了内存处理的数据量而且提高了数据同步的速度,从而满足了实时同步业务的需求,提高了用户的体验效果。

Description

一种数据同步方法、设备和存储介质
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据同步方法、设备及存储介质。
背景技术
数据同步在实际生产中的得到广泛的应用,目前实现数据同步的方法通常包括触发器、时间戳、全表对比和日志对比等。
发明人发现现有技术中至少存在如下问题:现有技术中所采用的数据同步方法,对于小批量数据进行逐条对比的情况效果比较好,但对于大规模数据的情况,往往效率低下,甚至无法满足实时同步业务的需求,从而影响用户的体验效果。
发明内容
本发明实施例提供了一种数据同步方法、设备及存储介质。以满足大规模数据同步的需求,并提高数量同步的速度。
第一方面,本发明实施例提供了一种数据同步方法,包括:根据源表的关键字段获得源表的多个分区,其中,关键字段包括唯一主键或联合主键;
根据源表的分区确定目标表的分区,其中,目标表与源表具有相同的表结构;
分别将相同分区的源表和目标表进行对比,根据对比结果将目标表与源表进行数据同步。
第二方面,本发明实施例提供了一种设备,设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例中的方法。
第三方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例的方法。
本发明实施例的技术方案,通过将目标表和源表中的数据进行分区,并将多个分区中的数据进行同步处理,不仅减少了内存处理的数据量而且提高了数据同步的速度,从而满足了实时同步业务的需求,提高了用户的体验效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例一提供的数据同步方法的流程图;
图2是本发明实施例二提供的数据同步方法的流程图;
图3是本发明实施例三提供的数据同步装置的结构示意图;
图4是本发明实施例四提供的设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的数据同步方法的流程图,本实施例可适用于对大规模数据进行同步的情况,该方法可以由本发明实施例中的数据存储装置来执行,该装置可以采用软件和/或硬件的方式实现。如图1所示,该方法具体包括如下操作:
步骤101,根据源表的关键字段获得源表的多个分区。
其中,关键字段包括唯一主键或联合主键。唯一主键表示仅有一个字段构成,而联合主键表示由多个字段构成。
可选的,根据源表的关键字段获得源表的多个分区,可以包括:根据源表的关键字段确定源表中每条记录的一致性哈希值;根据一致性哈希值获得源表的多个分区,其中,每个分区中包含一致性哈希值相同的记录。
可选的,在确定关键字段包括唯一主键的情况下,根据源表的关键字段获得源表的多个分区之前,还可以包括:获取唯一主键的最大数值和最小数值;根据最大数值和最小数值确定源表中的记录范围。则根据源表的关键字段获得源表的多个分区,包括:根据源表的关键字段获得记录范围中的多个分区。
具体的说,本实施方式中的关键字段可以包括由一个字段构成的唯一主键确定,如下表1为包含唯一主键的源表结构:
表1
ID 身份证 姓名 性别
1 1234 张三
m 3456 李四
其中,表1中的唯一主键ID作为源表的关键字段。当然,本实施方式中的关键字段还可以包括有多个字段构成的联合主键确定,如下表2为不包含唯一主键的源表结构:
表2
身份证 姓名 性别
1234 张三
3456 李四
其中,由于表2所示的源表中不存在唯一主键,因此将表2中的身份证+姓名构成的联合主键作为源表的关键字段。
在一个具体实现中,以关键字段包含联合主键为例对分区过程进行说明,假设要将源表中的1万条记录分配到1000个分区中,则获取源表中每条记录的一致性哈希值的方式为:获取每条记录联合主键的哈希值,将每条记录的联合主键的哈希值除以1000取余数,将所得到的余数作为该条记录的一致性哈希值,并将一致性哈希值相同的记录保存在同一分区中,从而可以获得1000个分区,并且在一个分区中可以存在记录为空的情况,本实施方式中并不限定每一个分区中所包含的记录的数目,只要能够根据一致性哈希值将1万条记录分配到1000个分区中都是在本申请的保护范围内的,当然,本实施方式中仅是以1万条记录和1000个分区为例进行的举例说明,而在实际应用中源表中国所保存的记录的数据是远远大于1万的,而本实施方式中并不限定源表中记录以及分区的具体数值。
需要说明的是,如表1所示,当关键字包括唯一主键的情况下,获取多个分区的方式与上述联合主键的方式大致相同,但是在进行分区之间会增加查询条件,例如,根据唯一主键确定出唯一主键的最大值和最小值,根据最大值和最小值确定源表中的记录范围,并且在进行分区时具体是根据源表的关键字对所筛选出的记录范围进行分区,从而通过查询条件进行筛选缩小了需要进行分区的记录的数目,提高了分区过程的效率。
步骤102,根据源表的分区确定目标表的分区。
其中,目标表与源表具有相同的表结构。
具体的说,在第一次将目标表和源表进行数据同步的过程中,源表的分区结果也会同步到目标表中,因此可以根据源表的分区结果确定目标表的分区结果。例如,源表中有1000个分区,相应的在目标表中也会存在1000个分区,因此在本实施方式中源表的分区与目标表的分区数量相同,并且每一个分区是一一对应的,其中,在源表中序号为1的分区保存的为一致性哈希值为node1的记录,相应的在目标表中序号为1的分区保存的也是一致性哈希值为node1的记录。
需要说明的是,在目标表的分区确定后,源头表的记录数据后续还会根据业务需求进行实时更新的,因此针对同一分区中的记录,目标表是需要根据源表的更新进行相应的变化,以实现数据的同步。
步骤103,分别将相同分区的源表和目标表进行对比,根据对比结果将目标表和源表进行数据同步。
可选的,分别将相同分区的源表和目标表进行对比之前,还可以包括:将目标表中同一分区的每条记录保存在同一哈希表中,其中,每条记录的关键字段作为哈希表的标记信息,每条记录中除关键字段之外的字段作为哈希表的值信息。
具体的说,在关键字段包括唯一主键的情况下,确定目标表在一致性哈希值为1的分区中包含100个记录,例如,保存一直性哈希为1的记录的哈希表如下表3所示:
表3
标记信息(key) 值信息(value)
abc 身份证:1234;姓名:张三;性别:男
fhg 身份证:7899;姓名:王五;性别:男
其中,标记信息用字母key表示,值信息用字母value表示,并且具体是将每条记录的关键字段所对应的哈希值作为哈希表的key,而将每条记录中除关键字段之外的字段作为哈希表的value。
可选的,分别将相同分区的源表和目标表进行对比,根据对比结果将目标表与源表进行数据同步,可以包括:针对每一个分区分别将源表中每条记录与哈希表进行对比,根据对比结果获得第一同步信息;确定对比完之后哈希表中剩余的记录,并根据哈希表中剩余的记录获得第二同步信息;根据第一同步信息和第二同步信息将目标表与源表进行数据同步。
可选的,针对每一个分区分别将源表中每条记录与哈希表进行对比,根据对比结果获得第一同步信息,可以包括:针对每一个分区分别判断源表中每条记录的关键字段在哈希表中是否存在,若不存在,则将记录标记为新增数据,并将新增数据作为第一同步信息,否则,判断每条记录中除关键字段之外的字段与哈希表的值信息是否相同,若是,则将记录标记为重复数据,否则,将记录标记为更新数据,并将更新数据作为第一同步信息。
在一个具体实现中,针对目标表中一致性哈希值为1的分区,以及源表中一致性哈希值为1的分区,将源表中的每条记录与目标表中一致性哈希值为1的分区所对应的哈希表进行对比,例如,如表3所示为目标表所对应的哈希表,假设在该分区中源表有80条记录,则确定源表中的每条记录的关键字段在哈希表中是否存在,具体是判断关键字段所对应的哈希值在哈希表中是否存在,若不存在,说明该关键字段所对应的记录为新增的数据,目标表中目前是不存在的,为了保持数据的同步,需要将该条记录添加到目标表中。如果确定关键字段所对应的哈希值在哈希表中存在,说明目标表中有该条记录的信息,但在这种情况下需要进一步判断该条记录的内容是否发生变化,具体采用的方式是将除关键字段之外的字段与哈希表的值信息进行对比,如果相同说明该条记录是重复数据,如果不相同,则说明源表中的该条记录的内容进行了变化更新,为了保持数据的同步,需要对目标表中的该条记录进行更新。并且最少可以只需要进行80次对比就可以完成上述过程,从而显著提高了对比的效率。
可选的,确定对比完之后哈希表中剩余的记录,并根据哈希表中剩余的记录获得第二同步信息,可以包括:确定对比完之后哈希表中剩余的记录;将剩余的记录作为第二同步信息。
在一个具体实现中,在同一个分区中,当源表中的每条记录与哈希表进行对比完之后,哈希表中对比完的记录会相应的进行删除,当源表中的每条记录对比完之后,如果哈希表中还存在剩余记录,则说明上述剩余记录在源表中已经进行了删除,为了保持数据的同步,需要将上述剩余的记录在目标表中也相应的进行删除。
可选的,根据第一同步信息和第二同步信息将目标表与源表进行数据同步,可以包括:在确定第一同步信息包括新增数据时,则将标记为新增数据的记录添加到目标表中;在确定第一同步信息包括更新数据时,则按照标记为更新数据的记录对目标表进行修改更新;根据第二同步信息将目标表中剩余的记录进行删除。
需要说明的是,针对每一个分区中的记录,在进行数据同步时,是可以同步进行处理的,并且每一个分区中的数据处理互不干扰。
本发明实施例的技术方案,通过将目标表和源表中的数据进行分区,并将多个分区中的数据进行同步处理,不仅减少了内存处理的数据量而且提高了数据同步的速度,从而满足了实时同步业务的需求,提高了用户的体验效果。
实施例二
图2为本发明实施例而提供的数据同步方法的流程图,本实施例以上述实施例为基础,在本实施例中,在根据对比结果将目标表和源表进行数据同步后,还包括:对数据同步结果进行校验。相应的,本实施例的方法具体包括如下操作:
步骤201,根据源表的关键字段获得源表的多个分区。
步骤202,根据源表的分区确定目标表的分区。
步骤203,分别将相同分区的源表和目标表进行对比,根据对比结果将目标表和源表进行数据同步。
步骤204,对数据同步结果进行校验。
具体的说,本实施方式中,在根据对比结果将目标表和源表进行数据同步后,可以通过将目标表根据源表进行同步更新的记录进行检测,检测更新同步是否正确,例如,针对目标表中进行更新的一条记录,经过检测确定更新后的内容与源表存在差别,则表示更新存在误差,并在确定更新错误的情况下会发出提示信息,并且还会重新按照上述步骤201至203的步骤重新执行数据同步过程,从而进一步保证数据同步的准确性。
本发明实施例的技术方案,通过将目标表和源表中的数据进行分区,并将多个分区中的数据进行同步处理,不仅减少了内存处理的数据量而且提高了数据同步的速度,从而满足了实时同步业务的需求,提高了用户的体验效果。并且通过对数据同步结果进行校验,可以进一步保证数据同步的准确性。
实施例三
图3为本发明实施例三提供的一种数据存储装置的结构示意图,该装置包括:源表分区获得模块301、目标表分区获得模块302以及源表和目标表数据同步模块303。
其中,源表分区获得模块301,用于根据源表的关键字段获得源表的多个分区,其中,关键字段包括唯一主键或联合主键;
目标表分区获得模块302,用于根据源表的分区确定目标表的分区,其中,目标表与源表具有相同的表结构;
源表和目标表数据同步模块303,用于分别将相同分区的源表和目标表进行对比,根据对比结果将目标表与源表进行数据同步。
上述装置可执行本发明任意实施例所提供的数据同步方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的方法。
实施例四
图4是本发明实施例提供的一种设备的结构示意图。图4示出了适用于用来实现本发明实施方式的示例性设备412的框图。图4显示的设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,设备412以通用计算设备的形式出现。设备412的组件可以包括但不限于:一个或者多个处理器416,存储器428,连接不同系统组件(包括存储器428和处理器416)的总线418.
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器428用于存储指令。存储器428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本发明所描述的实施例中的功能和/或方法。
设备412也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等)通信,还可与一个或者多个使得用户能与该设备412交互的设备通信,和/或与使得该设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与设备412的其它模块通信。应当明白,尽管图4中未示出,可以结合设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器416通过运行存储在存储器428中的指令,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的数据同步方法:数据同步方法包括:根据源表的关键字段获得源表的多个分区,其中,关键字段包括唯一主键或联合主键;根据源表的分区确定目标表的分区,其中,目标表与源表具有相同的表结构;分别将相同分区的源表和目标表进行对比,根据对比结果将目标表与源表进行数据同步。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的数据同步方法:
数据同步方法包括:根据源表的关键字段获得源表的多个分区,其中,关键字段包括唯一主键或联合主键;根据源表的分区确定目标表的分区,其中,目标表与源表具有相同的表结构;分别将相同分区的源表和目标表进行对比,根据对比结果将目标表与源表进行数据同步。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据同步方法,其特征在于,包括:
根据源表的关键字段获得所述源表的多个分区,其中,所述关键字段包括唯一主键或联合主键;
根据所述源表的分区确定目标表的分区,其中,所述目标表与所述源表具有相同的表结构;
分别将相同分区的所述源表和所述目标表进行对比,根据对比结果将所述目标表与所述源表进行数据同步。
2.根据权利要求1所述的方法,其特征在于,所述根据源表的关键字段获得所述源表的多个分区,包括:
根据所述源表的关键字段确定所述源表中每条记录的一致性哈希值;
根据所述一致性哈希值获得所述源表的多个分区,其中,每个所述分区中包含所述一致性哈希值相同的记录。
3.根据权利要求2所述的方法,其特征在于,所述分别将相同分区的所述源表和所述目标表进行对比之前,还包括:
将所述目标表中同一分区的每条记录保存在同一哈希表中,其中,每条记录的所述关键字段作为所述哈希表的标记信息,所述每条记录中除所述关键字段之外的字段作为所述哈希表的值信息。
4.根据权利要求3所述的方法,其特征在于,所述分别将相同分区的所述源表和所述目标表进行对比,根据对比结果将所述目标表与所述源表进行数据同步,包括:
针对每一个分区分别将所述源表中每条记录与所述哈希表进行对比,根据对比结果获得第一同步信息;
确定对比完之后所述哈希表中剩余的记录,并根据所述哈希表中剩余的记录获得第二同步信息;
根据所述第一同步信息和所述第二同步信息将所述目标表与所述源表进行数据同步。
5.根据权利要求4所述的方法,其特征在于,所述针对每一个分区分别将所述源表中每条记录与所述哈希表进行对比,根据对比结果获得第一同步信息,包括:
针对每一个分区分别判断所述源表中每条记录的关键字段在所述哈希表中是否存在,若不存在,则将所述记录标记为新增数据,并将所述新增数据作为所述第一同步信息,
否则,判断所述每条记录中除所述关键字段之外的字段与所述哈希表的所述值信息是否相同,若是,则将所述记录标记为重复数据,否则,将所述记录标记为更新数据,并将所述更新数据作为所述第一同步信息。
6.根据权利要求5所述的方法,其特征在于,所述确定对比完之后所述哈希表中剩余的记录,并根据所述哈希表中剩余的记录获得第二同步信息,包括:
确定对比完之后所述哈希表中剩余的记录;
将所述剩余的记录作为所述第二同步信息。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一同步信息和所述第二同步信息将所述目标表与所述源表进行数据同步,包括:
在确定所述第一同步信息包括新增数据时,则将标记为新增数据的记录添加到所述目标表中;
在确定所述第一同步信息包括更新数据时,则按照标记为更新数据的记录对所述目标表进行修改更新;
根据所述第二同步信息将所述目标表中剩余的记录进行删除。
8.根据权利要求1所述的方法,其特征在于,所述关键字段包括唯一主键,所述根据源表的关键字段获得所述源表的多个分区之前,还包括:
获取所述唯一主键的最大数值和最小数值;
根据所述最大数值和所述最小数值确定所述源表中的记录范围;
所述根据源表的关键字段获得所述源表的多个分区,包括:
根据所述源表的关键字段获得所述记录范围中的多个分区。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN201911304308.4A 2019-12-17 2019-12-17 一种数据同步方法、设备和存储介质 Active CN111061740B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911304308.4A CN111061740B (zh) 2019-12-17 2019-12-17 一种数据同步方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911304308.4A CN111061740B (zh) 2019-12-17 2019-12-17 一种数据同步方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111061740A true CN111061740A (zh) 2020-04-24
CN111061740B CN111061740B (zh) 2023-08-04

Family

ID=70302081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911304308.4A Active CN111061740B (zh) 2019-12-17 2019-12-17 一种数据同步方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111061740B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297321A (zh) * 2020-07-27 2021-08-24 阿里巴巴集团控股有限公司 数据同步方法、装置、电子设备及计算机可读存储介质
CN113505134A (zh) * 2021-05-21 2021-10-15 武汉旷视金智科技有限公司 多线程数据处理方法、多线程底库数据入库方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102637214A (zh) * 2012-04-28 2012-08-15 中国工商银行股份有限公司 基于数据库服务间的通用数据同步方法及其系统
CN103514223A (zh) * 2012-06-28 2014-01-15 阿里巴巴集团控股有限公司 一种数据仓库数据同步方法和系统
US20150066942A1 (en) * 2013-08-29 2015-03-05 Oracle International Corporation Unit of work based incremental data processing
AU2015203172A1 (en) * 2010-09-20 2015-07-02 Security First Corp. Systems and methods for secure data sharing
CN106959996A (zh) * 2017-01-20 2017-07-18 华数传媒网络有限公司 一种基于互联网电视的后台数据同步方法
CN108388610A (zh) * 2018-02-07 2018-08-10 新华三大数据技术有限公司 数据etl处理方法及装置
CN108664659A (zh) * 2018-05-21 2018-10-16 四川中电启明星信息技术有限公司 一种分布式异构数据库的数据同步方法及装置
CN109379432A (zh) * 2018-10-31 2019-02-22 腾讯科技(深圳)有限公司 数据处理方法、装置、服务器及计算机可读存储介质
CN110309161A (zh) * 2019-06-06 2019-10-08 新华三大数据技术有限公司 一种数据同步方法、装置及服务器

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2015203172A1 (en) * 2010-09-20 2015-07-02 Security First Corp. Systems and methods for secure data sharing
CN102637214A (zh) * 2012-04-28 2012-08-15 中国工商银行股份有限公司 基于数据库服务间的通用数据同步方法及其系统
CN103514223A (zh) * 2012-06-28 2014-01-15 阿里巴巴集团控股有限公司 一种数据仓库数据同步方法和系统
US20150066942A1 (en) * 2013-08-29 2015-03-05 Oracle International Corporation Unit of work based incremental data processing
CN106959996A (zh) * 2017-01-20 2017-07-18 华数传媒网络有限公司 一种基于互联网电视的后台数据同步方法
CN108388610A (zh) * 2018-02-07 2018-08-10 新华三大数据技术有限公司 数据etl处理方法及装置
CN108664659A (zh) * 2018-05-21 2018-10-16 四川中电启明星信息技术有限公司 一种分布式异构数据库的数据同步方法及装置
CN109379432A (zh) * 2018-10-31 2019-02-22 腾讯科技(深圳)有限公司 数据处理方法、装置、服务器及计算机可读存储介质
CN110309161A (zh) * 2019-06-06 2019-10-08 新华三大数据技术有限公司 一种数据同步方法、装置及服务器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297321A (zh) * 2020-07-27 2021-08-24 阿里巴巴集团控股有限公司 数据同步方法、装置、电子设备及计算机可读存储介质
CN113505134A (zh) * 2021-05-21 2021-10-15 武汉旷视金智科技有限公司 多线程数据处理方法、多线程底库数据入库方法及装置
CN113505134B (zh) * 2021-05-21 2023-02-24 武汉旷视金智科技有限公司 多线程数据处理方法、多线程底库数据入库方法及装置

Also Published As

Publication number Publication date
CN111061740B (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
CN110502519B (zh) 一种数据聚合的方法、装置、设备及存储介质
CN111709527A (zh) 运维知识图谱库的建立方法、装置、设备及存储介质
CN109634587B (zh) 一种生成入库脚本以及数据入库的方法和设备
CN108681493B (zh) 数据异常检测方法、装置、服务器和存储介质
CN110704476A (zh) 数据处理方法、装置、设备及存储介质
CN113656501B (zh) 一种数据读取方法、装置、设备以及存储介质
CN110647318A (zh) 一种有状态应用的实例创建方法、装置、设备及介质
CN110633046A (zh) 一种分布式系统的存储方法、装置、存储设备及存储介质
CN111061740B (zh) 一种数据同步方法、设备和存储介质
CN111737564A (zh) 一种信息查询方法、装置、设备及介质
CN110555150A (zh) 一种数据监控方法、装置、设备和存储介质
CN111611290A (zh) 地址快速定位方法、装置、计算机设备及存储介质
CN109033456B (zh) 一种条件查询方法、装置、电子设备和存储介质
CN108228611B (zh) 单据信息抄写方法和装置
CN113064919A (zh) 数据处理方法、数据存储系统、计算机设备及存储介质
CN110515954B (zh) 一种数据处理方法、装置、设备和存储介质
CN111522881A (zh) 业务数据处理方法、装置、服务器及存储介质
CN112039975A (zh) 一种报文字段的处理方法、装置、设备及存储介质
CN114116907A (zh) 一种数据库的同步方法、装置、电子设备和存储介质
CN110457705B (zh) 一种兴趣点数据处理方法、装置、设备和存储介质
CN114036218A (zh) 一种数据模型切换方法、装置、服务器和存储介质
CN112579591B (zh) 数据校验方法、装置、电子设备及计算机可读存储介质
CN109740027B (zh) 数据交换方法、装置、服务器和存储介质
CN112632211A (zh) 用于移动机器人的语义信息处理方法与设备
US10353920B2 (en) Efficient mirror data re-sync

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
CB02 Change of applicant information

Address after: Room 301-1, floor 3, building 10, Zhongguancun Software Park, No. 8, Dongbeiwang West Road, Haidian District, Beijing 100193

Applicant after: Beijing softong Intelligent Technology Co.,Ltd.

Address before: 100193 202, floor 2, building 16, East District, No. 10, northwest Wangdong Road, Haidian District, Beijing

Applicant before: Beijing Softcom Smart City Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant