前置情况
有一个中央服务器持续发送自身数据。需要通过配置一台设备主席节点来代理数据减少中央服务的压力,以及减少新设备接入的配置任务。
逻辑
- 任意设备成功获取到初始信息后向,处理该数据(包括附带上当前设备ip和其他处理),完成后携带数据向下方ip发送该信息,直到有下方设备收到消息。如:
19->20(x)->21(x)->22(x)->23(o,停止) 23->24(x)->25(x)->26(o,停止) - 接到上方ip送来的信息必须向下传递(保证初次选举结束后头部ip节点为主席)
- 收到下级ip送来的消息表示整个网络节点已经完成了一个消息回环,表示自身是老大(主席),并向下通知该消息。
- 收到与本身ip同名的ip令牌消息,说明令牌回环完成,正式成为主席设备,回收令牌,开始广播。
- 长时间未收到主席设备的广播消息——>猜测主席设备死亡——>重新选举。
优化逻辑:主席接收到消息后,可以根据回传的消息判定下一级设备为副主席并通知其他设备。当主席机死亡后,副主席机接替地位。当副主席和主席同时死亡才开启新的选举(减少非稳定设备情况下,选举的次数导致的网络压力)


Comments | NOTHING