分布式存储系统中的共识方法、计算节点和系统技术方案

技术编号:36913635 阅读:14 留言:0更新日期:2023-03-18 09:31
本说明书实施例提供了一种分布式存储系统中的共识方法、计算节点和系统,所述存储系统中包括第一计算节点、第二计算节点和与所述第二计算节点对应的第二存储节点,所述方法包括:所述第一计算节点将待共识的提案发送给所述第二计算节点;所述第二计算节点在确定接受所述提案之后,根据所述提案在所述第二存储节点中存储与所述提案对应的第二操作日志;所述第一计算节点在预设时间内未接收到所述第二计算节点对所述提案的接受信息的情况下,从所述第二存储节点获取所述第二操作日志,根据所述第二操作日志进行对所述提案的共识。述第二操作日志进行对所述提案的共识。述第二操作日志进行对所述提案的共识。

【技术实现步骤摘要】
分布式存储系统中的共识方法、计算节点和系统


[0001]本说明书实施例涉及分布式存储
,更具体地,涉及分布式存储系统中的共识方法、计算节点和分布式存储系统。

技术介绍

[0002]在分布式系统中通常存在Paxos 问题,Paxos 问题是指分布式系统中存在故障(crash fault)的场景下的共识达成问题。对于Paxos问题,可通过崩溃容错算法(Crash Fault Tolerant,CFT)在一个可能发生异常的分布式系统中,快速且正确地在集群内部对某个数据的值达成一致,并且保证不论发生任何异常都不会破坏整个系统的一致性。然而,根据CFT算法,对于包括2f+1个节点的分布式系统,失效的节点不能超过f个,否则无法达成共识。

技术实现思路

[0003]本说明书实施例旨在提供一种更有效的分布式存储系统中的共识方法,以在更低的节点失效容忍度下达成共识。
[0004]本说明书第一方面提供一种分布式存储系统中的共识方法,所述存储系统中包括第一计算节点、第二计算节点和与所述第二计算节点对应的第二存储节点,所述方法包括:所述第一计算节点将待共识的提案发送给所述第二计算节点;所述第二计算节点在确定接受所述提案之后,根据所述提案在所述第二存储节点中存储与所述提案对应的第二操作日志;所述第一计算节点在预设时间内未接收到所述第二计算节点对所述提案的接受信息的情况下,从所述第二存储节点获取所述第二操作日志,根据所述第二操作日志进行对所述提案的共识。
[0005]在一种实施方式中,所述第二操作日志中包括通过执行所述提案得到的变量状态值。
[0006]在一种实施方式中,所述根据所述第二操作日志进行对所述提案的共识包括:根据所述第二操作日志确定所述第二计算节点已接受所述提案,根据所述确定结果进行对所述提案的共识。
[0007]在一种实施方式中,所述存储系统中还包括一个或多个第三计算节点,其中,所述第一计算节点为提议者节点,所述第二计算节点和所述第三计算节点为决策者节点,所述根据所述确定结果进行对所述提案的共识包括:所述第一计算节点在根据所述确定结果确定所述存储系统中的一半或多数决策者节点接受所述提案之后,确定对所述提案的共识达成。
[0008]在一种实施方式中,所述从所述第二存储节点获取所述第二操作日志包括,所述第一计算节点指示所述多个第三计算节点中的第四计算节点从所述第二存储节点读取所述第二操作日志,从所述第四计算节点接收所述第二操作日志。
[0009]在一种实施方式中,所述方法还包括,所述第一计算节点在确定共识达成之后,根据所述第二操作日志在所述第二存储节点中更新所述存储系统的第二状态数据。
[0010]在一种实施方式中,所述存储系统还包括与所述第一计算节点对应的第一存储节点,所述方法还包括,所述第一计算节点在生成所述提案之后,根据所述提案在所述第一存储节点中存储与所述提案对应的第一操作日志。
[0011]在一种实施方式中,所述方法还包括,所述第一计算节点在对所述提案达成共识之后,根据所述第一操作日志在所述第一存储节点中更新所述存储系统的第一状态数据。
[0012]在一种实施方式中,所述第二计算节点在确定接受所述第一提案之后,根据所述提案在所述第二存储节点中存储与所述提案对应的第二操作日志,包括:所述第二计算节点在确定接受所述提案之后,将所述提案的标识和所述第二操作日志发送给所述第二存储节点,所述第二存储节点将所述提案的标识与所述第二操作日志关联地存储。
[0013]在一种实施方式中,所述第一计算节点从所述第二存储节点获取所述第二操作日志包括:所述第一计算节点基于所述存储系统中存储的计算节点与存储节点的对应关系,确定所述第二计算节点与所述第二存储节点对应;从所述第二存储节点获取所述第二操作日志。
[0014]本说明书第二方面提供一种分布式存储系统中的共识方法,所述存储系统中包括第一计算节点、第二计算节点和与所述第二计算节点对应的第二存储节点,所述方法由所述第一计算节点执行,包括:将待共识的提案发送给所述第二计算节点,以使得所述第二计算节点在确定接受所述提案之后,根据所述提案在所述第二存储节点中存储与所述提案对应的第二操作日志;在预设时间内未接收到所述第二计算节点对所述提案的接受信息的情况下,从所述第二存储节点获取所述第二操作日志;根据所述第二操作日志进行对所述提案的共识。
[0015]本说明书第三方面提供一种分布式存储系统,包括第一计算节点、第二计算节点和与所述第二计算节点对应的第二存储节点,所述第一计算节点用于将待共识的提案发送给所述第二计算节点;所述第二计算节点用于在确定接受所述提案之后,根据所述提案在所述第二存储节点中存储与所述提案对应的第二操作日志;所述第一计算节点还用于在预设时间内未接收到所述第二计算节点对所述提案的接受信息的情况下,从所述第二存储节点获取所述第二操作日志,根据所述第二操作日志进行对所述提案的共识。
[0016]本说明书第四方面提供一种分布式存储系统中的第一计算节点,所述存储系统中还包括第二计算节点和与所述第二计算节点对应的第二存储节点,所述第一计算节点包括:发送单元,用于将待共识的提案发送给所述第二计算节点,以使得所述第二计算节点在确定接受所述提案之后,根据所述提案在所述第二存储节点中存储与所述提案对应
的第二操作日志;获取单元,用于在预设时间内未接收到所述第二计算节点对所述提案的接受信息的情况下,从所述第二存储节点获取所述第二操作日志;共识单元,用于根据所述第二操作日志进行对所述提案的共识。
[0017]本说明书第五方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述第二方面所述方法。
[0018]本说明书第六方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述第二方面所述方法。
[0019]本说明书实施例提供了一种计算和存储分离的分布式存储系统,各个计算节点基于该计算存储分离的架构进行共识,将共识中产生的数据存储到该计算节点对应的存储节点中。通过如此,当计算节点崩溃时,其他正常的计算节点可在该崩溃的计算节点对应的存储节点中读取该计算节点的操作日志,基于该操作日志进行共识,从而在多于半数的计算节点崩溃的情况下仍可以达成共识。
附图说明
[0020]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0021]图1为Paxos算法中的两阶段共识过程示意图;图2为本说明书实施例中的存储系统的架构图;图3为本说明书实施例中的一种分布式存储系统中的共识方法的流程图;图4为本说明书实施例中的共识过程示意图;图5为本说明书实施例中的一种分布式存储系统中的第一计算节点的架构本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式存储系统中的共识方法,所述存储系统中包括第一计算节点、第二计算节点和与所述第二计算节点对应的第二存储节点,所述方法包括:所述第一计算节点将待共识的提案发送给所述第二计算节点;所述第二计算节点在确定接受所述提案之后,根据所述提案在所述第二存储节点中存储与所述提案对应的第二操作日志;所述第一计算节点在预设时间内未接收到所述第二计算节点对所述提案的接受信息的情况下,从所述第二存储节点获取所述第二操作日志,根据所述第二操作日志进行对所述提案的共识。2.根据权利要求1所述的方法,所述第二操作日志中包括通过执行所述提案得到的变量状态值。3.根据权利要求1或2所述的方法,所述根据所述第二操作日志进行对所述提案的共识包括:根据所述第二操作日志确定所述第二计算节点已接受所述提案,在所述第二计算节点接受所述提案的情况下,确定对所述提案的共识是否达成。4.根据权利要求3所述的方法,所述存储系统中还包括一个或多个第三计算节点,其中,所述第一计算节点为提议者节点,所述第二计算节点和所述第三计算节点为决策者节点,在所述第二计算节点接受所述提案的情况下,确定对所述提案的共识是否达成,包括:在所述第二计算节点接受所述提案的情况下,在确定所述存储系统中的一半或多数决策者节点接受所述提案之后,确定对所述提案的共识达成。5.根据权利要求4所述的方法,所述从所述第二存储节点获取所述第二操作日志包括,所述第一计算节点指示所述一个或多个第三计算节点中的第四计算节点从所述第二存储节点读取所述第二操作日志,从所述第四计算节点接收所述第二操作日志。6.根据权利要求1或5所述的方法,还包括,所述第一计算节点在确定共识达成之后,根据所述第二操作日志在所述第二存储节点中更新所述存储系统的第二状态数据。7.根据权利要求1或2所述的方法,所述存储系统还包括与所述第一计算节点对应的第一存储节点,所述方法还包括,所述第一计算节点在生成所述提案之后,根据所述提案在所述第一存储节点中存储与所述提案对应的第一操作日志。8.根据权利要求7所述的方法,还包括,所述第一计算节点在对所述提案达成共识之后,根据所述第一操作日志在所述第一存储节点中更新所述存储系统的第一状态数据。9.根据权利要求1或2所述的方法,所述第二计算节点在确定接受所述提案之后,根据所述提案在所述第二存储节点中存储与所述提案对应的第二操作日志,包括:所述第二计算节点在确定接受所述提案...

【专利技术属性】
技术研发人员:徐泉清
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1