[發(fā)明專利]一種文件系統(tǒng)變化的探測方法、探測裝置及相應(yīng)電子設(shè)備在審
| 申請?zhí)枺?/td> | 201310376898.8 | 申請日: | 2013-08-26 |
| 公開(公告)號: | CN104424234A | 公開(公告)日: | 2015-03-18 |
| 發(fā)明(設(shè)計(jì))人: | 袁志俊;禹揚(yáng)帆 | 申請(專利權(quán))人: | 阿里巴巴集團(tuán)控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F11/30 |
| 代理公司: | 北京安信方達(dá)知識產(chǎn)權(quán)代理有限公司 11262 | 代理人: | 龍洪;栗若木 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 文件系統(tǒng) 變化 探測 方法 裝置 相應(yīng) 電子設(shè)備 | ||
技術(shù)領(lǐng)域
本申請涉及文件管理,更具體地,涉及一種文件系統(tǒng)變化的探測方法、探測裝置及相應(yīng)的電子設(shè)備。
背景技術(shù)
在許多系統(tǒng)開發(fā)中經(jīng)常會需要探測或者感知文件(本申請中的“文件”指計(jì)算機(jī)系統(tǒng)保存數(shù)據(jù)的物理單元,包括通常所說的文件和目錄)的變化,比如在監(jiān)控系統(tǒng)中需要感知機(jī)器上日志文件的變化(如尺寸、文件名和最后修改時間等),從而觸發(fā)做進(jìn)一步的處理。通常做法是使用輪詢的方式來探測文件變化,如通過一個守護(hù)線程按照一定的頻率掃描文件的元數(shù)據(jù)信息,然后對記錄的上一次的信息和本次獲取的信息做比較,判斷文件的變化。但是因?yàn)樵摲桨覆捎靡欢ǖ闹芷陬l率來執(zhí)行文件信息的采集,那么輪詢間隔中發(fā)生的變化可能會被忽略,這會導(dǎo)致文件處理的錯誤。
Linux內(nèi)核提供了一種稱為Inotify的文件系統(tǒng)變化通知機(jī)制,在Andorid系統(tǒng)上有基于Inotify的系統(tǒng)內(nèi)核監(jiān)聽實(shí)現(xiàn),可以實(shí)時探測出文件變化,但該實(shí)現(xiàn)方案只能基于Android手機(jī),不適用于其他系統(tǒng)平臺。而且,該方案在一個應(yīng)用的多個處理模塊需要同時監(jiān)控不同文件時,也只能創(chuàng)建一個Inotify實(shí)例,如果這些文件同時發(fā)生變化,Inotify實(shí)例只能將把多個事件混合報出,應(yīng)用還需要為不同處理模塊過濾和分發(fā)事件,線程監(jiān)控模型非常低效。
發(fā)明內(nèi)容
本申請實(shí)施例要解決的技術(shù)問題是提供一種更高效的文件系統(tǒng)變化的探測方法和探測裝置。
為了解決上述問題,本申請?zhí)峁┝艘环N文件系統(tǒng)變化的探測方法,包括:
基于當(dāng)前操作系統(tǒng)內(nèi)核的文件系統(tǒng)變化通知機(jī)制,偵聽內(nèi)核在監(jiān)視實(shí)例上監(jiān)視到文件操作事件時發(fā)出的通知;
偵聽到內(nèi)核的所述通知后,讀取內(nèi)核緩存的第一事件結(jié)構(gòu),所述第一事件結(jié)構(gòu)中封裝有文件操作事件的文件操作信息;
根據(jù)配置的對文件操作信息的過濾條件對待選事件結(jié)構(gòu)進(jìn)行過濾,將符合過濾條件的待選事件結(jié)構(gòu)上報,其中,所述待選事件結(jié)構(gòu)為所述第一事件結(jié)構(gòu)或?qū)λ龅谝皇录Y(jié)構(gòu)做格式變換得到的統(tǒng)一的第二事件結(jié)構(gòu)。
較佳地,
所述過濾條件包括時間敏感度的過濾條件,所述待選事件結(jié)構(gòu)中的文件操作信息包含事件類型和事件發(fā)生時間信息;
根據(jù)配置的所述過濾條件對待選事件結(jié)構(gòu)進(jìn)行過濾,包括:上報一待選事件結(jié)構(gòu)后,緩存其中的事件類型和事件發(fā)生時間信息,對一待選事件結(jié)構(gòu)進(jìn)行過濾時,如其中的事件發(fā)生時間距離最近一次上報的同類事件的發(fā)生時間超過設(shè)置的時長閾值,則該待選事件結(jié)構(gòu)符合時間敏感度的過濾條件,否則丟棄該待選事件結(jié)構(gòu)。
較佳地,
所述過濾條件包括文件大小變化敏感度的過濾條件,所述待選事件結(jié)構(gòu)中的文件操作信息包含事件類型和文件大小信息;
根據(jù)配置的所述過濾條件對待選事件結(jié)構(gòu)進(jìn)行過濾,包括:緩存所述待選事件結(jié)構(gòu)中的事件類型和文件大小信息,上報一待選事件結(jié)構(gòu)之后,每次對同類事件的待選事件結(jié)構(gòu)進(jìn)行過濾時,對本次事件相對于上次事件的文件大小變化量進(jìn)行累計(jì),如累計(jì)值超過設(shè)置的變化量閾值,則該待選事件結(jié)構(gòu)符合文件大小變化敏感度的過濾條件,否則丟棄該待選事件結(jié)構(gòu)。
較佳地,
所述過濾條件包括事件類型的過濾條件,所述待選事件結(jié)構(gòu)中的文件操作信息包含事件類型信息;
根據(jù)配置的所述過濾條件對待選事件結(jié)構(gòu)進(jìn)行過濾,包括:對待選事件結(jié)構(gòu)進(jìn)行過濾時,如該待選事件結(jié)構(gòu)對應(yīng)的事件類型屬于配置文件中配置的需要監(jiān)視的事件類型,則該待選事件結(jié)構(gòu)符合事件類型的過濾條件,否則丟棄該待選事件結(jié)構(gòu)。
較佳地,
所述基于當(dāng)前操作系統(tǒng)內(nèi)核的文件系統(tǒng)變化通知機(jī)制,偵聽內(nèi)核在監(jiān)視實(shí)例上監(jiān)視到文件操作事件時發(fā)出的通知之前,還包括:
在應(yīng)用中存在對文件系統(tǒng)變化有不同的探測需求且需要同時進(jìn)行探測的多個處理模塊時,為其中的每一處理模塊創(chuàng)建一監(jiān)視實(shí)例,且對不同的監(jiān)視實(shí)例,使用不同的進(jìn)程執(zhí)行探測。
較佳地,
所述將符合過濾條件的待選事件結(jié)構(gòu)上報,包括:將符合過濾條件的待選事件結(jié)構(gòu)寫入一阻塞隊(duì)列,然后喚醒應(yīng)用中相應(yīng)的處理模塊。
較佳地,
所述待選事件結(jié)構(gòu)是所述第二事件結(jié)構(gòu),對所述第一事件結(jié)構(gòu)做格式變換得到統(tǒng)一的第二事件結(jié)構(gòu),包括:
讀取內(nèi)核緩存的第一事件結(jié)構(gòu)之后,根據(jù)當(dāng)前操作系統(tǒng)的類型對所述第一事件結(jié)構(gòu)進(jìn)行相應(yīng)解析,解析得到的文件操作信息重新封裝為統(tǒng)一的第二事件結(jié)構(gòu)。
相應(yīng)地,本申請還提供了一種文件系統(tǒng)變化的探測裝置,包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團(tuán)控股有限公司,未經(jīng)阿里巴巴集團(tuán)控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310376898.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)





