【技术实现步骤摘要】
【国外来华专利技术】分布式数据库中节点故障检测与解决
[0001]相关申请的交叉引用
[0002]本申请根据美国法典第35篇第119条(e)款要求2019年2月1日提交的题为“节点故障检测与解决”的美国申请号62/800,009的优先权权益,该申请的公开内容在此通过引用整体并入本文。
技术介绍
[0003]分布式数据库中的数据和元数据存储在相互通信的多个节点上。但是,节点之间有时会发生通信中断。例如,分布式数据库系统中的节点本身可能会处于不一致状态,从而发生崩溃或故障。在其他情况下,在分布式数据库系统内的节点上运行的虚拟机或进程可能崩溃或发生故障。在其他情况下,分布式数据库系统中的第一节点和第二节点之间的通信链路可能发生故障。例如,连接分布式数据库系统中的两个或多个节点的网络(例如,局域网、广域网、以太网等)可能发生故障,从而中断节点之间的通信。
技术实现思路
[0004]本文描述了分布式数据库系统。分布式数据库系统可以包括多个节点。多个节点中的每个节点可以包括对应的处理器和对应的存储器。多个节点中的每个节点可以与多个节点中的每个其他节点连接。多个节点中的第一节点处的处理器可以被配置为通过以下方式解决分布式数据库系统中的故障:识别多个节点中的可疑节点,向多个节点中的邻居节点广播第一可疑节点列表,从至少一个其他邻居节点接收第二可疑节点列表,基于连接信息确定第一节点是否在分布式数据库的获胜全连接组件中,响应于确定第一节点在多个节点的获胜全连接组件中,继续操作第一节点,并且响应于确定第一节点不在多个节点的获胜全连接组件中,使第一节点发生
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种解决分布式数据库中的故障的方法,所述分布式数据库包括多个节点,所述多个节点中的每个节点直接连接到所述多个节点中的每个其他节点,所述方法包括响应于检测到所述故障:在所述多个节点中的第一节点处:识别所述多个节点中的可疑节点,所述可疑节点为所述多个节点中因所述故障而不再连接到所述第一节点的节点;向所述多个节点中的邻居节点广播第一可疑节点列表,所述第一可疑节点列表包括所述可疑节点,所述邻居节点为所述多个节点中在所述故障后仍直接连接到所述第一节点的节点;从所述邻居节点中的至少一个邻居节点接收第二可疑节点列表;至少部分地基于所述第一可疑节点列表和所述第二可疑节点列表确定所述多个节点的连接信息;基于所述连接信息确定所述第一节点是否在所述分布式数据库的获胜全连接组件中,其中所述获胜全连接组件包括所述多个节点中一半以上的所述节点,并且所述获胜全连接组件节点中的每个节点直接连接到所述获胜全连接组件节点中的每个其他节点;响应于确定所述第一节点在所述多个节点的所述获胜全连接组件中,继续操作所述第一节点;以及响应于确定所述第一节点不在所述多个节点的所述获胜全连接组件中,使所述第一节点发生故障以解决所述故障。2.如权利要求1所述的方法,其中广播所述第一可疑节点列表包括广播协议迭代编号,所述协议迭代遍号指示由所述第一节点调用的所述方法的迭代。3.如权利要求2所述的方法,其还包括:将所述协议迭代编号与通过所述第二可疑节点列表接收到的协议迭代编号进行比较。4.如权利要求2所述的方法,其还包括:将所述协议迭代编号序列化为主目录的一部分,其中所述主目录包括所述多个节点中的所述节点的列表。5.如权利要求1所述的方法,其中确定所述连接信息还包括在所述第一节点处:至少部分地基于所述连接信息确定连接图;以及从所述连接图中识别所述获胜全连接组件。6.如权利要求5所述的方法,其中识别所述获胜全连接组件包括:基于所述获胜全连接组件的大小和所述多个节点的大小确定所述获胜全连接组件。7.如权利要求1所述的方法,其中确定所述第一节点是否在所述获胜全连接组件中包括在所述第一节点处基于所述连接信息识别所述获胜全连接组件。8.如权利要求7所述的方法,其中识别所述获胜全连接组件包括:基于所述连接信息确定所述分布式数据库的第一全连接组件,所述第一全连接组件中的每个节点直接连接到所述第一全连接组件中的每个其他节点;基于所述连接信息确定所述分布式数据库的第二全连接组件,所述第二全连接组件与所述第一全连接组件不同,所述第二全连接组件中的每个节点直接连接到所述第二全连接组件中的每个其他节点;
确定所述第一全连接组件包括(i)比所述第二全连接组件更多的节点以及(ii)所述多个节点中的一半以上的所述节点;以及选择所述第一全连接组件作为所述获胜全连接组件。9.如权利要求7所述的方法,其中识别所述获胜全连接组件包括:基于所述连接信息确定所述分布式数据库的第一全连接组件,所述第一全连接组件中的每个节点直接连接到所述第一全连接组件中的每个其他节点;基于所述连接信息确定所述分布式数据库的第二全连接组件,所述第二全连接组件与所述第一全连接组件不同,所述第二全连接组件中的每个节点直接连接到所述第二全连接组件中的每个其他节点;确定所述第一全连接组件包括(i)与所述第二全连接组件相同数量的节点以及(ii)所述多个节点中的一半以上的所述节点;以及基于所述第一全连接组件和所述第二全连接组件中的所述节点的唯一标识符,选择所述第一全连接组件作为所述获胜全连接组件。10.如权利要求1所述的方法,其还包括:将所述第二可疑节点列表从所述第一节点传输到至少一个邻居节点。11.如权利要求1所述的方法,其还包括:至少部分地基于所述第二可疑节点列表更新所述第一可疑节点列表;以及从所述第一节点向所述邻居节点广播所更新的第一可疑节点列表。12.如权利要求1所述的方法,其中所述第一节点将所述多个节点中的少于一半的节点识别为可疑节点。13.如权利要求1所述的方法,其还包括:在所述多个节点中的第三节点处将所述多个节点中的一半以上的节点识别为可疑节点;以及使所述第三节点发生故障以解决所述故障。14.如权利要求1所述的方法,其还包括:响应于检测到所述故障,使尝试加入所述多个节点的第三节点发生故障。15.如权利要求1所述的方法,其中所述故障为第一故障,所述可疑节点为第一可疑节点,并且所述方法还包括在所述多个节点中的第三节点处:检测所述分布式数据库中的第二故障;识别所述多个节点中的第二可疑节点,所述第二可疑节点为所述多个节点中因所述第二故障而不再连接到所述第三节点的节点;向所述第一节点广播第三可疑节点列表;以及由所述第一节点重新开始所述方法。16.一种用于解决分布式数据库中的故障的方法,所述分布式数据库包括多个节点,所述多个节点中的每个节点直接连接到所述多个节点中的每个其他节点,所述方法包括:在所述多个节点中的第一节点处:检测与所述多个节点中的第二节点的通信中断;响应于检测到所述中断,在所述多个节点中的邻居节点之间发起相应可疑节点列表的协调广播,所述邻居节点为所述多个节点中仍直接连接到所述第一节点的节点,所述第一
节点的所述可疑节点列表包括所述第二节点;基于所述相应可疑节点列表确定连接信息;以及至少部分地基于所述连接信息解决所述故障。17.如权利要求16所述的方法,其还包括在每个邻居节点处:将所述邻居节点的可疑节点列表与来自至少一个其他邻居节点的可疑节点列表进行比较;以及至少部分地基于所述邻居节点的可疑节点列表与来自所述至少一个其他邻居节点的所述可疑节点列表的所述比较来确定所述连接信息的至少一部分。18.如权利要求16所述的方法,其还包括:在所述邻居节点中的每个邻居节点处,至少部分地基于所述连接信息准备连接图。19.如权利要求18所述的方法,其中至少部分地基于所述连接图使所述第一节点自己发生故障。20.如权利要求18所述的方法,其中所述协调广播包括由所述第一节点广播协议迭代编号,所述协议迭代编号指示所述第一节点调用的用于检测所述故障的故障解决协议。21.一种用于解决分布式数据库中的故障的方法,所述分布式数据库包括多个节点,所述多个节点中的每个节点连接...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。