一种分布式集群中主监控节点选择方法及装置与流程

文档序号:14253154阅读:166来源:国知局
一种分布式集群中主监控节点选择方法及装置与流程

本发明涉及计算机应用技术领域,特别是涉及一种分布式集群中主监控节点选择方法及装置。



背景技术:

随着云计算技术的快速发展,分布式存储系统等分布式集群的应用受到越来越多的关注。以分布式存储系统为例,分布式存储系统采用可扩展的系统结构,利用多台服务器分担存储负荷,不但提高了系统的可靠性、可用性和存储效率,而且易于扩展。对于分布式存储系统等分布式集群而言,集群的稳定性和可靠性至关重要。

目前,通过在分布式集群中设置多个监控节点来监控整个集群的状态,以保证集群的稳定性和可靠性。在实际工作过程中,需要从分布式集群中的多个监控节点中选择出一个主监控节点,当各监控节点得到的监控信息不一致时,以主监控节点的监控信息为准,同时主监控节点负责将获得的各监控节点的监控信息发布给其他各监控节点。所以,主监控节点的选择和稳定性对整个集群稳定性起着较为重要作用。

在现有技术中,一旦将某监控节点确定为主监控节点,则该监控节点一直会充当主监控节点,不会变化。在分布式集群长时间运行的情况下,可能会使得该监控节点的监控压力较大,而其他监控节点的监控压力一直处于较低水平,这样将影响各监控节点对分布式集群的监控,降低整个分布式集群的稳定性。



技术实现要素:

本发明的目的是提供一种分布式集群中主监控节点选择方法及装置,以对分布式集群进行有效监控,提高整个分布式集群的稳定性。

为解决上述技术问题,本发明提供如下技术方案:

一种分布式集群中主监控节点选择方法,应用于分布式集群中的第一监控节点,所述第一监控节点为所述分布式集群中的任意一个监控节点,包括:

在达到设定的主监控节点重新选择触发条件时,获取所述分布式集群的运行状态信息;

根据所述运行状态信息,确定所述分布式集群的繁忙度是否高于设定繁忙度阈值;

如果是,则采用固定优先级方式,重新选择主监控节点;

如果否,则采用轮转优先级方式,重新选择主监控节点。

在本发明的一种具体实施方式中,所述采用固定优先级方式,重新选择主监控节点,包括:

接收第二监控节点发送的第一选择指令,所述第一选择指令中携带有所述第二监控节点的设备属性信息,所述第二监控节点为所述分布式集群中除所述第一监控节点外的任意一个监控节点;

将自身的设备属性信息与所述第二监控节点的设备属性信息进行对比,确定自身的优先级是否高于所述第二监控节点的优先级;

如果是,则向所述分布式集群的其他每个监控节点发送第二选择指令,所述第二选择指令中携带有自身的设备属性信息,以使所述分布式集群的其他每个监控节点均确定所述第一监控节点的优先级高于自身的优先级时,将所述第一监控节点确定为主监控节点。

在本发明的一种具体实施方式中,所述采用轮转优先级方式,重新选择主监控节点,包括:

获取当前主监控节点的持续运行时长;

如果所述持续运行时长大于设定时长阈值,则确定所述当前主监控节点的优先级最低,向所述分布式集群的其他每个监控节点发送第三选择指令,所述第三选择指令中携带有自身的设备属性信息,以使所述分布式集群的其他每个监控节点均确定所述第一监控节点的优先级高于自身的优先级时,将所述第一监控节点确定为主监控节点。

在本发明的一种具体实施方式中,通过以下步骤确定是否达到设定的主监控节点重新选择触发条件:

如果在设定时长内未接收到当前主监控节点的任何信息,则确定达到设定的主监控节点重新选择触发条件;

或者,

在检测到所述分布式集群中的监控节点有变化时,确定达到设定的主监控节点重新选择触发条件。

在本发明的一种具体实施方式中,所述运行状态信息至少包括cpu使用信息、内存使用信息、磁盘使用信息中的一种。

一种分布式集群中主监控节点选择装置,应用于分布式集群中的第一监控节点,所述第一监控节点为所述分布式集群中的任意一个监控节点,包括:

运行状态信息获取模块,用于在达到设定的主监控节点重新选择触发条件时,获取所述分布式集群的运行状态信息;

繁忙度确定模块,用于根据所述运行状态信息,确定所述分布式集群的繁忙度是否高于设定繁忙度阈值;如果是,则触发第一选择模块,如果否,则触发第二选择模块;

所述第一选择模块,用于采用固定优先级方式,重新选择主监控节点;

所述第二选择模块,用于采用轮转优先级方式,重新选择主监控节点。

在本发明的一种具体实施方式中,所述第一选择模块,具体用于:

接收第二监控节点发送的第一选择指令,所述第一选择指令中携带有所述第二监控节点的设备属性信息,所述第二监控节点为所述分布式集群中除所述第一监控节点外的任意一个监控节点;

将自身的设备属性信息与所述第二监控节点的设备属性信息进行对比,确定自身的优先级是否高于所述第二监控节点的优先级;

如果是,则向所述分布式集群的其他每个监控节点发送第二选择指令,所述第二选择指令中携带有自身的设备属性信息,以使所述分布式集群的其他每个监控节点均确定所述第一监控节点的优先级高于自身的优先级时,将所述第一监控节点确定为主监控节点。

在本发明的一种具体实施方式中,所述第二选择模块,具体用于:

获取当前主监控节点的持续运行时长;

如果所述持续运行时长大于设定时长阈值,则确定所述当前主监控节点的优先级最低,向所述分布式集群的其他每个监控节点发送第三选择指令,所述第三选择指令中携带有自身的设备属性信息,以使所述分布式集群的其他每个监控节点均确定所述第一监控节点的优先级高于自身的优先级时,将所述第一监控节点确定为主监控节点。

在本发明的一种具体实施方式中,还包括触发条件确定模块,用于通过以下步骤确定是否达到设定的主监控节点重新选择触发条件:

如果在设定时长内未接收到当前主监控节点的任何信息,则确定达到设定的主监控节点重新选择触发条件;

或者,

在检测到所述分布式集群中的监控节点有变化时,确定达到设定的主监控节点重新选择触发条件。

在本发明的一种具体实施方式中,所述运行状态信息至少包括cpu使用信息、内存使用信息、磁盘使用信息中的一种。

应用本发明实施例所提供的技术方案,在达到设定的主监控节点重新选择触发条件时,分布式集群中的第一监控节点获取分布式集群的运行状态信息,根据运行状态信息,确定分布式集群的繁忙度是否高于设定繁忙度阈值,如果高于,则可以采用固定优先级方式,重新选择主监控节点,如果低于或等于,则可以采用轮转优先级方式,重新选择主监控节点。这样既保证了繁忙状态下分布式集群的可靠性,又可以利用分布式集群的空闲状态重新选择主监控节点,对分布式集群进行有效监控,提高整个分布式集群的稳定性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种分布式集群中主监控节点选择方法的实施流程图;

图2为本发明实施例中一种分布式集群中主监控节点选择装置的结构示意图。

具体实施方式

本发明的核心是提供一种分布式集群中主监控节点选择方法,该方法可以应用于分布式集群中的第一监控节点,第一监控节点为分布式集群中的任意一个监控节点。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1所示,为本发明实施例所提供的一种分布式集群中主监控节点选择方法的实施流程图,该方法可以包括以下步骤:

s110:在达到设定的主监控节点重新选择触发条件时,获取分布式集群的运行状态信息。

在本发明实施例中,可以预先设定主监控节点重新选择触发条件,具体的,可以通过以下步骤确定是否达到设定的主监控节点重新选择触发条件:

如果在设定时长内未接收到当前主监控节点的任何信息,则确定达到设定的主监控节点重新选择触发条件。

可以理解的是,在正常工作过程中,当前主监控节点会不断接收其他各监控节点的监控信息,将汇集到的监控信息发送给其他各监控节点。如果第一监控节点在设定时长内未接收到当前主监控节点的任何信息,则表明当前主监控节点可能处于较为监控繁忙状态,或者当前主监控节点出现故障等,在这种情况下,可以认为达到了设定的主监控节点重新选择触发条件。

或者,可以通过以下步骤确定是否达到设定的主监控节点重新选择触发条件:

在检测到分布式集群中的监控节点有变化时,确定达到设定的主监控节点重新选择触发条件。

在实际应用中,可以根据实际情况增加或减少分布式集群中的监控节点,这样将使得分布式集群中的监控节点发生变化。当第一监控节点检测到分布式集群中的监控节点有变化时,可以确定达到设定的主监控节点重新选择触发条件。

需要说明的是,第一监控节点为分布式集群中的任意一个监控节点,也就是说,分布式集群中的任意一个监控节点都可以在检测到主监控节点重新选择触发条件时,执行本发明实施例所提供的技术方案。

在达到设定的主监控节点重新选择触发条件时,第一监控节点可以获取分布式集群的运行状态信息。运行状态信息至少包括cpu使用信息、内存使用信息、磁盘使用信息中的一种。

s120:根据运行状态信息,确定分布式集群的繁忙度是否高于设定繁忙度阈值。

在步骤s110,第一监控节点获取到分布式集群的运行状态信息后,可以根据运行状态信息,确定分布式集群的繁忙度。具体的,可以根据运行状态信息中的cpu使用信息、内存使用信息、磁盘使用信息中的一种或多种信息进行繁忙度的确定。比如,根据cpu使用信息得到cpu使用率,按照预设的cpu使用率与繁忙度的对应关系,确定当前cpu使用率对应的繁忙度,或者根据cpu使用信息得到cpu使用率,根据内存使用信息得到内存使用率,结合cpu使用率和内存使用率,得到综合使用率,按照预设的综合使用率与繁忙度的对应关系,确定当前综合使用率对应的繁忙度。上述仅为示例,本发明实施例对此不做限制。

确定分布式集群的繁忙度后,可以进一步确定分布式集群的繁忙度是否高于设定繁忙度阈值。如果高于,则可以继续执行步骤s130的操作,如果低于或等于,则可以继续执行步骤s140的操作。

繁忙度阈值可以根据实际情况进行设定和调整,本发明实施例对此不做限制。

s130:采用固定优先级方式,重新选择主监控节点。

在本发明实施例中,在确定分布式集群的繁忙度高于设定繁忙度阈值时,可以采用固定优先级方式,重新选择主监控节点。

在本发明的一种具体实施方式中,步骤s130可以包括以下步骤:

步骤一:接收第二监控节点发送的第一选择指令,第一选择指令中携带有第二监控节点的设备属性信息,第二监控节点为分布式集群中除第一监控节点外的任意一个监控节点;

步骤二:将自身的设备属性信息与第二监控节点的设备属性信息进行对比,确定自身的优先级是否高于第二监控节点的优先级;如果是,则执行步骤三的操作;

步骤三:向分布式集群的其他每个监控节点发送第二选择指令,第二选择指令中携带有自身的设备属性信息,以使分布式集群的其他每个监控节点均确定第一监控节点的优先级高于自身的优先级时,将第一监控节点确定为主监控节点。

为便于描述,将上述三个步骤结合起来进行说明。

在本发明实施例中,在达到设定的主监控节点重新选择触发条件时,任意一个监控节点都可认为自身具有最高优先级,可以向其他监控节点发送选择指令,以使其他监控节点确定是否选择该监控节点作为主监控节点。

第一监控节点在接收到第二监控节点发送的第一选择指令时,可以将自身的设备属性信息与第二监控节点发送的第一选择指令中携带的设备属性信息进行对比,确定自身的优先级是否高于第二监控节点的优先级。第二监控节点为分布式集群中除第一监控节点外的任意一个监控节点。

设备属性信息可以包括mac地址、ip地址、id等信息。在实际应用中,可以预先设定一个规则,根据该规则,进行设备属性信息的对比,确定优先级的高低。比如,可以设定mac地址值越小对应的优先级越高,或者设定ip地址值越小对应的优先级越高,或者综合多种信息进行设定。

第一监控节点在确定自身的优先级高于第二监控节点的优先级时,可以向分布式集群的其他每个监控节点发送第二选择指令,第二选择指令中携带有自身的设备属性信息。这样,分布式集群的其他每个监控节点可以根据第一监控节点的设备属性信息和自身的设备属性信息确定优先级的高低,如果分布式集群的其他每个监控节点均确定第一监控节点的优先级高于自身的优先级,则可以将第一监控节点确定为主监控节点。

即通过对各监控节点的设备属性信息的对比,确定出优先级最高的监控节点,将优先级最高的监控节点确定为主监控节点。当前主监控节点仍有可能再次担任主监控节点。

s140:采用轮转优先级方式,重新选择主监控节点。

在本发明实施例中,在确定分布式集群的繁忙度低于或等于设定繁忙度阈值时,可以采用轮转优先级方式,重新选择主监控节点。

在本发明的一种具体实施方式中,步骤s140可以包括以下步骤:

第一个步骤:获取当前主监控节点的持续运行时长;

第二个步骤:如果持续运行时长大于设定时长阈值,则确定当前主监控节点的优先级最低,向分布式集群的其他每个监控节点发送第三选择指令,第三选择指令中携带有自身的设备属性信息,以使分布式集群的其他每个监控节点均确定第一监控节点的优先级高于自身的优先级时,将第一监控节点确定为主监控节点。

为便于描述,将上述两个步骤结合起来进行说明。

在确定分布式集群的繁忙度低于或等于设定繁忙度阈值时,第一监控节点可以获取当前主监控节点的持续运行时长,如果持续运行时长大于设定时长阈值,则可以确定当前主监控节点的优先级最低。具体的,可以将当前主监控节点的优先级排序放在最后。时长阈值可以根据实际情况进行设定和调整,本发明实施例对此不做限制。

进而第一监控节点向分布式集群的其他每个监控节点发送第三选择指令,第三选择指令中携带有自身的设备属性信息。这样分布式集群的其他每个监控节点可以根据第一监控节点的设备属性信息和自身的设备属性信息确定优先级的高低,如果分布式集群的其他每个监控节点均确定第一监控节点的优先级高于自身的优先级,则可以将第一监控节点确定为主监控节点。

即在当前主监控节点的持续运行时长达到设定时长阈值时,将当前主监控节点的优先级降为最低,当前主监控节点将不再继续担当主监控节点。然后通过对各监控节点的设备属性信息的对比,确定出优先级最高的监控节点,将优先级最高的监控节点确定为主监控节点。

当分布式集群处于空闲状态时,采用轮转优先级方式重新选择主监控节点,可以均衡分布式集群的不同监控节点的利用率,进而延长整个分布式集群的生命周期。

应用本发明实施例所提供的方法,在达到设定的主监控节点重新选择触发条件时,分布式集群中的第一监控节点获取分布式集群的运行状态信息,根据运行状态信息,确定分布式集群的繁忙度是否高于设定繁忙度阈值,如果高于,则可以采用固定优先级方式,重新选择主监控节点,如果低于或等于,则可以采用轮转优先级方式,重新选择主监控节点。这样既保证了繁忙状态下分布式集群的可靠性,又可以利用分布式集群的空闲状态重新选择主监控节点,对分布式集群进行有效监控,提高整个分布式集群的稳定性。

相应于上面的方法实施例,本发明实施例还提供了一种分布式集群中主监控节点选择装置,应用于分布式集群中的第一监控节点,第一监控节点为分布式集群中的任意一个监控节点,下文描述的一种分布式集群中主监控节点选择装置与上文描述的一种分布式集群中主监控节点选择方法可相互对应参照。

参见图2所示,该装置可以包括以下模块:

运行状态信息获取模块210,用于在达到设定的主监控节点重新选择触发条件时,获取分布式集群的运行状态信息;

繁忙度确定模块220,用于根据运行状态信息,确定分布式集群的繁忙度是否高于设定繁忙度阈值;如果是,则触发第一选择模块230,如果否,则触发第二选择模块240;

第一选择模块230,用于采用固定优先级方式,重新选择主监控节点;

第二选择模块240,用于采用轮转优先级方式,重新选择主监控节点。

应用本发明实施例所提供的装置,在达到设定的主监控节点重新选择触发条件时,分布式集群中的第一监控节点获取分布式集群的运行状态信息,根据运行状态信息,确定分布式集群的繁忙度是否高于设定繁忙度阈值,如果高于,则可以采用固定优先级方式,重新选择主监控节点,如果低于或等于,则可以采用轮转优先级方式,重新选择主监控节点。这样既保证了繁忙状态下分布式集群的可靠性,又可以利用分布式集群的空闲状态重新选择主监控节点,对分布式集群进行有效监控,提高整个分布式集群的稳定性。

在本发明的一种具体实施方式中,第一选择模块230,具体用于:

接收第二监控节点发送的第一选择指令,第一选择指令中携带有第二监控节点的设备属性信息,第二监控节点为分布式集群中除第一监控节点外的任意一个监控节点;

将自身的设备属性信息与第二监控节点的设备属性信息进行对比,确定自身的优先级是否高于第二监控节点的优先级;

如果是,则向分布式集群的其他每个监控节点发送第二选择指令,第二选择指令中携带有自身的设备属性信息,以使分布式集群的其他每个监控节点均确定第一监控节点的优先级高于自身的优先级时,将第一监控节点确定为主监控节点。

在本发明的一种具体实施方式中,第二选择模块240,具体用于:

获取当前主监控节点的持续运行时长;

如果持续运行时长大于设定时长阈值,则确定当前主监控节点的优先级最低,向分布式集群的其他每个监控节点发送第三选择指令,第三选择指令中携带有自身的设备属性信息,以使分布式集群的其他每个监控节点均确定第一监控节点的优先级高于自身的优先级时,将第一监控节点确定为主监控节点。

在本发明的一种具体实施方式中,还包括触发条件确定模块,用于通过以下步骤确定是否达到设定的主监控节点重新选择触发条件:

如果在设定时长内未接收到当前主监控节点的任何信息,则确定达到设定的主监控节点重新选择触发条件;

或者,

在检测到分布式集群中的监控节点有变化时,确定达到设定的主监控节点重新选择触发条件。

在本发明的一种具体实施方式中,运行状态信息至少包括cpu使用信息、内存使用信息、磁盘使用信息中的一种。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1