CN106302559B - 一种数据复制方法和设备 - Google Patents
一种数据复制方法和设备 Download PDFInfo
- Publication number
- CN106302559B CN106302559B CN201510236871.8A CN201510236871A CN106302559B CN 106302559 B CN106302559 B CN 106302559B CN 201510236871 A CN201510236871 A CN 201510236871A CN 106302559 B CN106302559 B CN 106302559B
- Authority
- CN
- China
- Prior art keywords
- data block
- data
- version
- information
- destination server
- 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 34
- 230000004044 response Effects 0.000 claims abstract description 51
- 230000010076 replication Effects 0.000 claims description 27
- 230000000977 initiatory effect Effects 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003786 synthesis 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种数据复制方法和设备,包括:目的端服务器获得数据块标识、版本信息和空洞信息;所述目的端服务器将所述数据块标识、版本信息和空洞信息发送给源端服务器,以使所述源端服务器根据所述数据块标识、版本信息和空洞信息查找到对应的数据;所述目的端服务器接收所述源端服务器发送的携带所述数据的响应消息,并根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞,从而实现了随机读写方式下只对空洞进行数据复制,不需要进行数据的全量复制从而减少了待复制的数据量及复制时间,提高了数据复制效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种应用于分布式存储系统的数据复制方法和设备。
背景技术
在分布式存储系统中,会将数据块存储多个副本,每次数据块的更新需要在多个副本之间达成一致,当副本数存在不足,或者副本缺少一些版本的更新数据时,则需要从其它副本进行数据复制。
目前,现有方案实现数据复制的前提是:源端服务器或者目的端服务器需要能够根据本地维护的待复制数据的版本和对端维护的待复制数据的版本计算出数据增量或差量,进而能够进行从对端获得待复制数据的数据增量或差量进行复制。
在支持随机读写的分布式存储系统中,现有技术中采用从源端服务器向目的端服务器推送数据的模式,源端服务器需要将已有的数据块全量数据推送给目的端服务器,增加了复制的数据量,特别是在数据更新速度大于数据复制速度时,还会导致在预设值的数据复制时间内,数据复制过程无法完成的情况。
申请人在实现本发明的过程中发现,在支持随机读写的分布式存储系统中,现有技术存在以下问题,无法直接根据版本号的差值计算出数据增量或差量,只能进行数据的全量复制,增加了待复制的数据量及复制时间。
发明内容
本申请提供了一种数据复制方法及设备,用以实现随机读写的分布式存储系统的数据复制的问题。
为达到上述目的,本发明提供了一种数据复制的方法,至少包括以下步骤:
目的端服务器获得数据块标识、版本信息和空洞信息;
所述目的端服务器将所述数据块标识、版本信息和空洞信息发送给源端服务器,以使所述源端服务器根据所述数据块标识、版本信息和空洞信息查找到对应的数据;
所述目的端服务器接收所述源端服务器发送的携带所述数据的响应消息,并根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞。
其中,所述目的端服务器获得数据块标识、版本信息和空洞信息,具体包括:
所述目的端服务器获得数据复制请求,所述数据复制请求中包括:数据块标识、版本信息和空洞信息。
其中,所述数据复制请求还包括:数据块复制起始版本号;
所述版本信息具体为:数据复制终止版本号;
所述目的端服务器获得数据块标识、版本信息和空洞信息之后还包括:
所述目的端服务器在判断所述数据块标识对应的数据块的数据复制终止版本号大于所述数据块标识对应的数据块的数据块复制起始版本号,且所述数据块标识对应的数据块的数据块复制起始版本号与目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号一致时,执行将所述数据块标识、版本信息和空洞信息发送给源端服务器的步骤。
其中,所述响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号;
所述目的端服务器在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。
其中,所述目的端服务器获得数据块标识、版本信息和空洞信息之后,所述方法还包括:
所述目的端服务器根据所述数据块标识、版本信息和空洞信息确定待复制数据的空洞,并在查询到与所述空洞有重合的数据复制请求后,将有重合的空洞整合成一个新的空洞。
其中,所述根据所述响应消息将所述数据复制到所述空洞信息对应的空洞之后,所述方法还包括:
所述目的端服务器将所述数据块标识、版本信息和空洞信息删除。
其中,所述空洞信息具体包括:数据偏移位置和数据偏移长度。
本申请实施例还提供了一种数据更新的方法,应用于包含有源端服务器和目的端服务器的随机读写的分布式存储系统中,包括:
源端服务器接收到目的端服务器发送的数据块标识、版本信息和空洞信息;
所述源端服务器在判断所述源端服务器的、所述数据块标识对应的数据块的当前版本号大于等于所述版本信息时,根据数据块标识、版本信息和空洞信息,获得所述数据块标识、版本信息和空洞信息对应的空洞所对应的数据;
所述源端服务器向所述目的端服务器发送携带所述数据的响应消息,以使所述目的端服务器根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞。
其中,所述响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号,用于使所述目的端服务器在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。
其中,所述空洞信息具体包括:数据偏移位置和数据偏移长度。
本申请实施例还提供了一种目的端服务器,应用于包含目的端服务器和源端服务器的随机读写的分布式存储系统中,所述目的端服务器包括:
获得模块,用于获得数据块标识、版本信息和空洞信息;
发送模块,用于将所述数据块标识、版本信息和空洞信息发送给源端服务器,以使所述源端服务器根据所述数据块标识、版本信息和空洞信息查找到对应的数据;
复制模块,用于接收所述源端服务器发送的携带所述数据的响应消息,并根据所述响应消息将所述数据复制到数据块标识对应的数据块。
其中,所述获得模块,具体用于获得数据复制请求,所述数据复制请求中包括:数据块标识、版本信息和空洞信息。
其中,所述数据复制请求还包括:数据块复制起始版本号;
所述版本信息具体为:数据复制终止版本号;
所述发送模块还用于:在判断所述数据块标识对应的数据块的数据复制终止版本号大于所述数据块标识对应的数据块的数据块复制起始版本号,且所述数据块标识对应的数据块的数据块复制起始版本号与目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号一致时,将所述数据块标识、版本信息和空洞信息发送给源端服务器。
其中,所述响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号;
所述复制模块还用于,在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。
其中,所述获得模块还用于:根据所述数据块标识、版本信息和空洞信息确定待复制数据的空洞,并在查询到与所述空洞有重合的数据复制请求后,将有重合的空洞整合成一个新的空洞。
其中,所述复制模块还用于,将所述数据块标识、版本信息和空洞信息删除。
其中,所述空洞信息具体包括:数据偏移位置和数据偏移长度。
本申请实施例还提供了一种源端服务器,应用于包含目的端服务器和源端服务器的随机读写的分布式存储系统中,包括:
接收模块,用于接收目的端服务器发送的数据块标识、版本信息和空洞信息;
获得模块,用于在判断所述源端服务器的、所述数据对应的数据块的当前版本号大于等于所述版本信息时,根据数据块标识、版本信息和空洞信息,获得所述数据块标识、版本信息和空洞信息对应空洞所对应的数据;
发送模块,用于向所述目的端服务器发送携带所述数据的响应消息,以使所述目的端服务器根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞。
其中,所述响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号,用于使所述目的端服务器在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。
其中,所述空洞信息具体包括:数据偏移位置和数据偏移长度。
与现有技术相比,本申请的上述实施例具有以下有益技术效果:
本申请实施例中,目的端服务器获得数据块标识、版本信息和空洞信息;所述目的端服务器将所述数据块标识、版本信息和空洞信息发送给源端服务器,以使所述源端服务器根据所述数据块标识、版本信息和空洞信息查找到对应的数据;所述目的端服务器接收所述源端服务器发送的携带所述数据的响应消息,并根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞,从而实现了随机读写方式下只对空洞进行数据复制,不需要进行数据的全量复制从而减少了待复制的数据量及复制时间,提高了数据复制效率。
附图说明
图1为本申请实施例提供一种数据复制的方法的流程示意图;
图2为本申请实施例提供的有重合空洞的整合示意图;
图3为本申请实施例提供的另一种数据复制的方法的流程示意图;
图4为本申请实施例提供的一种目的端服务器的结构示意图;
图5为本申请实施例提供的一种源端服务器的结构示意图。
具体实施方式
下面将结合本发明的实施例中的附图,对本发明的实施例中的技术方案进行清楚、完整的描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的实施例保护的范围。
如图1所示,为实施例一所提出的一种数据复制的方法的流程示意图,该方法应用于包含有源端服务器和目的端服务器的随机读写的分布式存储系统中,下面将在目的端服务器侧对该方法进行详细说明。
该方法,具体包括以下步骤:
步骤S101、目的端服务器获得数据块标识、版本信息和空洞信息。
在发起数据复制时,目的端服务器会获得数据复制发起端发送的数据复制请求,该数据复制请求中包含:数据块标识,版本信息,空洞信息以及数据块复制起始版本号,其中,版本信息具体为数据复制终止版本号。
所述目的端服务器获得数据块标识、版本信息和空洞信息之后,目的端服务器判断数据块标识对应的数据块的数据复制终止版本号是否大于所述数据块标识对应的数据块的数据块复制起始版本号,且所述数据块标识对应的数据块的数据块复制起始版本号与目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号是否一致。需要注意的是,如果目的端服务器不存在所述数据块标识对应的信息,则判断目的端服务器当前不存在该数据块标识对应的数据块,则需要对该数据块进行全量复制。
如果判断结果为是,则该数据块标识,版本信息,空洞信息为有效继续执行下面的步骤。
如果判断结果为否,则该数据块标识,版本信息,空洞信息为无效,不再对该数据块标识,版本信息,空洞信息进行处理,或者将其删除。
进一步的,空洞信息具体包括:数据偏移位置和数据偏移长度,所述目的端服务器根据所述数据块标识、版本信息和空洞信息确定待复制数据的空洞,并在查询到与所述空洞有重合的数据复制请求后,将有重合的空洞整合成一个新的空洞。
目的端服务器获得数据复制请求之后,所述目的端服务器根据所述数据复制请求中的数据块标识、版本信息和空洞信息确定待复制数据的空洞,查询是否存在与所述空洞有重合的数据复制请求,就是查询是否存在所述数据复制请求中的数据块标识相同、版本信息小于所述数据复制请求中的版本信息,且空洞信息中的数据偏移位置和数据偏移长度有重合区间的数据复制请求,如果存在,则将有重合的空洞整合成一个空洞,就是将有重合的空洞所对应的数据块标识相同、版本信息和空洞信息合并成一个空洞所对应的数据块标识相同、版本信息和空洞信息。其中,需要注意的是,合并成的空洞所对应的版本信息为最后一个数据复制请求的版本信息对应的版本号。
具体地,如图2所示,将有重合的空洞整合成一个空洞,具体包括:部分覆盖、中间覆盖和全部覆盖。根据数据偏移位置和数据偏移长度可以确定待复制数据的空洞,当目的端服务器获得的数据块标识为1,版本信息为16,空洞信息确定的空洞为V2,如果查询到存在数据块标识为1,版本信息为13,空洞信息确定的空洞为V1,且V2和V1有重合时,则将V2和V1整合成一个空洞,并将该空洞对应的空洞信息更新为原来空洞为V2的空洞信息,即将整合成的空洞更新为新收到的数据复制请求中的空洞。
具体地,如图2所示,由于版本16所对应的空洞比版本13所对应的空洞数据更新,将V2和V1整合成一个空洞,就是“V2交V1”,具体如图2中所述的三种合并方式。
步骤S102、目的端服务器将所述数据块标识、版本信息和空洞信息发送给源端服务器,以使所述源端服务器根据所述数据块标识、版本信息和空洞信息查找到对应的数据。
目的端将所述数据块标识、版本信息和空洞信息发送给源端服务器后,所述源端服务器根据数据块标识、版本信息和空洞信息,可以查找到数据块标识对应的数据块在版本信息对应的版本下的空洞信息所对应的数据。
步骤S103、目的端服务器接收所述源端服务器发送的携带所述数据的响应消息,并根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞。
所述目的端服务器接收所述源端服务器发送的携带所述数据的响应消息,所述响应消息中包括:所述数据块标识、版本信息和空洞信息和所述数据,目的端服务器根据所述数据块标识、版本信息和空洞信息将所述数据复制到所述空洞信息对应的空洞。
当根据所述响应消息将所述数据复制到所述空洞信息对应的空洞之后,所述目的端服务器将所述数据块标识、版本信息和空洞信息删除。
其中,所述响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号;所述目的端服务器在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。
具体地,响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号,例如源端服务器的、所述数据对应的数据块的当前版本号为17,所述目的端服务器的、所述数据对应的数据块的当前版本号为18,则将该数据块的版本号更新为18,完成本次数据复制过程。如果所述目的端服务器的、所述数据对应的数据块的当前版本号为16,则再次接收到数据复制请求,且经判断请求为有效后,还需要向所述源端服务器发送该数据复制请求的数据块标识、版本信息和空洞信息。
本申请实施例中,目的端服务器获得数据块标识、版本信息和空洞信息;所述目的端服务器将所述数据块标识、版本信息和空洞信息发送给源端服务器,以使所述源端服务器根据所述数据块标识、版本信息和空洞信息查找到对应的数据;所述目的端服务器接收所述源端服务器发送的携带所述数据的响应消息,并根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞,从而实现了随机读写方式下只对空洞进行数据复制,不需要进行数据的全量复制从而减少了待复制的数据量及复制时间,提高了数据复制效率。
如图3所示,为实施例二所提出另的一种数据更新的方法的流程示意图,该方法应用于包括包含有源端服务器和目的端服务器的随机读写的分布式存储系统中,下面将在源端服务器侧对该方法进行详细说明。
该方法,具体包括以下步骤:
步骤S201、源端服务器接收到目的端服务器发送的数据块标识、版本信息和空洞信息。
其中,所述空洞信息具体包括:数据偏移位置和数据偏移长度。
步骤S202、所述源端服务器在判断所述源端服务器的、所述数据对应的数据块的当前版本号大于等于所述版本信息时,根据数据块标识、版本信息和空洞信息,获得所述数据块标识、版本信息和空洞信息对应的空洞所对应的数据。
源端服务器判断自身的、所述数据块标识对应的数据块的当前版本号是否大于等于所述版本信息,当判断结果为是,则查找到所述数据块标识、版本信息和空洞信息对应的数据,并将所述数据携带在响应请求中发送给所述目的端服务器,以使所述目的端服务器将该数据复制到对应的空洞;当判断结果为否,则源端服务器并不存在待复制的数据,则向所述目的端服务器发送失败响应。
其中,响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号,用于使所述目的端服务器在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。
本申请实施例中,目的端服务器获得数据块标识、版本信息和空洞信息;所述目的端服务器将所述数据块标识、版本信息和空洞信息发送给源端服务器,以使所述源端服务器根据所述数据块标识、版本信息和空洞信息查找到对应的数据;所述目的端服务器接收所述源端服务器发送的携带所述数据的响应消息,并根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞,从而实现了随机读写方式下只对空洞进行数据复制,不需要进行数据的全量复制从而减少了待复制的数据量及复制时间,提高了数据复制效率。
基于上述实施例一同样的发明构思,本发明实施例三中还提供了一种目的端服务器,应用于包含有源端服务器和目的端服务器的随机读写的分布式存储系统中,如图4所示,该目的端服务器包括:
获得模块41,用于获得数据块标识、版本信息和空洞信息。
发送模块42,用于将所述数据块标识、版本信息和空洞信息发送给源端服务器,以使所述源端服务器根据所述数据块标识、版本信息和空洞信息查找到对应的数据。
复制模块43,用于接收所述源端服务器发送的携带所述数据的响应消息,并根据所述响应消息将所述数据复制到数据块标识对应的数据块。
所述获得模块,具体用于获得数据复制请求,所述数据复制请求中包括:数据块标识、版本信息和空洞信息。
所述数据复制请求还包括:数据块复制起始版本号。
所述版本信息具体为:数据复制终止版本号。
所述发送模块还用于:在判断所述数据块标识对应的数据块的数据复制终止版本号大于所述数据块标识对应的数据块的数据块复制起始版本号,且所述数据块标识对应的数据块的数据块复制起始版本号与目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号一致时,将所述数据块标识、版本信息和空洞信息发送给源端服务器。
所述响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号。
所述复制模块还用于,在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。
所述获得模块还用于:根据所述数据块标识、版本信息和空洞信息确定待复制数据的空洞,并在查询到与所述空洞有重合的数据复制请求后,将有重合的空洞整合成一个新的空洞。
所述复制模块还用于,将所述数据块标识、版本信息和空洞信息删除。
所述空洞信息具体包括:数据偏移位置和数据偏移长度。
本申请实施例中,目的端服务器获得数据块标识、版本信息和空洞信息;所述目的端服务器将所述数据块标识、版本信息和空洞信息发送给源端服务器,以使所述源端服务器根据所述数据块标识、版本信息和空洞信息查找到对应的数据;所述目的端服务器接收所述源端服务器发送的携带所述数据的响应消息,并根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞,从而实现了随机读写方式下只对空洞进行数据复制,不需要进行数据的全量复制从而减少了待复制的数据量及复制时间,提高了数据复制效率。
基于上述实施例二同样的发明构思,本发明实施例四中还提供了一种目的端服务器,应用于包含有源端服务器和目的端服务器的随机读写的分布式存储系统中,如图5所示,该源端服务器包括:
接收模块51,用于接收目的端服务器发送的数据块标识、版本信息和空洞信息。
获得模块52,用于在判断所述源端服务器的、所述数据对应的数据块的当前版本号大于等于所述版本信息时,根据数据块标识、版本信息和空洞信息,获得所述数据块标识、版本信息和空洞信息对应空洞所对应的数据。
发送模块53,用于向所述目的端服务器发送携带所述数据的响应消息,以使所述目的端服务器根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞。
所述响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号,用于使所述目的端服务器在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。所述空洞信息具体包括:数据偏移位置和数据偏移长度。
本申请实施例中,目的端服务器获得数据块标识、版本信息和空洞信息;所述目的端服务器将所述数据块标识、版本信息和空洞信息发送给源端服务器,以使所述源端服务器根据所述数据块标识、版本信息和空洞信息查找到对应的数据;所述目的端服务器接收所述源端服务器发送的携带所述数据的响应消息,并根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞,从而实现了随机读写方式下只对空洞进行数据复制,不需要进行数据的全量复制从而减少了待复制的数据量及复制时间,提高了数据复制效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (12)
1.一种数据复制的方法,应用于包含有源端服务器和目的端服务器的随机读写的分布式存储系统中,其特征在于,该方法包括:
目的端服务器获得数据块标识、版本信息和空洞信息;
所述目的端服务器将所述数据块标识、版本信息和空洞信息发送给源端服务器,以使所述源端服务器根据所述数据块标识、版本信息和空洞信息查找到对应的数据;
所述目的端服务器接收所述源端服务器发送的携带所述数据的响应消息,并根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞;
其中,所述目的端服务器获得数据块标识、版本信息和空洞信息,具体包括:
所述目的端服务器获得数据复制请求,所述数据复制请求中包括:数据块标识、版本信息和空洞信息;
所述数据复制请求还包括:数据块复制起始版本号;
所述版本信息具体为:数据复制终止版本号;
所述目的端服务器获得数据块标识、版本信息和空洞信息之后还包括:
所述目的端服务器在判断所述数据块标识对应的数据块的数据复制终止版本号大于所述数据块标识对应的数据块的数据块复制起始版本号,且所述数据块标识对应的数据块的数据块复制起始版本号与目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号一致时,执行将所述数据块标识、版本信息和空洞信息发送给源端服务器的步骤;
所述空洞信息具体包括:数据偏移位置和数据偏移长度。
2.如权利要求1所述的方法,其特征在于,
所述响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号;
所述目的端服务器在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。
3.如权利要求1所述的方法,其特征在于,所述目的端服务器获得数据块标识、版本信息和空洞信息之后,所述方法还包括:
所述目的端服务器根据所述数据块标识、版本信息和空洞信息确定待复制数据的空洞,并在查询到与所述空洞有重合的数据复制请求后,将有重合的空洞整合成一个新的空洞。
4.如权利要求1所述的方法,其特征在于,所述根据所述响应消息将所述数据复制到所述空洞信息对应的空洞之后,所述方法还包括:
所述目的端服务器将所述数据块标识、版本信息和空洞信息删除。
5.一种数据更新的方法,应用于包含有源端服务器和目的端服务器的随机读写的分布式存储系统中,其特征在于,该方法包括:
源端服务器接收到目的端服务器发送的数据块标识、版本信息和空洞信息;
所述源端服务器在判断所述源端服务器的、所述数据块标识对应的数据块的当前版本号大于等于所述版本信息时,根据数据块标识、版本信息和空洞信息,获得所述数据块标识、版本信息和空洞信息对应的空洞所对应的数据;
所述源端服务器向所述目的端服务器发送携带所述数据的响应消息,以使所述目的端服务器根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞;
其中,所述空洞信息具体包括:数据偏移位置和数据偏移长度。
6.如权利要求5所述的方法,其特征在于,
所述响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号,用于使所述目的端服务器在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。
7.一种目的端服务器,应用于包含目的端服务器和源端服务器的随机读写的分布式存储系统中,所述目的端服务器包括:
获得模块,用于获得数据块标识、版本信息和空洞信息;
发送模块,用于将所述数据块标识、版本信息和空洞信息发送给源端服务器,以使所述源端服务器根据所述数据块标识、版本信息和空洞信息查找到对应的数据;
复制模块,用于接收所述源端服务器发送的携带所述数据的响应消息,并根据所述响应消息将所述数据复制到数据块标识对应的数据块;
其中,所述获得模块,具体用于获得数据复制请求,所述数据复制请求中包括:数据块标识、版本信息和空洞信息;
所述数据复制请求还包括:数据块复制起始版本号;
所述版本信息具体为:数据复制终止版本号;
所述发送模块还用于:在判断所述数据块标识对应的数据块的数据复制终止版本号大于所述数据块标识对应的数据块的数据块复制起始版本号,且所述数据块标识对应的数据块的数据块复制起始版本号与目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号一致时,将所述数据块标识、版本信息和空洞信息发送给源端服务器;
所述空洞信息具体包括:数据偏移位置和数据偏移长度。
8.如权利要求7所述的目的端服务器,其特征在于,
所述响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号;
所述复制模块还用于,在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。
9.如权利要求7所述的目的端服务器,其特征在于,
所述获得模块还用于:根据所述数据块标识、版本信息和空洞信息确定待复制数据的空洞,并在查询到与所述空洞有重合的数据复制请求后,将有重合的空洞整合成一个新的空洞。
10.如权利要求7所述的目的端服务器,其特征在于,
所述复制模块还用于,将所述数据块标识、版本信息和空洞信息删除。
11.一种源端服务器,应用于包含目的端服务器和源端服务器的随机读写的分布式存储系统中,其特征在于,所述源端服务器包括:
接收模块,用于接收目的端服务器发送的数据块标识、版本信息和空洞信息;
获得模块,用于在判断所述源端服务器的、所述数据对应的数据块的当前版本号大于等于所述版本信息时,根据数据块标识、版本信息和空洞信息,获得所述数据块标识、版本信息和空洞信息对应空洞所对应的数据;
发送模块,用于向所述目的端服务器发送携带所述数据的响应消息,以使所述目的端服务器根据所述响应消息将所述数据复制到所述数据块标识、版本信息和空洞信息对应的空洞;
其中,所述空洞信息具体包括:数据偏移位置和数据偏移长度。
12.如权利要求11所述的源端服务器,其特征在于,
所述响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号,用于使所述目的端服务器在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510236871.8A CN106302559B (zh) | 2015-05-11 | 2015-05-11 | 一种数据复制方法和设备 |
EP16792018.0A EP3297250B1 (en) | 2015-05-11 | 2016-04-18 | Data copy method and device |
JP2017559062A JP6700308B2 (ja) | 2015-05-11 | 2016-04-18 | データ・コピー方法及びデバイス |
PCT/CN2016/079552 WO2016180168A1 (zh) | 2015-05-11 | 2016-04-18 | 一种数据复制方法和设备 |
US15/809,910 US11263231B2 (en) | 2015-05-11 | 2017-11-10 | Data copy method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510236871.8A CN106302559B (zh) | 2015-05-11 | 2015-05-11 | 一种数据复制方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106302559A CN106302559A (zh) | 2017-01-04 |
CN106302559B true CN106302559B (zh) | 2019-07-05 |
Family
ID=57247732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510236871.8A Active CN106302559B (zh) | 2015-05-11 | 2015-05-11 | 一种数据复制方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11263231B2 (zh) |
EP (1) | EP3297250B1 (zh) |
JP (1) | JP6700308B2 (zh) |
CN (1) | CN106302559B (zh) |
WO (1) | WO2016180168A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107682431A (zh) * | 2017-09-28 | 2018-02-09 | 成都路行通信息技术有限公司 | 一种多设备间数据同步优化方法及系统 |
US10938863B2 (en) * | 2018-03-15 | 2021-03-02 | Fuji Xerox Co., Ltd. | Secure document management through verification of security states of information processing apparatuses in the peer-to-peer transmission of encrypted documents |
US10917408B2 (en) * | 2018-03-15 | 2021-02-09 | Fuji Xerox Co., Ltd. | Secure document management through verification of security states of information processing apparatuses in peer-to-peer transmission of encrypted documents |
CN108737535B (zh) * | 2018-05-14 | 2021-10-29 | 平安科技(深圳)有限公司 | 一种消息推送方法、存储介质和服务器 |
CN110855737B (zh) * | 2019-09-24 | 2020-11-06 | 中国科学院软件研究所 | 一种一致性级别可控的自适应数据同步方法和系统 |
US11733920B2 (en) | 2020-09-10 | 2023-08-22 | Western Digital Technologies, Inc. | NVMe simple copy command support using dummy virtual function |
US11556268B2 (en) * | 2021-04-22 | 2023-01-17 | Western Digital Technologies, Inc. | Cache based flow for a simple copy command |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6578054B1 (en) * | 1999-10-04 | 2003-06-10 | Microsoft Corporation | Method and system for supporting off-line mode of operation and synchronization using resource state information |
JP2002116939A (ja) | 2000-10-06 | 2002-04-19 | Telecommunication Advancement Organization Of Japan | 分散型データベースシステム |
US7747576B2 (en) * | 2002-02-20 | 2010-06-29 | International Business Machines Corporation | Incremental update control for remote copy |
JP4131514B2 (ja) | 2003-04-21 | 2008-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワークシステム、サーバ、データ処理方法及びプログラム |
US8275815B2 (en) * | 2008-08-25 | 2012-09-25 | International Business Machines Corporation | Transactional processing for clustered file systems |
US20110270900A1 (en) | 2009-01-08 | 2011-11-03 | Sakae Yoshiaki | Distributed file name solution system, distributed file name solution method and distributed file name solution program |
US8799367B1 (en) * | 2009-10-30 | 2014-08-05 | Netapp, Inc. | Using logical block addresses with generation numbers as data fingerprints for network deduplication |
CN102541461B (zh) * | 2010-12-31 | 2014-11-19 | 阿里巴巴集团控股有限公司 | 远程数据存储的数据读写方法、装置及其系统 |
US9311327B1 (en) * | 2011-06-30 | 2016-04-12 | Emc Corporation | Updating key value databases for virtual backups |
CN102508835B (zh) * | 2011-09-22 | 2015-04-15 | 用友软件股份有限公司 | 基于日志管理包的增量数据实时同步装置和方法 |
US9116726B2 (en) * | 2012-09-28 | 2015-08-25 | Vmware, Inc. | Virtual disk snapshot consolidation using block merge |
CN103795754B (zh) * | 2012-10-31 | 2017-08-25 | 中国电信股份有限公司 | 多系统间的数据同步方法和系统 |
US9378370B2 (en) * | 2013-06-17 | 2016-06-28 | Microsoft Technology Licensing, Llc | Scanning files for inappropriate content during synchronization |
-
2015
- 2015-05-11 CN CN201510236871.8A patent/CN106302559B/zh active Active
-
2016
- 2016-04-18 EP EP16792018.0A patent/EP3297250B1/en active Active
- 2016-04-18 WO PCT/CN2016/079552 patent/WO2016180168A1/zh unknown
- 2016-04-18 JP JP2017559062A patent/JP6700308B2/ja active Active
-
2017
- 2017-11-10 US US15/809,910 patent/US11263231B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN106302559A (zh) | 2017-01-04 |
US20180089297A1 (en) | 2018-03-29 |
JP6700308B2 (ja) | 2020-05-27 |
US11263231B2 (en) | 2022-03-01 |
JP2018515850A (ja) | 2018-06-14 |
EP3297250B1 (en) | 2020-08-05 |
EP3297250A1 (en) | 2018-03-21 |
WO2016180168A1 (zh) | 2016-11-17 |
EP3297250A4 (en) | 2018-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106302559B (zh) | 一种数据复制方法和设备 | |
CN109886693B (zh) | 区块链系统的共识实现方法、装置、设备和介质 | |
CN103685351B (zh) | 一种基于云计算平台的缓存服务节点的调度方法和设备 | |
CN104506462A (zh) | 一种分布式交换机中mac地址管理方法及设备 | |
CN103716356A (zh) | 基于web的存储过程操作方法、装置和系统 | |
CN113835822A (zh) | 跨云平台虚拟机迁移方法、装置、存储介质及电子装置 | |
CN106341497B (zh) | 数字id生成方法及装置 | |
CN104507054B (zh) | 一种群组成员信息更新的方法及相关设备 | |
CN105978744B (zh) | 一种资源分配方法、装置及系统 | |
CN105491507B (zh) | 一种m2m中管理应用资源的方法和注册节点 | |
CN103841080A (zh) | 一种被叫号码补齐方法、设备和系统 | |
EP2372552B1 (en) | Automated relocation of in-use multi-site protected data storage | |
CN106790489A (zh) | 并行数据加载方法和系统 | |
CN111427965B (zh) | 一种水务数据的管理方法和管理系统 | |
CN109508226B (zh) | 一种基于openstack的虚拟机生命周期的管理方法 | |
CN112395024A (zh) | 一种接口调用方法和相关装置 | |
CN106209926B (zh) | 一种数据更新方法和设备 | |
CN104468674B (zh) | 数据迁移方法及装置 | |
CN101729369B (zh) | 一种消息路由的方法和设备 | |
CN109389271B (zh) | 应用性能管理方法及系统 | |
CN103795810A (zh) | 数据分发系统及方法以及该数据分发系统中的中心服务器 | |
US10798147B2 (en) | Constraint based controlled seeding | |
CN109347896B (zh) | 一种信息处理方法、设备和计算机可读存储介质 | |
CN109936672B (zh) | 一种在线计费方法及装置 | |
CN109471894B (zh) | 一种新型分散式文件与对象统一存储的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |