-
HINTERGRUND
DER ERFINDUNG
-
Feld der Erfindung:
-
Die
vorliegende Erfindung bezieht sich auf ein verteiltes Datenverarbeitungssystem,
welches eine Vielzahl von Servern und eine Vielzahl von Clients
umfasst, wobei die Clients mit den Servern verbunden sind, um einen
verteilten Datenverarbeitungsprozess an einem zu steuernden Objekt
durchzuführen,
und auf ein Verfahren zum Verarbeiten von Daten in solch einem verteilten
Datenverarbeitungssystem.
-
Beschreibung des Standes
der Technik:
-
Fortschritte
in der Informationsverarbeitungstechnologie und Informationsprozessoren
führten
in den letzten Jahren in vielfältigen
Feldern zu weit verbreiteten Verarbeitungsanwendungen durch Computer.
Zum Beispiel sind Online-Datenverarbeitungssysteme für Finanzinstitutionen
wohlbekannt. Solche Online-Datenverarbeitungssysteme weisen eine
vollständige
Duplex-Konfiguration
auf, um einem Systemfehler zu korrigieren. Insbesondere ist das
Duplex-System durch ein aktives System und ein Sicherungssystem
ausgebildet, und bei einem Vorfall eines Fehlers bei dem aktiven
System schaltet das aktive System zu dem Sicherungssystem, um Kunden
anhaltend Dienste bereitzustellen.
-
Um
dem aktiven System ein Umschalten zu dem Sicherungssystem zu jeder
Zeit zu ermöglichen, verfügt das aktive
System und das Sicherungssystem über
eine Datenbank von Daten, die von dem System verarbeitet werden,
und Information, die von dem System zur Datenverarbeitung benötigt wird. Wenn
Daten der Datenbank des aktiven Systems aufgrund seiner Datenverarbeitungsoperation
aktualisiert werden, so werden entsprechende Daten der Datenbank
des Sicherungssystems ebenfalls aktualisiert, so dass die Datenbanken
des aktiven und des Sicherungssystems zu jeder Zeit die gleichen
Daten aufweisen werden.
-
Zum
Zeitpunkt eines Abgleichs der Datenbank des Sicherungssystems mit
der Datenbank des aktiven Systems, wird das Sicherungssystem lediglich
in einem Standby-Modus gehalten und es führt keinerlei Datenverarbeitungsoperationen
durch. Das aktive System überträgt lediglich
eine Instruktion zum Schreiben von aktualisierten Daten in der Datenbank zu
dem Sicherungssystem. Ein Resultat daraus ist, dass es nicht notwendig
ist, einen Konfliktsteuerprozess für den Zugang der Datenbank
durchzuführen.
-
Die
obigen Online-Datenverarbeitungssysteme haben einen großen Systemumfang
und tendieren dazu, bei Auftreten von Systemfehlern der Gesellschaft
erhebliche ungünstige
Effekte aufzubürden.
Daher wurde auf diesem Gebiet erkannt, dass für eine Realisierung des vollständigen Duplex-Systementwurfs
die Kosten für
Hardware- und Software-Lösungen
unvermeidbar sind.
-
Systeme
kleineren Umfangs, wie z. B. hausinterne Informationsverarbeitungssysteme
berücksichtigen
gewöhnlich
die obigen vollständigen
Duplex-Prinzipien nicht, weil verfügbare Ressourcen eingeschränkt sind
und effizient verwendet werden sollen. Solche Systeme sind oftmals
derart aufgebaut, dass während
des Betriebs des Sicherungssystems, das aktive System einen anderen
Prozess durchführt,
der sich von dem Task, der durch das aktive System verarbeitet wird,
unterscheidet.
-
Jüngste Computer
werden in ihren Ausmaßen
kleiner und besser in ihrem Leistungsvermögen und vereinigen Hochgeschwindigkeitsprozessoren und
Hauptspeicher mit großer
Kapazität
und Harddisks mit geringeren Kosten. Hinsichtlich dieser Vorteile
umfassen viele hausinterne Informationsverarbeitungssysteme eine
Vielzahl von Servern und eine Vielzahl von Clients, die mit den
Servern verbunden sind, um einen verteilten Datenverarbeitungsprozess für die Server
durchzuführen.
-
Für solche
hausinterne Informationsverarbeitungssysteme werden vielfältige Datenbanksicherungsfunktionen
vorgeschlagen, um die gleichen Daten in den Datenbanken der Server
unter Verwendung der Datenbank des anderen Servers, der normal arbeitet,
zu halten, die Verarbeitung von einem Server zu einem anderen zu
leiten, wenn bei dem vorherigen Server ein Fehler auftritt, und
die Datenbank eines Servers wiederherzustellen, der außer Betrieb
ist oder eine anderweitige Fehlfunktion aufweist.
-
Zum
Beispiel halten einige vorgeschlagene Datenbanksicherungsfunktionen
die gleichen Daten in den Datenbanken der Server und stellen die
Dateien in der Datenbank des Servers, bei dem ein Fehler auftritt,
unter Verwendung der Daten in der Datenbank des anderen Servers
(siehe JP (A) 7114495 und JP (A) 5265829) wieder her. Entsprechend
eines bekannten Datenbanksicherungsprozesses werden zu sichernde
Daten in einer Archivdatei gesammelt, so dass diese in einer verkürzten Zeitspanne
gesichert werden können
(siehe JP (A) 11053240).
-
Die
US-A-S 781 910 bezieht sich auf ein System und ein Verfahren, die
einen Zustandsmaschinenansatz anwenden, um ein repliziertes fehlertolerantes
Datenbanksystem zu entwerten, welches in der Lage ist, die Durchführung von
simultanen Transaktionen zu koordinieren. Das System weist eine Vielzahl
von Datenbankservern auf, die durch eine Vielzahl von Application
Clients zugänglich
sind und manipuliert werden können.
Für jede
durch die Application Clients geforderte Transaktion wird durch
das System ein einzelner Application Server als ein Koordinator
der Transaktion zugeordnet. Die verbleibenden Application Server
sind einer Datenbankumgebung angegliedert, die replizierte Dateneinträge beinhaltet,
die für
die Transaktion hinzugezogen werden, und werden als Cohorts bezeichnet.
Abhängig
von der Natur der Transaktion wendet der Koordinator entweder ein
Einphasen-koordiniertes-Commit-Protokoll (1 PCC) oder ein Zweiphasen-koordiniertes-Commit-Protokoll
(2PCC) an. Unter 1 PPC werden die Dateneinträge mit Verweis durch die Transaktion
durch den Koordinator und die Cohorts unabhängig voneinander aktualisiert.
Wenn der Koordinator seine Aktualisierung beendet hat, dann entscheidet
dieser, ob die Transaktion ausgeführt werden kann oder ob die
Transaktion beendet werden muss. Die durch den Koordinator herbeigeführte Ausführungs/Beendigungsentscheidung
wird dann an die Cohorts kommuniziert. Bei Empfang einer Bestätigung,
dass seine Nachricht zu allen überiebenden Cohorts
geliefert wurde, führt
der Koordinator seine eigene Weiterführung oder Beendigung durch.
Unter 2PCC wird durch den Koordinator und die Cohorts eine durch
die geforderte Transaktion benötigte
Aktualisierung der relevanten Dateneinträge durchgeführt. Wenn der Koordinator seine
Aktualisierung vervollständigt
hat oder eine Transaktion eine spezifische Auszeit überschreitet,
so aktiviert er eine neue Auszeit und übergibt eine Aufforderung an
die Cohorts mit der Frage, ob jeder Cohort zur Weiterführung bereit
ist oder ob die Transaktion beendet werden muss. Der Koordinator
wartet dann auf die Reaktionen der überlebenden Cohorts oder auf
das Auftreten der Auszeit. Die Auswahl des passenden Protokolls
(1 PCC oder 2PCC) kann davon abhängen,
ob die Transaktion eine auswechselbare oder eine nicht auswechselbar
Transaktion ist.
-
Die
US-A-5 452 448 bezieht sich auf ein Dateienvervielfältigungs-Aktualisierungsverfahren
und -System zum wirksamen Anwenden einer Dateienreplikation in einem
verteilten Datenbankverarbeitungssystem. Eine Lese/Schreib-Replikation
einer Datei in einem Dateienserver wird durch eine Kommunikationsverbindung
durch einen Client aktualisiert. Zur gleichen Zeit erkennt ein Replikationsserver die
aktualisierten Daten unter Verwendung einer virtuellen Kommunikationsverbindung
zwischen dem Client und einer Nur-Lese-Replikation einer Datei. Die
Aktualisierungsdaten sind nützlich,
um die Nur-Lese-Replikation aufzufrischen. Durch den Auffrischungsprozess
ist es nicht erforderlich, die aktualisierten Daten von dem Fileserver
zu dem Replikationsserver zu übertragen.
Ferner wird eine Kommunikation zwischen dem Fileserver und dem Replikationsserver
aufgebaut, um die Gültigkeit
der in den Replikationsserver übernommenen
Aktualisierungsinformation zu bestätigen, um die Gleichheit der
Dateien auf dem Fileserver und dem Replikationsserver zu gewährleisten.
Eine mit dem File-server kommunizierte Bestätigung führt zu einer Entscheidung darüber, ob
die Anzahl der Aktualisierungen der zu aktualisierenden Datei oder
die durch den Replikationsserver erhaltenen Prüfungsdaten gleich der Anzahl
der Aktualisierung der zu aktualisierenden Datei oder der durch
den Fileserver erhaltenen Prüfungsdaten,
sind. Dies kann zu einer wirksamen Auffrischung der Nur-Lese-Replikation
auf dem Replikationsserver in einem verteilten Datenverarbeitungssystem
ohne erneute Übertragung
der Aktualisierungsdaten führen.
-
Die
JP (A) 11053240 beschreibt eine Technik, die sich auf ein Datensicherungs-
Gerät und – Verfahren
für einen
Computer bezieht. Die Technik stellt ein Datensicherungs- Gerät und – Verfahren
für die
Verwendung mit einem Computer bereit, der die Möglichkeit aufweist, wirksam
ein Datenfile in kurzen Zeitabständen
durch Verbesserung in einem zu kopierenden Datenfile, zu vervielfältigen.
Das Datenvervielfältigungsgerät ist für eine Verwendung
mit einem Computer, der im Sinne einer Duplikation Datenfiles in
einen zweiten Speicherbereich speichert, die in einem ersten Speicherbereich
gespeichert sind. Das Datenvervielfältigungsgerät verwendet eine verteilte
Datenverarbeitung, um eine Archivfile-Erzeugungseinheit zu veranlassen,
ein Archivfile zu erzeugen und eine Backup-Verarbeitungssektion
zu veranlassen, die daraus erzeugten Archivdateien zu kopieren.
Die Verarbeitungsoperationen können
sorgfältig und
mit erhöhter
Geschwindigkeit durchgeführt
werden, um dadurch die Verarbeitungsrate des Datenvervielfältigungsgeräts zu verbessern.
-
6 der
anhänglichen
Figuren zeigt einen Prozess zum Wiederherstellen der Datenbank eines Servers,
der außer
Funktion ist oder eine anderweitige Fehlfunktion aufweist, unter
Verwendung der Datenbank eines anderen Servers, der normal arbeitet.
-
Ein
in 6 gezeigtes verteiltes Datenverarbeitungssystem
hat eine Vielzahl von Servern 1, 2 und Clients 3, 4,
welche miteinander wie in einem LAN durch Kommunikationskabel 5 verbunden
sind. Die Server 1, 2 weisen entsprechende Datenbankspeicher 6, 7 auf,
die entsprechende Datenbanken speichern. Die Server 1, 2 sind
derart aufgebaut, dass diese eine Pro zessverarbeitungsaufforderung von
den Clients 3, 4 in einer verteilten Art und Weise durchführen können. Die
Server 1, 2 und die Clients 3, 4 weisen
entsprechende Serveranwendungen 1b, 2b und Benutzeranwendungen 3a, 4a auf,
die abhängig
von Tasks, die in dem verteilten Datenverarbeitungssystem verarbeitet
werden, angesammelt sind. Die Benutzeranwendungen 3a, 4a führen gegebene Verarbeitungssequenzen
durch.
-
Um
Daten in den Datenbanken der Server 1, 2 basierend
auf Verarbeitungsaufforderungen von den Clients 3, 4 zu
aktualisieren, kommunizieren die Server 1, 2 miteinander
mit Replikationsprozessoren 1a, 2a und spiegeln
aktualisierte Daten in deren Datenbanken in jeder einzelnen der
anderen Datenbanken, um dadurch die Daten deren Datenbanken anzugleichen.
-
Wenn
die Datenbank von einem der Server 1, 2, z. B.
des Servers 2, einen Fehler aufweist und die in der Datenbank
gespeicherten Daten aus einem beliebigen Grund fehlerhaft sind,
dann werden die Daten in der fehlerhaften Datenbank unter Verwendung
der Daten der Datenbank des Servers 1, der normal arbeitet,
wiederhergestellt.
-
Bisher
war es üblich,
die Daten einer fehlerhaften Datenbank unter Verwendung von Export- und Importfunktionen
der Datenbanken wie folgt wiederherzustellen:
Die Verarbeitungsoperation
der Clients 3, 4 wird angehalten, und die Daten
in dem Datenbankspeicher 6 werden in einem Sicherungsdatenspeicher 6a unter Verwendung
der Exportfunktion eines Datensicherungsprozessors 8a des
normalen Servers 1 gespeichert. Dann werden die Daten in
dem Sicherungsdatenspeicher 6a zu dem Datenbankspeicher 7 unter Verwendung
der Importfunktion eines Datensicherungsprozessors 9a des
Servers 2 importiert, um dem Datenbankspeicher 7 eine
Spiegelung der Datenbankdaten zu erlauben, die nach der Aktualisierung
der Datenbank bis zum Herunterfahren des Systems eine Fehlfunktion
erlitten haben. Danach fährt das
verteilte Datenverarbeitungssystem mit seinen Operationen fort.
-
Die
Export- und Importfunktionen führen
folgende Verarbeitung durch: Entsprechend der Exportfunktion sind
die Daten der Datenbank in Information bezüglich einer Tabellendefinition,
Information über die
Daten, Information über
eine Indexdefinition, Information über eine Triggerdefinition
und Information über
Angleichungseinschränkungen
aufgeteilt, und diese Einträge
von Informationen sind in den Datensicherungsspeichern 6a, 7a gespeichert.
Die obige Datenverarbeitung wird durchgeführt, um die Menge der zu behandelnden
Daten zu minimieren, so dass die Datensichenrungsspeicher 6a, 7a genügend Speicherkapazität zur Verfügung haben,
um die obige Information zu speichern. Gemäß der Importfunktion wird die
Datenbank mit den geteilten Daten wiederhergestellt.
-
Wenn
die Datenbank unter Verwendung der obigen Export- und Importfunktionen
gesichert wird, so können
Hardware-Ressourcen zum Speichern der Daten aufgespart werden, jedoch
ist der Prozess zum Wiederherstellen der Datenbank zeitaufwendig.
-
Zum
Beispiel hängt
die Verarbeitungszeit entsprechend einer Importfunktion in einer
allgemeinen Datenbank außerordentlich
von der Zeigerdefinition der Datenbank ab. Insbesondere hängt die
Zeit zum Wiederherstellen von Zeigern von der Menge der Daten, der
Anzahl der Zeiger und der Anzahl der Felder (die Anzahl der Spalten)
von Tabellen, die für die
Zeiger verwendet werden, ab und ist wie folgt bestimmt:
Konstruktionszeit
= die Menge der Daten x die Anzahl der Zeiger x die Anzahl der verwendeten
Felder x Verarbeitungszeit pro Feld
Datenbanken in Produktionssystemen
enthalten eine Ausführungstabelle,
etc. und für
Benutzeranwendungen in solchen Produktionssystemen ist es erforderlich,
dass Daten schnell von der Tabelle hinsichtlich vieler Gesichtspunkte
abgefragt werden können.
Daher ist eine Vielzahl von Definitionen für beides, die Anzahl der Zeiger
und die Anzahl der verwendeten Felder, gegeben. Dementsprechend
wird eine lange Importverarbeitungszeit benötigt. Systeme, bei denen es
notwendig ist, Datenbanken hinsichtlich vieler Gesichtspunkte zu
verarbeiten, die andere Systeme als die Produktionssysteme sind,
erfordern auch eine lange Zeit für
eine Importverarbeitung.
-
Während eine
Datenbank wiederhergestellt wird, ist es notwendig den Arbeitsablauf
eines normal arbeitenden Servers, anzuhalten, und infolgedessen ist
es notwendig, das gesamte verteilte Datenverarbeitungssystem herunterzufahren.
Der Grund hierfür ist,
dass, wenn ein normal arbeitender Server eine Verarbeitungsaufforderung
von einem Client akzeptiert und seine Datenbank sichert, während eine
fehlerhafte Datenbank wiederhergestellt wird, dann würden die
Daten der Datenbank des normalen Servers und die Daten der wiederhergestellten
Datenbank nicht gegenseitig übereinstimmen.
-
Wenn
in Anwendungen wie die einer Maschinenanlagensteuerung (nachstehend
als Prozesssteuerung bezeichnet) und Produktionsmanagement für Produktionslinien
in Fabriken, die 24 Stunden am Tag in Betrieb sein müssen, eine
benötigte
Ausfallzeit zum Wiederherstellen ei ner Fehlfunktion einer Datenbank übergebührlich lang
ist, dann wird dies einen außerordentlichen
Einfluss auf die Produktionseffizienz haben.
-
Es
ist eine Clusteranordnung bekannt, die eine Vielzahl von Servern
in einem verteilten Datenverarbeitungssystem zum gegenseitigen Überwachen
aufweist, und wenn eine Fehlfunktion in einem der Server auftritt,
so werden alle Funktionen zu einem normalen Server verschoben, um
das Herunterfahren des verteilten Datenverarbeitungssystems zu vermeiden.
-
Jedoch
wird die herkömmliche
Clusteranordnung auf Funktionsfehler höheren Niveaus, wie z. B. Hardware
und OS-Niveaus, angewendet, jedoch nicht für Funktionsfehler auf niedrigeren
Niveaus, wie den Datenbank-Niveaus. Die herkömmliche Clusteranordnung benötigt einen
bestimmten Zeitabschnitt, um die Zustände der Server zu überprüfen und
eine Serverumschaltung bei einem Fehler zu bewirken. Des Weiteren
hat die herkömmliche
Clusteranordnung den Nachteil, dass seine Kosten aufgrund der Zuordnung
einer Vielzahl von Kommunikationsadressen, die mit den Servern geteilt
werden, ansteigen.
-
Wenn
die herkömmliche
Clusteranordnung in einem Produktionssystem, welches ein OLTP (Online-Transaktionsverarbeitung)-System
vereinigt, das eine Datenverarbeitung wie die Sicherung, die Einfügung, die
Löschung
in den Datenbanken durchführt, dann
ist das übergeordnete
System während
der Umschaltung der Server abgeschaltet. Da sich das System automatisch
von einer Abschaltung wiederherstellt, wenn die Serverumschaltung
abgeschlossen ist, benötigt
jeder der Clients Mittel zum Erkennen eines Fehlers. Weil jedoch
die Clusteranordnung eine Vielzahl von geteilten Kommunikationsadressen verwendet,
werden alle Kommunikationsadressen durch einen normal arbeitenden
Server aufgrund des Auftretens eines Fehlers übernommen. Demzufolge ist es
schwierig, ein Mittel zum Überwachen
eines Serverwechsels in jedem der Clients einzurichten.
-
Es
ist eine allgemeine Aufgabe der vorliegenden Erfindung, ein verteiltes
Datenverarbeitungssystem mit einer Vielzahl von Servern und einer
Vielzahl von Clients, die mit den Servern verbunden sind, bereitzustellen,
wobei das verteilte Datenverarbeitungssystem in der Lage ist, beim
Auftreten eines Fehlers eine Verarbeitungssequenz ohne eine Systemabschaltung
auf einem der Server fortzuführen, und
ein Verfahren einer Datenverarbeitung in solch einem verteilten
Datenverarbeitungssystem.
-
Diese
Aufgabe ist durch die Gegenstände der
unabhängigen
Patentansprüche
gelöst.
-
Bevorzugte
Ausführungsformen
sind durch die abhängigen
Patentansprüche
definiert.
-
Es
ist ein Aspekt der vorliegenden Erfindung, ein verteiltes Datenverarbeitungssystem
bereitzustellen, welches eine Vielzahl von Servern und eine Vielzahl
von Clients, die mit den Servern verbunden sind, umfasst, wobei
das verteilte Datenverarbeitungssystem in der Lage ist, bei dem
Auftreten eines Fehlers bei einem der Server eine schnelle Umschaltung
eines Clients, der mit dem fehlerhaften Server verbunden ist, zu
einem fehlerfreien Server unter dem Client-Management durchzuführen und
eine Verarbeitungssequenz fortzuführen, und ein Datenverarbeitungsverfahren
in solch einem verteilten Datenverarbeitungssystem.
-
Es
ist ein anderer Aspekt der vorliegenden Erfindung, ein verteiltes
Datenverarbeitungssystem bereitzustellen, welches eine Vielzahl
von Servern und eine Vielzahl von Clients, die mit den Servern verbunden
sind, umfasst, wobei das verteilte Datenverarbeitungssystem in der
Lage ist, ohne eine Systemabschaltung für einen längeren Zeitabschnitt bei Auftreten
eines Fehlers bei einem der Server, eine schnelle Datenbankwiederherstellung
durchzuführen,
und ein Datenverarbeitungsverfahren in solch einem verteilten Datenverarbeitungssystem.
-
Die
obigen Merkmale und Vorteile der vorliegenden Erfindung werden in
Zusammenhang mit den beigefügten
Zeichnungen weiter verdeutlicht, in denen eine bevorzugte Ausführungsform
der vorliegenden Erfindung beispielhaft gezeigt ist.
-
1 ist
ein Blockdiagramm eines verteilten Datenverarbeitungssystems gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
2 ist
ein Blockdiagramm einer Anordnung, wobei das verteilte Datenverarbeitungssystem gemäß der Ausführungsform
der vorliegenden Erfindung in einer Produktionslinie enthalten ist;
-
3 ist
ein Blockdiagramm einer Systemkonfiguration zum Steuern der Verbindung
der Clients in dem verteilten Datenverarbeitungssystem gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung;
-
4 ist
ein Ablaufdiagramm einer Verarbeitungssequenz eines Datenbankaktualisierungsprozessors
in dem verteilten Datenverarbeitungssystem gemäß einer weiteren Ausführungsform
der vorliegenden Erfindung;
-
5 ist
ein Ablaufdiagramm einer Verarbeitungssequenz einer Aktualisierungsinformationstransfereinheit
in dem verteilten Datenverarbeitungssystem gemäß einer Ausführungsform
der vorliegenden Erfindung; und
-
6 ist
ein Blockdiagramm eines herkömmlichen
verteilten Datenverarbeitungssystems.
-
1 zeigt
einen Block von einem verteilten Datenverarbeitungssystem 10 gemäß einer
Ausführungsform
der vorliegenden Erfindung. Das verteilte Datenverarbeitungssystem 10 umfasst
eine Vielzahl von Servern 12, 14 und eine Vielzahl
von Clients 20, 22, 24, 26, 30, 32,
die miteinander über
Kommunikationskabel 16, wie in einem LAN, verbunden sind.
-
Wenn
das verteilte Datenverarbeitungssystem 10 normal arbeitet,
dann führen
z. B. der Server 12 und die Clients 20, 22, 24, 26 eine
Prozessverarbeitung eines Prozesssteuersystems einer Produktionslinie,
z. B. die Verarbeitung eines Steuerprozesses zum Steuern einer Produktionsmaschine
für die Herstellung
von Fotofilmen durch, und der Server 14 und die Clients 30, 32 führen die
Verarbeitung eines Produktions-Managementsystems zum Verwalten eines
Produktionsplans, Rohmaterialien und Inventar durch.
-
Der
Server 12, welcher ein Server zum Durchführen der
Verarbeitung eines Prozesssteuersystems ist, umfasst im Wesentlichen
einen Datenbankspeicher 122 zum Speichern von Daten, wie Produktionsanweisungsinformation,
Fertigungsverlaufsinformation, etc. welche später weiter beschrieben werden,
die zwischen den Clients 20, 22, 24, 26 gesendet
und empfangen werden. Der Server umfasst weiterhin einen Datensicherungsprozessor 123 zum
Onlinesichern der Daten in dem Datenbankspeicher 122 zu
bestimmten Zeitintervallen und Speichern der gesicherten Daten in
einem Sicherungsdatenspeicher 124, ein Archivdatengenerator 125 zum Erzeugen
von Archivdaten aufgrund von Aktualisierungsinformation der Datenbank,
die in dem Datenbankspeicher 122 gespeichert sind und durch
die Clients 20, 22, 24, 26 aktualisiert
werden und Speichern der Archivdaten in einen Archivdatenspeicher 126. Ferner
umfasst der Server einen Replikationstriggergenerator 132 zum
Erzeugen eines Datenreplikationstriggers aufgrund eines Datenbankaktualisierungsprozesses,
der durch die Clients 20, 22, 24, 26 durchgeführt wird,
eine Aktualisierungsinformationstransfereinheit 130 zum
Transferieren der Aktualisierungsinformation der Datenbank zu dem
anderen Server 14 aufgrund des Datenreplikationstriggers, und
einen Datenbankaktualisierungsprozessor 128 zum Aktualisieren
der Daten in dem Datenbankspeicher 122 aufgrund einer Anforderung
zum Aktualisieren der Datenbank.
-
Der
Archivdatengenerator 125 dient zum Erzeugen von Archivdaten
gemäß neuer
Aktualisierungsinformation, nachdem die Datenbank in dem Datenbankspeicher 122 in
dem Sicherungsdatenspeicher 124 gesichert wurde. Bevor
die Datenbank beginnt, in dem Datenbankspeicher 122 eine
Sicherung durchzuführen,
werden die Archivdaten verworfen, die in dem Archivdatenspeicher 126 gespeichert sind.
Die Datenbank in dem Datenbankspeicher 122 kann in dem
Sicherungsdatenspeicher 124 zu jedem gewünschten
Zeitintervall, das durch den Operator festgelegt wird, gesichert
werden. Zum Beispiel kann die Datenbank in dem Datenbankspeicher 122 in dem
Sicherungsdatenspeicher 124 wiederkehrend in Intervallen
eines Tages, z. B. 24 Stunden, gesichert werden. Alle Archivdaten
werden, nachdem ein Sicherungsprozess begonnen hat, bis zu dem Beginn des
nächsten
Sicherungsprozesses in dem Archivdatenspeicher 126 gespeichert.
Die Aktualisierungsinformationstransfereinheit 130 transferiert
die Aktualisierungsinformation zu bestimmten Zeitintervallen, die
durch den Systemadministrator festgelegt werden.
-
Der
Server 14, der ein Server zum Durchführen der Abwicklung eines Produktions-Managementsystemt,
hat einen Datenbankspeicher 142 zum Speichern von Daten
eines Fertigungsplans, Rohmaterialien und Bestände, die zwischen den Clients 30, 32 erzeugt
wurden. Der Server 14 hat außerdem einen Datensicherungsprozessor 143,
einen Sichenangsdatenspeicher 144, einen Archivdatengenerator 145,
einen Archivdatenspeicher 146, einen Datenbankaktualisierungsprozessor 148,
eine Aktualisierungsinformationstransfereinheit 150 und einen
Replikationstriggergenerator 152, die mit denen des Servers 12 identisch
sind.
-
Wie
in 2 gezeigt ist, weisen die Clients 20, 22, 24, 26 entsprechende
Benutzeranwendungen 220, 222, 224, 226 auf,
die aufgrund der Produktionsanweisungsinformation von dem Server 12 die
eine Schneidemaschine 40, eine Wickelmaschine 42, eine
Gehäusemaschine 46 und
eine Verpackungsmaschine 50 entsprechend steuern und von
diesen Maschinen gesammelte Fertigungsverlaufsinformation zu dem
Server 12 übertragen.
In ähnlicher
Weise weisen die Clients 30, 32 entsprechende
Benutzeranwendungen 230, 232 zum Durchführen von
Arbeitsschritten auf, die Fertigungspläne, Rohmaterialbeschaffungs-Managementprozesse
und Produktionsbestände-Managementprozesse
zwischen sich selbst und dem Server 14 enthalten.
-
Die
Schneidemaschine 40, die durch den Client 20 gesteuert
wird, schneidet aus einer Hauptrolle fotografisches Filmmaterial
in einer bestimmten Breite heraus, um eine Schlitzrolle herzustellen.
Die Wickelmaschine 42, die durch den Client 22 gesteuert wird,
wickelt die Schlitzrolle, die von der Schneidemaschine 40 geliefert
wird, in einem Kassettengehäuse,
das durch eine Form- und Montagemaschine 44 geformt und
montiert wird. Die Gehäusemaschine 46,
die durch den Client 24 gesteuert wird, umhüllt eine
Filmkassette mit einem Kästchen,
das von einer Kästchenbeistellvorrichtung 48 zur
Verfügung
gestellt wird. Die Verpackungsmaschine 50, die durch den
Client 26 gesteuert wird, packt die durch das Kästchen umhüllte Filmkassette
in einen Pappkarton, der von der Pappkartonbeistellvorrichtung 52 geliefert
wird.
-
Jeder
der Server 12, 14 und der Clients 20, 22, 24, 26, 30, 32 hat
eine Hardware-Anordnung, die, wie ein allgemeiner Personal Computer,
einen Prozessor, einen Hauptspeicher, eine Harddisk, eine Netzwerkschnittstelle,
etc., umfasst. Die oben beschriebenen Maschinen und Benutzeranwendungen werden
unter Steuerung eines Betriebssystems, das in den Servern 12, 14 und
den Clients 20, 22, 24, 26, 30, 32 installiert
ist, betrieben.
-
Eine
normale Betriebsart des verteilten Datenverarbeitungssystems 10 wird
nun mit Bezug auf die 2 beschrieben.
-
Zuerst
empfängt
der Client 20 individuelle Produktionsanweisungsinformation
von dem Server 12 und zeigt die empfangene individuelle
Produktionsanweisungsinformation auf einem Bildschirm an. Die anderen
Clients 22, 24, 26 arbeiten in der gleichen
Weise wie der Client 20.
-
Die
individuelle Produktionsanweisungsinformation wird durch die Clients 30, 32,
die mit dem Server 14 verbunden sind, erzeugt und von dem
Server 14 zu dem Server 12 übertragen. Die durch den Server 12 von
den Clients 20, 22, 24, 26 gesammelten
Informationen, werden von dem Server 12 zu dem Server 14 übertragen.
-
Die
individuelle Produktionsanweisungsinformation, die von dem Server 12 zu
dem Client 20 übertragen
wurde, beinhaltet eine Fertigungsseriennummer einer Hauptrolle von
fotografischem Filmmaterial, die mit dem Produktionstypen, der durch
die Fertigungsplandaten angezeigt wird, übereinstimmt. Eine Hauptwalze
mit der gleichen logistischen Fertigungsseriennummer wird unter
Hauptrollen, die in einem Speicherlager gespeichert sind, zu der
Schneidemaschine 40 durch ein selbst angetriebenes Fahrwerk
oder dergleichen gebracht.
-
Der
Client 20 sendet Betriebsbedingungen wie Schlitzbedingungen,
z. B. die Geschwindigkeit, mit der die Hauptrolle versorgt wird,
und die Kontrollbedingungen für
eine Oberflächenkontrolleinheit
in der Schneidemaschine 40, zu der Schneidemaschine 40.
Beruhend auf den Betriebsbedingungen, die von dem Client 20 zur
Verfügung
gestellt wurden, schneidet die Schneidemaschine 40 die
Hauptrolle in bestimmten Breiten, um dadurch eine Schlitzrolle zu fertigen.
-
Zu
dieser Zeit werden eine Vielzahl von Schlitzrollen aus der einen
Hauptrolle gefertigt. Um die Schlitzrollen in einem nachfolgenden
Prozess identifizieren zu können,
wird ein Etikett, welches einen gedruckten Barcode mit einem Hinweis
auf eine Filmschichtnummer, eine Hauptrollenfertigungsseriennummer
und eine Schlitzrollennummer, aufweist, die jedes Mal, wenn eine
Schlitzrolle fertig gestellt ist, erzeugt wird, und die Fertigungsetiketten
werden an den entsprechenden Schlitzrollen angebracht. Die Barcodes
werden über
einen Barcode-Leser
gelesen, wodurch Barcode-Daten in den Client 20 eingebracht
werden.
-
Die
Schlitzrolle wird an die Wickelmaschine 42, die durch den
Client 22 gesteuert wird, geliefert und in einem Kassettengehäuse platziert.
-
Die
einzelne Produktionsanweisungsinformation, die von dem Datenbankspeicher 122 des Servers 12 übertragen
wurde, enthält
die Filmschichtnummer, die Hauptrollenfertigungsseriennummer und
die Schlitzrollennummer der verwendeten Schlitzrolle.
-
Die
Wickelmaschine 42 entfernt die Schlitzrolle, die durch
die einzelne Produktionsanweisungsinformation von dem Speicherlager
angezeigt wird, und setzt die Schlitzrolle vor Ort. Die Wickelmaschine 42 liest
den Barcode, der auf die Schlitzrollen angewendet wurde, die vor
Ort gesetzt wurde und bestätigt,
ob der Barcode mit der aufgezeigten Schlitzrolle übereinstimmt.
Die Wickelmaschine 42 sendet ebenfalls über den Client 22 zu
dem Server 12 Information darüber, wie viel die vorangegangene
Schlitzrolle verbraucht hat. Der Client 22 betreibt dann
die Wickelmaschine 42 gemäß den Bedingungen, die von dem
Server 12 durch die einzelne Produktionsanweisungsinformation
angezeigt werden.
-
Die
Wickelmaschine 42 hat eine Perforiermaschine und einen
Flankendrucker. Die Perforiermaschine formt gemäß einem angezeigten Format Perforationen
in der Schlitzrolle. Der Flankendrucker zeichnet ein verborgenes
Bild der Fertigungsinformation auf der Schlitzrolle auf. Die Fertigungsinformation
beinhaltet eine Film-ID-Nr., Rahmennummern, einen abgekürzten Fertigungsnamen,
einen Herstellernamen, etc., die in Form eines Barcodes aufgezeichnet
werden. Die Film-ID-Nr. wird zusammen mit der Bestellnummer der
Fertigungsplandaten in dem Server 14 gespeichert und ebenfalls
zu dem Server 12 übertragen,
und in die Produktionsanweisungsinformation geschrieben, die zu
dem Client 22 übertragen wird,
der die Wickelmaschine 42 steuert.
-
Wenn
der Flankendrucker die Film-ID-Nr. druckt, dann wird die Film-ID-Nr.
zusammen mit anderer Flankendruckinfonnation zu dem Client 22 zurückgeführt, wobei
der Client 22 bestätigt,
ob die ausgegebene Film-ID-Nr. die gleiche ist wie die Film-ID-Nr.,
die durch die einzelne Produktionsanweisungsinformation angezeigt
wird oder nicht. Der Client 22 überträgt die andere insoweit erhaltene
Information, z. B. die Filmschichtnummer, die Hauptrollenfertigungsseriennummer,
und die Schlitzrollennummer in Verbindung mit der Film-ID-Nr. zu
dem Server 12. Die übertragene
Information wird in dem Server 12 gespeichert und ebenfalls
zu dem Server 14 übertragen.
-
Die
Schneidemaschine 42 weist ebenfalls einen Schneider und
einen Wickler auf. Nachdem der Flankendrucker die notwendige Information
gedruckt hat, schneidet der Schneider einseitig den abgewickelten
fotografischen Film von der Schlitzrolle in einer Länge gemäß der Anzahl
der Belichtungsrahmen ab, um dadurch einen fotografischen Filmstreifen
zu fertigen. Der Schneider wird unter Fertigungsbedingungen betrieben
und beinhaltet die einzelne Produktionsanweisungsinformation, die über den
Server 12 zu dem Client 22 übertragen wurde.
-
Der
fotografische Filmstreifen wird dann zu dem Wickler geführt, der
ebenfalls durch ein Regal aus Kassettengehäuse von einer Stapelstation
versorgt wird, die durch die Form und Montagemaschine 44 geformt
und montiert wurden. Die Ablage hat eine Ablagen-ID-Nr., welche
gelesen und über
den Client 22 zu dem Server 12 geliefert wird.
-
Der
Server 12 speichert in Übereinstimmung mit
der Ablagen-ID-Nr, die Kassetten-ID-Nm. und Herstellungsverlaufsinformation
der Kassettengehäuse,
die sich auf der Ablage befinden. Daher kann der Server 12,
beruhend auf der gespeicherten Information den Bereich der Kassetten-ID-Nm.,
zu denen die Kassettengehäuse
gehören,
die zu der Wickelmaschine 42 verteilt wurden, die Bestellnummern, auf
denen beruhend die Kassettengehäuse
hergestellt wurden, und die Produktionsseriennummern der Teile,
aus denen die Kassettengehäuse
montiert wurden, bestätigen.
-
Wenn
die Kassettengehäuse
nacheinander zu dem Wickler geliefert werden, dann werden die Kassetten-ID-Nm.
von den Barcodes auf den Etiketten gelesen, die auf den Kassettengehäuse angebracht
sind, und unverzüglich
in den Client 22 übernommen.
-
Das
Kassettengehäuse,
das sich in der Barcode-Leseposition befindet, ist ein Kassettengehäuse, welches
mit dem fotografischen Filmstreifen kombiniert wird, der als nächstes durch den
Flankendrucker bedruckt wird. Daher bestätigt der Client 22 die Kassetten-ID-Nr.
unmittelbar, bevor der Flankendrucker die Information auf dem fotografischen
Filmstreifen druckt.
-
Die
derart gelesene Kassetten-ID-Nr. wird demzufolge an den Server 12 übertragen,
der die Kassetten-ID-Nr. mit einer Film-ID-Nr., die zu dem fotografischen
Filmstreifen durch den Flankendrucker zugeteilt wurde, vergleicht.
Da der Server 12 die Film-ID-Nm. und die Kassetten-ID-Nm. den herzustellenden
Erzeugnissen zugeordnet hält,
wenn die Fertigungsplandaten erzeugt werden, so ist der Server 12 in
der Lage, zu bestimmen, ob die Kassetten-ID-Nr. des Kassettengehäuses, das
an den Wickler übertragen
wurde, passend ist oder nicht.
-
Wenn
der Wickler betrieben wird, ragt das abschließende Ende des fotografischen
Filmstreifens in eine Spule in dem Kassettengehäuse, und die Spule wird dann
gedreht, um den fotografischen Filmstreifen in dem Kassettengehäuse aufzuwickeln. Danach
wird ein Licht abschirmender Deckel des Kassettengehäuses geschlossen
und vervollständigt eine
fotografische Filmkassette als ein Erzeugnis.
-
Da
die Herstellungsverlaufsinformation des fotografischen Filmstreifens
einschließlich
der Filmschichtnummer, der Hauptrollenfertigungs-Seriennummer und
der Schlitzrollennummer schon bekannt ist, so wird die Herstellungsverlaufsinformation
des Kassettengehäuses
und der fotografische Filmstreifen als Fertigungs-Managementinformation
in Zusammenhang mit der Kassetten-ID-Nr. oder der Film-ID-Nr., über den
Server 12 in den Server 14, aufgezeichnet.
-
Eine
bestimmte Nummer der fotografischen Filmkassette, die auf diese
Weise hergestellt wurde, wird in einer Ablage platziert und in einer
Ablagestation gespeichert. Zu dieser Zeit wird die Ablagen-ID-Nr.
der Ablage gelesen und zu dem Client 22 übertragen,
welcher die Ablagen-ID-Nr. mit den ID-Nummern der fotografischen
Filmkassetten in der Ablage in Bezug setzt, z. B., die Kassetten-ID-Nm. oder
die Film-ID-Nrn., Information zur Verwendung und fehlende ID-Nummern
der fotografischen Filmkassetten, und Herstellungsverlaufsinformation,
und führt
die zugeordnete Information zu dem Server 12 zurück. Der
Server 12 überträgt die zugehörige Information
zu dem Server 14.
-
Demzufolge
kann die Information, die die ID-Nummern der fotografischen Filmkassetten
repräsentiert,
die in der Ablagestation gespeichert ist, den Typ des Erzeugnisses
und den Herstellungsverlauf der fotografischen Filmstreifen und
Kassettengehäuse
mit Bezug auf die Ablage-ID-Nr. erkannt werden.
-
Der
Client 24 steuert die Gehäusemaschine 46 und
die Kästchenbeistellvorrichtung 48.
Eine fotografische Filmkassette wird von der Wickelmaschine 42 zu
der Gehäusemaschine 46 geliefert,
in der die fotografische Filmkassette in ein Filmgehäuse platziert
und dann in einem Kästchen
verstaut wird.
-
Die
Produktionsanweisungsinformation von dem Server 12 zeigt
die Fertigungsseriennummer, zu der das verwendete Filmgehäuse gehört. Die
Fertigungsprotokollnummer des verwendeten Filmgehäuses wird über den
Client 24 zu dem Server 12 gesendet.
-
Das
Kästchen
trägt eine
Kennung und einen Barcode, der den Typ des Erzeugnisses anzeigt.
Der Barcode, der den Typ des Erzeugnisses anzeigt, wird gedruckt,
wenn das Kästchen
gefertigt wird. Jedoch wird ein Barcode, der eine Verpackungsmaterial-ID-Nr.
des Kästchens
anzeigt, gedruckt, wenn das Kästchen
von der Kästchenbeistellvorrichtung 48 zu der
Gehäusemaschine 46 geliefert
wird.
-
Die
zu druckende Verpackungsmaterial-ID-Nr. wird durch den Server 14 zum
Zeitpunkt der Erstellung des Produktionsplans bestimmt. Ähnlich wie
bei dem Flankendrucken der Film-ID-Nr. wird die Verpackungsmaterial-ID-Nr.
dann gedruckt, wenn bestätigt
ist, dass die Kassettengehäuse-ID-Nr.
der zu verpackenden fotografischen Filmkassette und die Verpackungsmaterial-ID-Nr.,
die als die Produktionsanweisungsinformation übertragen wurde, miteinander übereinstimmen.
-
Die
fotografische Filmkassette, die in das Kästchen verpackt wurde, wird
dann an die Verpackungsmaschine 50 geliefert, die durch
den Client 26 gesteuert wird. Die Verpackungsmaschine 50 wird mit
einem Verpackungskarton von der Kartonbeistellvorrichtung 52 und
mit z. B. 1000 Packungen von fotografischen Filmkassetten in dem
Karton versorgt.
-
Die
Verpackungsmaschine 50 hat eine Verpackungseinheit, die
zu dem Zeitpunkt, wenn die fotografischen Filmkassetten oder die
Erzeugnisse in den Kartons verpackt werden, eine Packungs-ID-Nr. als
einen Barcode auf den Karton druckt. Wie bei der Verpackungsmaterial-ID-Nr. wird die Packungs-ID-Nr.
durch den Server 14 bestimmt. Einer Packungs-ID-Nr. sind
1000 in dem Karton zu verpackenden Erzeugnise, mit Bezug auf den
Umfang der verwendeten Verpackungsmaterial-ID-Nm., die durch die
Gehäusemaschine 46 gedruckt
werden, zugeordnet. Der Bezug zwischen der Packungs-ID-Nr. und den
1000 Erzeugnissen ist in dem Server 14 gespeichert. Demzufolge,
wenn die Packungs-ID-Nr. von dem Karton gelesen wird, dann ist es
möglich,
den Umfang der verwendeten Verpackungsmaterial-ID-Nrn., der in den
Kartons verpackten Erzeugnissen, zu erkennen.
-
Die
Clients 30, 32 führen Aufgaben, die Produktionspläne, Rohmaterialversorgungs-Managementprozesse
und Produktbestands-Managementprozesse einschließen, zwischen sich selbst und dem
Server 14 durch. Die Clients 30, 32 werden durch
den Operator in einer Fertigungs-Managementabteilung betrieben,
um die Fertigungsanweisungsinformation zu dem Server 12 zu übertragen
und Fertigungs-Managementdaten aus den Herstellungsverlaufsdaten
der Erzeugnisse zu erzeugen, die von dem Server 12 gesammelt
und übertragen
wurden.
-
Ein
verteilter Datenverarbeitungsprozess, der auf einer Systemkonfiguration
der in 3 gezeigten Clients 20, 30 beruht,
wird im Folgenden beschrieben. Da die Clients 22, 24, 26, 32 die
gleiche Systemkonfiguration aufweisen, wird ein verteilter Datenverarbeitungsprozess
darauf beruhend nicht beschrieben.
-
Der
Client 20 hat ein Prozesssteuermodul 20a zum Steuern
der Schneidemaschine 40, einen Verbindungszielserver-Informationsparameter 20b (Verbindungsinformationsmanager),
und ein Verbindungszielserver-Kontrollmodul 20c (Verbindungsinformationswechsler).
In ähnlicher
Weise weist auch der Client 30 ein Prozesssteuermodul 30a zum
Steuern der Produktionsverwaltung, einen Verbindungszielserver-Informationsparameter 30b (Verbindungsinfonnationsmanager)
und ein Verbindungsziel-Kontrollmodul 30c (Verbindungsinformationswechsler) auf.
Die Server 12, 14 weisen entsprechende Betriebsstatusinformationstabellen 122a, 142a auf.
-
Wenn
sich das verteilte Datenverarbeitungssystem 10 in einem
normalen Betrieb befindet, dann ist der Client 20 mit dem
Server 12 verbunden und steuert den Prozess der Fertigungslinie,
und der Client 30 ist mit dem Server 14 verbunden
und führt
die Aufgabe der Produktionsverwaltung aus. Der Verbindungszielserver-Informationsparameter 20b des
Clients 20 stellt den Server 12 als eine Standardeinstellung
dar, wobei der Server 14 als ein Ausweichserver angegeben
wird. Umgekehrt stellt der Verbindungszielserver-Informationsparameter 30b des
Clients 30 den Server 14 als eine Standardeinstellung
dar, wobei der Server 12 als Ausweichserver angegeben ist.
-
Wenn
das verteilte Datenverarbeitungssystem 10 in Betrieb ist, überprüft das Verbindungszielserver-Kontrollmodul 20c des
Clients 20 den Server, der durch den Verbindungszielserver-Informationsparameter 20b angegeben
ist, nämlich
den Server 12, der anfänglich
als Stan dardeinstellung angegeben wurde. Insbesondere bestätigt das
Verbindungszielserver-Kontrollmodul 20c die
Betriebsstatusinformationstabelle 122a des Servers 12,
der als Standardeinstellung gekennzeichnet wurde, und baut eine Verbindung
auf, wenn der Server 12 normal arbeitet. Der Client 30 arbeitet
in der gleichen Weise.
-
Wenn
der Server 12 nicht normal arbeitet, dann bestätigt das
Verbindungszielserver-Kontrollmodul 20c die
Betriebsstatusinformationstabelle 142a des Servers, der
als Ausweichserver angegeben ist, nämlich den Server 14,
und baut eine Verbindung auf, wenn der Server 14 normal
arbeitet. Wenn beide Server 12, 14 nicht normal
arbeiten, dann wird ein Verbindungsfehler angezeigt und das verteilte
Datenverarbeitungssystem 10 wird abgeschaltet.
-
Wenn
eine Verbindung aufgebaut ist, dann gibt das Verbindungszielserver-Kontrollmodul 20c eine
Verbindungsanschlussinformation an das Prozesssteuermodul 20a.
Anschließend
wählt das
Verbindungszielserver-Kontrollmodul 20c regelmäßig die
Betriebsstatusinformationstabelle 122a an, und wenn die
Verbindung des Zielservers seinen Betrieb einstellt, dann wird die
Anwendung des Clients 20, d. h. das Prozesssteuermodul 20a automatisch
angehalten. Der Client 30 wird in gleicher Weise betrieben.
-
Wenn
bei einem der Server ein Fehler auftritt und dieser seinen Betrieb
einstellt, während
das verteilte Datenverarbeitungssystem 10 normal arbeitet, dann
wird der Client 20 oder 30, der mit dem abgeschalteten
Server verbunden ist, automatisch angehalten. Zum Beispiel, wenn
der Server 12 wegen eines Fehlers abgeschaltet wird, dann
betreibt der Operator den Client 20, der abgeschaltet wurde,
um eine (nicht gezeigte) Verbindungsziel-Managementaktivienangssoftware zu aktivieren,
um eine Zielverbindung von dem Server 12, der als Standardeinstellung
durch den Verbindungszielserver-Informationsparameter 20b aufgestellt
wurde, zu dem Server 14, der als ein Ausweichserver aufgestellt
wurde, zu wechseln.
-
Die
Verbindungsziel-Managementaktivierungssoftware des Clients 20 ist
derart konfiguriert, dass der Server 12 als einen zu verbindenden
Server in einer normalen Situation, und der Server 14 als
einen zu verbindenden Server bei Auftreten eines Fehlers, bestimmt
sind. Das Verbindungszielserver-Kontrollmodul 20c verweist
auf die Betriebsstatus-Informationstabelle 142a des Servers 14 und
baut eine Verbindung zu dem Server 14 auf.
-
Zu
diesem Zeitpunkt speichert der Datenbankspeicher 122 des
Servers 12 und der Datenbankspeicher 142 des Servers 14,
wie später
beschrieben, die gleichen Daten und infolgedessen kann die Prozesssteuerverarbeitung
fortgeführt
werden, obwohl der Client 20 mit dem Server 14 verbunden
ist. Dies bewahrheitet sich, wenn der Server 14 aufgrund
eines Fehlers seinen Betrieb einstellt. Konsequenterweise wird der
Filmherstellungsprozess ohne Fehler weitergeführt, selbst wenn einer der
beiden Server 12, 14 einen Fehler aufweist.
-
Ein
Ausweichprozess in dem normalen Betrieb des verteilten Datenverarbeitungssystems 10 wird
nun im Folgenden mit Bezug auf die 1, 4 und 5 beschrieben.
-
Wenn
in dem Ablaufdiagramm der 4 eine Aktualisierungsaufforderung
zum Eingeben von Daten, zum Wechseln von Daten oder zum Löschen von
Daten der Datenbank, die in dem Datenbankspeicher 122 gespeichert
ist, als ein Ergebnis eines Steuerprozesses auftritt, der durch
die Clients 20, 22, 24, 26 auf
der Schneidemaschine 40 oder anderen gesteuerten Maschinen
ausgelöst
wurde, oder als Ergebnis einer Einwirkung, die durch den Operator durchgeführt wurde,
dann empfängt
der Datenbankaktualisierungsprozessor 128 des Servers 12 ein SQL
(Structured Query Language), welches auf Aktualisierungsinformation
hinweist, die aufgrund der Aktualisierungsaufforderung in Schritt
S1 erzeugt wird. Danach bestimmt der Datenbankaktualisierungsprozessor 128,
ob die empfangene SQL ein Updating-SQL zum Aktualisieren der Datenbank
ihres eigenen Datenbankspeichers 122 oder ein Propagating-SQL
zum Aktualisieren der Datenbank von seinem eigenen Datenbankspeicher 124 des
anderen Servers 14 in dem Schritt S2 ist.
-
Wenn
das empfangene SQL ein Updating-SQL ist, dann fügt der Datenbankaktualisierungsprozessor 128 entsprechend
der Instruktion des SQL in dem Schritt S3 Daten ein, wechselt Daten in,
oder löscht
Daten von der Datenbank, die in dem Datenbankspeicher 122 gespeichert
sind, und beauftragt den Replikationstriggergenerator 132,
einen Replikationstrigger zu erzeugen. Der beauftragte Replikationstriggergenerator 132 erzeugt
einen Replikationstrigger, um in dem Schritt S4 die Datenbank zu replizieren.
Beruhend auf dem Replikationstrigger wandelt der Replikationstriggergenerator 132 die
Updating-SQL in ein Propagating-SQL um, und liefert in Schritt S5
die Propagating-SQL zu der Aktualisierungsinformationstransfereinheit 130.
-
In
dem Ablaufdiagramm der 5 führt die Aktualisierugsinformationstransfereinheit 130 einen Zugriffsprozess
zu bestimmten Zeitintervallen in dem Schritt S21 durch. Wenn die
Aktualisierungsinformationstransfereinheit 130 mit der
Propagating-SQL in dem Schritt S22 von dem Replikationstrigergenerator 132 beliefert
wird, dann überträgt in dem
Schritt S23 die Aktualisierungsinformationstransfereinheit 130 den
Propagating-SQL zu dem Datenbankaktualisierungsprozessor 148 des
Servers 14. Wenn die Aktualisierungsinformationstransferein heit 130 ein Bestätigungssignal
empfängt,
welches die Propagating-SQL von dem Datenbankaktualisierungsprozessor 148 in
dem Schritt S24 bestätigt,
dann löscht
die Aktualisierungsinformationstransfereinheit 130 in Schritt
S25 ihren eigene Propagating-SQL.
-
In 4 bestimmt
der Datenbankaktualisierungsprozessor 148, ob das in Schritt
S1 empfangene SQL ein Updating-SQL ist, welches durch die Clients 30, 32 erzeugt
wurde, oder ein Propagating-SQL ist, welches von dem anderen Server 12 in
dem Schritt S2 übertragen
wurde.
-
Wenn
das empfangene SQL ein Propagating-SQL ist, dann bestimmt in dem
Schritt S6 der Datenbankaktualisierungsprozessor 148, ob
die Aktualisierungsinformation des Propagating-SQL eine Dateneinfügung repräsentiert oder nicht, in dem
Schritt S7, ob die Aktualisierungsinformation der Propagating-SQL
einen Datenwechsel repräsentiert
oder nicht, und in dem Schritt S8, ob die Aktualisierungsinformation
des Propagating-SQL eine Datenlöschung
repräsentiert
oder nicht. Der Datenbankaktualisierungsprozessor 148 bestimmt
ebenfalls in den Schritten S9, S10, S11, ob die Veränderungsinformation
Daten aufweist oder nicht. Wenn die Veränderungsinformation keine Daten
aufweist, dann wird der Übertragungsprozess
als Fehler aufweisend beurteilt, und ein Fehler wird in Schritt
S12 verarbeitet.
-
Wenn
in dem Schritt S13 die obige Verarbeitung für alle Propagating-SQLs abgeschlossen
ist, dann wird in dem Schritt S3 die Datenbank in dem Datenbankspeicher 142 aktualisiert.
In diesem Fall gibt der Datenbankaktualisierungsprozessor 148 ein Replikationstrigger-Erzeugungsunterdrückungskommando
an den Replikationstriggergenerator 152 aus. Das Replikationstriggererzeugungs-Unterdrückungskommando
unterdrückt
eine Übertragung
der Aktualisierungsinformation beruhend auf dem Propagating-SQL
von der Aktualisierungsinformationstransfereinheit 150 an
den Server 12. Auf diese Art und Weise werden die Datenbanken
der entsprechenden Datenbankspeicher 122, 142 der
Server 12, 14 als eine identische Datenbank beibehalten,
obgleich Asynchronität
vorliegt.
-
In
einem verteilten Datenbankverarbeitungssystem, welches asynchrone
Verarbeitung durchführt,
kann ein Datenkonflikt erwartet werden. In dem verteilten Datenverarbeitungssystem 10 gemäß der vorliegenden
Ausführungsform
kann jedoch solch ein Datenkonflikt vermieden werden, da eine Funktion des
Produktionsverwaltungssystems und eine Funktion des Prozesssteuersystems
einen normalen Betrieb klar, beruhend auf jeder einzelnen Datenbank, die
verbunden werden soll, erkennt. Dies bedeutet, dass jede SQL zum
Einfügen,
Aktualisieren oder Löschen
von Daten, die von einem mit einer Datenbank verbundenen Client
erzeugt wurde, nicht nochmals entgegen die gleichen Aufzeichnungen,
die ein Propagating-SQL zum Hinzufügen, Aktualisieren oder Löschen von
Daten durchführen,
eingesetzt werden.
-
Die
Datensicherungsprozessoren 123, 143 der Server 12, 14 kopieren
die in den entsprechenden Datenbankspeichern 122, 142 gespeicherten Datenbanken
in bestimmten Zeitintervallen zu den Sicherungsdatenspeichern 124, 144,
z. B. in Intervallen eines Tages, nämlich 24 Stunden, während des Betriebs,
und erzeugen Sicherungsdaten für
die Datenbankspeicher 122, 142. Unterschiedliche
Prozesse sind zum Sichern von Sicherungsdaten für die Datenbankspeicher 122, 142 verfügbar. Solche
Sicherungsprozesse beinhalten z. B. einen vollständigen Sicherungsprozess zum
einmaligen Sichern aller Daten in den Datenbankspeichern 122, 142,
einen anderen Sicherungsprozess zum lediglichen Sichern von Dateien
mit aktualisierten Daten oder lediglich Daten, die nach der Durchführung eines
vollständigen
Sicherungsdurchlaufs erzeugt wurden, und ein schrittweiser Sicherungsprozess
zum lediglichen Sichern von Dateien mit Aktualisierungsdaten oder
lediglich mit Daten, die nach einer Durchführung eines vollständigen Sicherungsdurchlaufs
oder nach der Durchführung
eines anderen Sicherungsdurchlaufs erzeugt wurden. Die Sicherungsdaten
für die
Datenbankspeicher 122, 142 werden entsprechend
einer dieser verfügbaren
unterschiedlichen Sicherungsprozessen erzeugt.
-
Zum
Startzeitpunkt, wenn Sicherungsdaten erzeugt werden, legen die Archivdatengeneratoren 125, 145 die
Daten in den Archivdatenspeichern 126, 146 ab,
welche die Aktualisierungsinformation der Datenbanken bislang gesammelt
haben. Danach beginnen die Archivdatengeneratoren 125, 145 mit
der Speicherung von neuen aktualisierten Daten in den Datenbankspeichern 122, 142 als
Archivdaten in den Archivdatenspeichern 126, 146.
-
Die
Sicherung der Datenbanken in den Sicherungsdatenspeichern 124, 144 wird
unter Anwendung einer Dateienkopierfunktion der Server 12 und 14 auf
dem OS-Niveau durchgeführt.
Anders als bei der Exportfunktion, welche strukturelle Information und
Daten der Datenbankspeicher 122, 142 in entsprechend
andere Formen umwandelt und diese als Dateien ausgibt, kopiert die
Dateienkopierfunktion die Datenbanken wie sie sind und nimmt eine
kurze Zeit zum Sichern der Datenbanken in Anspruch, obgleich eine
große
Festplatten-Ressource benötigt wird.
-
Zum
Beispiel benötigt
die Exportfunktion zirka 600 Minuten zum Sichern einer Datenbank
mit 3 Gigabytes von Daten, wohingegen eine Dateienkopierfunktion
lediglich 60 Minuten benötigt,
ein Zehntel der 600 Minuten, um die gleiche Datenbank zu sichern.
Um Sicherungsdaten ent sprechend der Dateienkopierfunktion zu erzeugen,
ist es jedoch notwendig, identische Einstellungen und Dateiennamen
für die
Dateien der Datenbankspeicher 122, 142 und der Daten
der Sicherungsdatenspeicher 124, 144 zu verwenden.
-
Mit
der obigen Anordnung werden Sicherungsdaten erzeugt, während die
Server 12, 14 in Betrieb sind und neue Aktualisierungsinformation
wird für
die Datenbankspeicher 122, 142, nachdem die Erzeugung
der Sicherungsdaten begonnen hat, in den Datenspeichern 126, 146 aufgezeichnet.
Somit können
die Datenbankspeicher 122, 142 effektiv in einer kurzen
Zeitspanne gesichert werden. Wenn ein Fehler wie ein Datenbankstörfall, wie
unten beschrieben vorkommt, dann können die Datenbankdaten schnell unter
Verwendung der Sicherungsdaten und der Archivdaten wiederhgestellt
werden.
-
Ein
Prozess zum Wiederherstellen der Daten in einem Fehlerfall, in dem
die Daten der Datenbankspeicher 142 des Servers 14 zerstört werden,
wird im Folgenden beschrieben.
-
Die
Clients 30, 32, die mit dem Server 14 verbunden
sind, haben ihre Zielverbindung zu dem Server 12 gewechselt
und das verteilte Datenverarbeitungssystem 10 wird mit
dem Server 12 alleine betrieben. Der Produktionsprozess
kann daher ohne eine Systemabschaltung weitergeführt werden. Dann wird die Hardwareanordnung
des fehlerhaften Servers 14 wiederhergestellt. Zum Beispiel
wurde die Festplatte des Datenbankspeichers 142 durch eine neue
ersetzt.
-
Danach
werden die Daten in dem Sicherungsdatenspeicher 124 auf
dem Datenbankspeicher 142 durch Dateikopierung wiederhergestellt.
Durch diese Operation wird eine Replikation der Datenbank in dem
Datenbankspeicher 122 zu der Zeit, wenn der Datenbankspeicher 122 gesichert
wird, in dem Datenbankspeicher 142 aufgebaut. Während dieser Verarbeitung
werden Archivdaten nach dem Beginn des Sicherungsprozesses in dem
Archivdatenspeicher 126 aufgezeichnet.
-
Die
Operation zum Wiederherstellen der Daten in dem Sicherungsdatenspeicher 124 auf
dem Datenbankspeicher 142 wird unter Anwendung der Dateienkopierfunktion
durchgeführt.
Demzufolge sind die Datenbanken einschließlich der Einstellungen in
den Datenbankspeichern 122, 142 vollständig identisch
zueinander hergestellt worden und in Festplatten mit gleichen Namen
gespeichert. Damit der Client, der mit einem der Server verbunden
ist, bei dem ein Fehler auftritt, seine Arbeit wieder aufnehmen
kann, ist es notwendig einen anderen globalen Namen für den Zugang
von einer externen Quelle zu verwenden.
-
Nachdem
der Kopierprozess für
die Sicherungsdaten vervollständigt
ist, werden alle Clients 20, 22, 24, 26, 30, 32,
die mit dem Server 12 verbunden sind, kurzzeitig abgeschaltet,
um zu vermeiden, dass der Datenbankspeicher 122 aktualisiert
wird. Dann werden die in dem Archivdatenspeicher 126 gesammelten
Archivdaten auf den Datenbankspeicher 142 angewendet, d.
h. hineingeschrieben. Dieser Schreibprozess wird automatisch gemäß einer
so genannten Roll-forward-Funktion durchgeführt. Diese Roll-forward-Funktion
ist die gleiche wie die Roll-forward-Funktion, die in der allgemeinen
Datenbank-Verarbeitungssoftware enthalten ist. Diese Operation stellt
die Daten in den Datenbankspeichern 122, 142 wieder
zu den gleichen Daten her.
-
Nach
der Vervollständigung
des obigen Wiederherstellungsprozesses werden die Clients 30, 32 erneut
mit dem Server 14 verbunden und die Server 12, 14 werden
erneut aktiviert, um die Operation des ganzen verteilten Datenverarbeitungssystems 10 wieder
aufzunehmen.
-
Das
verteilte Datenverarbeitungssystem 10 ist lediglich während der
Anwendung der Archivdaten außer
Betrieb, mit Ausnahme, wenn die Sicherungsdaten auf die Datenbank
angewendet werden. Wenn das Zeitintervall zum Sichern der Archivdaten
während
des Betriebs auf einen Tag gesetzt wird, ist die Menge der Archivdaten
allenfalls gleich der Menge der Datenbankdaten, die an einem Tag
aktualisiert werden. Die Zeit, die zum Wiederherstellen der Datenbank
von den Archivdaten benötigt
wird, reicht von einzelnen Minuten bis zu mehreren zehn Minuten.
Demzufolge kann der Zeitabschnitt, in dem das verteile Datenverarbeitungssystem 10 abgeschaltet ist,
ebenfalls reduziert werden, die im Rahmen von einigen Minuten bis
mehreren zehn Minuten reicht. Demzufolge ist die Systemabschaltzeit
um einiges verkürzt
worden, z. B. um etwa 8 Stunden, als die Zeit, die zur Wiederherstellung
der Datenbank entsprechend der herkömmlichen Export- und Importfunktionen
benötigt
wird.
-
Obwohl
eine bestimmte bevorzugte Ausführungsform
der vorliegenden Erfindung gezeigt und im Detail beschrieben wurde,
sollte das Verständnis
vorliegen, dass verschiedenartige Änderungen und Modifikationen
darin durchgeführt
werden können,
ohne von dem Umfang der vorliegenden Ansprüche abzuweichen.