CN103645970A - 一种远程复制多快照间增量去重的实现方法及装置 - Google Patents
一种远程复制多快照间增量去重的实现方法及装置 Download PDFInfo
- Publication number
- CN103645970A CN103645970A CN201310689124.0A CN201310689124A CN103645970A CN 103645970 A CN103645970 A CN 103645970A CN 201310689124 A CN201310689124 A CN 201310689124A CN 103645970 A CN103645970 A CN 103645970A
- Authority
- CN
- China
- Prior art keywords
- increment
- adjacent
- file
- increments
- catalogue
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012986 modification Methods 0.000 claims description 39
- 230000004048 modification Effects 0.000 claims description 39
- 238000012217 deletion Methods 0.000 claims description 34
- 230000037430 deletion Effects 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000014759 maintenance of location Effects 0.000 description 6
- 238000012163 sequencing technique Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000001502 supplementing effect Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241000396836 Trinodes Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种远程复制方法及装置,包括:生成多个相邻时间点的快照,任意两相邻时间点的快照间内容的变化为增量,对两相邻增量进行增量去重处理,并对增量去重后的增量结果进行远程复制,其中增量去重包括下述至少一种:如果两相邻增量为数据的变化,则合并相同的数据;如果两相邻增量为元数据的变化,则抵消针对同一文件或目录创建和删除的增量,或者合并针对同一文件或目录修改的增量,如果两相邻增量包括针对文件或目录删除的增量,则删除针对文件或目录的其他增量;如果两相邻增量包括针对文件或目录创建的增量,则删除针对文件或目录的其他增量,通过上述方式,本发明能够减少重复或不必要的拷贝操作,极大提高备份效率,节省带宽资源。
Description
技术领域
本发明涉及虚数据保护技术领域,特别是涉及一种远程复制多快照间增量去重的实现方法及装置。
背景技术
远程复制是在存储领域一种常用的数据保护方法,通过在生产端与灾备端进行远程复制操作,可以对一份数据生成多份相同的数据拷贝。快照是系统容灾备份一个很重要的方法。快照的主要作用是实现数据的在线备份和恢复,可以在系统故障时快速的将数据恢复到指定时间点状态,并且可以允许用户以只读的方式访问任意时间点的快照数据。
实现快照的主流方法包括COW(Copy On Write,写时复制)和ROW(Redirect On Write,写时重定向),其中COW,即如果数据被快照保护,某一个块数据第一次写入到某个位置,首先将原来的数据读取出来,写到另外一个位置,即快照保护区域,新数据写入到原来的位置,而下一次针对该数据块的操作不再执行COW操作。COW复制会增加系统开销,因此COW操作适合写入操作较少读取操作较多的场景。ROW操作,即如果数据被快照数据保护,某一块数据第一次写入到某个位置,新写入的数据被重新定向到新的位置空间,原数据的空间变为快照数据,ROW操作,仅仅是将数据重定向存储,因此对数据的写入开销较小,但由于写入地址重定向,因此对于数据的读增加了重定向的开销,ROW适合写数据较多读数据较少的场景。
在文件系统中,远程复制拷贝的数据基于快照间增量结果实现,增量结果预示多快照间元数据或数据发生的变化,通过读取两两快照间的差异数据,实现灾备端与生产端的数据同步。以COW方法实现多快照间文件或目录先创建后删除为例,如图1所示,root为快照根节点,其中,节点为指元数据服务器节点。所有的快照都打在root节点上,包括以下过程:首先打快照N,包括a、b、c三个节点,然后在a节点下新创建节点d,并对root打快照N+1,再删除节点d,并对root打快照N+2。由此可知,[N,N+2]之间的快照增量由[N,N+1]、[N+1,N+2]的增量组成,其中,[N,N+1]之间的增量结果是d节点的新创建;[N+1,N+2]的增量结果是d节点的删除,生成d节点的COW版本dsnapN+1。在远程复制增量备份时,灾备端先执行[N,N+1]的增量,在父节点a下创建子节点d;然后执行[N+1,N+2]的增量,将子节点d删除,从而实现数据与生产端的同步。实际上,节点d在快照N时被创建,在N+1后又被删除,那么对于灾备端来说,快照[N,N+2]之间d相当于不曾存在过,新创建增量和删除增量可相互抵消,灾备端对节点d的创建和删除是不必要的拷贝操作,浪费带宽资源。
因此,在文件系统中,传统的远程复制通过快照间重演的方式进行数据同步,导致重复操作较多,降低系统性能及备份效率,浪费带宽资源。
发明内容
本发明实施方式提供一种远程复制多快照间增量去重的实现方法及装置,能够减少重复或不必要的拷贝操作,极大提高备份效率,节省带宽资源。
第一方面提供一种远程复制多快照间增量去重的实现方法,包括:生成多个相邻时间点的快照,任意两相邻时间点的快照间内容的变化为增量;对两相邻增量进行增量去重处理,并对增量去重后的增量结果进行远程复制;其中,增量去重包括下述至少一种:如果两相邻增量为数据的变化,则合并相同的数据;如果两相邻增量为元数据的变化,则抵消针对同一文件或目录的创建和删除的增量,或者合并针对同一文件或目录的修改的增量,其中,元数据包括文件或目录;如果两相邻增量包括针对文件或目录的删除的增量,则删除针对文件或目录的其他增量;如果两相邻增量包括针对文件或目录的创建的增量,则删除针对文件或目录的其他增量。
在第一方面的第一种可能的实现方式中,每个增量对应一快照号,快照号为增量的时间戳标记,取为两相邻时间点的快照间较大的快照号,如果增量为数据的变化,则增量还对应一偏移以及一长度。
在第一方面的第二种可能的实现方式中,如果两相邻增量为数据的变化,则合并相同的数据包括:如果两相邻增量是针对同一文件或目录的数据变化,则比对两相邻增量的数据变化的范围,合并相同的部分。
在第一方面的第三种可能的实现方式中,比对两相邻增量的数据变化的范围,合并相同的部分包括:两相邻增量为数据修改或追加时,取两相邻增量的偏移的较小值为去重后的两相邻增量的偏移,取两相邻增量的长度的较大值为去重后的两相邻增量的长度,取两相邻增量的快照号的较大值为去重后的两相邻增量的快照号。
在第一方面的第四种可能的实现方式中,比对两相邻增量的数据变化的范围,合并相同的部分包括:如果两相邻增量包括第一增量和第二增量,第一增量为数据截断,第二增量为数据修改,则如果第一增量的偏移小于第二增量的偏移,且第一增量的长度大于第二增量的长度,则只保留第一增量,并取第一增量和第二增量的快照号的较大值为去重后的两相邻增量的快照号;如果第一增量的偏移大于第二增量的偏移,且第一增量的长度大于第二增量的长度,则将第一增量的偏移取为第二增量的长度,同时保留第一增量,并取第一增量和第二增量的快照号的较大值为去重后的两相邻增量的快照号。
在第一方面的第五种可能的实现方式中,如果两相邻增量为元数据的变化,则合并针对同一文件或目录的修改的增量包括:如果同一文件或目录的属性在两相邻增量中被修改,则仅保留快照号较大的增量。
在第一方面的第六种可能的实现方式中,如果两相邻增量包括针对文件或目录的创建的增量,则删除针对同一文件或目录的其他增量包括:如果文件或目录先被创建,然后数据或属性被修改,则只保留创建的增量,并在远程复制创建文件或目录时,拷贝最新的数据或属性值。
在第一方面的第七种可能的实现方式中,如果两相邻增量包括针对文件或目录的删除的增量,则删除针对同一文件或目录的其他增量包括:如果数据先被修改,然后文件或目录被删除,则只保留删除的增量,远程复制时直接删除文件或目录。
第二方面提供一种远程复制的装置,包括:增量生成模块,用于生成多个相邻时间点的快照,任意两相邻时间点的快照间内容的变化为增量;增量去重模块,用于对两相邻增量进行增量去重处理,并对所述增量去重后的增量结果进行远程复制;其中,所述增量去重包括下述至少一种:如果两相邻增量为数据的变化,则合并相同的数据;如果两相邻增量为元数据的变化,则抵消针对同一文件或目录的创建和删除的增量,或者合并针对同一文件或目录的修改的增量,其中,所述元数据包括文件或目录;如果两相邻增量包括针对文件或目录的删除的增量,则删除针对文件或目录的其他增量;如果两相邻增量包括针对文件或目录的创建的增量,则删除针对文件或目录的其他增量。
在第二方面的第一种可能的实现方式中,每个增量对应一快照号,快照号为增量的时间戳标记,取两相邻时间点的快照间较大的快照号,如果增量为数据的变化,则增量还对应一偏移以及一长度。
在第二方面的第二种可能的实现方式中,增量去重模块还用于,如果两相邻增量是针对同一文件或目录的数据变化,则比对同一文件两相邻增量的数据变化的范围,合并相同的部分。
在第二方面的第三种可能的实现方式中,增量去重模块还用于,增量为数据修改或追加时,取两相邻增量的偏移的较小值为去重后的两相邻增量的偏移,取两相邻增量的长度的较大值为去重后的两相邻增量的长度,取两相邻增量的快照号的较大值为去重后的两相邻增量的快照号。
在第二方面的第四种可能的实现方式中,如果两相邻增量包括第一增量和第二增量,第一增量为数据截断,第二增量为数据修改,则所述增量去重模块还用于:如果第一增量的偏移小于第二增量的偏移,且第一增量的长度大于第二增量的长度,则只保留第一增量,并取第一增量和第二增量的快照号的较大值为去重后的两相邻增量的快照号;如果第一增量的偏移大于第二增量的偏移,且第一增量的长度大于第二增量的长度,则将第一增量的偏移取为第二增量的长度,同时保留第一增量,并取第一增量和第二增量的快照号的较大值为去重后的两相邻增量的快照号。
在第二方面的第五种可能的实现方式中,增量去重模块还用于,如果同一文件或目录的属性在相邻两快照中被修改,则增量去重模块仅保留快照号较大的增量。
在第二方面的第六种可能的实现方式中,增量去重模块还用于:如果文件或目录先被创建,然后数据或属性被修改,则只保留创建的增量,并在远程复制创建文件或目录时,拷贝最新的数据或属性值。
在第二方面的第七种可能的实现方式中,增量去重模块还用于:如果数据或属性先被修改,然后文件或目录被删除,则只保留删除的增量,远程复制时直接删除文件或目录。
本发明通过生成多个相邻时间点的快照,任意两相邻时间点的快照间内容的变化为增量,对两相邻增量进行增量去重处理,并对增量去重后的增量结果进行远程复制,其中,增量去重包括下述至少一种:如果两相邻增量为数据的变化,则合并相同的数据;如果两相邻增量为元数据的变化,则抵消针对同一文件或目录的创建和删除的增量,或者合并针对同一文件或目录的修改的增量,如果两相邻增量包括针对文件或目录的删除的增量,则删除针对文件或目录的其他增量;如果两相邻增量包括针对文件或目录的创建的增量,则删除针对文件或目录的其他增量;从而实现对两相邻增量进行增量去重处理,以消除两相邻增量存在重复、具有包含关系、或能相互抵消的增量;可以通过重复对两相邻增量进行增量去重处理,进而消除多个相邻时间点的快照间的增量存在多次重复、具有包含关系、或能相互抵消的增量,从而不需对每个增量都进行远程复制,只需对增量去重后的多个相邻时间点的快照间的增量进行一次差异数据拷贝就可以实现远程复制,由此能够减少重复或不必要的拷贝操作,极大提高备份效率,而操作的减少,就可以减少对带宽的占用,从而节省带宽资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是现有技术中远程复制基于多快照间增量的实现方法。
图2是本发明第一实施例的远程复制多快照间增量去重的实现方法的流程示意图;
图3是本发明第一实施例的相邻两快照间的数据类型的增量的去重方法示意图;
图4是本发明第二实施例的相邻两快照间的数据类型的增量的去重方法示意图;
图5是本发明第三实施例的相邻两快照间的数据类型的增量的去重方法示意图;
图6是本发明第四实施例的相邻两快照间的数据类型的增量的去重方法示意图;
图7是本发明第五实施例的相邻两快照间的数据类型的增量的去重方法示意图;
图8是本发明第六实施例的相邻两快照间的数据类型的增量的去重方法示意图;
图9是本发明第一实施例的相邻两快照间的元数据类型的增量的去重方法示意图;
图10是本发明第二实施例的相邻两快照间的元数据类型的增量的去重方法示意图;
图11是本发明第三实施例的相邻两快照间的元数据类型的增量的去重方法示意图;
图12是本发明第四实施例的相邻两快照间的元数据类型的增量的去重方法示意图;
图13是本发明第一实施例的远程复制多快照间增量去重的实现装置的结构示意图。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明。
首先请参见图2,图2是本发明远程复制多快照间增量去重的实现方法的流程示意图。如图2所示,远程复制多快照间增量去重的实现方法包括:
S10:生成多个相邻时间点的快照,任意两相邻时间点的快照间内容的变化为增量。
其中,快照可以是表示数据的一个副本,也可以是数据的一个复制品,可以在系统故障时快速的将数据恢复到指定时间点状态,并且可以允许用户以只读的方式访问任意时间点的快照数据。增量快照是在同一个快照卷上创建一系列连续的不同时间点的快照。任意两相邻时间点的快照间内容的变化即为一条增量。按照生成快照的时间顺序,可以认为增量是相邻快照中,后一快照相对于前一快照的变化量:增量=后一快照-前一快照。当快照数量为N时,增量数量为N-1。
增量和产生增量的快照之间有对应关系,而快照是有时间先后顺序的,因此也可以认为增量之间存在时间先后顺序,本发明实施例所说的相邻增量,是指在时间顺序上相邻的增量。
S11:对两相邻增量进行增量去重处理,并对增量去重后的增量结果进行远程复制;其中,增量去重包括下述至少一种:如果两相邻增量为数据的变化,则合并相同的数据;如果两相邻增量元数据的变化,则抵消针对同一文件或目录的创建和删除的增量,或者合并针对同一文件或目录的修改的增量,其中,元数据包括文件或目录;如果两相邻增量包括针对文件或目录的删除的增量,则删除针对文件或目录的其他增量;如果两相邻增量包括针对文件或目录的创建的增量,则删除针对文件或目录的其他增量。
去重是指去除重复的内容和无意义的内容。本发明实施例的去重既包括数据的去重,也包括对操作的去重。例如:相同的数据只保留一份;对同一个对象(目录或者文件),如果既要删除又要创建,相当于保持这个对象不变,不需要对这个对象做任何操作;如果需要删除某个对象,那么对这个对象的修改、增加等操作都是没有意义的,只需要执行一次删除操作即可。
其中,抵消针对同一文件或目录的创建和删除的增量是指:创建和删除是两个相反的操作,如果对同一个文件存在偶数个操作,且一半操作是创建、另一半操作是删除,那么相当于对这个文件不做任何操作,也就是说创建操作和删除操作相互抵消。除了文件,对于同一个目录也存在操作抵消的情况。
远程复制是指生产端将需要备份的文件和数据复制到灾备端,以便在系统故障时快速的将数据恢复到指定时间点状态,或者方便用户以只读的方式访问任意时间点的快照数据。在本实施例中,远程复制采用的是差异数据拷贝,即只拷贝已经发生变化的数据部分,对没有发生变化的数据部分,维持原样,不进行拷贝。
在本实施例中,可以依次重复对两相邻增量进行增量去重,也可以随机重复对两相邻增量进行增量去重,最终实现对所有多个相邻时间点的快照间的增量的增量去重,得到去重后的增量结果。另外,不同于现有技术中对每个增量都进行远程复制,只需要对增量去重后的多个相邻时间点的快照间的增量结果进行一次远程复制。其中,本发明实施例中的远程复制主要是针对文件系统的远程复制。
在本实施例中,通过对两相邻增量进行增量去重处理,消除每两相邻增量间存在多次重复、具有包含关系、或能相互抵消的增量,然后重复两相邻增量的增量去重处理,进而消除多个相邻时间点的快照间的增量存在多次重复、具有包含关系、或能相互抵消的增量,得到去重后的增量结果,对去重后的增量结果进行一次远程复制,由此能够减少重复或不必要的拷贝操作,极大提高备份效率,节省带宽资源。
在更具体的实施例中,增量可以是元数据和/或数据的变化,元数据是描述数据及其环境的数据,包括文件或目录。每个增量对应一快照号,快照号为增量的时间戳标记,取为两相邻时间点的快照间较大的快照号,其中,快照号越大,表示其对应的快照或增量产生的时间越往后。在本发明实施例中,对于两相邻时间点的快照,后一时间点的快照号大于前一时间点的快照号。如果增量为数据的变化,则增量还对应一偏移offset以及一长度length。其中,偏移是指变化的数据在对应文件中的起始位置,长度是指数据在对应文件中变化的长度,偏移和长度共同表示增量在对应文件中的数据变化的范围。一条增量可以是数据或元数据的变化,也可以既有数据的变化,也有元数据的变化部分。两相邻增量可以都是元数据或者数据的变化,也可以一条增量为元数据的变化,另一条增量为数据的变化。以下以COW的快照实现方法为例对数据变化和元数据变化的增量分别进行描述,其中,图2至图8是数据变化的增量去重方法的示意图,图9-图12是元数据变化的增量去重方法的示意图。
数据的变化主要包括某文件中数据修改、数据追加和数据截断三种场景,对两相邻增量的增量去重处理主要是比对同一文件或目录中两相邻增量的数据变化的范围,合并相同的数据。其中,数据截断是指在文件中删除一部分数据,该删除的数据可以是位于起始位置开始的部分数据,也可以是位于中间位置的部分数据,即被删除的数据在文件中的具体位置不限定。
具体地,增量为数据修改或追加时,取两相邻增量的偏移的较小值为去重后的两相邻增量的偏移,取两相邻增量的长度的较大值为去重后的两相邻增量的长度,取两相邻增量的快照号的较大值为去重后的两相邻增量的快照号。假设存在两条相邻快照增量A和增量B,数据变化的偏移offset和长度length分别为[offset_A,len_A]、[offset_B,len_B],增量A和增量B为数据修改产生的增量,以下针对增量A和增量B在不同数据变化范围情况下的增量去重方法进行详细描述。比较增量A和增量B的偏移offset和长度len,当offset_A=offset_B,且len_A=len_B,如图3所示,则增量A和增量B为相同增量,则保留增量A和增量B中快照号较大的增量;当offset_A=offset_B,若len_A>len_B,即增量A包含增量B,如图4所示,则只保留增量A;否则只保留增量B,快照号取两者最大值;当offset_A<offset_B,若len_A>=len_B,即增量A全部包含增量B,如图5所示,则只保留增量A,快照号取两者最大值;当offset_A<offset_B,且len_A>len_B,即增量A只包含增量B的一部分,如图6所示,则只保留快照号较大的增量,且偏移offset更新为MIN(offset_A,offset_B),长度length更新为MAX(len_A,len_B),即去重后的两相邻增量的偏移offset取增量A和增量B中较小的偏移offset,而去重后的两相邻增量的长度length取增量A和增量B中较大的长度length,从而实现增量为数据修改或追加时两相邻增量的合并,减少了不必要的拷贝操作。增量A和增量B为数据追加产生的增量时,与增量A和增量B皆为数据修改产生的增量时的增量去重方法相同,在此不再赘述。
两相邻增量分别为数据截断和数据修改时,该两相邻增量包括第一增量A和第二增量B,第一增量A为数据截断,第二增量B为数据修改,比较增量A和增量B的偏移offset和长度len。如果第一增量A的偏移offset_A小于第二增量B的偏移offset_B,且第一增量A的长度len_A大于第二增量B的长度len_B,如图7所示,则只保留第一增量A,并取第一增量A和第二增量B的快照号的较大值为去重后的两相邻增量的快照号。如果第一增量A的偏移offset_A大于第二增量B的偏移offset_B,且第一增量A的长度len_A大于第二增量B的长度len_B,如图8所示,则将第一增量A的偏移offset_A取为第二增量B的长度len_B,同时保留第一增量A,并取第一增量A和第二增量B的快照号的较大值为去重后的两相邻增量的快照号,如此将两相邻增量进行了合并,减少了不必要的拷贝操作。
元数据的变化包括文件或目录的修改、创建和删除。对两相邻增量进行增量去重处理包括:如果两相邻增量都为元数据的变化,则抵消针对同一文件或目录的创建和删除的增量,或者合并针对同一文件或目录的修改的增量;如果两相邻增量包括针对文件或目录的删除的增量,则删除针对该文件或目录的其他增量;如果两相邻增量包括针对文件或目录的创建的增量,则删除针对文件或目录的其他增量。
具体地,如果同一文件或目录的属性在两相邻增量中被修改,则仅保留快照号较大的增量。如果两相邻增量中,某一文件或目录先被创建后被删除,即如果两相邻增量存在同一文件或目录的创建和删除的增量,该两相邻增量是相反的增量,则创建和删除的增量相抵消,不保留增量,远程复制无需做任何操作。如图9所示,在快照N的基础上新创建文件file,并打快照N+1,再删除文件file,生成文件file的COW版本filesnapN+1,并打快照N+2。可见,[N,N+2]之间的快照增量由[N,N+1]、[N+1,N+2]的增量组成,其中,[N,N+1]之间的增量是文件file的创建;[N+1,N+2]的增量是文件file的删除,因此去重时,两者可以相互抵消,不保留增量,进行减少不必要的拷贝重复的操作。
如果同一文件或目录的属性在两相邻增量中被修改,则仅保留快照号较大的增量。如图10所示,在快照N的基础上进行操作,快照N中,文件file包括属性mod=755,首先执行chmod file756,即将文件file的属性mod=755更改为属性mod=756,生成文件file的COW版本filesnapN,并打快照N+1,然后执行chmod file777,即将文件file的属性mod=756更改为属性mod=777,生成文件file的COW版本filesnapN+1,并打快照N+2。可见,[N,N+1]之间的增量和[N+1,N+2]之间的增量都是对文件file的属性mod进行修改,且进行修改后文件file的属性mod最终为777,因此去重时,只保留快照号较大的增量,即直接将文件file的属性mod更改为777,从而将两相邻增量重复修改的部分进行了合并,消除了两相邻增量间存在重复的增量。
如果文件或目录先被创建,然后数据或属性被修改,则只保留创建的增量,并在远程复制创建文件或目录时,拷贝最新的数据或属性值。如图11所示,在快照N的基础上先创建文件file,其属性mod=755,并打快照N+1,然后执行chmod file756,即将文件file的属性mod=755更改为属性mod=756,生成文件file的COW版本filesnapN,去重时,只要保留创建的增量,即只要创建文件file,其属性mod定为756即可,从而实现了将修改的增量合并到创建的增量。其中,修改的增量可以是文件数据变化的增量,也可以是元数据变化的增量。
如果数据或属性先被修改,然后文件或目录被删除,则只保留删除的增量,远程复制时直接删除文件或目录。如图12所示,快照N中存在文件file,其属性mod=755,在快照N的基础上首先执行chmod file756,即将文件file的属性mod=755更改为属性mod=756,生成文件file的COW版本filesnapN,并打快照N+1,然后删除文件file,生成文件file的COW版本filesnapN+1,并打快照N+2。由于删除文件file时,其属性mod也一并删除了,因此去重时,只需保留删除的增量,即直接删除文件file即可,中间的修改是无效的,从而实现修改的增量合并到删除的增量。其中,修改的增量可以是文件数据变化的增量,也可以是元数据变化的增量。
以上各实施例消除了两相邻增量中存在重复、具有包含关系、或能相互抵消的增量。在此基础上,依次重复对两相邻增量进行增量去重,或者随机重复对两相邻增量进行增量去重,最终实现对多个相邻时间点快照间的增量的增量去重,得到去重后的增量结果。其中,两相邻增量可以都是数据变化的增量的任一种或都是元数据变化的增量的任一种,也可以一条增量是数据变化的增量的任一种,一条是元数据变化的增量的任一种,而重复对两相邻增量的增量去重中,可以是对上述任一种的重复去重,也可以是对上述任两种或多种的混合交叉去重;可以是依时间顺序依次重复对两相邻增量进行去重,也可以随机重复取任两相邻增量去重,或者两者的组合,直至得到对多个相邻时间点的快照间的增量全部去重后的增量结果。如此,可以消除多个相邻时间点的快照间的增量存在多次重复、具有包含关系、或能相互抵消的增量,从而不需对每个增量都进行远程复制,而只需要对增量去重后的多个相邻时间点的快照间的增量的增量结果进行一次远程复制,由此能够减少重复或不必要的拷贝操作,极大提高备份效率,而操作的减少,就可以减少对带宽的占用,从而节省带宽资源。
请参见图13,图13是本发明远程复制的装置的结构示意图。如图13所示,该远程复制的装置10包括:增量生成模块11和增量去重模块12。增量生成模块11用于生成多个相邻时间点的快照,任意两相邻时间点的快照间内容的变化为增量。增量去重模块12用于对两相邻增量进行增量去重处理,并对增量去重后的增量结果进行远程复制;其中,增量去重包括下述至少一种:如果两相邻增量为数据的变化,则合并相同的数据;如果两相邻增量为元数据的变化,则抵消针对同一文件或目录的创建和删除的增量,或者合并针对同一文件或目录的修改的增量;如果两相邻增量包括针对文件或目录的删除的增量,则删除针对文件或目录的其他增量;如果所述两相邻增量包括针对文件或目录的创建的增量,则删除针对所述文件或目录的其他增量。其中,远程复制是指生产端将需要备份的文件和数据复制到灾备端,以便在系统故障时快速的将数据恢复到指定时间点状态,或者方便用户以只读的方式访问任意时间点的快照数据。在本实施例中,远程复制采用的是差异数据拷贝,即只拷贝已经发生变化的数据部分,对没有发生变化的数据部分,维持原样,不进行拷贝。
在本实施例中,增量可以是元数据的变化和/或数据的变化,元数据包括文件或目录。每个增量对应一快照号,快照号为增量的时间戳标记,取为两相邻时间点的快照间较大的快照号,其中,快照号越大,表示其对应的快照或增量产生的时间越往后。在本发明实施例中,对于两相邻时间点的快照,后一时间点的快照号大于前一时间点的快照号。对于数据变化的增量,还对应一偏移以及一长度,其中,偏移是指变化的数据在对应文件中的起始位置,长度是指数据在对应文件中变化的长度,偏移和长度共同表示增量在对应文件中的数据变化的范围。一条增量可以是数据或元数据的变化,也可以既有数据的变化,也有元数据的变化部分。
数据的变化主要包括数据修改、数据追加和数据截断三种场景。其中,数据截断是指在文件中删除一部分数据,该删除的数据可以是位于起始位置开始的部分数据,也可以是位于中间位置的部分数据,即被删除的数据在文件中的具体位置不限定。对于两相邻增量都是数据变化的增量,增量去重模块12用于比对同一文件两相邻增量的数据变化的范围,合并相同的数据。具体地,增量为数据修改或追加时,增量去重模块12取两相邻增量的偏移的较小值为去重后的两相邻增量的偏移,取两相邻增量的长度的较大值为去重后的两相邻增量的长度,取两相邻增量的快照号的较大值为去重后的两相邻增量的快照号。如果两相邻增量中,一条增量为数据截断,另一条增量为数据修改,该两相邻增量包括第一增量和第二增量,第一增量为数据截断,第二增量为数据修改。则如果第一增量的偏移小于第二增量的偏移,且第一增量的长度大于第二增量的长度,则增量去重模块12只保留第一增量,并取第一增量和第二增量的快照号的较大值为去重后的两相邻增量的快照号。如果第一增量的偏移大于第二增量的偏移,且第一增量的长度大于第二增量的长度,则增量去重模块12将第一增量的偏移取为第二增量的长度,同时保留第一增量,并取第一增量和第二增量的快照号的较大值为去重后的两相邻增量的快照号。
元数据变化包括文件或目录的修改、创建和删除。对于两相邻增量都是元数据变化的增量,或者一条增量为元数据变化,另一条增量为数据变化,增量去重模块12用于抵消同一目录或文件相邻两快照间新创建和删除的增量;或合并同一目录或文件两相邻增量间属性修改的增量;或如果两相邻增量存在目录或文件创建的增量,则删除目录或文件的其他增量;或如果两相邻增量包括针对文件或目录的创建的增量,则删除针对文件或目录的其他增量。
具体地,如果同一文件或目录的属性在两相邻增量中被修改,则增量去重模块12仅保留快照号较大的增量。如果文件或目录先被创建,然后数据或属性被修改,则增量去重模块12只保留创建的增量,并在远程复制创建文件或目录时,拷贝最新的数据或属性值。如果数据或属性先被修改,然后文件或目录被删除,则增量去重模块12只保留删除的增量,远程复制时直接删除文件或目录。
在本实施例中,增量去重模块12还重复对两相邻增量进行增量去重处理,以实现多个相邻时间点的快照间的增量的增量去重,最终得到去重后的增量结果。具体地,两相邻增量可以都是数据变化的增量的任一种或都是元数据变化的增量的任一种,也可以一条增量是数据变化的增量的任一种,一条是元数据变化的增量的任一种。增量去重模块12可以是对上述任一种的重复去重,也可以是对上述任两种或多种的混合交叉去重;并且可以依时间顺序依次重复对两相邻增量进行去重,也可以随机重复取任两相邻增量去重,或者两者的组合,直至得到对多个相邻时间点的快照间的增量全部去重后的增量结果。增量去重模块12只需对增量去重后的增量结果进行一次远程复制即可。如此消除了多个相邻时间点的快照间的增量存在多次重复、具有包含关系、或能相互抵消的增量,能够减少重复或不必要的拷贝操作,极大提高备份效率,节省带宽资源。
综上所述,本发明通过生成多个相邻时间点的快照,任意两相邻时间点的快照间内容的变化为增量,对两相邻增量进行增量去重处理,并对增量去重后的增量结果进行远程复制,其中,增量去重包括下述至少一种:如果两相邻增量为数据的变化,则合并相同的数据;如果两相邻增量为元数据的变化,则抵消针对同一文件或目录的创建和删除的增量,或者合并针对同一文件或目录的修改的增量,如果两相邻增量包括针对文件或目录的删除的增量,则删除针对文件或目录的其他增量;如果两相邻增量包括针对文件或目录的创建的增量,则删除针对文件或目录的其他增量,从而实现对两相邻增量进行增量去重处理,以消除两相邻增量存在重复、具有包含关系、或能相互抵消的增量;通过重复对两相邻增量进行增量去重处理,消除了多个相信时间点的快照间的增量存在多次重复、具有包含关系、或能相互抵消的增量,从而不需对每个增量都进行远程复制,只需要对增量去重后的多个相邻时间点的快照间的增量进行一次远程复制增量备份,能够减少重复或不必要的拷贝操作,极大提高备份效率,节省带宽资源。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (16)
1.一种远程复制方法,其特征在于,所述方法包括:
生成多个相邻时间点的快照,任意两相邻时间点的快照间内容的变化为增量;
对两相邻增量进行增量去重处理,并对所述增量去重后的增量结果进行远程复制;
其中,所述增量去重包括下述至少一种:
如果所述两相邻增量为数据的变化,则合并相同的数据;
如果所述两相邻增量为元数据的变化,则抵消针对同一文件或目录的创建和删除的增量,或者合并针对同一文件或目录的修改的增量,其中,所述元数据包括文件或目录;
如果所述两相邻增量包括针对文件或目录的删除的增量,则删除针对所述文件或目录的其他增量;
如果所述两相邻增量包括针对文件或目录的创建的增量,则删除针对所述文件或目录的其他增量。
2.根据权利要求1所述的方法,其特征在于,每个所述增量对应一快照号,所述快照号为所述增量的时间戳标记,取为所述两相邻时间点的快照间较大的快照号,如果所述增量为数据的变化,则所述增量还对应一偏移以及一长度。
3.根据权利要求2所述的方法,其特征在于,所述如果所述两相邻增量为数据的变化,则合并相同的数据包括:
如果所述两相邻增量是针对同一文件或目录的数据变化,则比对所述两相邻增量的数据变化的范围,合并相同的部分。
4.根据权利要求3所述的方法,其特征在于,所述比对所述两相邻增量的数据变化的范围,合并相同的部分包括:
所述两相邻增量为数据修改或追加时,取所述两相邻增量的偏移的较小值为去重后的所述两相邻增量的偏移,取所述两相邻增量的长度的较大值为去重后的所述两相邻增量的长度,取所述两相邻增量的快照号的较大值为去重后的所述两相邻增量的快照号。
5.根据权利要求3所述的方法,其特征在于,所述比对所述两相邻增量的数据变化的范围,合并相同的部分包括:
如果所述两相邻增量包括第一增量和第二增量,所述第一增量为数据截断,所述第二增量为数据修改,则
如果所述第一增量的偏移小于所述第二增量的偏移,且所述第一增量的长度大于所述第二增量的长度,则只保留所述第一增量,并取所述第一增量和所述第二增量的快照号的较大值为去重后的所述两相邻增量的快照号;
如果所述第一增量的偏移大于所述第二增量的偏移,且所述第一增量的长度大于所述第二增量的长度,则将所述第一增量的偏移取为所述第二增量的长度,同时保留所述第一增量,并取所述第一增量和所述第二增量的快照号的较大值为去重后的所述两相邻增量的快照号。
6.根据权利要求2所述的方法,其特征在于,所述如果所述两相邻增量为元数据的变化,则合并针对同一文件或目录的修改的增量包括:如果所述同一文件或目录的属性在所述两相邻增量中被修改,则仅保留快照号较大的增量。
7.根据权利要求2所述的方法,其特征在于,所述如果所述两相邻增量包括针对文件或目录的创建的增量,则删除针对所述同一文件或目录的其他增量包括:
如果所述文件或目录先被创建,然后数据或属性被修改,则只保留创建的增量,并在远程复制创建所述文件或目录时,拷贝最新的所述数据或属性值。
8.根据权利要求2所述的方法,其特征在于,所述如果所述两相邻增量包括针对文件或目录的删除的增量,则删除针对所述同一文件或目录的其他增量包括:
如果所述数据先被修改,然后所述文件或目录被删除,则只保留删除的增量,远程复制时直接删除所述文件或目录。
9.一种远程复制的装置,其特征在于,所述装置包括:
增量生成模块,用于生成多个相邻时间点的快照,任意两相邻时间点的快照间内容的变化为增量;
增量去重模块,用于对两相邻增量进行增量去重处理,并对所述增量去重后的增量结果进行远程复制;
其中,所述增量去重包括下述至少一种:
如果所述两相邻增量为数据的变化,则合并相同的数据;
如果所述两相邻增量为元数据的变化,则抵消针对同一文件或目录的创建和删除的增量,或者合并针对同一文件或目录的修改的增量,其中,所述元数据包括文件或目录;
如果所述两相邻增量包括针对文件或目录的删除的增量,则删除针对所述文件或目录的其他增量;
如果所述两相邻增量包括针对文件或目录的创建的增量,则删除针对所述文件或目录的其他增量。
10.根据权利要求9所述的装置,其特征在于,每个所述增量对应一快照号,所述快照号为所述增量的时间戳标记,取所述两相邻时间点的快照间较大的快照号,如果所述增量为数据的变化,则所述增量还对应一偏移以及一长度。
11.根据权利要求10所述的装置,其特征在于,所述增量去重模块还用于,如果所述两相邻增量是针对同一文件或目录的数据变化,则比对同一文件所述两相邻增量的数据变化的范围,合并相同的部分。
12.根据权利要求11所述的装置,其特征在于,所述增量去重模块还用于,所述两相邻增量为数据修改或追加时,取所述两相邻的增量的偏移的较小值为去重后的所述两相邻增量的偏移,取所述两相邻增量的长度的较大值为去重后的所述两相邻增量的长度,取所述两相邻增量的快照号的较大值为去重后的所述两相邻增量的快照号。
13.根据权利要求11所述的装置,其特征在于,如果所述两相邻增量包括第一增量和第二增量,所述第一增量为数据截断,所述第二增量为数据修改,则所述增量去重模块还用于:
如果所述第一增量的偏移小于所述第二增量的偏移,且所述第一增量的长度大于所述第二增量的长度,则只保留所述第一增量,并取所述第一增量和所述第二增量的快照号的较大值为去重后的所述两相邻增量的快照号;
如果所述第一增量的偏移大于所述第二增量的偏移,且所述第一增量的长度大于所述第二增量的长度,则将所述第一增量的偏移取为所述第二增量的长度,同时保留所述第一增量,并取所述第一增量和所述第二增量的快照号的较大值为去重后的所述两相邻增量的快照号。
14.根据权利要求10所述的装置,其特征在于,所述增量去重模块还用于,如果所述同一文件或目录的属性在所述两相邻增量中被修改,则仅保留快照号较大的增量。
15.根据权利要求10所述的装置,其特征在于,所述增量去重模块还用于:
如果所述文件或目录先被创建,然后数据或属性被修改,则只保留创建的增量,并在远程复制创建所述文件或目录时,拷贝最新的所述数据或属性值。
16.根据权利要求10所述的装置,其特征在于,所述增量去重模块还用于:
如果所述数据或属性先被修改,然后所述文件或目录被删除,则只保留删除的增量,远程复制时直接删除所述文件或目录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310689124.0A CN103645970B (zh) | 2013-12-13 | 2013-12-13 | 一种远程复制多快照间增量去重的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310689124.0A CN103645970B (zh) | 2013-12-13 | 2013-12-13 | 一种远程复制多快照间增量去重的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103645970A true CN103645970A (zh) | 2014-03-19 |
CN103645970B CN103645970B (zh) | 2017-04-19 |
Family
ID=50251191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310689124.0A Active CN103645970B (zh) | 2013-12-13 | 2013-12-13 | 一种远程复制多快照间增量去重的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103645970B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648987A (zh) * | 2016-12-27 | 2017-05-10 | 江苏爱科赛尔云数据科技有限公司 | 保持用户快照设定总数的虚拟机增量备份、恢复方法 |
CN107506265A (zh) * | 2017-08-30 | 2017-12-22 | 安徽天达网络科技有限公司 | 一种基于互联网的差异性远程文件备份与恢复系统 |
CN107908755A (zh) * | 2017-11-21 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种快照文件处理方法及装置 |
CN108733513A (zh) * | 2018-05-07 | 2018-11-02 | 杭州宏杉科技股份有限公司 | 一种数据更新方法及装置 |
CN110795389A (zh) * | 2019-10-28 | 2020-02-14 | 深信服科技股份有限公司 | 基于存储快照的拷贝方法、用户设备、存储介质及装置 |
CN111342933A (zh) * | 2020-02-25 | 2020-06-26 | 卓望数码技术(深圳)有限公司 | 数据传输方法、设备及介质 |
CN111367856A (zh) * | 2020-02-28 | 2020-07-03 | 杭州宏杉科技股份有限公司 | 数据复制方法、装置、电子设备及机器可读存储介质 |
CN111569413A (zh) * | 2020-05-14 | 2020-08-25 | 北京代码乾坤科技有限公司 | 数据同步方法和装置 |
CN112347037A (zh) * | 2020-10-13 | 2021-02-09 | 北京天融信网络安全技术有限公司 | 存储卷的快照处理方法、装置、介质和电子设备 |
CN113949673A (zh) * | 2021-10-15 | 2022-01-18 | 维沃移动通信有限公司 | 传感器数据处理方法、装置、穿戴式电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770088A (zh) * | 2004-11-02 | 2006-05-10 | 惠普开发有限公司 | 存储网络中的增量备份操作 |
US20110258381A1 (en) * | 2010-04-20 | 2011-10-20 | Xyratex Technology Limited | Data duplication resynchronisation |
CN102378969A (zh) * | 2009-03-30 | 2012-03-14 | 惠普开发有限公司 | 拷贝卷中存储的数据的去重复 |
CN102737098A (zh) * | 2011-03-29 | 2012-10-17 | 日本电气株式会社 | 分布式文件系统 |
-
2013
- 2013-12-13 CN CN201310689124.0A patent/CN103645970B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770088A (zh) * | 2004-11-02 | 2006-05-10 | 惠普开发有限公司 | 存储网络中的增量备份操作 |
CN102378969A (zh) * | 2009-03-30 | 2012-03-14 | 惠普开发有限公司 | 拷贝卷中存储的数据的去重复 |
US20110258381A1 (en) * | 2010-04-20 | 2011-10-20 | Xyratex Technology Limited | Data duplication resynchronisation |
CN102737098A (zh) * | 2011-03-29 | 2012-10-17 | 日本电气株式会社 | 分布式文件系统 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648987A (zh) * | 2016-12-27 | 2017-05-10 | 江苏爱科赛尔云数据科技有限公司 | 保持用户快照设定总数的虚拟机增量备份、恢复方法 |
CN107506265A (zh) * | 2017-08-30 | 2017-12-22 | 安徽天达网络科技有限公司 | 一种基于互联网的差异性远程文件备份与恢复系统 |
CN107908755A (zh) * | 2017-11-21 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种快照文件处理方法及装置 |
CN108733513A (zh) * | 2018-05-07 | 2018-11-02 | 杭州宏杉科技股份有限公司 | 一种数据更新方法及装置 |
CN110795389A (zh) * | 2019-10-28 | 2020-02-14 | 深信服科技股份有限公司 | 基于存储快照的拷贝方法、用户设备、存储介质及装置 |
CN110795389B (zh) * | 2019-10-28 | 2022-09-30 | 深信服科技股份有限公司 | 基于存储快照的拷贝方法、用户设备、存储介质及装置 |
CN111342933B (zh) * | 2020-02-25 | 2022-06-07 | 卓望数码技术(深圳)有限公司 | 数据传输方法、设备及介质 |
CN111342933A (zh) * | 2020-02-25 | 2020-06-26 | 卓望数码技术(深圳)有限公司 | 数据传输方法、设备及介质 |
CN111367856A (zh) * | 2020-02-28 | 2020-07-03 | 杭州宏杉科技股份有限公司 | 数据复制方法、装置、电子设备及机器可读存储介质 |
CN111367856B (zh) * | 2020-02-28 | 2024-03-29 | 杭州宏杉科技股份有限公司 | 数据复制方法、装置、电子设备及机器可读存储介质 |
CN111569413A (zh) * | 2020-05-14 | 2020-08-25 | 北京代码乾坤科技有限公司 | 数据同步方法和装置 |
CN111569413B (zh) * | 2020-05-14 | 2023-06-13 | 北京代码乾坤科技有限公司 | 数据同步方法和装置 |
CN112347037A (zh) * | 2020-10-13 | 2021-02-09 | 北京天融信网络安全技术有限公司 | 存储卷的快照处理方法、装置、介质和电子设备 |
CN113949673A (zh) * | 2021-10-15 | 2022-01-18 | 维沃移动通信有限公司 | 传感器数据处理方法、装置、穿戴式电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103645970B (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103645970A (zh) | 一种远程复制多快照间增量去重的实现方法及装置 | |
US20140164330A1 (en) | Pruning previously-allocated free blocks from a synthetic backup | |
CN103473277B (zh) | 文件系统的快照方法和装置 | |
AU2009330067B2 (en) | Asynchronous distributed garbage collection for replicated storage clusters | |
CN102142032B (zh) | 一种分布式文件系统的数据读写方法及系统 | |
CN103051681B (zh) | 一种面向分布式文件系统的协作式日志系统 | |
CN111104069A (zh) | 分布式存储系统的多区域数据处理方法、装置及电子设备 | |
CN103377100B (zh) | 一种数据备份方法、网络节点及系统 | |
CN105718548A (zh) | 基于去重复存储系统中用于可扩展引用管理的系统和方法 | |
CN106547644B (zh) | 增量备份方法和设备 | |
CN104461773A (zh) | 一种虚拟机备份去重的方法 | |
CN104239443A (zh) | 一种序列化数据操作日志的存储方法 | |
CN103595797A (zh) | 一种分布式存储系统中的缓存方法 | |
CN103810060A (zh) | 基于分布式数据库的数据备份方法及其系统 | |
US20130013566A1 (en) | Storage group synchronization in data replication environments | |
CN101751478A (zh) | 一种文件备份方法及系统 | |
CN104486387B (zh) | 一种数据同步处理方法及系统 | |
CN107506265A (zh) | 一种基于互联网的差异性远程文件备份与恢复系统 | |
CN106873902B (zh) | 一种文件存储系统、数据调度方法及数据节点 | |
CN111488243B (zh) | MongoDB数据库的备份、恢复方法、装置、电子设备及存储介质 | |
CN105353988A (zh) | 一种元数据读写方法及装置 | |
Martin et al. | Scalable XML Collaborative Editing with Undo: (Short Paper) | |
CN103106200A (zh) | 非关系型数据库同步系统及双写同步方法 | |
CN104268097A (zh) | 一种元数据处理方法及系统 | |
CN104484402A (zh) | 一种删除重复数据的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211228 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |