Agentensysteme - Dokumentenserver Fakultät für Mathematik und ...
Agentensysteme - Dokumentenserver Fakultät für Mathematik und ...
Agentensysteme - Dokumentenserver Fakultät für Mathematik und ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Entwicklung eines universellen News Watcher-Agenten<br />
nachdem alle Tabellen abgearbeitet sind, werden die Einträge aus<br />
<br />
der Log-Tabelle gelöscht, die zum Zeitpunkt des Auslesens dieser<br />
Tabelle vorhanden waren (dadurch können Änderungen, die während<br />
des Abgleichs in den Originaldaten vorgenommen wurden, bei<br />
der nächsten Aktualisierung berücksichtigt werden)<br />
Im Idealfall finden alle Indexänderungen innerhalb einer Transaktion<br />
statt. Durch die begrenzte Größe des Rollback-Puffers 69 können jedoch<br />
nur eine bestimmte Anzahl von Änderungen während einer Transaktion<br />
realisiert werden (die Größe wird durch einen Wert in der Initialisierungsdatei<br />
festgelegt). Dadurch kann es im schlechtesten Fall dazu<br />
kommen, daß ein Agent während der Aktualisierung des Index diesen<br />
durchsucht <strong>und</strong> fremdschlüsselverknüpfte Inhalte noch nicht komplett<br />
vorliegen.<br />
Der Indexmanager übergibt den zu indizierenden Text, den Formattyp<br />
sowie eine Stoppwortliste an eine Tokenizer-Klasse (‚createIdx‘). Diese<br />
liefert eine Liste aller im Text vorkommenden Wörter (ausgenommen der<br />
Stoppwörter) zusammen mit ihrer Wortfrequenz 70 . Jeder Eintrag dieser<br />
Liste wird mit Quellenangabe <strong>und</strong> Zeitstempel in den Index aufgenommen.<br />
Anlegen eines Agenten<br />
Für jede Anfrage an den Index muß ein neuer Agent angelegt werden.<br />
Ein Agent ist deshalb einem Benutzer eindeutig zugeordnet <strong>und</strong> liefert,<br />
solange er aktiviert ist, kontinuierlich den Vorgaben entsprechende Neuzugänge<br />
im Index. Die <strong>für</strong> die Erstellung des Agenten notwendigen Profildaten71<br />
gliedern sich deshalb in:<br />
Benutzerdaten (Benutzer-ID, Email-Adresse, Agentenname),<br />
Aktionsdaten (Intervall der Benachrichtigung, Zeitstempel der letzten<br />
<br />
Ergebnisaktualisierung, Zeitstempel der letzten Benachrichtigung,<br />
Aktivierungsflag) <strong>und</strong><br />
Suchausdruck.<br />
Der Suchausdruck besteht aus Sucheinträgen, d.h. einer Liste von<br />
(Teil)-Wörtern, die alle mit Parametern versehen sind. Neben der Angabe<br />
des Suchraums 72 sind das ein Operator (‚‘, ‚‘, ‚=‘, ‚like‘), der die<br />
Art des Vergleichs des Wortes mit dem Suchraum angibt <strong>und</strong> ein boolescher<br />
Wert (‚AND‘, ‚OR‘). Für das Verständnis der Suchraumbeschreibung<br />
sowie der Wirkungsweise des booleschen Wertes ist die Kenntnis<br />
der Indexarchitektur aus Anhang 7.2 notwendig.<br />
69 Puffer, der alle Änderungen während einer Transaktion aufnimmt; erst nach erfolgter Bestätigung der Gültigkeit aller<br />
Aktionen (commit) wird sein Inhalt freigegeben<br />
70 Anzahl des Vorkommens eines Wortes im Text<br />
71 Siehe auch Kommandobeschreibung <strong>für</strong> ‚createAgent‘ im Anhang 7.5<br />
72 Definiert die Teilmenge des Index, auf die sich ein Sucheintrag bezieht<br />
90