[发明专利]一种去重方法装置与系统有效
申请号: | 201380002564.2 | 申请日: | 2013-12-31 |
公开(公告)号: | CN104205097B | 公开(公告)日: | 2017-08-25 |
发明(设计)人: | 薛迎春;邵长庚 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 方法 装置 系统 | ||
技术领域
本发明涉及存储领域,特别涉及一种去重技术。
背景技术
在存储领域中,为了节约存储空间,去重(De-duplicate)是一种经常被使用到的技术,其做法是如果需要对多份相同的数据进行存储时,只存储其中的一份,其余与这份数据重复的数据不再存储。也就是说重复的数据被删除,因此这种技术也称为重复数据删除。
在粒度的选择上,可以把文件拆分成数据块,以数据块作为去重的基本单位。在以数据块作为去重的基本单位时,可以为每个数据块赋予指纹,指纹和数据块的内容强相关。当两个数据块的指纹相同时,我们可以得出这两个数据块的内容相同的结论,通过执行去重操作,只存储其中一个数据块到存储系统中,另外一个数据块不存储。
然而,去重技术也带来了数据安全性降低的问题,如果这仅有的一份数据因为存储系统故障而损坏,可能造成数据的安全性大大降低或者数据永久性丢失。
发明内容
本发明可以提高数据安全性。
第一方面,本发明提供一种数据处理方法,用于控制器中,该方法包括:当有多个数据块有相同的指纹时,根据所述指纹查询所述数据块的地址,根据所述数据块地址查找所述数据块所占用的分条组;校验所述数据块的所述分条组的独立廉价磁盘冗余阵列RAID分条状态,根据校验结果保存分条一致的分条组中的数据块;所述根据校验结果保存分条一致的分条组中的数据块,包括下述至少一种:如果存在分条一致的所述分条组,并且存在非分条一致的所述分条组,则保留分条一致的所述分条组中的数据块,删除其余所述分条组中的数据块;如果不存在分条一致的所述分条组,并且存在降级的分条组,则通过RAID算法修复将降级的分条组修复为分条一致的分条组,所述分条一致的分条组中存储有所述数据块,删除其余所述分条组中的所述数据块。
第二方面,本发明提供一种数据块处理装置,该装置包括:指纹比对模块,用于对存储设备中数据块的指纹进行比对;地址查找模块,当所述存储设备中有多个数据块有相同的指纹时,根据所述指纹查询所述多个数据块的地址,根据所述多个数据块地址查找所述多个数据块所占用的分条组;一致性校验模块,用于校验所述多个数据块的所述分条组的独立廉价磁盘冗余阵列RAID分条状态,根据校验结果保存分条一致的分条组中的数据块;所述根据校验结果保存分条一致的分条组中的数据块,包括下述至少一种:如果存在分条一致的所述分条组,并且存在非分条一致的所述分条组,则保留分条一致的所述分条组中的数据块,删除其余所述分条组中的数据块;如果不存在分条一致的所述分条组,并且存在降级的分条组,则通过RAID算法修复将降级的分条组修复为分条一致的分条组,所述分条一致的分条组中存储有所述数据块,删除其余所述分条组中的所述数据块。
第三方面,本发明提供一种数据块处理方法,用于控制器中,该方法包括:查询存储设备中数据块的指纹库,当存储设备中存在和所述待存储数据块拥有相同指纹的已存储数据块时,检测所述已存储数据块所在分条组的独立廉价磁盘冗余阵列RAID分条状态;根据检测进行数据块存储,包括下述其中一种或多种策略:策略A,如果所述分条组的分条状态是分条一致,则不存储所述待存储数据块;策略B,如果所述分条组的分条状态是分条降级,则:存储所述待存储数据块,删除所述已存储数据块;或者,存储根据RAID算法由所述降级分条组对所述已存储数据块进行修复;策略C,如果所述分条组的分条状态是分条不一致,则:存储所述待存储数据块,删除所述已存储数据块;或者,如果数据分条单元未发生数据错误,则根据RAID算法对所述已存储数据块进行修复。
第四方面,本发明提供一种数据块处理装置,该装置包括:查询模块61,用于查询存储设备中数据块的指纹库;一致性校验模块62,用于当存储设备中存在和所述待存储数据块拥有相同指纹的已存储数据块时,检测所述已存储数据块所在分条组的独立廉价磁盘冗余阵列RAID分条状态;根据检测进行数据块存储,包括下述其中一种或多种策略:策略A,如果所述分条组的分条状态是分条一致,则不存储所述待存储数据块;策略B,如果所述分条组的分条状态是分条降级,则:存储所述待存储数据块,删除所述已存储数据块;或者,存储根据RAID算法由所述降级分条组对所述已存储数据块进行修复;策略C,如果所述分条组的分条状态是分条不一致,则:存储所述待存储数据块,删除所述已存储数据块;或者,如果数据分条单元未发生数据错误,则根据RAID算法对所述已存储数据块进行修复。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380002564.2/2.html,转载请声明来源钻瓜专利网。