我正在兩臺設備之間同步對象。對象具有lastModified
屬性。如果兩個設備都修改了一個對象,則在下一次同步時,在兩個設備上都會選擇具有最新lastModified
的對象版本。所以我們不進行細粒度的合併,只合並「最新版本」。在兩個設備之間使用不同系統時間同步對象
問題是這樣的。當一個設備收到一個已更改對象的列表時,它不能可靠地比較最後修改的接收對象與它自己,因爲這兩個設備上的系統時間可能不同。
我認爲讓每個設備在同步過程中發送當前日期/時間。然後分別計算遠程時間和當地時間之間的差異,以正確比較日期。但是,如果在發送日期和接收它的遠程設備之間存在延遲,這會導致與同時修改的對象(或時間上非常接近)不正確的比較。即兩個設備都認爲遠程對象更新,並且它們以不同的對象結束。
我希望我已經解釋清楚了。
這種問題必須有一個共同的解決方案,但我的大腦沒有任何東西。有什麼建議麼?在此先感謝...