首页 > 编程知识 正文

sla协议包括哪些内容,分布式数据库两阶段提交协议

时间:2023-05-04 15:31:34 阅读:176252 作者:2313

这次口头协商的概要:

这次的口头协议分为三轮反复。

对七位将军分别命名为C、L1、L2、L3、L4、L5、L6。

第一轮: c依次向L1~L6发送消息。

第二周:以L1为例,他怀疑C发来的消息的真实性,询问L2~L6:C给你们发来了什么样的消息。 剩下的5人重复L1的提问过程,向除了自己和c以外的5人开始提问。

第三次,以L1为例,他依次确认第二次收到的所有消息的真实性。 为了确认从L2发送的消息的真实性,向L3~L6进行咨询。 L2告诉自己收到的将军命令是什么,再结合L2以前传达给自己的L2收到的将军命令,在majority函数中决定L2收到的将军命令是什么。 同样,确认L3~L6第二次发送给自己的值的真实性,并分别向其他4人提问。 询问结束后,结合第二次得到的值,依次进行L3~L6第二次发送给自己的值的真实性的确认。 这样,L1就完成了第二次接收值的确认。 将第一次C发给自己的值和第二次确认后的5个值组合起来,用majority函数扔出自己的最终决定。 这就是对L1的第三次提问和前两次的反复,以上是L1完整的思考过程,对L2~L6来说,经过与L1相同的思考过程,最终投出自己的决定。

另外,为了满足n=7,m=2,n3*m,该口头协议满足对话一致性目标: IC1 :所有忠实部下遵守相同的命令; (IC2 )如果指挥官忠诚,所有忠诚的部下都会遵守他发出的命令。 由于m=2,即有2个hxdyx,所以验证分为指挥官是否为hxdyx两种情况。

具体过程分析:情况1:c为忠诚,L5、L6为hxdyx。

在第一回合中,c分布命令告诉L1~L6请求Attack (以下称为a,或者撤退命令为Retreat,以下简称r )。

第二周,L1~L6彼此交换从c收到的命令。

第三,L1为了验证L2向自己传达的消息的真实性,请告诉L3~L6、L2他收到的将军的命令是什么。 从表的第2行可以看出,矩阵从编号1开始计数。 (2,2 )中,a第2次的L2向L1传达自己收到的命令为a,(2,3 )为a,L3向L1传达L2收到的将军命令为a。 L3因为忠诚,所以忠实地传达了L2对自己说的话。 ) 2,5 )是a。 也就是说,不确定是a还是r。 因为L5是hxdyx,所以他不一定忠实地记录L2的值。 同样,2,6是b,也是不确定值。 从表中可以看出,第2行是关于L2的表达,有3个人将L2收到的命令称为a,有2个人给出不确定值,根据majority函数,L1决定L2收到的c命令为a,并记入表的(2,1 )中因为L3、L4和L2一样忠诚,所以他们对L1的转述过程和L1对他们说的话的决策过程与上述L2类似,如表所示。 对L5来说,他是hxdyx,他说的话没有参考价值。 即使传达他话的人是忠诚的,这个消息也是没有用的。 因为L5最初传达给他们的可能是假的值,所以第5行中第2列至第6列的值是上述的随机值,由此决定的也是随机值,用x表示,被记入(5,1 )。 对于hxdyxL6,与L5相同。 以上就是L1的思考过程,在他看来,自己收到的命令是a,L2~L4收到的命令也是a,用多数函数进行决策,然后抛出自己的决定,即a。 (从表中可以看出,第一列是L1的决策依据。 L2~L4和L1一样忠诚,因为他们也收到了a的命令,所以他们的最终决策也是a,这符合了IC1和IC2的目标。 忠诚的部下L1~L4是C的攻击命令和C是忠诚的,他忠诚的部下L1~L4分别遵守着他发送的攻击命令。

L1=A

L2

L3

L4

L5

L6

L2=A

A

A

A

A

B

argin-left:0cm;">L3=A

A

A

A

c

d

L4=A

A

A

A

e

f

L5=X

g

h

i

j

k

L6=X'

l

m

n

o

p

 

情况二:C和L6是hxdyx。假设C对L1~L4发出的命令是A,对L5,L6发出的命令是R。他们每个人的思考过程和情况一类似,不再赘述。下面给出L1的思考过程见表格如下。由决策可知,L1会执行A这个命令。由于L2~L3和L1都是忠诚的,而且他们收到的都是A,所以他们也会执行A这个命令。

L1=A

L2

L3

L4

L5

L6

L2=A

A

A

A

A

a

L3=A

A

A

A

A

b

L4=A

A

A

A

A

c

L5=R

R

R

R

R

d

L6=Y

e

f

g

h

i

 

对于L5,他的思考过程如下表所示。根绝majority函数,他最终的决策是A。虽然他收到的来自C的命令是A,但是通过上述的询问决策过程,他发现了C是hxdyx,并且做出了和其他冲忠诚的下属一致的决定。综上所述,这个情况也是满足交互一致性目标的。验证:因为C不是忠诚的,所以只需满足IC1即可。因为忠诚的L1~L5都执行了A这个相同的命令,验证通过。

L5=R

L1

L2

L3

L4

L6

L1=A

A

A

A

A

a

L2=A

A

A

A

A

b

L3=A

A

A

A

A

c

L4=A

A

A

A

A

d

L6=Z

e

f

g

h

i

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。