N22-北京-追求極境之人-RSYNC差分編碼同步原理

1客戶端發送自己的filelist,filelist包含文件hashindexid(alert32)和關聯的文件chunkChecksum(MD5)和hashindexID以便進行快速查找,chunksize根據文件大小進行等分,不足均值部分直接發送不進行MD5校驗值生成

發送進程一次從生成器讀取一個文件索引號和關聯的塊校驗集合

2對于生成器發送的每個文件ID,它會存儲數據塊校驗和并生成它們的哈希索引,以進行快速查找 。

然后會讀取本地文件,并為以本地文件的第一個字節開頭的數據塊生成校驗和。此數據塊校驗和在由生成器發送的集中查找,如果未找到匹配, 則會將非匹配字節附加到非匹配數據,并且會比較以下一字節開頭的數據塊。  這稱為“rolling checksum”

如果找到數據塊校驗和匹配,則會將它視為匹配塊,所有累積的非匹配數據將被加上在接收端的文件中的匹配數據塊的偏移量和長度之后發送到接收端,并且數據塊校驗和生成器將提前到匹配塊之后的下一字節。

3可以以這種方式標識匹配塊,即使重新排列數據塊的順序或數據塊的偏移量不同。此過程是 rsync 算法的核心。

4將數據從基礎文件復制到臨時文件會使receiver在所有rsync進程中最耗磁盤。小文件可以仍處于緩解此作用的磁盤緩存中,但對于大型文件,由于生成器已移動到其他文件,并且存在sender引起的進一步延遲,緩存可能會"抖動"(thrash)。 數據可能從一個文件隨機讀取,寫入另一文件,如果工作集大于磁盤緩存,則會發生"尋道風暴"(seek storm),進一步影響性能。

原創文章,作者:584641574,如若轉載,請注明出處:http://www.www58058.com/35994

(1)
584641574584641574
上一篇 2016-08-22
下一篇 2016-08-22

相關推薦

  • 博客作業1

    一、linux 常用文件管理命令有哪些?其常用使用方法及相關實例演示 1、文件操作命令 (1).pwd       功能:顯示當前目錄       實例: ?    #pwd (2).cd           功能:改變當前目錄 …

    Linux干貨 2016-06-23
  • N26-第五周作業-邢巖

    馬哥門徒-N26-邢巖    我要繼續今天的博客,《一萬小時天才理論》里提到了髓鞘質,我是不是正在慢慢的給自己包裹一層髓鞘質呢?如果還沒有,那么繼續吧。    第一題:顯示當前系統上root、fedora或user1用戶的默認shell。      ~]# grep -E &#8…

    2017-02-24
  • 35個強大的UI設計教程

    下面是35個非常不錯的UI設計的的教程及效果圖,非常不錯哦。不但教你如何做一些特效,同樣教你如何做UI布局和界面設計。當然,他們風格迥異,也基本上都是Web頁面上的。都非常不錯。希望你喜歡。(點擊下面的圖片可以打開相關的教程) Old Paper Layout Professional Modern Web Layout Photography portfo…

    Linux干貨 2015-04-01
  • Linux文件查找之find命令詳解

    文件查找 文件查找就是在在文件系統上查找符合條件的文件; 文件查找分為: 實時查找:遍歷所有文件進行條件匹配 非實時查找:根據所以查找 locate: 1、查詢系統上預建的文件索引數據庫 /var/lib/mlocate/mlocate.db 2、locate屬于非實時查找,依賴于事先構建的索引; 索引的構建是在系統較為空閑時自動進行(周期性任務);管理員手…

    Linux干貨 2016-08-18
  • 第八周作業

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;     在線的主機使用綠色顯示;     不在線的主使用紅色顯示; #!/bin/bash for i in {1..254};do if ping -c 1 -w 1 192.16…

    2017-07-03
  • Grep 文本搜索工具與正則表達式

            grep (縮寫來自Globally search a Regular Expression and Print)是一種強大的文本搜索工具,它能使用特定模式匹配(包括正則表達式)搜索文本,并默認輸出匹配行。Grep在實際中對于我們的工作有著很大的作用,用于對文件的搜索,通過由正則表達式字符以及…

    2017-04-15
欧美性久久久久