我是整个分布式系统世界的新手。我需要帮助来了解如何在此环境中形成集群并确定哪个是 CH(集群标头)。我想使用生成树来选择能量最高的节点作为 CH。选择CH时,其他所有节点应将其信息发送到CH并将其发送到基站(红色节点)。
问题是我不知道算法应该如何。这是我尝试做的一些算法
聚类算法
- 每隔一小时,节点会启动一棵生成树来寻找能量最多的节点
如果收到“搜索”消息的节点:
- 比较每个节点的剩余能量,如果来自发送者的能量低于自身。用它自己的 ID 回复。如果来自发送者的能量高于自身。回复发件人 ID 并将其传递给另一个邻居
- 当一个节点收到它自己的 ID 时,它会成为自己的集群头
- 当其他节点知道簇头已经被选择时,开始向簇头发送信息
环境:
假设这是一个路由器网络
数字是每个节点的能量功率
红色节点是基站。