0

複合イベント処理を使用してアルゴリズム取引アプリケーションを開発しており、CEPプロセッサとしてMicrosoftStreamInsightを検討しています。ただし、StreamInsight内でやりたいことがすべて可能かどうかはわかりません。

特に、戦略を動的に作成して、永続的なクエリとしてサーバーに挿入できるようにする必要があります。たとえば、人物Aは、在庫Xの30日間の平均が特定の値を超えたときに買い注文を出す必要がある戦略を作成します。次に、これをStreamInsightクエリで変換し、実行時にサーバーに配置する必要があります。

StreamInsightクエリでどのような種類のコードを実行できますか?StreamInsightクエリはlinqクエリであるため、実行したいすべての処理がStreamInsightクエリで可能かどうかはわかりません。他のデータソースのデータを使用できますか?クエリでスイッチ、ループ、変数宣言などを使用できますか?それとも、コンパイルされたクエリのように、単一のクエリだけですか?

これはおそらく少し曖昧に聞こえますが、必要に応じてさらに明確にしようと思います。基本的に、私の質問は、StreamInsightクエリをどのくらい複雑にプログラムできるかということです。私が見つけたサンプルは、単純なフィルタリング、グループ化などのみを示しています。

他のCEPサーバーに関する提案も歓迎しますが、私は自分の専門分野である.NET / C#にとどまりたいと思っています。

4

2 に答える 2

1

いくつかの拡張ポイントを使用すると、StreamInsightクエリにカスタムロジックを埋め込むことができます。

  • ユーザー定義の集計と演算子(http://msdn.microsoft.com/en-us/library/ee842720.aspx)を使用すると、ウィンドウのコンテンツに対して任意の計算を実行できます。
  • ユーザー定義関数(http://msdn.microsoft.com/en-us/library/ee378928.aspx)は、「プリミティブ」型(文字列、数値など)に対するカスタムロジックをサポートします。

StreamInsightのアダプターモデル(http://msdn.microsoft.com/en-us/library/ee378877.aspx)を使用すると、リアルタイムか履歴かに関係なく、任意のデータソースに接続できます。

特定の機能を有効にする方法について質問がある場合は、お知らせください。

-コリン

于 2010-10-12T16:54:20.720 に答える
1

StreamInsightサーバーの実行中にクエリを作成して、新しいことを実行できます。StreamInsight APIに慣れたら、それを行うのはそれほど難しくなく、StreamInsightサーバーのローカル(インプロセスでホストしている場合)または管理サービスを使用してリモートで実行できます。Colinが(上記で)述べたように、カスタムコードをクエリに追加して、カスタム評価を実行できます。

于 2011-05-15T20:16:02.917 に答える