亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法和裝置制造方法

文檔序號:6624586閱讀:234來源:國知局
彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法和裝置,所述方法包括:根據(jù)彈性文件系統(tǒng)的組成結(jié)構(gòu),在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置;擦除上述待粉碎目標的元數(shù)據(jù)信息。本發(fā)明通過上述手段,可自動定位待粉碎文件的元數(shù)據(jù)及其文件內(nèi)容在存儲裝置上的位置并做擦除,從而徹底消除數(shù)據(jù)恢復的隱患,為涉密文件的安全管理提供了有力的支持。
【專利說明】彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法和裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲【技術(shù)領(lǐng)域】,特別地,涉及一種彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法和裝置。

【背景技術(shù)】
[0002]普通的文件刪除方法很容易被恢復軟件給恢復出來,無法滿足高保密文件安全性的要求。針對windows操作系統(tǒng)下的NTFS、FAT等成熟的文件系統(tǒng),目前國內(nèi)外已有相關(guān)的技術(shù)和軟件可以對文件進行粉碎。但針對微軟最新的彈性文件系統(tǒng)(REFS,Resilient FileSystem),目如尚未有相關(guān)的數(shù)據(jù)粉碎技術(shù)和軟件。
[0003]針對REFS這種新型的文件系統(tǒng)在技術(shù)文檔缺乏的情況下,只能對REFS的文件夾及其文件做普通的刪除。普通的刪除方法有兩個弊端:一是無法清除文件所對應的文件記錄信息,存在著被恢復軟件恢復的可能性;二是無法對文件的殘留區(qū)域做處理,而文件殘留區(qū)可能存在著需要粉粹的數(shù)據(jù),因此也有被恢復的可能性,不能滿足高保密文件安全性要求。


【發(fā)明內(nèi)容】

[0004]本發(fā)明提供一種彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法,用于解決現(xiàn)有技術(shù)不能清除REFS系統(tǒng)中被刪除文件對應的文件記錄信息以及文件殘留區(qū)數(shù)據(jù),存在著被數(shù)據(jù)恢復工具恢復的可能性,不能滿足高保密文件安全性要求的問題。
[0005]本發(fā)明還提供了一種彈性文件系統(tǒng)的數(shù)據(jù)粉碎裝置,以保證上述方法在實際中的應用。
[0006]為了解決上述問題,本發(fā)明公開了一種彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法,包括:根據(jù)彈性文件系統(tǒng)的組成結(jié)構(gòu),在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置;擦除上述待粉碎目標的元數(shù)據(jù)信息。
[0007]優(yōu)選的,所述待粉碎目標為文件;所述元數(shù)據(jù)信息包括:文件內(nèi)容對應的鏈塊地址;所述擦除上述待粉碎目標的元數(shù)據(jù)信息步驟之前還包括:擦除上述鏈塊地址對應的數(shù)據(jù)塊中的待粉碎文件內(nèi)容。
[0008]優(yōu)選的,所述待粉碎目標為文件夾;所述元數(shù)據(jù)信息包括:文件夾標識符;
[0009]所述擦除上述待粉碎目標的元數(shù)據(jù)信息步驟之前還包括:在B+樹中查找包括有上述文件夾標識符的文件夾數(shù)據(jù)塊號;根據(jù)上述文件夾數(shù)據(jù)塊中包括的子文件夾和子文件信息,判斷所述文件夾是否包括有子文件夾或子文件;若是,循環(huán)將該文件夾下的所有子文件或子文件夾作為新的待粉碎目標,重復上述數(shù)據(jù)粉碎流程;否則,擦除上述文件夾數(shù)據(jù)塊中的文件夾屬性、子文件和/或文件夾信息。
[0010]優(yōu)選的,所述擦除上述待粉碎目標的元數(shù)據(jù)信息步驟之前還包括:調(diào)用視窗應用程序接口中的相關(guān)命令刪除待粉碎的文件或文件夾;所述擦除上述待粉碎目標的元數(shù)據(jù)信息步驟之后還包括:重新在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置;擦除上述文件或文件夾的刪除過程中被標記為空閑塊的葉節(jié)點塊。
[0011]優(yōu)選的,所述元數(shù)據(jù)信息還包括:葉節(jié)點塊號LeafBlockNumbers,元數(shù)據(jù)的字節(jié)數(shù)EntrySize及其在葉節(jié)點塊內(nèi)的偏移地址EntryOffset ;上述擦除上述待粉碎目標的元數(shù)據(jù)信息的方法具體為:在塊號為LeafBlockNumbers的葉節(jié)點塊中,從塊內(nèi)偏移地址為EntryOffset的位置開始,寫入EntrySize字節(jié)的0x00。
[0012]優(yōu)選的,根據(jù)彈性文件系統(tǒng)的組成結(jié)構(gòu),在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置,具體為:讀取分區(qū)偏移元數(shù)據(jù)塊信息,獲得主偏移元數(shù)據(jù)塊號及其信息;根據(jù)主偏移元數(shù)據(jù)塊信息,獲得B+樹的根節(jié)點;從B+樹的根節(jié)點開始遍歷B+樹,直至找到包括有待粉碎目標名稱的葉節(jié)點塊;從所述葉節(jié)點塊中讀取待粉碎目標的元數(shù)據(jù)信息及其在該葉節(jié)點塊中的位置。
[0013]依據(jù)本發(fā)明的另一優(yōu)選實施例,還公開了一種彈性文件系統(tǒng)的數(shù)據(jù)粉碎裝置,包括:元數(shù)據(jù)位置查找單元,用于根據(jù)彈性文件系統(tǒng)的組成結(jié)構(gòu),在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置;元數(shù)據(jù)擦除單元,用于擦除上述待粉碎目標的元數(shù)據(jù)信息。
[0014]優(yōu)選的,所述元數(shù)據(jù)信息包括:文件內(nèi)容對應的鏈塊地址;所述裝置還包括:文件內(nèi)容擦除單元,用于當所述待粉碎目標為文件時,根據(jù)元數(shù)據(jù)信息包括的文件內(nèi)容對應的鏈塊地址,擦除上述鏈塊地址對應的數(shù)據(jù)塊中的待粉碎文件內(nèi)容。
[0015]優(yōu)選的,所述元數(shù)據(jù)信息包括:文件夾標識符;所述裝置還包括:文件夾信息擦除單元,用于在B+樹中查找包括有上述文件夾標識符的文件夾數(shù)據(jù)塊號;根據(jù)上述文件夾數(shù)據(jù)塊中包括的子文件夾和子文件信息,判斷所述文件夾是否包括有子文件夾或子文件;若是,循環(huán)將該文件夾下的所有子文件或子文件夾作為新的待粉碎目標,調(diào)用所述裝置重復執(zhí)行數(shù)據(jù)粉碎過程;否則,擦除上述文件夾數(shù)據(jù)塊中的文件夾屬性、子文件和/或文件夾信肩、O
[0016]優(yōu)選的,所述裝置還包括:待粉碎目標刪除單元,用于調(diào)用視窗應用程序接口中的相關(guān)命令刪除待粉碎的文件或文件夾;空閑塊擦除單元,用于重新在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置,以及擦除上述文件或文件夾的刪除過程中被標記為空閑塊的葉節(jié)點塊。
[0017]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:
[0018]本發(fā)明優(yōu)選實施例根據(jù)彈性文件系統(tǒng)(REFS)的特定結(jié)構(gòu),自動定位待粉碎文件的元數(shù)據(jù)及其文件內(nèi)容在存儲裝置(如磁盤)上的位置并做擦除,從而徹底消除數(shù)據(jù)恢復的隱患,為涉密文件的安全管理提供了有力的支持。
[0019]在進一步的優(yōu)選實施例中,還可以對文件夾做整體擦除,使用戶不僅能夠?qū)蝹€的文件執(zhí)行粉碎操作,還可以對整個文件夾中的所有子文件夾和文件進行粉碎操作。

【專利附圖】

【附圖說明】
[0020]圖1為彈性文件系統(tǒng)的組成結(jié)構(gòu)示意圖;
[0021]圖2為本發(fā)明彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法第一實施例的流程圖;
[0022]圖3為圖2所示的方法實施例中待粉碎目標的具體定位流程;
[0023]圖4為本發(fā)明彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法第二實施例的流程圖;
[0024]圖5為本發(fā)明彈性文件系統(tǒng)的數(shù)據(jù)粉碎裝置一實施例的結(jié)構(gòu)示意圖;
[0025]圖6-1為采用常規(guī)刪除方法刪除文件后用R-Stud1工具的恢復效果示意圖;
[0026]圖6-2為采用圖1所示的數(shù)據(jù)粉碎方法刪除文件后用R-Stud1工具的恢復效果示意圖。

【具體實施方式】
[0027]在結(jié)合附圖和【具體實施方式】對本發(fā)明作進一步詳細的說明之前,首先說明彈性文件系統(tǒng)的結(jié)構(gòu)。
[0028]彈性文件系統(tǒng)(REFS)由卷頭、POMB(分區(qū)偏移元數(shù)據(jù)塊)、MOMB(主偏移元數(shù)據(jù)塊)和B+樹(B+樹用于描述文件信息、文件夾結(jié)構(gòu)和位置信息)組成。REFS分配存儲空間的基礎(chǔ)單位為塊,每個塊都有編號,從O開始且大小為32個扇區(qū),Μ0ΜΒ、Β+樹的每個節(jié)點都是一個塊。各部分之間的關(guān)系如圖1所示。其中:
[0029]卷頭在第O塊,用于存儲扇區(qū)大小、卷大小等相關(guān)的信息;
[0030]POMB固定存儲在第30個塊中,用于存儲MOMB所在的塊號以及備份的MOMB塊號等信息;
[0031 ] MOMB塊用于存儲指向B+樹的指針信息。
[0032]在REFS文件系統(tǒng)中,每個文件夾都有一個64位的文件夾標識符(DirID),該標識符值作為B+樹中的鍵值(key)使用,其中根文件夾的DirID (即根文件夾鍵值RootKey)固定為0x00000600。每個文件包含有兩部分信息,一部分信息用于描述文件夾屬性(如:文件夾名稱、時間等信息),另一部分信息用于描述該文件夾下所有的子文件和子文件夾信息,其相應的塊號為SublnfoBlock(當子文件/子文件夾數(shù)量較多時,需要占用多個數(shù)據(jù)塊描述子文件/子文件夾信息)。
[0033]當REFS卷中的文件采用常規(guī)方式(如調(diào)用DeleteFile函數(shù))刪除后,該被刪除文件的父文件夾中用于描述該被刪除文件信息的文件記錄的一些標志位發(fā)生了變化(但是關(guān)鍵信息還在,如:文件名、時間、數(shù)據(jù)索引),使該文件記錄變成了沒有任何指針指向的空閑記錄,而文件內(nèi)容部分則沒有發(fā)生任何的變化,只是將相應的數(shù)據(jù)塊被標記為空閑塊。除此之外,REFS有個很重要的特性,在刪除/新增文件時,父文件夾對應的用于描述子文件/子文件夾信息的SublnfoBlock可能會發(fā)生變化,因此殘留信息可能會分布在兩個不同的地方。由此可見,在刪除文件后如果沒有新增文件的操作,那么包含該被刪除文件的關(guān)鍵索引信息還存在,父文件夾用于描述子文件/子文件夾信息的記錄中包含有完整的文件內(nèi)容,存在通過數(shù)據(jù)恢復手段完整或部分恢復該被刪除的文件的可能性,對涉密文件的安全造成了極大的威脅。
[0034]參照圖2,示出了本發(fā)明彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法第一實施例的流程,包括以下步驟:
[0035]步驟SlOl:根據(jù)彈性文件系統(tǒng)的組成結(jié)構(gòu),在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置;
[0036]步驟S102:擦除上述待粉碎目標的元數(shù)據(jù)信息。
[0037]本發(fā)明通過上述手段,可以有效清除待刪除文件的大小、時間、位置等屬性信息,阻斷了數(shù)據(jù)恢復工具通過上述屬性信息建立文件屬性與文件內(nèi)容關(guān)聯(lián)關(guān)系的手段,因此可以較好的消除部分或全部恢復被刪除文件的隱患。
[0038]在REFS系統(tǒng)中,數(shù)據(jù)是以文件的形式存儲的,文件基于樹形結(jié)構(gòu)的文件夾組織管理,作為待粉碎目標的文件和文件夾,其包括的元數(shù)據(jù)信息是不同的。在本方法實施例進一步的優(yōu)選實施例中,上述步驟SlOl可采用如下方式實現(xiàn):
[0039]步驟S101-1:讀取POMB塊信息(塊號為30);
[0040]步驟S101-2:從POMB塊中獲取MOMB塊號并讀取MOMB塊信息;
[0041]步驟S101-3:從MOMB塊中獲取維護文件夾結(jié)構(gòu)的B+樹根節(jié)點;
[0042]步驟S101-4:將CurrentKey設(shè)置為RootKey并將TargetName設(shè)置為根文件夾下第一層文件夾/文件的名稱(例如要粉粹的文件為D:\test\my.doc,則此時的TargetName為“test”);
[0043]步驟S11-5:在文件夾結(jié)構(gòu)的B+樹中查找CurrentKey對應的葉子節(jié)點塊LeafBlock,并根據(jù)TargetName獲取相應的文件/文件夾信息。這些信息包括:如果是文件信息,則需獲取文件內(nèi)容對應的塊鏈、LeafBlock的塊號LeafBlockNumbers以及文件元信息在LeafBlock中的偏移EntryOffset和大小EntrySize并記錄CurrentKey的值;如果是文件夾信息,貝1J獲取相關(guān)的DirID信息、LeafBlock的塊號LeafBlockNumbers以及文件夾元信息在LeafBlock中的偏移EntryOffset和大小EntrySize。具體的查找方法如下:
[0044]I)、設(shè) CurrentNode 為 B+ 樹的根節(jié)點;
[0045]2)、判斷CurrentNode節(jié)點的類型,如果為根節(jié)點轉(zhuǎn)步驟4);如果為中間節(jié)點轉(zhuǎn)步驟5);如果為葉子幾點繼續(xù)步驟3);
[0046]3)、以TargetName作為關(guān)鍵字在葉子節(jié)點中查找,從而獲取相應的文件/文件夾信息轉(zhuǎn)步驟S101-6結(jié)束查找過程;
[0047]4)、以CurrentKey作為關(guān)鍵字在根節(jié)點中進行查找,從而獲取相應的孩子節(jié)點SubNode,并將 CurrentNode 設(shè)置為 SubNode,轉(zhuǎn)步驟 2);
[0048]5)、以TargetName作為關(guān)鍵字在索引節(jié)點中查找,獲取關(guān)鍵字小于TargetName的最大關(guān)鍵字所在的表項,并將CurrentNode設(shè)置為查找到的表項指向的孩子節(jié)點SubNode,轉(zhuǎn)步驟2)。
[0049]步驟S101-6:判斷當前獲取的信息是否為要粉碎的目標文件/文件夾信息,如果是,則結(jié)束定位流程,否則轉(zhuǎn)步驟S101-7 ;
[0050]步驟S101-7:將CurrentKey賦值為DirID, TargetName賦值為下層的文件夾/文件名稱;轉(zhuǎn)步驟S101-5。
[0051]參照圖4,示出了本發(fā)明彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法第二實施例的流程,本優(yōu)選實施例針對不同的待粉碎目標(文件和文件夾)的元數(shù)據(jù)信息,采用不同的粉碎措施,不僅擦除文件或文件夾的相關(guān)元數(shù)據(jù)信息,還針對不同的待粉碎目標分別擦除了文件內(nèi)容和文件夾的描述信息。本優(yōu)選實施例具體包括:
[0052]步驟S201:根據(jù)彈性文件系統(tǒng)的組成結(jié)構(gòu),在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置;
[0053]本優(yōu)選實施例具體實施時,可參照圖3所示的定位流程。
[0054]步驟S202:判斷待粉碎目標是否是文件?如果是轉(zhuǎn)步驟S203,否則轉(zhuǎn)步驟S208 ;
[0055]步驟S203:根據(jù)獲取的文件內(nèi)容塊鏈信息往對應的塊內(nèi)寫入0x00 ;
[0056]步驟S204:調(diào)用DeleteFile函數(shù)刪除目標文件;
[0057]步驟S205:清除文件的大小、時間等屬性信息;
[0058]本實施例清除文件屬性信息的方法具體為:在塊號為LeafBlockNumbers,塊內(nèi)偏移為 EntryOffset 處寫入 EntrySize 字節(jié)的 0x00。
[0059]步驟S206:重新獲取文件夾結(jié)構(gòu)的B+樹信息(具體見流程一),根據(jù)記錄CurrentKey的值查找對應的目標塊;
[0060]在REFS系統(tǒng)中,調(diào)用DeleteFile或DeleteFolder函數(shù)后,塊的索引信息有時會發(fā)生變化,為進一步確保元數(shù)據(jù)信息被徹底擦除,文件夾結(jié)構(gòu)的B+樹要重新獲取,并進一步擦除調(diào)用DeleteFile或DeleteFolder后被設(shè)置為空閑表項的數(shù)據(jù)塊。
[0061]步驟S207:查找到的目標塊塊內(nèi)偏移EntryOffset處若為空閑表項,則往目標塊塊內(nèi)偏移EntryOffset處寫入EntrySize字節(jié)的0x00。轉(zhuǎn)步驟S213 ;
[0062]步驟S208:根據(jù)DirID到文件夾結(jié)構(gòu)的B+樹中查找相應的目標塊,假設(shè)塊號為DirBlockNumbers ;
[0063]步驟S209:判斷文件夾是否包含子文件/文件夾,如果不包含轉(zhuǎn)步驟S211 ;
[0064]步驟S210:粉碎文件底下的所有子文件/文件夾;
[0065]步驟S211:調(diào)用DeleteFolder刪除目標文件夾;
[0066]步驟S212:往塊號為DirBlockNumbers的塊內(nèi)寫入0x00,轉(zhuǎn)步驟S205 ;
[0067]步驟S213:結(jié)束。
[0068]對于前述的各方法實施例,為了描述簡單,故將其都表述為一系列的動作組合,但是本領(lǐng)域的技術(shù)人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為根據(jù)本發(fā)明,某些步驟可以采用其他順序或同時執(zhí)行;其次,本領(lǐng)域技術(shù)人員也應該知悉,上述方法實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
[0069]參照圖5,示出了本發(fā)明彈性文件系統(tǒng)的數(shù)據(jù)粉碎裝置一實施例的結(jié)構(gòu)示意圖,包括:
[0070]元數(shù)據(jù)位置查找單元51,用于根據(jù)彈性文件系統(tǒng)的組成結(jié)構(gòu),在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置;
[0071]其中,上述元數(shù)據(jù)信息還包括:葉節(jié)點塊號LeafBlockNumbers,元數(shù)據(jù)的字節(jié)數(shù)EntrySize及其在葉節(jié)點塊內(nèi)的偏移地址EntryOffset ;當待粉碎目標位文件時,元數(shù)據(jù)信息還包括:文件內(nèi)容對應的鏈塊地址;當待粉碎目標位文件夾時,元數(shù)據(jù)信息還包括:文件夾標識符。
[0072]在本優(yōu)選實施例中,元數(shù)據(jù)位置查找單元51可采用如下方式在B+樹中查找元數(shù)據(jù)的位置:首先,讀取分區(qū)偏移元數(shù)據(jù)塊信息,獲得主偏移元數(shù)據(jù)塊號及其信息;根據(jù)主偏移元數(shù)據(jù)塊信息,獲得B+樹的根節(jié)點;然后,從B+樹的根節(jié)點開始遍歷B+樹,直至找到包括有待粉碎目標名稱的葉節(jié)點塊;最后,從所述葉節(jié)點塊中讀取待粉碎目標的元數(shù)據(jù)信息及其在該葉節(jié)點塊中的位置。
[0073]元數(shù)據(jù)擦除單元52,用于擦除上述待粉碎目標的元數(shù)據(jù)信息。
[0074]在本優(yōu)選實施例中,元數(shù)據(jù)擦除單元52可采用如下方式擦除上述待粉碎目標的元數(shù)據(jù)信息:在塊號為LeafBlockNumbers的葉節(jié)點塊中,從塊內(nèi)偏移地址為EntryOffset的位置開始,寫入EntrySize字節(jié)的0x00。
[0075]文件內(nèi)容擦除單元53,用于當所述待粉碎目標為文件時,根據(jù)元數(shù)據(jù)信息包括的文件內(nèi)容對應的鏈塊地址,擦除上述鏈塊地址對應的數(shù)據(jù)塊中的待粉碎文件內(nèi)容。
[0076]文件夾信息擦除單元54,用于在B+樹中查找包括有上述文件夾標識符的文件夾數(shù)據(jù)塊號;根據(jù)上述文件夾數(shù)據(jù)塊中包括的子文件夾和子文件信息,判斷所述文件夾是否包括有子文件夾或子文件;若是,循環(huán)將該文件夾下的所有子文件或子文件夾作為新的待粉碎目標,調(diào)用所述裝置重復執(zhí)行數(shù)據(jù)粉碎過程;否則,擦除上述文件夾數(shù)據(jù)塊中的文件夾屬性、子文件和/或文件夾信息。
[0077]待粉碎目標刪除單元55,用于在文件內(nèi)容擦除單元53擦除待粉碎文件內(nèi)容或文件夾信息擦除單元54擦除文件夾屬性及其子文件夾、子文件信息后,調(diào)用視窗應用程序接口中的相關(guān)命令刪除待粉碎的文件或文件夾;
[0078]空閑塊擦除單元56,用于重新在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置,以及擦除上述文件或文件夾的刪除過程中被標記為空閑塊的葉節(jié)點塊。
[0079]為了驗證本發(fā)明彈性文件系統(tǒng)的數(shù)據(jù)粉碎裝置的效果,做了如下對比試驗:
[0080]首先,在Windows Server 2012操作系統(tǒng)下,創(chuàng)建一個REFS分區(qū);在該分區(qū)下新建了一個名稱為“test”的文件夾,并在test文件夾中創(chuàng)建兩個文件Document, txt和ReadMine.txt。
[0081]其次,采用shift+delete方式對Document, txt進行刪除操作,再采用數(shù)據(jù)恢復工具(如R-Stud1)進行恢復,其效果如圖6-1所示;從圖6-1可以看出,文件Document, txt被恢復成功。
[0082]最后,采用本發(fā)明彈性文件系統(tǒng)的數(shù)據(jù)粉碎裝置對Document, txt進行刪除操作,再采用數(shù)據(jù)恢復工具(如R-Stud1)進行恢復,其效果如圖6-2所示;從圖6-2可以看出,文件Document, txt沒有被恢復成功。
[0083]需要說明的是,上述裝置或系統(tǒng)實施例屬于優(yōu)選實施例,所涉及的單元和模塊并不一定是本發(fā)明所必須的。
[0084]本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于本發(fā)明的裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0085]以上對本發(fā)明所提供的一種彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法和裝置,進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種彈性文件系統(tǒng)的數(shù)據(jù)粉碎方法,其特征在于,包括: 根據(jù)彈性文件系統(tǒng)的組成結(jié)構(gòu),在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置; 擦除上述待粉碎目標的元數(shù)據(jù)信息。
2.如權(quán)利要求1所述的方法,其特征在于, 所述待粉碎目標為文件; 所述元數(shù)據(jù)信息包括:文件內(nèi)容對應的鏈塊地址; 所述擦除上述待粉碎目標的元數(shù)據(jù)信息步驟之前還包括:擦除上述鏈塊地址對應的數(shù)據(jù)塊中的待粉碎文件內(nèi)容。
3.如權(quán)利要求1所述的方法,其特征在于, 所述待粉碎目標為文件夾; 所述元數(shù)據(jù)信息包括:文件夾標識符; 所述擦除上述待粉碎目標的元數(shù)據(jù)信息步驟之前還包括: 在B+樹中查找包括有上述文件夾標識符的文件夾數(shù)據(jù)塊號; 根據(jù)上述文件夾數(shù)據(jù)塊中包括的子文件夾和子文件信息,判斷所述文件夾是否包括有子文件夾或子文件; 若是,循環(huán)將該文件夾下的所有子文件或子文件夾作為新的待粉碎目標,重復上述數(shù)據(jù)粉碎流程; 否則,擦除上述文件夾數(shù)據(jù)塊中的文件夾屬性、子文件和/或文件夾信息。
4.如權(quán)利要求2或3所述的方法,其特征在于, 所述擦除上述待粉碎目標的元數(shù)據(jù)信息步驟之前還包括:調(diào)用視窗應用程序接口中的相關(guān)命令刪除待粉碎的文件或文件夾; 所述擦除上述待粉碎目標的元數(shù)據(jù)信息步驟之后還包括:重新在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置;擦除上述文件或文件夾的刪除過程中被標記為空閑塊的葉節(jié)點塊。
5.如權(quán)利要求2或3所述的方法,其特征在于, 所述元數(shù)據(jù)信息還包括:葉節(jié)點塊號LeafBlockNumbers,元數(shù)據(jù)的字節(jié)數(shù)EntrySize及其在葉節(jié)點塊內(nèi)的偏移地址EntryOffset ; 上述擦除上述待粉碎目標的元數(shù)據(jù)信息的方法具體為:在塊號為LeafBlockNumbers的葉節(jié)點塊中,從塊內(nèi)偏移地址為EntryOffset的位置開始,寫入EntrySize字節(jié)的0x00。
6.如權(quán)利要求1所述的方法,其特征在于,根據(jù)彈性文件系統(tǒng)的組成結(jié)構(gòu),在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置,具體為: 讀取分區(qū)偏移元數(shù)據(jù)塊信息,獲得主偏移元數(shù)據(jù)塊號及其信息; 根據(jù)主偏移元數(shù)據(jù)塊信息,獲得B+樹的根節(jié)點; 從B+樹的根節(jié)點開始遍歷B+樹,直至找到包括有待粉碎目標名稱的葉節(jié)點塊; 從所述葉節(jié)點塊中讀取待粉碎目標的元數(shù)據(jù)信息及其在該葉節(jié)點塊中的位置。
7.一種彈性文件系統(tǒng)的數(shù)據(jù)粉碎裝置,其特征在于,包括: 元數(shù)據(jù)位置查找單元,用于根據(jù)彈性文件系統(tǒng)的組成結(jié)構(gòu),在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置; 元數(shù)據(jù)擦除單元,用于擦除上述待粉碎目標的元數(shù)據(jù)信息。
8.如權(quán)利要求7所述的裝置,其特征在于, 所述元數(shù)據(jù)信息包括:文件內(nèi)容對應的鏈塊地址; 所述裝置還包括:文件內(nèi)容擦除單元,用于當所述待粉碎目標為文件時,根據(jù)元數(shù)據(jù)信息包括的文件內(nèi)容對應的鏈塊地址,擦除上述鏈塊地址對應的數(shù)據(jù)塊中的待粉碎文件內(nèi)容。
9.如權(quán)利要求7所述的裝置,其特征在于, 所述元數(shù)據(jù)信息包括:文件夾標識符; 所述裝置還包括:文件夾信息擦除單元,用于在B+樹中查找包括有上述文件夾標識符的文件夾數(shù)據(jù)塊號;根據(jù)上述文件夾數(shù)據(jù)塊中包括的子文件夾和子文件信息,判斷所述文件夾是否包括有子文件夾或子文件;若是,循環(huán)將該文件夾下的所有子文件或子文件夾作為新的待粉碎目標,調(diào)用所述裝置重復執(zhí)行數(shù)據(jù)粉碎過程;否則,擦除上述文件夾數(shù)據(jù)塊中的文件夾屬性、子文件和/或文件夾信息。
10.如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 待粉碎目標刪除單元,用于調(diào)用視窗應用程序接口中的相關(guān)命令刪除待粉碎的文件或文件夾; 空閑塊擦除單元,用于重新在B+樹中查找待粉碎目標的元數(shù)據(jù)信息及其在對應的葉節(jié)點塊中的位置,以及擦除上述文件或文件夾的刪除過程中被標記為空閑塊的葉節(jié)點塊。
【文檔編號】G06F17/30GK104166723SQ201410421920
【公開日】2014年11月26日 申請日期:2014年8月25日 優(yōu)先權(quán)日:2014年8月25日
【發(fā)明者】沈長達, 林藝濱, 錢鏡潔 申請人:廈門市美亞柏科信息股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1