分布式树数据结构

时间:2012-11-29 11:02:43

标签: java data-structures tree distributed-computing

在我的项目中,我有点使用发布者/订阅者模式。

我想在我的发布商上有一个树数据结构。每次我修改树中的任何内容(无论是结构更改还是修改节点值),都会将更改集发布给其订阅者。

这些树具有树的本地副本,并在接收到变更集时更改内部结构。连接到发布者时,任何订阅者都应首先要求提供整个树的深层副本。

有人知道现有的java库吗?

欢迎任何提示

1 个答案:

答案 0 :(得分:0)

好的,既然我现在找到了一个“解决方案”,我只会在这里发布一般的想法。

我创建了一个实现java.util.Map接口的类。让我们调用此类DMPublisher<K, V>,而K是键类型,V是地图中值的类型。

还有另一个类也实现了地图界面DMSubscriber<K, V>

发布者类开始侦听套接字,直到它被显式关闭。订户在创建时连接到此套接字。

发布者类具有用作缓存的真实哈希映射的属性。对于发布者上的每个操作方法,相应地更改缓存中的相应项。现在通过上面提到的套接字将更新发送给所有订户。

除了地图界面之外,订阅者还可以使用观察者模式监听器来附加。现在,从套接字接收的所有更新都将分发给所有这些侦听器。

在连接时,发布者将当前保存在缓存中的所有数据发送给其订阅者,以便具有一致的状态。

两个类都是同步的,以支持多线程。

如果有人对源代码感兴趣,请随时与我联系。

相关问题