CLFS-Terminologie
Die folgende Liste enthält Definitionen von Schlüsselbegriffen, die in der ClFS-Dokumentation (Common Log File System) verwendet werden. Diese Definitionen gelten während einer Diskussion über CLFS, gelten aber möglicherweise andernfalls nicht. Viele dieser Begriffe haben allgemeine Bedeutungen oder Bedeutungen im Kontext anderer Technologien, die sich von den hier angegebenen Definitionen unterscheiden.
Container
Eine zusammenhängende Ausdehnung auf einem physischen Datenträger oder einem anderen stabilen Speichermedium. Ein Container kann beispielsweise eine zusammenhängende Datenträgerdatei sein.
Sektor
Die Einheit der atomaren E/A auf einem physischen Speichermedium. Die Größe eines Sektors ist eine Eigenschaft eines bestimmten Speichergeräts. Beispielsweise kann eine Festplatte eine Sektorgröße von 512 Bytes aufweisen.
Protokoll
Eine Basisdatei und eine Reihe logisch sortierter Container. Die Basisdatei enthält Metadaten für das Protokoll, und die Container enthalten Protokolldatensätze. Alle Container haben die gleiche Größe.
Kunde
Eine Anwendung, ein Treiber, ein Thread oder eine andere Softwareeinheit, die ein CLFS-Protokoll verwendet.
Aufzeichnung
Die Dateneinheit, die ein Client an ein Protokoll anfügen oder aus diesem lesen kann.
Stream
Eine geordnete Teilmenge der Datensätze in einem Protokoll. Ein Protokoll kann einen oder mehrere Streams enthalten. Ein Client fügt Datensätze an und liest Datensätze aus einem bestimmten Stream. Sie können die Datensätze in einem bestimmten Stream vergleichen, um die Reihenfolge zu bestimmen, in der sie geschrieben wurden. Datensätze in verschiedenen Streams können nicht verglichen werden. Ein bestimmter Stream kann mehrere Clients aufweisen. Beispielsweise könnten mehrere Threads Datensätze an einen einzelnen Stream anfügen. Für einen Client wird ein Stream so angezeigt, als wäre er das gesamte Protokoll.
dediziertes Protokoll
Ein Protokoll, das nur einen Stream enthalten kann.
Multiplexprotokoll
Ein Protokoll, das mehrere Streams enthalten kann.
Protokoll-E/A-Block
Ein Puffer, in dem CLFS einen Satz von Datensätzen sammelt, die atomar in stabilen Speicher geschrieben werden.
Rangiergebiet
Eine Reihe von Protokoll-E/A-Blöcken, die von einem CLFS-Client erstellt, verwaltet und geplant werden, um Protokolldatensätze zu sammeln und in stabilen Speicher zu schreiben. Die Protokoll-E/A-Blöcke, die im flüchtigen Speicher für einen bestimmten Marshallbereich zugeordnet sind, weisen alle die gleiche Größe auf.
Hinweis Obwohl alle Protokoll-E/A-Blöcke (im flüchtigen Speicher) für einen bestimmten Marshallbereich die gleiche Größe aufweisen, variieren die Protokoll-E/A-Blöcke, die in stabilen Speicher geschrieben werden (aus diesem Marshallingbereich). Wenn beispielsweise ein Protokoll-E/A-Block zum stabilen Speicher gezwungen wird, bevor er voll ist, wird nur der verwendete Teil des Blocks in stabilen Speicher geschrieben.
Protokollsequenznummer (LSN)
Eine undurchsichtige Struktur, die einen Wert enthält, der einen Protokolldatensatz in einem bestimmten Stream eindeutig identifiziert. Wenn ein Client einen Datensatz in einen Stream schreibt, erhält er einen LSN zurück, mit dem er den Datensatz in Zukunft identifizieren kann. Die LSNs, die CLFS den Datensätzen in einem Stream zuweist, bilden eine zunehmende Sequenz. Das heißt, der einem Datensatz in einem Stream zugewiesene LSN ist immer größer als der LSN, der dem Datensatz zugewiesen wurde, der zuvor in denselben Stream geschrieben wurde.
Hinweis Streamsübergreifende Datensätze sind nicht vergleichbar. Das heißt, Sie können die LSNs von zwei Datensätzen in verschiedenen Datenströmen nicht vergleichen, um zu bestimmen, welcher Datensatz zuerst geschrieben wurde.
Basis-LSN
Der LSN des ältesten Datensatzes in einem Stream, der noch von den Clients des Streams benötigt wird. Die Clients sind für die Aktualisierung des Basis-LSN verantwortlich.
letzte LSN
Der LSN des jüngsten Datensatzes in einem Stream, der noch von den Clients des Streams benötigt wird. In der Regel ist dies der Datensatz, der zuletzt in den Stream geschrieben wurde, aber Clients haben die Möglichkeit, den letzten LSN manuell so festzulegen, dass er auf einen früheren Datensatz im Stream verweist. Das manuelle Festlegen des letzten LSN auf einen früheren Datensatz wird als Abschneiden des Datenstroms bezeichnet.
Archivschweif
Der LSN des ältesten Datensatzes in einem Protokoll, für den keine Archivierung stattgefunden hat. Nicht jedes Protokoll weist einen Archivschwanz auf. Ein Protokoll ohne Archivschwund wird als kurzlebig bezeichnet, und ein Protokoll, das einen Archivschwanz aufweist, wird als nicht kurzlebig bezeichnet. Wenn ein Client angibt, dass ein Protokoll über einen Archivschwanz verfügt, ist der Client für die Aktualisierung des Archivschwanzs verantwortlich.
aktiver Teil eines Datenstroms
Der Teil eines Datenstroms, der derzeit von seinen Clients verwendet wird. Der aktive Teil beginnt mit dem Datensatz, auf den der Basis-LSN oder der Archivschwanz verweist, je nachdem, welcher Wert kleiner ist. Der aktive Teil endet mit dem Datensatz, auf den der letzte LSN verweist.