服务器<->设备之间的数据同步框架/算法?

8
我希望实现服务器和分布式客户端之间的数据同步。服务器上的数据源是带有Django的MySQL。客户端可以不同。更新可能在客户端或服务器上进行,并且服务器和客户端之间的连接不可靠(例如,可以在断开的手机上进行更改,应在手机再次连接时进行同步)。
S.Lott在此问题中建议使用版本控制设计模式,这很有道理。我想知道是否有任何现有的包/实现可供使用。或者,我应该直接使用svn/git等?
还有其他选择吗?一定有同步框架或详细的算法描述,但我没有找到太多。如果您能指点我方向,我将不胜感激。
2个回答

1

也许使用老式的rsync就足够了。


1

据我所知,由于同步的多样化要求,目前还没有通用的解决方案。

在我们早期的项目中,我们实现了一个基于Spring batching的同步机制,该机制依赖于每个参与同步的表格上的最后更新时间戳字段。

我听说过SyncML,但对此并没有太多经验。

如果您有一个服务器和多个客户端,可以考虑使用基于JMS的方法。数据被捆绑并放置在队列(或主题)中,并将被客户端拉取。

在您的情况下,由于更新是双向的,您还需要处理冲突检测,这会带来额外的复杂性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接