CN115865923A - 联盟链的高性能领导节点选举方法、装置、设备及介质 - Google Patents
联盟链的高性能领导节点选举方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115865923A CN115865923A CN202310114400.4A CN202310114400A CN115865923A CN 115865923 A CN115865923 A CN 115865923A CN 202310114400 A CN202310114400 A CN 202310114400A CN 115865923 A CN115865923 A CN 115865923A
- Authority
- CN
- China
- Prior art keywords
- node
- performance
- election
- leader
- leader node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000008569 process Effects 0.000 claims abstract description 22
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000011156 evaluation Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 abstract description 30
- 238000010586 diagram Methods 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- 241000219112 Cucumis Species 0.000 description 1
- 235000015510 Cucumis melo subsp melo Nutrition 0.000 description 1
- FJJCIZWZNKZHII-UHFFFAOYSA-N [4,6-bis(cyanoamino)-1,3,5-triazin-2-yl]cyanamide Chemical compound N#CNC1=NC(NC#N)=NC(NC#N)=N1 FJJCIZWZNKZHII-UHFFFAOYSA-N 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- BTCSSZJGUNDROE-UHFFFAOYSA-N gamma-aminobutyric acid Chemical compound NCCCC(O)=O BTCSSZJGUNDROE-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请是关于联盟链的高性能领导节点选举方法、装置、设备及介质。该方法包括:首先接收用于更换当前领导节点的选举请求,确定多个跟随节点中符合候选条件的至少一个目标跟随节点,然后将至少一个目标跟随节点转换为候选节点,最后根据选举规则从候选节点中选举新任领导节点,其中,选举规则用于表征目标收到半数以上选票。由于通过设定候选条件的选举策略降低了Raft中因选票瓜分问题导致无效选举的概率,减少了算法的平均选举周期与时间,并且能够选举性能好的节点作为领导节点,因此,提高了在领导节点选举过程的效率和有效性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及联盟链的高性能领导节点选举方法、装置、设备及介质。
背景技术
联盟链,作为区块链的其中一种,即,联盟链由多个私有链组成的集群,又保留了私有链中一定的私有化程度。在联盟链中会出现一致性问题。
相关技术中,可以通过Raft算法解决一致性问题,Raft算法设置领导节点(Leader)、跟随节点(Follower)和候选节点(Candidate)3种联盟链节点,当跟随节点一段时间内没有接收到任何关于领导节点的心跳信息时,判定领导节点出现宕机等故障问题,经过所有节点进行投票重新选举领导节点,但是当集群中节点数量较多时,多个节点获得相同数量的选票便无法选举唯一的节点作为领导人,只能重新进行选举。
可见相关技术中,当集群中节点数量较多的情况下,多个节点可能获得相同数量的选票,需要重复进行多次的投票过程,这样过程会增加系统运行的时间和复杂度,并且在经历多次的选举过程,Raft算法也无法保证最后选举出的领导节点性能是最好的,进而导致担任领导节点的性能不够强大,集群选举效率也不够高。
发明内容
为克服相关技术中存在的问题,本申请提供联盟链的高性能领导节点选举方法、装置、设备及介质,用以在节点数量较多的情况下,保证担任领导人的节点性能是最好的,并且选举效率也得到提升。
本申请第一方面提供联盟链的高性能领导节点选举方法,包括:
接收用于更换当前领导节点的选举请求;
跟随节点读取自身性能;
将所述自身性能输入节点性能评估计算模型中,得到所述跟随节点性能评分;
确定所述性能评分符合候选条件的至少一个目标跟随节点;
将所述至少一个所述目标跟随节点转换为候选节点;
根据选举规则从所述候选节点中选举新任领导节点;
其中,所述自身性能包括cpu空闲率、内存空闲率、gpu空闲率和网络带宽空闲率;所述性能评分用于直接反应节点的性能;所述选举规则用于表征目标收到半数以上选票。
优选的,所述接收用于更换当前领导节点的选举请求包括:
所述领导节点向所述跟随节点发送心跳信息;
所述跟随节点接收所述领导节点传输所述心跳信息的时限设置为超时时间;
当传输所述心跳信息时间超过所述超时时间时,所述跟随节点接收所述选举请求并触发选举;
其中,所述心跳信息包括所述领导节点的实时运行状态。
优选的,所述跟随节点性能评分包括:
所述节点性能评分由机器性能评分和稳定性评分组成;
所述机器性能评分用于表示服务器性能;
所述稳定性评分用于表示服务器稳定性。
优选的,所述机器性能评分包括:
获取节点自身性能;
基于层次分析法计算机器性能指标权系数;
通过联立性能参数与所述性能指标权系数,得到所述机器性能评分。
优选的,所述稳定性评分包括:
获取节点宕机次数;
根据节点宕机次数,计算得到所述稳定性评分。
优选的,所述根据选举规则从所述候选节点中选举新任领导节点包括:
所述候选节点向跟随节点发送投票请求;
所述跟随节点比较自身与所述候选节点的节点性能评分;
通过收到半数以上选票确定所述新任领导节点。
本申请第二方面提供联盟链的高性能领导节点选举装置,包括:
获取模块,用于在确定超时时间内跟随节点未收到领导节点的心跳信息后,所述跟随节点读取自身性能;
选举模块,用于将性能评分符合候选条件的所述跟随节点转换为候选节点,并根据选举规则从所述候选节点中选举新任领导节点;
触发模块,用于当所述新任领导节点向所述跟随节点发送心跳信息后,进入下一任期选举。
优选的,所述触发模块的触发条件包括:
所述跟随节点未收到所述心跳信息。
本申请第三方面提供一种电子设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
本申请第四方面提供一种存储介质,所述存储介质用于存储指令代码,所述指令代码用于执行如上所述的领导节点选举方法。
由此可见,本申请提供的联盟链的高性能领导节点选举方法、装置、设备及介质,所述方法首先接收用于更换当前领导节点的选举请求,确定多个跟随节点中符合候选条件的至少一个目标跟随节点,然后将至少一个目标跟随节点转换为候选节点,最后根据选举规则从候选节点中选举新任领导节点。由于通过设定候选条件的选举策略降低了Raft中因选票瓜分问题导致无效选举的概率,减少了算法的平均选举周期与时间,并且能够选举性能好的节点作为领导节点,因此,提高了在领导节点选举过程的效率和有效性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请实施例示出的流程示意图;
图2是本申请实施例示出的比较选举领导节点用时示意图;
图3是本申请实施例示出的节点数为20时传统Raft算法选举领导节点的性能示意图;
图4是本申请实施例示出的节点数为20时P-Raft算法选举领导节点的性能示意图;
图5是本申请实施例示出的节点数为30时传统Raft算法选举领导节点的性能示意图;
图6是本申请实施例示出的节点数为30时P-Raft算法选举领导节点的性能示意图;
图7是本申请实施例示出的高性能领导节点选举方法的流程示意图;
图8是本申请实施例示出的高性能领导节点选举装置的结构示意图;
图9是本申请实施例示出的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的优选实施方式。虽然附图中显示了本申请的优选实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
本申请实施例,主要应用在联盟链处理一致性问题的场景中,尤其是涉及联盟链的高性能领导节点选举方法。在联盟链中会出现一致性问题,当联盟链的某些节点退出或出现故障时,联盟链仍需具备快速达成一致性共识的能力。
相关技术中,Raft算法被应用于联盟链中解决一致性问题,Raft算法设置领导节点、跟随节点和候选节点三种角色,当出现原有领导节点退出或故障时,需要从中重新选举出一个新任领导节点。但是,当节点数量较多的情况下,多个节点获得了相同数量的选票时无法选取唯一的节点作为领导人,只能重新进行选举,出现投票分歧的过程会增加系统运行的时间和复杂度,并且经历多次选举过程,最后也无法保证选举出的领导节点性能是最好的。
可见,相关技术中,投票分歧的问题和无法保证多次选举后的选举结果,进而导致新任领导节点的性能不够强大,选举效率也不够高。
基于相关技术中存在的投票分歧的问题和无法保证多次选举后的选举结果的技术问题,本申请实施例公开了一种适用于联盟链的高性能领导节点选举方法。该方法首先接收用于更换当前领导节点的选举请求,确定多个跟随节点中符合候选条件的至少一个目标跟随节点,然后将至少一个目标跟随节点转换为候选节点,最后根据选举规则从候选节点中选举新任领导节点,进而提高选举领导节点的质量和效率。
参见图1,图1是本申请实施例中一种适用于联盟链的高性能领导节点选举方法的流程示意图。
本申请公开的联盟链的高性能领导节点选举方法包括:
S10、接收用于更换当前领导节点的选举请求。
S20、确定多个跟随节点中符合候选条件的至少一个目标跟随节点。
S30、将至少一个目标跟随节点转换为候选节点。
S40、根据选举规则从候选节点中选举新任领导节点。
其中,选举规则用于表征目标收到半数以上选票。
本申请实施例中,当当前领导节点需要更换时,跟随节点接收选举请求并触发选举。
本申请实施例中,候选条件可以理解为确定多个跟随节点中性能最好的作为目标跟随节点,也可以是设定一个阈值,确定多个跟随节点中满足阈值的至少一个作为目标跟随节点,可见,为了提高最后选举的领导节点的性能,候选条件必须是择优筛选的过程。
本申请实施例中,通过目标跟随节点性能高低进行排序,根据性能高低的先后顺序确定目标跟随节点成为领导节点的时间顺序,因此,性能越高的目标跟随节点越早成为候选节点。
本申请实施例中,基于选举规则可以从候选节点中进行选举,选出得票数过半的候选节点作为新任领导节点,当网络恢复后新任领导节点开始发送心跳信息,而其余目标跟随节点自动停止选举。
由此可见,在传统Raft算法进行领导节点选举的基础上,基于候选条件对跟随节点进行择优筛选,使最终能够选举性能好的节点作为领导节点,并且降低了Raft算法中因选票瓜分问题导致无效选举的概率,因此,提高了在领导节点选举过程的效率和有效性。
本申请实施例,S10中接受用于更换当前领导节点的选举请求包括:
S110、领导节点向跟随节点发送心跳信息。
S120、跟随节点接收领导节点传输心跳信息的时限设置为超时时间。
S130、当传输心跳信息时间超过超时时间时,跟随节点接收选举请求并触发选举。
其中,心跳信息包括领导节点的实时运行状态。
本申请实施例中,心跳信息又称为心跳数据包,由领导节点向跟随节点定时定向发送,用于通知跟随节点当前领导节点的在线状态,确保链接的有效性。
本申请实施例中,预设跟随节点接收心跳信息的时间间隔为超时时间,当跟随节点在超时时间内没有收到来自领导节点的心跳信息,则认为需要更换当前领导节点。
本申请实施例中,更换当前领导节点可以理解为跟随节点在超时时间内未收到来自领导节点的心跳信息,判定此时的领导节点发生了某种变化,确定当前领导节点任期结束,并且需要更换新的领导节点。
可以理解的是,领导节点网络发生变化可以是领导节点自身服务器宕机、网络故障,也可以是当前领导节点任期结束而新任领导节点尚未确定。以上几种情况均可以导致当前领导节点停止发送心跳信息,同时跟随节点开始接收选举请求。
本申请实施例,S20中确定多个跟随节点中符合候选条件的至少一个目标跟随节点包括:
S210、跟随节点读取自身性能。
S220、将自身性能输入节点性能评估计算模型中,得到跟随节点性能评分。
S230、确定性能评分符合候选条件的至少一个目标跟随节点。
本申请实施例中,首次提出Yasa模型作为节点性能评估计算模型,Yasa模型根据跟随节点获取的自身性能进行计算,对最终得到的结果进行筛选,其中,Yasa模型的计算结果可以准确的衡量每个节点的评分,进而更容易进行比对。
本申请实施例中,将自身性能输入Yasa模型,即节点性能评估计算模型中,得到跟随节点性能评分。其中,节点性能评分是对每个节点的性能进行综合评价。
由此可见,因为在区块链系统中需要进行哈希计算,因此对cpu、gpu、内存的需求相对更高,而跟随节点读取更全面的自身性能,使得最后选取的目标跟随节点平衡不同的需求。
本申请实施例,S210中跟随节点性能评分包括:
节点性能评分由机器性能评分和稳定性评分组成。
机器性能评分用于表示服务器性能。
稳定性评分用于表示服务器稳定性。
根据上述实施例,机器性能评分包括:
获取节点自身性能。
基于层次分析法计算机器性能指标权系数。
通过联立所述性能参数与所述性能指标权系数,得到机器性能评分。
本申请实施例,构建机器性能评分计算模型,将节点读取自身性能组成矩阵X,
机器性能评分计算公式定义为,
其中,C机器是机器性能评分,wj是第j个性能指标的权。当机器性能评分越大,则表示该节点服务器性能越好。
本申请实施例,采用“1-9”标度法比较各项负载指标的重要程度得到矩阵Q’,通过矩阵Q’计算得到最大特征根和近似特征向量M’,当Q’为一致性矩阵时,M’即为各负载指标的权系数向量。“1-9”标度法参见表1-1。
表1-1 “1-9”标度法
本申请实施例,采用“1-9”标度法结合每个节点服务器测试情况构建判断矩阵,在实际测试过程中,cpu空闲率、内存空闲率、gpu空闲率相对较高,而网络带宽空闲率相对较低,依据该情况结合“1-9”标度法对比结果,得到服务器资源对分布式系统性能的影响情况,参见表1-2。
表1-2 服务器资源对分布式系统性能的影响情况
得到判断矩阵Q判定义为,
通过判断矩阵Q判,按列相加再做归一化,最后按行相加并自左向右最后一列元素进行归一化处理得到其近似特征向量M’。
并由近似特征向量计算得到判断矩阵的最大特征根,计算公式如下,
其中,wj是第j个性能指标的权,w1是cpu的权重,w2是gpu的权重,w3是内存的权重,w4是网络带宽的权重。
本申请实施例,稳定性评分包括:
获取节点宕机次数。
根据节点宕机次数,计算得到所述稳定性评分。
本申请实施例,稳定性评分计算公式定义为,
其中,tk是在时间k内服务器的宕机次数,μ是增益参数,一般来说,μ的值在1到5之间,在本申请实施例中取μ=1。
根据机器性能评分C机器和稳定性评分C稳定,得到节点整体性能评分计算公式,
根据节点性能评分计算超时时间T超时定义为,
本申请实施例,S40中根据选举规则从候选节点中选举新任领导节点包括:
候选节点向跟随节点发送投票请求。
跟随节点比较自身与候选节点的节点性能评分。
通过收到半数以上选票确定新任领导节点。
本申请实施例,跟随节点接收投票请求后,比较跟随节点任期与发送请求的候选节点任期。
若跟随节点的任期比候选节点自身的任期高,则候选节点将退出选举并重新转换为跟随节点;
若在接收到投票请求的所有跟随节点任期均比候选节点任期低时,候选节点通过超过半数以上选票确定自身当选领导节点。
本申请实施例,领导节点确定后选举过程结束,领导节点即向其他跟随节点发送确认信息。
本申请实施例,在实际应用过程中,应用如表1-3所示的实验环境。
表1-3 实验环境
本申请实施例中,Raft为传统共识算法,P-Raft为首次提出的改进后共识算法。在上述实施例的基础上,参见图2,在实际应用过程中,选取节点数为10,选举次数为200次的情况下,传统Raft算法和本申请中P-Raft算法在选举领导节点,进行5次重复测试,取选举时间平均值作为测试结果。
通过上述实施例可以看出,本申请实施例中在选举领导节点过程产生较少的投票分歧问题,选举领导节点过程用时较短。
在上述实施例的基础上,选取节点数为10,选举次数为200次的情况下,比较传统Raft算法和本申请中P-Raft算法在选举领导节点结果的区别,进行5次重复测试,参见图3,图3是传统Raft算法选举领导节点的性能,可以看出选举出的领导节点是完全随机的。
参见图4,图4是本申请中P-Raft算法选举出的领导节点的性能,可以看出,本申请中P-Raft算法选举出的领导节点为集群中性能最好的节点,并且选举结果仅包含三个节点,其中C2节点被选举的次数为699次,E1被选为领导节点292次,C2被选为领导节点次数超过半数。保证了领导节点选举过程的效率和有效性。
参见图5本申请实施例示出的节点数为30时传统Raft算法选举领导节点的性能示意图,图6是本申请实施例示出的节点数为30时P-Raft算法选举领导节点的性能示意图,在1000次领导节点选举中,P-Raft算法中节点C2被选为领导节点591次,节点E1被选为领导节点409次。
通过上述实施例可以看出,比较传统Raft算法和本申请中P-Raft算法选举出的领导节点的性能,本申请中P-Raft算法可以选举出性能最好的领导节点,选举的效率更高,选举的结果更有优势。通过性能评分的方式,避免了Raft算法中存在交易分歧的问题,并优化了Raft领导节点选举过程,总体上提高选举过程的效率和有效性。
参见图7,为了更好的理解本申请实施例的工作原理,在实际使用中可以包括如下使用过程。
跟随节点在设定的心跳超时时间内没有收到来自当前领导节点的心跳,则认为此时的服务器集群网络发生了某种变化。此时跟随节点读取自身性能并计算评分值,并依据评分计算等待超时上限T超时,即新一轮选举开始时,每个节点思考要不要做领导节点的时间。性能评分越高,T超时越小,就会越早成为候选节点并发起选举。
等待T超时后,节点发起选举,增加当前任期并将节点的身份改为候选节点。
领导节点并行向其他节点发送投票请求,接收到投票请求的节点比较自身和请求发送方的任期,若接收请求的节点任期比候选节点自身的任期高,候选节点将退出选举并变成跟随节点;在接收到投票请求的所有其他节点任期比候选节点自身任期低的情况下,节点为自身进行投票;最后通过得票数确定新任领导节点。
新任领导节点一经确定,即向其他节点发送确认信息,选举过程结束,其他节点会转换成跟随节点。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
参见图8,本申请实施例示出的一种适用于联盟链的高性能领导节点选举装置可以包括:
获取模块1,用于在确定超时时间内跟随节点未收到领导节点的心跳信息后,跟随节点读取自身性能。
选举模块2,用于将性能评分符合候选条件的跟随节点转换为候选节点,并根据选举规则从候选节点中选举新任领导节点;
触发模块3,用于当新任领导节点向跟随节点发送心跳信息后,进入下一任期选举。
其中,触发模块的触发条件包括:
跟随节点未收到心跳信息。
本申请实施例中,接收用于更换当前领导节点的选举请求包括:
领导节点向跟随节点发送心跳信息。
跟随节点接收领导节点传输心跳信息的时限设置为超时时间。
当传输所述心跳信息时间超过所述超时时间时,所述跟随节点接收所述选举请求并触发选举。
其中,所述心跳信息包括所述领导节点的实时运行状态。
本申请实施例中,确定多个跟随节点中符合候选条件的至少一个目标跟随节点包括:
跟随节点读取自身性能。
将自身性能输入节点性能评估计算模型中,得到跟随节点性能评分。
确定性能评分符合候选条件的至少一个目标跟随节点。
其中,自身性能包括cpu空闲率、内存空闲率、gpu空闲率和网络带宽空闲率;性能评分用于直接反应节点的性能。
本申请实施例中,跟随节点性能评分包括:
节点性能评分由机器性能评分和稳定性评分组成。
机器性能评分用于表示服务器性能。
稳定性评分用于表示服务器稳定性。
本申请实施例中,机器性能评分包括:
获取节点自身性能。
基于层次分析法计算机器性能指标权系数。
通过联立性能参数与性能指标权系数,得到机器性能评分。
本申请实施例中,稳定性评分包括:
获取节点宕机次数。
根据节点宕机次数,计算得到稳定性评分。
本申请实施例中,根据选举规则从候选节点中选举新任领导节点包括:
候选节点向跟随节点发送投票请求。
跟随节点比较自身与候选节点的节点性能评分。
通过收到半数以上选票确定新任领导节点。
参见图9,图9是本申请实施例示出的电子设备的结构示意图,电子设备600包括存储器610和处理器620。
处理器620可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器610可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器620或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器610可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器610可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、minSD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器610上存储有可执行代码,当可执行代码被处理器620处理时,可以使处理器620执行上文述及的方法中的部分或全部。
上文中已经参考附图详细描述了本申请的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本申请所必须的。另外,可以理解,本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使所述处理器执行根据本申请的上述方法的各个步骤的部分或全部。
本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本申请的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (9)
1.联盟链的高性能领导节点选举方法,其特征在于,包括:
接收用于更换当前领导节点的选举请求;
跟随节点读取自身性能;
将所述自身性能输入节点性能评估计算模型中,得到所述跟随节点性能评分;
确定所述性能评分符合候选条件的至少一个目标跟随节点;
将所述至少一个所述目标跟随节点转换为候选节点;
根据选举规则从所述候选节点中选举新任领导节点;
其中,所述自身性能包括cpu空闲率、内存空闲率、gpu空闲率和网络带宽空闲率;所述性能评分用于直接反应节点的性能;所述选举规则用于表征目标收到半数以上选票。
2.根据权利要求1所述的领导节点选举方法,其特征在于,所述接收用于更换当前领导节点的选举请求包括:
所述领导节点向所述跟随节点发送心跳信息;
所述跟随节点接收所述领导节点传输所述心跳信息的时限设置为超时时间;
当传输所述心跳信息时间超过所述超时时间时,所述跟随节点接收所述选举请求并触发选举;
其中,所述心跳信息包括所述领导节点的实时运行状态。
3.根据权利要求1所述的领导节点选举方法,其特征在于,所述跟随节点性能评分包括:
所述节点性能评分由机器性能评分和稳定性评分组成;
所述机器性能评分用于表示服务器性能;
所述稳定性评分用于表示服务器稳定性。
4.根据权利要求3所述的领导节点选举方法,其特征在于,所述机器性能评分包括:
获取节点自身性能;
基于层次分析法计算机器性能指标权系数;
通过联立性能参数与所述性能指标权系数,得到所述机器性能评分。
5.根据权利要求3所述的领导节点选举方法,其特征在于,所述稳定性评分包括:
获取节点宕机次数;
根据节点宕机次数,计算得到所述稳定性评分。
6.根据权利要求1所述的领导节点选举方法,其特征在于,所述根据选举规则从所述候选节点中选举新任领导节点包括:
所述候选节点向跟随节点发送投票请求;
所述跟随节点比较自身与所述候选节点的节点性能评分;
通过收到半数以上选票确定所述新任领导节点。
7.联盟链的高性能领导节点选举装置,其特征在于,包括:
获取模块,用于在确定超时时间内跟随节点未收到领导节点的心跳信息后,所述跟随节点读取自身性能;
选举模块,用于将性能评分符合候选条件的所述跟随节点转换为候选节点,并根据选举规则从所述候选节点中选举新任领导节点;
触发模块,用于当所述新任领导节点向所述跟随节点发送心跳信息后,进入下一任期选举;
其中,所述触发模块的触发条件包括:所述跟随节点未收到所述心跳信息。
8.一种电子设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-6中任一项所述的方法。
9.一种存储介质,其特征在于,所述存储介质用于存储指令代码,所述指令代码用于执行如权利要求1-6中任一项所述的领导节点选举方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310114400.4A CN115865923A (zh) | 2023-02-15 | 2023-02-15 | 联盟链的高性能领导节点选举方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310114400.4A CN115865923A (zh) | 2023-02-15 | 2023-02-15 | 联盟链的高性能领导节点选举方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115865923A true CN115865923A (zh) | 2023-03-28 |
Family
ID=85658050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310114400.4A Pending CN115865923A (zh) | 2023-02-15 | 2023-02-15 | 联盟链的高性能领导节点选举方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115865923A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660367A (zh) * | 2018-11-21 | 2019-04-19 | 语联网(武汉)信息技术有限公司 | 基于改进Raft算法的共识达成方法、装置与电子设备 |
US20190289068A1 (en) * | 2017-06-07 | 2019-09-19 | Zhongan Information Technology Service Co., Ltd. | Method, apparatus and system for realizing communication between blockchains |
CN111371877A (zh) * | 2020-02-28 | 2020-07-03 | 桂林电子科技大学 | 一种异构联盟链的共识方法 |
CN114189421A (zh) * | 2022-02-17 | 2022-03-15 | 江西农业大学 | 一种领导者节点选举方法、系统、存储介质及设备 |
-
2023
- 2023-02-15 CN CN202310114400.4A patent/CN115865923A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190289068A1 (en) * | 2017-06-07 | 2019-09-19 | Zhongan Information Technology Service Co., Ltd. | Method, apparatus and system for realizing communication between blockchains |
CN109660367A (zh) * | 2018-11-21 | 2019-04-19 | 语联网(武汉)信息技术有限公司 | 基于改进Raft算法的共识达成方法、装置与电子设备 |
CN111371877A (zh) * | 2020-02-28 | 2020-07-03 | 桂林电子科技大学 | 一种异构联盟链的共识方法 |
CN114189421A (zh) * | 2022-02-17 | 2022-03-15 | 江西农业大学 | 一种领导者节点选举方法、系统、存储介质及设备 |
Non-Patent Citations (1)
Title |
---|
钱卫宁;邵奇峰;朱燕超;金澈清;周傲英;: "区块链与可信数据管理:问题与方法" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018154713A1 (ja) | 情報検証システム、情報検証装置、方法およびプログラム | |
US20120266175A1 (en) | Method and device for balancing load of multiprocessor system | |
CN113965359B (zh) | 面向联邦学习数据投毒攻击的防御方法及装置 | |
CN111291894B (zh) | 超参数优化过程中的资源调度方法、装置、设备及介质 | |
JP2008518337A5 (zh) | ||
CN109597800B (zh) | 一种日志分发方法及装置 | |
CN111562884B (zh) | 一种数据存储方法、装置及电子设备 | |
CN110543279B (zh) | 一种数据存储、处理方法、装置及系统 | |
CN116166443A (zh) | 一种游戏任务系统的负载优化方法及系统 | |
CN115865923A (zh) | 联盟链的高性能领导节点选举方法、装置、设备及介质 | |
CN117033004B (zh) | 负载均衡方法、装置、电子设备及存储介质 | |
US20160219100A1 (en) | Method and Apparatus of Processing Retransmission Request in Distributed Computing | |
CN112749035B (zh) | 异常检测方法、装置及计算机可读介质 | |
CN116700620A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN108197498A (zh) | 获取数据的方法及装置 | |
CN115883391A (zh) | 单用户服务选择方法及装置 | |
CN117829938A (zh) | 订单履约管理方法及装置 | |
CN116980281A (zh) | 节点选取方法、装置、第一节点、存储介质及程序产品 | |
CN109547236A (zh) | 电子数据上传存储方法、可读存储介质和终端 | |
KR102367570B1 (ko) | 블록체인에서의 병렬적 블록 처리 방법, 이를 이용하는 블록체인 노드 및 프로그램 | |
KR20190048227A (ko) | 블록체인 기반 데이터 관리 방법 및 그 장치 | |
US20210182135A1 (en) | Method and apparatus for fault prediction and management | |
CN113778685A (zh) | 一种用于城市燃气管网边缘计算系统的卸载方法 | |
US20240179018A1 (en) | Node selection method and apparatus, first node, storage medium, and program product | |
CN116781495A (zh) | Pulsar Proxy节点选择方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230328 |