增量数据同步方法和装置的制造方法

文档序号:8945831阅读:271来源:国知局
增量数据同步方法和装置的制造方法
【技术领域】
[0001] 本发明涉及数据同步技术,特别涉及一种增量数据同步方法和装置。
【背景技术】
[0002] 在信息时代,数据作为一种资源,其永久存储、安全性及有效性,在各个领域都具 有重要的意义,直接影响着数据使用者的业务持续性。重要数据的丢失将直接导致业务中 断,并带来巨大的损失。为了提高数据的可靠性,现有技术通常采用数据同步技术,将数据 传输到异地进行备份,当某一处数据出现丢失或故障时,可以利用备份继续提供服务,或对 数据进行恢复。
[0003]目前,数据同步方法主要涉及完全同步方法和增量同步方法,完全同步方法是主 设备将数据全部传输到备用设备,增量同步方法是主设备将发生变化的数据传输到备用设 备。实际使用表明,这两种同步方法都存在不足。完全同步方法由于传输数据量大,因此完 全同步过程需要占用大量的网络资源,同时需要花费较多的时间,同步效率低。增量同步方 法虽然不像完全同步方法那样占用大量的网络带宽,但由于需要对原始文件与修改文件做 大量计算,且计算复杂度较高,因此增量同步过程需要占用大量的计算资源,严重影响系统 性能。

【发明内容】

[0004] 为了解决上述技术问题,本发明提供一种增量数据同步方法和装置,有效克服现 有同步方法占用大量网络资源和占用大量计算资源的缺陷,提高同步效率。
[0005] 为了达到本发明目的,本发明提供了一种增量数据同步方法,包括:
[0006] 以N字节为单位,将修改文件拆分成若干个数据块;
[0007] 计算得到每个数据块的弱哈希值和强哈希值,生成修改文件哈希表;
[0008] 将原始文件与修改文件哈希表进行比对,根据匹配数据块偏移值集合得到修改文 件的增量数据,进行增量数据同步。
[0009] 进一步地,所述计算得到每个数据块的弱哈希值和强哈希值具体为:对每个数据 块进行弱校验和与强校验和计算,得到每个数据块的弱校验和与强校验和,对每个弱校验 和与强校验和进行哈希计算,得到每个数据块的弱哈希值和强哈希值。
[0010] 进一步地,所述弱校验和计算采用adler-32算法,所述强校验和计算采用MD5哈 希算法。
[0011] 进一步地,所述将原始文件与修改文件哈希表进行比对,根据匹配数据块偏移值 集合得到修改文件的增量数据,进行增量数据同步,具体为:
[0012] 设置偏移值M= 1,创建匹配数据块偏移值集合;
[0013] 在原始文件中提取第M字节到第M+N-1字节作为比对数据块;
[0014] 对所述比对数据块进行弱校验和与哈希计算,得到弱哈希值;将所述弱哈希值与 修改文件哈希表进行比对;
[0015] 若匹配不成功,设置偏移值M=M+1,重新执行提取比对数据块步骤;
[0016] 若匹配成功,对所述比对数据块进行强校验和与哈希计算,得到强哈希值;将所述 强哈希值与修改文件哈希表进行比对;
[0017] 若匹配不成功,设置偏移值M=M+1,重新执行提取比对数据块步骤;
[0018] 若匹配成功,将所述偏移值M添加到所述匹配数据块偏移值集合中,设置偏移值M =M+N,重新执行提取比对数据块步骤;
[0019] 原始文件所有字节比对完成后,根据所述匹配数据块偏移值集合得到修改文件的 增量数据,进行增量数据同步。
[0020] 进一步地,将所述弱哈希值或强哈希值与修改文件哈希表进行比对具体为:将所 述比对数据块的弱哈希值或强哈希值与修改文件哈希表中的每个弱哈希值或强哈希值进 行比对,判断是否存在匹配项,存在匹配项则匹配成功,不存在匹配项则匹配不成功。
[0021] 为了达到本发明目的,本发明还提供了一种增量数据同步装置,包括主设备和备 用设备,所述主设备包括拆分模块、计算模块和同步模块,其中,
[0022] 拆分模块,用于以N字节为单位,将修改文件拆分成若干个数据块;
[0023] 计算模块,用于计算得到每个数据块的弱哈希值和强哈希值,生成修改文件哈希 表,并将所述修改文件哈希表发送给备用设备;
[0024] 同步模块,用于根据所述备用设备发送的匹配数据块偏移值集合得到修改文件的 增量数据,进行增量数据同步。
[0025] 进一步地,所述计算得到每个数据块的弱哈希值和强哈希值具体为:对每个数据 块进行弱校验和与强校验和计算,得到每个数据块的弱校验和与强校验和,对每个弱校验 和与强校验和进行哈希计算,得到每个数据块的弱哈希值和强哈希值。
[0026] 进一步地,所述弱校验和计算采用adler-32算法,所述强校验和计算采用MD5哈 希算法。
[0027] 进一步地,所述备用设备包括提取模块、比对模块和集合模块,其中,
[0028] 提取模块,用于在原始文件中提取第M字节到第M+N-1字节作为比对数据块,将所 述比对数据块发送给比对模块,M为偏移值;
[0029] 比对模块,与所述主设备的计算模块连接,用于接收所述计算模块发送的修改文 件哈希表;与所述提取模块连接,用于计算所述比对数据块的弱哈希值,将所述弱哈希值与 修改文件哈希表进行比对;若匹配不成功,将偏移值M向后移动一个字节,重新执行提取模 块,若匹配成功,计算所述比对数据块的强哈希值,将所述强哈希值与修改文件哈希表进行 比对;若匹配不成功,将偏移值M向后移动一个字节,重新执行提取模块,若匹配成功,将所 述偏移值发送给集合模块,将偏移值向后移动N个字节,重新执行提取模块;
[0030] 集合模块,与所述比对模块连接,用于将接收的偏移添加到匹配数据块偏移值集 合中;原始文件所有字节比对完成后,将所述匹配数据块偏移值集合发送给主设备的同步 丰旲块。
[0031] 进一步地,计算所述比对数据块的弱哈希值或强哈希值,将所述弱哈希值或强哈 希值与修改文件哈希表进行比对具体为:对所述比对数据块进行弱校验或强校验计算得到 弱校验和或强校验和,对所述弱校验和或强校验和进行哈希计算得到比对数据块的弱哈希 值或强哈希值,将所述比对数据块的弱哈希值或强哈希值与修改文件哈希表中的每个弱哈 希值或强哈希值进行比对,判断是否存在匹配项,存在匹配项则匹配成功,不存在匹配项则 匹配不成功。
[0032] 本发明提供了一种增量数据同步方法和装置,先将修改文件划分成多个数据块, 并计算每个数据块的摘要信息,然后将原始文件中比对数据块的摘要信息与修改文件每个 数据块的摘要信息进行比对,计算出修改文件的增量数据,进行增量数据的同步,实现主设 备与备用设备之间的数据同步。由于仅同步增量数据,同步数据量少,因此本发明方案有效 克服了现有完全同步方法占用大量网络资源的缺陷。由于增量数据的计算使用高效的校验 方法,计算量小,计算复杂度低,计算效率高,且具有很好的时间复杂度,因此本发明方案有 效克服了现有增量同步方法占用大量计算资源的缺陷,提高了同步效率。进一步地,本发明 增量数据的计算与数据内容无关,适用于各种类型的文件,可广泛应用到各类型文件系统 的文件同步中。
[0033] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利 要求书以及附图中所特别指出的结构来实现和获得。
【附图说明】
[0034] 附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本 申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0035] 图1为本发明增量数据同步方法的处理流程图;
[0036] 图2为本发明增量数据同步装置的结构示意图。
【具体实施方式】
[0037] 为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明 的实施例进行详细说明。需要说明的是
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1