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

文档序号:6627332阅读:221来源:国知局
重复数据删除方法和装置制造方法
【专利摘要】本发明实施例提供一种重复数据删除方法和装置。该方法包括:接收外部设备发送的覆盖写请求,所述覆盖写请求中携带数据块和待存储所述数据块的第一地址;判断所述第一地址在[t1,t2]时间段内覆盖写次数是否超过第一阈值;其中,所述t1和t2均为时间点,所述t2大于t1;若是,则不对所述数据块执行重删操作;若否,则对所述数据块执行重删操作。本发明实施例提供的方法,节省了大量的存储服务器的计算资源,同时也减小了重删操作对数据存储网络性能的影响。
【专利说明】重复数据删除方法和装置

【技术领域】
[0001]本发明实施例涉及计算机技术,尤其涉及一种重复数据删除方法和装置。

【背景技术】
[0002]现有技术中,存储服务器将接收到的数据全部进行重删压缩处理。具体的:对于主存储领域中已经存储过的数据块来说,当外部设备向存储服务器的某一逻辑地址(假设为地址O)发送数据时,存储服务器首先会将该数据进行分块,分块之后采用对应的哈希算法计算该数据块的指纹;并将该数据块的指纹传入指纹库中进行查询(该指纹库中存储的是存储空间中已存储的数据块对应的指纹),以判断该数据块是否为重复块;若是,则执行重删操作,即将该重复块删除,并将存储空间中的与该重复块相同的数据块(该与重复块相同的数据块在存储空间中的地址为地址1,地址I为物理地址)的引用次数加1,并将地址O指向地址I;如果为唯一块,则将该数据块保存到存储空间,当然在保存之前可以选择对该数据块执行压缩操作,并相应的分配物理地址存储该数据块。
[0003]但是,当地址O上的重复块被删除后,外部设备有可能仍然会不断的向该地址发送写请求,以对地址O上的数据进行覆盖写,所以上述对该地址O上的数据执行的重删操作将没有意义,从而浪费存储服务器的计算资源。


【发明内容】

[0004]本发明实施例提供一种重复数据删除方法和装置,用以解决现有技术对数据块执行重删操作时导致存储服务器资源浪费的技术问题。
[0005]第一方面,本发明实施例提供一种重复数据删除方法,包括:
[0006]接收外部设备发送的覆盖写请求,所述覆盖写请求中携带数据块和待存储所述数据块的第一地址;
[0007]判断所述第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值;其中,所述tl和t2均为时间点,所述t2大于tl ;
[0008]若是,则不对所述数据块执行重删操作;
[0009]若否,则对所述数据块执行重删操作。
[0010]结合第一方面,在第一方面的第一种可能的实施方式中,所述判断所述第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值,具体包括:
[0011]查询第一记录表中是否存在所述第一地址;所述第一记录表用于记录在所述[tl, t2]时间段内覆盖写次数超过所述第一阈值的地址。
[0012]结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,当判断所述第一地址在所述[tl,t2]时间段内覆盖写次数没有超过第一阈值,所述方法还包括:
[0013]将所述第一地址在所述[tl,t2]时间段内进行覆盖写次数加I。
[0014]结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,当所述第一地址上的覆盖写次数在所述[tl,t2]时间段内超过所述第一阈值,所述方法还包括:
[0015]将所述第一地址记录在所述第一记录表中,并将所述第一地址指向查找表中的第二地址;其中,所述查找表包括所述第二地址与所述数据块的指纹的映射关系。
[0016]结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,若所述第一地址在(t2,t3]时间段内的覆盖写次数没有超过第二阈值,则将所述第一地址从所述第一记录表中删除;其中,所述t3为大于t2的时间点。
[0017]结合第一方面的第三种可能的实施方式,在第一方面的第五种可能的实施方式中,所述方法还包括:
[0018]接收所述外部设备发送的读请求,所述读请求中携带所述第一地址;
[0019]若判断所述第一地址在(t2,t4]时间段内被读取的次数超过第三阈值,则恢复所述第一地址上最后一次执行所述重删操作时的数据块;其中,所述t4为大于t2的时间点。
[0020]结合第一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,所述恢复所述第一地址上最后一次执行所述重删操作时的数据块,具体包括:
[0021]读取所述第二地址上的数据块;
[0022]对所述第二地址上的数据块进行恢复,以获取所述第一地址上最后一次执行所述重删操作时的数据块;
[0023]将所述第一地址上最后一次执行所述重删操作时的数据块存储至第三地址,并将所述第一地址标记为未经过重删操作。
[0024]第二方面,本发明实施例提供一种重复数据删除装置,包括:
[0025]接收模块,用于接收外部设备发送的覆盖写请求,所述覆盖写请求中携带数据块和待存储所述数据块的第一地址;
[0026]判断模块,用于判断所述第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值;其中,所述tl和t2均为时间点,所述t2大于tl ;
[0027]重删模块,用于当所述判断模块判断所述第一地址在[tl,t2]时间段内覆盖写次数超过第一阈值时,不对所述数据块执行重删操作;当所述判断模块判断所述第一地址在[tl, t2]时间段内覆盖写次数没有超过第一阈值时,对所述数据块执行重删操作。
[0028]结合第二方面,在第二方面的第一种可能的实施方式中,所述判断模块,具体用于查询第一记录表中是否存在所述第一地址;所述第一记录表用于记录在所述[tl,t2]时间段内覆盖写次数超过所述第一阈值的地址。
[0029]结合第二方面或第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述装置还包括:
[0030]计数模块,用于当所述判断模块判断所述第一地址在所述[tl,t2]时间段内覆盖写次数没有超过第一阈值时,将所述第一地址在所述[tl,t2]时间段内进行覆盖写次数加
1
[0031]结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述装置还包括:
[0032]记录模块,用于当所述判断模块判断所述第一地址上的覆盖写次数在所述[tl, t2]时间段内超过所述第一阈值时,将所述第一地址记录在所述第一记录表中,并将所述第一地址指向查找表中的第二地址;其中,所述查找表包括所述第二地址与所述数据块的指纹的映射关系。
[0033]结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述记录模块,还用于当所述第一地址在(t2,t3]时间段内的覆盖写次数没有超过第二阈值时,将所述第一地址从所述第一记录表中删除;其中,所述t3为大于t2的时间点。
[0034]结合第二方面的第三种可能的实施方式,在第二方面的第五种可能的实施方式中,所述接收模块,还用于接收所述外部设备发送的读请求,所述读请求中携带所述第一地址;
[0035]则所述装置还包括:
[0036]数据恢复模块,还用于当所述判断模块判断所述第一地址在(t2,t4]时间段内被读取的次数超过第三阈值时,恢复所述第一地址上最后一次执行所述重删操作时的数据块;其中,所述t4为大于t2的时间点。
[0037]结合第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式中,所述数据恢复模块,具体包括:
[0038]数据读取单元,用于读取所述第二地址上的数据块;
[0039]数据恢复单元,用于对所述第二地址上的数据块进行恢复,以获取所述第一地址上最后一次执行所述重删操作时的数据块;
[0040]存储标记单元,用于将所述第一地址上最后一次执行所述重删操作时的数据块存储至第三地址,并将所述第一地址标记为未经过重删操作。
[0041]第三方面,本发明实施例提供了一种重复数据删除装置,包括中央处理器和存储器,所述中央处理器和存储器通过总线通信,所述存储器存储计算机执行指令,所述中央处理器执行所述计算机执行指令,用于执行本发明实施例第一方面或第一方面的第一至第六任一可能的实施方式。
[0042]本发明实施例提供的重复数据删除方法和装置,通过存储服务器接收外部设备发送的携带数据块和第一地址的覆盖写请求,并判断该第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值,并在判断第一地址在[tl,t2]时间段内覆盖写次数超过第一阈值时,不对第一地址的数据块进行重删操作,从而节省大量的存储服务器的计算资源,同时也减小了重删操作对数据存储网络性能的影响。

【专利附图】

【附图说明】
[0043]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0044]图1为本发明提供的重复数据删除方法实施例一的流程示意图;
[0045]图2为本发明提供的存储系统网络拓扑图;
[0046]图3为本发明提供的重复数据删除方法实施例二的流程示意图;
[0047]图4为本发明实施例提供的重复数据删除装置实施例一的结构示意图;
[0048]图5为本发明实施例提供的重复数据删除装置实施例二的结构示意图;
[0049]图6为本发明实施例提供的重复数据删除装置实施例三的结构示意图;
[0050]图7为本发明实施例提供的重复数据删除装置实施例四的结构示意图。

【具体实施方式】
[0051]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052]图1为本发明提供的重复数据删除方法实施例一的流程示意图。重复数据删除,以下简称为重删。该方法的执行主体可以为存储服务器,具体可以为存储服务器中的重删模块。如图1所示,该方法包括:
[0053]SlOl:接收外部设备发送的覆盖写请求,所述覆盖写请求中携带数据块和待存储所述数据块的第一地址。
[0054]具体的,本发明实施例可以适用于如图2所示的存储系统网络拓扑图。外部设备经过数据存储网络,例如:存储区域网络(Storage Area Network,以下简称SAN)向存储服务器发送覆盖写请求,该覆盖写请求中携带数据块和待存储该数据块的第一地址。可选的,该第一地址可以为逻辑地址。
[0055]S102:判断所述第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值;其中,所述tl和t2均为时间点,所述t2大于tl ;若是,则不对所述数据块执行重删操作;若否,则对所述数据块执行重删操作。
[0056]具体的,存储服务器接收到上述覆盖写请求之后,判断覆盖写请求中携带的第一地址在[tl,t2]时间段内的覆盖写次数是否超过第一阈值。可选的,该[tl,t2]时间段可以通过相应的软件设置,例如:通过定时器的定时软件设置。该第一阈值可以为用户设置的,也可以为存储服务器根据实际需要设置的阈值。
[0057]当存储服务器判断第一地址在[tl,t2]时间段内的覆盖写次数超过第一阈值时,存储服务器不对上述数据块进行重删操作,而是按照现有技术对数据块的处理流程进行处理,例如,将该数据块写入对应的物理地址或逻辑地址中(因为存储服务器知道在短时间内还会不断的有数据块到达第一地址,因此不再对该数据块进行重删操作了)。
[0058]当存储服务器判断在[tl,t2]时间段内的覆盖写次数没有超过第一阈值时,存储服务器对该数据块执行重删操作,即:若该数据块是重复数据块,就将该重复数据块删除;若该数据块是唯一数据块,则保该数据块,并且记录该数据块的指纹和引用计数。可选的,可以对该数据块进行压缩,并将压缩后的数据块存储至某一物理地址或逻辑地址中,还可以直接向该数据块存储至某一物理地址或逻辑地址中。
[0059]由于上述存储服务器对第一地址在[tl,t2]时间段内的覆盖写次数是否超过第一阈值进行了判断,使得存储服务器不再对任何地址都执行重删操作,而是对发生覆盖写次数未超过第一阈值的地址上的数据块才进行重删操作,对发生覆盖写次数超过第一阈值的地址上的数据块不进行重删操作,从而节省了大量的存储服务器的计算资源,同时也减小了重删操作对数据存储网络性能的影响。
[0060]本发明实施例提供的重复数据删除方法,通过存储服务器接收外部设备发送的携带数据块和第一地址的覆盖写请求,并判断该第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值,并在判断第一地址在[tl,t2]时间段内覆盖写次数超过第一阈值时,不对第一地址的数据块进行重删操作,从而节省大量的存储服务器的计算资源,同时也减小了重删操作对数据存储网络性能的影响。
[0061]在上述实施例的基础上,本实施例涉及的方法是存储服务器判断第一记录表中是否存在第一地址,从而确定是否对第一地址的数据块进行重删操作的过程。在上述图1所示实施例的基础上,进一步地,上述S102具体包括:查询第一记录表中是否存在所述第一地址;所述第一记录表用于记录在所述[tl,t2]时间段内覆盖写次数超过所述第一阈值的地址。
[0062]具体的,存储服务器接收到上述覆盖写请求之后,查询第一记录表中是否存在覆盖写请求中携带的第一地址。该第一记录表中可以包括一个或多个地址,这些地址均为在[tl,t2]时间段内覆盖写次数超过第一阈值的地址,即发生覆盖写的概率比较高的地址,这些地址均可以为逻辑地址。可选的,这些地址在第一记录表中可以是以地址集合的形式存在,也可以是以地址与该地址上的覆盖写次数的映射关系的形式存在,本发明实施例对第一记录表中的地址的存储形式并不做限制。
[0063]当存储服务器判断第一记录表中存在第一地址时,存储服务器不对上述数据块进行重删操作,而是按照现有技术对数据块的处理流程进行处理,例如,将该数据块写入对应的物理地址或逻辑地址中(因为存储服务器知道在短时间内还会不断的有数据块到达第一地址,因此不再对该数据块进行重删操作了)。
[0064]当存储服务器判断第一记录表中不存在第一地址时(也就是第一地址在[tl,t2]时间段内的覆盖写次数没有超过第一阈值),存储服务器对该数据块执行重删操作,即:若该数据块是重复数据块,就将该重复数据块删除;若该数据块是唯一数据块,则保该数据块,并且记录该数据块的指纹和引用计数。可选的,可以对该数据块进行压缩,并将压缩后的数据块存储至某一物理地址或逻辑地址中,还可以直接向该数据块存储至某一物理地址或逻辑地址中。
[0065]本发明实施例提供的重复数据删除方法,通过存储服务器接收外部设备发送的携带数据块和第一地址的覆盖写请求,并查询第一记录表中是否存在第一地址,并在第一记录表中存在第一地址时,不对第一地址的数据块进行重删操作,从而节省大量的存储服务器的计算资源,同时也减小了重删操作对数据存储网络性能的影响。
[0066]在上述实施例的基础上,当存储服务器判断第一记录表中不存在第一地址,也就是说当存储服务器判断该第一地址在[tl,t2]时间段内覆盖写次数没有超过第一阈值时,存储服务器将该第一地址在[tl,t2]时间段内进行覆盖写次数加I。当第一地址上再次发生覆盖写时,存储服务器仍然会判断第一记录表中是否存在第一地址,若不存在,则存储服务器不仅对该第一地址的数据块进行重删操作,还会将该第一地址在[tl,t2]时间段内覆盖写次数再次加1,以此类推。
[0067]当上述第一地址在[tl,t2]时间段内覆盖写次数累加到超过第一阈值时,存储服务器将该第一地址记录在第一记录表中,并将第一地址指向查找表中的第二地址;其中,该查找表包括所述第二地址与所述数据块的指纹的映射关系。
[0068]具体的,为了更方便的说明本实施例的技术方案,此处举一个简单的例子:
[0069]假设第一阈值为10次,且第一记录表中不存在第一地址(即第一地址在[tl,t2]时间段内没有超过第一阈值),则存储服务器要对上述待存储至第一地址上的数据块进行重删操作;同时,将第一地址在[tl,t2]时间段内进行覆盖写次数加I。假设加I之后,当前第一地址在[tl,t2]时间段内的覆盖写次数为9次,当第一地址上发生第10次覆盖写时(即存储服务器接收到的依然是将某一数据块写入第一地址的覆盖写请求),存储服务器依然会将上述待存储至第一地址上的数据块进行重删操作,但是存储服务器此时会将该第一地址存储至第一记录表中。
[0070]若第一地址上发生第10次覆盖写时的数据块是唯一块,则存储服务器对该数据块进行重删操作后,并将压缩后的数据块存储至查找表中的第二地址(该第二地址是存储服务器在查找表中为该唯一块分配的新地址,并且,存储服务器建立该唯一块与该第二地址之间的映射关系),并将第一地址指向该第二地址,这样在外部设备访问第一地址时,就可以间接的访问到第二地址上的数据块了。
[0071]若第一地址上发生第10次覆盖写时的数据块是重复块,则存储服务器对该数据块进行重删操作后,根据第一地址上的重复块的指纹在查找表中查找存储该重复块的地址。由于查找表中,该重复块的指纹对应的是第二地址(即第二地址上存储的数据块与该重复块是相同的),因此,存储服务器将第一地址指向第二地址。这样在外部设备访问第一地址时,也可以间接的访问到第二地址上的数据块了。
[0072]更进一步地,当第一地址记录在第一记录表之后,存储服务器依然会监测该第一地址在(t2,t3]时间段内所发生的覆盖写次数是否超过第二阈值,若没有超过,说明该第一地址在(t2,t3]时间段内发生覆盖写的次数概率很低或者根本没有发生覆盖写,则存储服务器就将该第一地址从第一记录表中删除。可选的,该第二阈值可以为0,也可以为大于O的整数。上述t3为大于t2的时间点。
[0073]图3为本发明实施例提供的重复数据删除方法实施例二的流程示意图。本实施例涉及的方法是在当第一地址记录在第一记录表之后,存储服务器判断外部设备读取第一地址的次数超过一定阈值,对该第一地址上最后一次执行重删操作时的数据块进行恢复的具体过程。如图3所示,该方法包括:
[0074]S201:接收所述外部设备发送的读请求,所述读请求中携带所述第一地址。
[0075]S202:若判断所述第一地址在(t2,t4]时间段内被读取的次数超过第三阈值,则恢复所述第一地址上最后一次执行所述重删操作时的数据块;其中,所述t4为大于t2的时间点。
[0076]具体的,存储服务器在接收到外部设备读取第一地址上的数据块的读请求时,会判断该第一地址在(t2,t4]时间段内被读取的次数是否超过第三阈值,若超过,则说明第一地址在(t2,t4]时间段内被读取的概率很高,而外部设备每次读取第一地址时,存储服务器都会去间接的访问第二地址,从而会带来相应的访问时延。因此,存储服务器为了降低访问时延,会对第一地址上最后一次执行重删操作时的数据块进行恢复。具体为:存储服务器读取第二地址上的数据块(因为第一地址指向第二地址,第二地址上的数据块与第一地址在最后一次执行重删压缩操作时的数据块相同),并对该第二地址上的数据块进行恢复,以获取第一地址上最后一次执行所述重删操作时的数据块。可选的,若数据块在存储至第二地址时进行了压缩,则这里的恢复就是对数据块进行解压缩。可选的,上述第三阈值可以为用户设置的,也可以为存储服务器根据实际需要设置的阈值。
[0077]S203:将上述第一地址上最后一次执行重删压缩操作时的数据块存储至第三地址,并将上述第一地址标记为未经过重删操作。
[0078]本发明实施例提供的重复数据删除方法,通过存储服务器判断第一记录表中的第一地址在(t2,t4]时间段内被读取的次数超过第三阈值后,对该第一地址上的最后一次执行所述重删操作时的数据块进行恢复,从而降低了外部设备访问第一地址时的时延。
[0079]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0080]图4为本发明实施例提供的重复数据删除装置实施例一的结构示意图。该装置可以为存储系统中的存储服务器,也可以集成在存储服务器中。如图4所示,该装置包括:接收模块11、判断模块12和重删模块13。其中,接收模块11,用于接收外部设备发送的覆盖写请求,所述覆盖写请求中携带数据块和待存储所述数据块的第一地址;判断模块12,用于判断所述第一地址在[tl,t2]时间段内覆盖写次数是否超过第一阈值;其中,所述tl和t2均为时间点,所述t2大于tl ;重删模块13,用于当所述判断模块12判断所述第一地址在[tl,t2]时间段内覆盖写次数超过第一阈值时,不对所述数据块执行重删操作;当所述判断模块12判断所述第一地址在[tl,t2]时间段内覆盖写次数没有超过第一阈值时,对所述数据块执行重删操作。
[0081]本发明实施例提供的重复数据删除装置,可以执行上述重复数据删除方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0082]进一步地,上述判断模块12,具体用于查询第一记录表中是否存在所述第一地址;所述第一记录表用于记录在所述[tl,t2]时间段内覆盖写次数超过所述第一阈值的地址。
[0083]本发明实施例提供的重复数据删除装置,可以执行上述重复数据删除方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0084]图5为本发明实施例提供的重复数据删除装置实施例二的结构示意图。在上述图4所示的实施例的基础上,进一步地,该装置还可以包括:计数模块14,用于当所述判断模块12判断所述第一地址在所述[tl,t2]时间段内覆盖写次数没有超过第一阈值时,将所述第一地址在所述[tl,t2]时间段内进行覆盖写次数加I ;记录模块15,用于当所述判断模块12判断所述第一地址上的覆盖写次数在所述[tl,t2]时间段内超过所述第一阈值时,将所述第一地址记录在所述第一记录表中,并将所述第一地址指向查找表中的第二地址;其中,所述查找表包括所述第二地址与所述数据块的指纹的映射关系。
[0085]进一步地,上述记录模块15,还用于当所述第一地址在(t2,t3]时间段内的覆盖写次数没有超过第二阈值时,将所述第一地址从所述第一记录表中删除;其中,所述t3为大于t2的时间点。
[0086]本发明实施例提供的重复数据删除装置,可以执行上述重复数据删除方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0087]图6为本发明实施例提供的重复数据删除装置实施例三的结构示意图。在上述图5所示实施例的基础上,上述接收模块11,还用于接收所述外部设备发送的读请求,所述读请求中携带所述第一地址;则该装置还可以包括:数据恢复模块16,还用于当所述判断模块12判断所述第一地址在(t2,t4]时间段内被读取的次数超过第三阈值时,恢复所述第一地址上最后一次执行所述重删操作时的数据块;其中,所述t4为大于t2的时间点。
[0088]进一步地,该数据恢复模块16,具体可以包括:数据读取单元161,用于读取所述第二地址上的数据块;数据恢复单元162,用于对所述第二地址上的数据块进行恢复,以获取所述第一地址上最后一次执行所述重删操作时的数据块;存储标记单元163,用于将所述第一地址上最后一次执行所述重删操作时的数据块存储至第三地址,并将所述第一地址标记为未经过重删操作。
[0089]本发明实施例提供的重复数据删除装置,可以执行上述重复数据删除方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0090]图7为本发明实施例提供的重复数据删除装置实施例四的结构示意图。如图7所示,该装置可以包括:中央处理器20和存储器21,所述中央处理器20和存储器21通过总线通信,所述存储器21存储计算机执行指令,所述中央处理器20执行所述计算机执行指令,用于执行本发明方法实施例所示的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0091]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
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和t2均为时间点,所述t2大于tl ; 重删模块,用于当所述判断模块判断所述第一地址在[tl,t2]时间段内覆盖写次数超过第一阈值时,不对所述数据块执行重删操作;当所述判断模块判断所述第一地址在[tl, t2]时间段内覆盖写次数没有超过第一阈值时,对所述数据块执行重删操作。
9.根据权利要求8所述的装置,其特征在于,所述判断模块,具体用于查询第一记录表中是否存在所述第一地址;所述第一记录表用于记录在所述[tl,t2]时间段内覆盖写次数超过所述第一阈值的地址。
10.根据权利要求8或9所述的装置,其特征在于,所述装置还包括: 计数模块,用于当所述判断模块判断所述第一地址在所述[tl,t2]时间段内覆盖写次数没有超过第一阈值时,将所述第一地址在所述[tl,t2]时间段内进行覆盖写次数加I。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括: 记录模块,用于当所述判断模块判断所述第一地址上的覆盖写次数在所述[tl,t2]时间段内超过所述第一阈值时,将所述第一地址记录在所述第一记录表中,并将所述第一地址指向查找表中的第二地址;其中,所述查找表包括所述第二地址与所述数据块的指纹的映射关系。
12.根据权利要求11所述的装置,其特征在于,所述记录模块,还用于当所述第一地址在(t2,t3]时间段内的覆盖写次数没有超过第二阈值时,将所述第一地址从所述第一记录表中删除;其中,所述t3为大于t2的时间点。
13.根据权利要求11所述的装置,其特征在于,所述接收模块,还用于接收所述外部设备发送的读请求,所述读请求中携带所述第一地址; 则所述装置还包括: 数据恢复模块,还用于当所述判断模块判断所述第一地址在(t2,t4]时间段内被读取的次数超过第三阈值时,恢复所述第一地址上最后一次执行所述重删操作时的数据块;其中,所述t4为大于t2的时间点。
14.根据权利要求13所述的装置,其特征在于,所述数据恢复模块,具体包括: 数据读取单元,用于读取所述第二地址上的数据块; 数据恢复单元,用于对所述第二地址上的数据块进行恢复,以获取所述第一地址上最后一次执行所述重删操作时的数据块; 存储标记单元,用于将所述第一地址上最后一次执行所述重删操作时的数据块存储至第三地址,并将所述第一地址标记为未经过重删操作。
15.一种重复数据删除装置,其特征在于,包括中央处理器和存储器,所述中央处理器和存储器通过总线通信,所述存储器存储计算机执行指令,所述中央处理器执行所述计算机执行指令,用于执行权利要求1-7任一所述的方法。
【文档编号】G06F17/30GK104239518SQ201410475287
【公开日】2014年12月24日 申请日期:2014年9月17日 优先权日:2014年9月17日
【发明者】李育国, 游俊, 张宗全 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1