Filter-Overlapping/Merging

rick
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 105
Registriert: 17. Jan 2006 23:20

Filter-Overlapping/Merging

Beitrag von rick »

Hi,

ich finde die Definition von Overlapping auf K2.2.28 etwas merkwürdig. Nach der Definition würden ja auch die Filter

F1 = {A1} und F2 = {A2} mit
A1 = (alter, int, >, 18) und
A2 = (groesse, float, >, 1.83)

überlappen (es gibt keinen Attributfilter in F1 der den gleichen Attributnamen hat wie ein beliebiger Attributfilter in F2).

Für mich würde es z.B. so mehr Sinn ergeben:
F1 überlappt mit F2 <--> es gibt einen Attributfilter A1 in F1 und einen Attributfilter A2 in F2 die den gleichen Namen haben und [gleiche Typen haben oder überlappende Wertebereiche]

Habe ich da etwas falsch verstanden?

Dann noch eine Sache zum Merging:
Der Filter F = (alter, int, >, 21) wird durch eine neue Subscription S gemergt zu (alter, int, >, 18).
Wird nun S wieder entfernt müsste ja der vorherige Zustand wiederhergestellt werden.
Also müssen alle Subscriptions gespeichert werden - durch das merging werden also nur die Routing-Tabellen klein gehalten - die Subscriptions müssen trotzdem gespeichert werden. Oder?

Benutzeravatar
MisterD123
Geek
Geek
Beiträge: 811
Registriert: 31. Okt 2006 20:04
Wohnort: Weiterstadt

Re: Filter-Overlapping/Merging

Beitrag von MisterD123 »

die überlappen, das ist richtig. Es gibt Tupel, wie zum beispiel:

{(alter, int, 21), (groesse, float, 1.90)}

welche in der tat beide filter erfüllen ;) - es existieren also werte, die beide filter erfüllen, also überlappen sie.

Les die Definition wie sie da steht:
Zwei filter überlappen NICHT, wenn es ein paar Filterausdrücke gibt, die über das selbe attribut (=name) reden, und einen unterschiedlichen Typ fordern, oder nicht überlagernde Wertebereiche haben (also zusammengefasst ein Attribut so einschränken, dass es, wenn es dem einen ausdruck genügt, dem andern nicht genügen kann).

Beispiel:
Advertisement: Ich verteile Börsenkurse für Firma="ABC inc."
Subscription: Ich bin interessiert an Börsenkursen mit Wert>100
Diese beiden Filterausdrücke überlappen natürlich, weil wenn der Publisher jetzt eine Notification (Firma="ABC inc", Wert="123") sendet ist die Notification ganz offensichtlich relevant für den Subscriber, also ist es nur sinnvoll, überlappung auch genau so zu definieren.


Und wegen subscriptions entfernen: Das wurde in der Vorlesung nicht besprochen und dürfte ähnliche Probleme aufwerfen wie die "Count to infinity" probleme beim normalen routing, ich würde mal davon ausgehen dass es da keine sonderlich einfache lösung gibt und dass wir uns aber auch nicht wirklich in der klausur damit auseinandersetzen werden müssen, wir hatten in der Vorlesung schließlich nur positive Advertise- und Subscribe-Routings behandelt, nicht die negativen Unadvertises bzw Unsubscribes.

rick
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 105
Registriert: 17. Jan 2006 23:20

Re: Filter-Overlapping/Merging

Beitrag von rick »

hört sich gut an - danke :)

Antworten

Zurück zu „Archiv“