一种基于数据块的增量备份的方法和系统的制作方法

文档序号:6634085阅读:194来源:国知局
一种基于数据块的增量备份的方法和系统的制作方法
【专利摘要】本发明公开了一种基于数据块的增量备份的方法和系统,涉及数据块备份领域。该方法通过校验待备份数据块的数字指纹,来判断待备份的数据块的内容是否已经发生变化,如果数据块的内容发生了变化,则进行增量备份,如果数据块的内容未发生变化,则不予备份,与现有技术中,通过判断数据的更新时间,来进行增量备份的技术相比,避免了时间更新而内容未发生变化的数据的重复备份,进而极大的减小了备份的数据量,提升了存储数据备份的效率,保证了存储系统在保持工作状态的情况下,备份数据块时给存储系统带来非常小的压力,减少了备份耗时,也降低了备份容灾的风险。
【专利说明】一种基于数据块的增量备份的方法和系统

【技术领域】
[0001]本发明涉及数据块备份领域,尤其涉及一种基于数据块的增量备份的方法和系统。

【背景技术】
[0002]数据块备份是数据块容灾的基础,是指为防止系统出现操作失误或系统故障导致数据块丢失,而将全部或部分数据块集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。
[0003]数据块备份包括完全备份、差异备份和增量备份,随着数据块的海量增加,为了减少备份的数据块量,减少备份耗时,降低备份时给存储带来的压力,降低备份中断的次数,一般采用增量备份,所谓增量备份,是指针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件。
[0004]但是,现有技术的增量备份,由于是根据文件的更新时间来判断文件是否发生变化,进而确定是否进行备份,所以,存在以下缺点:当操作人员只是修改了少量内容,则文件的时间得到了更新,发生了变化,但是文件的大部分内容没有更新,没有发生变化,所以,对时间更新的文件进行备份,就会导致大量内容相同的文件的重复备份,从而在数据块量很大的情况下,会进一步加大备份的耗时,备份时给存储带来巨大的额外压力,以及备份中断的次数,中断后需要重新备份的次数。


【发明内容】

[0005]本发明的目的在于提供一种基于数据块的增量备份的方法和系统,从而解决现有技术中存在的前述问题。
[0006]为了实现上述目的,本发明采用的技术方案如下:
[0007]—种基于数据块的增量备份的方法,包括如下步骤:
[0008]SI,存储系统向备份系统发送待备份数据块的数字指纹;
[0009]S2,所述备份系统校验所述待备份数据块的数字指纹,
[0010]如果所述待备份数据块的数字指纹与所述备份系统中存储的数字指纹相同,则结束;
[0011]如果所述待备份数据块的数字指纹与所述备份系统中存储的数字指纹不相同,则执行S3 ;
[0012]S3,所述存储系统向所述备份系统发送所述待备份数据块,所述备份系统存储所述待备份数据块和所述待备份数据块的数字指纹。
[0013]进一步地,SI之前还包括步骤,存储系统向备份系统发起数据块备份请求;备份系统检查是否支持所述存储系统发起的请求,如果不支持则结束;如果支持,则执行Si。
[0014]进一步地,SI之前还包括步骤,将所述存储系统上的数据按照固定大小划分成若干个数据块,计算每个所述数据块的数字指纹,并将所述数字指纹保存到所述存储系统的元数据中。
[0015]具体地,所述数据块的大小为16K的整数倍。
[0016]更具体地,所述数据块的大小为16K-256K。
[0017]更具体地,所述数据块的大小为64K。
[0018]具体地,所述数字指纹为MD5值。
[0019]进一步地,S3之后还包括步骤,所述备份系统向所述存储系统返回处理结果。
[0020]一种基于数据块的增量备份的系统,包括:
[0021]存储系统:用于向备份系统发送待备份数据块以及待备份数据块的数字指纹;
[0022]备份系统:用于接收、校验存储系统发送的待备份数据块的数字指纹;还用于存储待备份数据块和待备份数据块的数字指纹。
[0023]具体地,所述存储系统设置有用于备份的客户端模块,所述客户端模块用于向备份系统发起数据块备份请求;所述备份系统设置有用于备份的服务端模块,所述服务端模块用于检查是否支持请求所述客户端模块发起的数据块备份请求。
[0024]本发明的有益效果是:本发明实施例提供的基于数据块的增量备份的方法和系统,通过校验待备份数据块的数字指纹,来判断待备份的数据块的内容是否已经发生变化,如果数据块的内容发生了变化,则进行增量备份,如果数据块的内容未发生变化,则不予备份,与现有技术中,通过判断数据的更新时间,来进行增量备份的技术相比,避免了时间更新而内容未发生变化的数据的重复备份,进而极大的减小了备份的数据量,提升了存储数据备份的效率,保证了存储系统在保持工作状态的情况下,备份数据块时给存储系统带来非常小的压力,减少了备份耗时,也降低了备份容灾的风险。

【专利附图】

【附图说明】
[0025]图1是本发明一个实施例提供的基于数据块的增量备份的方法流程图;
[0026]图2是本发明另一个实施例提供的基于数据块的增量备份的方法流程图。

【具体实施方式】
[0027]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的【具体实施方式】仅仅用以解释本发明,并不用于限定本发明。
[0028]如图1所示,本发明实施例提供了一种基于数据块的增量备份的方法,包括如下步骤:
[0029]SI,存储系统向备份系统发送待备份数据块的数字指纹;
[0030]S2,所述备份系统校验所述待备份数据块的数字指纹,
[0031]如果所述待备份数据块的数字指纹与所述备份系统中存储的数字指纹相同,则结束;
[0032]如果所述待备份数据块的数字指纹与所述备份系统中存储的数字指纹不相同,则执行S3 ;
[0033]S3,所述存储系统向所述备份系统发送所述待备份数据块,所述备份系统存储所述待备份数据块和所述待备份数据块的数字指纹。
[0034]现有技术中的数据增量备份,是针对于完整的文件或数据库,而且是根据文件或数据库的更新时间来决定是否需要进行增量备份。由于在实际应用过程中,文件或数据库的可能存在这样的情形,比如,在windows系统中,一个文件可能存在多个拷贝,而每个拷贝只是更新的时间不同,而内容是相同的,则这种情况下,采用现有技术的数据增量备份的方法,就需要对该文件的每个拷贝都需要备份,则会产生多个重复性的备份,那么在备份的过程中,就会由于备份的数据量增大,从而使备份耗时长,备份可能中断的次数就会增多,需要重新备份的次数也会增多,备份的同时,保证存储系统进行正常工作的压力会增大。而在上述问题的基础上,如本领域普通技术人员容易想到的,针对完整的文件,可以通过判断整个文件的内容是否发生变化,来决定是否进行增量备份,这样,虽然能够适当的减少文件重复备份,进而适当的减少备份的数据量,减轻存储系统的额外压力,但是,假设整个文件中只有某个部分的内容进行了修改,而不是对整个文件进行了修改,那么针对整个文件而言,其内容页是发生了变化,也需要对整个文件进行备份,但是,其中,却只有发生变化的某段数据是真正需要备份的,所以,针对整个文件,即使根据内容的是否变化来决定是否进行增量备份,也会带来文件中的没有发生变化的数据段进行重复备份,所以为了解决上述问题,本发明提供了一种能够避免数据重复备份,极大的减少备份数据量的增量备份的方法。即基于数据块的增量备份的方法:通过计算数据块的数字指纹,并校验在备份系统中是否存在与该数字指纹相同的数字指纹,就可以判断该数据块是否发生了变化,如果存在相同的数字指纹,则说明该数据块发生了变化,则进行备份,如果不存在相同的数字指纹,则说明该数据块没有发生变化,则不予备份。这样,通过针对数据块,判断数据块是否发生变化,而不是针对整个文件,判断整个文件是否发生变化,就避免了未发生变化的数据块的重复备份,从而极大的减少了备份量。
[0035]同时,本发明实施例中,通过校验数据块的数字指纹,来判断数据块是否发生变化,而不是直接判断数据块是否发生变化,由于数字指纹与数据块之间是一一对应的,数据块一旦发生变化,数字指纹也会发生变化,所以,对于每个数据块,都有一个唯一的数字指纹,而数字指纹相对于数据块而言,非常小,因此,本发明实施例中,不是直接校验数据块,而是通过校验数据块的数字指纹来判断数据块是否发生变化,可以极大的减轻系统的工作压力,提高数据备份的效率。
[0036]如图2所示,本发明实施例中,SI之前还可以包括步骤,存储系统向备份系统发起数据块备份请求;备份系统检查请求是否支持,如果不支持则结束;如果支持,则执行Si。
[0037]为了避免备份系统和存储系统不能正常的通信,导致存储系统中需要备份的数据块无法正常的备份,可以采用上述步骤,如果备份系统支持存储系统发送的数据块备份请求,则可以证明备份系统和存储系统之间可以正常的通信,从而本方法就可以保证将需要备份的数据块进行备份,不会出现不能备份的情况。
[0038]在实际使用过程中,在存储系统内安装用于备份的客户端程序,通过该客户端程序向备份系统发起数据块备份请求;另外,在备份系统内安装用于备份的服务端程序,通过该服务端程序检查请求是否支持。
[0039]本发明实施例中,SI之前还可以包括步骤,将所述存储系统上的数据按照固定大小划分成若干个数据块,计算每个所述数据块的数字指纹,并将所述数字指纹保存到所述存储系统的元数据中。
[0040]通过将数据划分成若干个数据块,并计算每个数据块的数字指纹,就可以通过将数字指纹先发送到备份系统,如果数字指纹通过了校验,在发送待备份的数据块,这样,可以减轻系统的压力,提高系统的整体工作效率。
[0041]而上述划分数据块,并计算每个数据块的数字指纹的任务可以在系统闲暇时完成,并将所有的数字指纹均保存在存储系统的元数据中,而当需要进行数据备份时,则可以直接从存储系统的元数据中,提取待备份的数据块的数字指纹,直接发送至备份系统进行校验,而不需再执行计算待备份的数据块的数字指纹的任务,所以,可以提高系统资源的利用率,提高系统的整体工作效率和备份的工作效率。
[0042]本发明实施例中,可以选择划分的数据块的大小为16K的整数倍。如果划分的数据块过小,会导致频繁计算每个数据块的数字指纹,影响整个系统的效率。
[0043]进一步地,所述数据块的大小可以选择为16K-256K。具体地,对于小文件,在对其划分数据块时,每个数据块可以比较小,而当文件比较大时,则划分的数据块也应该比较大,从而既可以保证系统的效率,有可以保证对数据块计算数字指纹的速度。
[0044]更进一步地,所述数据块的大小可以选择为64K。基本上可以满足大多数数据的情况。
[0045]本发明实施例中,所述数字指纹为MD5值。
[0046]对每个数据块进行MD5计算,通过其不可逆的字符串变换算法,产生一个唯一的MD5信息摘要,即MD5值。所以,对于一个数据块,只存在一个MD5值,如果该数据块进行了任意的变动,MD5值都会发生变化,故对数据块进行MD5计算,判断数据块是否一致或是否发生变化会比较准确。本发明实施例中,通过计算每个数据块的MD5值,备份系统通过校验MD5值来判断是否要进行数据块的备份,会准确的对内容发生变化的数据块进行备份,而不会出现对相同数据块的备份。
[0047]如本领域技术人员可以理解的,数字指纹还可以为CRC32值。
[0048]CRC是“冗余校验码”的意思,CRC32表示一个32bit (8位十六进制数)的校验值。由于CRC32产生校验值时源数据块的每一个bit (位)都参与了计算,所以数据块中即使只有一位发生了变化,也会得到不同的CRC32值。因此,本发明实施例中,也可以通过计算数据块的CRC32值,准确的判断待备份的数据块的CRC32值是否与备份系统中存储的CRC32值一致,从而可以准确的判断待备份的数据块是否发生了变化,而不会出现错误判断的情况,或者可以避免相同数据块的重复备份的情况发生。
[0049]如本领域技术人员可以理解的,数字指纹还可以为SHAl值。
[0050]文件的SHAl值就像人的指纹,是文件的数字指纹,是唯一的,一个文件对应一个唯一的SHAl值。所以可以利用SHAl值来准确的判断两个数据块是否一致。在本发明实施例中,还可以通过校验待备份数据块的SHAl值与备份系统中存储的SHAl值是否一致,从而判断待备份数据块是否发生变化,而不会出现错误判断的情况,或者可以避免相同数据块的重复备份的情况发生。
[0051]本发明实施例中,S3之后还可以包括步骤,所述备份系统向所述存储系统返回处理结果。
[0052]采用上述步骤,能够使存储系统的客户端了解备份系统是否对待备份的数据块成功的进行了备份,以便客户端能够对系统或待备份的数据块进行进一步的处理。
[0053]本发明实施例还提供了一种基于数据块的增量备份的系统,包括:
[0054]存储系统:用于向备份系统发送待备份数据块以及待备份数据块的数字指纹;
[0055]备份系统:用于接收、校验存储系统发送的待备份数据块的数字指纹;还用于存储待备份数据块和待备份数据块的数字指纹。
[0056]本发明实施例中,所述存储系统设置有用于备份的客户端模块,所述客户端模块用于向备份系统发起数据块备份请求;所述备份系统设置有用于备份的服务端模块,所述服务端模块用于检查是否支持请求所述客户端模块发起的数据块备份请求。
[0057]本发明实施例提供的基于数据块的增量备份的系统,是用于实现上述基于数据块的增量备份的方法的系统,故该系统的工作过程见上述方法的描述,在此不再赘述。
[0058]通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明实施例提供的基于数据块的增量备份的方法和系统,通过校验待备份数据块的数字指纹,来判断待备份的数据块的内容是否已经发生变化,如果数据块的内容发生了变化,则进行增量备份,如果数据块的内容未发生变化,则不予备份,与现有技术中,通过判断数据的更新时间,来进行增量备份的技术相比,避免了时间更新而内容未发生变化的数据的重复备份,进而极大的减小了备份的数据量,提升了存储数据备份的效率,保证了存储系统在保持工作状态的情况下,备份数据块时给存储系统带来非常小的压力,减少了备份耗时,也降低了备份容灾的风险。
[0059]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0060]本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际情况进行适应性调整,也可根据实际情况并发进行。
[0061]上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储坐寸ο
[0062]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0063]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
【权利要求】
1.一种基于数据块的增量备份的方法,其特征在于,包括如下步骤: Si,存储系统向备份系统发送待备份数据块的数字指纹; S2,所述备份系统校验所述待备份数据块的数字指纹, 如果所述待备份数据块的数字指纹与所述备份系统中存储的数字指纹相同,则结束; 如果所述待备份数据块的数字指纹与所述备份系统中存储的数字指纹不相同,则执行S3 ; S3,所述存储系统向所述备份系统发送所述待备份数据块,所述备份系统存储所述待备份数据块和所述待备份数据块的数字指纹。
2.根据权利要求1所述的基于数据块的增量备份的方法,其特征在于,SI之前还包括步骤,存储系统向备份系统发起数据块备份请求;备份系统检查是否支持所述存储系统发起的请求,如果不支持则结束;如果支持,则执行SI。
3.根据权利要求1所述的基于数据块的增量备份的方法,其特征在于,SI之前还包括步骤,将所述存储系统上的数据按照固定大小划分成若干个数据块,计算每个所述数据块的数字指纹,并将所述数字指纹保存到所述存储系统的元数据中。
4.根据权利要求3所述的基于数据块的增量备份的方法,其特征在于,所述数据块的大小为16K的整数倍。
5.根据权利要求4所述的基于数据块块的增量备份的方法,其特征在于,所述数据块的大小为16K-256K。
6.根据权利要求5所述的基于数据块块的增量备份的方法,其特征在于,所述数据块的大小为64K。
7.根据权利要求1所述的基于数据块的增量备份的方法,其特征在于,所述数字指纹为MD5值。
8.根据权利要求1所述的基于数据块的增量备份的方法,其特征在于,S3之后还包括步骤,所述备份系统向所述存储系统返回处理结果。
9.一种基于数据块的增量备份的系统,其特征在于,包括: 存储系统:用于向备份系统发送待备份数据块以及待备份数据块的数字指纹; 备份系统:用于接收、校验存储系统发送的待备份数据块的数字指纹;还用于存储待备份数据块和待备份数据块的数字指纹。
10.根据权利要求9所述的基于数据块的增量备份的系统,其特征在于,所述存储系统设置有用于备份的客户端模块,所述客户端模块用于向备份系统发起数据块备份请求;所述备份系统设置有用于备份的服务端模块,所述服务端模块用于检查是否支持请求所述客户端模块发起的数据块备份请求。
【文档编号】G06F11/14GK104375905SQ201410642398
【公开日】2015年2月25日 申请日期:2014年11月7日 优先权日:2014年11月7日
【发明者】杨耀敏, 易乐天, 曲维杰 申请人:北京云巢动脉科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1