CN104767794A - 一种分布式***中的节点选举方法及节点 - Google Patents
一种分布式***中的节点选举方法及节点 Download PDFInfo
- Publication number
- CN104767794A CN104767794A CN201510113095.2A CN201510113095A CN104767794A CN 104767794 A CN104767794 A CN 104767794A CN 201510113095 A CN201510113095 A CN 201510113095A CN 104767794 A CN104767794 A CN 104767794A
- Authority
- CN
- China
- Prior art keywords
- node
- controlling vertex
- identification information
- target data
- database
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式***中的节点选举方法及节点。该方法包括:分布式***中参与所述节点选举的各节点均与数据库建立第一连接,且所述各节点通过所述第一连接访问所述数据库中的目标数据;成功访问到所述目标数据的节点作为控制节点,在所述分布式***中执行相应操作;其中,所述控制节点是所述数据库采用并发事务处理策略选举出的一个节点。由于数据库支持访问的节点数远远大于分布式***中的节点数,因此,分布式***中需要参与选举的节点均访问数据库时,数据库也能够选举出控制节点,从而保证了***正常工作。
Description
技术领域
本发明涉及分布式技术领域,尤其涉及一种分布式***中的节点选举方法及节点。
背景技术
分布式技术的发展方向是去中心化,即不会预定义分布式***(例如集群)的主节点或需要完成某个任务的执行节点,而是动态选举主节点或任务的执行节点(以下将主节点和执行节点统称为控制节点)。
目前,分布式***中控制节点的选举可以通过共享存储方式实现。
共享存储方式选举控制节点是指,分布式***的多个节点均访问***中的共享分区,其中成功访问到该共享分区(即取得共享分区的文件锁)的节点作为控制节点。控制节点退出分布式***后,其拥有的文件锁会释放掉,其余节点感知后可以发起新一轮的选举。
其中,共享分区支持的节点数有限。当分布式***中需要参与选举的节点数量超过共享分区支持的节点数时,会由于访问共享分区的节点数超过共享分区支持的节点数,导致共享分区无法正常工作,进而无法完成控制节点的选举,分布式***无法正常工作。
发明内容
本发明的目的是提供一种分布式***中的节点选举方法及节点,以解决以共享存储方式进行节点选举时,因受限于共享分区可支持的节点数有限,而导致的分布式***不能正常工作的问题。
本发明的目的是通过以下技术方案实现的:
一种分布式***中的节点选举方法,包括:
分布式***中参与所述节点选举的各节点均与数据库建立第一连接,且所述各节点通过所述第一连接访问所述数据库中的目标数据;
成功访问到所述目标数据的节点作为控制节点,在所述分布式***中执行相应操作;
其中,所述控制节点是所述数据库采用并发事务处理策略选举出的一个节点。
其中,所述成功访问到所述目标数据的节点作为控制节点,在所述分布式***中执行相应操作至少包括:所述成功访问到所述目标数据的节点保持所述第一连接。
基于上述任意方法实施例,可选的,成功访问到所述目标数据的节点作为控制节点,在所述分布式***中执行相应操作还包括:通过与所述数据库建立的第二连接,向所述数据库的控制节点表中***一条记录,所述记录包括所述控制节点的标识信息和所述标识信息的时间戳,并周期性通过所述第二连接更新所述记录。
相应的,未成功访问到所述目标数据的节点从所述控制节点表中获取所述控制节点的标识信息,并根据获取的标识信息与所述控制节点建立连接。
可选的,未成功访问到所述目标数据的节点从所述控制节点表中获取所述控制节点的标识信息,包括:
所述未成功访问到所述目标数据的节点确定当前时间;
所述未成功访问到所述目标数据的节点至少一次从所述控制节点表中查找时间戳标识的时间晚于确定的所述当前时间的控制节点的标识信息;
所述未成功访问到所述目标数据的节点获取查找到的,且时间戳标识的时间最晚的控制节点的标识信息。
其中,所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的次数不超过预定次数;所述成功访问到所述目标数据的节点更新所述记录的周期是根据所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的时间间隔确定的。
基于上述任意方法实施例,可选的,所述数据库中的目标数据为所述分布式***的标识信息,或为节点选举所对应的任务的标识信息。
基于与方法相同的发明构思,还提供一种分布式***中的节点,包括:
连接建立单元,用于与数据库建立第一连接;
选举单元,用于通过与所述第一连接访问所述数据库中的目标数据;
第一处理单元,用于成功访问到所述目标数据后,作为控制节点在所述分布式***中执行相应操作;
其中,所述控制节点是所述数据库采用并发事务处理策略选举出的一个节点。
其中,所述第一处理单元用于:
保持所述第一连接。
可选的,所述连接建立单元还用于:与所述数据库建立第二连接。
相应的,所述第一处理单元还用于:通过所述第二连接向所述数据库的控制节点表中***一条记录,所述记录包括所述控制节点的标识信息和所述标识信息的时间戳,并周期性通过所述第二连接更新所述记录;
相应的,所述节点还包括第二处理单元,用于:从所述控制节点表中获取所述控制节点的标识信息,并根据获取的标识信息与所述控制节点建立连接。
可选的,从所述控制节点表中获取所述控制节点的标识信息时,所述第二处理单元用于:
确定当前时间;
至少一次从所述控制节点表中查找时间戳标识的时间晚于确定的所述当前时间的控制节点的标识信息;
获取查找到的,且时间戳标识的时间最晚的控制节点的标识信息。
其中,所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的次数不超过预定次数;所述成功访问到所述目标数据的节点更新所述记录的周期是根据所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的时间间隔确定的
基于上述任意节点实施例,可选的,所述数据库中的目标数据为所述分布式***的标识信息,或为节点选举所对应的任务的标识信息。
本发明实施例提供的技术方案,分布式***中参与选举的各节点均访问该数据库中的目标数据,利用数据库的并发事务处理能力进行决策,允许其中一个节点成功访问目标数据,从而选举出控制节点。不同配置的数据库均可以支持1万以上的节点连接,而大规模分布式***的节点数通常在1千左右。由于数据库支持访问的节点数远远大于分布式***中的节点数,因此,分布式***中需要参与选举的节点均访问数据库时,数据库也能够选举出控制节点,从而保证了***正常工作。
附图说明
图1为本发明实施例提供的一种方法流程图;
图2为本发明实施例提供的控制节点处理流程图;
图3为本发明实施例提供的从节点处理流程图;
图4为本发明实施例提供的节点示意图。
具体实施方式
下面将结合附图,对本发明实施例提供的技术方案进行详细说明。
如图1所示,本发明实施例提供的分布式***中的节点选举方法具体包括如下操作:
步骤100、分布式***中参与所述节点选举的各节点均与数据库建立第一连接。
步骤110、上述各节点通过上述第一连接访问上述数据库中的目标数据。
现有的数据库均具备并发事务处理能力,检测及处理死连接的能力。
由于数据库具有并发事务处理能力,因此,当多个节点均通过与数据库建立的第一连接访问目标数据时,数据库能够通过决策允许其中一个节点成功访问该目标数据,则成功访问该目标数据的节点为控制节点。而其他节点会收到访问失败的反馈。
步骤120、成功访问到上述目标数据的节点作为控制节点,在分布式***中执行相应操作。
其中,成功访问到上述目标数据的节点是数据库采用并发事务处理策略选举出的一个节点。
本发明实施例提供的技术方案,分布式***中参与选举的各节点均访问该数据库中的目标数据,利用数据库的并发事务处理能力进行决策,允许其中一个节点成功访问目标数据,从而选举出控制节点。不同配置的数据库均可以支持1万以上的节点连接,而大规模分布式***的节点数通常在1千左右。由于数据库支持访问的节点数远远大于分布式***中的节点数,因此,分布式***中需要参与选举的节点均访问数据库时,数据库也能够选举出控制节点,从而保证了***正常工作。
另外,利用数据库的检测及处理死连接的能力,还能够在控制节点失效后,及时释放掉失效后的控制节点对目标数据的访问权限,以使得其他节点重新发起选举。
本发明实施例中,如果选举分布式***的主节点,上述数据库中的目标数据可以为节点所在分布式***的标识信息。如果选举某个任务的执行节点,上述数据库中的目标数据可以为节点选举所对应的任务的标识信息。
其中,可以在数据库中保存多个不同的目标数据。例如,保存不同分布式***的标识信息,保存不同任务的标识信息。相应的,数据库可以同时支持多个分布式***的主节点选举,以及多个任务的执行节点选举。
本发明实施例中,上述步骤120的操作至少包括:保持上述第一连接。
另外,上述步骤120的操作还包括作为主节点提供主节点服务,或者作为执行节点执行某任务。
其中,在作为主节点提供主节点服务的过程中或者作为执行节点执行某任务时,保持上述第一连接,直至不再继续作为主节点或直至任务执行完成,则不需要继续保持上述第一连接。
其中,选举出的控制节点保持上述第一连接的实现方式具体可以是:不提交第一连接上的事务,且持续(定期或不定期)通过第一连接与数据库进行交互。例如,使用第一连接执行SQL语句,以保持第一连接活跃,避免第一连接断开。其中,通过第一连接与数据库进行交互的时间间隔不超过数据库判断第一连接断开的周期(也称时限)。
其中,选举出的控制节点定期通过第一连接与数据库进行交互的周期不超过数据库判断第一连接断开的周期。最好是小于数据库判断第一连接断开的周期。
本发明实施例中,选举出的控制节点还可以通过与数据库建立的第二连接向数据库的控制节点表中***一条记录,该记录包括上述控制节点的标识信息和该标识信息的时间戳,并周期性通过与数据库建立的第二连接更新上述记录。
其中,如果定期通过第一连接与数据库进行交互,那么通过第一连接与数据库进行交互的周期,和更新控制节点表中的上述记录的周期,可以相同,也可以不同。
其中,上述记录中的时间戳既可以是控制节点生成的,也可以是控制节点触发数据库生成的。
其中,更新上述记录可以是更新标识信息的时间戳。例如,***一条新的记录,该记录中包括上述控制节点的标识信息和该标识信息的更新后的时间戳;又例如,在上述记录中增加更新后的时间戳;又例如,将上述记录中的时间戳替换为更新后的时间戳。等等。
相应的,未成功访问到目标数据的节点从上述控制节点表中获取上述控制节点的标识信息,根据获取的标识信息与控制节点建立连接。
在与控制节点建立连接后,未成功访问到上述目标的节点(此时作为从节点)要与控制节点保持心跳。
其中,未成功访问到目标数据的节点从上述控制节点表中获取上述控制节点的标识信息,其实现方式可以是:
未成功访问到目标数据的节点确定当前时间;
该未成功访问到目标数据的节点至少一次从上述控制节点表中查找时间戳标识的时间晚于上述确定的当前时间的控制节点的标识信息;
该未成功访问到目标数据的节点获取查找到的,且时间戳标识的时间最晚的控制节点的标识信息。
其中,每次查找,均是查找控制节点表中时间戳标识的时间晚于第一次确定的当前时间的控制节点的标识信息。
其中,查找控制节点的标识信息的次数不超过预定次数,该预定次数可以根据实际运行需求配置。
应当指出的是,未成功访问到目标数据的节点除了按照上述实现方式获取上述控制节点的标识信息,还可以采用其他实现方式获取控制节点的标识信息。例如,通过侦听控制节点发送的控制节点的标识信息。
在此基础上,成功访问到目标数据的节点(即控制节点)更新上述记录的周期,是未成功访问到目标数据的节点查找上述控制节点的标识信息的时间间隔确定的。
具体的,成功访问到目标数据的节点(即控制节点)更新上述记录的周期,不超过(或者小于)未成功访问到目标数据的节点查找上述控制节点的标识信息的时间间隔。
由于一旦未成功访问到目标数据的节点查找到时间戳标识的时间晚于确定的当前时间的控制节点的标识信息,即可将相应的节点确定为控制节点,并将其标识信息作为控制节点的标识信息。因此,查找到时间戳标识的时间晚于确定的当前时间的节点的标识信息的时间间隔,即查找控制节点的标识信息的时间间隔。
其中,如果存在以下任意状况,节点需重新进行一次选举流程。需要重新进行一次选举流程的状况包括:未成功访问到目标数据的节点没有获取到上述控制节点的标识信息,或者未成功访问到目标数据的节点没有成功与上述控制节点建立连接,或者未成功访问到目标数据的节点与上述控制节点保持心跳失败,或者上述控制节点与上述数据库的第一连接断开,或者上述控制节点未能成功向上述数据库中的控制节点表中***记录,或者上述控制节点成功向上述数据库中的控制节点表中***记录后,未能成功更新该记录。
基于上述任意方法实施例,节点还可以标记本节点的状态。相应的,本发明实施例定义了三种节点状态,分别为:
Master态,节点作为控制节点,提供控制节点服务;
Slave态,节点作为从节点,提供从节点服务;
Unknown态,节点不知道本节点的角色,也不知道分布式***的状态,不对外提供服务。
节点在运行期间一定会属于某种状态。
具体的,节点的操作***启动后或者重新进行一次选举流程后,更新本节点状态为Unknown态。节点在成功访问目标数据后,更新本节点状态为Master态。节点在与控制节点建立连接后,更新本节点状态为Slave态。
下面以分布式集群中选举主节点为例,对本发明实施例提供的方法进行详细说明。
分布式集群中节点通过访问数据库中的目标数据来选举主节点。该数据库可以部署在分布式集群的各节点之外的服务器上,也可以部署在分布式集群中的某个节点上。
为采用本发明实施例提供的方法进行主节点选举,节点和数据库有如下预置条件:
1、集群的各节点通过NTP或其他方式保持时间同步。
2、集群所有节点到数据库(以下称中心DB)的网络与集群的各节点之间的网络可用性保持一致。
3、中心DB支持通常的RDBMS的ACID属性。
4、中心DB具备检测及处理死连接的能力。
5、中心DB本身能够保证可用性。
另外,中心DB中至少包括文件锁表和控制节点表(在集群***中,也称主节点表)。其中,文件锁表如表1所示,其中存储的数据为分布式***的标识信息(本实施例中具体为集群的标识信息)。主节点表如表2所示,其中存储控制节点数据,具体包括集群的标识信息,以及每个集群的标识信息对应的主节点的标识信息和每条主节点的标识信息的时间戳。
表1
表2
本方案实现主要分为以下两部分:
第一部分:选举及Master流程
如图2所示,处理流程为:
开始选举前所有节点均为Unknown态。
所有节点建立一条到数据库的第一连接C1,并通过C1访问数据库的文件锁表中本集群的标识信息。具体是发出类似“Select*from cluster_lock wherecluster_name=’集群的标识信息’for update”的语句。
如成功访问到文件锁表中本集群的标识信息,则说明拿到了代表Master的文件锁,不提交C1上的事务。然后使用当前时间的时间戳登记Master数据,即另外创建一个到中心DB的第二连接C2,使用C2在主节点表中***一条本集群的标识信息对应的记录,该记录是本节点的标识信息和当前时间的时间戳,然后提交C2上的事务。
成功访问到文件锁表中本集群的标识信息的节点还将本节点的状态变更为Master态,开始对外提供Master的服务。
Master在后台通过单独线程更新时间戳信息。此更新包含2步内容:
使用C1执行SQL语句,以保持C1到中心DB的活跃,避免C1断掉。
使用C2在主节点表中***一条记录,node_name使用本节点的标识信息,timestamp使用当前时间信息,提交事务。
后台更新的时间间隔需考虑DB判断Client连接断开的时限,及Slave的重试间隔。(如每秒更新一次)
如更新失败,则停止Master服务。
释放C1上获得的文件表中的本集群的标识信息,即释放掉锁定的目标数据,相应的,中心DB利用其检测及处理死连接的能力检测到Master异常,断开C1,回滚掉Master未完成的事务。
进入Master失败处理流程,即将本节点状态置为Unknown态,并通过访问文件锁表中本集群的标识信息重新进入节点选举流程。
如锁定失败,则进入Slave流程。
第二部分:Slave流程
如图3所示,处理流程如下:
未成功访问文件锁表中本集群的标识信息后,进入Slave流程。获得当前时间的时间戳T1。
根据T1,获得Master的信息:
Select*from cluster_master where cluster_name=’集群的标识信息’andtimestamp=(select max(timestamp)from cluster_master where cluster_name=’集群的标识信息’and timestamp>T1)
即得到时间戳字段比T1大的,并且时间戳字段最大的那条Master数据。
如失败,重试n次,重试间隔取1秒,均失败,进入Master失败流程。考虑Master更新信息的时间延迟,n>5。
如成功,则连接Master,确认Master的可用性。可用性包含2部分:Master节点可连接;Master节点的回复信息中表明自己是Master。
如连接失败,重试n次,均失败,进入Master失败流程。
验证Master后,将本节点状态变更为Slave态,对外提供Slave服务。
与Master保持心跳,如心跳失败,进入Master失败流程。
Slave需要与Master保持心跳以检测Master是否可用,心跳信息中需要包含Master的角色,以确认Master是否能提供服务。
基于与方法同样的发明构思,本发明实施例还提供一种分布式***中的节点,如图4所示,包括:
连接建立单元401,用于与数据库建立第一连接;
选举单元402,用于通过与所述第一连接访问所述数据库中的目标数据;
第一处理单元403,用于成功访问到所述目标数据后,作为控制节点在所述分布式***中执行相应操作。
其中,所述控制节点是所述数据库采用并发事务处理策略选举出的一个节点。
本发明实施例提供的技术方案,分布式***中参与选举的各节点均访问该数据库中的目标数据,利用数据库的并发事务处理能力进行决策,允许其中一个节点成功访问目标数据,从而选举出控制节点。不同配置的数据库均可以支持1万以上的节点连接,而大规模分布式***的节点数通常在1千左右。由于数据库支持访问的节点数远远大于分布式***中的节点数,因此,分布式***中需要参与选举的节点均访问数据库时,数据库也能够选举出控制节点,从而保证了***正常工作。
另外,利用数据库的检测及处理死连接的能力,还能够在控制节点失效后,及时释放掉对目标数据的访问权限,以使得其他节点重新发起选举。
其中,所述第一处理单元可以用于:保持所述第一连接。
基于上述任意节点实施例,所述第一处理单元还用于:通过所述第二连接向所述数据库的控制节点表中***一条记录,所述记录包括所述控制节点的标识信息和所述标识信息的时间戳,并周期性通过所述第二连接更新所述记录;
所述节点还包括第二处理单元,用于:从所述控制节点表中获取所述控制节点的标识信息,并根据获取的标识信息与所述控制节点建立连接。
其中,从所述控制节点表中获取控制节点的标识信息时,所述第二处理单元用于:
确定当前时间;
至少一次从所述控制节点表中查找时间戳标识的时间晚于确定的所述当前时间的控制节点的标识信息;
获取查找到的,且时间戳标识的时间最晚的控制节点的标识信息;
其中,所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的次数不超过预定次数;所述成功访问到所述目标数据的节点更新所述记录的周期是根据所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的时间间隔确定的。
基于上述任意节点实施例,所述数据库中的目标数据可以为所述分布式***的标识信息,也可以为节点选举所对应的任务的标识信息。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种分布式***中的节点选举方法,其特征在于,包括:
分布式***中参与所述节点选举的各节点均与数据库建立第一连接,且所述各节点通过所述第一连接访问所述数据库中的目标数据;
成功访问到所述目标数据的节点作为控制节点,在所述分布式***中执行相应操作;
其中,所述控制节点是所述数据库采用并发事务处理策略选举出的一个节点。
2.根据权利要求1所述的方法,其特征在于,所述成功访问到所述目标数据的节点作为控制节点,在所述分布式***中执行相应操作包括:所述成功访问到所述目标数据的节点保持所述第一连接。
3.根据权利要求1或2所述的方法,其特征在于,所述成功访问到所述目标数据的节点作为控制节点,在所述分布式***中执行相应操作还包括:
通过与所述数据库建立的第二连接,向所述数据库的控制节点表中***一条记录,所述记录包括所述控制节点的标识信息和所述标识信息的时间戳,并周期性通过所述第二连接更新所述记录;
所述方法还包括:未成功访问到所述目标数据的节点从所述控制节点表中获取所述控制节点的标识信息,并根据获取的标识信息与所述控制节点建立连接。
4.根据权利要求3所述的方法,其特征在于,所述未成功访问到所述目标数据的节点从所述控制节点表中获取控制节点的标识信息,包括:
所述未成功访问到所述目标数据的节点确定当前时间;
所述未成功访问到所述目标数据的节点至少一次从所述控制节点表中查找时间戳标识的时间晚于确定的所述当前时间的控制节点的标识信息;
所述未成功访问到所述目标数据的节点获取查找到的,且时间戳标识的时间最晚的控制节点的标识信息;
其中,所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的次数不超过预定次数;所述成功访问到所述目标数据的节点更新所述记录的周期是根据所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的时间间隔确定的。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述数据库中的目标数据为所述分布式***的标识信息,或为节点选举所对应的任务的标识信息。
6.一种分布式***中的节点,其特征在于,包括:
连接建立单元,用于与数据库建立第一连接;
选举单元,用于通过与所述第一连接访问所述数据库中的目标数据;
第一处理单元,用于成功访问到所述目标数据后,作为控制节点在所述分布式***中执行相应操作;
其中,所述控制节点是所述数据库采用并发事务处理策略选举出的一个节点。
7.根据权利要求6所述的节点,其特征在于,所述第一处理单元用于:
保持所述第一连接。
8.根据权利要求6或7所述的节点,其特征在于,所述连接建立单元还用于:与所述数据库建立第二连接;
所述第一处理单元还用于:通过所述第二连接向所述数据库的控制节点表中***一条记录,所述记录包括所述控制节点的标识信息和所述标识信息的时间戳,并周期性通过所述第二连接更新所述记录;
所述节点还包括第二处理单元,用于:从所述控制节点表中获取所述控制节点的标识信息,并根据获取的标识信息与所述控制节点建立连接。
9.根据权利要求8所述的节点,其特征在于,从所述控制节点表中获取所述控制节点的标识信息时,所述第二处理单元用于:
确定当前时间;
至少一次从所述控制节点表中查找时间戳标识的时间晚于确定的所述当前时间的控制节点的标识信息;
获取查找到的,且时间戳标识的时间最晚的控制节点的标识信息;
其中,所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的次数不超过预定次数;所述成功访问到所述目标数据的节点更新所述记录的周期是根据所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的时间间隔确定的。
10.根据权利要求6~9任一项所述的节点,其特征在于,所述数据库中的目标数据为所述分布式***的标识信息,或为节点选举所对应的任务的标识信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510113095.2A CN104767794B (zh) | 2015-03-13 | 2015-03-13 | 一种分布式***中的节点选举方法及节点 |
CN201810124907.7A CN108183971B (zh) | 2015-03-13 | 2015-03-13 | 一种分布式***中的节点选举方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510113095.2A CN104767794B (zh) | 2015-03-13 | 2015-03-13 | 一种分布式***中的节点选举方法及节点 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810124907.7A Division CN108183971B (zh) | 2015-03-13 | 2015-03-13 | 一种分布式***中的节点选举方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104767794A true CN104767794A (zh) | 2015-07-08 |
CN104767794B CN104767794B (zh) | 2018-05-01 |
Family
ID=53649393
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510113095.2A Active CN104767794B (zh) | 2015-03-13 | 2015-03-13 | 一种分布式***中的节点选举方法及节点 |
CN201810124907.7A Active CN108183971B (zh) | 2015-03-13 | 2015-03-13 | 一种分布式***中的节点选举方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810124907.7A Active CN108183971B (zh) | 2015-03-13 | 2015-03-13 | 一种分布式***中的节点选举方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN104767794B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203420A (zh) * | 2016-03-18 | 2017-09-26 | 北京京东尚科信息技术有限公司 | 任务调度实例的主从切换方法和装置 |
CN107800733A (zh) * | 2016-08-31 | 2018-03-13 | 阿里巴巴集团控股有限公司 | 分布式***中会话标识的生成方法及设备 |
WO2019061384A1 (zh) * | 2017-09-30 | 2019-04-04 | 麦格创科技(深圳)有限公司 | 分布式爬虫***中任务管理器的选举方法及*** |
CN110321199A (zh) * | 2019-07-09 | 2019-10-11 | 成都卫士通信息产业股份有限公司 | 一种共用数据变更的通知方法、装置、电子设备及介质 |
CN110798499A (zh) * | 2018-08-03 | 2020-02-14 | 高新兴科技集团股份有限公司 | 一种分布式服务的协调***及方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708177B (zh) * | 2018-07-09 | 2022-08-09 | 阿里巴巴集团控股有限公司 | 分布式***中的异常处理方法、***和装置 |
CN110764690B (zh) * | 2018-07-28 | 2023-04-14 | 阿里云计算有限公司 | 分布式存储***及其领导节点选举方法和装置 |
CN113742417B (zh) * | 2020-05-29 | 2024-06-07 | 同方威视技术股份有限公司 | 多级分布式共识方法及***、电子设备及计算机可读介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120124100A1 (en) * | 2010-11-15 | 2012-05-17 | Sas Institute Inc. | Grid Computing System Alongside a Distributed Database Architecture |
CN102904752A (zh) * | 2012-09-25 | 2013-01-30 | 新浪网技术(中国)有限公司 | 一种节点选举方法、节点设备及*** |
CN103118084A (zh) * | 2013-01-21 | 2013-05-22 | 浪潮(北京)电子信息产业有限公司 | 一种主节点的选举方法及节点 |
CN103491168A (zh) * | 2013-09-24 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种集群选举设计方法 |
CN103607297A (zh) * | 2013-11-07 | 2014-02-26 | 上海爱数软件有限公司 | 一种计算机集群***的故障处理方法 |
WO2014101424A1 (zh) * | 2012-12-28 | 2014-07-03 | 华为技术有限公司 | 分布式数据库同步方法和*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267345B (zh) * | 2008-03-10 | 2010-12-08 | 中兴通讯股份有限公司 | 业务节点备份方法及分布式*** |
CN101854373B (zh) * | 2009-04-01 | 2013-10-09 | 华为技术有限公司 | 任务切换方法、服务器节点及集群*** |
CN102929696B (zh) * | 2012-09-28 | 2015-09-09 | 北京搜狐新媒体信息技术有限公司 | 一种分布式***中心节点构建、提交、监控方法及装置 |
-
2015
- 2015-03-13 CN CN201510113095.2A patent/CN104767794B/zh active Active
- 2015-03-13 CN CN201810124907.7A patent/CN108183971B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120124100A1 (en) * | 2010-11-15 | 2012-05-17 | Sas Institute Inc. | Grid Computing System Alongside a Distributed Database Architecture |
CN102904752A (zh) * | 2012-09-25 | 2013-01-30 | 新浪网技术(中国)有限公司 | 一种节点选举方法、节点设备及*** |
WO2014101424A1 (zh) * | 2012-12-28 | 2014-07-03 | 华为技术有限公司 | 分布式数据库同步方法和*** |
CN103118084A (zh) * | 2013-01-21 | 2013-05-22 | 浪潮(北京)电子信息产业有限公司 | 一种主节点的选举方法及节点 |
CN103491168A (zh) * | 2013-09-24 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种集群选举设计方法 |
CN103607297A (zh) * | 2013-11-07 | 2014-02-26 | 上海爱数软件有限公司 | 一种计算机集群***的故障处理方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203420A (zh) * | 2016-03-18 | 2017-09-26 | 北京京东尚科信息技术有限公司 | 任务调度实例的主从切换方法和装置 |
CN107800733A (zh) * | 2016-08-31 | 2018-03-13 | 阿里巴巴集团控股有限公司 | 分布式***中会话标识的生成方法及设备 |
CN107800733B (zh) * | 2016-08-31 | 2021-01-15 | 阿里巴巴集团控股有限公司 | 分布式***中会话标识的生成方法及设备 |
WO2019061384A1 (zh) * | 2017-09-30 | 2019-04-04 | 麦格创科技(深圳)有限公司 | 分布式爬虫***中任务管理器的选举方法及*** |
CN110798499A (zh) * | 2018-08-03 | 2020-02-14 | 高新兴科技集团股份有限公司 | 一种分布式服务的协调***及方法 |
CN110798499B (zh) * | 2018-08-03 | 2023-01-24 | 高新兴科技集团股份有限公司 | 一种分布式服务的协调***及方法 |
CN110321199A (zh) * | 2019-07-09 | 2019-10-11 | 成都卫士通信息产业股份有限公司 | 一种共用数据变更的通知方法、装置、电子设备及介质 |
CN110321199B (zh) * | 2019-07-09 | 2022-04-12 | 成都卫士通信息产业股份有限公司 | 一种共用数据变更的通知方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108183971A (zh) | 2018-06-19 |
CN108183971B (zh) | 2021-08-10 |
CN104767794B (zh) | 2018-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104767794A (zh) | 一种分布式***中的节点选举方法及节点 | |
US11516072B2 (en) | Hybrid cluster recovery techniques | |
US9984140B1 (en) | Lease based leader election system | |
EP2790112B1 (en) | Method and system for data synchronization and data access apparatus | |
WO2017177941A1 (zh) | 主备数据库切换方法和装置 | |
US20170339005A1 (en) | Method and Device for Processing Failure in at Least One Distributed Cluster, and System | |
JP6028850B2 (ja) | データ多重化システム | |
CN101196840B (zh) | 配置数据镜像的***和方法 | |
CN106062717A (zh) | 一种分布式存储复制***和方法 | |
US20120179798A1 (en) | Autonomous primary node election within a virtual input/output server cluster | |
EP3561694B1 (en) | Management method, system, and device for master and standby databases | |
CN107919977B (zh) | 一种基于Paxos协议的在线扩容、在线缩容的方法和装置 | |
CN103152434A (zh) | 一种分布式云***中的领导节点更替方法 | |
CN105915391B (zh) | 基于单阶段提交并具备自恢复功能的分布式键值存储方法 | |
CN115562911B (zh) | 虚拟机数据备份方法及装置、***、电子设备、存储介质 | |
CN110611603B (zh) | 一种集群网卡监控方法及装置 | |
EP3953818A2 (en) | Iot partition management and load balancing | |
CN116107828A (zh) | 主节点选择方法、分布式数据库及存储介质 | |
CN105988844A (zh) | 端点服务器的控制模块及其韧体更新方法 | |
CN108600284B (zh) | 一种基于Ceph的虚拟机高可用实现方法及*** | |
CN106230622A (zh) | 一种集群实现方法及装置 | |
CN105323271B (zh) | 一种云计算***以及云计算***的处理方法和装置 | |
CN113190620A (zh) | Redis集群之间数据的同步方法、装置、设备及存储介质 | |
CN117271227A (zh) | 数据库集群主节点切换方法、***及管控平台 | |
CN107291575B (zh) | 一种数据中心故障时的处理方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170109 Address after: 266000 Shandong Province, Qingdao city Laoshan District Songling Road No. 399 Applicant after: Poly Polytron Technologies Inc Address before: 266061 Laoshan, Qingdao province Hongkong District No. East Road, room 248, room 131 Applicant before: Hisense Media Networks Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |