CN112087506B - 一种集群节点管理方法、装置及计算机存储介质 - Google Patents
一种集群节点管理方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN112087506B CN112087506B CN202010906498.3A CN202010906498A CN112087506B CN 112087506 B CN112087506 B CN 112087506B CN 202010906498 A CN202010906498 A CN 202010906498A CN 112087506 B CN112087506 B CN 112087506B
- Authority
- CN
- China
- Prior art keywords
- node
- target node
- target
- offline
- information
- 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
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Hardware Redundancy (AREA)
Abstract
本公开提供了一种集群节点管理方法、装置及计算机存储介质,应用于集群中的主资源管理器RM,主RM配置有用于进行节点下线管理的目标应用程序编程接口API,该方法包括:通过目标API接收目标节点信息;目标节点信息中包括需要下线的目标节点的标识信息;根据目标节点信息,将节点管理列表中目标节点的工作状态更新为下线状态;在接收到目标节点的心跳信息时,查询节点管理列表中所述目标节点的工作状态,在确定目标节点为下线状态后,在向目标节点发送的心跳反馈信息中通知目标节点停止服务。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种集群节点管理方法、装置及计算机存储介质。
背景技术
在Hadoop YARN集群资源管理和调度基础平台中,YARN集群的主资源管理器(ResourceManager,RM)能够管理集群中的计算节点(NodeManger,NM)。
当需要下线NM时,集群管理员需要在RM所在机器进行登录操作,在登录RM所在机器之后,将需要下线的NM写入到本地存储的计算节点黑名单文件中,RM根据本地存储的计算节点黑名单文件中的需要下线的NM的信息,对NM进行下线管理。
在上述RM对NM进行下线管理过程中,需要登录RM所在机器并修改本地存储的计算节点黑名单文件,操作繁琐且耗时较长,造成计算节点下线效率较低。
发明内容
本公开实施例至少提供一种集群节点管理方法、装置及计算机存储介质。
第一方面,本公开实施例提供了一种集群节点管理方法,应用于集群中的主资源管理器RM,主RM配置有用于进行节点下线管理的目标应用程序编程接口(ApplicationProgramming Interface,API),所述方法包括:
通过所述目标API接收目标节点信息;所述目标节点信息中包括需要下线的目标节点的标识信息;
根据所述目标节点信息,将节点管理列表中目标节点的工作状态更新为下线状态;
在接收到所述目标节点的心跳信息时,查询所述节点管理列表中所述目标节点的工作状态,在确定所述目标节点为下线状态后,在向所述目标节点发送的心跳反馈信息中通知所述目标节点停止服务。
在一种可能的实施方式中,将节点管理列表中目标节点的工作状态更新为下线状态之后,还包括:
将指示所述目标节点为下线状态的指示信息同步存储在集群的共享存储器中,以便在集群切换主RM后,切换后的主RM从所述共享存储器中获取所述指示信息,并将自身节点管理列表中所述目标节点的工作状态同步为下线状态。
在一种可能的实施方式中,共享存储器采用分布式存储集群Zookeeper。
在一种可能的实施方式中,所述目标节点的标识信息包括目标节点的IP地址和/或主机标识信息。
第二方面,本公开实施例还提供一种集群节点管理方法,应用于任一需要对集群节点信息进行操作的节点,所述方法包括:
确定需要下线的目标节点信息;所述目标节点信息中包括需要下线的目标节点的标识信息;
将所述目标节点信息通过主资源管理器RM配置的目标应用程序编程接口API发送给主RM。
在一种可能的实施方式中,确定需要下线的目标节点信息,包括:在存在任一节点发生故障,或者任一节点需要被其它集群调用时,将该任一节点作为需要下线的目标节点。
第三方面,本公开实施例还提供一种集群节点管理方法,应用于集群中的备资源管理器RM,备RM配置有用于进行节点下线管理的目标应用程序编程接口API,所述方法包括:
在接收到共享存储器发送的切换为主资源管理器RM的指示信息后,从共享存储器获取同步数据;所述同步数据中包括指示所述目标节点为下线状态的指示信息;
将存储的节点管理列表中所述目标节点的工作状态同步为下线状态;
以及,在作为主RM执行资源管理任务的过程中,若通过配置的目标API接收到其它目标节点信息,将节点管理列表中其它目标节点的工作状态更新为下线状态。
第四方面,本公开实施例还提供一种集群节点管理装置,所述装置包括:
接收模块,用于通过目标应用程序编程接口API接收目标节点信息;所述目标节点信息中包括需要下线的目标节点的标识信息。
更新模块,用于根据所述目标节点信息,将节点管理列表中目标节点的工作状态更新为下线状态;
下线模块,用于在接收到所述目标节点的心跳信息时,查询所述节点管理列表中所述目标节点的工作状态,在确定所述目标节点为下线状态后,在向所述目标节点发送的心跳反馈信息中通知所述目标节点停止服务。
在一种可能的实施方式中,所述装置还包括存储模块,用于将指示所述目标节点为下线状态的指示信息同步存储在集群的共享存储器中,以便在集群切换主资源管理器RM后,切换后的主RM从所述共享存储器中获取所述指示信息,并将自身节点管理列表中所述目标节点的工作状态同步为下线状态。
在一种可能的实施方式中,共享存储器采用分布式存储集群Zookeeper。
在一种可能的实施方式中,所述目标节点的标识信息包括目标节点的IP地址和/或主机标识信息。
第五方面,本公开实施例还提供一种集群节点管理装置,所述装置包括:
确定模块,用于确定需要下线的目标节点信息;所述目标节点信息中包括需要下线的目标节点的标识信息。
发送模块,用于将所述目标节点信息通过主资源管理器RM配置的目标应用程序编程接口API发送给主RM。
在一种可能的实施方式中,所述确定模块,具体用于在存在任一节点发生故障,或者任一节点需要被其它集群调用时,将该任一节点作为需要下线的目标节点。
第六方面,本公开实施例还提供一种集群节点管理装置,所述装置包括:
获取模块,用于在接收到共享存储器发送的切换为主资源管理器RM的指示信息后,从共享存储器获取同步数据;所述同步数据中包括指示目标节点为下线状态的指示信息。
同步模块,用于将存储的节点管理列表中所述目标节点的工作状态同步为下线状态;
还用于,在作为主RM执行资源管理任务的过程中,若通过配置的目标API接收到其它目标节点信息,将节点管理列表中其它目标节点的工作状态更新为下线状态。
第七方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或执行上述第二方面,或第二方面中一种可能的实施方式中的步骤,或执行上述第三方面的步骤。
第八方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或执行上述第二方面,或第二方面中一种可能的实施方式中的步骤,或执行上述第三方面的步骤。
本公开实施例提供的一种集群节点管理方法、装置及计算机存储介质,预先配置每个RM对应的进行节点下线管理的应用程序编程接口API,进行目标节点下线管理的主资源管理器RM通过目标应用程序编程接口API接收目标节点的节点信息,并根据目标节点的节点信息,更新节点管理列表中目标节点的工作状态为下线状态,并在接收到该目标节点的心跳信息时,通过心跳反馈信息通知该目标节点停止服务;这里,通过为集群中每个RM配置专门用于进行下线管理的应用程序编程接口API,使无论在集群中的任何节点,仅需调用主RM对应的目标应用程序编程接口API,并发送需要下线的目标节点的节点信息,主RM通过目标API接收目标节点的节点信息,从而实现对NM的下线管理,减少了登录、以及更新RM本地存储的节点黑名单文件等操作,操作简单且耗时较短,提高了对计算节点下线管理的效率。
进一步的,本公开实施例中主RM将指示目标节点为下线状态的指示信息存储在集群的共享存储器中,当主RM故障后,共享存储器根据预设的策略在集群中的备RM中选择新主RM,新主RM能够从共享存储器中获取指示目标节点为下线状态的指示信息,从而继续对目标节点进行下线管理,这里,通过共享存储器实现各个RM之间信息能够实时同步,保证了在主RM故障后仍然能够准确下线目标节点,且减少了登录新主RM、以及更新新主RM本地存储的节点黑名单文件等操作,操作简单且耗时较短,提高了对计算节点下线管理的效率。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种集群节点管理方法的流程图;
图2示出了本公开实施例所提供的另一种集群节点管理方法的流程图;
图3示出了本公开实施例所提供的另一种集群节点管理方法的流程图;
图4示出了本公开实施例所提供的一种集群节点管理装置的结构示意图;
图5示出了本公开实施例所提供的另一种集群节点管理装置的结构示意图;
图6示出了本公开实施例所提供的另一种集群节点管理装置的结构示意图;
图7示出了本公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,在Hadoop YARN集群资源管理和调度基础平台中,当需要下线NM时,集群管理员需要在RM所在机器进行登录操作,在登录RM所在机器之后,将需要下线的NM写入到本地存储的计算节点黑名单文件中,RM根据本地存储的计算节点黑名单文件中的需要下线的NM的信息,对NM进行下线管理;上述对NM进行下线管理的过程,操作繁琐且耗时较长,造成计算节点下线效率较低。
基于上述研究,本公开实施例提供了一种集群节点管理方法、装置及计算机存储介质,预先配置每个RM对应的进行节点下线管理的应用程序编程接口API,进行目标节点下线管理的主资源管理器RM通过目标应用程序编程接口API接收目标节点的节点信息,并根据目标节点的节点信息,更新节点管理列表中目标节点的工作状态为下线状态,并在接收到该目标节点的心跳信息时,通过心跳反馈信息通知该目标节点停止服务;这里,通过为集群中每个RM配置专门用于进行下线管理的应用程序编程接口API,使无论在集群中的任何节点,仅需调用主RM对应的目标应用程序编程接口API,并发送需要下线的目标节点的节点信息,主RM能够通过目标API接收目标节点的节点信息,从而实现对NM的下线管理,减少了登录、以及更新RM本地存储的节点黑名单文件等操作,操作简单且耗时较短,提高了对计算节点下线管理的效率。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种集群节点管理方法进行详细介绍,本公开实施例所提供的集群节点管理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、个人数字处理(Personal Digital Assistant,PDA)等。在一些可能的实现方式中,该集群节点管理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为服务器为例对本公开实施例提供的集群节点管理方法加以说明。
实施例一
在具体实施中,集群资源管理和调度平台中的资源管理器RM能够管理集群中的计算节点NM,主RM可以通过下述步骤S101~S103对需要下线的NM进行下线管理,具体描述如下。
参见图1所示,为本公开实施例提供的一种集群节点管理方法的流程图,所述方法应用于集群中的主资源管理器RM,主RM配置有用于进行节点下线管理的目标应用程序编程接口API,所述方法包括步骤S101~S103,其中:
S101、通过所述目标API接收目标节点信息。
其中,目标节点信息中可以包括需要下线的目标节点的标识信息;这里,目标节点为集群中的计算节点NM;这里,目标节点的标识信息可以包括目标节点的网络互连协议(Internet Protocol,IP)地址和/或目标节点的主机标识信息(即Host信息)。
这里,主资源管理器RM为根据预设规则选定的进行节点下线管理的RM。
这里,预先为集群中的每个RM配置进行NM下线管理的目标应用程序编程接口API;主RM通过自身设置的目标API进行NM下线管理。
在具体实施中,进行NM下线管理的主RM通过目标API接收需要下线节点的标识信息,在接收到需要下线节点的标识信息之后,通过执行步骤S102~S103对需要下线的节点进行下线管理,具体描述如下。
S102、根据所述目标节点信息,将节点管理列表中目标节点的工作状态更新为下线状态。
这里,集群中的每个RM中都存储有用于记录当前管理的每个NM的基本信息和工作状态等信息的节点管理列表;这里,基本信息可以包括NM的标识信息;工作状态可以包括正在运行、故障、下线等多种状态。
在具体实施中,主RM基于步骤S101接收到的需要下线的节点对应的标识信息,查询存储的节点管理列表,将节点管理列表中该标识信息对应的节点状态更新为下线状态。
在具体实施中,在基于步骤S102将节点管理列表中目标节点的工作状态更新为下线状态之后,为了保证当前主RM故障后依旧能够高效的对该目标节点进行下线管理,则主RM将指示目标节点为下线状态的指示信息同步存储在集群的共享存储器中,以使在集群切换主RM后,切换后的主RM能够从上述共享存储器中获取到指示信息,并根据该指示信息,将自身节点管理列表中该目标节点的工作状态更新为下线状态。
其中,指示目标节点为下线状态的指示信息中可以包括目标节点的标识信息。
这里,共享存储器可以采用分布式存储集群Zookeeper。
具体的,当主RM故障后,共享存储器选择集群中除上述主RM外的其他RM中满足预设策略的RM作为新的主RM,切换后的新的主RM从共享存储器中获取指示目标节点为下线状态的指示信息,并基于该指示信息,查询自身节点管理列表,将自身节点管理列表中节点标识信息对应的节点状态更新为下线状态。
在具体实施中,主RM基于步骤S102将节点管理列表中目标节点的节点状态更新为下线状态之后,可以通过执行步骤S103通知目标节点停止服务,具体描述如下。
S103、在接收到所述目标节点的心跳信息时,查询所述节点管理列表中所述目标节点的工作状态,在确定所述目标节点为下线状态后,在向所述目标节点发送的心跳反馈信息中通知所述目标节点停止服务。
其中,目标节点的心跳信息中可以包含目标节点的标识信息以及当前运行状态信息,用于向RM汇报自身当前的运行状况。
其中,心跳反馈信息中可以主RM的标识信息、主RM当前运行状态信息以及指示目标节点停止服务的指示信息。
在具体实施中,目标节点根据预设周期向主RM发送心跳信息,主RM在接收到目标节点的心跳信息后,根据心跳信息中的目标节点的标识信息,查询节点管理列表,确定目标节点的工作状态,当确定目标节点的工作状态为下线状态后,发送指示目标节点停止服务的心跳反馈信息,目标节点根据接收到的心跳反馈信息中的停止服务指示信息,停止服务。
本公开实施例中,预先配置每个RM对应的进行节点下线管理的应用程序编程接口API,进行目标节点下线管理的主资源管理器RM通过目标应用程序编程接口API接收目标节点的节点信息,并根据目标节点的节点信息,更新节点管理列表中目标节点的工作状态为下线状态,并在接收到该目标节点的心跳信息时,通过心跳反馈信息通知该目标节点停止服务;这里,通过为集群中每个RM配置专门用于进行下线管理的应用程序编程接口API,使无论在集群中的任何节点,仅需调用主RM对应的目标应用程序编程接口API,并发送需要下线的目标节点的节点信息,主RM通过目标API接收目标节点的节点信息,从而实现对NM的下线管理,减少了登录、以及更新RM本地存储的节点黑名单文件等操作,操作简单且耗时较短,提高了对计算节点下线管理的效率。
进一步的,本公开实施例中主RM将指示目标节点为下线状态的指示信息存储在集群的共享存储器中,当主RM故障后,共享存储器根据预设的策略在集群中的备RM中选择新的主RM,新的主RM能够从共享存储器中获取指示目标节点为下线状态的指示信息,从而继续对目标节点进行下线管理,这里,通过共享存储器实现各个RM之间信息能够实时同步,保证了在主RM故障后仍然能够准确下线目标节点,且减少了登录新的主RM、以及更新新的主RM本地存储的节点黑名单文件等操作,操作简单且耗时较短,提高了对计算节点下线管理的效率。
实施例二
在具体实施中,集群资源管理和调度平台中的任一需要对集群节点信息进行操作的节点,能够通过调用主资源管理器RM的目标应用程序编程接口API,向主RM发送需要下线的节点的节点信息,主RM根据接收的需要下线的节点信息,实现节点的下线管理。
参见图2所示,为本公开实施例提供的一种集群节点管理方法的流程图,所述方法应用于任一需要对集群节点信息进行操作的节点,所述方法包括步骤S201~S202,其中:
S201、确定需要下线的目标节点信息。
其中,任一需要对集群节点信息进行操作的节点可以为集群中任一RM,也可以任一NM,也可以为运营管理节点等。
其中,所述目标节点信息中包括需要下线的目标节点的标识信息;这里,目标节点的标识信息可以包括目标节点的网络互连协议(Internet Protocol,IP)地址和/或目标节点的主机标识信息(即Host信息)。
在具体实施中,在存储任一计算节点NM发生故障,或者任一计算节点NM需要被其它集群调用时,将该任一计算节点NM作为需要下线的目标节点。
S202、将所述目标节点信息通过主资源管理器RM配置的目标应用程序编程接口API发送给主RM。
这里,预先为集群中的每个RM配置相应的进行NM下线管理的应用程序编程接口API。
在具体实施中,当接收到需要对目标节点进行下线的指示信息后,集群管理人员可以在当前操作的节点通过调用主RM对应的目标应用程序编程接口API,向主RM发送需要下线的目标节点的节点信息,主RM通过目标API接收到目标节点的节点信息,查询存储的节点管理列表,将节点管理列表中该标识信息对应的节点状态更新为下线状态,并将指示目标节点为下线状态的指示信息存储到集群的共享存储器中,主RM在接收到目标节点的心跳信息后,根据心跳信息中的目标节点的标识信息,查询节点管理列表,确定目标节点的工作状态,当确定目标节点的工作状态为下线状态后,发送指示目标节点停止服务的心跳反馈信息,目标节点根据接收到的心跳反馈信息中的停止服务指示信息,停止服务。
本公开实施例中,预先配置每个RM对应的进行节点下线管理的应用程序编程接口API,使得无论在任何节点,只需调用进行目标节点下线管理的主资源管理器RM对应的目标应用程序编程接口API,然后通过该API向主RM发送目标节点的节点信息,就能够实现对目标节点的下线管理,减少了登录、以及更新RM本地存储的节点黑名单文件等操作,操作简单且耗时较短,提高了对计算节点下线管理的效率。
实施例三
在具体实施中,若当前进行节点下线管理的主资源管理器RM故障后,则共享存储器可以通过快速切换任一符合预设策略的其他RM作为主RM,切换后的主RM可以根据共享存储器中存储的指示目标节点为下线状态的指示信息,继续对目标节点进行下线管理,具体描述如步骤S301~S303所示。
参见图3所示,为本公开实施例提供的一种集群节点管理方法的流程图,所述方法应用于集群中的备资源管理器RM,备RM配置有用于进行节点下线管理的目标应用程序编程接口API,所述方法包括步骤S301~S303,其中:
S301、在接收到共享存储器发送的切换为主资源管理器RM的指示信息后,从共享存储器获取同步数据。
这里,集群中的每个RM预先配置有用于进行计算节点NM下线管理的应用程序编程接口API。
其中,备资源管理器RM为除上述主RM之外的任一RM;切换为主RM的指示信息中可以包含RM标识信息;同步数据中包括指示目标节点为下线状态的指示信息;这里,指示信息中可以包括目标节点的标识信息。
在具体实施中,共享存储器在预设集群中的多个备RM中选出符合预设策略的备RM作为新的主RM,并发送将该备RM切换为主RM的指示信息,该备RM接收上述指示信息,并获取共享存储器中存储的指示目标节点为下线状态的指示信息。
S302、将存储的节点管理列表中所述目标节点的工作状态同步为下线状态。
在具体实施中,切换后的主RM根据接收到的指示目标节点为下线状态的指示信息中的目标节点的标识信息,查询节点管理列表,将节点管理列表中上述标识信息对应的节点状态更新为下线状态,并在接收到目标节点的心跳信息后,根据心跳信息中的目标节点的标识信息,查询节点管理列表,确定目标节点的工作状态,当确定目标节点的工作状态为下线状态后,发送指示目标节点停止服务的心跳反馈信息,目标节点根据接收到的心跳反馈信息中的停止服务指示信息,停止服务。
S303、在作为主RM执行资源管理任务的过程中,若通过配置的目标API接收到其它目标节点信息,将节点管理列表中其它目标节点的工作状态更新为下线状态。
在具体实施中,当上述备RM切换为主RM后,在执行资源管理任务的过程中,若存在该主RM管理的NM需要进行下线操作时,集群管理人员在当前操作的节点调用该主RM对应的目标API,并通过该目标API向该RM发送需要下线的其它目标节点的节点信息,主RM根据接收到的其它目标节点的节点信息,查询节点管理列表,将节点管理列表中其它目标节点的节点状态更新为下线状态,并将指示该其它目标节点为下线状态的指示信息存储到共享存储其中;在接收到其它目标节点的心跳信息后,根据心跳信息中的其它目标节点的标识信息,查询节点管理列表,确定该其它目标节点的工作状态,当确定该其它目标节点的工作状态为下线状态后,发送指示该其它目标节点停止服务的心跳反馈信息,该其它目标节点根据接收到的心跳反馈信息中的停止服务指示信息,停止服务。
本公开实施例中,切换为主RM的备RM,根据存储在共享存储器中的指示目标节点为下线状态的指示信息,继续对目标节点进行下线管理,这里,通过共享存储器实现各个RM之间信息能够实时同步,保证了在主RM故障后仍然能够准确下线目标节点,且减少了登录切换后主RM、以及更新切换后主RM本地存储的节点黑名单文件等操作,操作简单且耗时较短,提高了对计算节点下线管理的效率。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与集群节点管理方法对应的集群节点管理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述集群节点管理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
实施例四
参照图4所示,为本公开实施例提供的一种集群节点管理装置400的结构示意图,所述装置包括:接收模块401、更新模块402和下线模块403;其中,接收模块401,用于通过目标应用程序编程接口API接收目标节点信息;所述目标节点信息中包括需要下线的目标节点的标识信息。
更新模块402,用于根据所述目标节点信息,将节点管理列表中目标节点的工作状态更新为下线状态。
下线模块403,用于在接收到所述目标节点的心跳信息时,查询所述节点管理列表中所述目标节点的工作状态,在确定所述目标节点为下线状态后,在向所述目标节点发送的心跳反馈信息中通知所述目标节点停止服务。
本公开实施例中,预先配置每个RM对应的进行节点下线管理的应用程序编程接口API,进行目标节点下线管理的主资源管理器RM通过目标应用程序编程接口API接收目标节点的节点信息,并根据目标节点的节点信息,更新节点管理列表中目标节点的工作状态为下线状态,并在接收到该目标节点的心跳信息时,通过心跳反馈信息通知该目标节点停止服务;这里,通过为集群中每个RM配置专门用于进行下线管理的应用程序编程接口API,使无论在集群中的任何节点,仅需调用主RM对应的目标应用程序编程接口API,并发送需要下线的目标节点的节点信息,主RM通过目标API接收目标节点的节点信息,从而实现对NM的下线管理,减少了登录、以及更新RM本地存储的节点黑名单文件等操作,操作简单且耗时较短,提高了对计算节点下线管理的效率。
一种可能的实施方式中,所述装置还包括存储模块,用于将指示所述目标节点为下线状态的指示信息同步存储在集群的共享存储器中,以便在集群切换主资源管理器RM后,切换后的主RM从所述共享存储器中获取所述指示信息,并将自身节点管理列表中所述目标节点的工作状态同步为下线状态。
这里,主RM将指示目标节点为下线状态的指示信息存储在集群的共享存储器中,当主RM故障后,共享存储器根据预设的策略在集群中的备RM中选择新的主RM,新的主RM能够从共享存储器中获取指示目标节点为下线状态的指示信息,从而继续对目标节点进行下线管理,这里,通过共享存储器实现各个RM之间信息能够实时同步,保证了在主RM故障后仍然能够准确下线目标节点,且减少了登录新的主RM、以及更新新的主RM本地存储的节点黑名单文件等操作,操作简单且耗时较短,提高了对计算节点下线管理的效率。
一种可能的实施方式中,共享存储器采用分布式存储集群Zookeeper。
一种可能的实施方式中,所述目标节点的标识信息包括目标节点的IP地址和/或主机标识信息。
实施例五
参照图5所示,为本公开实施例提供的一种集群节点管理装置500的结构示意图,所述装置包括:确定模块501和发送模块502;其中,确定模块501,用于确定需要下线的目标节点信息;所述目标节点信息中包括需要下线的目标节点的标识信息。
发送模块502,用于将所述目标节点信息通过主资源管理器RM配置的目标应用程序编程接口API发送给所述主RM。
本公开实施例中,预先配置每个RM对应的进行节点下线管理的应用程序编程接口API,使得无论在任何节点,只需调用进行目标节点下线管理的主资源管理器RM对应的目标应用程序编程接口API,然后通过该API向主RM发送目标节点的节点信息,就能够实现对目标节点的下线管理,减少了登录、以及更新RM本地存储的节点黑名单文件等操作,操作简单且耗时较短,提高了对计算节点下线管理的效率。
一种可能的实施方式中,确定模块501,具体用于在存在任一节点发生故障,或者任一节点需要被其它集群调用时,将该任一节点作为需要下线的目标节点。
实施例六
参照图6所示,为本公开实施例提供的一种集群节点管理装置600的结构示意图,所述装置包括:获取模块601和同步模块602;其中,获取模块601,用于在接收到共享存储器发送的切换为主资源管理器RM的指示信息后,从共享存储器获取同步数据;所述同步数据中包括指示所述目标节点为下线状态的指示信息。
同步模块602,用于将存储的节点管理列表中所述目标节点的工作状态同步为下线状态。
同步模块602还用于,在作为主RM执行资源管理任务的过程中,若通过配置的目标API接收到其它目标节点信息,将节点管理列表中其它目标节点的工作状态更新为下线状态。
本公开实施例中,切换为主RM的备RM,根据存储在共享存储器中的指示目标节点为下线状态的指示信息,继续对目标节点进行下线管理,这里,通过共享存储器实现各个RM之间信息能够实时同步,保证了在主RM故障后仍然能够准确下线目标节点,且减少了登录切换后主RM、以及更新切换后主RM本地存储的节点黑名单文件等操作,操作简单且耗时较短,提高了对计算节点下线管理的效率。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本申请实施例还提供了一种计算机设备。参照图7所示,为本申请实施例提供的计算机设备700的结构示意图,包括处理器701、存储器702、和总线703。其中,存储器702用于存储执行指令,包括内存7021和外部存储器7022;这里的内存7021也称内存储器,用于暂时存放处理器701中的运算数据,以及与硬盘等外部存储器7022交换的数据,处理器701通过内存7021与外部存储器7022进行数据交换,当计算机设备700运行时,处理器701与存储器702之间通过总线703通信,使得处理器701执行以下指令:
通过所述目标API接收目标节点信息;所述目标节点信息中包括需要下线的目标节点的标识信息;根据所述目标节点信息,将节点管理列表中目标节点的工作状态更新为下线状态;在接收到所述目标节点的心跳信息时,查询所述节点管理列表中所述目标节点的工作状态,在确定所述目标节点为下线状态后,在向所述目标节点发送的心跳反馈信息中通知所述目标节点停止服务。
或者,使得处理器701执行以下指令:
确定需要下线的目标节点信息;所述目标节点信息中包括需要下线的目标节点的标识信息;将所述目标节点信息通过主RM配置的目标应用程序编程接口API发送给所述主RM。
或者,使得处理器701执行以下指令:
在接收到共享存储器发送的切换为主RM的指示信息后,从共享存储器获取同步数据;所述同步数据中包括指示所述目标节点为下线状态的指示信息;将存储的节点管理列表中所述目标节点的工作状态同步为下线状态;以及,在作为主RM执行资源管理任务的过程中,若通过配置的目标API接收到其它目标节点信息,将节点管理列表中其它目标节点的工作状态更新为下线状态。
其中,处理器701的具体处理流程可以参照上述方法实施例的记载,这里不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的集群节点管理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的集群节点管理方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的集群节点管理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种集群节点管理方法,其特征在于,应用于集群中的主资源管理器RM,主RM配置有用于进行节点下线管理的目标应用程序编程接口API,所述方法包括:
通过所述目标API接收目标节点信息;所述目标节点信息中包括需要下线的目标节点的标识信息;所述目标节点为所述集群中的计算节点NM;
根据所述目标节点信息,将节点管理列表中目标节点的工作状态更新为下线状态;
在接收到所述目标节点的心跳信息时,查询所述节点管理列表中所述目标节点的工作状态,在确定所述目标节点为下线状态后,在向所述目标节点发送的心跳反馈信息中通知所述目标节点停止服务。
2.根据权利要求1所述的方法,其特征在于,将节点管理列表中目标节点的工作状态更新为下线状态之后,还包括:
将指示所述目标节点为下线状态的指示信息同步存储在集群的共享存储器中,以便在集群切换主RM后,切换后的主RM从所述共享存储器中获取所述指示信息,并将自身节点管理列表中所述目标节点的工作状态同步为下线状态。
3.根据权利要求1所述的方法,其特征在于,共享存储器采用分布式存储集群Zookeeper。
4.根据权利要求1~3任一所述的方法,其特征在于,所述目标节点的标识信息包括目标节点的IP地址和/或主机标识信息。
5.一种集群节点管理方法,其特征在于,应用于任一需要对集群节点信息进行操作的节点,所述方法包括:
确定需要下线的目标节点信息;所述目标节点信息中包括需要下线的目标节点的标识信息;
将所述目标节点信息通过主资源管理器RM配置的目标应用程序编程接口API发送给主RM。
6.根据权利要求5所述的方法,其特征在于,确定需要下线的目标节点信息,包括:
在存在任一节点发生故障,或者任一节点需要被其它集群调用时,将该任一节点作为需要下线的目标节点。
7.一种集群节点管理方法,其特征在于,应用于集群中的备资源管理器RM,备RM配置有用于进行节点下线管理的目标应用程序编程接口API,所述方法包括:
在接收到共享存储器发送的切换为主资源管理器RM的指示信息后,从共享存储器获取同步数据;所述同步数据中包括指示目标节点为下线状态的指示信息;
将存储的节点管理列表中所述目标节点的工作状态同步为下线状态;
以及,在作为主RM执行资源管理任务的过程中,若通过配置的目标API接收到其它目标节点信息,将节点管理列表中其它目标节点的工作状态更新为下线状态。
8.一种集群节点管理装置,其特征在于,所述装置包括:
接收模块,用于通过目标应用程序编程接口API接收目标节点信息;所述目标节点信息中包括需要下线的目标节点的标识信息;所述目标节点为集群中的计算节点NM;
更新模块,用于根据所述目标节点信息,将节点管理列表中目标节点的工作状态更新为下线状态;
下线模块,用于在接收到所述目标节点的心跳信息时,查询所述节点管理列表中所述目标节点的工作状态,在确定所述目标节点为下线状态后,在向所述目标节点发送的心跳反馈信息中通知所述目标节点停止服务。
9.一种集群节点管理装置,其特征在于,所述装置包括:
确定模块,用于确定需要下线的目标节点信息;所述目标节点信息中包括需要下线的目标节点的标识信息;
发送模块,用于将所述目标节点信息通过主资源管理器RM配置的目标应用程序编程接口API发送给主RM。
10.一种集群节点管理装置,其特征在于,所述装置包括:
获取模块,用于在接收到共享存储器发送的切换为主资源管理器RM的指示信息后,从共享存储器获取同步数据;所述同步数据中包括指示目标节点为下线状态的指示信息;
同步模块,用于将存储的节点管理列表中所述目标节点的工作状态同步为下线状态;
还用于,在作为主RM执行资源管理任务的过程中,若通过配置的目标API接收到其它目标节点信息,将节点管理列表中其它目标节点的工作状态更新为下线状态。
11.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至4任一所述的集群节点管理方法的步骤,或执行如权利要求5至6任一所述的集群节点管理方法的步骤,或执行如权利要求7所述的集群节点管理方法的步骤。
12.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至4任一所述的集群节点管理方法的步骤,或执行如权利要求5至6任一所述的集群节点管理方法的步骤,或执行如权利要求7所述的集群节点管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010906498.3A CN112087506B (zh) | 2020-09-01 | 2020-09-01 | 一种集群节点管理方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010906498.3A CN112087506B (zh) | 2020-09-01 | 2020-09-01 | 一种集群节点管理方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112087506A CN112087506A (zh) | 2020-12-15 |
CN112087506B true CN112087506B (zh) | 2023-02-07 |
Family
ID=73731308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010906498.3A Active CN112087506B (zh) | 2020-09-01 | 2020-09-01 | 一种集群节点管理方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112087506B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111099B (zh) * | 2021-06-15 | 2021-08-24 | 蚂蚁金服(杭州)网络技术有限公司 | 一种环路检测方法、装置、电子设备与存储介质 |
CN116501510A (zh) * | 2023-06-29 | 2023-07-28 | 恒生电子股份有限公司 | 数据处理方法、业务处理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629906A (zh) * | 2012-03-30 | 2012-08-08 | 浪潮电子信息产业股份有限公司 | 一种将集群管理节点做双机实现提高集群业务可用性的设计办法 |
CN106648801A (zh) * | 2016-12-30 | 2017-05-10 | 广东浪潮大数据研究有限公司 | 一种Hadoop集群自动添加删除节点的方法 |
CN107948284A (zh) * | 2017-11-24 | 2018-04-20 | 泰康保险集团股份有限公司 | 一种基于微服务架构的服务下线方法、设备和系统 |
CN108833169A (zh) * | 2018-06-21 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种节点上线管理方法和节点 |
CN109067600A (zh) * | 2018-09-25 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种私有云管理平台系统及其任务处理方法 |
CN111327692A (zh) * | 2020-02-05 | 2020-06-23 | 北京百度网讯科技有限公司 | 模型训练方法、装置及集群系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5373295B2 (ja) * | 2008-02-04 | 2013-12-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチノード・サーバシステム、負荷分散方法、リソース管理サーバ、およびプログラム |
-
2020
- 2020-09-01 CN CN202010906498.3A patent/CN112087506B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629906A (zh) * | 2012-03-30 | 2012-08-08 | 浪潮电子信息产业股份有限公司 | 一种将集群管理节点做双机实现提高集群业务可用性的设计办法 |
CN106648801A (zh) * | 2016-12-30 | 2017-05-10 | 广东浪潮大数据研究有限公司 | 一种Hadoop集群自动添加删除节点的方法 |
CN107948284A (zh) * | 2017-11-24 | 2018-04-20 | 泰康保险集团股份有限公司 | 一种基于微服务架构的服务下线方法、设备和系统 |
CN108833169A (zh) * | 2018-06-21 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种节点上线管理方法和节点 |
CN109067600A (zh) * | 2018-09-25 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种私有云管理平台系统及其任务处理方法 |
CN111327692A (zh) * | 2020-02-05 | 2020-06-23 | 北京百度网讯科技有限公司 | 模型训练方法、装置及集群系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112087506A (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109729111B (zh) | 用于管理分布式系统的方法、设备和计算机程序产品 | |
CN106331098B (zh) | 一种服务器集群系统 | |
CN106534328B (zh) | 节点连接方法及分布式计算系统 | |
CN111459749B (zh) | 基于Prometheus的私有云监控方法、装置、计算机设备及存储介质 | |
CN109376197B (zh) | 一种数据同步方法、服务器及计算机存储介质 | |
CN107404509B (zh) | 分布式服务配置系统及信息管理方法 | |
CN113778623B (zh) | 资源处理方法和装置、电子设备及存储介质 | |
CN112087506B (zh) | 一种集群节点管理方法、装置及计算机存储介质 | |
CN113067850B (zh) | 一种多云场景下的集群编排系统 | |
GB2407887A (en) | Automatically modifying fail-over configuration of back-up devices | |
CN107666493B (zh) | 一种数据库配置方法及其设备 | |
EP3817338A2 (en) | Method and apparatus for acquiring rpc member information, electronic device and storage medium | |
CN110661641B (zh) | 一种虚拟网络功能vnf部署方法及装置 | |
CN106385330B (zh) | 一种网络功能虚拟化编排器的实现方法及装置 | |
CN110391940A (zh) | 服务地址的响应方法、装置、系统、设备和存储介质 | |
CN105959078A (zh) | 一种集群时间同步方法、集群及时间同步系统 | |
EP3457668B1 (en) | Clustering in unified communication and collaboration services | |
CN103068034B (zh) | 一种数据同步的方法及装置 | |
CN111147312B (zh) | 资源配置的管理方法及装置、资源配置缓存的管理方法及装置、配置管理系统 | |
CN115510156A (zh) | 一种云原生高可用数据库服务提供系统及方法 | |
CN114565502A (zh) | Gpu资源管理方法、调度方法、装置、电子设备及存储介质 | |
CN114553867A (zh) | 一种云原生的跨云网络监控方法、装置及存储介质 | |
CN111865632A (zh) | 分布式数据存储集群的切换方法及切换指令发送方法和装置 | |
CN111064643B (zh) | 一种节点服务器及其数据交互方法和相关装置 | |
CN112751693B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220701 Address after: 100190 1309, 13th floor, building 4, Zijin Digital Park, Haidian District, Beijing Applicant after: Beijing volcano Engine Technology Co.,Ltd. Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing. Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |