多人协同编辑 App 需要离线可用,如何可靠地同步状态

2020-01-04 23:12:12 +08:00
 random0O
背景:app 的设计使用场景不具有可靠的网络连接,很可能需要在非常慢甚至完全离线的状态下工作。app 本质上是个照片管理器,基本功能包括拍照,编辑照片,照片分享。支持多用户在同一容器内工作,例如 A 拍的照片可能由 B 编辑,由 C 将编辑过的照片分享出去。用户没有角色之分,任意用户可以执行任意操作。

问题:如何同步用户在离线状态下的操作并尽量优雅地解决版本冲突?比如用户 A 离线编辑了一张照片,又离线删除了这张照片,app 是否仅需要同步删除操作?又比如多个用户都对同一照片进行了离线编辑,如何抉择采纳哪个用户的操作?按时间戳的话设备时间并不可靠。只有让用户手动解决冲突吗?

欢迎推荐相关文章 /书籍 /播客
1997 次点击
所在节点    移动开发
4 条回复
yafoo
2020-01-04 23:23:06 +08:00
看看 git 的原理吧,应该对你有用。
感觉你想要做一个图片版的 git
jeffAQA
2020-01-04 23:28:39 +08:00
iamwho
2020-01-05 00:02:29 +08:00
你听说过草稿箱吗
whileFalse
2020-01-05 07:37:49 +08:00
照片这种东西太好办了,冲突了就产生一个副本。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/635124

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX