
| | W. Popken im Fenster Selbstportrait 08/2004 | | | | | 09.03.2008
Bild weg
In der letzten Woche habe ich über den mehr oder weniger rätselhaften Verlust von Daten gesprochen - in dieser Woche geht es um das merkwürdige Verschwinden von Bildern, oder besser gesagt darum, daß manche Bilder gar nicht oder nur verspätet auftauchen.
Wir haben im Moment genau 162.701 Bilder hochgeladen. Demgegenüber erscheint eine Fehlerquote von deutlich weniger als einem halben Dutzend als sehr gering. Trotzdem finde ich das beunruhigend, denn die Fehlerquote sollte exakt null sein. Damit meine ich die Fehler, die nicht aufgeklärt werden können.
Ein einfacher Fehler, der aufgeklärt werden kann, ist zum Beispiel die Eingabe einer Datei zum Hochladen, die gar kein geeignetes Bild ist. So etwas muß natürlich verhindert werden. Es könnte sich ja um ein übles Programm handeln, auf jeden Fall wäre es an dieser Stelle unbrauchbar.
Selbst wenn es ein Bild wäre, würden wir damit nicht unbedingt etwas anfangen können. Es gibt nämlich unglaublich viele Bildformate, aber im Internet sind nur drei davon zulässig, die mit folgenden Endungen bezeichnet werden: jpg (oder jpeg), gif und png. png ist immer noch sehr ungebräuchlich, gif eignet sich für Logos, aber nicht für Fotos, also bleibt für Fotos nur das Format jpg übrig, wobei es unerheblich ist, ob die Endung groß oder klein geschrieben wird.
Fehler in der Datei
Man kann natürlich jede beliebige Datei mit der gewünschten Endung versehen, ohne daß daraus ein Bild wird. Üblicherweise geben die ersten Bytes einer Datei darüber Auskunft, um welche Sorte es sich handelt. Das bedeutet nicht, daß sich aus dem Rest noch etwas Sinnvolles ergibt - der kann ja immer noch Datensalat sein oder im Rahmen des betreffenden Formats unsinnig.
Manchmal sieht man Bilder, bei denen irgendwo mitten drin ein Fehler enthalten ist. Üblicherweise entsteht so etwas bei der Datenübertragung. Die obere Hälfte des Bildes ist wunderbar, und dann irgendwann ergibt sich nur noch Schneegestöber, möglicherweise sehr bunt, aber ohne irgendwelche erkennbare Struktur. Das Bild sieht aus wie ein Strickpullover, der halb aufgeribbelt ist. Solche Fehler können nicht repariert werden, aber der Browser oder auch ein Bildbearbeitungsprogramm nehmen daran keinen Anstoß. Schließlich können sie die Bilder sowieso nicht interpretieren und stellen halt dar, was sie empfangen haben.
Es gibt auch Dateien, die für das eine Programm vollkommen in Ordnung sind, für das andere jedoch nicht. So hat man sich irgendwann einmal überlegt, in eine Bilddatei auch noch zusätzliche Informationen einzubetten, die natürlich vom interpretierenden Programm verstanden werden müssen. Wenn nicht, hat man ein Problem. Diese zusätzliche Informationen können ein beschreibender Text sein, der von Hand eingegeben worden ist, oder technische Daten, die die Digitalkamera automatisch hinterlegt hat. Außerdem könnte im Bild auch noch eine kleine Vorschau enthalten sein, damit beispielsweise die Kamera das Bild schneller anzeigen kann.
Manchmal hat jemand ein Bild, das vom Browser nicht angezeigt werden kann, sehr wohl aber von meinem Grafikprogramm. Der Fehler wird dadurch beseitigt, daß ich dieses Bild mit dem Grafikprogramm Lade und wieder abspeichere, wobei die störenden Informationen anscheinend ausgefiltert werden, denn die neue Fassung kann problemlos von Browsern dargestellt werden. Damit ist natürlich nicht erklärt, was das denn nun war, was den Browser gestört hat. Die schon erwähnten Vorschaubilder und Textinformationen stören den nämlich normalerweise nicht, es muß also noch etwas anderes gewesen sein.
Fehlererkennung
Wir können nicht verhindern, daß jemand beliebige Dateien zu uns hochlädt; diese werden jedoch zunächst in ein temporäres Verzeichnis geschrieben und dort überprüft. Wir nutzen dazu eine Funktion, die nicht nur erkennen kann, ob es sich um eine zulässige Bilddatei handelt und welcher Typ es ist, sondern auch noch die Größeverhältnisse des Bildes zurückgibt. Wenn das nicht klappt, entscheiden wir, daß mit dieser Datei etwas nicht in Ordnung ist und der Browser vermutlich ebenfalls Probleme haben wird, denn der möchte auch die Breite und Höhe des Bildes auslesen können. Daraufhin wird diese temporäre Datei nicht an den endgültigen Ort kopiert und damit verworfen, nämlich anschließend gelöscht. Der Absender erhält eine E-Mail mit einer entsprechenden Erläuterung und Vorschlägen, wie diesem Problem zu begegnen sein könnte.
Das ist alles Routine. Bei erfolgreicher Prüfung werden die Bilder nicht nur an die vorgesehene Stelle kopiert, sondern auch noch gegebenenfalls verkleinert und diverse Vorschaubilder zusätzlich erzeugt, etwa die Minibilder für die Liste der laufenden Eingaben, die etwas größeren Bilder für die Textwerbung und das Vorschaubild für ein Pferdeangebot. Anschließend wird die Erfolgsmeldung per E-Mail verschickt und die zugehörigen Daten mit den Bildern am Bildschirm des Benutzers dargestellt. Wenn er die sieht, ist der Beweis erbracht, daß der ganze Vorgang erfolgreich war.
Lastverteilung
Bei zunehmender Beanspruchung einer Internet-Seite kommt es naturgemäß zu Verzögerungen im Antwortzeitverhalten, was selbstverständlich unerwünscht ist. Es ist aber unvermeidlich, da jede Maschine nur so und so viele Vorgänge pro Zeiteinheit bewältigen kann. Deshalb setzt man im Zweifelsfall mehrere Maschinen ein, um die Last auf mehr Schultern zu verteilen und das Antwortzeitverhalten damit zu verbessern. Die eingehenden Anfragen werden dann auf die zur Verfügung stehenden Maschinen verteilt; jede von denen hat weniger zu tun und kann schneller antworten. Im Prinzip kann man damit allergrößte Anforderungen befriedigen, man muß nur entsprechend viele Maschinen bereitstellen. Das ist das Rezept, mit dem die meisten großen Internetanbieter arbeiten.
Allerdings ergibt sich hieraus auch ein Problem. Die Programme brauchen Daten und sie brauchen Bilder. Wieder stellt sich dieselbe Aufgabe. Wenn man Bilder und Daten auf einer einzigen Maschine speichert, müssen alle auf diese zugreifen und es ergibt sich somit ein Flaschenhals. Man muß also auch die Daten und die Bilder verteilen. Bei den Daten ist das normalerweise kein Problem, weil die Datenbank das von Hause aus kann und so extrem schnell arbeitet, daß man im Regelfall die Verzögerung nicht bemerken wird. Bei den Bildern hingegen schon. Deshalb hat unser Programm einen Mechanismus, der die Bilder von der Hauptmaschine holt, wenn sie noch nicht auf die Sekundärmaschine übertragen sind. Also sollte der Benutzer die Bilder auf jeden Fall sehen, woher auch immer sie im Einzelfall geholt worden sind.
Rätsel
In der letzten Wochen ist es zwei- oder dreimal vorgekommen, daß jemand Bilder hochgeladen und anschließend statt der Bilder, wie zu erwarten, einen grauen Kasten gesehen hat. Genauer gesagt ist es vielleicht viel häufiger vorgekommen und nur zwei- oder dreimal per E-Mail gemeldet worden - wer weiß? Vielleicht haben Sie selbst es auch schon einmal erlebt und sich keine Sorgen gemacht. Wann immer ich dann die Sache überprüft habe, waren die Bilder vorhanden. Wegen der oben geschilderten Automatik kann als Grund nicht angeführt werden, daß der betreffende Benutzer nach dem Hochladen der Bilder auf einer Sekundärmaschine gelandet ist, wo die Bilder noch nicht übertragen wurden, da diese ja im Zweifel von der Primärmaschine geholt werden.
Ich bezweifle nicht, daß das Phänomen aufgetreten ist. Ich habe nur keine Erklärung dafür. Außerdem kann es nicht reproduziert werden. Die Bilder sind offenbar nicht verschwunden, sondern vorübergehend unauffindbar. Merkwürdig, aber nicht weiter beunruhigend.
Beunruhigend hingegen und äußerst unangenehm war ein Datenverlust, der uns in dieser Woche ereilte. Ganz plötzlich war ein Verzeichnis mit Tausenden von Unterverzeichnisse und Zehntausende von Dateien verschwunden (auf einer Maschine mit Windows 2000). Auch Recherchen im Internet ergaben keinerlei Hinweise darauf, was hier passiert sein mochte.
Das nehme ich zum Anlaß, Ihnen dringend regelmäßige Datensicherungen auf ein zweites Medium anzuraten. Greifen Sie bei der nächsten Gelegenheit zu, wenn eine 500 GB-Festplatte in Ihrem lokalen Supermarkt zum Schnäppchenpreis angeboten wird. Als Windows-Benutzer besorgen Sie sich dann das Microsoft-Programm » robocopy (Freeware von Microsoft, Erläuterung von privat) und außerdem » Z-Cron (Freeware für Privatleute, günstig für Geschäftsleute), mit dem Sie einen zeitgesteuerten Abgleich Ihrer wertvollen Daten auf die neue Riesenplatte einrichten können. Die grundlegende Syntax ist sehr einfach:
| robocopy quelle:quellverzeichnis ziel:zielverzeichnis /MIR | | |
erstellt eine exakte Kopie des Verzeichnisses "quellverzeichnis" und der gesamten Baumstruktur darunter vom Laufwerk "quelle" auf das Laufwerk "ziel" in das Verzeichnis "zielverzeichnis". Es wird dadurch "gespiegelt". Falls Sie genauere Angaben brauchen, lassen Sie es mich wissen.

| | | Chefredakteur und Herausgeber | | | | |
| |