基于上下文感知的重复数据删除的方法和装置的制造方法

文档序号:9732051阅读:580来源:国知局
基于上下文感知的重复数据删除的方法和装置的制造方法
【技术领域】
[0001]本发明涉及用于重复数据删除的上下文感知数据分段选择领域,尤其涉及一种基于上下文感知的重复数据删除的方法和装置。
【背景技术】
[0002]重复数据删除是一种用于删除重复数据或片(chunk)的副本的专用数据压缩技术,对于备份很有用。重复数据删除机制大多数都有要求过多的资源或低的吞吐量的问题,因此为了在商业产品中实现重复数据删除,需要更成熟的机制。
[0003]实现重复数据删除的常见技术之一是将数据片保存容器/分段中,维护接收到的数据的局部性特征。
[0004]常见技术通常结合缓存利用若干索引技术来解决上述问题。在现有技术系统中,一个索引已经维护了存储在系统中的片的指纹的全部或部分(稀疏)索引。这些系统通过在索引对传入的块(block)中的片的部分或所有指纹的查找操作找到用于对块中的数据进行重复数据删除的容器或分段。
[0005]不同技术在索引的实施方式(基于RAM或基于RAM和磁盘的组合)、索引中的指纹数目和为索引选择指纹的方式、在索引中查询的片集或其它变量方面有所不同。

【发明内容】

[0006]本发明的目的是提供一种用于重复数据删除系统的一种改进技术,用以存储备份数据。
[0007]该目的由独立权利要求的特征来实现。其它实施方式从从属权利要求、描述内容和附图中可直接获得。
[0008]根据第一方面,提供了一种基于上下文感知的重复数据删除的方法,所述方法包括以下步骤:通过将已写入数据的至少一个结构元数据加载到元数据存储器缓存中以及将所述已缓存的待写入数据分成数据片,将重复数据删除模块分配给写操作;通过扫描所述元数据存储器中的所述已缓存的结构元数据,计算每个数据分段中所述待写入数据的所述数据片的数目,所述数据片的数目表示所述数据分段的得分;以及调用数据分段选择进程,从而基于所述数据分段的所述得分提供数据分段集以对所述待写入数据进行重复数据删除。
[0009]在这种技术中,为了执行重复数据删除,接收到的数据片序列被合并到块中,在块的第一位置处给出所述传入数据。以有限数目的分段中的片对片进行重复数据删除。
[0010]对于每个块,重复数据删除机制需要确定对块进行重复数据删除的分段集,该过程被称为分段选择。需要选择机制满足高性能约束,而且选择机制对获得的重复数据删除率具有显著影响。
[0011]备份系统被用来创建、存储和恢复卷或文件系统的快照集合,即一个卷或多个卷,或者一个或多个文件系统。所述备份系统的工作原理是生成初始全量备份,即一个快照,以及多个增量备份或多个快照,初始全量备份包含所有相关数据。
[0012]在计算机系统中,一个快照是系统在特定时间点的状态。所述术语作为摄影技术中的类比而被创造。它可以指代系统状态的实际副本或者指代某个系统,例如文件系统提供的能力。
[0013]增量备份只包含快照内容的子集。为了访问全部快照的内容,要使用快照和先前快照中的数据。在两种技术中,正在备份的块/区域/文件在先前快照生成的备份系统中存在先前版本。
[0014]本发明解决用于存储备份数据的重复数据删除系统中的分段选择问题。本发明还可以用于主存储系统的重复数据删除。
[0015]本发明包括结合专用接口的一系列步骤。通过将不同技术与备份系统和重复数据删除部件之间的上下文感知接口结合解决该问题。
[0016]本发明旨在具有固定大小的块的基本10范围的重复数据删除系统的环境中实施,其中单个块大小的范围是1MB至10MB。然而,本发明的基本理念可以在不同设置中通过合适调整来实现。
[0017]根据本发明,为了存储块,所述系统维护元数据对象,对于块中的每个数据片,其包含片的哈希值、和片的数据所在的分段的ID,或类似信息。这些对象被称为块元数据对象。实际上,本发明将在重复数据删除系统中实现或在任何其它读/写或数据存储系统中实现。
[0018]本发明的接口组件用于备份系统以逻辑块位置和版本等上下文感知的方式或通过逻辑块处理重复数据删除引擎中的块,其中所述操作覆盖所述数据的所述先前版本。
[0019]所述一系列步骤可以是以下内容:在写命令时,重复数据删除引擎将所述逻辑块和相邻逻辑块的所述先前版本中的所述块元数据文件加载至存储器。
[0020]从磁盘加载的所述数据称为本地元数据。对于所述本地元数据中的每个分段ID,计算所述待写入块和与所述分段ID关联的所述本地元数据中的片的数目。为每个分段ID计算的值是它的得分。调用分段选择机制,同样产生分段集合。
[0021]本发明有利于使用两种工具带来的信息以确定进行重复数据删除的分段集。
[0022]在增量和全量备份两种情况下,块的新版本与相同块或相邻块的先前版本具有极大相似性的可能性很高。一种好的示例就是在具有4MB粒度的增量备份中,4k的变化将导致4MB数据写入到重复数据删除引擎进行去重。当以块的先前版本进行重复数据删除时,这种写入几乎可以全部删除。
[0023]重复数据删除技术没有感知到重复数据删除时涉及的上下文,因此很难定位先前版本和使用相关进行重复数据删除。
[0024]本发明提供一种资源节省机制,其确保使用先前版本逻辑块和相邻逻辑块中的数据对新块中的数据进行重复数据删除。因此,本发明以较小的资源开销获得了重复数据删除率的显著提升。
[0025]本发明的实施方式有利地揭示使用备份组件到重复数据删除组件之间的特定接口以及使用来自接口的信息进行重复数据删除处理。
[0026]在根据所述第一方面的所述方法的第一可能实现方式中,所述分配所述重复数据删除模块的步骤包括利用所述已写入数据的上下文感知处理或利用所述已写入数据的逻辑块寻址生成所述元数据。
[0027]这有效地提高了在线重复数据删除效率。
[0028]在根据如上所述第一方面或根据所述第一方面的所述第一实现方式的所述方法的第二可能实现方式中,所述通过加载所述已写入数据的所述至少一个元数据分配所述重复数据删除模块的步骤包括加载所述已写入数据的先前版本和/或加载所述已写入数据的多个先前版本中的任何版本和/或加载所述已写入数据的相邻数据块。
[0029]因此,通过重复数据删除实现了高存储效率。
[0030]在根据如上所述第一方面或根据所述第一方面的任意前述实现方式的所述方法的第三可能实现方式中,在所述将所述已缓存的待写入数据分成所述数据片的步骤过程中,对所述已写入数据和所述待写入数据的至少一个哈希值进行计算。
[0031]在根据如上所述第一方面或根据所述第一方面的任意前述实现方式的所述方法的第四可能实现方式中,所述已写入数据是一个数据块。
[0032]这有利地提供了一种有效存储数据的方法,在备份期间识别和删除重复的数据块。
[0033]在根据所述第一方面的所述方法的所述第四可能实现方式的所述方法的第五可能实现方式中,所述数据块是字节序列,具有1兆字节至10兆字节之间的块大小或任何其它块大小。
[0034]这有利地提供了一种有效存储数据的方法,在备份期间识别和删除重复的数据块。
[0035]在根据所述第一方面的所述方法的所述第四可能实现方式或根据所述第一方面的所述方法的所述第五可能实现方式的所述方法的第六可能实现方式中,所述数据块的大小不是固定的。
[0036]这允许将所述数据块大小优化调整到满足所述重复数据删除方法的要求。
[0037]在根据如上所述第一方面或根据所述第一方面的任意前述实现方式的所述方法的第七可能实现方式中,每个数据片是字节序列,具有1千字节、2千字节、4千字节、8千字节的平均片大小或者1千字节至512千字节之间的任意大小。
[0038]这有利地提高了在线重复数据删除效率。
[0039]在根据如上所述第一方面的所述装置的所述第七可能实现方式的所述方法的第八可能实现方式中,所述数据片的大小是可变的。
[0040]根据第二方面,本发明涉及一种基于上下文感知的重复数据删除的装置,所述装置包括:重复数据删除模块,用于将已写入数据的至少一个结构元数据加载到元数据存储器缓存中以及将所述已缓存的待写入数据分成数据片;处理模块,用于通过扫描所述元数据存储器中的所述已缓存结构元数据,计算每个数据分段中所述待写入数据中现有的片的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1