backup/cxml_format(33) Sprache: Deutsch


Das CXML Format

Beschreibung

Alle CXML Programme erstellen logischerweise CXML Dateien. Diese haben normalerweise die Endung .cxml, die Endung .zip ist aber auch problemlos verwendbar.

CXML Dateien sind eigentlich ZIP Archive, die noch eine Zusatzdatei, die je nach CXML Version variiert, enthalten. In dieser Datei stehen sogenannte Dateizuordnungen, also eine Art Schlüssel-Wert Zuordnungen. Diese werden bei jeder CXML Version in einer XML Datei gespeichert. Diese XML Datei heißt auch Meta Datei.

Hintergrund für diese, auf den ersten Blick unsinnige Methode, ist eigentlich nur, dass man dann keine Verzeichnisse in der ZIP Datei hat. Dies ist eigentlich kein sonderlicher Vorteil, wurde aber nötig, als beim Programmieren der ersten Backup Version backup/bakup_cxml(33) dem Programmierer nicht bekannt war, wie man in ZIP Archiven mit Java Verzeichnisse anlegt. Dadurch dass die Dateien in der ZIP Datei einen beliebigen (meist fortlaufend nummerierten) Namen haben und die Verzeichnisse in der XML Datei stehen, wurde es nicht nötig, Verzeichnisse innerhalb der ZIP Datei anzulegen.

Erst im Nachhinen wurde entdeckt, dass eine solche Trennung von Dateinamen und Dateinamensliste sogar einen praktischen Vorteil hat. Der Vorteil ist nämlich, dass man doppelte Dateien (die auf jeden Fall doppelt – also an verschiedenen Stellen je einmal – vorhanden sein müssen) damit nur einmal in der CXML Datei speichern muss. Die Backup Versionen eins bis drei ermöglichen allerdings keine richtige Nutzung dieses Vorteils. Daher kann diese Funktion momentan nur manuell benutzt werden, also wenn man die CXML Meta Datei selbst schreibt.

Zusätzlich ermöglicht das CXML Format es, z. B. die Installationsprogramme für verschiedene Betriebssysteme in einer CXML Datei mit mehreren Meta Dateien zu speichern, wodurch Dateien, die Plattformunabhängig sind, nicht mehrfach vorhanden sein müssen. Dadurch müssen unter Umständen nicht mehr mehrere Installationsprogramme vorhanden sein, wenn die Installation über CXML liefe. Dies soll mit zukünftigen CXML Versionen möglich sein.

Dadurch, dass die meißten Vorzüge von CXML noch nicht in einem passenden Programm umgesetzt wurden, wird im Moment noch an vielen Stellen – auch beim Ma_Sys.ma – auf den Einsatz von CXML verzichtet.

JMBB

Das Sicherungsprogramm jmbb(32) verwendete ebenfalls ein sehr ähnliches Format, nämlich cxe, was für CPIO XZ Encrypted steht und in dieser Reihenfolge mit den Daten ganz innen im CPIO und der enstehenden Datei ganz außen als Encrypted AESCrypt-Datei verschachtelt ist. Auch cxe enthält Meta-Informationen, die diesmal jedoch gewinnbringend verwendet werden.

JMBB teilt gesicherte Dateien immer in Blöcke auf, die als einzelne Dateien vorliegen, um eine einfache dateibasierte Synchronisierung mit einem Online-Speicher zu erlauben.

Dadurch ist die Situation vorstellbar, in der einige Blöcke und/oder die zentrale JMBB Datenbankdatei verloren gehen. Zu diesem Zwecke kann die JMBB Wiederherstellungsfunktion die Datenbank aus den in den Blöcken gespeicherten Metadaten rekonstruieren und so z. B. entscheiden, welche Dateien neuer und welche älter sind, ohne sich auf unzuverlässige Änderungsdaten der Blockdateien verlassen zu müssen.


Zum Seitenanfang