重复数据删除方法和装置制造方法及图纸

技术编号:10828603 阅读:152 留言:0更新日期:2014-12-26 17:59
本发明专利技术实施例提供一种重复数据删除方法和装置。该方法包括:接收外部设备发送的覆盖写请求,所述覆盖写请求中携带数据块和待存储所述数据块的第一地址;判断所述第一地址在[t1,t2]时间段内覆盖写次数是否超过第一阈值;其中,所述t1和t2均为时间点,所述t2大于t1;若是,则不对所述数据块执行重删操作;若否,则对所述数据块执行重删操作。本发明专利技术实施例提供的方法,节省了大量的存储服务器的计算资源,同时也减小了重删操作对数据存储网络性能的影响。

【技术实现步骤摘要】
重复数据删除方法和装置
本专利技术实施例涉及计算机技术,尤其涉及一种重复数据删除方法和装置。
技术介绍
现有技术中,存储服务器将接收到的数据全部进行重删压缩处理。具体的:对于主存储领域中已经存储过的数据块来说,当外部设备向存储服务器的某一逻辑地址(假设为地址O)发送数据时,存储服务器首先会将该数据进行分块,分块之后采用对应的哈希算法计算该数据块的指纹;并将该数据块的指纹传入指纹库中进行查询(该指纹库中存储的是存储空间中已存储的数据块对应的指纹),以判断该数据块是否为重复块;若是,则执行重删操作,即将该重复块删除,并将存储空间中的与该重复块相同的数据块(该与重复块相同的数据块在存储空间中的地址为地址1,地址I为物理地址)的引用次数加1,并将地址O指向地址I;如果为唯一块,则将该数据块保存到存储空间,当然在保存之前可以选择对该数据块执行压缩操作,并相应的分配物理地址存储该数据块。 但是,当地址O上的重复块被删除后,外部设备有可能仍然会不断的向该地址发送写请求,以对地址O上的数据进行覆盖写,所以上述对该地址O上的数据执行的重删操作将没有意义,从而浪费存储服务器的计算资源。
技术实现思路
本专利技术实施例提供一种重复数据删除方法和装置,用以解决现有技术对数据块执行重删操作时导致存储服务器资源浪费的技术问题。 第一方面,本专利技术实施例提供一种重复数据删除方法,包括: 接收外部设备发送的覆盖写请求,所述覆盖写请求中携带数据块和待存储所述数据块的第一地址; 判断所述第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值;其中,所述tl和t2均为时间点,所述t2大于tl ; 若是,则不对所述数据块执行重删操作; 若否,则对所述数据块执行重删操作。 结合第一方面,在第一方面的第一种可能的实施方式中,所述判断所述第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值,具体包括: 查询第一记录表中是否存在所述第一地址;所述第一记录表用于记录在所述[tl, t2]时间段内覆盖写次数超过所述第一阈值的地址。 结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,当判断所述第一地址在所述[tl,t2]时间段内覆盖写次数没有超过第一阈值,所述方法还包括: 将所述第一地址在所述[tl,t2]时间段内进行覆盖写次数加I。 结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,当所述第一地址上的覆盖写次数在所述[tl,t2]时间段内超过所述第一阈值,所述方法还包括: 将所述第一地址记录在所述第一记录表中,并将所述第一地址指向查找表中的第二地址;其中,所述查找表包括所述第二地址与所述数据块的指纹的映射关系。 结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,若所述第一地址在(t2,t3]时间段内的覆盖写次数没有超过第二阈值,则将所述第一地址从所述第一记录表中删除;其中,所述t3为大于t2的时间点。 结合第一方面的第三种可能的实施方式,在第一方面的第五种可能的实施方式中,所述方法还包括: 接收所述外部设备发送的读请求,所述读请求中携带所述第一地址; 若判断所述第一地址在(t2,t4]时间段内被读取的次数超过第三阈值,则恢复所述第一地址上最后一次执行所述重删操作时的数据块;其中,所述t4为大于t2的时间点。 结合第一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,所述恢复所述第一地址上最后一次执行所述重删操作时的数据块,具体包括: 读取所述第二地址上的数据块; 对所述第二地址上的数据块进行恢复,以获取所述第一地址上最后一次执行所述重删操作时的数据块; 将所述第一地址上最后一次执行所述重删操作时的数据块存储至第三地址,并将所述第一地址标记为未经过重删操作。 第二方面,本专利技术实施例提供一种重复数据删除装置,包括: 接收模块,用于接收外部设备发送的覆盖写请求,所述覆盖写请求中携带数据块和待存储所述数据块的第一地址; 判断模块,用于判断所述第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值;其中,所述tl和t2均为时间点,所述t2大于tl ; 重删模块,用于当所述判断模块判断所述第一地址在[tl,t2]时间段内覆盖写次数超过第一阈值时,不对所述数据块执行重删操作;当所述判断模块判断所述第一地址在[tl, t2]时间段内覆盖写次数没有超过第一阈值时,对所述数据块执行重删操作。 结合第二方面,在第二方面的第一种可能的实施方式中,所述判断模块,具体用于查询第一记录表中是否存在所述第一地址;所述第一记录表用于记录在所述[tl,t2]时间段内覆盖写次数超过所述第一阈值的地址。 结合第二方面或第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述装置还包括: 计数模块,用于当所述判断模块判断所述第一地址在所述[tl,t2]时间段内覆盖写次数没有超过第一阈值时,将所述第一地址在所述[tl,t2]时间段内进行覆盖写次数加 1 结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述装置还包括: 记录模块,用于当所述判断模块判断所述第一地址上的覆盖写次数在所述[tl, t2]时间段内超过所述第一阈值时,将所述第一地址记录在所述第一记录表中,并将所述第一地址指向查找表中的第二地址;其中,所述查找表包括所述第二地址与所述数据块的指纹的映射关系。 结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述记录模块,还用于当所述第一地址在(t2,t3]时间段内的覆盖写次数没有超过第二阈值时,将所述第一地址从所述第一记录表中删除;其中,所述t3为大于t2的时间点。 结合第二方面的第三种可能的实施方式,在第二方面的第五种可能的实施方式中,所述接收模块,还用于接收所述外部设备发送的读请求,所述读请求中携带所述第一地址; 则所述装置还包括: 数据恢复模块,还用于当所述判断模块判断所述第一地址在(t2,t4]时间段内被读取的次数超过第三阈值时,恢复所述第一地址上最后一次执行所述重删操作时的数据块;其中,所述t4为大于t2的时间点。 结合第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式中,所述数据恢复模块,具体包括: 数据读取单元,用于读取所述第二地址上的数据块; 数据恢复单元,用于对所述第二地址上的数据块进行恢复,以获取所述第一地址上最后一次执行所述重删操作时的数据块; 存储标记单元,用于将所述第一地址上最后一次执行所述重删操作时的数据块存储至第三地址,并将所述第一地址标记为未经过重删操作。 第三方面,本专利技术实施例提供了一种重复数据删除装置,包括中央处理器和存储器,所述中央处理器和存储器通过总线通信,所述存储器存储计算机执行指令,所述中央处理器执行所述计算机执行指令,用于执行本专利技术实施例第一方面或第一方面的第一至第六任一可能的实施方式。 本专利技术实施例提供的重复数据删除方法和装置,通过存储服务器接收外部设备发送的携带数据块和第一地址的覆盖写请求,并判断该第一地址在[tl,t2]时间段内覆盖写次数是否超过第本文档来自技高网...
重复数据删除方法和装置

【技术保护点】
一种重复数据删除方法,其特征在于,包括:接收外部设备发送的覆盖写请求,所述覆盖写请求中携带数据块和待存储所述数据块的第一地址;判断所述第一地址在[t1,t2]时间段内覆盖写次数是否超过第一阈值;其中,所述t1和t2均为时间点,所述t2大于t1;若是,则不对所述数据块执行重删操作;若否,则对所述数据块执行重删操作。

【技术特征摘要】
1.一种重复数据删除方法,其特征在于,包括: 接收外部设备发送的覆盖写请求,所述覆盖写请求中携带数据块和待存储所述数据块的第一地址; 判断所述第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值;其中,所述tl和t2均为时间点,所述t2大于tl ; 若是,则不对所述数据块执行重删操作; 若否,则对所述数据块执行重删操作。2.根据权利要求1所述的方法,其特征在于,所述判断所述第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值,具体包括: 查询第一记录表中是否存在所述第一地址;所述第一记录表用于记录在所述[tl,t2]时间段内覆盖写次数超过所述第一阈值的地址。3.根据权利要求1或2所述的方法,其特征在于,当判断所述第一地址在所述[tl,t2]时间段内覆盖写次数没有超过第一阈值,所述方法还包括: 将所述第一地址在所述[tl,t2]时间段内进行覆盖写次数加I。4.根据权利要求3所述的方法,其特征在于,当所述第一地址上的覆盖写次数在所述[tl,t2]时间段内超过所述第一阈值,所述方法还包括: 将所述第一地址记录在所述第一记录表中,并将所述第一地址指向查找表中的第二地址;其中,所述查找表包括所述第二地址与所述数据块的指纹的映射关系。5.根据权利要求4所述的方法,其特征在于,若所述第一地址在(t2,t3]时间段内的覆盖写次数没有超过第二阈值,则将所述第一地址从所述第一记录表中删除;其中,所述t3为大于t2的时间点。6.根据权利要求4所述的方法,其特征在于,所述方法还包括: 接收所述外部设备发送的读请求,所述读请求中携带所述第一地址; 若判断所述第一地址在(t2,t4]时间段内被读取的次数超过第三阈值,则恢复所述第一地址上最后一次执行所述重删操作时的数据块;其中,所述t4为大于t2的时间点。7.根据权利要求6所述的方法,其特征在于,所述恢复所述第一地址上最后一次执行所述重删操作时的数据块,具体包括: 读取所述第二地址上的数据块; 对所述第二地址上的数据块进行恢复,以获取所述第一地址上最后一次执行所述重删操作时的数据块; 将所述第一地址上最后一次执行所述重删操作时的数据块存储至第三地址,并将所述第一地址标记为未经过重删操作。8.一种重复数据删除装置,其特征在于,包括: 接收模块,用于接收外部设备发送的覆盖写请求,所述覆盖写请求中携带数据块和待存储所述数据块的第一地址; 判断模块,用于判断所述第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值;其中,所述tl...

【专利技术属性】
技术研发人员:李育国游俊张宗全
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1