還原點
還原點(restore poin)表示計算機系統檔案的存儲狀態。“系統還原”會按特定的時間間隔創建還原點,還會在檢測到計算機開始變化時創建還原點。此外,還可以在任何時候手動創建還原點。建立還原度一個主要目的是指當系統發生故障時,能從還原點中恢復過來並正常運行。
系統還原內置在微軟的Windows Me、Windows XP、Windows Vista以及Windows 7作業系統,可以還原系統檔案,註冊表,已安裝程式等,當電腦發生問題時,用戶便可使用此功能嘗試還原到到系統先前狀態。系統還原一個是個人電腦的特殊及系統的備份工具。
有時候,安裝程式或驅動程式會對電腦造成未預期的變更,甚至導致Windows不穩定,發生不正常的行為。通常,卸載程式或驅動程式可修正此問題。用戶便可通過還原點,在不影響個人檔案(例如檔案、電子郵件或照片)的情況下撤消電腦系統變更。“系統還原”會影響Windows 系統檔、程式和登錄設定。它亦可能會變更電腦上的批處理檔案、腳本和其他類型的執行檔。系統還原能夠設定最高使用15%硬碟空間。舊的還原點將會被刪除以保持硬碟在指定的使用量。這能夠使很多用戶的還原點會被保留大約數星期。有些關切系統性能及硬碟空間的用戶可能會完全地關閉系統還原。檔案存儲在硬磁碟分區將不會被系統還原監控並且不會運行備份或還原。
檢查點
概述
檢查點種類包含四種,分別為MMDB的檢查點、非失真檢查點、失真檢查點和日誌驅動檢查點。
引入檢查點的主要目的,是使對事務記錄表中事務記錄的清理工作經常化,即每隔一定時間便做一次下述工作: 首先是將駐留在易失性存儲器(記憶體)中的當前事務記錄表中的所有記錄輸出到穩定存儲器中;其次是將駐留在易失性存儲器中的所有已修改數據輸出到穩定存儲器中;然後是將事務記錄表中的〈檢查點〉記錄輸出到穩定存儲器中;最後是每當出現一個〈檢查點〉記錄時,系統便執行恢復操作,利用 redo 和 undo 過程實現恢復功能。
如果一個事務 T i 在檢查點前就做了託付,則在事務記錄表中便會出現一個在檢查點記錄前的〈T i 託付〉記錄。在這種情況下,所有被 T i 修改過的數據,或者是在檢查點前已寫入穩定存儲器,或者是作為檢查點記錄自身的一部分寫入穩定存儲器中。因此,以後在系統出現故障時,就不必再執行 redo 操作了。
非失真檢查點(No一fuzzy Checkpointing)
非失真檢查點的策略通常都會給事務的處理帶來額外的開銷;〕這些開銷主要來自非失真檢查點策略需要為被檢查的數據對象加鎖來保持事務的一致性。可以用多種不同的策略可以選擇。
失真檢查點(Fuzzy Checkpointing)
MMDB中的失真檢查點F(uzyzChecPkointnig)策略是指檢查點程式在對數據做操作時,不需要對數據對象上鎖。檢查點程式和其他事務並發執行,檢查點程式每次只將資料庫的一部分髒數據頁回寫到磁碟上。檢查點程式通過向系統日誌中寫入日誌記錄,來和其他事務保持同步。
日誌驅動檢查點(Log一DrivenCheckpointing)
在失真檢查點和非失真檢查點中需要將記憶體資料庫整個或者部分地複製到磁碟上,而日誌驅動檢查點則是在前一次檢查點所產生的資料庫鏡象的基礎上,根據日誌更新該鏡象,產生新的鏡象。這種檢查點策略能夠適用於將資料庫鏡象備份到遠程主機上。因為日誌的數據量小於資料庫的大小,更加利於網路傳輸。每次做檢查點時,將日誌傳送給遠程主機,然後在遠程主機上根據日誌回放更新動作,產生出新的數據鏡象。但是,這種策略也有缺陷,如果MMDB在事務吞吐量很大的情況下,會產生出大量的日誌記錄。這些日誌將頻繁地驅動檢查點程式更新位於磁碟上的備份數據鏡象,牽涉到大量的磁碟1/0操作,因而會嚴重降低檢查點程式的效率。如果在事務吞吐量很大的情況下,能夠控制住日誌產生的數量,日誌驅動檢查點仍是一種不錯的檢查點策略。本章後半部分所提出的“恢復模型”,其中的檢查點策略就屬於日誌驅動檢查點。
具有兩相檢驗點的計算機系統
背景
檢驗點恢復計算機系統是耐用的計算機系統,其中在正常的數據處理過程中周期地提取檢驗點。當錯誤發生時,在適當的恢復操作之後,正常的數據處理在最新的一個檢驗點重新開始而不使系統停機。
一些檢驗點恢復計算機系統在主存儲器內提取檢驗點,在這樣的計算機系統中,使用複製型高速緩衝存儲器,在高速緩衝存儲器內的修改的數據應被寫回到主存儲器,從而刷新高速緩衝存儲器,這樣能使計算機重新開始正常的數據處理而不使用由於出錯而使其損壞的高速緩衝存儲器。
在通常的計算機系統中,作為檢驗點操作的主要步驟,高速緩衝存儲器的刷新操作是由高速緩衝存儲器處理器指命或附在計算機系統的高速緩衝存儲器刷新硬體執行的。這樣的檢驗點操作存在兩個問題,由於在檢驗點操作時正常的數據處理必須停下來而使性能變壞,另一個是,在這樣的檢驗點處理時,計算機系統好象完全停下來,例如,在這個期間,外部器件的中斷不能被處理,這樣就限制了運行計算機系統的其它套用,當高速緩衝存儲器的容量變大時,這些問題就變得更加嚴重。
方法
一種計算機系統,具有一個處理器、一個主存儲器、和一個複製型高速緩衝存儲器,其中,所述計算機系統周期地將所述高速緩衝存儲器的內容存入所述主存儲器以在所述主存儲器內得到一個檢驗點,並且當錯誤發生時,通過從所述檢驗點重新開始以實現從錯誤中恢復,所述計算機系統進一步包括:高速緩衝存儲器刷新執行裝置,用於獨立於由所述處理器執行的正常數據處理而刷新所述高速緩衝存儲器;高速緩衝存儲器刷新開始裝置,用於啟動所述高速緩衝存儲器刷新執行裝置;高速緩衝存儲器刷新結束檢測裝置,用以檢測所述高速緩衝存儲器刷新執行裝置是否已經完成了刷新所述高速緩衝存儲器;其中,在一個第一相檢驗點,所述處理器命令所述高速緩衝存儲器刷新開始裝置啟動所述高速緩衝存儲器刷新執行所述處理器執行正常的數據處理;並且其中,在一個第二相檢驗點,該檢驗點在所述高速緩衝存儲器刷新結束檢測裝置檢測到已完成在所述第一相位檢測點執行的所述高速緩衝存儲器的刷新時開始,所述處理器將所述處理器的一個狀態存儲到所述主存儲器中,並且命令所述高速緩衝存儲器刷新開始裝置啟動所述高速緩衝存儲器刷新執行裝置,在所述高速緩衝存儲器執行裝置刷新所述高速緩衝存儲器的同時,所述處理器暫停正常的數據處理。
有關術語
系統故障
系統故障,計算機術語,若系統在運行過程中,由於某種原因,造成系統停止運行,以致事務在執行過程中以非正常的方式終止,這是記憶體中的信息丟失,而存儲在外存上的數據未受影響,這種情況稱為系統故障。
事務
事務是用於訪問和修改各種數據項的一個程式單位。事務也可以被看做是一系列相關讀和寫操作。被訪問的數據可以分散地存放在同一檔案的不同記錄中,也可放在多個檔案中。只有對分布在不同位置的同一數據所進行的讀和寫(含修改)操作全部完成時,才能再以託付操作(Commit Operation)來終止事務。只要有一個讀、寫或修改操作失敗,便須執行夭折操作(Abort Operation)。讀或寫操作的失敗可能是由於邏輯錯誤,也可能是系統故障所導致的。
事務應該具有4個屬性:原子性、一致性、隔離性、持久性。這四個屬性通常稱為ACID特性。
原子性(atomicity)。一個事務是一個不可分割的工作單位,事務中包括的諸操作要么都做,要么都不做。
一致性(consistency)。事務必須是使資料庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。
隔離性(isolation)。一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對並發的其他事務是隔離的,並發執行的各個事務之間不能互相干擾。
持久性(durability)。持久性也稱永久性(permanence),指一個事務一旦提交,它對資料庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。