-
Die vorliegende Erfindung betrifft
ein Verfahren zum Bereitstellen eines Speichers zur inkrementellen
Archivierung unter Inanspruchnahme von möglichst wenig Speicherplatz
für das
Archiv.
-
Viele Computersysteme bedienen sich
zur Sicherung eines oder mehrerer Plattenspeicher eines herkömmlichen
Archivierungsschemas. Bei diesem Archivierungsschema wird jedes
Mal, wenn ein Benutzer eine Datei ändert und archiviert, eine
Kopie der gesamten Datei auf das Magnetband geschrieben. Wenn an
der Datei anschließend
weitere Änderungen
vorgenommen werden und der Benutzer die Datei erneut speichern will,
wird die gesamte Datei durch das Archivierungsschema an die zuvor
auf dem Band archivierte Datei angehängt.
-
Dieses Archivierungsschema weist
Nachteile und Einschränkungen
auf. Erstens wird durch das Archivierungsschema selbst dann, wenn
der Benutzer auch nur die kleinste Änderung an der Datei vorgenommen
hat, die gesamte Datei auf das Band geschrieben, wenn der Benutzer
sie archiviert. Daher benötigt
dieses Archivierungsschema sehr viel Zeit, um große Dateien
zu archivieren. Zweitens werden ständig weitere Bandlängen benötigt, da
durch dieses Archivierungsschema jede archivierte Datei an das Ende
der zuvor archivierten Datei angehängt wird.
-
In der Europäischen Patentanmeldung EP-A 0
332 210 wird ein Sicherungs-Steuerungssystem offengelegt, in dem
erneuerte (geänderte)
Datenbereiche eines ersten Speichers in einen zweiten Speicher kopiert
werden. Ein Steuerspeicher dient dazu, diejenigen Bereiche des ersten
Speichers zu kennzeichnen, die erneuert worden sind.
-
In der Europäischen Patentanmeldung EP-A 0
541 281 wird ein inkrementelles Sicherungssystem offengelegt, in
dem nur diejenigen Blöcke
einer Datei oder einer Plattenpartition gesichert werden, die gegenüber entsprechenden
früheren
Blöcken
geändert worden
sind. Solche Änderungen
werden erkannt, wenn sich eine (aus einem zyklischen Redundanzcode
berechnete) Kennung des Blocks von einer Kennung der früheren Version
des Blocks unterscheidet.
-
Daher stellt die Erfindung ein durch
die beiliegenden Ansprüche
definiertes Verfahren zur inkrementellen Archivierung eines Primärspeichers
eines Computersystems in einem Archivspeicher bereit.
-
Die Erfindung stellt auch ein in
den beiliegenden Ansprüchen
definiertes Computersystem einschließlich eines Mittels zur inkrementellen
Archivierung des Primärspeichers
in dem Archivspeicher bereit.
-
Es ist klar, dass der Fachmann leicht
in der Lage ist, die Erfindung zu realisieren, ohne vom Geltungsbereich
der in den beiliegenden Ansprüchen beanspruchten
Erfindung abzuweichen.
-
Unter einem weiteren Aspekt wird
ein in den beiliegenden Ansprüchen
beanspruchtes Computersystem zum Übergang in den Ruhemodus bereitgestellt,
das Folgendes umfasst: einen Primärspeicher mit einer Vielzahl
von Partitionen, wobei sich in mindestens einer der Partitionen
der darin gespeicherte Inhalt befindet; einen Archivspeicher; Steuereinrichtungen
zum Erzeugen einer Archivierungsanforderung durch den Benutzer;
einen Prozessor zum Speichern einer Kopie des Inhalts jeder geänderten
Partition in dem Archivspeicher als Reaktion auf die Archivierungsanforderung.
-
Der Prozessor durchsucht eine Partitionsstatustabelle
mit einer Vielzahl von Einträgen,
bis er alle Einträge
erfasst hat, wobei jeder Eintrag anzeigt, ob seit einer vorangegangenen
Archivierung eine entsprechende Partition geändert worden ist. Wenn ein erster
Eintrag eine geänderte
Partition anzeigt, speichert der Prozessor den Inhalt der geänderten
Partition in dem Archivspeicher ab und setzt den ersten Eintrag
auf einen Archivierungsstatus.
-
Unter einem anderen Aspekt stellt
die Erfindung ein in den beiliegenden Ansprüchen definiertes Verfahren
bereit, das ein Computersystem veranlasst, einen Primärspeicher
inkrementell in einem Archivspeicher zu speichern, wobei der Primärspeicher in
eine Vielzahl von Partitionen aufgeteilt ist und sich in mindestens
einer der Partitionen der darin gespeicherte Inhalt befindet, wobei
das Verfahren die folgenden Schritte umfasst:
Empfangen einer
Anforderung zur inkrementellen Archivierung von einer benutzerbedienten
Steuereinrichtung; und
Speichern einer Kopie des Inhalts jeder
zuvor geänderten
Partition in dem Archivspeicher.
-
Somit kann ein in dem Computer realisiertes Verfahren
ein Computersystem veranlassen, einen Primärspeicher partitionsweise in
einem Archivspeicher inkrementell zu archivieren. Der Primärspeicher wird
in eine Vielzahl von Partitionen aufgeteilt, wobei die Daten in
mindestens einer der Partitionen enthalten sind. Das Verfahren enthält die Schritte
des Empfangens einer Anforderung zur inkrementellen Archivierung
von einer benutzerbedienten Steuereinrichtung und als Reaktion darauf
das Speichern einer Kopie der Daten in jeder seit der letzten Archivierung geänderten
Partition, falls eine Änderung
stattgefunden hat.
-
Ein solches Archivierungsschema erfüllt die Anforderungen
an ein Archivierungsschema, das wesentlich schneller als herkömmliche
Archivierungsschemata ist und keine zusätzliche Bandkapazität benötigt. Bei
einem solchen Archivierungssystem braucht eine Datei nicht nach
jeder Änderung
vollständig
neu aufgezeichnet oder archiviert zu werden, sondern nur die geänderten
Bereiche dieser Datei.
-
Im Folgenden wird als Beispiel eine
bevorzugte Ausführungsart
der Erfindung unter Bezug auf die folgenden Zeichnungen beschrieben:
-
1 veranschaulicht
schematisch eine Hardwarekonfiguration eines typischen Computersystems;
-
2 veranschaulicht
die Datenstruktur des Archivierungsstatus einer Partition zur Überwachung des
Status von Plattenpartitionen und die Datenstruktur einer Partitionstabelle
zum Zuordnen der physischen Speicherplätze in dem Archivierungs-Speichermedium
zu den physischen Partitionen auf der Platte;
-
3 veranschaulicht,
wie ein Dienstprogramm Änderungen
an den physischen Partitionen verwaltet und überwacht;
-
4 ist
ein Flussdiagramm zur Durchführung
einer inkrementellen Sicherung;
-
5 ist
ein Flussdiagramm zur Durchführung
einer Archivierungsanforderung; und
-
6 ist
ein Flussdiagramm zur Durchführung
eines vollständigen
Sicherungsvorgangs.
-
Die bevorzugte Ausführungsart
der Erfindung umfasst einen Computer wie einen Laptop-Computer oder
einen Arbeitsplatzrechner mit einer in 1 veranschaulichten Hardwarekonfiguration,
der durch eine in dem Computerspeicher gespeicherte Software gesteuert
wird, um ein Verfahren zum Archivieren eines Festplattenspeichers
durchzuführen.
-
In 1 enthält ein Arbeitsplatzrechner 100 eine
geeignete Zentraleinheit 10 wie beispielsweise die PowerPC 601 (von
der IBM Corporation) und eine Anzahl anderer über den Systembus 12 miteinander verbundener
Einheiten. Zur Veranschaulichung enthält der Arbeitsplatzrechner 100 einen
Arbeitsspeicher (RAM) 14, einen Nur-Lese-Speicher (ROM) 16, einen
nichtflüchtigen
RAM (NVRAM) 32, einen Bildschirmadapter 36 zur
Verbindung des Systembusses 12 mit der Anzeigevorrichtung 38 und
einen E/A-Adapter 18 zur Verbindung von Peripherieeinheiten
(z. B. Festplatten, lesbare/beschreibbare optische Platten, CD-ROMs
und Bandlaufwerke 20) mit dem Systembus 12. Im
Arbeitsplatzrechner 100 ist ferner ein Schnittstellenadapter 22 zur
Verbindung von benutzerbedienten Steuereinrichtungen wie einer Tastatur 24,
einer Maus 26, eines Lautsprechers 28 und eines Mikrofons,
eines berührungsempfindlichen
Bildschirms (Touchscreen) und/oder anderer (nicht gezeigter) Benutzerschnittstellenvorrichtungen
mit dem Systembus 12 enthalten. Ein Datenübertragungsadapter 34 verbindet
den Arbeitsplatzrechner 100 mit einem Datenverarbeitungsnetzwerk.
-
Im Arbeitsplatzrechner 100 kann
ein geeignetes Betriebssystem (OS) installiert sein; bei
der bevorzugten Ausführungsart
unterstützt
der Arbeitsplatzrechner 100 das Betriebssystem AIX (von
der IBM Corporation). Der Arbeitsplatzrechner 100 enthält ein Archivierungsmedium
zum Aufbewahren von Kopien der auf der Festplatte gespeicherten
Daten. Bei der bevorzugten Ausführungsart
wird das Archivierungsmedium durch die Bandlaufwerke 20 bereitgestellt,
es können
jedoch beliebige geeignete Arten von Speichermedien zum Aufbewahren
der Kopien verwendet werden, wie zum Beispiel eine lesbare/beschreibbare
optische Platte.
-
Bei der bevorzugten Ausführungsart
wird ein Dienstprogramm, das in dem Betriebssystem enthalten sein
kann, auf einem geeigneten computerlesbaren Medium wie beispielsweise
dem RAM 14, dem ROM 16, einer Magnetdiskette,
einem Magnetband oder einer optischen Platte (wobei sich die drei
Letzteren in den Platten- und Bandlaufwerken 20 befinden)
bereitgestellt. Das Dienstprogramm steuert die Zentraleinheit und
veranlasst sie zur Ausführung
verschiedener Aufgaben auf der Grundlage der in dem Dienstprogramm
enthaltenen Datenstrukturen und (im Folgenden beschriebenen) Logik,
die durch den Arbeitsplatzrechner in bekannter Weise umgesetzt werden
können.
-
Das Betriebssystem teilt alle primären Plattenspeicher
in Partitionen gleicher Größe, in so
genannte physische Partitionen, auf. Der Benutzer ändert üblicherweise
den Inhalt einiger dieser physischen Partitionen, bevor er eine
Archivierung anfordert.
-
2 veranschaulicht,
wie das Dienstprogramm die Änderungen
von physischen Partitionen verwaltet und überwacht. Um zu erkennen, ob
ein Benutzer eine physische Partition geändert hat, prüft das Dienstprogramm
den Archivierungsstatus in einer tabellarischen Partitionsarchivierungsstatusmatrix.
Zum Beispiel enthält
die Partitionsarchivierungsstatusmatrix 200 den Änderungsstatus
für die
physischen Partitionen 201 bis 212. Jedes Statusbit 240 zeigt
an, ob die in seiner physischen Partition befindlichen Daten seit
der letzten Archivierungsoperation geändert worden sind. Das Dienstprogramm
setzt zu Anfang alle Statusbits 240 auf "archiviert".
-
Das Dienstprogramm überwacht
durch Setzen des Statusbits 240 den Zugriff des Benutzers
auf jede physische Partition 201 bis 212. Zum
Beispiel setzt das Dienstprogramm das Statusbit auf "1" für "geändert" und
auf "0" für
"archiviert". In einem inkrementellen Archiv wählt das Dienstprogramm alle
physischen Partitionen mit einem Statusbit "geändert" aus (welches anzeigt,
dass sie seit der letzten Archivierung geändert worden sind) und kopiert
sie in das Archivierungsmedium. Deshalb archiviert das Dienstprogramm
während
der inkrementellen Archivierung nur die als "geändert" gekennzeichneten physischen Partitionen.
-
Nach Abschluss der Archivierung setzt
das Dienstprogramm alle Statusbits 240, die jeder archivierten
physischen Partition entsprechen, auf "archiviert" (dadurch wird
angezeigt, dass diese physischen Partitionen seit der letzten Archivierungsoperation
nicht geändert
worden sind). Durch diese Art von selektiven Archivierungsoperationen
wird verhindert, dass "leere" Partitionen archiviert werden, die nicht
geändert
worden sind.
-
Aus Gründen einer optimalen Anwendung wird
die Partitionsarchivierungsstatusmatrix 200 in erster Linie
im RAM 14 verwaltet und gelegentlich auf einer Platte gespeichert.
-
Die 2 und 3 zeigen, dass die Einträge in der
Partitionsübersichtsmatrix 220 eine
Zuordnung von einer physischen Partition 201 bis 212 zu
einer entsprechenden physischen Partition 221 bis 232 im Archivierungsmedium
enthalten. Deshalb zeigt die Matrix 220 genau an, wohin
der Inhalt jeder physischen Partition in dem Archivierungsmedium
gespeichert wird. Wenn eine physische Partition im Augenblick nicht
zur Aufnahme gültiger
Daten benötigt
wird, wie beispielsweise die physische Partition 204, enthält die Matrix 200 für diese
Partition einen Ungültigkeitswert.
zum Beispiel zeigt der Matrixeintrag 240 an, dass die Partition 204 „nicht
zugeordnet" ist und beim inkrementellen Sicherungsprozess nicht
zu berücksichtigen
ist. Das Dienstprogramm verwaltet die Partitionsübersichtsmatrix 220 sowohl
auf der Festplatte als auch in dem Archivierungsmedium und aktualisiert
sie während der
Archivierungsoperationen oder während
des Löschens
einer physischen Partition aus ihrem logischen Bestand.
-
4 veranschaulicht
eine detaillierte Logik zur Realisierung einer inkrementellen Sicherung.
In Schritt 400 ermittelt das Dienstprogramm, ob durch die benutzerbedienten
Steuereinrichtungen eine Archivierungsanforderung erzeugt worden
ist. Wenn das Dienstprogramm eine Archivierungsanforderung empfängt, wird
die Steuerung in 5 fortgesetzt. Wenn
keine Archivierungsanforderung empfangen wird, ermittelt das Dienstprogramm,
ob es sich bei der Anforderung um eine LESE-Anforderung handelt. Da
der Inhalt einer physischen Partition durch eine LESE-Operation
nicht beeinflusst wird, nimmt das Dienstprogramm bei einer LESE-Operation keine Änderung
in der Matrix 200 oder 220 vor. Daher führt das
Betriebssystem in Schritt 404 die LESE-Operation durch, und die
Steuerung kehrt zu Block 400 zurück.
-
Wenn keine LESE-Anforderung empfangen wurde,
ermittelt das Dienstprogramm in Block 406, ob die Anforderung
das Löschen
einer Gruppe physischer Partitionen betrifft. wenn dies nicht der
Fall ist, führt
das Dienstprogramm in Block 408 eine SCHREIB-Operation
durch. In Block 410 setzt das Dienstprogramm für jede geänderte physische
Partition das Statusbit 240 in der Partitionsstatusmatrix 200 auf
"ändern".
Die Steuerung kehrt zu Block 400 zurück.
-
Wenn die Anforderung in Block 406 das
Löschen
einer Gruppe physischer Partitionen betrifft, liest das Dienstprogramm
in Block 412 die Partitionsübersichtsmatrix 220 von
der Festplatte. In Block 414 markiert das Dienstprogramm
jeden Matrixeintrag, der jeder der gelöschten physischen Partitionen entspricht,
als "nicht zugeordnet". In Block 416 schreibt das Dienstprogramm
eine aktualisierte Partitionsübersichtsmatrix 220 auf
die Festplatte, und in Block 418 setzt das Dienstprogramm
das Statusbit 240 in der Partitionsarchivierungsstatusmatrix 200 für jede gelöschte physische
Partition auf "archiviert". Die Steuerung kehrt wieder zu Block 400 zurück.
-
Wenn das Dienstprogramm in Block 400 feststellt,
dass es sich bei der Anforderung um eine Archivierungsanforderung
handelt, wird die Steuerung bei Block 500 in 5 fortgesetzt. In Block 500 ermittelt
das Dienstprogramm, ob es sich bei der Anforderung um eine inkrementelle
Archivierung handelt. wenn dies der Fall ist, liest das Dienstprogramm in
Block 510 die Partitionsübersichtsmatrix 220 von der
Festplatte. In Block 515 liest das Dienstprogramm das erste
Statusbit 240 aus der Partitionsarchivierungsstatusmatrix 200.
In Block 520 ermittelt das Dienstprogramm, ob das erste
Statusbit 240 auf "geändert"
gesetzt worden ist. Wenn dies nicht der Fall ist, ermittelt das
Dienstprogramm in Block 525, ob noch weitere Statusbits 240 in
der Partitionsarchivierungsstatusmatrix 200 zu lesen sind.
wenn dies der Fall ist, kehrt die Steuerung wieder zu Block 515 zurück, wo das
nächste
Statusbit 240 gelesen wird. Wenn nicht, kehrt die Steuerung
wieder zu Block 400 in 4 zurück.
-
Wenn das Dienstprogramm in Block 520 feststellt,
dass das Statusbit 240 auf "ändern" gesetzt worden ist, ändert das
Dienstprogramm in Block 530 das Bit "ändern" in ein Bit "archivieren".
In Block 535 ermittelt das Dienstprogramm, ob in der Partitionsübersichtsmatrix 220 für die geänderte physische
Partition ein gültiger
Matrixeintrag vorliegt. Wenn dies nicht der Fall ist, erzeugt das
Dienstprogramm in Block 540 für die geänderte physische Partition
einen Matrixeintrag in der Partitionsübersichtsmatrix 220. Wenn
in der Partitionsübersichtsmatrix 220 ein
gültiger
Matrixeintrag für
die geänderte
physische Partition vorliegt, sucht das Dienstprogramm nach der
zu der geänderten
physischen Partition gehörenden
Archivierungspartition und führt
dort eine Aktualisierung durch. Die Steuerung geht dann weiter zu
Block 525, wo das Dienstprogramm ermittelt, ob in der Partitionsarchivierungs-Statusmatrix 200 noch
weitere Statusbits zu lesen sind.
-
Wenn das Dienstprogramm in Block 500 feststellt,
dass die Anforderung keine inkrementelle Archivierung, sondern einen
vollständigen
Sicherungsvorgang betraf, wird die Steuerung in 6 fortgesetzt. In diesem Fall befasst
sich das Dienstprogramm nicht mit dem Statusbit der physischen Partitionen.
Das Dienstprogramm lädt
in Block 600 die Partitionsübersichtsmatrix 220 von
der Festplatte in den Arbeitsspeicher und fährt mit der Archivierung jeder
physischen Partition auf das Band fort, für das ein gültiger Matrixeintrag vorliegt.
Hierzu liest das Dienstprogramm in Block 610 den ersten
Matrixeintrag in der Partitionsübersichtsmatrix 220.
In Block 620 setzt das Dienstprogramm das Statusbit 240 in der
Partitionsarchivierungsstatusmatrix 220 gemäß dem Matrixeintrag
auf "archivieren". In Block 630 ermittelt das Dienstprogramm,
ob der Matrixeintrag einer gültigen
Archivierungspartition zugeordnet ist. Die als "nicht zugeordnet"
gekennzeichneten Einträge
weisen auf leere, unbenutzte oder gelöschte physische Partitionen
hin, die durch das System nicht mehr verwendet werden und nicht
mehr archiviert werden sollen. Wenn der Matrixeintrag nicht richtig zugeordnet
ist, ermittelt das Dienstprogramm in Block 640, ob in der
Partitionsübersichtsmatrix 220 noch
weitere zu lesende Matrixeinträge
vorliegen. Wenn dies nicht der Fall ist, kehrt die Steuerung zu Block 400 in 1 zurück. Liegen weitere Einträge vor,
kehrt die Steuerung zu Block 610 zurück, wo das Dienstprogramm den
nächsten
Matrixeintrag liest.
-
Wenn der Matrixeintrag in Block 630 einem gültigen Bandabschnitt
zugeordnet ist, kopiert das Dienstprogramm in Block 650 den
Inhalt der physischen Partition des Primärspeichers in den zugeordneten
Speicherplatz des Archivierungsmediums, und die Steuerung kehrt
zu Block 640 zurück.
Sobald diese vollständige
Archivierung abgeschlossen ist, speichert das Dienstprogramm die
Partitionsübersichtsmatrix 220 in
einem reservierten Bereich des Archivierungsmediums, um bei Bedarf
eine Rückspeicherung
durchzuführen.
-
Das Dienstprogramm führt eine
Rückspeicherung
durch, indem es vom Archivierungsmedium ausgewählte Archivierungspartitionen
in deren entsprechende physische Partitionen kopiert. Genauso wie
bei der Archivierung sortiert das Dienstprogramm die Nummern der
archivierten Partitionen und greift zum Rückspeichern auf die gesicherten
Daten zu, um die für
den Datenzugriff erforderliche Zeit zu minimieren. Für eine inkrementelle
Rückspeicherung
durchsucht das Dienstprogramm die Partitionsarchivierungsstatusmatrix 200 und
speichert nur die als "geändert"
gekennzeichneten physischen Partitionen zurück. Die übrigen als "archiviert" gekennzeichneten
physischen Partitionen stimmen mit dem überein, was auf das Band geschrieben
worden war, und erfordern daher keinerlei Datenrückspeicherung. Wenn das Dienstprogramm
eine Partition vom Archiv in den Primärspeicher kopiert, wird das
Statusbit auf "archiviert" gesetzt, da die Archivdaten und die Primärspeicherdaten übereinstimmen.