backup/cxml_format(33) Sprache: Deutsch


Das CXML Format

----------------------------------------------------------------------[ Meta ]--

name		backup/cxml_format
section		33
description	Das CXML Format
tags		backup bakup cxml
encoding	utf8
compliance	public
lang		de
creation	2014/08/06 00:42:30
version		1.0.0.0
copyright	Copyright (c) 2014 Ma_Sys.ma.
		For further info send an e-mail to Ma_Sys.ma@web.de.

--------------------------------------------------------------[ 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(http://www.aescrypt.com/) 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