掌桥专利:专业的专利平台
掌桥专利
首页

数据同步方法、装置、设备及存储介质

文献发布时间:2023-06-19 13:46:35


数据同步方法、装置、设备及存储介质

技术领域

本发明涉及数据处理技术领域,特别是涉及一种数据同步方法、装置、设备及存储介质。

背景技术

当今在云计算、大数据、人工智能盛行的时代,对技术的需求也更加的多元化,现在网络上每天都会产生庞大的数据,这些数据通常可以选用不同的数据库来进行存储,而数据同步是保证数据库中数据可靠性的有效手段之一。

以非关系型数据库为例,非关系型数据库通常用于存储类型不固定的数据,目前,非关系型数据库中的数据同步通常是将非关系型数据库中存储的数据打包发送给相应的同步设备,以此实现非关系型数据库的数据同步。

然而,上述的数据同步方式,存在数据同步效率低的问题。

发明内容

基于此,有必要针对上述技术问题,提供一种数据同步方法、装置、设备及存储介质,能够提高数据的同步效率。

第一方面,本申请实施例提供了一种数据同步方法,该方法包括:从目标数据库中获取全量数据,并将全量数据划分为多个具有不同数据类型的目标数据集;对于每个目标数据集,获取目标数据集对应的目标历史数据集,并根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据;若目标数据集中存在更新数据,则将更新数据发送至同步服务器,更新数据用于同步服务器对存储的历史数据进行数据同步。

在一个实施例中,目标数据集中包括至少一个目标待检测数据,根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据,包括:对目标待检测数据进行哈希处理,得到目标待检测数据对应的目标哈希值;根据目标哈希值和目标历史数据集,检测目标数据集中是否存在更新数据。

在一个实施例中,目标历史数据集至少包括目标待检测数据对应的历史哈希值,根据目标哈希值和目标历史数据集,检测目标数据集中是否存在更新数据,包括:检测目标哈希值和历史哈希值是否相同;若目标哈希值和历史哈希值不同,则确定目标数据集中存在更新数据。

在一个实施例中,全量数据包括多个待检测数据和各待检测数据对应的数据类型标识,将全量数据划分为多个具有不同数据类型的目标数据集,包括:根据各待检测数据对应的数据类型标识,将全量数据划分为多个具有不同数据类型的目标数据集。

在一个实施例中,方法还包括:将目标数据集中的待检测数据以预设数据表的格式进行存储。

在一个实施例中,目标数据集中包括至少一个目标待检测数据和目标待检测数据对应的目标数据类型标识,获取目标数据集对应的历史数据集,包括:根据目标数据类型标识,查找目标数据类型标识对应的历史数据集,得到目标历史数据集,目标历史数据集为在历史时刻下,对目标数据库中的全量数据按照数据类型划分得到的,目标数据集和目标历史数据集的数据类型相同。

在一个实施例中,将全量数据划分为多个具有不同数据类型的目标数据集之后,还包括:将各目标数据集对应存储至分布式文件系统中的相应目录下。

在一个实施例中,从目标数据库中获取全量数据之前,方法还包括:若检测到同步触发事件,则检测同步触发事件是否为预设时间段内的首个同步触发事件;若同步触发事件是预设时间段内的首个同步触发事件,则将全量数据发送至同步服务器;若同步触发事件不是预设时间段内的首个同步触发事件,则执行从目标数据库中获取全量数据的步骤。

第二方面,本申请实施例提供了一种数据同步方法,该方法包括:接收源服务器发送的更新数据,更新数据包括数据位置信息和数据内容信息;根据数据位置信息指示的数据位置,利用数据内容信息对存储的历史数据进行数据同步。

在一个实施例中,根据数据位置信息指示的数据位置,利用数据内容信息对存储的历史数据进行数据同步,包括:根据数据位置信息指示的数据位置,将数据内容信息添加至历史数据的相应位置中。

在一个实施例中,根据数据位置信息指示的数据位置,利用数据内容信息对存储的历史数据进行数据同步,包括:根据数据位置信息指示的数据位置,利用数据内容信息替换历史数据中相应位置上的历史数据内容信息。

第三方面,本申请实施例提供一种数据同步装置,该装置包括:

第一获取模块,用于从目标数据库中获取全量数据,并将全量数据划分为多个具有不同数据类型的目标数据集;

第二获取模块,用于对于每个目标数据集,获取目标数据集对应的目标历史数据集;

检测模块,用于根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据;

发送模块,用于若目标数据集中存在更新数据,则将更新数据发送至同步服务器,更新数据用于同步服务器对存储的历史数据进行数据同步。

第四方面,本申请实施例提供一种数据同步装置,该装置包括:

接收模块,用于接收源服务器发送的更新数据,更新数据包括数据位置信息和数据内容信息;

同步模块,用于根据数据位置信息指示的数据位置,利用数据内容信息对存储的历史数据进行数据同步。

第五方面,本申请实施例提供一种服务器,该服务器包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时实现本申请实施例第一方面的数据同步方法,或者,计算机程序被处理器执行时实现本申请实施例第二方面的数据同步方法。

第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请实施例第一方面的数据同步方法,或者,计算机程序被处理器执行时实现本申请实施例第二方面的数据同步方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

本申请实施例提供的数据同步方法,通过从目标数据库中获取全量数据,并将获取的全量数据划分为多个具有不同数据类型的目标数据集,对于每个目标数据集,获取目标数据集对应的目标历史数据集,并根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据;若目标数据集中存在更新数据,则将更新数据发送至同步服务器,同步服务器根据接收到的更新数据对存储的历史数据进行数据同步。本申请实施例提供的数据同步方法,由于通过将对数据库中的数据按照数据类别进行划分,并针对每一类别的数据集与历史数据集进行对比来检测更新数据,并将更新数据发送给同步服务器进行数据同步,由于在数据同步过程中传输的是数据库中的更新数据,因此传输的数据量较小,传输时间较短,同时可以提高数据的同步效率。

附图说明

图1为本申请实施例提供的一种数据同步方法的流程图;

图2为本申请实施例提供的一种非关系型数据的存储示意图;

图3为本申请实施例提供的一种根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据的技术过程;

图4为本申请实施例提供的一种数据同步方法的流程图;

图5为本申请实施例提供的一种数据同步方法的流程图;

图6为本申请实施例提供的一种数据同步方法的流程图;

图7为本申请实施例提供的一种数据同步方法的流程图;

图8为本申请实施例提供的一种数据同步装置的结构框图;

图9为本申请实施例提供的另一种数据同步装置的结构框图;

图10为本申请实施例提供的服务器的内部结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

当今在云计算、大数据、人工智能盛行的时代,对技术的需求也更加的多元化,现在网络上每天都会产生庞大的数据,这些数据通常可以选用不同的数据库来进行存储,而数据同步是保证数据库中数据可靠性的有效手段之一。

以非关系型数据库为例,非关系型数据库通常用于存储类型不固定的数据,目前,非关系型数据库中的数据同步通常是将非关系型数据库中存储的数据打包发送给相应的同步设备,以此实现非关系型数据库的数据同步。然而,上述的数据同步方式,存在数据同步效率低的问题。

基于此,有必要针对上述问题,提供一种数据同步方法,能够提高数据的同步效率。

在该数据同步方法中,通过从目标数据库中获取全量数据,并将获取的全量数据划分为多个具有不同数据类型的目标数据集,对于每个目标数据集,获取目标数据集对应的目标历史数据集,并根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据;若目标数据集中存在更新数据,则将更新数据发送至同步服务器,同步服务器根据接收到的更新数据对存储的历史数据进行数据同步。本申请实施例提供的数据同步方法,由于通过将对数据库中的数据按照数据类别进行划分,并针对每一类别的数据集与历史数据集进行对比来检测更新数据,并将更新数据发送给同步服务器进行数据同步,由于在数据同步过程中传输的是数据库中的更新数据,因此传输的数据量较小,传输时间较短,同时可以提高数据的同步效率。

需要说明的是,本申请实施例提供的数据同步方法,其执行主体可以是同步装置,该同步装置可以通过软件、硬件或者软硬件结合的方式实现成为服务器的部分或者全部。下述方法实施例中,以执行主体是源服务器和同步服务器为例来进行说明。

下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

请参考图1,其示出了本申请实施例提供的一种数据同步方法的流程图,该数据同步方法可以应用于上文的源服务器中。如图1所示,该数据同步方法可以包括以下步骤:

步骤101、从目标数据库中获取全量数据,并将全量数据划分为多个具有不同数据类型的目标数据集。

其中,目标数据库为需要进行数据同步的数据库,全量数据为目标数据库中的全部数据。

以非关系型数据库为例,将全量数据划分为多个具有不同数据类型的目标数据集可以为:将非关系型数据库中的全量数据划分为属性数据集和关系数据集。

如图2所示,图2中的数据存储形式为非关系数据的一种,在实际应用中可以将图2中的数据划分为如表1所示的数据集,其中该数据集中包括属性数据集和关系数据集,其中属性数据集中包括:起点数据集和终点数据集;关系数据集中包括关系信息和每条关系对应的起点数据标识和终点数据标识。

表1目标数据集

可选的,可以将划分的目标数据集导出并存储至大数据集群HDSF文件系统中。

步骤102、对于每个目标数据集,获取目标数据集对应的目标历史数据集,并根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据。

其中,目标历史数据集为在历史时刻下,对目标数据库中的全量数据按照数据类型划分得到的,目标数据集和目标历史数据集的数据类型相同。也就是说,在进行数据同步时,要当前的目标数据集与对应的上一版本的数据集进行比对来检测目标数据中是否存在更新数据,而与目标数据集对应的上一版本的数据集称为目标历史数据集。

步骤103、若目标数据集中存在更新数据,则将更新数据发送至同步服务器。

可选的,更新数据用于指示目标数据集中的新增数据和/或更改数据,更新数据用于同步服务器对存储的历史数据进行数据同步。

本申请实施例提供的数据同步方法,通过从目标数据库中获取全量数据,并将获取的全量数据划分为多个具有不同数据类型的目标数据集,对于每个目标数据集,获取目标数据集对应的目标历史数据集,并根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据;若目标数据集中存在更新数据,则将更新数据发送至同步服务器,同步服务器根据接收到的更新数据对存储的历史数据进行数据同步。本申请实施例提供的数据同步方法,由于通过将对数据库中的数据按照数据类别进行划分,并针对每一类别的数据集与历史数据集进行对比来检测更新数据,并将更新数据发送给同步服务器进行数据同步,由于在数据同步过程中传输的是数据库中的更新数据,因此传输的数据量较小,传输时间较短,同时可以提高数据的同步效率。

请参考图3,本申请实施例提供了一种示例性地根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据的技术过程,如图3所示,该技术过程可以包括以下步骤:

步骤301、对目标待检测数据进行哈希处理,得到目标待检测数据对应的目标哈希值。

可选的,对目标待检测数据进行哈希处理,得到目标待检测数据对应的目标哈希值,包括:通过MD5算法计算目标待监测数据的MD5值,得到目标待检测数据对应的MD5值。

步骤302、根据目标哈希值和目标历史数据集,检测目标数据集中是否存在更新数据。

在一种可选的实施方式中,目标历史数据集至少包括目标待检测数据对应的历史哈希值,根据目标哈希值和目标历史数据集,检测目标数据集中是否存在更新数据,包括:检测目标哈希值和历史哈希值是否相同;若目标哈希值和历史哈希值不同,则确定目标数据集中存在更新数据。

通过对目标待检测数据进行哈希处理,得到目标待测试数据对应的目标哈希值,然后检测目标哈希值与历史哈希值是否相同,若不相同,则确定目标数据集中存在更新数据。通过目标待检测数据的哈希值来确定目标待检测数据中改的更新数据,可以提高变更数据的确定效率,进而提高数据的同步效率。

在一个实施例中,全量数据包括多个待检测数据和各待检测数据对应的数据类型标识,将全量数据划分为多个具有不同数据类型的目标数据集,包括:根据各待检测数据对应的数据类型标识,将全量数据划分为多个具有不同数据类型的目标数据集。

在实际应用中,全量数据包括多个待检测数据和各待检测数据对应的数据类型标识,因此在对全量数据进行拆分时,可以根据待检测数据对应的数据类型标识对待检测数据进行拆分,将数据类型标识相同的待检测数据归为一类,从而得到多个具有不同数据类型的目标数据集。对待检测数据进行拆分分类可以便于对待检测数据中的更新数据进行查找。

在一个实施例中,该数据同步方法还包括:将目标数据集中的待检测数据以预设数据表的格式进行存储。

可选的,预设的数据表可以为Hive外表。

在实际应用中,可以对目标数据集中的待检测数据建立Hive外表,在对待检测数据建立Hive外表后,就可以通过HQL语言来调用MD5算法来计算待检测数据的MD5值,在可以对待检测数据进行存储的同时,还可以提高待检测数据的MD5值计算效率。

在一个实施例中,目标数据集中包括至少一个目标待检测数据和目标待检测数据对应的目标数据类型标识,获取目标数据集对应的历史数据集,包括:根据目标数据类型标识,查找目标数据类型标识对应的历史数据集,得到目标历史数据集,目标历史数据集为在历史时刻下,对目标数据库中的全量数据按照数据类型划分得到的,目标数据集和目标历史数据集的数据类型相同。

在具体实施过程中,在对比过程中是将目标数据集与其对应的目标历史数据集进行对比,其中,对目标历史数据集的获取是根据目标数据类型标识来在历史数据集中进行查找并获取的。举例来说,比如要获取属性数据集对应的历史属性数据集,则根据属性数据集中数据上的属性标识来查找并获取对应的历史属性数据集;要获取关系数据集对应的历史关系数据集,则根据关系数据集中数据上的关系标识来查找并获取对应的历史关系数据集。

在一个实施例中,将全量数据划分为多个具有不同数据类型的目标数据集之后,还包括:将各目标数据集对应存储至分布式文件系统中的相应目录下。

可选的,分布式文件系统可以为:HDSF文件系统或者Kafka文件系统。

在实际应用中,数据库中的数据量较大,将数据库中的全量数据划分为多个具有不同数据类型的目标数据集之后,将各目标数据集对应存储至分布式文件系统中的相应目录下。由于分布式文件系统是可拓展的系统结构,在存储的数据量较大时可以利用多台存储服务器分担存储负荷,可以提高数据存储的可靠性和数据存取效率。

进一步的,通过将各目标数据集对应存储至分布式文件系统中的相应目录下,使得后续对数据的处理过程并不需要在原数据库中进行,因此,不会影响原数据库的数据处理。

如图4所示,从目标数据库中获取全量数据之前,本申请实施例还提供了另一种数据同步方法,具体包括一下步骤:

步骤401、若检测到同步触发事件,则检测同步触发事件是否为预设时间段内的首个同步触发事件。

步骤402、若同步触发事件是预设时间段内的首个同步触发事件,则将全量数据发送至同步服务器。

步骤403、若同步触发事件不是预设时间段内的首个同步触发事件,则执行从目标数据库中获取全量数据的步骤。

其中,同步触发事件可以为接收到同步服务器发送的同步指令,或者预设的时间和/或周期。

在从目标数据库中获取全量数据之前,若检测到同步触发事件,则检测该同步触发事件是否为预设时间内的首个同步触发事件,若该同步触发事件是预设时间段内的首个同步触发事件,则将全量数据打包发送给同步服务器,若同步触发时间不是预设时间段内的首个同步触发事件,则执行从目标数据库中获取全量数据,并将全量数据进行拆分的步骤。也就是说,如果是同步服务器是首次进行数据同步,则是将数据库中的数据打包发送给同步服务器,如果同步服务器不是首次进行数据同步,则检测数据库中的更新数据,将更新数据发送给同步服务器即可是实现数据库中的数据同步。

请参考图5,其示出了本申请实施例提供的一种数据同步方法的流程图,该数据同步方法可以应用于上文的同步服务器中。如图5所示,该数据同步方法可以包括以下步骤:

步骤501、接收源服务器发送的更新数据,更新数据包括数据位置信息和数据内容信息;

步骤502、根据数据位置信息指示的数据位置,利用数据内容信息对存储的历史数据进行数据同步。

其中,更新数据包括:新增数据和更改数据。

在一种实现方式中,根据数据位置信息指示的数据位置,利用数据内容信息对存储的历史数据进行数据同步,包括:根据数据位置信息指示的数据位置,将数据内容信息添加至历史数据的相应位置中。

在另一种实现方式中,根据数据位置信息指示的数据位置,利用数据内容信息对存储的历史数据进行数据同步,包括:根据数据位置信息指示的数据位置,利用数据内容信息替换历史数据中相应位置上的历史数据内容信息。

同步服务器通过接收源服务器发送的更新数据,更新数据中包括数据位置信息和数据内容信息,并根据数据位置信息指示的数据位置,利用数据内容信息对存储的历史数据进行数据同步。

在实际实现过程中,若检测到该位置信息在存储的历史数据中存在,则说明该更新数据为更改数据,则利用数据内容信息替换历史数据中相应位置上的历史数据内容信息,以实现源服务器中的数据库数据到同步服务器的数据同步;若检测到该位置信息在存储的历史数据中不存在,则说明该更新数据为新增数据,则根据数据位置信息指示的数据位置,将数据内容信息添加至历史数据的相应位置中,以实现源服务器中的数据库数据到同步服务器的数据同步。

如图6所示,本申请实施例还提供了一种数据同步方法,该方法包括:

步骤601、若检测到同步触发事件,则检测同步触发事件是否为预设时间段内的首个同步触发事件。

步骤602、若同步触发事件是预设时间段内的首个同步触发事件,则将全量数据发送至同步服务器。

步骤603、若同步触发事件不是预设时间段内的首个同步触发事件,则执行从目标数据库中获取全量数据的步骤。

步骤604、从目标数据库中获取全量数据,并根据各待检测数据对应的数据类型标识,将全量数据划分为多个具有不同数据类型的目标数据集。

步骤605、将各目标数据集对应存储至分布式文件系统中的相应目录下。

步骤606、将目标数据集中的待检测数据以预设数据表的格式进行存储。

步骤607、对于每个目标数据集,根据目标数据类型标识,查找目标数据类型标识对应的历史数据集,得到目标历史数据集。

步骤608、对目标待检测数据进行哈希处理,得到目标待检测数据对应的目标哈希值。

步骤609、检测目标哈希值和历史哈希值是否相同,若目标哈希值和历史哈希值不同,则确定目标数据集中存在更新数据。

步骤610、若目标数据集中存在更新数据,则将更新数据发送至同步服务器。

步骤611、接收源服务器发送的更新数据。

步骤612、根据数据位置信息指示的数据位置,将数据内容信息添加至历史数据的相应位置中,和/或利用数据内容信息替换历史数据中相应位置上的历史数据内容信息。

如图7所示,本申请实施例还提供了一种数据同步方法,该方法包括以下步骤:

步骤701、建立非关系型数据库到分布式文件系统的数据映射。

分析非关系型数据模型,按照非关系型数据的建模定义的实体点与边关系进行逻辑拆分,将公网数据源中的全部数据通过导出命令单独导出所有的实体点与边关系,可以将当前非关系型数据库按模型拆分后导出到大数据集群集群分布式文件系统中。

其中,实体点导出为属性数据集,边关系导出为关系数据集。

步骤702、将导出的数据集都按照其逻辑定义分列存放的,并对这些文件使用HIVE工具建立外表。

通过对这些文件使用HIVE工具建立外表,然后就可以对其使用HQL语言进行数据加工处理。

步骤703、使用HQL语言调用MD5算法进行MD5字符串计算。

通过使用HQL结合MD5字符串计算,可将目标数据集中的每一个数据映射到单条MD5值,便于数据差异识别。

步骤704、将变化数据导入目标设备实现图数据库数据同步。

识别出的差异MD5值对应的目标数据,可以将目标数据到处,将目标数据作为变化数据通过传输给目标设备,实现数据同步。

本申请实施例提供的数据同步方法,通过从目标数据库中获取全量数据,并将获取的全量数据划分为多个具有不同数据类型的目标数据集,对于每个目标数据集,获取目标数据集对应的目标历史数据集,并根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据;若目标数据集中存在更新数据,则将更新数据发送至同步服务器,同步服务器根据接收到的更新数据对存储的历史数据进行数据同步。本申请实施例提供的数据同步方法,由于通过将对数据库中的数据按照数据类别进行划分,并针对每一类别的数据集与历史数据集进行对比来检测更新数据,并将更新数据发送给同步服务器进行数据同步,由于在数据同步过程中传输的是数据库中的更新数据,因此传输的数据量较小,传输时间较短,同时可以提高数据的同步效率。

请参考图8,其示出了本申请实施例提供的一种数据同步装置80的结构框图,该数据同步装置80可以配置于源服务器中。如图8所示,该数据同步装置80可以包括:第一获取模块81、第二获取模块82、第一检测模块83和发送模块84。

其中,第一获取模块81,用于从目标数据库中获取全量数据,并将全量数据划分为多个具有不同数据类型的目标数据集。

第二获取模块82,用于对于每个目标数据集,获取目标数据集对应的目标历史数据集。

第一检测模块83,用于根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据。

发送模块84,用于若目标数据集中存在更新数据,则将更新数据发送至同步服务器,更新数据用于同步服务器对存储的历史数据进行数据同步。

在一个实施例中,第一检测模块83具体用于:对目标待检测数据进行哈希处理,得到目标待检测数据对应的目标哈希值;根据目标哈希值和目标历史数据集,检测目标数据集中是否存在更新数据。

在一个实施例中,第一检测模块83还用于:检测目标哈希值和历史哈希值是否相同;若目标哈希值和历史哈希值不同,则确定目标数据集中存在更新数据。

在一个实施例中,第一获取模块81还用于:根据各待检测数据对应的数据类型标识,将全量数据划分为多个具有不同数据类型的目标数据集。

在一个实施例中,如图8所示,该装置还包括处理模块85,用于将目标数据集中的待检测数据以预设数据表的格式进行存储。

在一个实施例中,第二获取模块82具体用于,根据目标数据类型标识,查找目标数据类型标识对应的历史数据集,得到目标历史数据集,目标历史数据集为在历史时刻下,对目标数据库中的全量数据按照数据类型划分得到的,目标数据集和目标历史数据集的数据类型相同。

在一个实施例中,如图8所示,该装置还包括存储模块86,用于将全量数据划分为多个具有不同数据类型的目标数据集之后,还包括:将各目标数据集对应存储至分布式文件系统中的相应目录下。

在一个实施例中,如图8所示,该装置还包括第二检测模块87,用于若检测到同步触发事件,则检测同步触发事件是否为预设时间段内的首个同步触发事件。

发送模块84,还用于若同步触发事件是预设时间段内的首个同步触发事件,则将全量数据发送至同步服务器。

执行模块88,用于若同步触发事件不是预设时间段内的首个同步触发事件,则执行从目标数据库中获取全量数据的步骤。

本申请实施例提供的数据同步装置,可以实现上述执行主体为源服务器的方法实施例,其实现原理和技术效果类似,在此不再赘述。

关于数据装置的具体限定可以参见上文中对于数据同步方法的限定,在此不再赘述。上述数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于源服务器中的处理器中,也可以以软件形式存储于源服务器中的存储器中,以便于源服务器调用执行以上各个模块对应的操作。

请参考图9,其示出了本申请实施例提供的一种数据同步装置90的结构框图,该数据同步装置90可以配置于同步服务器中。如图9所示,该数据同步装置90可以包括:接收模块91和同步模块92。

其中,接收模块91,用于接收源服务器发送的更新数据,更新数据包括数据位置信息和数据内容信息;

同步模块92,用于根据数据位置信息指示的数据位置,利用数据内容信息对存储的历史数据进行数据同步。

在一个实施例中,同步模块92具体用于,根据数据位置信息指示的数据位置,将数据内容信息添加至历史数据的相应位置中。

在一个实施例中,同步模块92具体用于,根据数据位置信息指示的数据位置,利用数据内容信息替换历史数据中相应位置上的历史数据内容信息。

本申请实施例提供的数据同步装置,可以实现上述执行主体为同步服务器的方法实施例,其实现原理和技术效果类似,在此不再赘述。

关于数据装置的具体限定可以参见上文中对于数据同步方法的限定,在此不再赘述。上述数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于同步服务器中的处理器中,也可以以软件形式存储于同步服务器中的存储器中,以便于同步服务器调用执行以上各个模块对应的操作。

图10为本申请实施例提供的一种服务器的内部结构示意图。如图10所示,该服务器包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个服务器的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以上各个实施例所提供的一种数据同步方法。内存储器为非易失性存储介质中的操作系统和计算机程序提供高速缓存的运行环境。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在本申请的一个实施例中,提供了一种服务器,该服务器包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

从目标数据库中获取全量数据,并将全量数据划分为多个具有不同数据类型的目标数据集;对于每个目标数据集,获取目标数据集对应的目标历史数据集,并根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据;若目标数据集中存在更新数据,则将更新数据发送至同步服务器,更新数据用于同步服务器对存储的历史数据进行数据同步。

在本申请的一个实施例中,目标数据集中包括至少一个目标待检测数据,处理器执行计算机程序时还实现以下步骤:对目标待检测数据进行哈希处理,得到目标待检测数据对应的目标哈希值;根据目标哈希值和目标历史数据集,检测目标数据集中是否存在更新数据。

在本申请的一个实施例中,目标历史数据集至少包括目标待检测数据对应的历史哈希值,处理器执行计算机程序时还实现以下步骤:检测目标哈希值和历史哈希值是否相同;若目标哈希值和历史哈希值不同,则确定目标数据集中存在更新数据。

在本申请的一个实施例中,全量数据包括多个待检测数据和各待检测数据对应的数据类型标识,处理器执行计算机程序时还实现以下步骤:根据各待检测数据对应的数据类型标识,将全量数据划分为多个具有不同数据类型的目标数据集。

在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:将目标数据集中的待检测数据以预设数据表的格式进行存储。

在本申请的一个实施例中,目标数据集中包括至少一个目标待检测数据和目标待检测数据对应的目标数据类型标识,处理器执行计算机程序时还实现以下步骤:根据目标数据类型标识,查找目标数据类型标识对应的历史数据集,得到目标历史数据集,目标历史数据集为在历史时刻下,对目标数据库中的全量数据按照数据类型划分得到的,目标数据集和目标历史数据集的数据类型相同。

在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:将各目标数据集对应存储至分布式文件系统中的相应目录下。

在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:从目标数据库中获取全量数据之前,方法还包括:若检测到同步触发事件,则检测同步触发事件是否为预设时间段内的首个同步触发事件;若同步触发事件是预设时间段内的首个同步触发事件,则将全量数据发送至同步服务器;若同步触发事件不是预设时间段内的首个同步触发事件,则执行从目标数据库中获取全量数据的步骤。

在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:接收源服务器发送的更新数据,更新数据包括数据位置信息和数据内容信息;

根据数据位置信息指示的数据位置,利用数据内容信息对存储的历史数据进行数据同步。

在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:根据数据位置信息指示的数据位置,将数据内容信息添加至历史数据的相应位置中。

在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:根据数据位置信息指示的数据位置,利用数据内容信息替换历史数据中相应位置上的历史数据内容信息。

在本申请的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

从目标数据库中获取全量数据,并将全量数据划分为多个具有不同数据类型的目标数据集;对于每个目标数据集,获取目标数据集对应的目标历史数据集,并根据目标数据集和目标历史数据集,检测目标数据集中是否存在更新数据;若目标数据集中存在更新数据,则将更新数据发送至同步服务器,更新数据用于同步服务器对存储的历史数据进行数据同步。

在本申请的一个实施例中,目标数据集中包括至少一个目标待检测数据,计算机程序被处理器执行时还实现以下步骤:对目标待检测数据进行哈希处理,得到目标待检测数据对应的目标哈希值;根据目标哈希值和目标历史数据集,检测目标数据集中是否存在更新数据。

在本申请的一个实施例中,目标历史数据集至少包括目标待检测数据对应的历史哈希值,计算机程序被处理器执行时还实现以下步骤:检测目标哈希值和历史哈希值是否相同;若目标哈希值和历史哈希值不同,则确定目标数据集中存在更新数据。

在本申请的一个实施例中,全量数据包括多个待检测数据和各待检测数据对应的数据类型标识,计算机程序被处理器执行时还实现以下步骤:根据各待检测数据对应的数据类型标识,将全量数据划分为多个具有不同数据类型的目标数据集。

在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:将目标数据集中的待检测数据以预设数据表的格式进行存储。

在本申请的一个实施例中,目标数据集中包括至少一个目标待检测数据和目标待检测数据对应的目标数据类型标识,计算机程序被处理器执行时还实现以下步骤:根据目标数据类型标识,查找目标数据类型标识对应的历史数据集,得到目标历史数据集,目标历史数据集为在历史时刻下,对目标数据库中的全量数据按照数据类型划分得到的,目标数据集和目标历史数据集的数据类型相同。

在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:将各目标数据集对应存储至分布式文件系统中的相应目录下。

在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:从目标数据库中获取全量数据之前,方法还包括:若检测到同步触发事件,则检测同步触发事件是否为预设时间段内的首个同步触发事件;若同步触发事件是预设时间段内的首个同步触发事件,则将全量数据发送至同步服务器;若同步触发事件不是预设时间段内的首个同步触发事件,则执行从目标数据库中获取全量数据的步骤。

在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收源服务器发送的更新数据,更新数据包括数据位置信息和数据内容信息;根据数据位置信息指示的数据位置,利用数据内容信息对存储的历史数据进行数据同步。

在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据数据位置信息指示的数据位置,将数据内容信息添加至历史数据的相应位置中。

在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据数据位置信息指示的数据位置,利用数据内容信息替换历史数据中相应位置上的历史数据内容信息。

本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。

普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以M种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(SyMchliMk) DRAM(SLDRAM)、存储器总线(RaMbus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

相关技术
  • 数据同步方法、数据同步装置、数据同步设备及存储介质
  • 数据库数据同步方法、装置、设备及可读存储介质
技术分类

06120113807922