zoukankan      html  css  js  c++  java
  • Paxos is Simple

    【角色】
    0-MainProposer提案生成者
    1-提案发送者(MainProposer+OtherProposer)
    2-提案接收者(Acceptor)
    【动作】
    0-MainProposer---->生成提案
    1-MainProposer+OtherProposer---->发送[提案内容、提案编号]结构体至Acceptor
    2-提案接收者(Acceptor)---->反馈至提案发送者(MainProposer+OtherProposer)表示批准提案
    【约束条件】
    0-超过半数提案接收者(Acceptor)批准提案(Proposer),则其被批准;
    1-MainProposer提案生成者,全局唯一,其生成提案内容和全局互异提案编号[提案内容、提案编号]({key:val}),OtherProposer从MainProposer获取提案内容和提案编号并发送至提案接收者(Acceptor);
    2-全局互异性编号整数值单调递增且和提案为“一对多”关系;
    3-提案接收者(Acceptor),无条件批准其收到的第一个提案;其之后对于所有收到的提案,校验提案编号值大小,和之前已经批准的提案编号比大小,
    如后者大,则批准后者,且今后不再批准编号小于该编号的提案;
    4-MainProposer提案生成者收到超过半数提案接收者(Acceptor)”反馈,则认为提案通过,结束;否则,继续生成[提案内容、提案编号]({key+positive:val+0}),其中仅提案编号更新为收到提案接收者(Acceptor)反馈响应的[提案内容、提案编号]结构体集合中最大提案编号的相对大值。

  • 相关阅读:
    记录一次在 VirtualBox的添加共享windows文件后,发现没有共享文件的事
    linux 压缩解压缩命令
    关于erlang中的timer:tc/3
    python基础:while循环,for循环
    grep和正则表达式参数
    grep和正则表达式
    nginx反向代理三台web
    安装nginx包
    部署samba
    samba了解
  • 原文地址:https://www.cnblogs.com/rsapaper/p/7674272.html
Copyright © 2011-2022 走看看