-
Die
Erfindung betrifft ein Verfahren zum Konvertieren von Daten aus
einem Ursprungsformat in ein Zielformat.
-
Beim
Stand der Technik benutzen die meisten Computer-Programme zum Sichern der Daten ein
für das
jeweilige Computer-Programm einzigartiges Speicherformat. Oftmals
unterscheiden sich diese Formate sogar bei unterschiedlichen Programmversionen
desselben Computer-Programms. Unterschiedliche Programmversionen
ergeben sich üblicherweise
durch die Überarbeitung
bereits existierender Computer-Programme. Dabei werden beispielsweise
durch eine Erweiterung des Computer-Programms um neue oder verbesserte Funktionen
stark veränderte
Versionen desselben Computer-Programms erstellt. Oftmals ändert sich
bei einer derartigen Umstellung auch das Speicherformat der abgelegten
Daten. Aus Gründen
der Kompatibilität sollen
die neueren Programmversionen jedoch natürlich auch weiterhin Daten
verwenden können,
die von älteren
Versionen abgespeichert wurden. Sollen also von einem Computer-Programm entweder
Daten eingelesen werden, die von einer anderen Version desselben
Computer-Programms stammen, oder auch einfach Daten, die von einem
anderen Computer-Programm abgespeichert wurden, so müssen diese
Daten – falls
ein anderes Format benutzt wurde – in das Format des aktuellen
Computer-Programms umgewandelt
werden.
-
Bei
herkömmlichen
Verfahren wird für
jede beliebige Umwandlung der Daten von einem Ursprungsformat in
ein sich von diesem unterscheidenden Zielformat jeweils eine eigene
Umwandlungsroutine von den Software-Entwicklern entworfen und zum
Konvertieren der Daten ausgeführt.
Dieses Vorgehen ist jedoch zeit- und kostenintensiv, da gerade bei
einer immer weiter ansteigenden Masse an Computer-Programmen und
vor allem bei einer stark zunehmenden Anzahl an einzelnen Programmversionen die
Zahl der sich unterscheidenden Speicherformate – und damit die zu entwickelnden
Umwandlungsroutinen – drastisch
ansteigt.
-
Der
Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, das
das Umwandeln der Daten einfacher und effizienter bewerkstelligen
kann.
-
Diese
Aufgabe wird durch die in den Patentansprüchen 1 und 6 beanspruchten
Merkmale gelöst.
Vorteilhafte Ausführungsformen
der Erfindung sind in den Unteransprüchen angegeben.
-
Ein
Vorteil der Erfindung ist die zwischenzeitliche Umwandlung der Daten
in einen menschenlesbaren Zeichensatz. Dieser kann gegebenenfalls standardisiert
sein. Hierdurch wird die Handhabung der Daten gänzlich unabhängig von
der binären
Darstellung der gespeicherten Daten. Die so gesicherten Daten können demnach
beispielsweise selbst bei einem Wechsel der Plattform, auf der das
Computer-Programm zum Ablauf gelangt, weiter benutzt werden, wenn
diese den entsprechenden Zeichensatz unterstützt. Unter einer Plattform
versteht man hierbei die Kombination eines Betriebssystems mit einer
bestimmten Hardware-Architektur. Wird zudem ein menschenlesbarer
Zeichensatz verwendet, können
die Daten darüber
hinaus leicht überprüft und gegebenenfalls
korrigiert werden.
-
Ein
weiterer Vorteil der Erfindung ist das Konvertieren der Daten mit
Hilfe des Hintereinanderschaltens von mehreren Konvertierungsroutinen.
Dabei stellt das Verfahren gemäß der vorliegenden
Erfindung für
jedes neue Computer-Programm nur genau zwei neue Konvertierungsroutinen
bereit. Durch diese können
Daten, die im Format eines anderen Computer-Programms gespeichert
sind, in das aktuelle Format konvertiert werden (und umgekehrt). Durch
das gezielte Hintereinanderschalten mehrerer Konvertierungsroutinen
können
Konvertierungen von jedem beliebigen Ursprungsformat in jedes beliebige Zielformat
durchgeführt
werden, ohne dass für
jede dieser Konvertie rungen eine dementsprechende, spezifische Konvertierungsroutine
entwickelt werden muss.
-
Ein
weiterer Vorteil der Erfindung ist die Verwendung des oben erwähnten Verfahrens
für die Konvertierung
von Daten, die von unterschiedlichen Versionen desselben Programms
in unterschiedlichen Datenformaten abgespeichert wurden. Auch hier
sind für
jede neue Programmversion jeweils nur genau zwei Konvertierungsroutinen
zu entwickeln, was bei höheren
Versionen zu einem hohen Einsparpotenzial führt.
-
Ein
weiterer Vorteil der Erfindung ist die Verwendung des ASCII-Formats
als menschenlesbarer Zeichensatz bei der Konvertierung. Da der ASCII-Standard
ein weit verbreiteter und allgemein gebräuchlicher Zeichensatz ist,
kann eine Kompatibilität bei
der Nutzung unterschiedlicher Plattformen als sichergestellt angenommen
werden.
-
Ein
weiterer Vorteil der Erfindung ist die Nutzung des erläuterten
Verfahrens zur Konvertierung der Datenformate von unterschiedlichen
Programmversionen von Datenbankprogrammen. Da bei Datenbanken häufig Veränderungen
im Speicherformat der abgelegten Daten auftreten (beispielsweise durch
die Erweiterung der zu speichernden Datensätze oder durch eine Änderung
des binären
Formats der Datenbank), ist bei derartigen Anwendungen eine einfachere
Konvertierung von erheblichem Nutzen.
-
Die
Erfindung wird nun im Folgenden mit Hilfe der beigefügten Zeichnungen
detaillierter erläutert, wobei
-
1 eine
Veranschaulichung der Datenkonvertierung bei drei Datenformaten
gemäß dem Stand
der Technik ist,
-
2 eine
Veranschaulichung der Datenkonvertierung bei zwei aufeinander folgenden
Programmversionen ist,
-
3 eine
Veranschaulichung der Datenkonvertierung bei drei aufeinander folgenden
Programmversionen ist.
-
1 zeigt
das Verfahren zur Konvertierung von Daten, die mit unterschiedlichen
Formaten abgespeichert wurden, gemäß dem Stand der Technik. Für jedes
der Formate f1, f2,
f3 muss zur Konvertierung in eines der beiden
anderen Formate eine eigene Konvertierungsroutine k12,
k13, k23, k21, k31, k32 bereitgestellt werden. Sollen beispielsweise
Daten aus einem Format f1 in ein Format
f2 konvertiert werden, so wird hierfür die Konvertierungsroutine
f12 verwendet. Somit ergibt sich bei zahlreichen,
unterschiedlichen Formaten naturgemäß eine Vielzahl an benötigten Konvertierungsroutinen.
-
In 2 ist
ein erstes Ausführungsbeispiel des
Verfahrens gemäß der Erfindung
anhand zweier Versionen eines Datenbankprogramms aufgezeigt. Gemäß diesem
Ausführungsbeispiel
stammen die beiden Datenformate fn und fn+1 von zwei aufeinander folgenden Versionen
vn bzw. vn+1 eines
Datenbankprogramms. Daten, die in den Formaten fn bzw.
fn+1 abgespeichert sind, werden in einem
ersten Schritt in einen menschenlesbaren Zeichensatz wie etwa das ASCII-Format überführt. Die
jeweilige ASCII-Repräsentation
der ursprünglich
in den Formaten fn bzw. fn+1 abgespeicherten
Daten wird in 2 mit zn bzw.
zn+1 bezeichnet. In dem darauf folgenden
Schritt werden die von Programmversion vn stammenden
Daten in Daten umgewandelt, die zu Programmversion vn+1 kompatibel
sind. Die Daten werden hierzu unter Verwendung einer Aufwärts-Konvertierungsroutine k_aufn+1 von Format zn in
das Format zn+1 konvertiert. Für das Umwandeln
der von Programmversion vn+1 stammenden
Daten in das zu Programmversion vn gehörende Format
fn wird zum Konvertieren der Daten von Format
zn+1 nach Format zn eine
Abwärts-Konvertierungsroutine
k_abn bereitgestellt. Diese beiden Konvertierungsroutinen
k_aufn+1 und k_abn sind
integraler Bestandteil der neuen Datenbankversion vn+1.
In einem letzten Arbeitsschritt werden die konvertierten Daten zn+1 bzw. zn zurück in das Datenformat
fn+1 bzw. fn der
entsprechenden Daten bankversion vn+1 bzw.
vn überführt. Die
neue Datenbankversion kann somit sowohl das alte Datenformat fn lesen und die Daten in das aktuelle Format
fn+1 konvertieren als auch im aktuellen
Format fn+1 gespeicherte Daten in das alte
Datenformat fn konvertieren.
-
In 3 ist
ein zweites Ausführungsbeispiel aufgezeigt,
bei dem drei Programmversionen vn, vn+1 und vn+2 existieren.
Die drei Versionen vn, vn+1 und
vn+2 weisen jeweils die Datenformate fn, vn+1 bzw. vn+2 auf. Die entsprechenden Darstellungen
dieser Formate fn, vn+1 und
vn+2 in einem menschenlesbaren Zeichensatz
wie dem ASCII-Format werden mit zn, zn+1 bzw. zn+2 bezeichnet.
Jede der neuen Programmversionen (in diesem Fall also vn+1 und
vn+2) stellt eine Aufwärts-Konvertierungsroutine k_aufn+1 bzw. k_aufn+2 für eine Konvertierung
vom Format des Versionsvorgängers
in das eigene Datenformat sowie eine Rückwärts-Konvertierungsroutine k_abn und
k_abn+1 für eine Konvertierung vom aktuellen
Datenformat in das Format des Versionsvorgängers bereit. Um eine Konvertierung
der Daten aus Format zn nach zn+2 durchzuführen, können die
Aufwärts-Konvertierungsroutinen
k_aufn+1 und k_aufn+2 hintereinander
durchlaufen werden. Es ist somit keine weitere Konvertierungsroutine
nötig,
die eine direkte Konvertierung der Daten von zn nach
zn+2 durchführt. Gleiches gilt auch für eine Rückwärts-Konvertierung
von zn+2 nach zn.
Im Vergleich zu dem Verfahren gemäß dem Stand der Technik (vgl. 1)
kann somit die Entwicklung zweier Konvertierungsroutinen eingespart
werden.
-
Sollte
die Konvertierung bei Programmen durchgeführt werden, die weitere Versionen
besitzen (wie es bei herkömmlichen
Programmen häufig
der Fall ist), so sind die Einsparungen noch weitaus größer.
-
Die
vorliegende Erfindung ist nicht ausschließlich auf den Verwendung bei
Datenbanken beschränkt.
Es kann vielmehr bei allen Arten von Computer-Programmen verwendet
werden.
-
Des
Weiteren ist das Verfahren gemäß der vorliegenden
Erfindung nicht auf die Anwendung bei unterschiedlichen Versionen
desselben Computer-Programms beschränkt. Es kann ebenso zur Konvertierung
von Daten verwendet werden, die von unterschiedlichen Computer-Programmen
stammen.