gpt4 book ai didi

java - 保持远程对象更新

转载 作者:可可西里 更新时间:2023-11-01 02:33:08 24 4
gpt4 key购买 nike

有两个对象AB,属于同一类(例如 HashMaps)。

在通过互联网连接的不同计算机上

一个 (A) 是来源,另一个 (B) 只是更新的副本...

是否有一种标准/推荐的方式让它们保持“连接”或“更新”?

示例

我正在使用 TCP 连接和 writeObject

ObjectOutputStream bufferObj = new ObjectOutputStream (out);

bufferObj.writeObject(A)

在副本方面是这样的

ObjectInputStream bufferObj = new ObjectInputStream(in);

Object B = bufferObj.readObject();

但这有一个问题,即每次同步都会发送整个对象(例如定期或每次修改发生时)

我想要一种只发送差异的方法(对 Java 集合特别有用),但至少知道差异不是一件容易的事

我想要这样的东西(过于简单/乐观的方案)

在服务器源

ObjectA.serverUpdatesWarehouseAt(Port);

在客户端复制

ObjectTemp.updateItRemotelyFrom(IP,Port);

ObjectB.merge(ObjectTemp); //update the differences adding/deleting as needed

这样的东西已经做好了吗?所以我在这里,试图避免重新发明轮子

感谢阅读

最佳答案

听起来您可能会受益于分布式 HashMap (http://en.wikipedia.org/wiki/Distributed_hash_table)。

有很多框架提供这样的功能 - http://code.google.com/p/hazelcast/就是一个例子。

冒着陈述显而易见的风险 - 如果您的更新率很高,您可能会耗尽大量带宽来保持两者同步。

关于java - 保持远程对象更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6266051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com