Как отправить код (в данном случае класс) на сервер / программу и получить вывод - PullRequest
5 голосов
/ 17 февраля 2011

Вот ситуация:

У меня огромный набор данных, к которому мне нужен быстрый доступ.Это набор финансовых данных, поэтому в основном он настроен так, что в каждый момент времени у вас есть данные о тысячах акций.Теперь загрузка этих данных в программу занимает некоторое время (20-40 секунд), и я хотел бы избежать необходимости делать это каждый раз, когда я делаю изменения в коде.

По сути, у меня была идея, и я хочу знать, имеет ли она смысл / является ли она оптимальной.Я думал о настройке какого-то сервера, который бы загружал все данные и все определения объектов, а затем из второй программы / клиента я хотел бы отправить на сервер предопределенный тип класса (класс стратегии),Пусть сервер запустит код, а затем сервер отправит мне результаты теста.

Я создаю торговые стратегии в этом случае, поэтому у меня есть абстрактный класс, который определяет, что нужно "стратегии".У меня есть симулятор рынка, который вызывает производную «стратегию» каждый раз, когда меняется дата, затем стратегия покупает или продает акции, а затем сохраняет прибыль от стратегии в каком-то объекте результата.Поэтому я хочу иметь возможность кодировать часть стратегии, отправлять ее и получать часть результата.Я хочу избежать загрузки всех данных каждый раз, когда я изменяю параметры или необработанный код в своем объекте стратегии.

Я надеюсь, что это имеет смысл для кого-то, и мне жаль, если это не очень ясно.Пожалуйста, дайте мне знать, если это возможно, а затем, как бы я пошел в поисках Google для этого?Я даже не знаю, что искать здесь.

Ответы [ 2 ]

4 голосов
/ 17 февраля 2011

Я бы определил интерфейс, который сервер будет использовать для вызова ваших стратегий, а затем реализую каждую стратегию в отдельной сборке.

Затем сервер будет загружать каждую сборку в отдельный домен приложений и выполнять ее там.Это даст процессу сервера некоторую защиту от ошибок в реализации стратегии, но, что более важно, позволит выгрузить сборку.

0 голосов
/ 17 февраля 2011

Это звучит как потенциальный кошмар безопасности, но если это то, что вы хотите ...

Рассмотрите возможность отправки сериализованного рабочего процесса на сервер для выполнения. Это просто блок XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...