例如,我有一个Android应用程序,它使用本地数据库(Sqlite)中的数据。用户甚至可以在线或离线处理数据。同时,如果它是在线的,那么本地数据库(Sqlite)应该与服务器中的真正数据库(Mysql)同步,并将冲突作为后台服务来解决。
对于这种场景,是否已经实现了任何解决方案?
我听说了Couchdb,它是一种NoSQL解决方案,可以解决这个问题。如果是这样的话,我可以在SQL中使用它吗?
发布于 2015-11-09 17:10:14
基本上,您需要从两个数据库获取提交日志并对它们进行比较,查找对两个数据库中相同的表和行(可能还有列)的更新实例。对于没有冲突的行的任何提交记录都可以发送到适当的数据库(即,来自主服务器的提交记录可以转换为适当的CRUD语句并分发给客户端),冲突中的所有行都必须暂时排序其提交,最后发出的提交将“获胜”。如果未保留提交日志,则必须手动保存它们(可能通过使用指挥模式构造更新)。这是一个非常重要的练习。
https://softwareengineering.stackexchange.com/questions/302118
复制相似问题