欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

文件差量同步方法

文檔序號(hào):7780394閱讀:578來源:國知局
文件差量同步方法
【專利摘要】本發(fā)明公開了一種文件差量同步方法,包括步驟:A1)將客戶端計(jì)算機(jī)和服務(wù)端計(jì)算機(jī)通過網(wǎng)絡(luò)連接,所述客戶端計(jì)算機(jī)能夠訪問A文件,所述服務(wù)端計(jì)算機(jī)能夠訪問B文件,且文件A和B相近似;A2)服務(wù)端計(jì)算機(jī)將文件B進(jìn)行分割;A3)通過被分割的每一塊字節(jié),分別計(jì)算出一個(gè)弱校驗(yàn)值和一個(gè)強(qiáng)校驗(yàn)值;A4)服務(wù)端計(jì)算機(jī)將弱校驗(yàn)值和強(qiáng)校驗(yàn)值發(fā)送給客戶端計(jì)算機(jī);A5)客戶端計(jì)算機(jī)搜索文件;A6)客戶端計(jì)算機(jī)發(fā)送給服務(wù)端計(jì)算機(jī)重新構(gòu)建A文件的協(xié)議,實(shí)現(xiàn)文件的同步。本發(fā)明通過文件差量同步,可無時(shí)無地通過網(wǎng)絡(luò)在云端來管理和使用遠(yuǎn)程存儲(chǔ)空間,實(shí)現(xiàn)數(shù)據(jù)的傳輸、存儲(chǔ)、下載、分享和備份。
【專利說明】文件差量同步方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)文件同步【技術(shù)領(lǐng)域】,尤其是涉及一種根據(jù)文件變化內(nèi)容進(jìn)行數(shù)據(jù)同步的方法。
【背景技術(shù)】
[0002]隨著移動(dòng)互聯(lián)網(wǎng)的快速興起及移動(dòng)終端的普及化,激發(fā)了個(gè)性化信息在多終端觸點(diǎn)上的傳遞需求。而隨著在線存儲(chǔ)市場(chǎng)的成熟和觀念的普及,以及客戶對(duì)在線存儲(chǔ)的需求越來越明確,如何更好地將這類數(shù)字信息保存、應(yīng)用、管理成為一個(gè)大眾化的需求。大家都希望有一個(gè)快捷、方便的在線存儲(chǔ)空間,實(shí)現(xiàn)隨時(shí)隨地的存儲(chǔ)管理和應(yīng)用。那種可無時(shí)無地通過網(wǎng)絡(luò)在云端來管理和使用遠(yuǎn)程存儲(chǔ)空間,實(shí)現(xiàn)數(shù)據(jù)的傳輸、存儲(chǔ)、下載、分享和備份的需求越發(fā)凸顯。利用云存儲(chǔ)技術(shù),用戶可以將數(shù)字信息在PC、手機(jī)、PAD等多終端間進(jìn)行無縫同步,用戶可以通過PC更新文件,之后在手機(jī)端瀏覽更新后的文件。

【發(fā)明內(nèi)容】

[0003]云存儲(chǔ)功能要實(shí)現(xiàn)良好的用戶體驗(yàn),文件同步速度和流量是其中最關(guān)鍵的部分,而文件差量同步方法即是為解決該問題而產(chǎn)生的。
[0004]本發(fā)明采用的技術(shù)方案為:一種文件差量同步方法,包括步驟:
[0005]Al)將客戶端計(jì)算機(jī)和服務(wù)端計(jì)算機(jī)通過網(wǎng)絡(luò)連接,所述客戶端計(jì)算機(jī)能夠訪問A文件,所述服務(wù)端計(jì)算機(jī)能夠訪問B文件,且文件A和B相近似;
[0006]A2)服務(wù)端計(jì)算機(jī)將文件B進(jìn)行分割,分割成連續(xù)的不重疊的固定大小的數(shù)據(jù)塊S ;
[0007]A3)通過被分割的每一塊字節(jié),分別計(jì)算出一個(gè)弱校驗(yàn)值和一個(gè)強(qiáng)校驗(yàn)值,所述弱校驗(yàn)值用來區(qū)別不同,強(qiáng)校驗(yàn)值用來確認(rèn)相同;
[0008]A4)服務(wù)端計(jì)算機(jī)將弱校驗(yàn)值和強(qiáng)校驗(yàn)值發(fā)送給客戶端計(jì)算機(jī);
[0009]A5)客戶端計(jì)算機(jī)搜索文件A的所有大小為S的數(shù)據(jù)塊;來尋找與文件B的某一塊有著相同的弱校驗(yàn)碼和強(qiáng)校驗(yàn)碼的數(shù)據(jù)塊;
[0010]A6)客戶端計(jì)算機(jī)發(fā)送給服務(wù)端計(jì)算機(jī)重新構(gòu)建A文件的協(xié)議;每一個(gè)指令,要么是一個(gè)沒有與文件B的任何一個(gè)數(shù)據(jù)塊匹配上的數(shù)據(jù)塊,要么是服務(wù)端計(jì)算機(jī)擁有這個(gè)數(shù)據(jù)塊而不需要發(fā)送的證明;從而實(shí)現(xiàn)了 A文件的同步。
【專利附圖】

【附圖說明】
[0011]圖1為客戶端和服務(wù)端聯(lián)網(wǎng)示意圖;
[0012]圖2為同步原理不意圖。
【具體實(shí)施方式】
[0013]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說明。[0014]假如客戶端和服務(wù)端分別屬于兩臺(tái)計(jì)算機(jī)Alpha和Beta,計(jì)算機(jī)Alpha能夠訪問A文件,計(jì)算機(jī)Beta能夠訪問B文件,當(dāng)文件A和B相似,兩臺(tái)計(jì)算機(jī)Alpha和Beta并且通過公網(wǎng)低速(例如移動(dòng)網(wǎng)絡(luò))連接著,如圖1所示。
[0015]差量同步算法步驟:
[0016]?第一步:Beta將文件B分割成連續(xù)的不重疊的固定大小的塊S,最后的塊可能小于S字節(jié);
[0017].第二步:通過Beta的每一塊字節(jié),計(jì)算出兩個(gè)校驗(yàn)值:一個(gè)32位的弱校驗(yàn)rolling checksum (adler-32)和一個(gè) 128 位強(qiáng)校驗(yàn)(MD5)。弱的 adler-32 是用來區(qū)別不同,而強(qiáng)的MD5是用來確認(rèn)相同;
[0018].第三步:Beta將這些校驗(yàn)值發(fā)送給Alpha ;
[0019].第四步:Alpha通過搜索文件A的所有大小為S的數(shù)據(jù)塊(偏移量可以任選,不一定非要是S的倍數(shù)),來尋找與文件B的某一塊有著相同的弱校驗(yàn)碼和強(qiáng)校驗(yàn)碼的數(shù)據(jù)塊;
[0020]?第五步:Alpha發(fā)送給Beta重新構(gòu)建A文件的協(xié)議;每一個(gè)指令,要么是一個(gè)沒有與文件B的任何一個(gè)數(shù)據(jù)塊匹配上的數(shù)據(jù)塊,要么是Beta擁有這個(gè)數(shù)據(jù)塊而不需要發(fā)送的證明。
[0021]最后的結(jié)果是Beta得到了 A文件,如圖2所示。
[0022]差量同步算法中用到滾動(dòng)摘要算法,滾動(dòng)摘要具有給定xl到xn的校驗(yàn)值還有xl和X n+1的值,就可以很快的計(jì)算出x2到xn+1校驗(yàn)值的特性。
[0023]弱校驗(yàn)算法采用的是Mark Adler的adler-32校驗(yàn),我們將校驗(yàn)定義為:
[0024]s (k, I) =a (k, I) +2_16b (k, I)
[0025]s(k, I)是xk到xl的回滾校驗(yàn),為了簡單和快速我們將M定義為216,校驗(yàn)重要的特性是通過使用遞推關(guān)系可以非常高效地計(jì)算出連續(xù)值,因此用一個(gè)回滾方式個(gè)校驗(yàn)?zāi)軌蛴?jì)算所有可能的偏移的長度為S的塊。這種增量計(jì)算的模式極大提高了校驗(yàn)值的計(jì)算速度。
[0026]在對(duì)文件進(jìn)行切塊時(shí),塊大小對(duì)網(wǎng)絡(luò)數(shù)據(jù)傳輸量有直接影響,如果塊過大,則差異數(shù)據(jù)傳輸量就越大,因此文件切塊原則如下:
[0027]默認(rèn)將文件分成不超過1000個(gè)塊,該參數(shù)用def_block_cnt表示;
[0028]I)每塊可選大小從最小Ik (該參數(shù)用min_block_size表示)按照倍數(shù)遞增到最大512k (該參數(shù)用max_block_size表不),即塊大小可選值為:block_list=lk, 2k, 4k, 8k,16k,32k,64k,128k,256k,512k用文件大小除以默認(rèn)塊個(gè)數(shù)def_block_cnt,計(jì)算出每一塊大小 tmp_block_size;
[0029]2)如果 tmp_block_size 小于等于最小塊大小 min_block_size,則:
[0030]實(shí)際塊大小 cur_block_size=min_block_size
[0031]實(shí)際塊個(gè)數(shù) cur_blockl_cnt=file_size/cur_block_size;
[0032]3)如果 tmp_block_size 大于等于最大塊大小 max_block_size,則:
[0033]實(shí)際塊大小 cur_block_size=max_block_size
[0034]實(shí)際塊個(gè)數(shù)cur_blockl_cnt=file_size/cur_block_size
[0035]如果tmp_block_size 小于最大塊大小 max_block_size,則塊大小 cur_block_size取block_list中比tmp_block_size大,但又最接近tmp_block_size的塊大小值,之后重新計(jì)算塊個(gè)數(shù) cur_blockl_cnt=file_size/cur_block_size。
[0036]以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種文件差量同步方法,包括步驟: Al)將客戶端計(jì)算機(jī)和服務(wù)端計(jì)算機(jī)通過網(wǎng)絡(luò)連接,所述客戶端計(jì)算機(jī)能夠訪問A文件,所述服務(wù)端計(jì)算機(jī)能夠訪問B文件,且文件A和B相近似; A2)服務(wù)端計(jì)算機(jī)將文件B進(jìn)行分割,分割成連續(xù)的不重疊的固定大小的數(shù)據(jù)塊S ;A3)通過被分割的每一塊字節(jié),分別計(jì)算出一個(gè)弱校驗(yàn)值和一個(gè)強(qiáng)校驗(yàn)值,所述弱校驗(yàn)值用來區(qū)別不同,強(qiáng)校驗(yàn)值用來確認(rèn)相同; A4)服務(wù)端計(jì)算機(jī)將弱校驗(yàn)值和強(qiáng)校驗(yàn)值發(fā)送給客戶端計(jì)算機(jī); AS)客戶端計(jì)算機(jī)搜索文件A的所有大小為S的數(shù)據(jù)塊;來尋找與文件B的某一塊有著相同的弱校驗(yàn)碼和強(qiáng)校驗(yàn)碼的數(shù)據(jù)塊; A6)客戶端計(jì)算機(jī)發(fā)送給服務(wù)端計(jì)算機(jī)重新構(gòu)建A文件的協(xié)議;每一個(gè)指令,要么是一個(gè)沒有與文件B的任何一個(gè)數(shù)據(jù)塊匹配上的數(shù)據(jù)塊,要么是服務(wù)端計(jì)算機(jī)擁有這個(gè)數(shù)據(jù)塊而不需要發(fā)送的證明;從而實(shí)現(xiàn)了A文件的同步。
2.如權(quán)利要求1所述的文件差量同步方法,其特征是: 所述步驟A3)中弱校驗(yàn)值為adler-32,強(qiáng)校驗(yàn)值為MD5。
3.如權(quán)利要求2所述的文件差量同步方法,其特征是:弱校驗(yàn)算法采用的是MarkAdler的adler-32校驗(yàn),校驗(yàn)定義為:
s(k, l)=a(k, 1)+21? (k, I)
s(k, I)是xk到xl的回滾校驗(yàn)。`
4.如權(quán)利要求1所述的文件差量同步方法,其特征是:所述步驟A2)中進(jìn)行文件分割時(shí),文件分成不超過1000個(gè)塊,每塊可選大小從最小Ik按照倍數(shù)遞增到最大512k。
【文檔編號(hào)】H04L29/08GK103685509SQ201310683085
【公開日】2014年3月26日 申請(qǐng)日期:2013年12月12日 優(yōu)先權(quán)日:2013年12月12日
【發(fā)明者】楊良志, 汪志新, 丁德平, 張磊 申請(qǐng)人:深圳市彩訊科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
玛纳斯县| 安庆市| 三门县| 海口市| 中超| 灵山县| 吉水县| 长宁区| 遂昌县| 双辽市| 沈阳市| 闵行区| 临沧市| 南溪县| 桃源县| 鄂尔多斯市| 庐江县| 微山县| 荣昌县| 朝阳市| 翁牛特旗| 威信县| 澳门| 安陆市| 江山市| 边坝县| 图们市| 浠水县| 定南县| 阿拉善盟| 共和县| 惠来县| 怀来县| 遵义县| 松江区| 乾安县| 东至县| 五莲县| 伊金霍洛旗| 高州市| 永吉县|