CN112217901A - 一种基于分布式企业服务总线的远程文件同步方法及系统 - Google Patents

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

Info

Publication number
CN112217901A
CN112217901A CN202011134564.6A CN202011134564A CN112217901A CN 112217901 A CN112217901 A CN 112217901A CN 202011134564 A CN202011134564 A CN 202011134564A CN 112217901 A CN112217901 A CN 112217901A
Authority
CN
China
Prior art keywords
file
data block
divided data
service bus
enterprise service
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.)
Pending
Application number
CN202011134564.6A
Other languages
English (en)
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.)
CETC 15 Research Institute
Original Assignee
CETC 15 Research Institute
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 CETC 15 Research Institute filed Critical CETC 15 Research Institute
Priority to CN202011134564.6A priority Critical patent/CN112217901A/zh
Publication of CN112217901A publication Critical patent/CN112217901A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于分布式企业服务总线的远程文件同步方法及系统。该方法包括:获取发生变化的文件;根据发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件;将差异文件封装为企业服务总线的消息;企业服务总线的消息用于远程文件同步。采用本发明的方法及系统,通过对文件增量进行同步,能够提高远程文件同步的效率和性能。

Description

一种基于分布式企业服务总线的远程文件同步方法及系统
技术领域
本发明涉及远程文件同步技术领域,特别是涉及一种基于分布式企业服务总线的远程文件同步方法及系统。
背景技术
企业服务总线(Enterprise Service Bus,ESB)作为面向服务体系架构SOA(Service Oriented Architecture)的核心框架,是企业异构应用交互的基础平台,具有高效、全面、灵活的特性,是解决信息孤岛的有效手段。企业服务总线的定义可以简单的理解为由中间件技术实现并支持SOA的一组基础架构,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性。通过企业服务总线实现应用系统的快速接入,并通过更高级的事件、流程处理能力,能够很好的将企业信息系统与实际业务协调起来,在保证原有投资的条件下,实现更加灵活和敏捷的企业信息系统改造。企业服务总线主要功能是连接外部系统与服务,实现不同系统间的交互需求。在大量企业分布式应用环境中,基于LAN或WAN的网络应用之间进行数据传输或者同步非常普遍,比如远程数据镜像、备份、复制、同步,数据下载、上传、共享等等,如果对文件采用简单的完全复制,在文件较大的情况下,会占用大量网络带宽,针对ESB数据交换平台多应用接入时高频繁交互性和实时性要求,显然这种同步效率是不够的。
目前,文件同步领域的鼻祖是rsync同步,它是以rsync算法为基础计算新旧文件的差异数据,从而取代原有冗余的数据,节省传输时的网络带宽并提高效率。尽管rsync已在业界广泛应用,但是仍然存在许多不足之处:
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值计算单元;
差异文件生成单元,用于生成差异文件。
可选的,所述系统,还包括:
消息处理模块,用于对所述企业服务总线的消息进行加密、解密、合并、拆分和格式转换中的一项或多项,得到并发送处理后的企业服务总线的消息。
与现有技术相比,本发明的有益效果是:
本发明提出了一种基于分布式企业服务总线的远程文件同步方法及系统,获取发生变化的文件;根据发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件;将差异文件封装为企业服务总线的消息;企业服务总线的消息用于远程文件同步。本发明通过对文件增量进行同步,能够提高远程文件同步的效率和性能。
此外,本发明采用jnotify机制实现文件系统更新监控,避免了传统方法另外开启线程,不断扫描文件来确定是否更新。本发明基于统计思想的分块方式与双向启发式搜索方法的结合,使得整个过程无论是同步效率还是带宽占用量,都取得了明显进步。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于分布式企业服务总线的远程文件同步方法流程图;
图2为本发明实施例中基于分布式企业服务总线的远程文件同步系统结构图;
图3为本发明实施例中文件同步组件整体架构图;
图4为本发明实施例中差异计算流程图;
图5为本发明实施例中客户端重构文件流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于分布式企业服务总线的远程文件同步方法及系统,通过对文件增量进行同步,能够提高远程文件同步的效率和性能。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例
图1为本发明实施例中基于分布式企业服务总线的远程文件同步方法流程图,如图1所示,一种基于分布式企业服务总线的远程文件同步方法,包括:
步骤101:获取发生变化的文件。
步骤101,具体包括:
采用jnotify监视文件的变化信息,在文件内容或文件目录发生新建、删除、修改和重命名中的一项或多项时,获取发生变化的文件。
步骤102:根据发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件;差异文件包括文件头和差异数据实体,文件头包括偏移量以及数据块的长度、更新标志和更新参数。
步骤102,具体包括:
采用可变分块算法对发生变化的文件进行分块处理,得到多个划分后的数据块,并记录每个划分后的数据块的长度;
选取一个划分后的数据块,判断划分后的数据块是否被更新;若被更新,则将更新参数设置为0;若未被更新,则将更新参数进行加1处理,同时判断更新参数是否大于或等于预设更新参数;若大于或等于预设更新参数,则在变化前的文件中获取与划分后的数据块对应的数据块,并根据与划分后的数据块对应的数据块和划分后的数据块进行MD5计算,得到MD5值;
根据MD5值判断变化前的文件和发生变化的文件是否匹配;若匹配,则不更新划分后的数据块;若不匹配,则采用双向启发式搜索方法确定匹配点,并根据匹配点对划分后的数据块进行更新操作,得到更新后的数据块,并记录匹配点的偏移量以及与更新后的数据块对应的更新标志;
判断是否选取完成所有划分后的数据块;若选取完成所有划分后的数据块,则生成差异文件;若未选取完成所有划分后的数据块,则返回步骤“选取一个划分后的数据块,判断划分后的数据块是否被更新”。
步骤103:将差异文件封装为企业服务总线的消息;企业服务总线的消息用于远程文件同步。
步骤104:对企业服务总线的消息进行加密、解密、合并、拆分和格式转换中的一项或多项,得到并发送处理后的企业服务总线的消息。
图2为本发明实施例中基于分布式企业服务总线的远程文件同步系统结构图。如图2所示,一种基于分布式企业服务总线的远程文件同步系统,包括:
文件获取模块201,用于获取发生变化的文件;
文件获取模块201,具体包括:
文件获取单元,用于采用jnotify监视文件的变化信息,在文件内容或文件目录发生新建、删除、修改和重命名中的一项或多项时,获取发生变化的文件。
差异文件生成模块202,用于根据发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件;差异文件包括文件头和差异数据实体,文件头包括偏移量以及数据块的长度、更新标志和更新参数。
差异文件生成模块202,具体包括:
划分单元,用于采用可变分块算法对发生变化的文件进行分块处理,得到多个划分后的数据块,并记录每个划分后的数据块的长度;
MD5值计算单元,用于选取一个划分后的数据块,判断划分后的数据块是否被更新;若被更新,则将更新参数设置为0;若未被更新,则将更新参数进行加1处理,同时判断更新参数是否大于或等于预设更新参数;若大于或等于预设更新参数,则在变化前的文件中获取与划分后的数据块对应的数据块,并根据与划分后的数据块对应的数据块和划分后的数据块进行MD5计算,得到MD5值;
更新单元,用于根据MD5值判断变化前的文件和发生变化的文件是否匹配;若匹配,则不更新划分后的数据块;若不匹配,则采用双向启发式搜索方法确定匹配点,并根据匹配点对划分后的数据块进行更新操作,得到更新后的数据块,并记录匹配点的偏移量以及与更新后的数据块对应的更新标志;
判断单元,用于判断是否选取完成所有划分后的数据块;若选取完成所有划分后的数据块,则执行差异文件生成单元;若未选取完成所有划分后的数据块,则执行MD5值计算单元;
差异文件生成单元,用于生成差异文件。
封装模块203,用于将差异文件封装为企业服务总线的消息;企业服务总线的消息用于远程文件同步。
消息处理模块204,用于对企业服务总线的消息进行加密、解密、合并、拆分和格式转换中的一项或多项,得到并发送加密、解密、合并、拆分和格式转换处理后的企业服务总线的消息。
本发明利用分布式企业服务总线对源客户端目标文件开启实时监测,若有更新将其与原始文件进行匹配,计算差异,将差异计算结果发送到ESB服务器端,并由服务器端根据流程配置文件发往目的客户端,最后在目的客户端进行差异重放,实现远程文件同步,另外,目的客户端根据配置需求,采用心跳检测机制向源端返回同步信号,保证每次同步过程安全可靠的进行。本发明方法包括以下具体步骤:
1.开启源端文件系统实时监控
本方法采用jnotify库实现文件系统的实时监控。jnotify通过JNI技术(Javanative Interface-Java本地接口)也就是Java与C/C++连接的桥梁调用操作系统的本地库(Win下的是dll文件,Linux下是so文件)监视文件或文件目录的变化,当文件或文件目录发生新建、删除、修改及重命名等操作时,jnotify的Listener类就会返回相应的文件地址,根据地址可快速获取该文件并做相应的处理。
2.差异计算并生成差异文件
针对现有差异计算不足,本发明改进了rsync算法的定长分块和dedupe技术的CDC分块的策略,提出了一种基于统计方式的可变分块算法(SAA)和线性差异计算算法(LDA),并将两种算法巧妙结合,从而大大减少了差异计算时间。根据差异文件的格式定义,差异编码信息由文件头和差异数据实体组成,其中文件头按顺序的定义了所有数据块的描述,包括数据块长度length、偏移offset以及数据块更新标志updated和更新参数count。差异数据实体存储于差异编码文件尾部,长度和偏移由头部指示。差异文件的具体生成过程如下:
文件每次同步后产生一个快照文件存于本地,这样下次同步过程将只针对快照文件进行。在具体同步时,在count中记录每个块的更新情况,当每次进行同步时,如果该块没有被更新,count加1,否则count设为0。当count>=3时,直接根据chunk中保存的偏移量(offset)对应到新的文件中取相应的块,并为之计算MD5,与先前文件的快照snapshot中的MD5进行比较,如果相等,则匹配成功,不需更新,只需在差异文件中填入该块在旧文件中的偏移量offset和长度length即可。如果匹配失败或是count<3时,对文件块的影响仅限于较少的几块,所以采用线性差异计算算法(LineDifferentiation Algorithm)找到新的匹配点。LDA基于一种模糊匹配的思想,采用双向启发式搜索完成邻近数据块的线性匹配,最终返回新的匹配点。记录下新的匹配点的偏移值,作为全局偏移量,随后各块的offset均增加一个全局偏移,重复上面的过程直至整个文件分块并匹配结束。此外,如果检测到又一连串的块,其count都大于10,则进行合并操作,把他们合并成一个块,并计算这些块对应连续内容的MD5。当然,如果合并成的块找不到对应的内容,则需要再运用CDC算法执行拆分操作。按照上述规则对新文件全文完成匹配后即可得到最终的差异文件。
3.消息发送及处理
将所生成的差异文件写入ESB标准消息体,作为ESB的内部消息发往服务器端。在传输过程中,集成ESB消息处理逻辑,可完成对原始传输内容的加密、解密、合并、拆分、路由及格式转换等。
4.目的端文件重构
当包含差异文件的消息从服务器端传输到目的客户端,经解压解密后,目的客户端根据差异文件和本地旧文件重构出新文件,完成新旧文件的同步。根据差异文件的格式定义,差异编码信息由文件头和差异数据实体组成,其中文件头按顺序的定义了所有数据块的描述,包括数据块长度length、偏移offset以及数据块更新标志updated和更新参数count。差异数据实体存储于差异编码文件尾部,长度和偏移由头部指示。按照以上差异文件的定义规则,遍历差异文件的每一个数据块描述,根据更新标志updated分别从差异文件或旧文件中读取相应数据块,即可以将旧文件同步到最新的版本。
下面将结合附图和具体实施例子对本发明作进一步说明。
图3表示分布式企业服务总线加入文件同步组件(文件适配器)后的整体架构设计。同步双方客户端均通过统一的文件同步组件(文件适配器)接入ESB集成环境。文件同步组件(文件适配器)是ESB内部与外部文件系统进行交互的中介和代理。在服务请求者一端,轮询某一个文件目录下是否有文件内容发生了改变,或者新文件加入到该目录中,如果有以上的情形发生,文件适配器需要将变化的内容封装成ESB消息,并且发往ESB环境中;在服务提供者一端,文件适配器需要从消息通道中获取消息,并将消息内容写入指定目录下的某文件中或者作为差异文件重构新文件。方法采用jnotify监控文件系统变更的常用接口。对不同的文件目录可增加多个文件监控器JNotify.addWatch(path,mask,watchSubtree,new Listener())。可返回一个唯一标识该监控器的ID。在加入更新后的处理逻辑时需要注意,因实际应用中jontify监控方法的域限制较强,故采用将处理逻辑和消息发送直接添加在jnotify的接口函数中。
图4表示一次完整的差异计算过程。首先通过SAA和LDA方法对文件进行分块,满足条件的块得到后为其计算MD5,并与上次同步后保存的MD5列表进行匹配,若匹配成功表示此数据块没有更新,若未匹配到,将该数据块写入差异文件,重复上面的匹配过程直至文件末尾,最后生成完整的差异文件。
图5表示目的客户端重构文件的过程。同步算法遍历差异文件的每一个数据块描述,根据更新标志updated分别从差异文件或旧文件中读取相应数据块,如果updated为1,则表示需更新的数据块位于差异编码文件中offset处,数据紧随该实体后;如果updated为0,则表示数据块不需要更新,直接从旧文件中获取相应位置数据,遍历完整个差异文件后,即可得到重构后的新文件。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种基于分布式企业服务总线的远程文件同步方法,其特征在于,包括:
获取发生变化的文件;
根据所述发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件;所述差异文件包括文件头和差异数据实体,所述文件头包括偏移量以及数据块的长度、更新标志和更新参数;
将所述差异文件封装为企业服务总线的消息;所述企业服务总线的消息用于远程文件同步。
2.根据权利要求1所述的基于分布式企业服务总线的远程文件同步方法,其特征在于,所述获取发生变化的文件,具体包括:
采用jnotify监视文件的变化信息,在文件内容或文件目录发生新建、删除、修改和重命名中的一项或多项时,获取发生变化的文件。
3.根据权利要求2所述的基于分布式企业服务总线的远程文件同步方法,其特征在于,所述根据所述发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件,具体包括:
采用可变分块算法对所述发生变化的文件进行分块处理,得到多个划分后的数据块,并记录每个划分后的数据块的长度;
选取一个划分后的数据块,判断所述划分后的数据块是否被更新;若被更新,则将更新参数设置为0;若未被更新,则将更新参数进行加1处理,同时判断所述更新参数是否大于或等于预设更新参数;若大于或等于预设更新参数,则在变化前的文件中获取与所述划分后的数据块对应的数据块,并根据所述与所述划分后的数据块对应的数据块和所述划分后的数据块进行MD5计算,得到MD5值;
根据所述MD5值判断所述变化前的文件和所述发生变化的文件是否匹配;若匹配,则不更新所述划分后的数据块;若不匹配,则采用双向启发式搜索方法确定匹配点,并根据所述匹配点对划分后的数据块进行更新操作,得到更新后的数据块,并记录匹配点的偏移量以及与更新后的数据块对应的更新标志;
判断是否选取完成所有划分后的数据块;若选取完成所有划分后的数据块,则生成差异文件;若未选取完成所有划分后的数据块,则返回步骤“选取一个划分后的数据块,判断所述划分后的数据块是否被更新”。
4.根据权利要求3所述的基于分布式企业服务总线的远程文件同步方法,其特征在于,在所述将所述差异文件封装为企业服务总线的消息,之后还包括:
对所述企业服务总线的消息进行加密、解密、合并、拆分和格式转换中的一项或多项,得到并发送处理后的企业服务总线的消息。
5.一种基于分布式企业服务总线的远程文件同步系统,其特征在于,包括:
文件获取模块,用于获取发生变化的文件;
差异文件生成模块,用于根据所述发生变化的文件采用可变分块算法和双向启发式搜索方法生成差异文件;所述差异文件包括文件头和差异数据实体,所述文件头包括偏移量以及数据块的长度、更新标志和更新参数;
封装模块,用于将所述差异文件封装为企业服务总线的消息;所述企业服务总线的消息用于远程文件同步。
6.根据权利要求5所述的基于分布式企业服务总线的远程文件同步系统,其特征在于,所述文件获取模块,具体包括:
文件获取单元,用于采用jnotify监视文件的变化信息,在文件内容或文件目录发生新建、删除、修改和重命名中的一项或多项时,获取发生变化的文件。
7.根据权利要求6所述的基于分布式企业服务总线的远程文件同步系统,其特征在于,所述差异文件生成模块,具体包括:
划分单元,用于采用可变分块算法对所述发生变化的文件进行分块处理,得到多个划分后的数据块,并记录每个划分后的数据块的长度;
MD5值计算单元,用于选取一个划分后的数据块,判断所述划分后的数据块是否被更新;若被更新,则将更新参数设置为0;若未被更新,则将更新参数进行加1处理,同时判断所述更新参数是否大于或等于预设更新参数;若大于或等于预设更新参数,则在变化前的文件中获取与所述划分后的数据块对应的数据块,并根据所述与所述划分后的数据块对应的数据块和所述划分后的数据块进行MD5计算,得到MD5值;
更新单元,用于根据所述MD5值判断所述变化前的文件和所述发生变化的文件是否匹配;若匹配,则不更新所述划分后的数据块;若不匹配,则采用双向启发式搜索方法确定匹配点,并根据所述匹配点对划分后的数据块进行更新操作,得到更新后的数据块,并记录匹配点的偏移量以及与更新后的数据块对应的更新标志;
判断单元,用于判断是否选取完成所有划分后的数据块;若选取完成所有划分后的数据块,则执行差异文件生成单元;若未选取完成所有划分后的数据块,则执行所述MD5值计算单元;
差异文件生成单元,用于生成差异文件。
8.根据权利要求7所述的基于分布式企业服务总线的远程文件同步系统,其特征在于,所述系统,还包括:
消息处理模块,用于对所述企业服务总线的消息进行加密、解密、合并、拆分和格式转换中的一项或多项,得到并发送处理后的企业服务总线的消息。
CN202011134564.6A 2020-10-21 2020-10-21 一种基于分布式企业服务总线的远程文件同步方法及系统 Pending CN112217901A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011134564.6A CN112217901A (zh) 2020-10-21 2020-10-21 一种基于分布式企业服务总线的远程文件同步方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011134564.6A CN112217901A (zh) 2020-10-21 2020-10-21 一种基于分布式企业服务总线的远程文件同步方法及系统

Publications (1)

Publication Number Publication Date
CN112217901A true CN112217901A (zh) 2021-01-12

Family

ID=74056418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011134564.6A Pending CN112217901A (zh) 2020-10-21 2020-10-21 一种基于分布式企业服务总线的远程文件同步方法及系统

Country Status (1)

Country Link
CN (1) CN112217901A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070100913A1 (en) * 2005-10-12 2007-05-03 Sumner Gary S Method and system for data backup
US20100094817A1 (en) * 2008-10-14 2010-04-15 Israel Zvi Ben-Shaul Storage-network de-duplication
CN102624871A (zh) * 2012-02-03 2012-08-01 杭州杰唐信息技术有限公司 一种基于分布式企业服务总线实现的远程文件同步方法
US20140250066A1 (en) * 2013-03-04 2014-09-04 Vmware, Inc. Cross-file differential content synchronization
WO2015018164A1 (zh) * 2013-08-08 2015-02-12 中国科学院计算机网络信息中心 一种从异构企业信息系统中主动获取数据的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070100913A1 (en) * 2005-10-12 2007-05-03 Sumner Gary S Method and system for data backup
US20100094817A1 (en) * 2008-10-14 2010-04-15 Israel Zvi Ben-Shaul Storage-network de-duplication
CN102624871A (zh) * 2012-02-03 2012-08-01 杭州杰唐信息技术有限公司 一种基于分布式企业服务总线实现的远程文件同步方法
US20140250066A1 (en) * 2013-03-04 2014-09-04 Vmware, Inc. Cross-file differential content synchronization
WO2015018164A1 (zh) * 2013-08-08 2015-02-12 中国科学院计算机网络信息中心 一种从异构企业信息系统中主动获取数据的方法

Similar Documents

Publication Publication Date Title
CN102624871B (zh) 一种基于分布式企业服务总线实现的远程文件同步方法
CN107423426B (zh) 一种区块链块数据的数据归档方法及电子设备
US6704730B2 (en) Hash file system and method for use in a commonality factoring system
US20110314070A1 (en) Optimization of storage and transmission of data
US10447780B2 (en) Cross-file differential content synchronization
US9753944B2 (en) System and method for streaming files through differential compression
US8452731B2 (en) Remote backup and restore
US7478113B1 (en) Boundaries
US8285689B2 (en) Distributed file system and data block consistency managing method thereof
US8788831B2 (en) More elegant exastore apparatus and method of operation
JP2003524243A (ja) 共通性ファクタリングシステムに用いられるハッシュファイルシステムおよび方法
US20020152218A1 (en) System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences
Yiu et al. Erasure coding for small objects in in-memory KV storage
CN106156359A (zh) 一种云计算平台下的数据同步更新方法
US9990352B2 (en) Chunk compression in a deduplication aware client environment
CN103095843A (zh) 一种基于版本矢量的数据备份方法及客户端
CN103116615A (zh) 一种基于版本矢量的数据索引方法及服务器
US20160350301A1 (en) Data fingerprint strengthening
KR20120090320A (ko) 분산 파일 시스템에서 효율적인 자료 복구 방법
CN112217901A (zh) 一种基于分布式企业服务总线的远程文件同步方法及系统
Goncalves et al. DottedDB: Anti-entropy without merkle trees, deletes without tombstones
JP6186433B2 (ja) ファイル間差分コンテンツ同期
CN112416878A (zh) 一种基于云平台的文件同步管理方法
Druta et al. Evaluation of remote data compression methods
CN113568871A (zh) 一种医疗边缘设备电力管理实时自动同步的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination