2010-11-29 12 views
5

Möchte man einen Strom von Ereignissen analysieren, bestimmte Eigenschaften teilen (z. B. eine gemeinsame Quelle), und schließlich innerhalb eines gegebenen Zeitfensters diese mehreren Ereignisse korrelieren und daraus einen Rückschluss ziehen, und schließlich eine Aktion starten.Jedes Framework für Echtzeit-Korrelation/Analyse von Event-Stream (aka CEP) in Erlang?

Meine begrenzten Kenntnisse der Complex-Event-Processing (CEP) sagen mir, dass es der ideale Kandidat für solche Dinge ist. In meinen bisherigen Untersuchungen fand ich jedoch heraus, dass Leute das mit Rule-Engines und Bayesian Classifier vergleichen und manchmal eine Kombination daraus verwenden.

Wollte wissen, ob es sind -

  1. einige Best Practices (im Idealfall von Performance-Daten unterstützt, und Beschreibung der Natur/Art der Ereignisse) gefolgt werden, vor allem so in Erlang?

  2. Hat Erlang ein eigenes CEP-Framework?

  3. eine beliebige Bayesian Classifier Bibliothek in Erlang?

Esper aus Java scheint Welt ganz nahe zu sein, was ich tun würde, aber ich würde es vorziehen, meine Umgebung Erlang-nur zu halten (oder Erlang und C/C++ nur), wenn möglich.

Zeiger, Ratschläge, Anleitung - alles willkommen.

Dank,

IC

Antwort

2

Dies kann ein nonsolution für Sie sein, aber trotzdem:

Einer von Erlang Stärken ist seine Fähigkeit, als Klebstoff zwischen den verschiedenen Systemen zu handeln, zu spielen. Sie lassen die Erlang-VM in der Mitte sitzen und steuern eine Reihe von Subsystemen, die in anderen Prozessen ausgeführt werden. Die Robustheit kommt von der Fähigkeit, diese Systeme neu zu starten, sollten sie abstürzen.

Bei einem Klassifizierungsproblem scheint es in gewissem Umfang so zu sein, dass die Klassifizierung getrennt vom Erlang-Subsystem erfolgen könnte. Mit anderen Worten, Sie verwenden den Aufruf erlang:open_port/2, um einen Port für das andere Programm zu öffnen und die Kommunikation mit ihm einzurichten. Der Punkt ist, dass Ihr Programm weiß, ob der Port abstürzt und kann entsprechend auf das Problem reagieren.

Mein begrenztes Wissen über Erlang Bibliotheken und Tools gibt es keine CEP-Tools auf dem Radar. Sind sie schwer zu schreiben?

+1

Danke @IGCA. Im Gegensatz zu Ihrem Anmeldenamen ist die Antwort sehr nützlich. Die Verwendung von Erlang als Klebstoff ist eine gute Idee, und nachdem ich einige Verteilungs/HA-Gerüste verwendet habe, kann ich mich voll und ganz auf diesen Gedankengang beziehen. – icarus74