客户端 - 服务器同步方法[理论]

时间:2010-12-26 21:06:18

标签: php iphone theory sync

我正在构建一个与iOS客户端同步的网络应用程序。我正在努力弄清楚如何进行同步。我想出了以下两个方向:

我有一个相当简单的服务器网络应用程序,其中包含一个项目列表。它们按修改日期排序,因此同步顺序无关紧要。

我正在考虑的一个方向是让客户处理同步。我已经有了一个API,可以让客户端获取数据,并对其执行某些操作,例如更新,添加或删除单个项目。我正在考虑:1)在每次同步时向服务器询问自上次成功同步以来修改的所有项目,并根据服务器返回的内容更新本地记录,以及2)在服务器上构建创建/删除/更新请求的持久队列客户端,并保持它们直到服务器确认。

这种方法的风险在于我基本上要求每一方向另一方发送变更,希望它能够顺利运行,但在某些时候会冒险转移。但这可能会带来更高的带宽效率。

我正在考虑的另一个方向是更传统的模式。我会有一个“同步”过程,其中客户端将其整个列表发送到服务器(或自上次修改同步以来的子集),服务器将更新服务器上的数据(通过保留最后修改的项目来修复冲突,并使用deleted = 1字段保留已删除的项目,并且服务器将返回更新的项目列表(自上次成功同步),然后客户端将用其替换其数据。

思想?

2 个答案:

答案 0 :(得分:0)

CouchApp可以在多个客户端和服务器之间同步。阅读维基以获取更多信息。

答案 1 :(得分:0)

结束方法#2:

  • 跟踪每个项目的修改日期。
  • 删除的标记会使应用隐藏记录。