问题描述
我正在开始设计一个分布式Android应用程序,在该应用程序中,用户将能够组成组并交换数据。
让我们假设(并非如此)这些组是“聚会组” 。
- “聚会组”的成员可以创建新的聚会事件,其中将包含诸如姓名,位置,聚会地点,时间以及可能的图片之类的信息。没有了。
- 如果一个党组成员创建了一个新事件,则所有其他成员也应该能够看到它。
- 如果新的应用程序用户加入了先前创建的组,则他应该能够查看该组举行的聚会的完整历史记录。
问题是:
我应该使用哪种同步策略,尤其是对于第3点?
一种选择是将App的服务器端用作用户之间的中介。 例如,让我们考虑具有用户A,B和C的组BEST_PARTIES。 让我们考虑这种情况:
- 用户A添加new_party_event,并将其上传到服务器
- 用户B连接自己,下载new_party_event
- 用户C连接自己,下载new_party_event
- 服务器现在知道已通知所有组成员并从其数据库中删除了new_party_event
这种方法可能会出现问题:
- 如果用户D加入组BEST_PARTIES,则服务器不包含聚会事件历史记录!一种解决方案是让服务器从一个用户那里请求聚会事件历史记录,将其传递给用户D,然后将其删除,但是这里的复杂性水平开始变得有些令人恐惧。
- 如果所有用户同时丢失手机,则聚会记录将无法恢复。
当然,保留服务器中所有组的聚会历史明显有一个缺点:MEMORY USAGE 。在这里,我们正在谈论管理潜在的非常大的数据库。同时,我认为现代服务器可以轻松处理大型数据库。
我的问题:
- 使用的主要范例是什么?
- 类似的应用程序如何处理此问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)