20.07.2013 Aufrufe

Agentensysteme - Dokumentenserver Fakultät für Mathematik und ...

Agentensysteme - Dokumentenserver Fakultät für Mathematik und ...

Agentensysteme - Dokumentenserver Fakultät für Mathematik und ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!