Jan*_*szO 7 rest synchronization offline-mode
我有一个混合应用程序,可以在 Android 上通过浏览器使用。两个客户端都使用 REST API 和 websockets。数据存储在localStorage中。我希望移动设备能够修改离线资源,并在连接到互联网后将数据与API同步。
如何在连接互联网后进行这样的数据比较并得到正确的版本?
根据您对应用程序的期望,您可能希望实现一个能够处理多个笔记列表的适当同步机制。
简单的方法:根据更新日期,您可以比较版本日期并确定最后写入的内容获胜。
困难的方法:我建议您看看CRDT。这些类型的数据结构确保状态最终一致,使其非常适合您的需求。存在许多实现,这取决于您的工具链,例如Logux为 javascript 提供了一些 CRDT。
您还可以依赖数据库来进行数据同步和冲突解决,例如 https://couchdb.apache.org//https://pouchdb.com/。https://riak.com/products/riak-kv/riak-distributed-data-types/index.html?p=10947.html 还提供 CRDT 支持。
如果您想深入研究合并文本数据,我建议您查看Google 为其文档应用程序开发的Diff-Match-Patch算法,有许多端口可用。
请注意,为应用程序实现真正的离线和同步功能绝非易事。
| 归档时间: |
|
| 查看次数: |
5240 次 |
| 最近记录: |