免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4341 | 回复: 4
打印 上一主题 下一主题

关于rsync算法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-09 17:50 |只看该作者 |倒序浏览
Rsync同步算法

Rsync只所以同步文件的速度相当快,是因为“Rsync同步算法”能在很短的时间内计算出需要备份的数据,关于Rsync的同步算法描述如下:

假定在1号和2号两台计算机之间同步相似的文件A与B,其中1号对文件A拥有访问权,2号对文件B拥有访问权。并且假定主机1号与2号之间的网络带宽很小。那么rsync算法将通过下面的五个步骤来完成:

1、2号将文件B分割成一组不重叠的固定大小为S字节的数据块,最后一块可能会比S 小。



2、2号对每一个分割好的数据块执行两种校验:一种是32位的滚动弱校验,另一种是128位的MD4强校验。



3、2号将这些校验结果发给1号。



4、1号通过搜索文件A的所有大小为S的数据块(偏移量可以任选,不一定非要是S的倍数),来寻找与文件B的某一块有着相同的弱校验码和强校验码的数据块。这项工作可以借助滚动校验的特性很快完成。



5、1号发给2号一串指令来生成文件A在2号上的备份。这里的每一条指令要么是对文件B经拥有某一个数据块而不须重传的证明,要么是一个数据块,这个数据块肯定是没有与文件B的任何一个数据块匹配上的。

网上很流行这样的rsync算法解释,我想问一下,如果1号机器和2号机器各有100个文件,如果加参数delete和不加参数delete 同步过程中上述算法给要进行多少次 哪一台机器资源消耗更厉害一些?
    如果 rsync   -a  本机资源  远端机器::模块
       和rsync  -a  远端机器::模块 本机资源    两种情况下谁分别是1号机和2号机 ?


[ 本帖最后由 lzd7807 于 2008-1-9 17:52 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-01-10 09:17 |只看该作者
如果 rsync   -a  本机资源  远端机器::模块
       和rsync  -a  远端机器::模块 本机资源    两种情况下谁分别是1号机和2号机 ?
例1号机上运行 1机做为本地资源
rsync 语法是属性  源    目标
rsync   -a  本机资源  远端机器::模块
这是本机资源做为源有数据和 目标作为比较
如果你想在2号机作为目标,那么
rsync  -a  远端机器::模块 本机资源

关于delete参数是,当1号机(源)和目标主机(2)比较时,1号机没有的文件和目录,但在2号机上存在
加上这参数后,(会删除这些文件),来保持1号机和2号机数据一致性, 如果1号机和2号机都存在相同
的文件和目录是则会保留
     如果没有加delete参数则保留不同部份,
算法上基本上都一样, 加了delete 就会把源发送目标主机请求的不存在的数据块删除,
目标主机资源消耗会多一点,因为要删除东西,

[ 本帖最后由 luo118 于 2008-1-10 09:19 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-01-10 10:56 |只看该作者
如果1号机有A,B,C3个文件 2号机有A,D,C,F4个文件 同步一次,如果每个文件比对一次,那么有多少次排列组合比对 12次?

论坛徽章:
0
4 [报告]
发表于 2008-12-09 10:04 |只看该作者
:em12:
越来越糊涂了

论坛徽章:
0
5 [报告]
发表于 2008-12-09 12:13 |只看该作者
你要的答案都在man rsync里面.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP