一种基于rsync进行实时数据同步的方法及系统技术方案

技术编号:25270398 阅读:19 留言:0更新日期:2020-08-14 23:03
本申请公开了一种基于rsync进行实时数据同步的方法及系统,该方法包括:对文件系统进行实时监控,获取到监控数据;根据所获取的命令设置文件系统的数据同步频率;然后根据该数据同步频率,判断当前文件系统的大小是否小于或等于设定的文件系统阈值;如果是,执行全量同步方式,否则执行增量同步方式。该系统包括:监控模块、频率设定模块、判断模块、全量同步模块和增量同步模块。通过本申请,能够在确保服务端到客户端的及时同步的同时,有效减少服务器的资源占用,避免影响带宽,有利于提高服务器的整体性能。

【技术实现步骤摘要】
一种基于rsync进行实时数据同步的方法及系统
本申请涉及服务器数据传输
,特别是涉及一种基于rsync进行实时数据同步的方法及系统。
技术介绍
在服务器数据传输领域,经常需要在多台主机中同步传输文件,rsync是运维工作中常用的远程数据同步工具。目前,常用的基于rsync进行数据同步的方法,通常是采用rsync+inotify相结合的触发式数据同步。具体地,利用inotify机制,即监控文件系统操作机制实现实时数据监控,当inotify监测到文件系统有变动时,会第一时间触发rsync进行数据同步操作。然而,目前基于rsync进行数据同步的方法中,由于inotify机制的监控结果会实时触发rsync,使得rsync频繁操作,占用大量系统资源,影响带宽和服务器的整体性能。
技术实现思路
本申请提供了一种基于rsync进行实时数据同步的方法及系统,以解决现有技术中的数据同步占用大量系统资源,影响带宽和服务器性能的问题。为了解决上述技术问题,本申请实施例公开了如下技术方案:一种基于rsync进行实时数据同步的方法,所述方法包括:对文件系统进行实时监控,获取监控数据,所述文件系统设置于主服务器中,所述监控数据包括:文件系统的大小、文件属性以及事件文件,所述事件文件用于记录文件系统发生的事件,所述事件包括:修改事件、新增事件、删除事件以及移动事件;根据所获取的命令,设置文件系统的数据同步频率;根据所述数据同步频率,判断当前文件系统的大小是否小于或等于设定的文件系统阈值;如果是,采用全量同步的方式,利用rsync将当前文件系统实时同步至各web服务器中;如果否,采用增量同步的方式,利用rsync将当前文件系统实时同步至各web服务器中。可选地,所述采用全量同步的方式,利用rsync将当前文件系统实时同步至各web服务器中,包括:读取所述监控数据中的事件文件;如果事件文件中的事件为删除事件或者移动事件,记录删除日志;根据所述删除日志,删除web服务器中对应的文件;如果事件文件中的事件为新增事件或者修改事件,排除设定的目录及文件;对排除设定的目录及文件之后的文件系统执行全量目录同步操作。可选地,所述采用增量同步的方式,利用rsync将当前文件系统实时同步至各web服务器中,包括:读取所述监控数据中的事件文件;如果事件文件中的事件为删除事件或者移动事件,记录删除日志;根据所述删除日志,删除web服务器中对应的文件;如果事件文件中的事件为新增事件或者修改事件,根据事件文件筛选并排除重复文件,生成执行文件;利用rsync将执行文件所对应的文件系统内容增量同步至各Web服务器中。可选地,所述文件系统包括:普通量级文件系统和大量级文件系统。可选地,对排除设定的目录及文件之后的文件系统执行全量目录同步操作之后,所述方法还包括:删除当前文件系统监控数据中的事件文件。可选地,利用rsync将执行文件所对应的文件系统内容增量同步至各Web服务器中之后,所述方法还包括:删除执行文件和当前文件系统监控数据中的事件文件。一种基于rsync进行实时数据同步的系统,所述系统包括:监控模块,用于对文件系统进行实时监控,获取监控数据,所述文件系统设置于主服务器中,所述监控数据包括:文件系统的大小、文件属性以及事件文件,所述事件文件用于记录文件系统发生的事件,所述事件包括:修改事件、新增事件、删除事件以及移动事件;频率设定模块,用于根据所获取的命令,设置文件系统的数据同步频率;判断模块,用于根据所述数据同步频率,判断当前文件系统的大小是否小于或等于设定的文件系统阈值;全量同步模块,用于当前文件系统的大小小于或等于设定的文件系统阈值时,采用全量同步的方式,利用rsync将当前文件系统实时同步至各web服务器中;增量同步模块,用于当前文件系统的大小大于设定的文件系统阈值时,采用增量同步的方式,利用rsync将当前文件系统实时同步至各web服务器中。可选地,所述全量同步模块包括:第一读取单元,用于读取所述监控数据中的事件文件;第一记录单元,用于当事件文件中的事件为删除事件或者移动事件时,记录删除日志;第一删除单元,用于根据所述删除日志,删除web服务器中对应的文件;排除单元,用于当事件文件中的事件为新增事件或者修改事件时,排除设定的目录及文件;全量目录同步单元,用于对排除设定的目录及文件之后的文件系统执行全量目录同步操作。可选地,所述增量同步模块包括:第二读取单元,用于读取所述监控数据中的事件文件;第二记录单元,用于当事件文件中的事件为删除事件或者移动事件时,记录删除日志;第二删除单元,用于根据所述删除日志,删除web服务器中对应的文件;执行文件生成单元,用于当事件文件中的事件为新增事件或者修改事件时,根据事件文件筛选并排除重复文件,生成执行文件;增量文件同步单元,用于利用rsync将执行文件所匹配的文件系统同步至各Web服务器中。可选地,所述系统中还包括删除模块,用于将当前文件系统实时同步至各web服务器中之后,删除当前文件系统监控数据中的与事件文件相关的文件。本申请的实施例提供的技术方案可以包括以下有益效果:本申请提供一种基于rsync进行实时数据同步的方法,该方法首先对文件系统进行实时监控,获取到监控数据,其次根据所获取的命令设置文件系统的数据同步频率,然后根据该数据同步频率,判断当前文件系统的大小是否小于或等于设定的文件系统阈值,如果是,执行全量同步方式,否则执行增量同步方式。本实施例对文件系统进行实时监控,并采用设定同步频率的方式,控制rsync定期执行同步操作,既能够实现服务端到客户端的及时同步,又能够减少服务器的资源占用,从而避免影响带宽,有利于提高服务器的整体性能。本实施例还针对不同的文件系统大小采用不同的数据同步方式,文件系统较小时全量同步,文件系统较大时采用增量同步,对发生事件的文件进行抽取,有利于进一步提高数据同步效率。本申请还提供一种基于rsync进行实时数据同步的系统,该系统主要包括监控模块、频率设定模块、判断模块、全量同步模块和增量同步模块。频率设定模块的设置,能够避免rsync被频繁触发,既能够确保服务端到客户端的及时同步,又能够减少服务器的资源占用,从而避免影响带宽,有利于提高服务器的整体性能。通过判断模块对文件系统大小进行判断,从而根据文件系统大小的不同,选择启动全量同步模块或者增量同步模块,数据同步更有针对性,有利于提高数据同步的效率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。本文档来自技高网...

【技术保护点】
1.一种基于rsync进行实时数据同步的方法,其特征在于,所述方法包括:/n对文件系统进行实时监控,获取监控数据,所述文件系统设置于主服务器中,所述监控数据包括:文件系统的大小、文件属性以及事件文件,所述事件文件用于记录文件系统发生的事件,所述事件包括:修改事件、新增事件、删除事件以及移动事件;/n根据所获取的命令,设置文件系统的数据同步频率;/n根据所述数据同步频率,判断当前文件系统的大小是否小于或等于设定的文件系统阈值;/n如果是,采用全量同步的方式,利用rsync将当前文件系统实时同步至各web服务器中;/n如果否,采用增量同步的方式,利用rsync将当前文件系统实时同步至各web服务器中。/n

【技术特征摘要】
1.一种基于rsync进行实时数据同步的方法,其特征在于,所述方法包括:
对文件系统进行实时监控,获取监控数据,所述文件系统设置于主服务器中,所述监控数据包括:文件系统的大小、文件属性以及事件文件,所述事件文件用于记录文件系统发生的事件,所述事件包括:修改事件、新增事件、删除事件以及移动事件;
根据所获取的命令,设置文件系统的数据同步频率;
根据所述数据同步频率,判断当前文件系统的大小是否小于或等于设定的文件系统阈值;
如果是,采用全量同步的方式,利用rsync将当前文件系统实时同步至各web服务器中;
如果否,采用增量同步的方式,利用rsync将当前文件系统实时同步至各web服务器中。


2.根据权利要求1所述的一种基于rsync进行实时数据同步的方法,其特征在于,所述采用全量同步的方式,利用rsync将当前文件系统实时同步至各web服务器中,包括:
读取所述监控数据中的事件文件;
如果事件文件中的事件为删除事件或者移动事件,记录删除日志;
根据所述删除日志,删除web服务器中对应的文件;
如果事件文件中的事件为新增事件或者修改事件,排除设定的目录及文件;
对排除设定的目录及文件之后的文件系统执行全量目录同步操作。


3.根据权利要求1所述的一种基于rsync进行实时数据同步的方法,其特征在于,所述采用增量同步的方式,利用rsync将当前文件系统实时同步至各web服务器中,包括:
读取所述监控数据中的事件文件;
如果事件文件中的事件为删除事件或者移动事件,记录删除日志;
根据所述删除日志,删除web服务器中对应的文件;
如果事件文件中的事件为新增事件或者修改事件,根据事件文件筛选并排除重复文件,生成执行文件;
利用rsync将执行文件所对应的文件系统内容增量同步至各Web服务器中。


4.根据权利要求1所述的一种基于rsync进行实时数据同步的方法,其特征在于,所述文件系统包括:普通量级文件系统和大量级文件系统。


5.根据权利要求2中所述的一种基于rsync进行实时数据同步的方法,其特征在于,对排除设定的目录及文件之后的文件系统执行全量目录同步操作之后,所述方法还包括:
删除当前文件系统监控数据中的事件文件。


6.根据权利要求3所述的一种基于rsync进行实时数据同步的方法,其特征在于,利用rsync将执行文件所对应的文件系统内容增量同步至各Web服务器中之后...

【专利技术属性】
技术研发人员:亓颖
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1