問題タブ [drools-fusion]
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.
java - Drools ルール言語: クラス フィールドでの奇妙な動作
私は最近、drools ルールの奇妙な動作に気付きました。クラス HeartRate があり、次のフィールドがあります。
私のルールファイルは次のとおりです。
heartRate
フィールドを次のように変更したいのですがheartrate
、ルールのフィールド名も変更して、新しいルールが次のようになるようにします。
しかし、これによりエラーが発生します。つまり、よだれがフィールドを解決できないというエラーが発生しますheartrate
。しかし、ルールを元に戻すと、そのheartRate
ようなフィールドはもう存在しませんが、イベントが機能します。次のエラーが表示されます。
java - Drools Fusion: パフォーマンスの測定
ルールの数とルールの複雑さに基づいて、drools のパフォーマンスを測定したいと考えています。したがって、イベントの処理にかかる時間を測定する必要があります。次のような簡単なテストを書きたいと思います。
私が直面している問題は、必要なだけイベントを挿入でき、後で drools がそれらを処理するため、これが機能しないことです。したがって、この部分のタイミングは常に 1 秒未満です。だから私の質問はlong stop = System.currentTimeMillis()
、すべてのイベントが処理された後にどのように呼び出すことができますか?
java - Drools fusion: ルールを自動的に生成
私は drools fusion を使用しており、実装されたルールの数に基づいてこの cep システムのパフォーマンスをテストしたいと考えています。これで、拡張子が .drl の単純なルール ファイルが作成されました。約 1000 のルールを動的に生成したいと考えています。では、.drl ファイルに 1 つずつ作成することなく、これを自動的に行うにはどうすればよいでしょうか?
java - Drools Fusion 複数のストリームと疑似クロック
私は現在、Drools Fusion を使用して XML ファイルの複数のストリームからのイベントを処理することを含む修士論文に取り組んでいます (そのため、各ファイルをストリームとして「再生」しています)。これらのファイルは、プレーヤーに取り付けられた GPS センサーを使用してサッカーの試合が行われ、加速度と速度、およびプレーヤーの負荷などを監視するものです。
各 XML ファイルには、次のように ID、開始時刻、終了時刻、およびコードを示すイベントのインスタンスが含まれています。
これらのファイルは 9 つあり、これらはすべて同時に処理する必要があり、これらのイベントをエンジンに同時にフィードします。私の現在の実装は、これらのイベントをストリームにフィードするための JAXB アンマーシャラーですが、同時にそれを行う方法がわかりません (つまり、ストリームごとに最初のイベントをフィードし、次にストリームごとに 2 番目のイベントをフィードするなど)。実装のその部分にスレッドを使用することを検討していましたが、これを行うのに役立つ Drools で見逃した別のツールでない限りです。しかし、かなり徹底的に検索しましたが、複数のストリームを同時に処理する包括的な例はありません。
もう 1 つの質問は、疑似時計に関するものです。イベントが異なる時間に発生するこれらの 9 つの異なるストリームがあるため、各ストリームの各イベントが異なる時間に発生するため、挿入ごとに時間を進めることができません。したがって、これらのイベントは整列しません。これらすべてのストリームの開始時刻は同じです。たとえば、XML にインスタンス 1 が 1.51 の期間で発生し、別のストリームからの別のイベントが期間 .51 であるとします。言う。4 秒で、これらのイベントの両方を進めるとしたら、それらは互いに同期しなくなります。
ただし、時間関連のデータはすべて各ストリームに存在します。キックオフ時間は 19:02:31 で、各イベントには、キックオフから「終了」タイムスタンプまでの秒単位のタイムスタンプがストリームにあり、各イベントの期間は (終了タイムスタンプ - 開始タイムスタンプ) です。これらのストリームで行う必要がある処理には、これらの加速イベントを取得し、2 人以上のプレーヤーがほぼ同じ持続時間/時間間隔で同じ速度で加速するたびに、それらを他のストリームと関連付けることが含まれます。
誰かが私に指針や援助を与えることができますか? 要約すると、ストリームをエンジンに同時に挿入するより良い方法を知る必要があり、実装/処理に疑似クロックが必要かどうかを知る必要があります。私はプログラミングの初心者なので、システムを動かしたいだけです。
どうもありがとう!
スチュ。
drools - Drools ルールのパフォーマンスを改善する方法
xsl ファイルから生成するルール ファイルが 50 個ほどあります。各 drl ファイルには、それぞれ約 500 のルールがあります。各ルールは、特定の文字列を含む、開始または終了する文字列を検索するようなものです。現在、すべてのルールがロードされているナレッジベースは 1 つだけです。現在実行中のルールはパフォーマンスに影響を与え、実行時間の大部分を占めています。1 秒あたり数千のリクエストがサービスにヒットし、わずかなパフォーマンスの改善が私たちに利益をもたらします。パフォーマンスを向上させる方法はありますか。私が考えていた 1 つの方法は、一連のルールごとに異なる knowledgeBase を作成し、それらを呼び出すことでした。これは正しい方法ですか、それともルールを最適化するための他の最善の方法はありますか?
ルールの例:
前もって感謝します