2011-12-01 49 views
3

任何人都可以建议我可以在iPhone中使用的最佳框架,方法,库(在开发中使用,而不是一个准备好的应用程序),以实现文件服务器和iPhone上的本地存储区之间的同步?iPhone和服务器之间的文件同步

回答

2

我正在为我的一个应用程序执行此操作,而且我已经实现了该操作,它使用的是Sinatra Web服务器,与MongoDB数据库交谈。您可以使用任何其他数据库和Web服务器技术。

的基本概念是这样的:

  1. 每次在数据库中更新了对象时,时间戳记录该对象。
  2. 全局更新的时间戳记也会更新。
  3. 该应用程序联系网络服务器并要求更新,传递本地存储的“上次更新”时间戳。
  4. Web服务器通过首先检查全局时间戳并确保它比应用程序的时间戳更早来处理请求。 (这是为了避免在数据库没有更改时冲刷数据库,我的模型是:大数据不会频繁更改,如果数据频繁更改,则可能没有对全局时间戳的好处。)
  5. Web服务器然后查找数据库中时间戳比应用程序时间戳更新的每个对象。
  6. Web服务器将其封装在JSON对象中,并将其返回给应用程序。

这是所有的RESTful在这个意义上,它是一个无状态的交易,所以应用程序的实现很简单(简单的NSURLRequest,其次是JSON解码,然后错误处理)。现在你有一个更新对象的数组,你可以将它们与本地存储在应用程序中合并。

这个(无状态)方法的另一个好处是你可以在Heroku上运行它(免费)。

1

从我可以告诉,有没有简单的方法。我正在寻找一个rsync等价物,但我没有找到一个。

在我的情况下,我手动行走树,询问服务器在某个日期后的差异,我记得上次成功的同步日期。

不漂亮。可能会花很多时间想出一些复杂的东西。

+0

我也希望像rsync这样的东西。 – Cninroh

+2

然后试试这个 - http://stackoverflow.com/questions/5035132/how-to-sync-iphone-core-data-with-web-server-and-then-push-to-other-devices –

+0

Srikar的链接另一篇文章非常有帮助。 – Flea

相关问题