有人能告诉我在哪里可以找到TTTD(双门限二分)基于内容的分块算法的实现吗?基本上我想知道这个中使用的哈希函数?我无法在互联网上找到任何有用的链接。
答案 0 :(得分:3)
TTTD chunking algorithm与基于它的基本滑动窗口分块算法一样,需要计算文件上每个 n 字节窗口的哈希值。
因此,为了获得最大性能,期望选择散列函数,该散列函数允许在窗口向前移位一个字节时有效地更新散列值。例如,如果窗口大小为8个字节,则窗口的当前内容为foobarba
,下一个字节为z
,我们希望能够有效地计算H(oobarbaz
)基于H(foobarba
)。
有几个rolling hash functions可以用于此目的,但显然通常的方法,如上面链接的TTTD文件中提到的,是Rabin fingerprinting,它基于有限域算法。我链接的维基百科页面提供了算法的简要概述,并包含其他材料的链接。