整个场景都考虑使用并非始终可用的连接。当连接可用时,同步将一起发生。
我正在开发的android应用程序将进入下一阶段。早些时候我有一个单向的数据推送。即从移动设备到服务器。服务器端有mysql数据库。为此,我做了一个简单的应用程序接口与http请求与json数据发送到服务器上。
用户可以拥有多个智能手机设备(目前为andorid )。当数据同步时,所有移动本地数据都会被推送到服务器上。服务器的任何变化也应该反映在移动数据上。跨多个设备的双向同步。
我正在考虑下面的场景。对于移动端,我使用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。任何建议都会有帮助。
发布于 2015-01-22 01:30:23
您需要实现某种类型的消息,最好使用JSON。任何设备都可以发送消息在数据库中插入、更新或删除。每个设备都应该接收所有消息,并将其用作changelog。
关键概念是设备之间的同步。对于这种最简单的方式是使用MQTT协议与蚊子服务器。
MQTT是用于在多个设备之间发送消息的协议。任何客户端都可以向MQTT服务器(称为代理)发送消息,并且可以保证任何其他客户端在恢复连接后立即接收所有消息。
Facebook Messenger中使用了类似这样的东西,这样你就可以同时在多个设备上进行讨论。如果您在一台设备上向朋友发送消息,它会在您facebook帐户上自动弹出为“在所有其他设备上发送”。
MQTT使用起来非常简单和强大。我相信它可以为你节省很多开发应用程序的时间。
查看http://mqtt.org/和http://mosquitto.org/
https://stackoverflow.com/questions/22731094
复制相似问题