欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

利用變化跟蹤進行系統(tǒng)恢復的技術的制作方法

文檔序號:6349769閱讀:209來源:國知局
專利名稱:利用變化跟蹤進行系統(tǒng)恢復的技術的制作方法
技術領域
本發(fā)明一般涉及系統(tǒng)恢復,更具體地,涉及利用變化跟蹤進行系統(tǒng)恢復的技術。
背景技術
備份系統(tǒng)可以跟蹤從先前的備份起的數(shù)據(jù)修改或?qū)懭胝埱?,從而使得系統(tǒng)可以備份修改數(shù)據(jù)。例如,備份系統(tǒng)可以對修改數(shù)據(jù)進行定期增量備份。只備份修改數(shù)據(jù)可能比所有數(shù)據(jù)的完全備份使用更少的存儲空間,并且可能需要較少的網(wǎng)絡流量和磁盤輸入/輸出(I/O)處理??梢愿檾?shù)據(jù)修改從而確定備份什么。已在存儲器中修改但是還未寫入磁盤的修改數(shù)據(jù)一般被稱為“臟(dirty)”數(shù)據(jù)。修改數(shù)據(jù)被寫入磁盤之后一般才被稱為“干凈 (clean)” 數(shù)據(jù)。被跟蹤的數(shù)據(jù)修改或?qū)懻埱罂梢员淮鎯υ诖鎯ζ髦谢虮粚懭氪疟P。如果被跟蹤的數(shù)據(jù)修改被寫入磁盤,那么對于對磁盤的每次寫入請求,它們會需要寫入請求。這項開銷和額外的I/O在性能方面是不可接受的。如果被跟蹤的數(shù)據(jù)修改被存儲在存儲器中,那么它們可以在系統(tǒng)關機時被寫入磁盤,從而避免被跟蹤的數(shù)據(jù)修改丟失。如果系統(tǒng)崩潰、不正確地關閉或經(jīng)歷中斷,那么被跟蹤的數(shù)據(jù)修改將丟失。然后用戶面臨兩個困難的選擇。用戶可以對所有數(shù)據(jù)執(zhí)行完全備份,從而捕獲所有可能的變化,這比增量備份需要更多的存儲空間并且花費更長的時間?;蛘?,用戶可以執(zhí)行調(diào)和操作(reconciliation operation), 其可以識別從上次備份起的數(shù)據(jù)修改(即丟失的跟蹤修改)。通過比較使用的存儲空間部分(例如磁盤的被使用塊)與上次備份的部分,調(diào)和操作可以識別修改。在完成調(diào)和操作之后,可以執(zhí)行增量備份。然而,與完全備份相比,調(diào)和操作可能需要一樣長或更長的時間, 以及需要一樣多或更多的I/O處理。鑒于前述內(nèi)容,可以理解仍存在與當前的系統(tǒng)恢復技術相關的顯著問題和缺點。

發(fā)明內(nèi)容
本發(fā)明公開了一種利用變化跟蹤進行系統(tǒng)恢復的技術。在一個具體的示例性的實施例中,該技術可以實現(xiàn)為利用變化跟蹤提供系統(tǒng)恢復的計算機實現(xiàn)方法,該方法包含接收對電子存儲裝置的寫入請求,識別電子存儲區(qū)域中與寫請求相關聯(lián)的區(qū)域,設置區(qū)域指示符以識別電子存儲區(qū)域為臟的,以及設置一個或多個部分指示符以識別電子存儲區(qū)域的一個或多個臟部分。根據(jù)該具體的示例性實施例的其他方面,利用變化跟蹤進行系統(tǒng)恢復可以進一步包含確定是否要設置區(qū)域指示符以識別電子存儲區(qū)域,以及在確定要設置區(qū)域指示符的情況下設置區(qū)域指示符。根據(jù)該具體的示例性實施例的更多方面,確定是否要設置區(qū)域指示符以識別電子存儲區(qū)域可以至少部分地基于確定當前設置指示符。根據(jù)該具體的示例性實施例的額外方面,利用變化跟蹤進行系統(tǒng)恢復可以進一步包含確定是否要設置一個或多個部分指示符以識別一個或多個臟部分,以及在要設置一個或多個部分指示符的情況下設置一個或多個部分指示符。根據(jù)該具體的示例性實施例的額外方面,確定是否要設置一個或多個部分指示符以識別一個或多個臟部分可以至少部分地基于以下至少之一確定當前設置一個或多個部分指示符;確定當前設置電子存儲區(qū)域的每個部分指示符;確定捕獲電子存儲區(qū)域的分配部分;以及確定還原(restore)電子存儲區(qū)域的分配部分。根據(jù)該具體的示例性實施例的額外方面,設置區(qū)域指示符可以包含在易失性電子存儲裝置中設置指示符和在非易失性電子存儲裝置中設置指示符。根據(jù)該具體的示例性實施例的額外方面,設置一個或多個部分指示符可以包含在易失性電子存儲裝置中設置指示符和在非易失性電子存儲裝置中設置指示符。根據(jù)該具體的示例性實施例的額外方面,識別在非易失性電子存儲裝置中設置一個或多個部分指示符的時間可以基于以下至少之一確定在特定時間段內(nèi)未設置額外的部分指示符;確定已經(jīng)設置電子存儲區(qū)域的所有部分指示符;以及與識別時間處的區(qū)域相關聯(lián)的較低水平的磁盤活動性。根據(jù)該具體的示例性實施例的額外方面,利用變化跟蹤進行系統(tǒng)恢復可以進一步包含在非易失性電子存儲裝置中已經(jīng)設置一個或多個部分指示符之后清除區(qū)域指示符。根據(jù)該具體的示例性實施例的額外方面,一個或多個部分指示符可以包含以下至少之一位圖、運行表、范圍和數(shù)據(jù)結(jié)構(gòu),用于識別一個或多個臟數(shù)據(jù)部分。根據(jù)該具體的示例性實施例的額外方面,利用變化跟蹤進行系統(tǒng)恢復可以進一步包含利用多個等級的區(qū)域指示符,其中所述多個等級的區(qū)域指示符能夠進一步對電子存儲裝置的變化跟蹤進行細分。根據(jù)該具體的示例性實施例的額外方面,臟部分可以包含以下至少之一塊、扇區(qū)和簇。根據(jù)該具體的示例性實施例的額外方面,臟區(qū)域可以包含段。根據(jù)該具體的示例性實施例的額外方面,利用變化跟蹤進行系統(tǒng)恢復進一步包含創(chuàng)建電子存儲裝置的映像,利用區(qū)域指示符將電子存儲裝置的映像與電子存儲裝置的備份相比較從而識別電子存儲裝置的臟區(qū)域,以及基于確定在備份之后修改了與部分指示符相對應的電子存儲裝置的一個或多個部分,更新識別的臟區(qū)域的一個或多個部分指示符。根據(jù)該具體的示例性實施例的額外方面,利用變化跟蹤進行系統(tǒng)恢復進一步包含利用區(qū)域指示符創(chuàng)建增量備份從而識別電子存儲裝置的臟區(qū)域,其中增量備份捕獲被指示為臟區(qū)域的分配部分,且增量備份只捕獲干凈區(qū)域中經(jīng)修改的數(shù)據(jù)部分。根據(jù)該具體的示例性實施例的額外方面,利用變化跟蹤進行系統(tǒng)恢復進一步包含利用區(qū)域指示符從備份中還原一個或多個數(shù)據(jù)部分,從而識別電子存儲裝置中的臟區(qū)域, 其中對識別的臟區(qū)域的分配部分進行還原,以及其中對干凈區(qū)域的一個或多個經(jīng)修改的部分進行還原。根據(jù)該具體的示例性實施例的額外方面,該技術可以實現(xiàn)為用于存儲計算機指令程序的至少一個處理器可讀介質(zhì),該計算機指令程序被配置為能夠由至少一個處理器讀取以指示至少一個處理器執(zhí)行計算機處理,從而執(zhí)行權(quán)利要求1中所述的方法。在另一個具體的示例性實施例中,該技術可以實現(xiàn)為提供利用變化跟蹤進行系統(tǒng)恢復的制造品,該制造品包含至少一個處理器可讀介質(zhì)和所述至少一個介質(zhì)上承載的指令,其中所述指令被配置為能夠由至少一個處理器從至少一個介質(zhì)上讀取,因而引起至少一個處理器運行以執(zhí)行接收對電子存儲裝置的寫請求,識別電子存儲裝置中與寫請求相關聯(lián)的區(qū)域,設置區(qū)域指示符以識別電子存儲區(qū)域為臟的,以及設置一個或多個部分指示符以識別電子存儲區(qū)域的一個或多個臟部分。在另一個具體的示例性實施例中,該技術可以實現(xiàn)為提供利用變化跟蹤進行系統(tǒng)恢復的系統(tǒng),該系統(tǒng)包含一個或多個通信地耦合到網(wǎng)絡的處理器,其中一個或多個處理器被配置為接收對電子存儲裝置的寫入請求,識別電子存儲裝置中與寫入請求相關聯(lián)的區(qū)域,設置區(qū)域指示符以識別電子存儲區(qū)域為臟的,以及設置一個或多個部分指示符以識別電子存儲裝置的一個或多個臟部分。根據(jù)該具體的示例性實施例的其他方面,一個或多個處理器可以被進一步配置為利用區(qū)域指示符執(zhí)行以下至少之一系統(tǒng)調(diào)和、系統(tǒng)備份和系統(tǒng)還原。參考示例性的實施例及其附圖將更詳細地描述本公開。盡管下面參考示例性的實施例描述了本公開,但是應當理解,本公開并不限于這些示例性的實施例。接觸本文教導的本領域的普通技術人員將認識到額外的實現(xiàn)方式、改進和實施例以及其他使用領域,上述的額外實現(xiàn)方式、改進和實施例均在本文所描述的本公開的范圍內(nèi),并且相對于本公開具有顯著的效用。


為了便于更全面地理解本公開,現(xiàn)在參考附圖,在附圖中相似的元件用相似的數(shù)字標記。這些附圖不應當解釋為限制本公開,而意在僅僅作為示例。圖1示出了根據(jù)本公開的實施例的提供系統(tǒng)恢復的系統(tǒng)。圖2示出了根據(jù)本公開的實施例的提供系統(tǒng)恢復的模塊。圖3描繪根據(jù)本公開的實施例的提供系統(tǒng)恢復的方法。圖4描繪根據(jù)本公開的實施例的提供系統(tǒng)調(diào)和的方法。圖5描繪根據(jù)本公開的實施例的提供增量備份的方法。圖6描繪根據(jù)本公開的實施例的提供系統(tǒng)還原的方法。
具體實施例方式參考圖1,其示出了根據(jù)本公開的實施例的提供系統(tǒng)恢復的系統(tǒng)100。圖1是系統(tǒng) 100的簡化視圖,系統(tǒng)100可以包括未描繪的額外元件。網(wǎng)絡元件104和110可以通信地耦合到網(wǎng)絡102。網(wǎng)絡元件104可以含有修改跟蹤模塊114。計算機108可以通信地耦合到網(wǎng)絡102。數(shù)據(jù)106可以通信地耦合到網(wǎng)絡元件104。存儲裝置112可以通信地耦合到網(wǎng)絡元件110。網(wǎng)絡102可以是局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、因特網(wǎng)、蜂窩網(wǎng)、衛(wèi)星網(wǎng)絡或允許在網(wǎng)絡元件104和110、計算機108和通信地耦合到網(wǎng)絡102的其他設備之間通信的其他網(wǎng)絡。網(wǎng)絡元件104和110可以是應用服務器、備份服務器、網(wǎng)絡存儲設備、媒體服務器或通信地耦合到網(wǎng)絡102的其他設備。網(wǎng)絡元件104和110可以利用存儲裝置112存儲應用數(shù)據(jù)、備份數(shù)據(jù)或其他數(shù)據(jù)。網(wǎng)絡元件104和110可以是主機,例如應用服務器,其可以對在其本身和備份設備、備份處理器和/或存儲裝置之間傳遞的數(shù)據(jù)進行處理。網(wǎng)絡元件110可以是連接到存儲裝置112的備份服務器。在一個或多個實施例中, 網(wǎng)絡元件Iio能夠?qū)拇鎯ρb置112接收的數(shù)據(jù)或發(fā)送至存儲裝置112的數(shù)據(jù)進行處理。 在其他的實施例中,網(wǎng)絡元件110可以表示連接存儲區(qū)域網(wǎng)的網(wǎng)絡裝置。計算機108可以是臺式計算機、便攜式計算機、服務器或其他計算機。計算機108 可以從用戶輸入、數(shù)據(jù)庫、文件、網(wǎng)絡服務和/或應用編程接口接收數(shù)據(jù)。計算機108可以詢問其他系統(tǒng)和/或本地的或遠程的存儲裝置,例如數(shù)據(jù)106、網(wǎng)絡元件104和110以及存儲裝置112。計算機108可以提供用戶接口給備份系統(tǒng)、數(shù)據(jù)恢復系統(tǒng)或其他數(shù)據(jù)管理系統(tǒng)。數(shù)據(jù)106可以是網(wǎng)絡可訪問的存儲裝置,并且可以是網(wǎng)絡元件104和110的本地存儲裝置、遠程存儲裝置或其組合。數(shù)據(jù)106可以使用磁帶、磁盤、存儲區(qū)域網(wǎng)(SAN)或其他計算機可訪問的存儲裝置。在一個或多個實施例中,數(shù)據(jù)106可以表示數(shù)據(jù)庫或另一個應用實例。在一個或多個實施例中,存儲裝置112中的數(shù)據(jù)可以是映像,例如快照或其他文件系統(tǒng)塊級備份。網(wǎng)絡元件110可以是備份服務器,其可以處理備份數(shù)據(jù)的請求。網(wǎng)絡元件104可以含有修改跟蹤模塊114。修改跟蹤模塊114可以跟蹤對數(shù)據(jù)106 的寫請求。在一個或多個實施例中,修改跟蹤模塊114可以是變化跟蹤驅(qū)動器。修改跟蹤模塊114可以跟蹤存儲器中的寫請求或可以發(fā)送寫請求至備份服務器或其他網(wǎng)絡元件,例如網(wǎng)絡元件110。修改跟蹤模塊114跟蹤的修改可以被存儲在存儲器中和/或諸如磁盤的非易失性存儲裝置中。根據(jù)一個或多個實施例,修改跟蹤模塊114可以利用多個等級的變化跟蹤。例如, 修改跟蹤模塊114可以含有將諸如數(shù)據(jù)106的存儲空間邏輯細分為區(qū)域的邏輯或數(shù)據(jù)。存儲單元可以存在多個區(qū)域,諸如卷。區(qū)域的數(shù)量可以取決于卷的大小或其他因素。在一些實施例中,區(qū)域的數(shù)量可以是可配置的。區(qū)域可以是存儲空間的邏輯劃分(諸如,段)。區(qū)域可以由多個數(shù)據(jù)存儲部分例如塊、扇區(qū)和/或簇構(gòu)成。數(shù)據(jù)存儲部分(諸如,塊)的大小可以取決于操作系統(tǒng)或其他因素。在一些實施例中,該大小是可配置的。修改跟蹤模塊114 可以在區(qū)域等級和在更細的粒度等級(諸如,塊)跟蹤變化。修改跟蹤模塊114可以創(chuàng)建多個數(shù)據(jù)結(jié)構(gòu)從而跟蹤變化,該數(shù)據(jù)結(jié)構(gòu)諸如為位圖、運行表(例如,可以提供使用的第一存儲部分的地址和所用的存儲單元的長度或數(shù)量的數(shù)據(jù)結(jié)構(gòu))、陣列、指針、范圍和用于有效識別所用的電子存儲部分的其他數(shù)據(jù)結(jié)構(gòu)。修改跟蹤模塊114可以使用第一數(shù)據(jù)結(jié)構(gòu)來識別已經(jīng)修改過的電子存儲區(qū)域,這可以被稱為 “臟區(qū)域映射(map)”。臟區(qū)域映射可以含有針對由修改跟蹤模塊114跟蹤的存儲單元上的每個區(qū)域(諸如卷)的一個位(bit)或其他指示符。臟區(qū)域映射可以保持在易失性存儲裝置和非易失性存儲裝置中。對于每個區(qū)域,修改跟蹤模塊114可以保持含有針對該區(qū)域的每個數(shù)據(jù)存儲部分 (諸如塊)的一個位或其他指示符的數(shù)據(jù)結(jié)構(gòu)。這可以被稱為“塊映射(map)”。當修改跟蹤模塊114檢測到寫請求時,修改跟蹤模塊114可以識別與寫請求相對應的區(qū)域,并且設置臟區(qū)域映射中與該區(qū)域相對應的合適的位或其他指示符。修改跟蹤模塊114也可以設置存儲器中一個或多個塊映射中的合適的位或指示符,合適的位或指示符可以識別每個臟區(qū)域的修改部分。如上所述,臟區(qū)域映射可以保持在易失性存儲裝置和非易失性存儲裝置中。例如, 在寫之前,可以設置存儲器中和磁盤上的臟區(qū)域映射中的合適的位。也可以設置存儲器中的一個或多個塊映射的(多個)合適的位。因此,如果發(fā)生系統(tǒng)崩潰、不正確的關閉或其他中斷,那么指示一個或多個經(jīng)修改的區(qū)域的臟區(qū)域映射可以被保存在非易失性存儲裝置中。然而,根據(jù)某些實施例,在處理跟蹤的寫請求期間,不向非易失性存儲裝置寫入塊映射。例如,寫請求可以被寫入磁盤,但是用于系統(tǒng)恢復的經(jīng)修改的塊的跟蹤可以被寫入存儲器(例如,寫入一個或多個塊映射)。一旦已經(jīng)完成寫請求,經(jīng)修改的塊的跟蹤可以被寫入磁盤。寫請求一般可以成組地出現(xiàn),因此許多寫請求可以順序地出現(xiàn)在相同區(qū)域。對于對該區(qū)域的每個隨后的寫請求,修改跟蹤模塊114可以檢驗存儲器中臟區(qū)域映射中合適的位被設置以及在不需要額外寫入的情況下可以處理寫請求,從而跟蹤修改。一旦對區(qū)域的寫請求已經(jīng)停止或暫停,對于在臟區(qū)域映射中標志的或標出的一個或多個區(qū)域,修改跟蹤模塊114可以對非易失性存儲裝置上的塊映射進行寫入(例如,將塊映射刷新到磁盤),表明已經(jīng)修改過哪些塊。一旦區(qū)域的塊映射已經(jīng)寫入非易失性存儲裝置,就可以更新臟區(qū)域映射以不設置或清除該區(qū)域的指示符(即,將該區(qū)域標記為干凈的)。修改跟蹤模塊114可以使用額外的標志或指示符。例如,可以為每個區(qū)域提供兩個額外的指示符。如果之前區(qū)域還未臟(例如,自從上次備份以后區(qū)域的塊未發(fā)生任何變化),那么可以設置第一指示符。這可以使得修改跟蹤模塊114將該區(qū)域的塊映射從存儲器直接寫入磁盤,而無需首先檢查磁盤上是否存在需要更新的塊映射。如果區(qū)域中的每個塊均已被修改過,那么可以設置第二指示符。如果區(qū)域中的每個塊均已被修改過,那么修改跟蹤模塊114可以停止跟蹤區(qū)域中塊的變化(即,隨后的操作例如備份操作可以獲知需要捕獲所有的塊)。如果發(fā)生系統(tǒng)崩潰或中斷,那么備份部件或過程(例如在網(wǎng)絡元件110上運行的備份過程)可以利用臟區(qū)域映射執(zhí)行調(diào)和操作,下面將參考圖4更地詳細描述。這可以使得修改變化跟蹤繼續(xù)進行。備份過程或部件可以執(zhí)行除了調(diào)和操作以外或作為調(diào)和操作的可替換操作的其他操作。例如,備份過程或部件也可以利用臟區(qū)域映射和一個或多個塊映射執(zhí)行增量備份,下面將參考圖5更詳細地描述。備份過程或部件可以進一步利用臟區(qū)域映射和一個或多個塊映射執(zhí)行還原操作,下面將參考圖5更詳細地描述?,F(xiàn)在參考圖2,其示出根據(jù)本公開實施例的提供系統(tǒng)恢復的恢復變化跟蹤模塊 210。如圖所示,恢復變化跟蹤模塊210可以含有一個或多個部件,所述一個或多個部件包括寫跟蹤模塊212、調(diào)和模塊214、增量備份模塊216、還原模塊218和錯誤處理模塊220。寫跟蹤模塊212可以檢測對非易失性存儲裝置(例如,磁盤)的中斷或?qū)懭胝埱蟆?寫跟蹤模塊212可以確定與寫請求相關聯(lián)的區(qū)域,并設置位、標志或其他指示符來表示該區(qū)域是臟的(例如,已經(jīng)對該區(qū)域?qū)懭?,但是被跟蹤的用于系統(tǒng)恢復的塊修改變化還未保存到非易失性存儲裝置中的塊映射中)。指示符、位或標志可以被設置在存儲器中,并被寫入磁盤。
寫跟蹤模塊212可以跟蹤諸如塊的區(qū)域的部分??梢酝ㄟ^設置存儲器中一個或多個塊映射中的標志、指示符或位來跟蹤這些修改。一旦對區(qū)域的寫請求已經(jīng)消失,那么寫跟蹤模塊212可以將一個或多個塊映射寫入非易失性存儲裝置中(例如,將塊映射刷新到磁盤)??梢曰诟鞣N算法確定何時將塊映射寫入非易失性存儲裝置。根據(jù)某些實施例,可以監(jiān)控對區(qū)域的寫入等級,并且在對區(qū)域的寫入等級已經(jīng)降到特定閾值以下之后的一段特定時間段將一個或多個塊映射寫入非易失性存儲裝置。例如,在對區(qū)域的寫請求已經(jīng)停止三十秒以后可以將塊映射寫入存儲裝置。一旦區(qū)域的一個或多個塊映射已經(jīng)被寫入非易失性存儲裝置,寫跟蹤模塊212可以將該區(qū)域標記為干凈的。寫跟蹤模塊212可以通過清除或設置與臟區(qū)域映射中合適區(qū)域相對應的指示符、標志或位,將區(qū)域標記為干凈的。臟區(qū)域映射可以含有多個區(qū)域指示符。 根據(jù)某些實施例,寫跟蹤模塊212可以管理多個等級的臟區(qū)域映射。例如,最高等級映射可以含有與次等級的臟區(qū)域映射相對應的指示符。這些臟區(qū)域映射中的每一個都可以包含多個塊映射。區(qū)域的塊映射數(shù)、區(qū)域的層數(shù)或等級數(shù)、塊映射的大小以及臟區(qū)域映射的大小可以由許多因素決定,包括存儲空間大小、可用存儲器、用戶偏好和計算的備份系統(tǒng)操作的處理時間。調(diào)和模塊214能夠在系統(tǒng)崩潰、不正確地關閉、斷電或其他系統(tǒng)中斷之后對修改跟蹤進行調(diào)和。這種調(diào)和能夠使得臟區(qū)域中的修改被識別并被寫入非易失性存儲裝置中的一個或多個塊映射,以便將臟區(qū)域設置為干凈的(例如,可以重新設置臟區(qū)域映射中對應的指示符)。調(diào)和模塊214可以創(chuàng)建映像(image),例如在系統(tǒng)崩潰或其他斷電之后的存儲裝置的快照。然后調(diào)和模塊214可以利用臟區(qū)域映射將該映像與最近的備份進行比較。調(diào)和模塊214可以檢查與最近備份的相應部分相對的一個或多個部分的映像,例如塊。調(diào)和模塊214可以只檢查由臟區(qū)域映射標記為臟的區(qū)域內(nèi)一個或多個部分的映像和/或備份。 可以更新與不同于映像的備份部分相對應的一個或多個塊映射,從而表明已經(jīng)修改過這些部分(例如,這些區(qū)域可能已經(jīng)被指示為臟的,因為調(diào)和操作可能旨在調(diào)和標記為臟的區(qū)域)。一旦已經(jīng)在臟區(qū)域的相應塊映射中合適地指明臟區(qū)域的經(jīng)修改部分,那么對于那個區(qū)域而言調(diào)和過程已經(jīng)完成。當所有的臟區(qū)域都已被調(diào)和時,調(diào)和過程完成。取決于用戶偏好、系統(tǒng)設置或其他因素,調(diào)和過程可以只在存儲器中對臟區(qū)域內(nèi)的塊映射執(zhí)行更新。根據(jù)對非易失性存儲區(qū)域(例如,磁盤的扇區(qū))的寫活動等級,稍后可以執(zhí)行對塊映射的非易失性拷貝的寫入。在一個或多個實施例中,當調(diào)和模塊214創(chuàng)建映像時,可以創(chuàng)建第二組變化跟蹤映射。利用先前的變化跟蹤映射組(即,一個或多個臟區(qū)域映射和一個或多個塊映射),調(diào)和過程可以繼續(xù)。修改跟蹤可以繼續(xù),并可以使用第二組變化跟蹤映射。在調(diào)和過程結(jié)束之后,先前的臟區(qū)域映射可能不需要,并可以丟棄。先前的塊映射可以與稍后時間(例如, 備份時)的新的塊映射組合起來。增量備份模塊216能夠在系統(tǒng)崩潰、斷電或其他中斷之后進行增量備份。對于臟區(qū)域映射中指示為干凈的一個或多個區(qū)域(例如,臟區(qū)域映射中未標志的區(qū)域),可以備份一個或多個區(qū)域的一個或多個塊映射中標記為經(jīng)過修改的部分(例如,塊)。對于臟區(qū)域映射中標記為臟的一個或多個區(qū)域,可以備份一個或多個區(qū)域中所有使用過的存儲部分。這比完全備份快得多,并且與對于每次寫入標志非易失性存儲裝置中每個經(jīng)修改的部分(例如,塊)的情況相比較,使用更少的空間和需要更少的花銷和I/O處理。還原模塊218能夠在系統(tǒng)崩潰、斷電或其他中斷之后進行數(shù)據(jù)還原。用戶可能希望倒轉(zhuǎn)數(shù)據(jù)或?qū)⑾到y(tǒng)返回至更早的狀態(tài)(例如,系統(tǒng)崩潰是由于軟件升級或軟件安裝導致的,并且還原可以回到更早的穩(wěn)定版本)。還原模塊218可以直接使用臟區(qū)域映射和一個或多個塊映射來識別要還原的變化數(shù)據(jù)。在臟區(qū)域映射中指示為干凈的一個或多個區(qū)域中, 還原模塊218可以只還原由一個或多個塊映射指示的自從上次備份之后修改的數(shù)據(jù)部分。 在臟區(qū)域映射中標記為臟的一個或多個區(qū)域中,還原模塊218可以還原數(shù)據(jù)的所有部分或塊。臟區(qū)域的數(shù)量一般可能是較小的,并且干凈區(qū)域中的變化部分的數(shù)量可能明顯小于整個區(qū)域。因此,還原時間和I/O處理明顯小于進行完全還原的還原時間和I/O處理。錯誤處理模塊220可以執(zhí)行與修改跟蹤、修改跟蹤的調(diào)和、備份和還原相關的錯誤。錯誤處理模塊220可以記錄錯誤,例如在修改跟蹤期間發(fā)生的錯誤和與事件相關的其他錯誤。參考圖3,其描繪了根據(jù)本公開實施例的提供系統(tǒng)恢復的方法300。方法300可以在方框302處開始。在方框304處,方法300可以包含接收對存儲裝置的寫入請求。可以由跟蹤對存儲裝置(諸如,磁盤、磁帶或其他存儲介質(zhì))的寫請求的設備驅(qū)動器來接收該請求。在方框306處,方法300可以包含識別與寫請求的目標存儲區(qū)相關聯(lián)的區(qū)域。存儲區(qū)的一個或多個區(qū)域(諸如卷)的大小和數(shù)量可以根據(jù)存儲區(qū)的大小、操作系統(tǒng)或其他因素而變化。一旦已經(jīng)識別與寫請求相對應的區(qū)域,則可以識別與臟區(qū)域映射對應的相應指示符、標志或位。在一些實施例中,可能存在多個臟區(qū)域映射,并可以識別合適的臟區(qū)域映射(例如,最高等級的臟區(qū)域映射可以含有多個較低等級的臟區(qū)域映射的指示符,其可以提供對存儲裝置的進一步細分)。在方框308處,方法300可以包含確定是否需要設置臟區(qū)域指示符、位或標志。在自從區(qū)域的一個或多個塊映射被刷新到磁盤之后第一次對該區(qū)域?qū)懭肫陂g,該區(qū)域可能在臟區(qū)域映射上被指示為干凈的,并且該區(qū)域可能需要設置指示符來表示該區(qū)域是臟的。如果在該區(qū)域出現(xiàn)過其他寫入并且未記錄在非易失性存儲裝置中的一個或多個塊映射中,那么該區(qū)域可能已經(jīng)在臟區(qū)域映射中被指示為臟的。當確定是否要設置區(qū)域為臟時可以考慮其他因素。例如,如果區(qū)域的每個部分均已經(jīng)在非易失性存儲裝置中相應的塊映射中被指示為經(jīng)過修改,那么在一些實施例中不需要將區(qū)域標記為臟的。如果要設置相應的區(qū)域指示符,那么方法300可以在方框310處繼續(xù)。如果不需要設置相應的區(qū)域指示符,那么方法 300可以在方框312處繼續(xù)。在方框310處,方法300可以包含設置對應于要標記為臟的區(qū)域(即接收到寫請求的區(qū)域)的合適的標志、位或指示符??梢栽诖鎯ζ髦性O置該標志、位或其他指示符,然后將臟區(qū)域映射的更新部分寫入諸如磁盤的非易失性存儲裝置。在將臟區(qū)域映射更新寫入非易失性存儲裝置之后,方法300可以在方框311處繼續(xù)。在方框311處,可以完成寫請求。在寫請求中識別的數(shù)據(jù)可以被寫入諸如磁盤的非易失性存儲裝置。在方框312處,方法300可以包含確定是否要向非易失性存儲裝置寫入與寫請求期間經(jīng)修改的存儲部分相對應的一個或多個塊指示符。塊指示符可以設置在存儲器的塊映射中。然而,也可以確定是否要將塊映射從存儲器寫入諸如磁盤的非易失性存儲裝置。基于存儲裝置I/O處理等級可以做出確定,例如與磁盤相應的區(qū)域相關聯(lián)的I/O處理等級。在一個或多個實施例中,可以考慮其他因素。例如,當區(qū)域的每個部分已被指示為在非易失性存儲裝置上經(jīng)過修改時(例如,先前在非易失性存儲裝置中已經(jīng)設置該區(qū)域的所有塊映射位,并且該區(qū)域先前已經(jīng)被標記為干凈的),可以設置標志或指示符。如果因為已經(jīng)設置區(qū)域的所有塊指示符或因為其他因素而不需要設置該區(qū)域的一個或多個塊指示符,那么方法 300可以在方框320處結(jié)束。如果由于存儲裝置I/O處理等級或其他因素而在目前不需要設置區(qū)域的一個或多個塊指示符,那么方法300可以在方框314處繼續(xù)。如果要設置區(qū)域的一個或多個塊指示符,那么方法300可以在方框316處繼續(xù)。在方框314處,方法300可以包含等待。等待時段可以由用戶指定、由系統(tǒng)指定、 由算法確定或作為輸入被接收。在等待時段終止之后,方法300可以返回至方框312。在方框316處,方法300可以包含設置與經(jīng)修改的塊相對應的塊指示符。一個或多個塊映射可以被寫入非易失性存儲裝置。這可以包括從非易失性存儲裝置中讀取先前的塊映射,并將其更新。在一些實施例中,可以使用額外的指示符。例如,可以具有在區(qū)域先前還未臟的情況下為該區(qū)域設置的指示符。如果該指示符被設置,那么在更新塊映射之前, 對該區(qū)域的塊的更新不需要從非易失性存儲裝置中讀取到塊映射中,因為該區(qū)域的塊映射先前并未設置指示符。在方框318處,方法300可以包含清除一個或多個區(qū)域指示符。一旦區(qū)域的所有塊映射已經(jīng)被寫入存儲裝置,那么可以清除相應的臟區(qū)域映射中的區(qū)域指示符。在方框320處,方法300結(jié)束。參考圖4,其描繪根據(jù)本公開實施例的提供系統(tǒng)調(diào)和的方法400。方法400可以在方框402處開始。在方框404處,方法400可以包含確定或接收關于是否要繼續(xù)變化跟蹤或執(zhí)行另一行動(例如備份或還原)的輸入。如果繼續(xù)進行變化跟蹤,那么方法400可以在方框414 處繼續(xù)。否則,方法400可以在方框406處繼續(xù)。在方框406處,方法400可以包含確定或接收關于要采取的進一步行動的輸入。如果要進行備份,那么方法400可以在方框410處繼續(xù)。如果要執(zhí)行還原操作,那么方法400 可以在方框408處繼續(xù)。在方框408處,方法400可以包含執(zhí)行還原操作。下面參考圖6將更詳細地描述利用變化跟蹤執(zhí)行還原操作。在方框410處,方法400可以包含執(zhí)行備份,例如增量備份。下面參考圖5將更詳細地描述利用變化跟蹤執(zhí)行增量備份。在方框414處,方法400可以包含創(chuàng)建存儲裝置的映像,例如快照。根據(jù)一個或多個實施例,一旦已經(jīng)創(chuàng)建映像,就可以繼續(xù)進行變化跟蹤。在方框416處,方法400可以包含將區(qū)域中由臟區(qū)域映射指示為臟的映像部分與備份中的相應部分進行比較。該比較可以識別自從創(chuàng)建備份以后已經(jīng)修改過的臟區(qū)域的一個或多個部分。在方框418處,方法400可以包含更新一個或多個塊映射上的一個或多個標志、位或其他指示符。該更新可以對應于在方框416中識別為經(jīng)修改的部分。
在方框420處,方法400可以包含繼續(xù)進行變化跟蹤。在方框422處,方法400結(jié)束。參考圖5,其描繪根據(jù)本公開實施例的提供增量備份的方法500。方法500可以開始于方框502處。在方框504處,方法500可以包含確定區(qū)域是干凈的還是臟的。方法500可以包含利用一個或多個臟區(qū)域映射來識別映射上相應的臟區(qū)域指示符。如果相應的指示符被設置,那么方法500可以在方框508處繼續(xù)。如果相應的指示符未被設置,那么方法500可以在方框506處繼續(xù)。在方框506處,方法500可以包含捕獲指示為在被指示為干凈的區(qū)域中改變的備份塊??梢灾徊东@改變的塊的子集,即由文件系統(tǒng)分配的塊。在方框508處,方法500可以包含捕獲在被指示為臟的區(qū)域中由文件系統(tǒng)分配的備份塊。在方框510處,方法500可以包含確定是否存在更多要備份的區(qū)域。如果存在更多要備份的區(qū)域,那么方法500可以返回至方框504。如果不存在要備份的區(qū)域,那么方法 500可以在方框512繼續(xù)。在方框512處,方法500可以包含復制備份數(shù)據(jù)。這種復制可以減少和/或去除冗余數(shù)據(jù),并可以降低備份數(shù)據(jù)所需的存儲空間和I/O處理。例如,如果在方框508處捕獲的某些塊自從先前的備份之后還未改變,那么該步驟可以識別出那些塊是先前已經(jīng)備份過的。這可以防止對這些塊進行二次存儲(即冗余存儲)。在方框514處,方法500可以結(jié)束。參考圖6,其描繪了根據(jù)本公開實施例的提供系統(tǒng)還原的方法600。方法600可以在方框602處開始。在方框604處,方法600可以包含確定區(qū)域是干凈的還是臟的。方法600可以包含利用一個或多個臟區(qū)域映射來識別映射上相應的臟區(qū)域指示符。如果設置了相應的指示符,那么方法600可以在方框608處繼續(xù)。如果并未設置相應的指示符,那么方法600可以在方框606處繼續(xù)。在方框606處,方法600可以包含還原備份部分,例如指示為在被指示為干凈的區(qū)域中改變的塊。在方框608處,方法600可以包含還原在被指示為臟的區(qū)域中的所有備份塊。在方框610處,方法600可以包含確定是否需要還原額外的區(qū)域。如果需要還原額外的區(qū)域,那么方法600可以返回至方框604。如果不需要還原額外的區(qū)域,那么方法600 可以在方框612處繼續(xù)。在方框612處,方法600結(jié)束。此時,應注意,如上所述的根據(jù)本公開的提供系統(tǒng)恢復一般包括處理輸入數(shù)據(jù)和在某種程度上產(chǎn)生輸出數(shù)據(jù)。該輸入數(shù)據(jù)處理和輸出數(shù)據(jù)生成可以實現(xiàn)為硬件或軟件。例如,特定電子部件可以被用于系統(tǒng)恢復模塊或相似電路或相關電路,以實現(xiàn)與如上所述的根據(jù)本公開的提供系統(tǒng)恢復相關聯(lián)的功能??商鎿Q地,根據(jù)指令運行的一個或多個處理器可以實現(xiàn)與如上所述的根據(jù)本公開的提供系統(tǒng)恢復相關聯(lián)的功能。如果是這種情況,那么這些指令可以存儲在一個或多個處理器可讀介質(zhì)(例如,磁盤或其他存儲介質(zhì))上,或者這些指令經(jīng)由包含在一個或多個載波中的一個或多個信號發(fā)送至一個或多個處理器中,以上均在本公開的范疇內(nèi)。 本公開的范圍并不由此處描述的具體實施例限定。事實上,根據(jù)前述的說明書和附圖,除了此處所描述的實施例以外的本公開的其他各種實施例及其改進對本領域技術人員來說顯而易見的。因此,這些其他實施例和其改進落在本公開的范圍內(nèi)。進一步,盡管為了特定的目的在具體環(huán)境的具體實現(xiàn)方式的背景下,在本文已經(jīng)描述了本公開,但是本領域技術人員將認識到其有用性并不限于此,以及可以在為了許多目的的許多環(huán)境中有利地實施本公開。因此,應從本公開的完整寬度和精神角度解釋所附的權(quán)利要求。
權(quán)利要求
1.一種利用變化跟蹤提供系統(tǒng)恢復的計算機實施方法,所述方法包含 接收對電子存儲裝置的寫入請求;識別電子存儲區(qū)域中與所述寫入請求相關聯(lián)的的區(qū)域; 設置識別所述電子存儲區(qū)域為臟的區(qū)域指示符;設置識別所述電子存儲區(qū)域的一個或多個臟部分的一個或多個部分指示符。
2.根據(jù)權(quán)利要求1所述的方法,其進一步包含確定是否要設置識別所述電子存儲區(qū)域的所述區(qū)域指示符;和在確定要設置所述區(qū)域指示符的情況下,設置所述區(qū)域指示符。
3.根據(jù)權(quán)利要求2所述的方法,其中所述確定至少部分地基于確定當前設置所述區(qū)域指示符。
4.根據(jù)權(quán)利要求1所述的方法,其進一步包含確定是否要設置識別所述一個或多個臟部分的所述一個或多個部分指示符;和在確定要設置所述一個或多個部分指示符的情況下,設置所述一個或多個部分指示符。
5.根據(jù)權(quán)利要求4所述的方法,其中所述確定至少部分地基于以下至少之一確定當前要設置所述一個或多個部分指示符;確定當前要設置所述電子存儲區(qū)域的每個部分指示符;確定捕獲所述電子存儲區(qū)域的分配部分;以及確定還原所述電子存儲區(qū)域的分配部分。
6.根據(jù)權(quán)利要求1所述的方法,其中設置區(qū)域指示符包含在易失性電子存儲裝置中設置指示符和在非易失性電子存儲裝置中設置指示符。
7.根據(jù)權(quán)利要求1所述的方法,其中設置一個或多個部分指示符包含在易失性電子存儲裝置中設置指示符和在非易失性電子存儲裝置中設置指示符。
8.根據(jù)權(quán)利要求7所述的方法,其進一步包含基于以下至少之一識別用于在非易失性電子存儲裝置中設置所述一個或多個部分指示符的時間確定在特定時間段內(nèi)未設置額外的部分指示符;確定已經(jīng)設置所述電子存儲區(qū)域的所有部分指示符;以及與識別時間處的所述區(qū)域相關聯(lián)的較低等級的磁盤活動性。
9.根據(jù)權(quán)利要求7所述的方法,其進一步包含在非易失性電子存儲裝置中已經(jīng)設置所述一個或多個部分指示符之后,清除區(qū)域指示符。
10.根據(jù)權(quán)利要求1所述的方法,其中所述一個或多個部分指示符包含以下至少之一 位圖、運行表、范圍和用于識別一個或多個臟數(shù)據(jù)部分的數(shù)據(jù)結(jié)構(gòu)。
11.根據(jù)權(quán)利要求1所述的方法,其進一步包含利用多個等級的區(qū)域指示符,其中所述多個等級的區(qū)域指示符能夠進一步細分所述電子存儲裝置的變化跟蹤。
12.根據(jù)權(quán)利要求1所述的方法,其中所述臟部分包含以下至少之一塊、扇區(qū)和簇。
13.根據(jù)權(quán)利要求1所述的方法,其中所述臟區(qū)域包含段。
14.根據(jù)權(quán)利要求1所述的方法,其進一步包含 創(chuàng)建所述電子存儲裝置的映像;將所述電子存儲裝置的所述映像與所述電子存儲裝置的備份進行比較,利用所述區(qū)域指示符識別所述電子存儲裝置的臟區(qū)域;和基于確定在所述備份之后修改了與所述部分指示符相對應的電子存儲裝置的一個或多個部分,更新所識別的臟區(qū)域的所述一個或多個部分指示符。
15.根據(jù)權(quán)利要求1所述的方法,其進一步包含創(chuàng)建增量備份,利用所述區(qū)域指示符識別電子存儲裝置的臟區(qū)域,其中所述增量備份捕獲被指示為臟的區(qū)域的分配部分,并且所述增量備份只捕獲干凈區(qū)域中的經(jīng)修改的數(shù)據(jù)部分。
16.根據(jù)權(quán)利要求1所述的方法,其進一步包含從所述備份中還原一個或多個數(shù)據(jù)部分,利用所述區(qū)域指示符識別所述電子存儲裝置的臟區(qū)域,其中對經(jīng)識別的臟區(qū)域的分配部分執(zhí)行還原,以及其中對干凈區(qū)域的一個或多個經(jīng)修改的部分執(zhí)行還原。
17.至少一個處理器可讀介質(zhì),其用于存儲計算機程序指令,該計算機程序指令被配置為能夠由至少一個處理器讀取以指示所述至少一個處理器執(zhí)行計算機處理,從而實施如權(quán)利要求1所述的方法。
18.一種用于利用變化跟蹤提供系統(tǒng)恢復的制造品,所述制造品包含 至少一個處理器可讀介質(zhì);和所述至少一個介質(zhì)上承載的指令;其中所述指令被配置為能夠由至少一個處理器從所述至少一個介質(zhì)上讀取,因而引起所述至少一個處理器運行以執(zhí)行 接收對電子存儲裝置的寫入請求; 識別所述電子存儲裝置中與所述寫入請求相關聯(lián)的區(qū)域; 設置識別電子存儲區(qū)域為臟的區(qū)域指示符;和設置識別所述電子存儲區(qū)域的一個或多個臟部分的一個或多個部分指示符。
19.一種利用變化跟蹤提供系統(tǒng)恢復的系統(tǒng),所述系統(tǒng)包含通信地耦合到網(wǎng)絡的一個或多個處理器;其中所述一個或多個處理器被配置為接收對電子存儲裝置的寫請求;識別所述電子存儲裝置中與所述寫請求相關聯(lián)的區(qū)域;設置識別電子存儲區(qū)域為臟的區(qū)域指示符;和設置識別所述電子存儲區(qū)域的一個或多個臟部分的一個或多個部分指示符。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述一個或多個處理器進一步被配置為利用所述區(qū)域指示符執(zhí)行系統(tǒng)調(diào)和、系統(tǒng)備份和系統(tǒng)還原中的至少之一。
全文摘要
本發(fā)明公開了一種利用變化跟蹤進行系統(tǒng)恢復的技術。在一個具體的示例性實施例中,該技術可以實現(xiàn)為利用變化跟蹤進行系統(tǒng)恢復的計算機實現(xiàn)方法,該方法包含接收對電子存儲裝置的寫入請求,識別電子存儲區(qū)域中與寫請求相關聯(lián)的區(qū)域,設置區(qū)域指示符來識別電子存儲區(qū)域為臟的,以及設置一個或多個部分指示符來識別電子存儲區(qū)域的一個或多個臟部分。
文檔編號G06F12/00GK102460401SQ201080029047
公開日2012年5月16日 申請日期2010年4月22日 優(yōu)先權(quán)日2009年4月28日
發(fā)明者R·斯卓哈姆 申請人:賽門鐵克公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
环江| 旌德县| 徐州市| 新安县| 大石桥市| 西藏| 伊通| 南京市| 清水河县| 德阳市| 宁强县| 辉县市| 马龙县| 郓城县| 民丰县| 册亨县| 孟津县| 上犹县| 平凉市| 安庆市| 平顶山市| 德钦县| 乐东| 常山县| 清原| 来宾市| 通榆县| 加查县| 会泽县| 中宁县| 金山区| 清河县| 伊金霍洛旗| 鹤峰县| 襄樊市| 伊通| 秦安县| 文安县| 淮南市| 临漳县| 奉化市|