CN104933132A - 基于操作序列号的分布式数据库有权重选举方法 - Google Patents

基于操作序列号的分布式数据库有权重选举方法 Download PDF

Info

Publication number
CN104933132A
CN104933132A CN201510325204.7A CN201510325204A CN104933132A CN 104933132 A CN104933132 A CN 104933132A CN 201510325204 A CN201510325204 A CN 201510325204A CN 104933132 A CN104933132 A CN 104933132A
Authority
CN
China
Prior art keywords
node
sequence
cluster
time
heartbeat message
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.)
Granted
Application number
CN201510325204.7A
Other languages
English (en)
Other versions
CN104933132B (zh
Inventor
王涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Jushan Database Software Co ltd
Original Assignee
Sequoiadb Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sequoiadb Corp filed Critical Sequoiadb Corp
Priority to CN201510325204.7A priority Critical patent/CN104933132B/zh
Publication of CN104933132A publication Critical patent/CN104933132A/zh
Application granted granted Critical
Publication of CN104933132B publication Critical patent/CN104933132B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种基于操作序列号的分布式数据库有权重选举方法,包括如下步骤:S1,在分布式数据库运行时,通过发送包含操作序列号的心跳消息进行节点间信息的同步;S2,通过异常检测判断集群中是否存在正常的主节点,当存在正常的主节点时,根据心跳消息更新本地节点存储的操作序列号;否则,转向步骤S3;S3,当从节点检测到集群中不存在正常的主节点时,向集群中其他节点发送请求成为主节点的消息,并根据操作序列号选举出主节点。本发明将用于描述节点最新操作状态的操作序列号纳入选举策略当中,使得包含最新操作序列号的节点当选为主节点,以保证尽可能最多的用户操作被保留下来,提高了工作效率。

Description

基于操作序列号的分布式数据库有权重选举方法
技术领域
本发明涉及一种分布式数据库选举方法,尤其涉及一种基于操作序列号的分布式数据库有权重选举方法,属于数据库管理技术领域。
背景技术
如今,分布式计算系统中主从配置已经成为一个广泛被人接受的概念,而其中对于数据一致性保障的核心在于选举机制。在任意时刻一个集群中只能有一个节点作为主节点处理读写操作,其他节点则作为热备以防主节点出现故障。
现在,通用的做法是使用类似Paxos算法的选举机制,在多个节点之间分为选举者和投票者等不同角色,控制集群最后一定会选举出最多一个节点为主节点,并且其他全部节点均一致承认该节点为主节点。这种机制的使用是为了确保一个集群环境中,所有可以提供服务的节点均共同承认最多一个节点成为主节点。否则如果在网络不稳定的情况下,一个集群内存在两个或以上的节点认为自己是主节点并提供写入服务,则可能会造成数据冲突导致数据损坏。
而在选举的过程当中,传统的做法是假设集群中所有节点为对等关系,因此任何节点均可以发起升主的投票,并且任何节点都有同样的概率成为主节点。但是在实际的数据库操作中,当主节点不停地将自己接收到的数据发布给其他从节点时,必定有的从节点在网络上先接收到数据进行处理,这样该从节点同步的数据自然比其他节点更多,该从节点自然会包含更加“靠近”当前操作的数据。这种情况下,如果主节点失败,从节点之间的选举必须以“最靠近”当前操作的数据节点为主节点,其他节点为从该节点同步数据,以保证尽可能最多的用户操作被保留下来。所以,对等选举机制在一个分布式数据库中无法满足需求。
为了解决上述问题,谈兴秋在论文《增量同步约束条件下的多节点间主节点选举算法》(刊载于《现在电子技术》2013年第14期第36卷)中公开了一种多节点间主节点选举算法,选举一个节点作为主节点,提供数据写服务,其他节点作为备节点提供读服务,主节点与备节点之间采用增量同步方式同步数据系统运行模式的需要,通过一个基于数据版本作为主要约束条件的主备选举算法实现。并规定了在数据增量同步条件下进行主备选举时,需要遵循的条件,描述了在选举过程中,节点状态、各个状态转换关系以及在各个状态下需要进行的相关处理。
但是,在主从同步系统中,如果主节点发生故障,从节点并不能发现问题,而是依靠人工干预将主节点降为从节点,并给从节点下达升主命令。不能保障系统在最短的时间内发现主节点故障,并从原有的从节点中按照权重选举出一个新的主节点做单一的写入操作。
发明内容
针对现有技术的不足,本发明所要解决的技术问题在于提供一种基于操作序列号的分布式数据库有权重选举方法。
为实现上述发明目的,本发明采用下述的技术方案:
一种基于操作序列号的分布式数据库有权重选举方法,包括如下步骤:
S1,在分布式数据库运行时,通过发送包含操作序列号的心跳消息进行节点间信息的同步;
S2,通过异常检测判断集群中是否存在正常的主节点,当存在正常的主节点时,根据心跳消息更新本地节点存储的操作序列号;否则,转向步骤S3;
S3,当从节点检测到集群中不存在正常的主节点时,向集群中其他节点发送请求成为主节点的消息,并根据操作序列号选举出主节点。
其中较优地,在步骤S1中,通过发送包含操作序列号的心跳消息进行节点间信息的同步,包括如下步骤:
S11,读取本地节点当前的操作序列号并保存;
S12,设置定时器触发时间,当定时器触发时间到达后,本地节点将当前的操作序列号写入心跳消息,遍历集群中所有被标记为正常的节点,并向各个节点发送;
S13,接收到其他节点的心跳消息后,解析其中包含的操作序列号并保存在缓存中;
S14,集群内的节点通过发送和接收包含操作序列号的心跳消息完成节点间信息的同步。
其中较优地,所述心跳消息包含节点的当前角色、本地节点状态和本地节点最新的事务日志号;所述节点状态为本地节点的运行状态,包含正常和异常,其中,异常包括非正常和未知;当某节点的触发时间达到后,标记为异常的节点不再被遍历。
其中较优地,每个节点对其他节点传入的心跳消息均保存一个数据结构,所述数据结构标明最近得到的心跳消息的时间以及发送心跳消息的节点状态。
其中较优地,在步骤S2中,判断集群中是否存在正常的主节点,包括判断集群中主节点是否存在以及集群中的主节点是否出现断连;
其中,判断集群中的主节点是否出现断连包括如下步骤:
S211,从节点监听心跳消息,并设置定时器触发时间;
S212,定时器触发时间到达后,判断上一次接收到的主节点的心跳消息的时间加上所述主节点的超时时间,与当前时间的差值,如果所述差值大于当前时间则心跳消息没有超时,继续等待;
S213,如果所述差值小于当前时间,则将主节点在本地节点的数据结构中的状态置为断连状态。
其中较优地,所述超时时间通过节点之前收到的心跳消息的时间进行实时计算得出。
其中较优地,在步骤S2中,判断集群中主节点是否存在,包括如下步骤:
S221,主节点监听心跳消息,并设置定时器触发时间;
S222,定时器触发时间到达后,判断上一次接收到的从节点的心跳消息的时间加上该从节点的超时时间,与当前时间的差值,如果差值大于当前时间则心跳消息没有超时,继续等待;否则,将该从节点置为断连状态,转向步骤S223;
S223,判断该集群中正常节点的数量,如果正常节点的数量小于或等于集群中半数节点的数量,则将该主节点的当前角色降为从节点,否则,继续监听心跳消息。
其中较优地,在步骤S2中,当存在正常的主节点时,根据心跳消息更新本地节点存储的操作序列号,包括如下步骤:
S231,实时监听心跳消息;
S232,收到节点的心跳消息后解析其操作序列号,并判断节点状态;
S223,如果节点状态为正常,则更新本地节点存储的所述节点的最新的操作序列号,存入所述节点的数据结构中,并根据数据结构中最近接收的心跳消息的时间计算新的超时时间。
其中较优地,在步骤S3中,向集群中其他节点发送请求成为主节点的消息,并根据操作序列号选举出主节点,:
S31,当从节点检测到集群中不存在正常的主节点时,进入静默期,如果所述从节点在静默期收到其他节点的投票请求,则根据自身信息进行投票检验,并投票表决;否则,进入备节点阶段;
S32,判断自身条件是否满足投票条件,当自身条件满足投票条件时,向其他节点发起投票操作;
S33,其他节点根据自身信息进行投票检验,并投票表决;若其他节点返回拒绝,或者在一个投票周期内没有收到集群中超过半数节点的同意请求,则继续步骤S32,否则转向步骤S34;
S34,向所有进行过表决的节点发起当选主节点的宣布请求,进行过表决的节点收到当选主节点的宣布请求后,根据步骤S31中的自身信息再次判断,若校验通过则返回确认,否则拒绝;
S35,发起选举的从节点接收其他节点的宣布表决,当存在反对票或者赞成票不满足超过半数原则时,选举以失败结束,保持从节点角色,且一定时间内不能发起选举请求;否则,选举成功。
其中较优地,在步骤S31、S33以及S34中,根据自身信息进行投票检验包括对以下内容进行核验:
1)进行核验的节点自身不是主节点;
2)集群中不存在主节点;
3)请求投票的从节点的操作序列号大于等于本节点的操作序列号;
4)请求投票的从节点的操作序列号大于等于本地节点存储的集群中其他所有节点的操作序列号。
其中较优地,在步骤S32中,判断自身条件是否满足投票条件,包括对以下内容进行核验:
1)进行核验的节点自身不是主节点;
2)集群中不存在主节点;
3)集群中正常状态节点超过半数;
4)在本地节点存储的所有节点的信息中,进行核验的节点的操作序列号最大。
其中较优地,在步骤S34中,进行过表决的节点收到当选主节点的宣布请求后,不再接受任何投票或宣布请求。
其中较优地,当集群中多个节点的操作序列号相同时,所述多个节点进行对等选举,将先发出选举请求并符合投票检验的从节点选举为主节点。
本发明所提供的基于操作序列号的分布式数据库有权重选举方法,通过发送包含操作序列号的心跳消息进行节点间信息的同步,让集群中每个节点实时感知对方的状态,当通过异常检测判断集群中不存在正常的主节点时,向集群中其他节点发送请求成为主节点的消息,并根据操作序列号选举出主节点。将用于描述节点最新操作状态的操作序列号纳入选举策略当中,使得包含最新的操作序列号的节点当选为主节点,以保证尽可能最多的用户操作被保留下来,在最短的时间内发现主节点故障,并进行主节点的选举,提高了工作效率。
附图说明
图1为本发明所提供的基于操作序列号的分布式数据库有权重选举方法的流程图;
图2为本发明所提供的分布式数据库有权重选举方法中,进行节点间信息同步的流程图;
图3为本发明所提供的分布式数据库有权重选举方法中,通过异常检测判断集群中主节点是否存在的流程图;
图4为本发明所提供的分布式数据库有权重选举方法中,通过异常检测判进行本地节点存储信息更新的流程图;
图5为本发明所提供的分布式数据库有权重选举方法中,从节点发起选举的流程图。
具体实施方式
下面结合附图和具体实施例对本发明的技术内容进行进一步的详细说明。
如图1所示,在本发明所提供的基于操作序列号的分布式数据库有权重选举方法,包括如下步骤:在分布式数据库运行时,通过发送包含操作序列号的心跳消息进行分布式数据库中节点间信息的同步。实时检测心跳消息,通过异常检测判断集群中是否存在正常的主节点,当存在正常的主节点时,根据心跳消息更新本地节点存储的操作序列号;否则,向集群中其他节点发送请求成为主节点的消息,并根据操作序列号选举出主节点。下面对这一过程做详细具体的说明。
S1,在分布式数据库运行时,通过发送包含操作序列号的心跳消息进行分布式数据库中节点间信息的同步。
一般来说,主从复制机制的实现方式多种多样,例如Oracle的OGG,IBM的CDC等是基于日志复制机制;而Linkedin的Databus等是基于触发器通知机制。本发明中的同步机制采用的是基于日志复制机制,为了确保节点之间进行数据复制时的开销最小、性能最高。
然而,在分布式数据库运行过程中,对于每一条变化的记录不能够直接将数据发送到对端。否则,当两节点之间出现故障以致中断后,两节点之间没有一个统一的标记,则无法在中断后恢复之前的同步。
因此,在本发明所提供的实施例中,在进行分布式数据库中节点间信息的同步时,在同步流程中引入操作序列号(事务日志号)的机制,并且将其包含在全部节点间通讯消息中,包括事务日志传输、心跳传输等不同通讯操作,都需要将本节点最新的事务日志号发送到对端节点,这样集群中的主从节点可以清晰地了解对方最新的事务日志号ID。其中,进行心跳传输的心跳消息中包含节点的当前角色、节点状态以及当前节点最新的事务日志号等信息。节点状态为当前节点的运行状态,在本发明所提供的实施例中,用0、1、2其中1个字节来表示,0代表正常,1代表非正常,2代表未知。当节点状态值为1或2时,节点被标记为异常,某节点本地的触发时间达到后,标记为异常的节点不再被遍历。而事务日志传输则包含数据的变更以及各自操作所对应的事务序列号,以便于其他节点同步该操作。
如图2所示,通过发送包含操作序列号的心跳消息进行分布式数据库中节点间信息的同步,具体包括如下步骤:
S11,初始化日志线程,读取本地节点当前的操作序列号并保存。
S12,启动后端线程,设置定时器触发时间,每次定时器触发时间到达后,本地节点将当前的操作序列号写入心跳消息,遍历集群中所有被标记为正常的节点,并向各个节点发送。
S13,接收到其他节点的心跳消息后,解析其中包含的操作序列号并保存在缓存中。
接收到心跳消息后,解析其中包含的操作序列号并保存在缓存中。在本发明所提供的实施例中,每个节点对其他节点的传入消息均保存一个数据结构,该数据结构标明最近得到的若干次心跳消息的时间以及发送心跳消息的节点状态。S14,集群内的节点通过发送和接收包含操作序列号的心跳消息完成节点间信息的同步。
S2,通过异常检测判断集群中是否存在正常的主节点,当存在正常的主节点时,根据心跳消息更新本地节点存储的操作序列号;否则,转向步骤S3。
对主节点的异常检测是分布式数据库进行有权选举的基础。只有确保在不稳定的网络条件中,能够在集群里可靠地检测出哪些节点失效,才能够真正保证选举的可靠性。
在本发明所提供的实施例中,判断集群中是否存在正常的主节点是基于定时发送的心跳消息与超时机制完成的。集群中每个节点必须定时向集群中的其他所有节点发送心跳消息。心跳消息中不但包含该节点的状态、节点的当前角色,同时也包括该节点的最新事务号信息。其中,判断集群中是否存在正常的主节点,包括判断集群中主节点是否存在以及集群中的主节点是否出现断连。判断集群中的主节点是否出现断连包括如下步骤:
S211,从节点初始化接收线程,监听心跳消息,并设置定时器触发时间。
S212,定时器触发时间到达后,判断接收线程上一次接收到的主节点的心跳消息的时间加上该主节点的预估超时时间,与当前时间的差值,如果差值大于当前时间则心跳消息没有超时,继续等待;
每个节点对其他节点的传入消息均保存一个数据结构,该数据结构标明最近得到的若干次心跳消息的时间以及发送心跳消息的节点状态。节点通过一个超时机制标明另外节点是否在线,而该超时时间则是通过该另外节点之前若干次收到的心跳消息时间计算得出。
例如,在一个稳定的网络环境中,心跳消息发送的时间窗口为W秒,而超时的初始时间设定为Y秒(Y>W)。当网络产生抖动后,尽管源节点依然按照W秒的间隔发送心跳消息,但是目标节点可能无法按照W秒的间隔接收到心跳消息。如果目标节点在Y秒之内接收到心跳消息,则不认为对端断连,而是将该心跳消息中的信息存入数据结构。同时,重新计算Y的值。Y的值随着网络状况实时进行调整,提高了异常检测的灵活性和准确性。在本发明所提供的实施例中,Y的值通过“φ累积失败检测算法”根据历史接收到的心跳消息的时间间隔,叠加上基础的Y得出,因此,在一个不稳定的网络中Y会随着不稳定性的加剧而逐渐延长,提高了异常检测的准确性。
S213,如果差值小于当前时间,则将主节点在本地节点的数据结构中的状态置为断连状态。
前已述及,判断集群中是否存在正常的主节点,包括判断集群中主节点是否存在以及集群中的主节点是否出现断连。如图3所示,判断集群中主节点是否存在包括如下步骤:
S221,主节点初始化接收线程,监听心跳消息,并设置定时器触发时间。
S222,定时器触发时间到达后,判断接收线程上一次接收到的从节点的心跳消息的时间加上该从节点的预估超时时间,与当前时间的差值,如果差值大于当前时间则心跳消息没有超时,继续等待;否则,将该从节点置为断连状态,触发回调函数,转向步骤S223。
S223,在回调函数中,判断该集群中正常节点的数量。如果正常节点的数量小于或等于集群中半数节点的数量,则将该主节点的当前角色降为从节点,否则,继续监听心跳消息。
通过异常检测判断集群中是否存在正常的主节点,当存在正常的主节点时,根据心跳消息更新本地节点存储的操作序列号,如图4所示,包括如下步骤:
S231,初始化接收线程,实时监听心跳消息。
S232,接收线程收到心跳消息后解析其操作序列号,并判断节点状态。
进行心跳传输的心跳消息中包含节点状态以及当前节点最新的事务日志号。节点状态为当前节点的运行状态,0代表正常,1代表非正常,2代表未知。当节点状态值为1或2时,节点被标记为异常。当接收到心跳消息后解析其操作序列号,根据心跳消息中包含的节点状态信息判断节点状态是否正常,只有正常的节点的相关信息才能保存到数据结构中。
S223,如果节点状态正常,则更新本地节点存储的该节点的最新的操作序列号,将其存入该节点的数据结构中,并根据数据结构中接收的最近若干个心跳消息的时间计算新的超时时间。
S3,当从节点检测到集群中不存在正常的主节点时,向集群中其他节点发送请求成为主节点的消息,并根据操作序列号选举出主节点。
投票选举是在从节点发现主节点断连或者集群中不存在主节点的情况下,自身向集群内其他节点发送的请求。本发明所提供的基于操作序列号的分布式数据库有权重选举方法的理论基础为Paxos选举协议,在其上引入了操作序列号等一致性控制机制。
在本发明所提供的实施例中,选举机制分为若干个阶段。对于每个从节点来说,当通过异常检测方法发现主节点断连或者集群中不存在主节点后,会向其他节点发送自身请求成为主节点的心跳消息。该心跳消息必须包含本节点最新的操作序列号(Propose阶段)。
其他节点如果收到该请求,则会根据自身信息检验,并进行返回“同意”或“拒绝”的消息(Promise阶段)。
发起投票的从节点当收到了超过半数的“同意”回复,则会将当前角色调整为主节点,并向其他节点发送确认消息(Accept阶段)。
其他节点得到该消息后,会回复确认消息,并将自身的主节点信息置为该发起请求的从节点(Accepted阶段)。
当集群中多个节点的操作序列号相同时,则多个节点进行对等选举。将先发出选举请求并符合投票检验的从节点选举为主节点。
如图5所示,当从节点检测到集群中不存在正常的主节点时,向集群中其他节点发送请求成为主节点的消息,并根据操作序列号选举出主节点,包括如下步骤:
S31,当从节点检测到集群中不存在正常的主节点时,进入静默期,如果该从节点在静默期收到其他节点的投票请求,则根据自身信息进行投票检验,并投票表决;否则,进入备节点阶段。
当一个从节点发现集群中主节点不存在或断连时,则进入投票选举流程,进入静默期。在静默期内,该从节点不能够发起选举请求。静默期的时间长度为一个投票周期。在静默期与备节点阶段,如果该从节点接收到其他节点的投票请求,则根据自身信息进行投票检验。若校验通过则投赞成票,否则投反对票(Promise阶段)。在本发明所提供的实施例中,根据自身信息进行投票检验包括对以下内容进行核验:
1)进行核验的节点自身不是主节点;
2)集群中不存在主节点;
3)请求投票的从节点的操作序列号大于等于本节点的操作序列号;
4)请求投票的从节点的操作序列号大于等于本地节点存储的集群中其他所有节点的操作序列号。
将请求投票的从节点的操作序列号与本地节点存储的集群中其他节点的最新的操作序列号进行比较,当请求投票的从节点的操作序列号大于等于本地节点存储的集群中其他所有节点的操作序列号时,核验才会通过。
S32,判断自身条件是否满足投票条件,当自身条件满足投票条件时,向其他节点发起投票操作。
静默期后,该从节点被设置为备节点状态,判断自身条件是否满足投票条件。自身条件满足投票条件时,向其他节点发起投票操作。其中,在本发明所提供的实施例中,判断自身条件是否满足投票条件,包括对以下内容进行核验:
1)进行核验的节点自身不是主节点;
2)集群中不存在主节点;
3)集群中正常状态节点超过半数;
4)在本地节点存储的所有节点的信息中,进行核验的节点的操作序列号最大。
S33,其他节点根据自身信息进行投票检验,并投票表决;若其他节点返回拒绝,或者在一个投票周期内没有收到集群中超过半数节点的同意请求,则继续步骤S32,否则转向步骤S34。
其他节点根据自身信息进行投票检验,并投票表决;根据自身信息进行投票检验的内容与步骤S31中的内容一致。若其他节点返回拒绝,或者在一个投票周期内没有收到集群中超过半数节点的同意请求,则继续步骤S32,否则转向步骤S34,请求投票的从节点进入宣布阶段(Accept阶段)。
S34,向所有进行过表决的节点发起当选主节点的宣布请求,进行过表决的节点收到当选主节点的宣布请求后,根据步骤S31中的自身信息再次判断,若校验通过则返回确认,否则拒绝。
请求投票的从节点进入宣布阶段后,向所有进行过表决的节点发起当选主节点的宣布请求。其他节点收到当选主节点的宣布请求后,根据步骤S31中的自身信息再次判断,若校验通过则返回确认(Accepted阶段),否则拒绝。在该阶段内,参与选举的从节点不可再接受任何投票或宣布请求。
S35,发起选举的从节点接收其他节点的宣布表决,当存在反对票或者赞成票不满足超过半数原则时,选举以失败结束,保持从节点角色,且一定时间内不能发起选举请求;否则,选举成功。
综上所述,本发明所提供的基于操作序列号的分布式数据库有权重选举方法,在分布式数据库运行时,通过发送包含操作序列号的心跳消息进行分布式数据库中节点间信息的同步,让集群中每个节点实时感知对方的状态,然后通过异常检测判断集群中是否存在正常的主节点,当从节点检测到集群中不存在正常的主节点时,向集群中其他节点发送请求成为主节点的消息,并根据操作序列号选举出主节。将用于描述节点最新操作状态的操作序列号纳入选举策略当中,使得包含最新操作序列号的节点当选为主节点,以保证尽可能最多的用户操作被保留下来,提高了工作效率。如果所有节点的序列号相同则进行对等选举。
上面对本发明所提供的基于操作序列号的分布式数据库有权重选举方法进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。

Claims (13)

1.一种基于操作序列号的分布式数据库有权重选举方法,其特征在于包括如下步骤:
S1,在分布式数据库运行时,通过发送包含操作序列号的心跳消息进行节点间信息的同步;
S2,通过异常检测判断集群中是否存在正常的主节点,当存在正常的主节点时,根据心跳消息更新本地节点存储的操作序列号;否则,转向步骤S3;
S3,当从节点检测到集群中不存在正常的主节点时,向集群中其他节点发送请求成为主节点的消息,并根据操作序列号选举出主节点。
2.如权利要求1所述的基于操作序列号的分布式数据库有权重选举方法,其特征在于在步骤S1中,通过发送包含操作序列号的心跳消息进行节点间信息的同步,包括如下步骤:
S11,读取本地节点当前的操作序列号并保存;
S12,设置定时器触发时间,当定时器触发时间到达后,本地节点将当前的操作序列号写入心跳消息,遍历集群中所有被标记为正常的节点,并向各个节点发送;
S13,接收到其他节点的心跳消息后,解析其中包含的操作序列号并保存在缓存中;
S14,集群内的节点通过发送和接收包含操作序列号的心跳消息完成节点间信息的同步。
3.如权利要求1所述的基于操作序列号的分布式数据库有权重选举方法,其特征在于:
所述心跳消息包含节点的当前角色、本地节点状态和本地节点最新的事务日志号;所述节点状态为本地节点的运行状态,包含正常和异常,其中,异常包括非正常和未知;当某节点的触发时间达到后,标记为异常的节点不再被遍历。
4.如权利要求2所述的基于操作序列号的分布式数据库有权重选举方法,其特征在于:
每个节点对其他节点传入的心跳消息均保存一个数据结构,所述数据结构标明最近得到的心跳消息的时间以及发送心跳消息的节点状态。
5.如权利要求1所述的基于操作序列号的分布式数据库有权重选举方法,其特征在于:
在步骤S2中,判断集群中是否存在正常的主节点,包括判断集群中主节点是否存在以及集群中的主节点是否出现断连;
其中,判断集群中的主节点是否出现断连包括如下步骤:
S211,从节点监听心跳消息,并设置定时器触发时间;
S212,定时器触发时间到达后,判断上一次接收到的主节点的心跳消息的时间加上所述主节点的超时时间,与当前时间的差值,如果所述差值大于当前时间则心跳消息没有超时,继续等待;
S213,如果所述差值小于当前时间,则将主节点在本地节点的数据结构中的状态置为断连状态。
6.如权利要求5所述的基于操作序列号的分布式数据库有权重选举方法,其特征在于:
所述超时时间通过节点之前收到的心跳消息的时间进行实时计算得出。
7.如权利要求5所述的基于操作序列号的分布式数据库有权重选举方法,其特征在于在步骤S2中,判断集群中主节点是否存在,包括如下步骤:
S221,主节点监听心跳消息,并设置定时器触发时间;
S222,定时器触发时间到达后,判断上一次接收到的从节点的心跳消息的时间加上该从节点的超时时间,与当前时间的差值,如果差值大于当前时间则心跳消息没有超时,继续等待;否则,将该从节点置为断连状态,转向步骤S223;
S223,判断该集群中正常节点的数量,如果正常节点的数量小于或等于集群中半数节点的数量,则将该主节点的当前角色降为从节点,否则,继续监听心跳消息。
8.如权利要求1所述的基于操作序列号的分布式数据库有权重选举方法,其特征在于在步骤S2中,当存在正常的主节点时,根据心跳消息更新本地节点存储的操作序列号,包括如下步骤:
S231,实时监听心跳消息;
S232,收到节点的心跳消息后解析其操作序列号,并判断节点状态;
S223,如果节点状态为正常,则更新本地节点存储的所述节点的最新的操作序列号,存入所述节点的数据结构中,并根据数据结构中最近接收的心跳消息的时间计算新的超时时间。
9.如权利要求1所述的基于操作序列号的分布式数据库有权重选举方法,其特征在于在步骤S3中,向集群中其他节点发送请求成为主节点的消息,并根据操作序列号选举出主节点,:
S31,当从节点检测到集群中不存在正常的主节点时,进入静默期,如果所述从节点在静默期收到其他节点的投票请求,则根据自身信息进行投票检验,并投票表决;否则,进入备节点阶段;
S32,判断自身条件是否满足投票条件,当自身条件满足投票条件时,向其他节点发起投票操作;
S33,其他节点根据自身信息进行投票检验,并投票表决;若其他节点返回拒绝,或者在一个投票周期内没有收到集群中超过半数节点的同意请求,则继续步骤S32,否则转向步骤S34;
S34,向所有进行过表决的节点发起当选主节点的宣布请求,进行过表决的节点收到当选主节点的宣布请求后,根据步骤S31中的自身信息再次判断,若校验通过则返回确认,否则拒绝;
S35,发起选举的从节点接收其他节点的宣布表决,当存在反对票或者赞成票不满足超过半数原则时,选举以失败结束,保持从节点角色,且一定时间内不能发起选举请求;否则,选举成功。
10.如权利要求1所述的基于操作序列号的分布式数据库有权重选举方法,其特征在于在步骤S31、S33以及S34中,根据自身信息进行投票检验包括对以下内容进行核验:
1)进行核验的节点自身不是主节点;
2)集群中不存在主节点;
3)请求投票的从节点的操作序列号大于等于本节点的操作序列号;
4)请求投票的从节点的操作序列号大于等于本地节点存储的集群中其他所有节点的操作序列号。
11.如权利要求9所述的基于操作序列号的分布式数据库有权重选举方法,其特征在于在步骤S32中,判断自身条件是否满足投票条件,包括对以下内容进行核验:
1)进行核验的节点自身不是主节点;
2)集群中不存在主节点;
3)集群中正常状态节点超过半数;
4)在本地节点存储的所有节点的信息中,进行核验的节点的操作序列号最大。
12.如权利要求9所述的基于操作序列号的分布式数据库有权重选举方法,其特征在于:
在步骤S34中,进行过表决的节点收到当选主节点的宣布请求后,不再接受任何投票或宣布请求。
13.如权利要求1所述的基于操作序列号的分布式数据库有权重选举方法,其特征在于:
当集群中多个节点的操作序列号相同时,所述多个节点进行对等选举,将先发出选举请求并符合投票检验的从节点选举为主节点。
CN201510325204.7A 2015-06-12 2015-06-12 基于操作序列号的分布式数据库有权重选举方法 Expired - Fee Related CN104933132B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510325204.7A CN104933132B (zh) 2015-06-12 2015-06-12 基于操作序列号的分布式数据库有权重选举方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510325204.7A CN104933132B (zh) 2015-06-12 2015-06-12 基于操作序列号的分布式数据库有权重选举方法

Publications (2)

Publication Number Publication Date
CN104933132A true CN104933132A (zh) 2015-09-23
CN104933132B CN104933132B (zh) 2019-11-19

Family

ID=54120299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510325204.7A Expired - Fee Related CN104933132B (zh) 2015-06-12 2015-06-12 基于操作序列号的分布式数据库有权重选举方法

Country Status (1)

Country Link
CN (1) CN104933132B (zh)

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515912A (zh) * 2015-12-22 2016-04-20 河北远东通信系统工程有限公司 一种多节点之间链路有效性检测和处理方法
CN106155780A (zh) * 2015-04-02 2016-11-23 阿里巴巴集团控股有限公司 一种基于时间的节点选举方法及装置
CN106254100A (zh) * 2016-07-27 2016-12-21 腾讯科技(深圳)有限公司 一种数据容灾方法、装置和系统
CN106331063A (zh) * 2016-08-15 2017-01-11 成都轻车快马网络科技有限公司 数据库部署方法
CN106452836A (zh) * 2016-08-31 2017-02-22 北京小米移动软件有限公司 主节点设置方法及装置
CN106559263A (zh) * 2016-11-17 2017-04-05 杭州沃趣科技股份有限公司 一种改进的分布式一致性算法
CN106657117A (zh) * 2016-12-31 2017-05-10 广州佳都信息技术研发有限公司 一种地铁综合监控权限管理的方法及装置
CN106656624A (zh) * 2017-01-04 2017-05-10 合肥康捷信息科技有限公司 基于Gossip通信协议和Raft选举算法的优化方法
CN106789197A (zh) * 2016-12-07 2017-05-31 高新兴科技集团股份有限公司 一种集群选举方法及系统
WO2017113057A1 (zh) * 2015-12-28 2017-07-06 中国科学院微电子研究所 一种分布式测试系统的测试控制方法
CN107087232A (zh) * 2017-04-07 2017-08-22 Ut斯达康(深圳)技术有限公司 用户的实时状态检测方法及系统
CN107105032A (zh) * 2017-04-20 2017-08-29 腾讯科技(深圳)有限公司 节点设备运行方法及节点设备
CN107124305A (zh) * 2017-04-20 2017-09-01 腾讯科技(深圳)有限公司 节点设备运行方法及节点设备
CN107153660A (zh) * 2016-03-04 2017-09-12 福建天晴数码有限公司 分布式数据库系统的故障检测处理方法及其系统
CN107203420A (zh) * 2016-03-18 2017-09-26 北京京东尚科信息技术有限公司 任务调度实例的主从切换方法和装置
CN107294799A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种分布式系统中节点的处理方法和装置
CN108038384A (zh) * 2017-11-29 2018-05-15 北京京航计算通讯研究所 一种高安全的集群共享存储虚拟化方法
CN108600328A (zh) * 2018-03-29 2018-09-28 新华三技术有限公司 一种集群选举方法和装置
CN108763501A (zh) * 2018-05-30 2018-11-06 郑州云海信息技术有限公司 一种集群选主方法、系统、设备及计算机可读存储介质
CN109241182A (zh) * 2018-08-14 2019-01-18 中国平安人寿保险股份有限公司 大数据实时同步方法、装置、计算机设备及存储介质
CN109274986A (zh) * 2017-07-17 2019-01-25 中兴通讯股份有限公司 多中心容灾方法、系统、存储介质和计算机设备
CN109327544A (zh) * 2018-11-21 2019-02-12 新华三技术有限公司 一种领导节点的确定方法和装置
CN109412737A (zh) * 2018-11-26 2019-03-01 深圳航天工业技术研究院有限公司 数据采集系统的控制方法、数据采集系统及存储介质
CN110049082A (zh) * 2017-12-08 2019-07-23 交互数字Ce专利控股公司 用于分布式网络中的数据传播的设备和方法
CN110515557A (zh) * 2019-08-23 2019-11-29 北京浪潮数据技术有限公司 一种集群管理方法、装置、设备及可读存储介质
CN110675545A (zh) * 2018-07-03 2020-01-10 万福资讯股份有限公司 基于数字货币的计票方法及区块链计票系统
CN111198662A (zh) * 2020-01-03 2020-05-26 腾讯科技(深圳)有限公司 一种数据存储方法、装置和计算机可读存储介质
CN111338647A (zh) * 2018-12-18 2020-06-26 杭州海康威视数字技术股份有限公司 一种大数据集群管理方法和装置
CN111538763A (zh) * 2020-04-24 2020-08-14 咪咕文化科技有限公司 一种确定集群中主节点的方法、电子设备和存储介质
CN111586110A (zh) * 2020-04-22 2020-08-25 广州锦行网络科技有限公司 一种raft在出现点对点故障时的优化处理方法
CN112445809A (zh) * 2020-11-25 2021-03-05 浪潮云信息技术股份公司 一种分布式数据库节点存活状态检测模块及方法
CN112835748A (zh) * 2019-11-22 2021-05-25 上海宝信软件股份有限公司 基于scada系统的多中心冗余仲裁方法及系统
WO2021098555A1 (zh) * 2019-11-22 2021-05-27 北京金山云网络技术有限公司 一种分布式表格存储的处理方法、装置及系统
CN112865992A (zh) * 2019-11-27 2021-05-28 上海哔哩哔哩科技有限公司 分布式主从系统中主节点的切换方法、装置和计算机设备
CN112865995A (zh) * 2019-11-27 2021-05-28 上海哔哩哔哩科技有限公司 分布式主从系统
CN113014634A (zh) * 2021-02-20 2021-06-22 成都新希望金融信息有限公司 集群选举处理方法、装置、设备及存储介质
CN113127565A (zh) * 2021-04-28 2021-07-16 联通沃音乐文化有限公司 基于外部观察者组的分布式数据库节点同步的方法和装置
CN113297236A (zh) * 2020-11-10 2021-08-24 阿里巴巴集团控股有限公司 分布式一致性系统中主节点的选举方法、装置及系统
CN114064414A (zh) * 2021-11-25 2022-02-18 北京志凌海纳科技有限公司 一种高可用的集群状态监控方法及系统
CN114172792A (zh) * 2021-12-13 2022-03-11 武汉众邦银行股份有限公司 一种保证服务高可用的序号生成方法的实现方法及装置
CN114510495A (zh) * 2022-04-21 2022-05-17 北京安华金和科技有限公司 一种数据库业务数据一致性处理方法和系统
CN115002116A (zh) * 2022-05-30 2022-09-02 紫光建筑云科技(重庆)有限公司 一种云平台上分布式redis集群与可靠性检测的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030158936A1 (en) * 2002-02-15 2003-08-21 International Business Machines Corporation Method for controlling group membership in a distributed multinode data processing system to assure mutually symmetric liveness status indications
CN104077181A (zh) * 2014-06-26 2014-10-01 国电南瑞科技股份有限公司 一种适用于分布式任务管理系统的状态一致性维护方法
CN104679796A (zh) * 2013-12-03 2015-06-03 方正信息产业控股有限公司 一种选举方法、装置及数据库镜像集群节点

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030158936A1 (en) * 2002-02-15 2003-08-21 International Business Machines Corporation Method for controlling group membership in a distributed multinode data processing system to assure mutually symmetric liveness status indications
CN104679796A (zh) * 2013-12-03 2015-06-03 方正信息产业控股有限公司 一种选举方法、装置及数据库镜像集群节点
CN104077181A (zh) * 2014-06-26 2014-10-01 国电南瑞科技股份有限公司 一种适用于分布式任务管理系统的状态一致性维护方法

Cited By (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11106489B2 (en) 2015-04-02 2021-08-31 Ant Financial (Hang Zhou) Network Technology Co., Ltd. Efficient, time-based leader node election in a distributed computing system
CN106155780A (zh) * 2015-04-02 2016-11-23 阿里巴巴集团控股有限公司 一种基于时间的节点选举方法及装置
US10534634B2 (en) 2015-04-02 2020-01-14 Alibaba Group Holding Limited Efficient, time-based leader node election in a distributed computing system
CN106155780B (zh) * 2015-04-02 2020-01-31 阿里巴巴集团控股有限公司 一种基于时间的节点选举方法及装置
US10802869B2 (en) 2015-04-02 2020-10-13 Alibaba Group Holding Limited Efficient, time-based leader node election in a distributed computing system
CN105515912B (zh) * 2015-12-22 2018-10-16 河北远东通信系统工程有限公司 一种多节点之间链路有效性检测和处理方法
CN105515912A (zh) * 2015-12-22 2016-04-20 河北远东通信系统工程有限公司 一种多节点之间链路有效性检测和处理方法
WO2017113057A1 (zh) * 2015-12-28 2017-07-06 中国科学院微电子研究所 一种分布式测试系统的测试控制方法
CN107153660A (zh) * 2016-03-04 2017-09-12 福建天晴数码有限公司 分布式数据库系统的故障检测处理方法及其系统
CN107153660B (zh) * 2016-03-04 2020-03-17 福建天晴数码有限公司 分布式数据库系统的故障检测处理方法及其系统
CN107203420A (zh) * 2016-03-18 2017-09-26 北京京东尚科信息技术有限公司 任务调度实例的主从切换方法和装置
CN107294799B (zh) * 2016-03-31 2020-09-01 阿里巴巴集团控股有限公司 一种分布式系统中节点的处理方法和装置
CN107294799A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种分布式系统中节点的处理方法和装置
CN106254100B (zh) * 2016-07-27 2019-04-16 腾讯科技(深圳)有限公司 一种数据容灾方法、装置和系统
CN106254100A (zh) * 2016-07-27 2016-12-21 腾讯科技(深圳)有限公司 一种数据容灾方法、装置和系统
US10713135B2 (en) 2016-07-27 2020-07-14 Tencent Technology (Shenzhen) Company Limited Data disaster recovery method, device and system
CN106331063A (zh) * 2016-08-15 2017-01-11 成都轻车快马网络科技有限公司 数据库部署方法
CN106331063B (zh) * 2016-08-15 2019-04-09 成都轻车快马网络科技有限公司 数据库部署方法
CN106452836A (zh) * 2016-08-31 2017-02-22 北京小米移动软件有限公司 主节点设置方法及装置
CN106452836B (zh) * 2016-08-31 2019-12-13 北京小米移动软件有限公司 主节点设置方法及装置
CN106559263A (zh) * 2016-11-17 2017-04-05 杭州沃趣科技股份有限公司 一种改进的分布式一致性算法
CN106789197A (zh) * 2016-12-07 2017-05-31 高新兴科技集团股份有限公司 一种集群选举方法及系统
CN106657117A (zh) * 2016-12-31 2017-05-10 广州佳都信息技术研发有限公司 一种地铁综合监控权限管理的方法及装置
CN106656624A (zh) * 2017-01-04 2017-05-10 合肥康捷信息科技有限公司 基于Gossip通信协议和Raft选举算法的优化方法
CN106656624B (zh) * 2017-01-04 2019-05-14 合肥康捷信息科技有限公司 基于Gossip通信协议和Raft选举算法的优化方法
CN107087232B (zh) * 2017-04-07 2020-03-27 优地网络有限公司 用户的实时状态检测方法及系统
CN107087232A (zh) * 2017-04-07 2017-08-22 Ut斯达康(深圳)技术有限公司 用户的实时状态检测方法及系统
WO2018192534A1 (zh) * 2017-04-20 2018-10-25 腾讯科技(深圳)有限公司 节点设备运行方法、工作状态切换装置、节点设备及介质
US10833919B2 (en) 2017-04-20 2020-11-10 Tencent Technology (Shenzhen) Company Limited Node device operation method, work status switching apparatus, node device, and medium
CN107105032A (zh) * 2017-04-20 2017-08-29 腾讯科技(深圳)有限公司 节点设备运行方法及节点设备
CN107105032B (zh) * 2017-04-20 2019-08-06 腾讯科技(深圳)有限公司 节点设备运行方法及节点设备
CN107124305B (zh) * 2017-04-20 2019-08-23 腾讯科技(深圳)有限公司 节点设备运行方法及节点设备
CN107124305A (zh) * 2017-04-20 2017-09-01 腾讯科技(深圳)有限公司 节点设备运行方法及节点设备
WO2018192533A1 (zh) * 2017-04-20 2018-10-25 腾讯科技(深圳)有限公司 节点设备运行方法、工作状态切换装置、节点设备及介质
CN109274986A (zh) * 2017-07-17 2019-01-25 中兴通讯股份有限公司 多中心容灾方法、系统、存储介质和计算机设备
CN109274986B (zh) * 2017-07-17 2021-02-12 中兴通讯股份有限公司 多中心容灾方法、系统、存储介质和计算机设备
CN108038384A (zh) * 2017-11-29 2018-05-15 北京京航计算通讯研究所 一种高安全的集群共享存储虚拟化方法
CN108038384B (zh) * 2017-11-29 2021-06-18 北京京航计算通讯研究所 一种高安全的集群共享存储虚拟化方法
CN110049082B (zh) * 2017-12-08 2023-04-18 交互数字Ce专利控股公司 用于分布式网络中的数据传播的设备和方法
CN110049082A (zh) * 2017-12-08 2019-07-23 交互数字Ce专利控股公司 用于分布式网络中的数据传播的设备和方法
CN108600328A (zh) * 2018-03-29 2018-09-28 新华三技术有限公司 一种集群选举方法和装置
CN108763501A (zh) * 2018-05-30 2018-11-06 郑州云海信息技术有限公司 一种集群选主方法、系统、设备及计算机可读存储介质
CN110675545A (zh) * 2018-07-03 2020-01-10 万福资讯股份有限公司 基于数字货币的计票方法及区块链计票系统
CN109241182B (zh) * 2018-08-14 2024-02-02 中国平安人寿保险股份有限公司 大数据实时同步方法、装置、计算机设备及存储介质
CN109241182A (zh) * 2018-08-14 2019-01-18 中国平安人寿保险股份有限公司 大数据实时同步方法、装置、计算机设备及存储介质
CN109327544A (zh) * 2018-11-21 2019-02-12 新华三技术有限公司 一种领导节点的确定方法和装置
CN109327544B (zh) * 2018-11-21 2021-06-18 新华三技术有限公司 一种领导节点的确定方法和装置
CN109412737A (zh) * 2018-11-26 2019-03-01 深圳航天工业技术研究院有限公司 数据采集系统的控制方法、数据采集系统及存储介质
CN109412737B (zh) * 2018-11-26 2020-11-17 深圳航天工业技术研究院有限公司 数据采集系统的控制方法、数据采集系统及存储介质
CN111338647A (zh) * 2018-12-18 2020-06-26 杭州海康威视数字技术股份有限公司 一种大数据集群管理方法和装置
CN111338647B (zh) * 2018-12-18 2023-09-12 杭州海康威视数字技术股份有限公司 一种大数据集群管理方法和装置
CN110515557B (zh) * 2019-08-23 2022-06-17 北京浪潮数据技术有限公司 一种集群管理方法、装置、设备及可读存储介质
CN110515557A (zh) * 2019-08-23 2019-11-29 北京浪潮数据技术有限公司 一种集群管理方法、装置、设备及可读存储介质
WO2021098555A1 (zh) * 2019-11-22 2021-05-27 北京金山云网络技术有限公司 一种分布式表格存储的处理方法、装置及系统
CN112835748A (zh) * 2019-11-22 2021-05-25 上海宝信软件股份有限公司 基于scada系统的多中心冗余仲裁方法及系统
US12001450B2 (en) 2019-11-22 2024-06-04 Beijing Kingsoft Cloud Network Technology Co., Ltd. Distributed table storage processing method, device and system
CN112865992A (zh) * 2019-11-27 2021-05-28 上海哔哩哔哩科技有限公司 分布式主从系统中主节点的切换方法、装置和计算机设备
CN112865995A (zh) * 2019-11-27 2021-05-28 上海哔哩哔哩科技有限公司 分布式主从系统
CN112865992B (zh) * 2019-11-27 2022-10-14 上海哔哩哔哩科技有限公司 分布式主从系统中主节点的切换方法、装置和计算机设备
CN112865995B (zh) * 2019-11-27 2022-10-14 上海哔哩哔哩科技有限公司 分布式主从系统
CN111198662A (zh) * 2020-01-03 2020-05-26 腾讯科技(深圳)有限公司 一种数据存储方法、装置和计算机可读存储介质
CN111198662B (zh) * 2020-01-03 2023-07-14 腾讯云计算(长沙)有限责任公司 一种数据存储方法、装置和计算机可读存储介质
CN111586110A (zh) * 2020-04-22 2020-08-25 广州锦行网络科技有限公司 一种raft在出现点对点故障时的优化处理方法
CN111586110B (zh) * 2020-04-22 2021-03-19 广州锦行网络科技有限公司 一种raft在出现点对点故障时的优化处理方法
CN111538763B (zh) * 2020-04-24 2023-08-15 咪咕文化科技有限公司 一种确定集群中主节点的方法、电子设备和存储介质
CN111538763A (zh) * 2020-04-24 2020-08-14 咪咕文化科技有限公司 一种确定集群中主节点的方法、电子设备和存储介质
CN113297236A (zh) * 2020-11-10 2021-08-24 阿里巴巴集团控股有限公司 分布式一致性系统中主节点的选举方法、装置及系统
CN112445809A (zh) * 2020-11-25 2021-03-05 浪潮云信息技术股份公司 一种分布式数据库节点存活状态检测模块及方法
CN113014634A (zh) * 2021-02-20 2021-06-22 成都新希望金融信息有限公司 集群选举处理方法、装置、设备及存储介质
CN113127565A (zh) * 2021-04-28 2021-07-16 联通沃音乐文化有限公司 基于外部观察者组的分布式数据库节点同步的方法和装置
CN114064414A (zh) * 2021-11-25 2022-02-18 北京志凌海纳科技有限公司 一种高可用的集群状态监控方法及系统
CN114172792B (zh) * 2021-12-13 2023-07-28 武汉众邦银行股份有限公司 一种保证服务高可用的序号生成方法的实现方法及装置
CN114172792A (zh) * 2021-12-13 2022-03-11 武汉众邦银行股份有限公司 一种保证服务高可用的序号生成方法的实现方法及装置
CN114510495B (zh) * 2022-04-21 2022-07-08 北京安华金和科技有限公司 一种数据库业务数据一致性处理方法和系统
CN114510495A (zh) * 2022-04-21 2022-05-17 北京安华金和科技有限公司 一种数据库业务数据一致性处理方法和系统
CN115002116A (zh) * 2022-05-30 2022-09-02 紫光建筑云科技(重庆)有限公司 一种云平台上分布式redis集群与可靠性检测的方法

Also Published As

Publication number Publication date
CN104933132B (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN104933132A (zh) 基于操作序列号的分布式数据库有权重选举方法
US11222043B2 (en) System and method for determining consensus within a distributed database
CN107832138B (zh) 一种扁平化的高可用namenode模型的实现方法
US7139925B2 (en) System and method for dynamic cluster adjustment to node failures in a distributed data system
US6928467B2 (en) Apparatus and methods for providing data synchronization by facilitating data synchronization system design
CN111368002A (zh) 一种数据处理方法、系统、计算机设备和存储介质
US7024483B2 (en) System and method for topology manager employing finite state automata for dynamic cluster formation
US7035858B2 (en) System and method dynamic cluster membership in a distributed data system
US8140623B2 (en) Non-blocking commit protocol systems and methods
US9753954B2 (en) Data node fencing in a distributed file system
CN103199972A (zh) 基于soa、rs485总线实现的双机热备份切换方法及热备份系统
CN112328421B (zh) 一种系统故障处理方法、装置、计算机设备和存储介质
CN108846745B (zh) 区块链交易处理辅助系统、区块链数据处理系统及方法
CN114268532A (zh) 一种基于Raft协议的竞选方法、分布式系统及存储介质
CN107357800A (zh) 一种数据库高可用零丢失解决方法
CN112003943A (zh) 语音数据同步方法和装置
CN110661841A (zh) 微服务架构中分布式服务发现集群的数据一致性方法
CN114039978B (zh) 一种去中心化的PoW算力集群部署方法
JP2005534099A (ja) データベースの同期
CN114625489A (zh) 访问请求响应方法、装置以及分布式系统
CN110716827A (zh) 适用于分布式系统的热备份方法及分布式系统
CN114244638B (zh) 组播网络通信方法、装置、设备及介质
CN113708960B (zh) 一种Zookeeper集群的部署方法、装置及设备
CN117851244B (zh) 数据库故障检测方法和装置、电子设备及存储介质
CN112463669B (zh) 一种存储仲裁管理方法、系统、终端及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191031

Address after: 518057 1005, 10th floor, Qinghua Information Port scientific research building, North District, high tech Industrial Park, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Jushan Database Software Co.,Ltd.

Address before: 510006, Guangzhou University of Guangdong Province, two horizontal road, No. 22, A1010

Applicant before: SEQUOIADB Corp.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 511458 room 2101-2112, No. 167, Haibin Road, Nansha District, Guangzhou City, Guangdong Province (office only) (one address with multiple photos)

Patentee after: Guangzhou Jushan Database Software Co.,Ltd.

Address before: 518057 1005, 10th floor, Tsinghua Information Port scientific research building, North District, high tech Industrial Park, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen Jushan Database Software Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191119