国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據(jù)備份、恢復(fù)方法及電子設(shè)備的制作方法

      文檔序號(hào):6503776閱讀:146來源:國知局
      一種數(shù)據(jù)備份、恢復(fù)方法及電子設(shè)備的制作方法
      【專利摘要】本發(fā)明公開了一種數(shù)據(jù)備份方法,用于提供針對(duì)SSD的較好的數(shù)據(jù)備份方式。所述方法包括:從存儲(chǔ)有硬盤邏輯地址與硬盤物理地址對(duì)應(yīng)關(guān)系的第一映射表中確定所述硬盤中的至少一個(gè)有效硬盤物理地址;在所述第一映射表中為所述至少一個(gè)有效硬盤物理地址設(shè)置至少一個(gè)第一標(biāo)識(shí)信息,得到第二映射表,以根據(jù)所述第二映射表和所述至少一個(gè)第一標(biāo)識(shí)信息進(jìn)行數(shù)據(jù)備份。本發(fā)明還公開了一種數(shù)據(jù)恢復(fù)方法,及相應(yīng)的電子設(shè)備。
      【專利說明】一種數(shù)據(jù)備份、恢復(fù)方法及電子設(shè)備

      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及計(jì)算機(jī)及嵌入式領(lǐng)域,特別涉及一種數(shù)據(jù)備份、恢復(fù)方法及電子設(shè)備。

      【背景技術(shù)】
      [0002] 固態(tài)硬盤(Solid State Disk,SSD)是用固態(tài)電子存儲(chǔ)芯片陣列而制成的硬盤。 固態(tài)硬盤的接口規(guī)范和定義、功能及使用方法上與普通硬盤的完全相同,在產(chǎn)品外形和尺 寸上也完全與普通硬盤一致。廣泛應(yīng)用于軍事、車載、工控、視頻監(jiān)控、網(wǎng)絡(luò)監(jiān)控、網(wǎng)絡(luò)終端、 電力、醫(yī)療、航空等、導(dǎo)航設(shè)備等領(lǐng)域。
      [0003] 固態(tài)硬盤的存儲(chǔ)介質(zhì)分為兩種,一種是采用閃存(FLASH)作為存儲(chǔ)介質(zhì),另外一 種是采用DRAM (Dynamic Random Access Memory,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)作為存儲(chǔ)介質(zhì)。
      [0004] 基于閃存的固態(tài)硬盤采用FLASH芯片作為存儲(chǔ)介質(zhì),這也是我們通常所說的SSD。 它的外觀可以被制作成多種模樣,例如:筆記本硬盤、微硬盤、存儲(chǔ)卡、U盤等樣式。這種SSD 固態(tài)硬盤最大的優(yōu)點(diǎn)就是可以移動(dòng),而且數(shù)據(jù)保護(hù)不受電源控制,能適應(yīng)于各種環(huán)境。
      [0005] 當(dāng)前FLASH存儲(chǔ)設(shè)備大量進(jìn)入市場,作為傳統(tǒng)磁盤的替代產(chǎn)品SSD在市場中占有 的份額也越來越大。但是由于傳統(tǒng)磁盤和SSD的差異性,基于傳統(tǒng)磁盤的備份及恢復(fù)方法 已經(jīng)不再適合SSD。
      [0006] 但現(xiàn)有技術(shù)中尚無較好的專門針對(duì)SSD的數(shù)據(jù)備份方式。


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

      [0007] 本發(fā)明實(shí)施例提供一種數(shù)據(jù)備份、恢復(fù)方法及電子設(shè)備,用于解決現(xiàn)有技術(shù)中沒 有較好的針對(duì)SSD的數(shù)據(jù)備份方式的技術(shù)問題,提供了針對(duì)SSD的較好的數(shù)據(jù)備份方式。
      [0008] 本發(fā)明的一個(gè)方面,提供一種數(shù)據(jù)備份方法,應(yīng)用于包括有硬盤的電子設(shè)備中,所 述方法包括以下步驟:
      [0009] 從存儲(chǔ)有硬盤邏輯地址與硬盤物理地址對(duì)應(yīng)關(guān)系的第一映射表中確定所述硬盤 中的至少一個(gè)有效硬盤物理地址;
      [0010] 在所述第一映射表中為所述至少一個(gè)有效硬盤物理地址設(shè)置至少一個(gè)第一標(biāo)識(shí) 信息,得到第二映射表,以根據(jù)所述第二映射表和所述至少一個(gè)第一標(biāo)識(shí)信息進(jìn)行數(shù)據(jù)備 份。
      [0011] 較佳的,從存儲(chǔ)有至少一個(gè)表征硬盤邏輯地址與硬盤物理地址對(duì)應(yīng)關(guān)系的映射表 項(xiàng)的第一映射表中確定所述硬盤中至少一個(gè)有效硬盤物理地址的步驟包括:
      [0012] 確定所述硬盤中存儲(chǔ)的有效數(shù)據(jù)所分別對(duì)應(yīng)的所述至少一個(gè)有效硬盤物理地 址;
      [0013] 在所述第一映射表中根據(jù)各映射表項(xiàng)確定出所述至少一個(gè)有效硬盤物理地址。
      [0014] 較佳的,在確定所述硬盤中存儲(chǔ)的有效數(shù)據(jù)所分別對(duì)應(yīng)的所述至少一個(gè)有效硬盤 物理地址之前還包括步驟:獲得所述操作系統(tǒng)發(fā)送的用于進(jìn)行數(shù)據(jù)備份的第一指令。
      [0015] 較佳的,在為所述至少一個(gè)有效硬盤地址設(shè)置所述至少一個(gè)第一標(biāo)識(shí)信息,得到 第二映射表之后還包括步驟:將所述第二映射表作為當(dāng)前映射表存儲(chǔ)到所述操作系統(tǒng)的內(nèi) 存中,及,將所述第二映射表作為備份映射表存儲(chǔ)到所述硬盤中。
      [0016] 較佳的,在將所述第二映射表作為當(dāng)前映射表存儲(chǔ)到所述操作系統(tǒng)的內(nèi)存中,及, 將所述第二映射表作為備份映射表存儲(chǔ)到所述硬盤中之后還包括步驟:
      [0017] 當(dāng)需要對(duì)硬盤中第一硬盤物理地址指向的第一硬盤位置進(jìn)行第一操作時(shí),根據(jù)所 述當(dāng)前映射表判斷所述第一硬盤物理地址是否帶有第一標(biāo)識(shí)信息;
      [0018] 如果所述第一硬盤物理地址帶有所述第一標(biāo)識(shí)信息,將所述第一硬盤位置中存儲(chǔ) 的第一內(nèi)容復(fù)制到所述硬盤中的第二硬盤物理地址指向的第二硬盤位置,并記錄修改信 息,所述第一硬盤物理地址與所述第二硬盤物理地址不同。
      [0019] 較佳的,記錄修改信息的步驟包括:在所述備份映射表中記錄所述修改信息。
      [0020] 較佳的,確定需要對(duì)硬盤中第一硬盤物理地址指向的第一硬盤位置進(jìn)行第一操作 的步驟包括:
      [0021] 獲得所述操作系統(tǒng)發(fā)送的用于對(duì)所述硬盤中第一硬盤邏輯地址進(jìn)行操作的第二 指令;
      [0022] 通過查詢所述當(dāng)前映射表,確定所述第一硬盤邏輯地址與所述第一硬盤物理地址 屬于同一映射表項(xiàng);
      [0023] 確定需要對(duì)所述第一硬盤物理地址指向的所述第一硬盤位置進(jìn)行所述第一操作。
      [0024] 較佳的,將所述第一硬盤物理地址中存儲(chǔ)的第一內(nèi)容復(fù)制到所述硬盤中的第二硬 盤物理地址指向的第二硬盤位置的步驟包括:
      [0025] 從所述硬盤的保護(hù)區(qū)中確定所述第二硬盤物理地址;
      [0026] 將所述第一內(nèi)容復(fù)制到所述第二硬盤物理地址指向的所述第二硬盤位置。
      [0027] 較佳的,所述第一操作為將所述第一內(nèi)容進(jìn)行垃圾回收的操作,或所述第一操作 為向所述第一硬盤位置寫入第二內(nèi)容的操作,或所述第一操作為將所述第一內(nèi)容進(jìn)行備份 的操作。
      [0028] 較佳的,當(dāng)所述第一操作為將所述第一內(nèi)容進(jìn)行垃圾回收的操作時(shí),在記錄修改 信息之后還包括步驟:將所述當(dāng)前映射表中原存儲(chǔ)的所述第一硬盤邏輯地址與第一硬盤物 理地址之間的映射表項(xiàng)更改為所述第一硬盤邏輯地址與所述第二硬盤物理地址之間的映 射表項(xiàng)。
      [0029] 較佳的,當(dāng)所述第一操作為將所述第一內(nèi)容進(jìn)行垃圾回收的操作時(shí),在需要對(duì)硬 盤中第一硬盤物理地址指向的第一硬盤位置進(jìn)行第一操作之前還包括步驟:
      [0030] 判斷所述當(dāng)前映射表中是否有所述至少一個(gè)映射表項(xiàng)與所述備份映射表中相應(yīng) 的至少一個(gè)映射表項(xiàng)不同;
      [0031] 如果所述當(dāng)前映射表中有所述至少一個(gè)映射表項(xiàng)與所述備份映射表中相應(yīng)的至 少一個(gè)映射表項(xiàng)不同,確定需將所述至少一個(gè)映射表項(xiàng)寫入所述備份映射表中,及釋放所 述當(dāng)前映射表中的所述至少一個(gè)映射表項(xiàng)。
      [0032] 較佳的,在判斷所述當(dāng)前映射表中是否有所述至少一個(gè)映射表項(xiàng)與所述備份映射 表中相應(yīng)的至少一個(gè)映射表項(xiàng)不同之前還包括步驟:
      [0033] 獲得用于讀取所述硬盤中的第四硬盤物理地址所指向的第四硬盤位置中的第三 內(nèi)容的第三指令;
      [0034] 當(dāng)所述第四硬盤物理地址對(duì)應(yīng)的第一映射表項(xiàng)沒有存在于所述當(dāng)前映射表中,且 所述當(dāng)前映射表中沒有空閑空間時(shí),確定需將所述當(dāng)前映射表中的所述至少一個(gè)映射表項(xiàng) 進(jìn)行釋放,并將所述備份映射表中的所述第一映射表項(xiàng)加載到所述當(dāng)前映射表中。
      [0035] 較佳的,當(dāng)所述第一操作為向所述第一硬盤位置寫入第二內(nèi)容的操作時(shí),在將所 述第一地址中存儲(chǔ)的第一內(nèi)容復(fù)制到所述硬盤中的第二硬盤物理地址指向的第二硬盤位 置,并記錄修改信息之后還包括步驟:從所述硬盤中確定第三硬盤物理地址,將所述第二內(nèi) 容寫入所述第三硬盤物理地址所指向的第三硬盤位置,所述第三硬盤物理地址、所述第一 硬盤物理地址和所述第二硬盤物理地址兩兩不相同。
      [0036] 較佳的,從所述硬盤中確定第三硬盤物理地址的步驟包括:
      [0037] 判斷所述硬盤中是否有空閑的所述第三硬盤位置可供寫入所述第二內(nèi)容;
      [0038] 當(dāng)所述硬盤中沒有空閑的所述第三硬盤位置可供寫入所述第二內(nèi)容時(shí),確定需對(duì) 所述硬盤進(jìn)行所述垃圾回收操作,以在所述硬盤中獲得空閑位置。
      [0039] 本發(fā)明的第二個(gè)方面,提供一種數(shù)據(jù)恢復(fù)方法,應(yīng)用于具有硬盤的電子設(shè)備,所述 方法包括以下步驟:
      [0040] 當(dāng)需要對(duì)操作系統(tǒng)進(jìn)行第二操作時(shí),判斷是否存在用于進(jìn)行數(shù)據(jù)恢復(fù)的第二指 令;
      [0041] 如果存在所述第二指令,根據(jù)所述第二指令,加載硬盤中存儲(chǔ)的第二映射表;
      [0042] 根據(jù)所述第二映射表對(duì)所述操作系統(tǒng)進(jìn)行所述第二操作。
      [0043] 較佳的,在當(dāng)需要對(duì)操作系統(tǒng)進(jìn)行第二操作時(shí),判斷是否存在用于進(jìn)行數(shù)據(jù)恢復(fù) 的第二指令之前還包括步驟:
      [0044] 獲得用于進(jìn)行數(shù)據(jù)恢復(fù)的所述第二指令;
      [0045] 根據(jù)第二標(biāo)識(shí)信息將所述第二指令進(jìn)行標(biāo)記。
      [0046] 較佳的,根據(jù)所述第二指令,加載硬盤中存儲(chǔ)的第二映射表的步驟包括:
      [0047] 讀取所述第二映射表中的至少一條修改記錄;
      [0048] 根據(jù)所述至少一條修改記錄修改所述第二映射表;
      [0049] 加載修改后的所述第二映射表。
      [0050] 較佳的,所述第二操作為啟動(dòng)所述操作系統(tǒng)的操作。
      [0051] 本發(fā)明的第三個(gè)方面,提供一種電子設(shè)備,所述電子設(shè)備包括有硬盤,所述硬盤包 括:
      [0052] 第一確定模塊,用于從存儲(chǔ)有硬盤邏輯地址與硬盤物理地址對(duì)應(yīng)關(guān)系的第一映射 表中確定所述硬盤中的至少一個(gè)有效硬盤物理地址;
      [0053] 第一獲取模塊,用于在所述第一映射表中為所述至少一個(gè)有效硬盤物理地址設(shè)置 至少一個(gè)第一標(biāo)識(shí)信息,得到第二映射表,以根據(jù)所述第二映射表和所述至少一個(gè)第一標(biāo) 識(shí)信息進(jìn)行數(shù)據(jù)備份。
      [0054] 較佳的,所述第一確定模塊包括第一確定子模塊和第二確定子模塊;
      [0055] 所述第一確定子模塊用于確定所述硬盤中存儲(chǔ)的有效數(shù)據(jù)所分別對(duì)應(yīng)的所述至 少一個(gè)有效硬盤物理地址;
      [0056] 所述第二確定子模塊用于在所述第一映射表中根據(jù)各映射表項(xiàng)確定出所述至少 一個(gè)有效硬盤物理地址。
      [0057] 較佳的,所述硬盤還包括第二獲取模塊,用于獲得所述操作系統(tǒng)發(fā)送的用于進(jìn)行 數(shù)據(jù)備份的第一指令。
      [0058] 較佳的,所述硬盤還包括第一處理模塊,用于將所述第二映射表作為當(dāng)前映射表 存儲(chǔ)到所述操作系統(tǒng)的內(nèi)存中,及,將所述第二映射表作為備份映射表存儲(chǔ)到所述硬盤中。
      [0059] 較佳的,所述硬盤還包括第一判斷模塊和第二處理模塊;
      [0060] 所述第一判斷模塊用于當(dāng)需要對(duì)硬盤中第一硬盤物理地址指向的第一硬盤位置 進(jìn)行第一操作時(shí),根據(jù)所述當(dāng)前映射表判斷所述第一硬盤物理地址是否帶有第一標(biāo)識(shí)信 息;
      [0061] 所述第二處理模塊用于如果所述第一硬盤物理地址帶有所述第一標(biāo)識(shí)信息,將所 述第一硬盤位置中存儲(chǔ)的第一內(nèi)容復(fù)制到所述硬盤中的第二硬盤物理地址指向的第二硬 盤位置,并記錄修改信息,所述第一硬盤物理地址與所述第二硬盤物理地址不同。
      [0062] 較佳的,所述第二處理模塊具體用于在所述備份映射表中記錄所述修改信息。
      [0063] 較佳的,所述硬盤還包括第二確定模塊,用于確定需要對(duì)硬盤中第一硬盤物理地 址指向的第一硬盤位置進(jìn)行第一操作;其中,所述第二確定模塊包括第一獲取子模塊、第三 確定子模塊和第四確定子模塊;
      [0064] 所述第一獲取子模塊用于獲得所述操作系統(tǒng)發(fā)送的用于對(duì)所述硬盤中第一硬盤 邏輯地址進(jìn)行操作的第二指令;
      [0065] 所述第三確定子模塊用于通過查詢所述當(dāng)前映射表,確定所述第一硬盤邏輯地址 與所述第一硬盤物理地址屬于同一映射表項(xiàng);
      [0066] 所述第四確定子模塊用于確定需要對(duì)所述第一硬盤物理地址指向的所述第一硬 盤位置進(jìn)行所述第一操作。
      [0067] 較佳的,所述第二處理模塊包括第五確定子模塊和第一處理子模塊;
      [0068] 所述第五確定子模塊用于從所述硬盤的保護(hù)區(qū)中確定所述第二硬盤物理地址;
      [0069] 所述第一處理子模塊用于將所述第一內(nèi)容復(fù)制到所述第二硬盤物理地址指向的 所述第二硬盤位置。
      [0070] 較佳的,所述第一操作為將所述第一內(nèi)容進(jìn)行垃圾回收的操作,或所述第一操作 為向所述第一硬盤位置寫入第二內(nèi)容的操作,或所述第一操作為將所述第一內(nèi)容進(jìn)行備份 的操作。
      [0071] 較佳的,當(dāng)所述第一操作為將所述第一內(nèi)容進(jìn)行垃圾回收的操作時(shí),所述硬盤還 包括第一更改模塊,用于將所述當(dāng)前映射表中原存儲(chǔ)的所述第一硬盤邏輯地址與第一硬盤 物理地址之間的映射表項(xiàng)更改為所述第一硬盤邏輯地址與所述第二硬盤物理地址之間的 映射表項(xiàng)。
      [0072] 較佳的,當(dāng)所述第一操作為將所述第一內(nèi)容進(jìn)行垃圾回收的操作時(shí),所述電子設(shè) 備還包括第二判斷模塊和第三確定模塊;
      [0073] 所述第二判斷模塊用于判斷所述當(dāng)前映射表中是否有所述至少一個(gè)映射表項(xiàng)與 所述備份映射表中相應(yīng)的至少一個(gè)映射表項(xiàng)不同;
      [0074] 所述第三確定模塊用于如果所述當(dāng)前映射表中有所述至少一個(gè)映射表項(xiàng)與所述 備份映射表中相應(yīng)的至少一個(gè)映射表項(xiàng)不同,確定需將所述至少一個(gè)映射表項(xiàng)寫入所述備 份映射表中,及釋放所述當(dāng)前映射表中的所述至少一個(gè)映射表項(xiàng)。
      [0075] 較佳的,所述硬盤還包括第三獲取模塊和第四確定模塊;
      [0076] 所述第三獲取模塊用于獲得用于讀取所述硬盤中的第四硬盤物理地址所指向的 第四硬盤位置中的第三內(nèi)容的第三指令;
      [0077] 所述第四確定模塊用于當(dāng)所述第四硬盤物理地址對(duì)應(yīng)的第一映射表項(xiàng)沒有存在 于所述當(dāng)前映射表中,且所述當(dāng)前映射表中沒有空閑空間時(shí),確定需將所述當(dāng)前映射表中 的所述至少一個(gè)映射表項(xiàng)進(jìn)行釋放,并將所述備份映射表中的所述第一映射表項(xiàng)加載到所 述當(dāng)前映射表中。
      [0078] 較佳的,當(dāng)所述第一操作為向所述第一硬盤位置寫入第二內(nèi)容的操作時(shí),所述硬 盤還包括第五確定模塊,用于從所述硬盤中確定第三硬盤物理地址,將所述第二內(nèi)容寫入 所述第三硬盤物理地址所指向的第三硬盤位置,所述第三硬盤物理地址、所述第一硬盤物 理地址和所述第二硬盤物理地址兩兩不相同。
      [0079] 較佳的,所述第五確定模塊包括第一判斷子模塊和第五確定子模塊;
      [0080] 所述第一判斷子模塊用于判斷所述硬盤中是否有空閑的所述第三硬盤位置可供 寫入所述第二內(nèi)容;
      [0081] 所述第五確定子模塊用于當(dāng)所述硬盤中沒有空閑的所述第三硬盤位置可供寫入 所述第二內(nèi)容時(shí),確定需對(duì)所述硬盤進(jìn)行所述垃圾回收操作,以在所述硬盤中獲得空閑位 置。
      [0082] 本發(fā)明的第四個(gè)方面,提供一種電子設(shè)備,所述電子設(shè)備具有硬盤,所述硬盤包 括:
      [0083] 第三判斷模塊,用于當(dāng)需要對(duì)操作系統(tǒng)進(jìn)行第二操作時(shí),判斷是否存在用于進(jìn)行 數(shù)據(jù)恢復(fù)的第二指令;
      [0084] 加載模塊,用于如果存在所述第二指令,根據(jù)所述第二指令,加載硬盤中存儲(chǔ)的第 二映射表;
      [0085] 操作模塊,用于根據(jù)所述第二映射表對(duì)所述操作系統(tǒng)進(jìn)行所述第二操作。
      [0086] 較佳的,所述硬盤還包括第四獲取模塊和標(biāo)記模塊;
      [0087] 所述第四獲取模塊用于獲得用于進(jìn)行數(shù)據(jù)恢復(fù)的所述第二指令;
      [0088] 所述標(biāo)記模塊用于根據(jù)第二標(biāo)識(shí)信息將所述第二指令進(jìn)行標(biāo)記。
      [0089] 較佳的,所述加載模塊包括讀取子模塊、修改子模塊和加載子模塊;
      [0090] 所述讀取子模塊用于讀取所述第二映射表中的至少一條修改記錄;
      [0091] 所述修改子模塊用于根據(jù)所述至少一條修改記錄修改所述第二映射表;
      [0092] 所述加載子模塊用于加載修改后的所述第二映射表。
      [0093] 較佳的,所述第二操作為啟動(dòng)所述操作系統(tǒng)的操作。
      [0094] 本發(fā)明實(shí)施例中的數(shù)據(jù)備份方法,所述方法可以應(yīng)用于包括有硬盤的電子設(shè)備 中,所述方法可以包括:從存儲(chǔ)有硬盤邏輯地址與硬盤物理地址對(duì)應(yīng)關(guān)系的第一映射表中 確定所述硬盤中的至少一個(gè)有效硬盤物理地址;在所述第一映射表中為所述至少一個(gè)有效 硬盤物理地址設(shè)置至少一個(gè)第一標(biāo)識(shí)信息,得到第二映射表,以根據(jù)所述第二映射表和所 述至少一個(gè)第一標(biāo)識(shí)信息進(jìn)行數(shù)據(jù)備份。
      [0095] 本發(fā)明實(shí)施例中,在需要進(jìn)行數(shù)據(jù)備份時(shí),可以從所述第一映射表中確定出所述 硬盤中的所述至少一個(gè)有效硬盤物理地址,其中每個(gè)有效硬盤物理地址對(duì)應(yīng)于所述硬盤中 存儲(chǔ)的有效數(shù)據(jù),在確定出所述至少一個(gè)有效硬盤物理地址后,可以在所述第一映射表中 為所述至少一個(gè)有效硬盤物理地址分別設(shè)置所述至少一個(gè)第一標(biāo)識(shí)信息,即為每個(gè)有效硬 盤物理地址都設(shè)置一個(gè)所述第一標(biāo)識(shí)信息,得到所述第二映射表,這樣,在后續(xù)的操作中, 無論是針對(duì)所述硬盤的寫操作還是垃圾回收操作,都可以根據(jù)所述第二映射表來對(duì)所述硬 盤中存儲(chǔ)的有效數(shù)據(jù)進(jìn)行備份。這樣,既不會(huì)影響數(shù)據(jù)備份的效果,同時(shí)在接到數(shù)據(jù)備份命 令時(shí),只需在所述第一映射表中設(shè)置所述第一標(biāo)識(shí)信息即可,無需進(jìn)行具體的備份工作,顯 然電子設(shè)備不會(huì)在一個(gè)時(shí)刻需要處理較多的任務(wù),對(duì)于電子設(shè)備來說需要處理的任務(wù)較為 分散,不會(huì)造成電子設(shè)備的負(fù)擔(dān),對(duì)用戶來說等待時(shí)間也較短,處理效率較高。

      【專利附圖】

      【附圖說明】
      [0096] 圖1為本發(fā)明實(shí)施例中數(shù)據(jù)備份方法的主要流程圖;
      [0097] 圖2為本發(fā)明實(shí)施例中數(shù)據(jù)恢復(fù)方法的主要流程圖;
      [0098] 圖3為本發(fā)明實(shí)施例中一種電子設(shè)備的詳細(xì)結(jié)構(gòu)圖;
      [0099] 圖4為本發(fā)明實(shí)施例中另一種電子設(shè)備的詳細(xì)結(jié)構(gòu)圖。

      【具體實(shí)施方式】
      [0100] 本發(fā)明實(shí)施例中的數(shù)據(jù)備份方法,所述方法可以應(yīng)用于包括有硬盤的電子設(shè)備 中,所述方法可以包括:從存儲(chǔ)有硬盤邏輯地址與硬盤物理地址對(duì)應(yīng)關(guān)系的第一映射表中 確定所述硬盤中的至少一個(gè)有效硬盤物理地址;在所述第一映射表中為所述至少一個(gè)有效 硬盤物理地址設(shè)置至少一個(gè)第一標(biāo)識(shí)信息,得到第二映射表,以根據(jù)所述第二映射表和所 述至少一個(gè)第一標(biāo)識(shí)信息進(jìn)行數(shù)據(jù)備份。
      [0101] 本發(fā)明實(shí)施例中,在需要進(jìn)行數(shù)據(jù)備份時(shí),可以從所述第一映射表中確定出所述 硬盤中的所述至少一個(gè)有效硬盤物理地址,其中每個(gè)有效硬盤物理地址對(duì)應(yīng)于所述硬盤中 存儲(chǔ)的有效數(shù)據(jù),在確定出所述至少一個(gè)有效硬盤物理地址后,可以在所述第一映射表中 為所述至少一個(gè)有效硬盤物理地址分別設(shè)置所述至少一個(gè)第一標(biāo)識(shí)信息,即為每個(gè)有效硬 盤物理地址都設(shè)置一個(gè)所述第一標(biāo)識(shí)信息,得到所述第二映射表,這樣,在后續(xù)的操作中, 無論是針對(duì)所述硬盤的寫操作還是垃圾回收操作,都可以根據(jù)所述第二映射表來對(duì)所述硬 盤中存儲(chǔ)的有效數(shù)據(jù)進(jìn)行備份。這樣,既不會(huì)影響數(shù)據(jù)備份的效果,同時(shí)在接到數(shù)據(jù)備份命 令時(shí),只需在所述第一映射表中設(shè)置所述第一標(biāo)識(shí)信息即可,無需進(jìn)行具體的備份工作,顯 然電子設(shè)備不會(huì)在一個(gè)時(shí)刻需要處理較多的任務(wù),對(duì)于電子設(shè)備來說需要處理的任務(wù)較為 分散,不會(huì)造成電子設(shè)備的負(fù)擔(dān),對(duì)用戶來說等待時(shí)間也較短,處理效率較高。
      [0102] 為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      [0103] 本發(fā)明實(shí)施例中,所述電子設(shè)備可以是PC (個(gè)人計(jì)算機(jī))、筆記本、PAD (平板電 腦)、手機(jī)等等不同的電子設(shè)備,只要所述電子設(shè)備具有硬盤即可。
      [0104] 本發(fā)明實(shí)施例中,所述硬盤,指的可以是SSD。
      [0105] 公知的,SSD中的最小存儲(chǔ)單位是page (頁),一般一個(gè)block(塊)中可以包括有 128或256個(gè)page。本發(fā)明實(shí)施例中,將一個(gè)page稱為一個(gè)硬盤位置,將一個(gè)page的地址 稱為硬盤物理地址。
      [0106] 另外,本文中術(shù)語"和/或",僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在 三種關(guān)系,例如,A和/或B,可以表示:單獨(dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情 況。另外,本文中字符"/",一般表示前后關(guān)聯(lián)對(duì)象是一種"或"的關(guān)系。
      [0107] 下面結(jié)合附圖對(duì)本發(fā)明優(yōu)選的實(shí)施方式進(jìn)行詳細(xì)說明。
      [0108] 實(shí)施例一
      [0109] 請(qǐng)參見圖1,本發(fā)明實(shí)施例提供一種數(shù)據(jù)備份方法,所述方法可以應(yīng)用于包括有硬 盤的電子設(shè)備中,所述方法的主要流程如下:
      [0110] 步驟101:從存儲(chǔ)有硬盤邏輯地址與硬盤物理地址對(duì)應(yīng)關(guān)系的第一映射表中確定 所述硬盤中的至少一個(gè)有效硬盤物理地址。
      [0111] 本發(fā)明實(shí)施例中,所述第一映射表可以是存儲(chǔ)在操作系統(tǒng)的內(nèi)存中的映射表,其 可以用于表征硬盤邏輯地址與硬盤物理地址之間的映射關(guān)系。
      [0112] 所述第一映射表中可以存儲(chǔ)有至少一個(gè)映射表項(xiàng),每個(gè)映射表項(xiàng)可以表不一個(gè)硬 盤邏輯地址與一個(gè)硬盤物理地址之間的映射關(guān)系。
      [0113] 例如,操作系統(tǒng)可能發(fā)出一個(gè)指令,指示要對(duì)硬盤中的地址A進(jìn)行操作,那么這個(gè) 地址A就是硬盤邏輯地址,硬盤接收到指令后要從所述第一映射表中確定出地址A所對(duì)應(yīng) 的映射表項(xiàng)A,根據(jù)映射表項(xiàng)A可以確定地址A所對(duì)應(yīng)的地址B,硬盤需對(duì)地址B進(jìn)行操作。 地址B就稱為硬盤物理地址。
      [0114] 具體的,本發(fā)明實(shí)施例中,要從所述第一映射表中確定所述硬盤中的所述至少一 個(gè)有效硬盤物理地址,可以是先收集所述硬盤中的有效數(shù)據(jù),確定收集的有效數(shù)據(jù)對(duì)應(yīng)于 所述至少一個(gè)有效硬盤物理地址,從而可以根據(jù)所述第一映射表中的各映射表項(xiàng)確定所述 至少一個(gè)有效硬盤物理地址。
      [0115] 較佳的,本發(fā)明實(shí)施例中,在確定所述硬盤中存儲(chǔ)的有效數(shù)據(jù)所分別對(duì)應(yīng)的所述 至少一個(gè)有效硬盤物理地址之前,可以首先接收到所述操作系統(tǒng)發(fā)出的用于進(jìn)行數(shù)據(jù)備份 的第一指令。
      [0116] 即,一個(gè)較為完整的過程可以是:操作系統(tǒng)發(fā)出用于進(jìn)行數(shù)據(jù)備份的所述第一指 令,所述硬盤接收到所述第一指令后,可以先收集所述硬盤中的有效數(shù)據(jù),確定收集的有效 數(shù)據(jù)對(duì)應(yīng)于所述至少一個(gè)有效硬盤物理地址,從而可以根據(jù)所述第一映射表中的各映射表 項(xiàng)確定所述至少一個(gè)有效硬盤物理地址。
      [0117] 步驟102 :在所述第一映射表中為所述至少一個(gè)有效硬盤物理地址設(shè)置至少一個(gè) 第一標(biāo)識(shí)信息,得到第二映射表,以根據(jù)所述第二映射表和所述至少一個(gè)第一標(biāo)識(shí)信息進(jìn) 行數(shù)據(jù)備份。
      [0118] 本發(fā)明實(shí)施例中,在所述第一映射表中確定出所述至少一個(gè)有效硬盤物理地址 后,可以在所述第一映射表中為所述至少一個(gè)有效硬盤物理地址設(shè)置所述至少一個(gè)第一標(biāo) 識(shí)信息,即可以在所述第一映射表中為所述至少一個(gè)有效硬盤物理地址中的每個(gè)硬盤物理 地址都設(shè)置一個(gè)所述第一標(biāo)識(shí)信息,從而得到所述第二映射表,在后續(xù)的操作中都可以根 據(jù)所述第二映射表和所述至少一個(gè)第一標(biāo)識(shí)信息進(jìn)行數(shù)據(jù)備份。
      [0119] 進(jìn)一步的,在本發(fā)明另一實(shí)施例中,在得到所述第二映射表后,可以將所述第二映 射表進(jìn)行存儲(chǔ)。
      [0120] 較佳的,可以將所述第二映射表同時(shí)存儲(chǔ)在所述操作系統(tǒng)的內(nèi)存中和所述硬盤 中。本發(fā)明實(shí)施例中,將存儲(chǔ)在所述操作系統(tǒng)的內(nèi)存中的所述第二映射表稱為當(dāng)前映射表, 將存儲(chǔ)在所述硬盤中的所述第二映射表稱為備份映射表。
      [0121] 進(jìn)一步的,在本發(fā)明另一實(shí)施例中,在將所述第二映射表同時(shí)存儲(chǔ)在所述操作系 統(tǒng)的內(nèi)存中和所述硬盤中后,當(dāng)需要對(duì)所述硬盤中的第一硬盤物理地址指向的第一硬盤位 置進(jìn)行第一操作時(shí),可以根據(jù)所述當(dāng)前映射表判斷所述第一硬盤物理地址是否帶有所述第 一標(biāo)識(shí)信息。
      [0122] S卩,如果需要對(duì)所述第一硬盤位置進(jìn)行操作,可以首先判斷在所述當(dāng)前映射表中, 所述第一硬盤物理地址是否設(shè)置有所述第一標(biāo)識(shí)信息。
      [0123] 如果判斷確定在所述當(dāng)前映射表中所述第一硬盤物理地址帶有所述第一標(biāo)識(shí)信 息,則可以將所述第一硬盤位置中存儲(chǔ)的第一內(nèi)容復(fù)制到所述硬盤中的第二硬盤物理地址 指向的第二硬盤位置,并可以記錄修改信息,所述修改信息也就是所述第一內(nèi)容的位置發(fā) 生變化的具體信息。本發(fā)明實(shí)施例中,所述第一硬盤物理地址與所述第二硬盤物理地址不 同,則相應(yīng)的所述第一硬盤位置與所述第二硬盤位置也自然不同。
      [0124] 較佳的,本發(fā)明實(shí)施例中,在記錄所述修改信息時(shí),具體可以是在所述備份映射表 中記錄所述修改信息。
      [0125] 具體的,本發(fā)明實(shí)施例中,確定需要對(duì)所述硬盤中的第一硬盤物理地址指向的第 一硬盤位置進(jìn)行第一操作,具體可以是:獲得所述操作系統(tǒng)發(fā)送的用于對(duì)所述硬盤中第一 硬盤邏輯地址進(jìn)行操作的第二指令,在獲得所述第二指令后,可以查詢所述當(dāng)前映射表,確 定所述第一硬盤邏輯地址與所述第一硬盤物理地址屬于同一映射表項(xiàng),即確定所述第一硬 盤邏輯地址映射到所述第一硬盤物理地址,之后可以確定需要對(duì)所述第一硬盤物理地址指 向的所述第一硬盤位置進(jìn)行所述第一操作。
      [0126] 較佳的,在本發(fā)明另一實(shí)施例中,將所述第一硬盤物理地址中存儲(chǔ)的第一內(nèi)容復(fù) 制到所述硬盤中的第二硬盤物理地址指向的第二硬盤位置,具體可以是:先從所述硬盤的 保護(hù)區(qū)中確定所述第二硬盤物理地址,在確定出所述第二硬盤物理地址后,可以將所述第 一內(nèi)容復(fù)制到所述第一硬盤物理地址指向的所述第二硬盤位置。
      [0127] 在該實(shí)施例中,可以預(yù)先在所述硬盤中確定出至少一個(gè)保護(hù)區(qū),對(duì)于SSD來說,一 個(gè)保護(hù)區(qū)也可以是指一個(gè)block,可以預(yù)先規(guī)定,在所述保護(hù)區(qū)中存儲(chǔ)的數(shù)據(jù),不參與垃圾 回收等操作,可以在一定程度上保證所述保護(hù)區(qū)中存儲(chǔ)的數(shù)據(jù)不會(huì)丟失。這樣,將所述第一 內(nèi)容復(fù)制到所述保護(hù)區(qū)后,也就相當(dāng)于將所述第一內(nèi)容進(jìn)行了數(shù)據(jù)備份。
      [0128] 較佳的,本發(fā)明實(shí)施例中,所述第一操作可以是將所述第一內(nèi)容進(jìn)行垃圾回收的 操作,或所述第一操作可以是向所述第一硬盤位置寫入第二內(nèi)容的操作,或所述第一操作 可以是將所述第一內(nèi)容進(jìn)行備份的操作。其中,如果所述第一操作是將所述第一內(nèi)容進(jìn)行 備份的操作,則所述第一操作可以是在所述硬盤處于空閑狀態(tài)(idle)時(shí)進(jìn)行的操作。例 如,如果所述操作系統(tǒng)未使用所述硬盤的時(shí)長超過了預(yù)設(shè)時(shí)長,則所述硬盤可以進(jìn)入所述 空閑狀態(tài)。以下分別進(jìn)行說明。
      [0129] 可選的,本發(fā)明實(shí)施例中,如果所述第一操作為向所述第一硬盤位置寫入所述第 二內(nèi)容的操作,那么,可以首先是所述操作系統(tǒng)向所述硬盤發(fā)出要向第一硬盤邏輯地址指 向的位置寫入所述第二內(nèi)容的指令,所述硬盤接收到該指令后,可以在所述當(dāng)前映射表中 確定所述第一硬盤邏輯地址映射到所述第一硬盤物理地址,即確定要向所述第一硬盤物理 地址指向的所述第一硬盤位置寫入所述第二內(nèi)容。
      [0130] 所述硬盤可以在所述當(dāng)前映射表中判斷所述第一硬盤物理地址是否帶有所述第 一標(biāo)識(shí)信息,如果判斷確定所述第一硬盤物理地址帶有所述第一標(biāo)識(shí)信息,則可以將所述 第一硬盤物理地址指向的所述第一硬盤位置中存儲(chǔ)的所述第一內(nèi)容復(fù)制到所述硬盤中的 所述第二硬盤物理地址指向的所述第二硬盤位置,并可以在所述備份映射表中記錄所述修 改信息。
      [0131] 較佳的,在該實(shí)施例中,所述第二硬盤位置可以位于所述保護(hù)區(qū)中,即可以首先在 所述保護(hù)區(qū)中確定出所述第二硬盤位置,之后將所述第一內(nèi)容復(fù)制到所述第二硬盤位置。
      [0132] 在該實(shí)施例中,將所述第一內(nèi)容復(fù)制到所述第二硬盤位置后,可以在所述硬盤中 確定出處于空閑狀態(tài)的第三硬盤物理地址,并可以將所述第二內(nèi)容寫入到所述第三硬盤物 理地址指向的第三硬盤位置。其中,所述第三硬盤物理地址、所述第一硬盤物理地址和所述 第二硬盤物理地址兩兩不相同。
      [0133] 可見,在該實(shí)施例中,如果在將所述第一內(nèi)容復(fù)制到所述第二硬盤位置后,如果判 斷確定在所述硬盤中沒有處于空閑狀態(tài)的所述第三硬盤物理位置用于寫入所述第二內(nèi)容, 則可以確定要對(duì)所述硬盤進(jìn)行垃圾回收操作,以在所述硬盤中獲得空閑位置來寫入所述第 二內(nèi)容。
      [0134] 在該實(shí)施例中,在根據(jù)所述當(dāng)前映射表判斷所述第一硬盤物理地址是否帶有所述 第一標(biāo)識(shí)信息之后,如果判斷確定所述第一硬盤物理地址不帶有所述第一標(biāo)識(shí)信息,則可 以執(zhí)行如正常流程中的SSD寫盤操作。
      [0135] 可選的,本發(fā)明實(shí)施例中,如果所述第一操作為將所述第一內(nèi)容進(jìn)行備份的操作, 則在所述硬盤進(jìn)入所述空閑狀態(tài)時(shí),可以遍歷所述當(dāng)前映射表,例如可以分別判斷所述當(dāng) 前映射表中的各映射表項(xiàng)中的硬盤物理地址是否帶有所述第一標(biāo)識(shí)信息。例如,對(duì)于所述 當(dāng)前映射表中的第一映射表項(xiàng)來說,其是表征第一硬盤邏輯地址和第一硬盤物理地址之間 的映射關(guān)系,則,所述硬盤如果需要對(duì)所述第一硬盤物理地址指向的第一硬盤位置進(jìn)行操 作,就可以根據(jù)所述當(dāng)前映射表判斷所述第一硬盤物理地址是否帶有所述第一標(biāo)識(shí)信息。
      [0136] 如果判斷確定所述第一硬盤物理地址帶有所述第一標(biāo)識(shí)信息,那么可以將所述第 一硬盤物理地址指向的所述第一硬盤位置中存儲(chǔ)的所述第一內(nèi)容復(fù)制到所述硬盤中的所 述第二硬盤物理地址指向的所述第二硬盤位置,并可以在所述備份映射表中記錄所述修改 信息。
      [0137] 較佳的,在該實(shí)施例中,所述第二硬盤位置可以位于所述保護(hù)區(qū)中,即可以首先在 所述保護(hù)區(qū)中確定出所述第二硬盤位置,之后將所述第一內(nèi)容復(fù)制到所述第二硬盤位置。
      [0138] 較佳的,在該實(shí)施例中,在將所述第一內(nèi)容復(fù)制到所述第二硬盤位置后,還可以修 改所述當(dāng)前映射表,例如可以將所述當(dāng)前映射表中原來記錄的所述第一硬盤物理地址與所 述第一硬盤邏輯地址之間的映射表項(xiàng)修改為所述第二硬盤物理地址與所述第一硬盤邏輯 地址之間的映射表項(xiàng)。因?yàn)樵谶M(jìn)行數(shù)據(jù)備份操作后,對(duì)數(shù)據(jù)進(jìn)行了復(fù)制,而復(fù)制到所述保護(hù) 區(qū)中的數(shù)據(jù)是在一定程度上能夠保證完整性的,因此當(dāng)需要使用該數(shù)據(jù)時(shí)可以根據(jù)修改后 的當(dāng)前映射表直接調(diào)用所述保護(hù)區(qū)中存儲(chǔ)的數(shù)據(jù),以避免原來存儲(chǔ)在所述第一硬盤位置中 的數(shù)據(jù)很有可能會(huì)在垃圾回收等操作中被清理。
      [0139] 并且,在該實(shí)施例中,在修改所述當(dāng)前映射表時(shí),修改完畢后,可以去掉原來為所 述第一硬盤物理地址設(shè)置的所述第一標(biāo)識(shí)信息。因?yàn)榇藭r(shí)已將所述第一內(nèi)容移動(dòng)到了所述 保護(hù)區(qū)中的所述第二硬盤位置,無需再為所述第一硬盤物理地址設(shè)置所述第一標(biāo)識(shí)信息。
      [0140] 本發(fā)明實(shí)施例中,可以看出,一般情況下,都是系統(tǒng)進(jìn)行一些正常操作,例如垃圾 回收、寫入等操作時(shí),才會(huì)相應(yīng)的根據(jù)所述第二映射表及設(shè)置的所述第一標(biāo)識(shí)信息來進(jìn)行 數(shù)據(jù)備份工作,這樣,既能夠很好的完成數(shù)據(jù)備份工作,又不會(huì)使數(shù)據(jù)備份工作占用太多的 時(shí)間,有效的達(dá)到了時(shí)間的統(tǒng)籌利用。
      [0141] 但在所述硬盤處于空閑狀態(tài)時(shí),也可以專門進(jìn)行數(shù)據(jù)備份工作,這樣,可以在所述 保護(hù)區(qū)中專門設(shè)置一個(gè)較為完整的區(qū)域來存儲(chǔ)備份的數(shù)據(jù),可以使數(shù)據(jù)在所述硬盤中存儲(chǔ) 的較為集中,避免因?yàn)榉稚⒍黾硬檎业膹?fù)雜度。
      [0142] 因此,本發(fā)明實(shí)施例中,當(dāng)所述硬盤處于所述空閑狀態(tài)時(shí),所述硬盤遍歷映射表的 舉動(dòng)也就可以看做是要對(duì)所述硬盤進(jìn)行操作,即可以看做是要對(duì)所述硬盤中第一硬盤物理 地址指向的第一硬盤位置進(jìn)行所述第一操作。
      [0143] 在該實(shí)施例中,在根據(jù)所述當(dāng)前映射表判斷所述第一硬盤物理地址是否帶有所述 第一標(biāo)識(shí)信息之后,如果判斷確定所述第一硬盤物理地址不帶有所述第一標(biāo)識(shí)信息,則可 以繼續(xù)判斷是否已將所述當(dāng)前映射表遍歷完畢,如果判斷確定所述當(dāng)前映射表還未遍歷完 畢,則可以繼續(xù)判斷所述當(dāng)前映射表中的下一個(gè)硬盤物理地址是否帶有所述第一標(biāo)識(shí)信 息,如果判斷確定所述當(dāng)前映射表已遍歷完畢,則可以停止遍歷,繼續(xù)保持處于所述空閑狀 態(tài)。
      [0144] 可選的,本發(fā)明實(shí)施例中,如果所述第一操作為將所述第一內(nèi)容進(jìn)行垃圾回收的 操作,那么,首先所述硬盤進(jìn)入垃圾回收(Garbage Collection)流程,之后,所述硬盤選擇 犧牲塊,即需要進(jìn)行垃圾回收的塊,在選擇所述犧牲塊后,判斷所述犧牲塊中是否有硬盤位 置存儲(chǔ)有有效硬盤數(shù)據(jù),在本發(fā)明實(shí)施例中,也就是根據(jù)所述當(dāng)前映射表判斷所述犧牲塊 中對(duì)應(yīng)的各硬盤物理地址是否帶有所述第一標(biāo)識(shí)信息,即,對(duì)于所述犧牲塊中的第一硬盤 物理地址來說,所述硬盤可以是根據(jù)所述當(dāng)前映射表判斷所述第一硬盤物理地址是否帶有 所述第一標(biāo)識(shí)信息。
      [0145] 如果所述第一硬盤物理地址帶有所述第一標(biāo)識(shí)信息,則可以將所述第一硬盤物理 地址指向的所述第一硬盤位置中存儲(chǔ)的所述第一內(nèi)容復(fù)制到所述硬盤中的所述第二硬盤 物理地址指向的所述第二硬盤位置,并可以在所述備份映射表中記錄所述修改信息。
      [0146] 較佳的,在該實(shí)施例中,所述第二硬盤位置可以位于所述保護(hù)區(qū)中,即可以首先在 所述保護(hù)區(qū)中確定出所述第二硬盤位置,之后將所述第一內(nèi)容復(fù)制到所述第二硬盤位置。
      [0147] 較佳的,在該實(shí)施例中,在將所述第一內(nèi)容復(fù)制到所述第二硬盤位置后,還可以修 改所述當(dāng)前映射表,例如可以將所述當(dāng)前映射表中原來記錄的所述第一硬盤物理地址與第 一硬盤邏輯地址之間的映射表項(xiàng)修改為所述第二硬盤物理地址與所述第一硬盤邏輯地址 之間的映射表項(xiàng)。因?yàn)樵谶M(jìn)行垃圾回收時(shí),所述第一硬盤位置中存儲(chǔ)的所述第一內(nèi)容很可 能會(huì)被清理掉,而如果所述操作系統(tǒng)還需要查找所述第一內(nèi)容,所述硬盤可以根據(jù)所述當(dāng) 前映射表直接在所述第二硬盤位置中找到所述第一內(nèi)容,保證所述第一內(nèi)容不會(huì)丟失。
      [0148] 并且,在該實(shí)施例中,在修改所述當(dāng)前映射表時(shí),修改完畢后,可以去掉原來為所 述第一硬盤物理地址設(shè)置的所述第一標(biāo)識(shí)信息。因?yàn)榇藭r(shí)已將所述第一內(nèi)容移動(dòng)到了所述 保護(hù)區(qū)中的所述第二硬盤位置,無需再為所述第一硬盤物理地址設(shè)置所述第一標(biāo)識(shí)信息。
      [0149] 在該實(shí)施例中,在判斷所述犧牲塊中是否有硬盤位置存儲(chǔ)有有效硬盤數(shù)據(jù)之后, 如果所述犧牲塊中沒有硬盤位置存儲(chǔ)有所述有效硬盤數(shù)據(jù),即在所述當(dāng)前映射表中,所述 犧牲塊對(duì)應(yīng)的各硬盤物理地址中均未帶有所述第一標(biāo)識(shí)信息,則在處理到所述犧牲塊對(duì)應(yīng) 的所述第五硬盤物理地址指向的所述第五硬盤位置時(shí),如果所述第五硬盤位置中存儲(chǔ)的所 述第五內(nèi)容為有效硬盤數(shù)據(jù),則可以將所述第五內(nèi)容復(fù)制到第六硬盤物理地址指向的第六 硬盤位置,所述第五硬盤位置為所述硬盤中的空閑位置,同時(shí)可以修改所述當(dāng)前映射表,例 如可以將所述當(dāng)前映射表中原來記錄的所述第五硬盤物理地址與第五硬盤邏輯地址之間 的映射表項(xiàng)修改為所述第六硬盤物理地址與所述第五硬盤邏輯地址之間的映射表項(xiàng)。
      [0150] 進(jìn)一步的,如果所述操作系統(tǒng)指示需讀出所述硬盤中的數(shù)據(jù),即需要進(jìn)行讀操作, 則可能也會(huì)涉及到所述垃圾回收操作。具體描述如下:
      [0151] 當(dāng)所述第一操作為將所述第一內(nèi)容進(jìn)行垃圾回收的操作時(shí),在需要對(duì)所述硬盤中 所述第一硬盤物理地址指向的所述第一硬盤位置進(jìn)行所述第一操作之前,可以首先判斷所 述當(dāng)前映射表中是否有所述至少一個(gè)映射表項(xiàng)與所述備份映射表中的相應(yīng)的至少一個(gè)映 射表項(xiàng)不同。本發(fā)明實(shí)施例中,不計(jì)所述修改記錄,所述當(dāng)前映射表與所述備份映射表應(yīng)該 是相同的。那么,如果所述當(dāng)前映射表中有的映射表項(xiàng)與所述備份映射表中相應(yīng)的映射表 項(xiàng)不同,則可以說明所述當(dāng)前映射表被修改過,那么就應(yīng)該根據(jù)修改后的當(dāng)前映射表來更 新所述備份映射表。
      [0152] 如果判斷確定所述當(dāng)前映射表中有所述至少一個(gè)映射表項(xiàng)與所述備份映射表中 的相應(yīng)的至少一個(gè)映射表項(xiàng)不同,則可以確定需將所述當(dāng)前映射表中的所述至少一個(gè)映射 表項(xiàng)寫入所述備份映射表中,同時(shí)可以釋放所述當(dāng)前映射表中的所述至少一個(gè)映射表項(xiàng)。 具體為何要釋放所述當(dāng)前映射表中的所述至少一個(gè)映射表項(xiàng),是與讀數(shù)據(jù)的操作相關(guān),后 續(xù)會(huì)進(jìn)行解釋。
      [0153] 在將所述當(dāng)前映射表中的所述至少一個(gè)映射表項(xiàng)寫入所述備份映射表之前,首先 要判斷所述備份映射表中是否有空閑位置來用于存儲(chǔ)所述至少一個(gè)映射表項(xiàng),也就是判斷 所述硬盤中是否有空閑位置來用于存儲(chǔ)所述至少一個(gè)映射表項(xiàng),如果判斷確定所述硬盤中 沒有空閑位置來用于存儲(chǔ)所述至少一個(gè)映射表項(xiàng),那么就確定啟動(dòng)垃圾回收流程,具體的 垃圾回收過程前面已有介紹,此處不再贅述。
      [0154] 在通過垃圾回收獲得空閑位置后,可以將所述至少一個(gè)映射表項(xiàng)寫入所述備份映 射表,之后可以釋放所述當(dāng)前映射表中的所述至少一個(gè)映射表項(xiàng)。
      [0155] 在該實(shí)施例中,在判斷所述當(dāng)前映射表中是否有所述至少一個(gè)映射表項(xiàng)與所述備 份映射表中相應(yīng)的至少一個(gè)映射表項(xiàng)不同之前,可以首先獲得所述操作系統(tǒng)發(fā)出的用于讀 取所述硬盤中的第四硬盤物理地址所指向的第四硬盤位置中的第三內(nèi)容的第三指令,即獲 得用于從所述硬盤中進(jìn)行讀數(shù)據(jù)的所述第三指令。
      [0156] 當(dāng)所述第四硬盤物理地址對(duì)應(yīng)的第一映射表項(xiàng)沒有存在于所述當(dāng)前映射表中,且 用于存儲(chǔ)所述當(dāng)前映射表的第一內(nèi)存區(qū)域中沒有存儲(chǔ)空間時(shí),確定需將所述當(dāng)前映射表中 的所述至少一個(gè)映射表項(xiàng)進(jìn)行釋放,并將所述備份映射表中的所述第一映射表項(xiàng)加載到所 述當(dāng)前映射表中。
      [0157] 具體的,在獲得所述第三指令后,可以判斷所述第四硬盤物理地址對(duì)應(yīng)的所述第 一映射表項(xiàng)是否存在于所述當(dāng)前映射表中,如果判斷確定所述第四硬盤物理地址對(duì)應(yīng)的所 述第一映射表項(xiàng)沒有存在于所述當(dāng)前映射表中,可以繼續(xù)判斷所述當(dāng)前映射表中是否有空 閑空間能夠用于存儲(chǔ)所述第一映射表項(xiàng),如果判斷確定所述當(dāng)前映射表中沒有空閑空間能 夠用于存儲(chǔ)所述第一映射表項(xiàng),則可以確定需要從所述當(dāng)前映射表中釋放所述至少一個(gè)映 射表項(xiàng),以能夠用釋放出的空間來存儲(chǔ)所述第一映射表項(xiàng),并可以確定要將所述備份映射 表項(xiàng)中的所述第一映射表項(xiàng)加載到所述當(dāng)前映射表中。也就是說,如果所述當(dāng)前映射表中 沒有所述第一映射表項(xiàng),則必須要將所述備份映射表中存儲(chǔ)的所述第一映射表項(xiàng)加載到所 述當(dāng)前映射表后才可以進(jìn)行正常的讀數(shù)據(jù)操作,因此,如果此時(shí)所述當(dāng)前映射表中沒有空 間空間可用于存儲(chǔ)所述第一映射表項(xiàng),那就需要從所述當(dāng)前映射表中釋放出空間來存放所 述第一映射表項(xiàng)。
      [0158] 具體的,當(dāng)需要從所述當(dāng)前映射表中釋放所述至少一個(gè)映射表項(xiàng)時(shí),可以先判斷 所述當(dāng)前映射表中是否有所述至少一個(gè)映射表項(xiàng)與所述備份映射表中相應(yīng)的至少一個(gè)映 射表項(xiàng)不同,這也就進(jìn)入了如上描述過的步驟中。而如果判斷確定所述當(dāng)前映射表中沒有 所述至少一個(gè)映射表項(xiàng)與所述備份映射表中的相應(yīng)的至少一個(gè)映射表項(xiàng)不同,即所述當(dāng)前 映射表中存儲(chǔ)的各映射表項(xiàng)均與所述備份映射表中存儲(chǔ)的相應(yīng)映射表項(xiàng)相同,那么可以從 所述當(dāng)前映射表中任選所述至少一個(gè)映射表項(xiàng)進(jìn)行釋放,以留出空閑空間來存放所述第一 映射表項(xiàng)。
      [0159] 以下給出幾個(gè)具體的實(shí)施例來介紹本發(fā)明中的信息處理方法,下面的實(shí)施例主要 介紹了所述方法的幾種可能的應(yīng)用場景。需要說明的是,本發(fā)明中的實(shí)施例只用于解釋本 發(fā)明,而不能用于限制本發(fā)明。凡是符合本發(fā)明思想的實(shí)施例均在本發(fā)明的保護(hù)范圍之內(nèi)。
      [0160] 實(shí)施例二
      [0161] 所述電子設(shè)備為筆記本,所述筆記本中具有SSD類型的硬盤。
      [0162] 所述筆記本中的操作系統(tǒng)發(fā)出用于進(jìn)行數(shù)據(jù)備份的第一指令,所述硬盤接收到所 述第一指令后,可以先收集所述硬盤中的有效數(shù)據(jù),確定收集的有效數(shù)據(jù)對(duì)應(yīng)于所述至少 一個(gè)有效硬盤物理地址,從而可以根據(jù)所述第一映射表中的各映射表項(xiàng)確定所述至少一個(gè) 有效硬盤物理地址。
      [0163] 在所述第一映射表中確定出所述至少一個(gè)有效硬盤物理地址后,可以在所述第一 映射表中為所述至少一個(gè)有效硬盤物理地址設(shè)置所述至少一個(gè)第一標(biāo)識(shí)信息,得到第二映 射表,在得到所述第二映射表后,可以將所述第二映射表進(jìn)行存儲(chǔ)。本實(shí)施例中,可以將所 述第二映射表同時(shí)存儲(chǔ)在所述操作系統(tǒng)的內(nèi)存中和所述硬盤中??梢詫⒋鎯?chǔ)在所述操作系 統(tǒng)的內(nèi)存中的所述第二映射表稱為當(dāng)前映射表,將存儲(chǔ)在所述硬盤中的所述第二映射表稱 為備份映射表。
      [0164] 所述操作系統(tǒng)向所述硬盤發(fā)出要向硬盤邏輯地址A指向的位置寫入第二內(nèi)容的 指令,所述硬盤接收到該指令后,可以在所述當(dāng)前映射表中確定所述硬盤邏輯地址A映射 到硬盤物理地址A,即確定要向所述硬盤物理地址A指向的硬盤位置A寫入所述第二內(nèi)容。
      [0165] 所述硬盤可以在所述當(dāng)前映射表中判斷所述硬盤物理地址A是否帶有所述第一 標(biāo)識(shí)信息,如果判斷確定所述硬盤物理地址A帶有所述第一標(biāo)識(shí)信息,則可以將所述硬盤 物理地址A指向的硬盤位置A中存儲(chǔ)的所述第一內(nèi)容復(fù)制到所述硬盤中的所述硬盤物理地 址B指向的所述B硬盤位置,并可以在所述備份映射表中記錄所述修改信息。
      [0166] 較佳的,在該實(shí)施例中,所述硬盤位置B可以位于所述保護(hù)區(qū)中,即可以首先在所 述保護(hù)區(qū)中確定出所述硬盤位置B,之后將所述第一內(nèi)容復(fù)制到所述硬盤位置B。且所述硬 盤位置B為空閑硬盤位置,即內(nèi)部沒有存儲(chǔ)數(shù)據(jù)。
      [0167] 在該實(shí)施例中,將所述第一內(nèi)容復(fù)制到所述硬盤位置B后,可以在所述硬盤中確 定出處于空閑狀態(tài)的硬盤物理地址C,并可以將所述第二內(nèi)容寫入到所述硬盤物理地址C 指向的硬盤位置C。其中,所述硬盤物理地址C、所述硬盤物理地址A和所述硬盤物理地址 B兩兩不相同。
      [0168] 可見,在該實(shí)施例中,如果在將所述第一內(nèi)容復(fù)制到所述硬盤位置B后,如果判斷 確定在所述硬盤中沒有處于空閑狀態(tài)的所述硬盤物理位置C用于寫入所述第二內(nèi)容,則可 以確定要對(duì)所述硬盤進(jìn)行垃圾回收操作,以在所述硬盤中獲得空閑位置來寫入所述第二內(nèi) 容。
      [0169] 實(shí)施例三
      [0170] 所述電子設(shè)備為PC,所述PC中具有SSD類型的硬盤。
      [0171] 所述PC中的操作系統(tǒng)發(fā)出用于進(jìn)行數(shù)據(jù)備份的第一指令,所述硬盤接收到所述 第一指令后,可以先收集所述硬盤中的有效數(shù)據(jù),確定收集的有效數(shù)據(jù)對(duì)應(yīng)于所述至少一 個(gè)有效硬盤物理地址,從而可以根據(jù)所述第一映射表中的各映射表項(xiàng)確定所述至少一個(gè)有 效硬盤物理地址。
      [0172] 在所述第一映射表中確定出所述至少一個(gè)有效硬盤物理地址后,可以在所述第一 映射表中為所述至少一個(gè)有效硬盤物理地址設(shè)置所述至少一個(gè)第一標(biāo)識(shí)信息,得到第二映 射表,在得到所述第二映射表后,可以將所述第二映射表進(jìn)行存儲(chǔ)。本實(shí)施例中,可以將所 述第二映射表同時(shí)存儲(chǔ)在所述操作系統(tǒng)的內(nèi)存中和所述硬盤中。可以將存儲(chǔ)在所述操作系 統(tǒng)的內(nèi)存中的所述第二映射表稱為當(dāng)前映射表,將存儲(chǔ)在所述硬盤中的所述第二映射表稱 為備份映射表。
      [0173] 在所述硬盤進(jìn)入所述空閑狀態(tài)時(shí),可以遍歷所述當(dāng)前映射表,例如可以分別判斷 所述當(dāng)前映射表中的各映射表項(xiàng)中的硬盤物理地址是否帶有所述第一標(biāo)識(shí)信息。例如,對(duì) 于所述當(dāng)前映射表中的第一映射表項(xiàng)來說,其是表征硬盤邏輯地址A和硬盤物理地址A之 間的映射關(guān)系,則,所述硬盤如果需要對(duì)所述硬盤物理地址A指向的硬盤位置A進(jìn)行操作, 就可以根據(jù)所述當(dāng)前映射表判斷所述硬盤物理地址A是否帶有所述第一標(biāo)識(shí)信息。
      [0174] 如果判斷確定所述硬盤物理地址A帶有所述第一標(biāo)識(shí)信息,那么可以將所述硬盤 物理地址A指向的所述硬盤位置A中存儲(chǔ)的所述第一內(nèi)容復(fù)制到所述硬盤中的所述硬盤物 理地址B指向的所述硬盤位置B,并可以在所述備份映射表中記錄所述修改信息。
      [0175] 較佳的,在該實(shí)施例中,所述硬盤位置B可以位于所述保護(hù)區(qū)中,即可以首先在所 述保護(hù)區(qū)中確定出所述硬盤位置B,之后將所述第一內(nèi)容復(fù)制到所述硬盤位置B。
      [0176] 較佳的,在該實(shí)施例中,在將所述第一內(nèi)容復(fù)制到所述硬盤位置B后,還可以修改 所述當(dāng)前映射表,例如可以將所述當(dāng)前映射表中原來記錄的所述硬盤物理地址A與所述硬 盤邏輯地址A之間的映射表項(xiàng)修改為所述硬盤物理地址B與所述硬盤邏輯地址A之間的映 射表項(xiàng)。因?yàn)樵谶M(jìn)行數(shù)據(jù)備份操作后,對(duì)數(shù)據(jù)進(jìn)行了復(fù)制,而復(fù)制到所述保護(hù)區(qū)中的數(shù)據(jù)是 在一定程度上能夠保證完整性的,因此當(dāng)需要使用該數(shù)據(jù)時(shí)可以根據(jù)修改后的當(dāng)前映射表 直接調(diào)用所述保護(hù)區(qū)中存儲(chǔ)的數(shù)據(jù),以避免原來存儲(chǔ)在所述硬盤位置A中的數(shù)據(jù)很有可能 會(huì)在垃圾回收等操作中被清理。
      [0177] 并且,在該實(shí)施例中,在修改所述當(dāng)前映射表時(shí),修改完畢后,可以去掉原來為所 述硬盤物理地址A設(shè)置的所述第一標(biāo)識(shí)信息。因?yàn)榇藭r(shí)已將所述第一內(nèi)容移動(dòng)到了所述保 護(hù)區(qū)中的所述硬盤位置B,無需再為所述硬盤物理地址A設(shè)置所述第一標(biāo)識(shí)信息。
      [0178] 本實(shí)施例中,可以看出,一般情況下,都是系統(tǒng)進(jìn)行一些正常操作,例如垃圾回收、 寫入等操作時(shí),才會(huì)相應(yīng)的根據(jù)所述第二映射表及設(shè)置的所述第一標(biāo)識(shí)信息來進(jìn)行數(shù)據(jù)備 份工作,這樣,既能夠很好的完成數(shù)據(jù)備份工作,又不會(huì)使數(shù)據(jù)備份工作占用太多的時(shí)間, 有效的達(dá)到了時(shí)間的統(tǒng)籌利用。
      [0179] 但在所述硬盤處于空閑狀態(tài)時(shí),也可以專門進(jìn)行數(shù)據(jù)備份工作,這樣,可以在所述 保護(hù)區(qū)中專門設(shè)置一個(gè)較為完整的區(qū)域來存儲(chǔ)備份的數(shù)據(jù),可以使數(shù)據(jù)在所述硬盤中存儲(chǔ) 的較為集中,避免因?yàn)榉稚⒍黾硬檎业膹?fù)雜度。
      [0180] 因此,本實(shí)施例中,當(dāng)所述硬盤處于所述空閑狀態(tài)時(shí),所述硬盤遍歷映射表的舉動(dòng) 也就可以看做是要對(duì)所述硬盤進(jìn)行操作,即可以看做是要對(duì)所述硬盤中硬盤物理地址A指 向的硬盤位置A進(jìn)行所述第一操作。
      [0181] 在該實(shí)施例中,在根據(jù)所述當(dāng)前映射表判斷所述硬盤物理地址A是否帶有所述第 一標(biāo)識(shí)信息之后,如果判斷確定所述硬盤物理地址A不帶有所述第一標(biāo)識(shí)信息,則可以繼 續(xù)判斷是否已將所述當(dāng)前映射表遍歷完畢,如果判斷確定所述當(dāng)前映射表還未遍歷完畢, 則可以繼續(xù)判斷所述當(dāng)前映射表中的下一個(gè)硬盤物理地址是否帶有所述第一標(biāo)識(shí)信息,如 果判斷確定所述當(dāng)前映射表已遍歷完畢,則可以停止遍歷,繼續(xù)保持處于所述空閑狀態(tài)。
      [0182] 實(shí)施例四
      [0183] 所述電子設(shè)備為PAD,所述PAD中具有SSD類型的硬盤。
      [0184] 所述PAD中的操作系統(tǒng)發(fā)出用于進(jìn)行數(shù)據(jù)備份的第一指令,所述硬盤接收到所述 第一指令后,可以先收集所述硬盤中的有效數(shù)據(jù),確定收集的有效數(shù)據(jù)對(duì)應(yīng)于所述至少一 個(gè)有效硬盤物理地址,從而可以根據(jù)所述第一映射表中的各映射表項(xiàng)確定所述至少一個(gè)有 效硬盤物理地址。
      [0185] 在所述第一映射表中確定出所述至少一個(gè)有效硬盤物理地址后,可以在所述第一 映射表中為所述至少一個(gè)有效硬盤物理地址設(shè)置所述至少一個(gè)第一標(biāo)識(shí)信息,得到第二映 射表,在得到所述第二映射表后,可以將所述第二映射表進(jìn)行存儲(chǔ)。本實(shí)施例中,可以將所 述第二映射表同時(shí)存儲(chǔ)在所述操作系統(tǒng)的內(nèi)存中和所述硬盤中??梢詫⒋鎯?chǔ)在所述操作系 統(tǒng)的內(nèi)存中的所述第二映射表稱為當(dāng)前映射表,將存儲(chǔ)在所述硬盤中的所述第二映射表稱 為備份映射表。
      [0186] 所述硬盤進(jìn)入垃圾回收(Garbage Collection)流程,之后,所述硬盤選擇犧牲塊, 即需要進(jìn)行垃圾回收的塊,在選擇所述犧牲塊后,判斷所述犧牲塊中是否有硬盤位置存儲(chǔ) 有有效硬盤數(shù)據(jù),在本發(fā)明實(shí)施例中,也就是根據(jù)所述當(dāng)前映射表判斷所述犧牲塊中對(duì)應(yīng) 的各硬盤物理地址是否帶有所述第一標(biāo)識(shí)信息,即,當(dāng)所述硬盤處理到所述犧牲塊中的硬 盤物理地址A時(shí),所述硬盤可以是根據(jù)所述當(dāng)前映射表判斷所述硬盤物理地址A是否帶有 所述第一標(biāo)識(shí)信息。
      [0187] 如果所述硬盤物理地址A帶有所述第一標(biāo)識(shí)信息,則可以將所述硬盤物理地址A 指向的所述硬盤位置A中存儲(chǔ)的所述第一內(nèi)容復(fù)制到所述硬盤中的所述硬盤物理地址B指 向的所述硬盤位置B,并可以在所述備份映射表中記錄所述修改信息。
      [0188] 較佳的,在該實(shí)施例中,所述硬盤位置B可以位于所述保護(hù)區(qū)中,即可以首先在所 述保護(hù)區(qū)中確定出所述硬盤位置B,之后將所述第一內(nèi)容復(fù)制到所述硬盤位置B。
      [0189] 較佳的,在該實(shí)施例中,在將所述第一內(nèi)容復(fù)制到所述硬盤位置B后,還可以修改 所述當(dāng)前映射表,例如可以將所述當(dāng)前映射表中原來記錄的所述硬盤物理地址A與硬盤邏 輯地址A之間的映射表項(xiàng)修改為所述硬盤物理地址B與所述硬盤邏輯地址B之間的映射表 項(xiàng)。因?yàn)樵谶M(jìn)行垃圾回收時(shí),所述硬盤位置A中存儲(chǔ)的所述第一內(nèi)容很可能會(huì)被清理掉,而 如果所述操作系統(tǒng)還需要查找所述第一內(nèi)容,所述硬盤可以根據(jù)所述當(dāng)前映射表直接在所 述硬盤位置B中找到所述第一內(nèi)容,保證所述第一內(nèi)容不會(huì)丟失。
      [0190] 并且,在該實(shí)施例中,在修改所述當(dāng)前映射表時(shí),修改完畢后,可以去掉原來為所 述硬盤物理地址A設(shè)置的所述第一標(biāo)識(shí)信息。因?yàn)榇藭r(shí)已將所述第一內(nèi)容移動(dòng)到了所述保 護(hù)區(qū)中的所述硬盤位置B,無需再為所述硬盤物理地址B設(shè)置所述第一標(biāo)識(shí)信息。
      [0191] 實(shí)施例五
      [0192] 所述電子設(shè)備為PAD,所述PAD中具有SSD類型的硬盤。
      [0193] 所述PAD中的操作系統(tǒng)發(fā)出用于進(jìn)行數(shù)據(jù)備份的第一指令,所述硬盤接收到所述 第一指令后,可以先收集所述硬盤中的有效數(shù)據(jù),確定收集的有效數(shù)據(jù)對(duì)應(yīng)于所述至少一 個(gè)有效硬盤物理地址,從而可以根據(jù)所述第一映射表中的各映射表項(xiàng)確定所述至少一個(gè)有 效硬盤物理地址。
      [0194] 在所述第一映射表中確定出所述至少一個(gè)有效硬盤物理地址后,可以在所述第一 映射表中為所述至少一個(gè)有效硬盤物理地址設(shè)置所述至少一個(gè)第一標(biāo)識(shí)信息,得到第二映 射表,在得到所述第二映射表后,可以將所述第二映射表進(jìn)行存儲(chǔ)。本實(shí)施例中,可以將所 述第二映射表同時(shí)存儲(chǔ)在所述操作系統(tǒng)的內(nèi)存中和所述硬盤中??梢詫⒋鎯?chǔ)在所述操作系 統(tǒng)的內(nèi)存中的所述第二映射表稱為當(dāng)前映射表,將存儲(chǔ)在所述硬盤中的所述第二映射表稱 為備份映射表。
      [0195] 獲得所述操作系統(tǒng)發(fā)出的用于讀取所述硬盤中的硬盤物理地址D所指向的硬盤 位置D中的第三內(nèi)容的第三指令,即獲得用于從所述硬盤中進(jìn)行讀數(shù)據(jù)的所述第三指令。
      [0196] 具體的,在獲得所述第三指令后,可以判斷所述硬盤物理D地址對(duì)應(yīng)的所述第一 映射表項(xiàng)是否存在于所述當(dāng)前映射表中,如果判斷確定所述硬盤物理地址D對(duì)應(yīng)的所述第 一映射表項(xiàng)沒有存在于所述當(dāng)前映射表中,可以繼續(xù)判斷所述當(dāng)前映射表中是否有空閑空 間能夠用于存儲(chǔ)所述第一映射表項(xiàng),如果判斷確定所述當(dāng)前映射表中沒有空閑空間能夠用 于存儲(chǔ)所述第一映射表項(xiàng),則可以確定需要從所述當(dāng)前映射表中釋放所述至少一個(gè)映射表 項(xiàng),以能夠用釋放出的空間來存儲(chǔ)所述第一映射表項(xiàng),并可以確定要將所述備份映射表項(xiàng) 中的所述第一映射表項(xiàng)加載到所述當(dāng)前映射表中。也就是說,如果所述當(dāng)前映射表中沒有 所述第一映射表項(xiàng),則必須要將所述備份映射表中存儲(chǔ)的所述第一映射表項(xiàng)加載到所述當(dāng) 前映射表后才可以進(jìn)行正常的讀數(shù)據(jù)操作,因此,如果此時(shí)所述當(dāng)前映射表中沒有空間空 間可用于存儲(chǔ)所述第一映射表項(xiàng),那就需要從所述當(dāng)前映射表中釋放出空間來存放所述第 一映射表項(xiàng)。
      [0197] 具體的,當(dāng)需要從所述當(dāng)前映射表中釋放所述至少一個(gè)映射表項(xiàng)時(shí),可以先判斷 所述當(dāng)前映射表中是否有所述至少一個(gè)映射表項(xiàng)與所述備份映射表中相應(yīng)的至少一個(gè)映 射表項(xiàng)不同,本實(shí)施例中,不計(jì)所述修改記錄,所述當(dāng)前映射表與所述備份映射表應(yīng)該是相 同的。那么,如果所述當(dāng)前映射表中有的映射表項(xiàng)與所述備份映射表中相應(yīng)的映射表項(xiàng)不 同,則可以說明所述當(dāng)前映射表被修改過,那么就應(yīng)該根據(jù)修改后的當(dāng)前映射表來更新所 述備份映射表。
      [0198] 如果判斷確定所述當(dāng)前映射表中有所述至少一個(gè)映射表項(xiàng)與所述備份映射表中 的相應(yīng)的至少一個(gè)映射表項(xiàng)不同,則可以確定需將所述當(dāng)前映射表中的所述至少一個(gè)映射 表項(xiàng)寫入所述備份映射表中。
      [0199] 在寫入之前,首先要判斷所述備份映射表中是否有空閑位置來用于存儲(chǔ)所述至少 一個(gè)映射表項(xiàng),也就是判斷所述硬盤中是否有空閑位置來用于存儲(chǔ)所述至少一個(gè)映射表 項(xiàng),如果判斷確定所述硬盤中沒有空閑位置來用于存儲(chǔ)所述至少一個(gè)映射表項(xiàng),那么就確 定啟動(dòng)如實(shí)施例四中的垃圾回收流程。
      [0200] 在通過垃圾回收獲得空閑位置后,可以將所述至少一個(gè)映射表項(xiàng)寫入所述備份映 射表,之后可以釋放所述當(dāng)前映射表中的所述至少一個(gè)映射表項(xiàng)。
      [0201] 釋放所述當(dāng)前映射表中的所述至少一個(gè)映射表項(xiàng)后,可以將所述備份映射表中的 所述第一映射表項(xiàng)加載到所述當(dāng)前映射表中,這樣,所述硬盤可以根據(jù)所述當(dāng)前映射表中 的所述第一映射表項(xiàng)來讀取所述硬盤中的數(shù)據(jù)。
      [0202] 以下結(jié)合附圖來介紹本發(fā)明實(shí)施例中的數(shù)據(jù)恢復(fù)方法。
      [0203] 實(shí)施例六
      [0204] 請(qǐng)參見附圖2,本發(fā)明實(shí)施例提供一種數(shù)據(jù)恢復(fù)方法,所述方法可以應(yīng)用于具有硬 盤的電子設(shè)備中,其中,所述數(shù)據(jù)恢復(fù)方法與前幾個(gè)實(shí)施例中的所述數(shù)據(jù)備份方法為相應(yīng) 的方法流程。所述方法的主要流程如下 :
      [0205] 步驟201 :當(dāng)需要對(duì)操作系統(tǒng)進(jìn)行第二操作時(shí),判斷是否存在用于進(jìn)行數(shù)據(jù)恢復(fù) 的第二指令。
      [0206] 本發(fā)明實(shí)施例中,所述第二指令例如可以是用于啟動(dòng)所述電子設(shè)備中的操作系統(tǒng) 的指令。
      [0207] S卩,在需要啟動(dòng)所述操作系統(tǒng)時(shí),可以首先判斷是否存在所述第二指令。
      [0208] 較佳的,在本發(fā)明另一實(shí)施例中,所述操作系統(tǒng)可以發(fā)出進(jìn)行數(shù)據(jù)恢復(fù)的所述第 二指令,所述硬盤在接收到所述第二指令后,可以為所述第二指令設(shè)置恢復(fù)標(biāo)記,并將設(shè)置 了所述第二標(biāo)記的所述第二指令進(jìn)行存儲(chǔ)。因?yàn)橐话銇碚f所述操作系統(tǒng)會(huì)在要關(guān)機(jī)時(shí)發(fā)出 所述第二指令,此時(shí)所述硬盤即將掉電,因此所述硬盤只是將所述第二指令進(jìn)行標(biāo)記并存 儲(chǔ)即可。
      [0209] 在所述操作系統(tǒng)下一次啟動(dòng)時(shí),即在需要對(duì)所述操作系統(tǒng)進(jìn)行所述第二操作時(shí), 可以判斷是否存在具有所述恢復(fù)標(biāo)記的所述第二指令。
      [0210] 步驟202 :如果存在所述第二指令,根據(jù)所述第二指令,加載硬盤中存儲(chǔ)的第二映 射表。
      [0211] 本發(fā)明實(shí)施例中,如果存在具有所述恢復(fù)標(biāo)記的所述第二指令,則可以根據(jù)所述 第二指令加載所述硬盤中存儲(chǔ)的所述第二映射表到所述操作系統(tǒng)的內(nèi)存中。
      [0212] 本發(fā)明實(shí)施例中,根據(jù)前幾個(gè)實(shí)施例的描述可知,所述硬盤中存儲(chǔ)的所述備份映 射表中可能還記錄有所述修改信息,那么,根據(jù)所述第二指令加載所述第二映射表,具體可 以是:先讀取所述備份映射表中的至少一條修改記錄,例如可以是讀取所述備份映射表中 的全部修改記錄,根據(jù)讀取的所述至少一條修改記錄修改所述備份映射表,例如修改所述 備份映射表的工作可以是在所述硬盤中完成。在將所述備份映射表修改完畢后,可以將修 改后的所述備份映射表加載到所述操作系統(tǒng)的內(nèi)存中。
      [0213] 步驟203 :根據(jù)所述第二映射表對(duì)所述操作系統(tǒng)進(jìn)行所述第二操作。
      [0214] 在加載所述第二映射表后,可以根據(jù)所述第二映射表啟動(dòng)所述操作系統(tǒng),也就完 成了數(shù)據(jù)恢復(fù)的工作。
      [0215] 以下結(jié)合附圖來介紹本發(fā)明中的電子設(shè)備。
      [0216] 實(shí)施例七
      [0217] 請(qǐng)參見圖3,本發(fā)明實(shí)施例提供一種電子設(shè)備,所述電子設(shè)備可以包括有硬盤,較 佳的,所述硬盤可以是SSD硬盤。所述硬盤可以包括第一確定模塊301和第一獲取模塊302。
      [0218] 較佳的,所述硬盤還可以包括第二獲取模塊303、第一處理模塊304、第一判斷模 塊305、第二處理模塊306、第二確定模塊307、第一更改模塊308、第二判斷模塊309、第三確 定模塊310、第三獲取模塊311、第四確定模塊312和第五確定模塊313。
      [0219] 第一確定模塊301可以用于從存儲(chǔ)有硬盤邏輯地址與硬盤物理地址對(duì)應(yīng)關(guān)系的 第一映射表中確定所述硬盤中的至少一個(gè)有效硬盤物理地址。
      [0220] 本發(fā)明實(shí)施例中,第一確定模塊301可以包括第一確定子模塊和第二確定子模 塊。
      [0221] 所述第一確定子模塊可以用于確定所述硬盤中存儲(chǔ)的有效數(shù)據(jù)所分別對(duì)應(yīng)的所 述至少一個(gè)有效硬盤物理地址。
      [0222] 所述第二確定子模塊可以用于在所述第一映射表中根據(jù)各映射表項(xiàng)確定出所述 至少一個(gè)有效硬盤物理地址。
      [0223] 第一獲取模塊302可以用于在所述第一映射表中為所述至少一個(gè)有效硬盤物理 地址設(shè)置至少一個(gè)第一標(biāo)識(shí)信息,得到第二映射表,以根據(jù)所述第二映射表和所述至少一 個(gè)第一標(biāo)識(shí)信息進(jìn)行數(shù)據(jù)備份。
      [0224] 第二獲取模塊303可以用于獲得所述操作系統(tǒng)發(fā)送的用于進(jìn)行數(shù)據(jù)備份的第一 指令。
      [0225] 第一處理模塊304可以用于將所述第二映射表作為當(dāng)前映射表存儲(chǔ)到所述操作 系統(tǒng)的內(nèi)存中,及,將所述第二映射表作為備份映射表存儲(chǔ)到所述硬盤中。
      [0226] 第一判斷模塊305可以用于當(dāng)需要對(duì)硬盤中第一硬盤物理地址指向的第一硬盤 位置進(jìn)行第一操作時(shí),根據(jù)所述當(dāng)前映射表判斷所述第一硬盤物理地址是否帶有第一標(biāo)識(shí) 信息。
      [0227] 第二處理模塊306可以用于如果所述第一硬盤物理地址帶有所述第一標(biāo)識(shí)信息, 將所述第一硬盤位置中存儲(chǔ)的第一內(nèi)容復(fù)制到所述硬盤中的第二硬盤物理地址指向的第 二硬盤位置,并記錄修改信息,所述第一硬盤物理地址與所述第二硬盤物理地址不同。
      [0228] 第二處理模塊306具體可以用于在所述備份映射表中記錄所述修改信息。
      [0229] 第二處理模塊306可以包括第五確定子模塊和第一處理子模塊。
      [0230] 所述第五確定子模塊可以用于從所述硬盤的保護(hù)區(qū)中確定所述第二硬盤物理地 址。
      [0231] 所述第一處理子模塊可以用于將所述第一內(nèi)容復(fù)制到所述第二硬盤物理地址指 向的所述第二硬盤位置。
      [0232] 第二確定模塊307可以用于確定需要對(duì)硬盤中第一硬盤物理地址指向的第一硬 盤位置進(jìn)行第一操作。
      [0233] 本發(fā)明實(shí)施例中,第二確定模塊307可以包括第一獲取子模塊、第三確定子模塊 和第四確定子模塊。
      [0234] 所述第一獲取子模塊可以用于獲得所述操作系統(tǒng)發(fā)送的用于對(duì)所述硬盤中第一 硬盤邏輯地址進(jìn)行操作的第二指令。
      [0235] 所述第三確定子模塊可以用于通過查詢所述當(dāng)前映射表,確定所述第一硬盤邏輯 地址與所述第一硬盤物理地址屬于同一映射表項(xiàng)。
      [0236] 所述第四確定子模塊可以用于確定需要對(duì)所述第一硬盤物理地址指向的所述第 一硬盤位置進(jìn)行所述第一操作。
      [0237] 本發(fā)明實(shí)施例中,所述第一操作可以為將所述第一內(nèi)容進(jìn)行垃圾回收的操作,或 所述第一操作可以為向所述第一硬盤位置寫入第二內(nèi)容的操作,或所述第一操作可以為將 所述第一內(nèi)容進(jìn)行備份的操作。
      [0238] 本發(fā)明實(shí)施例中,當(dāng)所述第一操作為將所述第一內(nèi)容進(jìn)行垃圾回收的操作時(shí),第 一更改模塊308可以用于將所述當(dāng)前映射表中原存儲(chǔ)的所述第一硬盤邏輯地址與第一硬 盤物理地址之間的映射表項(xiàng)更改為所述第一硬盤邏輯地址與所述第二硬盤物理地址之間 的映射表項(xiàng)。
      [0239] 本發(fā)明實(shí)施例中,當(dāng)所述第一操作為將所述第一內(nèi)容進(jìn)行垃圾回收的操作時(shí),第 二判斷模塊309可以用于判斷所述當(dāng)前映射表中是否有所述至少一個(gè)映射表項(xiàng)與所述備 份映射表中相應(yīng)的至少一個(gè)映射表項(xiàng)不同。
      [0240] 第三確定模塊310可以用于如果所述當(dāng)前映射表中有所述至少一個(gè)映射表項(xiàng)與 所述備份映射表中相應(yīng)的至少一個(gè)映射表項(xiàng)不同,確定需將所述至少一個(gè)映射表項(xiàng)寫入所 述備份映射表中,及釋放所述當(dāng)前映射表中的所述至少一個(gè)映射表項(xiàng)。
      [0241] 第三獲取模塊311可以用于獲得用于讀取所述硬盤中的第四硬盤物理地址所指 向的第四硬盤位置中的第三內(nèi)容的第三指令。
      [0242] 第四確定模塊312可以用于當(dāng)所述第四硬盤物理地址對(duì)應(yīng)的第一映射表項(xiàng)沒有 存在于所述當(dāng)前映射表中,且所述當(dāng)前映射表中沒有空閑空間時(shí),確定需將所述當(dāng)前映射 表中的所述至少一個(gè)映射表項(xiàng)進(jìn)行釋放,并將所述備份映射表中的所述第一映射表項(xiàng)加載 到所述當(dāng)前映射表中。
      [0243] 本發(fā)明實(shí)施例中,當(dāng)所述第一操作為向所述第一硬盤位置寫入第二內(nèi)容的操作 時(shí),第五確定模塊313可以用于從所述硬盤中確定第三硬盤物理地址,將所述第二內(nèi)容寫 入所述第三硬盤物理地址所指向的第三硬盤位置,所述第三硬盤物理地址、所述第一硬盤 物理地址和所述第二硬盤物理地址兩兩不相同。
      [0244] 第五確定模塊313可以包括第一判斷子模塊和第五確定子模塊。
      [0245] 所述第一判斷子模塊可以用于判斷所述硬盤中是否有空閑的所述第三硬盤位置 可供寫入所述第二內(nèi)容。
      [0246] 所述第五確定子模塊可以用于當(dāng)所述硬盤中沒有空閑的所述第三硬盤位置可供 寫入所述第二內(nèi)容時(shí),確定需對(duì)所述硬盤進(jìn)行所述垃圾回收操作,以在所述硬盤中獲得空 閑位置。
      [0247] 實(shí)施例八
      [0248] 請(qǐng)參見圖4,本發(fā)明實(shí)施例提供一種電子設(shè)備,所述電子設(shè)備可以具有硬盤,所述 硬盤可以包括第三判斷模塊401、加載模塊402和操作模塊403。較佳的,本發(fā)明實(shí)施例中 的所述電子設(shè)備與實(shí)施例一--實(shí)施例七中的所述電子設(shè)備可以是同一電子設(shè)備。
      [0249] 較佳的,所述硬盤還可以包括第四獲取模塊404和標(biāo)記模塊405。
      [0250] 第三判斷模塊401可以用于當(dāng)需要對(duì)操作系統(tǒng)進(jìn)行第二操作時(shí),判斷是否存在用 于進(jìn)行數(shù)據(jù)恢復(fù)的第二指令。
      [0251] 加載模塊402可以用于如果存在所述第二指令,根據(jù)所述第二指令,加載硬盤中 存儲(chǔ)的第二映射表。
      [0252] 加載模塊402可以包括讀取子模塊、修改子模塊和加載子模塊。
      [0253] 所述讀取子模塊可以用于讀取所述第二映射表中的至少一條修改記錄。
      [0254] 所述修改子模塊可以用于根據(jù)所述至少一條修改記錄修改所述第二映射表。
      [0255] 所述加載子模塊可以用于加載修改后的所述第二映射表。
      [0256] 操作模塊403可以用于根據(jù)所述第二映射表對(duì)所述操作系統(tǒng)進(jìn)行所述第二操作。
      [0257] 第四獲取模塊404可以用于獲得用于進(jìn)行數(shù)據(jù)恢復(fù)的所述第二指令。
      [0258] 標(biāo)記模塊405可以用于根據(jù)第二標(biāo)識(shí)信息將所述第二指令進(jìn)行標(biāo)記。
      [0259] 本發(fā)明實(shí)施例中,所述第二操作可以為啟動(dòng)所述操作系統(tǒng)的操作。
      [0260] 本發(fā)明實(shí)施例中的數(shù)據(jù)備份方法,所述方法可以應(yīng)用于包括有硬盤的電子設(shè)備 中,所述方法可以包括:從存儲(chǔ)有硬盤邏輯地址與硬盤物理地址對(duì)應(yīng)關(guān)系的第一映射表中 確定所述硬盤中的至少一個(gè)有效硬盤物理地址;在所述第一映射表中為所述至少一個(gè)有效 硬盤物理地址設(shè)置至少一個(gè)第一標(biāo)識(shí)信息,得到第二映射表,以根據(jù)所述第二映射表和所 述至少一個(gè)第一標(biāo)識(shí)信息進(jìn)行數(shù)據(jù)備份。
      [0261] 本發(fā)明實(shí)施例中,在需要進(jìn)行數(shù)據(jù)備份時(shí),可以從所述第一映射表中確定出所述 硬盤中的所述至少一個(gè)有效硬盤物理地址,其中每個(gè)有效硬盤物理地址對(duì)應(yīng)于所述硬盤中 存儲(chǔ)的有效數(shù)據(jù),在確定出所述至少一個(gè)有效硬盤物理地址后,可以在所述第一映射表中 為所述至少一個(gè)有效硬盤物理地址分別設(shè)置所述至少一個(gè)第一標(biāo)識(shí)信息,即為每個(gè)有效硬 盤物理地址都設(shè)置一個(gè)所述第一標(biāo)識(shí)信息,得到所述第二映射表,這樣,在后續(xù)的操作中, 無論是針對(duì)所述硬盤的寫操作還是垃圾回收操作,都可以根據(jù)所述第二映射表來對(duì)所述硬 盤中存儲(chǔ)的有效數(shù)據(jù)進(jìn)行備份。這樣,既不會(huì)影響數(shù)據(jù)備份的效果,同時(shí)在接到數(shù)據(jù)備份命 令時(shí),只需在所述第一映射表中設(shè)置所述第一標(biāo)識(shí)信息即可,無需進(jìn)行具體的備份工作,顯 然電子設(shè)備不會(huì)在一個(gè)時(shí)刻需要處理較多的任務(wù),對(duì)于電子設(shè)備來說需要處理的任務(wù)較為 分散,不會(huì)造成電子設(shè)備的負(fù)擔(dān),對(duì)用戶來說等待時(shí)間也較短,處理效率較高。
      [0262] 所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能 模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模 塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功 能。上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過 程,在此不再贅述。
      [0263] 在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以 通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊或 單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元 或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所 顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的 間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
      [0264] 所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯 示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè) 網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目 的。
      [0265] 另外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以 是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單 元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
      [0266] 所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用 時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上 或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式 體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī) 設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本申請(qǐng)各 個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ) 器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光 盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
      [0267] 以上所述,以上實(shí)施例僅用以對(duì)本申請(qǐng)的技術(shù)方案進(jìn)行了詳細(xì)介紹,但以上實(shí)施 例的說明只是用于幫助理解本發(fā)明的方法及其核心思想,不應(yīng)理解為對(duì)本發(fā)明的限制。本 【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在 本發(fā)明的保護(hù)范圍之內(nèi)。
      【權(quán)利要求】
      1. 一種數(shù)據(jù)備份方法,應(yīng)用于包括有硬盤的電子設(shè)備中,其特征在于,所述方法包括以 下步驟: 從存儲(chǔ)有硬盤邏輯地址與硬盤物理地址對(duì)應(yīng)關(guān)系的第一映射表中確定所述硬盤中的 至少一個(gè)有效硬盤物理地址; 在所述第一映射表中為所述至少一個(gè)有效硬盤物理地址設(shè)置至少一個(gè)第一標(biāo)識(shí)信息, 得到第二映射表,以根據(jù)所述第二映射表和所述至少一個(gè)第一標(biāo)識(shí)信息進(jìn)行數(shù)據(jù)備份。
      2. 如權(quán)利要求1所述的方法,其特征在于,從存儲(chǔ)有至少一個(gè)表征硬盤邏輯地址與硬 盤物理地址對(duì)應(yīng)關(guān)系的映射表項(xiàng)的第一映射表中確定所述硬盤中至少一個(gè)有效硬盤物理 地址的步驟包括: 確定所述硬盤中存儲(chǔ)的有效數(shù)據(jù)所分別對(duì)應(yīng)的所述至少一個(gè)有效硬盤物理地址; 在所述第一映射表中根據(jù)各映射表項(xiàng)確定出所述至少一個(gè)有效硬盤物理地址。
      3. 如權(quán)利要求2所述的方法,其特征在于,在確定所述硬盤中存儲(chǔ)的有效數(shù)據(jù)所分別 對(duì)應(yīng)的所述至少一個(gè)有效硬盤物理地址之前還包括步驟:獲得所述操作系統(tǒng)發(fā)送的用于進(jìn) 行數(shù)據(jù)備份的第一指令。
      4. 如權(quán)利要求1所述的方法,其特征在于,在為所述至少一個(gè)有效硬盤地址設(shè)置所述 至少一個(gè)第一標(biāo)識(shí)信息,得到第二映射表之后還包括步驟:將所述第二映射表作為當(dāng)前映 射表存儲(chǔ)到所述操作系統(tǒng)的內(nèi)存中,及,將所述第二映射表作為備份映射表存儲(chǔ)到所述硬 盤中。
      5. 如權(quán)利要求4所述的方法,其特征在于,在將所述第二映射表作為當(dāng)前映射表存儲(chǔ) 到所述操作系統(tǒng)的內(nèi)存中,及,將所述第二映射表作為備份映射表存儲(chǔ)到所述硬盤中之后 還包括步驟: 當(dāng)需要對(duì)硬盤中第一硬盤物理地址指向的第一硬盤位置進(jìn)行第一操作時(shí),根據(jù)所述當(dāng) 前映射表判斷所述第一硬盤物理地址是否帶有第一標(biāo)識(shí)信息; 如果所述第一硬盤物理地址帶有所述第一標(biāo)識(shí)信息,將所述第一硬盤位置中存儲(chǔ)的第 一內(nèi)容復(fù)制到所述硬盤中的第二硬盤物理地址指向的第二硬盤位置,并記錄修改信息,所 述第一硬盤物理地址與所述第二硬盤物理地址不同。
      6. 如權(quán)利要求5所述的方法,其特征在于,記錄修改信息的步驟包括:在所述備份映射 表中記錄所述修改信息。
      7. 如權(quán)利要求5所述的方法,其特征在于,確定需要對(duì)硬盤中第一硬盤物理地址指向 的第一硬盤位置進(jìn)行第一操作的步驟包括: 獲得所述操作系統(tǒng)發(fā)送的用于對(duì)所述硬盤中第一硬盤邏輯地址進(jìn)行操作的第二指 令; 通過查詢所述當(dāng)前映射表,確定所述第一硬盤邏輯地址與所述第一硬盤物理地址屬于 同一映射表項(xiàng); 確定需要對(duì)所述第一硬盤物理地址指向的所述第一硬盤位置進(jìn)行所述第一操作。
      8. 如權(quán)利要求5所述的方法,其特征在于,將所述第一硬盤物理地址中存儲(chǔ)的第一內(nèi) 容復(fù)制到所述硬盤中的第二硬盤物理地址指向的第二硬盤位置的步驟包括: 從所述硬盤的保護(hù)區(qū)中確定所述第二硬盤物理地址; 將所述第一內(nèi)容復(fù)制到所述第二硬盤物理地址指向的所述第二硬盤位置。
      9. 如權(quán)利要求5所述的方法,其特征在于,所述第一操作為將所述第一內(nèi)容進(jìn)行垃圾 回收的操作,或所述第一操作為向所述第一硬盤位置寫入第二內(nèi)容的操作,或所述第一操 作為將所述第一內(nèi)容進(jìn)行備份的操作。
      10. 如權(quán)利要求9所述的方法,其特征在于,當(dāng)所述第一操作為將所述第一內(nèi)容進(jìn)行垃 圾回收的操作時(shí),在記錄修改信息之后還包括步驟:將所述當(dāng)前映射表中原存儲(chǔ)的所述第 一硬盤邏輯地址與第一硬盤物理地址之間的映射表項(xiàng)更改為所述第一硬盤邏輯地址與所 述第二硬盤物理地址之間的映射表項(xiàng)。
      11. 如權(quán)利要求9所述的方法,其特征在于,當(dāng)所述第一操作為將所述第一內(nèi)容進(jìn)行垃 圾回收的操作時(shí),在需要對(duì)硬盤中第一硬盤物理地址指向的第一硬盤位置進(jìn)行第一操作之 前還包括步驟: 判斷所述當(dāng)前映射表中是否有所述至少一個(gè)映射表項(xiàng)與所述備份映射表中相應(yīng)的至 少一個(gè)映射表項(xiàng)不同; 如果所述當(dāng)前映射表中有所述至少一個(gè)映射表項(xiàng)與所述備份映射表中相應(yīng)的至少一 個(gè)映射表項(xiàng)不同,確定需將所述至少一個(gè)映射表項(xiàng)寫入所述備份映射表中,及釋放所述當(dāng) 前映射表中的所述至少一個(gè)映射表項(xiàng)。
      12. 如權(quán)利要求11所述的方法,其特征在于,在判斷所述當(dāng)前映射表中是否有所述至 少一個(gè)映射表項(xiàng)與所述備份映射表中相應(yīng)的至少一個(gè)映射表項(xiàng)不同之前還包括步驟: 獲得用于讀取所述硬盤中的第四硬盤物理地址所指向的第四硬盤位置中的第三內(nèi)容 的第三指令; 當(dāng)所述第四硬盤物理地址對(duì)應(yīng)的第一映射表項(xiàng)沒有存在于所述當(dāng)前映射表中,且所述 當(dāng)前映射表中沒有空閑空間時(shí),確定需將所述當(dāng)前映射表中的所述至少一個(gè)映射表項(xiàng)進(jìn)行 釋放,并將所述備份映射表中的所述第一映射表項(xiàng)加載到所述當(dāng)前映射表中。
      13. 如權(quán)利要求9所述的方法,其特征在于,當(dāng)所述第一操作為向所述第一硬盤位置寫 入第二內(nèi)容的操作時(shí),在將所述第一地址中存儲(chǔ)的第一內(nèi)容復(fù)制到所述硬盤中的第二硬盤 物理地址指向的第二硬盤位置,并記錄修改信息之后還包括步驟:從所述硬盤中確定第三 硬盤物理地址,將所述第二內(nèi)容寫入所述第三硬盤物理地址所指向的第三硬盤位置,所述 第三硬盤物理地址、所述第一硬盤物理地址和所述第二硬盤物理地址兩兩不相同。
      14. 如權(quán)利要求13所述的方法,其特征在于,從所述硬盤中確定第三硬盤物理地址的 步驟包括: 判斷所述硬盤中是否有空閑的所述第三硬盤位置可供寫入所述第二內(nèi)容; 當(dāng)所述硬盤中沒有空閑的所述第三硬盤位置可供寫入所述第二內(nèi)容時(shí),確定需對(duì)所述 硬盤進(jìn)行所述垃圾回收操作,以在所述硬盤中獲得空閑位置。
      15. -種數(shù)據(jù)恢復(fù)方法,應(yīng)用于具有硬盤的電子設(shè)備,其特征在于,所述方法包括以下 步驟: 當(dāng)需要對(duì)操作系統(tǒng)進(jìn)行第二操作時(shí),判斷是否存在用于進(jìn)行數(shù)據(jù)恢復(fù)的第二指令; 如果存在所述第二指令,根據(jù)所述第二指令,加載硬盤中存儲(chǔ)的第二映射表; 根據(jù)所述第二映射表對(duì)所述操作系統(tǒng)進(jìn)行所述第二操作。
      16. 如權(quán)利要求15所述的方法,其特征在于,在當(dāng)需要對(duì)操作系統(tǒng)進(jìn)行第二操作時(shí),判 斷是否存在用于進(jìn)行數(shù)據(jù)恢復(fù)的第二指令之前還包括步驟: 獲得用于進(jìn)行數(shù)據(jù)恢復(fù)的所述第二指令; 根據(jù)第二標(biāo)識(shí)信息將所述第二指令進(jìn)行標(biāo)記。
      17. 如權(quán)利要求15所述的方法,其特征在于,根據(jù)所述第二指令,加載硬盤中存儲(chǔ)的第 二映射表的步驟包括: 讀取所述第二映射表中的至少一條修改記錄; 根據(jù)所述至少一條修改記錄修改所述第二映射表; 加載修改后的所述第二映射表。
      18. 如權(quán)利要求15-17任一項(xiàng)所述的方法,其特征在于,所述第二操作為啟動(dòng)所述操作 系統(tǒng)的操作。
      19. 一種電子設(shè)備,所述電子設(shè)備包括有硬盤,其特征在于,所述硬盤包括: 第一確定模塊,用于從存儲(chǔ)有硬盤邏輯地址與硬盤物理地址對(duì)應(yīng)關(guān)系的第一映射表中 確定所述硬盤中的至少一個(gè)有效硬盤物理地址; 第一獲取模塊,用于在所述第一映射表中為所述至少一個(gè)有效硬盤物理地址設(shè)置至少 一個(gè)第一標(biāo)識(shí)信息,得到第二映射表,以根據(jù)所述第二映射表和所述至少一個(gè)第一標(biāo)識(shí)信 息進(jìn)行數(shù)據(jù)備份。
      20. 如權(quán)利要求19所述的電子設(shè)備,其特征在于,所述第一確定模塊包括第一確定子 模塊和第二確定子模塊; 所述第一確定子模塊用于確定所述硬盤中存儲(chǔ)的有效數(shù)據(jù)所分別對(duì)應(yīng)的所述至少一 個(gè)有效硬盤物理地址; 所述第二確定子模塊用于在所述第一映射表中根據(jù)各映射表項(xiàng)確定出所述至少一個(gè) 有效硬盤物理地址。
      21. 如權(quán)利要求20所述的電子設(shè)備,其特征在于,所述硬盤還包括第二獲取模塊,用于 獲得所述操作系統(tǒng)發(fā)送的用于進(jìn)行數(shù)據(jù)備份的第一指令。
      22. 如權(quán)利要求19所述的電子設(shè)備,其特征在于,所述硬盤還包括第一處理模塊,用于 將所述第二映射表作為當(dāng)前映射表存儲(chǔ)到所述操作系統(tǒng)的內(nèi)存中,及,將所述第二映射表 作為備份映射表存儲(chǔ)到所述硬盤中。
      23. 如權(quán)利要求22所述的電子設(shè)備,其特征在于,所述硬盤還包括第一判斷模塊和第 二處理模塊; 所述第一判斷模塊用于當(dāng)需要對(duì)硬盤中第一硬盤物理地址指向的第一硬盤位置進(jìn)行 第一操作時(shí),根據(jù)所述當(dāng)前映射表判斷所述第一硬盤物理地址是否帶有第一標(biāo)識(shí)信息; 所述第二處理模塊用于如果所述第一硬盤物理地址帶有所述第一標(biāo)識(shí)信息,將所述第 一硬盤位置中存儲(chǔ)的第一內(nèi)容復(fù)制到所述硬盤中的第二硬盤物理地址指向的第二硬盤位 置,并記錄修改信息,所述第一硬盤物理地址與所述第二硬盤物理地址不同。
      24. 如權(quán)利要求23所述的電子設(shè)備,其特征在于,所述第二處理模塊具體用于在所述 備份映射表中記錄所述修改信息。
      25. 如權(quán)利要求23所述的電子設(shè)備,其特征在于,所述硬盤還包括第二確定模塊,用于 確定需要對(duì)硬盤中第一硬盤物理地址指向的第一硬盤位置進(jìn)行第一操作;其中,所述第二 確定模塊包括第一獲取子模塊、第三確定子模塊和第四確定子模塊; 所述第一獲取子模塊用于獲得所述操作系統(tǒng)發(fā)送的用于對(duì)所述硬盤中第一硬盤邏輯 地址進(jìn)行操作的第二指令; 所述第三確定子模塊用于通過查詢所述當(dāng)前映射表,確定所述第一硬盤邏輯地址與所 述第一硬盤物理地址屬于同一映射表項(xiàng); 所述第四確定子模塊用于確定需要對(duì)所述第一硬盤物理地址指向的所述第一硬盤位 置進(jìn)行所述第一操作。
      26. 如權(quán)利要求23所述的電子設(shè)備,其特征在于,所述第二處理模塊包括第五確定子 模塊和第一處理子模塊; 所述第五確定子模塊用于從所述硬盤的保護(hù)區(qū)中確定所述第二硬盤物理地址; 所述第一處理子模塊用于將所述第一內(nèi)容復(fù)制到所述第二硬盤物理地址指向的所述 第二硬盤位置。
      27. 如權(quán)利要求23所述的電子設(shè)備,其特征在于,所述第一操作為將所述第一內(nèi)容進(jìn) 行垃圾回收的操作,或所述第一操作為向所述第一硬盤位置寫入第二內(nèi)容的操作,或所述 第一操作為將所述第一內(nèi)容進(jìn)行備份的操作。
      28. 如權(quán)利要求27所述的電子設(shè)備,其特征在于,當(dāng)所述第一操作為將所述第一內(nèi)容 進(jìn)行垃圾回收的操作時(shí),所述硬盤還包括第一更改模塊,用于將所述當(dāng)前映射表中原存儲(chǔ) 的所述第一硬盤邏輯地址與第一硬盤物理地址之間的映射表項(xiàng)更改為所述第一硬盤邏輯 地址與所述第二硬盤物理地址之間的映射表項(xiàng)。
      29. 如權(quán)利要求27所述的電子設(shè)備,其特征在于,當(dāng)所述第一操作為將所述第一內(nèi)容 進(jìn)行垃圾回收的操作時(shí),所述電子設(shè)備還包括第二判斷模塊和第三確定模塊; 所述第二判斷模塊用于判斷所述當(dāng)前映射表中是否有所述至少一個(gè)映射表項(xiàng)與所述 備份映射表中相應(yīng)的至少一個(gè)映射表項(xiàng)不同; 所述第三確定模塊用于如果所述當(dāng)前映射表中有所述至少一個(gè)映射表項(xiàng)與所述備份 映射表中相應(yīng)的至少一個(gè)映射表項(xiàng)不同,確定需將所述至少一個(gè)映射表項(xiàng)寫入所述備份映 射表中,及釋放所述當(dāng)前映射表中的所述至少一個(gè)映射表項(xiàng)。
      30. 如權(quán)利要求29所述的電子設(shè)備,其特征在于,所述硬盤還包括第三獲取模塊和第 四確定模塊; 所述第三獲取模塊用于獲得用于讀取所述硬盤中的第四硬盤物理地址所指向的第四 硬盤位置中的第三內(nèi)容的第三指令; 所述第四確定模塊用于當(dāng)所述第四硬盤物理地址對(duì)應(yīng)的第一映射表項(xiàng)沒有存在于所 述當(dāng)前映射表中,且所述當(dāng)前映射表中沒有空閑空間時(shí),確定需將所述當(dāng)前映射表中的所 述至少一個(gè)映射表項(xiàng)進(jìn)行釋放,并將所述備份映射表中的所述第一映射表項(xiàng)加載到所述當(dāng) 前映射表中。
      31. 如權(quán)利要求27所述的電子設(shè)備,其特征在于,當(dāng)所述第一操作為向所述第一硬盤 位置寫入第二內(nèi)容的操作時(shí),所述硬盤還包括第五確定模塊,用于從所述硬盤中確定第三 硬盤物理地址,將所述第二內(nèi)容寫入所述第三硬盤物理地址所指向的第三硬盤位置,所述 第三硬盤物理地址、所述第一硬盤物理地址和所述第二硬盤物理地址兩兩不相同。
      32. 如權(quán)利要求31所述的電子設(shè)備,其特征在于,所述第五確定模塊包括第一判斷子 模塊和第五確定子模塊; 所述第一判斷子模塊用于判斷所述硬盤中是否有空閑的所述第三硬盤位置可供寫入 所述第二內(nèi)容; 所述第五確定子模塊用于當(dāng)所述硬盤中沒有空閑的所述第三硬盤位置可供寫入所述 第二內(nèi)容時(shí),確定需對(duì)所述硬盤進(jìn)行所述垃圾回收操作,以在所述硬盤中獲得空閑位置。
      33. -種電子設(shè)備,所述電子設(shè)備具有硬盤,其特征在于,所述硬盤包括: 第三判斷模塊,用于當(dāng)需要對(duì)操作系統(tǒng)進(jìn)行第二操作時(shí),判斷是否存在用于進(jìn)行數(shù)據(jù) 恢復(fù)的第二指令; 加載模塊,用于如果存在所述第二指令,根據(jù)所述第二指令,加載硬盤中存儲(chǔ)的第二映 射表; 操作模塊,用于根據(jù)所述第二映射表對(duì)所述操作系統(tǒng)進(jìn)行所述第二操作。
      34. 如權(quán)利要求33所述的電子設(shè)備,其特征在于,所述硬盤還包括第四獲取模塊和標(biāo) 記模塊; 所述第四獲取模塊用于獲得用于進(jìn)行數(shù)據(jù)恢復(fù)的所述第二指令; 所述標(biāo)記模塊用于根據(jù)第二標(biāo)識(shí)信息將所述第二指令進(jìn)行標(biāo)記。
      35. 如權(quán)利要求33所述的電子設(shè)備,其特征在于,所述加載模塊包括讀取子模塊、修改 子模塊和加載子模塊; 所述讀取子模塊用于讀取所述第二映射表中的至少一條修改記錄; 所述修改子模塊用于根據(jù)所述至少一條修改記錄修改所述第二映射表; 所述加載子模塊用于加載修改后的所述第二映射表。
      36. 如權(quán)利要求33-35任一項(xiàng)所述的電子設(shè)備,其特征在于,所述第二操作為啟動(dòng)所述 操作系統(tǒng)的操作。
      【文檔編號(hào)】G06F11/14GK104216796SQ201310219638
      【公開日】2014年12月17日 申請(qǐng)日期:2013年6月4日 優(yōu)先權(quán)日:2013年6月4日
      【發(fā)明者】郭琦, 李洪偉, 陸見微, 馬立俊 申請(qǐng)人:聯(lián)想(北京)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1