我正在为Android开发一个PhoneGap应用程序(也适用于iOS)。
该应用将在线/离线。我目前正在使用javascript / jquery在服务器端对WCF JSON服务进行ajax调用。
这是我的同步机制。这是非常特殊的,我需要从数据库表x进行同步,所以我将在服务器端编写一些代码来加载该数据并在服务上公开它。我将在客户端编写一些代码来在服务上调用该方法并将其同步到客户端的数据库中。
确保数据不会发生冲突几乎可以根据需要自行滚动。
只是想知道是否有任何库来同步这样的数据?想想像SQL replcation(但不是SQL复制)。
我可能正在编写这样的大量应用程序,因此通用解决方案将是理想的。
更新:
此问题再次提出。为什么我们有一个HTML5标准,它指定我们可以拥有脱机数据库,并在设备上缓存html页面和javascript,但是我们没有标准的方法来同步数据?
这表明我们希望能够使用我们的应用程序脱机。
当然,在一个简单的应用程序中可能很容易做到,这是我们应该在开始时开发的。
但是我们将要编写的下一个应用程序会更加复杂。
答案 0 :(得分:1)
有人问django类似的问题: Data Synchronization framework / algorithm for server<->device?
这主要取决于您要同步的数据类型以及冲突解决策略。
如果您不必解决冲突,则在重新建立连接时,将在服务器和客户端中使用简单的transactionID和重复丢失的事务。
我过去也做过非常特别的事情,问题不是让每个项目的解决方案过于复杂。
答案 1 :(得分:1)
您是否尝试过persistence.js sync
答案 2 :(得分:1)
我想邀请您看一下开源项目OpenMobster的Sync服务。您可以执行所有类型的同步操作(双向,单向客户端,单向设备,启动等)。除此之外,所有修改都会自动跟踪并与云同步。当网络连接断开时,您可以让您的应用离线。它将跟踪任何更改,并在连接返回时自动在后台与云同步。
目前Android和iOS仅支持本机开发。然而,下一个版本2.2-M8将支持Android上与PhoneGap的端到端集成,2.2-M9将添加iOS。
以下是开源项目的链接:http://openmobster.googlecode.com