tm3   Terminmanagement Dokumentation

tm3-Doku » Import/Export » Update Datenbank

Update Datenbank   05.05.2008

Vorhandene tm3Tee emm drei Server:

Beginn der Servertabelle

 

wo?

Beschreibung

verantwortlich für Updates

1

tm3-fuhrpark.de HAUPTSERVER bei internic, Frankfurt am Main Karl-Heinz

2

tm3.osmer.de/2008 Ersatzserver bei terions, Berlin Nico

3

offline Ersatzserver auf Verbatim usb_drive 08021203704G002468AA
System: XAMPP für Windows
Karl-Heinz

4

offline Ersatzserver auf Verbatim usb_drive
noch einzurichten
Nico

Ende der Servertabelle


Wenn ein Projekt wie tm3 mehrere Server hat, stellt sich die Frage, wie deren Stand mit dem Hauptserver abgeglichen wird.

Das Prinzip: Einmal am Tag kopiert sich ein Ersatzserver die neuen Dateien vom Hauptserver. Woher weiss ein Ersatzserver, welche Dateien auf dem Hauptserver neu sind?

Er holt sich eine Liste mit den Dateien und deren Datum, vergleicht mit seinem eigenen Stand und fordert dann die Dateien an, die ihm fehlen oder veraltet sind.

Und wann wird diese Aktion angestossen? Wenn ein Benutzer sich beim Ersatzserver angemeldet hat (Login).

ACHTUNG:
Hier wird nur das Kopieren von Programmdateien erklärt, die Daten müssen auch noch aktualisiert werden.


1. Ersatzserver ruft Dateiliste ab

Jedesmal, wenn nach dem Login eines Benutzers das Menü (p000) aufgerufen wird, prüft p000, ob die Liste der Dateien von heute ist. Wenn ja, wurde dieser Server heute bereits aktualisiert, es erfolgt keine weitere Aktivität.

Wenn die Liste fehlt oder älter ist als heute, wird sie vom Hauptserver abgerufen.

Dabei besteht die Möglichkeit, dass der Hauptserver nicht erreichbar ist. Für diesen Fall wurden die Ersatzserver eingerichtet. Sie arbeiten dann mit dem vorhandenen, vielleicht veralteten Programm- und Datenstand.

Also (zumindest bei erwarteten Programmänderungen) einaml am Tag die Ersatzserver per Login aktivieren.

2. Hauptserver sendet Dateiliste

Bei einer Anfrage nach Datei _dateiliste.txt prüft der Hauptserver in seinem Verzeichnis, ob diese Datei von heute ist. Wenn ja, wird sie unverändert gesendet.

Wenn diese Datei fehlt oder älter ist als heute, wird sie vor dem Senden neu erstellt. Sie enthält die Dateinamen des Projekts und deren Datum.

Der Hauptserver erstellt die Dateiliste nur einmal am Tag, versendet sie aber beliebig oft. Wenn keine Anforderung von einem Ersatzserver kommt, wird die Liste auch nicht erzeugt.


3. Ersatzserver ruft Dateien ab

Alle Dateien aus der Liste, die dem Ersatzserver fehlen oder deren Datum aktueller ist als das Datum der eigenen Dateien, werden einzeln vom Hauptserver abgerufen und gespeichert.

Sicherheit: Die Speicherung erfolgt zunächst unter einem anderen Dateinamen, falls die Verbindung während der Übermittlung getrennt wird. Erst wenn die Übermittlung erfolgreich war, wird die alte Datei gelöscht und die neue erhält den ursprünglichen Dateinamen.




Mirror-Konzept


Das Projekt tm3 besteht z.Z. aus 193 Dateien in 13 Ordnern und umfasst 11 MB ohne Daten. Es läuft unter Linux und Windows mit den gleichen Dateien. Programmiersprache ist PHP 5.

Der Hauptserver ist http://tm3-fuhrpark.de bei internic, Frankfurt und der Ersatzserver http://tm3.osmer.de/2008 bei Terions, Berlin.

Weitere Server sind Offline einzurichten, damit auch bei Ausfall der Internetverbindung gearbeitet werden kann. Es ist nicht sicher, ob das System auf der Messe im Juni 2008 eine Internet- Kabelverbindung hat. Die Rechner werden im Zelt stehen, UMTS und WLAN sind erfahrungsgenäß vollkommen überlastet durch die Aussteller.


Aufgabenstellung

Wenn ein Internet-Projekt aus Sicherheitsgründen auf verschiedenen Servern läuft, stellt sich die Frage des

Mit den Dateien sind Programmdateien, Textdateien, aber auch binäre Dateien wie Grafik oder Sound gemeint.

Das Datei- Update ist in das Projekt zu integrieren und automatisch zu vollziehen.


Hauptserver (Original)

Ein lauffähiges System liegt auf dem Hauptserver und wird dort gepflegt.

Dort liegt auch das Programm send_file.php, das auf Anforderung eines Ersatzservers die benannte Datei verschlüsselt sendet.


Ersatzserver (Kopie)

Es können mehrere Ersatzserver vorhanden sein: Im Internet, lokal auf PC oder auf USB- Sticks.

Ein Ersatzserver wird eine unbestimmte Zeit lang nicht benutzt, liegt vielleicht als USB- Stick wochenlang in der Schschublade. Daten und Programme haben einen veralteten Stand.

Bei Aktivierung muss er versuchen, den aktuellen Stand des Projekts vom Hauptserver zu kopieren, also neue und geänderte Dateien. Der Versuch scheitert, wenn der Hauptserver nicht erreichbar ist. Dann muss der Ersatzserver mit dem vorhandenen Stand arbeiten.

Nach Einloggen eines (dem Ersatzserver bekannten) Benutzers prüft Programm p000 (Menü), ob die Datei _dateiliste.txt von heute ist. Wenn nicht, wird versucht, diese Datei vom Hauptserver anzufordern. Sie enthält sämtliche Dateinamen des Projekts und deren Datum.

Hat die Anforderung Erfolg, wird die Liste mit den eigenen Dateien, also den Kopien, abgeglichen. Jede Kopie, deren Datum vor dem Originaldatum liegt, wird vom Hauptserver neu angefordert. Ebenso Dateien, die der Ersatzserver nicht hat.

Sicherheitshalber werden Kopien auch dann neu gezogen, wenn Kopie und Original vom selben Tag sind. Beispiel: Heute ist 2008-04-23, Original (nachmittags?) und Kopie (alter Stand vom Vormittag?) sind vom 2008-03-31. Die Kopie wird neu gezogen und bekommt das Datum 2008-04-23. Nun ist sie „aktueller” als das Original und wird nicht noch einmal geholt.


Programm send_file.php

Dieses Programm liegt auf dem Hauptserver und versendet angeforderte Dateien, ausgenommen sich selbst. Denn ein veralteter Ersatzserver darf keinesfalls zum „Sender” werden.

Der Versand erfolgt verschlüsselt und muss vom Empfänger wieder entschlüsselt werden.


Programm _url_kopieren.php

Das ist der Auftraggeber an send_file.php. Der führende Unterstrich zeigt an, dass es sich um ein Include- Programm handelt, das in ein anderes Programm eingefügt wird.

Es wird eingefügt, nachdem das Menü p000 angezeigt wurde. Falls der Hauptserver nicht erreichbar ist und das Timeout abgewartet wird, kann dennoch weitergearbeitet werden.


Datei _dateiliste.txt

Wird nach der Anmeldung eines jeden Benutzers geprüft. Ist sie von heute, wurde heute bereits ein Update gefahren, es erfolgt kein weiteres.

Wenn sie auf dem Ersatzserver fehlt oder älter ist als heute, wird sie (mit Programm _url_kopieren.php) vom Hauptserver angefordert. Die Anforderung kann scheitern, wenn der Hauptserver nicht erreichbar ist.

Ist die Anforderung erfolgreich, enthält diese Datei alle Dateinamen des Projekts und deren zugehöriges Datum auf dem Hauptserver. Der Ersatzserver vergleicht das Datum mit dem der eigenen Dateien und holt sich ggf. Kopien von neueren Originalen.


tm3tm3   Doku update_dateien © 2008   www.osmer.de