iPhone和服务器之间的文件同步

时间:2011-12-01 16:25:48

标签: iphone ios frameworks sync

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

2 个答案:

答案 0 :(得分:2)

我正在为我的一个应用程序执行此操作,并且我实现它的方式是使用Ruby& Sinatra网络服务器,与MongoDB数据库交谈。您可以使用任何其他数据库和Web服务器技术。

基本概念是:

  1. 每次更新数据库中的对象时,都会记录该对象的时间戳。
  2. 全局的上次更新时间戳也会更新。
  3. 该应用与网络服务器联系并要求更新,并传递本地存储的“上次更新”时间戳。
  4. 网络服务器通过首先检查全局时间戳并确保它早于应用程序的时间戳来处理请求。 (这样可以避免在没有对数据库进行任何更改的情况下搜索数据库。我的模型是:不经常更改的大数据。如果您的数据经常更改,那么这个全局时间戳可能没什么好处。)
  5. 然后,网络服务器会查找数据库中每个对象的时间戳都比应用程序的时间戳更新。
  6. 网络服务器将其打包在JSON对象中,并将其返回给应用程序。
  7. 这是所有RESTful,因为它是无状态事务,因此应用程序的实现非常简单(一个简单的NSURLRequest,然后是JSON解码,然后是错误处理)。现在您有了一系列更新的对象,您可以将它们与应用程序中的本地存储器合并。

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

答案 1 :(得分:1)

据我所知,没有简单的方法。我正在寻找一个rsync等价物,但我还没有找到它。

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

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