CN109446271B - 一种数据同步方法、装置、设备及介质 - Google Patents

一种数据同步方法、装置、设备及介质 Download PDF

Info

Publication number
CN109446271B
CN109446271B CN201811289583.9A CN201811289583A CN109446271B CN 109446271 B CN109446271 B CN 109446271B CN 201811289583 A CN201811289583 A CN 201811289583A CN 109446271 B CN109446271 B CN 109446271B
Authority
CN
China
Prior art keywords
data
tables
synchronization
sheet
list
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.)
Active
Application number
CN201811289583.9A
Other languages
English (en)
Other versions
CN109446271A (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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201811289583.9A priority Critical patent/CN109446271B/zh
Publication of CN109446271A publication Critical patent/CN109446271A/zh
Application granted granted Critical
Publication of CN109446271B publication Critical patent/CN109446271B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本说明书实施例公开了一种数据同步方法、装置、设备及介质,数据同步方法包括:构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据;分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。

Description

一种数据同步方法、装置、设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据同步方法、装置、设备及介质。
背景技术
在现有技术中,人类的活动可以产生相应的数据,尤其是互联网科技的发展和应用,数据积累呈现急速增长现象,这些积累的数据可以作为企业开拓业务以及提升经营的重要资源。在实际情况中,很多情况下需要对积累或者存储的数据进行处理,例如将某个数据库中的数据迁移或者同步到另一个数据库中。目前数据同步所存在的一个主要问题是,在进行数据同步时,被同步的数据库所支持的所有业务都需要停用一段时间,特别是被同步的数据库中的数据量较大时,数据同步会比较繁琐,业务停用时间可能会很长,从而造成包括用户体验下降在内的诸多不良影响,对于数据读写频繁的业务影响更大。
有鉴于此,需要更高效的数据同步方案。
发明内容
本说明书实施例提供了一种数据同步方法、装置、设备及介质,用以解决如何更高效地进行数据同步的技术问题。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供一种数据同步方法,包括:
构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据;
分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
本说明书实施例提供一种数据同步装置,包括:
数据分储模块,用于构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中,以及将所述源数据库在第一数据单表构建后的新接收数据存储在所述多个第一数据单表中;
同步模块,用于分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
本说明书实施例提供一种数据同步设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据;
分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:
构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据;
分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
在对数据或者数据集或者数据库进行拆分后,可以分别针对拆分后的各个第一数据单表进行处理或者同步等相应操作,而第一数据单表所对应的业务数量更少、业务范围更小,从而有效降低了数据处理或者数据同步所影响的业务数量和范围;由于各个第一数据单表相对于原数据或者原数据集或者原数据库所包含数据量更小,因而对第一数据单表进行处理或者同步等操作所需的操作难度更小,操作耗时更短,进而对第一数据单表进行处理或者同步等操作对业务的影响时间也更短。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书第一个实施例提供的一种数据处理系统示意图。
图2是本说明书第二个实施例提供的一种数据处理方法的流程示意图。
图3是本说明书第四个实施例中的数据拆分示意图。
图4是本说明书第三个实施例提供的一种数据同步系统示意图。
图5是本说明书第四个实施例提供的一种数据同步方法的流程示意图。
图6是本说明书第五个实施例提供的一种数据同步系统示意图。
图7是本说明书第六个实施例提供的一种数据同步方法的流程示意图。
图8是本说明书第六个实施例中的第一数据单表构建示意图。
图9是本说明书第六个实施例中的单个第一数据单表的基础数据同步示意图。
图10是本说明书第六个实施例中的一种基础数据确定示意图。
图11是本说明书第六个实施例中的另一种基础数据确定示意图。
图12是本说明书第六个实施例中的单个第一数据单表的增量数据同步示意图。
图13是本说明书第六个实施例中单个第一数据单表的数据同步完成后的业务数据写入示意图。
图14是本说明书第六个实施例提供的第二数据单表构建示意图。
图15是本说明书第七个实施例提供的一种数据处理装置的结构示意图。
图16是本说明书第八个实施例提供的一种数据同步装置的结构示意图。
图17是本说明书第八个实施例提供的另一种数据同步装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
现有技术中,各项业务的运行一般需要相应的数据库支持,数据库用于各项业务数据的读写操作。相应的,在现有技术中,当需要对数据或数据集或数据库中的数据进行处理时,被处理的数据或数据集或数据库所支持的所有业务都需要停用一段时间,特别是被处理的数据库中的数据量较大时,数据处理会比较繁琐,业务停用时间可能会很长,从而造成包括用户体验下降在内的诸多不良影响,对于数据读写频繁的业务影响更大。
如图1所示,本说明书的第一个实施例提供了一种数据处理系统,该数据处理系统将待处理数据或待处理数据集(待处理数据或待处理数据集可以存储于数据库中)拆分成多个数据单元,每个数据单元由一定数量的数据构成。该数据处理系统分别处理上述的各个数据单元,根据各个数据单元的处理结果确定待处理数据或数据集的处理结果。
在实际场景中,待处理数据或数据集对应着诸多项的业务,拆分后的每个数据单元对应着这诸多项业务中的一项或多项业务,从而在对任一数据单元进行处理时,所影响的只是该数据单元对应的业务,而不是待处理数据或数据集对应的所有业务,因而有效降低了数据处理所影响的业务数量和范围。通常情况下,拆分后的数据单元越多,在对单个数据单元进行处理时,所影响的业务数量和范围越少。由于各个数据单元相对于待处理数据或者数据集来说所包含数据量更小,因而对单个数据单元进行处理等操作所需的操作难度更小,操作耗时更短,进而对单个数据单元进行处理等操作对该数据单元所对应业务的影响时间也更短。
图2示出了本说明书第二个实施例提供的一种数据处理方法的流程示意图,该数据处理方法包括:
S101:将待处理数据或数据集拆分为多个数据单元。
在进行拆分前,可以先确定拆分后的数据单元数。在本实施例中,可以根据待处理数据或数据集的数据类型和/或数据来源和/或待处理数据量或待处理数据集的数据量来确定拆分后的数据单元数。实际上,由于待处理数据或数据集来源于相应的业务(或者说业务系统,业务系统可以运行多种业务),因而根据待处理数据或数据集的数据类型和/或数据来源确定拆分后的数据单元数与根据待处理数据或数据集支持的业务类型来确定拆分后的数据单元数可以是相通的。在本实施例中,还可以基于哈希算法对待处理数据进行拆分。
以下通过示例对确定数据单元数的几种方式进行说明(确定数据单元数不限于以下给出的方式):
(1.1)假设待处理数据有a种类型,则可以确定数据单元数为a,即将a种类型的待处理数据拆分成a份,每份数据作为一个数据单元,每个数据单元由一种类型的数据构成;当然,也可以确定数据单元数大于或小于a,从而某个或某些数据单元由多种类型的数据构成或某些数据单元共享同类数据。
(1.2)假设待处理数据有b种来源,则可以确定数据单元数为b,即将b种来源的待处理数据拆分成b份,每份数据作为一个数据单元,每个数据单元由一种来源的数据构成;当然,也可以确定数据单元数大于或小于a,从而某个或某些数据单元由多种来源的数据构成或某些数据单元共享同种来源的数据。
(1.3)假设待处理数据是由c种业务产生的,并支持这c种业务读写,则相当于确定了待处理数据有c种来源,可以按照待处理数据来源来确定数据单元数的情况处理。
(1.4)根据待处理数据量或待处理数据集的数据量或者数据单元的数据量,比如限定为拆分后每个数据单元的数据量是待处理数据量或待处理数据集的数据量的十分之一,则数据单元数为10,当然也可以是其他比例;再比如限定为拆分后的数据单元的数据量不超过某一阈值,则据此同样可以确定数据单元数。特别的,由于对某个数据单元进行处理时会影响该数据单元对应的业务,一般来说,一个数据单元的数据量越多,对该数据单元的处理耗时越长,即对该数据单元对应业务的影响耗时也越长,所以可以限定对业务的影响耗时(即数据单元的处理耗时),比如说限定拆分后各个数据单元的处理耗时不超过某一阈值,据此可以确定各个数据单元的业务量,从而归结到根据数据单元的数据量确定数据单元数。
(1.5)利用哈希算法。可以根据待处理数据的身份数据,例如用户ID来对待处理数据进行拆分。例如如图3所示,对用户ID哈希,取用户ID最后两位十进制整数,可以确定数据单元的数量为100,每个数据单元对应一定的序号,比如0-99;然后根据用户ID最后两位十进制整数确定拆分后的数据去向,比如用户ID最后两位为00的数据构成序号为00的数据单元,用户ID最后两位为99的数据构成序号为99的数据单元等等。数据单元的数量也可以为100的因子,这样每个数据单元对应的用户ID最后两位十进制整数也是可以均匀分布的。比如数据单元数为50,则可以用户ID最后两位为00和01的数据构成序号为00的数据单元,用户ID最后两位为98和99的数据构成序号为49的数据单元,即每个数据单元可以对应两种用户ID最后两位十进制整数的分布情况。
上面几种确定数据单元数的情况可以单独或者结合使用,一般来说,比较理想的数据拆分情形是:每个数据单元对应一种或多种数据类型和/或数据来源和/或业务,且数据单元之间对应的数据类型和/或数据来源和/或业务不重合。
对待处理数据集的拆分同待处理数据的拆分,由于待处理的数据库中的数据可以看作是数据集,故对待处理数据库的拆分同待处理数据的拆分。
S102:分别处理上述的各个数据单元。
将待处理数据或数据集拆分为多个数据单元后,就可以分别处理各个数据单元。在本实施例中,可以事先确定各个数据单元的处理先后次序,依次处理各个数据单元;或者可以并行处理多个数据单元(或者同时处理多个数据单元)。
S103:根据所述各个数据单元的处理结果确定所述待处理数据或数据集的处理结果。
根据各个数据单元的处理结果可以确定待处理数据或数据集的处理结果,比如当各个数据单元都处理成功时待处理数据或数据集才处理成功,或者各个数据单元中处理成功的数据单元数达到或超过一定值时待处理数据或数据集处理成功。
本实施例中的“数据处理”作广义理解,可以是所有对数据所进行的操作,比如数据分类、取值、映射、同步等;本实施例中的“业务”作广义理解,可以是所有可以在相关平台或系统或服务器或计算设备上运行的业务,例如在第三方支付平台上运行的支付、转账等业务。
本实施例中,拆分后的每个数据单元对应着一项或多项业务,从而在对任一数据单元进行处理时,所影响的只是该数据单元对应的业务,其他不在处理中的数据单元对应的业务可以正常进行,而不是影响待处理数据或数据集对应的所有业务,因而有效降低了数据处理所影响的业务数量和范围。通常情况下,拆分后的数据单元越多,在对单个数据单元进行处理时,所影响的业务数量和范围越少。由于各个数据单元相对于待处理数据或者数据集来说所包含数据量更小,因而对单个数据单元进行处理等操作所需的操作难度更小,操作耗时更短,进而对单个数据单元进行处理等操作对该数据单元所对应业务的影响时间也更短。
在实际场景中,当需要对数据或数据集或数据库中的数据进行同步时,被同步的数据或数据集或数据库所支持的所有业务都需要停用一段时间,特别是被同步或者被同步的数据库中的数据量较大时,数据同步或数据同步会比较繁琐,业务停用时间可能会很长,从而造成包括用户体验下降在内的诸多不良影响,对于数据读写频繁的业务影响更大。
如图4所示,本说明书的第三个实施例提供了一种数据同步系统,该数据同步系统将待同步数据或待同步数据集(待同步数据或待同步数据集可以存储于数据库中)拆分成多个数据单元,每个数据单元由一定数量的数据构成。该数据同步系统分别同步上述的各个数据单元,可以根据各个数据单元的同步结果确定待同步数据或数据集的同步结果。
在实际场景中,待同步数据或数据集对应着诸多项的业务,拆分后的每个数据单元对应着这诸多项业务中的一项或多项业务,从而在对任一数据单元进行同步时,所影响的只是该数据单元对应的业务,而不是待同步数据或数据集对应的所有业务,因而有效降低了数据同步所影响的业务数量和范围。通常情况下,拆分后的数据单元越多,在对单个数据单元进行同步时,所影响的业务数量和范围越少。由于各个数据单元相对于待同步数据或者数据集来说所包含数据量更小,因而对单个数据单元进行同步等操作所需的操作难度更小,操作耗时更短,进而对单个数据单元进行同步等操作对该数据单元所对应业务的影响时间也更短。
图5示出了本说明书第四个实施例提供的一种数据同步方法的流程示意图,该数据同步方法包括:
S201:将待同步数据或数据集拆分为多个数据单元。
待同步数据或数据集的拆分同S101。
S202:分别同步上述的各个数据单元。
将待同步数据或数据集拆分为多个数据单元后,就可以分别同步各个数据单元。比如待同步数据或数据集位于数据库D中,数据单元数为d,需要同步到数据库E中,则可以将d个数据单元分别同步到数据库E中,再根据需要确定是否对同步到数据库E中的d个数据单元进行合并等步骤。在本实施例中,可以事先确定各个数据单元的同步先后次序,依次同步各个数据单元;或者可以并行同步多个数据单元(或者同时同步多个数据单元)。
在本实施例中,根据各个数据单元的同步结果可以确定待同步数据或数据集的同步结果,比如当各个数据单元都同步成功时待同步数据或数据集才同步成功,或者各个数据单元中同步成功的数据单元数达到或超过一定值时待同步数据或数据集同步成功。
本实施例中,拆分后的每个数据单元对应着一项或多项业务,从而在对任一数据单元进行同步时,所影响的只是该数据单元对应的业务,其他不在同步中的数据单元对应的业务可以正常进行,而不是影响待同步数据或数据集对应的所有业务,因而有效降低了数据同步所影响的业务数量和范围。通常情况下,拆分后的数据单元越多,在对单个数据单元进行同步时,所影响的业务数量和范围越少。由于各个数据单元相对于待同步数据或者数据集来说所包含数据量更小,因而对单个数据单元进行同步等操作所需的操作难度更小,操作耗时更短,进而对单个数据单元进行同步等操作对该数据单元所对应业务的影响时间也更短。
如图6所示,本说明书的第五个实施例提供了一种数据同步系统,该数据同步系统构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据;分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
同第一至第四个实施例,拆分后的每个第一数据单表对应着一项或多项业务,从而在对任一第一数据单表进行同步时,所影响的只是该第一数据单表对应的业务,其他不在同步中的第一数据单表对应的业务可以正常进行,而不是影响源数据库对应的所有业务,因而有效降低了数据同步所影响的业务数量和范围。通常情况下,拆分后的第一数据单表越多,在对单个第一数据单表进行同步时,所影响的业务数量和范围越少。由于各个第一数据单表相对于源数据库来说所包含数据量更小,因而对单个第一数据单表进行同步等操作所需的操作难度更小,操作耗时更短,进而对单个第一数据单表进行同步等操作对该第一数据单表所对应业务的影响时间也更短。
图7示出了本说明书第六个实施例提供的一种数据同步方法的流程示意图,该数据同步方法包括:
S301:构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据。
在本实施例中,数据同步的源数据库(以下简称“源数据库”)可以是指能提供同步数据的数据库,数据同步的目的数据库(以下简称“目的数据库”)可以是指接收同步数据的数据库,或者同步数据要同步到的数据库。同步可以是一个源数据库对一个目的数据库,或者一个源数据库对多个目的数据库,或者多个源数据库对一个目的数据库。
如图8所示,在本实施例中,可以构建多个第一数据单表,其中,第一数据单表用于容纳或者存储数据,其本身类似于或相当于库或者数据表。第一数据单表包含的数据相当于第一至第四个实施例中的数据单元。第一数据单表构建后,就可以将源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中。本实施例中的数据拆分与第二和第四个实施例中的数据拆分可以采用相同的方式,即可以通过第二和第四个实施例中的方式来确定本实施例中需要构建的第一数据单表数。比如,可以根据源数据库在第一数据单表构建时的已有数据确定需要构建的第一数据单表数,即将本实施例中源数据库在第一数据单表构建时的已有数据作为第二个实施例中的待处理数据或数据集,或者将本实施例中数据库在第一数据单表构建时的已有数据作为第四个实施例中的待同步数据或数据集,本实施例中的第一数据单表数相当于第二和第四个实施例中的数据单元数,第二和第四个实施例中的数据单元相当于本实施例中第一数据单表中的数据。再比如,还可以根据源数据库所能够接收的数据来确定需要构建的第一数据单表数,为此可以将源数据库所能够接收的数据作为第二个实施例中的待处理数据或数据集,或者作为第四个实施例中的待同步数据或数据集,进而可以根据源数据库所能够接收的数据的类型和/或来源和/或支持的业务类型和/或身份数据确定第一数据单表数。
通过上面的数据拆分过程可以看出,在确定第一数据单表数的过程中,实际上可以建立数据类型和/或数据来源和/或业务类型和/或身份数据与第一数据单表的对应关系,即确定了源数据库在第一数据单表构建时的已有数据与各个第一数据单表的对应关系。通过上述对应关系,可以将所述已有数据拆分存储到对应的第一数据单表中。第一数据单表可以是位于源数据库内,构建第一数据单表可以看作是将源数据库分成了这多个第一数据单表。
在本实施例中,在第一数据单表构建后源数据库可能仍然在接收新数据,故所建立的多个第一数据单表还用于存储源数据库在第一数据单表构建后的新接收数据。为此,可以确定源数据库在第一数据单表构建后的新接收数据与各个第一数据单表的对应关系,从而将新接收数据存储到对应的第一数据单表中。可见,对于任意的一个第一数据单表,其内的数据可以有两种来源,第一种是由源数据库在第一数据单表构建时的已有数据拆分而来;第二种是来自于源数据库在第一数据单表构建后新接收的数据,但不一定每个第一数据单表都会有来自于第二种来源的数据,而这也和诸多因素有关,比如第一数据单表构建后源数据库新接收(即新写入)的业务数据类型不同,分配到的第一数据单表可能不同,有可能有的第一数据单表不会分配到。
S302:分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
在本实施例中,在构建了第一数据单表后,可以分别将各个第一数据单表中的数据同步到数据同步的目的数据库中。分别将各个第一数据单表中的数据同步到数据同步的目的数据库中包括:
(2.1)如图9所示,对任意的一个第一数据单表,不妨记为第一数据单表f,进行第一数据单表f到所述目的数据库的基础数据同步。具体来说,对于第一数据单表f,可以一次或多次确定其基础数据,并在每次确定基础数据后将第一数据单表f中最新一次确定的基础数据同步到目的数据库。下面进行进一步说明:
(2.1.1)如图10所示,基础数据只确定一次。可以确定第一数据单表f的基础数据分割点,将第一数据单表f中位于基础数据分割点之前的数据作为第一数据单表f的基础数据。特别的,可以通过数据量来确定基础数据分割点,比如按照时间顺序,将第一数据单表f中的前90%(或其他比例)的数据作为基础数据。可见,基础数据分割点相当于第一数据单表f内数据的时间分割点。
将第一数据单表f确定的基础数据同步到目的数据库。由于第一数据单表f的基础数据只确定一次,因而基础数据同步也只有一次,这一次既是首次,也是最后一次。
(2.1.2)如图11所示,基础数据确定多次。一开始需要首次确定第一数据单表f的基础数据分割点,确定方式可以同(2.1.1),将首次确定的基础分割点之前的数据作为首次确定的基础数据同步到目的数据库。
第二次确定第一数据单表f的基础数据分割点,确定方式可以同(2.1.1),不过第二次确定基础数据分割点时可以面向首次确定的基础数据分割点之后的数据;将首次和第二次确定的基础数据分割点之间的数据作为第二次确定的基础数据,并同步到目的数据库。
以此类推,自第二次确定第一数据单表f的基础数据分割点开始,将第一数据单表f中位于任意相邻两次确定的基础数据分割点之间的数据作为该任意相邻两次中后一次确定的基础数据。比如第g次和第g+1次为任意相邻两次,则将第g次和第g+1次确定的基础数据分割点之间的数据作为第g+1次确定的基础数据,并同步到目的数据库。“将上一次确定的基础数据同步到目的数据库”与“确定下一次的基础数据分割点”之间没有绝对的先后顺序。其中,“上一次”和“下一次”为相邻两次。图11中示出了前两次确定基础数据分割点和基础数据的过程。
需要说明的是,第一数据单表f在其基础数据同步期间,第一数据单表f不禁止存储新数据,即仍然可以存储新数据。根据前述,第一数据单表f中的数据可以由两种来源,那么不论一次或多次确定基础数据分割点,每次确定基础数据分割点时所面对的数据量有可能是不同的,前后两次确定基础数据分割点时所面对的数据量有可能是不同的;比如某次确定第一数据单表f的基础数据分割点时,第一数据单表f中的数据可能只来自于源数据库在第一数据单表构建时的已有数据,而另一次确定第一数据单表f的基础数据分割点时,第一数据单表f中又存储了新数据。
(2.2)如图12所示,若第一数据单表f在其基础数据同步(或最后一次基础数据同步)完成后还存在增量数据,则进行第一数据单表f到目的数据库的增量数据同步。其中,增量数据为第一数据单表f中整个基础数据同步过程未涉及的数据。
由于第一数据单表f在基础数据同步时可以继续存储新数据,并且在基础数据分割点划分时也可以能留下一部分数据,因而基础数据同步完成后第一数据单表f中可能有些数据在基础数据同步期间没有涉及,或者说没有被作为基础数据同步过。对于这些数据可以作为增量数据同步到目的数据库中。
特别的,第一数据单表f的增量数据同步开始后,源数据库禁止接收第一数据单表f所对应数据或第一数据单表f所对应数据类型的数据,这就相当于第一数据单表f在增量数据同步开始后不再存储新数据。这里的“第一数据单表f所对应数据或数据类型”可以事先指定,比如指定第一数据单表f对应某种或某些数据或数据类型,或者对应某个或某些业务(比如第一数据单表f中的数据对应的业务)产生的数据。另外,根据前面的确定第一数据单表数等过程中也可以确定第一数据单表f所对应的数据。各个第一数据单表所对应的数据类型涵盖源数据库所能够存储的所有数据类型。
由前述数据拆分以及第二和第四个实施例可知,第一数据单表f中的数据一般会对应一种或几种业务,由于第一数据单表f进行增量数据同步时禁止存储新数据,因而会影响其所对应的业务,例如业务停止服务。可以确定第一数据单表f的数据非频繁写入时间(或时间段),在此时间内第一数据单表f的数据写入(例如源数据库在第一数据单表构建后的新接收数据)相对其他时间更不频繁(即业务运行任务相对较低),进而可以根据数据非频繁写入时间确定第一数据单表f的增量数据同步时间,比如在数据非频繁写入时间内开始第一数据单表f的增量数据同步,并且尽量在数据非频繁写入时间内结束增量数据同步。由于在数据非频繁写入时间内业务运行任务相对较低,在此时间内业务停止服务所造成的影响相对更小一些。
进一步,可以将数据非频繁写入时间与基础数据同步结合起来,比如,最后一次基础数据同步后第一数据单表f中的未同步过的数据尽量少一些,以使得第一数据单表f中的增量数据少一些,增量数据同步时间短一些。
(2.3)如图13所示,对于第一数据单表f,当其增量数据同步完成后,(源数据库所支持的)各项业务(或接收业务请求的业务系统)新产生的符合第一数据单表f对应的数据类型的数据存储于目的数据库中。第一数据单表f对应的数据类型的确定方式可以同(2.2)。
需要说明的是,有可能有的第一数据单表不需要做增量数据同步,比如最后一次基础数据同步后没有未涉及的数据,对于这种第一数据单表,不妨仍以第一数据单表f为例,其基础数据同步完成后,则可以将(源数据库所支持的)各项业务(或业务系统)新产生的符合第一数据单表f对应的数据类型的数据存储于目的数据库中。
可见,对于任意的一个第一数据单表f来说,当其增量数据同步(若不需要增量数据同步,则为基础数据同步)完成后,原本需要进入源数据库的符合第一数据单表f对应的数据类型的数据会进入目的数据库,而构建的多个第一数据单表对应了源数据库所能够接收的所有种类数据,那么当所有的第一数据单表的增量数据同步(若不需要增量数据同步,则为基础数据同步)完成后,新数据都会进入目的数据库,而不再进入源数据库。
需要说明的是,可以事先确定各个第一数据单表的基础数据同步先后次序,依次进行各个第一数据单表的基础数据同步;或者可以并行进行多个第一数据单表的基础数据同步。
在本实施例中,一方面拆分后的每个第一数据单表对应着一项或多项业务,只有在对单个第一数据单表进行增量数据同步时,才会对该第一数据单表对应的业务产生影响,若该第一数据单表无增量数据同步则其整个数据同步过程对业务不产生影响;并且单个第一数据单表所影响的只是该第一数据单表对应的业务,其他不在同步中的第一数据单表对应的业务可以正常进行,而不是影响源数据库对应的所有业务,因而有效降低了数据同步所影响的业务数量和范围。通常情况下,拆分后的第一数据单表越多,在对单个第一数据单表进行同步时,所影响的业务数量和范围越少。由于各个第一数据单表相对于源数据库来说所包含数据量更小,因而对单个第一数据单表进行同步等操作所需的操作难度更小,操作耗时更短,进而对单个第一数据单表进行同步等操作对该第一数据单表所对应业务所可能的影响时间也更短;另一方面,对单个第一数据单表,先进行基础数据同步,再进行增量数据同步,可以使得该第一数据单表需要同步的增量数据更少,从而增量数据同步时间更短,进一步降低对该第一数据单表所对应业务的影响时间;再一方面,本实施例中不仅是对第一数据单表构建时源数据库的已有数据进行同步,还能够对第一数据单表构建后源数据库的新接收数据进行同步,即能够实现在需要同步的数据动态变化情况下的同步,直至最终既实现了数据的同步(从源数据库到目的数据库),又实现了数据接收库的转移(从源数据库到目的数据库)。
如图14所示,在本实施例中,还可以在目的数据库中构建多个第二数据单表,将目的数据库接收的来自于源数据库的同步数据存储到这多个第二数据单表中,其中,第二数据单表的含义同第一数据单表,同样可用于容纳或者存储数据。为此,可以先确定需要构建的第二数据单表数,第二数据单表数的确定可以同第一数据单表数的确定,包括根据源数据库中在第一数据单表构建时的已有数据或者源数据库所能够接收的数据确定第二数据单表数,源数据库中的已有数据或者所能够接收的数据代表了源数据库的数据。特别的,第二数据单表数可以与第一数据单表数相同或相对应,并且两者可以一一对应,这样来自于某个第一数据单表的同步数据可以直接存储到对应的第二数据单表中。另外,还可以建立同步数据与各个第二数据单表的对应关系,将目的数据库接收的同步数据存储到对应的第二数据单表中。目的数据库接收的同步数据就是源数据库发出的同步数据,“确定任一第二数据单表对应的同步数据”可以同“确定第一数据单表f所对应数据或数据类型”。第二数据单表可以是位于目的数据库内,构建第二数据单表可以看作是将目的数据库分成了这多个第二数据单表。
在本实施例中,将目的数据库划分为多个第二数据单表进行数据存储,更便于查找数据。通过建立第二数据单表与同步数据的对应关系,进一步提高了查找数据的便利性。
如图15所示,本说明书第七个实施例提供了一种数据处理装置,包括:
数据拆分模块401,用于将待处理数据或数据集拆分为多个数据单元;
处理模块402,用于分别处理上述的各个数据单元;
确认模块403,用于根据所述各个数据单元的处理结果确定所述待处理数据或数据集的处理结果。
如图16所示,本说明书第八个实施例提供了一种数据同步装置,包括:
数据分储模块501,用于构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中,以及将所述源数据库在第一数据单表构建后的新接收数据存储在所述多个第一数据单表中;
同步模块502,用于分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
可选的,构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中包括:
确定需要构建的第一数据单表数;
构建相应数目的第一数据单表,以及确定数据同步的源数据库在第一数据单表构建时的已有数据与各个所述第一数据单表的对应关系;
将所述已有数据拆分存储到对应的第一数据单表中;
和/或,
构建多个第一数据单表,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据包括:
确定需要构建的第一数据单表数;
构建相应数目的第一数据单表,以及确定所述源数据库在第一数据单表构建后的新接收数据与各个所述第一数据单表的对应关系;
将所述新接收数据存储到对应的第一数据单表中。
可选的,确定需要构建的第一数据单表数包括:
根据所述数据同步的源数据库在第一数据单表构建时的已有数据确定需要构建的第一数据单表数;
和/或,
根据所述数据同步的源数据库所能够接收的数据确定需要构建的第一数据单表数。
可选的,分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中包括:
对任一所述第一数据单表,进行该第一数据单表到所述目的数据库的基础数据同步;所述基础数据同步期间,该第一数据单表不禁止存储新数据;
若该第一数据单表在其基础数据同步完成后还存在增量数据,则进行该第一数据单表到所述目的数据库的增量数据同步;所述增量数据同步开始后,所述源数据库禁止接收该第一数据单表所对应数据的同类数据;
其中,所述增量数据为该第一数据单表中基础数据同步未涉及的数据。
可选的,对任一所述第一数据单表,进行该第一数据单表到所述目的数据库的基础数据同步包括:
对任一所述第一数据单表,一次或多次确定该第一数据单表中的基础数据,并在每次确定基础数据后将该第一数据单表中最新一次确定的基础数据同步到所述目的数据库。
可选的,对任一所述第一数据单表,一次确定该第一数据单表中的基础数据包括:
对任一所述第一数据单表,确定该第一数据单表的基础数据分割点,将该第一数据单表中所述基础数据分割点之前的数据作为基础数据;
和/或,
对任一所述第一数据单表,多次确定该第一数据单表中的基础数据包括:
对任一所述第一数据单表,首次确定该第一数据单表的基础数据分割点,将该第一数据单表中所述基础数据分割点之前的数据作为首次确定的基础数据;
自第二次确定该第一数据单表的基础数据分割点开始,将该第一数据单表中位于任意相邻两次确定的基础数据分割点之间的数据作为该任意相邻两次中后一次确定的基础数据。
可选的,对任一所述第一数据单表,确定该第一数据单表的数据非频繁写入时间,根据所述数据非频繁写入时间确定该第一数据单表的增量数据同步开始时间。
可选的,如图17所示,所述装置还包括:
转库模块503,用于建立所述源数据库的数据类型与各个所述第一数据单表的对应关系;以及,
对任一所述第一数据单表,该第一数据单表的增量数据同步完成后,将新产生的符合该第一数据单表对应的数据类型的数据存储于所述目的数据库中;或,对任一所述第一数据单表,若该第一数据单表不需要进行增量数据同步,则将新产生的符合该第一数据单表对应的数据类型的数据存储于所述目的数据库中。
可选的,所述数据分储模块601还用于:
在数据同步的目的数据库中构建多个第二数据单表;
将所述目的数据库接收的同步数据存储到所述第二数据单表中。
本说明书第九个实施例提供了一种数据处理设备,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
将待处理数据或数据集拆分为多个数据单元;
分别处理上述的各个数据单元;
根据所述各个数据单元的处理结果确定所述待处理数据或数据集的处理结果。
本说明书第十个实施例提供了一种数据同步设备,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据;
分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
本说明书第十一个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:
将待处理数据或数据集拆分为多个数据单元;
分别处理上述的各个数据单元;
根据所述各个数据单元的处理结果确定所述待处理数据或数据集的处理结果。
本说明书第十二个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:
构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据;
分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种数据同步方法,其特征在于,
构建多个第一数据单表;
将数据同步的源数据库在第一数据单表构建时的已有数据拆分成多个数据单元,拆分后的每个所述数据单元对应于所述已有数据对应的所有业务中的一项或者多项业务;
将所述多个数据单元分别存储到所述多个第一数据单表中,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据,所述已有数据和所述新接收的数据为需要进行同步的数据,所述第一数据单表为根据所述已有数据构建出来的;
分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
2.如权利要求1所述的方法,其特征在于,构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分存储到所述多个第一数据单表中包括:
确定需要构建的第一数据单表数;
构建相应数目的第一数据单表,以及确定数据同步的源数据库在第一数据单表构建时的已有数据与各个所述第一数据单表的对应关系;
将所述已有数据拆分存储到对应的第一数据单表中;
和/或,
构建多个第一数据单表,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据包括:
确定需要构建的第一数据单表数;
构建相应数目的第一数据单表,以及确定所述源数据库在第一数据单表构建后的新接收数据与各个所述第一数据单表的对应关系;
将所述新接收数据存储到对应的第一数据单表中。
3.如权利要求2所述的方法,其特征在于,确定需要构建的第一数据单表数包括:
根据所述数据同步的源数据库在第一数据单表构建时的已有数据确定需要构建的第一数据单表数;
和/或,
根据所述数据同步的源数据库所能够接收的数据确定需要构建的第一数据单表数。
4.如权利要求1所述的方法,其特征在于,分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中包括:
对任一所述第一数据单表,进行该第一数据单表到所述目的数据库的基础数据同步;所述基础数据同步期间,该第一数据单表不禁止存储新数据;
若该第一数据单表在其基础数据同步完成后还存在增量数据,则进行该第一数据单表到所述目的数据库的增量数据同步;所述增量数据同步开始后,所述源数据库禁止接收该第一数据单表所对应数据的同类数据;
其中,所述增量数据为该第一数据单表中基础数据同步未涉及的数据。
5.如权利要求4所述的方法,其特征在于,对任一所述第一数据单表,进行该第一数据单表到所述目的数据库的基础数据同步包括:
对任一所述第一数据单表,一次或多次确定该第一数据单表中的基础数据,并在每次确定基础数据后将该第一数据单表中最新一次确定的基础数据同步到所述目的数据库。
6.如权利要求5所述的方法,其特征在于,对任一所述第一数据单表,一次确定该第一数据单表中的基础数据包括:
对任一所述第一数据单表,确定该第一数据单表的基础数据分割点,将该第一数据单表中所述基础数据分割点之前的数据作为基础数据;
和/或,
对任一所述第一数据单表,多次确定该第一数据单表中的基础数据包括:
对任一所述第一数据单表,首次确定该第一数据单表的基础数据分割点,将该第一数据单表中所述基础数据分割点之前的数据作为首次确定的基础数据;
自第二次确定该第一数据单表的基础数据分割点开始,将该第一数据单表中位于任意相邻两次确定的基础数据分割点之间的数据作为该任意相邻两次中后一次确定的基础数据。
7.如权利要求4至6中任一项所述的方法,其特征在于,
对任一所述第一数据单表,确定该第一数据单表的数据非频繁写入时间,根据所述数据非频繁写入时间确定该第一数据单表的增量数据同步开始时间。
8.如权利要求4至6中任一项所述的方法,其特征在于,所述方法还包括:
建立所述源数据库的数据类型与各个所述第一数据单表的对应关系;
对任一所述第一数据单表,该第一数据单表的增量数据同步完成后,将新产生的符合该第一数据单表对应的数据类型的数据存储于所述目的数据库中;或,对任一所述第一数据单表,若该第一数据单表不需要进行增量数据同步,则将新产生的符合该第一数据单表对应的数据类型的数据存储于所述目的数据库中。
9.如权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
在数据同步的目的数据库中构建多个第二数据单表;
将所述目的数据库接收的同步数据存储到所述第二数据单表中。
10.一种数据同步装置,其特征在于,包括:
数据分储模块,用于构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分成多个数据单元,将所述多个数据单元分别存储到所述多个第一数据单表中,以及将所述源数据库在第一数据单表构建后的新接收数据存储在所述多个第一数据单表中,所述已有数据和所述新接收的数据为需要进行同步的数据,所述第一数据单表为根据所述已有数据构建出来的,拆分后的每个所述数据单元对应于所述已有数据对应的所有业务中的一项或者多项业务;
同步模块,用于分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
11.一种数据同步设备,其特征在于,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分成多个数据单元,将所述多个数据单元分别存储到所述多个第一数据单表中,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据,所述已有数据和所述新接收的数据为需要进行同步的数据,所述第一数据单表为针对所述已有数据构建出的,拆分后的每个所述数据单元对应于所述已有数据对应的所有业务中的一项或者多项业务;
分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时实现如下的步骤:
构建多个第一数据单表,将数据同步的源数据库在第一数据单表构建时的已有数据拆分成多个数据单元,将所述多个数据单元分别存储到所述多个第一数据单表中,所述第一数据单表还用于存储所述源数据库在第一数据单表构建后的新接收数据,所述已有数据和所述新接收的数据为需要进行同步的数据,所述第一数据单表为根据所述已有数据构建出来的,拆分后的每个所述数据单元对应于所述已有数据对应的所有业务中的一项或者多项业务;
分别将各个所述第一数据单表中的数据同步到数据同步的目的数据库中。
CN201811289583.9A 2018-10-31 2018-10-31 一种数据同步方法、装置、设备及介质 Active CN109446271B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811289583.9A CN109446271B (zh) 2018-10-31 2018-10-31 一种数据同步方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811289583.9A CN109446271B (zh) 2018-10-31 2018-10-31 一种数据同步方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN109446271A CN109446271A (zh) 2019-03-08
CN109446271B true CN109446271B (zh) 2023-02-14

Family

ID=65549404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811289583.9A Active CN109446271B (zh) 2018-10-31 2018-10-31 一种数据同步方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN109446271B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674152B (zh) * 2019-09-24 2023-06-23 京东科技控股股份有限公司 数据同步方法与装置、存储介质、电子设备
CN115017235B (zh) * 2022-06-30 2023-07-14 上海弘玑信息技术有限公司 数据同步方法及电子设备、存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079735A (zh) * 2007-06-26 2007-11-28 中兴通讯股份有限公司 一种客服系统参数的动态修改方法及其系统
CN102638584A (zh) * 2012-04-20 2012-08-15 青岛海信传媒网络技术有限公司 数据分布缓存方法及系统
CN104820701A (zh) * 2015-05-11 2015-08-05 北京瑞星信息技术有限公司 数据记录和同步方法及系统
CN106453665A (zh) * 2016-12-16 2017-02-22 东软集团股份有限公司 基于分布式缓存系统的数据缓存方法、服务器和系统
CN108573034A (zh) * 2018-03-30 2018-09-25 北京辰森世纪科技股份有限公司 数据备份方法、装置、计算机设备及可读存储介质
CN108694241A (zh) * 2018-05-14 2018-10-23 平安科技(深圳)有限公司 一种数据的存储方法及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009516B (zh) * 2006-01-26 2011-05-04 华为技术有限公司 一种进行数据同步的方法、系统及装置
CN101526958B (zh) * 2009-04-09 2012-07-04 中兴通讯股份有限公司 一种iptv系统模块间数据同步的方法及系统
CN103577165A (zh) * 2012-07-20 2014-02-12 杭州勒卡斯广告策划有限公司 一种表单生成方法和表单生成器
CN107908371A (zh) * 2017-12-08 2018-04-13 浪潮软件股份有限公司 一种数据管理系统及其实现数据管理业务的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079735A (zh) * 2007-06-26 2007-11-28 中兴通讯股份有限公司 一种客服系统参数的动态修改方法及其系统
CN102638584A (zh) * 2012-04-20 2012-08-15 青岛海信传媒网络技术有限公司 数据分布缓存方法及系统
CN104820701A (zh) * 2015-05-11 2015-08-05 北京瑞星信息技术有限公司 数据记录和同步方法及系统
CN106453665A (zh) * 2016-12-16 2017-02-22 东软集团股份有限公司 基于分布式缓存系统的数据缓存方法、服务器和系统
CN108573034A (zh) * 2018-03-30 2018-09-25 北京辰森世纪科技股份有限公司 数据备份方法、装置、计算机设备及可读存储介质
CN108694241A (zh) * 2018-05-14 2018-10-23 平安科技(深圳)有限公司 一种数据的存储方法及设备

Also Published As

Publication number Publication date
CN109446271A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
CN107450979B (zh) 一种区块链共识方法及装置
CN107391526B (zh) 一种基于区块链的数据处理方法及设备
CN107391527B (zh) 一种基于区块链的数据处理方法及设备
CN107590207B (zh) 数据同步方法及装置、电子设备
CN106970921B (zh) 一种数据迁移方法及装置
CN107038041B (zh) 数据处理方法、错误码动态兼容方法、装置和系统
US11074246B2 (en) Cluster-based random walk processing
CN107179940B (zh) 一种任务执行的方法及装置
CN109343793B (zh) 数据迁移方法及装置
CN110807013B (zh) 用于分布式数据存储集群的数据迁移方法和装置
CN109446271B (zh) 一种数据同步方法、装置、设备及介质
CN111143331A (zh) 数据迁移方法、装置及计算机存储介质
CN108304455B (zh) 一种处理业务请求的方法、装置及设备
CN107451204B (zh) 一种数据查询方法、装置及设备
CN108959330B (zh) 一种数据库的处理、数据查询方法及设备
CN110083602B (zh) 一种基于hive表的数据存储及数据处理的方法及装置
CN110019975B (zh) 随机游走、基于集群的随机游走方法、装置以及设备
CN109658094B (zh) 随机游走、基于集群的随机游走方法、装置以及设备
CN110633321B (zh) 一种数据的同步方法、装置及设备
CN112181979B (zh) 一种数据更新方法、装置、存储介质及电子设备
CN110908429A (zh) 一种定时器操作方法及装置
CN107645541B (zh) 数据存储方法、装置及服务器
CN110704733B (zh) 一种发送数据的方法及装置
CN110851416B (zh) 数据存储性能分析方法和装置、宿主机确定方法和装置
CN111414162B (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
TA01 Transfer of patent application right

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240228

Address after: 128 Meizhi Road, Guohao Times City # 20-01, Singapore 189773

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: 27 Hospital Road, George Town, Grand Cayman ky1-9008

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands

TR01 Transfer of patent right