本发明涉及服务器技术领域,更具体地说,涉及一种监控设备节点的方法及装置。
背景技术:
随着移动互联网和计算机技术的迅速发展崛起,集群型服务器承担了更多的业务,也拥有更为强大的存储和计算能力。随着行业的不断发展,集群型服务器中服务器和硬件设备的数量多而繁杂,给集群型服务器的管理带来了难度。
目前,在服务器应用中,集群型服务器发展为主流。用户在使用集群服务器时,可以将整个集群的服务器虚拟为一台服务器使用。而对于集群型服务器的监控管理,大都采用snmp服务,需要提前配置好需要被监控的设备节点,所以忽略了具体硬件设备的监控管理。同时,因为集群型服务器硬件设备众多,对于其中的模块数量和设备节点的监控也不清楚。并且各个服务器的下层硬件设备和模块的从属关系层层包裹,形成了多维设备节点,导致更深层的设备节点的从属关系难以体现。
因此,如何动态监控管理集群型服务器中的多维设备节点,是本领域技术人员需要解决的问题。
技术实现要素:
本发明的目的在于提供一种监控设备节点的方法及装置,以实现动态监控集群服务器集群中的多维设备节点。
为实现上述目的,本发明实施例提供了如下技术方案:
一种监控设备节点的方法,包括:
接收指令,所述指令为获取模块的设备节点信息的指令;
获取所述模块的设备节点数量和设备节点信息;
根据所述设备节点数量以及所述模块与不同设备节点信息之间的多维从属关系,将所述设备节点信息对应写入预先注册的表格;
根据所述指令反馈所述表格中模块的设备节点信息。
其中,所述获取所述模块的设备节点数量和设备节点信息,包括:
遍历所述模块的设备节点,获取所述模块的设备节点数量,以及获取所述模块的设备节点信息。
其中,所述接收指令之前,还包括:
在服务器的操作系统上部署snmp服务;
通过snmp服务将需要监控的模块注册为具有多维从属关系的表格。
其中,所述根据所述设备节点数量以及所述模块与不同设备节点信息之间的多维从属关系,将所述设备节点信息对应写入预先注册的表格,包括:
根据所述设备节点数量以及不同设备节点信息,确定不同设备节点的多维索引值;
根据每个设备节点的多维索引值,将每个设备节点信息写入具有多维从属关系的表格。
其中,所述根据所述指令反馈所述表格中模块的设备节点信息包括:
若所述指令为获取整个模块的设备节点信息的指令,则根据所述指令反馈所述表格中整个模块的设备节点信息;
若所述指令为单独获取模块中目标设备节点信息的指令,则根据所述指令反馈所述表格中所述目标设备节点信息。
一种监控设备节点的装置,包括:
接收模块,用于接收指令,所述指令为获取模块的设备节点信息的指令;
获取模块,用于获取所述模块的设备节点数量和设备节点信息;
写入模块,用于根据所述设备节点数量以及所述模块与不同设备节点信息之间的多维从属关系,将所述设备节点信息对应写入预先注册的表格;
反馈模块,用于根据所述指令反馈所述表格中模块的设备节点信息。
其中,所述获取模块包括:
遍历单元,用于遍历所述模块的设备节点;
数量获取单元,用于获取所述模块的设备节点数量;
信息获取单元,用于获取所述模块的设备节点信息。
其中,还包括:
部署模块,用于在服务器的操作系统上部署snmp服务;
注册模块,用于通过snmp服务将需要监控的模块注册为具有多维从属关系的表格。
其中,所述写入模块包括:
多维索引值确定单元,用于根据所述设备节点数量以及不同设备节点信息,确定不同设备节点的多维索引值;
写入单元,用于根据每个设备节点的多维索引值,将每个设备节点信息写入具有多维从属关系的表格。
其中,所述反馈模块包括:
第一反馈单元,用于当接收到获取整个模块的设备节点信息的指令时,根据所述指令反馈所述表格中整个模块的设备节点信息;
第二反馈单元,用于当接收到单独获取模块中目标设备节点信息的指令时,根据所述指令反馈所述表格中所述目标设备节点信息。
通过以上方案可知,本发明实施例提供了一种监控设备节点的方法,所述方法包括:接收指令,所述指令为获取模块的设备节点信息的指令;获取所述模块的设备节点数量和设备节点信息;根据所述设备节点数量以及所述模块与不同设备节点信息之间的多维从属关系,将所述设备节点信息对应写入预先注册的表格;根据所述指令反馈所述表格中模块的设备节点信息。当服务器接收到来自客户端的获取指令后,获取模块的设备节点数量和设备节点信息,并根据设备节点数量以及所述模块与不同设备节点信息之间的多维从属关系将设备节点信息写入预先注册的表格中,而后将这些设备节点信息根据所获取指令反馈给客户端,这样就完成了客户端与服务器的交互,客户端能够及时知晓服务器中的设备节点信息。
可见,当客户端想要获取某个设备节点信息时,无需预先配置被监控的设备节点,只需发送获取请求给服务器,服务器根据获取请求动态获取设备节点信息并写入具有多维从属关系的表格,进而发送给客户端。如此便有效实现了动态监控集群型服务器中的多维设备节点,对于多维设备节点的从属关系也能清楚知晓,使得服务器的监控管理更加灵活,节约了成本。
相应地,本发明实施例提供的一种监控设备节点的装置,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种监控设备节点的方法流程图;
图2为本发明实施例公开的另一种监控设备节点的方法流程图;
图3为本发明实施例公开的一种监控设备节点的装置示意图;
图4为本发明实施例公开的另一种监控设备节点的装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种监控设备节点的方法及装置,以实现动态监控集群服务器集群中的多维设备节点。
参见图1,本发明实施例提供的一种监控设备节点的方法,包括:
s101、接收指令;
具体的,本实施例中服务器接收的指令是客户端发送给服务器的指令,指令内容为请求获取服务器中模块的设备节点信息,所以在服务器接收该指令之前,客户端首先发送该指令。在本实施例中,服务器接收的指令为获取整个模块的设备节点信息的指令。
s102、获取所述模块的设备节点数量和设备节点信息;
具体的,在本实施例中是通过程序代码动态获取模块的设备节点数量和设备节点信息,首先获取模块的节点数量,再获取每个设备节点信息。服务器在收到来自客户端的获取请求之后,需要遍历要监控的模块的设备节点,获取该模块的设备节点数量和设备节点信息。
s103、根据所述设备节点数量以及所述模块与不同设备节点信息之间的多维从属关系,将所述设备节点信息对应写入预先注册的表格;
具体的,在本实施例中,当服务器获得模块的设备节点数量和设备节点信息后,需要根据模块与不同设备节点信息之间的多维从属关系,将所述设备节点信息对应写入预先注册的表格。在本实施例中,预先将需要监控的模块注册成表格,表格的表头以模块或者子模块的名字来命名,具体数据待接收到获取指令后,服务器会通过代码动态写入。所以预先注册而成的表格只是含有表头的一个空表格,而表头体现了服务器中的硬件设备的从属关系。
所述多维从属关系即服务器与模块,模块与设备节点之间的从属关系。例如:服务器下层有多个模块,每个模块下层有多个设备节点,那么服务器与模块的从属关系即为二维从属关系,服务器与设备节点的从属关系即为三维从属关系。如果服务器上层有路由器,那么路由器与设备节点即为四维从属关系,当然,设备节点下层可能还有众多端口,这些端口与路由器即为五维从属关系,与服务器即为四维从属关系以此类推,端口与上述各个硬件设备的从属关系在此不再赘述。
需要说明的是,本实施例中每个设备节点信息的数据都是通过代码动态实现的,服务器在接到每一次获取请求后,都会重新获取设备节点数量和设备节点信息并写入预先注册的表格,并创建完整的表格。这样当服务器的下层设备被修整或更换后,服务器会及时更新表格中的数据行,以达到动态监控集群型服务器中多维设备节点的目的。
s104、根据所述指令反馈所述表格中模块的设备节点信息。
具体的,在本实施例中,当服务器接收到获取整个模块设备节点信息的指令时,便根据该指令反馈给客户端整个模块的设备节点信息。
可见,本实施例提供了一种监控设备节点的方法,所述方法通过代码动态获取设备节点数量和设备节点信息,实现了集群型服务器中设备节点的动态监控;同时,将设备节点信息写入具有多维从属关系的表格,更清楚地体现了设备节点与上层硬件设备之间的从属关系,方便了客户端用户的查看。如此便有效实现了动态监控集群型服务器中的多维设备节点,对于多维设备节点的从属关系也能清楚知晓,使得服务器的监控管理更加灵活,节约了成本。
参见图2,本发明实施例提供的另一种监控设备节点的方法,包括:
s201、在服务器的操作系统上部署snmp服务;
s202、通过snmp服务将需要监控的模块注册为具有多维从属关系的表格。
具体的,在集群型服务器中,大都在服务器的操作系统上部署snmp服务,以便更好的管理服务器。在本实施例中,通过snmp服务中的snmp表将需要监控的模块注册成表格,表格的表头以模块或者子模块的名字来命名,具体数据待接收到获取指令后,服务器会通过代码动态写入。所以首先注册而成的表格只是含有表头的一个空表格,而表头体现了服务器中的硬件设备的从属关系。
s203、接收指令;
具体的,在本实施例中,服务器接收的指令为获取模块中设备节点1、设备节点3和设备节点6的设备节点信息的指令。
s204、获取所述模块的设备节点数量和设备节点信息;
具体的,在本实施例中,模块的设备节点信息数量和设备节点信息的获取与上述实施例类似,在此不再赘述。
s205、根据所述设备节点数量以及不同设备节点信息,确定不同设备节点的多维索引值;
具体的,在本实施例中,预先注册的表格含有多维从属关系,而多维从属关系需要由多维索引值来确定,所以首先需要根据所述设备节点数量以及不同设备节点信息,确定不同设备节点的多维索引值。通常使用数字作为索引值,而对于多维从属的硬件系统而言,单一数字就无法准确的表示其从属关系,例如:某个服务器下层具有多个节点,通常使用服务器id作为索引值,就会出现多行同id的情况,而此种情况在snmp服务中是不允许出现的。所以就需要建立多维索引值来表示服务器与其节点的从属关系,例如:如果服务器下层有三个模块,每个模块有三个端口,那么第一个模块的端口就可以分别表示为:1.1.1,1.1.2,1.1.3;相应的,第二个模块的端口可以表示为:1.2.1,1.2.2,1.2.3;第三个模块的端口以此类推,这样就建立了三维索引值。
s206、根据每个设备节点的多维索引值,将每个设备节点信息写入具有多维从属关系的表格;
具体的,在本实施例中,服务器会根据每个设备节点的多维索引值,将每个设备节点信息写入具有多维从属关系的表格。多维索引值确定后,硬件设备的多维从属关系也就因此而确定,多维索引值能够准确的表示出了各个端口、模块以及服务器的从属关系,通过这样的方法也可以表示更深层次的从属关系。本实施例中的多维从属关系与上述实施例类似,故在此不再赘述。
s207、根据所述指令反馈所述表格中模块的设备节点信息。
具体的,在本实施例中,所述表格与上述实施例类似,故在此不再赘述。当服务器获取到模块的设备节点数量和设备节点信息后,便通过程序代码自动将上述信息写入预先注册的表格中,创建完整的表格。
需要说明的是,本实施例中虽然获取的是某几个目标设备节点信息,但是服务器在接到该命令后会获取整个模块的设备节点信息,以达到模块的设备节点信息的及时更新。
具体的,在本实施例中,服务器根据所接收到的获取模块中设备节点
1、设备节点3和设备节点6的设备节点信息的指令,反馈给客户端设备节点1、设备节点3和设备节点6的信息。
可见,本实施例提供的一种监控设备节点的方法,所述方法通过代码动态获取设备节点数量和设备节点信息,实现了集群型服务器中设备节点的动态监控;同时,将设备节点通过多维索引值进行表示,更清楚地体现了设备节点的从属关系,方便了客户端用户的查看。如此便有效实现了动态监控集群型服务器中的多维设备节点,对于多维设备节点的从属关系也能清楚知晓,使得服务器的监控管理更加灵活,节约了成本。
基于上述任意实施例,所述根据所述指令反馈所述表格中模块的设备节点信息包括:
若所述指令为获取整个模块的设备节点信息的指令,则根据所述指令反馈所述表格中整个模块的设备节点信息;
若所述指令为单独获取模块中目标设备节点信息的指令,则根据所述指令反馈所述表格中所述目标设备节点信息。
具体的,服务器会根据接收到的不同指令来反馈信息。服务器将获取到的信息写入预先注册的表格,并创建完整的表格后,在给客户端回复时,会根据客户端的具体指令内容来反馈信息。例如:当客户端要求获取某一服务器下所有模块的设备节点信息,服务器则根据此指令将该服务下所有设备节点的相关信息发送给客户端;当客户端要求获取某一服务器下某一模块的某几个目标设备节点信息时,服务器则根据此指令将指定的这几个目标设备节点的信息反馈给客户端;同样的,当客户端要求获取某一具体设备节点信息时,服务器则根据此指令反馈该设备节点信息给客户端。无论客户端要求获取整个模块的设备节点信息还是某一目标设备节点信息,服务器都会通过代码重新获取设备节点数量和设备节点信息,并自动写入预先注册的表格,使表格完整。而后根据客户端的具体指令进行反馈。
下面对本发明实施例提供的一种监控设备节点的装置进行介绍,下文描述的种监控设备节点的装置与上文描述的一种监控设备节点的方法可以相互参照。
参见图3,本发明实施例提供的一种监控设备节点的装置,包括:
接收模块100,用于接收指令,所述指令为获取模块的设备节点信息的指令;
获取模块200,用于获取所述模块的设备节点数量和设备节点信息;
写入模块300,用于根据所述设备节点数量以及所述模块与不同设备节点信息之间的多维从属关系,将所述设备节点信息对应写入预先注册的表格;
反馈模块400,用于根据所述指令反馈所述表格中模块的设备节点信息。
参见图4,基于上述实施例提供的一种监控设备节点的装置,本发明实施例还提供了另一种监控设备节点的装置,包括:
部署模块500,用于在服务器的操作系统上部署snmp服务;
注册模块600,用于通过snmp服务将需要监控的模块注册为具有多维从属关系的表格;
接收模块100,用于接收指令,所述指令为获取模块的设备节点信息的指令;
获取模块200,用于获取所述模块的设备节点数量和设备节点信息;
写入模块300,用于根据所述设备节点数量以及所述模块与不同设备节点信息之间的多维从属关系,将所述设备节点信息对应写入预先注册的表格;
反馈模块400,用于根据所述指令反馈所述表格中模块的设备节点信息。
其中,所述获取模块包括:
遍历单元,用于遍历所述模块的设备节点;
数量获取单元,用于获取所述模块的设备节点数量;
信息获取单元,用于获取所述模块的设备节点信息。
其中,所述写入模块包括:
多维索引值确定单元,用于根据所述设备节点数量以及不同设备节点信息,确定不同设备节点的多维索引值;
写入单元,用于根据每个设备节点的多维索引值,将每个设备节点信息写入具有多维从属关系的表格。
其中,所述反馈模块包括:
第一反馈单元,用于当接收到获取整个模块的设备节点信息的指令时,根据所述指令反馈所述表格中整个模块的设备节点信息;
第二反馈单元,用于当接收到单独获取模块中目标设备节点信息的指令时,根据所述指令反馈所述表格中所述目标设备节点信息。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。