91精品人妻互换日韩精品久久影视|又粗又大的网站激情文学制服91|亚州A∨无码片中文字慕鲁丝片区|jizz中国无码91麻豆精品福利|午夜成人AA婷婷五月天精品|素人AV在线国产高清不卡片|尤物精品视频影院91日韩|亚洲精品18国产精品闷骚

您當(dāng)前位置:首頁(yè) > 新聞?lì)l道 > 行業(yè)動(dòng)態(tài) > 正文
快速恢復(fù)刪除文件的最新技術(shù)

     作者:鄭曉蒙

    目前,國(guó)內(nèi)外對(duì)于ReiserFS文件系統(tǒng)刪除數(shù)據(jù)恢復(fù)的研究較少,相應(yīng)的技術(shù)研究相對(duì)缺乏。本文通過(guò)深入分析ReiserFS文件系統(tǒng)刪除前后數(shù)據(jù)的變化情況,提出了一種該文件系統(tǒng)刪除文件的恢復(fù)方法,填補(bǔ)了相應(yīng)技術(shù)研究的空白。1ReiserFS文件系統(tǒng)簡(jiǎn)介

    ReiserFS文件系統(tǒng)采用超級(jí)塊來(lái)存儲(chǔ)文件系統(tǒng)中一些重要的信息,這些信息包括卷中塊的總數(shù)目、塊的大小、B+樹(shù)根節(jié)點(diǎn)所在塊的塊號(hào)、塊大小、日志塊塊號(hào)、日志占用的塊數(shù)目、B+樹(shù)的深度以及版本等信息,超級(jí)塊在距離卷起始位置64 KB的地方。ReiserFS文件系統(tǒng)將文件和目錄以及目錄結(jié)構(gòu)等信息存儲(chǔ)在B+樹(shù)中,B+樹(shù)的根節(jié)點(diǎn)位置可以通過(guò)超級(jí)塊進(jìn)行定位。B+樹(shù)的結(jié)構(gòu)如圖l所示。

    B+樹(shù)中包含子樹(shù)的節(jié)點(diǎn)都是中間節(jié)點(diǎn),不包含子樹(shù)的節(jié)點(diǎn)稱(chēng)為葉子節(jié)點(diǎn)。根據(jù)是否包含B+樹(shù)本身需要的信息,將節(jié)點(diǎn)分為格式化節(jié)點(diǎn)和未格式化節(jié)點(diǎn)。未格式化節(jié)點(diǎn)只包含文件數(shù)據(jù),因此中間數(shù)據(jù)必須是格式化節(jié)點(diǎn)。格式化節(jié)點(diǎn)中包含一系列關(guān)鍵字信息,通過(guò)關(guān)鍵信息可以實(shí)現(xiàn)文件的快速查找。一個(gè)格式化的葉子節(jié)點(diǎn)中可以包含多個(gè)條目(每個(gè)條目都包含一個(gè)關(guān)鍵字,同一個(gè)文件中的多個(gè)條目關(guān)鍵字一樣),所謂條目是一個(gè)數(shù)據(jù)容器,其內(nèi)容可以保存到一個(gè)數(shù)據(jù)塊中,也就是說(shuō)一個(gè)條目只能隸屬于一個(gè)數(shù)據(jù)塊,它是節(jié)點(diǎn)管理空間的基本單位。葉子節(jié)點(diǎn)中的條目信息用于存儲(chǔ)文件的基本信息,如文件名稱(chēng)、大小等信息,是ReiserFS文件系統(tǒng)非常重要的數(shù)據(jù)區(qū)域。一個(gè)格式化的葉子節(jié)點(diǎn)的結(jié)構(gòu)如圖2所示。

    從圖2中可以看出,每個(gè)格式化葉子節(jié)點(diǎn)都以一個(gè)數(shù)據(jù)塊頭開(kāi)始,緊接的是一系列的條目頭部,中間是空閑空間,最后跟著一系列與條目頭部對(duì)應(yīng)的條目數(shù)據(jù),這種設(shè)計(jì)是為了擴(kuò)充方便。條目是可以存儲(chǔ)在單個(gè)節(jié)點(diǎn)中的一個(gè)數(shù)據(jù)容器,可以認(rèn)為條目是由條目頭和條目數(shù)據(jù)體組成。條目可以分為數(shù)據(jù)條目、直接數(shù)據(jù)條目、間接數(shù)據(jù)條目以及目錄條目4種類(lèi)型。數(shù)據(jù)條目存儲(chǔ)文件的名稱(chēng)、時(shí)間以及大小等信息,直接數(shù)據(jù)條目存儲(chǔ)文件的內(nèi)容,間接數(shù)據(jù)條目存儲(chǔ)文件內(nèi)容的塊信息,目錄條目存儲(chǔ)文件夾底下的子文件信息。

    2 ReiserFS數(shù)據(jù)恢復(fù)

    很多文件系統(tǒng)在文件被刪除后只是對(duì)文件元信息做了一些標(biāo)記并沒(méi)有將相應(yīng)的文件元信息清除,因此只要通過(guò)分析帶有刪除標(biāo)記的文件元信息就可以很容易地恢復(fù)出被刪除的文件。但是,ReiserFS文件系統(tǒng)在文件被刪除后不僅會(huì)清空文件元信息,對(duì)于采用了尾部封裝的文件,甚至?xí)䦟⒉糠治募䲠?shù)據(jù)清除掉。圖3和圖4展示了ReiserFS文件系統(tǒng)刪除一個(gè)名為l.jpg文件前后磁盤(pán)上數(shù)據(jù)的變化情況。

    通過(guò)對(duì)比圖3和圖4中的數(shù)據(jù)變化可知,在ReiserFS文件系統(tǒng)中,當(dāng)一個(gè)文件被刪除后,刪除文件對(duì)應(yīng)的存儲(chǔ)文件元信息的條目數(shù)據(jù)會(huì)被移動(dòng)的已有的條目信息覆蓋。因此,ReiserFS文件系統(tǒng)刪除文件的恢復(fù)和其他文件系統(tǒng)比起來(lái)更加復(fù)雜且存在更多的限制。

    2.1基于日志信息的恢復(fù)技術(shù)

    為了確保文件與數(shù)據(jù)的安全性,ReiserFS采用日志的方式對(duì)一些元數(shù)據(jù)的改動(dòng)進(jìn)行記錄,使得在每個(gè)實(shí)際數(shù)據(jù)被修改前相應(yīng)的日志信息已經(jīng)寫(xiě)入到硬盤(pán)當(dāng)中。文件的創(chuàng)建、文件的修改以及文件的刪除,都在日志中有相應(yīng)的記錄。以文件的創(chuàng)建為例,創(chuàng)建一個(gè)文件會(huì)在B+樹(shù)中有相應(yīng)的條目記錄文件的屬性信息,同樣的這些條目信息也會(huì)出現(xiàn)在日志區(qū)域中。如圖5所示。

    由圖5可以看出,日志區(qū)域中包含了新創(chuàng)建文件相關(guān)的條目,因此如果該文件被刪除了且日志區(qū)域中相關(guān)的條目信息還存在,就可以通過(guò)分析日志信息恢復(fù)出被刪除的文件。當(dāng)然,并不是只有文件創(chuàng)建會(huì)將相關(guān)的條目信息寫(xiě)入到日志區(qū)域,由于日志區(qū)域的寫(xiě)入是以塊為單位的,所以只要塊中的任意一個(gè)信息被更改,整個(gè)塊都會(huì)被重新寫(xiě)入到日志區(qū)域中。因此,只要一個(gè)文件的條目信息所在塊近期有過(guò)更新,該文件被刪除后,仍然可被恢復(fù)。

    ReiserFS文件系統(tǒng)的日志區(qū)域元數(shù)據(jù)對(duì)應(yīng)用層是不可見(jiàn)的,因此要通過(guò)日志信息恢復(fù)文件先要獲取到日志信息所在的區(qū)域。ReiserFS文件系統(tǒng)的超級(jí)塊記錄了日志區(qū)域的起始?jí)K位置和日志區(qū)域占用的塊數(shù),所以通過(guò)超級(jí)塊可以很容易地定位日志信息所在的區(qū)域。獲取到日志信息所在的區(qū)域就可以對(duì)日志區(qū)域中的數(shù)據(jù)進(jìn)行分析從而恢復(fù)出被刪除的文件。

    ReiserFS刪除文件恢復(fù)的步驟如下:

    1)讀取超級(jí)塊數(shù)據(jù);

    2)分析超級(jí)塊數(shù)據(jù),獲取日志的起始?jí)K號(hào)、塊大小以及日志包含的塊數(shù)目;

    3)讀取一個(gè)日志塊,并通過(guò)塊的塊頭信息判斷是否為B+樹(shù)的葉子節(jié)點(diǎn)(如果是葉子節(jié)點(diǎn)塊,塊頭中的節(jié)點(diǎn)深度字段為1),如果不是轉(zhuǎn)步驟5);

    4)將當(dāng)前日志塊當(dāng)做B+樹(shù)的葉子節(jié)點(diǎn)進(jìn)行解析,獲取相應(yīng)的文件元信息并恢復(fù)文件;

    5)判斷是否還在存在未讀取的數(shù)據(jù)塊,如果是轉(zhuǎn)步驟3);

    6)結(jié)束。

    圖6為ReiserFS刪除文件恢復(fù)流程圖。

    由于,日志區(qū)域除了存儲(chǔ)刪除文件的條目信息外還存有一些正常的條目信息,因此通過(guò)日志信息恢復(fù)出來(lái)的文件可能是正常的文件,這時(shí)可以通過(guò)關(guān)鍵字進(jìn)行判斷。如果恢復(fù)出來(lái)的文件和正常文件存在相同的關(guān)鍵字,則表明屬于同一個(gè)文件。除此之外,日志區(qū)域中也有可能恢復(fù)出相同的文件,這時(shí)以最近更新的日志數(shù)據(jù)解析到的文件為主。

    2.2實(shí)驗(yàn)與結(jié)果

    本節(jié)通過(guò)一個(gè)簡(jiǎn)單實(shí)驗(yàn)來(lái)進(jìn)一步驗(yàn)證本文所提的方法的正確性。實(shí)驗(yàn)數(shù)據(jù)準(zhǔn)備的過(guò)程如下:

    1)在ubuntu12.04操作系統(tǒng)下創(chuàng)建一個(gè)1 GB的卷,并格式化成ReiserFS文件系統(tǒng)格式;

    2)向創(chuàng)建的卷中拷貝文件l.jpg、Reiserf.txt、TestDoc.txt;

    3)通過(guò)rm命令將l.jpg文件從卷中刪除;

    4)將該卷制作成ReiserFS.dd鏡像。

    數(shù)據(jù)制作完成后,分別采用本文的方法和AccessData FTK Imager工具對(duì)ReiserFS.dd鏡像進(jìn)行解析恢復(fù),恢復(fù)結(jié)果如圖7所示。

    由圖7可知,對(duì)于ReiserFS.dd鏡像的解析恢復(fù),F(xiàn)TK沒(méi)有恢復(fù)出l.jpg文件,而本文的方法恢復(fù)出了l.jpg文件且數(shù)據(jù)可以正常的預(yù)覽。主要是因?yàn)镕TK沒(méi)有對(duì)ReiserFS文件系統(tǒng)中的日志信息進(jìn)行分析,只是解析了B+樹(shù)中的節(jié)點(diǎn)信息,因此,只能解析出正常的文件信息,刪除的文件信息無(wú)法恢復(fù)。通過(guò)本實(shí)驗(yàn)證明了本文所提的ReiserFS刪除文件恢復(fù)方法的正確性。

    3綜述:

    ReiserFS文件系統(tǒng)是Linux系統(tǒng)下的一種非常優(yōu)秀的文件系統(tǒng),同時(shí)也是Linux系統(tǒng)上較早的日志文件系統(tǒng)之一。該文件系統(tǒng)有著日志機(jī)制先進(jìn)、磁盤(pán)利用率高、搜尋方式快速以及性能高等特點(diǎn),在需要同時(shí)快速處理大型文件和眾多的小型文件的系統(tǒng)上得到了較為廣泛的使用。目前,國(guó)內(nèi)外對(duì)ReiserFS文件系統(tǒng)刪除文件的恢復(fù)的研究較少,基本沒(méi)有相關(guān)的恢復(fù)技術(shù)資料。文章在詳細(xì)分析了該文件系統(tǒng)結(jié)構(gòu)的基礎(chǔ)上進(jìn)行了刪除數(shù)據(jù)恢復(fù)的研究,提出了一種ReiserFS刪除文件恢復(fù)方法,該方法在文件數(shù)據(jù)沒(méi)有被覆蓋的情況下能夠完整地恢復(fù)文件。

關(guān)鍵字:

招商信息月點(diǎn)擊排行

About Us - 關(guān)于我們 - 服務(wù)列表 - 付費(fèi)指導(dǎo) - 媒體合作 - 廣告服務(wù) - 版權(quán)聲明 - 聯(lián)系我們 - 網(wǎng)站地圖 - 常見(jiàn)問(wèn)題 - 友情鏈接
Copyright©2014安裝信息網(wǎng) www.78375555.com. All rights reserved.
服務(wù)熱線(xiàn):0371-61311617 郵箱:zgazxxw@126.com 豫ICP備18030500號(hào)-4
未經(jīng)過(guò)本站允許,請(qǐng)勿將本站內(nèi)容傳播或復(fù)制
安全聯(lián)盟認(rèn)證