r_fleischhauer - Friedrich-Schiller

Werbung
Friedrich – Schiller - Universität Jena
Lehrstuhl für Datenbanken und
Informationssysteme
Seminar „Aktive Datenbanken“
Filterung von zusammengesetzten Ereignissen
Ramon Fleischhauer
1
Gliederung
1. Einleitung
2. Wichtige Begriffsdefinitionen
3. Implementierungsmöglichkeiten zur Erkennung von Ereignissen
4. Zwei – Schritt – Verfahren zur Filterung von zusammengesetzten
Ereignissen
5. Schlüsselkriterien für ein Filterverfahren
5.1 Filtermodell
5.2 Die innere Darstellung eines Filters
6. Zusammenfassung
2
1. Einleitung
• Filterung: Prüfen aller eintretenden Ereignisse anhand von
bestimmten festgelegten Kriterien
• Hauptziel: Erkennung von zusammengesetzten Ereignissen
• Ereignisse haben entscheidenden Einfluss auf ECA (Event –
Condition – Action)
• Ereignisdefinitionen und Ereigniserkennung sind ein wichtiges
Thema in DB- Forschung
3
2. Grundlegende Begriffe
Ereignisse:
• „happening of interest“ ( Gehani et al )
• „Auftreten einer Situation, die eine möglicherweise automatische
Reaktion erfordert“ ( Unland und Zimmer )
• Unterscheidung: primitive, zusammengesetzte Ereignisse
primitive Ereignisse:
Ereignistypen
DB- spezifische
temporale
externe
4
zusammengesetzte Ereignisse:
• durch Kombination von Ereignissen (primitive, zusammengesetzte)
anhand bestimmter Operatoren
• Beispiele:
- Konjunktion/ Disjunktion: z = x und/ oder y
- Sequenz : z = x muss vor y eintreten
- Negation: nicht x innerhalb eines bestimmten Zeitintervalles
-…
5
Fiterverfahren
Datenstruktur
Modell
Algorithmus
Ereignisdefinition
Filterausdrücke
• Filterverfahren benötigen 2 Schritte zur Filterung von
zusammengesetzten Ereignissen
• „consumption mode“: wie primitive Ereignisinstanzen zur
Bildung von zus. Ereignissen verwendet und anschließend
gelöscht werden:
recent, chronicle, continuous, cumulative
6
3. Implementierungsmöglichkeiten
• verschiedene Möglichkeiten zur Darstellung und Erkennung von
Ereignissen
via
Graphen
Bäumen
Automaten
Petri - Netze
7
Implementierung via Graphen
•
•
•
•
•
•
gerichteter azyklischer Graph (DAG)
jedes zusammengesetzte Ereignis als DAG dargestellt
Knoten = Ereignisbeschreibungen
Kanten = Ereigniszusammensetztungen
tritt primitives Ereignis ein werden Vaterknoten informiert
Beziehungen zu Ereignissen werden gespeichert
8
Implementierung via Graphen
•
•
•
•
•
„event graph“ - in Sentinel
Kombination von Eventbäumen zu Graphen
Blätter = primitive Ereignisse
Knoten = enthalten Operatoren, separaten Speicher für „Kinder“
Pfeile im Graph repräsentieren Ereigniserkennung (bottom up)
OR
AND
E1
E3
E2
9
V. Krishnaprasad; Event detection for
supporting active capability in an OODMS:
Semantics, architecture and implementation;
page 78; University of Florida; 1994
10
Implementierung via Bäumen
• „detection tree“
• aufgebaut aus „detection graph‘ s“
• eigener Baum pro zusammengesetztem
Ereignis
• Knoten entweder Blatt, Wurzel, Operator
• Ereigniserkennung: bottom up
• Operatorknoten verwalten primitive
Ereignisse
• Wurzel ergibt zusammengesetztes
Ereignis
U. Jaeger, J. K. Obermaier; Parallel Event Detection in Active Database Systems: The Heart of the Matter; page 4;
Humboldt-Universität zu Berlin
11
Implementierung via Automaten
•
•
•
•
•
-
durch deterministische endliche Automaten (DFA)
jeder Zustand stellt Ereignis dar
Übergang zwischen 2 Zuständen ist Ereigniseintritt
step – by – step
von COMPOSE verwendet:
Implementierung der Eventausdrücke mittels Automaten
Input = primitiven Ereignisse
Automaten durch „Sub- Automaten“ konstruiert
3- Zustandsautomat (Start-, Akzeptanz-, Nichtakzeptanzzustand)
12
Implementierung via Automaten
• zusammengesetztes Ereignis erkannt, wenn Automat
Akzeptanzzustand erreicht hat
• Erweiterung der Automaten mit Datenstrukturen zur Speicherung
von Informationen
G. Lörincze; Modellierung, Analyse und Simulation von Regeln in der aktiven Schicht ALFRED; Diplomarbeit;
Universität Bern; 1996
13
Implementierung via Petri – Netze (PN)
•
•
•
•
•
•
•
in SAMOS verwendet
Erweiterung: „coloured“ PN
Aufbau: Input place = primitive Ereignisse, Output = zus. Ereignis
token = zur Markierung, enthält aktuelle Ereignisparameter
guard functions = zur Evaluation
Algorithmus: step – by – step
geordnete Reihenfolge aller primitiven Ereignisse muss bekannt
sein
14
Implementierung via Petri – Netze
• wenn alle Inputs vorhanden, guard function positiv evaluiert,
dann „feuert“ transition zum Output  zusammengesetzte Event
S. Gatziu, K.R. Dittrich;Detecting composite events in active database syxstems using Petri Nets; to appear in :
Proc. Of the 4th Intl. Workshop on Research Issues in Data Engineering: Active Database Systems, Houston,
Texas, February 1994, page 5
15
S. Gatziu, K.R. Dittrich; Events in an Active Object-Oriented Database System; to appear in Proc. of the 1.Intl.
Workshop on Rules in Database Systems; page 8; Edinburgh,August 93.
16
• Probleme bestehender Verfahren
• Automat: Anzahl der Zustände  Erreichbarkeitsanalyse,
Zustandsminimierung
• Bäume/ Graphen: betrachtet jedes primitive Ereignis und damit
unnötige Filteroperationen
• PN: in SAMOS nur chronicle consumption mode
17
4.
Zwei - Schritt - Verfahren
• Grundlage: baumbasierter Ansatz, Matchingalgorithmus,
Verwendung der Idee der partiellen Ereignisverarbeitung,
• Zusammengesetze Ereignisfilterung in zwei Schritten:
• 1. Schritt : Erkennung primitiver Ereignisse
• 2. Schritt: Ergebnisse = Input für zusammengesetzte
Ereignisfilterung
•
•
•
•
betrachten primitiven Ereignisse : e1, e2, e3
Nutzer A : E(a) = e1
Nutzer B : E(b) = e1 und e2
Nutzer C : E(c) = Sequenz(e2;e3)
18
19
20
21
Erweiterung des Zwei – Schritt - Verfahrens
• Erweiterung des Verfahrens  1 – Schritt – Verfahren
• bedeutet: 2. Schritt in den 1. Schritt integriert wird
 Zeiteinsparung
• 2 Möglichkeiten:
- Ein – Schritt – Verfahren mit Löschen
- Ein – Schritt – Verfahren ohne Löschen:
- alle Teilprofile werden im Baum gehalten
- Blätter werden um Listen erweitert
- 2 Zustände: aktiv (o), inaktiv (x)
•
•
•
•
betrachten primitiven Ereignisse : e1, e2, e3
Nutzer A : E(a) = e1
Nutzer B : E(b) = e1 und e2
Nutzer C : E(c) = Sequenz(e2;e3)
22
23
24
25
26
27
•
•
•
•
1 – Schritt – Verfahren mit Löschen:
nur aktuell relevante Teilprofile im Baum gehalten
abgearbeitete Teilprofile werden gelöscht
Aufnahme von Teilprofilen sobald sie relevant werden
•
•
•
•
Performancebewertung der 3 Verfahren:
beste Verfahren ist das 1 - Schritt – ohne Löschen
dann das 2 – Schritt – Verfahren
schlechteste Verfahren ist 1 – Schritt – Verfahren mit Löschen
28
5. 1 Filtermodell
•
•
•
•
determiniert die Struktur der Ereignisfilterkomponenten
wie Ereignisdefinitionen und Filterausdrucksdefinitionen
gutes Modell ist flexibel jede gewünschte Funktionalität zu formen
Auswirkungen auf:
- Performance
- Allgemeingültigkeit
- Ausdrucksmächtigkeit
29
5. 2 Innere Darstellung des Filters
• determiniert die Struktur und Ausführung des Filtermechanismus
• Ausführung durch Algorithmus
• Datenstruktur zur Erkennung von Events
( Graph-, Baum-, Petri-Netz- oder Automatenbasiert)
• Hauptauswirkungen:
- Performance
30
6. Zusammenfassung
•
•
•
•
verschiedenen Systeme benutzen verschiedene Spezifikationen
verschiedene Möglichkeiten der Implementierung
2 Schritte für zusammengesetzten Ereigniserkennung
Ereignisfilterung nicht nur in aktiven DB wichtig
• Trend: parallele Erkennung zusammengesetzter Ereignisse
vorallem bei Bäumen
31
Literaturverzeichnis
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
N. H. Gehani, H. V. Jagadish, and O. Shmueli. Composite event specification in active databases: Model & implementation. In Proceedings of the 18th
International Conference on Very Large Data Bases, 1992.
S. Chakravarthy, V. Krishnaprasad, E. Anwar, S.K. Kim, "Composite events for active databases: semantics, contexts and detection" in Proceedings of
the 20th International Conference on Very Large Data Bases, VLDB ’94, Santiago, Chile, pp. 606-617, 1994.
N.W. Paton, O. Diaz, "Active database systems" , Technical report, Department of Computer Science, University of Manchester, England, 1994.
S. Chakravarthy and D. Mishra. Snoop: An expressive event specification language for active databases. , Technical Report UF-CIS-TR-93-007,
University of Florida, Gainesville, Department of Computer and Information Sciences, March 1993.
S. Gatziu and K. R. Dittrich. SAMOS: An Active Object-Oriented Database System. IEEE Quarterly Bulletin on Data Engineering, Special Issue on
Active Databases, 15(1-4):23–26, December 1992.
Ehab Al-Shaer. High-Performance Event Filtering: Survey and Evaluation. Technical Report ODU-CS-96, Computer Science Department, Old Dominion
University, March 1996.
A. Hinze: Efficient filtering of composite events. In Proceedings of the 20th British National Conference on Databases (BNCD’03), Coventry, UK, July,
2003
D. Zimmer, R. Unland: The Formal Foundation of the Semantics of Complex Events in Active Database Management Systems. Cooperative Computing
& Communication Laboratory, Technical Report Nummer 22/1997, Paderborn, Deutschland, 1997.
E. S. Al-Shaer; High-performance Event Filtering for Distributed Dynamic Multi-point Applications: Survey and Evaluation; Computer Science
Department, Old Dominion University, March 1996.
E. S. Al-Shaer; Event Filtering Framework: Key Criteria and Design Trade-offs; in the IEEE 21st International Conference on Computer Software and
Application, held in Washington, D.C., USA, August 1997
S. Chakravarthy, V. Krisshnaprasad, E. Anwar, and S. K. Kim. Anatomy of a Composite Event Detector. Technical Report CIS TR-93-039, University of
Florida, December 1993
S. Chakravarthy, V. Krishnaprasad, E. Anwar, and S. K. Kim. Composite Events for Active Databases: Semantics, Contexts and Detection. In
Proceedings of the 20th VLDB Conference, p. 606-617, Sep. 1994
N. H. Gehani, H. V. Jagadish, and O. Shmueli. Event Specification in an Active Object-Oriented Database. In Proceedings of the ACM SIGMOD
International Conference on Management of Data, p. 91-90, 1992.
S. Bittner. Implementierung und Analyse von Filterverfahren für parametrisierbare zusammengesetzte Ereignisse. Diplomarbeit, Freie Universität Berlin,
Institut für Informatik, 2004
S. Chakravarthy. Sentinel: An object-oriented DBMS with event-based rules. In Proceedings of the ACM SIGMOD International Conference on
Management of Data, Tucson, AZ, 1997.
S. Gatziu and K. R. Dittrich. Detecting composite events in active database systems using petri nets. In Proceedings of the RIDE Workshop on
Research Issues in Data Engineering, Houston, TX, 1994.
32
Vielen Dank für Ihren Aufmerksamkeit!
33
Herunterladen