首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 软件套件 / 软件组件 / 插件 / 一种分布式节点管理方法及系统

一种分布式节点管理方法及系统

阅读:1033发布:2020-06-29

专利汇可以提供一种分布式节点管理方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 提出一种分布式 节点 管理方法及系统,所述方法包括:在管理 服务器 和工作节点之间建立安全通信通道,所述管理服务器通过所述安全通信通道向工作节点发送任务信息;所述工作节点根据所述任务信息,判断是否需要启动更新操作;如果是,则所述工作节点与消息服务器建立消息队列,并通过所述消息服务器向所述管理服务器发送更新 请求 ;所述管理服务器接收并处理所述更新请求,并将更新数据发送给所述工作节点;所述工作节点定期将其节点信息通过所述消息队列发送给所述管理服务器,所述管理服务器接收并更新所述工作节点的节点信息。采用本发明的方案,取得了在分布式系统集群中,节点管理的可控性、灵活性和实时性兼顾的技术效果。,下面是一种分布式节点管理方法及系统专利的具体信息内容。

1.一种分布式节点管理方法,其特征在于所述方法包括下述步骤:
步骤1:在管理服务器和工作节点之间建立安全通信通道,所述管理服务器通过所述安全通信通道向工作节点发送任务信息;
步骤2:所述工作节点根据所述任务信息,判断是否需要启动更新操作;如果是,则所述工作节点与消息服务器建立消息队列,并通过所述消息服务器向所述管理服务器发送更新请求
步骤3:所述管理服务器接收并处理所述更新请求,并将更新数据发送给所述工作节点;
步骤4:所述工作节点定期将其节点信息通过所述消息队列发送给所述管理服务器,所述管理服务器接收并更新所述工作节点的节点信息。
2.如权利要求1所述的方法,其特征在于所述步骤1包括:
所述管理服务器向所述工作节点主动构建一条SSH通道,所述SSH通道建立后,所述管理服务器通过所述SSH通道向所述工作节点发送所述任务信息,控制所述工作节点完成相应的功能或操作。
3.如权利要求2所述的方法,其特征在于所述任务信息包括执行任务所需的插件及其版本信息。
4.如权利要求3所述的方法,其特征在于所述步骤2包括:
所述工作节点根据接收到的所述所需插件及其版本信息,与所述工作节点的本地插件信息进行对比,判断是否需要启动所述更新操作;如果不一致,则需要启动所述更新操作。
5.如权利要求4所述的方法,其特征在于所述更新操作包括:
所述工作节点与所述消息服务器建立远程过程调用RPC消息队列,通过所述RPC消息队列向所述消息服务器发送更新请求,然后由所述消息服务器将所述更新请求发送给所述管理服务器。
6.如权利要求5所述的方法,其特征在于所述RPC消息队列是利用RabbitMQ提供。
7.如权利要求6所述的方法,其特征在于所述步骤3包括:
所述管理服务器将最新版的插件通过所述消息队列发送给所述工作节点。
8.如权利要求7所述的方法,其特征在于所述步骤4包括:
所述工作节点定期将其节点信息发送至所述RPC消息队列,通过所述消息服务器向所述管理服务器报告所述工作节点的资源和状态信息,所述管理服务器接收到所述节点信息后,更新其所保存的所述工作节点的节点信息。
9.如权利要求8所述的方法,其特征在于所述步骤4中的节点信息包括节点资源占用情况和节点状态。
10.如权利要求9所述的方法,其特征在于所述步骤4中的定期是按照预设的定时心跳间隔实现。
11.一种分布式节点管理系统,包括处理器和存储器,所述存储器具有存储有程序代码的介质,当所述处理器读取所述介质存储的程序代码时,所述系统能够执行权利要求1-10任一项所述的方法。

说明书全文

一种分布式节点管理方法及系统

技术领域

[0001] 本发明属于分布式系统集群管理领域,具体涉及一种分布式节点管理方法及系统。

背景技术

[0002] 当前,互联网信息探测领域普遍采取分布式探测技术,通过分布式部署工作节点,分发调度服务器综合考虑任务数量、工作节点计算资源和网络资源,分布式地调度工作节点执行互联网信息探测任务。节点管理包括工作节点的安装配置、初始化、插件部署及插件更新、节点状态控制、节点资源的管理等内容。节点管理效率直接影响整个系统的运行效率,因此,节点管理在此类系统中具有十分重要的作用。实现节点的自动化管理,能够极大减少系统部署、管理过程中需要人工手动完成的工作量,对于提高系统可扩展性及探测节点规模化具有重要意义。
[0003] 一般而言,节点管理通常包括3种基本模式:主动管理、被动管理和异常管理。主动管理是指管理节点按照一定的策略,诸如轮询、随机等,向工作节点发送管理指令,完成工作节点部署、初始化、收集节点状态等功能。被动管理是指管理节点被动接收工作节点上报的请求、节点状态等消息,根据消息采取相应的管理动作。被动管理实时性较高,但在工作节点出现异常时,可靠性难以保证。异常管理是指当工作节点在计算、存储、网络等方面或者插件运行过程中出现故障时采取的重启、重试、更新等管理操作,异常管理根据具体异常可采取不同的实现方式。
[0004] 综上所述,上述现有技术存在以下不足:主动管理适用于节点安装、插件部署、初始化等场景,但不适用于个别节点的管理操作。主动管理可操作性强,易于控制,但不够灵活;被动管理实时性较高,但在工作节点出现异常时,可靠性难以保证;异常管理只能用于工作节点出现异常情形,在对于其他情形,则无法适用。

发明内容

[0005] 为解决上述技术问题,本发明提出了一种分布式节点管理方法,所述方法包括下述步骤:
[0006] 步骤1:在管理服务器和工作节点之间建立安全通信通道,所述管理服务器通过所述安全通信通道向工作节点发送任务信息;
[0007] 步骤2:所述工作节点根据所述任务信息,判断是否需要启动更新操作;如果是,则所述工作节点与消息服务器建立消息队列,并通过所述消息服务器向所述管理服务器发送更新请求;
[0008] 步骤3:所述管理服务器接收并处理所述更新请求,并将更新数据发送给所述工作节点;
[0009] 步骤4:所述工作节点定期将其节点信息通过所述消息队列发送给所述管理服务器,所述管理服务器接收并更新所述工作节点的节点信息。
[0010] 进一步的,在上述技术方案的基础上,所述步骤1包括:
[0011] 所述管理服务器向所述工作节点主动构建一条SSH通道,所述SSH通道建立后,所述管理服务器通过所述SSH通道向所述工作节点发送所述任务信息,控制所述工作节点完成相应的功能或操作。
[0012] 进一步的,在上述技术方案的基础上,所述任务信息包括执行任务所需的插件及其版本信息。
[0013] 进一步的,在上述技术方案的基础上,所述步骤2包括:
[0014] 所述工作节点根据接收到的所述所需插件及其版本信息,与所述工作节点的本地插件信息进行对比,判断是否需要启动所述更新操作;如果不一致,则需要启动所述更新操作。
[0015] 进一步的,在上述技术方案的基础上,所述更新操作包括:
[0016] 所述工作节点与所述消息服务器建立RPC消息队列,通过所述RPC消息队列向所述消息服务器发送更新请求,然后由所述消息服务器将所述更新请求发送给所述管理服务器。
[0017] 进一步的,在上述技术方案的基础上,所述RPC消息队列是利用RabbitMQ提供。
[0018] 进一步的,在上述技术方案的基础上,所述步骤3包括:
[0019] 所述管理服务器将最新版的插件通过所述消息队列发送给所述工作节点。
[0020] 进一步的,在上述技术方案的基础上,所述步骤4包括:
[0021] 所述工作节点定期将其节点信息发送至所述RPC消息队列,通过所述消息服务器向所述管理服务器报告所述工作节点的资源和状态信息,所述管理服务器接收到所述节点信息后,更新其所保存的所述工作节点的节点信息。
[0022] 进一步的,在上述技术方案的基础上,所述步骤4中的节点信息包括节点资源占用情况和节点状态。
[0023] 进一步的,在上述技术方案的基础上,所述步骤4中的定期是按照预设的定时心跳间隔实现。
[0024] 另一方面,本发明还提出了一种分布式节点管理系统,包括处理器和存储器,所述存储器具有存储有程序代码的介质,当所述处理器读取所述介质存储的程序代码时,所述系统能够执行上述技术方案所述的方法。
[0025] 采用本发明的方法和管理系统,解决了已有节点管理方法中存在的可控性和灵活性、实时性无法同时取得的问题。由于本发明采用主动和被动相结合的管理方法,因而实现了至少如下的技术效果:(1)实现工作节点的自动化批量初始化,提高工作节点部署效率,可控制性好;(2)实现探测插件自动化实时更新,保证了工作节点均能采用最新版本的插件执行探测任务,提高了节点管理的实时性;(3)实现节点资源和状态的定时管理与控制,实现了节点状态的定时收集和管理,具有高度的灵活性。附图说明
[0026] 图1为本发明提出的分布式节点管理方法的流程示意图
[0027] 图2为本发明提出的分布式节点管理方法中的基于SSH通道进行节点自动化部署的示意图;
[0028] 图3为本发明提出的分布式节点管理方法中的基于RPC消息队列的节点插件自动更新的示意图;
[0029] 图4为本发明提出的分布式节点管理方法中的基于RPC消息队列的节点资源和状态定时管理的示意图。

具体实施方式

[0030] 以下结合附图对本发明的具体实施方式作出详细说明。
[0031] 为更好地说明本发明,便于理解本发明的技术方案,本发明的典型但非限制性的实施例如下:这里需要特别说明的是本发明说明书所列的实施方式仅是为了说明问题方便而给出的示例性实施方法,其不得理解为是本发明唯一正确的实施方式,更不得理解为是对本发明保护范围的限制性说明。
[0032] 对于分布式节点管理的目标是要实现最大限度降低人工参与,提高工作节点部署效率;当系统探测插件版本更新时,工作节点能够及时更新探测插件,以最新版本探测插件执行探测任务;管理节点能够定时收集工作节点状态和资源使用情况。
[0033] 为此,本发明提出了一种新的将SSH(Secure Shell Protocol)通道技术、RPC消息队列和定时管理等技术手段有机融入到节点管理的技术方案,流程示意图参见图1,包括:
[0034] 步骤1:在管理服务器和工作节点之间建立安全通信通道,所述管理服务器通过所述安全通信通道向工作节点发送任务信息;
[0035] 步骤2:所述工作节点根据所述任务信息,判断是否需要启动更新操作;如果是,则所述工作节点与消息服务器建立消息队列,并通过所述消息服务器向所述管理服务器发送更新请求;
[0036] 步骤3:所述管理服务器接收并处理所述更新请求,并将更新数据发送给所述工作节点;
[0037] 步骤4:所述工作节点定期将其节点信息通过所述消息队列发送给所述管理服务器,所述管理服务器接收并更新所述工作节点的节点信息。
[0038] 为了便于理解上述步骤,通过下述对本发明提出的技术方案的一个优选的具体实施方式的各个步骤予以图解说明。
[0039] 参见图1,为本发明提出的技术方案的步骤1的一个优选的具体实施方式,管理服务器基于SSH(Secure Shell Protocol:安全外壳协议)通道的节点自动化管理技术,利用SSH协议,如基于libssh库(具体参见:http://www.libssh.org/)在管理服务器和工作节点之间构建一条SSH通道。这个SSH通道为管理服务器主动管理工作节点提供了一条通道。SSH通道建立后,就可以在管理服务器端向工作节点发送命令,所述命令包含任务信息,控制工作节点完成相应的功能或操作。
[0040] 在实际应用中,可以利用这一通道控制工作节点下载自动化初始化插件,实现工作节点的批量管理,提高工作节点部署效率。
[0041] 参见图2,基于SSH通道的节点自动化部署流程如下:(1)管理服务器和工作节点之间建立一条SSH通道(参见图1:(1)建立SSH通道);(2)管理服务器通过SSH通道向工作节点发送命令(参见图1:(2)发送命令);(3)工作节点执行命令,完成特定功能(参见图1:(3)指令命令完成);(4)工作节点通过SSH通道将执行结果返回给管理服务器(参见图1:(4)返回结果)。
[0042] 基于SSH通道的节点自动化管理技术为管理服务器主动管理工作节点提供了技术途径,主要应用于工作节点初始化部署和调试阶段。在系统运行过程中,由于探测插件版本不断改进、更新、完善,工作节点上缓存的探测插件版本可能会过时。实时检测到插件版本的变化,并及时更新插件对于保证探测结果质量和一致性具有重要意义。但这时如果依靠管理服务器通过SSH通道逐一检查工作节点插件版本则存在如下问题:一是每次下发任务都需要检查,造成很多不必要的交互流量;二是容易暴露管理服务器IP地址,造成远程机房封杀管理服务器IP地址。
[0043] 为了避免上述问题,参见图3,为本发明提出的技术方案的步骤2的一个优选的具体实施方式。在分发到工作节点的任务信息中,包含执行任务所需的插件及版本信息,工作节点将接收的所述信息与本地插件信息进行对比,若不一致则启动插件更新,此时,工作节点和管理服务器之间建立远程调用服务RPC消息队列,如:工作节点利用RabbitMQ(由Rabbit公司开发的一种实现高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件))中提供的RPC消息队列,将插件请求发送给消息服务器,然后通过消息服务器向管理服务器发送插件更新请求,管理服务器接收并处理插件请求,将最新版插件发送到消息服务器的临时消息队列,并通过消息队列将插件请求结果发送给工作节点,实现探测插件的自动更新功能。
[0044] 基于RPC消息队列更新节点插件采取被动管理、实时更新的模式进行,参见图3,具体流程如下:(1)在任务分发过程中,管理服务器Manage Server根据最新插件列表和版本指定执行任务的插件和版本,通过插件的唯一MD5进行标识,该任务通过消息服务器分发到某一工作节点Worker。(2)工作节点Worker接收到任务后,查找本地是否存在匹配执行任务所需的插件,如果没有,则启动插件更新过程。(3)工作节点Worker将插件更新请求放入消息服务器中的RPC消息队列中,同时,建立一个专用的临时消息队列,用于存放管理服务器返回的插件请求结果。工作节点Worker持续监听这一临时队列,直到取回插件请求结果。(4)管理服务器Manage Server端持续监听消息服务器MQ Server的RPC消息队列,取回其中的新消息,通过插件MD5值唯一确定工作节点Worker所请求更新的插件,将最新版本的插件放入对应的临时消息队列。(5)工作节点Worker从自己创建的临时消息队列中取回插件请求结果,实现插件版本的实时更新。同时,注销对应的临时消息队列。
[0045] 参见图4,为本发明提出的技术方案的步骤3的一种优选的具体实施方式。工作节点按照预设的定时心跳间隔将节点资源占用情况和节点状态发送至RPC消息队列,通过消息服务器向管理服务器报告节点资源和状态,管理服务器接收并更新相应的节点信息。作为一个更优选的实施方式,工作节点Worker按照预设的定时心跳间隔将节点资源占用情况和节点状态以定时请求的方式发送至RPC消息队列,RPC消息队列通过消息服务器MQ Server将上述定时请求向管理服务器Manage Server报告节点资源和状态,管理服务器接收并更新相应的节点信息。可见,基于RPC消息队列管理节点资源和状态与节点插件自动更新的不同之处在于插件自动更新是不定时的,而采用RPC消息队列管理节点资源与状态管理是定时的、常规的任务。因此,基于RPC消息队列管理节点资源和状态采取被动管理、定时更新的模式进行。参见图3,其具体流程如下:(1)工作节点Worker通过设置定时心跳(例如,30秒),向消息服务器MQ Server发送定时请求,定时将节点资源占用情况和节点状态信息发送至RPC消息队列,同时,建立一个专用的临时队列Qt,用于存放管理服务器返回的定时请求结果。工作节点Worker持续监听临时队列Qt,直到取回定时请求结果。(2)管理服务器Manager Server端持续监听消息服务器MQ Server的RPC消息队列,取回其中的新消息,即新的定时请求,解析取回的新消息,更新节点状态和资源占用情况。同时,根据用户操作,将需要工作节点Worker执行的命令作为定时请求结果放入对应的临时消息队列。(3)工作节点Worker取回临时消息队列Qt中的定时请求结果中的消息,执行特定命令,然后等待下一心跳上报节点状态和资源占用情况。
[0046] 对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
[0047] 最后应说明的是,以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈