2014-03-20 2 views
1

Я пытаюсь реализовать алгоритм выбора лидеров в кольцевой топологии из 4 узлов. Я реализую алгоритм LCR. Как я должен продолжить выбор лидера, если предположить, что мой узел 3 опускается.Лидерские выборы LCR

Примечание: - Примечания пронумерованы 1,2,3 и 4. Это однонаправленное кольцо, и каждый узел имеет информацию о ближайшем узле, то есть 1 -> 2, 2 -> 3, 3 -> 4 и 4 -> 1

ответ

2

Если вы действительно хотите иметь только один указатель на следующий узел, вам нужно будет обнаружить на узле 4, что узел 3 не работает. Затем узел 4 должен будет отправить сообщение, указав, что узел 3 не работает. Узел 2 должен после этого действовать и изменить своего преемника как узел 4 вместо узла 3, и кольцо снова будет завершено.

Вы можете определить, жив или мертв узел, отправив небольшие приветственные сообщения, и, когда вы пропустите несколько из них (2 или 3), вы можете предположить, что он не работает.

В вашем примере, когда узел 3 спускается во время выборов, это не имеет значения, поскольку он не является самым высоким ID в любом случае. Но когда мы посмотрим на пример, когда узел 4 умрет, вам также нужно будет остановить выборы и перезапустить его.

Смежные вопросы