[发明专利]一种线程同步方法、系统及介质有效
申请号: | 202011521685.6 | 申请日: | 2020-12-21 |
公开(公告)号: | CN112667374B | 公开(公告)日: | 2023-01-10 |
发明(设计)人: | 兰庆元;亓颖 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/54;G06F11/14;G06F16/178;G06F16/18 |
代理公司: | 北京权智天下知识产权代理事务所(普通合伙) 11638 | 代理人: | 王新爱 |
地址: | 215124 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 线程 同步 方法 系统 介质 | ||
本发明公开了一种线程同步方法,包括设置事件阈值以及rsync的阈值;创建监听进程监听并读取监控模式中的事件,将监控模式中的事件将写入事件池中,判断事件池中事件的数量是否超过事件阈值;若未超过事件阈值,则不进行同步文件系统服务器中的内容;若超过事件阈值,则触发多线程调用进程,调用rsync进程,当调用rsync的数量超过rsync的阈值时,执行同步操作,将文件系统服务器中的内容同步web服务器;通过上述方式,本发明能够通过利用Linux内核的消息通知机制inotify,完成了服务器到客户端的同步工作,避免了rsync的频繁操作和启动过多的rsync线程,减轻服务器资源消耗。
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种线程同步方法、系统及介质。
背景技术
Rsync是运维工作中经常使用的远程数据同步工具,可以实现在多台主机中同步传输文件,具有安全性高、备份迅速等优点。目前现有技术中,加入了inotify机制,利用Linux内核中的消息通知机制inotify,通过监控文件系统文件属性的变化,调动rsync进行文件同步。虽然该技术达到了实时同步的效果,但是也存在一些问题,如rsync加inotify是触发式更新,每个文件变更触发rsync操作,致使rsync频繁操作,影响带宽和服务器性能。
发明内容
本发明主要解决的技术问题是现有文件同步触发rsync的操作频繁以及频繁操作时影响带宽和服务器性能。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种线程同步方法,包括:
设置事件阈值以及rsync的阈值;
创建监听进程,监听并读取监控模式中的事件,将所述监控模式中的事件写入事件池中,判断所述事件池中事件的数量是否超过所述事件阈值;
若超过所述事件阈值,则触发多线程调用进程,调用rsync,当调用所述rsync的数量超过所述rsync的阈值时,执行同步操作,将文件系统服务器中的内容同步至web服务器;
若未超过所述事件阈值,则不进行同步文件系统服务器中的内容。
进一步,所述监听进程中设有储存机制和过滤机制;
所述监听进程通过所述储存机制将所述监控模式中的事件存入事件池中;
所述监听进程通过所述过滤机制创建排除文件、过滤第一时间段内产生的过滤事件以及设置过滤优先级。
进一步,将所述监控模式中的事件存入事件池中的步骤包括:
读取监控模式当中的事件;
将所述事件写入事件池中以及日志文件中;
若事件池中事件的数量超过事件阈值,则将事件池中的事件发送至多线程调用进程,清空事件池。
进一步,所述监控模式中的事件包括文件的创建事件、文件的删除事件、文件的修改事件、文件的移动事件和文件的属性变更事件。
进一步,所述设置过滤优先级为过滤所述文件的删除事件之前的事件;所述排除文件为不进行同步的文件;
所述过滤事件包括临时文件和重复的所述监控模式中的事件;所述第一时间段为从监听开始至所述事件池中事件的数量达到所述事件阈值的时间。
进一步,所述多线程调用进程中包括主模块进程和从模块进程;
所述主模块进程创建子线程组,设定子线程数量,接收所述事件池中的事件,给所述子线程分配任务,所述子线程调用所述rsync执行同步操作,执行完成后将执行结果写入日志文件中,进行线程回收;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011521685.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:高温注塑模具热平衡结构
- 下一篇:一种设置有双铲的自动/半自动烹饪设备