分布式数据复制方法和装置制造方法

文档序号:6490503阅读:117来源:国知局
分布式数据复制方法和装置制造方法
【专利摘要】本发明实施例提供一种分布式数据复制方法和装置,方法包括:接收写请求,将写请求拆分为多个写子请求,各写子请求携带的数据是写请求携带的数据的一部分,每个写子请求的写地址指向生产站点上的源卷中的一个源子卷,其中,源卷被划分为多个源子卷,每个源子卷位于生产站点中的一个存储节点上;根据多个写子请求,分别在各源子卷中写入数据,并分别生成各源子卷的备份信息;将各备份信息发往灾备站点,各源子卷的备份信息共同构成源卷的备份信息。
【专利说明】分布式数据复制方法和装置
【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种分布式数据复制方法和装置。
【背景技术】
[0002]随着信息社会的发展,数据量越来越大,数据灾备也越来越重要。现在,各存储节点厂商一般通过远程复制技术来实现本地或异地容灾解决方案。容灾系统一般包括本地生产站点和远程灾备站点,通过远程复制技术将本地生产站点的数据备份到远程灾备站点,利用站点分离或地理分离来保证容灾系统对灾难事件的抵御能力,保证数据不丢失或尽量少丢失。远程复制模式分为同步和异步两种。在同步模式中,生产站点需要等待生产站点和灾备站点均写完成后才返回主机响应,因此可以保证零数据丢失,但存在与灾备站点的通信时延,影响主机输入输出(Input Output ;以下简称:10)性能,因此一般同步模式应用于距离小于200km以内的同城容灾场景。在异步模式中,生产站点在接收到写I/O数据后,先将其写入本地数据存储系统,并向应用系统主机返回写完成确认消息,再将数据发送到灾备站点,因此本地应用系统的性能所受到的影响较小,传输距离基本无限制,但由于数据传输存在滞后,因此灾备站点可能存在一定的数据丢失。
[0003]在现有技术中,异步远程复制技术典型地包括快照机制和日志机制,将快照数据或日志缓存的主机写数据复制到灾备站点,图1为现有技术中异步远程复制技术的场景示意图,如图1所示为采用快照机制的远程复制过程。在高端多控存储系统中,通常都采用集中式共享架构,多控存储系统中的多个存储节点采用全局共享的方式对一个逻辑单元号设备(Logic Unit Number device ;以下简称:LUN)进行共享。
[0004]然而,现有技术中的数据复制方法需要对多控存储系统中多个存储节点之间存在互斥访问,从而导致主机写IO时延增加。

【发明内容】

[0005]本发明实施例提供一种分布式数据复制方法和装置,避免了多个存储节点之间互斥访问的现象,尽可能地减少主机写IO的时延。
[0006]本发明实施例的第一方面是提供一种分布式数据复制方法,包括:
[0007]接收写请求,将所述写请求拆分为多个写子请求,各所述写子请求携带的数据是所述写请求携带的数据的一部分,每个所述写子请求的写地址指向生产站点上的源卷中的一个源子卷,其中,所述源卷被划分为多个源子卷,每个所述源子卷位于生产站点中的一个存储节点上;
[0008]根据所述多个写子请求,分别在各所述源子卷中写入数据,并分别生成各所述源子卷的备份信息;
[0009]将各所述备份信息发往灾备站点,所述各所述源子卷的备份信息共同构成源卷的备份信息。
[0010]在第一方面的第一种可能的实现方式中,所述灾备站点上目标卷被划分为多个目标子卷,每个目标子卷位于所述灾备站点中的一个存储节点上,所述方法进一步包括:
[0011]灾备站点接收各所述源子卷的备份信息,并将接收到的各源子卷的备份信息存储到至少一个所述目标子卷中。
[0012]结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述多个写子请求,分别在各所述源子卷中写入数据,并分别生成各所述源子卷的备份信息,包括:
[0013]根据各写子请求,分别在所述各写子请求的写地址所指向的各源子卷中写入数据;
[0014]按照数据的写入顺序,将所述各写子请求分别记录在各所述源子卷的日志中,以分别生成各所述源子卷的日志;其中,所述源子卷的日志为所述源子卷的备份信息。
[0015]结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述将各所述源子卷的备份信息发往灾备站点,包括:
[0016]将各所述源子卷的日志发往灾备站点,以使灾备站点根据所述日志中记录的写子请求在所述目标卷中的各目标子卷中写入数据。
[0017]结合第一方面或第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述根据所述多个写子请求,分别在各所述源子卷中写入数据,并分别生成各所述源子卷的备份信息,包括:
[0018]根据各写子请求,分别在所述各写子请求的写地址所指向的各源子卷中写入数据;
[0019]对写入数据后的各所述源子卷中的数据进行快照处理,分别生成各所述源子卷的快照;其中,所述源子卷的快照为所述源子卷的备份信息。
[0020]结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述将各所述源子卷的备份信息发往灾备站点,包括:
[0021]将各所述源子卷的快照发往灾备站点。
[0022]本发明实施例的第二方面是提供一种分布式数据复制装置,包括:
[0023]接收模块,用于接收主机发送的写请求;
[0024]拆分模块,用于将所述写请求拆分为多个写子请求,各所述写子请求携带的数据是所述写请求携带的数据的一部分,每个写子请求的写地址指向生产站点上的源卷中的一个源子卷,其中,所述源卷被划分为多个源子卷,每个所述源子卷位于生产站点中的一个存储节点上;
[0025]源子卷处理模块,用于根据所述多个写子请求,分别在各所述源子卷中写入数据,并分别生成各所述源子卷的备份信息;
[0026]发送模块,用于将各所述源子卷的备份信息发往灾备站点,所述各所述源子卷的备份信息共同构成源卷的备份信息。
[0027]在第二方面的第一种可能的实现方式中,所述源子卷处理模块包括:
[0028]第一写单元,用于根据各写子请求,分别在所述各写子请求的写地址所指向的各源子卷中写入数据;
[0029]第一生成单元,用于按照数据的写入顺序,将所述各写子请求分别记录在各所述源子卷的日志中,以分别生成各所述源子卷的日志;其中,所述源子卷的日志为所述源子卷的备份信息。
[0030]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述发送模块具体用于将各所述源子卷的日志发往灾备站点,以使灾备站点根据所述日志中记录的写子请求在所述目标卷中的各目标子卷中写入数据。
[0031]结合第二方面,在第二方面的第三种可能的实现方式中,所述源子卷处理模块包括:
[0032]第二写单元,用于根据各写子请求,分别在所述各写子请求的写地址所指向的各源子卷中写入数据;
[0033]第二生成单元,用于对写入数据后的各所述源子卷中的数据进行快照处理,分别生成各所述源子卷的快照;其中,所述源子卷的快照为所述源子卷的备份信息。
[0034]结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述发送模块具体用于将各所述源子卷的快照发往灾备站点。
[0035]本发明实施例的第三方面是提供一种另一种分布式数据复制装置,包括处理器和存储器,所述存储器用于存储指令;所述处理器与所述存储器耦合,该处理器被配置为执行存储在所述存储器中的指令,其中,所述处理器被配置为用于:接收主机发送的写请求,将所述写请求拆分为多个写子请求,每个所述写子请求的写地址指向生产站点上的源卷中的一个源子卷,其中,所述源卷被划分为多个源子卷,每个所述源子卷位于生产站点中的一个存储节点上;根据所述多个写子请求,分别在各所述源子卷中写入数据,并分别生成各所述源子卷的备份信息;将各所述源子卷的备份信息发往灾备站点,所述各所述源子卷的备份信息共同构成源卷的备份信息。
[0036]本发明实施例的技术效果是:根据主机的写请求中携带的写地址,将该写请求拆分到写地址对应的至少一个源子卷中,根据拆分后的写请求在至少一个源子卷中写入数据,而不是在整个源卷中执行写操作;因此当多个写请求同时访问多个存储节点所共享的源卷时,不同的写请求在对应的不同源子卷中执行写操作,不会出现一个写请求对整个源卷执行写操作时,无法再执行其他写请求对应的写操作;且当生产站点向灾备站点进行远程复制时,也是以源子卷为单位进行复制,各源子卷的复制过程互不影响,可以并行复制到灾备站点中的各目标子卷,即避免了多个存储节点之间互斥访问的现象,尽可能地减少了主机写IO的时延。
【专利附图】

【附图说明】
[0037]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0038]图1为现有技术中异步远程复制技术的场景示意图;
[0039]图2为本发明分布式数据复制方法实施例一的流程图;
[0040]图3为本发明分布式数据复制方法实施例二的流程图;
[0041]图4为本发明分布式数据复制方法实施例二中LUN划分示意图;
[0042]图5为本发明分布式数据复制方法实施例三的流程图;[0043]图6为本发明分布式数据复制方法实施例三中LUN划分示意图;
[0044]图7为本发明分布式数据复制装置实施例一的结构示意图;
[0045]图8为本发明分布式数据复制装置实施例二的结构示意图;
[0046]图9为本发明分布式数据复制装置实施例三的结构示意图。
【具体实施方式】
[0047]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]图2为本发明分布式数据复制方法实施例一的流程图,如图2所示,本实施例提供了一种分布式数据复制方法,可以具体包括如下步骤:
[0049]步骤201,接收主机发送的写请求,将该写请求拆分为多个写子请求,各写子请求携带的数据是该写请求携带的数据的一部分,每个写子请求的写地址指向生产站点上的源卷中的一个源子卷。其中,该源卷被划分为多个源子卷,每个源子卷位于生产站点中的第一存储节点上。
[0050]在本实施例中,生产站点和灾备站点中各自包含多个存储节点,生产站点与源卷相对应,灾备站点与目标卷相对应,可以将生产站点对应的源卷划分为多个源子卷,每个源子卷位于生产站点中的一个存储节点上。当生产站点接收到主机发送的写请求后,获取写请求中携带的写地址,根据该写地址将写请求拆分到写地址对应的至少一个源子卷中。此处的卷可以具体为LUN。其中,写请求中的写地址整体对应于一个或多个源子卷,此处的写地址可以具体标识数据要写到源卷中的位置,由于生产站点对应的源卷被划分为多个源子卷,写请求中的写地址可以直接指到源卷,可以为一个源子卷,也可以为多个源子卷,即写请求的数据想要写到一个或多个源子卷的位置处。因此,本实施例可以根据该写地址对写请求进行拆分,将写请求拆分到写地址对应的一个或多个源子卷中,即写地址对应几个源子卷,便将写请求拆分为几个,拆分后的各写请求分别与写地址对应的各源子卷相对应。
[0051]步骤202,根据多个写子请求,分别在各源子卷中写入数据,并分别生成各源子卷的备份信息。
[0052]在本实施例中,在根据写地址将写请求拆分到至少一个源子卷中后,根据拆分后的写请求分别在至少一个源子卷中写入数据,本实施例将一整个写请求拆分到一个或多个源子卷中,分别在各源子卷中执行拆分后的写请求的写操作,而不是在一整个源卷中执行写操作。同时,本实施例中不仅对源卷进行划分,还将源卷的备份也进行相应的划分,此处源卷的备份可以具体为源卷的日志或源卷的快照。在一个源子卷中写入数据的同时,将写入的数据或拆分后的写请求生成该源子卷的备份,例如,将拆分后的写请求记录在对应的源子卷的日志中,或者将写入源子卷中的数据记录在对应的源子卷的快照中。
[0053]步骤203,将各源子卷的备份信息发往灾备站点,各所述源子卷的备份信息共同构成源卷的备份信息。
[0054]在本实施例中,在完成源卷的数据写操作后,需要将生产站点中的数据复制到灾备站点中,从而实现数据备份,本步骤具体为将源卷的备份复制到灾备站点中的目标卷中,以使灾备站点根据所述备份将所述源卷中的数据复制到所述目标卷中。在本实施例中,灾备站点对应的目标卷也进行相应的划分,划分后的目标子卷与灾备站点中的各节点相对应。在进行数据备份时,可以将源卷中所有源子卷的备份均复制到灾备站点对应的目标卷中,然后灾备站点可以根据备份实现将源卷中的数据复制到目标卷中。
[0055]本实施例提供了一种分布式数据复制方法,根据主机的写请求中携带的写地址,将该写请求拆分到写地址对应的至少一个源子卷中,根据拆分后的写请求在至少一个源子卷中写入数据,而不是在整个源卷中执行写操作;因此当多个写请求同时访问多个存储节点所共享的源卷时,不同的写请求在对应的不同源子卷中执行写操作,不会出现一个写请求对整个源卷执行写操作时,无法再执行其他写请求对应的写操作;且当生产站点向灾备站点进行远程复制时,也是以源子卷为单位进行复制,各源子卷的复制过程互不影响,可以并行复制到灾备站点中的各目标子卷,即避免了多个存储节点之间互斥访问的现象,尽可能地减少了王机与IO的时延。
[0056]图3为本发明分布式数据复制方法实施例二的流程图,如图3所示,本实施例提供了一种分布式数据复制方法,可以具体包括如下步骤:
[0057]步骤301,接收主机发送的写请求,将该写请求拆分为多个写子请求,各写子请求携带的数据是该写请求携带的数据的一部分,每个写子请求的写地址指向生产站点上的源卷中的一个源子卷,其中,该源卷被划分为多个源子卷,每个源子卷位于生产站点中的一个存储节点上。
[0058]在本实施例中,生产站点为多控存储系统,生产站点中包含多个存储节点,且生产站点与源卷相对应。本实施例根据生产站点中的存储计算资源分布情况,将生产站点对应的源卷划分为多个源子卷。此处的存储计算资源分布情况可以具体为生产站点中各存储节点的硬盘、CPU、内存等存储计算资源的分布情况,本实施例中的源卷可以具体为源LUNdf源LUN划分为多个源子LUN。如图4所示为本发明分布式数据复制方法实施例二中LUN划分示意图,生产站点中包括N个存储节点,即NodeO、NodeU…、NodeN,现有技术中N个存储节点共享一个源LUN,而 本实施例将一个源LUN划分为多个源子LUN,划分后的每个源子LUN与一个存储节点相对应,即将源LUN划分为N个源子LUN,如图4中的lunO、lunl、…、lunN,其中IunO与NodeO相对应,Iunl与Nodel相对应,…,IunN与NodeN相对应。
[0059]另外,在本实施例中,当生产站点接收到主机的写请求后,获取写请求中携带的写地址,根据该写地址将写请求拆分到写地址对应的至少一个源子卷中。其中,写请求中的写地址整体对应于一个或多个源子卷,此处的写地址可以具体标识数据要写到源卷中的位置,本实施例可以根据该写地址对写请求进行拆分,将写请求拆分到写地址对应的一个或多个源子卷中,即写地址对应几个源子卷,便将写请求拆分为几个,拆分后的各写子请求分别与写地址对应的各源子卷相对应。
[0060]步骤302,根据各写子请求,分别在各写子请求的写地址所指向的各源子卷中写入数据。
[0061]在根据写地址将写请求拆分到至少一个源子卷中后,根据拆分后的写子请求分别在至少一个源子卷中写入数据,本实施例将一整个写请求拆分到一个或多个源子卷中,分别在各源子卷中执行拆分后的写子请求的写操作,而不是在一整个源卷中执行写操作。
[0062]步骤303、按照数据的写入顺序,将各写子请求分别记录在各源子卷的日志中,以分别生成各源子卷的日志。
[0063]其中,该源子卷的日志为该源子卷的备份信息。
[0064]如图4所示,在本实施例中,不仅将源LUN划分为N个源子LUN,还将源LUN对应的日志也进行相应的划分,即将源LUN对应的log也划分为N个子日志,即图中的logO、1gU…、1gN, 1gO与IunO对应,1gl与Iunl对应,...,1gN与IunN对应。本实施例在根据拆分后的写子请求将数据写在至少一个源子卷中后,还将拆分后的写子请求分别记录在至少一个源子卷的日志中,从而生成各源子卷的日志。
[0065]步骤304、将各源子卷的日志发往灾备点,以使灾备站点根据该日志中记录的写子请求在该目标卷中的各目标子卷中写入数据;各源子卷的备份信息共同构成源卷的备份信
肩、O
[0066]在本实施例中,灾备站点用于对生产站点进行容灾备份,灾备站点也是一个多控存储系统,灾备站点中包含多个存储节点,且灾备站点与目标卷相对应。本实施例根据灾备站点中的存储计算资源分布情况,将灾备站点对应的目标卷划分为多个目标子卷。此处的存储计算资源分布情况可以具体为灾备站点中各存储节点的硬盘、CPU、内存等存储计算资源的分布情况,本实施例中的目标卷可以具体为目标LUN,即将目标LUN划分为多个目标子LUN。上述图4也可以表示灾备站点对应的目标LUN的划分情况。
[0067]另外,在完成源卷的数据写操作后,需要将生产站点中的数据复制到灾备站点中,从而实现数据备份,本步骤具体为将源卷的日志复制到灾备站点中的目标卷中。在进行数据备份时,可以将源LUN中所有源子LUN的日志均复制到灾备站点对应的目标LUN中。
[0068]步骤305,灾备站点接收各源子卷的备份信息,并将接收到的各源子卷的备份信息存储到至少一个目标子卷·中。
[0069]其中,灾备站点上目标卷被划分为多个目标子卷,每个目标子卷位于该灾备站点中的一个存储节点上。
[0070]在本实施例总,由于源卷的日志中记录的是拆分后写子请求,则灾备站点在接收到生产站点发送的日志后,从中获取拆分后的写子请求,直接根据拆分后的写子请求,在目标卷中写入数据,从而实现对生产站点对应的源卷中数据的容灾备份。在本实施例中,灾备站点对应的目标卷也进行了与生产站点对应的源卷类似的划分,则在执行写操作时,也是根据写子请求中的写地址分到各目标子卷中来写入数据。
[0071]本实施例提供了一种分布式数据复制方法,根据主机的写请求中携带的写地址,将该写请求拆分到写地址对应的至少一个源子卷中,根据拆分后的写请求在至少一个源子卷中写入数据,而不是在整个源卷中执行写操作;因此当多个写请求同时访问多个存储节点所共享的源卷时,不同的写请求在对应的不同源子卷中执行写操作,不会出现一个写请求对整个源卷执行写操作时,无法再执行其他写请求对应的写操作;且当生产站点向灾备站点进行远程复制时,也是以源子卷为单位进行复制,各源子卷的复制过程互不影响,可以并行复制到灾备站点中的各目标子卷,即避免了多个存储节点之间互斥访问的现象,尽可能地减少了王机与IO的时延。
[0072]图5为本发明分布式数据复制方法实施例三的流程图,如图5所示,本实施例提供了一种分布式数据复制方法,可以具体包括如下步骤:
[0073]步骤501,接收主机发送的写请求,将该写请求拆分为多个写子请求,各写子请求携带的数据是该写请求携带的数据的一部分,每个写子请求的写地址指向生产站点上的源卷中的一个源子卷,其中,该源卷被划分为多个源子卷,每个源子卷位于生产站点中的一个存储节点上。
[0074]步骤502,根据各写子请求,分别在各写子请求的地址所指向的各源子卷中写入数据。
[0075]步骤503,对写入数据后的各源子卷中的数据进行快照处理,分别生成各源子卷的快照。
[0076]其中,该源子卷的快照为该源子卷的备份信息。
[0077]步骤504,将各源子卷的快照发往灾备站点,以使灾备站点根据该快照中记录的写子请求在该目标卷中的各目标子卷中写入数据;各源子卷的备份信息共同构成源卷的备份信息。
[0078]步骤505,灾备站点接收各源子卷的备份信息,并将接收到的各源子卷的备份信息存储到至少一个所述目标子卷中。
[0079]上述步骤501-505可以分别与上述实施例二中的步骤301-305类似,此处不再
--赘述。
[0080]本实施例与上述实施例二的区别在于,源卷或目标卷的备份为快照,而不是日志。图6为本发明分布式数据复制方法实施例三中LUN划分示意图,如图6所示,在本实施例中,不仅将源LUN划分为N个源子LUN,还将源LUN的快照也进行相应的划分,即将源LUN对应的snap也划分为N个子日志,即图中的sna`pO、snap I >…、snapN, snapO与IunO对应,snap I与Iunl对应,...,snapN与IunN对应。本实施例在根据拆分后的写子请求将数据写在至少一个源子卷中后,还对写操作后的至少一个源子卷中的数据进行快照处理,将快照后的数据保存在对应的快照中,从而生成至少一个源子卷的快照。
[0081]由于源卷的快照中记录的是源卷在某个历史时刻的数据,则灾备站点在接收到生产站点发送的快照后,直接将各快照中记录的数据复制到目标卷中的各目标子卷中,从而实现对生产站点对应的源卷中数据的容灾备份。在本实施例中,灾备站点对应的目标卷也进行了与生产站点对应的源卷类似的划分,则当源卷与目标卷采用相同的划分策略时,每个源子卷对应一个目标子卷,此时可以直接将一个源子卷的快照复制到与其一一对应的目标子卷中;而当源卷与目标卷未采用相同的划分策略时,划分后的各源子卷与划分后的各目标子卷之间存在地址上的对应关系,在数据复制时,可以根据二者的对应关系将数据复制到对应的目标子卷中。
[0082]本实施例提供了一种分布式数据复制方法,根据主机的写请求中携带的写地址,将该写请求拆分到写地址对应的至少一个源子卷中,根据拆分后的写请求在至少一个源子卷中写入数据,而不是在整个源卷中执行写操作;因此当多个写请求同时访问多个存储节点所共享的源卷时,不同的写请求在对应的不同源子卷中执行写操作,不会出现一个写请求对整个源卷执行写操作时,无法再执行其他写请求对应的写操作;且当生产站点向灾备站点进行远程复制时,也是以源子卷为单位进行复制,各源子卷的复制过程互不影响,可以并行复制到灾备站点中的各目标子卷,即避免了多个存储节点之间互斥访问的现象,尽可能地减少了王机与IO的时延。
[0083]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0084]图7为本发明分布式数据复制装置实施例一的结构示意图,如图7所示,本实施例提供了一种分布式数据复制装置,可以具体执行上述方法实施例一中的各个步骤,此处不再赘述。本实施例提供的分布式数据复制装置可以具体包括接收模块701、拆分模块702、源子卷处理模块703和发送模块704。其中,接收模块701用于接收主机发送的写请求。拆分模块702用于将该写请求拆分为多个写子请求,各写子请求携带的数据是该写请求携带的数据的一部分,每个写子请求的写地址指向生产站点上的源卷中的一个源子卷,其中,该源卷被划分为多个源子卷,每个该源子卷位于生产站点中的一个存储节点上。源子卷处理模块703用于根据该多个写子请求,分别在各该源子卷中写入数据,并分别生成各该源子卷的备份信息。发送模块704用于将各该源子卷的备份信息发往灾备站点,该各该源子卷的备份信息共同构成源卷的备份信息。
[0085]本实施例的分布式数据复制装置可以执行图1所示方法实施例的技术方案,其实现原理相类似,此处不再赘述。
[0086]本实施例提供了一种分布式数据复制装置,根据主机的写请求中携带的写地址,将该写请求拆分到写地址对应的至少一个源子卷中,根据拆分后的写请求在至少一个源子卷中写入数据,而不是在整个源卷中执行写操作;因此当多个写请求同时访问多个存储节点所共享的源卷时,不同的写请求在对应的不同源子卷中执行写操作,不会出现一个写请求对整个源卷执行写操作时,无法再执行其他写请求对应的写操作;且当生产站点向灾备站点进行远程复制时,也是以源子卷为单位进行复制,各源子卷的复制过程互不影响,可以并行复制到灾备站点中的各目标子卷,即避免了多个存储节点之间互斥访问的现象,尽可能地减少了王机与IO的时延。
[0087]图8为本发明分布式数据复制装置实施例二的结构示意图,在上述如图7所示,本实施例提供了一种分布式数据复制装置,可以具体执行上述方法实施例二中的各个步骤,此处不再赘述。本实施例提供的分布式数据复制装置中的该源子卷处理模块703包括:第一写单元7031和第一生成单元7032。其中,第一写单元7031用于根据各写子请求,分别在该各写子请求的写地址所指向的各源子卷中写入数据;第一生成单元7032用于按照数据的写入顺序,将该各写子请求分别记录在各该源子卷的日志中,以分别生成各该源子卷的日志。其中,该源子卷的日志为该源子卷的备份信息。
[0088]优选地,发送模块704具体用于将各源子卷的日志发往灾备站点,以使灾备站点根据该日志中记录的写子请求在该目标卷中的各目标子卷中写入数据。
[0089]图9为本发明分布式数据复制装置实施例三的结构示意图,在上述如图7所示,本实施例提供了一种分布式数据复制装置,可以具体执行上述方法实施例三中的各个步骤,此处不再赘述。本实施例提供的分布式数据复制装置中的该源子卷处理模块703包括:第二写单元7033和第二生成单元7034。其中,第二写单元7033用于根据各写子请求,分别在该各写子请求的写地址所指向的各源子卷中写入数据;第二生成单元7034用于对写入数据后的各该源子卷中的数据进行快照处理,分别生成各该源子卷的快照。其中,该源子卷的快照为该源子卷的备份信息。[0090]优选地,发送模块704具体用于将各该源子卷的快照发往灾备站点。
[0091]本实施例还提供一种分布式数据复制装置,可以具体包括处理器和存储器,该存储器用于存储指令;该处理器与该存储器耦合,该处理器被配置为执行存储在该存储器中的指令,其中,该处理器被配置为用于:接收主机发送的写请求,将该写请求拆分为多个写子请求,每个该写子请求的写地址指向生产站点上的源卷中的一个源子卷,其中,该源卷被划分为多个源子卷,每个该源子卷位于生产站点中的一个存储节点上;根据该多个写子请求,分别在各该源子卷中写入数据,并分别生成各该源子卷的备份信息;将各该源子卷的备份信息发往灾备站点,该各该源子卷的备份共同构成源卷的备份信息。
[0092]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种分布式数据复制方法,其特征在于,包括: 接收写请求,将所述写请求拆分为多个写子请求,各所述写子请求携带的数据是所述写请求携带的数据的一部分,每个所述写子请求的写地址指向生产站点上的源卷中的一个源子卷,其中,所述源卷被划分为多个源子卷,每个所述源子卷位于生产站点中的一个存储节点上; 根据所述多个写子请求,分别在各所述源子卷中写入数据,并分别生成各所述源子卷的备份信息; 将各所述备份信息发往灾备站点,所述各所述源子卷的备份信息共同构成源卷的备份信息。
2.根据权利要求1 所述的方法,其特征在于,所述灾备站点上目标卷被划分为多个目标子卷,每个目标子卷位于所述灾备站点中的一个存储节点上,所述方法进一步包括: 灾备站点接收各所述源子卷的备份信息,并将接收到的各源子卷的备份信息存储到至少一个所述目标子卷中。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述多个写子请求,分别在各所述源子卷中写入数据,并分别生成各所述源子卷的备份信息,包括: 根据各写子请求,分别在所述各写子请求的写地址所指向的各源子卷中写入数据; 按照数据的写入顺序,将所述各写子请求分别记录在各所述源子卷的日志中,以分别生成各所述源子卷的日志;其中,所述源子卷的日志为所述源子卷的备份信息。
4.根据权利要求3所述的方法,其特征在于,所述将各所述源子卷的备份信息发往灾备站点,包括: 将各所述源子卷的日志发往灾备站点,以使灾备站点根据所述日志中记录的写子请求在所述目标卷中的各目标子卷中写入数据。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述多个写子请求,分别在各所述源子卷中写入数据,并分别生成各所述源子卷的备份信息,包括: 根据各写子请求,分别在所述各写子请求的写地址所指向的各源子卷中写入数据; 对写入数据后的各所述源子卷中的数据进行快照处理,分别生成各所述源子卷的快照;其中,所述源子卷的快照为所述源子卷的备份信息。
6.根据权利要求4所述的方法,其特征在于,所述将各所述源子卷的备份信息发往灾备站点,包括: 将各所述源子卷的快照发往灾备站点。
7.一种分布式数据复制装置,其特征在于,包括: 接收模块,用于接收主机发送的写请求; 拆分模块,用于将所述写请求拆分为多个写子请求,各所述写子请求携带的数据是所述写请求携带的数据的一部分,每个写子请求的写地址指向生产站点上的源卷中的一个源子卷,其中,所述源卷被划分为多个源子卷,每个所述源子卷位于生产站点中的一个存储节点上; 源子卷处理模块,用于根据所述多个写子请求,分别在各所述源子卷中写入数据,并分别生成各所述源子卷的备份信息; 发送模块,用于将各所述源子卷的备份信息发往灾备站点,所述各所述源子卷的备份信息共同构成源卷的备份信息。
8.根据权利要求7所述的装置,其特征在于,所述源子卷处理模块包括: 第一写单元,用于根据各写子请求,分别在所述各写子请求的写地址所指向的各源子卷中写入数据; 第一生成单元,用于按照数据的写入顺序,将所述各写子请求分别记录在各所述源子卷的日志中,以分别生成各所述源子卷的日志;其中,所述源子卷的日志为所述源子卷的备份信息。
9.根据权利要求8所述的装置,其特征在于,所述发送模块具体用于将各所述源子卷的日志发往灾备站点,以使灾备站点根据所述日志中记录的写子请求在所述目标卷中的各目标子卷中写入数据。
10.根据权利要求7所述的装置,其特征在于,所述源子卷处理模块包括: 第二写单元,用于根据各写子请求,分别在所述各写子请求的写地址所指向的各源子卷中写入数据; 第二生成单元,用于对写入数据后的各所述源子卷中的数据进行快照处理,分别生成各所述源子卷的快照;其中,所述源子卷的快照为所述源子卷的备份信息。
11.根据权利要求10所述的装置,其特征在于,所述发送模块具体用于将各所述源子卷的快照发往灾备站点。
12.—种分布式数据复制装置,其特征在于,包括处理器和存储器,所述存储器用于存储指令;所述处理器与所述存储器耦合,该处理器被配置为执行存储在所述存储器中的指令,其中,所述处理器被配置为`用于:执行权利要求1-6中任一权利要求的方法。
【文档编号】G06F3/06GK103793291SQ201210430530
【公开日】2014年5月14日 申请日期:2012年11月1日 优先权日:2012年11月1日
【发明者】刘昆鹏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1