欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于將計算機中的文件、目錄和面向應(yīng)用的文件的至少一個恢復(fù)成先前狀態(tài)的設(shè)備的制作方法

文檔序號:6480581閱讀:242來源:國知局
專利名稱:用于將計算機中的文件、目錄和面向應(yīng)用的文件的至少一個恢復(fù)成先前狀態(tài)的設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于將計算機中的文件、目錄以及面向應(yīng)用的文件恢復(fù)成先前狀態(tài)的設(shè)備。
背景技術(shù)
公司現(xiàn)在越來越依賴于它們的計算機,作為用于人員以及管理和存儲數(shù)據(jù)的工作工具。計算機已經(jīng)成為大多數(shù)企業(yè)操作的主要部分,以及當計算機停止操作時,通常不能實施這些業(yè)務(wù)操作。
普通的錯誤,像無意識的文件刪除、由于破壞的軟件、系統(tǒng)崩潰等等的問題,已經(jīng)對公司產(chǎn)生大的影響。不工作的計算機不僅意味著降低生產(chǎn)力和使終端用戶受挫,而且它們還會導(dǎo)致巨大的成本。備份和恢復(fù)過程耗時的事實是高成本的主要原因。
隨時間流逝,IT部門已經(jīng)配置了用于保護服務(wù)器上的集中數(shù)據(jù)的有效軟件方案,包括備份和故障恢復(fù)。在終端用戶工作站上實現(xiàn)同級保護很困難。
傳統(tǒng)的備份方案,通常用來保護工作站和服務(wù)器,沒有想到設(shè)計用于單個工作站。因此,具有幾個缺點備份過程耗時另外,備份過程是單任務(wù)過程,阻止用戶在該時間期間使用該工作站。
重構(gòu)過程耗時從用戶的觀點看,數(shù)據(jù)恢復(fù)時間表示損失生產(chǎn)力。
在恢復(fù)過程期間丟失信息在恢復(fù)過程期間,將丟失最后備份和崩潰之間產(chǎn)生的文檔和文件。
備份和重構(gòu)過程非常高深這意味著終端用戶不能自己解決計算機問題,而是他們必須等待繁忙的技術(shù)人員來執(zhí)行該重構(gòu)。
傳統(tǒng)的備份方案的大多數(shù)顯而易見的缺點是缺少速度和無能力保護用戶信息。根據(jù)CBL(CBL Data Recovery Technologies Inc.“Data Loss Report”,2002),超出80%的他們的客戶不能恢復(fù)數(shù)據(jù),盡管使用備份和存儲系統(tǒng)。
在例如由于用戶改變系統(tǒng)設(shè)置所引起的崩潰或不適當?shù)挠脩舨僮骱?,計算機的快速和簡單恢復(fù)的重要性非常相關(guān)以便降低與崩潰有關(guān)的成本。

發(fā)明內(nèi)容
本發(fā)明涉及用于將計算機中的文件、目錄和面向應(yīng)用的文件的至少一個恢復(fù)成先前狀態(tài)的設(shè)備。該設(shè)備包括處理器、存儲器、輸入/輸出部件。存儲器包括存儲區(qū)、備份區(qū)、屬性區(qū)、活動日志文件以及狀態(tài)內(nèi)容區(qū)。備份區(qū)配置成包括文件和目錄的至少一個的原件;存儲區(qū)配置成包括(1)對面向應(yīng)用的文件的改變,保留原始面向應(yīng)用的文件不變,(2)文件和目錄的副本,如果在先前狀態(tài)的時間后,存在文件和目錄的至少一個改變。屬性區(qū)配置成包括文件和目錄的屬性的副本,如果在先前狀態(tài)的時間后,存在文件和目錄的屬性的至少一個改變。活動日志文件配置成包括在先前狀態(tài)的時間后發(fā)生的與計算機有關(guān)的事件。狀態(tài)內(nèi)容區(qū)配置成包括與在對應(yīng)于先前狀態(tài)的時間與文件和目錄有關(guān)的內(nèi)容。
設(shè)備被配置成-使用輸入/輸出部件從用戶接收將計算機恢復(fù)成先前狀態(tài)的指令;-調(diào)查下述的至少一個-用于改變的備份區(qū)和屬性區(qū)的內(nèi)容;以及
-用于發(fā)生的事件的活動日志文件的內(nèi)容;-通過根據(jù)狀態(tài)內(nèi)容區(qū)的內(nèi)容來恢復(fù)狀態(tài),然后處理活動日志文件中的一個或多個事件;以及備份區(qū)和屬性區(qū)中的一個或多個文件的至少一個,將計算機中的文件、目錄的至少一個恢復(fù)成先前狀態(tài)。
本發(fā)明提供優(yōu)點,諸如快速、高度使用靈活以及容易和快速安裝。
根據(jù)實施例,活動日志文件被配置成包括至少兩種活動新的文件/目錄和重命名的文件/目錄。這提供了能恢復(fù)計算機的先前、保存狀態(tài)的優(yōu)點。
根據(jù)實施例,狀態(tài)內(nèi)容區(qū)被配置成包括可用于用戶的多種狀態(tài),使用輸入/輸出部件來選擇一種狀態(tài)。這提供了實用的優(yōu)點,因為用戶可以在多種狀態(tài)中進行選擇。這導(dǎo)致用戶能夠調(diào)查何種狀態(tài)對用戶來說最優(yōu)選以便恢復(fù)。
根據(jù)一個實施例,處理器進一步被配置成將備份區(qū)、屬性區(qū)、狀態(tài)內(nèi)容區(qū)和活動日志文件的內(nèi)容移動到歷史區(qū)。這提供了能將狀態(tài)劃分成兩類,相關(guān)和不太相關(guān)的時機。因此,用戶可以考慮多種不太相關(guān)的狀態(tài),以及最終對具有在那些中選擇的時機不太感興趣。
根據(jù)實施例,處理器進一步被配置成允許用戶選擇和重建文件和目錄的至少一個的多種狀態(tài)之一。
根據(jù)實施例,處理器被進一步配置成創(chuàng)建計算機的狀態(tài),根據(jù)預(yù)定時間表,諸如每天、每周或每月,由用戶、系統(tǒng)事件,諸如與安裝過程有關(guān)的事件的一個來啟動該創(chuàng)建。
根據(jù)實施例,存儲器被進一步配置成包括保持跟蹤備份區(qū)、屬性區(qū)和活動日志文件中的信息的轉(zhuǎn)換表。這提供本發(fā)明的更快操作的優(yōu)點。
根據(jù)實施例,包括轉(zhuǎn)換表的存儲器由RAM存儲器構(gòu)成。這提供本發(fā)明的更快操作的優(yōu)點。
根據(jù)實施例,處理器進一步被配置成允許用戶排除由設(shè)備來處理文件、目錄和面向應(yīng)用的文件的至少一個。這提供了不完全可能恢復(fù)的狀態(tài)的優(yōu)點。


在圖1中示出用于將計算機中的文件、目錄和面向應(yīng)用的文件的至少一個恢復(fù)成先前狀態(tài)的設(shè)備的示意表示。
在圖2中公開了處理可恢復(fù)信息的本發(fā)明系統(tǒng)的概述。
在圖3中示出用于打開現(xiàn)有文件的邏輯的實施例(有或沒有文件的截斷)。
在圖4中示出用于創(chuàng)建新文件/文件夾的邏輯的實施例。
在圖5中示出用于移動現(xiàn)有文件/文件夾的邏輯的實施例。
在圖6中示出用于重命名/移動現(xiàn)有文件/文件夾的邏輯的實施例。
在圖7中示出用于改變現(xiàn)有文件/文件夾的屬性/安全性設(shè)置的邏輯的實施例。
在圖8中示出使用打開的現(xiàn)有或創(chuàng)建新文件,將數(shù)據(jù)寫入先前打開的文件的邏輯的實施例。
在圖9中示出使用按時間發(fā)生順序在那一時間后發(fā)生的所有狀態(tài),恢復(fù)成特定狀態(tài)的過程。
在圖10中示出隱藏區(qū)的實施例。
在圖11中示出恢復(fù)過程的實施例。
在圖12中示出活動日志文件處理的實施例。
在圖13中示出用于在恢復(fù)過程中執(zhí)行刪除操作的邏輯的實施例。
在圖14中示出用于在恢復(fù)過程中執(zhí)行重命名操作的邏輯的實施例。
在圖15中示出備份區(qū)處理的實施例。
在圖16中示出屬性區(qū)處理的實施例。
在圖17中示出打開現(xiàn)有的面向應(yīng)用的文件的邏輯的實施例(有或沒有文件的截斷)。
在圖18中示出用于移動現(xiàn)有的面向應(yīng)用的文件的邏輯的實施例。
在圖19中示出用于重命名/移動現(xiàn)有的面向應(yīng)用的文件的邏輯的實施例。
在圖20中示出使用打開的現(xiàn)有文件或創(chuàng)建新文件,將數(shù)據(jù)寫入先前打開的面向應(yīng)用的文件的邏輯的實施例。
在圖21中示出面向應(yīng)用的文件檢索的過程的實施例。
具體實施例方式
在圖1中,提供用于將計算機中的文件、目錄和面向應(yīng)用的文件的至少一個恢復(fù)成先前狀態(tài)的設(shè)備的示意表示。該設(shè)備包括處理器、存儲器、輸入/輸出部件。該存儲器包括存儲區(qū)、備份區(qū)、屬性區(qū)、活動日志文件以及狀態(tài)內(nèi)容區(qū)。備份區(qū)配置成包括文件和目錄的至少一個的原件。存儲區(qū)配置成包括(1)面向應(yīng)用的文件的更改,保持原始的面向應(yīng)用的文件不變,以及(2)文件和目錄的副本,如果在先前狀態(tài)的時間后,存在文件和目錄的至少一個改變。屬性區(qū)配置成包括文件和目錄的屬性的副本,如果在先前狀態(tài)的時間后存在文件和目錄的屬性的至少一個改變?;顒尤罩疚募渲贸砂ㄔ谙惹盃顟B(tài)的時間后發(fā)生的與計算機有關(guān)的事件。狀態(tài)內(nèi)容區(qū)配置成包括在對應(yīng)于先前狀態(tài)的時間與文件和目錄有關(guān)的內(nèi)容。
現(xiàn)在轉(zhuǎn)到本發(fā)明的具體實施例和操作,可恢復(fù)信息是能容易地再創(chuàng)建的信息。例子是應(yīng)用或系統(tǒng)組成。典型的可恢復(fù)信息很少隨時間改變。本發(fā)明設(shè)計成總是提供能恢復(fù)預(yù)定狀態(tài)的時機。創(chuàng)建計算機的狀態(tài)以及從那個時刻起監(jiān)視和記錄文件和目錄的改變。用戶可以在任何時間選擇恢復(fù)先前狀態(tài)。
在本發(fā)明中,使用文件系統(tǒng)過濾器驅(qū)動器、恢復(fù)應(yīng)用和保存原始文件的區(qū)域。文件系統(tǒng)過濾器驅(qū)動器是操作系統(tǒng)的連續(xù)運行綜合部分以及對用戶不可見。用戶能通過執(zhí)行恢復(fù)操作,在任何時間返回到先前狀態(tài)。在計算機啟動期間,可以執(zhí)行恢復(fù)操作。
隱藏區(qū)用于存儲將文件和目錄恢復(fù)到它們的先前狀態(tài)所需的數(shù)據(jù)。在由本發(fā)明監(jiān)視的每個分區(qū)上存在隱藏區(qū)。單個存儲介質(zhì)(例如硬驅(qū))能包含幾個分區(qū)。本發(fā)明的實現(xiàn)要求將使用的所有分區(qū)上的文件系統(tǒng)基于一個公用的樹結(jié)構(gòu)。
需要下述組成來將文件和目錄恢復(fù)成預(yù)定狀態(tài)1.備份區(qū)只有當從設(shè)置最后狀態(tài)以來文件和目錄被改變時,才包含原始文件和目錄的副本。
2.屬性區(qū)只有當從設(shè)置最后狀態(tài)以來文件和目錄屬性被改變時,才包含具有原始屬性的空文件和目錄。
3.活動日志文件活動日志文件包含具有按時間順序排列的事件的列表。兩種事件是創(chuàng)建從設(shè)置最后狀態(tài)以來創(chuàng)建的新文件和目錄。重命名從設(shè)置最后狀態(tài)以來重命名的文件和目錄。
4.狀態(tài)內(nèi)容區(qū)包含在當前有效狀態(tài)前發(fā)生的從先前狀態(tài)的備份區(qū)、屬性區(qū)和活動日志文件。
除位于永久存儲介質(zhì)上的這四個組成外,文件系統(tǒng)過濾器驅(qū)動器還需要易失RAM存儲器中的列表以跟蹤運行時間期間的變化。由于在關(guān)機或重啟時這些列表消失,因此,只要啟動文件系統(tǒng)過濾器驅(qū)動器,將使用上述四個組成中的第一樹來重建它們。能在圖2中找到系統(tǒng)的示意概述。
過濾器文件系統(tǒng)過濾器驅(qū)動器需要截取可修改存儲介質(zhì)上的數(shù)據(jù)的到原始文件系統(tǒng)過濾器驅(qū)動器的任何請求。通用操作系統(tǒng)中感興趣的請求能分成下述種類1.打開現(xiàn)有文件以便寫入(有或沒有文件的截斷)用于該請求的邏輯位于圖3中。該功能的基本原理是在改變文件前,將原始文件復(fù)制到備份區(qū)。如果它是截斷請求,則在原件打開操作前,該文件需要被復(fù)制,否則,可延遲復(fù)制直到對于該文件的第一寫入請求為止。需要轉(zhuǎn)換后的文件來跟蹤原始文件,而與已經(jīng)執(zhí)行的任何重命名操作無關(guān)。
2.創(chuàng)建新的文件和目錄用于該請求的邏輯位于圖4中。該請求將所創(chuàng)建的文件添加到易失創(chuàng)建列表和永久按時間順序排列的活動日志。
3.消除現(xiàn)有文件或目錄用于該請求的邏輯位于圖5中。如果該文件不存在于易失列表的任何一個中,則將該文件移動到備份區(qū)。如果該文件存在于兩個易失列表的任何一個中,則從易失列表和永久活動日志文件中都消除它。還要求從轉(zhuǎn)換表中消除該文件,因為原始文件不再存在。
4.重命名或移動現(xiàn)有文件或目錄用于該請求的邏輯位于圖6中。重命名請求使用轉(zhuǎn)換表以便能知道原始文件名,而與先前的重命名操作無關(guān)。除更新轉(zhuǎn)換表之外,更新易失創(chuàng)建列表并將條目添加到永久活動日志文件。
5.改變現(xiàn)有文件或目錄的屬性或安全性設(shè)置用于該請求的邏輯位于圖7中。除文件的數(shù)據(jù)外,也能修改屬于該文件的屬性或安全性設(shè)置。為了能夠再創(chuàng)建原始屬性或安全性設(shè)置,在屬性區(qū)創(chuàng)建具有原始屬性和安全性設(shè)置的原始文件的空副本。還存在保持跟蹤目前在屬性區(qū)的屬性部分中的所有文件的易失性屬性列表。
6.使用打開的現(xiàn)有文件將數(shù)據(jù)寫入先前打開的文件或創(chuàng)建新文件用于該請求的邏輯位于圖8中。僅對于先前打開或創(chuàng)建的文件執(zhí)行寫入請求。在此唯一所做的是檢查文件是否通過打開文件功能而被標記為復(fù)制,以及將文件復(fù)制到備份區(qū)。
因此,本發(fā)明不要求改變文件系統(tǒng)請求。所有請求仍然指向其原始物理位置。
易失性存儲器列表(RAM存儲器中)和永久活動日志文件(硬驅(qū)上)需要能記住對硬驅(qū)上的文件和目錄所做的修改。每當根據(jù)上述文件系統(tǒng)請求邏輯做出修改,則連續(xù)地管理這些列表。文件系統(tǒng)過濾器驅(qū)動器使用易失性RAM存儲器,允許快速跟蹤所執(zhí)行的操作。由于易失性RAM存儲器比硬驅(qū)動存儲至少快1000倍,期望在RAM存儲器中搜索列表。在實際恢復(fù)過程中,恢復(fù)應(yīng)用使用按時間順序排列的活動日志文件。
易失性存儲器列表的簡單描述1.創(chuàng)建列表一個具有自最后狀態(tài)以來所有創(chuàng)建的文件的列表。該列表需要依據(jù)重命名請求而被更新,以便總是包含當前文件名。
2.備份列表一個具有復(fù)制到備份區(qū)的所有文件的列表。該列表中的文件名是從最后狀態(tài)以來已被修改的原始文件。
3.屬性列表一個具有保存的原始屬性和安全性設(shè)置的屬性區(qū)中的所有文件名的列表。從最后狀態(tài)以來,該列表中的文件名均具有修改的屬性。
轉(zhuǎn)換表一個二維查找表,從當前文件名獲得原始文件名(當設(shè)置狀態(tài)時)。由于能不止一次地重命名文件和目錄,每次重命名請求時必須更新該列表。
根據(jù)本發(fā)明的實施例,可以將文件和目錄定義為可恢復(fù)信息保護的異常(exception)。在由文件系統(tǒng)過濾器驅(qū)動器使用的配置文件中,定義這些異常。文件系統(tǒng)過濾器驅(qū)動器檢測何時做出對于異常的請求以及傳遞該請求而不記錄恢復(fù)所需的數(shù)據(jù)。還可以通過將其添加到配置文件,將具體應(yīng)用定義為異常。文件系統(tǒng)過濾器驅(qū)動器能通過將其可執(zhí)行文件與配置中的異??蓤?zhí)行文件的列表進行比較,檢測哪個應(yīng)用正發(fā)出請求。
根據(jù)一個實施例,狀態(tài)定義在特定時間一個分區(qū)上的所有文件和目錄。通過恢復(fù)到一種狀態(tài),將取消在設(shè)置該狀態(tài)后所做的所有修改。為了設(shè)置新狀態(tài),所需做的就是刪除所有易失性列表、活動日志文件和備份及屬性區(qū)。當這樣做時文件系統(tǒng)過濾器驅(qū)動器自動將那個狀態(tài)用作當前狀態(tài)。也可以具有當恢復(fù)時在其間進行選擇的幾個獨立狀態(tài)。通過將活動日志文件、備份區(qū)和屬性區(qū)移動到狀態(tài)內(nèi)容區(qū),這是可能的??梢詫⒂嬎銠C恢復(fù)到所設(shè)置的任何先前狀態(tài)。然而,需要處理的狀態(tài)如圖9所示。
隱藏區(qū)的作用是包含足夠的信息來將計算機恢復(fù)到先前狀態(tài)。隱藏區(qū)在正常使用計算機期間,對用戶來說是不可存取的,以及也可以隱瞞操作系統(tǒng)的大部分。隱藏區(qū)位于每個支持的分區(qū)的根目錄。該區(qū)包含五個扇區(qū),如圖10所示。
活動日志包含有關(guān)已經(jīng)創(chuàng)建和重命名的文件和目錄的信息。從最初開始,活動日志為空,以及當重命名和創(chuàng)建操作發(fā)生時,按時間順序?qū)⑺鼈兲砑拥交顒尤罩?。有兩種日志表目,單結(jié)構(gòu)和雙結(jié)構(gòu)。單結(jié)構(gòu)表示創(chuàng)建的文件或目錄以及雙結(jié)構(gòu)表示文件或目錄重命名。雙表目的大小是單表目的兩倍,因為重命名需要更多信息。然而,雙結(jié)構(gòu)的最后部分被設(shè)計成與單結(jié)構(gòu)的布局匹配。這樣做以便遍歷在恢復(fù)操作期間顛倒的日志記錄。
單結(jié)構(gòu)包含兩個構(gòu)件●路徑●操作路徑包含到已經(jīng)創(chuàng)建的文件或目錄的完整路徑。操作變量是能具有下述值的一個或多個的位標志●RESERVED(位0-3),預(yù)留用于未來使用,總是為零●DOUBLE_STRUCT(位4),表示這是雙結(jié)構(gòu)以及需要更多信息來創(chuàng)建全雙結(jié)構(gòu)記錄●RESERVED(位5),預(yù)留用于未來使用,總是為零●DIR_FLAG(位6),表示路徑是否指向文件或目錄●DELETE_MARK(位7),表示日志表目是否被標記為刪除。在恢復(fù)操作期間,忽略標記為刪除的日志表目。
如果創(chuàng)建目錄\數(shù)據(jù)\目錄,相應(yīng)的單日志表目結(jié)構(gòu)將具有設(shè)置到數(shù)據(jù)\目錄的路徑,以及操作構(gòu)件將具有值DIR_FLAG。雙結(jié)構(gòu)具有三個構(gòu)件●源路徑●目的路徑●操作源路徑是原始文件名以及目的地路徑是新文件名。操作構(gòu)件與單結(jié)構(gòu)相同,但具有所設(shè)置的位DOUBLE_STRUCT。如果文件\old.txt被重命名為\new.txt,則相應(yīng)的雙日志表目結(jié)構(gòu)將具有設(shè)置到\old.txt的源路徑以及設(shè)置到\new.txt的目的路徑。操作構(gòu)件將具有值DOUBLE_STRUCT。活動日志文件表目形成自最后狀態(tài)以來所創(chuàng)建和重命名的文件和目錄的列表。表目包含在駐留在隱藏區(qū)中的單物理活動日志文件中。
備份區(qū)是包含將計算機恢復(fù)成已知狀態(tài)所需的信息部分的目錄。備份區(qū)包含自最后狀態(tài)以來被修改或消除的所有文件。備份區(qū)使用與初始目錄結(jié)構(gòu)相同的目錄結(jié)構(gòu),除其根為備份區(qū)之外。例如,如果刪除文件\program files\MyApp\Improtant.hlp,則將該文件移動到\<hidden.area>\backup\program files\MyApp\Improtant.hlp。為避免文件名沖突,有必要保留該目錄結(jié)構(gòu),以及它還是知道原始文件位于何處的最快方式。如果不保留該目錄結(jié)構(gòu),需要一些類型的映像信息來知道備份區(qū)中的文件在何處具有其原始位置。此外,如果不保留目錄結(jié)構(gòu),則需要生成備份區(qū)中的唯一文件名的算法。
在每天使用計算機期間,越來越多的文件將在備份區(qū)中結(jié)束。備份區(qū)的大小在某種程度上與自最后狀態(tài)以來被修改或刪除的文件的數(shù)量成比例。
屬性區(qū)是包含有關(guān)自最后狀態(tài)以來已經(jīng)被修改的文件和目錄的屬性的信息的目錄。如果修改了文件或目錄的屬性,則在屬性區(qū)中保留原始屬性。屬性區(qū)使用與備份區(qū)相同的物理布局。如果例如,改變目錄\Temp的屬性,則將在\<hidden area>\attribute\Temp中保留原始屬性。對于文件的屬性修改將在屬性區(qū)中產(chǎn)生文件大小0的屬性保留的文件。活動日志文件、備份區(qū)和屬性區(qū)一起包含將計算機恢復(fù)成最后狀態(tài)所需的所有信息。
當設(shè)置新狀態(tài)時,將包含在活動日志文件、備份區(qū)和屬性區(qū)中的信息移動到狀態(tài)內(nèi)容區(qū)。該區(qū)使得恢復(fù)回任何先前狀態(tài)成為可能。
臨時區(qū)包含在恢復(fù)過程期間已經(jīng)被移動的所有文件和目錄。在恢復(fù)過程期間將文件或目錄刪除的原因是在最后狀態(tài)后它已經(jīng)被修改或創(chuàng)建。臨時區(qū)中的信息用于取消最后的恢復(fù)操作。
恢復(fù)應(yīng)用的目的是將計算機恢復(fù)成先前狀態(tài)?;謴?fù)器使用隱藏區(qū)中的信息來實現(xiàn)其任務(wù)。這包括處理活動日志文件以便取消重命名和創(chuàng)建操作、處理備份區(qū)以便恢復(fù)修改或刪除的文件、處理屬性區(qū)以便恢復(fù)原始文件屬性。在計算機的引導(dǎo)序列期間,盡可能早地執(zhí)行恢復(fù)操作。在所有已知和歸檔的文件系統(tǒng)上,可以在操作系統(tǒng)使用公共引導(dǎo)扇區(qū)載入機制來引導(dǎo)之前,執(zhí)行該操作。如果文件系統(tǒng)未知,則在操作系統(tǒng)引導(dǎo)過程中一加載用于該文件系統(tǒng)的驅(qū)動器,就執(zhí)行恢復(fù)。能由來自操作系統(tǒng)內(nèi)的用戶命令來激活恢復(fù)過程,或能由用戶在引導(dǎo)序列中及早激活?;謴?fù)操作使用位標志來檢測是否請求恢復(fù)。如果設(shè)置了位標志,則不用問用戶就激活恢復(fù)過程。然而,如果未設(shè)置位標志,用戶仍然能在所定義的時間間隔內(nèi)啟動恢復(fù)。
如果用戶不希望執(zhí)行恢復(fù),如常繼續(xù)加載引導(dǎo)序列。然而,如果用戶希望執(zhí)行恢復(fù),則下述發(fā)生掃描計算機中所有物理硬驅(qū)上的每個支持的分區(qū)。在每個分區(qū)上,恢復(fù)器檢查是否恢復(fù)某事。如果至少存在活動日志文件、備份目錄或?qū)傩詤^(qū),則啟動恢復(fù)?;謴?fù)器按適當定義的順序來處理隱藏區(qū)1.活動日志文件、重命名文件或目錄將恢復(fù)到它們的原始位置并將消除創(chuàng)建的文件或目錄。
2.備份區(qū),將恢復(fù)修改或刪除的文件。
3.屬性區(qū),將恢復(fù)有關(guān)文件或目錄的屬性改變。
將在恢復(fù)期間消除的文件移動到臨時區(qū)。這使得在恢復(fù)后執(zhí)行取消操作成為可能。由于所有操作是移動操作或?qū)傩圆僮鳎謴?fù)過程極其快。通常在幾秒內(nèi)完成。移動文件比復(fù)制文件快很多,因為移動操作僅包含移動文件參考指針。復(fù)制操作包含復(fù)制文件參考指針和包含在該文件中的數(shù)據(jù),使得與移動操作相比非常慢。
下面,將詳細地說明恢復(fù)這些區(qū)的每一個的過程。能在圖11中看到該恢復(fù)過程。
當恢復(fù)器完成其任務(wù)時,它繼續(xù)加載操作系統(tǒng)。如果使用引導(dǎo)扇區(qū)加載機制來啟動恢復(fù),則將原始操作系統(tǒng)引導(dǎo)扇區(qū)加載到存儲器中并執(zhí)行。否則,操作系統(tǒng)初始化如常繼續(xù)。
活動日志文件包含有關(guān)哪些文件和目錄已經(jīng)被重命名和創(chuàng)建的信息?;顒尤罩疚募糜诿總€操作的一個日志表目。表目列表是自最后狀態(tài)以來已經(jīng)發(fā)生的每個重命名和創(chuàng)建的按時間順序的歷史。為了將計算機恢復(fù)回先前狀態(tài),需要向后處理活動日志文件。用于活動日志文件處理的邏輯位于圖12中。
單結(jié)構(gòu)表示文件創(chuàng)建以及雙結(jié)構(gòu)表示重命名或移動操作。所讀取的第一日志表目是活動日志文件中的最后一條。首先將日志表目讀取到單結(jié)構(gòu)中。如果操作標志具有所設(shè)置的位DOUBLE_STRUCT,則在處理重命名操作前,需要讀取雙結(jié)構(gòu)的第二半部分。如果未設(shè)置該位,該操作是單結(jié)構(gòu),因此,將執(zhí)行文件或目錄刪除。如果文件或目錄重命名或刪除失敗,用OPERATION_FAILED標記來標記該表目。當已經(jīng)掃描了所有表目時,活動日志文件處理結(jié)束。
圖13中所示的PerformDelete(Path)功能工作如下。代替刪除由路徑指定的文件或目錄,將它移動到臨時區(qū)。當移動文件和目錄時,保留目錄結(jié)構(gòu)。
PerformRename(SrcPath,DstPath)將由SrcPath指定的文件或目錄移動到DstPath,如圖14所示。如果它不存在,則創(chuàng)建DstPath的目錄結(jié)構(gòu)。如果SrcPath指向一個文件,則在實際移動操作前,將消除DstPath中的任何現(xiàn)有文件。
備份區(qū)包含自最后狀態(tài)以來已經(jīng)被修改或消除的所有原始文件。恢復(fù)器負責(zé)將這些文件從備份區(qū)移動到它們的原始位置。所使用的算法位于圖15中。該算法使用深度優(yōu)先搜索并試圖移動每個文件和目錄。如果原始目錄已經(jīng)存在,則搜索將在那個目錄中繼續(xù)。當處理了所有文件和目錄時,搜索將在父目錄中繼續(xù)。當在備份區(qū)的根中處理了所有文件和目錄時,該算法退出。嘗試從目錄結(jié)構(gòu)中的最低級開始移動目錄具有能節(jié)省許多后續(xù)移動操作的優(yōu)點??紤]當目錄包含上千文件的情形。在計算機使用期間,消除目錄和其所有文件。在恢復(fù)期間所執(zhí)行的唯一操作將是一次目錄移動。該設(shè)計使得恢復(fù)過程非???。
屬性區(qū)的處理是恢復(fù)操作中的最后一個步驟?;謴?fù)器的任務(wù)是將屬性區(qū)中的屬性應(yīng)用于原始文件和目錄。屬性區(qū)的處理與備份區(qū)非常類似,如圖16所示。該算法使用深度優(yōu)先搜索功能并應(yīng)用有關(guān)原始文件和目錄的屬性。
不可恢復(fù)信息是硬的,有時甚至不可能再創(chuàng)建。其例子是文檔和演示文稿,即面向應(yīng)用的文件。不可恢復(fù)的信息通常隨時間改變,因此應(yīng)當不斷地備份。本發(fā)明跟蹤對定義為不可恢復(fù)的文件所做的每個改變。自動版本控制系統(tǒng)的核心是文件系統(tǒng)過濾器驅(qū)動器和存儲區(qū)的組合。文件系統(tǒng)過濾器驅(qū)動器負責(zé)檢測文件變化并將這些變化保存在存儲區(qū)中。能用兩種方式檢索先前保存或消除的文件。一種方法是右擊文件并選擇列出用于那個特定文件的所有可用版本。另一方法是使用可以瀏覽當前在存儲區(qū)中的所有文件的回退資源管理器。
文件系統(tǒng)過濾器驅(qū)動器能夠監(jiān)視本地文件以及駐留在網(wǎng)絡(luò)驅(qū)動上的文件。存儲區(qū)能位于本地或位于網(wǎng)絡(luò)驅(qū)動上。
下面,將詳細地說明每個系統(tǒng)組成。
設(shè)計版本控制文件系統(tǒng)過濾器驅(qū)動器與可恢復(fù)信息驅(qū)動器非常相似?;驹硎窃谛薷奈募靶枰獋浞菟鼈?。
用于不可恢復(fù)信息的文件系統(tǒng)過濾器驅(qū)動器物理上與用于可恢復(fù)信息的驅(qū)動器相同,盡管使用代碼的不同部分。讀取用戶定義的配置的方法確定是否應(yīng)當將指定文件或目錄處理為可恢復(fù)、不可恢復(fù)或異常。注意,由于目錄僅是用于文件的容器而不具有相關(guān)數(shù)據(jù),僅文件能被視為不可恢復(fù)信息。
不監(jiān)視屬性和安全性設(shè)置請求的變化,因為它不改變包含在文件中的數(shù)據(jù)。由文件系統(tǒng)過濾器驅(qū)動器監(jiān)視的文件系統(tǒng)請求是1.打開現(xiàn)有的文件以便寫入(有或沒有文件的截斷)用于該請求的邏輯位于圖17中。在執(zhí)行原始請求前,該功能將原始文件復(fù)制到存儲區(qū)中的唯一文件名。如果打開文件以便截斷或通過互斥讀取訪問,在該點必須執(zhí)行復(fù)制。如果不是這種情形,能延遲復(fù)制直到第一寫入請求。將文件復(fù)制到存儲區(qū)并將包含附加文件信息的記錄添加到存儲區(qū)日志文件。
2.消除現(xiàn)有文件用于該請求的邏輯位于圖18中。在執(zhí)行原始請求前,該功能將原始文件復(fù)制到存儲區(qū)中的唯一文件名。包含有關(guān)文件的相關(guān)信息的記錄也添加到存儲區(qū)日志文件。
3.重命名或移動現(xiàn)有文件用于該請求的邏輯位于圖19中。在執(zhí)行原始請求前,該功能將原始文件復(fù)制到存儲區(qū)中的唯一文件名。將包含附加文件信息的記錄添加到存儲區(qū)日志文件。
4.使用打開的現(xiàn)有文件將數(shù)據(jù)寫入先前打開的文件或創(chuàng)建新文件用于該請求的邏輯位于圖20中。僅對于先前打開或創(chuàng)建的文件進行寫入請求。在此唯一所做的是檢查文件是否通過打開文件功能而被標記為復(fù)制,以及是否需要將文件復(fù)制到存儲區(qū)并將記錄添加到存儲區(qū)日志文件。
每次改變文件時,創(chuàng)建新的文件版本。副本數(shù)可以快速地增加,并由此占用存儲區(qū)的存儲空間。因此,連續(xù)監(jiān)視存儲區(qū)使得占用空間在預(yù)定極限內(nèi)。當存儲區(qū)的存儲空間超出預(yù)定極限時,自動刪除最早的文件。如果所刪除的文件未占用足夠空間,則使用相同的邏輯來刪除更多文件,直到釋放足夠的空間為止。
存儲區(qū)的目的是包含被標記為不可恢復(fù)的文件的歷史版本。在正常使用計算機期間,該存儲區(qū)對用戶來說是不可存取的,并隱瞞操作系統(tǒng)的大部分。該存儲區(qū)能位于本地計算機上或網(wǎng)絡(luò)位置上。當在工作站上出現(xiàn)硬件錯誤時,信息的集中存儲防止用戶丟失文件。注意的重點是存儲區(qū)僅存在于一個分區(qū)上。該區(qū)中的每個文件將附加信息包含在日志中。
當存儲文件版本時,存儲區(qū)將目錄結(jié)構(gòu)保存在硬驅(qū)動上。如果例如改變\data中的文件,將在<storage area>\aa\data中存儲原始版本,以及如果改變\Documents中的文件,則將其保存在<storagearea>\ba\documents中。aa和ba是用在文件系統(tǒng)過濾器驅(qū)動器中的映像字符以便與分區(qū)不同。映像字符能具有從aa至zz的任何組合。
存儲區(qū)中的每個文件包含一個數(shù)字。該數(shù)字唯一地識別某一文件版本。版本號附加在文件名的末尾。例如,如果第三次備份文件summary.ppt,則存儲區(qū)中的名稱將是summary.ppt_3。
當文件改變時存儲它們需要硬驅(qū)上的空閑空間。用戶定義為系統(tǒng)留出的硬驅(qū)空間以及文件系統(tǒng)過濾器驅(qū)動器通過當需要更多空間時刪除最早版本而自動地管理該區(qū)。當然,大的存儲區(qū)代表用于每個文件的更長歷史緩沖區(qū)。存儲區(qū)中的每個目錄包含日志文件。該日志文件包含有關(guān)目錄中的每個文件的附加信息。日志記錄包含下述構(gòu)件●文件名●版本●用戶●應(yīng)用結(jié)合版本號的文件名將記錄鏈接到特定文件。用戶構(gòu)件包含有關(guān)哪個用戶執(zhí)行改變的信息,以及應(yīng)用構(gòu)件包含有關(guān)對哪個應(yīng)用執(zhí)行改變的信息。
本發(fā)明提供檢索舊文件版本的兩種方法。一種方法是在文件瀏覽器中選擇用于文件的屬性。將向用戶顯示附加屬性頁,稱為回退表。該頁包含當前選擇的文件的版本歷史。用戶能選擇、預(yù)覽和恢復(fù)歷史列表中的任何文件。
另一方法是使用回退資源管理器?;赝速Y源管理器能夠瀏覽用于不可恢復(fù)文件的存儲區(qū)。當已經(jīng)從其原始位置消除文件從而使回退頁不可能使用時,回退資源管理器有用。
文件檢索算法對兩種方法是相同的,并在圖21中提供。該算法首先檢索用戶已經(jīng)選擇的文件,然后將其復(fù)制到用戶選定的位置。如果文件已經(jīng)存在,則將保存現(xiàn)有文件的屬性。
權(quán)利要求
1.一種用于將計算機中的文件、目錄和面向應(yīng)用的文件的至少一個恢復(fù)成先前狀態(tài)的設(shè)備(1),所述設(shè)備包括處理器(3)、存儲器(5)、輸入/輸出部件(7),所述存儲器(5)包括存儲區(qū)(9)、備份區(qū)(11)、屬性區(qū)(13)、活動日志文件(15)以及狀態(tài)內(nèi)容區(qū)(17);-所述備份區(qū)(11)被配置成包括文件、目錄和面向應(yīng)用的文件的至少一個的原件;-所述存儲區(qū)(9)被配置成-包括對面向應(yīng)用的文件的改變,保留原始的面向應(yīng)用的文件不變;-如果在先前狀態(tài)的時間后存在文件和目錄的至少一個改變,則包括文件和目錄的副本;-如果在先前狀態(tài)的時間后,存在文件和目錄的屬性的至少一個改變,則所述屬性區(qū)(13)被配置成包括文件和目錄的屬性的副本;以及-所述活動日志文件(15)被配置成包括在先前狀態(tài)的時間后發(fā)生的與所述計算機有關(guān)的事件;-所述狀態(tài)內(nèi)容區(qū)(17)被配置成包括在對應(yīng)于先前狀態(tài)的時間與文件和目錄有關(guān)的內(nèi)容;所述設(shè)備(1)配置成-使用所述輸入/輸出部件(7),從用戶接收將所述計算機恢復(fù)成先前狀態(tài)的指令;-調(diào)查下述的至少一個-所述備份區(qū)(11)和所述屬性區(qū)(13)的內(nèi)容以得到改變;以及-所述活動日志文件(15)的內(nèi)容以得到發(fā)生的事件;-通過以下步驟,將所述計算機中的文件、目錄和面向應(yīng)用的文件的至少一個恢復(fù)成先前狀態(tài)-處理下述至少一個-所述活動日志文件(15)中的一個或多個事件;-所述備份區(qū)(11)和所述屬性區(qū)(13)中的一個或多個文件,-根據(jù)所述狀態(tài)內(nèi)容區(qū)(17)的內(nèi)容,恢復(fù)狀態(tài)。
2.如權(quán)利要求1所述的設(shè)備,其中,所述活動日志文件(15)被配置成包括至少兩種活動新的文件/目錄和重命名的文件/目錄。
3.如權(quán)利要求1所述的設(shè)備,其中,所述狀態(tài)內(nèi)容區(qū)(17)被配置成包括可用于用戶的多種狀態(tài),使用所述輸入/輸出部件(7)來選擇一種狀態(tài)。
4.如權(quán)利要求1所述的設(shè)備,其中,所述處理器(3)進一步被配置成-將所述備份區(qū)(9)、所述屬性區(qū)(13)、所述狀態(tài)內(nèi)容區(qū)(17)和所述活動日志文件(15)的內(nèi)容移動到歷史區(qū)。
5.如權(quán)利要求1所述的設(shè)備,其中,所述處理器(3)進一步被配置成-允許用戶選擇和重建文件和目錄的至少一個的多種狀態(tài)之一。
6.如權(quán)利要求1所述的設(shè)備,其中,所述處理器(3)進一步被配置成-創(chuàng)建計算機的狀態(tài),由用戶、系統(tǒng)事件的一個并根據(jù)預(yù)定時間表來啟動所述創(chuàng)建。
7.如權(quán)利要求1所述的設(shè)備,其中,所述存儲器(5)進一步被配置成包括保持跟蹤所述備份區(qū)(11)、所述屬性區(qū)(13)和所述活動日志文件(15)中的信息的轉(zhuǎn)換表。
8.如權(quán)利要求1所述的設(shè)備,其中,包括所述轉(zhuǎn)換表的所述存儲器(5)由RAM存儲器構(gòu)成。
9.如權(quán)利要求4所述的設(shè)備,其中,所述處理器(3)進一步被配置成允許用戶排除文件、目錄和面向應(yīng)用的文件的至少一個由所述設(shè)備來處理。
全文摘要
公開了一種用于將計算機中的項目,諸如文件、目錄和面向應(yīng)用的文件恢復(fù)成先前狀態(tài)的設(shè)備(1)。該設(shè)備包括處理器(3)、存儲器(5)、輸入/輸出部件(7)。該存儲器(5)包括存儲區(qū)(9)、備份區(qū)(11)、屬性區(qū)(13)、活動日志文件(15)以及狀態(tài)內(nèi)容區(qū)(17)。備份區(qū)(11)包括項目的原件。存儲區(qū)(9)包括項目的改變。屬性區(qū)(13)包括文件和目錄的屬性的副本?;顒尤罩疚募?15)包括在先前狀態(tài)的時間后發(fā)生的事件。狀態(tài)內(nèi)容區(qū)(17)包括在對應(yīng)于先前狀態(tài)的時間與項目有關(guān)的內(nèi)容。該設(shè)備(1)被配置成管理恢復(fù)的過程。
文檔編號G06FGK1764901SQ200480008136
公開日2006年4月26日 申請日期2004年3月25日 優(yōu)先權(quán)日2003年3月26日
發(fā)明者哈斯·亞歷山大, 卡爾森·拉爾斯 申請人:希斯特墨克股份公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
依安县| 渑池县| 彰化市| 鹰潭市| 合川市| 云安县| 肥东县| 弥渡县| 苏尼特左旗| 丘北县| 柏乡县| 龙南县| 内江市| 花莲市| 昔阳县| 定襄县| 绥中县| 土默特左旗| 德庆县| 墨竹工卡县| 盖州市| 新晃| 华阴市| 丹棱县| 双桥区| 信丰县| 米林县| 克山县| 奉节县| 新和县| 婺源县| 武威市| 金山区| 定结县| 宣城市| 涟源市| 元阳县| 冕宁县| 资阳市| 马山县| 调兵山市|