2014-03-29 62 views
3

整個場景被認爲是使用連續不可用的連接。當連接可用時,同步將一起發生。通過網絡服務器和多個移動設備同步數據庫數據

我正在開發的android應用程序正在進入下一個階段。早些時候,我有一種數據推送方式。即從移動設備到服務器。服務器有mysql數據庫。爲此,我使用http請求與json數據在服務器上發送進行簡單的API。

用戶可以有多個智能手機設備(現在和oridid)。數據同步後,所有移動本地數據都會被推送到服務器上。任何服務器更改也應該反映在移動數據上。跨多個設備的雙向同步。

我在考慮以下情況。對於手機,我在Android上使用sqllite db。

On Mobile 1 database, Any record can be : insert, update, delete 
On Mobile 2 database, Any record can be : insert, update, delete 
. 
. 
. 
On Mobile `N` database, Any record can be : insert, update, delete 

On Server database, Any record can be : insert, update, delete 

並且在所有這些情況下,數據應該與服務器一起跨所有設備同步。但是,當執行同步時,它將在一個移動設備和服務器之間,而不是在同一時間的所有設備之間。

我不知道這一點。我想知道我應該使用什麼方法?這樣所有的數據都處於相同的狀態。

我打算爲此開發api。任何建議都會有幫助。

回答

1

您需要實現某種類型的消息,最好使用JSON。任何設備都可以發送消息以在數據庫中插入,更新或刪除。每個設備都應該收到所有消息並將其用作更新日誌。

關鍵概念是設備之間的同步。爲此最簡單的方法是使用MQTT協議與蚊子服務器。

MQTT是用於在多個設備之間發送消息的協議。任何客戶端都可以向MQTT服務器(稱爲代理)發送消息,並且任何其他客戶端可以保證在恢復連接後立即收到所有消息。

在Facebook Messenger中使用類似的東西,因此您可以同時在多個設備上進行討論。如果您在一臺設備上向您的朋友發送消息,它會自動彈出,作爲在您的Facebook帳戶上發送給所有其他人。

MQTT非常簡單,功能強大。我相信它可以爲您節省大量時間開發您的應用程序。

結帳http://mqtt.org/http://mosquitto.org/

相關問題