[发明专利]重复数据检索方法及设备有效
申请号: | 201280001989.7 | 申请日: | 2012-10-30 |
公开(公告)号: | CN103189867A | 公开(公告)日: | 2013-07-03 |
发明(设计)人: | 覃强 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F3/06 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 重复 数据 检索 方法 设备 | ||
技术领域
本发明涉及存储技术,尤其涉及一种重复数据检索方法及设备。
背景技术
重复数据删除(英文为De-duplication)是一种数据减缩技术,旨在减少存储系统中使用的存储容量或减少数据在网络中的传输量,它广泛应用于数据备份或广域网数据传输的场景。重复数据删除的过程是:对输入数据进行分块,计算每个分块的哈希(Hash)值,用计算出的Hash值在单一实例库中查找以判断该分块是否为重复块,若为重复块,则不将该分块及其Hash值存储到单一实例库中,从而达到缩减数据的目的。
单一实例库通常比较大,无法全部放入内存,通常会放在磁盘中,这样在查询分块是否为重复块时就需要频繁地访问磁盘,由于磁盘访问速度较低,使得重复块查询的效率较低,影响了重复数据删除技术的整体性能。
发明内容
本发明实施例提供一种重复数据检索方法及设备,用以提高重复块查询效率,提高重复数据删除技术的整体性能。
第一方面提供一种重复数据检索方法,包括:
对接收到的数据进行分块处理,获取至少两个数据分块;
对所述至少两个数据分块进行分组,得到至少一个数据分组,每个数据分组包括至少一个数据分块;
针对所述至少一个数据分组中的第一数据分组,对所述第一数据分组内的数据分块进行相似性哈希运算,获取所述第一数据分组的哈希值,获取哈希值存储表中与所述第一数据分组的哈希值相似度大于或等于预设的第一相似度阈值的第一哈希值,所述哈希值存储表中存储有已经存储在数据存储空间中的第二数据分组的哈希值和所述第二数据分组的对应关系,所述第二数据分组的哈希值是根据所述第二数据分组内的数据分块进行相似性哈希运算获得的;所述第一数据分组是所述至少一个数据分组中的任意一个数据分组;
如果所述第一数据分组的哈希值与所述第一哈希值的相似度大于或等于预设的第二相似度阈值,对所述第一数据分组内的数据分块进行重复块检索。
在第一方面的第一种可能的实现方式中,所述重复数据块检索方法还包括:如果所述第一数据分组的哈希值与所述第一哈希值的相似度小于所述第二相似度阈值,将所述第一数据分组内的数据分块和所述第一数据分组内的数据分块的哈希值存储到所述数据存储空间中,并将所述第一数据分组的哈希值与所述第一数据分组的对应关系存储到所述哈希值存储表中。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,对所述至少两个数据分块进行分组,得到至少一个数据分组包括:由所述至少两个数据分块中每个数据分块的哈希值构成待分块哈希数据;以任一个所述数据分块的哈希值的长度为滑动步长,采用分块算法对所述待分块哈希数据进行分块处理,得到至少一个哈希值分块;将属于同一哈希值分块的哈希值对应的数据分块作为一个所述数据分组。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,对所述第一数据分组内的数据分块进行相似性哈希运算,获取所述第一数据分组的哈希值包括:对所述第一数据分组内每个数据分块进行哈希运算,获取所述第一数据分组内每个数据分块的哈希值;将所述第一数据分组内每个数据分块的哈希值中的0替换为-1,将所述第一数据分组内所有数据分块的哈希值的对应位相加,将相加大于0的位映射为1,将相加小于或等于0的位映射为0,获得的二进制数值作为所述第一数据分组的哈希值。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述数据存储空间包括多个存储区域;所述哈希值存储表还存储有所述第二数据分组的哈希值和所述第二数据分组所在存储区域的编号的对应关系;
对所述第一数据分组内的数据分块进行重复块检索包括:从所述哈希值存储表中获取所述第一哈希值对应的存储区域的编号n,将编号n对应存储区域中的数据分块和数据分块的哈希值加载到内存中;其中,n为大于等于0的整数;将所述第一数据分组中与所述编号n对应存储区域中哈希值相同的数据分块进行比较,以完成对所述第一数据分组内的数据分块的重复块检索。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:在将编号n对应存储区域中的数据分块和数据分块的哈希值加载到内存中的同时,将编号(n+1)对应存储区域中的数据分块和数据分块的哈希值加载到内存中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280001989.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于网络的数据传输方法、装置及系统
- 下一篇:一种POE交换机供电方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置