一种重复数据的删除方法及装置制造方法及图纸

技术编号:22944253 阅读:39 留言:0更新日期:2019-12-27 17:06
一种重复数据的删除方法及装置,在该方法中,首先获取包含多个指纹记录项的指纹记录,然后从该指纹记录中确定出包括同一指纹的至少两个第一指纹记录项,例如,该至少两个第一指纹记录项中均包括第一指纹,从而将该至少两个第一指纹记录项中的该第一指纹对应的数据进行重复数据删除操作,删除该至少两个第一指纹记录项,以及,在该指纹记录中记录该第一指纹的存根,通过该第一指纹的存根指示该第一指纹为重复指纹。由于在指纹记录中增加与重复指纹对应的存根,这样,可以直接通过该存根来确定出该指纹记录项中包括的指纹是重复指纹,从而可以较快地确定出重复指纹,并进行重复数据删除操作,可以提高重复数据删除技术的效率。

A method and device for deleting duplicate data

【技术实现步骤摘要】
一种重复数据的删除方法及装置
本申请涉及存储
,尤其涉及一种重复数据的删除方法及装置。
技术介绍
随着技术的发展,越来越多的数据需要使用存储系统进行存储。为了节省存储系统的存储空间,提出了重复数据删除技术,即,若某个数据在存储系统中存储多份,则将该多份数据删除而只保存一份数据,从而通过缩减数据实现减少数据所占用的存储空间的目的。目前,其中一种重复数据删除技术的实现过程为:首先,计算每个数据的指纹,存储数据,记录指纹与数据的存储地址的映射。将存储的数据作为待重复数据删除的数据进行批量的重复数据删除。对存储的重复数据进行批量的重复数据删除包括:查询存储的数量在指纹表中是否有相同的指纹,如果有相同的指纹则判定该数据为重复数据,否则认为是唯一数据。并且删除前面的数据的指纹与存储地址的映射。可见,目前的重复数据删除技术是要在指纹表查找所有待重复的数据的指纹才能够判断是否是重复数据,造成重复数据删除效率低。
技术实现思路
本申请提供一种重复数据的删除方法及装置,用以提高重复数据删除技术的效率。第一方面,提供一种重复数据的删除方法,在该方法中,首先获取包含多个指纹记录项的指纹记录,其中,每个指纹记录项中包含指纹和与该指纹对应的数据的存储地址,若两个数据相同,但是存储在不同的存储地址,则会对这两个数据分别生成不同的指纹记录项,这两个指纹记录项中包括相同的指纹但是与指纹对应的存储地址不同。在获取该指纹记录后,则从该指纹记录中确定出包括同一指纹的至少两个第一指纹记录项,例如,该至少两个第一指纹记录项中均包括第一指纹,从而将该至少两个第一指纹记录项中的该第一指纹对应的数据进行重复数据删除操作,删除该至少两个第一指纹记录项,以及,在该指纹记录中记录该第一指纹的存根,通过该第一指纹的存根指示该第一指纹为重复指纹。在上述技术方案中,由于在指纹记录中增加与重复指纹对应的存根,这样,可以直接通过该存根来确定出该指纹记录项中包括的指纹是重复指纹,而不用像现有技术中要在指纹表查找所有待重复的数据的指纹才能够判断是否是重复数据,从而本申请可以较快地确定出重复指纹,并对与重复指纹对应的数据进行重复数据删除操作,可以提高重复数据删除技术的效率。在一种可能的设计中,当存储系统中写入新的数据,则指纹记录中会记录与该新的数据对应的指纹记录项,作为一种示例,将该新的数据对应的指纹记录项记为第二指纹记录项,该第二指纹记录项包含该第一指纹以及该新的数据的存储地址。由于第一指纹的存根指示该第一指纹为重复指纹,而第二指纹记录项中包括该第一指纹,因此,确定第二指纹记录项中的第一指纹为重复指纹,从而对该新的数据进行重复数据删除操作。在上述技术方案中,当存储系统中存储新的数据后,可以将该新的数据对应的指纹与该存根进行比较,若该新的数据对应的指纹与该存根指示的指纹相同,则可以对该新的数据进行重复数据删除操作,从而无需查询指纹表便可以对数据进行重复删除操作,节省了查询指纹表的过程,可以提高重复数据删除技术的效率。在一种可能的设计中,当删除与第二指纹记录项对应的新写入的数据后,则可以删除该第二指纹记录项。在上述技术方案中,将无效的指纹记录删除可以减小指纹记录所占用的存储空间,可以提高存储空间的利用率。在一种可能的设计中,在指纹记录所占用的存储空间大于或等于第一门限时,则可以删除指纹记录表中的第三指纹记录项,该第三指纹记录项包括的指纹与该指纹记录中其他指纹记录项包括的指纹均不同。也就是说,删除指纹记录中落单的指纹记录项。在上述技术方案中,随着写入存储系统中的数据越来越多,则指纹记录所占用的存储空间越来越大,其所占用的存储空间需要一定时长才会大于或等于第一门限。若某一个指纹记录项在该时长内落单,则说明重复存储与该指纹对应的数据的概率很小,且该指纹记录项需要等待更长的时间才可以进行重复数据删除操作,从而可以直接将该指纹记录项删除,以节省指纹记录所占用的存储空间。在一种可能的设计中,在该指纹记录所占用的存储空间大于或等于第一门限时,则可以删除第四指纹记录项,该第四指纹记录项保存在该指纹记录中的时长大于或等于第二门限。也就是说,删除指纹记录中写入时间较早的指纹记录项。在上述技术方案中,若数据已经被覆盖,则该数据不会在存储系统中重复存储,也就没有必要对该数据进行重复数据删除操作。而指纹记录项写入指纹记录的时间越早,则说明该与该指纹记录项对应的数据被新的数据覆盖的可能性越大,从而可以将该指纹记录中写入较早的指纹记录项删除,节省指纹记录所占用的存储空间。在一种可能的设计中,在指纹记录所占用的存储空间大于或等于第一门限时,则可以删除指纹记录表中的第五指纹记录项,该指纹记录在预定的时间内未记录预定数量的第五指纹记录项。也就是说,删除指纹记录中出现次数较少的指纹记录项。在上述技术方案中,若某一个指纹记录项在预定的时间内出现的次数较少,则说明重复存储与该指纹对应的数据的概率较小,从而可以直接将该指纹记录项删除,以节省指纹记录所占用的存储空间。在一种可能的设计中,若指纹记录中记录第二指纹的存根,第二指纹的存根用于指示所述第二指纹为重复指纹,则在该指纹记录所占用的存储空间大于或等于第一门限时,可以确定该指纹记录在预定的时间内是否记录预定数量的包含该第二指纹的第三指纹记录项,若该指纹记录在该预定的时间内未记录该第二预定数量的第三指纹记录项,则删除该指纹记录中的第二指纹的存根。在上述技术方案中,若在指纹记录中记录某一个指纹的存根后,指纹记录在后续记录中,记录的与该指纹对应的指纹记录项较少,则说明通过该指纹的存根确定出重复指纹的次数较少,也就是说,该指纹的存根对确定重复指纹的贡献较少,从而可以删除该指纹的存根,以节省指纹记录所占用的存储空间。在本申请实施例中,不对第一门限、第二门限、预定数量以及预定的时间进行限制。第二方面,提供一种重复数据的删除装置,该重复数据的删除装置可以是存储服务端,也可以是存储服务端中的装置。该重复数据的删除装置包括处理器,用于实现上述第一方面描述的方法。该重复数据的删除装置还可以包括存储器,用于存储程序指令和数据。该存储器与该处理器耦合,该处理器可以调用并执行该存储器中存储的程序指令,用于实现上述第一方面描述的方法中的任意一种方法。该重复数据的删除装置还可以包括通信接口,该通信接口用于该重复数据的删除装置与其它设备进行通信。示例性地,该其它设备为存储系统中的客户端。在一种可能的设计中,该重复数据的删除装置包括处理器和通信接口,其中:该通信接口,用于获取指纹记录,该指纹记录中包含多个指纹记录项,每个指纹记录项包含指纹;该处理器,用于从该指纹记录中确定至少两个第一指纹记录项;其中,每个第一指纹记录项包含第一指纹和该第一指纹对应的数据的存储地址;该至少两个第一指纹记录项的该第一指纹对应的数据的存储地址均不同;以及,对该至少两个第一指纹记录项中的该第一指纹对应的数据进行重复数据删除操作;以及,删除该至少两个第一指纹记录项;以及,...

【技术保护点】
1.一种重复数据的删除方法,其特征在于,包括:/n获取指纹记录,所述指纹记录中包含多个指纹记录项,每个指纹记录项包含指纹;/n从所述指纹记录中确定至少两个第一指纹记录项;其中,每个第一指纹记录项包含第一指纹和所述第一指纹对应的数据的存储地址;所述至少两个第一指纹记录项的所述第一指纹对应的数据的存储地址均不同;/n对所述至少两个第一指纹记录项中的所述第一指纹对应的数据进行重复数据删除操作;/n删除所述至少两个第一指纹记录项;/n在所述指纹记录中记录所述第一指纹的存根;其中,所述第一指纹的存根用于指示所述第一指纹为重复指纹。/n

【技术特征摘要】
1.一种重复数据的删除方法,其特征在于,包括:
获取指纹记录,所述指纹记录中包含多个指纹记录项,每个指纹记录项包含指纹;
从所述指纹记录中确定至少两个第一指纹记录项;其中,每个第一指纹记录项包含第一指纹和所述第一指纹对应的数据的存储地址;所述至少两个第一指纹记录项的所述第一指纹对应的数据的存储地址均不同;
对所述至少两个第一指纹记录项中的所述第一指纹对应的数据进行重复数据删除操作;
删除所述至少两个第一指纹记录项;
在所述指纹记录中记录所述第一指纹的存根;其中,所述第一指纹的存根用于指示所述第一指纹为重复指纹。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述指纹记录中记录第二指纹记录项;所述第二指纹记录项包含所述第一指纹以及所述第一指纹对应的数据的新的存储地址;其中,所述第二指纹记录项中的所述第一指纹对应的数据为新写入的数据;
根据所述第一指纹的存根确定所述第二指纹记录项中的所述第一指纹为重复指纹;
对所述新写入的数据进行重复数据删除操作。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
删除所述第二指纹记录项。


4.根据权利要求1-3任一所述的方法,其特征在于,所述方法还包括:
在所述指纹记录所占用的存储空间大于或等于第一门限时,删除第三指纹记录项,所述第三指纹记录项包括的指纹与所述指纹记录中其他指纹记录项包括的指纹均不同。


5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
在所述指纹记录所占用的存储空间大于或等于第一门限时,删除第四指纹记录项,所述第四指纹记录项保存在所述指纹记录中的时长大于或等于第二门限。


6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
在所述指纹记录所占用的存储空间大于或等于第一门限时,确定所述指纹记录在预定的时间内是否记录预定数量的第三指纹记录项;
当所述指纹记录在所述预定的时间内未记录所述预定数量的第三指纹记录项时,删除所述指纹记录中的第二指纹的存根;其中,所述第二指纹的存根用于指示所述第二指纹为重复指纹;所述第三指纹记录项包含所述第二指纹。


7.一种重复数据的删除装置,其特征在于,包括通信接口和处理器,其中:
所述通信接口,用于获取指纹记录,所述指纹记录中包含多个指纹记录项,每个指纹记录项包含指纹;
所述处理器,用于从所述指纹记录中确定至少两个第一指纹记录项;其中,每个第一指纹记录项包含第一指纹和所述第一指纹对应的数据的存储地址;所述至少两个第一指纹记录项的所述第一指纹对应的数据的存储地址均不同;以及,
对所述至少两个第一指纹记录项中的所述第一指纹对应的数据进行重复数据删除操作;以及,
删除所述至少两个第一指纹记录项;以及,
在所述指纹记录中记录所述第一指纹的存根;其中,所述第一指纹的存根用于指示所述第一指纹为重复指纹。


8.根据权利要求7所述的装置,其特征在于,所述处理器还用于:
在所述指纹记录中记录第二指纹记录项;所述第二指纹记录项包含所述第一指纹以及所述第一指纹对应的数据的新的存储地址;其中,所述第二指纹记录项中的所述第一指纹对应的数据为新写入的数据;
根据所述第一指纹的存根确定所述第二指纹记录项中的所述第一指纹为重复指纹;
对所述新写入的数据进行重复数据删除操作。


9.根据权利要求8所述的装置,其特征在于,所述处理器还用于:
删除所述第二指纹记录项。


10.根据权利要求7-9任一所述的装置,其特征在于,所述处理器还用于:
在所述指纹记...

【专利技术属性】
技术研发人员:任仁王晨郭平静
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1