2

大多数单页浏览器应用程序都应该是“协作的”,这意味着几个人可以同时编辑同一个文档或对象(想想谷歌文档)。我正在尝试在后端使用 Backbone.js 和 Rails 实现协作应用程序。我确实了解 Backbone 模型同步的工作原理,但我想知道处理冲突解决的最佳做法是什么?

这是一个例子:用户更新一本书的“作者”字段,Backbone.js 模型“书”向服务器发送同步请求......但其他人已经在这本书前更新了这个字段。如何处理这种情况?是否有任何常见的做法/框架/库来处理冲突?

4

1 回答 1

1

签署数据以确认其有效性:

在后端创建记录:

{
    "author": "Ernest Hemingway",
    "signature": "8332164f91b31973fe482b82a78b3b49"
}

然后,当有人检索记录时,会同时检索签名。当他编辑记录时,签名被发送回后端。如果签名与数据库中的内容匹配,则它是有效的编辑,后端会为记录生成一个新签名并保存它。如果签名不匹配,则意味着其他人同时进行了编辑。

于 2013-08-10T10:48:12.620 回答