專利名稱:一種監(jiān)控目錄變化事件過(guò)濾方法
技術(shù)領(lǐng)域:
本發(fā)明是一種監(jiān)控目錄變化事件過(guò)濾技術(shù),通常用于基于文件的備份系統(tǒng), 旨在減少增量備份中的文件備份次數(shù)。采用"監(jiān)控目錄變化事件過(guò)濾"技術(shù)可以
將存儲(chǔ)的數(shù)據(jù)縮減為原來(lái)的1/10,從而讓出更多的備份空間,不僅可以使磁盤上
的備份數(shù)據(jù)保存更長(zhǎng)的時(shí)間,而且還可以節(jié)約離線存儲(chǔ)時(shí)所需的大量的帶寬。
背景技術(shù):
存儲(chǔ)空間不足, 一直是IT人員頭痛的事,因?yàn)椴恢皇且碣?gòu)存儲(chǔ)設(shè)備,更要 面臨調(diào)整存儲(chǔ)架構(gòu)后接踵而至的種種設(shè)定工作。這些工作的復(fù)雜繁瑣就不用說(shuō)了, 在擴(kuò)充存儲(chǔ)容量的過(guò)程中,更可能需要停機(jī),這會(huì)嚴(yán)重影響到企業(yè)的正常營(yíng)運(yùn)。
企業(yè)為了保護(hù)數(shù)據(jù)必須定期執(zhí)行數(shù)據(jù)備份,這是數(shù)據(jù)快速累積的原因之一。 尤其現(xiàn)今有些企業(yè)開始先備份到速度較快的磁盤,再逐次備份至磁帶等設(shè)備,對(duì) 于必須趕在當(dāng)日下班至隔日上班前完成大量備份的企業(yè)而言,磁盤備份是個(gè)好方 法,備份快、回復(fù)也快,但磁盤備份無(wú)疑會(huì)加速磁盤空間的消耗。
一般來(lái)說(shuō)企業(yè)應(yīng)用中有大量的文件和郵件,如果每次備份都將所有文件和數(shù) 據(jù)進(jìn)行一次全備份,那將需要非常大的存儲(chǔ)空間?;谶@個(gè)原因業(yè)界一般釆用增 量備份和差異備份的方式。差量備份(differential backup)不會(huì)在備份完成后 清除歸檔塊,而增量備份會(huì)在完成后清除歸檔塊,這樣就能避免有些文件不必要 地再次被備份。使用歸檔塊還能使用戶真實(shí)地査看到那些文件需要備份。
無(wú)論是增量備份還是差量備份都遇到同樣的一個(gè)問(wèn)題,對(duì)于普通用戶而言, 我們常常實(shí)時(shí)備份我們的辦公文件,尤其是doc、 ppt文件,也就是說(shuō)對(duì)于類似 doc、 ppt文件每次修改都希望能備份一個(gè)版本,以便萬(wàn)一有了問(wèn)題之后能夠及時(shí) 的找回歷史版本。文件目錄就為此實(shí)現(xiàn),只要用戶指定了被保護(hù)目錄,只有目錄 中的文件發(fā)生了變化才會(huì)進(jìn)行數(shù)據(jù)保護(hù)。但遇到的問(wèn)題時(shí),操作系統(tǒng)往往在一個(gè) 文件變化之后,產(chǎn)生了往往不止一個(gè)事件通知,有時(shí)候高達(dá)十幾個(gè),如果根據(jù)這 些事件通知,可能需要備份十幾次文件,顯然不論從效率還是從磁盤空間使用率 來(lái)考慮都是巨大的問(wèn)題。
通常用于基于文件的備份系統(tǒng),旨在減少增量備份中的文件備份次數(shù)。釆用 "監(jiān)控目錄變化事件過(guò)濾"技術(shù)可以將存儲(chǔ)的數(shù)據(jù)縮減為原來(lái)的1/10,從而讓出 更多的備份空間,不僅可以使磁盤上的備份數(shù)據(jù)保存更長(zhǎng)的時(shí)間,而且還可以節(jié) 約離線存儲(chǔ)時(shí)所需的大量的帶寬。因此,如何提供一種方法,使其解決文件變化時(shí),只備份一次變化的文件而 不是備份每次事件變化的文件是目前數(shù)據(jù)急劇增加面臨的挑戰(zhàn)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種監(jiān)控目錄變化事件過(guò)濾方法。
本發(fā)明的方法是按以下方式實(shí)現(xiàn)的,系統(tǒng)體系結(jié)構(gòu)包括文件監(jiān)控事件模塊 (1)、文件攔截器模塊(2)、事件攔截器模塊(3)、文件拷貝模塊(4)各模 塊的作用和處理歩驟如下
文件監(jiān)控事件模塊(1)為了保護(hù)指定的文件目錄,通常先指定保護(hù)的文件目錄 將它添加到文件監(jiān)控列表中,文件監(jiān)控事件模塊(1)啟動(dòng)對(duì)此目錄進(jìn)行監(jiān)控之后會(huì) 實(shí)時(shí)監(jiān)控目錄下任何文件的變化,此目錄下文件被添加、刪除、修改都會(huì)觸發(fā)文 件監(jiān)控器,根據(jù)文件變化的事件,通知到文件保護(hù)模塊,從而可以進(jìn)行文件備份, 以實(shí)現(xiàn)文件保護(hù)的目的。 .
文件攔截器模塊(2)—個(gè)文件經(jīng)過(guò)修改之后,往往會(huì)產(chǎn)生好幾個(gè)事件,有的文 件在修改的過(guò)程中會(huì)產(chǎn)生很多臨時(shí)文件,比如編輯一個(gè)Word doc文件會(huì)產(chǎn)生很多 臨時(shí)的以.tmp結(jié)尾的臨時(shí)文件。并且這些臨時(shí)文件是不斷變化的,每一次變化會(huì) 產(chǎn)生多個(gè)文件變化事件。文件攔截器模塊(2)會(huì)根據(jù)文件類型,將產(chǎn)生的事件通過(guò) 過(guò)濾,只將真實(shí)文件變化的事件傳遞,對(duì)于臨時(shí)文件產(chǎn)生的事件通知全部屏蔽。
事件攔截器模塊(3)—個(gè)文件修改可能會(huì)產(chǎn)生三次文件改變的事件,如果不進(jìn) 行處理,備份模塊會(huì)將此文件備份三次,而實(shí)際上只需要備份一次即可。事件攔 截器模塊(3)將接收的文件改變事件先放到事件過(guò)濾模塊緩存,通過(guò)設(shè)置一定的時(shí) 間將此文件的變化事件全部都接收下來(lái),然后過(guò)濾掉重復(fù)的事件,從而減少事件 的觸發(fā),保證文件保護(hù)的效率。
文件拷貝模塊(4)根據(jù)事件攔截器模塊(3)發(fā)送過(guò)來(lái)的文件事件變化,將變化 的文件備份到保護(hù)目錄中。
本發(fā)明的有益效果是通常用于基于文件的備份系統(tǒng),旨在減少增量備份中的 文件備份次數(shù)。采用"監(jiān)控目錄變化事件過(guò)濾"方法可以將存儲(chǔ)的數(shù)據(jù)縮減為原 來(lái)的1/10,從而讓出萆多p備份空間,不僅可以使磁盤上的備份數(shù)據(jù)保存更長(zhǎng)的 時(shí)間,而且還可以節(jié)f,離ri存儲(chǔ)時(shí)所需的大量的帶寬。
假設(shè)在用戶使用中,鄭果一個(gè)某個(gè)目錄的文件被修改了 100次,如果按照傳 統(tǒng)的備份方法,將收到將近1000個(gè)事件通知,也就是說(shuō),此文件可能被備份了.100 次,也就是這個(gè)文件產(chǎn)生了 1000個(gè)文件版本,實(shí)際上真中絕大部分都是重復(fù)的版 本,而采用這種監(jiān)控目錄變化事件過(guò)濾技術(shù),只會(huì)產(chǎn)生100次的數(shù)據(jù)備份,與用 戶使用的次數(shù)是完全吻合的。特別是基于網(wǎng)絡(luò)備份的話,將大大減少網(wǎng)絡(luò)帶寬的 占用,從而極大的提供了備份效率。
因此,釆用本發(fā)明的方法,使其應(yīng)用在數(shù)據(jù)備份系統(tǒng)中,能夠增加磁盤備份利用率,節(jié)約備份空間從而應(yīng)對(duì)數(shù)據(jù)急劇增加面臨的挑戰(zhàn)。
附圖l正常監(jiān)控到目錄事件變化數(shù)量圖; 附圖2采用過(guò)濾技術(shù)監(jiān)控到目錄事件變化數(shù)量圖; 附圖3采用過(guò)濾技術(shù)模塊的結(jié)構(gòu)圖。
具體實(shí)施例方式
下面參照附圖,對(duì)本發(fā)明的內(nèi)容以一個(gè)具體實(shí)例來(lái)描述實(shí)現(xiàn)這一體系結(jié)構(gòu)的 過(guò)程。
文件監(jiān)控事件模塊(1)為了保護(hù)指定的文^^目錄,通常先指定保護(hù)的文件目錄 將它添加到文件監(jiān)控列表中,文件監(jiān)控事件模塊(1)啟動(dòng)對(duì)此目錄進(jìn)行監(jiān)控之后會(huì) 實(shí)時(shí)監(jiān)控目錄下任何文件的變化,此目錄下文件被添加、刪除、修改都會(huì)觸發(fā)文 件監(jiān)控器,根據(jù)文件變化的事件,通知到文件保護(hù)模塊,從而可以進(jìn)行文件備份, 以實(shí)現(xiàn)文件保護(hù)的目的。
文件攔截器模塊(2)—個(gè)文件經(jīng)過(guò)修改之后,往往會(huì)產(chǎn)生好幾個(gè)事件,有的文 件在修改的過(guò)程中會(huì)產(chǎn)生很多臨時(shí)文件,比如編輯一個(gè)Word doc文件會(huì)產(chǎn)生很多 臨時(shí)的以.tmp結(jié)尾的臨時(shí)文件。并且這些臨時(shí)文件是不斷變化的,每一次變化會(huì) 產(chǎn)生多個(gè)文件變化事件。文件攔截器模塊(2)會(huì)根據(jù)文件類型,將產(chǎn)生的事件通過(guò) 過(guò)濾,只將真實(shí)文件變化的事件傳遞,對(duì)于臨時(shí)文件產(chǎn)生的事件通知全部屏蔽。
事件攔截器模塊(3) —個(gè)文件修改可能會(huì)產(chǎn)生三次文件改變的事件,如果不進(jìn) 行處理,備份模塊會(huì)將此文件備份三次,而實(shí)際上只需要備份一次即可。事件攔 截器模塊(3)將接收的文件改變事件先放到事件過(guò)濾模塊緩存,通過(guò)設(shè)置一定的時(shí) 間將此文件的變化事件全部都接收下來(lái),然后過(guò)濾掉重復(fù)的事件,從而減少事件 的觸發(fā),保證文件保護(hù)的效率。
文件拷貝模塊(4)根據(jù)事件攔截器模塊(3)發(fā)送過(guò)來(lái)的文件事件變化,將變化 的文件備份到保護(hù)目錄中。
在文件攔截器模塊(2)體系結(jié)構(gòu)中,包含事件過(guò)濾模塊,事件過(guò)濾模塊為每一 個(gè)文件事件生成唯一的HASH散列,當(dāng)下次文件事件變化與這次的HASH散列一致 時(shí),表示兩個(gè)事件通知是相同的,則只保留一個(gè)。從而保證單個(gè)文件事件通知的 唯一性。
在文件攔截器模塊(2)體系結(jié)構(gòu)中.,包含一個(gè)定時(shí)模塊,針對(duì)每一個(gè)文件的事 件變化設(shè)置一個(gè)間隔,當(dāng)接收到第一個(gè)事件通知時(shí)定時(shí)啟動(dòng),當(dāng)時(shí)間完成,比較 這個(gè)文件所有接收到的事件通知,并且將去重后的事件通知轉(zhuǎn)發(fā)到文件拷貝模塊 (4)。
實(shí)施例 '
在附圖1中,描述的是一個(gè)文件經(jīng)過(guò)修改,將會(huì)產(chǎn)生多個(gè)文件變化的事件通知,其中實(shí)線表示的是被保護(hù)文件產(chǎn)生的時(shí)間通知,比如可能產(chǎn)生了三次的文件
變化(change)事件,虛線表示的是被保護(hù)文件產(chǎn)生的臨時(shí)文件也會(huì)產(chǎn)生多少事件 通知。比如word文檔編輯時(shí)會(huì)產(chǎn)生多個(gè)臨時(shí)文件,每個(gè)臨時(shí)文件都會(huì)產(chǎn)生若干過(guò) 文件變化事件通知,從圖一可以看出,如果不進(jìn)行處理,最后文件備份的時(shí)候, 將會(huì)將此文件備份很多次,而實(shí)際上只需要備份一次。
在附圖2中,可以看出和附圖1的流程相比,經(jīng)過(guò)文件攔截器和事件攔截器 兩次事件過(guò)濾之后,修改一次的文件事件通知將大大的減少, 一般為每修改一次, 只產(chǎn)生一次事件通知,其它多余的事件通知都被過(guò)濾掉了 。
至此,已經(jīng)完整實(shí)現(xiàn)了整個(gè)基于目錄監(jiān)控事件過(guò)濾的數(shù)據(jù)備份的過(guò)程,這種技 術(shù)與傳統(tǒng)的重增量備份技術(shù)不一樣之處在于引入了監(jiān)控文件變化事件過(guò)濾,而不 僅僅是考慮文件是否發(fā)生了變化。
因此采用這種技術(shù),使其應(yīng)用在數(shù)據(jù)備份系統(tǒng)中,能夠增加磁盤備份利用率, 節(jié)約備份空間從而應(yīng)對(duì)數(shù)據(jù)急劇增加面臨的挑戰(zhàn)。
權(quán)利要求
1、一種監(jiān)控目錄變化事件過(guò)濾方法,其特征在于,,該系統(tǒng)體系結(jié)構(gòu)包括文件監(jiān)控事件模塊(1)、文件攔截器模塊(2)、事件攔截器模塊(3)、文件拷貝模塊(4),各模塊的作用及處理步驟如下文件監(jiān)控事件模塊(1)為了保護(hù)指定的文件目錄,通常先指定保護(hù)的文件目錄將它添加到文件監(jiān)控列表中,文件監(jiān)控事件模塊(1)啟動(dòng)對(duì)此目錄進(jìn)行監(jiān)控之后會(huì)實(shí)時(shí)監(jiān)控目錄下任何文件的變化,此目錄下文件被添加、刪除、修改都會(huì)觸發(fā)文件監(jiān)控器,根據(jù)文件變化的事件,通知到文件保護(hù)模塊,進(jìn)行文件備份,以實(shí)現(xiàn)文件保護(hù)的目的;文件攔截器模塊(2),一個(gè)文件經(jīng)過(guò)修改之后,往往會(huì)產(chǎn)生好幾個(gè)事件,有的文件在修改的過(guò)程中會(huì)產(chǎn)生很多臨時(shí)文件,并且這些臨時(shí)文件是不斷變化的,每一次變化會(huì)產(chǎn)生多個(gè)文件變化事件。文件攔截器模塊(2)會(huì)根據(jù)文件類型,將產(chǎn)生的事件通過(guò)過(guò)濾,只將真實(shí)文件變化的事件傳遞,對(duì)于臨時(shí)文件產(chǎn)生的事件通知全部屏蔽;事件攔截器模塊(3),一個(gè)文件修改會(huì)產(chǎn)生三次文件改變的事件,不進(jìn)行處理,備份模塊會(huì)將此文件備份三次,而實(shí)際上只需要備份一次即可,事件攔截器模塊(3)將接收的文件改變事件先放到事件過(guò)濾模塊緩存,通過(guò)設(shè)置一定的時(shí)間將此文件的變化事件全部都接收下來(lái),然后過(guò)濾掉重復(fù)的事件,從而減少事件的觸發(fā),保證文件保護(hù)的效率;文件拷貝模塊(4)根據(jù)事件攔截器模塊(3)發(fā)送過(guò)來(lái)的文件事件變化,將變化的文件備份到保護(hù)目錄中。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,在事件攔截器模塊(4)的結(jié)構(gòu) 中,包含事件過(guò)濾模塊,事件過(guò)濾模塊為每一個(gè)文件事件生成唯一的HASH散列, 當(dāng)下次文件事件變化與這次的HASH散列一致時(shí),表示兩個(gè)事件通知是相同的,則 只保留一個(gè),從而保證單個(gè)文件事件通知的唯一性。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,事件攔截器模塊(4)的體系結(jié) 構(gòu)中,.包含一個(gè)定時(shí)模塊,針對(duì)每一個(gè)文件的事件變化設(shè)置一個(gè)間隔,當(dāng)接收到 第一個(gè)事件通知時(shí)定時(shí)啟動(dòng),當(dāng)時(shí)間完成,比較送個(gè)文件所有接收到的事件通知, 并且將去重后的事件通知轉(zhuǎn)發(fā)到文件拷貝模塊(4)。 ''
全文摘要
本發(fā)明提供一種監(jiān)控目錄變化事件過(guò)濾方法,系統(tǒng)包括文件監(jiān)控事件模塊、文件攔截器模塊、事件攔截器模塊、文件拷貝模塊各模塊的作用和處理步驟如下文件監(jiān)控事件模塊為了保護(hù)指定的文件目錄,通常先指定保護(hù)的文件目錄將它添加到文件監(jiān)控列表中,文件監(jiān)控事件模塊(1)啟動(dòng)對(duì)此目錄進(jìn)行監(jiān)控之后會(huì)實(shí)時(shí)監(jiān)控目錄下任何文件的變化,此目錄下文件被添加、刪除、修改都會(huì)觸發(fā)文件監(jiān)控器,根據(jù)文件變化的事件,通知到文件保護(hù)模塊,從而可以進(jìn)行文件備份,以實(shí)現(xiàn)文件保護(hù)的目的。采用本發(fā)明的方法,使其應(yīng)用在數(shù)據(jù)備份系統(tǒng)中,能夠增加磁盤備份利用率,節(jié)約備份空間從而應(yīng)對(duì)數(shù)據(jù)急劇增加面臨的挑戰(zhàn)。特別是基于網(wǎng)絡(luò)備份的話,將大大減少網(wǎng)絡(luò)帶寬的占用,從而極大的提供了備份效率。
文檔編號(hào)G06F17/30GK101604268SQ20091001677
公開日2009年12月16日 申請(qǐng)日期2009年7月13日 優(yōu)先權(quán)日2009年7月13日
發(fā)明者劉正偉 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司