一种数据同步方法、装置及系统与流程

文档序号:11230608阅读:456来源:国知局
一种数据同步方法、装置及系统与流程

本发明涉及数据处理技术领域,特别是涉及一种数据同步方法、装置及系统。



背景技术:

现有技术中,一种常见的数据同步方法是数据仓库同步方法,即将目标数据仓库数据与源数据仓库数据进行同步,其中,源数据仓库中存储有最新数据。现有的数据仓库同步方法的过程为:目标数据仓库向源数据仓库发送数据同步请求,数据同步请求中携带有待同步的目标数据的目标标识;然后,源数据仓库根据该目标标识从源数据仓库中导出该目标数据到目标同步文件,并将该目标同步文件发送给目标数据仓库;进而,目标数据仓库接收该目标同步文件,并将该目标同步文件中数据存储到目标数据仓库中,然后删除该目标同步文件。

当目标数据仓库的数量为多个时,各个目标数据仓库之间的数据同步是相互独立的。如果各个目标数据仓库待更新的目标数据是一样的,则每个目标数据仓库都会向源数据仓库发送数据同步请求,源数据仓库需要每次都对数据同步请求进行响应,这样的话,就增加了源数据仓库的负担。并且,源数据仓库每接收到数据同步请求,都会执行从源数据仓库中导出目标数据到目标同步文件,之后再将目标同步文件发送给目标数据仓库的步骤。这样的话,就会增加目标数据仓库进行数据同步的时长,数据同步效率较低。



技术实现要素:

本发明实施例的目的在于提供一种数据同步方法、装置及系统,以减小源数据仓库负担,以及提高数据同步效率。具体技术方案如下:

第一方面,本发明实施例提供了一种数据同步方法,应用于数据同步系统中的目标数据仓库,所述数据同步系统包括源数据仓库、预设存储区域和所述目标数据仓库,其中,所述预设存储区域用于历史同步文件,所述历史同步文件携带有数据的标识,所述方法包括:

获取待同步的目标数据的目标标识;

检测预设存储区域中是否存储有所述目标标识所对应的目标同步文件;

当预设存储区域中存储有所述目标标识所对应的目标同步文件时,获取所述预设存储区域中的所述目标同步文件;

将所获取的所述目标同步文件中的目标数据更新到所述目标数据仓库。

可选地,所述方法还包括:

当预设存储区域中未存储有所述目标标识所对应的目标同步文件时,向源数据仓库发送携带有所述目标标识的数据同步请求,以使得所述源数据仓库在接收到所述数据同步请求后,基于具有所述目标标识的所述目标数据生成所述目标同步文件,并发送给所述目标数据仓库;

接收所述源数据仓库发送的所述目标同步文件,并将所接收到的目标同步文件中的目标数据更新到所述目标数据仓库。

可选地,所述方法还包括:

校验存储到目标数据仓库的目标数据与源数据仓库中的目标数据是否一致,如果不一致,返回向源数据仓库发送数据同步请求的步骤。

可选地,检测到预设存储区域中存储有所述目标标识所对应的目标同步文件的步骤之后,所述获取所述预设存储区域中的所述目标同步文件的步骤之前,所述方法还包括:对所述目标同步文件添加加锁标识;

所述获取所述预设存储区域中的所述目标同步文件的步骤之后,所述方法还包括:将所述同步文件的所述加锁标识去除。

为达到上述目的,第二方面,本发明实施例还提供了一种数据同步装置,应用于数据同步系统中的目标数据仓库,所述数据同步系统包括源数据仓库、预设存储区域和所述目标数据仓库,其中,所述预设存储区域用于历史同步文件,所述历史同步文件携带有数据的标识,所述装置包括:

标识确定模块,用于确定待同步的目标数据的目标标识;

文件检测模块,用于检测预设存储区域中是否存储有所述目标标识所对应的目标同步文件,当检测结果为是时,触发文件获取模块;

所述文件获取模块,用于获取所述预设存储区域中的所述目标同步文件;

数据更新模块,用于将所获取的所述目标同步文件中的目标数据更新到所述目标数据仓库。

可选地,所述装置还包括:

请求发送模块,用于向源数据仓库发送携带有所述目标标识的数据同步请求,以使得所述源数据仓库在接收到所述数据同步请求后,基于具有所述目标标识的所述目标数据生成所述目标同步文件,并发送给所述目标数据仓库;

文件接收模块,用于接收所述源数据仓库发送的所述目标同步文件,并将所接收到的目标同步文件中的目标数据更新到所述目标数据仓库。

可选地,所述装置还包括:

数据校验模块,用于校验存储到目标数据仓库的目标数据与源数据仓库中的目标数据是否一致,如果不一致,触发所述请求发送模块。

可选地,检所述装置还包括:加锁模块,用于在所述文件检测模块检测到预设存储区域中存储有所述目标标识所对应的目标同步文件之后,在所述文件获取模块获取所述预设存储区域中的所述目标同步文件之前,对所述目标同步文件添加加锁标识;

解锁模块,用于在所述文件获取模块获取所述预设存储区域中的所述目标同步文件之后,将所述同步文件的所述加锁标识去除。

为达到上述目的,第三方面,本发明实施例还提供了一种数据同步系统,所述数据同步系统包括源数据仓库、预设存储区域和目标数据仓库,其中,所述预设存储区域用于历史同步文件,所述历史同步文件携带有数据的标识;

所述目标数据仓库,用于获取待同步的目标数据的目标标识;检测所述预设存储区域中是否存储有所述目标标识所对应的目标同步文件;当预设存储区域中存储有所述目标标识所对应的目标同步文件时,获取所述预设存储区域中的所述目标同步文件;将所获取的所述目标同步文件中的目标数据更新到所述目标数据仓库;当所述预设存储区域中未存储有所述目标标识所对应的目标同步文件时,向所述源数据仓库发送携带有所述目标标识的数据同步请求;

所述源数据仓库,用于在接收到所述数据同步请求后,基于具有所述目标标识的所述目标数据生成所述目标同步文件,并发送给所述目标数据仓库;

所述目标数据仓库,用于接收所述源数据仓库发送的所述目标同步文件,并将所接收到的目标同步文件中的目标数据更新到所述目标数据仓库。

可选地,所述源数据仓库基于具有所述目标标识的所述目标数据生成所述目标同步文件之后,所述源数据仓库将所述目标同步文件存储到所述预设存储区域中。

可选地,所述源数据仓库根据所述目标标识查找到所述目标数据之后,基于具有所述目标标识的所述目标数据生成所述目标同步文件之前,所述源数据仓库对所述目标数据添加加锁标识;

所述源数据仓库将所述目标同步文件存储到所述预设存储区域中之后,所述源数据仓库将所述目标数据的所述加锁标识去除。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的数据同步方法。

第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据同步方法。

应用本发明实施例,在预设存储区域中存储有目标数据仓库所请求的目标同步文件时,目标数据仓库可在预设存储区域中直接获取目标同步文件,无需进行源数据仓库导出目标数据到目标同步文件,之后再将目标同步文件发送给目标数据仓库的步骤,可以提高数据同步效率。当多个目标数据仓库需要同步同一目标数据时,每个目标数据仓库查看预设存储区域是否存储有目标同步文件,如果有则直接在预设存储区域中获取目标同步文件,不需要都向源数据仓库发送数据同步请求,进而源数据仓库无需对每个目标数据仓库发送的数据同步请求进行响应,可以减小源数据仓库负担。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例所提供的一种数据同步方法的第一种流程图;

图2为本发明实施例所提供的一种数据同步方法的第二种流程图;

图3为实施例二中的目标数据仓库获取目标同步文件的第一种方式示意图;

图4为实施例二中的目标数据仓库获取目标同步文件的第二种方式示意图;

图5为本发明实施例所提供的一种数据同步装置的第一种结构示意图;

图6为本发明实施例所提供的一种数据同步装置的第二种结构示意图;

图7为本发明实施例所提供的一种数据同步系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,为便于描述,本发明实施例中将目标数据仓库的当前待同步的数据命名为目标数据,相对应的,将当前待同步的数据对应的标识命名为目标标识,将当前待同步的数据对应的同步文件命名为目标同步文件。也就是说,本发明实施例所提及的目标标识中的“目标”仅仅用于从命名上与其他数据的标识区分,目标同步文件中的“目标”仅仅用于从命名上与其他同步文件区分,待同步的目标数据中的“目标”仅仅用于从命名上区分其他数据,并不具有任何限定意义。

为减小源数据仓库负担,以及提高数据同步效率,本发明实施例提供了一种数据同步系统,该系统包括:源数据仓库、预设存储区域和目标数据仓库。其中,预设存储区域中存储有历史同步文件,历史同步文件携带有数据的标识。

具体地,目标数据仓库获取待同步的目标数据的目标标识后,检测预设存储区域中是否存储有目标标识所对应的目标同步文件;当预设存储区域中存储有目标标识所对应的目标同步文件时,目标数据仓库获取预设存储区域中的目标同步文件,并将所获取的目标同步文件中的目标数据更新到目标数据仓库。即,检测预设存储区域中存储的历史同步文件中,是否有与目标标识相对应的历史同步文件,如果预设存储区域中存储有与目标标识相对应的历史同步文件,那么将该历史同步文件作为目标同步文件。

当预设存储区域中未存储有目标标识所对应的目标同步文件时,目标数据仓库向源数据仓库发送携带有目标标识的数据同步请求。源数据仓库在接收到数据同步请求后,基于具有目标标识的目标数据生成目标同步文件,并发送给目标数据仓库;之后,目标数据仓库接收源数据仓库发送的目标同步文件,并将所接收到的目标同步文件中的目标数据更新到目标数据仓库。

可以理解,预设存储区域可以为该系统中处于源数据仓库和目标数据仓库之间的独立存储区域,该预设存储区域可以具体为存储服务器。

下面对本发明实施例提供的数据同步方法、装置及系统进行详细说明。

实施例一

参见图1,为减小源数据仓库负担,以及提高数据同步效率,本实施例提供了一种数据同步方法。该方法可以应用于数据同步系统中的目标数据仓库,数据同步系统包括源数据仓库、预设存储区域和目标数据仓库,其中,预设存储区域用于历史同步文件,所述历史同步文件携带有数据的标识;如图1所示,该方法包括以下步骤:

s110,获取待同步的目标数据的目标标识。

具体地,为便于对目标数据进行同步,可以首先获取待同步的目标数据的目标标识,并利用该目标标识执行后续的处理流程。例如,假设待同步的目标数据为《琅琊榜》剧集,则可以获取待同步的《琅琊榜》剧集的目标标识,如:琅琊榜、或者胡歌琅琊榜等,并利用该《琅琊榜》剧集的目标标识执行后续的处理流程,从而实现对《琅琊榜》剧集的同步。其中,《琅琊榜》为一视频节目的剧名。

在一种实施方式中,目标数据仓库可以先确定待同步的目标数据,然后获取目标数据的目标标识。例如,当源数据仓库中的数据更新时,源数据仓库向目标数据仓库发送数据更新通知,数据更新通知中携带更新的数据的信息。目标数据接收到数据更新通知后,根据数据更新通知中携带的更新数据的信息,确定待同步的目标数据,然后获取目标数据的目标标识。例如,假设数据更新通知携带的更新数据的信息包括有琅琊榜剧集,则目标数据仓库根据该消息确定待同步的目标数据是《琅琊榜》剧集。然后获取《琅琊榜》剧集的目标标识,如:琅琊榜、或者胡歌琅琊榜等。并利用该《琅琊榜》剧集的目标标识执行后续的处理流程,从而实现对《琅琊榜》剧集的同步。其中,《琅琊榜》为一视频节目的剧名。

s120,检测预设存储区域中是否存储有所述目标标识所对应的目标同步文件,如果是,执行s130;

具体地,目标数据仓库确定出待同步的目标数据的目标标识后,将检测预设存储区域中是否存储有确定的目标标识所对应的目标同步文件,如果有,则执行s130,获取预设存储区域中的目标同步文件,并将所获取的目标同步文件中的目标数据更新到目标数据仓库。

需要说明的是,预设存储区域用于存储历史同步文件,历史同步文件携带有数据的标识。历史同步文件为源数据仓库存储到预设存储区域的同步文件。需要说明的是,预设存储区域中的同步文件中携带有数据标识。当目标数据仓库检测预设存储区域中是否存储有目标标识所对应的目标同步文件时,可以利用目标标识与预设存储区域中的同步文件进行匹配。当匹配成功时,判定预设存储中存储有目标同步文件,当匹配不成功时,判定预设存储区域中未存储有目标同步文件。其中,目标数据仓库利用目标标识与预设存储区域中的同步文件进行匹配的过程可以为:判断预设存储区域中的所有同步文件中是否存在与目标标识一样的标识。如果存在,判定匹配成功,如果不存在,判定匹配不成功。

可以理解的是,预设存储区域中的各个同步文件可以具有预定生命时长,而该源数据仓库可以删除达到所对应预定生命时长的同步文件,从而保证预设存储区域存储的同步文件的时效性。

s130,获取所述预设存储区域中的所述目标同步文件。

可以理解,当预设存储区域中存储有目标数据的目标标识所对应的目标同步文件时,目标数据仓库可直接获取预设存储区域中存储的目标同步文件,即将预设存储区域中的目标同步文件下载到该目标数据仓库的本地文件系统中。

具体地,在一种实施方式中,目标数据仓库在检测到预设存储区域中存储有目标同步文件后,并且在执行s130步骤之前,目标数据仓库还可以对目标同步文件添加加锁标识,在执行s130之后,将添加的目标同步文件的标识去除。通过对预设存储区域中的目标同步文件添加加锁标识,使得其他数据仓库如果也需要通过预设存储区域中的该目标同步文件进行数据同步,在检测到该目标同步文件携带有加锁标识时,会暂停对该目标文件的同步操作,可以避免多个数据仓库同时对目标同步文件执行下载操作,进而可以避免容易造成数据同步出错的问题。

例如,假设一目标数据仓库待同步的目标数据为《琅琊榜》剧集33-34集,该目标数据的目标标识为琅琊榜,当目标数据仓库检测到预设存储区域中存储有琅琊榜同步文件时,目标数据仓库会对琅琊榜同步文件添加加锁标识。当目标数据仓库在预设存储区域中获取琅琊榜同步文件后,目标数据仓库将琅琊榜同步文件的加锁标识去除。其中,《琅琊榜》为一视频节目的剧名。

s140,将所获取的所述目标同步文件中的目标数据更新到所述目标数据仓库。

具体地,目标数据仓库在获取预设存储区域中的目标同步文件后,会将获取的目标同步文件中的目标数据更新到目标数据仓库中,即将目标同步文件中的目标数据存储到目标数据仓库中。

可选地,目标数据仓库在将获取的目标同步文件中的目标数据更新到目标数据仓库后,可以将下载到本地文件系统中的目标同步文件删除。

应用本发明实施例,在预设存储区域中存储有目标数据仓库所请求的目标同步文件时,目标数据仓库可在预设存储区域中直接获取目标同步文件,无需从源数据仓库导出目标数据到目标同步文件,之后再将目标同步文件发送给目标数据仓库,可以提高数据同步效率。当多个目标数据仓库需要同步同一目标数据时,每个目标数据仓库查看预设存储区域是否存储有目标同步文件,如果有则直接在预设存储区域中获取目标同步文件,不需要都向源数据仓库发送数据同步请求,进而源数据仓库无需对每个目标数据仓库发送的数据同步请求进行响应,可以减小源数据仓库负担。

实施例二

参见图2,为减小源数据仓库负担,以及提高数据同步效率,本实施例提供了一种数据同步方法。该方法可以应用于数据同步系统中的目标数据仓库,数据同步系统包括源数据仓库和目标数据仓库;如图2所示,该方法包括以下步骤:

s210,确定待同步的目标数据的目标标识。

s220,检测预设存储区域中是否存储有所述目标标识所对应的目标同步文件,如果是,执行s230;否则,执行s250;

其中,所述预设存储区域用于对应存储待同步的数据的标识与同步文件,任一标识对应的同步文件为源数据仓库在接收到携带该标识的数据同步请求后存储到所述预设存储区域中的、且基于具有该标识的待同步数据所生成的文件。

具体地,确定出待同步的目标数据的目标标识后,检测预设存储区域中是否存储有目标标识所对应的目标同步文件,如果有,则执行s230,获取预设存储区域中的目标同步文件,并将所获取的所述目标同步文件中的数据更新到所述目标数据仓库。如果没有,则执行s250,向源数据仓库发送携带有所述目标标识的数据同步请求。

s230,获取所述预设存储区域中的所述目标同步文件。

s240,将所获取的所述目标同步文件中的数据更新到所述目标数据仓库。

需要说明的是,s210-s240可以和实施例一中的s110-s140所对应的步骤一样,这里不再赘述。

s250,向源数据仓库发送携带有所述目标标识的数据同步请求,以使得所述源数据仓库在接收到所述数据同步请求后,基于具有所述目标标识的所述目标数据生成所述目标同步文件,并发送给所述目标数据仓库。

当检测出预设存储区域中没有存储目标数据的目标标识对应的目标同步文件时,目标数据仓库向源数据仓库发送携带有目标标识的数据同步请求。源数据仓库在接收到数据同步请求后,基于具有该目标标识的目标数据生成目标同步文件,并发送给目标数据仓库。

具体地,源数据仓库基于具有标识的待同步的数据生成同步文件的过程可以有两种。

第一种:源数据仓库将具有标识的待同步的数据导出到对应的文件,生成初始文件,并将生成的初始文件作为同步文件。需要说明的是,源数据仓库生成的初始文件中可能携带有错误码等无用信息。因此,源数据库仓库将生成的初始文件作为同步文件并存储到预设存储区域后,当目标数据仓库检测到预设存储区域中存储有目标同步文件时,目标数据仓库还会对目标同步文件执行清洗操作,然后获取清洗后的目标同步文件。或者,目标数据仓库在预设存储区域获取目标同步文件后,对目标同步文件执行清洗操作。

第二种:源数据仓库将目标数据导出到初始文件,然后对初始文件进行清洗,生成清洗文件,并将生成的清洗文件作为同步文件。可以理解的是,通过对生成的初始文件进行清洗,可以去除同步文件中的无用信息,提高同步文件的准确度。并且,将清洗后的文件存储到预设存储区域中,当有目标数据仓库需要同步同一目标数据时,可直接在预设存储区域中获取清洗后的文件,无需再次对目标同步文件进行清洗,可以进一步提高同步效率。

具体地,在s250步骤中,源数据仓库基于具有目标标识的目标数据生成目标同步文件之后,源数据仓库还会将生成的目标同步文件存储到预设存储区域中,即s250可以为:向源数据仓库发送携带有所述目标标识的数据同步请求,以使得所述源数据仓库在接收到所述数据同步请求后,基于具有所述目标标识的所述目标数据生成所述目标同步文件,并发送给所述目标数据仓库,并将将生成的目标同步文件存储到预设存储区域中。或者,s250还可以为:向源数据仓库发送携带有所述目标标识的数据同步请求,以使得所述源数据仓库在接收到所述数据同步请求后,基于具有所述目标标识的所述目标数据生成所述目标同步文件,并将将生成的目标同步文件存储到预设存储区域中,并发送给所述目标数据仓库。

更为具体地,如图3所示,当目标数据仓库检测出预设存储区域中没有存储目标数据的目标标识对应的目标同步文件时,目标数据仓库向源数据仓库发送携带有目标标识的数据同步请求①。源数据仓库在基于具有目标标识的目标数据生成目标同步文件②后,源数据仓库将生成的目标同步文件②发送给目标数据仓库,并将目标同步文件②存储到预设存储区域中。以使目标数据仓库直接接受源数据仓库发送的目标同步文件②,并且当其他数据仓库在对目标数据更新时,可以直接在预设存储区域中检测到。

在另一种实施方式中,如图4所示,当目标数据仓库检测出预设存储区域中没有存储目标数据的目标标识对应的目标同步文件时,目标数据仓库向源数据仓库发送携带有目标标识的数据同步请求①。源数据仓库在基于具有目标标识的目标数据生成目标同步文件②后,源数据仓库还可以将生成目标同步文件②存储到预设存储区域,并向目标数据仓库发送已存储通知,目标数据仓库接到源数据仓库发送的已存储通知后,从预设存储区域中获取目标同步文件②。当其他数据仓库在对目标数据更新时,也可以直接在预设存储区域中检测到。

源数据仓库通过将生成的目标同步文件存储到预设存储区域中,可以便于其他目标数据仓库在有该目标数据需要同步时,直接在预设存储区域中根据待同步数据的目标标识查找目标同步文件,进而直接将查找到的目标同步文件下载到目标数据仓库,然后将目标同步文件中的目标数据存储到目标数据仓库。这样,可以提高数据同步效率,并且其他目标数据仓库避免了向源数据仓库发送数据同步请求进行数据同步,可以减小源数据仓库的负担。

s260,接收所述源数据仓库发送的所述目标同步文件,并将所接收到的目标同步文件中的目标数据更新到所述目标数据仓库。

具体地,目标数据仓库在接收到源数据仓库发送的目标同步文件后,会将接收的目标同步文件中的目标数据更新到目标数据仓库中,即将目标同步文件中的目标数据存储到目标数据仓库中。

可选地,目标数据仓库在将获取的目标同步文件中的目标数据更新到目标数据仓库后,可以将下载到本地文件系统中的目标同步文件删除。

应用本发明实施例,在预设存储区域中存储有目标数据仓库所请求的目标同步文件时,目标数据仓库可在预设存储区域中直接获取目标同步文件,无需进行源数据仓库导出目标数据到目标同步文件,之后再将目标同步文件发送给目标数据仓库的步骤,可以提高数据同步效率。当多个目标数据仓库需要同步同一目标数据时,每个目标数据仓库查看预设存储区域是否存储有目标同步文件,如果有则直接在预设存储区域中获取目标同步文件,不需要都向源数据仓库发送数据同步请求,进而源数据仓库无需对每个目标数据仓库发送的数据同步请求进行响应,可以减小源数据仓库负担。

进一步地,作为本实施例的一种实施方式,源数据仓库根据目标标识查找到目标数据之后,基于具有目标标识的目标数据生成目标同步文件之前,源数据仓库对目标数据添加加锁标识;

源数据仓库将目标同步文件存储到预设存储区域中之后,源数据仓库将目标数据的加锁标识去除。

通过对目标数据添加加锁标识,可以在其他目标数据仓库对同一目标数据进行同步时,避免源数据仓库对需要同步同一目标数据的所有目标数据仓库进行响应,可以防止目标数据仓库在进行下载目标同步文件的过程中,目标同步文件被修改。

例如,假设一目标数据仓库待同步的目标数据为《琅琊榜》剧集33-34集,该目标数据的目标标识为琅琊榜,当在预设存储区域中未存储有琅琊榜同步文件时,该目标数据仓库向源数据仓库发送数据同步请求,该数据同步请求中携带的目标标识为琅琊榜,那么,源数据仓库在接收到该数据同步请求后,可以根据琅琊榜查找到目标数据是《琅琊榜》剧集33-34集,源数据仓库会对《琅琊榜》剧集33-34集添加加锁标识,然后将《琅琊榜》剧集33-34集导出到琅琊榜同步文件,并将琅琊榜同步文件存储到预设存储区域中。之后,源数据仓库将《琅琊榜》剧集33-34集的加锁标识去除。其中,《琅琊榜》为一视频节目的剧名。

当有其他目标数据仓库也要同步《琅琊榜》剧集而检测到预设存储区域中未存储有琅琊榜同步文件时,通过对目标数据添加加锁标识,源数据仓库在接收到该其他目标数据仓库发送的数据同步请求后,可以向该其他目标数据仓库反馈目标数据具有加锁标识的信息,该其他目标数据仓库便可以确定此时有目标数据仓库正在同步《琅琊榜》剧集。那么,该其他目标数据仓库可以选择等待一段时间再通过本发明实施例所提供的s210-s250对《琅琊榜》聚集进行同步,或者同其他需要同步的目标数据。这样的话,可以进一步避免增加源数据仓库的负担,提高数据同步效率。其中,《琅琊榜》为一视频节目的剧名。

进一步地,作为本实施例的再一种实施方式,该方法还可以包括:

校验存储到目标数据仓库的目标数据与源数据仓库中的目标数据是否一致,如果不一致,返回向源数据仓库发送数据同步请求的步骤。

具体地,目标数据仓库将目标同步文件中的目标数据存储到目标数据仓库后,目标数据仓库还可以校验存储的目标数据与源数据仓库中的目标数据是否一致,如果不一致,则可能是预设存储区域中存储的目标同步文件出现了错误,也可能是目标同步文件在传输过程中出现了错误。此时,目标数据仓库将重新返回到向源数据仓库发送数据同步请求的步骤。

具体地,可以在源数据仓库中的目标数据中携带有数据校验标识,通过校验存储到目标数据仓库中的目标数据的数据校验标识与目标数据携带的数据校验标识是否一致,来校验存储到目标数据仓库的目标数据与源数据仓库中的目标数据是否一致。当然,也可以通过其他数据校验方法对存储到目标数据仓库的目标数据与源数据仓库中的目标数据进行校验,这里不一一赘述。

通过校验存储到目标数据仓库的目标数据与源数据仓库中的目标数据是否一致,可以保证数据同步的准确率。

实施例三

与实施例一所提供的一种数据同步方法相对应,本发明实施例还提供了一种数据同步装置,该装置可以应用于数据同步系统中的目标数据仓库,数据同步系统包括源数据仓库、预设存储区域和目标数据仓库,其中,预设存储区域用于存储历史同步文件,历史同步文件携带有数据的标识;如图5所示,该装置包括:

标识确定模块510,用于确定待同步的目标数据的目标标识。

文件检测模块520,用于检测预设存储区域中是否存储有所述目标标识所对应的目标同步文件,当检测结果为是时,触发文件获取模块530。

文件获取模块530,用于获取所述预设存储区域中的目标同步文件。

数据更新模块540,用于将所获取的所述目标同步文件中的目标数据更新到所述目标数据仓库。

应用本发明实施例,在预设存储区域中存储有目标数据仓库所请求的目标同步文件时,目标数据仓库可在预设存储区域中直接获取目标同步文件,无需进行源数据仓库导出目标数据到目标同步文件,之后再将目标同步文件发送给目标数据仓库的步骤,可以提高数据同步效率。当多个目标数据仓库需要同步同一目标数据时,每个目标数据仓库查看预设存储区域是否存储有目标同步文件,如果有则直接在预设存储区域中获取目标同步文件,不需要都向源数据仓库发送数据同步请求,进而源数据仓库无需对每个目标数据仓库发送的数据同步请求进行响应,可以减小源数据仓库负担。

实施例四

与实施例二所提供的一种数据同步方法相对应,本发明实施例还提供了一种数据同步装置,该装置可以应用于数据同步系统中的目标数据仓库,数据同步系统包括源数据仓库、预设存储区域和目标数据仓库,其中,预设存储区域用于存储历史同步文件,历史同步文件携带有数据的标识;如图6所示,该装置包括:

标识确定模块610,用于获取待同步的目标数据的目标标识.

文件检测模块620,用于检测预设存储区域中是否存储有所述目标标识所对应的目标同步文件,当检测结果为是时,触发文件获取模块630,当检测结果为否时,触发请求发送模块650。

文件获取模块630,用于获取所述预设存储区域中的所述目标同步文件。

数据更新模块640,用于将所获取的所述目标同步文件中的目标数据更新到所述目标数据仓库。

请求发送模块650,用于向源数据仓库发送携带有所述目标标识的数据同步请求,以使得所述源数据仓库在接收到所述数据同步请求后,基于具有所述目标标识的所述目标数据生成所述目标同步文件,并发送给所述目标数据仓库。

文件接收模块660,用于接收所述源数据仓库发送的所述目标同步文件,并将所接收到的目标同步文件中的目标数据更新到所述目标数据仓库。

应用本发明实施例,在预设存储区域中存储有目标数据仓库所请求的目标同步文件时,目标数据仓库可在预设存储区域中直接获取目标同步文件,无需进行源数据仓库导出目标数据到目标同步文件,之后再将目标同步文件发送给目标数据仓库的步骤,可以提高数据同步效率。当多个目标数据仓库需要同步同一目标数据时,每个目标数据仓库查看预设存储区域是否存储有目标同步文件,如果有则直接在预设存储区域中获取目标同步文件,不需要都向源数据仓库发送数据同步请求,进而源数据仓库无需对每个目标数据仓库发送的数据同步请求进行响应,可以减小源数据仓库负担。

具体地,该装置还可以包括:

数据校验模块(图6中未示出),用于校验存储到目标数据仓库的目标数据与源数据仓库中的目标数据是否一致,如果不一致,返回向源数据仓库发送数据同步请求的步骤。

具体地,该装置还可以包括:

加锁模块(图6中未示出),用于在文件检测模块620检测到预设存储区域中存储有目标标识所对应的目标同步文件之后,在文件获取模块630获取预设存储区域中的目标同步文件之前,对目标同步文件添加加锁标识。

解锁模块(图6中未示出),用于在文件获取模块630获取预设存储区域中的目标同步文件之后,将同步文件的所述加锁标识去除。

实施例五

参见图7,图7为本发明实施例所提供的一种数据同步系统的结构示意图,如图7所示,该数据同步系统包括源数据仓库710、预设存储区域720和目标数据仓库730。

其中,预设存储区域720用于存储待同步的数据的同步文件,同步文件携带有待同步的数据的标识。

目标数据仓库730,用于获取待同步的目标数据的目标标识;检测预设存储区域720中是否存储有目标标识所对应的目标同步文件;当预设存储区域720中存储有目标标识所对应的目标同步文件时,获取预设存储区域720中的目标同步文件;将所获取的目标同步文件中的目标数据更新到目标数据仓库730;当预设存储区域720中未存储有目标标识所对应的目标同步文件时,向源数据仓库710发送携带有目标标识的数据同步请求。

源数据仓库710,用于在接收到数据同步请求后,基于具有目标标识的目标数据生成目标同步文件,并发送给目标数据仓库730。

目标数据仓库730,用于接收源数据仓库710发送的目标同步文件,并将所接收到的目标同步文件中的目标数据更新到目标数据仓库730。

具体地,源数据仓库710基于具有目标标识的目标数据生成目标同步文件之后,源数据仓库710将目标同步文件存储到预设存储区域720中。

具体地,源数据仓库710根据目标标识查找到所述目标数据之后,基于具有目标标识的目标数据生成所述目标同步文件之前,源数据仓库710对目标数据添加加锁标识;

源数据仓库710将目标同步文件存储到预设存储区域720中之后,源数据仓库710将目标数据的加锁标识去除。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据同步方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据同步方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1