本发明公开了一种基于Raft改进的共识方法及相关设备,所述方法包括:当Raft共识系统启动时所有节点均为从节点,自动进行主节点选举,若主节点选举成功,则统计节点信息并进行处理得到节点排序序列;根据自适应策略计算副节点个数,根据所述节点排序序列生成副节点,根据分片策略生成网络拓扑结构,将网络拓扑结构广播并对除开主节点外的所有节点进行分片;执行共识业务,若主节点发生故障,则通过崩溃恢复机制使得所述节点排序序列中排序顺序第一位的副节点继承为主节点,以使所述Raft共识系统恢复正常服务。本发明通过预排序方法与崩溃恢复机制提高了共识系统的可用性,通过自适应网络分片提高了共识系统的吞吐性能以及可扩展性。
1.一种基于Raft改进的共识方法,其特征在于,所述基于Raft改进的共识方法包括:
当Raft共识系统启动时所有节点均为从节点,所述Raft共识系统自动进行主节点选举,若主节点选举成功,则统计节点信息并进行处理得到节点排序序列;
在得到所述节点排序序列后,根据自适应策略计算副节点个数,根据所述节点排序序列生成副节点,根据分片策略生成网络拓扑结构,将网络拓扑结构广播并对除开主节点外的所有节点进行分片;
当完成自适应网络分片后,执行所述Raft共识系统的共识业务,若主节点发生故障,则通过崩溃恢复机制使得所述节点排序序列中排序顺序第一位的副节点继承为主节点,以使所述Raft共识系统恢复正常服务。
2.根据权利要求1所述的基于Raft改进的共识方法,其特征在于,所述统计节点信息并进行处理得到节点排序序列,具体包括:
主节点收集并统计所述Raft共识系统中所有从节点的相关信息,所述相关信息包括日志索引、硬件性能和网络状态;
判断所述日志索引是否变动;
若所述日志索引变动,则根据统计结果,更新从节点的日志索引信息;
区块链(Blockchain)技术是利用块链式数据结构来验证和存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种去中心化架构与计算范式。
共识(Consensus):多个服务器节点对某个事务达成一致的看法,即使是在部分节点故障、网络延时、网络分割的情况下。
RAFT:Raft是一种共识算法,旨在替代Paxos,它通过逻辑分离使其更容易理解,但它也被正式证明是安全的,并提供了一些额外的功能。Raft提供了一种在计算系统集群中分布状态机的通用方法,确保集群中的每个节点都同意一系列相同的状态转换。共识算法是现代分布式系统与区块链技术发展的基石,离散的服务器节点通过共识的方式来达成提供服务的一致性。
中国科学院深圳先进技术研究院提升了粤港地区及我国先进制造业和现代服务业的自主创新能力,推动我国自主知识产权新工业的建立,成为国际一流的工业研究院。 深圳先进院目前已初步构建了以科研为主的集科研、教育、产业、资本为一体的微型协同创新生态系统,由九个研究平台,国科大深圳先进技术学院,多个特色产业育成基地、多支产业发展基金、多个具有独立法人资质的新型专业科研机构等组成。开展先进技术研究,促进科技发展。信息、电子、通讯技术研究新材料、新能源技术研究高性能计算、自动化、精密机械研究生物医学与医疗仪器研究相关学历教育、博士后培养与学术交流。
本发明中,当Raft共识系统启动时所有节点均为从节点,所述Raft共识系统自动进行主节点选举,若主节点选举成功,则统计节点信息并进行处理得到节点排序序列;在得到所述节点排序序列后,根据自适应策略计算副节点个数,根据所述节点排序序列生成副节点,根据分片策略生成网络拓扑结构,将网络拓扑结构广播并对除开主节点外的所有节点进行分片;当完成自适应网络分片后,执行所述Raft共识系统的共识业务,若主节点发生故障,则通过崩溃恢复机制使得所述节点排序序列中排序顺序第一位的副节点继承为主节点,以使所述Raft共识系统恢复正常服务。本发明基于Raft共识算法进行改进,通过预排序方法与崩溃恢复机制提高了共识系统的可用性,通过自适应网络分片提高了共识系统的吞吐性能以及可扩展性,实现了Raft共识系统可用性、吞吐性能及可扩展性极大提升。
技术合作
本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。