CN103729225B - 一种基于内容分块的远程文件实时更新方法 - Google Patents

一种基于内容分块的远程文件实时更新方法 Download PDF

Info

Publication number
CN103729225B
CN103729225B CN201410029703.7A CN201410029703A CN103729225B CN 103729225 B CN103729225 B CN 103729225B CN 201410029703 A CN201410029703 A CN 201410029703A CN 103729225 B CN103729225 B CN 103729225B
Authority
CN
China
Prior art keywords
data block
chunk
finpr
hash
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410029703.7A
Other languages
English (en)
Other versions
CN103729225A (zh
Inventor
廖湘科
李珊珊
刘晓东
彭绍亮
谢欣伟
贾周阳
董德尊
张菁
林彬
孔志印
刘磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201410029703.7A priority Critical patent/CN103729225B/zh
Publication of CN103729225A publication Critical patent/CN103729225A/zh
Application granted granted Critical
Publication of CN103729225B publication Critical patent/CN103729225B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于内容分块的远程文件实时更新方法,目的是为分布式存储系统提供一种低网络传输开销的文件增量更新方法,使得分布式存储系统能以较低的开销支持文件随机写。技术方案是先对原文件Fold文件分块存储,采用Hash算法为每个数据块计算摘要,再对数据块的开头和结尾各采用rabin‑fingerprinting算法计算一个指纹,采用基于CDC的数据分块方式对照原文件Fold的分块信息,对新文件Fnew分块并采用Hash算法为Fnew每个数据块计算摘要,对比Fold数据块和Fnew数据块的摘要,找出发生变化数据块,将需删除的数据块从Fold删除,将需更新的数据块添加到Fold。采用本发明能使得分布式存储系统能以较低的开销支持文件随机写。

Description

一种基于内容分块的远程文件实时更新方法
技术领域
本发明涉及分布式存储系统中数据更新方法,尤其指支持广域网级应用的分布式存储系统中的数据更新方法。
背景技术
随着云存储的快速发展,存储技术正在发生革命性的变化。传统文件系统已无法满足海量数据存储的需求,分布式存储系统应运而生。典型的分布式存储系统包括主从结构的分布式文件系统如Google公司的GFS(Google File System)、开源项目Hadoop的HDFS,以及扁平式环形结构的key-value存储系统如Amazon公司的Dynamo、Facebook公司的Cassandra等。
分布式存储系统在存储容量、可扩展性、可靠性以及性能等方面表现出了特有的优势,因而在海量数据处理中的应用越来越广泛,正逐渐演变成企业IT框架的一个部分。然而,现有的主流分布式存储系统虽然在大容量、可伸缩性等方面能够提供很好支持,但也存在诸多问题,目前主流的分布式存储系统,如GFS、HDFS等,大部分文件的更新是通过添加新数据完成的,而不是改变已存在的数据,即只支持文件的追加操作,而不支持文件的随机写。
CDC是基于内容分块(content-defined chunking)的简称,是重复数据删除技术中所广泛采用的一种检测不同文件中相同数据内容的技术。其基本思想是基于文件内容对文件进行分块,从而能够最大限度地检测出不同文件中的相同内容。其基本方法是用一个固定大小的滑动窗口从头到尾扫描文件内容,每次移动窗口都采用RabinFingerpring算法(Broder A Z.的文章Some applications of Rabin’s fingerprintingmethod所述)计算一个48位指纹序列,并将指纹与一个初始定义的指纹相比,若相等则从当前窗口处将文件断开分块。分块的基础是一段内容,即对比原文件产生的指纹和新文件产生的指纹,而不是固定的大小,从而可以最大限度地检测出不同文件之中相同的数据块。现有的方法主要将更新文件完全发回分布式存储系统,会加重网络传输开销和影响存储系统的IO网络性能,尤其是在IO访问量较大的情况。
如何解决分布式存储系统更新开销高,普遍不支持文件随机写的问题是本领域技术人员关注的重要技术问题,有效减少文件更新过程中的网络传输开销,可应用于支持广域网级应用的分布式存储系统,但目前主流的GFS、HDFS等分布式存储系统也存在着不足,只支持文件的追加操作,而不支持文件的随机写。
发明内容
本发明要解决的技术问题是为支持广域网级应用的分布式存储系统提供一种低网络传输开销的文件增量更新方法,使得分布式存储系统能以较低的开销支持文件随机写。为方便描述,记在云端服务器存贮的原文件为Fold,用户更新后文件为Fnew
本发明的技术方案包括以下步骤:
第一步,对Fold文件分块存储。为了在文件更新过程中减少通过网络传输的数据量,将文件分块存储,在文件内容发生变化的时候,对比更新前后的文件内容,确定发生变化的数据块,在更新时只传输发生变化的数据块,减少传输的数据量,降低网络传输开销,提高文件更新的效率。
采用固定大小分块的策略将文件分成n块,按顺序将文件从前往后划分成大小相同的数据块,数据块的大小K可根据应用不同设置,默认K是2M,记每一个数据块为chunk1、chunk2、…、chunkn,最后一个数据块chunkn的大小小于或等于其他数据块的大小,n为正整数,n=L/K上取整,其中K为文件大小。
第二步,采用Hash算法为chunk1、chunk2、…、chunkn计算摘要,Hash算法可以是MD5(Rivest R.的文章The MD5message-digest algorithm所述)或SHA1(EastlakeD.和Jones P.的文章US secure hash algorithm 1(SHA1)中所述),上述两种算法的碰撞概率极低,碰撞概率可以忽略不计。记每一个数据块的摘要为hash1、hash2、…、hashn。再对数据块的开头和结尾各采用rabin-fingerprinting算法计算一个指纹。计算指纹的方法是:除第一个数据块外每一个数据块选取所属数据块开头48字节的内容,除最后一个数据块外每一个数据块选取结尾48字节的内容,采用rabin-fingerprinting算法计算每个数据块的指纹值。记这些指纹值为第一数据块结尾指纹finpr-back1(第一个数据块只有结尾48字节的指纹)、第二数据块开头指纹finpr-front2、第二数据块结尾指纹finpr-back2、…、第n-1数据块开头指纹finpr-frontn-1、第n-1数据块结尾指纹finpr-backn-1、第n数据块开头指纹finpr-frontn(第n个数据块只有开头48字节的指纹)。
第三步,用户终端从云端服务器下载原始文件Fold和分块信息,并进行更新操作,得到Fnew
第四步,用户终端采用基于CDC的数据分块方式对Fnew分块,采用一个48字节的滑动窗口,窗口长度须与rabin-fingerprinting算法的数据块长度一致,从Fnew的起始部分开始执行以下动作:
4.1为当前窗口内的48字节的内容采用rabin-fingerprinting计算一个指纹finpr;
4.2把指纹finpr与finpr-back1、finpr-back2、…、finpr-backk、…、
finpr-backn-1作对比,若存在finpr-backk与finpr相等(其中1≤k<n)则转入步骤4.3;若不存在finpr-backk与finpr相等,则判断是否到Fnew的尾部,若到Fnew的尾部则转第五步,如果未到Fnew的尾部,把窗口向后滑动1个字节,并转步骤4.1;
4.3把滑动窗口向Fnew的尾部方向滑动48个字节,采用rabin-fingerprinting算法为窗口内的48字节的内容计算指纹finprnext,并把finprnext和finpr-frontk+1作对比,若finprnext和finpr-frontk+1相等,说明当前窗口是分块的边界,从当前窗口的起始地址处分块,其分块的内容为更新后的一个数据块,记为chunki',其中i初始值为1,并在之后分块时进行自增操作,记分块结束时i值为m;若finprnext和finpr-frontk+1不相等,说明当前窗口不是分块的边界,将窗口向Fnew的起始处滑动47个字节,即相对步骤4.2存在finpr-backk与finpr相等时的窗口位置向后滑动了1个字节,转步骤4.1;
第五步,采用与第二步中相同的Hash算法为更新后的数据块chunk1'、chunk2'、…、chunki'、…、chunkm'计算摘要,得到更新后的每个数据块的摘要hash1'、hash2'、…、hashi'、…、hashm';
第六步,对比更新前的数据块序列chunk1、chunk2、…、chunkj、…、chunkn(其中1≤j≤n)和更新后的数据块序列chunk1'、chunk2'、…、chunki'、…、chunkm'(其中1≤i≤m),根据摘要是否相等判断两个数据块是否相同,找出发生变化数据块,对比方法如下:
用curBefore指示当前比较到的更新前文件Fold的数据块的下标,则当前Fold中的数据块为chunkcurBefore,数据块的hash值为hashcurBefore,curAfter指示当前比较到的更新后文件Fnew的数据块的下标,则当前Fnew中的数据块为chunkcurAfter',数据块的hash值为hashcurAfter',curBefore和curAfter初始值都为1,用数组RedundantBlock记录Fold中有但Fnew中没有的数据块编号,即需要删除的数据块编号,用数组NewBlock记录Fold中没有但Fnew中有的数据块编号,即需要添加到Fold中的数据块编号;
6.1将hashcurAfter'与数据块chunkcurBefore、chunkcurBefore+1、…、chunkj、…、chunkn的摘要hashcurBefore、hashcurBefore+1、…、hashj、…、hashn进行比较,若存在某个数据块的摘要hashk与hashcurAfter'相等,执行步骤6.2,否则执行步骤6.3;
6.2存在hashj与hashcurAfter'相等说明Fold中数据块chunkk与Fnew中数据块chunkcurAfter'是相同的,不需要重新存储,同时也说明Fnew内容中已经不包含Fold的数据块chunkcurBefore、chunkcurBefore+1、…、chunkj-1,需要删除,将需要删除的数据块编号curBefore、curBefore+1、…、j-1存入到数组RedundantBlock中;若j不等于原有数据块数量n,执行步骤6.4,否则执行步骤6.5;
6.3将新数据块编号curAfter加入数组NewBlock中,curBefore不变,curAfter增加1,若curAfter小于或等于m,执行步骤6.1,否则,执行步骤6.6;
6.4为curBefore赋新值j,curAfter增加1,若curAfter小于或等于更新数据块数量m,执行步骤6.1,否则,执行步骤6.6;
6.5当j等于n时,将编号curAfter、curAfter+1、…、m加入到数组NewBlock中,执行第七步;
6.6当curAfter等于m时,将编号curBefore、curBefore+1、…、n加入到数组RedundantBlock中,执行第七步;
第七步,将数组RedundantBlock中记录的数据块从云端服务器Fold文件中删除,将数组NewBlock中记录的数据块从用户终端Fnew文件中通过网络上传到云端服务器,进行文件块的拼接,拼接过程如下:
7.1设置变量i指向Fnew数据块和变量j指向Fold数据块,i和j的初值均为1,记新生成文件为F;
7.2如果j大于n,转第八步;
7.3如果j指向的数据块不在RedundantBlock中记录,则将j指向的数据块加入F,j增1,执行步骤7.2;
如果j指向的数据块在RedundantBlock中记录,则j自增到j指向的数据块不在RedundantBlock中记录或j大于n,i自增到i指向的数据块在NewBlock中记录,如果i大于m执行步骤7.2,否则将i指向的数据块加入F,转7.4;
7.4变量i自增,如果i指向的数据块在NewBlock中记录,将i指向的数据块加入F,转步骤7.4,否则转步骤7.2。
第八步,结束,文件更新完成,文件F即为Fnew在云端的副本。
与现有技术相比,采用本发明可以达到以下技术效果:
1.本发明有效提高了用户与服务器间文件更新效率,降低了网络传输流量。
本发明第六步,文件块的对比采用摘要的形式进行,显著提高数据对比的效率。发明中对更新前文件按长度分块,对更新后文件按内容分块,在对比更新前后文件各个数据块时,采用Hash算法计算各数据块的Hash值,从而同比传输并比对Hash值代替传输比对文件数据块,提高了数据对比的效率。
本发明第七步,文件块的上传采用按需传输的方式,显著提高数据传输的效率。只传输文件中用户执行修改操作后的文件块,对于未修改的文件块,采取直接从服务器原始文件中读取的方式,从而显著降低了网络中的冗余传输。
2.本发明能够最大限度的检测出文件更新前后相同的数据。
本发明第四步,文件内容的对比过程中采用了基于CDC的分块方式。在CDC的基础上,采用滑动窗口匹配原始数据块的开始处和结尾处,准确识别出文件中未修改的部分,从而最大限度的匹配出相同数据,高效将Fnew按照内容分块,使得后期新旧文件的文件块对比和轻量传输得以有效实现。
3.本发明为文件更新提供了随机写的支持。
本发明第一、二步,服务器端对文件Fold进行分块,并计算指纹及摘要;发明第四、五步用户终端对文件Fnew进行分块,并计算摘要;第六步对比新旧文件的文件块,并在第七步完成更新。整个过程服务器端支持对用户的随机写操作执行同步随机写任务,区别于如GFS等文件系统中只支持追加操作的特性。
附图说明
图1是文件更新过程示意图;
图2是本发明总体流程图;
图3是第四步第4.3阶段判断Fnew分块点的示意图。
具体实施方式
图1描述了文件更新过程示意图。
云端服务器对所存储的文件Fold按大小进行分块,并计算文件块的指纹信息及Hash值。用户从云端服务器下载文件和分块指纹信息,并进行修改后准备上传云端服务器。用户终端在上传文件前先依据Fold的分块信息对Fnew按内容进行分块,并计算Fnew各文件块的Hash值。用户上传文件块Hash值到云端服务器,服务器对比新旧文件块的Hash值来判断Fnew中云端已有的(用户未修改的)文件块和需要通过网络上传的(用户执行过修改操作的)文件块。最后服务器拼接各文件块完成云端的文件更新。
图2描述了本发明总体流程图。
第一步,对Fold文件分块存储。采用固定大小分块的策略将文件分成n块,按顺序将文件从前往后划分成大小相同的数据块,数据块的大小K可根据应用不同设置,默认K是2M,记每一个数据块为chunk1、chunk2、…、chunkn,最后一个数据块chunkn的大小小于或等于其他数据块的大小,n为正整数,n=L/K上取整,其中L为文件大小。
第二步,采用Hash算法为chunk1、chunk2、…、chunkn计算摘要,记每一个数据块的摘要为hash1、hash2、…、hashn。再对数据块的开头和结尾各采用rabin-fingerprinting算法计算一个指纹。计算指纹的方法是:除第一个数据块外每一个数据块选取所属数据块开头48字节的内容,除最后一个数据块外每一个数据块选取结尾48字节的内容,采用rabin-fingerprinting算法计算每个数据块的指纹值。记这些指纹值为第一数据块结尾指纹finpr-back1(第一个数据块只有结尾48字节的指纹)、第二数据块开头指纹finpr-front2、第二数据块结尾指纹finpr-back2、…、第n-1数据块开头指纹finpr-frontn-1、第n-1数据块开头指纹finpr-backn-1、第n数据块开头指纹finpr-frontn(第n个数据块只有开头48字节的指纹)。
第三步,用户从云端服务器下载原始文件Fold和分块信息,并进行更新操作,得到Fnew
第四步,用户终端采用基于CDC的数据分块方式对Fnew分块;
第五步,采用与第二步中相同的Hash算法为更新后的数据块chunk1'、chunk2'、…、chunki'、…、chunkm'计算摘要,得到更新后的每个数据块的摘要hash1'、hash2'、…、hashi'、…、hashm';
第六步,对比更新前的数据块序列chunk1、chunk2、…、chunkj、…、chunkn(其中1≤j≤n)和更新后的数据块序列chunk1'、chunk2'、…、chunki'、…、chunkm'(其中1≤i≤m),对比数据块的摘要,根据摘要是否相等判断两个数据块是否相同,找出发生变化数据块;
第七步,将数组RedundantBlock中记录的数据块删除,将数组NewBlock中记录的数据块写入到存储系统中;
第八步,完成文件更新。
图3是第4.3步判断Fnew分块点的示意图。
当Fnew的滑动窗口所计算的指纹与Fold中某个文件块的尾部finpr-backk相等时,说明Fnew中出现了一个可能的文件块分割点(Fnew的文件块尾)。这时Fnew的滑动窗口后移48字节,再计算其指纹对比finpr-frontk+1,即Fold中下一个文件块的头部,若仍相等,则确定Fnew本过程的两个窗口间应为文件块的分割点;若不相等,则确定不是分割点,需要回退47个字节,继续进行发明中第四步的计算。

Claims (3)

1.一种基于内容分块的远程文件实时更新方法,其特征在于包括以下步骤:
第一步,对Fold文件分块存储,方法是采用固定大小分块的策略将文件分成n块,按顺序将文件从前往后划分成大小相同的数据块,数据块的大小K根据应用不同设置,记每一个数据块为chunk1、chunk2、…、chunkn,最后一个数据块chunkn的大小小于或等于其他数据块的大小,n为正整数,n=L/K上取整,其中L为文件大小;
第二步,采用Hash算法为chunk1、chunk2、…、chunkn计算摘要,记每一个数据块的摘要为hash1、hash2、…、hashn;再对数据块的开头和结尾各采用rabin‐fingerprinting算法计算一个指纹,方法是:除第一个数据块外每一个数据块选取所属数据块开头48字节的内容,除最后一个数据块外每一个数据块选取结尾48字节的内容,采用rabin‐fingerprinting算法计算每个数据块的指纹值,记这些指纹值为第一数据块结尾指纹finpr-back1、第二数据块开头指纹finpr-front2、第二数据块结尾指纹finpr-back2、…、第n-1数据块开头指纹finpr-frontn-1、第n-1数据块结尾指纹finpr-backn-1、第n数据块开头指纹finpr-frontn
第三步,用户终端从云端服务器下载原始文件Fold和分块信息,并进行更新操作,得到Fnew
第四步,用户终端采用基于CDC即content‐defined chunking的数据分块方式对Fnew分块,采用一个48字节的滑动窗口,窗口长度须与rabin‐fingerprinting算法的数据块长度一致,从Fnew的起始部分开始执行以下动作:
4.1 为当前窗口内的48字节的内容采用rabin‐fingerprinting计算一个指纹finpr;
4.2 把指纹finpr与finpr-back1、finpr-back2、…、finpr-backk、…、finpr-backn-1作对比,若存在finpr-backk与finpr相等,其中1≤k<n,则转入步骤4.3;若不存在finpr-backk与finpr相等,则判断是否到Fnew的尾部,若到Fnew的尾部则转第五步,如果未到Fnew的尾部,把窗口向后滑动1个字节,并转步骤4.1;
4.3 把滑动窗口向Fnew的尾部方向滑动48个字节,采用rabin‐fingerprinting算法为窗口内的48字节的内容计算指纹finprnext,并把finprnext和finpr-frontk+1作对比,若finprnext和finpr-frontk+1相等,说明当前窗口是分块的边界,从当前窗口的起始地址处分块,其分块的内容为更新后的一个数据块,记为chunki',其中i初始值为1,并在之后分块时进行自增操作,记分块结束时i值为m;若finprnext和finpr-frontk+1不相等,说明当前窗口不是分块的边界,将窗口向Fnew的起始处滑动47个字节,即相对步骤4.2存在finpr-backk与finpr相等时的窗口位置向后滑动了1个字节,转步骤4.1;
第五步,采用与第二步中相同的Hash算法为更新后的数据块chunk1'、chunk2'、…、 chunki'、…、chunkm'计算摘要,得到更新后的每个数据块的摘要hash1'、hash2'、…、hashi'、…、hashm';
第六步,对比更新前的数据块序列chunk1、chunk2、…、chunkj、…、chunkn和更新后的数据块序列chunk1'、chunk2'、…、chunki'、…、chunkm',其中1≤i≤m,1≤j≤n,对比数据块的摘要,根据摘要是否相等判断两个数据块是否相同,找出发生变化数据块,方法如下:
用curBefore指示当前比较到的更新前文件Fold的数据块的下标,则当前Fold中的数据块为chunkcurBefore,数据块的hash值为hashcurBefore,curAfter指示当前比较到的更新后文件Fnew的数据块的下标,则当前Fnew中的数据块为chunkcurAfter',数据块的hash值为hashcurAfter',curBefore和curAfter初始值都为1,用数组RedundantBlock记录Fold中有但Fnew中没有的数据块编号,即需要删除的数据块编号,用数组NewBlock记录Fold中没有但Fnew中有的数据块编号,即需要添加到Fold中的数据块编号;
6.1 将hashcurAfter'与数据块chunkcurBefore、chunkcurBefore+1、…、chunkj、…、chunkn的摘要hashcurBefore、hashcurBefore+1、…、hashj、…、hashn进行比较,若存在某个数据块的摘要hashk与hashcurAfter'相等,执行步骤6.2,否则执行步骤6.3;
6.2 存在hashj与hashcurAfter'相等说明Fold中数据块chunkk与Fnew中数据块chunkcurAfter'是相同的,不需要重新存储,同时也说明Fnew内容中已经不包含Fold的数据块chunkcurBefore、chunkcurBefore+1、…、chunkj-1,需要删除,将需要删除的数据块编号curBefore、curBefore+1、…、j-1存入到数组RedundantBlock中;若j不等于原有数据块数量n,执行步骤6.4,否则执行步骤6.5;
6.3 将新数据块编号curAfter加入数组NewBlock中,curBefore不变,curAfter增加1,若curAfter小于或等于m,执行步骤6.1,否则,执行步骤6.6;
6.4 为curBefore赋新值j,curAfter增加1,若curAfter小于或等于更新数据块数量m,执行步骤6.1,否则,执行步骤6.6;
6.5 当j等于n时,将编号curAfter、curAfter+1、…、m加入到数组NewBlock中,执行第七步;
6.6 当curAfter等于m时,将编号curBefore、curBefore+1、…、n加入到数组RedundantBlock中,执行第七步;
第七步,将数组RedundantBlock中记录的数据块从云端服务器Fold文件中删除,将数组NewBlock中记录的数据块从用户终端Fnew文件中通过网络上传到云端服务器,进行文件块的拼接,拼接过程如下:
7.1 设置变量i指向Fnew数据块和变量j指向Fold数据块,i和j的初值均为1,记新生成文件为F;
7.2 如果j大于n,转第八步;
7.3 如果j指向的数据块不在RedundantBlock中记录,则将j指向的数据块加入F,j增1,执行步骤7.2;
如果j指向的数据块在RedundantBlock中记录,则j自增到j指向的数据块不在RedundantBlock中记录或j大于n,i自增到i指向的数据块在NewBlock中记录,如果i大于m执行步骤7.2,否则将i指向的数据块加入F,转7.4;
7.4 变量i自增,如果i指向的数据块在NewBlock中记录,将i指向的数据块加入F,转步骤7.4,否则转步骤7.2;
第八步,结束,文件更新完成,文件F即为Fnew在云端的副本。
2.如权利要求1所述的一种基于内容分块的远程文件实时更新方法,其特征在于所述数据块的大小K是2M。
3.如权利要求1所述的一种基于内容分块的远程文件实时更新方法,其特征在于所述采用的Hash算法为MD5算法或SHA1算法。
CN201410029703.7A 2014-01-22 2014-01-22 一种基于内容分块的远程文件实时更新方法 Active CN103729225B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410029703.7A CN103729225B (zh) 2014-01-22 2014-01-22 一种基于内容分块的远程文件实时更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410029703.7A CN103729225B (zh) 2014-01-22 2014-01-22 一种基于内容分块的远程文件实时更新方法

Publications (2)

Publication Number Publication Date
CN103729225A CN103729225A (zh) 2014-04-16
CN103729225B true CN103729225B (zh) 2016-09-28

Family

ID=50453309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410029703.7A Active CN103729225B (zh) 2014-01-22 2014-01-22 一种基于内容分块的远程文件实时更新方法

Country Status (1)

Country Link
CN (1) CN103729225B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462469A (zh) * 2014-12-17 2015-03-25 小米科技有限责任公司 网站静态文件的更新方法和装置
CN104750524A (zh) * 2015-03-24 2015-07-01 广东欧珀移动通信有限公司 升级数据包的传输方法及装置、数据包的升级方法及装置
CN104994441B (zh) * 2015-07-06 2018-09-25 无锡天脉聚源传媒科技有限公司 一种传输视频文件的方法及装置
CN105117489B (zh) * 2015-09-21 2018-10-19 北京金山安全软件有限公司 一种数据库管理方法、装置及电子设备
CN106713393B (zh) * 2015-11-13 2020-06-02 阿里巴巴集团控股有限公司 数据的写入方法及写入装置
CN105607927A (zh) * 2015-12-18 2016-05-25 小米科技有限责任公司 页面显示方法及装置
CN105698803B (zh) * 2016-01-15 2018-06-19 武汉中海庭数据技术有限公司 基于滑动窗二进制比对算法的导航数据增量信息提取方法
CN105827700A (zh) * 2016-03-15 2016-08-03 北京金山安全软件有限公司 一种动态文件的传输方法、装置及电子设备
CN106250436A (zh) * 2016-07-26 2016-12-21 东软集团股份有限公司 管理表单数据的方法及装置
CN106790549B (zh) * 2016-12-23 2021-01-15 北京奇虎科技有限公司 一种数据更新方法及装置
CN108804130B (zh) * 2017-05-03 2020-12-01 腾讯科技(深圳)有限公司 程序安装包生成方法及装置
CN107835206A (zh) * 2017-09-19 2018-03-23 平安普惠企业管理有限公司 数据更新方法、服务器以及计算机可读存储介质
CN110334072A (zh) * 2018-03-22 2019-10-15 腾讯科技(深圳)有限公司 一种分布式文件系统、文件更新方法及装置
US10671306B2 (en) * 2018-06-06 2020-06-02 Yingquan Wu Chunk-based data deduplication
CN109089075A (zh) * 2018-07-10 2018-12-25 浙江工商大学 嵌入式跨云智能存贮方法和系统
CN111274275B (zh) * 2018-11-19 2023-07-04 中国电信股份有限公司 数据处理方法、装置和计算机可读存储介质
CN110032383A (zh) * 2019-04-08 2019-07-19 网易(杭州)网络有限公司 软件更新方法、装置及存储介质
CN110515646B (zh) * 2019-07-26 2022-03-25 华为技术有限公司 一种差分升级方法及相关设备
CN110633257A (zh) * 2019-09-20 2019-12-31 中国银行股份有限公司 一种私有云环境下的银行参数文件实时同步方法及系统
CN110795407B (zh) * 2019-10-14 2022-06-10 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 适用于分布式文件系统的文件随机写方法及系统
CN111711671B (zh) * 2020-06-01 2023-07-25 深圳华中科技大学研究院 一种基于盲存储的高效密文文件更新的云存储方法
CN112507100B (zh) * 2020-12-18 2023-12-22 北京百度网讯科技有限公司 一种问答系统的更新处理方法和装置
CN113282243B (zh) * 2021-06-09 2022-12-02 杭州海康威视系统技术有限公司 存储对象文件的方法及装置
CN114415955B (zh) * 2022-01-05 2024-04-09 上海交通大学 基于指纹的块粒度数据去重系统和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101776988A (zh) * 2010-02-01 2010-07-14 中国人民解放军国防科学技术大学 一种块大小可变的可重构矩阵寄存器文件
CN102142006A (zh) * 2010-10-27 2011-08-03 华为技术有限公司 分布式文件系统的文件处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080520A1 (en) * 2003-09-22 2005-04-14 Robert Kline Waste recovery and material handling process to replace the traditional trash transfer station and landfil by extracting reusable material and energy from joined refuse streams to include; office waste, dry waste, wet garbage and the special hazardous material handling of biological, chemical, and nuclear waste

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101776988A (zh) * 2010-02-01 2010-07-14 中国人民解放军国防科学技术大学 一种块大小可变的可重构矩阵寄存器文件
CN102142006A (zh) * 2010-10-27 2011-08-03 华为技术有限公司 分布式文件系统的文件处理方法及装置

Also Published As

Publication number Publication date
CN103729225A (zh) 2014-04-16

Similar Documents

Publication Publication Date Title
CN103729225B (zh) 一种基于内容分块的远程文件实时更新方法
CN103959256B (zh) 基于指纹的数据重复删除
JP6778795B2 (ja) データを記憶するための方法、装置及びシステム
US10353884B2 (en) Two-stage front end for extent map database
US10795578B2 (en) Deduplicating data based on boundary identification
CN104978151B (zh) 基于应用感知的重复数据删除存储系统中的数据重构方法
US9218141B2 (en) Managing write operations to an extent of tracks migrated between storage devices
US9134914B1 (en) Deduplication
US9244623B1 (en) Parallel de-duplication of data chunks of a shared data object using a log-structured file system
US9785646B2 (en) Data file handling in a network environment and independent file server
CN110114751A (zh) 压缩以及安全的端到端加密的zfs云存储
CN102821138B (zh) 一种适用于云存储系统的元数据分布式存储方法
US9715348B2 (en) Systems, methods and devices for block sharing across volumes in data storage systems
MX2011010287A (es) Restauracion de archivo de sistema de diferencial apartir de pares y la nube.
CN104641365A (zh) 在文件存储系统中使用检查点管理去复制的系统和方法
US9436410B2 (en) Replication of volumes on demands using absent allocation
CN103970875B (zh) 一种并行重复数据删除方法和系统
CN107958079A (zh) 聚合文件删除方法、系统、装置及可读存储介质
CN108090125A (zh) 一种非查询式的重复数据删除方法及装置
CN105677238A (zh) 一种基于分布式存储重复数据删除的虚拟机系统盘的方法
CN109062935A (zh) 一种文件操作的方法和装置
CN104331525B (zh) 基于重复数据删除的共享方法
CN110187834A (zh) 重删副本的数据处理方法、装置、电子设备
US8818970B2 (en) Partitioning a directory while accessing the directory
CN104378431A (zh) 一种适用于云存储系统的元数据分布式存储方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant