通用記錄檔系統 (CLFS) 是在使用者模式或核心模式中執行的軟體 用戶端 所使用的一般用途記錄服務。 本檔討論核心模式用戶端的 CLFS 介面。 如需使用者模式介面的相關資訊,請參閱 Microsoft Windows SDK 中的通用記錄檔系統。
CLFS 封裝了復原和隔離利用語意(ARIES) 算法的所有功能。 不過,CLFS 裝置驅動程式介面 (DDI) 不限於支援 ARIES;它非常適合各種日誌記錄場景。
任何高效能交易日誌的主要工作是允許日誌用戶端準確重複過往操作。 CLFS 會將用戶端日誌記錄封送處理至記憶體緩衝,強制儲存至穩定儲存裝置,並根據要求讀取記錄來完成此操作。 請務必注意,在記錄進入穩定儲存體且儲存媒體完好無損之後,CLFS 將能夠跨系統故障讀取記錄。
CLFS 支援專用日誌和多工日誌。 專用日誌有一個單一的日誌記錄串流,供所有用戶端使用。 多工日誌(也稱為一般日誌)有數個流。 每個資料流都有自己的客戶端和自己的記憶體緩衝區,用於處理日誌紀錄,但所有這些緩衝區的紀錄都被多工合併為單一佇列,並寫入穩定存儲上的單一日誌。 多工處理可整合數個串流的輸入/輸出作業。
當用戶端將記錄寫入資料流時,它會傳回記錄序號(LSN),以識別紀錄記錄以供未來參照。 指派給寫入特定串流之記錄的 LSN 會形成遞增序列。 也就是說,指派給寫入資料流之記錄的 LSN 一律大於指派給寫入相同資料流之前一記錄的 LSN。
CLFS 除了封送處理、排清及擷取記錄之外,還提供其他服務。 下列清單說明其中一些附加服務。
可以預先保留空間給一組相關的日誌記錄。 用戶端可以繼續處理交易,因為知道 CLFS 能夠將描述交易的所有記錄附加至記錄檔。
CLFS 會維護每個日誌記錄的標頭。 用戶端可以在標頭中設定特定欄位,以建立連結記錄鏈,您稍後可以以相反的順序遍歷這些記錄。
CLFS 會根據其原則將記錄記錄排清至穩定儲存體,但也允許用戶端強制一組記錄記錄至穩定儲存體。
CLFS 會維護日誌的中繼資料,以及多路複用日誌的每個記錄流。 用戶端可以檢視中繼資料並設定中繼資料的某些部分。
針對每個資料流程,CLFS 會維護基底 LSN 和最後一個 LSN,用戶端可用來描述資料流程的作用中部分。
針對專用記錄,CLFS 會根據用戶端的要求維護一個封存部分尾端,且可供用戶端追蹤記錄的封存部分。
CLFS 的某些功能 (例如,記錄標頭的先前 LSN 和復原下一個 LSN 欄位) 可以透過研究 ARIES 來最好地瞭解。 如需有關 ARIES 的詳細資訊,請參閱下列文件。
C. Mohan、Don Haderle、Bruce Lindsay、Hamid Pirahesh、Peter Schwarz、ARIES:一種使用預寫日誌支援細粒度鎖定和部分回復的交易復原方法。
C. 莫漢,重演歷史,超越ARIES。