用于维护多个服务器的状态信息的有效数据结构

时间:2015-08-05 18:06:48

标签: java algorithm data-structures server state

我有一个小项目,要求我掌握项目中所有活动服务器的状态知识。

类比: - 只要一对人离开酒店的桌子,新的就会随时准备占据这些。

但是,我的情况有所不同。我想跟踪所有活动的服务器。比如说,如果服务器A,B,C,...,Z都是活动的并且正在响应中央服务器。现在,比方说,如果C,P,X和Z失去了电源并关闭,那么我的数据结构应该存储A,B,D,。,O,Q,...,W,Y。并且,如果那些线程服务器区域在活动状态下恢复,那么很容易将这些服务器放入它们生命的方式,即它们正在被恢复。

因此,我应该在哪个数据结构(Java)中保留此记录,以便容易插入和删除周期状态,并且尽可能地降低复杂性。此外,如果引用了Java / Java类(Oracle),那么它将受到欢迎和赞赏。

2 个答案:

答案 0 :(得分:1)

假设服务器的排序无关紧要,Set可以正常工作。想知道服务器是否在线? Set.contains()想要添加即将上线的服务器吗? Set.add()想要删除脱机的服务器吗? Set.remove()

答案 1 :(得分:0)

为什么不使用一个数组,给每个服务器一个唯一的ID,从0到count-1

int NUM_OF_SERVERS = 32;
Server[] servers = new Server[NUM_OF_SERVERS];
...
// server alive
servers[aliveServer.Id] = aliveServer;
...
// server dead
servers[deadServer.Id] = null;
...
// modify server
servers[serverId].property = something;