我有一种感觉,肯定存在客户端-服务器同步模式。但我完全没能做到。
情况很简单——服务器是中心节点,多个客户端连接并操作相同的数据。数据可以按原子分割,在发生冲突的情况下,服务器上的任何内容都具有优先级(以避免让用户陷入冲突解决)。由于潜在的大量数据,部分同步是首选。
对于这种情况,是否有任何模式/良好的实践,或者如果你不知道任何模式/良好的实践,你会采取什么方法?
以下是我现在认为如何解决它: 与数据并行的是,将保存一个修改日志,其中所有事务都有时间戳。 当客户端连接时,它以合并的形式接收自上次检查以来的所有更改(服务器遍历列表并删除添加的内容,然后再删除,合并每个原子的更新,等等)。 瞧,我们是最新的。另一种方法是为每条记录保留修改日期,而不是执行数据删除,只是将它们标记为已删除。
任何想法吗?