我需要在Java中同步两个大的字符串集,一个在客户端上,另一个在服务器上。很可能客户端缺少应该从服务器接收的几个条目。我不想转移所有成员,我想尽量减少服务器上的通信和计算(客户端可能会更加努力)。
除了分而治之外的任何想法?
我不是在询问通信技术或类似的,我只对一个好的算法感兴趣。我认为像version control does这样的东西是最优的,但我恐怕不能这样做。
答案 0 :(得分:3)
您可以为服务器上的集合保留生成计数器以及每代的更改日志。客户端可以请求自上次同步以来的所有更改。然后,它可以集成这些更改,并且(如果适用)发回自上次同步以来任何剩余的客户端更改。
答案 1 :(得分:1)
你可以使用套接字,首先同步所有成员然后使用自定义方法添加和删除本地集中的成员并将数据+指令发送到另一端 你也可以使用jmx active mq