[发明专利]一种超大文件的差异同步方法无效
申请号: | 201210124218.9 | 申请日: | 2012-04-25 |
公开(公告)号: | CN103379160A | 公开(公告)日: | 2013-10-30 |
发明(设计)人: | 张咏 | 申请(专利权)人: | 上海咏云信息技术有限公司;张咏 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 上海精晟知识产权代理有限公司 31253 | 代理人: | 何新平 |
地址: | 200333 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 超大 文件 差异 同步 方法 | ||
1.一种超大文件的差异同步方法,包括一云端计算机和一目标计算机,其特征在于,其实现步骤包括:
目标计算机利用ERDC分块方法将目标文件切分为不定长度的块,并对每个块生成一个32位的弱hash值和128位的MD5值;
目标计算机将所述弱hash值和所述的MD5值在目标文件中的偏移量和块长度存储在中间文件中,然后发送给云端计算机;
云端计算机利用ERDC分块方法将云端文件切分为不定长度的块,并分批读取目标计算机发送过来的中间文件,然后将云端文件与中间文件中的信息进行搜索比较,并利用ERDC hash比较算法生成差异文件,然后再将差异文件发送给目标计算机;
目标计算机根据差异文件和云端计算机上的云端文件,生成与云端文件内容完全相同的新文件。
2.如权利要求1所述的一种超大文件的差异同步方法,其特征在于,所述ERDC分块方法,其步骤如下:
以文件起始字节做为第一块的上边界,按照预先设定好的块的最小值确定滑动窗口的位置,计算滑动窗口的数据指纹;
判断滑动窗口数据指纹是否满足某特定条件,如果满足,则把滑动窗口的下边界做为块的下边界,该块确定;
如果数据指纹不满足特定条件,则滑动窗口后移一个字节,继续计算和比较数据指纹,直到其符合某特定条件,确定块边界;
块确定后,计算出该块的32位弱hash值和128位MD5值,连同块的的偏移量和长度一起存入中间文件,做为后面差异编码的依据;
块确定后,把该块的下一个字节做为新块的上边界,重复第一步计算新块的边界,直到文件被全部划分,中间生成完毕。
3.如权利要求1所述的一种超大文件的差异同步方法,其特征在于,所述滑动窗口的数据指纹采用Adler-32滚动hash算法实现。
4.如权利要求3所述的一种超大文件的差异同步方法,其特征在于,所述Adler-32滚动hash算法定义为:216b(k,l),其中s(k,l)表示数据块Xk,...,Xl的滚动hash值,为了简化以及计算速度考虑,M取值为216,其后继的hash值可以通过递推关系快速得到:
a(k+1,l+1)=(a(k,l)-Xk+Xl+1))mod M
b(k+1,l+1)=(b(k,l)-(l-k+1)Xk+a(k+1,l+1))mod M
s(k+1,l+1)=a(k+1,l+1)+216b(k+1,l+1)。
5.如权利要求1所述的一种超大文件的差异同步方法,其特征在于,所述ERDC hash比较算法查询数据块的步骤如下:
以某数据块A的32位弱hash的高16位为键,如果Hashtable中该键下不存在数据块,则无匹配项;
如果存在数据块,则比较两个数据块的MD5值,如果一致,则匹配;
如果不一致,则移动到该数据块在链表中的下一个块(如果有的话),继续比较MD5值,直到找到匹配项;
如果查询完该键下所有的数据块而没有发现匹配项,则说明数据块A在Hashtable中没有匹配项。
6.如权利要求1所述的一种超大文件的差异同步方法,其特征在于,所述分批读取中间文件的方法包含如下步骤:
把Revision Signature文件分批读入ERDC Hashtable,每批读取的数据块数量预先设置好,具体读取数量根据可使用的内存来制定,每批读入的数据块数量越大,则差异编码计算效率越高,但是耗费的内存也越大;
遍历Seed Signature文件中的数据块信息,与读入Hashtable中的数据块信息比较,计算出该批Hashtable中数据块信息相对于Seed文件的差异,把差异记录在Delta文件;
计算完一批Revision Signature差异后,继续读入下一批并重复执行第2步,直到数据块差异全部计算完毕。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海咏云信息技术有限公司;张咏,未经上海咏云信息技术有限公司;张咏许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210124218.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种光模块的校准系统
- 下一篇:智能蓝牙免提组件