一种实现重复数据数据删除的方法和系统的制作方法

文档序号:6577961阅读:200来源:国知局
专利名称:一种实现重复数据数据删除的方法和系统的制作方法
技术领域
本发明涉及计算机存储技术领,尤其涉及一种实现重复数据数据删除的方法和系 统。
背景技术
企业的关键业务数据每天都会做数据备份。按根据备份策略的定制,可以每天做 增量备份,每周做全备份。大但随着大量数据的累计,大量数据是重复的,而重复数据又导 致了数据量以几何级数增长。举例老说,某个ERP系统初始数据量为100TB,每天增加10TB, 一周6天做增量备份,周末做全备份,一周备份数据就达到160TB。但使用重复数据删除技 术(Data Deduplication),100TB的初始数据不用重复做备份,进一步发现每天IOTB增量 数据,可以压缩到1TB,因此每周7天备份只增加7TB,数据量比传统备份大大减少。由于数据的爆炸式增长每天都困扰着企业级企业,在解决这个问题上,重复数据 删除是一项最具前景的技术。国内外存储厂商都在努力开发基于重复数据删除技术的产 品。总结目前国外厂商实现重复数据删除的方法,主要有三种,第一种是基于散列的方法, 比如Data Domain、飞康、昆腾的DXi系列设备都是采用SHA-1,MD-5等类似的算法将这些 进行备份的数据流断成块并且为每个数据块生成一个散列(hash)。如果新数据块的散列 (hash)与备份设备上散列索引中的一个散列匹配,表明该数据已经被备份,设备只更新它 的表,以说明在这个新位置上也存在该数据。该方法存在内置的可扩展性的问题。第二种 方法是基于内容识别的重复删除,这种方法主要是识别记录的数据格式。它采用内嵌在备 份数据中的文件系统的元数据识别文件;然后与其数据存储库中的其它版本进行逐字节地 比较,找到该版本与第一个已存储的版本的不同之处并为这些不同的数据创建一个增量文 件。该方法的缺点是需要使用支持的备份应用设备以便设备可以提取元数据。第三种方法 是Diligent Technologies用于其ProtecTier VTL的技术,它像基于散列(hash)的产品 那样将数据分成块,并且采用自有的算法决定给定的数据块是否与其它的相似。然后与相 似块中的数据进行逐字节的比较,以判断该数据块是否已经被备份。国外各大存储厂商只 所以采用不同的方法,主要目的是结合厂商自己生产的硬件存储设备。

发明内容
本发明的目的在于提供一种实现重复数据数据删除的方法,实现重复数据删除就 要找到相同数据,然后建立高速的索引,用索引代替相同的数据,本发明与现有技术不同之 处在于,它基于相似度算法理论,利用二进制数据对比保证数据一致性。主要步骤包括通过simhash(相似性哈希)算法计算数据的相似度;通过相似度定位存储位置,把相似度计入索引库;把数据写入数据仓库。如果有相同的相似度的数据进来的话,把数据仓库中对应 的数据提取出来,然后进行二进制比对;如果相同则记录索引,如果不同则记录不同的数据部分。
所述方法按照一定的格式记录数据结构,通过数据指纹加数据对比的方式实现数 据的准确性和一致性。本发明还提供了一种一种实现重复数据数据删除的系统,包括相似度标示库 (BitMap)、数据偏移的标示库和数据仓库(LBAMap),记录原始数据的存储库(Resp)。其中相似度标示库,用来标示相似度的值是否存在,所有的相似度的值都可以在 bitmap中找到一个固定的标示位,如果该标示位为1,则表示有同样相似度的数据出现过, 可以进行数据缩减。BitMap中的数据标示,通过二维座标定位,可以快速的进行相似度定位 验证.数据偏移的标示库,用来表示数据在仓库(resp)中的偏移,LBAMap中记录的LBA 和BitMap中标示位相对应,与BitMap相同,LBAMap中的相似度数据偏移定位也是通过二 维坐标定位,可以迅速的找到相似度对应的数据偏移。数据仓库,记录原始数据的存储库,其地址偏移在LBAMap中记录。Resp中的数据 按照数据源特征,顺序写入,这样在读取的时可以保证数据顺序读取,保证了系统的性能。本发明基于相似性哈希算法理论,通过数据对比保证数据一致性,即高效的完成 了重复数据删除,又保证了数据的一致性。


图1是本发明相似度计算流程图;图2是本发明相似度内存比对流程图;图3是本发明数据写入示意图;图4是本发明数据对比示意图。
具体实施例方式为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施 方式对本发明实施例作进一步的详细说明。实现重复数据删除就要找到相同数据,然后建立高速的索引,用索引代替相同的 数据,实现得关键点,一是如何查找相同数据,二是如何建立快速索引。传统的重复数据删 除技术是通过计算数据的哈希值来标示,并通过大量的缓存来维护索引,很难实现快速索 弓丨,并且通过哈希值来作为数据指纹的话,哈希冲突就不可避免,虽然概率很低,但一旦出 现,将会造成不可预知的数据错误。Simhash (相似性哈希)算法的原理是将数据中的每个token映射到一个b维的 向量空间,每一维的值为1或者-1。把数据中所有token的映射相加得到该数据的一个b 维矩阵。该矩阵中每个非负的元素都置为1,否则置为0,如此得到该数据的唯一哈希值。该 哈希值所具有的性质是,两个数据的相似程度与这两个数据的哈希值中相同的位的个数成 正比。通过simhash的相似度算法计算数据的相似度,然后通过相似度定位存储位置, 把相似度计入索引库,然后把数据写入数据仓库。如果有相同的相似度的数据进来的话,把 数据仓库中对应的数据提取出来,然后进行2进制比对,如果相同则记录索引,如果不同则 记录不同的数据部分。并且按照一定的格式记录数据结构,这样数据指纹加数据对比的方式就可以保证数据的准确性,一致性。实现重复数据数据删除的方法,先进行数据拆分,将这些数据划分为很小的数据 单元;计算这些数据单元的相似度。在BitMap中找到数据对应相似度的标示位,查看是否 有相同相似度的数据出现过,如果有进行数据比对,如果没有,对BitMap对应位进行置位, 供以后查找。如果数据已经出现过,到LBAMap中查找数据偏移LBA,在resp中读取数据进行二 进制比对,相同的数据单元不会被重复写入,只将指针指向已经存在的数据单元;如果有相 同的数据相似度,数据不同,则会记录数据单元中不同的数据部分。如果数据没有出现过,在仓库中顺序写入数据,并把数据的偏移LBA记录到相似 度对应的LBAMap中。试验证明,本发明所提出的重复数据删除方法可以达到预期的目的。参照图1是本发明相似度计算流程图,主要步骤包括步骤101,对数据进行拆分,把定长的数据进行拆分,拆成η份;步骤102,以mK为单位先进性hash运算,计算出数据的hash值;步骤103,然后利用这m个hash值计算数据整体的相似度值K。参照图2是本发明相似度内存比对流程图,主要步骤包括步骤201,计算K的25bit的参照值M ;步骤202,然后在bitMap中找到对应位,验证bitMap位值,如果为0,参考图3是 本发明数据写入示意图,如果为1,参考图4是本发明数据对比示意图。参照图3是本发明本发明数据写入示意图,主要步骤包括步骤301,计算数据的LBA地址,根据M值把LBA地址记录到LBAMap中;步骤302,然后把数据写到resp相应的LBA偏移上;步骤303,用拆分的η个LBA地址代替原始数据。参照图4是本发明本发明数据对比示意图,主要步骤包括步骤401,读取LBAMap中M对应的LBA ;步骤402,然后把仓库中的数据取出来进行拆分成η份进行数据对比;步骤403,如果相同,记录该LBA地址,如果不同,把不同的mK数据记录下来,并把 地址记录替换相应LBA地址。以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式
对本发明进行 了阐述,以上实施例的说明只是用于帮助理解本发明的系统及方法;同时,对于本领域的 一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所 述,本说明书内容不应理解为对本发明的限制。
权利要求
一种实现重复数据数据删除的方法,其特征在于,主要步骤包括通过simhash(相似性哈希)算法计算数据的相似度;通过相似度定位存储位置,把相似度计入索引库;把数据写入数据仓库;如果有相同的相似度的数据进来的话,把数据仓库中对应的数据提取出来,然后进行二进制比对;如果相同则记录索引,如果不同则记录不同的数据部分。
2.根据权利要求1所述的方法,其特征在于,所述方法按照一定的格式记录数据结构, 通过数据指纹加数据对比的方式实现数据的准确性和一致性。
3.根据权利要求1所述的方法,其特征在于,所述方法基于相似性哈希算法理论,利用 二进制数据对比保证数据一致性。
4.一种实现重复数据数据删除的系统,其特征在于,所述系统包括相似度标示库 (BitMap)、数据偏移的标示库和数据仓库(LBAMap),记录原始数据的存储库(Resp)。其中所述相似度标示库,用来标示相似度的值是否存在,所有的相似度的值都可以在 bitmap中找到一个固定的标示位,如果该标示位为1,则表示有同样相似度的数据出现过, 可以进行数据缩减;所述数据偏移的标示库,用来表示数据在仓库(resp)中的偏移,LBAMap中记录的LBA 和BitMap中标示位相对应;所述数据仓库,记录原始数据的存储库,其地址偏移在LBAMap中记录。
5.根据权利要求4所述的系统,其特征在于,所述相似度标示库中的数据标示,通过二 维座标定位,可以快速的进行相似度定位验证。
6.根据权利要求4所述的系统,其特征在于,所述数据偏移的标示库中的相似度数据 偏移定位也是通过二维坐标定位,可以迅速的找到相似度对应的数据偏移。
7.根据权利要求4所述的系统,其特征在于,所述数据仓库,记录原始数据的存储库中 的数据按照数据源特征,顺序写入,这样在读取的时可以保证数据顺序读取,保证了系统的 性能。
全文摘要
本发明提供一种实现重复数据数据删除的方法,包括通过simhash(相似性哈希)算法计算数据的相似度;通过相似度定位存储位置,把相似度计入索引库;把数据写入数据仓库。如果有相同的相似度的数据进来的话,把数据仓库中对应的数据提取出来,然后进行二进制比对;如果相同则记录索引,如果不同则记录不同的数据部分。本发明还提供了一种实现重复数据数据删除的系统,包括相似度标示库(BitMap)、数据偏移的标示库和数据仓库(LBAMap),记录原始数据的存储库(Resp)。所述方法和系统基于相似性哈希算法理论,通过数据对比保证数据一致性,既高效的完成了重复数据删除,又保证了数据的一致性。
文档编号G06F17/30GK101882141SQ20091013659
公开日2010年11月10日 申请日期2009年5月8日 优先权日2009年5月8日
发明者张庆敏, 胡刚, 谢海威, 郭栋 申请人:北京众志和达信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1