google-docs - 如何在利用操作转换的协作编辑软件中解决冲突
问题描述
场景 - 两个人(P1、P2)在 Google Docs 中编辑同一个 word 文档。在他们开始编辑之前,该文档包含一个词——“ADAM”。P1 决定删除第一个字符“A”,P2 决定在现有第一个字符前面添加另一个字符“A”。P1 和 P2 在完全相同的时间执行它们的操作(同时被定义为 Google Docs 服务器识别的时钟的最大精度)。我了解服务器和客户端在应用它们之前都会对其传入操作进行操作转换。
但是 Google Doc 服务器如何决定先执行哪个操作呢?注意 - 我对文档/全局真相的最终状态不感兴趣,但更重要的是,考虑到用户操作的相似时间戳,Google Docs 服务器将首先处理哪个用户的操作。
解决方案
推荐阅读
- sql - 算术溢出错误将 nvarchar 转换为数据类型 numeric 以防万一查询
- java - 为什么反转一个 ArrayList 变量也会反转另一个?
- sql - SQL-在 1 列中获取具有多个值的值
- c - 如何直接打印最后一个错误代码,C中的文本
- python - 如何从 selenium 中的元素中删除属性
- javascript - 每次单击不同的按钮时,Textarea 中的文本都会发生变化
- gtsummary - 模型中的 tbl_regression 样本大小 - gtsummary
- python - 在第 3 次或更少的迭代后循环停止并返回结果
- c++ - OOP 课程设计:两个数字计算器
- backbone.js - #骨干js。基于测试用例将模型添加到集合中,由于无法为未定义设置值而引发错误