一种分布式系统中的节点选举方法技术方案

技术编号:18259945 阅读:62 留言:0更新日期:2018-06-20 10:34
本发明专利技术公开了一种分布式系统中的节点选举方法及节点。该方法包括:分布式系统中参与所述节点选举的各节点均与数据库建立第一连接,且所述各节点通过所述第一连接访问所述数据库中的目标数据;成功访问到所述目标数据的节点作为控制节点,在所述分布式系统中执行相应操作;其中,所述控制节点是所述数据库采用并发事务处理策略选举出的一个节点。由于数据库支持访问的节点数远远大于分布式系统中的节点数,因此,分布式系统中需要参与选举的节点均访问数据库时,数据库也能够选举出控制节点,从而保证了系统正常工作。

A node election method in a distributed system

The invention discloses a node election method and node in a distributed system. The method includes: each node participating in the node election in a distributed system is first connected with the database, and the nodes access the target data in the database through the first connection, and the nodes who successfully access the target data are used as the control nodes to perform corresponding exercises in the distributed system. The control node is a node elected by the concurrent transaction strategy in the database. The number of nodes supported by the database is far greater than the number of nodes in the distributed system. Therefore, when all the nodes in the distributed system need to be elected to access the database, the database can also elect the control nodes, thus ensuring the normal work of the system.

【技术实现步骤摘要】
一种分布式系统中的节点选举方法本申请是2015年03月13日提出的专利技术名称为“一种分布式系统中的节点选举方法及节点”的中国专利技术专利申请201510113095.2的分案申请。
本专利技术涉及分布式
,尤其涉及一种分布式系统中的节点选举方法及节点。
技术介绍
分布式技术的发展方向是去中心化,即不会预定义分布式系统(例如集群)的主节点或需要完成某个任务的执行节点,而是动态选举主节点或任务的执行节点(以下将主节点和执行节点统称为控制节点)。目前,分布式系统中控制节点的选举可以通过共享存储方式实现。共享存储方式选举控制节点是指,分布式系统的多个节点均访问系统中的共享分区,其中成功访问到该共享分区(即取得共享分区的文件锁)的节点作为控制节点。控制节点退出分布式系统后,其拥有的文件锁会释放掉,其余节点感知后可以发起新一轮的选举。其中,共享分区支持的节点数有限。当分布式系统中需要参与选举的节点数量超过共享分区支持的节点数时,会由于访问共享分区的节点数超过共享分区支持的节点数,导致共享分区无法正常工作,进而无法完成控制节点的选举,分布式系统无法正常工作。
技术实现思路
本专利技术的目的是提供一种分布式系统中的节点选举方法及节点,以解决以共享存储方式进行节点选举时,因受限于共享分区可支持的节点数有限,而导致的分布式系统不能正常工作的问题。本专利技术的目的是通过以下技术方案实现的:一种分布式系统中的节点选举方法,包括:分布式系统中参与所述节点选举的各节点均与数据库建立第一连接,且所述各节点通过所述第一连接访问所述数据库中的目标数据;成功访问到所述目标数据的节点作为控制节点,在所述分布式系统中执行相应操作;其中,所述控制节点是所述数据库采用并发事务处理策略选举出的一个节点。其中,所述成功访问到所述目标数据的节点作为控制节点,在所述分布式系统中执行相应操作至少包括:所述成功访问到所述目标数据的节点保持所述第一连接。基于上述任意方法实施例,可选的,成功访问到所述目标数据的节点作为控制节点,在所述分布式系统中执行相应操作还包括:通过与所述数据库建立的第二连接,向所述数据库的控制节点表中插入一条记录,所述记录包括所述控制节点的标识信息和所述标识信息的时间戳,并周期性通过所述第二连接更新所述记录。相应的,未成功访问到所述目标数据的节点从所述控制节点表中获取所述控制节点的标识信息,并根据获取的标识信息与所述控制节点建立连接。可选的,未成功访问到所述目标数据的节点从所述控制节点表中获取所述控制节点的标识信息,包括:所述未成功访问到所述目标数据的节点确定当前时间;所述未成功访问到所述目标数据的节点至少一次从所述控制节点表中查找时间戳标识的时间晚于确定的所述当前时间的控制节点的标识信息;所述未成功访问到所述目标数据的节点获取查找到的,且时间戳标识的时间最晚的控制节点的标识信息。其中,所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的次数不超过预定次数;所述成功访问到所述目标数据的节点更新所述记录的周期是根据所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的时间间隔确定的。基于上述任意方法实施例,可选的,所述数据库中的目标数据为所述分布式系统的标识信息,或为节点选举所对应的任务的标识信息。基于与方法相同的专利技术构思,还提供一种分布式系统中的节点,包括:连接建立单元,用于与数据库建立第一连接;选举单元,用于通过与所述第一连接访问所述数据库中的目标数据;第一处理单元,用于成功访问到所述目标数据后,作为控制节点在所述分布式系统中执行相应操作;其中,所述控制节点是所述数据库采用并发事务处理策略选举出的一个节点。其中,所述第一处理单元用于:保持所述第一连接。可选的,所述连接建立单元还用于:与所述数据库建立第二连接。相应的,所述第一处理单元还用于:通过所述第二连接向所述数据库的控制节点表中插入一条记录,所述记录包括所述控制节点的标识信息和所述标识信息的时间戳,并周期性通过所述第二连接更新所述记录;相应的,所述节点还包括第二处理单元,用于:从所述控制节点表中获取所述控制节点的标识信息,并根据获取的标识信息与所述控制节点建立连接。可选的,从所述控制节点表中获取所述控制节点的标识信息时,所述第二处理单元用于:确定当前时间;至少一次从所述控制节点表中查找时间戳标识的时间晚于确定的所述当前时间的控制节点的标识信息;获取查找到的,且时间戳标识的时间最晚的控制节点的标识信息。其中,所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的次数不超过预定次数;所述成功访问到所述目标数据的节点更新所述记录的周期是根据所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的时间间隔确定的基于上述任意节点实施例,可选的,所述数据库中的目标数据为所述分布式系统的标识信息,或为节点选举所对应的任务的标识信息。本专利技术实施例提供的技术方案,分布式系统中参与选举的各节点均访问该数据库中的目标数据,利用数据库的并发事务处理能力进行决策,允许其中一个节点成功访问目标数据,从而选举出控制节点。不同配置的数据库均可以支持1万以上的节点连接,而大规模分布式系统的节点数通常在1千左右。由于数据库支持访问的节点数远远大于分布式系统中的节点数,因此,分布式系统中需要参与选举的节点均访问数据库时,数据库也能够选举出控制节点,从而保证了系统正常工作。附图说明图1为本专利技术实施例提供的一种方法流程图;图2为本专利技术实施例提供的控制节点处理流程图;图3为本专利技术实施例提供的从节点处理流程图;图4为本专利技术实施例提供的节点示意图。具体实施方式下面将结合附图,对本专利技术实施例提供的技术方案进行详细说明。如图1所示,本专利技术实施例提供的分布式系统中的节点选举方法具体包括如下操作:步骤100、分布式系统中参与所述节点选举的各节点均与数据库建立第一连接。步骤110、上述各节点通过上述第一连接访问上述数据库中的目标数据。现有的数据库均具备并发事务处理能力,检测及处理死连接的能力。由于数据库具有并发事务处理能力,因此,当多个节点均通过与数据库建立的第一连接访问目标数据时,数据库能够通过决策允许其中一个节点成功访问该目标数据,则成功访问该目标数据的节点为控制节点。而其他节点会收到访问失败的反馈。步骤120、成功访问到上述目标数据的节点作为控制节点,在分布式系统中执行相应操作。其中,成功访问到上述目标数据的节点是数据库采用并发事务处理策略选举出的一个节点。本专利技术实施例提供的技术方案,分布式系统中参与选举的各节点均访问该数据库中的目标数据,利用数据库的并发事务处理能力进行决策,允许其中一个节点成功访问目标数据,从而选举出控制节点。不同配置的数据库均可以支持1万以上的节点连接,而大规模分布式系统的节点数通常在1千左右。由于数据库支持访问的节点数远远大于分布式系统中的节点数,因此,分布式系统中需要参与选举的节点均访问数据库时,数据库也能够选举出控制节点,从而保证了系统正常工作。另外,利用数据库的检测及处理死连接的能力,还能够在控制节点失效后,及时释放掉失效后的控制节点对目标数据的访问权限,以使得其他节点重新发起选举。本专利技术实施例中,如果选举分布式系统的主节点,上述数据库中的目标数据可以为节点所在分布式系统的标本文档来自技高网...
一种分布式系统中的节点选举方法

【技术保护点】
1.一种分布式系统中的节点选举方法,其特征在于,包括:分布式系统中参与所述节点选举的各节点均与数据库建立第一连接,且所述各节点通过所述第一连接访问所述数据库中的目标数据;成功访问到所述目标数据的节点作为控制节点,在所述分布式系统中执行相应操作;其中,所述控制节点是所述数据库采用并发事务处理策略选举出的一个节点;所述成功访问到所述目标数据的节点作为控制节点,在所述分布式系统中执行相应操作还包括:通过与所述数据库建立的第二连接,向所述数据库的控制节点表中插入一条记录,所述记录包括所述控制节点的标识信息和所述标识信息的时间戳,并周期性通过所述第二连接更新所述记录;所述方法还包括:未成功访问到所述目标数据的节点从所述控制节点表中获取所述控制节点的标识信息,并根据获取的标识信息与所述控制节点建立连接;所述未成功访问到所述目标数据的节点从所述控制节点表中获取控制节点的标识信息,包括:所述未成功访问到所述目标数据的节点确定当前时间;所述未成功访问到所述目标数据的节点至少一次从所述控制节点表中查找时间戳标识的时间晚于确定的所述当前时间的控制节点的标识信息;所述未成功访问到所述目标数据的节点获取查找到的,且时间戳标识的时间最晚的控制节点的标识信息;其中,所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的次数不超过预定次数;所述成功访问到所述目标数据的节点更新所述记录的周期是根据所述未成功访问到所述目标数据的节点查找所述控制节点的标识信息的时间间隔确定的;所述成功访问到所述目标数据的节点作为控制节点,在所述分布式系统中执行相应操作包括:所述成功访问到所述目标数据的节点保持所述第一连接;所述选举出的控制节点保持第一连接的实现方式具体为:不提交第一连接上的事务,且持续通过第一连接与数据库进行交互。...

【技术特征摘要】
1.一种分布式系统中的节点选举方法,其特征在于,包括:分布式系统中参与所述节点选举的各节点均与数据库建立第一连接,且所述各节点通过所述第一连接访问所述数据库中的目标数据;成功访问到所述目标数据的节点作为控制节点,在所述分布式系统中执行相应操作;其中,所述控制节点是所述数据库采用并发事务处理策略选举出的一个节点;所述成功访问到所述目标数据的节点作为控制节点,在所述分布式系统中执行相应操作还包括:通过与所述数据库建立的第二连接,向所述数据库的控制节点表中插入一条记录,所述记录包括所述控制节点的标识信息和所述标识信息的时间戳,并周期性通过所述第二连接更新所述记录;所述方法还包括:未成功访问到所述目标数据的节点从所述控制节点表中获取所述控制节点的标识信息,并根据获取的标识信息与所述控制节点建立连接;所述未成功访问到所述目标数据的节点从所述控制节点表中获取控制节点的标识信息,包括:所述未成功访问到所述目标数据的节点确...

【专利技术属性】
技术研发人员:纪震寰
申请(专利权)人:聚好看科技股份有限公司
类型:发明
国别省市:山东,37

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

1