我需要将我的 Android SQLite DB 与我的云服务器 DB 同步,并在多用户环境中以双向方式进行。
我在这里找到并介绍了解决方案,但我想了解更好的解决方案/算法。
我需要将我的 Android SQLite DB 与我的云服务器 DB 同步,并在多用户环境中以双向方式进行。
我在这里找到并介绍了解决方案,但我想了解更好的解决方案/算法。
您可以使用 Oracle 数据库作为您的服务器端数据库吗?
如果是这样,您应该考虑使用 Oracle Database Lite,它包括一个与 SQLite 和 Android 兼容的完全同步解决方案,并且专为多用户环境而设计。
它支持自动同步、高级冲突解决和多个同步模型。它还支持从中央管理控制台部署和管理应用程序,甚至设备管理。
您可以在此处阅读更多相关信息: http ://www.oracle.com/technetwork/database/database-lite/overview/index.html
此外,您可以单击下载选项卡亲自试用。
埃里克
我建议将 db 文件发送到您的服务器并在服务器端进行合并。如果需要,然后将合并的数据库发送回客户端。您的解决方案将根据冲突解决算法和您的数据库架构而有所不同。但这里是最简单情况的示例:
sqlite> attach 'client.db3' as ClientDBtoMerge;
sqlite> insert into TableName select * from ClientDBtoMerge.TableName;
sqlite> detach database ClientDBtoMerge;
希望您能够修改双向合并的示例。