一种线程同步方法、系统及介质技术方案

技术编号:28125904 阅读:42 留言:0更新日期:2021-04-19 11:40
本发明专利技术公开了一种线程同步方法,包括设置事件阈值以及rsync的阈值;创建监听进程监听并读取监控模式中的事件,将监控模式中的事件将写入事件池中,判断事件池中事件的数量是否超过事件阈值;若未超过事件阈值,则不进行同步文件系统服务器中的内容;若超过事件阈值,则触发多线程调用进程,调用rsync进程,当调用rsync的数量超过rsync的阈值时,执行同步操作,将文件系统服务器中的内容同步web服务器;通过上述方式,本发明专利技术能够通过利用Linux内核的消息通知机制inotify,完成了服务器到客户端的同步工作,避免了rsync的频繁操作和启动过多的rsync线程,减轻服务器资源消耗。减轻服务器资源消耗。减轻服务器资源消耗。

【技术实现步骤摘要】
一种线程同步方法、系统及介质


[0001]本专利技术涉及计算机应用
,特别是涉及一种线程同步方法、系统及介质。

技术介绍

[0002]Rsync是运维工作中经常使用的远程数据同步工具,可以实现在多台主机中同步传输文件,具有安全性高、备份迅速等优点。目前现有技术中,加入了inotify机制,利用Linux内核中的消息通知机制inotify,通过监控文件系统文件属性的变化,调动rsync进行文件同步。虽然该技术达到了实时同步的效果,但是也存在一些问题,如rsync加inotify是触发式更新,每个文件变更触发rsync操作,致使rsync频繁操作,影响带宽和服务器性能。

技术实现思路

[0003]本专利技术主要解决的技术问题是现有文件同步触发rsync的操作频繁以及频繁操作时影响带宽和服务器性能。
[0004]为解决上述技术问题,本专利技术采用的一个技术方案是:提供一种线程同步方法,包括:
[0005]设置事件阈值以及rsync的阈值;
[0006]创建监听进程,监听并读取监控模式中的事件,将所述监控模本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种线程同步方法,其特征在于,包括以下步骤:设置事件阈值以及rsync的阈值;创建监听进程,监听并读取监控模式中的事件,将所述监控模式中的事件写入事件池中,判断所述事件池中事件的数量是否超过所述事件阈值;若超过所述事件阈值,则触发多线程调用进程,调用rsync,当调用所述rsync的数量超过所述rsync的阈值时,执行同步操作,将文件系统服务器中的内容同步至web服务器;若未超过所述事件阈值,则不进行同步文件系统服务器中的内容。2.根据权利要求1所述的一种线程同步方法,其特征在于:所述监听进程中设有储存机制和过滤机制;所述监听进程通过所述储存机制将所述监控模式中的事件存入事件池中;所述监听进程通过所述过滤机制创建排除文件、过滤第一时间段内产生的过滤事件以及设置过滤优先级。3.根据权利要求2所述的一种线程同步方法,其特征在于:将所述监控模式中的事件存入事件池中的步骤包括:读取监控模式当中的事件;将所述事件写入事件池中以及日志文件中;若事件池中事件的数量超过事件阈值,则将事件池中的事件发送至多线程调用进程,清空事件池。4.根据权利要求2或3所述的一种线程同步方法,其特征在于:所述监控模式中的事件包括文件的创建事件、文件的删除事件、文件的修改事件、文件的移动事件和文件的属性变更事件。5.根据权利要求4所述的一种线程同步方法,其特征在于:所述设置过滤优先级为过滤所述文件的删除事件之前的事件;所述排除文件为不进行同步的文件;所述过滤事件包括临时文件和重复的所述监控模式中的事件;所述第一时间段为从监听开始至所述事件池中事件的数量达到所述事件阈值的时间。6.根据权利要求1所述的一种线程同步方法,其特征在于:所述多线程调用进程中包括主模块进程和从模块进程;所述主模块进程创建子线程组,设定子线程数量,接收所述事件池中的事件,给所述子线程分配任务,所述子线程调用所述rsync执行同步...

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

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

1