CN115361439B - 节点管理方法、装置、电子设备及存储介质 - Google Patents
节点管理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115361439B CN115361439B CN202210818815.5A CN202210818815A CN115361439B CN 115361439 B CN115361439 B CN 115361439B CN 202210818815 A CN202210818815 A CN 202210818815A CN 115361439 B CN115361439 B CN 115361439B
- Authority
- CN
- China
- Prior art keywords
- node
- temporary
- permanent
- list
- online
- 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.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000008859 change Effects 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明实施例提供了一种节点管理方法、装置、电子设备及存储介质,所述方法包括:获取预设的永久节点列表以及预设的临时节点列表,永久节点列表中存储永久节点标识,临时节点列表中存储临时节点标识;在永久节点标识与临时节点标识未一致的情况下,根据永久节点标识与临时节点标识,确定在线节点与离线节点;确定离线节点对应的待执行任务,将待执行任务分发给在线节点。如此通过预设的永久节点列表以及预设的临时节点列表可以确定在线节点与离线节点,将离线节点待执行的任务分发给在线节点,如此可以保证离线节点待执行的任务及时被执行,避免任务执行失败。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种节点管理方法、装置、电子设备及存储介质。
背景技术
目前,任务生产方可以动态的产生异步任务,而异步任务产生的时候要从现有节点中预分配执行异步任务的节点。其中,可以根据节点的IP地址,从现有节点中预分配执行异步任务的节点。如此对于节点而言,其需要执行的异步任务是预分配的。
此外,对于节点而言,其可能发生宕机、重启或者IP地址变化等特殊情况,从而导致节点离线。由于目前并没有比较好的方式来确定现有节点中的在线节点以及离线节点,导致为离线节点预分配的异步任务可能无法及时的被执行,导致异步任务执行失败。
发明内容
为了解决上述由于目前并没有比较好的方式来确定现有节点中的在线节点以及离线节点,导致为离线节点预分配的异步任务可能无法及时的被执行,导致异步任务执行失败的技术问题,本发明实施例提供了一种节点管理方法、装置、电子设备及存储介质。具体技术方案如下:
在本发明实施例的第一方面,首先提供了一种节点管理方法,从多个节点中选举主节点,所述方法应用于所述主节点,包括:
获取预设的永久节点列表以及预设的临时节点列表,所述永久节点列表中存储永久节点标识,所述临时节点列表中存储临时节点标识;
其中,多个所述节点中任一所述节点在开始启动的情况下,均在所述永久节点列表以及所述临时节点列表注册节点标识;
在所述永久节点标识与所述临时节点标识未一致的情况下,根据所述永久节点标识与所述临时节点标识,确定在线节点与离线节点;
确定所述离线节点对应的待执行任务,将所述待执行任务分发给所述在线节点。
在一个可选的实施方式中,所述永久节点列表以及所述临时节点列表均存储在分布式应用程序协调服务;
所述获取预设的永久节点列表以及预设的临时节点列表,包括:
在接收到所述分布式应用程序协调服务发送的节点变化通知的情况下,从所述分布式应用程序协调服务中,获取预设的永久节点列表以及预设的临时节点列表;
其中,所述分布式应用程序协调服务在监测到多个所述节点中任一所述节点发生故障的情况下,从所述临时节点列表中删除所述节点的临时节点标识,并触发所述节点变化通知;
或者,
按照预设的节点拉取周期,从所述分布式应用程序协调服务中,获取预设的永久节点列表以及预设的临时节点列表。
在一个可选的实施方式中,所述获取预设的永久节点列表以及预设的临时节点列表之后,所述方法还包括:
统计所述永久节点列表中所述永久节点标识的永久数量,以及统计所述临时节点列表中所述临时节点标识的临时数量;
在所述永久数量与所述临时数量相同的情况下,则确定所述永久节点标识与所述临时节点标识一致;
在所述永久数量与所述临时数量未相同的情况下,则确定所述永久节点标识与所述临时节点标识未一致。
在一个可选的实施方式中,所述根据所述永久节点标识与所述临时节点标识,确定在线节点与离线节点,包括:
通过节点标识比较指令,查找所述永久节点标识中与所述临时节点标识存在差异的差异节点标识;
确定所述差异节点标识对应的节点为离线节点,确定多个所述节点中除所述离线节点之外的其余节点为在线节点。
在一个可选的实施方式中,所述确定所述离线节点对应的待执行任务,包括:
根据所述离线节点对应的所述临时节点标识,在任务池中查找为所述离线节点预分配的任务;
确定所述预分配的任务为所述离线节点对应的待执行任务;
所述将所述待执行任务分发给所述在线节点之后,所述方法还包括:
在所述永久节点列表中删除所述离线节点对应的所述永久节点标识。
在一个可选的实施方式中,所述将所述待执行任务分发给所述在线节点,包括:
获取所述在线节点的节点特征,其中,所述节点特征至少包括下述之一:故障率,累计在线时长,标识变化频率;
根据所述节点特征,从所述在线节点中选取目标在线节点,将所述待执行任务分发给所述目标在线节点。
在一个可选的实施方式中,所述根据所述节点特征,从所述在线节点中选取目标在线节点,包括:
若所述在线节点的所述节点特征低于预设节点特征,则确定所述在线节点为目标在线节点;
其中,所述预设节点特征至少包括下述之一:预设故障率阈值,预设时长阈值,预设频率阈值;
或者,
根据所述在线节点的所述节点特征,确定所述在线节点的任务分发倾向度;
根据所述任务分发倾向度,对所述在线节点进行排序,从排序结果中确定目标在线节点。
在本发明实施例的第二方面,还提供了一种节点管理装置,从多个节点中选举主节点,所述装置应用于所述主节点,包括:
列表获取模块,用于获取预设的永久节点列表以及预设的临时节点列表,所述永久节点列表中存储永久节点标识,所述临时节点列表中存储临时节点标识;
其中,多个所述节点中任一所述节点在开始启动的情况下,均在所述永久节点列表以及所述临时节点列表注册节点标识;
节点确定模块,用于在所述永久节点标识与所述临时节点标识未一致的情况下,根据所述永久节点标识与所述临时节点标识,确定在线节点与离线节点;
节点管理模块,用于确定所述离线节点对应的待执行任务,将所述待执行任务分发给所述在线节点。
在本发明实施例的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的节点管理方法。
在本发明实施例的第四方面,还提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中任一所述的节点管理方法。
在本发明实施例的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的节点管理方法。
本发明实施例提供的技术方案,从多个节点中选举主节点,由主节点获取预设的永久节点列表以及预设的临时节点列表,永久节点列表中存储永久节点标识,临时节点列表中存储临时节点标识,其中,多个节点中任一节点在开始启动的情况下,均在永久节点列表以及临时节点列表注册节点标识,在永久节点标识与临时节点标识未一致的情况下,根据永久节点标识与临时节点标识,确定在线节点与离线节点,确定离线节点对应的待执行任务,将待执行任务分发给在线节点。如此任一节点在开始启动的情况下,均在永久节点列表以及临时节点列表注册节点标识,后续由主节点获取预设的永久节点列表以及预设的临时节点列表,在永久节点列表中存储的永久节点标识与临时节点列表中存储的临时节点标识不一致的情况下,根据永久节点标识与临时节点标识,确定在线节点与离线节点,将离线节点待执行的任务分发给在线节点,如此可以保证离线节点待执行的任务及时被执行,避免任务执行失败。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中示出的一种节点管理系统的架构示意图;
图2为本发明实施例中示出的一种zookeeper上维护基于项目维度的两个List的示意图;
图3为本发明实施例中示出的一种节点进行双节点注册的示意图;
图4为本发明实施例中示出的一种临时节点List中移除节点标识的示意图;
图5为本发明实施例中示出的一种节点管理方法的实施流程示意图;
图6为本发明实施例中示出的一种预设的永久节点列表以及预设的临时节点列表的获取方法的示意图;
图7为本发明实施例中示出的一种永久节点列表中删除IP地址的示意图;
图8为本发明实施例中示出的一种节点管理装置的结构示意图;
图9为本发明实施例中示出的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种节点管理系统的架构示意图,该节点管理系统包括zookeeper和多个节点。其中,对于任一节点而言,其可以是服务器或者电子设备,或者,节点可以理解为运行业务程序的进程或者容器,本发明实施例对此不作限定。
对于zookeeper,是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
在本发明实施例中,对于zookeeper,其上维护基于项目维度的两个List,一个是永久节点List,另一个是临时节点List,如图2所示。对于每个节点而言,在其启动的情况下,均进行双节点注册,意味着在永久节点List和临时节点List均注册自己的节点标识,例如节点标识是IP地址,如图3所示。这时永久节点List中的节点标识称之为永久节点标识,而临时节点List中的节点标识称之为临时节点标识。
对于zookeeper,其监听各个节点的状态,当某个节点发生宕机、重启或者IP地址变化等特殊情况,临时节点List中就会自动移除该节点的节点标识。例如,如图4所示,当节点3发生宕机,临时节点List中就会自动移除该节点3的IP地址。如此对于永久节点List以及临时节点List而言,两者各自存储的节点标识有可能一致,也有可能不一致,本发明实施例对此不做限定。
在本发明实施例中,可以由多个节点中选举主节点,这里的选举算法可以参考现有算法,本发明实施例对此不作限定。对于主节点而言,可以获取上述两个List,即永久节点List和临时节点List,会发现两个节点中的节点标识不一致,从而可以确定在线节点与离线节点(例如节点3),确定离线节点对应的待执行任务,将待执行任务分发给在线节点。
如此任一节点在开始启动的情况下,均在永久节点列表以及临时节点列表注册节点标识,后续由主节点获取预设的永久节点列表以及预设的临时节点列表,在永久节点列表中存储的永久节点标识与临时节点列表中存储的临时节点标识不一致的情况下,根据永久节点标识与临时节点标识,确定在线节点与离线节点,将离线节点待执行的任务分发给在线节点,如此可以保证离线节点待执行的任务及时被执行,避免任务执行失败。
具体地,如图5所示,为本发明实施例提供的一种节点管理方法的实施流程示意图,该方法应用于上述主节点,具体可以包括以下步骤:
S501,获取预设的永久节点列表以及预设的临时节点列表,所述永久节点列表中存储永久节点标识,所述临时节点列表中存储临时节点标识。
在本发明实施例中,对于多个节点中任一节点,在该节点开始启动的情况下,均会在永久节点列表以及临时节点列表注册节点标识,意味着对于每个节点而言,均进行双节点注册,如此永久节点列表以及临时节点列表均会存储有每个节点的节点标识。
其中,为了便于区分,对于永久节点列表中存储的节点标识可以称之为永久节点标识,而对于临时节点列表中存储的节点标识可以称之为临时节点标识。如此在节点未发生宕机、重启或者IP地址变化等特殊情况的情况下,永久节点列表中存储的永久节点标识与临时节点列表中存储的临时节点标识相同。
而后,当多个节点中某一个或几个节点发生宕机、重启或者IP地址变化等特殊情况,临时节点列表中会自动移除这些发生宕机、重启或者IP地址变化等特殊情况的节点的临时节点标识,此时永久节点列表中存储的永久节点标识与临时节点列表中存储的临时节点标识未相同。由此,永久节点列表中存储的永久节点标识与临时节点列表中存储的临时节点标识有可能相同,也有可能不同。
基于此,在本发明实施例中,由主节点获取预设的永久节点列表以及预设的临时节点列表,进而可以判断永久节点列表中存储的永久节点标识与临时节点列表中存储的临时节点标识是否一致,从而根据判断结果,确定是否有节点发生了宕机、重启或者IP地址变化等特殊情况而离线,从而可以确定在线节点以及离线节点。
S502,在所述永久节点标识与所述临时节点标识未一致的情况下,根据所述永久节点标识与所述临时节点标识,确定在线节点与离线节点。
在本发明实施例中,对于永久节点列表中存储的永久节点标识与临时节点列表中存储的临时节点标识,在两者不一致的情况下,则说明有节点发生了宕机、重启或者IP地址变化等特殊情况而离线,从而可以根据永久节点标识与临时节点标识,确定在线节点与离线节点。
例如,对于永久节点列表中存储的永久IP地址:10.0.0.1、10.0.0.2、10.0.0.3,对于临时节点列表中存储的临时IP地址:10.0.0.1、10.0.0.2,由此可知永久节点列表中存储的永久IP地址与临时节点列表中存储的临时IP地址不一致,则说明有节点发生了宕机、重启或者IP地址变化等特殊情况而离线,从而可以根据永久IP地址与临时IP地址,确定在线节点与离线节点。
此外,在本发明实施例中,对于永久节点列表中存储的永久节点标识与临时节点列表中存储的临时节点标识,在两者一致的情况下,则说明没有节点发生宕机、重启或者IP地址变化等特殊情况而离线,从而可以不进行任何处理。
S503,确定所述离线节点对应的待执行任务,将所述待执行任务分发给所述在线节点。
在本发明实施例中,对于离线节点,由于预先为其分配了待执行任务,此时可以确定离线节点对应的待执行任务,将所述待执行任务分发给所述在线节点。如此可以保证离线节点待执行的任务及时被执行,避免任务执行失败。
需要说明的是,对于待执行任务的分发,用户可以进行自定义,比如将待执行任务轮询分发给在线节点,或者,由用户指定某个在线节点,从而将待执行任务分发给用户指定的在线节点,具体地待执行任务的分发策略还有很多,本发明实施例在此不再一一赘述。
通过上述对本发明实施例提供的技术方案的描述,从多个节点中选举主节点,由主节点获取预设的永久节点列表以及预设的临时节点列表,永久节点列表中存储永久节点标识,临时节点列表中存储临时节点标识,其中,多个节点中任一节点在开始启动的情况下,均在永久节点列表以及临时节点列表注册节点标识,在永久节点标识与临时节点标识未一致的情况下,根据永久节点标识与临时节点标识,确定在线节点与离线节点,确定离线节点对应的待执行任务,将待执行任务分发给在线节点。
如此任一节点在开始启动的情况下,均在永久节点列表以及临时节点列表注册节点标识,后续由主节点获取预设的永久节点列表以及预设的临时节点列表,在永久节点列表中存储的永久节点标识与临时节点列表中存储的临时节点标识不一致的情况下,根据永久节点标识与临时节点标识,确定在线节点与离线节点,将离线节点待执行的任务分发给在线节点,如此可以保证离线节点待执行的任务及时被执行,避免任务执行失败。
在上述步骤S501中,对于永久节点列表以及临时节点列表均存储在分布式应用程序协调服务,即永久节点列表以及临时节点列表均存储在zookeeper。对于zookeeper而言,在监测到多个节点中任一节点发生故障的情况下,从临时节点列表中删除节点的临时节点标识,并触发节点变化通知。
对于主节点而言,在接收到分布式应用程序协调服务发送的节点变化通知的情况下,此时可以从分布式应用程序协调服务中,获取预设的永久节点列表以及预设的临时节点列表,或者,按照预设的节点拉取周期,从分布式应用程序协调服务中,获取预设的永久节点列表以及预设的临时节点列表以便于后续确定在线节点和离线节点,如图6所示。
在上述步骤S501之后,本发明实施例可以统计永久节点列表中永久节点标识的永久数量,以及统计临时节点列表中临时节点标识的临时数量,判断永久数量与临时数量是否一致,在永久数量与临时数量相同的情况下,则确定永久节点标识与临时节点标识一致;在永久数量与临时数量未相同的情况下,则确定永久节点标识与临时节点标识未一致。
例如,在本发明实施例中,可以统计永久节点列表中永久节点标识的永久数量P,以及统计临时节点列表中临时节点标识的临时数量E,判断永久数量P与临时数量E是否一致,假设P与E均等于3,则说明永久数量P与临时数量E相同,在永久数量与临时数量相同的情况下,则确定永久节点标识与临时节点标识一致,假设P等于3,而E等于2,则说明永久数量P与临时数量E未相同,在永久数量P与临时数量E未相同的情况下,则确定永久节点标识与临时节点标识未一致。
在上述步骤S502中,可以通过节点标识比较指令,查找永久节点标识中与临时节点标识存在差异的差异节点标识,意味着这个差异节点标识存在于永久节点列表,而并未存在于临时节点列表,此时可以确定差异节点标识对应的节点为离线节点,确定多个节点中除离线节点之外的其余节点为在线节点。
例如,对于节点标识比较指令,可以是diff指令,从而可以通过diff指令,查找永久节点标识中与临时节点标识存在差异的差异节点标识,例如差异节点标识即IP地址10.0.0.3,意味着差异节点标识10.0.0.3存在于永久节点列表,而并未存在于临时节点列表,如图6所示,从而可以确定差异节点标识10.0.0.3对应的节点3为离线节点,而多个节点中除离线节点之外的其余节点为在线节点,即节点1、节点2为在线节点。
在上述步骤S503中,可以根据离线节点对应的临时节点标识,在任务池中查找为离线节点预分配的任务,确定预分配的任务为离线节点对应的待执行任务。
例如,根据各个节点的IP地址,为各个节点预分配待执行的任务,如下表1所示,从而可以根据离线节点(节点3)对应的IP地址(10.0.0.3),在任务池中查找为离线节点预分配的任务,确定预分配的任务为离线节点对应的待执行任务。
待执行的任务 | IP地址 |
待执行的任务1 | 10.0.0.3(节点3) |
待执行的任务2 | 10.0.0.2(节点2) |
…… | …… |
表1
在上述步骤S503之后,对于主节点而言,可以在永久节点列表中删除离线节点对应的永久节点标识。假设离线节点为节点3,则可以在永久节点列表中删除节点3对应的IP地址(10.0.0.3),如图7所示。
在上述步骤S503中,可以获取在线节点的节点特征,其中,节点特征至少包括下述之一:故障率,累计在线时长,标识变化频率,根据节点特征,从在线节点中选取目标在线节点,将待执行任务分发给目标在线节点。
如此可以通过在线节点各自对应的节点特征,从在线节点中选取一个合适的在线节点作为目标在线节点,由目标在线节点执行离线节点的待执行任务,可以使得待执行任务的分发比较合理化。
例如,对于在线节点:节点1和节点2,可以获取节点1和节点2各自对应的节点特征,从而根据节点1和节点2各自对应的节点特征,从节点1和节点2中选取目标在线节点,例如节点2为目标在线节点,将待执行任务分发给节点2。
具体地,在本发明实施例中,对于在线节点的节点特征,可以判断在线节点的节点特征是否低于预设节点特征,若在线节点的节点特征低于预设节点特征,则确定在线节点为目标在线节点。其中,预设节点特征至少包括下述之一:预设故障率阈值,预设时长阈值,预设频率阈值。
例如,对于在线节点的故障率,判断在线节点的故障率是否低于预设故障率阈值,若在线节点的故障率低于预设故障率阈值,则说明在线节点比较稳定,发生宕机、重启或者IP地址变化等特殊情况的几率并不大,此时可以确定在线节点为目标在线节点。
例如,对于在线节点的累计在线时长,判断在线节点的累计在线时长是否低于预设时长阈值,若在线节点的累计在线时长低于预设时长阈值,则说明在线节点上线时间较短,比较稳定,发生宕机、重启或者IP地址变化等特殊情况的几率并不大,此时可以确定在线节点为目标在线节点。
例如,对于在线节点的标识变化频率,判断在线节点的标识变化频率是否低于预设频率阈值,若在线节点的标识变化频率低于预设频率阈值,则说明在线节点标识改变的情况较少,比较稳定,发生宕机、重启或者IP地址变化等特殊情况的几率并不大,此时可以确定在线节点为目标在线节点。
或者,在本发明实施例中,可以根据在线节点的节点特征,确定在线节点的任务分发倾向度,根据任务分发倾向度,对在线节点进行排序,从排序结果中确定目标在线节点。
其中,在本发明实施例中,可以预先为故障率,累计在线时长,标识变化频率分配各自对应的权重,从而可以根据在线节点的故障率,累计在线时长,标识变化频率,即故障率,累计在线时长,标识变化频率各自对应的权重,计算在线节点的加权和,作为在线节点的任务分发倾向度。
对于在线节点各自对应的任务分发倾向度,可以根据在线节点的任务分发倾向度,对在线节点进行从小到大的排序,从排序结果中选取前N的在线节点作为目标在线节点。
与上述方法实施例相对应,本发明实施例还提供了一种节点管理装置,如图8所示,该装置可以包括:列表获取模块810、节点确定模块820、节点管理模块830。
列表获取模块810,用于获取预设的永久节点列表以及预设的临时节点列表,所述永久节点列表中存储永久节点标识,所述临时节点列表中存储临时节点标识;
其中,多个所述节点中任一所述节点在开始启动的情况下,均在所述永久节点列表以及所述临时节点列表注册节点标识;
节点确定模块820,用于在所述永久节点标识与所述临时节点标识未一致的情况下,根据所述永久节点标识与所述临时节点标识,确定在线节点与离线节点;
节点管理模块830,用于确定所述离线节点对应的待执行任务,将所述待执行任务分发给所述在线节点。
本发明实施例还提供了一种电子设备,如图9所示,包括处理器91、通信接口92、存储器93和通信总线94,其中,处理器91,通信接口92,存储器93通过通信总线94完成相互间的通信,
存储器93,用于存放计算机程序;
处理器91,用于执行存储器93上所存放的程序时,实现如下步骤:
获取预设的永久节点列表以及预设的临时节点列表,所述永久节点列表中存储永久节点标识,所述临时节点列表中存储临时节点标识;其中,多个所述节点中任一所述节点在开始启动的情况下,均在所述永久节点列表以及所述临时节点列表注册节点标识;在所述永久节点标识与所述临时节点标识未一致的情况下,根据所述永久节点标识与所述临时节点标识,确定在线节点与离线节点;确定所述离线节点对应的待执行任务,将所述待执行任务分发给所述在线节点。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种存储介质,该存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的节点管理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的节点管理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在存储介质中,或者从一个存储介质向另一个存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种节点管理方法,其特征在于,从多个节点中选举主节点,所述方法应用于所述主节点,包括:
获取预设的永久节点列表以及预设的临时节点列表,所述永久节点列表中存储永久节点标识,所述临时节点列表中存储临时节点标识;
其中,多个所述节点中任一所述节点在开始启动的情况下,均在所述永久节点列表以及所述临时节点列表注册节点标识;
在监测到多个节点中任一节点发生故障的情况下,从临时节点列表中删除节点的临时节点标识;
在所述永久节点标识与所述临时节点标识未一致的情况下,根据所述永久节点标识与所述临时节点标识,确定在线节点与离线节点;
确定所述离线节点对应的待执行任务,将所述待执行任务分发给所述在线节点。
2.根据权利要求1所述的方法,其特征在于,所述永久节点列表以及所述临时节点列表均存储在分布式应用程序协调服务;
所述获取预设的永久节点列表以及预设的临时节点列表,包括:
在接收到所述分布式应用程序协调服务发送的节点变化通知的情况下,从所述分布式应用程序协调服务中,获取预设的永久节点列表以及预设的临时节点列表;
其中,所述分布式应用程序协调服务在监测到多个所述节点中任一所述节点发生故障的情况下,从所述临时节点列表中删除所述节点的临时节点标识,并触发所述节点变化通知;
或者,
按照预设的节点拉取周期,从所述分布式应用程序协调服务中,获取预设的永久节点列表以及预设的临时节点列表。
3.根据权利要求1所述的方法,其特征在于,所述获取预设的永久节点列表以及预设的临时节点列表之后,所述方法还包括:
统计所述永久节点列表中所述永久节点标识的永久数量,以及统计所述临时节点列表中所述临时节点标识的临时数量;
在所述永久数量与所述临时数量相同的情况下,则确定所述永久节点标识与所述临时节点标识一致;
在所述永久数量与所述临时数量未相同的情况下,则确定所述永久节点标识与所述临时节点标识未一致。
4.根据权利要求1所述的方法,其特征在于,所述根据所述永久节点标识与所述临时节点标识,确定在线节点与离线节点,包括:
通过节点标识比较指令,查找所述永久节点标识中与所述临时节点标识存在差异的差异节点标识;
确定所述差异节点标识对应的节点为离线节点,确定多个所述节点中除所述离线节点之外的其余节点为在线节点。
5.根据权利要求1所述的方法,其特征在于,所述确定所述离线节点对应的待执行任务,包括:
根据所述离线节点对应的所述临时节点标识,在任务池中查找为所述离线节点预分配的任务;
确定所述预分配的任务为所述离线节点对应的待执行任务;
所述将所述待执行任务分发给所述在线节点之后,所述方法还包括:
在所述永久节点列表中删除所述离线节点对应的所述永久节点标识。
6.根据权利要求1所述的方法,其特征在于,所述将所述待执行任务分发给所述在线节点,包括:
获取所述在线节点的节点特征,其中,所述节点特征至少包括下述之一:故障率,累计在线时长,标识变化频率;
根据所述节点特征,从所述在线节点中选取目标在线节点,将所述待执行任务分发给所述目标在线节点。
7.根据权利要求6所述的方法,其特征在于,所述根据所述节点特征,从所述在线节点中选取目标在线节点,包括:
若所述在线节点的所述节点特征低于预设节点特征,则确定所述在线节点为目标在线节点;
其中,所述预设节点特征至少包括下述之一:预设故障率阈值,预设时长阈值,预设频率阈值;
或者,
根据所述在线节点的所述节点特征,确定所述在线节点的任务分发倾向度;
根据所述任务分发倾向度,对所述在线节点进行排序,从排序结果中确定目标在线节点。
8.一种节点管理装置,其特征在于,从多个节点中选举主节点,所述装置应用于所述主节点,包括:
列表获取模块,用于获取预设的永久节点列表以及预设的临时节点列表,所述永久节点列表中存储永久节点标识,所述临时节点列表中存储临时节点标识;
其中,多个所述节点中任一所述节点在开始启动的情况下,均在所述永久节点列表以及所述临时节点列表注册节点标识;
在监测到多个节点中任一节点发生故障的情况下,从临时节点列表中删除节点的临时节点标识;
节点确定模块,用于在所述永久节点标识与所述临时节点标识未一致的情况下,根据所述永久节点标识与所述临时节点标识,确定在线节点与离线节点;
节点管理模块,用于确定所述离线节点对应的待执行任务,将所述待执行任务分发给所述在线节点。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7中任一所述的方法步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210818815.5A CN115361439B (zh) | 2022-07-12 | 2022-07-12 | 节点管理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210818815.5A CN115361439B (zh) | 2022-07-12 | 2022-07-12 | 节点管理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115361439A CN115361439A (zh) | 2022-11-18 |
CN115361439B true CN115361439B (zh) | 2024-03-15 |
Family
ID=84031272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210818815.5A Active CN115361439B (zh) | 2022-07-12 | 2022-07-12 | 节点管理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115361439B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737574A (zh) * | 2018-06-28 | 2018-11-02 | 郑州云海信息技术有限公司 | 一种节点离线判断方法、装置、设备及可读存储介质 |
CN109714239A (zh) * | 2018-12-27 | 2019-05-03 | 新华三技术有限公司 | 一种管理消息的下发方法、vnfm设备和服务器 |
CN110351370A (zh) * | 2019-04-24 | 2019-10-18 | 上海数据交易中心有限公司 | 一种数据配送方法及装置 |
WO2020100126A1 (en) * | 2018-11-16 | 2020-05-22 | Christopher Lyndon Higgins | Distributed ledger systems, methods and devices |
CN111769981A (zh) * | 2020-06-19 | 2020-10-13 | 苏州浪潮智能科技有限公司 | 去中心化架构主节点推选方法、数据文件传输方法、系统 |
CN112764968A (zh) * | 2020-12-29 | 2021-05-07 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、设备及存储介质 |
CN114050960A (zh) * | 2021-10-19 | 2022-02-15 | 厦门亿联网络技术股份有限公司 | 一种分布式服务器集群节点管理方法及装置 |
WO2022039812A1 (en) * | 2020-08-21 | 2022-02-24 | Wandisco, Inc. | Methods, devices and systems for writer pre-selection in distributed data systems |
CN114116178A (zh) * | 2021-12-06 | 2022-03-01 | 深圳市和讯华谷信息技术有限公司 | 集群框架任务管理方法以及相关装置 |
WO2022105138A1 (zh) * | 2020-11-17 | 2022-05-27 | 平安科技(深圳)有限公司 | 去中心化的任务调度方法、装置、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8135025B2 (en) * | 2009-06-03 | 2012-03-13 | Microsoft Corporation | Asynchronous communication in an unstable network |
TWI661312B (zh) * | 2018-06-29 | 2019-06-01 | 國立交通大學 | 分散式運算方法與管理系統 |
-
2022
- 2022-07-12 CN CN202210818815.5A patent/CN115361439B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737574A (zh) * | 2018-06-28 | 2018-11-02 | 郑州云海信息技术有限公司 | 一种节点离线判断方法、装置、设备及可读存储介质 |
WO2020100126A1 (en) * | 2018-11-16 | 2020-05-22 | Christopher Lyndon Higgins | Distributed ledger systems, methods and devices |
CN109714239A (zh) * | 2018-12-27 | 2019-05-03 | 新华三技术有限公司 | 一种管理消息的下发方法、vnfm设备和服务器 |
CN110351370A (zh) * | 2019-04-24 | 2019-10-18 | 上海数据交易中心有限公司 | 一种数据配送方法及装置 |
CN111769981A (zh) * | 2020-06-19 | 2020-10-13 | 苏州浪潮智能科技有限公司 | 去中心化架构主节点推选方法、数据文件传输方法、系统 |
WO2022039812A1 (en) * | 2020-08-21 | 2022-02-24 | Wandisco, Inc. | Methods, devices and systems for writer pre-selection in distributed data systems |
WO2022105138A1 (zh) * | 2020-11-17 | 2022-05-27 | 平安科技(深圳)有限公司 | 去中心化的任务调度方法、装置、设备及介质 |
CN112764968A (zh) * | 2020-12-29 | 2021-05-07 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、设备及存储介质 |
CN114050960A (zh) * | 2021-10-19 | 2022-02-15 | 厦门亿联网络技术股份有限公司 | 一种分布式服务器集群节点管理方法及装置 |
CN114116178A (zh) * | 2021-12-06 | 2022-03-01 | 深圳市和讯华谷信息技术有限公司 | 集群框架任务管理方法以及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115361439A (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113746887B (zh) | 一种跨集群数据请求处理方法、设备及存储介质 | |
CN108897628B (zh) | 一种分布式锁的实现方法、装置及电子设备 | |
CN109800204B (zh) | 数据分配方法及相关产品 | |
CN110543512B (zh) | 一种信息同步方法,装置及系统 | |
CN112416456B (zh) | 配置文件处理方法、装置、设备、存储介质和系统 | |
CN108829738B (zh) | 一种ceph中数据存储方法及装置 | |
CN115113997A (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
CN111541561A (zh) | 微服务配置信息管理系统、方法、服务器及存储介质 | |
KR20180109921A (ko) | 데이터 저장과 서비스 처리 방법 및 장치 | |
CN111274012B (zh) | 服务调度方法、装置、电子设备及存储介质 | |
CN108052640A (zh) | 状态信息变更的联动方法及装置 | |
CN111125240B (zh) | 一种分布式事务实现方法、装置、电子设备及存储介质 | |
CN110113187B (zh) | 一种配置更新方法、装置、配置服务器及配置系统 | |
CN108509296B (zh) | 一种处理设备故障的方法和系统 | |
CN115361439B (zh) | 节点管理方法、装置、电子设备及存储介质 | |
CN110955460A (zh) | 一种服务进程启动方法、装置、电子设备和存储介质 | |
CN108228272B (zh) | Web容器生成处理方法、设备以及服务器 | |
CN108366102A (zh) | 一种基于Consul的服务发现方法、装置及电子设备 | |
CN114138522A (zh) | 一种微服务的故障恢复方法、装置、电子设备及介质 | |
CN111857955A (zh) | 一种异构云环境下的资源配置信息自动构建与更新的方法 | |
CN111092956A (zh) | 资源同步方法、装置、存储介质及设备 | |
CN110674153A (zh) | 一种数据一致性检测方法、装置及电子设备 | |
CN114584454B (zh) | 一种服务器信息的处理方法、装置、电子设备及存储介质 | |
CN111221847B (zh) | 监控数据存储方法、装置及计算机可读存储介质 | |
CN111884932B (zh) | 一种链路确定方法、装置、设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |