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

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

Вопрос

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

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

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

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

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

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

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

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


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

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

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

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

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

 

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

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

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

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


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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

Изменено пользователем 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 эмодзи.

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

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

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


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