CN110737719B - 数据同步方法、装置、设备及计算机可读存储介质 - Google Patents
数据同步方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110737719B CN110737719B CN201910842695.0A CN201910842695A CN110737719B CN 110737719 B CN110737719 B CN 110737719B CN 201910842695 A CN201910842695 A CN 201910842695A CN 110737719 B CN110737719 B CN 110737719B
- Authority
- CN
- China
- Prior art keywords
- block
- data
- snapshot
- attribute information
- slave node
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000001360 synchronised effect Effects 0.000 claims abstract description 77
- 238000012795 verification Methods 0.000 claims description 69
- 230000011218 segmentation Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 19
- 230000001960 triggered effect Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 239000000284 extract Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据同步,提供一种数据同步方法、装置、设备及计算机可读存储介质,该方法包括:通过对比接收到的目标从节点上每个第一数据块各自对应的当前快照块的第一属性信息与获取到的本地的每个第二数据块各自对应的当前快照块的第二属性信息,确定出需要同步的快照块集,同时将需要同步的快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块从而可以根据实际情况灵活地控制需要传输及更新的快照,也即,需要同步的快照才传输及更新,而不需要同步的快照不传输及更新,所以减少了同步时间,因此提高了数据同步的效率。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种数据同步方法、装置、设备及计算机可读存储介质。
背景技术
在大数据时代下,随着数据规模和复杂度的不断增加,对分布式存储***的性能要求越来越高。
所谓分布式存储***,是指将数据分散存储在多***立的设备上,一***立的设备称为一个节点。通常情况下,当分布式存储***发生故障时,导致某一个或某几个节点处于脱机状态,在故障消失之后,当该节点或这些节点再次处于联机状态时,通常需要对该节点或这些节点中的数据进行同步,以保证所有节点之间的数据一致性。
在传统方法中,通常采用全量复制方式,将主节点上的数据同步至重新处于联机状态的从节点,在上述情况下,因为需要同步的数据的数据量庞大,所以需要花费长时间才能完成数据的同步过程,从而导致数据同步的效率低下,同时因为传输的数据的数据量大,所以增加了网络带宽的负担。
因此,如何提高数据同步的效率及降低网络带宽的负担是目前亟待解决的问题。
发明内容
本申请的主要目的在于提供一种数据同步方法、装置、设备及计算机可读存储介质,旨在提高数据同步的效率及降低网络带宽的负担。
第一方面,本申请提供一种数据同步方法,所述数据同步方法包括以下步骤:
接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息;
获取每个第二数据块各自对应的当前快照块的第二属性信息;
根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集;
将所述快照块集发送至所述目标从节点,以供所述目标从节点基于所述快照块集中的每个快照块更新对应的数据块。
第二方面,本申请还提供一种数据同步装置,所述数据同步装置包括:
接收模块,用于接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息;
获取模块,用于获取每个第二数据块各自对应的当前快照块的第二属性信息;
确定模块,用于根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集;
发送模块,用于将所述快照块集发送至所述目标从节点,以供所述目标从节点基于所述快照块集中的每个快照块更新对应的数据块。
第三方面,本申请还提供一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上述的数据同步方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的数据同步方法的步骤。
本申请提供一种数据同步方法、装置、设备及计算机可读存储介质,通过对比接收到的目标从节点上每个第一数据块各自对应的当前快照块的第一属性信息与获取到的本地的每个第二数据块各自对应的当前快照块的第二属性信息,确定出需要同步的快照块集,同时将需要同步的快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块从而可以根据实际情况灵活地控制需要传输及更新的快照,也即,需要同步的快照才传输及更新,而不需要同步的快照不传输及更新,所以减少了同步时间,因此提高了数据同步的效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据同步方法的流程示意图;
图2为本申请实施例提供的另一种数据同步方法的流程示意图;
图3为本申请实施例提供的另一种数据同步方法的流程示意图;
图4为本申请实施例提供的另一种数据同步方法的流程示意图;
图5为本申请实施例提供的另一种数据同步方法的流程示意图;
图6为本申请实施例提供的一种数据同步装置的示意性框图;
图7为本申请实施例提供的另一种数据同步装置的示意性框图;
图8为本申请实施例提供的另一种数据同步装置的示意性框图;
图9为本申请实施例提供的另一种数据同步装置的示意性框图;
图10为本申请实施例提供的另一种数据同步装置的示意性框图;
图11为本申请一实施例涉及的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供一种数据同步方法、装置、计算机设备及计算机可读存储介质。其中,该数据同步方法可应用于终端设备或服务器中,该终端设备可以手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备,该服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1为本申请的实施例提供的一种数据同步方法的流程示意图。
如图1所示,该数据同步方法包括步骤S101至步骤S104。
步骤S101、接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息。
具体地,分布式存储***中的目标从节点处于脱机状态一段时间后,当重新处于联机状态时,为了保证自身上的数据是最新的,也即,为了保证主从节点的数据的一致性,需要将存储在自身上的每个第一数据块各自对应的当前快照块的第一属性信息发送至服务器,也即需要将存储在自身上的预先切分好的每个第一数据块各自对应的当前快照块的第一属性信息发送至主节点,从而为后续快速地确定出所需要同步的快照做好准备,其中,目标从节点为在分布式存储***中,除主节点之外的任意一个节点。
其中,所谓分布式存储***是指将数据分散存储在多***立的设备上,一***立的设备称为一个节点,通常,有一个主节点和多个从节点。分布式存储***可以为HDFS,HDFS为大数据分布式文件***。当前快照块为每个第一数据块各自对应的当前的快照块,第一数据块为预先切分好的目标从节点上的数据块,第一属性信息为当前快照块的属性信息。
需要说明的是,当前快照块代表每个第一数据块前一个时刻的状态记录,也即所有的当前快照块都代表每个第一数据块的历史状态记录,第一属性信息包括第一版本号和第一标识,还可以包括其他信息,第一版本号为第一数据块的当前快照块的版本号,比如第一版本号可以为“V3”,第一标识为第一数据块的当前快照块的标识,第一标识用于唯一标识第一数据块的当前快照块,比如第一标识可以为“Block 1”。
可以理解的是,第一版本号和第一标识可以为纯字母、纯数字或者字母和/或数字组合等,分布式存储***、第一版本号和第一标识的具体内容,可以根据实际应用进行设定,此处不做限制。
步骤S102、获取每个第二数据块各自对应的当前快照块的第二属性信息。
具体地,为了分析出目标从节点与主节点上的快照块的是否一致,服务器需要从属性数据库中,获取本地的每个第二数据块各自对应的当前快照块的第二属性信息的每个存储路径,然后根据第二属性信息的每个存储路径提取第二属性信息,其中,第二数据块为主节点上预先切分好的数据块,第二属性信息为每个第二数据块各自对应的当前快照块的属性信息,第二属性信息包括第二版本号和第二标识,还可以包括其他信息,第二版本号为第二数据块的当前快照块的版本号,第二标识为第二数据块的当前快照块的标识,第二标识用于唯一标识第二数据块的当前快照块。从而后续可以根据第一属性信息和第二属性信息确定目标从节点与主节点上的快照块的是否一致。
需要说明的是,属性数据库可以为SQL数据库或oracle数据库等,属性数据库、第二版本号和第二标识的具体内容,可以根据实际应用进行设定,此处不做限制。
步骤S103、根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集。
具体地,为了将需要同步的快照块同步到目标节点中,需要根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集,具体包括:根据每个第一标识和每个第二标识,汇集第二标识与第一标识相同的第二数据块对应的当前快照块,以形成候选快照块集,根据候选快照块集中的每个快照块的第二版本号和每个第一数据块各自对应的当前快照块的第一版本号,确定待同步的第一快照集,将本地中除候选快照块集内的第二数据块对应的当前快照块之外的快照块作为待同步的第二快照集,将第一快照集和第二快照集的并集作为待同步的快照集。
其中,先将标识相同的作为候选快照块集,然后将候选快照块集中版本号不同的快照块作为待同步的第一快照集,接下来将除去候选快照块集之外的快照块作为待同步的第二快照集,最后将第一快照集和第二快照集作为待同步的总快照集,从而提高了确定作为待同步的快照集的效率。
比如,第一属性信息有“Block 1 V3”、“Block 2 V1”和“Block 4 V3”,第二属性信息有“Block 1 V3”、“Block 2 V3”、“Block 3 V3”和“Block 4 V3”,将第二标识与第一标识相同的“Block 1 V3”、“Block 2 V3”和“Block 4 V3”作为候选快照块集,将第一版本号与第二版本号不同的“Block 2 V3”确定为待同步的第一快照集,将“Block 3 V3”作为待同步的第二快照集,最后将“Block 2 V3”和“Block 3 V3”作为待同步的快照集。
步骤S104、将快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块。
具体地,为了保证主从节点之间的数据一致性,需要将步骤S102中确定出的快照块集发送至目标从节点,当目标从节点接收到快照块集时,目标从节点基于快照块集中的每个快照块更新对应的数据块,也即,目标从节点将接收到快照块集中的每个快照块覆盖原来的快照块,得到最新的快照块,然后将最新的快照块更新至对应的数据块,从而得到最新数据。
进一步地,将最新的快照块更新至对应的数据块,从而得到最新数据,具体包括:在将快照块集发送至目标从节点之后,服务器还将最新日志发送至目标从节点,然后根据最新日志中日志项时间先后顺序,将最新的快照块更新至对应的数据块,从而得到最新数据。
上述实施例提供的数据同步方法,通过对比接收到的目标从节点上每个第一数据块各自对应的当前快照块的第一属性信息与获取到的本地的每个第二数据块各自对应的当前快照块的第二属性信息,确定出需要同步的快照块集,同时将需要同步的快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块从而可以根据实际情况灵活地控制需要传输及更新的快照,也即,需要同步的快照才传输及更新,而不需要同步的快照不传输及更新,所以减少了同步时间,因此提高了数据同步的效率。
请参照图2,图2为本申请实施例提供的另一种数据同步方法的流程示意图。
如图2所示,该数据同步方法包括步骤S201至206。
步骤S201、接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息。
具体地,分布式存储***中的目标从节点处于脱机状态一段时间后,当重新处于联机状态时,为了保证自身上的数据是最新的,也即,为了保证主从节点的数据的一致性,需要将存储在自身上的每个第一数据块各自对应的当前快照块的第一属性信息发送至服务器,也即需要将存储在自身上的预先切分好的每个第一数据块各自对应的当前快照块的第一属性信息发送至主节点,从而为后续快速地确定出所需要同步的快照做好准备,其中,目标从节点为在分布式存储***中,除主节点之外的任意一个节点。
步骤S202、获取每个第二数据块各自对应的当前快照块的第二属性信息。
具体地,为了分析出目标从节点与主节点上的快照块的是否一致,服务器需要从属性数据库中,获取本地的每个第二数据块各自对应的当前快照块的第二属性信息的每个存储路径,然后根据每个存储路径提取第二属性信息,其中,第二数据块为主节点上预先切分好的数据块,第二属性信息为每个第二数据块各自对应的当前快照块的属性信息,第二属性信息包括第二版本号和第二标识,还可以包括其他信息,第二版本号为第二数据块的当前快照块的版本号,第二标识为第二数据块的当前快照块的标识,第二标识用于唯一标识第二数据块的当前快照块。从而后续可以根据第一属性信息和第二属性信息确定目标从节点与主节点上的快照块的是否一致。
步骤S203、根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定是否触发数据同步指令。
具体地,为了能够判断出是否决定需要同步快照块至目标从节点,需要根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定是否触发数据同步指令,具体包括:从每个第一数据块各自对应的当前快照块的第一属性信息中获取每个第一数据块各自对应的当前快照块的第一版本号和第一标识,从每个第二数据块各自对应的当前快照块的第二属性信息中获取每个第二数据块各自对应的当前快照块的第二版本号和第二标识,判断每个第一标识与每个第二标识是否相同,并判断每个第一版本号与每个第二版本号是否相同,若每个第一标识与每个第二标识相同,且每个第一版本号与每个第二版本号相同,则确定不触发数据同步指令,若存在至少一个第一标识与至少一个第二标识不同,和/或存在至少一个第一版本号与至少一个第二版本号不同,则确定触发数据同步指令。
步骤S204、若触发数据同步指令,则根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集。
具体地,为了将需要同步的快照块同步到目标节点中,需要根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集,具体包括:根据每个第一标识和每个第二标识,汇集第二标识与第一标识相同的第二数据块对应的当前快照块,以形成候选快照块集,根据候选快照块集中的每个快照块的第二版本号和每个第一数据块各自对应的当前快照块的第一版本号,确定待同步的第一快照集,将本地中除候选快照块集内的第二数据块对应的当前快照块之外的快照块作为待同步的第二快照集,将第一快照集和第二快照集的并集作为待同步的快照集。
步骤S205、将快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块。
具体地,为了保证主从节点之间的数据一致性,需要将步骤S204中确定出的快照块集发送至目标从节点,当目标从节点接收到快照块集时,目标从节点基于快照块集中的每个快照块更新对应的数据块,也即,目标从节点将接收到快照块集中的每个快照块覆盖原来的快照块,得到最新的快照块,然后将最新的快照块更新至对应的数据块,从而得到最新数据。
步骤S206、若不触发数据同步指令,则向目标从节点发送对应的响应信息,以供目标从节点基于每个第一数据块各自对应的当前快照块,更新数据。
具体地,主节点实时保存日志,日志用于记录数据块更新的所有记录,因为目标节点从脱机状态转至联机状态,并没有保存最新日志,所以当不触发数据同步指令时,服务器需要向目标从节点发送对应的响应信息,也即,服务器需要向目标从节点发送对应的最新日志,当目标从节点接收到最新日志时,根据最新日志和每个第一数据块各自对应的当前快照块,更新每个第一数据块,得到最新数据。
上述实施例提供的数据同步方法,当需要同步快照块时,便触发同步指令,将快照块同步至目标从节点,当不需要同步快照块时,便不触发同步指令,将最新日志同步至目标从节点,使得目标从节点根据接收到的快照块和/或最新日志进行更新数据,从而根据实际情况,将需要同步的数据发送至目标从节点,而避免了传统方法中将全量的数据发送至目标从节点,提高了数据更新的效率。
请参照图3,图3为本申请实施例提供的另一种数据同步方法的流程示意图。
如图3所示,该数据同步方法包括步骤S301至307。
步骤S301、接收目标从节点发起的联机请求,其中,联机请求包括目标从节点对应的节点联机信息。
具体地,在分布式存储***中,由于故障等原因,目标从节点,也即从节点可能处于脱机状态或者联机状态,当目标从节点处于脱机状态后想要再次处于联机状态时,需要向服务器发起一个联机请求,服务器实时或预设时间段内接收该目标从节点发起的联机请求,其中,联机请求为目标从节点为了申请处于联机状态而向服务器发送的请求。
可以理解的是,联机请求包含了该目标从节点对应的节点联机信息,其中,节点联机信息可以为节点账号和密码,或者节点联机信息可以为节点标识和验证码。需要说明的是,节点账号可以为纯字母,或者字母和/或数字组合等,密码可以为纯数字或者字母和/或数字组合等,节点标识唯一标识该目标从节点,节点标识可以为纯数字或者字母和/或数字组合等,验证码可以为图形验证、数字验证或文字验证等。节点账号、密码、节点标识和验证码的具体内容可以根据实际情况进行设定,此处不做限制。
步骤S302、对节点联机信息进行校验处理,得到校验是否通过的校验结果。
其中,当服务器,也即主节点接收到该目标从节点发起的联机请求时,为了保证分布式存储***的安全性,需要对目标从节点的进行身份验证,也即服务器首先在预设的联机数据库中,获取目标联机信息,然后服务器判断获取到的目标联机信息与接收到的节点联机信息是否一致,若一致,则确定校验结果为校验通过,也即确定该目标从节点的身份验证通过;若不一致,则确定校验结果为校验未通过,也即确定该目标从节点的身份验证未通过,同时输出校验失败的提示信息,从而提高了分布式存储***的安全性。需要说明的是,该目标联机信息为该目标从节点在分布式存储***中进行联机注册时的联机信息。
步骤S303、当校验结果为校验通过时,向目标从节点发送第一属性信息的获取请求。
具体地,当校验结果为校验通过时,也即确定该目标从节点的身份验证通过时,服务器向目标从节点发送其上每个第一数据块各自对应的当前快照块的第一属性信息的获取请求,其中,本步骤S303中第一数据块、当前快照块和第一属性信息的内容与步骤S301中第一数据块、当前快照块和第一属性信息的内容一致,此处不做阐述。
步骤S304、接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息。
具体地,分布式存储***中的目标从节点处于脱机状态一段时间后,当重新处于联机状态时,为了保证自身上的数据是最新的,也即,为了保证主从节点的数据的一致性,需要将存储在自身上的每个第一数据块各自对应的当前快照块的第一属性信息发送至服务器,也即需要将存储在自身上的预先切分好的每个第一数据块各自对应的当前快照块的第一属性信息发送至主节点,从而为后续快速地确定出所需要同步的快照做好准备,其中,目标从节点为在分布式存储***中,除主节点之外的任意一个节点。
步骤S305、获取每个第二数据块各自对应的当前快照块的第二属性信息。
具体地,为了分析出目标从节点与主节点上的快照块的是否一致,服务器需要从属性数据库中,获取本地的每个第二数据块各自对应的当前快照块的第二属性信息的每个存储路径,然后根据每个存储路径提取第二属性信息,其中,第二数据块为主节点上预先切分好的数据块,第二属性信息为每个第二数据块各自对应的当前快照块的属性信息,第二属性信息包括第二版本号和第二标识,还可以包括其他信息,第二版本号为第二数据块的当前快照块的版本号,第二标识为第二数据块的当前快照块的标识,第二标识用于唯一标识第二数据块的当前快照块。从而后续可以根据第一属性信息和第二属性信息确定目标从节点与主节点上的快照块的是否一致。
步骤S306、根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集。
具体地,为了能够判断出是否决定需要同步快照块至目标从节点,需要根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定是否触发数据同步指令,具体包括:从每个第一数据块各自对应的当前快照块的第一属性信息中获取每个第一数据块各自对应的当前快照块的第一版本号和第一标识,从每个第二数据块各自对应的当前快照块的第二属性信息中获取每个第二数据块各自对应的当前快照块的第二版本号和第二标识,判断每个第一标识与每个第二标识是否相同,并判断每个第一版本号与每个第二版本号是否相同,若每个第一标识与每个第二标识相同,且每个第一版本号与每个第二版本号相同,则确定不触发数据同步指令,若存在至少一个第一标识与至少一个第二标识不同,和/或存在至少一个第一版本号与至少一个第二版本号不同,则确定触发数据同步指令。
步骤S307、将快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块。
具体地,为了保证主从节点之间的数据一致性,需要将步骤S204中确定出的快照块集发送至目标从节点,当目标从节点接收到快照块集时,目标从节点基于快照块集中的每个快照块更新对应的数据块,也即,目标从节点将接收到快照块集中的每个快照块覆盖原来的快照块,得到最新的快照块,然后将最新的快照块更新至对应的数据块,从而得到最新数据。
上述实施例提供的数据同步方法,通过对需要联机的目标从节点进行校验,校验通过后才接收第一属性信息,提高了获取第一属性信息的安全性,可以有效的提高数据同步的安全性。
请参照图4,图4为本申请实施例提供的另一种数据同步方法的流程示意图。
如图4所示,该数据同步方法包括步骤S401至408。
步骤S401、接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息。
具体地,在分布式存储***中,由于故障等原因,目标从节点,也即从节点可能处于脱机状态或者联机状态,当目标从节点处于脱机状态后想要再次处于联机状态时,需要向服务器发起一个联机请求,服务器实时或预设时间段内接收该目标从节点发起的联机请求,其中,联机请求为目标从节点为了申请处于联机状态而向服务器发送的请求。
可以理解的是,联机请求包含了该目标从节点对应的节点联机信息,其中,节点联机信息可以为节点账号和密码,或者节点联机信息可以为节点标识和验证码。需要说明的是,节点账号可以为纯字母,或者字母和/或数字组合等,密码可以为纯数字或者字母和/或数字组合等,节点标识唯一标识该目标从节点,节点标识可以为纯数字或者字母和/或数字组合等,验证码可以为图形验证、数字验证或文字验证等。节点账号、密码、节点标识和验证码的具体内容可以根据实际情况进行设定,此处不做限制。
步骤S402、获取每个第二数据块各自对应的当前快照块的第二属性信息。
其中,当服务器,也即主节点接收到该目标从节点发起的联机请求时,为了保证分布式存储***的安全性,需要对目标从节点的进行身份验证,也即服务器首先在预设的联机数据库中,获取目标联机信息,然后服务器判断获取到的目标联机信息与接收到的节点联机信息是否一致,若一致,则确定校验结果为校验通过,也即确定该目标从节点的身份验证通过;若不一致,则确定校验结果为校验未通过,也即确定该目标从节点的身份验证未通过,同时输出校验失败的提示信息,从而提高了分布式存储***的安全性。需要说明的是,该目标联机信息为该目标从节点在分布式存储***中进行联机注册时的联机信息。
步骤S403、根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集。
具体地,当校验结果为校验通过时,也即,当也即确定该目标从节点的身份验证通过时,服务器向目标从节点发送其上每个第一数据块各自对应的当前快照块的第一属性信息的获取请求,其中,本步骤S403中第一数据块、当前快照块和第一属性信息的内容与步骤S401中第一数据块、当前快照块和第一属性信息的内容一致,此处不做阐述。
步骤S404、将快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块。
具体地,分布式存储***中的目标从节点处于脱机状态一段时间后,当重新处于联机状态时,为了保证自身上的数据是最新的,也即,为了保证主从节点的数据的一致性,需要将存储在自身上的每个第一数据块各自对应的当前快照块的第一属性信息发送至服务器,也即需要将存储在自身上的预先切分好的每个第一数据块各自对应的当前快照块的第一属性信息发送至主节点,从而为后续快速地确定出所需要同步的快照做好准备,其中,目标从节点为在分布式存储***中,除主节点之外的任意一个节点。
步骤S405、获取当前***时间和结束时间,其中,结束时间为当结束记录每个第二数据块各自对应的当前快照块时的时间。
具体地,服务器会记录下每个执行动作的时间,用于分析数据,为了分析出最新日志,需要获取当前***时间和结束时间,从而方便后续分析,其中,当前***时间为***当前的时间,比如当前***时间可以为“2019年1月1日10点10分10秒”,结束时间为当结束记录每个第二数据块各自对应的当前快照块时的时间。
步骤S406、根据当前***时间和结束时间,确定日志记录时间范围。
具体地,在获取到当前***时间和结束时间之后,将当前***时间与结束时间之间的差值确定为日志记录时间范围,或者将当前***时间与结束时间之间的差值的绝对值确定为日志记录时间范围。比如,当前***时间为“2019年1月1日10点10分10秒”,结束时间为“2019年1月1日10点8分5秒”,则经过计算当前***时间与结束时间之间的差值为“2分钟”,则将“2分钟”确定为日志记录时间范围。
步骤S407、将记录时间位于日志记录时间范围内的日志确定为最新日志。
具体地,在确定出日志记录时间范围之后,从日志数据库中,获取记录时间位于步骤S406中确定出的日志记录时间范围内的目标日志,同时将该目标日志确定为最新日志。
步骤S408、将最新日志发送至目标从节点,以供目标从节点基于最新日志和快照块集同步数据块。
具体地,将最新日志发送至目标从节点,当目标从节点接收到最新日志时,根据最新日志中日志项时间先后顺序和快照块集,将最新的快照块更新至对应的数据块,从而得到最新数据。
上述实施例提供的数据同步方法,通过将最新日志和需要更新的快照块发送至目标从节点,当目标从节点接收到最新日志和需要更新的快照块时,进行更新数据,从而保证了主从节点之间的数据的一致性。
请参照图5,图5为本申请实施例提供的另一种数据同步方法的流程示意图。
如图5所示,该数据同步方法包括步骤S501至507。
步骤S501、获取目标数据,并计算目标数据的目标容量。
具体地,为了对目标数据进行切分处理,需要在数据引擎中,先获取目标数据,然后计算目标数据的目标容量,其中,数据引擎是指目标从节点为客户端提供处理事务,满足客户端的访问需求的引擎,目标容量为目标数据的容量。
步骤S502、根据目标容量和预设的切分数量,确定切分容量。
具体地,首先在切分数据库中,获取预设的切分数量,然后计算目标容量与切分数量之间的商和余数,若余数为数字零,则将该商作为切分容量,若余数不为数字零,则将该商与数字一之间的和作为切分容量。
步骤S503、按照切分容量,对目标数据进行切分处理,得到若干数据块。
具体地,按照步骤S502中确定出的切分容量,从目标数据的开始端或结束端对步骤S501中获取到的目标数据进行切分处理,得到若干数据块。
比如,先选定目标数据的开始端,然后从目标数据的开始端开始,从目标数据中提取切分容量的数据块,得到提取后的目标数据,接下来选定提取后的目标数据的开始端,然后从提取后的目标数据的开始端开始,从提取后的目标数据中提取切分容量的数据块,直到将目标数据切分为若干数据块。
步骤S504、接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息。
具体地,在分布式存储***中,由于故障等原因,目标从节点,也即从节点可能处于脱机状态或者联机状态,当目标从节点处于脱机状态后想要再次处于联机状态时,需要向服务器发起一个联机请求,服务器实时或预设时间段内接收该目标从节点发起的联机请求,其中,联机请求为目标从节点为了申请处于联机状态而向服务器发送的请求。
可以理解的是,联机请求包含了该目标从节点对应的节点联机信息,其中,节点联机信息可以为节点账号和密码,或者节点联机信息可以为节点标识和验证码。需要说明的是,节点账号可以为纯字母,或者字母和/或数字组合等,密码可以为纯数字或者字母和/或数字组合等,节点标识唯一标识该目标从节点,节点标识可以为纯数字或者字母和/或数字组合等,验证码可以为图形验证、数字验证或文字验证等。节点账号、密码、节点标识和验证码的具体内容可以根据实际情况进行设定,此处不做限制。
步骤S505、获取每个第二数据块各自对应的当前快照块的第二属性信息。
其中,当服务器,也即主节点接收到该目标从节点发起的联机请求时,为了保证分布式存储***的安全性,需要对目标从节点的进行身份验证,也即服务器首先在预设的联机数据库中,获取目标联机信息,然后服务器判断获取到的目标联机信息与接收到的节点联机信息是否一致,若一致,则确定校验结果为校验通过,也即确定该目标从节点的身份验证通过;若不一致,则确定校验结果为校验未通过,也即确定该目标从节点的身份验证未通过,同时输出校验失败的提示信息,从而提高了分布式存储***的安全性。需要说明的是,该目标联机信息为该目标从节点在分布式存储***中进行联机注册时的联机信息。
步骤S506、根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集。
具体地,当校验结果为校验通过时,也即,当也即确定该目标从节点的身份验证通过时,服务器向目标从节点发送其上每个第一数据块各自对应的当前快照块的第一属性信息的获取请求,其中,本步骤S506中第一数据块、当前快照块和第一属性信息的内容与步骤S504中第一数据块、当前快照块和第一属性信息的内容一致,此处不做阐述。
步骤S507、将快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块。
具体地,分布式存储***中的目标从节点处于脱机状态一段时间后,当重新处于联机状态时,为了保证自身上的数据是最新的,也即,为了保证主从节点的数据的一致性,需要将存储在自身上的每个第一数据块各自对应的当前快照块的第一属性信息发送至服务器,也即需要将存储在自身上的预先切分好的每个第一数据块各自对应的当前快照块的第一属性信息发送至主节点,从而为后续快速地确定出所需要同步的快照做好准备,其中,目标从节点为在分布式存储***中,除主节点之外的任意一个节点。
上述实施例提供的数据同步方法,通过将目标数据进行切分为若干数据块,针对每个数据块对应的属性信息确定出需要同步的快照块,从而可以根据实际情况将至多全部的快照块同步至目标从节点,提高了快照块的同步效率,进而提高了数据同步的效率,避免了传统方法中全量同步快照块的情况。
请参照图6,图6为本申请实施例提供的一种数据同步装置的示意性框图。
如图6所示,该数据同步装置600,包括:接收模块601、获取模块602、确定模块603和发送模块604。
接收模块601,用于接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息;
获取模块602,用于获取每个第二数据块各自对应的当前快照块的第二属性信息;
确定模块603,用于根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集;
发送模块604,用于将快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块。
在一实施例中,确定模块603,还用于根据每个第一标识和每个第二标识,汇集第二标识与第一标识相同的第二数据块对应的当前快照块,以形成候选快照块集;根据候选快照块集中的每个快照块的第二版本号和每个第一数据块各自对应的当前快照块的第一版本号,确定待同步的第一快照集;将本地中除候选快照块集内的第二数据块对应的当前快照块之外的快照块作为待同步的第二快照集;将第一快照集和第二快照集的并集作为待同步的快照集。
请参照图7,图7为本申请实施例提供的另一种数据同步装置的示意性框图。
如图7所示,该数据同步装置700,包括:接收模块701、获取模块702、第一确定模块703、触发模块704、第二确定模块705和发送模块706。
接收模块701,用于接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息;
获取模块702,用于获取每个第二数据块各自对应的当前快照块的第二属性信息;
第一确定模块703,用于根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定是否触发数据同步指令;
触发模块704,用于若触发数据同步指令,则触发第二确定模块705;
第二确定模块705,用于根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集;
发送模块706,用于将快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块;
发送模块706,还用于若不触发数据同步指令,则向目标从节点发送对应的响应信息,以供目标从节点基于每个第一数据块各自对应的当前快照块,更新数据。
在一实施例中,第一确定模块703,还用于从每个第一数据块各自对应的当前快照块的第一属性信息中获取每个第一数据块各自对应的当前快照块的第一版本号和第一标识;从每个第二数据块各自对应的当前快照块的第二属性信息中获取每个第二数据块各自对应的当前快照块的第二版本号和第二标识;判断每个第一标识与每个第二标识是否相同,并判断每个第一版本号与每个第二版本号是否相同;若每个第一标识与每个第二标识相同,且每个第一版本号与每个第二版本号相同,则确定不触发数据同步指令;若存在至少一个第一标识与至少一个第二标识不同,和/或存在至少一个第一版本号与至少一个第二版本号不同,则确定触发数据同步指令。
请参照图8,图8为本申请实施例提供的另一种数据同步装置的示意性框图。
如图8所示,该数据同步装置800,包括:接收模块801、校验模块802、发送模块803、获取模块804和确定模块805。
接收模块801,用于接收目标从节点发起的联机请求,其中,联机请求包括目标从节点对应的节点联机信息;
校验模块802,用于对节点联机信息进行校验处理,得到校验是否通过的校验结果;
发送模块803,用于当校验结果为校验通过时,向目标从节点发送第一属性信息的获取请求;
接收模块801,还用于接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息;
获取模块804,用于获取每个第二数据块各自对应的当前快照块的第二属性信息;
确定模块805,用于根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集;
发送模块803,还用于将快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块。
请参照图9,图9为本申请实施例提供的另一种数据同步装置的示意性框图。
如图9所示,该数据同步装置900,包括接收模块901、获取模块902、确定模块903和发送模块904。
接收模块901,用于接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息;
获取模块902,用于获取每个第二数据块各自对应的当前快照块的第二属性信息;
确定模块903,用于根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集;
发送模块904,用于将快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块;
获取模块902,还用于获取当前***时间和结束时间,其中,结束时间为当结束记录每个第二数据块各自对应的当前快照块时的时间;
确定模块903,还用于根据当前***时间和结束时间,确定日志记录时间范围;
确定模块903,还用于将记录时间位于日志记录时间范围内的日志确定为最新日志;
发送模块904,还用于将最新日志发送至目标从节点,以供目标从节点基于最新日志和快照块集同步数据块。
请参照图10,图10为本申请实施例提供的另一种数据同步装置的示意性框图。
如图10所示,该数据同步装置1000,包括:获取模块1001、确定模块1002、切分模块1003、接收模块1004和发送模块1005。
获取模块1001,用于获取目标数据,并计算目标数据的目标容量;
确定模块1002,用于根据目标容量和预设的切分数量,确定切分容量;
切分模块1003,用于按照切分容量,对目标数据进行切分处理,得到若干数据块;
接收模块1004,用于接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息;
获取模块1001,用于获取每个第二数据块各自对应的当前快照块的第二属性信息;
确定模块1002,用于根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集;
发送模块1005,用于将快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块及单元的具体工作过程,可以参考前述数据同步方法实施例中的对应过程,在此不再赘述。
上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。
请参阅图11,图11为本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为服务器或终端。
如图11所示,该计算机设备包括通过***总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作***和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种数据同步方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种数据同步方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息;
获取每个第二数据块各自对应的当前快照块的第二属性信息;
根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集;
将快照块集发送至目标从节点,以供目标从节点基于快照块集中的每个快照块更新对应的数据块。
在一个实施例中,所述处理器在实现根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集时,用于实现:
根据每个第一标识和每个第二标识,汇集第二标识与第一标识相同的第二数据块对应的当前快照块,以形成候选快照块集;
根据候选快照块集中的每个快照块的第二版本号和每个第一数据块各自对应的当前快照块的第一版本号,确定待同步的第一快照集;
将本地中除候选快照块集内的第二数据块对应的当前快照块之外的快照块作为待同步的第二快照集;
将第一快照集和第二快照集的并集作为待同步的快照集。
其中,在另一实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集之前,还用于实现以下步骤:
根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定是否触发数据同步指令;
若触发数据同步指令,则执行步骤:根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集;
若不触发数据同步指令,则向目标从节点发送对应的响应信息,以供目标从节点基于每个第一数据块各自对应的当前快照块,更新数据。
在一个实施例中,所述处理器在实现根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定是否触发数据同步指令时,用于实现:
从每个第一数据块各自对应的当前快照块的第一属性信息中获取每个第一数据块各自对应的当前快照块的第一版本号和第一标识;
从每个第二数据块各自对应的当前快照块的第二属性信息中获取每个第二数据块各自对应的当前快照块的第二版本号和第二标识;
判断每个第一标识与每个第二标识是否相同,并判断每个第一版本号与每个第二版本号是否相同;
若每个第一标识与每个第二标识相同,且每个第一版本号与每个第二版本号相同,则确定不触发数据同步指令;
若存在至少一个第一标识与至少一个第二标识不同,和/或存在至少一个第一版本号与至少一个第二版本号不同,则确定触发数据同步指令。
其中,在另一实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集之前,还用于实现以下步骤:
接收目标从节点发起的联机请求,其中,联机请求包括目标从节点对应的节点联机信息;
对节点联机信息进行校验处理,得到校验是否通过的校验结果;
当校验结果为校验通过时,向目标从节点发送第一属性信息的获取请求。
其中,在另一实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现快照块集发送至目标从节点之后,还用于实现如下步骤:
获取当前***时间和结束时间,其中,结束时间为当结束记录每个第二数据块各自对应的当前快照块时的时间;
根据当前***时间和结束时间,确定日志记录时间范围;
将记录时间位于日志记录时间范围内的日志确定为最新日志;
将最新日志发送至目标从节点,以供目标从节点基于最新日志和快照块集同步数据块。
其中,在另一实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息之前,还用于实现如下步骤:
获取目标数据,并计算目标数据的目标容量;
根据目标容量和预设的切分数量,确定切分容量;
按照切分容量,对目标数据进行切分处理,得到若干数据块。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本申请数据同步方法的各个实施例。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种数据同步方法,其特征在于,包括:
接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息;
获取每个第二数据块各自对应的当前快照块的第二属性信息;
根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集;
将所述快照块集发送至所述目标从节点,以供所述目标从节点基于所述快照块集中的每个快照块更新对应的数据块;
其中,第一数据块对应的当前快照块的第一属性信息包括第一数据块对应的当前快照块的第一版本号和第一标识,第二数据块对应的当前快照块的第二属性信息包括第二数据块对应的当前快照块的第二版本号和第二标识,根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集,包括:
根据每个所述第一标识和每个所述第二标识,汇集所述第二标识与所述第一标识相同的第二数据块对应的当前快照块,以形成候选快照块集;
根据所述候选快照块集中的每个快照块的第二版本号和每个第一数据块各自对应的当前快照块的第一版本号,确定待同步的第一快照集;
将本地中除所述候选快照块集内的第二数据块对应的当前快照块之外的快照块作为待同步的第二快照集;
将所述第一快照集和第二快照集的并集作为待同步的快照集。
2.如权利要求1所述的数据同步方法,其特征在于,所述根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集之前,还包括:
根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定是否触发数据同步指令;
若触发数据同步指令,则执行步骤:根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集;
若不触发数据同步指令,则向目标从节点发送对应的响应信息,以供所述目标从节点基于每个第一数据块各自对应的当前快照块,更新数据。
3.如权利要求2所述的数据同步方法,其特征在于,所述根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定是否触发数据同步指令,包括:
从每个第一数据块各自对应的当前快照块的第一属性信息中获取每个第一数据块各自对应的当前快照块的第一版本号和第一标识;
从每个第二数据块各自对应的当前快照块的第二属性信息中获取每个第二数据块各自对应的当前快照块的第二版本号和第二标识;
判断每个所述第一标识与每个所述第二标识是否相同,并判断每个所述第一版本号与每个所述第二版本号是否相同;
若每个所述第一标识与每个所述第二标识相同,且每个所述第一版本号与每个所述第二版本号相同,则确定不触发数据同步指令;
若存在至少一个所述第一标识与至少一个所述第二标识不同,和/或存在至少一个所述第一版本号与至少一个所述第二版本号不同,则确定触发数据同步指令。
4.如权利要求1所述的数据同步方法,其特征在于,所述接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息之前,还包括:
接收所述目标从节点发起的联机请求,其中,所述联机请求包括所述目标从节点对应的节点联机信息;
对所述节点联机信息进行校验处理,得到校验是否通过的校验结果;
当所述校验结果为校验通过时,向所述目标从节点发送所述第一属性信息的获取请求。
5.如权利要求1所述的数据同步方法,其特征在于,所述将所述快照块集发送至所述目标从节点之后,还包括:
获取当前***时间和结束时间,其中,所述结束时间为当结束记录每个第二数据块各自对应的当前快照块时的时间;
根据所述当前***时间和所述结束时间,确定日志记录时间范围;
将记录时间位于所述日志记录时间范围内的日志确定为最新日志;
将所述最新日志发送至所述目标从节点,以供所述目标从节点基于所述最新日志和所述快照块集同步数据块。
6.如权利要求1至5中任一项所述的数据同步方法,其特征在于,所述接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息之前,还包括:
获取目标数据,并计算所述目标数据的目标容量;
根据所述目标容量和预设的切分数量,确定切分容量;
按照所述切分容量,对所述目标数据进行切分处理,得到若干数据块。
7.一种数据同步装置,其特征在于,所述数据同步装置包括:
接收模块,用于接收目标从节点发送的每个第一数据块各自对应的当前快照块的第一属性信息;
获取模块,用于获取每个第二数据块各自对应的当前快照块的第二属性信息;
确定模块,用于根据每个第一数据块各自对应的当前快照块的第一属性信息和每个第二数据块各自对应的当前快照块的第二属性信息,确定待同步的快照块集;
发送模块,用于将所述快照块集发送至所述目标从节点,以供所述目标从节点基于所述快照块集中的每个快照块更新对应的数据块;
其中,第一数据块对应的当前快照块的第一属性信息包括第一数据块对应的当前快照块的第一版本号和第一标识,第二数据块对应的当前快照块的第二属性信息包括第二数据块对应的当前快照块的第二版本号和第二标识,所述确定模块,还用于根据每个所述第一标识和每个所述第二标识,汇集所述第二标识与所述第一标识相同的第二数据块对应的当前快照块,以形成候选快照块集;根据所述候选快照块集中的每个快照块的第二版本号和每个第一数据块各自对应的当前快照块的第一版本号,确定待同步的第一快照集;将本地中除所述候选快照块集内的第二数据块对应的当前快照块之外的快照块作为待同步的第二快照集;将所述第一快照集和第二快照集的并集作为待同步的快照集。
8.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至6中任一项所述的数据同步方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至6中任一项所述的数据同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910842695.0A CN110737719B (zh) | 2019-09-06 | 2019-09-06 | 数据同步方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910842695.0A CN110737719B (zh) | 2019-09-06 | 2019-09-06 | 数据同步方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110737719A CN110737719A (zh) | 2020-01-31 |
CN110737719B true CN110737719B (zh) | 2023-11-28 |
Family
ID=69267551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910842695.0A Active CN110737719B (zh) | 2019-09-06 | 2019-09-06 | 数据同步方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737719B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352994B (zh) * | 2020-02-04 | 2023-04-18 | 浙江大华技术股份有限公司 | 数据同步方法以及相关设备、装置 |
CN111569413B (zh) * | 2020-05-14 | 2023-06-13 | 北京代码乾坤科技有限公司 | 数据同步方法和装置 |
CN112416884A (zh) * | 2020-11-23 | 2021-02-26 | ***通信集团江苏有限公司 | 一种数据同步方法及*** |
CN117668097A (zh) * | 2022-08-22 | 2024-03-08 | 华为云计算技术有限公司 | 数据访问方法、分布式数据库***及计算设备集群 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107209704A (zh) * | 2014-12-19 | 2017-09-26 | 甲骨文国际公司 | 检测丢失的写入 |
WO2019120629A1 (en) * | 2017-12-21 | 2019-06-27 | Telefonaktiebolaget Lm Ericsson (Publ) | On-demand snapshots from distributed data storage systems |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015035020A (ja) * | 2013-08-07 | 2015-02-19 | 富士通株式会社 | ストレージシステム、ストレージ制御装置及び制御プログラム |
-
2019
- 2019-09-06 CN CN201910842695.0A patent/CN110737719B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107209704A (zh) * | 2014-12-19 | 2017-09-26 | 甲骨文国际公司 | 检测丢失的写入 |
WO2019120629A1 (en) * | 2017-12-21 | 2019-06-27 | Telefonaktiebolaget Lm Ericsson (Publ) | On-demand snapshots from distributed data storage systems |
Also Published As
Publication number | Publication date |
---|---|
CN110737719A (zh) | 2020-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737719B (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
CN110321387B (zh) | 数据同步方法、设备及终端设备 | |
CN107220142B (zh) | 执行数据恢复操作的方法及装置 | |
CN114385759B (zh) | 配置文件的同步方法、装置、计算机设备及存储介质 | |
US10114848B2 (en) | Ensuring the same completion status for transactions after recovery in a synchronous replication environment | |
US20140143625A1 (en) | Computer-readable recording medium, failure prediction device and applicability determination method | |
CN112434043B (zh) | 一种数据同步方法、装置、电子设备及介质 | |
CN110781028B (zh) | 数据备份方法、数据恢复方法、装置及计算设备 | |
CN111680104B (zh) | 数据同步方法、装置、计算机设备及可读存储介质 | |
CN110086836B (zh) | 获取元数据的方法和装置 | |
US10528546B1 (en) | File system consistency in a distributed system using version vectors | |
CN113722154A (zh) | 数据管理方法和***、监测服务器及存储介质 | |
CN116701053B (zh) | 生产环境数据库的数据备份恢复方法、装置、设备及介质 | |
CN111078418B (zh) | 操作同步方法、装置、电子设备及计算机可读存储介质 | |
CN116450176A (zh) | 版本更新方法、装置、电子设备及存储介质 | |
CN115104295A (zh) | 数据处理方法、装置、电子装置及存储介质 | |
CN115640280A (zh) | 数据迁移方法及装置 | |
CN111339170A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN116628042A (zh) | 数据处理方法、装置、设备及介质 | |
US20210149861A1 (en) | Data management system, data management apparatus, and non-transitory computer readable medium storing data management program | |
CN109325057B (zh) | 中间件管理方法、装置、计算机设备以及存储介质 | |
CN111124467B (zh) | 权限角色的展示方法、***、计算机设备及可读存储介质 | |
CN108551484B (zh) | 用户信息同步方法、装置、计算机装置及存储介质 | |
US10671505B2 (en) | System and method for monitoring service | |
CN115314382B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |