next up previous contents
Next: Parameter Up: Implementierung Previous: Aufgabenstellung

Datenstruktur

Aus der Aufgabenstellung läßt sich unmittelbar die Datenstruktur ableiten. Man benötigt pro Dokument einen Datensatz, der die Felder Zugriffsmethode, Väter und den Betreuer beziehungsweise den Fehlercode speichert. Als Schlüssel für die Datensätze bietet sich der absolute URI des Dokuments an, zu dem die Infomation zu speichern ist, da dieser per Definiton eindeutig ist. Die Zugriffsmethode wird benötigt, da in der hier vorgesehenen Version nur Dokumente, auf die mit HTTP zugegriffen wird, zu überprüfen sind. Links die andere Zugriffsmethoden erfordern, werden ignoriert (FTP, eMail). Die Väter eines Dokuments A, also Dokumente, die einen Link auf das Dokument A haben, werden benötigt, da deren Betreuer benachrichtigt werden müssen, falls beim Zugriff auf Dokument A ein Fehler aufgetaucht ist. In dem letzten Feld wird entweder der Fehlercode oder der ermittelte Betreuer gespeichert. Dies ist machbar, da zu einem Dokument, welches nicht geladen werden kann, auch kein Betreuer festgestellt werden kann. Andererseits ist aber auch bei einem Dokument, zu dem sich der Betreuer ermitteln ließ, kein Fehler aufgetaucht.

Verwirklicht wurde diese Datenstruktur innerhalb des PERL-Skripts mittels eines assoziativen Arrays [7]. Charakteristisch ist hierfür, daß man als Index für den Array einen String benutzen kann. Dieser entspricht also genau unserem URI. Der Inhalt eines Arrayselements kann leider maximal wieder ein String sein. Deshalb wurden die einzelnen Felder mit einem ,,;``getrennt zu einem String konkateniert. Das Feld Väter entsteht dabei aus der Konkatenation der einzelenen URI's der Väter, getrennt durch ,,| ``.

Insgesamt werden drei solche Arrays erstellt und verwaltet. Zum einen ist dies der Array NEU. Er enthält alle Links, die noch zu prüfen sind. Als zweites wird der Array ERL benutzt, der die erfolgreich getesteten Links enthält. Zu guter Letzt wird noch der Array ERR benötigt, der die Links aufnimmt, auf die nicht erfolgreich zugegriffen werden konnte.


next up previous contents
Next: Parameter Up: Implementierung Previous: Aufgabenstellung
Copyright Munich Network Management Team