码迷,mamicode.com
首页 > 其他好文 > 详细

远程差异化同步(RSYNC)讲解及源码剖析

时间:2015-05-15 19:55:37      阅读:406      评论:0      收藏:0      [点我收藏+]

标签:rsync   远程   差异化   同步   

近日研究了远程差异化同步(RSYNC)源码,对里面的主要算法流程与业务流程作了一个比较详细的分析,知道这个概念的应该清楚,RSYNC主要是用来进行远程同步和备份的。设计初衷是为了减少带宽的使用,每次同步和备份的时候,只传递差异化的部分,不需要传递整个文件。这样的好处对于只有少部分修改的文件来说是相当有效的,如果我们需要同步和备份一个20M的文件,而其中只有两个字节修改了,那么我们只需要传递这修改的两个字节,其他没有变的不传递,这样大大减少了带宽的占用。我将从一下三个地方来讲解:

一、整体交互(即目的端A和原端B之间的交互)

如下图所示:

技术分享

二、目标端和源端的模块流程图(对照源码,已经提取出源码中的重要函数)

技术分享

三、三层hash查找算法

技术分享

远程差异化同步(RSYNC)讲解及源码剖析

标签:rsync   远程   差异化   同步   

原文地址:http://blog.csdn.net/fayery/article/details/45747739

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!