容灾数据备份的方法及系统的制作方法

文档序号:6336110阅读:196来源:国知局
专利名称:容灾数据备份的方法及系统的制作方法
技术领域
本发明属于网络管理系统,特别涉及一种基于重复数据删除的网管系统异地容灾数据备份的方法及系统。
背景技术
网管系统是管理通讯网网元的系统,配置了全网网元的配置数据,这些网元配置 数据非常重要,如果没有这些配置数据,网元就不能正常运行业务。基于容灾的考虑,配置 数据需要在异地备份起来。一旦网管系统遭受地震、火灾等而被损坏,则可以将异地备份的 配置数据恢复过来,以保证网元业务能正常运行。一般而言,配置数据的异地备份要求每天 备份一次。现有的一种容灾数据的异地备份技术只是简单的将配置数据导出成文件,文件按 照日期来命名,然后将文件拷贝到远程备份系统中,但这样做会产生数据冗余的问题。也有 其他网管系统考虑到了备份数据的冗余数据的处理,具体处理方法如下将配置数据导出,生成文本文件,用以记录每个网元具体的配置数据。将该生成的 文本文件拷贝到远程备份系统时,备份系统会将今天的配置数据与昨天保存的配置数据对 比,提取出有变化的网元的配置数据,保存到今天的备份文件中,未发生变化的网元的配置 数据则不保存。这种做法存在明显的缺陷对网管系统备份的文件有严格要求,网管系统和备份 系统要遵守同样的文件格式规定,才能实现数据备份及以后的恢复,不能适用到所有网管 系统,适用性差;此外,还要求要求备份文件是文本文件,而文本文件不能压缩,占用存储空 间大,而传输未压缩的文本文件,占用网络带宽,对系统资源消耗大,影响系统性能。

发明内容
为了提高数据备份文件的适用性,减少存储空间占用,提高系统性能,本发明提供 了一种容灾数据备份的方法及系统,技术方案如下—种容灾数据备份的方法,包括接收网管系统发送的待备份数据文件;对所述待备份数据文件进行分割,得到分割的数据块;利用弱校验值哈希算法和强校验值哈希算法,针对当前数据块计算其数据指纹 值,并在已备份数据文件中查找是否有相同数据指纹值的目标数据块;如果有,则将所述目标数据块与所述当前数据块进行逐字节比较;
根据比较结果进行所述当前数据块的备份。在本发明优选的一个实施例中,利用弱校验值哈希算法和强校验值哈希算法,针 对当前数据块计算其数据指纹值,并在已备份数据文件中查找是否有相同数据指纹值的目 标数据块,包括先利用弱校验值哈希算法针对所述当前数据块计算其第一数据指纹值,并以所述第一数据指纹值在所述已备份数据文件中查找是否有与相同所述第一数据指纹值的所述 目标数据块,如果有,则利用强校验值哈希算法针对所述当前数据块计算其第二数据指纹 值,并在所述已备份数据文件中查找相同所述第二数据指纹值的所述目标数据块。在本发明优选的一个实施例中,所述根据比较结果进行所述当前数据块的备份, 包括当比较结果相同时,则确定所述当前数据块是重复数据块,并存储所述当前数据 块的逻辑索引信息;当比较结果不同时,则确定所述当前数据块是新的唯一数据块,并存储所述当前 数据块的元信息。在本发明优选的一个实施例中,如果在已备份数据文件中未查找到有相同数据指 纹值的目标数据块,则存储所述当前数据块的元信息。在本发明优选的一个实施例中,根据网元数量对所述待备份数据文件进行分割, 得到分割的数据块。在本发明优选的一个实施例中,所述当前数据块的元信息包括当前数据块、当前 数据块的逻辑索引信息、当前数据块的弱校验值和强校验值。一种容灾数据备份的系统,包括接收模块,用于接收网管系统发送的待备份数据文件;分割模块,用于对所述待备份数据文件进行分割,得到分割的数据块;计算和查找模块,用于利用弱校验值哈希算法和强校验值哈希算法,针对当前数 据块计算其数据指纹值,并在已备份数据文件中查找是否有相同数据指纹值的目标数据 块;比较模块,用于在已备份数据文件中查找到有相同数据指纹值的目标数据块时, 则将所述目标数据块与所述当前数据块进行逐字节比较;备份模块,用于根据所述比较模块的比较结果进行所述当前数据块的备份。在本发明优选的一个实施例中,所述计算和查找模块,具体用于先利用弱校验值 哈希算法针对所述当前数据块计算其第一数据指纹值,并以所述第一数据指纹值在所述已 备份数据文件中查找是否有与相同所述第一数据指纹值的所述目标数据块,如果有,则利 用强校验值哈希算法针对所述当前数据块计算其第二数据指纹值,并在所述已备份数据文 件中查找相同所述第二数据指纹值的所述目标数据块。在本发明优选的一个实施例中,所述比较模块,具体用于当比较结果相同时,则确 定所述当前数据块是重复数据块,并存储所述当前数据块的逻辑索引信息;当比较结果不同时,则确定所述当前数据块是新的唯一数据块,并存储所述当前 数据块的元信息。
在本发明优选的一个实施例中,所述备份模块,还用于如果在已备份数据文件中 未查找到有相同数据指纹值的目标数据块,则存储所述当前数据块的元信息。在本发明优选的一个实施例中,所述当前数据块的元信息包括当前数据块、当前 数据块的逻辑索引信息、当前数据块的弱校验值和强校验值。本发明通过对接收的待备份数据文件进行分割,然后利用弱校验值哈希算法和强 校验值哈希算法对分割的数据块计算其数据指纹值,以该数据指纹值为关键字进行哈希查找,在查找到相同数据指纹值的目标数据块后,将目标数据块与当前数据块进行逐字节比 较,并根据比较结果进行数据块的备份,可以实现对各种格式的数据文件进行备份,提高了 备份文件的适用性;可以实时进行重复数据的删除,可以有效控制备份数据的急剧增长, 从而增加了有效存储空间,提高了存储效率;并且,备份文件可以压缩,减少网络带宽的占 用,提高了系统性能。


此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是本发明提供的容灾数据备份的方法的流程图;图2是本发明提供的网管系统异地容灾数据备份的方法的详细流程图;图3是本发明提供的容灾数据备份的系统的结构图。
具体实施例方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结 合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅 用以解释本发明,并不用于限定本发明。如图1所示,本发明提供了一种容灾数据备份的方法,包括步骤101,接收网管系统发送的待备份数据文件;步骤102,对待备份数据文件进行分割,得到分割的数据块;步骤103,利用弱校验值哈希算法和强校验值哈希算法,针对当前数据块计算其数 据指纹值,并在已备份数据文件中查找是否有相同数据指纹值的目标数据块;步骤104,如果有,则将目标数据块与当前数据块进行逐字节比较;步骤105,根据比较结果进行所述当前数据块的备份。在本发明的一个优选实施例中,如果在已备份数据文件中未查找到有相同数据指 纹值的目标数据块,则存储当前数据块的元信息。在本发明的一个优选实施例中,根据比较结果进行所述当前数据块的备份,包括 当比较结果相同时,则确定当前数据块是重复数据块,并存储当前数据块的逻辑索引信息; 当比较结果不同时,则确定当前数据块是新的唯一数据块,并存储当前数据块的元信息。在本发明的一个优选实施例中,利用弱校验值哈希算法和强校验值哈希算法,针 对当前数据块计算其数据指纹值,并在已备份数据文件中查找是否有相同数据指纹值的目 标数据块,包括 先利用弱校验值哈希算法针对当前数据块计算其第一数据指纹值,并以所述第一 数据指纹值在已备份数据文件中查找是否有与相同第一数据指纹值的目标数据块,如果 有,则利用强校验值哈希算法针对当前数据块计算其第二数据指纹值,并在已备份数据文 件中查找相同第二数据指纹值的目标数据块。在本发明的一个优选实施例中,根据网元数量对待备份数据文件进行分割,得到 分割的数据块。在本发明的一个优选实施例中,元信息包括当前数据块、当前数据块的逻辑索引信息、当前数据块的弱校验值和强校验值。下面结合附图对本发明实施过程进行详细阐述。如图2所示,本发明提供的网管系统异地容灾数据备份的方法,包括步骤201,网管系统导出网元配置的待备份数据文件,并将该数据文件传输给异地 备份系统。其中,该数据文件可以是文本或二进制的任何格式文件。步骤202,备份系统接收待备份数据文件,根据网元数量将该待备份数据文件分割 成一组数据块。具体地,采用预先义好的数据块大小对待备份数据文件进行分割。数据块大小可 以根据网元数量来确定,10000个网元的配置数据文件可以为300MB。分割文件的数据块粒 度太细,则系统资源开销太大;粒度过粗,则重复数据删除的效果不佳。需要在两者之间权 衡折衷,根据测试得出如下经验值网元在1000以内,数据块大小可以是1KB,网元在1000 到5000之间数据块大小可以是4KB,网元在5000到10000之间数据块大小可以是8KB。在对待备份数据文件进行分割后,备份系统对每一数据块分配唯一的数据块逻辑 索引信息,该逻辑索引信息可以是逻辑索弓I号。步骤203,备份系统对当前数据块计算数据指纹,并以数据指纹值为关键字在已备 份数据文件中进行哈希查找,获取数据指纹相同的目标数据块。具体地,数据指纹是数据块的本质特征,每个唯一数据块具有唯一的数据指纹值, 数据指纹值是对数据块内容进行Hash数学运算获得。常用的Hash算法有FNV1、CRC、MD5、 SHA1、SHA-256、SHA-512等。不同的Hash算法碰撞发生概率不同(Hash算法都存在碰撞问 题,即不同数据块可能会产生相同的数据指纹),计算出来的数据指纹值的位数也不同,相 应的计算量也不同。具有更低的碰撞发生概率和更多数据指纹值位数的Hash算法,其计算 量大很多。计算数据块的数据指纹,需要在性能和数据安全性方面作权衡,CRChash算法是 弱校验Hash算法,计算快速。在本实施例中,采用CRC算法计算的数据指纹值是32位。 MD5hash算法是强校验hash算法,具有非常低的碰撞发生概率,算出的数据指纹值是128 位。其中,强哈希算法和弱哈希算法通常是以128为作为区分标准,低于128位,则属于弱 哈希算法,高于128位属于强哈希算法。备份系统使用CRC hash算法和MD5hash算法为数 据块计算数据指纹,具体如下 针对步骤202中分割好的每一数据块,先算用CRC hash算法计算CRC校验值,然 后以该CRC校验值为关键字在已备份数据文件中进行hash查找,判断是否有与该CRC校验 值相同的匹配项,如果没有,则表示该数据块是新的唯一数据块,此时存储该数据块、该数 据块的逻辑索引号以及该数据块的CRC校验值和MD5校验值;如果存在,则用MD5hash算法 计算该数据块的MD5校验值,并以该MD5校验值在已备份的数据文件中进行哈希查找,判断 是否有该MD5校验值相同的匹配项,如果有,则判断可能存在重复数据块,并转入步骤204; 如果没有,则存储该数据块,并创建相关元信息。一般而言,MD5Hash算法不会产生碰撞,对一个数据块(block)计算的MD5校验值 是唯一的,也就是说一个数据块对应一个唯一的数据指纹值,可以用1:1映射来表示。传统 的hash表的元素项使用二元组表示
<md5_hashkey, block〉,其中 md5_hashkey 表示数据块的 md5 校验值。但实际情况中,可能存在两个数据块的MD5校验值相同,例如,对数据块1计算的 MD5校验值等于对数据块2计算的MD5校验值,多个数据块对应一个数据指纹值,这时就需 要使用1 :n映射来表示。在本发明中,使用三元组表示hash表的元素项<md5_hashkey, block_nr, block_IDs>其中,md5_haShkey表示数据块MD5校验值,bloCk_nr表示MD5校验值相同的数据 块数量,block_IDs表示这些数据块的逻辑索引号。在本发明算法设计中,将block_nr与 block_IDs合并在一块形成链表,结构如下所示block_nr|block_IDl|block_ID2|. . . |block_IDn其中block_IDl I block_ID2 | · · · | block_IDn是数据块逻辑块号链表,以下用 block_ID list表示数据块逻辑索引号链表,block_nr为链表的长度。在本发明中,实际上是使用链表法来解决hash碰撞问题,每个hash表的元素项的 block_ID list长度不定。利用链表法在已备份的数据文件中查找与MD5校验值相同的目 标数据块如下(1)计算当前数据块 block 的 MD5 校验值 hashkey,即hashkey = hash_ md5(block);(2)用 hashkey 查找已备份数据文件的 hash 表,bindex = hash_value (hashkey, hash表),其中,bindex表示当前数据块的逻辑索引号;(3)如果在hash表中,未发现匹配元素项,即bindex = = NULL,则直接将hashkey 插入hash表,并且block_nr = 1,block_IDl =当前数据块block的逻辑索引号;(4)如果在hash表中发现匹配元素项,则判断该数据块可能为重复数据块,也可 能CRC hash算法、MD5hash算法都发生了碰撞,该数据块不是重复数据块。在本步骤中是先利用弱校验值算法计算当前数据块的第一数据指纹值,再进行数 据指纹值查找;然后再利用强校验值算法计算当前数据块的第二数据指纹值,再进行数据 指纹值查找;在实际应用中,也可以先利用强校验值算法计算当前数据块的第二数据指纹 值,再进行数据指纹值查找;然后再利用弱校验值算法计算当前数据块的第一数据指纹值, 再进行数据指纹值查找,具体原理类似,在此不再赘述。步骤204,备份系统将获取的目标数据块与当前数据块进行字节级比较,如果比 较结果相同,则转入步骤205 ;如果比较结果不同,则转入步骤206。步骤205,确定该当前数据块是重复数据块,存储该当前数据块的逻辑索引号。步骤206,确定该当前数据块是新的唯一块,存储当前数据块的元信息,该元信息 包括该当前数据块、该当前数据块的逻辑索引号、CRC校验值和MD5校验值。对于步骤204-206,承接步骤203,在发现相同匹配项后,遍历此匹配元素项的 block_ID list,将block_ID list中的每个数据块逻辑索引号对应的目标数据块与当前 数据块进行逐字节的比较,如果相同,则说明当前数据块已经存在,存储该当前数据块的逻 辑索引号;如果未找到相同数据块,则存储该数据块,将当前数据块插入block_ID list结 尾,并将当前数据块写入文件,并且blocker数值增加1,block_IDn =当前数据块的逻辑 索引号。其中,本发明的数据存储可以采用RAID5方式。至此,一个数据文件在备份系统就对应一个逻辑文件表示,由一组数据指纹组成的元信息组成。在完成网元配置的数据文件备份,在出现需要恢复的情况下,备份系统进行文件 读取,先读取逻辑文件,然后根据数据块指纹,取出相应数据块,还原物理文件副本,再将此 文件副本发给网管系统用于恢复。如图3所示,本发明提供了一种容灾数据备份的系统,包括接收模块301,用于接收网管系统发送的待备份数据文件;分割模块302,用于对待备份数据文件进行分割,得到分割的数据块;计算和查找模块303,用于利用弱校验值哈希算法和强校验值哈希算法,针对当前 数据块计算其数据指纹值,并在已备份数据文件中查找是否有相同数据指纹值的目标数据 块;比较模块304,用于在已备份数据文件中查找到有相同数据指纹值的目标数据块 时,则将目标数据块与当前数据块进行逐字节比较;备份模块305,用于根据比较模块304的比较结果进行当前数据块的备份。在本发明的一个优选实施例中,备份模块305,还用于如果在已备份数据文件中未 查找到有相同数据指纹值的目标数据块,则存储当前数据块的元信息。在本发明的一个优选实施例中,比较模块304,具体用于当比较结果相同时,则确 定当前数据块是重复数据块,并存储当前数据块的逻辑索引信息;当比较结果不同时,则确定当前数据块是新的唯一数据块,并存储当前数据块的元的信息。在本发明的一个优选实施例中,计算和查找模块303,具体用于先利用弱校验值哈 希算法针对当前数据块计算其第一数据指纹值,并以第一数据指纹值在已备份数据文件中 查找是否有与相同所述第一数据指纹值的目标数据块,如果有,则利用强校验值哈希算法 针对当前数据块计算其第二数据指纹值,并在已备份数据文件中查找相同所述第二数据指 纹值的目标数据块。在本发明的一个优选实施例中,分割模块302,具体用于根据网元数量对所述待备 份数据文件进行分割,得到分割的数据块。现有的异地容灾数据备份方法是在文本文件基础上,根据文本内容进行比较,进 行的重复数据删除。现有的容灾数据的备份有80%数据重复率,但是文本比较删除冗余的 方式,没有达到80%的重复数据删除率。而且对于二进制文件无能为例,限制了备份文件的 格式,适用性差。本发明提供的容灾数据备份的方法可以适用于各种格式的备份文件,例如 文本文件、二进制数据库文件等。由于是基于几KB的二进制数据块进行比较来删除冗余数 据,重复数据删除率高,可以接近80 %。而且备份数据的次数越多,间隔越短,重复数据删除 比就越高。现有技术对于数据文件的分割方法要么分块策略单一,要么是根据文件内容类 型,预先进行块边界特征计算,然后再分块,但实际利用到网管系统配置数据上,重复数据 删除率不高。本发明提供的容灾数据备份的方法针对网管配置的数据文件这种特定的文件 格式,和配置数据周期性备份这种场合,根据网元数量确定数据块大小,有效地提高了备份 数据的重复数据删除率。现有技术中采用一种hash算法计算数据指纹,本发明提供的容灾数据备份的方法采用弱校验值hash算法和强校验值hash算法相结合的方式来计算数据指纹,算法速度 快,以较小的性能代价极大地降低了碰撞产生的概率,提高了系统性能。此外,弱校验值 hash算法和强校验值hash算法相结合的方式,可以实时进行重复数据的删除,备份系统在 接收到网管系统的数据文件后,可以在线进行重复数据的删除,转化成本地逻辑文件存储 起来,不需要等到后续系统有空闲时再离线处理。整个处理周期短,能够应对需要紧急进行 的,间隔很短的异地备份操作。
现有的容灾数据备份方法在删除重复数据时仅仅采用了碰撞概率更小的hash算 法,没有解决Hash算法的碰撞问题,所以不能被用于网管系统异地容灾数据备份的应用场 合,一旦发生碰撞将产生巨大的经济损失。本发明提供的容灾数据备份的方法通过遍历所 有数据指纹值相同的数据块,并进行字节完全比较来解决碰撞问题,使得网管系统的数据 安全性大大提高,能够应用到网管系统配置数据的异地容灾数据备份这种对数据的安全性 要求非常高的场合上。综上所述,本发明提供的容灾数据的备份方法可以适用于各种数据文件格式,适 用性强;可以有效控制备份数据的急剧增长,从而增加有效存储空间,提高存储效率,进而 节省了存储总成本和管理成本;可以节省数据传输的网络带宽;可以节省空间、电力供应、 冷却等运维成本。上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明 并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、 修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识 进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发 明所附权利要求的保护范围内。
权利要求
一种容灾数据备份的方法,其特征在于,包括接收网管系统发送的待备份数据文件;对所述待备份数据文件进行分割,得到分割的数据块;利用弱校验值哈希算法和强校验值哈希算法,针对当前数据块计算其数据指纹值,并在已备份数据文件中查找是否有相同数据指纹值的目标数据块;如果有,则将所述目标数据块与所述当前数据块进行逐字节比较;根据比较结果进行所述当前数据块的备份。
2.如权利要求1所述的方法,其特征在于,利用弱校验值哈希算法和强校验值哈希算 法,针对当前数据块计算其数据指纹值,并在已备份数据文件中查找是否有相同数据指纹 值的目标数据块,包括先利用弱校验值哈希算法针对所述当前数据块计算其第一数据指纹值,并以所述第一 数据指纹值在所述已备份数据文件中查找是否有与相同所述第一数据指纹值的所述目标 数据块,如果有,则利用强校验值哈希算法针对所述当前数据块计算其第二数据指纹值,并 在所述已备份数据文件中查找相同所述第二数据指纹值的所述目标数据块。
3.如权利要求1所述的方法,其特征在于,所述根据比较结果进行所述当前数据块的 备份,包括当比较结果相同时,则确定所述当前数据块是重复数据块,并存储所述当前数据块的 逻辑索引信息;当比较结果不同时,则确定所述当前数据块是新的唯一数据块,并存储所述当前数据 块的元信息。
4.如权利要求1所述的方法,其特征在于,如果在已备份数据文件中未查找到有相同 数据指纹值的目标数据块,则存储所述当前数据块的元信息。
5.如权利要求1到4任意一项所述的方法,其特征在于,根据网元数量对所述待备份数 据文件进行分割,得到分割的数据块。
6.如权利要求3或4所述的方法,其特征在于,所述当前数据块的元信息包括当前数 据块、当前数据块的逻辑索引信息、当前数据块的弱校验值和强校验值。
7.一种容灾数据备份的系统,其特征在于,包括 接收模块,用于接收网管系统发送的待备份数据文件;分割模块,用于对所述待备份数据文件进行分割,得到分割的数据块; 计算和查找模块,用于利用弱校验值哈希算法和强校验值哈希算法,针对当前数据块 计算其数据指纹值,并在已备份数据文件中查找是否有相同数据指纹值的目标数据块;比较模块,用于在已备份数据文件中查找到有相同数据指纹值的目标数据块时,则将 所述目标数据块与所述当前数据块进行逐字节比较;备份模块,用于根据所述比较模块的比较结果进行所述当前数据块的备份。
8.如权利要求7所述的系统,其特征在于,所述计算和查找模块,具体用于先利用弱校 验值哈希算法针对所述当前数据块计算其第一数据指纹值,并以所述第一数据指纹值在所 述已备份数据文件中查找是否有与相同所述第一数据指纹值的所述目标数据块,如果有, 则利用强校验值哈希算法针对所述当前数据块计算其第二数据指纹值,并在所述已备份数 据文件中查找相同所述第二数据指纹值的所述目标数据块。
9.如权利要求7所述的系统,其特征在于,所述比较模块,具体用于当比较结果相同 时,则确定所述当前数据块是重复数据块,并存储所述当前数据块的逻辑索引信息;当比较结果不同时,则确定所述当前数据块是新的唯一数据块,并存储所述当前数据 块的元信息。
10.如权利要求7所述的系统,其特征在于,所述备份模块,还用于如果在已备份数据 文件中未查找到有相同数据指纹值的目标数据块,则存储所述当前数据块的元信息。
11.如权利要求8或9所述的系统,其特征在于,所述当前数据块的元信息包括当前 数据块、当前数据块的逻辑索引信息、当前数据块的弱校验值和强校验值。
全文摘要
本发明公开了一种容灾数据备份的方法及系统,属于网络管理领域。该方法包括接收网管系统发送的待备份数据文件;对所述待备份数据文件进行分割,得到分割的数据块;利用弱校验值哈希算法和强校验值哈希算法,针对当前数据块计算其数据指纹值,并在已备份数据文件中查找是否有相同数据指纹值的目标数据块;如果有,则将所述目标数据块与所述当前数据块进行逐字节比较;根据比较结果进行所述当前数据块的备份。该系统包括接收模块、分割模块、计算和查找模块、比较模块和备份模块。本发明的技术方案可以提高数据备份文件的适用性,减少存储空间占用,提高系统性能。
文档编号G06F17/30GK101989929SQ20101054814
公开日2011年3月23日 申请日期2010年11月17日 优先权日2010年11月17日
发明者赵巍 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1