專利名稱:扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)及其實(shí)現(xiàn)方法
扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)及其實(shí)現(xiàn)方法技術(shù)領(lǐng)域:
本發(fā)明涉及一種扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)及其實(shí)現(xiàn)方法。背景技術(shù):
在當(dāng)前復(fù)雜的網(wǎng)絡(luò)環(huán)境中,各種病毒和木馬無(wú)處不在,人們對(duì)系操作統(tǒng)以及操作系統(tǒng)中重要數(shù)據(jù)的保護(hù)越來(lái)越重視,保護(hù)操作系統(tǒng)的軟件也越來(lái)越多,不過(guò)隨著客戶的應(yīng)用環(huán)境越來(lái)越復(fù)雜,數(shù)據(jù)量越來(lái)越大,普通的保護(hù)軟件根本無(wú)法滿足需求,人們希望保護(hù)軟件能夠支持多層覆蓋層的功能,這樣既能保護(hù)系統(tǒng)的安全,又能高效方便地管理自己的數(shù)據(jù)。微軟的EWF硬盤(pán)保護(hù)可以支持多層覆蓋層的功能,使客戶可以將自己的數(shù)據(jù)還原到之前的狀態(tài),不過(guò)EWF硬盤(pán)保護(hù)只提供了簡(jiǎn)單的線形覆蓋層功能,不能滿足客戶更為復(fù)雜的系統(tǒng)應(yīng)用,并且在使用過(guò)程中會(huì)存在如下問(wèn)題UEffF硬盤(pán)保護(hù)將系統(tǒng)的狀態(tài)還原到以前的狀態(tài)之后,當(dāng)前狀態(tài)的數(shù)據(jù)將會(huì)丟失,若客戶希望又回到當(dāng)前狀態(tài)就無(wú)法實(shí)現(xiàn);部分客戶可能希望將自己的重要數(shù)據(jù)能在磁盤(pán)中被隱藏,本發(fā)明可以通過(guò)將數(shù)據(jù)存入當(dāng)前無(wú)效覆蓋層來(lái)實(shí)現(xiàn)數(shù)據(jù)隱藏,在客戶需要時(shí),恢復(fù) 到數(shù)據(jù)所在的層,即可獲得數(shù)據(jù),而EWF硬盤(pán)保護(hù)也無(wú)法滿足該需求;2、EWF在生成硬盤(pán)保護(hù)時(shí),在磁盤(pán)中必須有一塊自由的磁盤(pán)空間來(lái)建立覆蓋層,若在磁盤(pán)沒(méi)有自由空間時(shí)無(wú)法生成硬盤(pán)保護(hù),這樣部分客戶可能需要重新構(gòu)造一個(gè)新的系統(tǒng)才能滿足生成保護(hù)的條件;且EWF在生成內(nèi)存保護(hù)時(shí),當(dāng)物理內(nèi)存被使用完后,系統(tǒng)會(huì)藍(lán)屏,使得EWF的使用場(chǎng)景受到限制。3、EWF硬盤(pán)保護(hù)只提供Windows XP Embedded操作系統(tǒng)上的版本,沒(méi)有提供在Windows XP和Windows7操作系統(tǒng)上運(yùn)行的版本,大大限制了絕大多數(shù)用戶的使用。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問(wèn)題之一,在于提供一種扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)。本發(fā)明通過(guò)以下技術(shù)方案解決上述技術(shù)問(wèn)題一扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng),包括磁盤(pán)過(guò)濾驅(qū)動(dòng)、配置信息模塊、當(dāng)前層以及歷史覆蓋層,所述歷史覆蓋層呈樹(shù)形結(jié)構(gòu);所述磁盤(pán)過(guò)濾驅(qū)動(dòng)設(shè)于操作系統(tǒng)的文件系統(tǒng)層之下,且位于操作系統(tǒng)的卷之下,具備磁盤(pán)扇區(qū)級(jí)的寫(xiě)過(guò)濾功能,通過(guò)當(dāng)前層和歷史覆蓋層實(shí)現(xiàn)對(duì)被保護(hù)分區(qū)寫(xiě)過(guò)濾數(shù)據(jù)的讀寫(xiě)重定向;所述被保護(hù)分區(qū)由用戶設(shè)定;所述配置信息模塊存儲(chǔ)一配置信息結(jié)構(gòu),所述配置信息結(jié)構(gòu)由多級(jí)結(jié)構(gòu)組成,依次包括磁盤(pán)保護(hù)系統(tǒng)配置信息扇區(qū)、各分區(qū)的多覆蓋層信息、分區(qū)的各覆蓋層位置信息以及層信息扇區(qū),其中,前一級(jí)結(jié)構(gòu)中存儲(chǔ)下一級(jí)結(jié)構(gòu)的地址,只要通過(guò)所述配置信息結(jié)構(gòu),即可分析出多層覆蓋層的樹(shù)形層次結(jié)構(gòu);所述當(dāng)前層用于存儲(chǔ)操作系統(tǒng)啟動(dòng)之后被保護(hù)分區(qū)上修改的數(shù)據(jù),當(dāng)前層中的數(shù)據(jù)是臨時(shí)的,如果沒(méi)有提交當(dāng)前層的操作,操作系統(tǒng)重啟后當(dāng)前層的數(shù)據(jù)會(huì)被清空;所述歷史覆蓋層包括多層覆蓋層,所述多層覆蓋層分為當(dāng)前有效覆蓋層和當(dāng)前無(wú)效覆蓋層,所述當(dāng)前有效覆蓋層是指根據(jù)所述配置信息結(jié)構(gòu)進(jìn)行遞歸,與當(dāng)前層有相互依賴關(guān)系的覆蓋層;所述當(dāng)前無(wú)效覆蓋層是指與當(dāng)前層無(wú)依賴關(guān)系的覆蓋層;當(dāng)用戶提交當(dāng)前層,則當(dāng)前層中的數(shù)據(jù)作為一個(gè)數(shù)據(jù)增量層被保存為一新的覆蓋層,且該新的覆蓋層為當(dāng)前有效覆蓋層;當(dāng)用戶提交歷史覆蓋層中的某一當(dāng)前有效覆蓋層時(shí),則當(dāng)前層中的數(shù)據(jù)、被選定的當(dāng)前有效覆蓋層中的數(shù)據(jù)以及當(dāng)前有效覆蓋層制定之后的所有當(dāng)前有效覆蓋層的數(shù)據(jù)合并為一個(gè)新的當(dāng)前有效覆蓋層;所述新的當(dāng)前有效覆蓋層的映射信息更新至所述配置信息模塊中的配置信息結(jié)構(gòu);當(dāng)用戶選擇某一覆蓋層進(jìn)行操作系統(tǒng)還原時(shí),在系統(tǒng)重新啟動(dòng)時(shí),所述磁盤(pán)過(guò)濾驅(qū)動(dòng)讀取配置信息模塊中的配置信息結(jié)構(gòu),磁盤(pán)過(guò)濾驅(qū)動(dòng)將用戶選擇的覆蓋層的數(shù)據(jù)從覆蓋層中讀取出來(lái),組織成可以運(yùn)行的系統(tǒng)數(shù)據(jù),還原操作系統(tǒng)。進(jìn)一步地,所述歷史覆蓋層和配置信息模塊均設(shè)置在獨(dú)立覆蓋層空間或均設(shè)置在 非獨(dú)立覆蓋層空間;所述獨(dú)立覆蓋層空間是將磁盤(pán)中自由的未分配空間組織成一塊可用的區(qū)域用來(lái)存儲(chǔ)覆蓋層中的數(shù)據(jù);所述非獨(dú)立覆蓋層空間是將已經(jīng)劃分分區(qū)的磁盤(pán)中未被使用的空閑空間組織起來(lái)用于存儲(chǔ)覆蓋層中的數(shù)據(jù);所述當(dāng)前層設(shè)置于獨(dú)立歷史覆蓋層空間或非獨(dú)立覆蓋層空間或內(nèi)存中,當(dāng)設(shè)置于內(nèi)存中時(shí),讀寫(xiě)數(shù)據(jù)速度更快。進(jìn)一步地,所述非獨(dú)立覆蓋層空間的存儲(chǔ)單位為一個(gè)段數(shù)據(jù),將磁盤(pán)中零散的扇區(qū)空間邏輯地組織成一個(gè)連續(xù)的邏輯段,用于存儲(chǔ)覆蓋層數(shù)據(jù);一個(gè)覆蓋層有至少一個(gè)邏輯段組成。進(jìn)一步地,所述獨(dú)立覆蓋層空間的存儲(chǔ)單位為一個(gè)段數(shù)據(jù);每一個(gè)覆蓋層占用至少一個(gè)段,各覆蓋層之間的數(shù)據(jù)相互獨(dú)立,下一級(jí)的層數(shù)據(jù)依賴于上一級(jí)的層數(shù)據(jù)。進(jìn)一步地,所述配置信息結(jié)構(gòu)中,所述層信息扇區(qū)包括覆蓋層扇區(qū)標(biāo)記、層信息結(jié)構(gòu)、重定向映射信息結(jié)構(gòu)及其存儲(chǔ)地址、重定向位圖信息結(jié)構(gòu)及其存儲(chǔ)地址、非重定向位圖信息結(jié)構(gòu)及其存儲(chǔ)地址以及空閑空間位圖信息結(jié)構(gòu)及其存儲(chǔ)地址。進(jìn)一步地,用戶可通過(guò)提交數(shù)據(jù)操作將保存在歷史覆蓋層中的所有數(shù)據(jù)全部寫(xiě)入重定向之前在磁盤(pán)中的位置,使系統(tǒng)中的有效數(shù)據(jù)寫(xiě)入到磁盤(pán)中,而無(wú)效的數(shù)據(jù)將會(huì)被刪除;在執(zhí)行了提交數(shù)據(jù)操作后,所有的歷史覆蓋層都會(huì)被刪除,操作系統(tǒng)再一次進(jìn)入初始狀態(tài);如果用戶在關(guān)閉磁盤(pán)保護(hù)系統(tǒng)之前沒(méi)有進(jìn)行提交數(shù)據(jù)的操作,則歷史覆蓋層中的所有數(shù)據(jù)就會(huì)失效。本發(fā)明要解決的技術(shù)問(wèn)題之二,在于提供一種扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)的實(shí)現(xiàn)方法。本發(fā)明通過(guò)以下技術(shù)方案解決上述技術(shù)問(wèn)題二 扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)實(shí)現(xiàn)方法,包括如下步驟步驟10、建立覆蓋層空間并設(shè)置需要被保護(hù)的分區(qū);步驟20、對(duì)被保護(hù)分區(qū)寫(xiě)過(guò)濾數(shù)據(jù)進(jìn)行讀寫(xiě)重定向,將操作系統(tǒng)啟動(dòng)后被保護(hù)分區(qū)上修改數(shù)據(jù)存儲(chǔ)至一當(dāng)前層;若用戶執(zhí)行提交當(dāng)前層,則進(jìn)入步驟30,若用戶不執(zhí)行提交當(dāng)前層,則當(dāng)前層中的數(shù)據(jù)在操作系統(tǒng)關(guān)閉后清空;步驟30、將當(dāng)前層中的數(shù)據(jù)作為一個(gè)數(shù)據(jù)增量層被保存為一覆蓋層,,且該覆蓋層的映射信息保存在一配置信息結(jié)構(gòu)中,所述覆蓋層及配置信息結(jié)構(gòu)均保存在所述覆蓋層空間中;所述配置信息模塊存儲(chǔ)配置信息結(jié)構(gòu),所述配置信息結(jié)構(gòu)由多級(jí)結(jié)構(gòu)組成,依次包括磁盤(pán)保護(hù)系統(tǒng)配置信息扇區(qū)、各分區(qū)的多覆蓋層信息、分區(qū)的各覆蓋層位置信息以及層信息扇區(qū),其中,前一級(jí)結(jié)構(gòu)中存儲(chǔ)下一級(jí)結(jié)構(gòu)的地址,只要通過(guò)所述配置信息結(jié)構(gòu),即可分析出多層覆蓋層的樹(shù)形層次結(jié)構(gòu);當(dāng)多次執(zhí)行提交當(dāng)前層操作,則在覆蓋層空間中保存了多個(gè)覆蓋層,且在所述配置信息結(jié)構(gòu)中保存各覆蓋層之間的依賴關(guān)系;所述在覆蓋層空間中保存的多個(gè)覆蓋層組成歷史覆蓋層,即所述歷史覆蓋層包括多層覆蓋層;所述多層覆蓋層分為當(dāng)前有效覆蓋層和當(dāng)前無(wú)效覆蓋層,所述當(dāng)前有效覆蓋層是指根據(jù)所述配置信息結(jié)構(gòu)進(jìn)行遞歸,與當(dāng)前層有相互依賴關(guān)系的覆蓋層;所述當(dāng)前無(wú)效覆蓋層是指與當(dāng)前層無(wú)依賴關(guān)系的覆蓋層;根據(jù)所述配置信息結(jié)構(gòu),各覆蓋層之間呈樹(shù)形層次結(jié)構(gòu);當(dāng)用戶選擇提交歷史覆蓋層中的某一覆蓋層時(shí),執(zhí)行步驟40 ;當(dāng)用戶選擇某一覆蓋層進(jìn)行操作系統(tǒng)還原時(shí),執(zhí)行步驟50 ;步驟40、用戶選擇提交歷史覆蓋層中的某一覆蓋層,則當(dāng)前層中的數(shù)據(jù)、被選定的當(dāng)前有效覆蓋層中的數(shù)據(jù)以及當(dāng)前有效覆蓋層制定之后的所有當(dāng)前有效覆蓋層的數(shù)據(jù)合 并為一個(gè)新的當(dāng)前有效覆蓋層;所述新的當(dāng)前有效覆蓋層的映射信息更新至所述配置信息模塊中的配置信息結(jié)構(gòu);步驟50、用戶選擇某一覆蓋層進(jìn)行操作系統(tǒng)還原時(shí),在系統(tǒng)重新啟動(dòng)時(shí),讀取配置信息模塊中的配置信息結(jié)構(gòu),將用戶選擇的覆蓋層的數(shù)據(jù)從覆蓋層中讀取出來(lái),組織成可以運(yùn)行的系統(tǒng)數(shù)據(jù),還原操作系統(tǒng)。進(jìn)一步地,所述歷史覆蓋層和配置信息模塊均設(shè)置在獨(dú)立覆蓋層空間或均設(shè)置在非獨(dú)立覆蓋層空間;所述獨(dú)立覆蓋層空間是將磁盤(pán)中自由的未分配空間組織成一塊可用的區(qū)域用來(lái)存儲(chǔ)覆蓋層中的數(shù)據(jù);所述非獨(dú)立覆蓋層空間是將已經(jīng)劃分分區(qū)的磁盤(pán)中未被使用的空閑空間組織起來(lái)用于存儲(chǔ)覆蓋層中的數(shù)據(jù);所述當(dāng)前層設(shè)置于獨(dú)立歷史覆蓋層空間或非獨(dú)立覆蓋層空間或內(nèi)存中,當(dāng)設(shè)置于內(nèi)存中時(shí),讀寫(xiě)數(shù)據(jù)速度更快。進(jìn)一步地,所述非獨(dú)立覆蓋層空間的存儲(chǔ)單位為一個(gè)段數(shù)據(jù),將磁盤(pán)中零散的扇區(qū)空間邏輯地組織成一個(gè)連續(xù)的邏輯段,用于存儲(chǔ)覆蓋層數(shù)據(jù);一個(gè)覆蓋層有至少一個(gè)邏輯段組成。進(jìn)一步地,所述獨(dú)立覆蓋層空間的存儲(chǔ)單位為一個(gè)段數(shù)據(jù);每一個(gè)覆蓋層占用至少一個(gè)段,各覆蓋層之間的數(shù)據(jù)相互獨(dú)立,下一級(jí)的層數(shù)據(jù)依賴于上一級(jí)的層數(shù)據(jù)。 進(jìn)一步地,所述配置信息結(jié)構(gòu)中,所述層信息扇區(qū)包括覆蓋層扇區(qū)標(biāo)記、層信息結(jié)構(gòu)、重定向映射信息結(jié)構(gòu)及其存儲(chǔ)地址、重定向位圖信息結(jié)構(gòu)及其存儲(chǔ)地址、非重定向位圖信息結(jié)構(gòu)及其存儲(chǔ)地址以及空閑空間位圖信息結(jié)構(gòu)及其存儲(chǔ)地址。進(jìn)一步地,在所述步驟50之后還包括步驟60 :用戶通過(guò)提交數(shù)據(jù)操作將保存在歷史覆蓋層中的所有數(shù)據(jù)全部寫(xiě)入重定向之前在磁盤(pán)中的位置,使系統(tǒng)中的有效數(shù)據(jù)寫(xiě)入到磁盤(pán)中,而無(wú)效的數(shù)據(jù)將會(huì)被刪除;在執(zhí)行了提交數(shù)據(jù)操作后,所有的歷史覆蓋層都會(huì)被刪除,操作系統(tǒng)再一次進(jìn)入初始狀態(tài);如果用戶在關(guān)閉磁盤(pán)保護(hù)系統(tǒng)之前沒(méi)有進(jìn)行提交數(shù)據(jù)的操作,則歷史覆蓋層中的所有數(shù)據(jù)就會(huì)失效。本發(fā)明具有如下優(yōu)點(diǎn)I、通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)實(shí)現(xiàn)對(duì)被保護(hù)分區(qū)寫(xiě)過(guò)濾數(shù)據(jù)的讀寫(xiě)重定向;
2、通過(guò)配置信息結(jié)構(gòu)有效組織多層覆蓋層,從而支持覆蓋層的多層功能,各覆蓋層呈樹(shù)形組織結(jié)構(gòu)且各覆蓋層之間相互依賴;覆蓋層中的數(shù)據(jù)為增量的扇區(qū)數(shù)據(jù),且可以在任意覆蓋層數(shù)據(jù)之間進(jìn)行切換覆蓋層;且各覆蓋層的具體數(shù)據(jù)只有通過(guò)還原操作才可以看到,因而可保護(hù)各覆蓋層中數(shù)據(jù)的隱私性和安全性;3、通過(guò)采用非獨(dú)立覆蓋層空間的數(shù)據(jù)組織方式,因而多層覆蓋層的數(shù)據(jù)不需要額外的磁盤(pán)分區(qū);4、通過(guò)提交某一覆蓋層,將多個(gè)覆蓋層合并,并刪除已被合并的原覆蓋層,通過(guò)提交數(shù)據(jù),將歷史覆蓋層中的所有數(shù)據(jù)提交到物理磁盤(pán)中,以減少對(duì)覆蓋層空間的占用。
下面參照附圖結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。
圖I為本發(fā)明磁盤(pán)過(guò)濾驅(qū)動(dòng)的數(shù)據(jù)讀寫(xiě)示意圖。圖2為本發(fā)明配置信息結(jié)構(gòu)的示意圖。圖3為本發(fā)明層信息扇區(qū)的示意圖。圖4為本發(fā)明歷史覆蓋層的示意圖。圖5為本發(fā)明非獨(dú)立覆蓋層空間的數(shù)據(jù)存儲(chǔ)組織結(jié)構(gòu)。圖6為本發(fā)明獨(dú)立覆蓋層空間的數(shù)據(jù)存儲(chǔ)組織結(jié)構(gòu)。
具體實(shí)施方式技術(shù)方案一扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng),包括磁盤(pán)過(guò)濾驅(qū)動(dòng)、配置信息模塊、當(dāng)前層以及歷史覆蓋層,所述歷史覆蓋層呈樹(shù)形結(jié)構(gòu);請(qǐng)參閱圖I所示的磁盤(pán)過(guò)濾驅(qū)動(dòng),所述磁盤(pán)過(guò)濾驅(qū)動(dòng)設(shè)于操作系統(tǒng)的文件系統(tǒng)層之下,且位于操作系統(tǒng)的卷之下,具備磁盤(pán)扇區(qū)級(jí)的寫(xiě)過(guò)濾功能,通過(guò)當(dāng)前層和歷史覆蓋層實(shí)現(xiàn)對(duì)被保護(hù)分區(qū)寫(xiě)過(guò)濾數(shù)據(jù)的讀寫(xiě)重定向;所述被保護(hù)分區(qū)由用戶設(shè)定;請(qǐng)參閱圖2所示,所述配置信息模塊存儲(chǔ)的配置信息結(jié)構(gòu),所述配置信息結(jié)構(gòu)由多級(jí)結(jié)構(gòu)組成,依次包括磁盤(pán)保護(hù)系統(tǒng)配置信息扇區(qū)、各分區(qū)的多覆蓋層信息、分區(qū)的各覆蓋層位置信息以及層信息扇區(qū)組成,其中,前一級(jí)結(jié)構(gòu)中存儲(chǔ)下一級(jí)結(jié)構(gòu)的地址,只要通過(guò)磁盤(pán)保護(hù)系統(tǒng)配置信息扇區(qū),即可分析出多層覆蓋層的樹(shù)形層次結(jié)構(gòu);請(qǐng)參閱圖3所示,所述配置信息結(jié)構(gòu)中,所述層信息扇區(qū)包括覆蓋層扇區(qū)標(biāo)記、層信息結(jié)構(gòu)、重定向映射信息結(jié)構(gòu)及其存儲(chǔ)地址、重定向位圖信息結(jié)構(gòu)及其存儲(chǔ)地址、非重定向位圖信息結(jié)構(gòu)及其存儲(chǔ)地址以及空閑空間位圖信息結(jié)構(gòu)及其存儲(chǔ)地址。所述扇區(qū)標(biāo)記標(biāo)記該扇區(qū)為層信息扇區(qū);所述層信息結(jié)構(gòu)包括層大小以及該層所依賴的父層; 所述重定向映射信息結(jié)構(gòu)記錄重定向映射信息記錄原始地址與現(xiàn)在扇區(qū)位置的關(guān)系,可以根據(jù)它找到數(shù)據(jù)被放在哪里。所述重定向映射信息結(jié)構(gòu)包括所屬的層、段大小、總大小等信息,其存儲(chǔ)位置記錄第一個(gè)扇區(qū)或段的地址;所述重定向位圖信息結(jié)構(gòu)重定向位圖記錄哪個(gè)扇區(qū)被重定向過(guò),所述重定向位圖信息結(jié)構(gòu)包括所屬的層、段大小、總大小等信息,其存儲(chǔ)地址記錄第一個(gè)扇區(qū)或段的地址;所述非重定向位圖信息結(jié)構(gòu)非重定向位圖信息記錄哪個(gè)扇區(qū)不需要重定向。所述非重定向位圖信息結(jié)構(gòu)包括所屬的層、段大小、總大小等信息,其存儲(chǔ)地址記錄第一個(gè)扇區(qū)或段的地址所述空閑位圖信息結(jié)構(gòu)空閑位圖信息記錄哪個(gè)扇區(qū)還沒(méi)有被使用,所述空閑位圖信息結(jié)構(gòu)包括所屬的層、段大小、總大小等信息,其存儲(chǔ)地址記錄第一個(gè)扇區(qū)或段的地址。請(qǐng)參閱圖4,所述當(dāng)前層用于存儲(chǔ)操作系統(tǒng)啟動(dòng)之后被保護(hù)分區(qū)上修改的數(shù)據(jù),當(dāng)前層中的數(shù)據(jù)是臨時(shí)的,如果沒(méi)有提交當(dāng)前層的操作,操作系統(tǒng)重啟后當(dāng)前層的數(shù)據(jù)會(huì)被
清空; 所述歷史覆蓋層包括多層覆蓋層,所述多層覆蓋層分為當(dāng)前有效覆蓋層和當(dāng)前無(wú)效覆蓋層,所述當(dāng)前有效覆蓋層是指根據(jù)所述配置信息結(jié)構(gòu)進(jìn)行遞歸,與當(dāng)前層有相互依賴關(guān)系的覆蓋層;所述當(dāng)前無(wú)效覆蓋層是指與當(dāng)前層無(wú)依賴關(guān)系的覆蓋層;當(dāng)用戶提交當(dāng)前層,則當(dāng)前層中的數(shù)據(jù)作為一個(gè)數(shù)據(jù)增量層被保存為一新的覆蓋層,且該新的覆蓋層為當(dāng)前有效覆蓋層;當(dāng)用戶提交歷史覆蓋層中的某一當(dāng)前有效覆蓋層時(shí),則當(dāng)前層中的數(shù)據(jù)、被選定的當(dāng)前有效覆蓋層中的數(shù)據(jù)以及當(dāng)前有效覆蓋層制定之后的所有當(dāng)前有效覆蓋層的數(shù)據(jù)合并為一個(gè)新的當(dāng)前有效覆蓋層;所述新的當(dāng)前有效覆蓋層的映射信息更新至所述配置信息模塊中的配置信息結(jié)構(gòu);請(qǐng)參閱圖4,對(duì)歷史覆蓋層舉例說(shuō)明圖中1、2、3、4、5、6是指創(chuàng)建的覆蓋層,里面存儲(chǔ)著用戶寫(xiě)入的數(shù)據(jù),在用戶創(chuàng)建1、2、3、4四個(gè)覆蓋層之后,又將狀態(tài)恢復(fù)到了覆蓋層2,之后又創(chuàng)建了 5、6兩層覆蓋層,因此,覆蓋層6依賴于覆蓋層5、覆蓋層5依賴于覆蓋層2、覆蓋層2依賴于覆蓋層1,而覆蓋層4依賴于覆蓋層3,覆蓋層3依賴于覆蓋層2,覆蓋層2依賴于覆蓋層I。此時(shí)當(dāng)前層是基于覆蓋層6上進(jìn)行數(shù)據(jù)修改,因此,與當(dāng)前層有相互依賴關(guān)系的覆蓋層分別是覆蓋層6、覆蓋層5、覆蓋層I、覆蓋層2,所以覆蓋層6、5、2、1為當(dāng)前有效覆蓋層,而覆蓋層3、覆蓋層4與當(dāng)前層無(wú)依賴關(guān)系,為當(dāng)前無(wú)效覆蓋層。若用戶選擇提交覆蓋層5,則當(dāng)前層中的數(shù)據(jù)、覆蓋層6、覆蓋層5中的數(shù)據(jù)合并后成為一新的當(dāng)前有效覆蓋層7 (未圖示)。圖中初始層是初始層的數(shù)據(jù)為用戶安裝保護(hù)系統(tǒng)之前的數(shù)據(jù),或者上一次提交數(shù)據(jù)之后的數(shù)據(jù)。例如,用戶可以將重要數(shù)據(jù)保存在覆蓋層3或覆蓋層4中,然后還原至覆蓋層2,從而使保存有重要數(shù)據(jù)的覆蓋層被隱藏,保護(hù)了覆蓋層中數(shù)據(jù)的隱私性和安全性。當(dāng)用戶選擇某一覆蓋層進(jìn)行操作系統(tǒng)還原時(shí),在系統(tǒng)重新啟動(dòng)時(shí),所述磁盤(pán)過(guò)濾驅(qū)動(dòng)讀取配置信息模塊中的配置信息結(jié)構(gòu),磁盤(pán)過(guò)濾驅(qū)動(dòng)將用戶選擇的覆蓋層的數(shù)據(jù)從覆蓋層中讀取出來(lái),組織成可以運(yùn)行的系統(tǒng)數(shù)據(jù),還原操作系統(tǒng)。所述歷史覆蓋層和配置信息模塊均設(shè)置在獨(dú)立覆蓋層空間或均設(shè)置在非獨(dú)立覆蓋層空間;所述獨(dú)立覆蓋層空間是將磁盤(pán)中自由的未分配空間組織成一塊可用的區(qū)域用來(lái)存儲(chǔ)覆蓋層中的數(shù)據(jù);所述非獨(dú)立覆蓋層空間是將已經(jīng)劃分分區(qū)的磁盤(pán)中未被使用的空閑空間組織起來(lái)用于存儲(chǔ)覆蓋層中的數(shù)據(jù),這樣就不需要額外配置磁盤(pán)分區(qū);所述當(dāng)前層設(shè)置于獨(dú)立歷史覆蓋層空間或非獨(dú)立覆蓋層空間或內(nèi)存中,當(dāng)設(shè)置于內(nèi)存中時(shí),讀寫(xiě)數(shù)據(jù)速度更快。請(qǐng)參閱圖5所示的非獨(dú)立覆蓋層空間的數(shù)據(jù)存儲(chǔ)組織結(jié)構(gòu),所述非獨(dú)立覆蓋層空間的存儲(chǔ)單位為一個(gè)段數(shù)據(jù),將磁盤(pán)中零散的扇區(qū)空間邏輯地組織成一個(gè)連續(xù)的邏輯段,用于存儲(chǔ)覆蓋層數(shù)據(jù);一個(gè)覆蓋層有至少一個(gè)邏輯段組成。請(qǐng)參閱圖6所示的獨(dú)立覆蓋層空間的數(shù)據(jù)存儲(chǔ)組織結(jié)構(gòu),圖中左上方為00字段,從左往右依次遞增,第一行最右邊為14字段,從第二行最左邊開(kāi)始為15字段,從左往右依次遞增,以此類推,第二行最右邊為29字段。所述獨(dú)立覆蓋層空間的存儲(chǔ)單位為一個(gè)段數(shù)據(jù);每一個(gè)覆蓋層占用至少一個(gè)段,各覆蓋層之間的數(shù)據(jù)相互獨(dú)立,下一級(jí)的層數(shù)據(jù)依賴于上一級(jí)的層數(shù)據(jù)。在系統(tǒng)初始化時(shí),我們解析當(dāng)前有效覆蓋層的信息,可以得到當(dāng)前有效覆蓋的起始段,如圖6,我們得到的當(dāng)前有效覆蓋層的起始段為00段,我們根據(jù)獨(dú)立覆蓋層空間中解析得到的段標(biāo)記數(shù)據(jù),可以發(fā)現(xiàn)00段存儲(chǔ)的數(shù)據(jù)為05,即表示00段下一個(gè)指向的段為05段,接著我們?nèi)ゲ榭?5段的位置,可以發(fā)現(xiàn)存儲(chǔ)的數(shù)據(jù)為08,即下一個(gè)段為08段。同理可以等到之后的段為13段、16段,16段的數(shù)據(jù)為FE,表示這個(gè)段還沒(méi)有使用完。因此 可以得到當(dāng)前有效覆蓋層所包含的段為00段、05段、08段、13段、16段,可以在這幾個(gè)段中讀到當(dāng)前有效覆蓋層的數(shù)據(jù)。用戶可通過(guò)提交數(shù)據(jù)操作將保存在歷史覆蓋層中的所有數(shù)據(jù)全部寫(xiě)入重定向之前在磁盤(pán)中的位置,使系統(tǒng)中的有效數(shù)據(jù)寫(xiě)入到磁盤(pán)中,而無(wú)效的數(shù)據(jù)將會(huì)被刪除;在執(zhí)行了提交數(shù)據(jù)操作后,所有的歷史覆蓋層都會(huì)被刪除,操作系統(tǒng)再一次進(jìn)入初始狀態(tài);如果用戶在關(guān)閉磁盤(pán)保護(hù)系統(tǒng)之前沒(méi)有進(jìn)行提交數(shù)據(jù)的操作,則歷史覆蓋層中的所有數(shù)據(jù)就會(huì)失效。技術(shù)方案二 扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)實(shí)現(xiàn)方法,具體步驟如下步驟10、建立覆蓋層空間并設(shè)置需要被保護(hù)的分區(qū);步驟20、對(duì)被保護(hù)分區(qū)寫(xiě)過(guò)濾數(shù)據(jù)進(jìn)行讀寫(xiě)重定向,將操作系統(tǒng)啟動(dòng)后被保護(hù)分區(qū)上修改數(shù)據(jù)存儲(chǔ)至一當(dāng)前層;若用戶執(zhí)行提交當(dāng)前層,則進(jìn)入步驟30,若用戶不執(zhí)行提交當(dāng)前層,則當(dāng)前層中的數(shù)據(jù)在操作系統(tǒng)關(guān)閉后清空;步驟30、將當(dāng)前層中的數(shù)據(jù)作為一個(gè)數(shù)據(jù)增量層被保存為一覆蓋層,,且該覆蓋層的映射信息保存在一配置信息結(jié)構(gòu)中,所述覆蓋層及配置信息結(jié)構(gòu)均保存在所述覆蓋層空間中;請(qǐng)參閱圖2所示的配置信息結(jié)構(gòu)和圖3所示的層信息扇區(qū)的示意圖,所述配置信息結(jié)構(gòu)由多級(jí)結(jié)構(gòu)組成,依次包括磁盤(pán)保護(hù)系統(tǒng)配置信息扇區(qū)、各分區(qū)的多覆蓋層信息、分區(qū)的各覆蓋層位置信息以及層信息扇區(qū),其中,前一級(jí)結(jié)構(gòu)中存儲(chǔ)下一級(jí)結(jié)構(gòu)的地址,只要通過(guò)配置信息結(jié)構(gòu),即可分析出多層覆蓋層的樹(shù)形層次結(jié)構(gòu);所述配置信息結(jié)構(gòu)中,所述層信息扇區(qū)包括覆蓋層扇區(qū)標(biāo)記、層信息結(jié)構(gòu)、重定向映射信息結(jié)構(gòu)及其存儲(chǔ)地址、重定向位圖信息結(jié)構(gòu)及其存儲(chǔ)地址、非重定向位圖信息結(jié)構(gòu)及其存儲(chǔ)地址以及空閑空間位圖信息結(jié)構(gòu)及其存儲(chǔ)地址;當(dāng)多次執(zhí)行提交當(dāng)前層操作,則在覆蓋層空間中保存了多個(gè)覆蓋層,且在所述配置信息結(jié)構(gòu)中保存各覆蓋層之間的依賴關(guān)系;所述在覆蓋層空間中保存的多個(gè)覆蓋層組成歷史覆蓋層,即所述歷史覆蓋層包括多層覆蓋層;所述多層覆蓋層分為當(dāng)前有效覆蓋層和當(dāng)前無(wú)效覆蓋層,所述當(dāng)前有效覆蓋層是指根據(jù)所述配置信息結(jié)構(gòu)進(jìn)行遞歸,與當(dāng)前層有相互依賴關(guān)系的覆蓋層;所述當(dāng)前無(wú)效覆蓋層是指與當(dāng)前層無(wú)依賴關(guān)系的覆蓋層;根據(jù)所述配置信息結(jié)構(gòu),各覆蓋層之間呈樹(shù)形層次結(jié)構(gòu);當(dāng)用戶選擇提交歷史覆蓋層中的某一覆蓋層時(shí),執(zhí)行步驟40 ;當(dāng)用戶選擇某一覆蓋層進(jìn)行操作系統(tǒng)還原時(shí),執(zhí)行步驟50 ;步驟40、用戶選擇提交歷史覆蓋層中的某一覆蓋層,則當(dāng)前層中的數(shù)據(jù)、被選定的當(dāng)前有效覆蓋層中的數(shù)據(jù)以及當(dāng)前有效覆蓋層制定之后的所有當(dāng)前有效覆蓋層的數(shù)據(jù)合并為一個(gè)新的當(dāng)前有效覆蓋層;所述新的當(dāng)前有效覆蓋層的映射信息更新至所述配置信息模塊中的配置信息結(jié)構(gòu);步驟50、用戶選擇某一覆蓋層進(jìn)行操作系統(tǒng)還原時(shí),在系統(tǒng)重新啟動(dòng)時(shí),讀取配置信息模塊中的配置信息結(jié)構(gòu),將用戶選擇的覆蓋層的數(shù)據(jù)從覆蓋層中讀取出來(lái),組織成可以運(yùn)行的系統(tǒng)數(shù)據(jù),還原操作系統(tǒng);步驟60 :當(dāng)用戶通過(guò)提交數(shù)據(jù)操作將保存在歷史覆蓋層中的所有數(shù)據(jù)全部寫(xiě)入重定向之前在磁盤(pán)中的位置,使系統(tǒng)中的有效數(shù)據(jù)寫(xiě)入到磁盤(pán)中,而無(wú)效的數(shù)據(jù)將會(huì)被刪除;在執(zhí)行了提交數(shù)據(jù)操作后,所有的歷史覆蓋層都會(huì)被刪除,操作系統(tǒng)再一次進(jìn)入初始狀態(tài);如果用戶在關(guān)閉磁盤(pán)保護(hù)系統(tǒng)之前沒(méi)有進(jìn)行提交數(shù)據(jù)的操作,則歷史覆蓋層中的所有 數(shù)據(jù)就會(huì)失效。請(qǐng)參閱圖4,對(duì)歷史覆蓋層舉例說(shuō)明圖中1、2、3、4、5、6是指創(chuàng)建的覆蓋層,里面存儲(chǔ)著用戶寫(xiě)入的數(shù)據(jù),在用戶創(chuàng)建1、2、3、4四個(gè)覆蓋層之后,又將狀態(tài)恢復(fù)到了覆蓋層2,之后又創(chuàng)建了 5、6兩層覆蓋層,因此,覆蓋層6依賴于覆蓋層5、覆蓋層5依賴于覆蓋層2、覆蓋層2依賴于覆蓋層I,而覆蓋層4依賴于覆蓋層3,覆蓋層3依賴于覆蓋層2,覆蓋層2依賴于覆蓋層I。此時(shí)當(dāng)前層是基于覆蓋層6上進(jìn)行數(shù)據(jù)修改,因此,與當(dāng)前層有相互依賴關(guān)系的覆蓋層分別是覆蓋層6、覆蓋層5、覆蓋層I、覆蓋層2,所以覆蓋層6、5、2、1為當(dāng)前有效覆蓋層,而覆蓋層3、覆蓋層4與當(dāng)前層無(wú)依賴關(guān)系,為當(dāng)前無(wú)效覆蓋層。若用戶選擇提交覆蓋層5,則當(dāng)前層中的數(shù)據(jù)、覆蓋層6、覆蓋層5中的數(shù)據(jù)合并后成為一新的當(dāng)前有效覆蓋層7 (未圖示)。圖中初始層是初始層的數(shù)據(jù)為用戶安裝保護(hù)系統(tǒng)之前的數(shù)據(jù),或者上一次提交數(shù)據(jù)之后的數(shù)據(jù)。例如,用戶可以將重要數(shù)據(jù)保存在覆蓋層3或覆蓋層4中,然后還原至覆蓋層2,從而使保存有重要數(shù)據(jù)的覆蓋層被隱藏,保護(hù)了覆蓋層中數(shù)據(jù)的隱私性和安全性。所述歷史覆蓋層和配置信息模塊均設(shè)置在獨(dú)立覆蓋層空間或均設(shè)置在非獨(dú)立覆蓋層空間;所述獨(dú)立覆蓋層空間是將磁盤(pán)中自由的未分配空間組織成一塊可用的區(qū)域用來(lái)存儲(chǔ)覆蓋層中的數(shù)據(jù);所述非獨(dú)立覆蓋層空間是將已經(jīng)劃分分區(qū)的磁盤(pán)中未被使用的空閑空間組織起來(lái)用于存儲(chǔ)覆蓋層中的數(shù)據(jù);所述當(dāng)前層設(shè)置于獨(dú)立歷史覆蓋層空間或非獨(dú)立覆蓋層空間或內(nèi)存中,當(dāng)設(shè)置于內(nèi)存中時(shí),讀寫(xiě)數(shù)據(jù)速度更快。請(qǐng)參閱圖5所示的非獨(dú)立覆蓋層空間的數(shù)據(jù)存儲(chǔ)組織結(jié)構(gòu),所述非獨(dú)立覆蓋層空間的存儲(chǔ)單位為一個(gè)段數(shù)據(jù),將磁盤(pán)中零散的扇區(qū)空間邏輯地組織成一個(gè)連續(xù)的邏輯段,用于存儲(chǔ)覆蓋層數(shù)據(jù);一個(gè)覆蓋層有至少一個(gè)邏輯段組成。請(qǐng)參閱圖6所示的獨(dú)立覆蓋層空間的數(shù)據(jù)存儲(chǔ)組織結(jié)構(gòu),所述獨(dú)立覆蓋層空間的存儲(chǔ)單位為一個(gè)段數(shù)據(jù);每一個(gè)覆蓋層占用至少一個(gè)段,各覆蓋層之間的數(shù)據(jù)相互獨(dú)立,下一級(jí)的層數(shù)據(jù)依賴于上一級(jí)的層數(shù)據(jù)。在系統(tǒng)初始化時(shí),我們解析當(dāng)前有效覆蓋層的信息,可以得到當(dāng)前有效覆蓋的起始段,如圖6,我們得到的當(dāng)前有效覆蓋層的起始段為00段,我們根據(jù)獨(dú)立覆蓋層空間中解析得到的段標(biāo)記數(shù)據(jù),可以發(fā)現(xiàn)00段存儲(chǔ)的數(shù)據(jù)為05,即表示00段下一個(gè)指向的段為05段,接著我們?nèi)ゲ榭?5段的位置,可以發(fā)現(xiàn)存儲(chǔ)的數(shù)據(jù)為08,SP下一個(gè)段為08段。同理可以等到之后的段為13段、16段,16段的數(shù)據(jù)為FE,表示這個(gè)段還沒(méi)有使用完。因此可以得到當(dāng)前有效覆蓋層所包含的段為00段、05段、08段、13段、16段,可以在這幾個(gè)段中讀到當(dāng)前有效覆蓋層的數(shù)據(jù)。雖然以上描述了本發(fā)明的具體實(shí)施 方式,但是熟悉本技術(shù)領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,我們所描述的具體的實(shí)施例只是說(shuō)明性的,而不是用于對(duì)本發(fā)明的范圍的限定,熟悉本領(lǐng)域的技術(shù)人員在依照本發(fā)明的精神所作的等效的修飾以及變化,都應(yīng)當(dāng)涵蓋在本發(fā)明的權(quán)利要求所保護(hù)的范圍內(nèi)。
權(quán)利要求
1.扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng),其特征在于包括磁盤(pán)過(guò)濾驅(qū)動(dòng)、配置信息模塊、當(dāng)前層以及歷史覆蓋層,所述歷史覆蓋層呈樹(shù)形結(jié)構(gòu); 所述磁盤(pán)過(guò)濾驅(qū)動(dòng)設(shè)于操作系統(tǒng)的文件系統(tǒng)層之下,且位于操作系統(tǒng)的卷之下,具備磁盤(pán)扇區(qū)級(jí)的寫(xiě)過(guò)濾功能,通過(guò)當(dāng)前層和歷史覆蓋層實(shí)現(xiàn)對(duì)被保護(hù)分區(qū)寫(xiě)過(guò)濾數(shù)據(jù)的讀寫(xiě)重定向;所述被保護(hù)分區(qū)由用戶設(shè)定; 所述配置信息模塊存儲(chǔ)一配置信息結(jié)構(gòu),所述配置信息結(jié)構(gòu)由多級(jí)結(jié)構(gòu)組成,依次包括磁盤(pán)保護(hù)系統(tǒng)配置信息扇區(qū)、各分區(qū)的多覆蓋層信息、分區(qū)的各覆蓋層位置信息以及層信息扇區(qū),其中,前一級(jí)結(jié)構(gòu)中存儲(chǔ)下一級(jí)結(jié)構(gòu)的地址,只要通過(guò)所述配置信息結(jié)構(gòu),即可分析出多層覆蓋層的樹(shù)形層次結(jié)構(gòu); 所述當(dāng)前層用于存儲(chǔ)操作系統(tǒng)啟動(dòng)之后被保護(hù)分區(qū)上修改的數(shù)據(jù),當(dāng)前層中的數(shù)據(jù)是臨時(shí)的,如果沒(méi)有提交當(dāng)前層的操作,操作系統(tǒng)重啟后當(dāng)前層的數(shù)據(jù)會(huì)被清空; 所述歷史覆蓋層包括多層覆蓋層,所述多層覆蓋層分為當(dāng)前有效覆蓋層和當(dāng)前無(wú)效覆蓋層,所述當(dāng)前有效覆蓋層是指根據(jù)所述配置信息結(jié)構(gòu)進(jìn)行遞歸,與當(dāng)前層有相互依賴關(guān)系的覆蓋層;所述當(dāng)前無(wú)效覆蓋層是指與當(dāng)前層無(wú)依賴關(guān)系的覆蓋層;當(dāng)用戶提交當(dāng)前層,則當(dāng)前層中的數(shù)據(jù)作為一個(gè)數(shù)據(jù)增量層被保存為一新的覆蓋層,且該新的覆蓋層為當(dāng)前有效覆蓋層;當(dāng)用戶提交歷史覆蓋層中的某一當(dāng)前有效覆蓋層時(shí),則當(dāng)前層中的數(shù)據(jù)、被選定的當(dāng)前有效覆蓋層中的數(shù)據(jù)以及當(dāng)前有效覆蓋層制定之后的所有當(dāng)前有效覆蓋層的數(shù)據(jù)合并為一個(gè)新的當(dāng)前有效覆蓋層;所述新的當(dāng)前有效覆蓋層的映射信息更新至所述配置信息模塊中的配置信息結(jié)構(gòu); 當(dāng)用戶選擇某一覆蓋層進(jìn)行操作系統(tǒng)還原時(shí),在系統(tǒng)重新啟動(dòng)時(shí),所述磁盤(pán)過(guò)濾驅(qū)動(dòng)讀取配置信息模塊中的配置信息結(jié)構(gòu),磁盤(pán)過(guò)濾驅(qū)動(dòng)將用戶選擇的覆蓋層的數(shù)據(jù)從覆蓋層中讀取出來(lái),組織成可以運(yùn)行的系統(tǒng)數(shù)據(jù),還原操作系統(tǒng)。
2.根據(jù)權(quán)利要求I所述的扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng),其特征在于所述歷史覆蓋層和配置信息模塊均設(shè)置在獨(dú)立覆蓋層空間或均設(shè)置在非獨(dú)立覆蓋層空間;所述獨(dú)立覆蓋層空間是將磁盤(pán)中自由的未分配空間組織成一塊可用的區(qū)域用來(lái)存儲(chǔ)覆蓋層中的數(shù)據(jù);所述非獨(dú)立覆蓋層空間是將已經(jīng)劃分分區(qū)的磁盤(pán)中未被使用的空閑空間組織起來(lái)用于存儲(chǔ)覆蓋層中的數(shù)據(jù);所述當(dāng)前層設(shè)置于獨(dú)立歷史覆蓋層空間或非獨(dú)立覆蓋層空間或內(nèi)存中,當(dāng)設(shè)置于內(nèi)存中時(shí),讀寫(xiě)數(shù)據(jù)速度更快。
3.根據(jù)權(quán)利要求2所述的扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng),其特征在于所述非獨(dú)立覆蓋層空間的存儲(chǔ)單位為一個(gè)段數(shù)據(jù),將磁盤(pán)中零散的扇區(qū)空間邏輯地組織成一個(gè)連續(xù)的邏輯段,用于存儲(chǔ)覆蓋層數(shù)據(jù);一個(gè)覆蓋層有至少一個(gè)邏輯段組成。
4.根據(jù)權(quán)利要求2所述的扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng),其特征在于所述獨(dú)立覆蓋層空間的存儲(chǔ)單位為一個(gè)段數(shù)據(jù);每一個(gè)覆蓋層占用至少一個(gè)段,各覆蓋層之間的數(shù)據(jù)相互獨(dú)立,下一級(jí)的層數(shù)據(jù)依賴于上一級(jí)的層數(shù)據(jù)。
5.根據(jù)權(quán)利要求I所述的扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng),其特征在于所述配置信息結(jié)構(gòu)中,所述層信息扇區(qū)包括覆蓋層扇區(qū)標(biāo)記、層信息結(jié)構(gòu)、重定向映射信息結(jié)構(gòu)及其存儲(chǔ)地址、重定向位圖信息結(jié)構(gòu)及其存儲(chǔ)地址、非重定向位圖信息結(jié)構(gòu)及其存儲(chǔ)地址以及空閑空間位圖信息結(jié)構(gòu)及其存儲(chǔ)地址。
6.根據(jù)權(quán)利要求I所述的扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng),其特征在于用戶可通過(guò)提交數(shù)據(jù)操作將保存在歷史覆蓋層中的所有數(shù)據(jù)全部寫(xiě)入重定向之前在磁盤(pán)中的位置,使系統(tǒng)中的有效數(shù)據(jù)寫(xiě)入到磁盤(pán)中,而無(wú)效的數(shù)據(jù)將會(huì)被刪除;在執(zhí)行了提交數(shù)據(jù)操作后,所有的歷史覆蓋層都會(huì)被刪除,操作系統(tǒng)再一次進(jìn)入初始狀態(tài);如果用戶在關(guān)閉磁盤(pán)保護(hù)系統(tǒng)之前沒(méi)有進(jìn)行提交數(shù)據(jù)的操作,則歷史覆蓋層中的所有數(shù)據(jù)就會(huì)失效。
7.扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)實(shí)現(xiàn)方法,其特征在于包括如下步驟 步驟10、建立覆蓋層空間并設(shè)置需要被保護(hù)的分區(qū); 步驟20、對(duì)被保護(hù)分區(qū)寫(xiě)過(guò)濾數(shù)據(jù)進(jìn)行讀寫(xiě)重定向,將操作系統(tǒng)啟動(dòng)后被保護(hù)分區(qū)上修改數(shù)據(jù)存儲(chǔ)至一當(dāng)前層;若用戶執(zhí)行提交當(dāng)前層,則進(jìn)入步驟30,若用戶不執(zhí)行提交當(dāng)前層,則當(dāng)前層中的數(shù)據(jù)在操作系統(tǒng)關(guān)閉后清空; 步驟30、將當(dāng)前層中的數(shù)據(jù)作為一個(gè)數(shù)據(jù)增量層被保存為一覆蓋層,,且該覆蓋層的映射信息保存在一配置信息結(jié)構(gòu)中,所述覆蓋層及配置信息結(jié)構(gòu)均保存在所述覆蓋層空間中;所述配置信息模塊存儲(chǔ)配置信息結(jié)構(gòu),所述配置信息結(jié)構(gòu)由多級(jí)結(jié)構(gòu)組成,依次包括磁盤(pán)保護(hù)系統(tǒng)配置信息扇區(qū)、各分區(qū)的多覆蓋層信息、分區(qū)的各覆蓋層位置信息以及層信息扇區(qū),其中,前一級(jí)結(jié)構(gòu)中存儲(chǔ)下一級(jí)結(jié)構(gòu)的地址,只要通過(guò)所述配置信息結(jié)構(gòu),即可分析出多層覆蓋層的樹(shù)形層次結(jié)構(gòu); 當(dāng)多次執(zhí)行提交當(dāng)前層操作,則在覆蓋層空間中保存了多個(gè)覆蓋層,且在所述配置信息結(jié)構(gòu)中保存各覆蓋層之間的依賴關(guān)系;所述在覆蓋層空間中保存的多個(gè)覆蓋層組成歷史覆蓋層,即所述歷史覆蓋層包括多層覆蓋層;所述多層覆蓋層分為當(dāng)前有效覆蓋層和當(dāng)前無(wú)效覆蓋層,所述當(dāng)前有效覆蓋層是指根據(jù)所述配置信息結(jié)構(gòu)進(jìn)行遞歸,與當(dāng)前層有相互依賴關(guān)系的覆蓋層;所述當(dāng)前無(wú)效覆蓋層是指與當(dāng)前層無(wú)依賴關(guān)系的覆蓋層;根據(jù)所述配置信息結(jié)構(gòu),各覆蓋層之間呈樹(shù)形層次結(jié)構(gòu);當(dāng)用戶選擇提交歷史覆蓋層中的某一覆蓋層時(shí),執(zhí)行步驟40 ;當(dāng)用戶選擇某一覆蓋層進(jìn)行操作系統(tǒng)還原時(shí),執(zhí)行步驟50 ; 步驟40、用戶選擇提交歷史覆蓋層中的某一覆蓋層,則當(dāng)前層中的數(shù)據(jù)、被選定的當(dāng)前有效覆蓋層中的數(shù)據(jù)以及當(dāng)前有效覆蓋層制定之后的所有當(dāng)前有效覆蓋層的數(shù)據(jù)合并為一個(gè)新的當(dāng)前有效覆蓋層;所述新的當(dāng)前有效覆蓋層的映射信息更新至所述配置信息模塊中的配置信息結(jié)構(gòu); 步驟50、用戶選擇某一覆蓋層進(jìn)行操作系統(tǒng)還原時(shí),在系統(tǒng)重新啟動(dòng)時(shí),讀取配置信息模塊中的配置信息結(jié)構(gòu),將用戶選擇的覆蓋層的數(shù)據(jù)從覆蓋層中讀取出來(lái),組織成可以運(yùn)行的系統(tǒng)數(shù)據(jù),還原操作系統(tǒng)。
8.根據(jù)權(quán)利要求7所述的扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)實(shí)現(xiàn)方法,其特征在于所述歷史覆蓋層和配置信息模塊均設(shè)置在獨(dú)立覆蓋層空間或均設(shè)置在非獨(dú)立覆蓋層空間;所述獨(dú)立覆蓋層空間是將磁盤(pán)中自由的未分配空間組織成一塊可用的區(qū)域用來(lái)存儲(chǔ)覆蓋層中的數(shù)據(jù);所述非獨(dú)立覆蓋層空間是將已經(jīng)劃分分區(qū)的磁盤(pán)中未被使用的空閑空間組織起來(lái)用于存儲(chǔ)覆蓋層中的數(shù)據(jù);所述當(dāng)前層設(shè)置于獨(dú)立歷史覆蓋層空間或非獨(dú)立覆蓋層空間或內(nèi)存中,當(dāng)設(shè)置于內(nèi)存中時(shí),讀寫(xiě)數(shù)據(jù)速度更快。
9.根據(jù)權(quán)利要求7所述的扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)實(shí)現(xiàn)方法,其特征在于所述非獨(dú)立覆蓋層空間的存儲(chǔ)單位為一個(gè)段數(shù)據(jù),將磁盤(pán)中零散的扇區(qū)空間邏輯地組織成一個(gè)連續(xù)的邏輯段,用于存儲(chǔ)覆蓋層數(shù)據(jù);一個(gè)覆蓋層有至少一個(gè)邏輯段組成。
10.根據(jù)權(quán)利要求7所述的扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)實(shí)現(xiàn)方法,其特征在于所述獨(dú)立覆蓋層空間的存儲(chǔ)單位為一個(gè)段數(shù)據(jù);每一個(gè)覆蓋層占用至少一個(gè)段,各覆蓋層之間的數(shù)據(jù)相互獨(dú)立,下一級(jí)的層數(shù)據(jù)依賴于上一級(jí)的層數(shù)據(jù)。
11.根據(jù)權(quán)利要求7所述的扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)實(shí)現(xiàn)方法,其特征在于所述配置信息結(jié)構(gòu)中,所述層信息扇區(qū)包括覆蓋層扇區(qū)標(biāo)記、層信息結(jié)構(gòu)、重定向映射信息結(jié)構(gòu)及其存儲(chǔ)地址、重定向位圖信息結(jié)構(gòu)及其存儲(chǔ)地址、非重定向位圖信息結(jié)構(gòu)及其存儲(chǔ)地址以及空閑空間位圖信息結(jié)構(gòu)及其存儲(chǔ)地址。
12.根據(jù)權(quán)利要求7所述的扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng),其特征在于在所述步驟50之后還包括步驟60 :用戶通過(guò)提交數(shù)據(jù)操作將保存在歷史覆蓋層中的所有數(shù)據(jù)全部寫(xiě)入重定向之前在磁盤(pán)中的位置,使系統(tǒng)中的有效數(shù)據(jù)寫(xiě)入到磁盤(pán)中,而無(wú)效的數(shù)據(jù)將會(huì)被刪除;在執(zhí)行了提交數(shù)據(jù)操作后,所有的歷史覆蓋層都會(huì)被刪除,操作系統(tǒng)再一次進(jìn)入初始狀態(tài);如果用戶在關(guān)閉磁盤(pán)保護(hù)系統(tǒng)之前沒(méi)有進(jìn)行提交數(shù)據(jù)的操作,則歷史覆蓋層中的所有數(shù)據(jù)就會(huì)失效。
全文摘要
本發(fā)明提供一種扇區(qū)增量的樹(shù)形多層覆蓋層的磁盤(pán)保護(hù)系統(tǒng)及其實(shí)現(xiàn)方法,包括磁盤(pán)過(guò)濾驅(qū)動(dòng)、配置信息模塊、當(dāng)前層以及歷史覆蓋層,磁盤(pán)過(guò)濾驅(qū)動(dòng)通過(guò)當(dāng)前層和歷史覆蓋層實(shí)現(xiàn)對(duì)被保護(hù)分區(qū)寫(xiě)過(guò)濾數(shù)據(jù)的讀寫(xiě)重定向,配置信息模塊存儲(chǔ)一配置信息結(jié)構(gòu),其由多級(jí)結(jié)構(gòu)組成,依次包括磁盤(pán)保護(hù)系統(tǒng)配置信息扇區(qū)、各分區(qū)的多覆蓋層信息、分區(qū)的各覆蓋層位置信息以及層信息扇區(qū),前一級(jí)結(jié)構(gòu)中存儲(chǔ)下一級(jí)結(jié)構(gòu)的地址,只要通過(guò)磁盤(pán)保護(hù)系統(tǒng)配置信息扇區(qū),即可分析出多層覆蓋層的樹(shù)形層次結(jié)構(gòu)。本發(fā)明通過(guò)一配置信息結(jié)構(gòu)有效組織多層覆蓋層,從而支持覆蓋層的多層功能,各覆蓋層呈樹(shù)形組織結(jié)構(gòu),且可保護(hù)各覆蓋層中數(shù)據(jù)的隱私性和安全性。
文檔編號(hào)G06F12/14GK102799542SQ20121024063
公開(kāi)日2012年11月28日 申請(qǐng)日期2012年7月12日 優(yōu)先權(quán)日2012年7月12日
發(fā)明者張輝 申請(qǐng)人:福建升騰資訊有限公司