2015-07-20 68 views
2

我正在開發Android的實時數據收集應用程序。 目前我每秒產生大約1.2 KB的數據,我需要通過REST API每秒將它們上傳到遠程服務器。在Android上實現持久數據隊列以保證雲同步

問題是這個數據很關鍵,我不能容忍任何損失。所以我需要將它們緩存在磁盤上並將數據上傳到遠程服務器。在確認每個數據交付後,它可以從緩存中刪除,否則緩存必須保留,直到成功上載爲止,即使在設備重啓後也是如此。

在您的觀點中解決這個問題的最佳方法是什麼? 什麼是可能有助於創建解決方案的工具/框架/庫?

回答

1

我會用方形磁帶(http://square.github.io/tape/)它保證數據將寫入磁盤無論如何。您可以處理您自己的同步邏輯,並在發生故障時重新排隊。

+0

磁帶似乎是爲了這個目的,那麼數據上傳呢,Square也有okHttp和Retrofit框架,但我還沒有決定什麼以及如何使用它們。 –

+0

偶爾,當您決定上傳數據(取決於您的邏輯)時,只需彈出數據或部分數據並開始上傳數據。準備好自己的失敗項目 - 然後只是將它們返回隊列並稍後嘗試。你應該很好,數據應該是安全的。 – MarkySmarky

+0

是的,這聽起來不錯:)謝謝@Marky現在將有機會磁帶然後.. –