一种基于SNMP协议的网络设备管理方法及主设备转让专利

申请号 : CN201010240206.3

文献号 : CN102185703B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 包培友段吉泉

申请人 : 艾默生网络能源有限公司

摘要 :

本发明涉及一种基于SNMP协议的网络设备管理方法及主设备,所述方法包括以下步骤:主设备读取并解析设备模板和设备实例文件,将两个文件中的设备名称、设备ID、模板ID、信号ID、控制ID等信息根据模板ID进行整合后存入整合信息数组中,并根据该信息数组中的数据生成MIB文件和映射关系文件,将该生成的MIB文件上传给网络管理中心。管理操作时,主设备接收网络管理中心发送的SNMP协议报文,提取报文中的OID及操作指令,通过所述映射关系文件查找对应的子设备并执行相应指令,完成管理操作。本发明的主设备为实施上述方法的主设备。本发明的方法及设备能够实现网络设备管理中MIB文件的动态更新,提高了管理效率,具有明显的有益效果。

权利要求 :

1.一种基于SNMP协议的网络设备管理方法,主设备通过SNMP协议与网络管理中心进行通信并执行网络管理中心对子设备的操作指令;当收到管理员的运行指令或检测到有新的子设备接入主设备时,执行以下步骤:A、主设备读取并解析主设备存储器中的设备模板和设备实例文件,并将所述设备模板和所述设备实例文件中的子设备信息进行匹配、整合后存入整合信息数组中;

B、主设备根据所述整合信息数组中的数据生成或更新主设备中的MIB文件和映射关系文件,所述映射关系文件用于记录所述MIB文件中叶节点的OID与子设备的设备ID及信号ID、控制ID的映射关系;

C、主设备将所述MIB文件上传给网络管理中心并接收网络管理中心发送的SNMP协议报文,提取报文中OID及操作指令,并根据提取获得的OID和所述映射关系文件查找对应的子设备,对子设备执行相应的操作指令。

2.根据权利要求1所述的基于SNMP协议的网络设备管理方法,其特征在于:所述步骤A中,所述设备模板中的子设备信息包括:模板ID及对应子设备的信号ID、控制ID;所述设备实例文件中的子设备信息包括:模板ID和设备ID;主设备通过模板ID将所述设备模板和所述设备实例文件中的子设备信息进行匹配、整合。

3.根据权利要求1所述的基于SNMP协议的网络设备管理方法,其特征在于:还包括步骤D:当子设备有异常事件发生时,所述主设备向网络管理中心主动发送子设备异常消息报告。

4.根据权利要求2所述的基于SNMP协议的网络设备管理方法,其特征在于:所述整合信息数组中还包括以下信息:子设备名称、信号个数、控制个数,所述信号个数、控制个数分别表示对应子设备所包含的信号个数、控制个数。

5.根据权利要求2或4所述的基于SNMP协议的网络设备管理方法,其特征在于:所述整合信息数组中还包括以下信息:信号名称、控制名称。

6.根据权利要求1所述的基于SNMP协议的网络设备管理方法,其特征在于:所述映射关系文件中还包括管理类型信息,所述管理类型信息用于表示与之对应的OID叶节点是对应到子设备里的信号或控制。

7.一种基于SNMP协议的网络设备管理系统的主设备,包括管理程序模块、MIB模块,所述MIB模块中包含MIB文件,其特征在于:还包括数据文件模块、MIB生成模块,所述数据文件模块包括设备模板和设备实例文件,所述设备模板中记录有对应子设备的所有信号ID和控制ID的信息;所述设备实例文件用于记录与主设备实际连接的子设备信息;

所述MIB生成模块用于当收到管理员的运行指令或检测到有新的子设备接入主设备时,读取所述设备模板和设备实例文件的信息,匹配、整合后存入整合信息数组中,并根据所述整合信息数组生成MIB文件并传送至所述MIB模块或者更新所述MIB模块中已有的MIB文件;

所述MIB模块中还包括映射关系文件,所述映射关系文件用于记录所述MIB文件中叶节点的OID与子设备的设备ID及信号ID、控制ID的映射关系;所述MIB生成模块还用于根据所述整合信息数组生成所述映射关系文件或对所述映射关系文件进行更新。

8.根据权利要求7所述的主设备,其特征在于:所述设备模板分配有模板ID,所述子设备信息包括该子设备适用的设备模板的模板ID;所述MIB生成模块通过模板ID对所述设备模板和设备实例文件的信息进行匹配。

9.根据权利要求7所述的主设备,其特征在于:所述MIB模块还包括映射关系文件,所述映射关系文件用于记录所述MIB文件中叶节点的OID与子设备设备ID及信号ID、控制ID的映射关系;所述MIB生成模块根据所述整合信息数组生成所述映射关系文件或对所述映射关系文件进行更新。

10.根据权利要求9所述的主设备,其特征在于:所述映射关系文件中包括管理类型信息,所述管理类型信息用于表示与之对应的OID叶节点是对应到子设备里的信号或控制。

说明书 :

一种基于SNMP协议的网络设备管理方法及主设备

技术领域

[0001] 本发明涉及SNMP网络管理领域,特别是涉及一种基于SNMP协议的网络设备管理方法及其主设备。

背景技术

[0002] 随着网络化的发展,越来越多的设备和解决方案需提供SNMP协议支持以接入到网络中,以便中心可以通过统一的SNMP协议进行管理。在SNMP网络管理系统中,被管理设备的被管理数据变量都被抽象为对象,被管理对象的集合被组织为管理信息库(MIB)并存于主设备(AGENT)中,每一个被管理对象在MIB中被赋予一个对象标识符(OID),网络管理系统(NMS)通过OID来定位被管理对象,并通过对MIB中对象取值的读取和修改实现对子设备的管理。其中主设备也利用TRAP消息报告向NMS报告重要事件。
[0003] 由于在SNMP网络管理中,所有被管理资源均需抽象后记录在MIB中,随着技术的发展,SNMP网络管理中设备增多,设备的添加、更换也愈发频繁,而每一次设备添加、更换都需要对MIB文件进行更新,并对设备进行安装调试。现有技术中,主设备中的MIB文件一般无法进行动态的更新,而需要进行复杂的编写、调试等等,管理效率低。

发明内容

[0004] 本发明所要解决的技术问题是,提供一种基于SNMP协议的网络设备管理方法,该方法可以实现MIB文件的动态更新。
[0005] 本发明所要解决的另一个技术问题是,提供一种基于SNMP协议的网络设备管理系统的主设备,该主设备在接入新的被管理子设备时或接收到指令时,能够通过设备中的数据文件及时生成或更新MIB文件,进而实现对设备的兼容、管理。
[0006] 为解决上述第一个技术问题,本发明提供一种基于SNMP协议的网络设备管理方法,主设备通过SNMP协议与网络管理中心进行通信并执行网络管理中心对子设备的操作指令,包括以下步骤:
[0007] A、主设备读取并解析主设备存储器中的设备模板和设备实例文件,并将所述设备模板和所述设备实例文件中的子设备信息进行匹配、整合后存入整合信息数组中;
[0008] B、主设备根据所述整合信息数组中的数据生成或更新主设备中的MIB文件和映射关系文件,所述映射文件用于记录所述MIB文件中叶节点的OID与设备ID及信号ID、控制ID的映射关系;
[0009] C、主设备将所述MIB文件上传给网络管理中心并接收网络管理中心发送的SNMP协议报文,提取报文中的OID及操作指令,并根据提取获得的OID和所述映射关系文件查找对应的子设备,对子设备执行相应的操作指令。
[0010] 由于采用了上述各步骤,在新的子设备接入管理系统中或收到管理员指令时,该方法能够通过主设备中的设备模板和实例信息文件中的数据,对MIB文件进行实时动态更新或生成新的MIB文件,从而快速的实现对子设备的管理,简化了设备调试过程,提高了网络管理效率,特别是在远程管理中,该方法能够迅速实现新设备的接入。
[0011] 作为本发明方法的一种实施形式,步骤A中,所述设备模板中的子设备信息包括:模板ID及对应子设备的信号ID、控制ID;所述设备实例文件中的子设备信息包括:模板ID和设备ID;主设备通过模板ID将所述设备模板和所述设备实例文件中的子设备信息进行匹配、整合。
[0012] 优选地,所述整合信息数组中还包括以下信息:子设备名称、信号个数、控制个数,所述信号个数、控制个数分别表示对于子设备所包含的信号个数、控制个数。作为进一步的优选方案,还包括信号名称和控制名称信息。
[0013] 优选地,所述映射关系文件中还包括管理类型信息,所述管理类型信息用于判断与之对应的OID叶节点是对应子设备里的信号或控制,该优选方案可以优化映射关系文件的表结构,是映射关系文件结构更加简单。
[0014] 与现有SNMP网络管理一样,本发明的主设备也向网络管理中心告知子设备的异常事件,该异常事件通过固定格式的消息报告传送给网络管理中心。
[0015] 为解决前述第二个技术问题,本发明提供一种基于SNMP协议的网络设备管理系统的主设备,包括管理程序模块、MIB模块,所述MIB模块中包含MIB文件,其特征在于:还包括数据文件模块、MIB生成模块,所述数据文件模块包括设备模板和设备实例文件,所述设备模板中记录有对应子设备的所有信号ID和控制ID的信息;所述设备实例文件用于记录与主设备实际连接的子设备信息;
[0016] 所述MIB生成模块用于读取所述设备模板和设备实例文件的信息,匹配、整合后存入整合信息数组中,并根据所述整合信息数组生成MIB文件并传送至所述MIB模块或者更新所述MIB模块中已有的MIB文件。
[0017] 优选地,所述设备模板分配有模板ID,所述子设备信息包括该子设备适用的设备模板的模板ID;所述MIB生成模块通过模板ID对所述设备模板和设备实例文件的信息进行匹配。
[0018] 优选地,所述MIB模块还包括映射关系文件,所述映射关系文件用于记录所述MIB文件中叶节点的OID与设备ID及信号ID、控制ID的映射关系;所述MIB生成模块根据所述整合信息数组生成所述映射关系文件或对所述映射关系文件进行更新。
[0019] 优选地,所述映射关系文件中包括管理类型信息,所述管理类型信息用于表示与之对应的OID叶节点是对应子设备里的信号或控制。
[0020] 本发明的基于SNMP协议的网络设备管理设备的有益效果在于,当收到管理员指令或设备检测到有新的子设备接入时,主设备能够及时的对MIB和映射关系文件进行动态更新,提高了网络管理效率。

附图说明

[0021] 图1是本发明具体实施方式的设备连接关系示意图;
[0022] 图2是本发明具体实施方式的网络管理流程框图;
[0023] 图3是本发明具体实施方式的映射关系文件raw.cfg表的数据结构示意图。

具体实施方式

[0024] 为更加详细的阐述本发明,下面结合具体实施方式对本发明进行描述。
[0025] 如附图1所示,为本具体实施方式的设备连接关系示意图。
[0026] 本具体实施方式的基于SNMP协议的网络设备管理系统包括网络管理中心(NMS)、一个主设备、一个温度传感器、一台UPS(在实践应用中可以包括更多的子设备);所述NMS与所述主设备相连接,所述温度传感器、UPS分别通过232接口、RS485接口与所述主设备相连接,所述NMS与所述主设备间通过SNMP协议进行通信。其中,每个子设备(如温度传感器等)都设计有各自基于XML格式的设备模板,模板包含信号、控制和事件等元素,每个模板都有一个模板ID号,信号、控制也都有自己的ID号。
[0027] 主设备中还包括一个MIB生成模块和一个数据文件模块,所述数据文件模块中包括设备模板类型文件和一个设备实例文件,设备模板类型文件中包含主设备所支持的所有子设备的设备模板(文件名的起头为EquipmentTemplate,文件为XML格式),设备模板中的信息包括:模板ID及对应子设备的信号个数、信号ID及信号名称;控制个数、控制ID及控制名称。所述设备实例文件也为XML格式的文件(文件名的起头为MonitorUnits,以下简称MU文件),MU文件用于记录实际运行环境中与主设备连接的子设备的设备ID、设备名称和用于指定该子设备适用哪个设备模板的模板ID。
[0028] 所述MIB生成模块中包括一个MIB生成应用程序,当收到管理员的运行指令或检测到有新的子设备接入主设备时,MIB生成模块运行该MIB生成应用程序,该MIB生成应用程序的运行过程如图2所示,下文以温度传感器和UPS电源为例进行具体描述:
[0029] 程序运行,第一步:首先读取数据文件模块的存储目录及欲生成MIB文件和映射关系文件(文件名为raw.cfg)的输出目录;
[0030] 第二步:根据文件名读取数据文件模块中所有设备模板和MU文件(即当文件名起头为EquipmentTemplate,文件格式为XML格式则认为是设备模板,文件起头为MonitorUnits,文件格式为XML格式则认为是MU文件),其中温度传感器和UPS电源的设备模板的文件名分别为EquipmentTemplateIDU_S.xml和EquipmentTemplate力博特安圣三进单出UPS(UH31).xml;MU文件的文件名为MonitorUnitsIDU_S2.xml。
[0031] 第三步:解析MonitorUnitsIDU_S2.xml文件,获取文件中存储的设备ID、设备名称和设备模板ID数据,并将此数据存入模板信息数组中。
[0032] 第四步:解析EquipmentTemplateIDU_S.xml和EquipmentTemplate力博特安圣三进单出UPS(UH31).xml文件,提取上述两个文件中的设备模板ID,信号、控制或事件的ID,并存入设备信息数组中。
[0033] 第五步:根据模板信息数组和设备信息数组中的共同数据模板ID,对两个数组中的数据进行一一匹配,并整合两个数组中的数据存入整合信息数组中,从而该数组中的信息包括:设备ID、设备名称、设备模板ID、信号ID和信号个数、控制ID和控制个数、控制名称、信号名称。
[0034] 第六步:根据所述整合信息数组,生成标准的MIB文件及映射关系文件raw.cfg。
[0035] 下面以子设备温度传感器及UPS电源为例对上述过程进行详细的说明:(下文为执行命令的输出举例,其中括号中的内容为添加的文字说明)
[0036] (步骤:得到MU文件名和设备模板文件名)
[0037] MU file MonitorUnitsIDU_S2.xml (这是MU文件名)[0038] EquipFile[0] EquipmentTemplateIDU_S.xml (温度传感器的设备模板文件名)
[0039] EquipFile[1] EquipmentTemplate力博特安圣三进单出UPS(UH31).xml[0040] (UPS电源的设备模板文件名)
[0041] (步骤:获取MU文件中的设备实例信息)
[0042] pStruEquipInfo[0]:(温度传感器的设备实例信息)
[0043] EquipId 1000 (温度传感器的设备ID)
[0044] EquipTemplateId 755000021 (设备ID对应的设备模板ID)[0045] EquipName SerialTH0 (设备名称)
[0046] pStruEquipInfo[1]:(UPS电源的设备实例信息)
[0047] EquipId 1001
[0048] EquipTemplateId 755000022
[0049] EquipName UPS(UH31)
[0050] (步骤:得到设备模板中的设备信息)
[0051] [0]EquipmentTemplateIDU_S.xml (温度传感器的设备模板对应的设备模板文件名,下面的信息从这个文件中获取)
[0052] iEquipTempId 755000021 (温度传感器的设备模板ID值)[0053] iSigNum 9 (该设备模板包含的信号个数)[0054] iSigId 51160000 szSigName Temperaturel (信号的信号ID以及信号名称)
[0055] iSigId 51160001 szSigName Temperature2
[0056] iSigId 51160002 szSigName Temperature3
[0057] iSigId 51160003 szSigName Temperature4
[0058] iSigId 51160004 szSigName Temperature5
[0059] iSigId 51160005 szSigName Temperature6
[0060] iSigId 51160006 szSigName Temperature7
[0061] iSigId 51160007 szSigName Temperature8
[0062] iSigId 51160008 szSigName Temperature
[0063] iSigId 51160009 szSigName Humidity
[0064] iCtrlNum 2 (该设备模板包含的控制个数)[0065] iCtrlId 51360000 szCtrlName Relay1(控制ID值以及控制名称)
[0066] iCtrlId 51360001 szCtrlName Relay2
[0067] [1]EquipmentTemplate力博特安圣三进单出UPS(UH31).xml(第二个设备模板对应的设备模板文件名,下面的信息从这个文件中获取)
[0068] iEquipTempId 755000022
[0069] iSigNum 13
[0070] iSigId 3110001 szSigName 交流输入A相电压
[0071] iSigId 3110002 szSigName 交流输入B相电压
[0072] iSigId 3110003 szSigName 交流输入C相电压
[0073] iSigId 3110004 szSigName 交流输出A相电压
[0074] iSigId 3110005 szSigName 交流输出B相电压
[0075] iSigId 3110006 szSigName 交流输出C相电压
[0076] iSigId 3110007 szSigName 交流输出A相电流
[0077] iSigId 3110008 szSigName 交流输出B相电流
[0078] iSigId 3110009 szSigName 交流输出C相电流
[0079] iSigId 3110010 szSigName 直流输入电压(正组)
[0080] iSigId 3110011 szSigName 输出频率
[0081] iSigId 3110012 szSigName 标示电池数量
[0082] iSigId 3110013 szSigName 标示温度数量
[0083] iCtrlNum 3
[0084] iCtrlId 3130001 szCtrlName 蓄电池总电压上限
[0085] iCtrlId 3130002 szCtrlName 蓄电池总电压下限
[0086] iCtrlId 3136000 szCtrlName 新增控制3136000
[0087] (步骤:匹配、整合得到整合信息数组)
[0088] [0]SerialTH0 (第一个子设备对应的信息,这行是设备名称)[0089] iEquipId 1000 (设备ID)
[0090] iEquipTempId 755000021 (设备模板ID,根据这个值可以知道他对应的设备模板是EquipmentTemplateIDU_S.xml)
[0091] iSigNum 9 (根据该子设备对应的设备模板就知道该子设备所拥有的信号和控制信息,跟EquipmentTemplateIDU_S.xml里面的一样)
[0092] iSigId 51160000 szSigName temperature1
[0093] iSigId 51160001 szSigName temperature2
[0094] iSigId 51160002 szSigName temperature3
[0095] iSigId 51160003 szSigName temperature4
[0096] iSigId 51160004 szSigName temperature5
[0097] iSigId 51160005 szSigName temperature6
[0098] iSigId 51160006 szSigName temperature7
[0099] iSigId 51160007 szSigName temperature8
[0100] iSigId 51160008 szSigName temperature
[0101] iSigId 51160009 szSigName humidity
[0102] iCtrlNum 2
[0103] iCtrlId 51360000 szCtrlName relay1
[0104] iCtrlId 51360001 szCtrlName relay2
[0105] [1]UPS(UH31) (第二个子设备对应的信息,这行是子设备名称)[0106] iEquipId 1001(设备ID)
[0107] iEquipTempId 755000022(设备模板ID,根据这个值可以知道他对应的设备模板是EquipmentTemplate力博特安圣三进单出UPS(UH31).xml)
[0108] iSigNum 13 (根据该设备实例对应的设备模板就知道该设备实例所拥有的信号和控制信息,跟EquipmentTemplate力博特安圣三进单出UPS(UH31).xml文件中的一样)
[0109] iSigId 3110001szSigName 交流输入A相电压
[0110] iSigId 3110002szSigName 交流输入B相电压
[0111] iSigId 3110003szSigName 交流输入C相电压
[0112] iSigId 3110004szSigName 交流输出A相电压
[0113] iSigId 3110005szSigName 交流输出B相电压
[0114] iSigId 3110006szSigName 交流输出C相电压
[0115] iSigId 3110007szSigName 交流输出A相电流
[0116] iSigId 3110008szSigName 交流输出B相电流
[0117] iSigId 3110009szSigName 交流输出C相电流
[0118] iSigId 3110010szSigName 直流输入电压(正组)
[0119] iSigId 3110011szSigName 输出频率
[0120] iSigId 3110012szSigName 标示电池数量
[0121] iSigId 3110013szSigName 标示温度数量
[0122] iCtrlNum 3
[0123] iCtrlId 3130001szCtrlName 蓄电池总电压上限
[0124] iCtrlId 3130002szCtrlName 蓄电池总电压下限
[0125] iCtrlId 3136000szCtrlName 新增控制3136000
[0126] 根据目标MIB文件的特点,只有叶节点和第二节点是变化的,而这些节点的信息均包含在上述整合信息数组中,所述MIB生成模块根据上述整合信息数组中的数据及目标MIB文件的格式特点,为每一个信息或控制(即MIB的叶节点)分配OID号,生成标准的MIB文件或更新已有的MIB文件;同时生成一个映射关系文件raw.cfg或更新已有的映射关系文件,所述映射关系表文件为cfg格式的表格,该文件中记录了:MIB文件中叶节点的OID与管理类型信息(ID_TYPE)、设备ID及信号ID或控制ID的映射关系,所述ID_TYPE用于区别表示与之对应的OID叶节点是对应子设备的信号还是控制,映射关系表的数据结构示意图如图3所示。
[0127] MIB文件及映射关系文件生成或更新后,主设备将更新后的MIB文件传送给网络管理中心,网络管理中心解析该更新后的MIB文件并通过SNMP协议报文将要实施管理的对象的OID及操作指令发送给主设备,主设备接收到该SNMP协议报文后,提取其报文中的OID及操作指令,通过所述映射关系文件查找其对应的子设备,并执行相应的操作指令。
[0128] 本实施方式的主设备也能够主动向网络管理中心发送子设备的异常事件消息(TRAP消息),该消息的产生、接收等过程与现有技术相同。
[0129] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。