我正在寻找一种在用户之间同步存储在数据库中的项目的方法
因此,这些用户中的任何人都通过手机进行了任何更改,更改将实时反射(reflect)在数据库中,并与所有与他相关的用户实时同步
实现实时同步的最佳方法是什么?推送通知 ?我在寻找城市飞艇吗?

最佳答案

良好地同步数据通常特定于您的应用程序和数据。这超出了SO问题的范围,但是如果您实现自己的想法,这里有一些想法...

一些有趣的设计要点是:

  • 可靠地获得增量
  • 处理冲突
  • 实时到底有多实时?

  • 为了可靠地获得增量,请注意依赖分布式计算机的日期时间。这篇文章讨论了其中一些挑战和一些替代方案。

    Can I Rely on the iOS Device Clock Being Correct?

    合并新实体很容易,但是如果多个人正在编辑同一个实体,则需要决定如何合并。 对于冲突,您可以按照偏好的顺序(1)自动合并-提供一种算法,该算法可以自动合并内容而无需用户干预,并且理想情况下不会丢失数据(2)依靠用户与界面合并,并且( 3)一种自动合并的形式:最后一次写入获胜。您还可以在其中插入修订版本-这是最后一次写入获胜的一种形式,但修订版本得以保留。如果合适,您还可以在实体的字段级别自动合并。我在上述问题中的帖子涵盖了交织,但这取决于您的数据是什么。

    实时性如何? 偶尔同步连接的设备时,这些设备将变得越来越陈旧,并且需要时间来跟上。考虑将通信模式中的变更设置成批处理以进行优化,但仍不是实时的。在设计中接受这一点-当数据同步时,用户是否看到数据将动画显示到当前 View 中?

    从体系结构上讲,您可能希望通过REST服务或SOAP Web服务将数据公开到云中,因为它们是跨平台的。对于多个设备平台,您可能最终会移植同步算法。您可能希望最好的方法是使用Sqlite之类的东西,以便您可以共享设备的数据库架构代码和sql语句。

    关于android - 手机跨平台实时更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8285418/

    10-11 04:20
    查看更多