iPad/iPhone应用程序之间的云同步

ind*_*gie 7 cloud iphone synchronization dropbox ipad

我有一个核心数据应用程序,最终将成为iPhone/iPad通用应用程序.

我想实现云同步,以便运行应用程序的iPhone和iPad可以共享数据.我打算使用最近发布的Dropbox API.有没有人对最佳方法有什么想法呢?Dropbox API允许应用程序在云上存储文件.我想的是原始存储云上应用程序的数据库(sqlite),然后下载该数据库,但我意识到使用该方法会使合并更改(而不是替换整个数据库)变得非常困难.

任何想法都表示赞赏.谢谢.

ape*_*arr 5

如果你能摆脱它,做同步(迄今为止)最简单的方法是有3个本地数据的副本:您上次上传("旧")的复印件,由局部变化所产生的副本("雷")现在从服务器下载的副本("他们的").

然后,对所有三个文件中的所有记录进行排序,并逐个遍历:

  • 如果老= =我的,使用他们的
  • 否则,如果他们= =他们的,请使用我的
  • 否则你就会发生冲突; 做一些事情(例如,总是使用我的,也就是"最后的作家赢")

请注意,"我的"或"他们的"或"旧的"可能不存在.上述规则仍适用于该情况; 如果您选择的结果是"不存在",那么您将要删除输出文件中的记录.

最后,将生成的文件上传回服务器,以便它成为下一个人的"他们的"数据库.然后将新文件复制到本地"旧"和"我的"数据库.

(有比以上更节省空间的算法...但是没有任何更简单的算法:)现在磁盘空间非常便宜,特别是如果你压缩文件.)