高度可伸缩和分布式重复数据删除制造技术

技术编号:8456846 阅读:202 留言:0更新日期:2013-03-22 08:58
本发明专利技术涉及用于维护数据存储系统内的引用完整性且释放系统中的未使用存储空间而无需维护用于表示和存储数据的存储块的引用数的系统和方法。

【技术实现步骤摘要】
【国外来华专利技术】
本公开涉及数据管理系统,且更具体而言涉及维护这种系统中的引用完整性。
技术介绍
现代计算机系统支持快速增长的海量数据;实际上,在很多情况中,这种增长太快,甚至存在超越存储系统容量的威胁。这种增长不仅需要在较新和较大的存储系统中的连续投资,还需要相应增加管理这些系统的成本。减小公司内的存储量是非常令人期望的,因为存储可以明显减小公司的资金和运行花费。存储在大多数大规模存储系统中的数据的一个特征是存在巨大数量的数据重复。示例包括重复文件、稍有不同的文件(例如文档的多个草稿)、被存储在多个文档中的相同图像、应用于报告的相同模板或信纸。尽管存在可以检查相同文件且仅保存它们一次的一些系统,典型的系统仍需要存储大量的重复数据。例如,实际上,公司中的每个文档具有嵌入在其中的公司标志,但是当今的存储技术不能针对标志识别在每个文档中重复的相同的数据且不能在存储上对此做节省。人们不断强调子文件重复数据删除来在子文件级检测重复数据以减小用于主存储以及使用相似备份和归档的辅助存储的存储和网络足迹。近年来,已经设计了可以在子文件级检测重复数据的各种系统。重复数据删除系统典型地创建文件或块存储的一个或更多“厚块”(chunk),直到被分析以用于重复数据删除且然后采用一个或更多比较方法来检测是否产生重复厚块。附图说明图I说明根据一些实施例维护从重复数据删除系统去除未引用块的引用数的方法。图2说明根据一些实施例用于更新块存在时间的方法,其支持以不依赖于块的引用数的方式从重复数据删除系统去除未引用块。图3说明根据一些实施例以不依赖于块的引用数的方式从重复数据删除系统去除未引用块的方法。图4说明根据一些实施例以不依赖于块的引用数的方式在重复数据删除系统中添加新文件校验和的方法。臟涉及在存储系统中将数据表达为厚块的一个问题是如何管理去除不再被需要代表存储在系统中的任意数据的厚块。考虑何时去除块包括确定未引用(未使用)厚块何时存在、何时释放与未引用厚块相关的存储以及如何以不过分减损系统性能的方式去除未引用厚块。如结合的美国公开No. 2010/0161608A1的文本和附图所描述,在存储系统中将数据表达为厚块可以包括以下一个步骤或多个步骤,应用这些步骤以从需要被进行数据重复数据删除的给定数字数据片(是否基于文件、块、BLOB或流)创建厚块I.通过应用关于存储或发送数字数据的各种格式的知识,将给定数字数据分裂或“分块”(chunk)到“整个”逻辑对象中。例如,文档中的图像可能是以针对该文档的特定格式存储的“整个”逻辑对象。文件格式包括诸如 ppt、. doc、. xls、. pptx、. docx、. xlsx、.pdf >. xml、. epp、. one、. mdb 和.a 格式的不例。2.处理“分裂的”对象如果逻辑对象物理上不是连续的存储/流块,则组装逻辑对象。有时,在存储逻辑对象的同时,逻辑对象可以分裂成很多小的子对象,这些小的子对象可以分散在多个存储块中。在这种情况中,在识别所有这种子对象且以正确顺序集合它们之后形成逻辑对象。3.去除应用于逻辑对象的任意格式专用变换。例如,如果逻辑对象以压缩格式存储在存储单元中,则该逻辑对象在被用作用于重复数据删除的厚块之前首先被解压缩。类似地,如果逻辑对象存储为加密形式,则该逻辑对象在被用作用于重复数据删除的厚块之前被解密。4.去除附加到逻辑对象的任意格式专用报头/报尾(footer)。大多数数字数据格式要么在具有在逻辑对象前面具有报头、要么作为逻辑对象的部分或在将逻辑对象插入到所述数字数据之后附加报尾。5.从逻辑块去除任意位置专用数据和元数据。很多数字数据格式在逻辑数据内或在逻辑数据附近存储位置数据,例如,幻灯片文档中的幻灯片数。6.如果对象恰好是文件对象,则首先集合文件对象且然后使用上述步骤提取逻辑对象。这使得人们发现以比如.PSZ/.ZIP之类的混合文件格式嵌入的文件对象内的相同对象,例如图像。在上述一个或更多步骤之后,留下的是与格式专用转换、嵌入式位置数据、环境元数据、或用于存储目的将对象分裂成多个子对象的效果无关的固有形式的逻辑对象。对于使用上述方法获得的固有形式的逻辑对象的操作,使得人们甚至可以跨越不相关文件发现数据的重复厚块。当识别厚块时仅应用一个或多个步骤是可能的。一些对象可以使用不同的步骤,且使用的特定步骤与文件类型和对象类型相关。将数字数据分割成厚块可以包括创建诸如块映射之类的映射,该映射包括可以用于重构原始数字数据的对象/厚块的列表。另外,分割还可以保存从厚块或厚块周围去除的数据以在稍后使用。该数据包括关于组成原始文件的对象中的每一个对象的信息,包括在形成厚块过程中应用于文件中的原始对象的各种方法,以及诸如页码之类的非厚块数据。数据可以被用于重复应用/恢复各种变换以及在分割过程中从构成的厚块去除的数据或在厚块附近的数据,且用于使用厚块和非厚块数据(例如,位置相关数据、实例相关数据和/或从厚块中去除且与之分离存储的报头/报尾数据)的组合重构原始文件。在一组实施例中,一种方法包括在数据存储系统中将多个数字数据实例中的每一个分割成相应多个块,其中通过文件标识符代表每个数字数据实例,文件标识符引用相应多个块中的每一个块;以及在多个块中的每一个中,针对每个块维护最后引用校验时间戳(last-reference-checktimestamp ),使得每个最后弓I用校验时间戳指不块被验证以确认该块在系统内被引用的最后时间(如果有过的话);针对每个文件标识符维护最后验证时间戳,使得每个最后验证时间戳指示由文件标识符引用的每个块何时(如果有过的话)被验证以确认该文件标识符引用的相应块;在与块相关的最后引用校验时间戳早于系统中的最早的最后验证时间戳时,从数据存储系统中去除块。在这些实施例中的一些中,分割多个数字数据实例中的每一个包括将新的数字数据实例分割成包括第一块的多个块,至少部分地基于新的数字数据产生第一文件标识符;将第一文件标识符与第一块以及新的数字数据相关联,使得第一块被第一文件标识符引用;在数据存储系统中存储第一文件标识符;将第一文件标识符的最后验证时间戳设置为当前时间;如果第一块还未被存储,则在数据存储系统中存储第一块;确定系统当前是否处于去除未引用块的过程中;并且如果系统当前处于去除未引用块的过程中,则将第一块的最后引用校验时间戳设置为当前时间。在这些实施例中的一些中,维护最后引用校验时间戳和针对每个文件标识符维护最后验证时间戳包括重复地执行块引用更新,块引用更新包括将数据存储系统中具有最早的最后验证时间戳的文件标识符识别为当前文件标识符,验证当前文件标识符引用的每个块,使得每个这种块的最后引用校验时间戳被设置为当前时间;以及将当前文件标识符的最后验证时间戳更新为当前时间。在这些实施例中的一些中,存储系统中的每个块可以存在于再循环箱(recycling bin)或主存储箱(primary storage bin)中,且其中验证由当前文件标识符引用的每个块包括如果被验证的块不存在于主存储箱但存在于再循环箱中,则将被验证的块从再循环箱移回主存储箱;且如果被验证的块既不存在于主存储箱也不存在于再循环箱中存在,则将当前文件标识符标记为无效。在这些实施例中的其他一本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:S贾因P乔德利
申请(专利权)人:科派恩股份有限公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1