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