知识卡片
向量时钟判因果
内容
向量时钟给每个进程维护一个记录所有进程逻辑时钟的整数向量,通过发消息、收消息、内部事件时的更新规则,让系统能判断两个事件是因果相关还是并发无关,而非只有全序时间戳。
参考来源
- 位置:《大数据日知录:架构与算法》第2章《数据复制与一致性》"2.4.2 向量时钟(Vector Clock)"一节(源文件:_epub-src/OEBPS/text00007.html)
- 结论依据:原文明确"向量时钟是在分布式环境下生成事件之间偏序关系的算法,偏序关系代表事件发生先后顺序导致的事件间因果依赖关系语义",每个进程维护整数向量"其中第j位数值代表进程pi看到的进程pj的逻辑时钟",通过发送/接收/内部事件三类规则更新。
- 原始内容:向量时钟是在分布式环境下生成事件之间偏序关系的算法,偏序关系代表事件发生先后顺序导致的事件间因果依赖关系语义,通过将时间戳和事件绑定可以用来判定事件之间的因果相关性……每个进程pi记载初始值都为0的整数向量时钟VCi[1…n],其中第j位数值代表进程pi看到的进程pj的逻辑时钟。