CN106302559B - 一种数据复制方法和设备 - Google Patents

一种数据复制方法和设备 Download PDF

Info

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
Application number
CN201510236871.8A
Other languages
English (en)
Other versions
CN106302559A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510236871.8A priority Critical patent/CN106302559B/zh
Priority to JP2017559062A priority patent/JP6700308B2/ja
Priority to PCT/CN2016/079552 priority patent/WO2016180168A1/zh
Priority to EP16792018.0A priority patent/EP3297250B1/en
Publication of CN106302559A publication Critical patent/CN106302559A/zh
Priority to US15/809,910 priority patent/US11263231B2/en
Application granted granted Critical
Publication of CN106302559B publication Critical patent/CN106302559B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed 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)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (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)
  • Information Transfer Between Computers (AREA)
  • Retry When Errors Occur (AREA)
  • Computer And Data Communications (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所述的源端服务器,其特征在于,
所述响应消息还包括:所述源端服务器的、所述数据对应的数据块的当前版本号,用于使所述目的端服务器在判断目的端服务器的、当前的数据块版本号大于等于所述源端服务器的、所述数据对应的数据块的当前版本号时,将目的端服务器的、所述数据块标识对应的数据块当前的数据块版本号更新为所述数据块的最新版本号。
CN201510236871.8A 2015-05-11 2015-05-11 一种数据复制方法和设备 Active CN106302559B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201510236871.8A CN106302559B (zh) 2015-05-11 2015-05-11 一种数据复制方法和设备
JP2017559062A JP6700308B2 (ja) 2015-05-11 2016-04-18 データ・コピー方法及びデバイス
PCT/CN2016/079552 WO2016180168A1 (zh) 2015-05-11 2016-04-18 一种数据复制方法和设备
EP16792018.0A EP3297250B1 (en) 2015-05-11 2016-04-18 Data copy method and device
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
JP5382546B2 (ja) 2009-01-08 2014-01-08 日本電気株式会社 分散ファイル名前解決システム、分散ファイル名前解決方法、及び分散ファイル名前解決用プログラム
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

Also Published As

Publication number Publication date
EP3297250A4 (en) 2018-10-03
EP3297250A1 (en) 2018-03-21
US20180089297A1 (en) 2018-03-29
CN106302559A (zh) 2017-01-04
JP6700308B2 (ja) 2020-05-27
WO2016180168A1 (zh) 2016-11-17
US11263231B2 (en) 2022-03-01
EP3297250B1 (en) 2020-08-05
JP2018515850A (ja) 2018-06-14

Similar Documents

Publication Publication Date Title
CN106302559B (zh) 一种数据复制方法和设备
CN104899049B (zh) 一种文件删除方法及其装置
CN109886693B (zh) 区块链系统的共识实现方法、装置、设备和介质
CN105824810A (zh) 一种Hadoop集群系统及数据处理方法
CN103379185A (zh) 一种网络地址转换的方法、设备和系统
CN105868251A (zh) 一种缓存数据更新方法及装置
CN104468759B (zh) PaaS平台中实现应用迁移的方法和装置
CN104506462A (zh) 一种分布式交换机中mac地址管理方法及设备
CN103716356A (zh) 基于web的存储过程操作方法、装置和系统
CN103701867A (zh) 一种处理调用请求的方法、系统及中心服务器
CN113835822A (zh) 跨云平台虚拟机迁移方法、装置、存储介质及电子装置
CN106341497B (zh) 数字id生成方法及装置
CN104507054B (zh) 一种群组成员信息更新的方法及相关设备
CN103841080A (zh) 一种被叫号码补齐方法、设备和系统
EP2372552B1 (en) Automated relocation of in-use multi-site protected data storage
CN105975614A (zh) 一种集群配置装置、一种更新数据的方法及装置
CN105978744B (zh) 一种资源分配方法、装置及系统
CN110798358B (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN112395024A (zh) 一种接口调用方法和相关装置
CN106209926B (zh) 一种数据更新方法和设备
CN104468674B (zh) 数据迁移方法及装置
CN101729369B (zh) 一种消息路由的方法和设备
CN103795810A (zh) 数据分发系统及方法以及该数据分发系统中的中心服务器
CN109508226B (zh) 一种基于openstack的虚拟机生命周期的管理方法
CN111427965B (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