CN116760837B - 一种基于联邦学习和权益选举的分布式共识方法及系统 - Google Patents
一种基于联邦学习和权益选举的分布式共识方法及系统 Download PDFInfo
- Publication number
- CN116760837B CN116760837B CN202311058539.8A CN202311058539A CN116760837B CN 116760837 B CN116760837 B CN 116760837B CN 202311058539 A CN202311058539 A CN 202311058539A CN 116760837 B CN116760837 B CN 116760837B
- Authority
- CN
- China
- Prior art keywords
- node
- election
- model
- equity
- follower
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 107
- 230000007246 mechanism Effects 0.000 claims abstract description 13
- 238000012163 sequencing technique Methods 0.000 claims abstract description 6
- 230000008569 process Effects 0.000 claims description 58
- 238000012549 training Methods 0.000 claims description 41
- 239000011159 matrix material Substances 0.000 claims description 20
- 230000008901 benefit Effects 0.000 claims description 17
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 230000006399 behavior Effects 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013480 data collection Methods 0.000 claims description 4
- 238000007477 logistic regression Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 claims description 2
- 230000004048 modification Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 abstract description 71
- 238000002474 experimental method Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 8
- 230000002776 aggregation Effects 0.000 description 7
- 238000004220 aggregation Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 230000006854 communication Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000010076 replication Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
- H04L67/1057—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers involving pre-assessment of levels of reputation of peers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及基于联邦学习和权益选举的分布式共识方法及系统,属于分布式系统技术领域。包括提供分布式共识集群,初始状态下,分布式共识集群中包括一个领导者节点和多个跟随者节点,应用联邦学习机制为每一跟随者节点配置选举模型。当判断分布式共识集群中无准领导者节点时,跟随者节点主动运行选举模型,在预设选举时间内获得权益选举等待列队,权益选举等待列队中包括多个权益节点。配置权益选举模型,权益选举模型用于确定每一权益节点的权益值,对多个权益值进行排序,位于第一位的权益值对应的权益节点被选举成为准领导者节点。本发明能够解决现有Raft共识算法存在的投票分裂现象、领导者节点可靠性低以及数据隐私等问题。
Description
技术领域
本发明涉及分布式系统技术领域,尤其涉及一种基于联邦学习和权益选举的分布式共识方法及系统。
背景技术
Raft作为一种分布式共识方法,用于在分布式系统中实现一致性,确保节点之间的数据一致性和一致性操作的正确性。它被广泛应用于分布式数据库、分布式存储系统、分布式计算系统等领域。
在实际应用中,Raft共识算法存在投票分裂现象、领导者节点可靠性低以及数据隐私等问题。第一方面,Raft集群中因为会经常出现多个候选者同时发起投票,平分投票后无法选出领导者的现象,因此,导致任期增加并重新发起投票过程以及造成选举时延过高等问题。第二方面,Raft集群中节点性能存在差异,领导者节点的选举与时间因素相关,具有随机性,若选出的领导者节点性能较差,会产生网络分区甚至突然下线的问题。第三方面,节点数据隐私目前变得越来越重要,当Raft集群安全性较低时,一旦节点数据泄露,将造成十分严重的后果。
发明内容
本发明的目的在于提供一种基于联邦学习和权益选举的分布式共识系统及运行方法,以解决现有Raft共识算法存在的投票分裂现象、领导者节点可靠性低以及数据隐私等问题。
第一方面,本发明提供一种基于联邦学习和权益选举的分布式共识方法,包括以下步骤:
提供分布式共识集群,初始状态下,分布式共识集群中包括一个领导者节点和多个跟随者节点;应用联邦学习机制为每一跟随者节点配置选举模型。
当判断分布式共识集群中无准领导者节点时,跟随者节点主动运行选举模型,在预设选举时间内获得权益选举等待列队,权益选举等待列队中包括多个权益节点。
配置权益选举模型,权益选举模型用于确定每一权益节点的权益值,对多个权益值进行排序,位于第一位的权益值对应的权益节点被选举成为准领导者节点。
当领导者节点下线时,准领导者节点改变状态为新一任期的领导者节点。
与现有技术相比,本发明提出应用联邦学习机制为每一跟随者节点配置选举模型,并进一步的将通过选举模型获得的权益选举等待列队,利用权益选举模型从权益节点中选举产生准领导者节点,再通过投票选举成为领导者的过程,解决了现有分布式共识方法中因频繁投票分裂和领导者下线的问题,提高了集群的稳定性和可用性。
另外,应用联邦学习机制训练获得选举模型的过程保证了节点(包括领导者节点和跟随者节点)数据隐私不被泄露,同时选举模型的可追溯性和权益值的判定也一定程度上保证了选举过程的安全性。
第二方面,本发明还提供一种基于联邦学习和权益选举的分布式共识系统,包括分布式共识集群,初始状态下,分布式共识集群中包括一个领导者节点和多个跟随者节点;应用联邦学习机制为每一跟随者节点配置选举模型;
当判断分布式共识集群中无准领导者节点时,跟随者节点主动运行选举模型,在预设选举时间内获得权益选举等待列队,权益选举等待列队中包括多个权益节点;
配置权益选举模型,权益选举模型用于确定每一权益节点的权益值,对多个权益值进行排序,位于第一位的权益值对应的权益节点被选举成为准领导者节点;
当领导者节点下线时,准领导者节点改变状态为新一任期的领导者节点。
与现有技术相比,本发明提供的基于联邦学习和权益选举的分布式共识系统的有益效果与第一方面和/或第一方面任一种实现方式提供的基于联邦学习和权益选举的分布式共识方法的有益效果相同,在此不做赘述。
第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面提供的基于联邦学习和权益选举的分布式共识方法。
与现有技术相比,本发明提供的电子设备的有益效果与第一方面和/或第一方面任一种实现方式提供的基于联邦学习和权益选举的分布式共识方法的有益效果相同,在此不做赘述。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的分布式共识方法的领导者节点选举的状态转换图;
图2为本发明实施例提供的分布式共识方法的领导者节点选举流程图;
图3为本发明实施例提供的FL-Raft与经典Raft共识方法的选举时延对比图;
图4为本发明实施例提供的FL-Raft与经典Raft共识方法的在任时间对比图;
图5为本发明实施例提供的FL-Raft与经典Raft共识方法的可靠性对比图;
图6为本发明实施例提供的FL-Raft与其他共识方法的共识时延对比图;
图7为本发明实施例提供的FL-Raft与其他共识方法的吞吐量对比图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。“若干”的含义是一个或一个以上,除非另有明确具体的限定。
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
区块链如今是分布式应用的大方向,它融合了P2P传输、加密算法、共识算法、分布式账本等技术,在去中心化的环境中让所有节点参与并维护共享的数据。共识算法在解决区块链系统中各个节点日志内容一致性问题的同时,也使其具备一定的容错能力。根据应用场景可将区块链分为公有链、私有链和联盟链三类。每一种链中都有适用的共识算法,如公有链的PoW(Proof of Work)和PoS(Proof of Stake),私有链的Paxos和VR(Viewstampedreplication),联盟链的PBFT、DPoS和Raft等。
良好的共识算法可以解决区块链可用性、共识时延、吞吐量和安全性等问题。自从2013年提出了Raft共识算法后,它的易理解和易实现特点迅速代替Paxos算法成为主流共识算法,数据吞吐量与Multi-Paxos算法不相上下。许多分布式应用也采用Raft作为其底层共识算法,如联盟链Quorum、redis和etcd等。
Raft共识算法属于非拜占庭容错类型,它具备较高的数据吞吐量,同时易于实现和改进。Raft共识算法的领导者节点是Raft集群中不可或缺的节点。通常情况下只有唯一一个,它需要接收用户的日志添加请求,并且让Raft集群中的其他节点(如跟随者节点)就日志消息达成共识,所以它成为了影响Raft集群共识效率的重要因素。
目前有许多针对Raft集群中领导者节点选举的研究方案,例如,现有技术提出一种结合区块链网络层的双层Kademlia路由协议改进了经典的Raft共识算法中领导者节点选举过程,并将其命名为K-Raft,但是却未考虑引入K桶带来的安全性问题。还有在Raft集群内部成立PBFT算法的委员会用以改进领导者节点选举的过程,使其适用于拜占庭环境,然而该算法复杂度较高,不适用于网络质量较差的环境。再有,开发了一种随机选择算法减少了参与投票的节点数,减少了选举时延,然而难以分析运行时间核获得错误解决方案的概率。另外,在领导者节点选举过程中加入候选者票数转让机制,减少票数分裂问题,最终缩短了选举时间,但会影响去中心化的程度。
针对领导者节点选举部分的改进方法各异,近些年来机器学习发展迅速,联邦学习结合区块链共识的BFL(Blockchain based Federated Learning,简称为BFL)框架研究层出不穷。现有技术提出基于联盟链的联邦学习分布式计算架构,通过去中心化的分布式训练模式和模型压缩改进PBFT(Practical Byzantine Fault Tolerance,简称为PBFT)算法。例如,提出了一种具有委员会共识的基于区块链的去中心化联邦学习框架,减少共识计算量和恶意攻击概率。再例如,提出了一种完全分散的对等多方联邦学习方法,使用区块链和加密技术来协调对等客户端之间的训练数据隐私保护过程。
现有技术中,利用联邦学习评估Raft集群中每个节点的网络稳定性,选取更稳定的节点作为下一个任期的领导者节点,降低了网络分裂的概率。却仅利用联邦学习改进了网络分裂的情况,并没有充分的利用联邦学习其他特性,也未对算法进行安全性分析和改进。
机器学习常常用来预测结果与数据分类,将分布式与机器学习结合也是现如今研究的热点。联邦学习作为机器学习的一种方式,不仅可以在分布式环境中训练模型,还可以保护客户端的数据隐私和安全。在联邦学习环境中,定义存在N个数据所有者F1,…,FN,它们拥有各自的数据D1,…,DN,假设中心式机器学习使用D=D1∪...∪DN训练出一个模型MSUM,准确度VSUM。联邦学习所有数据拥有者协作训练一个模型MFED,其中所有数据所有者Fi都不会将其数据Di泄露给它者,MFED的准确度用VFED表示,其大小接近MSUM。σ为非负的精度损失,联邦学习达到σ-精确损失(“σ-”表示无限接近σ如下式所示:
|VFED-VSUM|<σ。
联邦学习的横向架构是由多个客户端a和一个服务端β组成,单个客户端ai负责根据本地的数据Di训练第j轮次的模型并将梯度/>通过加密成ECD(/>)上传至服务端β,服务端β负责将所有的加密梯度进行聚合平均Favg{ ECD(/>),ECD(/>),…,ECD(/>)}来获取全局模型/>,之后返回加密的全局模型参数ECD(/>)给每个客户端{a1,a2,...,an}。在这个过程中服务端β必须保证是信任节点,且客户端a本地数据Di不参与网络传播。联邦学习应用也很广泛,常见于与边缘计算、区块链、迁移学习等技术融合。
总结来看,现有技术提供的Raft共识算法存在投票分裂现象、领导者节点可靠性无法保证以及数据隐私等问题。具体来看,Raft集群中会经常出现多个候选者同时发起投票,平分投票后无法选出领导者,会增加任期并重新发起投票过程,造成选举时延过高。Raft集群中节点性能存在差异,其选举和时间因素相关,具有随机性,若选出的领导者性能较差,会产生网络分区甚至突然下线的问题。节点数据隐私目前变得越来越重要,当集群安全性较低时,一旦节点数据泄露,将造成十分严重的后果。
经过深入分析发现,Raft共识算法之所以存在上述问题,主要是由于Raft共识算法的设计原则和实现方式导致的。例如,Raft共识算法通过定期选举领导者来确保系统的可用性和一致性,但是这也会增加系统的开销。另外,Raft共识算法使用原子广播来确保数据一致性,但是这也会增加通信延迟和网络带宽的开销。
鉴于此,对Raft共识算法和联邦学习进行分析,本发明实施例提出了基于联邦学习和权益选举的分布式共识方法,即FL_Raft(Federal-learning-Raft,简称为FL_Raft)共识方法,该方法通过优化领导者节点选举过程,实现了对典型的Raft共识算法的改进。
参见图1和图2,本发明实施例提供的基于联邦学习和权益选举的分布式共识方法,整体看,是在原有的Raft共识算法的基础上加入了联邦学习模型和权益选举过程,同时添加准领导节点角色,作为跟随者节点成为领导者节点的过渡节点。当FL_Raft集群中没有领导者节点时,准领导者节点改变状态为领导者节点,以保证FL_Raft集群的稳定运行。FL_Raft共识算法设定领导者节点为联邦学习服务端,当领导者节点存在时才会开始联邦学习过程,以防止联邦服务端单点故障问题的发生。FL_Raft分布式共识方法的状态转换图如图1所示。
参见图1,初始状态下,FL_Raft集群中包括一个领导者节点和多个跟随者节点。应用联邦学习机制为每一跟随者节点配置选举模型。当判断分布式共识集群中无准领导者节点时,跟随者节点主动运行选举模型,在预设选举时间内获得权益选举等待列队,权益选举等待列队中包括多个权益节点。配置权益选举模型,权益选举模型用于确定每一权益节点的权益值,对多个权益值进行排序,位于第一位的权益值对应的权益节点被选举成为准领导者节点。当领导者节点下线时,准领导者节点改变状态为新一任期的领导者节点。
需要进一步解释的是,准领导者节点的选举行为由跟随者节点主动发出,即当FL_Raft集群中不存在准领导者节点时,跟随者节点会基于选举模型开展选举过程,而且选举过程并不需要领导者节点的干预,所以即使领导者节点突然下线,选举过程也能够稳定运行。为了防止准领导者节点选举超时,FL_Raft集群保留了原Raft集群的候选者投票选举过程。
即预设选举时间内未获得权益选举等待列队的情况下,即权益选举等待列队选举超时的情况下,从多个跟随者节点中选举产生候选者节点,每一候选者节点发起投票请求,当某一候选者节点收到票数阈值以上的票数时,变更状态为新一任期的领导者节点。
作为一种可能的实现方式,应用联邦学习机制为每一跟随者节点配置选举模型,包括:
在每一跟随者节点下,配置满足选举模型训练要求的数据集,数据集中包括除隐私数据以外的属性数据。该步骤具体可以包括数据收集、数据存储、数据处理和数据使用。其中,数据收集是针对于每一跟随者节点,按照预设频率记录单条数据,在预设周期内记录的所有单条数据构成跟随者节点的数据集,数据集中的数据属性值至少包括任期、最新的日志索引、运行时长、投票时和状态类型。数据存储指的是数据集中的数据具有时间点和属性值两个维度,数据集中的数据存储形式为以时间点和属性值构成的二维矩阵。数据处理指的是二维矩阵为稀疏矩阵,稀疏矩阵中包括零值元素和非零元素,其中,对于非零元素,以元素值、行值和列值构成的三元组存储在顺序表中。数据使用指的是将顺序表重构为二维矩阵,填补零值元素。
在每一跟随者节点内,采用逻辑回归方法且利用跟随者节点本地的数据集计算训练梯度,将更新梯度发送至领导者节点。领导者节点接收每一跟随者节点发送的更新梯度后进行聚合以获得全局模型。领导者节点利用存储在本地的数据集评估全局模型,在评估结果为合格的情况下,向每一跟随者节点广播全局模型。
以下以具体的实施例阐述应用联邦学习机制训练获得选举模型的过程,应理解,以下阐述仅作为解释,不作为限定。
联邦学习目的是通过收集FL_Raft集群中每个跟随者节点的特征数据,训练出可预测领导者节点功能的模型。联邦学习的服务端为领导者节点,客户端为集群中正常运行的非领导者节点,采用的训练架构为横向联邦学习。其过程包含三个步骤:数据集的收集与处理、客户端模型训练以及服务端聚合并广播模型。
其中,数据集的收集与处理是联邦学习模型训练的基础,数据集只保证在节点(此处的节点包括领导者节点、准领导者节点和跟随者节点)本地使用,而不参与通信过程。通常数据集中的特征数据需要包含以下三个关键特征:
No-IID:各节点训练数据通常是基于特定节点自身的属性特征,因此任何特定节点的本地数据集都无法代表集群整体的分布。
不平衡:每个节点的运行时间和性能并不相同,从而会导致不同数量的本地训练数据。
通信约束:通常来说,节点会存在离线状态,或处于缓慢和昂贵的连接状态,应更多适用于通信复杂度较低的环境中。
通过分析以上三点,本发明实施例提供了一种FL_Raft集群数据集的收集、存储、处理及使用方法,具体包括如下步骤:
收集:设定跟随者节点在较小的时间间隔Tcollection,以fcollection=1/Tcollection的频率记录单条数据。假设当前时间点为t,节点编号为i,则该条记录为Di_t,全部的记录共同构成节点i的特征数据集Di。其中,属性值包括任期(Term)、最新的日志索引(Log_Index)、运行时长(Run_Time)、投票时(Voting_Delay)、状态类型(State)等,除日志消息等隐私数据外,任何与节点相关的属性都可以被收集。
存储:考虑数据集由时间点和特征属性两个维度构成,FL_Raft集群设定以时间点t与属性值A构成二维矩阵E,Ei则为单个跟随者节点需要持久化存储的数据集。随着FL_Raft集群的运行和数据的变化,较早时间点的数据对模型优化作用较小,需要定期删除。
处理:由于FL_Raft集群中节点的状态不断变化,某个时间点仅会记录少量的属性值,而未记录部分以零值替代,故Ei普遍为稀疏矩阵,为节约存储空间考虑采用三元组法,对于非零元素vxy,以(v,x,y)构成的三元组存储在顺序表Li中,其中v是元素值,x是v所在的行值、y是v所在的列值。
使用:在模型训练前,要将顺序表Li重构为二维数组Ei,然后对零值进行预处理,具体采用如下公式对零值进行预处理:
其中,v´ x,y 为处理后的元素值,f为计数函数(非零值计为1),x为数据集总数,k为参与模型训练的节点总数。经处理后的数据集E´可适用于模型训练过程,这种做法可提高模型训练的准确率。
模型训练发生在客户端本地,仅使用数据集参与训练,并不会在网络中传输任何可能泄露客户端隐私的数据。模型的方法采用逻辑回归,使用sigmoid函数公式将预测值压缩在区间0,1内,其中,预测标签为1的概率即为sigmoid,函数的值为Py=1=σ(z)=p,预测标签为0的概率则为Py=0=1−p。
使用最大似然作为损失函数如下式所示,其中P总为样本概率:
使用SGD随机梯度下降算法优化模型,如下式所示:
;/>
为减少通信次数,FL_Raft集群中增加了每个跟随者节点的计算量,即在每轮通信之间,每个跟随者节点进行多次的本地更新参数计算,并且与每一轮领导者节点参数更新只需要一次跟随者节点本地更新的FedSGD算法进行对比。联邦学习训练的模型精度可以根据集群节点总体性能控制,计算能力越强,模型收敛速度更快,同时联邦学习所使用的训练集大小可以根据集群环境调整,如某一数据量下模型准确率已经达到很高,则不用再增加数据量训练。
领导者节点接收来自跟随者节点的模型更新参数fi(w)=f(xi,yi,w)后,将会进行聚合过程,FL_Raft使用最常用的FedAvg算法,公式如下:
假设有K个跟随者节点参与了聚合过程,其中P k 是跟随者节点k上的数据集,其中n k =|P k |,由此上式可以改写为:
where
其中,n表示参与聚合的数据数量,w表示模型当前的参数,F k 表示最大似然损失函数。FL_Raft在聚合后会得到一个待验证的全局模型F(w),服务端即领导者节点使用本地数据集对模型进行评估,以此决定是否继续训练模型,若评估合格,会向每个跟随者节点广播全局模型F(w),否则继续进行新一轮的训练过程。
联邦学习的执行步骤如算法1所示。
算法1 联邦学习算法
输入:初始化全局参数g,收集时间间隔Tcollection
输出:新的联邦学习模型f(w)
作为一种可能的实现方式,当判断分布式共识集群中无准领导者节点时,跟随者节点主动运行选举模型,在预设选举时间内获得权益选举等待列队,包括:每一跟随者节点接收来自领导者节点广播的全局模型,全局模型覆盖跟随者节点的本地模型。读取跟随者节点本地的数据集。对跟随者节点本地的数据集进行预处理,预处理包括将顺序表重构为二维矩阵,以及填充零值元素,以获得预处理后数据集。采用预处理后数据集训练全局模型,以获得本地更新模型。采用预处理后数据集执行本地更新模型,将成为领导者节点概率大于概率阈值的跟随者节点放入权益选举等待列队中;概率阈值大于或等于50%。
以下以具体的实施例阐述准领导者节点的选举过程,应理解,以下阐述仅作为解释,不作为限定。
典型的Raft共识算法中跟随者节点只能通过候选者节点才能成为领导者节点,这样的方式不仅非常局限,还会产生两大问题。一是投票分裂问题,多个候选者节点平分投票,迟迟无法选出领导者节点,导致一段时间内的Raft集群不可用。二是选举出的领导者节点具有随机性,无法保证其性能是最优的,若其性能较差,会产生频繁下线或网络分裂的问题,影响集群的稳定性。准领导者是FL_Raft集群相较Raft集群独有的一种节点类型,它是经过模型选举和权益选举的跟随者节点。准领导者节点的选举是经过模型的预测以及权益的严格筛选后得到的,代表当前集群中最有可能成为下一任领导者的节点,它具备领导者节点条件的同时还拥有良好的性能,同时权益选举确保选举结果唯一、正确且具有一定的公平性。下面详细介绍FL_Raft两种选举过程。
跟随者节点是模型选举的发起者,这里的模型是指经过联邦学习得到的。FL_Raft集群中模型选举存在触发条件,即跟随者节点在接收新一轮的全局模型f(w)后才可发起模型选举过程,这样做的目的在于保证跟随者当前的模型是最新状态。
模型选举的执行步骤如下:
接收来自领导者节点广播的全局模型f g (w),将其覆盖自己本地的模型f l (w)。
读取本地联邦学习训练所需的数据集Di。
预处理本地联邦学习训练所需的数据集Di,将三元组顺序表Li重构为二维数组Ei,并且对零值进行填充操作。
读取本地联邦学习的模型fl´(w),使用预处理后的数据集Ei´执行模型函数。
若模型函数预测成为领导者的概率超过50%,则将其放入权益选举等待队列Qp中,否则放弃此次模型选举,重新执行第一步骤。
算法2 描述了模型选举的过程。
算法2 模型选举算法
输入:客户端节点node
输出:Equity队列EQ
经过模型选举出的节点,有超过50%的概率会成为下一任领导者节点,这类节点通常拥有良好的性能,并且节点的属性条件会更适合成为领导者,若其成为领导者节点可以大幅减少节点下线和网络分裂情况的发生。
模型选举虽然可以得到性能较好的节点,但是若是只通过这个方式选举领导者,会存在两个问题:
第一,若FL_Raft集群中拥有一批高性能服务器节点参与共识,这批节点很可能通过模型选举,若是成为领导者节点,那么去中心化程度和安全性将大大降低。
第二,模型选举仍然存在一定的漏洞风险,若模型准确率低或跟随者节点使用伪造的模型,选举出的权益节点并不一定符合领导者节点的要求,一旦当选领导者节点,可能会危害FL_Raft集群的正常运行。
由此,FL_Raft集群经过模型选举后会得到一个权益选举等待队列Qp,队列中的节点称为权益节点,它们需进行权益选举过程。为保证公平性和安全性,FL_Raft假设权益选举的发起者为可信的第三方节点。权益选举分为三大部分:
第一,权益分配。FL_Raft集群将权益值设为百分比等级,上限为100%,代表权益最大值,下限为0%,代表权益最小值,若一个节点权益为0%时,它也就失去了成为领导者的资格。初始时节点权益为50%,当然不仅限于50%,可以是非0%以及100%的其他值。
第二,权益变更。FL_Raft集群将根据节点的属性和行为对权益进行变更,假设当前节点权益值为p∈[0%,100%],详细变更情况如表1所示:
表1权益变更情况说明表
第三,权益排序。Qp中剩余节点根据权益值从大到小进行排序,排序方式为稳定排序,当权益值一致时,最早加入队列的节点将会排在前面。最终排序第一的节点成为准领导者节点。
算法3 描述了权益选举的过程。
算法3 权益选举算法
输入:权益Equity队列Qp,最新领导者Lnew,最新联邦学习节点列表LFL
输出:准领导者Lq
/>
上述过程中,对于任期、日志条目和本地模型不是最新的节点,会将其从选举队列中删除;减少上一任领导者的权益值,使得其余节点有当选领导者的机会。权益选举一方面筛选了不符合领导者要求的节点,一方面防止高性能节点频繁成为领导者从而影响去中心化程度,保证了选举的正确性和公平性。值得说明的是,本地模型不是最新的节点权益值会减小,参与最新联邦学习的节点权益值增加,目的都是为了提高节点进行联邦学习的积极性。
参见图2,下面将以具体的实施例阐述本发明实施例提供的基于联邦学习和权益选举的分布式共识方法的实施流程。
FL_Raft区别于Raft最重要的一点就是加入了准领导者节点选举过程,与候选者直接投票选举方式不同,准领导者选举先通过模型选举和权益选举筛选实现的,目的在于改善候选者投票的分裂问题以及领导者频繁下线问题,提高集群的吞吐量和稳定性。准领导者的选举是经过模型验证和预测的,且结果具有唯一性和正确性。Raft共识集群的分布式架构,为联邦学习过程提供了合适的环境,在不涉及节点数据隐私的情况下完成模型的构建,保证了去中心化程度和良好的安全性。
FL_Raft集群领导者节点选举流程分为三大部分:联邦学习、准领导者选举、候选者投票,如图2所示。执行步骤如下:
S10. FL_Raft集群稳定运行情况下,若领导者节点在线跳转步骤S11,否则跳转步骤S13。
S11. 若是第一次联邦学习过程,则领导者节点首先广播初始模型f0(w),(w=0),否则跳转步骤S12。
S12. 执行正常的联邦学习过程:跟随者节点i(i=1,2,...,n)使用本地数据集Di进行模型fl(w)训练过程,并将更新参数Ui(w)发送给领导者节点j,在收集到充分的更新参数后领导者节点j进行聚合过程,并将新的全局模型广播fg(w)给集群中所有跟随者节点,跟随者节点更新本地模型为fl´(w)=fg(w)。
S13. 当领导者节点不在线时,若FL_Raft集群中不存在准领导者节点,跳转步骤S14,否则准领导者节点成为领导者节点,跳转步骤S15。
S14 .该步骤分为两点:候选者和准领导者节点的选举:
S140. 候选者的选举,跟随者节点等待选举超时,将状态设为候选者,为自己投一票,并向集群中其余节点发起投票请求,其余跟随者节点若任期和日志条目均小于等于候选者,则向该候选者投一票,在候选者收集到超过集群总节点数一半的票数时,成为领导者节点,否则在投票超时后重新发起投票,等待新一轮选举。
S141. 准领导者节点的选举,跟随者节点i利用本地的模型fl´(w)和数据集Di进行模型选举过程,选举出的节点进入权益等待队列Qp,然后Qp中的节点进行权益选举过程,排名第一的节点成为准领导者,上述过程也可发生在领导者在线状态,以减少领导者下线后的选举时间。按照Qp队列中的顺序发起新一轮投票,在收到超过集群一半数量的票数后成为领导者,否则替换准领导者节点重新发起选举,若都已选举完仍无法选出领导者则等待新一轮选举。
S15. 领导者节点上线,启动心跳,接收日志并进行共识过程,同时各节点收集训练所需数据集。
算法4 描述了FL_Raft集群单个节点运行过程。
算法4 FL_Raft共识算法
输入:节点n,总节点数N
输出:无
/>
与现有技术相比,本发明提出通过收集跟随者节点本地数据集进行联邦训练,用得到的选举模型和权益值筛选合适的跟随者节点成为准领导者节点,再通过投票选举成为领导者节点的过程,解决了现有Raft共识算法中存在的频繁投票分裂和领导者节点下线的问题,提高了集群的稳定性和可用性。联邦学习的训练过程保证了各节点数据隐私不被泄露,同时模型的可追溯性和权益值的判定也一定程度上保证了选举过程的安全性。
本发明的实施方案是基于联邦学习的分布式机器学习框架,在该方案中,联邦学习聚合运行于每轮领导者迭代后,调用节点本地特征数据,通过联邦学习训练模型筛选高性能节点组;其次,建立基于行为的权益计算模型,对集群中每个节点的权益值动态调整;最后建立权益选举模型,队列选举准领导者节点,经全体节点投票选举后成为最终领导者节点。Raft共识算法实施方案是基于领导者选举和日志复制机制,所有节点都共享日志,并根据领导者选举规则选出一个领导者节点,领导者节点负责更新日志并向其他节点发送更新消息。
本发明采用分布式机器学习算法、加密技术、自适应算法、动态调整技术等技术手段,Raft共识算法采用领导者选举、日志复制、心跳机制等技术手段。同时,本发明更适用于大规模分布式系统,可以保护用户隐私和数据安全;而Raft共识算法更适用于中小规模的分布式系统,可以保证节点之间的一致性。
实验评估
1. 实验环境
实验使用虚拟机多端口映射方式搭建FL_Raft共识集群环境,运行环境硬件使用8核/16GB/64位的Intel(R)Core(TM)i7-10750,GPU为Geforce RTX 2060。其中,虚拟机硬件环境各不相同,用以模拟节点异构环境。软件开发环境采用Ubuntu18.04/Python3.6.5,联邦重建部分采用Tensorflow2.0开发的Federated Learning API,模型基于Keras库开发。FL_Raft集群部分默认配置参数如表2所示,配置均可以根据FL_Raft集群的特点进行修改。将在搭建的FL_Raft集群环境中对选举时延和可用性、领导者节点在任时长和可靠性、共识时延、数据吞吐量和模型准确率方面进行实验,以此验证FL_Raft集群的有效性和可靠性。
表2 FL_Raft集群默认配置表
2. 选举时延和可用性
选举时延是衡量共识算法的一项重要标准,传统Raft共识算法中会经常发生分裂投票问题,导致选举时延较高,FL_Raft共识算法结合联邦学习优化了选举过程。实验设定领导者节点在任时长为10s,当超时后会停止发送心跳并变为跟随者节点,FL_Raft集群会发起新一轮选举过程,以任期增长作为标准,假设选举前任期为Et1,选举后任期为Et2,则选举时延Edelay=Telec+(Et1-Et2)×Tvote,实验在12个节点的环境中行,取50次结果绘制成图3。其中,Edelay指选举时延、Telec指选举超时、Tvote指投票超时。
通过图3可以发现,Raft集群的选举时延波动性较大,最大达到2200ms,平均选举时延约在800ms,而FL_Raft集群的选举时延较为稳定,平均选举时延约在400ms。FL_Raft集群的低选举时延主要源于准领导者节点选举过程,减少了分裂投票的概率。
在选举过程中,由于集群中无领导者,无法处理新的日志请求,集群此时会处于不可用状态,故选举时延会间接影响集群高可用性。高可用性是指集群具有较高的无故障运行能力,可用性=平均无故障时间/集群总运行时间,设定在集群总运行50s内进行10次实验,测定在正常运行情况下Raft集群和FL_Raft集群的可用性,实验结果如表3所示。
由表3可知,在集群正常运行情况下,Raft集群的可用性维持在92%左右,而FL_Raft集群的可用性最高可以达到约97%,FL_Raft共识方法提高了集群可用性,同时节约出的故障时间可以处理更多的消息,对于提高集群吞吐量也有益处。
表3节点数为12个的集群可用性
3. 领导者的可靠性
领导者节点的可靠性影响着集群的稳定运行,一个网络质量不佳、计算能力弱的领导者节点无法为集群提供良好的运行环境,随时面临着下线的风险,而频繁的下线又会导致多次的选举过程,影响集群的可用性,而可靠的领导者节点可以更快速的处理消息,提高集群吞吐量。领导者节点的可靠性=领导者节点在线时长/总运行时间,本发明通过增加每秒日志请求量来对领导者节点进行施压,进行5组实验,得到在集群稳定运行情况下Raft和FL_Raft的平均领导者节点的在线时长和可靠性,结果如图4和图5所示。
由图4可知,Raft集群的在任时长平均为65s,FL_Raft集群为105s,FL_Raft集群的领导者节点在任时长要比Raft集群高40%左右。由图5可知,Raft集群的领导者节点可靠性约在97%,而FL_Raft集群的领导者节点可靠性可以达到99%,同时可以看出5组实验FL_Raft集群中的领导者节点更稳定。FL_Raft集群通过模型选举和权益选举过程筛选出集群中较为可靠的领导者节点,以保证FL_Raft集群的稳定运行。
4. 共识时延
共识时延指的是用户向共识集群发送到接收请求的时间间隔,是衡量共识效率的一个重要指标。实验设计用户以随机频率(1-5s内一次),对集群发送日志请求,记录为时间,通过再次接收到集群回复的成功响应为止,记录时间为T2,则共识时延Tcd=T2-T1,设定节点数为15,进行10组实验,计算平均共识时延。在相同的网络环境下(传输速率为100M/s),对Raft、
FL_Raft、K-Raft、RBFT和IRA_FL进行对比实验,计算各算法从请求到结果返回的时间差,取平均值测量共识时延,实验结果如图6所示。
在10组实验中,共识算法的共识时延稳定性表现较好,FL_Raft共识算法的共识时延平均稳定在47ms,Raft共识算法为51ms,K-Raft共识算法为43ms,RBFT共识算法为50ms,IRA_FL共识算法为48ms。通过对比后发现相同的实验环境中FL_Raft集群共识时延较其他算法更低,和K-Raft集群的共识时延十分相近,K-Raft集群的低共识时延得益于其并行日志复制方式。FL_Raft集群的准领导者节点选举过程降低了共识时延,加快了领导者节点处理日志消息的速度。
5. 吞吐量
吞吐量指的是集群每秒钟处理消息的数量,为方便计算吞吐量,本发明实施例在用户发送的日志消息中添加时间戳Ts1和唯一哈希H,当用户再次接收到集群领导者的回复请求时,进行哈希匹配,若匹配成功,记录接收时间戳Ts2,设定用户单次发送消息中包含N个日志,得到TPS=N/(Ts2-Ts1)。实验设置N=10,在相同网络环境下(100M/s)对Raft、FL_Raft、K-Raft、RBFT和IRA_FL进行10组实验,取平均值后得到结果如图7所示。
由实验结果可知,10组实验中,K-Raft共识算法吞吐量表现最好,平均每秒处理约230个日志消息,FL_Raft共识算法为215个/s,Raft共识算法为190个/s,RBFT共识算法为200个/s,IRA_FL中算法为210个/s。FL_Raft共识算法的吞吐量较其他算法均有所提高,与并行复制日志的K-Raft共识算法相比也很接近。FL_Raft集群表现出良好的处理日志效率,这得益于选举过程保证了领导者的可靠性,从而提高了共识性能。
6. 模型准确率
模型准确率指的是使用经过检验的数据集去运行模型,得到的结果与原数据集结果进行比对,其中正确率即为模型准确率。模型的准确率影响着选举的结果。因此我们设计在不同数据量和任期的集群环境中,使用收集到的验证数据集对模型进行评估,以检验FL_Raft集群中联邦学习的准确性,实验结果如表4所示。
通过表4可知,随着数据量的增长,模型的损失值不断下降,准确值不断上升,在2000个数据量的时候趋于稳定,准确率可以保证在96%以上,极大的提高了选举的正确性。任期的增加意味着数据量的不断完善,从表中可以看出准确值和任期成正比,在第7个任期后准确率趋于稳定,达到95%以上,我们测算了一下第7个任期的数据量,约在1000个左右,和数据量表结果较为一致,说明了实验的准确性和可靠性。FL_Raft中的联邦学习模型为领导者节点的筛选提供了较为准确的参考价值,随着集群的稳定运行,选举的准确率会不断提高,保证了共识过程中选举的高效性。若联邦学习模型长时间趋于稳定后,可以减少训练频率以降低节点的计算量。
表4不同数据量和任期的模型损失值与准确值
在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (7)
1.一种基于联邦学习和权益选举的分布式共识方法,其特征在于,包括以下步骤:
提供分布式共识集群,初始状态下,所述分布式共识集群中包括一个领导者节点和多个跟随者节点;应用联邦学习机制为每一所述跟随者节点配置选举模型,包括:在每一所述跟随者节点下,配置满足所述选举模型训练要求的数据集,所述数据集中包括除隐私数据以外的属性数据;在每一所述跟随者节点内,采用逻辑回归方法且利用所述跟随者节点本地的所述数据集计算训练梯度,以获得更新梯度,并将更新梯度发送至所述领导者节点;所述领导者节点接收每一所述跟随者节点发送的所述更新梯度后进行聚合以获得全局模型;所述领导者节点利用存储在本地的数据集评估所述全局模型,在评估结果为合格的情况下,向每一所述跟随者节点广播所述全局模型;其中,在每一所述跟随者节点下,配置满足所述选举模型训练要求的数据集,所述数据集中包括除隐私数据以外的属性数据,包括:数据收集,针对于每一所述跟随者节点,按照预设频率记录单条数据,在预设周期内记录的所有所述单条数据构成所述跟随者节点的数据集,所述数据集中的数据属性值至少包括任期、最新的日志索引、运行时长、投票时和状态类型;数据存储,所述数据集中的数据具有时间点和属性值两个维度,所述数据集中的数据存储形式为以所述时间点和属性值构成的二维矩阵;数据处理,所述二维矩阵为稀疏矩阵,所述稀疏矩阵中包括零值元素和非零元素,其中,对于所述非零元素,以元素值、行值和列值构成的三元组存储在顺序表中;数据使用,将所述顺序表重构为所述二维矩阵,填补所述零值元素;
当判断所述分布式共识集群中无准领导者节点时,所述跟随者节点主动运行所述选举模型,在预设选举时间内获得权益选举等待列队,所述权益选举等待列队中包括多个权益节点;具体包括如下步骤:每一所述跟随者节点接收来自领导者节点广播的所述全局模型,所述全局模型覆盖所述跟随者节点的本地模型;读取所述跟随者节点本地的所述数据集;对所述跟随者节点本地的所述数据集进行预处理,所述预处理包括将所述顺序表重构为所述二维矩阵,以及填充所述零值元素,以获得预处理后数据集;采用所述预处理后数据集训练所述全局模型,以获得本地更新模型;采用所述预处理后数据集执行所述本地更新模型,将成为领导者节点概率大于概率阈值的所述跟随者节点放入所述权益选举等待列队中;所述概率阈值大于或等于50%;
配置权益选举模型,所述权益选举模型用于确定每一所述权益节点的权益值,对多个所述权益值进行排序,位于第一位的所述权益值对应的所述权益节点被选举成为所述准领导者节点;
当所述领导者节点下线时,所述准领导者节点改变状态为新一任期的所述领导者节点。
2.根据权利要求1所述的基于联邦学习和权益选举的分布式共识方法,其特征在于,在所述预设选举时间内未获得权益选举等待列队的情况下,即所述权益选举等待列队选举超时的情况下,从多个所述跟随者节点中选举产生候选者节点,每一所述候选者节点发起投票请求,当某一所述候选者节点收到票数阈值以上的票数时,变更状态为新一任期的所述领导者节点。
3.根据权利要求1所述的基于联邦学习和权益选举的分布式共识方法,其特征在于,所述配置权益选举模型,所述权益选举模型用于确定每一所述权益节点的权益值,对多个所述权益值进行排序,位于第一位的所述权益值对应的所述权益节点被选举成为所述准领导者节点,包括:
权益值分配,为每一所述权益节点配置相同的初始权益值;
权益值变更,每一所述权益节点根据其自身的属性和行为变更其所述初始权益值,以获得更新权益值;
权益值排序,降序排列所述更新权益值,当所述更新权益值相等时,最早加入所述权益选举等待列队中的所述权益节点排列在前位,最终排序位于首位的所述权益节点被选举成为所述准领导者节点。
4.根据权利要求3所述的基于联邦学习和权益选举的分布式共识方法,其特征在于,所述权益值变更,每一所述权益节点根据其自身的属性和行为变更其所述初始权益值,以获得更新权益值包括:
所述属性包括任期是否为最新、日志条目是否为最新、本地更新模型轮次是否为最新;基于此,在判断所述任期不是最新、所述日志条目不是最新的情况下,从所述权益选举等待列队中删除该所述权益节点,并按照如下规则更新其初始权益值:
,其中,/>为更新权益值,/>为初始权益值;
在判断所述本地更新模型轮次不是最新的情况下,从所述权益选举等待列队中删除该所述权益节点,并按照如下规则更新其初始权益值:
其中,为本地轮次,/>为最新轮次。
5.根据权利要求3所述的基于联邦学习和权益选举的分布式共识方法,其特征在于,所述行为包括:
上一任期为领导者节点,此时,按照如下规则更新其所述初始权益值,;
参数过最新一轮次的联邦学习过程,此时,按照如下规则更新其所述初始权益值;
不存在上述两种行为的情况下,所述更新权益值与所述初始权益值相等。
6.一种基于联邦学习和权益选举的分布式共识系统,其特征在于,包括分布式共识集群,初始状态下,所述分布式共识集群中包括一个领导者节点和多个跟随者节点;应用联邦学习机制为每一所述跟随者节点配置选举模型;包括:在每一所述跟随者节点下,配置满足所述选举模型训练要求的数据集,所述数据集中包括除隐私数据以外的属性数据;在每一所述跟随者节点内,采用逻辑回归方法且利用所述跟随者节点本地的所述数据集计算训练梯度,以获得更新梯度,并将更新梯度发送至所述领导者节点;所述领导者节点接收每一所述跟随者节点发送的所述更新梯度后进行聚合以获得全局模型;所述领导者节点利用存储在本地的数据集评估所述全局模型,在评估结果为合格的情况下,向每一所述跟随者节点广播所述全局模型;其中,在每一所述跟随者节点下,配置满足所述选举模型训练要求的数据集,所述数据集中包括除隐私数据以外的属性数据,包括:数据收集,针对于每一所述跟随者节点,按照预设频率记录单条数据,在预设周期内记录的所有所述单条数据构成所述跟随者节点的数据集,所述数据集中的数据属性值至少包括任期、最新的日志索引、运行时长、投票时和状态类型;数据存储,所述数据集中的数据具有时间点和属性值两个维度,所述数据集中的数据存储形式为以所述时间点和属性值构成的二维矩阵;数据处理,所述二维矩阵为稀疏矩阵,所述稀疏矩阵中包括零值元素和非零元素,其中,对于所述非零元素,以元素值、行值和列值构成的三元组存储在顺序表中;数据使用,将所述顺序表重构为所述二维矩阵,填补所述零值元素;
当判断所述分布式共识集群中无准领导者节点时,所述跟随者节点主动运行所述选举模型,在预设选举时间内获得权益选举等待列队,所述权益选举等待列队中包括多个权益节点;具体包括如下步骤:每一所述跟随者节点接收来自领导者节点广播的所述全局模型,所述全局模型覆盖所述跟随者节点的本地模型;读取所述跟随者节点本地的所述数据集;对所述跟随者节点本地的所述数据集进行预处理,所述预处理包括将所述顺序表重构为所述二维矩阵,以及填充所述零值元素,以获得预处理后数据集;采用所述预处理后数据集训练所述全局模型,以获得本地更新模型;采用所述预处理后数据集执行所述本地更新模型,将成为领导者节点概率大于概率阈值的所述跟随者节点放入所述权益选举等待列队中;所述概率阈值大于或等于50%;
配置权益选举模型,所述权益选举模型用于确定每一所述权益节点的权益值,对多个所述权益值进行排序,位于第一位的所述权益值对应的所述权益节点被选举成为所述准领导者节点;
当所述领导者节点下线时,所述准领导者节点改变状态为新一任期的所述领导者节点。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的基于联邦学习和权益选举的分布式共识方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311058539.8A CN116760837B (zh) | 2023-08-22 | 2023-08-22 | 一种基于联邦学习和权益选举的分布式共识方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311058539.8A CN116760837B (zh) | 2023-08-22 | 2023-08-22 | 一种基于联邦学习和权益选举的分布式共识方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116760837A CN116760837A (zh) | 2023-09-15 |
CN116760837B true CN116760837B (zh) | 2023-11-24 |
Family
ID=87955594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311058539.8A Active CN116760837B (zh) | 2023-08-22 | 2023-08-22 | 一种基于联邦学习和权益选举的分布式共识方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116760837B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407632A (zh) * | 2021-06-26 | 2021-09-17 | 南京搜文信息技术有限公司 | 一种基于pbft的委托权益证明区块链共识算法 |
CN114218612A (zh) * | 2021-12-14 | 2022-03-22 | 河北省科学院应用数学研究所 | 一种适用于联盟链高频交易场景的共识方法 |
CN114490125A (zh) * | 2022-01-19 | 2022-05-13 | 山东浪潮科学研究院有限公司 | 一种针对Raft共识算法中预选举流程的优化方法 |
CN114721789A (zh) * | 2021-01-05 | 2022-07-08 | 中国移动通信有限公司研究院 | 一种为联邦学习选择可信的协调者的方法、装置及设备 |
CN114912030A (zh) * | 2022-06-27 | 2022-08-16 | 平安银行股份有限公司 | 权益模型训练方法、推荐方法及电子终端和计算机介质 |
CN115102967A (zh) * | 2022-06-15 | 2022-09-23 | 西安工业大学 | 一种高共识效率的共识方法和分布式系统 |
CN115134161A (zh) * | 2022-07-11 | 2022-09-30 | 西安理工大学 | 一种基于Raft共识算法抗任期伪造的防御方法 |
-
2023
- 2023-08-22 CN CN202311058539.8A patent/CN116760837B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721789A (zh) * | 2021-01-05 | 2022-07-08 | 中国移动通信有限公司研究院 | 一种为联邦学习选择可信的协调者的方法、装置及设备 |
CN113407632A (zh) * | 2021-06-26 | 2021-09-17 | 南京搜文信息技术有限公司 | 一种基于pbft的委托权益证明区块链共识算法 |
CN114218612A (zh) * | 2021-12-14 | 2022-03-22 | 河北省科学院应用数学研究所 | 一种适用于联盟链高频交易场景的共识方法 |
CN114490125A (zh) * | 2022-01-19 | 2022-05-13 | 山东浪潮科学研究院有限公司 | 一种针对Raft共识算法中预选举流程的优化方法 |
CN115102967A (zh) * | 2022-06-15 | 2022-09-23 | 西安工业大学 | 一种高共识效率的共识方法和分布式系统 |
CN114912030A (zh) * | 2022-06-27 | 2022-08-16 | 平安银行股份有限公司 | 权益模型训练方法、推荐方法及电子终端和计算机介质 |
CN115134161A (zh) * | 2022-07-11 | 2022-09-30 | 西安理工大学 | 一种基于Raft共识算法抗任期伪造的防御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116760837A (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tao et al. | On sharding open blockchains with smart contracts | |
CN114189421B (zh) | 一种领导者节点选举方法、系统、存储介质及设备 | |
CN107453929B (zh) | 集群系统自构建方法、装置及集群系统 | |
CN109189751A (zh) | 基于区块链的数据同步方法及终端设备 | |
CN109547527A (zh) | 区块链中基于信誉机制的分区快速共识方法 | |
CN112632013A (zh) | 一种基于联邦学习的数据安全可信共享方法和装置 | |
CN111526186A (zh) | 基于Raft的分布式服务器集群配置方法 | |
CN116471286A (zh) | 基于区块链及联邦学习的物联网数据共享方法 | |
Wu et al. | Topology-aware federated learning in edge computing: A comprehensive survey | |
CN108173899B (zh) | 区块链的信息处理方法及装置 | |
CN116760837B (zh) | 一种基于联邦学习和权益选举的分布式共识方法及系统 | |
Deng et al. | A novel consensus algorithm based on segmented DAG and BP neural network for consortium blockchain | |
Li et al. | HFSA: A semi-asynchronous hierarchical federated recommendation system in smart city | |
Li et al. | Asyfed: Accelerated federated learning with asynchronous communication mechanism | |
CN117171786A (zh) | 一种抵御投毒攻击的去中心化联邦学习方法 | |
Rong et al. | FRCR: Raft consensus scheme based on semi asynchronous federal reconstruction | |
CN102467717A (zh) | 一种用于在p2p覆盖网络架构中基于群的信誉评价方法 | |
CN115329985A (zh) | 无人集群智能模型训练方法、装置和电子设备 | |
CN114997877A (zh) | 一种虚拟货币公链网络交易节点的ip的网络拓扑数据分析方法、存储介质和电子设备 | |
Pasquet et al. | Autonomous multi-dimensional slicing for large-scale distributed systems | |
CN116723192B (zh) | 一种基于联邦学习的分布式共识系统及其运行方法 | |
CN114721789A (zh) | 一种为联邦学习选择可信的协调者的方法、装置及设备 | |
Walkowiak et al. | Decentralized distributed computing system for privacy-preserving combined classifiers–modeling and optimization | |
Wei et al. | iRep: indirect reciprocity reputation based efficient content delivery in BT-like systems | |
Jiang et al. | A novel weight-based leader election approach for split brain in distributed system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |