Eri*_*rik -1 javascript rtf google-docs odf
我很感兴趣google docs如何在服务器端存储文档,因为我需要创建类似的应用程序.
它使用纯RTF/ODF文件还是拥有数据库?他们如何使版本控制和撤消/重做功能成为可能?
如果有人知道这个问题请与我分享.
要专门回答Google Docs工作原理的问题.他们使用一种名为的技术
您可以使用以下列出的运营转型引擎之一:https://en.wikipedia.org/wiki/Operational_transform#OT_software
基本思想是每个操作都有一个上下文,例如"删除第五段中的第四个单词"或"在按钮后面添加一个输入框".客户端都通过服务器发送彼此的操作.客户端和服务器各自保留自己的文档版本,并在它们到来时应用操作.
当操作具有重叠的上下文时,有许多规则可用于解决冲突.就像你无法修改已被删除的内容一样,因此删除必须在该上下文的一系列并发操作中排在最后.
各种客户端和服务器可能会不同步,因此您需要使用辅助算法来保持一致性.一种方法是每当检测到冲突时从服务器重新加载数据.
- 这是我几年前问过同样事情时从教授那里得到的答案.