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

文档序号:6435167阅读:122来源:国知局
专利名称:一种重复数据删除的方法和系统的制作方法
技术领域
本发明一般涉及数据备份,更具体地,涉及一种重复数据删除的方法和系统。
背景技术
数据备份是将数据以某种方式加以保留,以便在系统遭受破坏或其他特定情况下,重新加以利用的一个过程。数据备份是存储领域的一个重要组成部分,其在存储系统中的地位和作用都是不容忽视的。并且对一个IT系统而言,备份工作也是其中必不可少的组成部分。因为它不仅可以防范意外事件的破坏,而且还能使历史数据以最佳方式保存归档,即它为历史数据进行历史数据查询、统计和分析,以及重要信息归档保存提供了可能。重复数据删除(De-duplication)技术通过删除数据集中的重复数据,对于重复数据,只保留其中一份,从而消除冗余数据,是一种目前主流且非常热门的存储技术。图1示出了重复数据删除技术的示意性描述,根据图1,原始数据中存在大量的重复数据,通过使用重复数据删除技术,可以得到用于存储的优化的数据,显然,存储的优化的数据需要的存储空间大大减少。重复数据删除技术目前大量应用于数据备份与归档系统,可以帮助应用程序降低数据存储量,节省网络带宽,提高存储效率,从而节省成本。重复数据删除技术的优劣衡量标准主要有两个,即重复数据删除率(deduplocation ratios)和删除方法执行的性能。删除方法执行的性能取决于具体实现技术,而重复数据删除率则由数据自身的特征和应用模式所决定。现有的厂商已经提供很多种重复数据删除的方法,例如定长分块方法,不定长分块方法等等。但是,现有数据块级重复数据删除技术去除了重复存储的数据块后,数据的重复数据删除率就是固定的,重复数据删除率高可以更进一步节省存储和传输成本,是各个厂家不断追求的目标,因此,有必要进一步研究出重复数据删除率更高的重复数据删除方法和系统。

发明内容
因此,需要提供一种重复数据删除的方法和系统,能够进一步提高重复数据的删除率,从而进一步降低数据存储量,减少存储成本。根据本发明的一个方面,提供了一种重复数据删除的方法,包括a)获得已经使用重复数据删除方法得到的至少一个原始数据对象对应的元数据和多个数据块;b)将获得的多个数据块组合成新数据对象;c)对新数据对象进行重复数据删除,得到新数据对象对应的新元数据和新数据块;以及箝位臂d)存储所述至少一个原始数据对象对应的元数据、新数据对象对应的新元数据、以及新数据块。根据本发明的另一个方面,提供了一种重复数据删除的系统,包括获得装置,被配置为获得已经使用重复数据删除方法得到的至少一个原始数据对象对应的元数据和多个数据块;合成装置,被配置为将获得的多个数据块组合成新数据对象;删除装置,被配置为对新数据对象进行重复数据删除,得到新数据对象对应的新元数据和新数据块;以及箝位臂存储装置,被配置为存储所述至少一个原始数据对象对应的元数据、新数据对象对应的新元数据、以及新数据块。


通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中的相同部件。图1示出了重复数据删除技术的示意性描述;图2示出了适于用来实现本发明实施方式的示例性计算系统100的框图;图3示出了数据块级重复数据删除过程的步骤;图4示出了根据本发明的一种实施方式的一种重复数据删除的方法的步骤;以及图5示出了根据本发明的一种实施方式的一种重复数据删除的系统的结构图。
具体实施例方式将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域的技术人员。图2示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如所示,计算机系统100可以包括CPU(中央处理单元)101、RAM(随机存取存储器)102、R0M(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。在这些设备中,与系统总线104耦合的有CPU 10URAM 102, ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图2所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。重复数据删除技术按照消除重复数据的粒度可以分为文件级和数据块级。文件级的重复数据删除技术也称为单一实例存储(SIS, Single Instance Store),数据块级的重复数据删除技术消除后重复数据更小,因此目前主流的重复数据删除产品都是数据块级的。存储系统的数据块级重复数据删除过程可以参考图1和图3,图3示出了数据块级重复数据删除过程的步骤,根据图3,在步骤S301,将数据文件分割成一组数据块;在步骤S302,判断数据块是否为重复数据块;在步骤S303,存储步骤,其中在存储的逻辑文件中,对于非重复数据块,说明该数据块是一个新的唯一块,存储各数据块的元数据,一般存储在数据库中;并将真正的数据块的内容存储在存储介质中,比如存储在磁盘或者磁带等大型存储设备中;对于数据块为重复数据块,其数据块内容不再在存储介质中重复存储;在步骤S304,恢复步骤先读出各数据块的元数据,然后根据元数据中包含的信息,取出存储的相应数据块,还原物理文件副本。其中,数据块的划分中,数据块可以划分为大小相同和不同的数据块,无论何种数据块,判断数据块是否为重复数据块要依据该数据块的指纹,数据指纹是数据块的本质特征,理想状态是每个唯一数据块具有唯一的数据指纹,不同的数据块具有不同的数据指纹,指纹相同的数据块是相同的数据块。当已经得到多个数据块时,可以利用哈希查找加速判别该数据块是否为重复数据块。数据块的元数据至少包含数据块标识号,用于唯一标识该数据块;偏移位置,表示数据块在数据对象中的偏移位置;数据块大小,表示数据块的大小;链接的数据块标识号,对于一个新的数据块,标识该数据块在存储介质中的存储位置,对于重复的数据块,标识被删除的数据块指向的保留数据块的标识号。原数据的存储如果采用数据库可以有多种方式,表I给出了一种利用关系数据库记录数据对象的元数据的格式示例,其中,数据块标识号除了上述含义,还表明该数据块在数据库中的唯一号;数据对象标识号表示标识数据对象在数据库中的唯一号,因为一个数据库表中可能存储多个数据对象,用该列标明。表I 一种利用关系数据库记录数据对象的元数据的格式示例
权利要求
1.一种重复数据删除的方法,包括 a)获得已经使用重复数据删除方法得到的至少一个原始数据对象对应的元数据和多个数据块; b)将获得的多个数据块组合成新数据对象; c)对新数据对象进行重复数据删除,得到新数据对象对应的新元数据和新数据块;以及 d)存储所述至少一个原始数据对象对应的元数据、新数据对象对应的新元数据、以及新数据块。
2.根据权利要求1所述的方法,还包括根据存储的所述至少一个原始数据对象对应的元数据、新数据对象对应的新元数据、以及新数据块,恢复出所述至少一个原始数据对象。
3.根据权利要求1所述的方法,还包括将获得的新数据对象对应的新元数据和新数据块作为另一原始数据对象对应的元数据和对应的数据块,重复执行步骤b到C,直到本次执行得到的新数据块和上次执行步骤b到c得到的数据块相同。
4.根据权利要求3所述的方法,其中存储所述至少一个原始数据对象对应的元数据、新数据对象对应的新元数据、以及新数据块包括存储所述至少一个原始数据对象对应的元数据、每次重复执行步骤b到c得到的新元数据、以及最后一次执行步骤b到c得到的新数据块。
5.根据权利要求4所述的方法,还包括根据存储的所述至少一个原始数据对象对应的元数据、每次重复执行步骤b到c得到的新元数据、以及最后一次执行步骤b到c得到的新数据块,逐级恢复每次重复执行步骤b到c的新数据对象或者每次重复执行步骤b到c前的所述多个数据块,从而得到所述至少一个原始数据对象。
6.根据权利要求1所述的方法,其中所述至少一个原始数据对象和新数据对象对应的元数据采用数据库存储,所述数据库中记录了所述至少一个原始数据对象和新数据对象之间的对应关系,其中所述至少一个原始数据对象和新数据对象对应的元数据在数据库中的表列至少包括数据块标识号,偏移位置,数据块大小,链接的数据块标识号。
7.根据权利要求6所述的方法,其中所述至少一个原始数据对象对应的元数据的数据库表的链接的数据块标识号列表明该数据块在新数据对象中的位置,新数据对象对应的元数据的数据库表的链接的数据块标识号列表明该数据块在存储介质中的位置。
8.一种重复数据删除的系统,包括 获得装置,被配置为获得已经使用重复数据删除方法得到的至少一个原始数据对象对应的元数据和多个数据块; 合成装置,被配置为将获得的多个数据块组合成新数据对象; 删除装置,被配置为对新数据对象进行重复数据删除,得到新数据对象对应的新元数据和新数据块;以及 存储装置,被配置为存储所述至少一个原始数据对象对应的元数据、新数据对象对应的新元数据、以及新数据块。
9.根据权利要求8所述的系统,其中还包括 箝位臂恢复装置,被配置为根据存储的所述至少一个原始数据对象对应的元数据、新数据对象对应的新元数据、以及新数据块,恢复出所述至少一个原始数据对象。
10.根据权利要求8所述的系统,其中还包括 箝位臂重复装置,被配置为将获得的新数据对象对应的新元数据和新数据块作为另一原始数据对象对应的元数据和对应的数据块,重复运行合成装置和删除装置,直到本次执行得到的新数据块和上次运行合成装置和删除装置得到的数据块相同。
11.根据权利要求10所述的系统,其中所述存储装置进一步被配置为存储所述至少一个原始数据对象对应的元数据、每次重复运行合成装置和删除装置得到的新元数据、以及最后一次运行合成装置和删除装置得到的新数据块。
12.根据权利要求11所述的系统,其中所述恢复装置进一步配置为根据存储的所述至少一个原始数据对象对应的元数据、每次重复运行合成装置和删除装置得到的新元数据、以及最后一次运行合成装置和删除装置得到的新数据块,逐级恢复每次重复运行合成装置和删除装置的新数据对象或者每次重复运行合成装置和删除装置前的所述多个数据块,从而得到所述至少一个原始数据对象。
13.根据权利要求8所述的系统,其中所述至少一个原始数据对象和新数据对象对应的元数据采用数据库存储,所述数据库中记录了所述至少一个原始数据对象和新数据对象之间的对应关系,其中所述至少一个原始数据对象和新数据对象对应的元数据在数据库中的表列至少包括数据块标识号,偏移位置,数据块大小,链接的数据块标识号。
14.根据权利要求13所述的方法,其中所述至少一个原始数据对象对应的元数据的数据库表的链接的数据块标识号列表明该数据块在新数据对象中的位置,新数据对象对应的元数据的数据库表的链接的数据块标识号列表明该数据块在存储介质中的位置。
全文摘要
本发明公开了一种重复数据删除的方法和系统,该方法包括a)获得已经使用重复数据删除方法得到的至少一个原始数据对象对应的元数据和多个数据块;b)将获得的多个数据块组合成新数据对象;c)对新数据对象进行重复数据删除,得到新数据对象对应的新元数据和新数据块;以及d)存储所述至少一个原始数据对象对应的元数据、新数据对象对应的新元数据、以及新数据块。该方法和系统能够进一步提高重复数据的删除率,从而进一步降低数据存储量,减少存储成本。
文档编号G06F17/30GK103034659SQ201110304388
公开日2013年4月10日 申请日期2011年9月29日 优先权日2011年9月29日
发明者李玉猛, 王丽娜, 熊殷翔, 李彦欣, 闻晶 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1