2014-01-13 41 views
0

我在努力獲得多設備同步化的後勤工作。多個離線網頁的同步

假設我有一個離線網頁(通過app-cache)用作地址簿 - 我將如何去構建一個強大的多設備同步系統。

我思考以下,但它似乎並不穩健:

每個設備有2臺:

  1. 「同步(服務器表的最後更新時間副本) - 隨着服務器在最後更新點的時間戳。

  2. '等待同步' - 在該設備上等待與服務器同步的更改。 - 這可能會插入,刪除和更新項目。

然後,當設備連接到服務器時,它: -

  1. 上傳所有改變到服務器(通過微型API),並且從「等待同步」表中刪除它們。

  2. 向服務器發送最後一次同步時間。

  3. 然後從該時間開始下載所有更新並將它們添加到設備上的「同步」表中。

  4. 更新同步時間。 (使用服務器時間來確保設備之間的一致性)

這樣做還是會崩潰?

就像我說的從來沒有嘗試過多設備同步,似乎是一個很難找到的主題。

最後有沒有爲此設計的框架?

任何已經完成類似於應用程序的人都可能離線網頁很少 - 只需要邏輯順序和我需要注意的任何'gotchyas'。

在此先感謝。

回答

1

這樣做可能很困難,最終我意識到我需要做的是創建一個版本控制系統,類似於JavaScript中的GIT ...。一旦擁有版本,您可以基於更改版本號作出基於其的更改的合理決定。

我不知道我開始的project會對你有用,它使用這些概念,但即使它不是我覺得你應該通讀文檔,因爲它會幫助你思考如何解決問題更廣泛。由於我正在尋找工作(這是很多工作),因此該項目暫時停滯不前,但我很快會再次選擇它。

Matt Forrester

+1

感謝這篇文章 - 閱讀了文檔 - 或多或少是我在想什麼 - 只需要衝突解決步驟。我懷疑有人會給出更好的答案,但現在我會+1你 - 如果沒有人給出更好的答案,我會標記爲已接受 - 謝謝! –

+0

太好了,謝謝。如果你決定使用它,如果你讓我知道... ...作爲回報...免費支持,那將是非常棒的! :-) – Forbesmyester