一种基于分布式企业服务总线的远程文件同步方法及系统技术方案

技术编号:27037467 阅读:36 留言:0更新日期:2021-01-12 11:21
本发明专利技术公开了一种基于分布式企业服务总线的远程文件同步方法及系统。该方法包括:获取发生变化的文件;根据发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件;将差异文件封装为企业服务总线的消息;企业服务总线的消息用于远程文件同步。采用本发明专利技术的方法及系统,通过对文件增量进行同步,能够提高远程文件同步的效率和性能。

【技术实现步骤摘要】
一种基于分布式企业服务总线的远程文件同步方法及系统
本专利技术涉及远程文件同步
,特别是涉及一种基于分布式企业服务总线的远程文件同步方法及系统。
技术介绍
企业服务总线(EnterpriseServiceBus,ESB)作为面向服务体系架构SOA(ServiceOrientedArchitecture)的核心框架,是企业异构应用交互的基础平台,具有高效、全面、灵活的特性,是解决信息孤岛的有效手段。企业服务总线的定义可以简单的理解为由中间件技术实现并支持SOA的一组基础架构,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性。通过企业服务总线实现应用系统的快速接入,并通过更高级的事件、流程处理能力,能够很好的将企业信息系统与实际业务协调起来,在保证原有投资的条件下,实现更加灵活和敏捷的企业信息系统改造。企业服务总线主要功能是连接外部系统与服务,实现不同系统间的交互需求。在大量企业分布式应用环境中,基于LAN或WAN的网络应用之间进行数据传输或者同步非常普遍,比如远程数据镜像、备份、复制、同步,数据下载、上传、共享等等,如果对文件采用简单的完全复制,在文件较大的情况下,会占用大量网络带宽,针对ESB数据交换平台多应用接入时高频繁交互性和实时性要求,显然这种同步效率是不够的。目前,文件同步领域的鼻祖是rsync同步,它是以rsync算法为基础计算新旧文件的差异数据,从而取代原有冗余的数据,节省传输时的网络带宽并提高效率。尽管rsync已在业界广泛应用,但是仍然存在许多不足之处:r>1)rsync采用的滚动校验值(Rollingchecksum)虽然可以节省大量校验计算量,但多出一倍以上的hash查找,消耗太大;2)rsync中数据块大小是固定的,对数据变化的适应能力有限。另一种新兴的且流行度很高的技术是De-duplication,即重复数据删除,可以大大减少传输数据量。Dedupe技术应用于数据备份时常采用Rabin指纹基于文件内容对文件进行块划分,然后计算差异。这种可变块大小的策略在很大程度上减少了计算量和重复数据传输量。尽管Dedupe技术已在增量备份领域取得了很大进步,但是仍存在一定的局限性:1)在可变分块检测过程中,对于两个文件之间仅有较小的随机改变时,检测效果不好,算法的适应性很差。2)数据块的划分在很大程度上取决于算法中期望块大小的设定,如果该值设置得较小,那么额外存储每块信息的开销会很大;反之,若该值设置得较大,则粒度过粗,重复数据删除的效果不好。
技术实现思路
本专利技术的目的是提供一种基于分布式企业服务总线的远程文件同步方法及系统,通过对文件增量进行同步,能够提高远程文件同步的效率和性能。为实现上述目的,本专利技术提供了如下方案:一种基于分布式企业服务总线的远程文件同步方法,包括:获取发生变化的文件;根据所述发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件;所述差异文件包括文件头和差异数据实体,所述文件头包括偏移量以及数据块的长度、更新标志和更新参数;将所述差异文件封装为企业服务总线的消息;所述企业服务总线的消息用于远程文件同步。可选的,所述获取发生变化的文件,具体包括:采用jnotify监视文件的变化信息,在文件内容或文件目录发生新建、删除、修改和重命名中的一项或多项时,获取发生变化的文件。可选的,所述根据所述发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件,具体包括:采用可变分块算法对所述发生变化的文件进行分块处理,得到多个划分后的数据块,并记录每个划分后的数据块的长度;选取一个划分后的数据块,判断所述划分后的数据块是否被更新;若被更新,则将更新参数设置为0;若未被更新,则将更新参数进行加1处理,同时判断所述更新参数是否大于或等于预设更新参数;若大于或等于预设更新参数,则在变化前的文件中获取与所述划分后的数据块对应的数据块,并根据所述与所述划分后的数据块对应的数据块和所述划分后的数据块进行MD5计算,得到MD5值;根据所述MD5值判断所述变化前的文件和所述发生变化的文件是否匹配;若匹配,则不更新所述划分后的数据块;若不匹配,则采用双向启发式搜索方法确定匹配点,并根据所述匹配点对划分后的数据块进行更新操作,得到更新后的数据块,并记录匹配点的偏移量以及与更新后的数据块对应的更新标志;判断是否选取完成所有划分后的数据块;若选取完成所有划分后的数据块,则生成差异文件;若未选取完成所有划分后的数据块,则返回步骤“选取一个划分后的数据块,判断所述划分后的数据块是否被更新”。可选的,在所述将所述差异文件封装为企业服务总线的消息,之后还包括:对所述企业服务总线的消息进行加密、解密、合并、拆分和格式转换中的一项或多项,得到并发送处理后的企业服务总线的消息。本专利技术还提供一种基于分布式企业服务总线的远程文件同步系统,包括:文件获取模块,用于获取发生变化的文件;差异文件生成模块,用于根据所述发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件;所述差异文件包括文件头和差异数据实体,所述文件头包括偏移量以及数据块的长度、更新标志和更新参数;封装模块,用于将所述差异文件封装为企业服务总线的消息;所述企业服务总线的消息用于远程文件同步。可选的,所述文件获取模块,具体包括:文件获取单元,用于采用jnotify监视文件的变化信息,在文件内容或文件目录发生新建、删除、修改和重命名中的一项或多项时,获取发生变化的文件。可选的,所述差异文件生成模块,具体包括:划分单元,用于采用可变分块算法对所述发生变化的文件进行分块处理,得到多个划分后的数据块,并记录每个划分后的数据块的长度;MD5值计算单元,用于选取一个划分后的数据块,判断所述划分后的数据块是否被更新;若被更新,则将更新参数设置为0;若未被更新,则将更新参数进行加1处理,同时判断所述更新参数是否大于或等于预设更新参数;若大于或等于预设更新参数,则在变化前的文件中获取与所述划分后的数据块对应的数据块,并根据所述与所述划分后的数据块对应的数据块和所述划分后的数据块进行MD5计算,得到MD5值;更新单元,用于根据所述MD5值判断所述变化前的文件和所述发生变化的文件是否匹配;若匹配,则不更新所述划分后的数据块;若不匹配,则采用双向启发式搜索方法确定匹配点,并根据所述匹配点对划分后的数据块进行更新操作,得到更新后的数据块,并记录匹配点的偏移量以及与更新后的数据块对应的更新标志;判断单元,用于判断是否选取完成所有划分后的数据块;若选取完成所有划分后的数据块,则执行差异文件生成单元;若未选取完成所有划分后的数据块,则执行所述MD5值计算单元;差异文件生成单元,用于生成差异文件。可选的,所述系统,还包括:消息处理模块,用于对所述企业服务总线的消息进行加密、解密、合并、拆分和格式转换中的一项或多项,得本文档来自技高网...

【技术保护点】
1.一种基于分布式企业服务总线的远程文件同步方法,其特征在于,包括:/n获取发生变化的文件;/n根据所述发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件;所述差异文件包括文件头和差异数据实体,所述文件头包括偏移量以及数据块的长度、更新标志和更新参数;/n将所述差异文件封装为企业服务总线的消息;所述企业服务总线的消息用于远程文件同步。/n

【技术特征摘要】
1.一种基于分布式企业服务总线的远程文件同步方法,其特征在于,包括:
获取发生变化的文件;
根据所述发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件;所述差异文件包括文件头和差异数据实体,所述文件头包括偏移量以及数据块的长度、更新标志和更新参数;
将所述差异文件封装为企业服务总线的消息;所述企业服务总线的消息用于远程文件同步。


2.根据权利要求1所述的基于分布式企业服务总线的远程文件同步方法,其特征在于,所述获取发生变化的文件,具体包括:
采用jnotify监视文件的变化信息,在文件内容或文件目录发生新建、删除、修改和重命名中的一项或多项时,获取发生变化的文件。


3.根据权利要求2所述的基于分布式企业服务总线的远程文件同步方法,其特征在于,所述根据所述发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件,具体包括:
采用可变分块算法对所述发生变化的文件进行分块处理,得到多个划分后的数据块,并记录每个划分后的数据块的长度;
选取一个划分后的数据块,判断所述划分后的数据块是否被更新;若被更新,则将更新参数设置为0;若未被更新,则将更新参数进行加1处理,同时判断所述更新参数是否大于或等于预设更新参数;若大于或等于预设更新参数,则在变化前的文件中获取与所述划分后的数据块对应的数据块,并根据所述与所述划分后的数据块对应的数据块和所述划分后的数据块进行MD5计算,得到MD5值;
根据所述MD5值判断所述变化前的文件和所述发生变化的文件是否匹配;若匹配,则不更新所述划分后的数据块;若不匹配,则采用双向启发式搜索方法确定匹配点,并根据所述匹配点对划分后的数据块进行更新操作,得到更新后的数据块,并记录匹配点的偏移量以及与更新后的数据块对应的更新标志;
判断是否选取完成所有划分后的数据块;若选取完成所有划分后的数据块,则生成差异文件;若未选取完成所有划分后的数据块,则返回步骤“选取一个划分后的数据块,判断所述划分后的数据块是否被更新”。


4.根据权利要求3所述的基于分布式企业服务总线的远程文件同步方法,其特征在于,在所述将所述差异文件封装为企业服务总线的消息,之后还包括:
对所述企业服务总线的消息进行加密、解密、合并、拆分和格式转换中的一项或多项,得到并发送处理后的企业服务总线的消息。


5.一种基于分布式...

【专利技术属性】
技术研发人员:袁松徐亮亮杨军苏帅麻敏超
申请(专利权)人:中国电子科技集团公司第十五研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1