問題タブ [complex-event-processing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
architecture - Valve は Team Fortress 2 でリアルタイム アチーブメント エンジンをどのように構築しましたか?
Steam で Team Fortress 2 をプレイしているときに気付いた実績の複雑さは驚くべきものです。
アチーブメント エンジンをどのように設計したかを説明するリソースはありますか? 実績の基準との一致を検出するために、同時にリアルタイムで処理する必要がある多くのデータがあります。「複雑なイベント処理」などのなじみのある概念を使用しているとは思いません。
drools - CEP が必要か (システム状態とイベントの再生)
CEP エンジンを探していますが、要件を満たすエンジンがあるかどうかわかりません。私のシステムは、イベント データの複数のストリームを処理し、複雑なイベントを生成する必要があります。これは、ほぼすべての CEP エンジン (ESPER、Drools) に完全に適合します。
すべての生のイベントをデータベースに保存し (CEP の部分ではありませんが、これを行います)、ルール (または継続的なクエリなど) を使用して、複雑なイベントに対するカスタム アクションを生成します。しかし、私のルールのいくつかは、過去の出来事に依存しています。たとえば、配偶者が家に出入りするたびにセンサー送信イベントを設定できます。私の車と好きな女性の車の両方が家の近くにある場合、SMS 'Dangerous' を受け取ります。
問題は、イベント処理サービスを再起動すると、システムの状態に関するすべての情報が失われ (妻は家にいますか?)、それを復元するには、不明な期間イベントを再生する必要があることです。システム状態は、生のイベントだけでなく、複雑なイベントにも依存する可能性があります。
過去の複雑なイベントに関するレポートが必要な場合も、同じ問題が発生します。生のイベント データをデータベースに保存しており、生のイベントを再生するこれらの複雑なイベントを生成できますが、それらを再生する正確な期間がわかりません。
同時に、ほとんどのルールでは、システム状態を復元するために、過去から処理されるイベントの数 (または処理されるイベントをロードする期間) を自動的に見つけることができることは明らかです。与えられたアクションが家にいる妻の存在に依存する場合、CEP システムは最後のステータス変更を要求する必要があります。複雑なイベントに関するレポートが要求され、複雑なイベントが前の期間内の平均価格に依存する場合、この期間のすべての価格変更イベントを再生する必要があります。等々...
何か見逃したら?
esper - エスパー - 異議を唱える「ステートメント ファクトリー」を構築する方法は?
Esper エンジンを使用して、多くの文字列 SQL を記述し、クエリを EPStatement オブジェクトに挿入するために多くの文字列アクションを実行していることに気づきました。
より便利な方法でクエリを作成するためのベスト プラクティスは何ですか? 純粋な文字列ではなく、オブジェクトを使用してクエリを作成することはできますか? (EPManagedStatement オブジェクトを使用した人はいますか?)
esper - 異なる JVM で実行されている 2 つの Esper インスタンスの接続 (クライアント/サーバー モード?)
Esper サービスを実行する JVM を実行するホストが 1 つあります。最初の JVM で実行されている esper サービスに接続したい別のホストがあります。
つまり、次のようなことができるようになりたいです。
ドキュメントからこれを行う方法を見つけることができませんが、それはかなり一般的な要件であると考えていました。この種のことは一般的にどのように行われますか?
rule-engine - ルール エンジンと CEP
シナリオ: エンド ユーザーは、システム内で発生する一連のデータ変更イベントに対するアクションを定義したいと考えています。これらのアクションは構成可能である必要があります。以下についていくつか質問があります。
私の最初の質問は、データの変更を監視し、データベース層からイベントを発生させるにはどうすればよいかということです。データベースへのシングルポイントエントリがないため。私が知っている可能な解決策は、DB Triggers、Change Tracking、Change Data Capture です。それらはすべて Pull モデルに基づいているため、本当に良い選択でしょうか?
誰がこれらのイベントを監視する必要がありますか? それらをテーブルのキューに入れ、そこから 1 つずつ選択する必要がありますか?
複合イベント処理の適切な使用例ですか?
アクションの構成可能性は、drools、flexrule などの任意のルール エンジンから直接得られるようです。それは正しいアプローチですか? ルール エンジンが悪い選択であると話しているブログはたくさんあります。
java - EsperIOSocketAdapterを介してイベントを受信できません
ソケットを介してEsperエンジンにイベントを送信しようとしていますが、問題が発生しました。
EsperIOSocketAdapterプロパティを構成し、EsperIOSocketAdapter.start()メソッドが呼び出されると、クライアントをリッスンする新しいデーモンスレッドが開始されますが、ソケットクライアントが実際に接続を試みる前に、親スレッドが終了するとデーモンスレッドが終了します。
私のコードスニペットは次のとおりです。
もう1つの疑問は、コードを介してイベントを送信するために使用したSocketAdapterを使用しないプログラムにあります
EPRuntime.sendEvent(new TestEvent(event));
SocketAdapterを使用している間、sendEvent()を使用する必要があります。そうしないと、イベントが自動的にエンジンにプッシュされます。
java - Esper:イベントの数(特定のパラメーターを含む)がしきい値を超えた場合に注意してください
これの解決策をかなり長い間探しています:
お問い合わせフォームがあります。誰かがそれを介してメールを送信するたびに、ContactEvent(receiver、senderIpAddress)がEsperに発行されます。ここで、特定のIPアドレスが10分間に50を超える連絡先イベントを発行したときにEsperに通知してもらいたいと思います。
以下のコードの構文エラーは、コードの簡略化によるものです
次に、次のように入力します。
最終的には、次のようなイベントリスナーがいます。
これは実際に機能します。私のステートメントリスナーは毎回発行されるので、IPアドレスのメッセージ数が変わるので、それは私が難しいと思うことではありません。(「IPXは過去10分間に43件のメッセージを送信しました」、「IP Xは過去10分間に44件のメッセージを送信しました」、...)「IPXは過去10分間に50件を超えるメッセージを送信しました」というイベントを1つだけ取得したい最後の10分」と別の1つは、それが今その境界を下回ったことを私に告げています。
これを機能させる方法はありますか?
.net - CEPプラットフォームにあるRxに欠けている機能は何ですか?
NEsperやMSStreamInsightなどのCEPプラットフォームにあるRxに欠けている機能は何ですか?
visual-studio - インプロセスホストでのMicrosoftStreamInsightイベントフローデバッガーの使用
Event Flow Debuggerツールを使用して(Windowsサービスバージョンではなく)Visual Studioで実行されているインプロセスStreamInsightホストに接続しようとしましたが、失敗しました。
誰かがこれを経験したことがありますか?私は次のブログ投稿を見ています:
エンドツーエンドのStreamInsightの例: http: //blogs.msdn.com/b/masimms/archive/2010/08/10/building-your-first-end-to-end-streaminsight-application.aspx
インプロセスとスタンドアロンホストの展開モデル:http ://seroter.wordpress.com/2010/06/27/leveraging-and-managing-the-streaminsight-standalone-host/