新四季網

一種實現對文件變化區域監視的方法

2023-06-26 11:36:46

專利名稱:一種實現對文件變化區域監視的方法
技術領域:
本發明涉及計算機技術領域,更確切地說是涉及計算機技術領域中的一種實現對文件變化區域監視的方法。
背景技術:
Windows作業系統是現在最常見的微機作業系統,用戶在使用基於Windows作業系統的計算機時,如果需要對某些數據進行實時備份,則通常採用的方法是啟動線程,通過線程監視以實現文件備份。在實現文件備份時,線程監視文件的方法很簡單,通過比較文件的大小、修改時間等簡單的屬性監視該文件是否改變,如果改變了,則備份該文件。
通過線程進行文件備份實現起來非常簡單,但是,由於線程只對文件的大小、修改時間等簡單的屬性進行監視和比較,而不知道文件具體是哪個區域有了變化,因此需要備份整個文件,這樣需要佔用很大的硬碟空間,且對整個文件進行備份需要花費較長的時間,在備份資料庫文件等大型文件時這個問題更為突出。所以說,現有的線程對文件監視的方法不是一個好的監視方法,無法實現對文件的變化區域的監視。

發明內容
有鑑於此,本發明的主要目的在於提供一種實現文件變化區域監視的方法,使在文件發生變化時,能夠得知文件改變的具體區域。
為達到以上目的,本發明的技術方案是這樣實現的一種實現對文件變化區域監視的方法,該方法包括以下步驟a.獲取I/O管理器創建的、與文件對應的I/O請求包(IRP);
b.記錄IRP中該文件的文件名及文件變化區域信息。
所述步驟b之前進一步包括,b』.根據IRP中的記錄信息判斷該文件是否滿足預先設置的文件處理規則,如果滿足,則進入步驟b,否則,將IRP通過過濾器設備對象(Filter DO)提交給卷設備對象(VDO)。
所述文件處理規則包括處理修改、創建和刪除的文件。
所述文件處理規則從上層應用程式獲得,則所述步驟b進一步包括,生成包含文件變化區域的通知消息,並發送給該上層應用程式。
所述步驟b中進一步包括,b」.建立跟蹤數據結構;所述IRP中的文件名及文件變化區域信息保存在該跟蹤數據結構中。
所述步驟b」建立的跟蹤數據結構中進一步包括文件的變化類型,則將IRP中的文件變化類型信息保存在該跟蹤數據結構中。
所述跟蹤數據結構中進一步包括文件的變化區域結構鍊表指針,則將IRP中的文件的變化區域結構鍊表指針保存在該跟蹤數據結構中。
所述步驟b」之前進一步包括,b」1.判斷是否存在該文件對應的跟蹤數據結構,如果有,則直接更新該跟蹤數據結構中的信息,否則,返回步驟b」。
所述步驟b中記錄的文件變化區域包括文件變化的起始位置和修改大小信息。
本發明方案通過設置跟蹤數據結構、對IRP進行分析,並將IRP中的信息保存在跟蹤數據結構中,實現了對文件變化區域的監視。並且由於本發明對文件變化區域監視的過程不能由用戶直接操作,因此可以避免在通過線程對文件進行監視時由於用戶的誤操作或作業系統錯誤導致監視出現遺漏的問題。
應用本發明方法還可以使對文件進行實時備份時,只備份文件的變化區域,提高備份文件的速度,並節省硬碟的空間。


圖1為Windows根據用戶訪問請求作處理的過程示意圖;圖2為本發明實施例中監視驅動程序實現監視文件的流程圖;圖3為本發明實施例中利用監視驅動程序實現文件備份的流程圖。
具體實施例方式
下面結合附圖及具體實施例對本發明方法作進一步詳細的說明。
首先對與本發明方案相關的技術作一個簡單介紹。
Windows作業系統可以支持包括FAT、FAT32、NTFS、CDFS等眾多不同類的文件系統。在Windows中,用戶實現對這些文件系統對應文件的訪問,包括創建、打開、讀寫、刪除等操作,都是在I/O管理器的控制下,由與文件相關的文件系統驅動程序協同工作完成的,其中,文件系統驅動程序建立的設備對象包括控制設備對象(CDO)、卷設備對象(VDO)和過濾器設備對象(Filter DO),其中Filter DO又可以分為上層Filter DO,中層Filter DO和下層Filter DO。Windows根據用戶訪問請求作處理的過程參見圖1,具體來說,用戶首先向Windows發送對文件的訪問信息,Windows得到該消息後,啟動Windows API訪問該文件對應的文件系統,Windows API向I/O管理器發送相關的消息,I/O管理器創建該文件對應的IRP,該IRP中包括該文件的文件名、被訪問的區域及需要作的處理等,並將該IRP依次發送到Filter DO和VDO,由VDO對IRP進行處理,最終轉變為對硬碟邏輯扇區的訪問請求。
本發明方案即在I/O管理器和VDO之間的Filter DO中創建一個用於監視文件的監視驅動程序,Filter DO中可以分為三層,該監視驅動程序可以放置在任何一層。該監視驅動程序在對IRP中的信息進行分析並保存相關信息後,將該IRP再通過Filter DO發送給VDO,由VDO對IRP進行處理。由於監視驅動程序對IRP不作任何處理,因此不影響VDO對IRP的處理。該監視驅動程序實現監視文件的流程參見圖2,實現監視的過程如下a.從I/O管理器中獲取所要監視的文件對應的IRP;b.設置一個包括文件名、文件變化類型、變化區域結構鍊表指針、變化區域的起始位置及修改大小信息的跟蹤數據結構;c.從該IRP中獲取相應的信息,並將該信息保存到該跟蹤數據結構對應各項中。
如果是連續地監視某個文件,該文件對應的跟蹤數據結構可能已經存在,因此在進入步驟b之前,可以先判斷該文件對應的跟蹤數據結構是否已經存在,如果已經存在,則步驟c直接根據IRP中的信息更新跟蹤數據結構中的相關信息,如果不存在,則進入步驟b。
本發明的監視驅動程序可以設置為由Windows在啟動時直接啟動,也可以設置為通過上層應用程式啟動。下面舉例對通過上層應用程式啟動該監視驅動程序作說明。
如果把本發明的監視方法應用在文件備份中,則可以只對文件最小的變化區域進行備份,而不需要對整個文件進行備份。在應用本發明監視方法的文件備份過程中,需要對應地設置由用戶啟動並操作的用戶態程序作為上層應用程式,並需要對監視驅動程序作相應的功能擴展,使用戶可以通過該用戶態程序啟動監視驅動程序,並根據監視驅動程序的跟蹤數據結構中的相關信息對文件的改變部分進行備份。該功能擴展包括監視驅動程序在建立跟蹤數據結構後,生成包含文件改變區域信息的文件改變通知消息,並將該通知消息發送給用戶態程序。
以將該監控驅動程序創建在上層Filter DO為例,整個實現文件備份的流程參見圖3,實現備份的過程如下a.用戶選擇要備份的文件,根據需要確定文件相關的文件處理規則,並將需要備份的文件名信息及所確定的文件處理規則發送給監視驅動程序。
本實施例的文件處理規則即為備份規則,包括對修改的文件及新創建的文件進行備份,對刪除的文件不進行備份。
b.監視驅動程序收到該文件名信息及備份規則後,從I/O管理器中獲取該文件對應的IRP,並判斷IRP中的文件變化類型信息是否滿足備份規則,以確定是否需要建立該文件對應的跟蹤數據結構,如果滿足備份規則,則建立該文件對應的跟蹤數據結構,在該結構中保存相關信息,並發送文件變化的通知消息給用戶態程序,該通知消息中包含跟蹤數據結構中的文件變化區域信息,之後將該IRP依次發送給該監控驅動程序下面的Filter DO和VDO,由VDO對IRP進行處理,如果不滿足備份規則,則直接將該IRP發送給該監控驅動程序下面的Filter DO和VDO,由VDO進行處理。
本實施例中,如果IRP中的文件變化類型是刪除文件,則監視驅動程序根據備份規則可知不需要進行備份,因此直接依次將該IRP發送給該監控驅動程序下面的Filter DO和VDO;如果IRP中的文件變化類型是修改文件或新創建文件,則監視驅動程序根據備份規則可知需要進行備份,因此需要執行步驟b中對應的操作。
c.用戶態程序收到通知消息後,根據通知消息中的文件變化區域信息備份該變化部分。
使用本發明方案所提供的監視文件的方法,可以在文件改變時記錄文件具體變化區域的相關信息,並且,由於監視驅動程序不能直接由用戶啟動或終止,因此可以避免用戶的誤操作,提高了監視文件的安全性。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種實現對文件變化區域監視的方法,其特徵在於該方法包括以下步驟a.獲取I/O管理器創建的、與文件對應的I/O請求包(IRP);b.記錄IRP中該文件的文件名及文件變化區域信息。
2.根據權利要求1所述的方法,其特徵在於所述步驟b之前進一步包括,b』.根據IRP中的記錄信息判斷該文件是否滿足預先設置的文件處理規則,如果滿足,則進入步驟b,否則,將IRP通過過濾器設備對象(Filter DO)提交給卷設備對象(VDO)。
3.根據權利要求2所述的方法,其特徵在於,所述文件處理規則包括處理修改、創建和刪除的文件。
4.根據權利要求2所述的方法,其特徵在於,所述文件處理規則從上層應用程式獲得,則所述步驟b進一步包括,生成包含文件變化區域的通知消息,並發送給該上層應用程式。
5.根據權利要求1所述的方法,其特徵在於所述步驟b中進一步包括,b」.建立跟蹤數據結構;所述IRP中的文件名及文件變化區域信息保存在該跟蹤數據結構中。
6.根據權利要求5所述的方法,其特徵在於,所述步驟b」建立的跟蹤數據結構中進一步包括文件的變化類型,則將IRP中的文件變化類型信息保存在該跟蹤數據結構中。
7.根據權利要求5所述的方法,其特徵在於,所述跟蹤數據結構中進一步包括文件的變化區域結構鍊表指針,則將IRP中的文件的變化區域結構鍊表指針保存在該跟蹤數據結構中。
8.根據權利要求5所述的方法,其特徵在於所述步驟b」之前進一步包括,b」1.判斷是否存在該文件對應的跟蹤數據結構,如果有,則直接更新該跟蹤數據結構中的信息,否則,返回步驟b」。
9.根據權利要求1所述的方法,其特徵在於,所述步驟b中記錄的文件變化區域包括文件變化的起始位置和修改大小信息。
全文摘要
本發明公開了一種實現對文件變化區域監視的方法,該方法首先獲取I/O管理器創建的、與文件對應的I/O請求包(IRP),並記錄該文件的文件名及對應IRP中的文件變化區域信息,之後將該IRP通過過濾器對象(Filter DO)提交給卷設備對象(VDO)。該方法解決了現有技術中無法實現對文件的變化區域進行監視的問題,實現了對文件變化區域的監視,並且由於實現監視的過程不能由用戶直接操作,因此可以避免由於用戶的誤操作或作業系統錯誤而導致監視出現遺漏的問題。
文檔編號G06F11/30GK1542611SQ03124248
公開日2004年11月3日 申請日期2003年4月30日 優先權日2003年4月30日
發明者王衛, 鮑育卿, 陳長徵, 王 衛 申請人:聯想(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀