[发明专利]一种低延迟的分布式计算共识算法有效
申请号: | 201711414657.2 | 申请日: | 2017-12-25 |
公开(公告)号: | CN108170763B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 葛洪伟;赵守月;葛阳 | 申请(专利权)人: | 江南大学 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F9/50 |
代理公司: | 哈尔滨市阳光惠远知识产权代理有限公司 23211 | 代理人: | 张勇 |
地址: | 214122 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种低延迟的分布式计算共识算法,主要解决在并发客户端之间的命令冲突率增大时,系统响应延迟增加的问题。该算法将EPaxos算法和不受并发客户端命令冲突情况影响的Multi‑Paxos算法相结合,根据算法运行过程中的客户端负载情况、并发客户端命令冲突情况以及网络实时情况,每隔一段时间进行EPaxos算法和Multi‑Paxos算法系统平均延迟的计算,根据计算结果,智能地转换到系统平均延迟较小的算法模式。本发明算法具有更好的适应能力、更优的延迟性能、更高的综合效率,实现了在并发客户端之间的命令冲突率较大的情况下,较EPaxos算法能获得更低的系统响应延迟;在客户端负载不均衡时,比Multi‑Paxos算法更能适应多样的客户端环境。 | ||
搜索关键词: | 一种 延迟 分布式 计算 共识 算法 | ||
(1)执行EPaxos算法模式;
(2)根据算法运行过程中客户端的负载情况、并发客户端的命令冲突情况以及网络的实时情况,每隔时间段ts(ts可取15秒)计算EPaxos算法模式下系统的平均延迟Lat1(EPaxos)以及估计Multi‑Paxos算法模式下系统的平均延迟Lat1(Multi‑Paxos):
(2.1)计算Lat1(EPaxos):统计副本Ri(Ri表示第i个副本,其中i∈[1,N],N表示副本总数)处理的客户端提交的命令总数Ti,执行slow‑path的命令数Ci,从客户端到副本Ri所需的时间tci,从副本Ri到所有副本所花时间中第k少的时间min_k{i}(k表示fast path中的法定人数),从副本Ri到所有副本所花时间中第p少的时间min_p{i}(p表示slow path中的法定人数,也为Multi‑Paxos算法模式下的法定人数),则EPaxos算法模式下系统的平均延迟为:
(2.2)估计Lat1(Multi‑Paxos):分别估计各个副本Rr(r∈[1,N])为领导者时,Multi‑Paxos算法模式下系统的平均延迟(tir表示从副本Ri到副本Rr所需的时间):
取最小的Lat1(Multi‑Paxos)r作为Multi‑Paxos算法模式下系统的平均延迟Lat1(Multi‑Paxos),令领导者Rl为此时的Rr;
(3)比较Lat1(EPaxos)和Lat1(Multi‑Paxos)的大小,若Lat1(Multi‑Paxos)<Lat1(EPaxos),从EPaxos算法模式转换至Multi‑Paxos算法模式,转至步骤(4),否则,转至步骤(1);
(4)执行Multi‑Paxos算法模式(在Multi‑Paxos算法模式下客户端将命令提交给最近的副本,副本再将命令传递给领导者);
(5)根据算法运行过程中客户端的负载情况、并发客户端的命令冲突情况以及网络的实时情况,每隔时间段ts(ts可取15秒)计算Multi‑Paxos算法模式下系统的平均延迟Lat2(Multi‑Paxos)以及估计EPaxos算法模式下系统的平均延迟Lat2(EPaxos):
(5.1)计算Lat2(Multi‑Paxos):统计副本Ri(i∈[1,N])传递的客户端提交的命令总数Ti,从客户端到副本Ri所需的时间tci,从副本Ri到领导者Rl所需的时间til,从领导者Rl到所有副本所花时间中第p少的时间min_p{l},则Multi‑Paxos算法模式下系统的平均延迟为:
(5.2)估计Lat2(EPaxos):统计从副本Ri(i∈[1,N])到所有副本所花时间中第k少的时间min_k{i},到所有副本所花时间中第p少的时间min_p{i},传递的命令中对各个关键字Km(m∈[1,M],M表示关键字总数)操作的命令数CKim,则在EPaxos算法模式下,含有最大CKim的副本Ri传递的关于关键字Km的命令中执行slow path的命令数Sim可近似为min{CKim,∑r∈[1,N],r!=iCKrm},其余副本Ri传递的关于关键字Km的命令中执行slow path的命令数Sim可近似为CKim,则对任意副本Ri,执行slow path的命令总数Ci可近似为∑mSim,故EPaxos算法模式下系统的平均延迟可近似表示为:
(6)比较Lat2(EPaxos)和Lat2(Multi‑Paxos)的大小,若Lat2(EPaxos)≤Lat2(Multi‑Paxos),从Multi‑Paxos算法模式转换至EPaxos算法模式,转至步骤(1),否则,转至步骤(4)。
2.根据权利要求书1所述的一种低延迟的分布式计算共识算法,其中,步骤(3)所述的从EPaxos算法模式转换至Multi‑Paxos算法模式,按如下过程进行:(2.1)算法转换的发起者给各个副本Ri(i∈[1,N])发送更改协议的通知并设置一个超时;
(2.2)各个副本Ri确认收到通知,发送确认消息以及已经开始处理的最大实例编号Ii给算法转换的发起者,进入转化状态(副本在转化状态时,不会分配新实例,即,对于收到的客户端命令,放入缓存,在非转化状态时再进行处理),并设置一个超时;
(2.3)若算法转换的发起者在超时之前收到所有副本的确认消息以及Ii,则对Ii进行统计,统计结果记为IMAX={Ii|i∈[1,N]},发送统计结果IMAX以及算法转换的执行命令给所有副本;否则,发送算法转换的取消命令给所有副本;
(2.4)若副本Ri在超时之前收到算法转换的执行命令以及IMAX,Ri执行各个副本Rr(r∈[1,N])所有提交的实例(各个副本Rr所有提交的实例中最大实例编号应为Ir(Ir∈IMAX),如果副本Ri的本地存储中缺少某一实例,则Ri需要
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江南大学,未经江南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711414657.2/,转载请声明来源钻瓜专利网。