在rsync算法中滚动校验和
发布时间:2020-05-23 15:48:35 所属栏目:Linux 来源:互联网
导读:我试图理解 the rsync algorithm如何处理以交错方式匹配的滚动校验和和块. 维基百科页面似乎表明发送方和接收方都计算并交换所有可能块的滚动校验和.但这意味着每个字节基本上发送一个校验和!我肯定错过了什么.如何对齐块? 例如如果S = 16字节块,并且发送方
我试图理解 the rsync algorithm如何处理以交错方式匹配的滚动校验和和块. 维基百科页面似乎表明发送方和接收方都计算并交换所有可能块的滚动校验和.但这意味着每个字节基本上发送一个校验和!我肯定错过了什么.如何对齐块? 例如如果S = 16字节块,并且发送方具有文本A的此文本:
并且接收者将此文本用于文件B:
rsync交换如何工作? 解决方法接收器仅针对非重叠块计算和发送滚动校验和.相反,发件人会为每个可能的块计算它(但保持结果是本地的).然后对于发送方来说,只需检查非重叠块(由接收方发送)中的一个是否与任何(重叠)本地块匹配. 您的示例太简单,看不到任何有趣的内容,最后两个块根本不匹配,将被发送以进行合并. 有一个更有趣的例子(大写是一个块): 发件人: A B Cabc D 接收器: A B C D 接收器将为A,B,C和D发送MD5和滚动哈希值.发送方将为每个(重叠)块计算滚动散列,它将匹配A,C和D.由于abc不匹配,它将发送它与合并它的信息. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 从curl管道运行时跳过macos – bash read
- Linux on VMware – 为什么要使用分区?
- 在Linux / Debian中,密码(/ etc / passwd)是否曾以纯文本形
- 使用libnet发送ARP请求,但获得ARP回复后arp缓存不会更新
- linux – 如何直接通过TCP公开UNIX域套接字
- 如何从命令行在Linux(ec2 / ubuntu)上运行/执行adobe AIR文
- linux – 如何摆脱FIN_WAIT1状态的套接字?
- linux从用户空间连续的物理内存
- linux – sudoers NOPASSWD:sudo:没有tty存在且没有指定a
- 迭代linux shell中的参数列表