Opened 7 years ago

Closed 2 years ago

#276 closed улучшение (не будем делать)

Генератор: исключить возможность выбора второго источника синхронизации для шины

Reported by: san Owned by: alx
Priority: низкий Milestone: 2 очередь
Component: web-интерфейс (sw) Keywords:
Cc: andrei, artem, anatoly, Director, viktam

Description

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

От пользователей часто поступают просьбы исключить возможность таких конфликтов.

Этот вопрос уже поднимался, хочу поднять и обсудить снова более широким кругом.
Предыдущее обсуждение #199

Change History (7)

comment:1 by alx, 7 years ago

Идея очень здравая. Могу рассказать, как была организована синхронизация аппаратуры, которую я разрабатывать в Интеллектронике.

  • Каждому из возможных источников синхронизации (например портам E1) присваивался приоритет от 1 до 200.
  • Режиму "FreeRun" генератора тоже присваивался приоритет.
  • Из всех портов, в которых есть сигнал, и режима FreeRun блок выбирал такой, приоритет которого выше.
  • Выбранный приоритет передавался через линейный тракт соседним блокам, в результате они могли выбрать синхронизацию от линейного тракта, если принятый приоритет был выше чем приоритеты локальных источников. Если для синхронизации выбирался линейный тракт, в этот тракт передавался приоритет синхронизации 0, что исключало выбор этого тракта для синхронизации соседним блоком (исключало петлю).

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

Version 0, edited 7 years ago by alx (next)

comment:2 by andrei, 7 years ago

Это похоже на усложнение. Если люди сейчас не могут настроить правильно, то с приоритетами от 1 до 200 будут креститься глядя в экран. И бояться, как сейчас боятся STP и VLAN ))))

comment:3 by san, 7 years ago

Это похоже на усложнение

Не согласен. В простом случае просто приоритеты по дефолту и всё.

Но, думаю что такую схему мы не сможем применить, как минимум по причине

вопрос о совместимости с ранее существовавшими конфигурациями

comment:4 by alx, 7 years ago

Это не было сложным (по крайней мере, никогда никто на такую сложность не жаловался :) ).

Приведу пример. Допустим, есть линия Пермь2-Кизел из двух десятков станций.

Режимы FreeRun для Пермь2 назначаем 100, следующей станции (Пермь1) - 99, следующей (Балмошная) - 98 и т.д. В результате сеть будет синхронизироваться от одного источника даже без внешних сигналов, на какие бы фрагменты ее не "разорвало".

Далее всем потокам от АТС, откуда можно брать синхронизацию, назначаем приоритет 200. Всем остальным - 1. Все, с этого места сеть уже настроена и работает.

Дальше уже можно думать обо всяких "улучшениях" - например, если пропал поток АТС в Перми, проще (быстрее) переключиться на АТС в Левшино, чем в Кизеле. Поэтому АТС в Кизеле понижаем приоритет, скажем, до 190. И т.д. Но можно об этом и не думать...

Last edited 7 years ago by alx (previous) (diff)

comment:5 by andrei, 7 years ago

При подключении АТС (приоритет 200) к каждому блоку синхронизация блока от АТС будет осуществляться?
В целом для меня пока не очень очевидно, видимо надо схему карандашом нарисовать.

in reply to:  5 comment:6 by alx, 7 years ago

Replying to andrei:

При подключении АТС (приоритет 200) к каждому блоку синхронизация блока от АТС будет осуществляться?

Теоретически блок может быть как от "своей" АТС, так и от соседнего блока, который, в свою очередь, синхронизируется от "его" АТС, и сообщает нашему, что его приоритет синхронизации также 200. Так как все АТС в данном примере заведомо синхронны, оба варианта рабочие.

На практике вероятность выбрать "свою" АТС много больше, так как наличие входного сигнала на своем собственном порту блок увидит быстрее чем получит сообщение от соседа о том, что от соседа тоже можно синхронизироваться...

comment:7 by alx, 2 years ago

Resolution: не будем делать
Status: newclosed

Похоже, ни у кого из участников обсуждения идей нет. Закрываю обсуждение.

Note: See TracTickets for help on using tickets.