我正在努力实现多设备同步工作的后勤工作。
假设我有一个离线网页(通过app-cache)用作地址簿 - 我将如何构建一个强大的多设备同步系统。
我正在考虑以下情况,但它似乎并不健全:
每个设备有2个表:
'synchronized(上次更新时的服务器表副本) - 以及上次更新点的服务器时间戳。
'等待同步' - 该设备上的更改等待与服务器同步。 - 这可以插入,删除和更新项目。
然后当设备连接到服务器时: -
将所有更改上传到服务器(通过迷你API)并从“等待同步”表中删除它们。
向服务器发送最后的同步时间。
然后从该时间开始下载所有更新,并将其添加到设备上的“同步”表格中。
更新同步时间。 (使用服务器时间确保设备之间的一致性)
这会起作用还是会失效?
就像我说的那样从未尝试过多设备同步,并且似乎很难找到主题。
最后是否有为此设计的框架?
任何与应用程序类似的人都可能作为离线网页很少见 - 只需要逻辑顺序和我需要注意的任何'gotchyas'。
提前致谢。
答案 0 :(得分:1)
要做到这一点可能很难,最后我意识到我需要做的是创建一个版本控制系统,类似于GIT ......在JavaScript中。获得版本后,您可以根据更改版本号和进行合理的决策。
我不知道我开始的project是否会对你有用,它会使用这些概念,但即使不是,我觉得你应该阅读文档,因为它会帮助你思考如何解决更广泛的问题。由于我正在寻找工作(这项工作很多),该项目现在停滞不前,但我很快就会重新开始。
Matt Forrester