是否有任何开源应用程序能够展示online-offline synchronization 数据库的良好技术,类似于Remember The Milk的iPhone应用程序,Google Gears离线模式等等?
答案 0 :(得分:7)
Unison file synchronizer是一个很棒的工具,但它的源代码不适合胆小的人。你没有要求学术论文,但我写了one I'm proud of。有一些perl代码可以与那个,但我不确定它是否有用。如果你想要它给我发电子邮件。
答案 1 :(得分:3)
查看主开发者网站的code.google.com/p/gears和the LocalServer source。虽然齿轮是一个复杂的软件,因为它有很多组件(浏览器插件界面,与javascript集成,SQLite集成等等),它是相当好的因素,所以LocalServer源很容易遵循。
答案 2 :(得分:2)
我有SymmetricDS的经验,这真的很棒。它可以处理很多场景。它是开源的,因此可以针对某些特殊情况进行修改或扩展。正如作者所说,它是为现实生活中的项目而开发的,所以你可以确定它真的很好用(并且它对我也有效)。
只有一件事。 SymmetricDS依赖于数据库触发器,因此您的数据库必须支持触发器。
答案 3 :(得分:2)
关于Operational Transform的维基百科文章引用了四个开源应用程序 - Ace,Gobby,Subetheredit和So6。也许其中一个可以作为你的起点。
虽然它们可能无法直接与您选择的DBMS一起工作,但值得考虑将Operation Transform作为同步的基础。
答案 4 :(得分:0)
文章Create offline web applications on mobile and stationary devices with CouchDB描述了一个简单的广告资源管理应用。使用源代码。它使用CouchDB的replication support。 CouchDB虽然是NoSQL数据库(面向文档,但更具体)。如果您正在寻找RDBMS的解决方案,Microsoft的Sync框架中的database synchronization provider将利用SQL Server 2008中内置的更改跟踪机制.Microsoft还在其Smart Client Offline Application文档中描述了a service-oriented approach块。在某些情况下,这种方法比在面向数据的方法中使用合并复制更灵活。