Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Клиент, Сервер или и Клиент и Сервер? / 7 сообщений из 7, страница 1 из 1
15.06.2012, 17:41
    #37840121
Впервые
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент, Сервер или и Клиент и Сервер?
Приветствую! Застрял...

Пишу (впервые:) распределенную систему вычислений с выделенным сервером управления.

Имею:
- Сервер имеет скоп Задач и список Машин со спец.клиентом для непосредственного выполнения Задач;
- В зависимости от кол-ва/тяжести Задач Сервер может задействовать все или часть Машин;
- Машины ежесекундно (+/-) шлют Серверу результаты выполнения Задач;
- Машины могут быть выключены, в т.ч. неожиданно (отвалилась сеть), и Сервер должен задействовать другие Машины;
- Сервер может быть выключен и Машины должны продолжать обработку пока Сервер не появится on-line;

Проблема:
Сетевое соединение подразумевает, что одна машина должна быть Сервером (ожидает подключение), другая Клиентом (инициирует подключение), при этом мне нужно, чтобы TCP-соединение у Сервера было только с задействованными Машинами и чтобы Сервер в любой момент мог установить это соединение, а значит мои Машины должны быть "Серверами" (ожидают подключения), а мой Сервер должен быть для Машин "Клиентом" (инициирует подключение).

Ступор/вопрос:
1) Как выглядит ситуация, когда море Машин по сети выступают в качестве серверов, а Сервер является одним клиентом для них? Чем это чревато? Как-то это всё не укладывается в моей голове...
2) Еще хотелось бы и на Сервере иметь Сервер, которому Машины могли бы слать UDP-сообщение "I'm on-line", чтобы Сервер в случае появления необходимости в Машинах в первую очередь пытался приконнектиться именно к таким Машинам, но тогда вообще и Сервер и Машины будут и Серверами и Клиентами одновременно..

Выскажитесь по теме плз.
...
Рейтинг: 0 / 0
15.06.2012, 18:19
    #37840192
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент, Сервер или и Клиент и Сервер?
Впервыетогда вообще и Сервер и Машины будут и Серверами и Клиентами одновременно..
Нормальная ситуация... что тебя смущает?
...
Рейтинг: 0 / 0
15.06.2012, 18:51
    #37840235
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент, Сервер или и Клиент и Сервер?
Зависит от того, какая сеть. Если собственная - пусть каждый комп будет и клиентом, и сервером, всё в плюс. Если сервер предполагается торчащим в интернете, то лучше бы таки "машины" стучались к "серверу" и никак иначе.
...
Рейтинг: 0 / 0
16.06.2012, 00:18
    #37840530
asws
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент, Сервер или и Клиент и Сервер?
Впервые,

Сервер выполняет функции распределения прав доступа, хранения общих данных, и все?
То-есть у вас обработка данных на клиентах?
Если так, то знакомая ситуация, могу привести ссылку по одному из вариантов решения таких задач.
...
Рейтинг: 0 / 0
18.06.2012, 10:17
    #37842251
Впервые
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент, Сервер или и Клиент и Сервер?
AkinaНормальная ситуация... что тебя смущает?Отсутствие теории и практики в распределенных системах, маленькая практика в сетевых приложениях и нежелание потом все переделывать с нуля из-за какой-то архитектурной ошибки.. как-то так)

softwarerЗависит от того, какая сеть.Сеть частная приватная и трафик будет шифроваться, так что должно быть все норм.

aswsТо-есть у вас обработка данных на клиентах?
Если так, то знакомая ситуация, могу привести ссылку по одному из вариантов решения таких задач.Да, примерно так и есть. Было бы здорово посмотреть на этот самый вариант)


P.S. "Раскурил" TCPшную RFCшку и доки по NETовской обертке к TCP, понял что 1) с сетевыми делами у меня вообще всё плохо и 2) TCP-сокет может с двух сторон находиться в режиме "Ожидание подключения" и с двух сторон же его инициировать, т.е. в моем случае на уровне сетевого взаимодействия обе стороны могут быть "серверами" и "клиентами" в моем исходном вопросе одновременно.

Спасибо за ответы!)
...
Рейтинг: 0 / 0
18.06.2012, 10:32
    #37842275
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент, Сервер или и Клиент и Сервер?
ВпервыеAkinaНормальная ситуация... что тебя смущает?Отсутствие теории и практики
Посмотрите на старый добрый FTP в активном режиме... всё то же, только функционал другой.
...
Рейтинг: 0 / 0
19.06.2012, 00:03
    #37843426
asws
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент, Сервер или и Клиент и Сервер?
Впервые,

Старой ссылки не смог найти, это было несколько лет назад.
Тогда скажу как сам делал, вкратце. Уже не помню, давно было, возможно не совсем точно расскажу.
Делал для одной организаций - магазинов 5 (не ларьки!))), сантехника, линолеум там - объем данных поэтому был небольшой.

Только я использовал HTTP-соединение (80 порт, через виндовсный XMLHTTPRequest или сокеты через WinApi), а сервер - обычный, с APACE+PHP+MySQL
На клиенте проги написанные на MS Visual FoxPro (лицензия у меня есть на последнюю версию - купил еще в 2005 г.).

Одна машина была действительно главной, но это был тоже обычный клиент, только программа там стояла с доп. функциями администрирования.

Сервер только хранил данные и права доступа (не зная даже что за инфу хранит - пароль совпал - данные отданы/приняты согласно правам, указанным в администраторских таблицах).
У каждого клиента - свои диапазон ID для добавляемых записей, удаленные записи физически не удалялись, а устанавливалось служебное поле в строках таблиц - чтобы остальные клиенты видели, что запись была удалена.
Клиент с администраторской программой мог "восстановить" или почистить эти поля - так сказать физически удалить такие "удаленные записи".

Вся обработка велась на клиенте (остатки, долгги, отчеты и т.д.), согласно расчетному периоду, который тоже задавался с админ-программы.
Если сервер подключен и виден - каждое изменение немедленно отправлялось с клиента,
и соответственно сервер передавал измененные записи для конкретного клиента, ориентируясь на дату-время последней успешной сессии с каждым клиентом.
Если сервер недоступен - клиент продолжает работать, только измененные/добавленные/удаленные записи помечались как измененные в служ. поле.
На сервер отправляется и читается только измененная инфа (помеченные поля с момента последней удачной связи), а не все сразу.

Для каждого клиента устанавливались права - что он может видеть, и что он может менять (менять как правило только свои данные - приходы/расходы/оплаты/комплектацию/производство и т.д.)
Так как рабочие места были как в магазинах, так и в тех.помещениях.
Наименование продукции и отпускные цены задавались с админ.компьютера, закупочные разумеется никто не видел, кроме админа, и т.д.

Да, еще перед отправкой на сервер цены умножались на 100, а количество на 1000, чтобы на сервере использовать обычный тип данных INTEGER и не париться - все равно сервер сам ничего не считал...
При чтении с сервера, соответственно, делились.
С админ-машины можно было делать полный архив данных, и отправлять его на сервер (использовал бесплатный 7zip).
Клиенты могли прочитать все данные одним архивом (за квартал скажем - не так уж и много).

Ну примерно так.
Только при такой организации пришлось все делать самому (велосипед), готовых решений не нашел...
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Клиент, Сервер или и Клиент и Сервер? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]