[發(fā)明專利]一種線程同步方法、系統(tǒng)及介質(zhì)有效
| 申請?zhí)枺?/td> | 202011521685.6 | 申請日: | 2020-12-21 |
| 公開(公告)號: | CN112667374B | 公開(公告)日: | 2023-01-10 |
| 發(fā)明(設(shè)計(jì))人: | 蘭慶元;亓穎 | 申請(專利權(quán))人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50;G06F9/54;G06F11/14;G06F16/178;G06F16/18 |
| 代理公司: | 北京權(quán)智天下知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11638 | 代理人: | 王新愛 |
| 地址: | 215124 江蘇省蘇州*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 線程 同步 方法 系統(tǒng) 介質(zhì) | ||
本發(fā)明公開了一種線程同步方法,包括設(shè)置事件閾值以及rsync的閾值;創(chuàng)建監(jiān)聽進(jìn)程監(jiān)聽并讀取監(jiān)控模式中的事件,將監(jiān)控模式中的事件將寫入事件池中,判斷事件池中事件的數(shù)量是否超過事件閾值;若未超過事件閾值,則不進(jìn)行同步文件系統(tǒng)服務(wù)器中的內(nèi)容;若超過事件閾值,則觸發(fā)多線程調(diào)用進(jìn)程,調(diào)用rsync進(jìn)程,當(dāng)調(diào)用rsync的數(shù)量超過rsync的閾值時,執(zhí)行同步操作,將文件系統(tǒng)服務(wù)器中的內(nèi)容同步web服務(wù)器;通過上述方式,本發(fā)明能夠通過利用Linux內(nèi)核的消息通知機(jī)制inotify,完成了服務(wù)器到客戶端的同步工作,避免了rsync的頻繁操作和啟動過多的rsync線程,減輕服務(wù)器資源消耗。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別是涉及一種線程同步方法、系統(tǒng)及介質(zhì)。
背景技術(shù)
Rsync是運(yùn)維工作中經(jīng)常使用的遠(yuǎn)程數(shù)據(jù)同步工具,可以實(shí)現(xiàn)在多臺主機(jī)中同步傳輸文件,具有安全性高、備份迅速等優(yōu)點(diǎn)。目前現(xiàn)有技術(shù)中,加入了inotify機(jī)制,利用Linux內(nèi)核中的消息通知機(jī)制inotify,通過監(jiān)控文件系統(tǒng)文件屬性的變化,調(diào)動rsync進(jìn)行文件同步。雖然該技術(shù)達(dá)到了實(shí)時同步的效果,但是也存在一些問題,如rsync加inotify是觸發(fā)式更新,每個文件變更觸發(fā)rsync操作,致使rsync頻繁操作,影響帶寬和服務(wù)器性能。
發(fā)明內(nèi)容
本發(fā)明主要解決的技術(shù)問題是現(xiàn)有文件同步觸發(fā)rsync的操作頻繁以及頻繁操作時影響帶寬和服務(wù)器性能。
為解決上述技術(shù)問題,本發(fā)明采用的一個技術(shù)方案是:提供一種線程同步方法,包括:
設(shè)置事件閾值以及rsync的閾值;
創(chuàng)建監(jiān)聽進(jìn)程,監(jiān)聽并讀取監(jiān)控模式中的事件,將所述監(jiān)控模式中的事件寫入事件池中,判斷所述事件池中事件的數(shù)量是否超過所述事件閾值;
若超過所述事件閾值,則觸發(fā)多線程調(diào)用進(jìn)程,調(diào)用rsync,當(dāng)調(diào)用所述rsync的數(shù)量超過所述rsync的閾值時,執(zhí)行同步操作,將文件系統(tǒng)服務(wù)器中的內(nèi)容同步至web服務(wù)器;
若未超過所述事件閾值,則不進(jìn)行同步文件系統(tǒng)服務(wù)器中的內(nèi)容。
進(jìn)一步,所述監(jiān)聽進(jìn)程中設(shè)有儲存機(jī)制和過濾機(jī)制;
所述監(jiān)聽進(jìn)程通過所述儲存機(jī)制將所述監(jiān)控模式中的事件存入事件池中;
所述監(jiān)聽進(jìn)程通過所述過濾機(jī)制創(chuàng)建排除文件、過濾第一時間段內(nèi)產(chǎn)生的過濾事件以及設(shè)置過濾優(yōu)先級。
進(jìn)一步,將所述監(jiān)控模式中的事件存入事件池中的步驟包括:
讀取監(jiān)控模式當(dāng)中的事件;
將所述事件寫入事件池中以及日志文件中;
若事件池中事件的數(shù)量超過事件閾值,則將事件池中的事件發(fā)送至多線程調(diào)用進(jìn)程,清空事件池。
進(jìn)一步,所述監(jiān)控模式中的事件包括文件的創(chuàng)建事件、文件的刪除事件、文件的修改事件、文件的移動事件和文件的屬性變更事件。
進(jìn)一步,所述設(shè)置過濾優(yōu)先級為過濾所述文件的刪除事件之前的事件;所述排除文件為不進(jìn)行同步的文件;
所述過濾事件包括臨時文件和重復(fù)的所述監(jiān)控模式中的事件;所述第一時間段為從監(jiān)聽開始至所述事件池中事件的數(shù)量達(dá)到所述事件閾值的時間。
進(jìn)一步,所述多線程調(diào)用進(jìn)程中包括主模塊進(jìn)程和從模塊進(jìn)程;
所述主模塊進(jìn)程創(chuàng)建子線程組,設(shè)定子線程數(shù)量,接收所述事件池中的事件,給所述子線程分配任務(wù),所述子線程調(diào)用所述rsync執(zhí)行同步操作,執(zhí)行完成后將執(zhí)行結(jié)果寫入日志文件中,進(jìn)行線程回收;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于蘇州浪潮智能科技有限公司,未經(jīng)蘇州浪潮智能科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011521685.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 在多線程處理器中用于高速線程間中斷的方法和設(shè)備
- 一種多線程系統(tǒng)中實(shí)現(xiàn)實(shí)時監(jiān)控各線程狀態(tài)的方法
- 移動終端系統(tǒng)線程池實(shí)現(xiàn)方法及裝置
- 一種基于策略模式的信號發(fā)生器多線程管理方法
- 多線程并發(fā)處理方法和多線程并發(fā)處理系統(tǒng)
- 分布式系統(tǒng)的線程管理方法和裝置
- 線程執(zhí)行方法、裝置、終端及存儲介質(zhì)
- 線程監(jiān)控方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲介質(zhì)
- 一種多核系統(tǒng)中多線程調(diào)度方法、裝置及設(shè)備
- 線程間通信方法、裝置、電子設(shè)備及存儲介質(zhì)





