Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фреймворк распределенного приложения 
:(
    Опции темы
xvr
Дата 29.1.2013, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(drug007 @  29.1.2013,  14:47 Найти цитируемый пост)
я планирую (опять же в начале) просто выставлять на экспорт все переменные с возможностью ограничения в дальнейшем.

Ну экспортироваться будут все перменные, это понятно. А вот какие переменные импортировать и откуда - вот в чем вопрос  smile 

Цитата(drug007 @  29.1.2013,  14:47 Найти цитируемый пост)
Да, должны будут.

Не факт, сильно зависит от предметной области. Мы о ней пока ничего не знаем, может поделитесь сокровенными знаниями (если не секрет) ?

PM MAIL   Вверх
drug007
Дата 29.1.2013, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(xvr @  29.1.2013,  15:56 Найти цитируемый пост)
Ну экспортироваться будут все перменные, это понятно. А вот какие переменные импортировать и откуда - вот в чем вопрос   

Ух как далеко заходим... smile Что и откуда импортировать - это вопрос уже к пользователю фреймворка. Пока я хочу этот вопрос (временно) закрыть путем явного импортирования всех данных, причем импорт происходит не по желанию потребителя/клиента, а по мнению производителя/сервера - это позволит потом накладывать ограничения на выдаваемые данные. Т.е. клиент подписывается на все, а сервер ему это "все" выдает с учетом своего мнения, что на самом деле нужно выдавать.

Цитата(xvr @  29.1.2013,  15:56 Найти цитируемый пост)
Не факт, сильно зависит от предметной области. Мы о ней пока ничего не знаем, может поделитесь сокровенными знаниями (если не секрет) ?

Подробно пока не могу. А без деталей - это система географически распределенных датчиков и исполнительных устройств, которые могут действовать самостоятельно, но в системе их эффективность (иногда значительно) повышается. При этом система подвергается неблагоприятным внешним воздействиям как естественного, так и искусственного характера.
PM MAIL   Вверх
xvr
Дата 29.1.2013, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(drug007 @  29.1.2013,  16:22 Найти цитируемый пост)
Пока я хочу этот вопрос (временно) закрыть путем явного импортирования всех данных, причем импорт происходит не по желанию потребителя/клиента, а по мнению производителя/сервера - это позволит потом накладывать ограничения на выдаваемые данные. Т.е. клиент подписывается на все, а сервер ему это "все" выдает с учетом своего мнения, что на самом деле нужно выдавать.

Все импортировать не получится. Для импорта любой переменной в клиенте должен быть инстанс соответствующего объекта (SharedVarRO), а это значит, что максимальное количество импортируемых объектов жестко задается самим клиентом, и не зависит от конфигурации сети

Цитата(drug007 @  29.1.2013,  16:22 Найти цитируемый пост)
 А без деталей - это система географически распределенных датчиков и исполнительных устройств, которые могут действовать самостоятельно, но в системе их эффективность (иногда значительно) повышается. При этом система подвергается неблагоприятным внешним воздействиям как естественного, так и искусственного характера. 

Это слишком общее описание. Под такое может подойди все, что угодно. Набор вручную заданных конфигов на каждом узле это обеспечит, но такое решение совершенно не manageable
 
PM MAIL   Вверх
drug007
Дата 30.1.2013, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(xvr @  29.1.2013,  21:31 Найти цитируемый пост)
Все импортировать не получится. Для импорта любой переменной в клиенте должен быть инстанс соответствующего объекта (SharedVarRO), а это значит, что максимальное количество импортируемых объектов жестко задается самим клиентом, и не зависит от конфигурации сети

Я не совсем корректно выразился - да, клиент определяет что бы он хотел получить путем создание инстансов SharedVarRO, а сервер определяет, что он ему может дать - т.е. возможна ситуация, когда клиент какие-то данные вообще не получит и инстанс SharedVarRO будет возвращаеть null вместо значения. Поскольку приложение специализированные, то количество инстансов будет задаваться на этапе разработки - определение структуры данных в приложении в рантайме вещь интересная, конечно, но это слишком накладно будет. Т.е. задача попроще стоит - на этапе разработки уже известно какие данные и от каких датчиков мы будет получать конкретный узел. Остальные узлы подписываются на показания нужных им датчиков - т.е. опять же на этапе компиляции задаются нужные инстансы. Т.о. получается, что структуру данных всей сети мы определяем в компайлтайме (не совсем уж жестко определяем - точнее сказать очерчиваем границы этой структуры), а уже в рантайме происходит заполнение этой структуры.

Цитата(xvr @  29.1.2013,  21:31 Найти цитируемый пост)
Это слишком общее описание. Под такое может подойди все, что угодно. Набор вручную заданных конфигов на каждом узле это обеспечит, но такое решение совершенно не manageable

Согласен, это не удобно. Но возможны ситуации, когда из-за отсутствия каналов связи сеть будет распадаться на изолированные островки - если завести управление на единый сервер, то один островок останется управляемым, а остальные?

Честно говоря, я всей проблемы полностью еще сам пока не представляю - в реале подобные задачи уже десятки лет решаются обычными АСУ, которые подразумевают жесткую иерархию, и смотря как они решаются (а решаются не очень) и возникла мысль сделать все по другому -  изменить сам подход к решению проблемы. А раз подход новый, то и вопросов куча у самого.
PM MAIL   Вверх
xvr
Дата 30.1.2013, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(drug007 @  30.1.2013,  07:43 Найти цитируемый пост)
 Т.о. получается, что структуру данных всей сети мы определяем в компайлтайме (не совсем уж жестко определяем - точнее сказать очерчиваем границы этой структуры), а уже в рантайме происходит заполнение этой структуры.

Угу

Цитата(drug007 @  30.1.2013,  07:43 Найти цитируемый пост)
Согласен, это не удобно. Но возможны ситуации, когда из-за отсутствия каналов связи сеть будет распадаться на изолированные островки - если завести управление на единый сервер, то один островок останется управляемым, а остальные?

В случае автоматичеси назначаемого сервера (в сегменте сети), в каждом островке образуется по серверу. Остается только предусмотреть средства, что бы эти сервера не передрались когда соединения между островками восстановится
 smile 

В принципе можно начать и с конфигов, и в дальнейшем это развить.

PM MAIL   Вверх
drug007
Дата 30.1.2013, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(xvr @  30.1.2013,  12:26 Найти цитируемый пост)
В случае автоматичеси назначаемого сервера (в сегменте сети), в каждом островке образуется по серверу. Остается только предусмотреть средства, что бы эти сервера не передрались когда соединения между островками восстановится
  

Это было бы классно, но за неимением ресурсов лучше так:
Цитата(xvr @  30.1.2013,  12:26 Найти цитируемый пост)
В принципе можно начать и с конфигов, и в дальнейшем это развить.


PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0738 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.