CN111651421A - 一种改进的Rsync方法、装置及信息同步系统 - Google Patents
一种改进的Rsync方法、装置及信息同步系统 Download PDFInfo
- Publication number
- CN111651421A CN111651421A CN202010505453.5A CN202010505453A CN111651421A CN 111651421 A CN111651421 A CN 111651421A CN 202010505453 A CN202010505453 A CN 202010505453A CN 111651421 A CN111651421 A CN 111651421A
- Authority
- CN
- China
- Prior art keywords
- file
- initial
- block
- preset
- file block
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
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
本申请公开了一种改进的Rsync方法、装置及信息同步系统,方法包括:采用预置窗口进行初始块划分,得到初始文件块;并计算获取的初始差异文件块的比重值;若比重值较大,且初始文件块较长,则采用预置固定长度对初始文件块进行第一块划分,并计算强弱校验值;若否,则直接计算初始文件块的初始强弱校验值;若比重值较小,则采用预置精分滑动窗口对初始文件块进行第二块划分,并计算相应的强弱校验值;根据求得的强弱校验值获取所有的目标差异文件块,并通过目标差异文件块进行同步传输操作。本申请能够解决在实际文件内容的变化范围跨度较大时,Rsync算法的性能降低,造成信息同步效率低下的技术问题。
Description
技术领域
本申请涉及信息同步技术领域,尤其涉及一种改进的Rsync方法、装置及信息同步系统。
背景技术
Rsync(Remote Synchronize)算法能够准确的计算出文件的微小变化,识别源端数据和目的端数据的差异,因此,被应用于不同设备之间的信息同步中,Rsync算法是根据差异文件块进行传输,可以有效的降低网络流量,提高传输效率,但是同时也存在一些问题,在文件变化很小时,Rsync算法计算文件块中每个字节的hash值,计算效率低;在文件变化很大时,Rsync算法同步速度非常慢;因此,在文件变化较为极端的情况下,Rsync算法的性能不具备突出优势,无法适应更多情况的信息同步需求。
发明内容
本申请提供了一种改进的Rsync方法、装置及信息同步系统,用于解决在实际文件内容的变化范围跨度较大时,Rsync算法的性能降低,造成信息同步效率低下的技术问题。
有鉴于此,本申请第一方面提供了一种改进的Rsync方法,包括:
采用预置窗口进行初始块划分,得到初始文件块;
根据预置编辑距离算法在所述初始文件块中获取初始差异文件块,并计算所述初始差异文件块占总初始文件块的比重值;
若所述比重值大于预置差异度评价因子,则判断所述初始文件块是否大于预置块长度,若否,则计算所述初始文件块的初始强弱校验值,若是,则采用预置固定长度对所述初始文件块进行第一块划分,得到第一文件块,并计算所述第一文件块的第一强弱校验值;
若所述比重值小于或者等于所述预置差异度评价因子,则采用预置精分滑动窗口对所述初始文件块进行第二块划分,得到第二文件块,并计算所述第二文件块的第二强弱校验值;
根据求得的强弱校验值获取所有的目标差异文件块,并通过所述目标差异文件块进行同步传输操作,所述求得的强弱校验值包括初始强弱校验值、第一强弱校验值和第二强弱校验值,所述求得的强弱校验值包括弱校验值和强校验值。
可选的,所述采用预置窗口进行初始块划分,得到初始文件块,包括:
在初始文件上滑动所述预置窗口,并计算每个窗口中文件内容对应的指纹值;
根据满足预置指纹条件的所述指纹值选取划分边界,进行初始块划分操作,得到所述初始文件块。
可选的,所述根据求得的强弱校验值获取所有的差异文件块,并通过所述差异文件块进行同步传输操作,包括:
判断当前文件块对应的所述弱校验值是否与预置弱校验值一致,若是,则所述当前文件块为第一无差异文件块,若否,则判断所述当前文件块对应的所述强校验值是否与预置强校验值一致,若是,则所述当前文件块为第二无差异文件块,若否,则所述当前文件块为差异文件块;
根据所述差异文件块进行同步传输操作。
可选的,所述预置块长度根据标准文件块长度和预置倍数因子配置得到。
本申请第二方面提供了一种改进的Rsync装置,包括:
划分模块,用于采用预置窗口进行初始块划分,得到初始文件块;
差异计算模块,用于根据预置编辑距离算法在所述初始文件块中获取初始差异文件块,并计算所述初始差异文件块占总初始文件块的比重值;
第一判断模块,用于若所述比重值大于预置差异度评价因子,则判断所述初始文件块是否大于预置块长度,若否,则计算所述初始文件块的初始强弱校验值,若是,则采用预置固定长度对所述初始文件块进行第一块划分,得到第一文件块,并计算所述第一文件块的第一强弱校验值;
第二判断模块,用于若所述比重值小于或者等于所述预置差异度评价因子,则采用预置精分滑动窗口对所述初始文件块进行第二块划分,得到第二文件块,并计算所述第二文件块的第二强弱校验值;
差异定位模块,用于根据求得的强弱校验值获取所有的目标差异文件块,并通过所述目标差异文件块进行同步传输操作,所述求得的强弱校验值包括初始强弱校验值、第一强弱校验值和第二强弱校验值,所述求得的强弱校验值包括弱校验值和强校验值。
可选的,所述划分模块,包括:
滑动子模块,用于在初始文件上滑动所述预置窗口,并计算每个窗口中文件内容对应的指纹值;
划分子模块,用于根据满足预置指纹条件的所述指纹值选取划分边界,进行初始块划分操作,得到所述初始文件块。
可选的,所述差异定位模块,包括:
判断子模块,用于判断当前文件块对应的所述弱校验值是否与预置弱校验值一致,若是,则所述当前文件块为第一无差异文件块,若否,则判断所述当前文件块对应的所述强校验值是否与预置强校验值一致,若是,则所述当前文件块为第二无差异文件块,若否,则所述当前文件块为差异文件块;
传输子模块,用于根据所述差异文件块进行同步传输操作。
可选的,所述预置块长度根据标准文件块长度和预置倍数因子配置得到。
本申请第三方面提供了一种信息同步系统,包括:协同管理模块、文件监控模块、文件更新模块和第二方面中任意一项改进的Rsync装置;
所述协同管理模块,用于管理和协调所述文件监控模块、所述文件更新模块和所述Rsync装置的工作;
所述文件监控模块,用于对源端文件块的文件内容进行监控,在所述文件内容发生变化时,触发所述Rsync装置,得到差异文件块,并进行同步传输操作;
所述文件更新模块,用于通过同步传输操作得到的所述差异文件块对目的端文件块进行差异更新操作。
可选的,还包括:校验模块和备份模块;
所述校验模块,用于对系统中的文件块进行校验操作,并将校验结果发送至所述备份模块;
所述备份模块,用于缓存系统中的文件内容和所述校验结果。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中,提供了一种改进的Rsync方法,包括:采用预置窗口进行初始块划分,得到初始文件块;根据预置编辑距离算法在初始文件块中获取初始差异文件块,并计算初始差异文件块占总初始文件块的比重值;若比重值大于预置差异度评价因子,则判断初始文件块是否大于预置块长度,若否,则计算初始文件块的初始强弱校验值,若是,则采用预置固定长度对初始文件块进行第一块划分,得到第一文件块,并计算第一文件块的第一强弱校验值;若比重值小于或者等于预置差异度评价因子,则采用预置精分滑动窗口对初始文件块进行第二块划分,得到第二文件块,并计算第二文件块的第二强弱校验值;根据求得的强弱校验值获取所有的目标差异文件块,并通过目标差异文件块进行同步传输操作,求得的强弱校验值包括初始强弱校验值、第一强弱校验值和第二强弱校验值,求得的强弱校验值包括弱校验值和强校验值。
本申请提供的一种改进的Rsync方法,将文件划分成文件块,然后针对不同的文件块进行分层处理,从而提高计算效率;以差异度和块长度作为标准对文件块进行针对性的区分以及操作,对于差异度较大且块长度较长的文件块,需要进一步采用固定长度进行块划分操作,对于差异度较小或者块长度未超过阈值的文件块直接计算校验值判断文件块是否存在差异即可;弱校验值和强校验值共同结合获取文件块中的目标差异文件块,只需要对这些差异文件块进行同步传输即可;对文件块进行针对性处理,不仅能够减少计算量和传输数据量,还能较大程度的提升同步速度,不论文件的差异多小或者多大,本申请的方法的效能均不受影响。因此,本申请能够解决在实际文件内容的变化范围跨度较大时,Rsync算法的性能降低,造成信息同步效率低下的技术问题。
附图说明
图1为本申请实施例提供的一种改进的Rsync方法的一个流程示意图;
图2为本申请实施例提供的一种改进的Rsync方法的另一个流程示意图;
图3为本申请实施例提供的一种改进的Rsync装置的结构示意图;
图4为本申请应用例中的源端CPU占用率对比曲线图;
图5为本申请应用例中的目的端CPU占用率对比曲线图;
图6为本申请应用例中同步传输中传输文件的数据量对比直方图;
图7为本申请应用例中一次文件同步传输耗时对比曲线图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,请参阅图1,本申请提供的一种改进的Rsync方法的实施例一,包括:
步骤101、采用预置窗口进行初始块划分,得到初始文件块。
需要说明的是,预置窗口的设置根据实际情况调整,一般可以设置为48个字节大小,在目标文件上滑动预置窗口,计算每个窗口对应的指纹值,根据指纹值和预置的指纹条件,可以得到有效指纹值,从而获取到文件块的边界,即满足预置指纹条件的指纹值所对应的窗口;如果指纹值还不满足指纹条件,就需要继续向后滑动窗口,继续计算指纹值,直至找到满足条件的边界为止。可以发现,采用这样的方法得到的文件块的长度并不是固定的,因为是根据文件的内容进行块划分的,这实质是CDC算法的分块方法;得到的初始文件块还不能直接计算校验值,因为初始文件块的长度不一,难免存在滑动窗口一直得不到满足指纹条件的指纹值,使得最后得到的初始文件块为超级大文件块,超级大文件块的传输效率极低,不利于信息同步传输,因此,还需要对初始文件块进行判断分析操作。
步骤102、根据预置编辑距离算法在初始文件块中获取初始差异文件块,并计算初始差异文件块占总初始文件块的比重值。
需要说明的是,预置编辑距离算法又称Levenshtein距离(莱文斯坦距离也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同;许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符;根据预置编辑距离算法能够找出初始文件块中的差异文件块,然后计算出这些差异文件块占的比重,便于后续的判断分析操作。
步骤103、若比重值大于预置差异度评价因子,则判断初始文件块是否大于预置块长度,若否,则计算初始文件块的初始强弱校验值,若是,则采用预置固定长度对初始文件块进行第一块划分,得到第一文件块,并计算第一文件块的第一强弱校验值。
需要说明的是,预置差异度评价因子是根据实际情况设定的参数,如果比重值大于预置差异度评价因子,说明这批次的初始文件块的变化较大,也就是需要同步传输和更新的数据较多,如果此时的文件块长度较小,那么就可以直接计算初始的弱校验值和强校验值,即初始强弱校验值,等待后续分析;如果此时的文件块长度较长,即超过了预置块长度,那么这个初始文件块就是超级文件块,需要再次进行块划分,得到第一文件块,然后再计算第一弱校验值和强校验值;再次进行块划分的方法不再是变长的方式,而是统一采用预置固定长度进行划分,预置固定长度一般是标准的文件块长度,可以根据实际情况作调整。
步骤104、若比重值小于或者等于预置差异度评价因子,则采用预置精分滑动窗口对初始文件块进行第二块划分,得到第二文件块,并计算第二文件块的第二强弱校验值。
需要说明的是,如果比重值不大于预置差异度评价因子,说明初始文件块的变化较小,需要同步传输和更新的数据较少,直接采用预置精分滑动窗口对初始文件块进行长度自适应的块划分,得到第二文件块,同样需要计算第二强弱校验值,即第二强校验值和弱校验值。
步骤105、根据求得的强弱校验值获取所有的目标差异文件块,并通过目标差异文件块进行同步传输操作,求得的强弱校验值包括初始强弱校验值、第一强弱校验值和第二强弱校验值,求得的强弱校验值包括弱校验值和强校验值。
需要说明的是,不论如何分层处理,最终均需要对强弱校验值进行分析判断,从而得到所有的目标差异文件块;求得校验值与存储的校验值一致则认为文件没有差异,如果校验值均不一致,则说明文件存在差异,需要进行同步传输;仅传输文件中的差异文件块,减少了传输数据量,加快数据同步传输的速度。这里的弱校验值实质就是hash值,强校验值其实就是MD5值。本实施例中的Rsync方法其实就是引入了CDC算法的差异文件块定位思想,提高了Rsync方法的适用性。
本实施例提供的一种改进的Rsync方法,将文件划分成文件块,然后针对不同的文件块进行分层处理,从而提高计算效率;以差异度和块长度作为标准对文件块进行针对性的区分以及操作,对于差异度较大且块长度较长的文件块,需要进一步采用固定长度进行块划分操作,对于差异度较小或者块长度未超过阈值的文件块直接计算校验值判断文件块是否存在差异即可;弱校验值和强校验值共同结合获取文件块中的目标差异文件块,只需要对这些差异文件块进行同步传输即可;对文件块进行针对性处理,不仅能够减少计算量和传输数据量,还能较大程度的提升同步速度,不论文件的差异多小或者多大,本申请的方法的效能均不受影响。因此,本实施例能够解决在实际文件内容的变化范围跨度较大时,Rsync算法的性能降低,造成信息同步效率低下的技术问题。
为了便于理解,请参阅图2,本申请提供了一种改进的Rsync方法的实施例二,包括:
步骤201、在初始文件上滑动预置窗口,并计算每个窗口中文件内容对应的指纹值。
步骤202、根据满足预置指纹条件的指纹值选取划分边界,进行初始块划分操作,得到初始文件块。
需要说明的是,预置窗口的设置根据实际情况调整,一般可以设置为48个字节大小,在目标初始文件上滑动预置窗口,计算每个窗口对应的指纹值,根据指纹值和预置的指纹条件,可以得到有效指纹值,从而获取到文件块的划分边界,满足预置指纹条件的指纹值所对应的窗口即为划分边界;如果指纹值还不满足指纹条件,就需要继续向后滑动窗口,继续计算指纹值,直至找到满足条件的边界为止。可以发现,采用这样的方法得到的文件块的长度并不是固定的,因为是根据文件的内容进行块划分的,这实质是CDC算法的分块方法;得到的初始文件块还不能直接计算校验值,因为初始文件块的长度不一,难免存在滑动窗口一直找不到满足指纹条件的指纹值,使得窗口不断地后移,使得生成的初始文件块成为超级大文件块,超级大文件块的传输效率极低,不利于信息同步传输,因此,还需要对初始文件块进行分析判断操作。
步骤203、根据预置编辑距离算法在初始文件块中获取初始差异文件块,并计算初始差异文件块占总初始文件块的比重值。
需要说明的是,预置编辑距离算法又称Levenshtein距离(莱文斯坦距离也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同;根据预置编辑距离算法能够找出初始文件块中的差异文件块,然后计算出这些差异文件块占的比重,便于后续的判断分析操作。
步骤204、若比重值大于预置差异度评价因子,则判断初始文件块是否大于预置块长度,若否,则计算初始文件块的初始强弱校验值,若是,则采用预置固定长度对初始文件块进行第一块划分,得到第一文件块,并计算第一文件块的第一强弱校验值。
需要说明的是,预置块长度W根据标准文件块长度V和预置倍数因子n配置得到;计算过程为W’=V*n;预置差异度评价因子是根据实际情况设定的参数,用ε表示,比重值用η表示,若η>ε,说明这批次的初始文件块的变化较大,也就是需要同步传输和更新的数据较多,如果此时的文件块长度较小(W<W’),那么就可以直接计算初始的弱校验值和强校验值,即初始强弱校验值,等待后续分析;如果此时的文件块长度较长(W>W’),即超过了预置块长度,那么这个初始文件块就是超级文件块,需要再次进行块划分,得到第一文件块,然后再计算第一弱校验值和强校验值;再次进行块划分的方法不再是变长的方式,而是统一采用预置固定长度进行划分,预置固定长度一般是标准的文件块长度,即V,可以根据实际情况作调整。同样的第一强弱校验值包括第一强校验值和第一若校验值两个值;而弱校验值一般就是指hash值,强校验值一般就是指MD5值。
步骤205、若比重值小于或者等于预置差异度评价因子,则采用预置精分滑动窗口对初始文件块进行第二块划分,得到第二文件块,并计算第二文件块的第二强弱校验值。
需要说明的是,如果比重值不大于预置差异度评价因子(η≤ε),说明初始文件块的变化较小,需要同步传输和更新的数据较少,直接采用预置精分滑动窗口对初始文件块进行长度自适应的块划分,得到第二文件块,同样需要计算第二强弱校验值,即第二强校验值和弱校验值。需要注意的是,此处采用地域预置固定长度进行块划分可以仅是源端的处理方式,而目的端为了提升验证精准度,可以采用滑动窗口检测文件块的方式进行精细分块处理。
步骤206、判断当前文件块对应的弱校验值是否与预置弱校验值一致,若是,则当前文件块为第一无差异文件块,若否,则判断当前文件块对应的强校验值是否与预置强校验值一致,若是,则当前文件块为第二无差异文件块,若否,则当前文件块为差异文件块。
需要说明的是,弱校验值和强校验值即为求得的强弱校验值,即初始强弱校验值、第一强弱校验值和第二强弱校验值。这步操作是通过弱校验值(hash值)和强校验值(MD5值)的验证确定目标差异文件块,在弱校验值和强校验值均不一致时,说明文件块存在差异,需要同步传输更新;如果弱校验值一致了,或者弱校验值不一致,但是强校验值一致时,说明文件块是没有差异的,即无差异文件块。
步骤207、根据差异文件块进行同步传输操作。
需要说明的是,根据差异文件块传输的过程中,无差异文件块是不需要再次传输下载的,通过这样的方式避免了大量数据的同步更新,提高同步传输的效率。
为了便于理解,提供一种基于改进的Rsync方法的信息同步模型的应用例,采用两台配置相同的电脑(4G内存,500G硬盘,CPU:Intel(R)2.6GHz)搭建测试环境,模拟现实中的远程同步源端和目的端,两台电脑均运行CentOS6.5操作系统。两台电脑之间通过100ms延迟的网线连接,模拟实际网络;选定其中一台作为源端,另一台作为目的端;分别针对基于Rsync算法的模型和本应用例提供的基于改进的Rsync算法的信息同步模型进行测试,采用Linux平台的网络流量监控工具SAR监控网络流量;同步周期为一小时,同步总数据量为1GB。测试结果如下:
将源端和目的端同步30次的CPU情况进行统计分析,具体结果请参阅图4和图5。通过对比可以发现,本应用例提出的方法源端CPU占用率平均约为9%左右,目的端约为2%左右,而基于Rsync算法的源端占用率平均约为20%左右,目的端约为7%,无论是对于源端和目的端,本应用例提出方法在CPU占用率上均有较大提升,主要是由于改进的Rsync算法减少了精细分块、识别、计算的操作。请参阅图6,根据同步传输过程中传输文件的大小的对比,可以发现,本应用例提出方法实际传输的数据量最小,这是由于改进的Rsync算法只传输差异文件信息,将超大文件进行细分,识别存在差异的文件块,避免了大文件的传输。请参阅图7,根据一次文件同步传输耗时对比,测试带宽范围为512K~64M,可以发现,文件一次同步时间随着带宽的增加而明显减少,在相同带宽下,本应用例的基于改进的Rsync算法的信息同步模型比基于Rsync算法的用时明显改善,其中,在带宽2M时,改善效果最为明显。总之,本应用例中的基于改进的Rsync算法的信息同步模型能有效的减少差异文件块的传输,降低了CPU占用率和同步传输时间,具有较好的改善效果。
为了便于理解,请参阅图3,本申请还提供了一种改进的Rsync装置的实施例,包括:
划分模块301,用于采用预置窗口进行初始块划分,得到初始文件块;
差异计算模块302,用于根据预置编辑距离算法在初始文件块中获取初始差异文件块,并计算初始差异文件块占总初始文件块的比重值;
第一判断模块303,用于若比重值大于预置差异度评价因子,则判断初始文件块是否大于预置块长度,若否,则计算初始文件块的初始强弱校验值,若是,则采用预置固定长度对初始文件块进行第一块划分,得到第一文件块,并计算第一文件块的第一强弱校验值;
第二判断模块304,用于若比重值小于或者等于预置差异度评价因子,则采用预置精分滑动窗口对初始文件块进行第二块划分,得到第二文件块,并计算第二文件块的第二强弱校验值;
差异定位模块305,用于根据求得的强弱校验值获取所有的目标差异文件块,并通过目标差异文件块进行同步传输操作,求得的强弱校验值包括初始强弱校验值、第一强弱校验值和第二强弱校验值,求得的强弱校验值包括弱校验值和强校验值。
进一步地,划分模块301,包括:
滑动子模块3011,用于在初始文件上滑动预置窗口,并计算每个窗口中文件内容对应的指纹值;
划分子模块3012,用于根据满足预置指纹条件的指纹值选取划分边界,进行初始块划分操作,得到初始文件块。
进一步地,差异定位模块305,包括:
判断子模块3051,用于判断当前文件块对应的弱校验值是否与预置弱校验值一致,若是,则当前文件块为第一无差异文件块,若否,则判断当前文件块对应的强校验值是否与预置强校验值一致,若是,则当前文件块为第二无差异文件块,若否,则当前文件块为差异文件块;
传输子模块3052,用于根据差异文件块进行同步传输操作。
进一步地,预置块长度根据标准文件块长度和预置倍数因子配置得到。
为了便于理解,本申请还提供了一种信息同步系统,包括:协同管理模块、文件监控模块、文件更新模块和上述装置实施例中任意一项改进的Rsync装置;
协同管理模块,用于管理和协调文件监控模块、文件更新模块和Rsync装置的工作;
文件监控模块,用于对源端文件块的文件内容进行监控,在文件内容发生变化时,触发Rsync装置,得到差异文件块,并进行同步传输操作;
文件更新模块,用于通过同步传输操作得到的差异文件块对目的端文件块进行差异更新操作。
进一步地,还包括:校验模块和备份模块;
校验模块,用于对系统中的文件块进行校验操作,并将校验结果发送至备份模块;
备份模块,用于缓存系统中的文件内容和校验结果。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种改进的Rsync方法,其特征在于,包括:
采用预置窗口进行初始块划分,得到初始文件块;
根据预置编辑距离算法在所述初始文件块中获取初始差异文件块,并计算所述初始差异文件块占总初始文件块的比重值;
若所述比重值大于预置差异度评价因子,则判断所述初始文件块是否大于预置块长度,若否,则计算所述初始文件块的初始强弱校验值,若是,则采用预置固定长度对所述初始文件块进行第一块划分,得到第一文件块,并计算所述第一文件块的第一强弱校验值;
若所述比重值小于或者等于所述预置差异度评价因子,则采用预置精分滑动窗口对所述初始文件块进行第二块划分,得到第二文件块,并计算所述第二文件块的第二强弱校验值;
根据求得的强弱校验值获取所有的目标差异文件块,并通过所述目标差异文件块进行同步传输操作,所述求得的强弱校验值包括初始强弱校验值、第一强弱校验值和第二强弱校验值,所述求得的强弱校验值包括弱校验值和强校验值。
2.根据权利要求1所述的改进的Rsync方法,其特征在于,所述采用预置窗口进行初始块划分,得到初始文件块,包括:
在初始文件上滑动所述预置窗口,并计算每个窗口中文件内容对应的指纹值;
根据满足预置指纹条件的所述指纹值选取划分边界,进行初始块划分操作,得到所述初始文件块。
3.根据权利要求1所述的改进的Rsync方法,其特征在于,所述根据求得的强弱校验值获取所有的差异文件块,并通过所述差异文件块进行同步传输操作,包括:
判断当前文件块对应的所述弱校验值是否与预置弱校验值一致,若是,则所述当前文件块为第一无差异文件块,若否,则判断所述当前文件块对应的所述强校验值是否与预置强校验值一致,若是,则所述当前文件块为第二无差异文件块,若否,则所述当前文件块为差异文件块;
根据所述差异文件块进行同步传输操作。
4.根据权利要求1所述的改进的Rsync方法,其特征在于,所述预置块长度根据标准文件块长度和预置倍数因子配置得到。
5.一种改进的Rsync装置,其特征在于,包括:
划分模块,用于采用预置窗口进行初始块划分,得到初始文件块;
差异计算模块,用于根据预置编辑距离算法在所述初始文件块中获取初始差异文件块,并计算所述初始差异文件块占总初始文件块的比重值;
第一判断模块,用于若所述比重值大于预置差异度评价因子,则判断所述初始文件块是否大于预置块长度,若否,则计算所述初始文件块的初始强弱校验值,若是,则采用预置固定长度对所述初始文件块进行第一块划分,得到第一文件块,并计算所述第一文件块的第一强弱校验值;
第二判断模块,用于若所述比重值小于或者等于所述预置差异度评价因子,则采用预置精分滑动窗口对所述初始文件块进行第二块划分,得到第二文件块,并计算所述第二文件块的第二强弱校验值;
差异定位模块,用于根据求得的强弱校验值获取所有的目标差异文件块,并通过所述目标差异文件块进行同步传输操作,所述求得的强弱校验值包括初始强弱校验值、第一强弱校验值和第二强弱校验值,所述求得的强弱校验值包括弱校验值和强校验值。
6.根据权利要求5所述的改进的Rsync装置,其特征在于,所述划分模块,包括:
滑动子模块,用于在初始文件上滑动所述预置窗口,并计算每个窗口中文件内容对应的指纹值;
划分子模块,用于根据满足预置指纹条件的所述指纹值选取划分边界,进行初始块划分操作,得到所述初始文件块。
7.根据权利要求5所述的改进的Rsync装置,其特征在于,所述差异定位模块,包括:
判断子模块,用于判断当前文件块对应的所述弱校验值是否与预置弱校验值一致,若是,则所述当前文件块为第一无差异文件块,若否,则判断所述当前文件块对应的所述强校验值是否与预置强校验值一致,若是,则所述当前文件块为第二无差异文件块,若否,则所述当前文件块为差异文件块;
传输子模块,用于根据所述差异文件块进行同步传输操作。
8.根据权利要求5所述的改进的Rsync装置,其特征在于,所述预置块长度根据标准文件块长度和预置倍数因子配置得到。
9.一种信息同步系统,其特征在于,包括协同管理模块、文件监控模块、文件更新模块和权利要求5-8中任意一项改进的Rsync装置;
所述协同管理模块,用于管理和协调所述文件监控模块、所述文件更新模块和所述Rsync装置的工作;
所述文件监控模块,用于对源端文件块的文件内容进行监控,在所述文件内容发生变化时,触发所述Rsync装置,得到差异文件块,并进行同步传输操作;
所述文件更新模块,用于通过同步传输操作得到的所述差异文件块对目的端文件块进行差异更新操作。
10.根据权利要求9所述的信息同步系统,其特征在于,还包括:校验模块和备份模块;
所述校验模块,用于对系统中的文件块进行校验操作,并将校验结果发送至所述备份模块;
所述备份模块,用于缓存系统中的文件内容和所述校验结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010505453.5A CN111651421B (zh) | 2020-06-05 | 2020-06-05 | 一种改进的Rsync方法、装置及信息同步系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010505453.5A CN111651421B (zh) | 2020-06-05 | 2020-06-05 | 一种改进的Rsync方法、装置及信息同步系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651421A true CN111651421A (zh) | 2020-09-11 |
CN111651421B CN111651421B (zh) | 2022-12-23 |
Family
ID=72347315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010505453.5A Active CN111651421B (zh) | 2020-06-05 | 2020-06-05 | 一种改进的Rsync方法、装置及信息同步系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651421B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094443A (zh) * | 2021-05-21 | 2021-07-09 | 珠海金山网络游戏科技有限公司 | 数据同步方法及装置 |
CN113094437A (zh) * | 2021-04-14 | 2021-07-09 | 深圳前海移联科技有限公司 | 一种基于Rsync的区块链状态数据同步方法及系统 |
US20220164311A1 (en) * | 2020-11-23 | 2022-05-26 | Microsoft Technology Licensing, Llc | Weak references of allocated logical clusters |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065098A (zh) * | 2010-12-31 | 2011-05-18 | 网宿科技股份有限公司 | 网络节点之间数据同步的方法和系统 |
CN103379160A (zh) * | 2012-04-25 | 2013-10-30 | 上海咏云信息技术有限公司 | 一种超大文件的差异同步方法 |
CN105208108A (zh) * | 2015-08-31 | 2015-12-30 | 北京奇虎科技有限公司 | Web环境下的文件上传/下载方法及系统、服务器、客户端 |
US20190361792A1 (en) * | 2018-05-23 | 2019-11-28 | Dropbox, Inc. | System for debugging a client synchronization service |
-
2020
- 2020-06-05 CN CN202010505453.5A patent/CN111651421B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065098A (zh) * | 2010-12-31 | 2011-05-18 | 网宿科技股份有限公司 | 网络节点之间数据同步的方法和系统 |
CN103379160A (zh) * | 2012-04-25 | 2013-10-30 | 上海咏云信息技术有限公司 | 一种超大文件的差异同步方法 |
CN105208108A (zh) * | 2015-08-31 | 2015-12-30 | 北京奇虎科技有限公司 | Web环境下的文件上传/下载方法及系统、服务器、客户端 |
US20190361792A1 (en) * | 2018-05-23 | 2019-11-28 | Dropbox, Inc. | System for debugging a client synchronization service |
Non-Patent Citations (1)
Title |
---|
张静等: "一种基于Rsync算法的改进型两轮同步算法", 《数据通信》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220164311A1 (en) * | 2020-11-23 | 2022-05-26 | Microsoft Technology Licensing, Llc | Weak references of allocated logical clusters |
CN113094437A (zh) * | 2021-04-14 | 2021-07-09 | 深圳前海移联科技有限公司 | 一种基于Rsync的区块链状态数据同步方法及系统 |
CN113094437B (zh) * | 2021-04-14 | 2023-10-03 | 深圳前海移联科技有限公司 | 一种基于Rsync的区块链状态数据同步方法及系统 |
CN113094443A (zh) * | 2021-05-21 | 2021-07-09 | 珠海金山网络游戏科技有限公司 | 数据同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111651421B (zh) | 2022-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651421B (zh) | 一种改进的Rsync方法、装置及信息同步系统 | |
CN107038478B (zh) | 路况预测方法及装置、计算机设备与可读介质 | |
CN102955719A (zh) | 疑似内存泄漏的确定方法及装置 | |
CN112765324B (zh) | 一种概念漂移检测方法及装置 | |
CN110287048B (zh) | 数据异常检测方法和装置 | |
CN108446270B (zh) | 电子装置、系统敏感内容的预警方法及存储介质 | |
CN114817651B (zh) | 数据存储方法、数据查询方法、装置和设备 | |
CN110708333B (zh) | 一种位置验证方法以及相关设备 | |
CN112559371A (zh) | 一种自动驾驶测试方法、装置及电子设备 | |
CN115687432A (zh) | 用于监测异常交易数据的方法、设备和介质 | |
CN112988892B (zh) | 一种分布式系统热点数据的管理方法 | |
CN114462350A (zh) | 集成电路芯片验证方法、装置、电子设备及存储介质 | |
CN111539206B (zh) | 一种确定敏感信息的方法、装置、设备及存储介质 | |
CN112905221A (zh) | 一种版本回退方法、装置、电子设备及存储介质 | |
CN113364699B (zh) | 基于多尺度自相似特性的云数据流量管控方法和系统 | |
CN109710285B (zh) | 一种设备升级方法及系统 | |
CN113868254B (zh) | 图数据库中的实体节点去重方法、设备和存储介质 | |
CN113365104B (zh) | 一种视频浓缩方法和装置 | |
CN115293126A (zh) | 大规模文本数据的去重方法及装置、电子设备和存储介质 | |
CN112559465A (zh) | 一种日志压缩方法、装置、电子设备及存储介质 | |
CN111737555A (zh) | 热点关键词的选取方法、设备和存储介质 | |
CN111314268B (zh) | 一种数据包分析方法及装置 | |
CN116339646B (zh) | 飞行试验数据存储方法、装置、设备及存储介质 | |
CN111125258B (zh) | 一种数据同步的方法、客户端、服务端及系统 | |
CN116955454A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |