The invention discloses a method for incremental updating of files, which is used to reduce the service-side operation and maintenance cost of incremental updating files. The method is applied to the client side. The method can include: determining the source file, obtaining the checklist of the target file corresponding to the source file, and using the source file and the checklist to check the source file and the target text. The differences between source files and target files are checked; the duplicate data index and the difference data index are generated according to the results of verification; the difference data index is used to download the difference data between source files and target files from the server side, and the duplicate data between source files and target files is determined by using the duplicate data index; and the duplicate data is used to identify the duplicate data between source files and target files. And the difference data is spliced to generate the target file. The invention also discloses a device for incrementally updating files.
【技术实现步骤摘要】
一种增量更新文件的方法及装置
本专利技术涉及互联网
,具体涉及一种增量更新文件的方法及装置。
技术介绍
增量更新是指在进行更新操作时,只更新需要改变的地方,不需要更新或者已经更新过的地方则不会重复更新,增量更新与完全更新相对。这种更新的概念应用范围比较广泛,凡是需要进行数据更新的地方都会用到,例如软件更新、数据库更新、杀毒软件的病毒库更新、路由表更新等等。在现有技术中存在一种增量更新文件的算法,即远程同步(remotesynchronize,rsync)算法,采用服务器/客户端(Client/Server,C/S)架构,计算差量数据的流程在服务端执行,需要有较大服务端资源和技术做支持,使服务器的运行维护成本较高。
技术实现思路
有鉴于此,本专利技术提供一种增量更新文件的方法及装置,以解决现有技术中增量更新文件成本较高的技术问题。为解决上述问题,本专利技术提供的技术方案如下:一种增量更新文件的方法,所述方法应用于客户端,所述方法包括:确定源文件,获取与所述源文件对应的目标文件的校验表;利用所述源文件以及所述校验表对所述源文件与目标文件的差异进行校验;根据校验的结果生成重复数据索引和差异数据索引;利用所述差异数据索引从服务端下载所述源文件与所述目标文件间的差异数据,及利用所述重复数据索引从所述源文件中确定所述源文件与所述目标文件间的重复数据;及将所述重复数据以及所述差异数据进行拼接,以生成所述目标文件。一种增量更新文件的装置,所述装置应用于客户端,所述装置包括:获取单元,用于确定源文件,获取与所述源文件对应的目标文件的校验表;校验单元,用于利用所述源文件以及 ...
【技术保护点】
1.一种增量更新文件的方法,其特征在于,所述方法应用于客户端,所述方法包括:确定源文件,获取与所述源文件对应的目标文件的校验表;利用所述源文件以及所述校验表对所述源文件与目标文件的差异进行校验;根据校验的结果生成重复数据索引和差异数据索引;利用所述差异数据索引从服务端下载所述源文件与所述目标文件间的差异数据,及利用所述重复数据索引从所述源文件中确定所述源文件与所述目标文件间的重复数据;及将所述重复数据以及所述差异数据进行拼接,以生成所述目标文件。
【技术特征摘要】
1.一种增量更新文件的方法,其特征在于,所述方法应用于客户端,所述方法包括:确定源文件,获取与所述源文件对应的目标文件的校验表;利用所述源文件以及所述校验表对所述源文件与目标文件的差异进行校验;根据校验的结果生成重复数据索引和差异数据索引;利用所述差异数据索引从服务端下载所述源文件与所述目标文件间的差异数据,及利用所述重复数据索引从所述源文件中确定所述源文件与所述目标文件间的重复数据;及将所述重复数据以及所述差异数据进行拼接,以生成所述目标文件。2.根据权利要求1所述的方法,其特征在于,所述校验表中包括所述目标文件各个分块对应的校验值,所述目标文件各个分块的块长为n个字节,n为正整数;所述利用所述源文件以及所述校验表对所述源文件与目标文件的差异进行校验,包括:将所述源文件的前n个字节确定为待校验分块,计算所述待校验分块的校验值,查找所述校验表中是否存在与所述待校验分块的校验值相同的校验值,获得查找结果;如果所述查找结果为所述校验表中存在与所述待校验分块的校验值相同的校验值,则将所述待校验分块之后的n个字节确定为待检验分块,重复执行计算所述待校验分块的校验值,查找所述校验表中是否存在与所述待校验分块的校验值相同的校验值,获得查找结果;如果所述查找结果为校验表中不存在与所述待校验分块的校验值相同的校验值,则将所述待校验分块去除第一个字节,并将该去除的第一个字节之后的n个字节确定为待检验分块,重复执行计算所述待校验分块的校验值,查找所述校验表中是否存在与所述待校验分块的校验值相同的校验值,获得查找结果。3.根据权利要求2所述的方法,其特征在于,所述根据校验的结果生成重复数据索引和差异数据索引,包括:如果所述查找结果为所述校验表中存在与所述待校验分块的校验值相同的校验值,则将匹配校验值对应的目标文件分块的标识确定为重复数据索引,所述匹配校验值为所述校验表中与所述待校验分块的校验值相同的校验值;在所述源文件被校验完成后,将所述校验表中未被确定为重复数据索引的目标文件分块的标识确定为差异数据索引。4.根据权利要求2所述的方法,其特征在于,所述计算所述待校验分块的校验值,查找所述校验表中是否存在与所述待校验分块的校验值相同的校验值,包括:计算所述待校验分块的第一弱校验值,在所述校验表中查找是否存在与所述待校验分块的第一弱校验值相同的第一弱校验值;如果在所述校验表中存在与所述待校验分块的第一弱校验值相同的第一弱校验值,计算所述待校验分块的第二弱校验值,在所述校验表中查找是否存在与所述待校验分块的第二弱校验值相同的第二弱校验值;如果在所述校验表中存在与所述待校验分块的第二弱校验值相同的第二弱校验值,计算所述待校验分块的强校验值,在所述校验表中查找是否存在与所述待校验分块的强校验值相同的强校验值。5.根据权利要求4所述的方法,其特征在于,所述获得查找结果,包括:如果在所述校验表中不存在与所述待校验分块的第一弱校验值相同的第一弱校验值,或者,如果在所述校验表中不存在与所述待校验分块的第二弱校验值相同的第二弱校验值,或者,如果在所述校验表中不存在与所述待校验分块的强校验值相同的强校验值,将查找结果确定为校验表中不存在与所述待校验分块的校验值相同的校验值;如果在所述校验表中存在与所述待校验分块的强校验值相同的强校验值,将所述查找结果确定为校验表中存在与所述待校验分块的校验值相同的校验值。6.根据权利要求4所述的方法,其特征在于,将所述源文件的前n个字节确定为待校验分块之后,所述计算所述待校验分块的第一弱校验值,包括:按照Adler32算法计算所述待校验分块的第一校验和,将所述待校验分块的第一校验和取模后生成所述待校验分块的第一弱校验值;将所述源文件的前n个字节确定为待校验分块之后,所述计算所述待校验分块的第二弱校验值,包括:按照Adler32算法计算所述待校验分块的第二校验和,将所述待校验分块的第二校验和取模后生成所述待校验分块的第二弱校验值。7.根据权利要求6所述的方法,其特征在于,将所述待校验分块去除第一个字节,并将该去除的第一个字节之后的n个字节确定为待检验分块之后,所述计算所述待校验分块的第一弱校验值,包括:将第一值减去第二值得到第三值,所述第一值为所述待校验分块之前一个待校验分块的第一校验和,所述第二值为所述待校验分块之前一个待校验分块的第一个字节值;将所述第三值加上第四值得到所述待校验分块的第一校验和,所述第四值为所述待校验分块的最后一个字节值;将所述待校验分块的第一校验和取模后生成所述待校验分块的第一弱校验值。8.根据权利要求6所述的方法,其特征在于,将所述待校验分块去除第一个字节之后的n个字节确定为待检验分块之后,所述计算所述待校验分块的第二弱校验值,包括:将第五值乘以n得到第六值,所述第五值为所述待校验分块之前一个待检验分块的第一个字节值;将第七值减去所述第六值得到第八值,所述第七值为所述待校验分块之前一个待校验分块的第二校验和;将所述第八值加上第九值得到所述待校验分块的第二校验和,所述第九值为所述待校验分块的第一校验和;将所述待校验分块的第二校验和取模后生成所述待校验分块的第二弱校验值。9.根据权利要求1-8任一项所述的方法,其特征在于,所述校验表为二级哈希表。10.一种增量更新文件的装置,其特征在于,所述装置应用于客户端,所述装置包括:获取单元,用于确定源文件,获取与所述源文件对应的目标文件的校验...
【专利技术属性】
技术研发人员:颜泰国,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。