恢復(fù)ext文件系統(tǒng)中已刪除文件的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本公開(kāi)涉及計(jì)算機(jī)通信技術(shù)領(lǐng)域,尤其涉及一種恢復(fù)ext文件系統(tǒng)中已刪除文件的方法及裝置。
【背景技術(shù)】
[0002]Android(安卓)系統(tǒng),是一個(gè)以L(fǎng)inux為基礎(chǔ)的開(kāi)源移動(dòng)設(shè)備操作系統(tǒng),主要用于智能手機(jī)、平板電腦等智能設(shè)備中。Android系統(tǒng)中的分區(qū)可以采用ext3/ext4版本的ext文件系統(tǒng)進(jìn)行文件管理。
[0003]在A(yíng)ndroid系統(tǒng)中,有些軟件會(huì)產(chǎn)生一些應(yīng)用數(shù)據(jù),長(zhǎng)時(shí)間使用后這些無(wú)用數(shù)據(jù)和垃圾會(huì)導(dǎo)致設(shè)備性能下降。用戶(hù)可能會(huì)使用一些清理文件的Android安裝包(AndroidPackage,APK)或者是系統(tǒng)自帶的清除App數(shù)據(jù)的操作來(lái)執(zhí)行文件系統(tǒng)中刪除文件的操作,以提高設(shè)備性能。然而,在實(shí)際操作中,用戶(hù)可能會(huì)誤刪除聯(lián)系人或短信等信息,并且在重啟了機(jī)器之后才發(fā)現(xiàn)誤刪除了重要信息,此種情況下,想要采用相關(guān)技術(shù)找回之前的誤刪除文件的數(shù)據(jù)會(huì)非常困難。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本公開(kāi)提供一種恢復(fù)ext文件系統(tǒng)中已刪除文件的方法及裝置,以解決相關(guān)技術(shù)中用戶(hù)終端無(wú)法快速恢復(fù)誤刪除文件數(shù)據(jù)的問(wèn)題。
[0005]根據(jù)本公開(kāi)實(shí)施例的第一方面,提供了一種恢復(fù)ext文件系統(tǒng)中已刪除文件的方法,所述方法包括:
[0006]確定已刪除文件所在的目標(biāo)分區(qū);
[0007]讀取所述目標(biāo)分區(qū)的超級(jí)塊,獲取日志文件記載的日志信息;
[0008]從所述日志信息中獲取已刪除文件的文件名對(duì)應(yīng)的目標(biāo)索引節(jié)點(diǎn)號(hào);
[0009]根據(jù)所述目標(biāo)索引節(jié)點(diǎn)號(hào)獲取已刪除文件的數(shù)據(jù),恢復(fù)所述已刪除文件。
[0010]可選地,所述讀取所述目標(biāo)分區(qū)的超級(jí)塊,獲取日志文件記載的日志信息,包括:
[0011]讀取所述目標(biāo)分區(qū)的超級(jí)塊,獲得日志文件對(duì)應(yīng)的第一索引節(jié)點(diǎn)號(hào);
[0012]根據(jù)所述第一索引節(jié)點(diǎn)號(hào),獲取存儲(chǔ)日志文件元數(shù)據(jù)的第一索引節(jié)點(diǎn);
[0013]讀取所述第一索引節(jié)點(diǎn)的信息,獲取所述日志文件所占用數(shù)據(jù)塊的第一數(shù)據(jù)塊標(biāo)識(shí);
[0014]讀取所述第一數(shù)據(jù)塊標(biāo)識(shí)對(duì)應(yīng)數(shù)據(jù)塊中的數(shù)據(jù),獲取日志文件。
[0015]可選地,所述從日志信息中獲取已刪除文件的文件名對(duì)應(yīng)的目標(biāo)索引節(jié)點(diǎn)號(hào),包括:
[0016]遍歷所述日志文件中的目錄信息,所述目錄信息包括文件名與索引節(jié)點(diǎn)號(hào)的對(duì)應(yīng)關(guān)系;
[0017]根據(jù)已刪除文件的文件名,從所述目錄信息中匹配對(duì)應(yīng)的目標(biāo)索引節(jié)點(diǎn)號(hào)。
[0018]可選地,所述根據(jù)目標(biāo)索引節(jié)點(diǎn)號(hào)獲取已刪除文件的數(shù)據(jù),恢復(fù)所述已刪除文件,包括:
[0019]從所述目標(biāo)索引節(jié)點(diǎn)號(hào)對(duì)應(yīng)的索引節(jié)點(diǎn)信息中,獲取所述已刪除文件所占用數(shù)據(jù)塊的目標(biāo)數(shù)據(jù)塊標(biāo)識(shí);
[0020]依據(jù)所述目標(biāo)數(shù)據(jù)塊標(biāo)識(shí)讀取目標(biāo)數(shù)據(jù)塊的數(shù)據(jù);
[0021 ] 保存所述目標(biāo)數(shù)據(jù)塊的數(shù)據(jù),恢復(fù)所述已刪除文件。
[0022]可選地,在所述讀取所述目標(biāo)分區(qū)的超級(jí)塊,獲取日志文件之前,還包括:
[0023]卸載所述目標(biāo)分區(qū)。
[0024]可選地,在所述讀取所述目標(biāo)分區(qū)的超級(jí)塊,獲取日志文件之前,還包括:
[0025]備份所述目標(biāo)分區(qū)。
[0026]可選地,所述確定已刪除文件所在的目標(biāo)分區(qū),包括:
[0027]根據(jù)所述已刪除文件的根路徑,由文件掛載信息中得到與所述根路徑對(duì)應(yīng)的分區(qū),為所述已刪除文件所在的目標(biāo)分區(qū)。
[0028]可選地,在所述確定已刪除文件所在的目標(biāo)分區(qū)之前,還包括:
[0029]接收恢復(fù)已刪除文件的操作指令。
[0030]根據(jù)本公開(kāi)實(shí)施例的第二方面,提供了一種恢復(fù)ext文件系統(tǒng)中已刪除文件的裝置,所述裝置包括:
[0031]分區(qū)確定模塊,用于確定已刪除文件所在的目標(biāo)分區(qū);
[0032]讀取模塊,用于讀取所述目標(biāo)分區(qū)的超級(jí)塊,獲取日志文件記載的日志信息;
[0033]索引節(jié)點(diǎn)號(hào)獲取模塊,用于從所述日志信息中獲取已刪除文件的文件名對(duì)應(yīng)的目標(biāo)索引節(jié)點(diǎn)號(hào);
[0034]恢復(fù)模塊,用于根據(jù)所述目標(biāo)索引節(jié)點(diǎn)號(hào)獲取已刪除文件的數(shù)據(jù),恢復(fù)所述已刪除文件。
[0035]可選的,所述讀取模塊包括:
[0036]第一節(jié)點(diǎn)號(hào)獲取子模塊,用于讀取所述目標(biāo)分區(qū)的超級(jí)塊,獲得日志文件對(duì)應(yīng)的第一索引節(jié)點(diǎn)號(hào);
[0037]第一索引節(jié)點(diǎn)獲取子模塊,用于根據(jù)所述第一索引節(jié)點(diǎn)號(hào),獲取存儲(chǔ)日志文件元數(shù)據(jù)的第一索引節(jié)點(diǎn);
[0038]第一數(shù)據(jù)塊標(biāo)識(shí)獲取子模塊,用于讀取第一索引節(jié)點(diǎn)的信息,獲取所述日志文件所占用數(shù)據(jù)塊的第一數(shù)據(jù)塊標(biāo)識(shí);
[0039]日志文件獲取子模塊,用于讀取所述第一數(shù)據(jù)塊標(biāo)識(shí)對(duì)應(yīng)數(shù)據(jù)塊中的數(shù)據(jù),獲取日志文件。
[0040]可選的,所述索引節(jié)點(diǎn)號(hào)獲取模塊包括:
[0041]遍歷子模塊,用于遍歷所述日志文件中的目錄信息,所述目錄信息包括文件名與索引節(jié)點(diǎn)號(hào)之間的對(duì)應(yīng)關(guān)系;
[0042]匹配子模塊,用于根據(jù)已刪除文件的文件名,從所述目錄信息中匹配對(duì)應(yīng)的目標(biāo)索引節(jié)點(diǎn)號(hào)。
[0043]可選的,所述恢復(fù)模塊包括:
[0044]目標(biāo)數(shù)據(jù)塊獲取子模塊,用于從所述目標(biāo)索引節(jié)點(diǎn)號(hào)對(duì)應(yīng)的索引節(jié)點(diǎn)信息中,獲取所述已刪除文件所占用數(shù)據(jù)塊的目標(biāo)數(shù)據(jù)塊標(biāo)識(shí);
[0045]數(shù)據(jù)讀取子模塊,用于依據(jù)所述目標(biāo)數(shù)據(jù)塊標(biāo)識(shí)讀取目標(biāo)數(shù)據(jù)塊的數(shù)據(jù);
[0046]存儲(chǔ)子模塊,用于保存所述目標(biāo)數(shù)據(jù)塊的數(shù)據(jù),恢復(fù)所述已刪除文件。
[0047]可選的,所述裝置還包括:
[0048]卸載模塊,用于卸載所述目標(biāo)分區(qū)。
[0049]可選的,所述裝置還包括:
[0050]備份模塊,用于備份所述目標(biāo)分區(qū)。
[0051]可選的,所述分區(qū)確定模塊用于根據(jù)所述已刪除文件的根路徑,由文件掛載信息中得到與所述根路徑對(duì)應(yīng)的分區(qū),為所述已刪除文件所在的目標(biāo)分區(qū)。
[0052]可選的,所述裝置還包括:
[0053]接收模塊,用于接收恢復(fù)已刪除文件的操作指令。
[0054]根據(jù)本公開(kāi)實(shí)施例的第三方面,提供了一種用戶(hù)終端,包括:處理器;用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;其中,所述處理器被配置為:
[0055]確定已刪除文件所在的目標(biāo)分區(qū);
[0056]讀取所述目標(biāo)分區(qū)的超級(jí)塊,獲取日志文件記載的日志信息;
[0057]從所述日志信息中獲取已刪除文件的文件名對(duì)應(yīng)的目標(biāo)索引節(jié)點(diǎn)號(hào);
[0058]根據(jù)所述目標(biāo)索引節(jié)點(diǎn)號(hào)獲取已刪除文件的數(shù)據(jù),恢復(fù)所述已刪除文件。
[0059]本公開(kāi)的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
[0060]本公開(kāi)實(shí)施例中,在文件被刪除后,操作系統(tǒng)沒(méi)有對(duì)已刪除文件所在目標(biāo)分區(qū)上的其他文件進(jìn)行過(guò)長(zhǎng)時(shí)間1操作的情況下,利用ext3/ext4文件系統(tǒng)屬于日志型文件系統(tǒng)的特性,通過(guò)讀取目標(biāo)分區(qū)超級(jí)塊中的日志文件記錄的已刪除文件的inode信息,根據(jù)目標(biāo)分區(qū)的數(shù)據(jù)結(jié)構(gòu),快速恢復(fù)已刪除文件。
[0061]本公開(kāi)中,在確定目標(biāo)分區(qū)之后卸載目標(biāo)分區(qū),使文件系統(tǒng)無(wú)法再對(duì)目標(biāo)分區(qū)中的文件執(zhí)行任何操作,可以防止后續(xù)對(duì)目標(biāo)分區(qū)中文件的操作造成已刪除文件數(shù)據(jù)被損壞比如數(shù)據(jù)被覆蓋導(dǎo)致永久消失,幫助用戶(hù)減少數(shù)據(jù)損失,提高系統(tǒng)穩(wěn)定性。
[0062]本公開(kāi)中,對(duì)目標(biāo)分區(qū)進(jìn)行備份,可以防止后續(xù)在目標(biāo)分區(qū)中讀取inode節(jié)點(diǎn)信息時(shí)意外造成目標(biāo)分區(qū)數(shù)據(jù)的破壞,減少用戶(hù)的數(shù)據(jù)損失,進(jìn)一步提高系統(tǒng)穩(wěn)定性。
[0063]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開(kāi)。
【附圖說(shuō)明】
[0064]此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本說(shuō)明書(shū)的一部分,示出了符合本公開(kāi)的實(shí)施例,并與說(shuō)明書(shū)一起用于解釋本公開(kāi)的原理。
[0065]圖1是相關(guān)技術(shù)根據(jù)一示例性實(shí)施例示出的文件數(shù)據(jù)定位過(guò)程的示意圖;
[0066]圖2是本公開(kāi)示出的ext文件系統(tǒng)的分區(qū)布局示意圖;
[0067]圖3是本公開(kāi)根據(jù)一示例性實(shí)施例示出的一種恢復(fù)ext文件系統(tǒng)中已刪除文件的方法的流程圖;
[0068]圖4是本公開(kāi)根據(jù)一示例性實(shí)施例示出的另一種恢復(fù)ext文件系統(tǒng)中已刪除文件的方法的流程圖;
[0069]圖5是本公開(kāi)根據(jù)一示例性實(shí)施例示出的另一種恢復(fù)ext文件系統(tǒng)中已刪除文件的方法的流程圖;
[0070]圖6是本公開(kāi)根據(jù)一示例性實(shí)施例示出的另一種恢復(fù)ext文件系統(tǒng)中已刪除文件的方法的流程圖;
[0071]圖7是本公開(kāi)根據(jù)一示例性實(shí)施例示出的另一種恢復(fù)ext文件系統(tǒng)中已刪除文件的方法的流程圖;
[0072]圖8是本公開(kāi)根據(jù)一示例性實(shí)施例示出的一種恢復(fù)ext文件系統(tǒng)中已刪除文件的裝置框圖;
[0073]圖9是本公開(kāi)根據(jù)一示例性實(shí)施例示出的另一種恢復(fù)ext文件系統(tǒng)中已刪除文件的裝置框圖;
[0074]圖10是本公開(kāi)根據(jù)一示例性實(shí)施例示出的另一種恢復(fù)ext文件系統(tǒng)中已刪除文件的裝置框圖;
[0075]圖11是本公開(kāi)根據(jù)一示例性實(shí)施例示出的另一種恢復(fù)ext文件系統(tǒng)中已刪除文件的裝置框圖;
[0076]圖12是本公開(kāi)根據(jù)一示例性實(shí)施例示出的另一種恢復(fù)ext文件系統(tǒng)中已刪除文件的裝置框圖;
[0077]圖13是本公開(kāi)根據(jù)一示例性實(shí)施例示出的另一種恢復(fù)ext文件系統(tǒng)中已刪除文件的裝置框圖;
[0078]圖14是本公開(kāi)根據(jù)一示例性實(shí)施例示出的另一種恢復(fù)ext文件系統(tǒng)中已刪除文件的裝置框圖;
[0079]圖15是本公開(kāi)根據(jù)一示例性實(shí)施例示出的一種用于恢復(fù)ext文件系統(tǒng)中已刪除文件的裝置的一結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0080]這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本公開(kāi)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本公開(kāi)的一些方面相一致的裝置和方法的例子。
[0081]在本公開(kāi)使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施