内容定义组块实现 Chunker

  restic
阅读 324 次  0 条评论
Chunker 是基于滚动 Rabin Hash 实现内容定义组块(CDC)。  CDC 算法是一种变长分块算法,它应用数据指纹(如Rabin指纹)将文件分割成长度大小不等的分块策略。与定长分块算法不同,它是基于文件内容进行数据块切分的,因此数据块大小是可变化的。 **package chunker** `import &#34;github.com/restic/chunker&#34;` 对于以十六进制系数表示法对指定的多项式列表进行过滤,可以使用以下脚本: <pre># create x over F_2 = GF(2) x := Indeterminate(GF(2), &#34;x&#34;); # test if polynomial is irreducible, i.e. the number of factors is one IrredPoly := function (poly) return (Length(Factors(poly)) = 1); end;; # create a polynomial in x from the hexadecimal representation of the # coefficients Hex2Poly := function (s) return ValuePol(CoefficientsQadic(IntHexString(s), 2), x); end;; # list of candidates, in hex candidates := [ &#34;3DA3358B4DC173&#34; ]; # create real polynomials L := List(candidates, Hex2Poly); # filter and display the list of irreducible polynomials contained in L Display(Filtered(L, x -&gt; (IrredPoly(x))));</pre>
授权协议:
BSD
开发语言:
Google Go 查看源码»
操作系统:
跨平台

0条评论

项目点评:

(您需要 登录 后才能评论 没有账号 ?)
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet