我正在开发一项网络服务,可以通过网站和移动客户端访问,而无需永久的互联网连接。
我们的想法是在互联网上以及所有客户端上同步数据库。当用户更改移动客户端上的数据时,它会在本地数据库中标记为已更改。当用户更新网站上的数据时,在线数据库中的变更集会增加。同步后,客户端会记住其实际数据的变更集。问题是,当我在一个客户端上更改数据,然后在另一个客户端上然后触发同步时,Web服务器不知道哪个数据是最后一个。
以下是目前的工作原理:
我认为问题出在第6步。客户端知道,既有本地更改也有在线更改,但无法确定正确的值。
你能帮帮我,怎么解决这个问题?我在考虑时间戳而不是变更集,但我不能确保所有客户都有正确的时间。
PS:服务器使用MSSQL运行WCF服务,客户端是ASP.NET网站和Andorid和WP7智能手机。它无法在在线数据库中保存有关客户端的任何信息。我希望客户端同步每天运行+/-一次。
我希望我的问题可以理解:) 感谢。