2

我了解如何使用获取更改提要列出自上次获取以来的更改。

我不明白的是如何将其合并到双向同步算法中。具体来说,如何从后续提取中排除我自己的更改。

例如,我的同步是:- 阶段 1。我获取服务器更改。假设没有第 2 阶段。我上传了本地更改。说一个名为 NewFile 的新文件

一段时间后,我再次同步,第 1 阶段包含 NewFile 作为更改。因此 NewFile 会被往返。

我考虑添加一个重复获取更改的阶段 3,以推进 ChangeId 并忽略这些更改。问题是另一个客户端可能在第 2 阶段进行更新。

4

1 回答 1

2

您可以使用其他信息来测试文件是否已更改,例如条目的校验和或 etag,具体取决于您是否关心文件数据或元数据。

您应该将其集成到您的同步算法中,这样您就不会得到您所说的竞争条件。

于 2012-08-27T18:40:21.927 回答