-
Die Erfindung betrifft ein System und einen Prozess, um Daten skalierbarer und flexibler aus einem Quellenserver in einen Zielserver zu verschieben.
-
Die Migration großer Datenvolumen zwischen verschiedenen physischen Systemen und Datenmodellen wird in der Industrie zunehmend wichtiger. Derartige Migrationen können notwendig sein, um Daten aus Hardware früherer Versionen oder mittlerweile veralteten Datenmodellen zu verschieben. Migrationen sind auch notwendig, um eine Datensicherung bereitzustellen oder Daten in einen physischen Speicherplatz mit besserem Zugriff zu verschieben.
-
Datenmigration wurde bisher mittels arbeitsintensiver manueller Datensammlungs- und Umformungsprozesse ausgeführt, die auf jede einzelne Migration zugeschnitten sein müssen. Dadurch wurde der Prozess teuer, langsam und fehleranfällig.
-
Zu jedem Typ einer Datenmobilitätsoperation gehört eine große Anzahl von Quellen- und Zielressourcen, die so bearbeitet werden müssen, dass die Wirtschaftlichkeit der Datenverschiebung maximiert und die Gesamtdauer der Operation verringert wird. Große Dateninfrastrukturen werden aufgebaut, damit viele Benutzer auf die Daten zugreifen und neue Daten in einer Speicherinfrastruktur erstellen können.
-
Datenmigrationsoperationen sind meistens Einzel-Threads im Gegensatz zu den vorgenannten Mehrfach-Thread-Infrastrukturen. Diese Einzel-Thread-Operation optimiert das Quelleninfrastruktur-Asset nicht so umfassend, dass eine schnelle und effiziente Datenverschiebung ermöglicht wird.
-
Gemäß einem Aspekt der Erfindung wird ein Datenmigrationssystem bereitgestellt, um Daten aus einem Quellenserver in einen Zielserver zu migrieren, wobei es aufweist: einen Index, der eine Vielzahl von Datenmigrationsoperationen in einem normalisierten Datenmodell enthält, wobei jede Datenmigrationsoperation in Verbindung mit einem Attribut gespeichert wird; und ein Datenverschiebeprogramm, das datenübertragungsfähig mit dem Index verbunden ist, wobei das Datenverschiebeprogramm so angepasst ist, dass Daten aus dem Quellenserver in den Zielserver gemäß den im Index enthaltenen Datenmigrationsoperationen verschoben werden, wobei: das Datenverschiebeprogramm ein Attribut aufweist, das dem zugehörigen Attribut von mindestens einer in dem Index enthaltenen Datenmigrationsoperation entspricht, wobei das Attribut den Typ von Datenmigrationsoperationen angibt, die durch das Datenverschiebeprogramm ausgeführt werden können; der Index ist so angepasst, dass er das Attribut des Datenverschiebeprogramms übernimmt und an das Datenverschiebeprogramm eine Datenmigrationsoperation von den im Index enthaltenen Datenmigrationsoperationen mit dem Attribut überträgt, das dem Attribut des Datenverschiebeprogramms entspricht; und das Datenverschiebeprogramm ist so angepasst, dass es Daten aus dem Quellenserver in den Zielserver gemäß der übertragenen Datenmigrationsoperation verschiebt.
-
Die vorliegende Erfindung stellt einen Logikmechanismus bereit, der die massive Skalierbarkeit der Datenmobilitäts- und Datenverschiebungsoperationen zulässt durch die Verwendung eines zentralen Job-Repositorys und abstrahierter Anwendungen des Datenverschiebeprogramms.
-
Die gegenwärtigen Erfinder erkannten, dass zum Ermöglichen vieler Threads für Datenmigrationsoperationen viele abstrahierte Datenverschiebeprogramme verwendet werden können, um viele Anforderungen an die Quelleninfrastruktur zu erleichtern. Diese Struktur treibt den Gesamtdurchsatz effektiv nach oben. Allerdings sind nicht immer mehrere Datenverschiebeprogramme erforderlich, und die sachdienliche Anzahl von Datenverschiebeprogrammen schwankt zwischen den Migrationen. Mit dem System der vorliegenden Erfindung können Datenverschiebeprogramme je nach Bedarf zum System hinzugefügt oder daraus entfernt werden, so dass der Durchsatz des Systems auf seine Arbeitslast abgestimmt werden kann.
-
Vorzugsweise weist das Datenverschiebeprogramm eine Engine zum Erstellen eines Datenextraktionsbefehls auf, um einen Datenextraktionsbefehl in einer Quellensprache des Quellenservers aus der übertragenen Datenmigrationsoperation zu erstellen. Das Datenverschiebeprogramm weist entsprechend eine Engine zum Erstellen eines Datenfestschreibungsbefehls auf, um einen Datenfestschreibungsbefehl in einer Zielsprache des Zielservers aus der übertragenen Datenmigrationsoperation zu erstellen.
-
Vorzugsweise ist das Datenverschiebeprogramm so angepasst, dass es einen Abschlussbericht an den Index sendet, nachdem die übertragene Datenmigrationsoperation abgeschlossen ist.
-
Dementsprechend ist der Index so angepasst, dass er ermittelt, ob alle Datenmigrationsoperationen, die das Attribut aufweisen, das dem Attribut des Datenverschiebeprogramms entspricht, in einer aktuellen Datenmigrationsphase beendet worden sind, nachdem die übertragene Datenmigrationsoperation abgeschlossen wurde; und wenn nicht alle Datenmigrationsoperationen mit dem Attribut in der aktuellen Datenmigrationsphase beendet worden sind, ist der Index so angepasst, dass er eine weitere Datenmigrationsoperation mit dem Attribut von den im Index enthaltenen Datenmigrationsoperationen überträgt; und wenn alle Datenmigrationsoperationen mit dem Attribut in der aktuellen Datenmigrationsphase beendet worden sind, ist der Index so angepasst, dass er das Datenverschiebeprogramm anweist, in einen Pausenzustand überzugehen.
-
Noch bevorzugter: das Datenverschiebeprogramm hat eine Vielzahl von Attributen, und jeder Datenmigrationsoperation ist eine Vielzahl von Attributen zugehörig; die Attribute des Datenverschiebeprogramms entsprechen den Attributen von mindestens einer Datenmigrationsoperation, die in dem Index enthalten ist; und der Index ist so angepasst, dass er zum Datenverschiebeprogramm eine Datenmigrationsoperation aus den im Index enthaltenen Datenmigrationsoperationen mit Attributen überträgt, die den Attributen des Datenverschiebeprogramms entsprechen.
-
Dementsprechend weist das System eine Vielzahl von Datenverschiebeprogrammen mit verschiedenen Attributen auf, wobei der Index Datenmigrationsoperationen auf Datenverschiebeprogramme mit Attributen verteilt, die jeweils mit denen der Datenmigrationsoperationen übereinstimmen.
-
Die Erfinder haben festgestellt, dass die zusätzliche Komplexität im Zusammenhang mit der Verwendung von mehreren Datenverschiebeprogrammen, die auf die Verwaltung und Konfiguration vieler Elemente zurückzuführen ist, wodurch Konflikte umgangen werden und wiederholte Operationen vermieden werden, größtenteils durch die Erhöhung des Gesamtdurchsatzes wettgemacht wird, der durch die Erfindung bereitgestellt wird.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein Verfahren bereitgestellt, um Daten aus einem Quellenserver in einen Zielserver zu migrieren, wobei es aufweist: Speichern eines Satzes von Datenmigrationsoperationen in einem normalisierten Datenmodell in einem Index, wobei jede Datenmigrationsoperation in Verbindung mit einem Attribut gespeichert wird; Speichern eines Attributs in einem Datenverschiebeprogramm, dass datenübertragungsfähig mit dem Index verbunden ist, wobei das Attribut den Typ von Datenmigrationsoperationen angibt, die von dem Datenverschiebeprogramm ausgeführt werden können; Übernehmen des Attributs, das in dem Datenverschiebeprogramm gespeichert ist, in den Index; aus dem Index Übertragen einer Datenmigrationsoperation mit einem zugehörigen Attribut, das dem in dem Datenverschiebeprogramm gespeicherten Attribut entspricht; Umwandeln der Datenmigrationsoperation in einen Datenextraktionsbefehl in einer Quellensprache des Quellenservers; Übertragen des Datenextraktionsbefehls an den Quellenserver; Umwandeln der Datenmigrationsoperation in einen Datenfestschreibungsbefehl in einer Zielsprache des Zielservers; Übertragen des Datenfestschreibungsbefehls an den Zielserver; und Verschieben der Daten aus dem Quellenserver in den Zielserver.
-
Vorzugsweise ist eine Vielzahl von Datenverschiebeprogrammen mit verschiedenen Attributen mit dem Index verbunden, wobei das Verfahren ferner aufweist: Schätzen der Zeit, die zum Abschließen des Verschiebens der Daten aus dem Quellenserver in den Zielserver erforderlich ist, und Verbinden eines weiteren Datenverschiebeprogramms mit dem Index oder Aktivieren eines weiteren Datenverschiebeprogramms, wenn die geschätzte Zeit einen vorgegebenen oberen Schwellenwert überschreitet.
-
Dementsprechend ist eine Vielzahl von Datenverschiebeprogrammen mit verschiedenen Attributen mit dem Index verbunden, wobei das Verfahren ferner aufweist: Schätzen der Zeit, die zum Abschließen des Verschiebens der Daten aus dem Quellenserver in den Zielserver erforderlich ist, und Lösen der Verbindung eines Datenverschiebeprogramms mit dem Index oder Deaktivieren eines Datenverschiebeprogramms, wenn die geschätzte Zeit einen vorgegebenen unteren Schwellenwert unterschreitet.
-
Im Folgenden werden Ausführungsformen der vorliegenden Erfindung allein zu weiteren Beispielzwecken und unter Bezugnahme auf die begleitenden Zeichnungen beschrieben, wobei:
-
1 ein Datenmigrationssystem gemäß einer Ausführungsform der Erfindung veranschaulicht;
-
2 ein Ablaufplan ist, der die Vorgehensweise eines Datenverschiebeprogramms beim Ausführen einer Datenmigrationsoperation in einer Ausführungsform der Erfindung zeigt;
-
3 ein Ablaufplan ist, der die Vorgehensweise des Index beim Ausführen einer Datenmigrationsoperation in einer Ausführungsform der Erfindung zeigt;
-
4 eine schematische Darstellung ist, die die Hauptkomponenten des Datenverschiebeprogramms zeigt; und
-
5 eine beispielhafte Computerarchitektur 1100 veranschaulicht, auf der das Datenmigrationssystem der Erfindung implementiert werden kann.
-
1 stellt eine Übersicht über eine Beziehung zwischen Index und Datenverschiebeprogramm gemäß einer Ausführungsform der Erfindung bereit. Unter Bezugnahme auf 1 enthält der Quellenserver 300 Quellendaten, die in Zieldaten in dem Zielserver 400 migriert werden sollen.
-
Der Index 200 enthält einen Index der Quellendaten in dem Quellenserver 300. Der Index 200 verwendet ein normalisiertes Datenmodell, das unabhängig von dem Format ist, in dem Daten in dem Quellenserver 300 tatsächlich enthalten sind. Der Index 200 wird unter Verwendung von automatisierten Programmen zum Sammeln und Importieren von Daten erstellt.
-
Das Datenverschiebeprogramm 100 ist eine Komponente, die Daten auf der Grundlage der im Index 200 enthaltenen Informationen über die Quellendaten aus dem Quellenserver 300 in den Zielserver 400 verschiebt. Das System kann eine beliebige Anzahl von Programmen zum Verschieben von Daten 100 enthalten. Das Datenverschiebeprogramm 100 übernimmt eine normalisierte Arbeitslast von dem Index 200. Der Begriff „normalisiert” bedeutet, dass alle Daten in dem Index 200 einem einzigen Standard-Datenmodell entsprechen, das von den Datenverschiebeprogrammen 100 verstanden wird. Mit anderen Worten, der Index 200 verhält sich agnostisch gegenüber dem Format und Typ der Daten, die in den Quellen- und Zielservern enthalten sind. Der Index 200 bleibt unbeeinflusst von den speziellen Datenbankprodukten, die in den Quellen- und Zielservern verwendet werden.
-
Sämtliche produktspezifische Übersetzungen und Verwaltungen erfolgen auf dem Datenverschiebeprogramm 100.
-
In dieser Ausführungsform der Erfindung ist der Index 200 ein zentraler Index, der alle erforderlichen Datenverschiebeoperationen speichert. Diese wurden mathematisch erstellt und verarbeitet, jeweils mit einer Anzahl von Attributen wie Quellenspeicherort, Zielbestimmungsort, Plattformtyp und Datentyp. Diese Attribute sind als Tags in jede Migrationsoperation eingeschlossen, d. h. es sind Metadaten vorhanden, die jede Datenoperation steuern.
-
Die Migrationsoperationen werden dann als zulässige Operationen in den zentralen Index 200 eingegeben, wobei jede Migrationsoperation in wirksamer Weise als Arbeitsvorgang markiert wird, der abgeschlossen sein muss, wenn sich das Datenverschiebeprogramm 100 auf die erforderlichen Attribute für diese bestimmte Migrationsoperation abstimmt.
-
Zum Beispiel kann eine Datenmigrationsoperation in dem Index 200 mit den folgenden Attributen gespeichert werden: Quelle A, Ziel B, Typ C und Plattform D.
-
Viele Datenverschiebeprogramme 100 können bereitgestellt werden, von den aber nur eine Teilmenge die Attribute Quelle A, Ziel B, Typ C und Plattform D besitzt. Jedes Datenverschiebeprogramm aus dieser Teilmenge kann die Datenmigrationsoperation ausführen. Das Datenverschiebeprogramm 100 kann vorab mit den Attributen in einer Steuerdatei konfiguriert werden, oder die Konfiguration der Attribute des Datenverschiebeprogramms 100 kann durch den zentralen Index 200 abgeschlossen werden.
-
Damit ist eine Beziehung zwischen vielen Datenverschiebeprogrammen 100 und einem Index 200 möglich. Wenn neue Datenverschiebeprogramme in Datenübertragung mit dem zentralen Index 200 stehen und sich für Arbeit verfügbar machen, werden Migrationsoperationen zu dem Datenverschiebeprogramm 100 zugeordnet. Das in Verbindung stehende Datenverschiebeprogramm 100 registriert sich selbst automatisch mit den zugehörigen Attributen; wenn diese mit den entsprechenden Attributen übereinstimmen, werden diese Migrationsoperationen für die Zuordnung zum Datenverschiebeprogramm 100 verfügbar gemacht.
-
Wenn die Migrationsoperationen zu dem Datenverschiebeprogramm 100 zugeordnet sind, besteht für das Datenverschiebeprogramm 100 keine weitere Abhängigkeit von dem zentralen Index 200 mehr, außer dass er Fortschritts- und Erfolgsberichte in den Index 200 schiebt, um sicherzustellen, dass der zentrale Index 200 über den Abschluss aller Operationen Bescheid weiß. Das Datenverschiebeprogramm 100 sichert die Quellen- und Zielpunktbeziehungen mit der zugehörigen Infrastruktur, d. h. die Verbindungen zwischen dem Datenverschiebeprogramm 100 und dem Quellenserver 300 und zwischen dem Datenverschiebeprogramm 100 und dem Zielserver 400. Das Datenverschiebeprogramm 100 wickelt auch sämtliche Übersetzungen von erforderlichen Operationen in die Sprachen der Quellen- und Zielserver ab, auf die als Quellen- und Zielsprachen Bezug genommen wird.
-
Mit anderen Worten, der zentrale Index 200 speichert ein Array von Migrationsoperationen in einem normalisierten Datenmodell. Jedes Datenverschiebeprogramm 100 wandelt Migrationsoperationen mit Attributen, die mit seinen eigenen übereinstimmen, abhängig von seinen Attributen in die entsprechenden Quellen- und Zielsprachen um. Zum Beispiel würde das oben beschriebene Datenverschiebeprogramm 100 eine Anforderung zum Abrufen von Daten in der Sprache von Quelle A auf der Grundlage des Eintrags für die Datenmigrationsoperation in dem Index 200 erzeugen und die Anforderung an den entsprechenden Quellenserver A senden, mit dem das Datenverschiebeprogramm 100 verbunden ist. Das Datenverschiebeprogramm 100 ruft damit die relevanten Daten aus dem Quellenserver 300 ab.
-
Dementsprechend würde das Datenverschiebeprogramm 100 eine Anforderung zum Festschreiben, d. h. zum Hochladen von Daten in der Sprache von Ziel B erstellen, wiederum auf der Grundlage des Eintrags für die Datenmigrationsoperation in dem Index 200. Diese Anforderung wird an den Zielserver B gesendet, mit dem das Datenverschiebeprogramm 100 verbunden ist, und die relevanten Daten werden damit in dem entsprechenden Format für den Zielserver B festgeschrieben.
-
Üblicherweise hat jedes Datenverschiebeprogramm 100 eine Übersetzungslogik zum Umwandeln einer Datenmigrationsoperation in das normalisierten Datenmodell, d. h. Sprache des Index 200 auf Anforderungen in den Sprachen von jeweils einem oder mehreren bestimmten Quellenservern und einem oder mehreren bestimmten Zielservern. Die Übersetzungslogik erzeugt Engines zum Erstellen von Datenextraktionsbefehlen und zum Erstellen von Datenfestschreibungsbefehlen. Infolgedessen muss der Index nur dafür sorgen, dass die Datenmigrationsoperationen zu entsprechenden Datenverschiebeprogrammen gesendet werden, um sicherzustellen, dass die Operationen in die richtigen Sprachen übersetzt werden.
-
Wenn jedes Datenverschiebeprogramm 100 die aktuelle Migrationsoperation abgeschlossen hat, kann es entweder weitere Arbeitslast übernehmen oder den Betrieb anhalten und aus der aktiven Konfiguration entfernt werden. Dieses optionale Pausieren von Datenverschiebeprogrammen stellt sicher, dass die Gesamtfunktionalität flexibel gestaltet werden kann, wenn die Quellenumgebung durch Datenmigration verkleinert wird.
-
Da der zentrale Index 200 normalisierte allgemeine Attribute für jede Migrationsoperation enthält, besteht die horizontale Skalierungsfunktion aus der Anzahl einzelner Attributprofile und der Anzahl von Migrationsoperationen im Index 200.
-
Die erweiterte Skalierbarkeit des Systems der Ausführungsformen ist auf die Tatsache zurückzuführen, dass alle Datenverschiebeprogramme unabhängige automatisierte Komponenten mit klar strukturierten Attributen sind. Das bedeutet, dass weitere Datenverschiebeprogramme zu dem System hinzugefügt werden können, um den Durchsatz zu erhöhen, ohne mit dem Betrieb des Systems in Konflikt zu geraten. Die neuen Datenverschiebeprogramme erhalten Arbeit vom Index 200 einfach auf dieselbe Weise wie die vorher vorhandenen Datenverschiebeprogramme, wodurch sich die Last auf den vorher vorhandenen Datenverschiebeprogrammen ohne Unterbrechung ihres Betriebs verringert. Der Index 200 weiß sofort, wie Arbeit zu den neuen Datenverschiebeprogrammen zuzuordnen ist, indem die Attribute verfügbarer Datenmigrationsoperationen mit den Attributen der neuen Datenverschiebeprogramme abgeglichen werden.
-
1 veranschaulicht die Skalierbarkeit der Schicht der Datenverschiebeprogramme. Die Abbildung zeigt verfügbare Migrationsoperationen mit bestimmten Attributen und die Skalierung von Datenverschiebeprogrammen im Einklang mit der Optimierung der gesamten Datenübertragungsbandbreite und Verringerung der Gesamtdauer. Die Lösung der Ausführungsform stellt sicher, dass die Datenmobilitätsschicht immer größer als die gesamte Bandbreitenkapazität der Quellenumgebung ist, was bedeutet, dass die Datenmobilitätsschicht niemals zum Engpass für Datenverschiebeoperationen wird. Datenverschiebeprogramme können nach Bedarf an verschiedene Identitäten angepasst werden. Datenverschiebeprogramme können auch nach Bedarf dynamisch hinzugefügt und entfernt werden. Dies ermöglicht die Skalierung der Migrationsfähigkeiten wie oben erläutert.
-
Ein Datenmigrationsprozess gemäß einer Ausführungsform der Erfindung wird nachstehend beschrieben und in den 2 und 3 veranschaulicht. 2 zeigt die Operationen des Datenverschiebeprogramms 100, wogegen 3 die Operationen des Index 200 zeigt.
-
Wenn die Einrichtung und Konfiguration der Migrationsoperation auf dem zentralen Index abgeschlossen ist, steht für Migrationsoperationen eine Arbeitslast-Liste zur Verfügung. Alle zulässigen Daten werden in eine normalisierte Arbeitslast-Liste von erforderlichen Operationen gepackt. Wenn diese Liste abgeschlossen ist, können die Datenverschiebeprogramme konfiguriert und gestartet werden.
-
Nachdem die Datenverschiebeprogramme in Schritt S10 mit dem zentralen Index verbunden worden sind, werden ihre Attribute definiert und in den Schritten S30 und S32 mit den Attributen jeder Datenmigrationsoperation auf der Arbeitslast-Liste verglichen. Das Datenverschiebeprogramm kann eingeschaltet werden, d. h. seine Datenmigrationsfunktionen werden aktiviert, und wenn dies abgeschlossen ist, wird die entsprechende Arbeitslast, d. h. eine Datenmigrationsoperation, in Schritt S34 zu dem Datenverschiebeprogramm zugeordnet. Die Arbeitslast wird vom Datenverschiebeprogramm in Schritt S12 empfangen. Diese Arbeitslast ist im Wesentlichen eine Liste von Datenobjekten, die sich im Quellenserver befinden und vom Index in der normalisierten Sprache des Index bereitgestellt werden. Das Datenverschiebeprogramm übersetzt diesen normalisierten Inhalt in den Schritten S14 und S16 in den Extraktionsbefehl für die Quellenumgebung und den Festschreibungsbefehl für die Zielumgebung. Anschließend koordiniert das Datenverschiebeprogramm in Schritt S18 den Prozess zum Verschieben der Daten gemäß den Extraktions- und Festschreibungsbefehlen und gibt eine Rückmeldung an den zentralen Index, so dass ein zentrales Protokoll der Operation gespeichert wird.
-
Wenn die Migrationsoperation abgeschlossen ist, meldet das Datenverschiebeprogramm den Abschluss der Datenmigrationsoperation in Schritt S20 an den Index. Der Index erhält den Operationsabschlussbericht vom Datenverschiebeprogramm in Schritt S36 und zeichnet den Abschluss der Operation in Schritt S38 auf.
-
Das Datenverschiebeprogramm fährt mit allen weiteren Operationen in der speziellen Migrationsphase fort, wenn weitere derartige Operationen übrig sind. Wenn nicht alle Datenmigrationsoperationen in der aktuellen Phase abgeschlossen worden sind, kehrt der Index zum Schritt S32 zurück und ordnet dem Datenverschiebeprogramm weitere Arbeit zu. Wenn alle Datenmigrationsoperationen in der aktuellen Phase abgeschlossen sind, weist der Index das Datenverschiebeprogramm in Schritt S40 an, in einen Pausenzustand überzugehen, da das Datenverschiebeprogramm auf die Übernahme der nächsten zulässigen Migrationsoperation wartet. Damit wird sichergestellt, dass der zentrale Index auf den Zustand jedes Migrationsobjekts aktualisiert wird, der in der Quellenumgebung gespeichert ist. Operationen können durch das gesamte Migrationsprogramm verfolgt und gegebenenfalls erneut ausgeführt werden.
-
4 zeigt die Hauptkomponenten des Datenverschiebeprogramms 100. Die Datenübertragungsschnittstelle 110 tauscht Daten mit dem Quellenserver 300, dem Zielserver 400 und dem Index 200 aus. Die Engine zum Erstellen des Datenextraktionsbefehls 106 erstellt den Datenextraktionsbefehl in der Sprache des Quellenservers 300 auf der Grundlage einer Datenmigrationsoperation, die vom Index 200 über die Datenübertragungsschnittstelle 110 empfangen wurde. Die Engine zum Erstellen des Datenfestschreibungsbefehls 108 erstellt den Datenfestschreibungsbefehl in der Sprache des Zielservers 400 auf der Grundlage einer Datenmigrationsoperation, die vom Index 200 empfangen wurde.
-
Der Datenspeicher 102 speichert Daten, die zwischen dem Quellenserver 300 und dem Zielserver 400 verschoben werden. Der Attributspeicher 104 speichert die Attribute des Datenverschiebeprogramms 100, die mit Attributen der Datenmigrationsoperationen im Index 200 verglichen werden.
-
Weitere Datenverschiebeprogramme können jederzeit gestartet werden, um die Migrations-Streams und die Gesamtverfügbarkeit von Mobilitätsbandbreite zu erhöhen. Des Weiteren können Datenverschiebeprogramme aus der aktiven Konfiguration entfernt werden, wenn sie nach dem Abschluss einer Migrationsoperation in den Pausenzustand zurückgekehrt sind. Diese Operationen können von dem zentralen Index 200 geplant werden, wodurch sichergestellt wird, dass Datenverschiebeprogramme auf Richtliniengrundlage dynamisch aktiviert und deaktiviert werden können.
-
In einer Ausführungsform schätzt das Datenmigrationssystem die Zeit, die zum Abschließen des Verschiebens aller Daten erforderlich ist, die an der aktuellen Datenmigration aus dem Quellenserver 300 in den Zielserver 400 beteiligt sind. Dies kann durch Erfassen der durchschnittlichen Datenübertragungsrate ab dem Start der Datenmigration durch jedes Datenverschiebeprogramm 100 der Datenverschiebeprogramme und das Addieren dieser durchschnittlichen Durchsätze erreicht werden, um den gesamten durchschnittlichen Durchsatz des Datenmigrationssystems zu erhalten. Das Datenvolumen, das noch zu migrieren ist, geteilt durch den gesamten durchschnittlichen Durchsatz, ergibt dann die geschätzte Zeit bis zum Abschluss.
-
Das Datenmigrationssystem vergleicht die geschätzte Zeit bis zum Abschluss mit einer gewünschten Zeit bis zum Abschluss der Datenmigration, die vorab in das System eingegeben wird. Wenn die geschätzte Zeit bis zum Abschluss größer ist als die gewünschte Zeit, aktiviert das System aktuell deaktivierte Datenverschiebeprogramme oder verbindet weitere Datenverschiebeprogramme mit dem System. Damit wird die Gesamtdatenübertragungsrate erhöht, und der rechtzeitige Abschluss der Migration wird sichergestellt.
-
Wenn im Gegensatz dazu die geschätzte Zeit bis zum Abschluss um mehr als einen vorhandenen Betrag kleiner als die gewünschte Zeit ist, deaktiviert das System einen oder mehrere Datenverschiebeprogramme oder löst die Verbindung von einem oder mehreren Datenverschiebeprogrammen mit dem Index. Dadurch werden Energie und Systemressourcen gespart, wenn sie nicht gebraucht werden.
-
In der vorgenannten Ausführungsform kann der Index 200 eine Anforderung von Attributen an ein Datenverschiebeprogramm 100 senden, und das Datenverschiebeprogramm 100 kann seine Attribute in Reaktion auf die Anforderung zum Index 200 übertragen. Das Datenverschiebeprogramm 100 kann seine Attribute jedoch auch ohne Anforderung bei einer Verbindung mit dem Index 200 oder in regelmäßigen Intervallen zum Index 200 übertragen. Der Index 200 kann auch eine Liste aller mit dem Index verbundenen Datenverschiebeprogramme 100 und ihre Attribute speichern.
-
In der vorgenannten Ausführungsform ordnet der Index 200 Datenmigrationsoperationen zu den Datenverschiebeprogrammen 100 zu und sendet sie zu diesen. Allerdings wartet der Index 200 gegebenenfalls zuerst auf eine Arbeitsanforderung, die von einem Datenverschiebeprogramm 100 zu senden ist, bevor er diesem Datenverschiebeprogramm 100 eine Datenmigrationsoperation zuordnet.
-
Das vorgenannte Verfahren ermöglicht mithilfe der flexiblen Funktionalität, die Mobilität großer Datenmengen auf die Größe und Funktion jeder Quelleninfrastruktur zu skalieren. Diese flexible Datenverschiebung auf Rastergrundlage bedeutet, dass größere Datenvolumen mit komplexeren Datentypen und Plattformen migriert werden können als dies bisher möglich war. Die Anzahl von Datenverschiebeprogrammen, die in der Erfindung verwendet werden, ist nicht begrenzt und kann frei in Einklang mit der Größe und geplanten Dauer des Migrationsprojekts ausgewählt werden.
-
Die Auslegung des Systems gemäß dieser Ausführungsform ermöglicht einen einzelnen zentralen Index bzw. ein Repository, in dem alle zugehörigen Metadaten für das Migrationsprojekt gespeichert werden. Dies ermöglicht eine einzige Verwaltungs- und Steuerstelle für die Verwaltung aller Datenverschiebeprogramme.
-
In dieser Ausführungsform wirkt das Datenverschiebeprogramm mit einem Client-Modul für die Quellen- und Ziel-Software zusammen. Dadurch kann der Prozess auch für andere Anwendungen eingesetzt werden, für die eine skalierbare Datenmobilität erforderlich ist. Zu möglichen Anwendungen der Erfindung zählen die Bereitstellung von indizierter Sicherung/Archivierung von Dateninhalten, die Migration großer physisch-virtueller Serverumgebungen und die Mobilität von Speicheranlagen zu modernerer Technologie.
-
5 veranschaulicht eine beispielhafte Computerarchitektur 1100, auf der das Datenmigrationssystem und insbesondere ein Index oder ein Datenverschiebeprogramm gemäß der Erfindung implementiert werden können. Die Computerarchitektur 1100 kann ein Desktop-Computer oder Laptop-Computer oder ein Teil davon, ein Server oder eine ähnliche Computereinheit sein, aber der Index wird vorzugsweise als eigenständiger Server implementiert.
-
Die Computerarchitektur 1100 kann Schnittstellen mit externen Einheiten wie dem Quellenserver 300 oder dem Zielserver 400 über einen Modem oder eine Netzwerkschnittstelle 1102 bilden wie beispielsweise ein Analogmodem, ein ISDN-Modem, ein Kabelmodem, eine Token-Ring-Schnittstelle oder eine Satellitenübertragungsschnittstelle.
-
Wie in 5 gezeigt, enthält die Computerarchitektur 1100 eine Verarbeitungseinheit 1104, die ein herkömmlicher Mikroprozessor wie ein Intel-Pentium-Mikroprozessor, ein Intel-Core-Duo-Mikroprozessor oder ein Power-PC-Mikroprozessor von Motorola sein kann, die dem Fachmann für Computertechnik bekannt sind. Der Systemspeicher 1106 ist mit der Verarbeitungseinheit 1104 über einen Systembus 1108 verbunden. Der Systemspeicher kann ein DRAM, RAM, statischer RAM (SRAM) oder eine beliebige Kombination davon sein. Der Bus 1108 verbindet die Verarbeitungseinheit 1104 mit dem Systemspeicher 1106, mit dem nichtflüchtigen Speicher 1110, mit dem Grafik-Teilsystem 1112 und mit der Eingabe/Ausgabe-(E/A)Steuereinheit 1114. Das Grafik-Teilsystem 1112 steuert eine Anzeigeeinheit 1116 wie beispielsweise eine Flüssigkristallanzeige, die Teil des Grafik-Teilsystems 1112 sein kann. Die E/A-Einheiten 1118 können eine Tastatur, Plattenlaufwerke, einen Drucker, eine Maus, einen Touchscreen und dergleichen bzw. mehrere der genannten enthalten, wie dem Fachmann für Computertechnik bekannt ist.
-
Die Software für Index oder Datenverschiebeprogramm ist üblicherweise in dem nichtflüchtigen Speicher 1110 gespeichert. Sie kann daher auf der Festplatte der Maschine gespeichert werden oder möglicherweise auf einem extern anschließbaren Speichermedium wie einem USB-Speicherstick oder einer CD. Diese zwei Einheiten würden dann Teil der E/A-Einheiten bilden, die als Element 1118 in 5 gezeigt sind. Der nichtflüchtige Speicher kann auch indizierende Daten speichern, die Teil des Index bilden.
-
Die vorstehende Beschreibung dient nur zu Beispielzwecken, und einem Fachmann ist klar, dass Modifizierungen vorgenommen werden können, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen.