[发明专利]用于改进的数据去重的装置、系统及方法有效
申请号: | 201080048834.X | 申请日: | 2010-08-27 |
公开(公告)号: | CN102598020A | 公开(公告)日: | 2012-07-18 |
发明(设计)人: | 乔纳森·希尔达;大卫·弗林;约翰·斯特拉瑟 | 申请(专利权)人: | 弗森-艾奥公司 |
主分类号: | G06F21/24 | 分类号: | G06F21/24;G06F15/16;G06F13/14;G06F9/06 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 王波波 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 改进 数据 装置 系统 方法 | ||
技术领域
本发明涉及数据去重。具体地,本发明涉及去重操作的时间选择和针对这种操作的散列的产生。
背景技术
数据去重操作总体上涉及对存储系统中的冗余数据的去除。数据去重在任何系统中都可以提供相当大的益处,但是在大的企业型存储系统中尤其有价值。例如,如果以电子邮件附件的形式向公司内的多个个体发送大邮件,为接收电子邮件的每个人都存储该大文件的一个拷贝是浪费存储空间的。最好是存储文件的单个拷贝,并且使指针将所有接收者指引到该单个拷贝。对于用户而言,从系统(不论系统是单个驱动器、存储区域网络(“SAN”)、网络附联存储(“NAS”)还是其它存储系统))去除冗余数据为用户提供了许多的益处。
总体上,存在两种去重的现有方法。图1A所示的一种方法是同步去重或实时去重。在同步去重中,典型地在将文件移至存储装置120之前对文件去重。例如,在将文件存入存储装置120之前,可以将该文件读取到文件服务器108的随机访问存储器(“RAM”)112中,并由去重代理110产生该文件的散列。去重代理110从散列表114中搜索该文件的散列,以确定文件是否是已经在存储装置120中存储的某种内容的副本。如果在散列表114中没有发现该散列,则该文件不是副本。在散列表114中存储该散列,并且将该文件从RAM 112移出并移到存储装置120中。如果在散列表114中发现了该散列,则该文件是副本。去重代理110更新索引116,以将客户端发送的文件与已经存储在存储装置120中的相同文件相关联。因为该文件是副本,所以并不将该文件移入存储装置120中。通过更新的索引116,将针对该文件的未来请求指引到该文件的已有拷贝。
图1B示出了异步去重或延迟去重。一般而言,在异步去重中,将文件移入存储装置120中,而不用执行去重。稍后,去重代理110向存储装置120请求该文件,产生散列,并且按照与结合图1A描述的方式相类似的方式来确定文件是否是副本。如果文件是副本,则更新索引116,并且一般从存储装置120删除该文件。按照这种方式,可以在客户端208上以后台处理的方式进行去重。
同步去重或异步去重均对系统有不利之处。两种方法均需要去重代理110接触数据;即,去重代理110必须制造数据的拷贝或近似拷贝,以对该数据进行去重。在一些情况下,可能期望在其他时间(而不是在将文件写入存储装置120后)执行去重操作,如在同步去重中一样。因为文件首先被写入存储装置120,然后必须从存储装置120中被读出以产生散列并执行去重,所以异步去重操作不必要地增加了将文件服务器108与存储装置120相连的总线或网络上的业务量。此外,异步去重可能在读出文件时使存储装置120不可用,即使当更紧急的过程需要对存储装置120进行访问时。
发明内容
用于改进的去重的装置,包括输入模块、散列模块和传输模块。这些模块可以是在计算机可读存储介质上存储的软件、硬件电路或二者的组合。本发明使得可以由存储设备自身来产生散列,所述散列可以在分离的设备之间或者在相同的设备内传递,以支持去重操作。在非易失性存储设备上实现输入模块,输入模块从请求实体接收散列请求。输入模块可以被实现为在非易失性存储设备上的存储器中存储的软件、位于非易失性存储设备内的物理设备、固件,或者通过实现该模块的其它方法来实现。
例如,请求实体可以是位于非易失性存储设备远程处的去重代理、位于非易失性存储设备上的去重代理或其它实体。散列请求包括数据单元标识符,该数据单元标识符标识了请求的散列所对应的数据单元。数据单元标识符可以标签,如,文件名、对象ID、信息节点或其它数据单元标签。数据单元标识符还可以是数据结构(如,链表),所述数据结构包括指定了非易失性存储设备上存储数据单元的直接或间接位置的数据单元位置(如,LBA或诸如PBA等物理地址)。
所述装置还包括在非易失性存储设备上实现的散列模块,该散列模块针对数据单元执行散列函数,以为数据单元标识符所标识的数据单元产生散列。该散列标识了数据单元,使得去重代理可以使用该散列来确定在包括非易失性存储设备的系统中是否存在该数据单元的副本。传输模块被实现在非易失性存储设备上,并且响应于输入模块接收到散列请求来向接收实体发送散列。
在特定实施例中,传输模块向接收实体发送散列,但是并不发送数据单元本身。可以在输入模块接收散列请求时产生散列;在其它实施例中,在输入模块接收散列请求之前或之后产生散列。可以将散列请求作为用于将数据单元写入的请求的一部分来发送,传输模块可以将散列本身作为肯定应答的一部分来发送,所述肯定应答是:数据单元已经被成功写入非易失性存储设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于弗森-艾奥公司,未经弗森-艾奥公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080048834.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有发电和隔热功能的玻璃
- 下一篇:一种直线灌装加塞机
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置