亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種實現(xiàn)文件虛擬化的方法及裝置的制造方法_2

文檔序號:9922228閱讀:來源:國知局
[0043]Minifilter大大簡化了過濾驅(qū)動的處理過程,只需要為它要處理的I/O操作注冊相應(yīng)的回調(diào)函數(shù)。對于每一個要過濾的I/O操作,過濾驅(qū)動都會注冊一個預操作回調(diào)函數(shù)、一個后操作回調(diào)函數(shù)或者兩者都注冊,過濾管理器僅調(diào)用已經(jīng)為該I/o操作注冊了預操作回調(diào)函數(shù)或者后操作回調(diào)函數(shù)的過濾驅(qū)動。
[0044]當處理I/O操作的時候,過濾管理器就會調(diào)用過濾驅(qū)動為此操作所注冊的相應(yīng)的回調(diào)函數(shù)。然后當該回調(diào)例程返回時,過濾管理器就調(diào)用下一個過濾驅(qū)動為此操作所注冊的相應(yīng)的回調(diào)函數(shù)。同時,Minif ilter提供了通信端口(Communicat1n Port)來支持用戶模式和內(nèi)核模式之間的通信,極大地減輕了開發(fā)者的工作難度。
[0045]本發(fā)明實施例,是根據(jù)微軟提供的Minifilter所開發(fā)的微型文件系統(tǒng)過濾驅(qū)動,來實現(xiàn)文件的虛擬化的。
[0046]圖1為本發(fā)明實現(xiàn)文件虛擬化的方法實施例一的流程圖。如圖1所示,本實施例的方法可以包括步驟:
[0047]S101、向過濾管理器進行注冊,通過所述過濾管理器附加在目標卷的文件系統(tǒng)堆棧上;其中,所述過濾管理器為微型文件系統(tǒng)過濾框架的內(nèi)部組件;
[0048]本實施例中,基于微軟提供的Minifilter開發(fā)的微型文件系統(tǒng)過濾驅(qū)動,可以在系統(tǒng)運行時的任何時候加載,加載之后,向過濾管理器進行注冊,通過所述過濾管理器間接的附加在目標卷的文件系統(tǒng)堆棧上。
[0049]S102、向所述過濾管理器注冊預先構(gòu)建的回調(diào)函數(shù);
[0050]本實施例中,所述回調(diào)函數(shù),用于在所述過濾管理器監(jiān)視到所述目標卷上有打開文件的操作時,響應(yīng)所述過濾管理器的調(diào)用,獲取要打開的文件所對應(yīng)的文件路徑;在預先建立的映射表中查找是否存在與所述文件路徑相對應(yīng)的目標路徑,若存在,則將所述回調(diào)函數(shù)內(nèi)部的文件路徑參數(shù)修改為目標路徑,并將所述回調(diào)函數(shù)內(nèi)部的返回值修改為重定向狀態(tài)值后返回給所述過濾管理器,以使所述過濾管理器從所述回調(diào)函數(shù)中讀取所述目標路徑,并將所述目標路徑返回給操作系統(tǒng),使操作系統(tǒng)根據(jù)所述目標路徑打開文件;其中,所述要打開的文件為虛擬文件,所述目標路徑所對應(yīng)的文件為真實文件,所述映射表中保存有虛擬文件所對應(yīng)的路徑和真實文件所對應(yīng)的路徑之間的映射關(guān)系。
[0051]本實施例中,所述向所述過濾管理器注冊預先構(gòu)建的回調(diào)函數(shù),可以包括:調(diào)用所述過濾管理器的FltRegisterFilter函數(shù),向所述過濾管理器注冊預先構(gòu)建的回調(diào)函數(shù)。
[0052]在向所述過濾管理器注冊預先構(gòu)建的回調(diào)函數(shù)之后,所述的實現(xiàn)文件虛擬化的方法,還可包括:調(diào)用所述過濾管理器的Fl tStartFi I ter ing函數(shù),通知所述過濾管理器開啟對打開文件操作的過濾。
[0053]本實施例中,向所述過濾管理器注冊的所述回調(diào)函數(shù),為打開文件的預操作回調(diào)函數(shù),能夠在文件打開之前,對打開文件的I/o請求進行預先處理。
[0054]本實施例中,當所述過濾管理器開啟對打開文件的I/O請求的過濾之后,監(jiān)視到目標卷上有打開文件的I/o請求時,調(diào)用已經(jīng)注冊的所述回調(diào)函數(shù),并將所述打開文件的I/O請求的請求包傳送給所述回調(diào)函數(shù);所述回調(diào)函數(shù)從所述請求包中獲取要打開的文件路徑,在預先建立的映射表中查找是否存在與所述要打開的文件路徑相對應(yīng)的目標路徑,若存在,則將回調(diào)函數(shù)里的文件路徑參數(shù)修改為目標路徑,將回調(diào)函數(shù)的返回值修改為STATUS_REPARSE返回,意思是路徑被重定向了,以使所述過濾管理器讀取所述回調(diào)函數(shù)里的文件路徑參數(shù)獲取所述目標路徑,并將所述目標路徑返回給操作系統(tǒng),使操作系統(tǒng)根據(jù)所述目標路徑打開文件。
[0055]比如,在預先建立的映射表中保存有映射關(guān)系a_>b,其中,a為要打開的文件路徑,是虛擬文件所對應(yīng)的路徑,b為相對應(yīng)的真實文件所對應(yīng)的路徑。當所述過濾管理器監(jiān)視到目標卷上有打開文件的I/O請求時,調(diào)用已經(jīng)注冊的所述回調(diào)函數(shù),并將所述打開文件的I/O請求的請求包傳送給所述回調(diào)函數(shù);所述回調(diào)函數(shù)從所述請求包中獲取要打開的文件路徑a,在預先建立的映射表中查找到存在與所述要打開的文件路徑a相對應(yīng)的映射關(guān)系a_>b之后,將回調(diào)函數(shù)里的文件路徑參數(shù)修改為b,將回調(diào)函數(shù)的返回值修改為STATUS_REPARSE返回,所述過濾管理器讀取所述回調(diào)函數(shù)里的文件路徑參數(shù)獲取b,并將b返回給操作系統(tǒng),使操作系統(tǒng)根據(jù)b打開文件。
[0056]本實施例中,a所對應(yīng)的文件是虛擬的、不怕被改變的文件,無論是創(chuàng)建文件、刪除文件、修改文件等行為都可以是虛擬的操作。若用戶對a所對應(yīng)的文件進行修改或刪除等操作后,可根據(jù)所述映射關(guān)系a_>b,利用b所對應(yīng)的文件對a所對應(yīng)的文件進行還原。
[0057]本實施例中,基于微軟提供一種新型、穩(wěn)定、易于擴展的微型文件系統(tǒng)過濾框架Minifilter中的過濾管理器組件來實現(xiàn),不僅穩(wěn)定,易于擴展;并且通過預先保存的映射表中的映射關(guān)系,能夠高效地實現(xiàn)文件的虛擬化。
[0058]圖2為本發(fā)明實現(xiàn)文件虛擬化的方法實施例二的流程圖。如圖2所示,本實施例的方法可以包括:
[0059]S201、建立映射表;
[0060]本實施例中,所述映射表中保存有虛擬文件所對應(yīng)的路徑和真實文件所對應(yīng)的路徑之間的映射關(guān)系。
[0061]S202、向過濾管理器進行注冊,通過所述過濾管理器附加在目標卷的文件系統(tǒng)堆棧上;其中,所述過濾管理器為微型文件系統(tǒng)過濾框架的內(nèi)部組件;
[0062]本實施例中,向過濾管理器進行注冊,通過所述過濾管理器附加在目標卷的文件系統(tǒng)堆棧上的過程和上述方法實施例的SlOl類似,此處不再贅述。
[0063]S203、向所述過濾管理器注冊預先構(gòu)建的回調(diào)函數(shù);
[0064]本實施例中,向所述過濾管理器注冊預先構(gòu)建的回調(diào)函數(shù)的過程和上述方法實施例的S201類似,此處不再贅述。
[0065]S204、對不同時間的真實文件進行備份;
[0066]本實施例中,可以對真實文件進行定期的備份,保存不同時間的真實文件,也可以對同一時間的真實文件進行備份。
[0067]S205、接收用戶對所述映射表中映射關(guān)系的修改;其中,所述修改為將一虛擬文件所對應(yīng)的路徑,從一個時間的真實文件所對應(yīng)的路徑,修改為另一個時間的真實文件所對應(yīng)的路徑;
[0068]本實施例,在需要對文件進行還原時,通過將所述要打開的文件路徑當前所對應(yīng)的真實文件路徑,修改為所述需要還原到特定時間的真實文件路徑。比如,文件路徑a對應(yīng)還原前的映射關(guān)系是a_>bl,若需要把文件路徑a對應(yīng)的文件還原到昨天的文件,而昨天的文件的路徑是b2,就修改映射表,把還原前的映射關(guān)系a_>bl,修改為還原后的映射關(guān)系a->b20
[0069]S206、對所述映射表進行更新。
[0070]本實施例中,當對所述映射表進行更新之后,當再次有文件打開的I/O請求時,所述回調(diào)函數(shù)查找的映射表是最新的映射表,根據(jù)該最新的映射表能夠?qū)⑽募€原到特定時間的真實文件路徑所對應(yīng)的文件,比如根據(jù)所述最新的映射關(guān)系a_>b2,將文件還原到昨天的文件。
[0071]本實施例中,基于微軟提供的一種新型、穩(wěn)定、易于擴展的微型文件系統(tǒng)過濾框架Minifilter中的過濾管理器組件來實現(xiàn),不僅穩(wěn)定,易于擴展;并且通過預先保存的映射表中的映射關(guān)系,能夠高效地實現(xiàn)文件的虛擬化。
[0072]圖3為本發(fā)明實現(xiàn)文件虛擬化的裝置實施例一的結(jié)構(gòu)示意圖。如圖3所示,本實施例的裝置可以包括:第一注冊模塊11和第二注冊模塊12,其中,
[0073]第一注冊模塊11,用于向過濾管理器進行注冊,通過所述過濾管理器附加在目標卷的文件系統(tǒng)堆棧上;其中,所述過濾管理器為微型文件系統(tǒng)過濾框架的內(nèi)部組件;
[0074]第二注冊模塊12,用于向所述過濾管理器注冊預先構(gòu)建的回調(diào)函數(shù)模塊;其中,所述回調(diào)函數(shù),用于在所述過濾管理器監(jiān)視到所述目標卷上有打開文件的操作時,響應(yīng)所述過濾管理器的調(diào)用,獲取要打開的文件所對應(yīng)的文件路徑;在預先建立的映射表中查找是否存在與所述文件路徑相對
當前第2頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1