Код в запросах StreamInsight - PullRequest
       7

Код в запросах StreamInsight

0 голосов
/ 11 октября 2010

Я занимаюсь разработкой приложения для алгоритмической торговли с использованием сложной обработки событий и изучаю Microsoft StreamInsight в качестве процессора CEP. Однако я не уверен, что все, что я хочу сделать, возможно в StreamInsight.

В частности, мне нужно было бы иметь возможность динамически создавать стратегии, которые затем вставлялись бы в сервер как постоянные запросы. Например, человек А создает стратегию, в которой ордер на покупку должен быть размещен, когда 30-дневное среднее значение запаса Х превышает определенное значение. Затем его необходимо будет преобразовать в запрос StreamInsight и поместить на сервер во время выполнения.

Какой код я могу выполнить в запросе StreamInsight? Я не уверен, что вся обработка, которую я хочу сделать, возможна в запросе StreamInsight, так как это запросы linq. Могу ли я использовать данные из других источников данных? Могу ли я использовать в запросе переключатели, циклы, объявления переменных и т. Д.? Или это всего лишь один запрос, как в случае скомпилированных запросов?

Все это, вероятно, звучит немного нечетко, если потребуется, я попытаюсь уточнить далее. По сути, мой вопрос заключается в том, насколько сложным я могу программировать свои запросы StreamInsight? Примеры, которые я нашел, показывают только простую фильтрацию, группировку и т. Д.

Также приветствуются предложения о других серверах CEP, хотя я бы действительно предпочел остаться в своей области знаний, а именно .NET / C #.

Ответы [ 2 ]

1 голос
/ 16 мая 2011

Вы можете создавать запросы во время работы сервера StreamInsight для выполнения новых задач. Когда вы ознакомитесь с API-интерфейсом StreamInsight, это не так сложно сделать, и его можно сделать локальным по отношению к серверу StreamInsight (если вы используете хостинг в процессе) или удаленно, используя Службу управления. Как сказал Колин (выше), вы можете добавить собственный код в свои запросы для выполнения пользовательских оценок.

1 голос
/ 12 октября 2010

Несколько точек расширяемости позволяют встраивать пользовательскую логику в запрос 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) позволяет подключаться к произвольным источникам данных, независимо от того, являются ли они в режиме реального времени или историческими.

Если у вас есть вопросы о том, как включить определенные функции, сообщите нам об этом!

-Colin

...