Algorithm 重复数据消除算法

Algorithm 重复数据消除算法,algorithm,duplicate-data,Algorithm,Duplicate Data,我想找到重复数据消除算法,主要是找到重复文件。看起来第一步是识别具有相同时间戳、大小和文件名的文件。我可以对这些文件进行MD5校验和比较。除此之外,还可以比较文件的内容。我还应该注意什么呢?这方面有可用的产品。寻找重复的文件侦探。它可以通过名称、时间戳、md5和其他算法进行匹配您有操作系统元信息(大小和时间戳)。其他元信息包括权限。您可以比较inode和dnode信息,但这并不意味着什么 您有一个摘要(校验和) 您拥有逐字节的详细信息 还有什么呢?你要其他的摘要吗?摘要的信息量小于逐字节的详细信

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

这方面有可用的产品。寻找重复的文件侦探。它可以通过名称、时间戳、md5和其他算法进行匹配

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

您有一个摘要(校验和)

您拥有逐字节的详细信息

还有什么呢?你要其他的摘要吗?摘要的信息量小于逐字节的详细信息。但是你可以很容易地发明许多其他的摘要。只有将摘要保存在某个位置,这样就不会一直重新计算它,它才有用


如果您想为“主”副本保存摘要,您可以发明任何类型的摘要。行计数、字母“e”计数、平均行长度、任何内容都可能是一个有趣的摘要。

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

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

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

有些人会更努力地使用sha-256,但这确实是不必要的。大多数商用重复数据消除设备都依赖于SHA-1(也称为SHA-160)

如果使用SHA-1比较文件,则不需要其他任何东西


我之所以知道这一点,是因为我与不同的重复数据消除系统和供应商合作多年,而且我还编写了一个重复数据消除系统示例。

这并不完全正确:SHA-1只提供了2^160个可能的哈希值,这当然不太可能发生冲突,但实际上并非不可能。尽管如此,通常情况下,仅仅比较哈希值就可以得到好的结果,而不是以字节为单位,所以总体上是+0。