重复数据删除算法

时间:2009-06-19 14:33:23

标签: algorithm duplicate-data

我想找到重复数据删除算法,主要是为了查找重复文件。看起来第一步是识别具有相同时间戳,大小和文件名的文件。我可以对这些文件进行MD5校验和比较。除此之外,还可以比较文件的内容。我还应该注意什么?

3 个答案:

答案 0 :(得分:2)

您有操作系统元信息(大小和时间戳)。其他元信息包括权限。您可以比较inode和dnode信息,但这并不意味着什么。

您有摘要(校验和)。

您有逐字节的详细信息。

还有什么?你在问其他摘要吗?摘要信息比逐字节详细信息少。但是你很容易发明很多其他的摘要。摘要仅在您将其保存到某个地方时才有用,因此您不会一直重新计算它。

如果要保存“主”副本的摘要,可以创建所需的任何类型的摘要。行数,字母“e”计数,平均行长度,任何内容都是可能有趣的摘要。

答案 1 :(得分:1)

有适用于此的产品。寻找重复文件侦探。它可以按名称,时间戳,md5和其他算法进行匹配

答案 2 :(得分:0)

Md5存在碰撞问题(具有相同md5的两个文件可能仍然具有不同的内容。)

如果对每个文件执行SHA-1哈希并比较哈希值,则只有具有完全相同内容的文件才会具有相同的哈希值。周期。

这也有助于忽略它们是否有不同的名称,修改日期等。

有些人加倍努力并使用sha-256,但实际上并没有必要。大多数商业重复数据删除设备都依赖于SHA-1(也称为SHA-160)。

如果您使用SHA-1比较文件,则不需要任何其他内容。

我知道这一点,因为我已经与不同的重复数据删除系统和供应商合作了很多年,我还编写了一个示例重复数据删除系统。