Перейти к содержимому
  • 0
midikko

Одностороннее подключение в OC

Вопрос

Есть какой то способ сделать в OC одностороннее подключение?

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

В частности работаю с шинами экспорта \ импорта в МЭ, настраиваю их из кода. И для этого нужно иметь запись в бд, ибо там сигнатура у метода буквально следующая.

setExportConfiguration(side:number, database:address, entry:number)

т.е. этой шине назначить на экспорт предмет лежащий в бд там то и там то.

и вот было бы круто заиметь некоторую общую бд, к которой был бы доступ у всех желающих ПК, но что бы при этом их подсети не пересекались.

Изменено пользователем midikko

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

Есть конечно мысль сделать некоторый микроконтроллер, к которому будут отправлять запросы на подключение. и он будет отрабатывать в духе

пк отправляет запрос на подключение, и повисает в event.pull в ожидании разрешения, микроконтроллер получает запрос на подключение, если сейчас никто с бд не работает - переключает нужный netwokSplitter и отправляет ответ мол доступ разрешен, иначе ставит запрос в очередь. пк получает ответ с разрешением доступа, делает что то с БД, что ему нужно, и отправляет микроконтроллеру ответ мол работа завершена, закрывай подключение, и микроконтроллер размыкает подключение на нужном network splitter'е. В таком раскладе к БД всегда подключен ровно один пользователь и сети не пересекаются.

звучит конечно весело и должно работать, но вроде как оверинжиниринг :D

Изменено пользователем midikko

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
27 минут назад, midikko сказал:

есть некоторое устройство, к которому хочется что бы был доступ у нескольких компов, но что бы при этом все они видели только себя, и устройство, но не друг друга

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
38 минут назад, eu_tomat сказал:

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

Речь как раз о периферии. Если коротко, то у меня есть n (в сумме в них больше 10 серверов точно) стоек серверных, каждый сервер в стойке имеет под собой кучу периферии в виде адаптеров \ транспозеров. Все сервера в стойке выводят свою сетевую карту на одну сторону, эти стороны соединены в общую сетку и таким образом сервера общаются между собой. т.е. периферия каждого сервера изолирована от остальных. 

Но хочется иметь для всех них общую БД, к которой бы могли стучаться все, но что бы прочая периферия оставалась изолированной.

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

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

Изменено пользователем midikko

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, midikko сказал:

Я думал может есть какой то чудесный блок, который разрешает one-way подключение, о котором я не знаю.

В моде OpenComputers нет таких однонаправленных блоков.

 

9 минут назад, midikko сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, eu_tomat сказал:

В моде OpenComputers нет таких однонаправленных блоков.

 

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

 

Ну +- что то подобное я и думал делать, но была надежда что не придется, и есть решение для бд в духе как к рейду подключаются компьютеры, не объединяясь при этом в сеть. 

Грусть печаль, видимо пойду добавлять себе в туду лист новую доработку)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, midikko сказал:

Ну +- что то подобное я и думал делать, но была надежда что не придется, и есть решение для бд в духе как к рейду подключаются компьютеры, не объединяясь при этом в сеть. 

А каким образом можно подключиться к рейду, при этом избежав объединения компьютеров в сеть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, eu_tomat сказал:

А каким образом можно подключиться к рейду, при этом избежав объединения компьютеров в сеть?

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

Изменено пользователем midikko

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
14 часа назад, midikko сказал:

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

А в какой версии мода тестил? Я такого поведения при подключении компьютеров к RAID не смог припомнить. Вроде как никогда не было отличий поведения RAID от других компонентов. В описанной тобой схеме компы должны объединиться в одну сеть и видеть периферию друг друга.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, eu_tomat сказал:

А в какой версии мода тестил? Я такого поведения при подключении компьютеров к RAID не смог припомнить. Вроде как никогда не было отличий поведения RAID от других компонентов. В описанной тобой схеме компы должны объединиться в одну сеть и видеть периферию друг друга.

Да, сейчас пересобрал еще раз тестовый стенд и проверил, ты прав, все сваливается в единую кучу. Видимо когда тестировал в первый раз, где то запутался в сторонах серверных стоек. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для связи можно использовать модем (проводной/без проводной). В ответе от бд добавлять имя/адрес отправителя запроса, либо отправлять сообщение на предложенный в запросе порт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 19.10.2022 в 15:43, Taoshi сказал:

Для связи можно использовать модем (проводной/без проводной)

Там вроде не программа-БД, а компонент-база данных, который должен быть подключен к тому же компьютеру, что и контроллер МЭ-сети.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...