我正在研究AIR应用程序,该应用程序应该可以在线和离线模型中使用。用户可以在离线时执行各种操作,结果将保存在本地数据库中。一旦用户上线,同样需要与全局DB同步。我在谷歌上搜索了一下,似乎Adobe LCDS(生命周期数据服务)是唯一可行的选项。但是,它是一种企业解决方案,而且成本太高。
还有其他任何实现吗?有没有人使用CouchDB进行在线/离线同步?
谢谢和问候, Kapil Kaushik
答案 0 :(得分:0)
如果仅在Air应用程序中与服务器进行数据库同步,则对您使用的后端技术没有任何要求。 LCDS使它更简单,但它不是你唯一的选择。哎呀,你可以使用普通的PHP脚本为你做同步。
这一切的难点在于你需要弄清楚你的同步算法,这样你就不会丢失任何信息。通常我所做的是当应用程序再次联机时,它会在离线时向服务器发送已修改/创建的所有信息(在修改时加上时间戳),然后服务器有一个算法检查是否离线信息比之前做的更新(或根据您的情况做一些其他业务规则)。当服务器决定哪些数据是好的时,它会将更新的数据发送到客户端并有效地同步所有数据。
这可以通过正常的HTTP请求,轮询或推送来完成。