一种基于snmp协议的智能设备管理方法及系统的制作方法

文档序号:7916359阅读:229来源:国知局

专利名称::一种基于snmp协议的智能设备管理方法及系统的制作方法
技术领域
:本发明涉及网络管理,具体地说涉及一种基于SNMP(SimpleNetworkManagementProtocol,简单网络管理协议)协议的智能设备管理方法及系统。
背景技术
:随着网络化的迅速发展,在现代的产品和方案设计中,越来越多的产品需要通过标准的SNMP协议接入到以太网络。关于如何通过SNMP标准协议动态地接入多种被管理智能设备成为一个共性问题。目前按照标准SNMP协议将智能设备,例如UPS(不间断电源)、空调、电源、油机、配电柜和采集器等,连接到以太网络,使得智能设备能够被SNMP网管(网络管理系统,NMS)进行管理的开发,一般是使用mib2c脚本根据智能设备的管理信息数据库(MIB)生成.C文件,此文件定义了一个静态的OID(对象标识)二维表,表的每一行对应MIB库中的一个对象。当接收到SNMP请求时根据所请求的OID从表里取出回调函数地址并调用。由于mib2c生成的.C文件里包含的是静态表,那么在增加设备或者减少设备更新MIB库时,就需要重新生成.C文件以更新表结构,如果底端需要增加智能设备的接入或者要修改某一台智能设备的某条信号,都要对程序进行修改和重新编译,不仅增加了开发的重复性,而且不利于维护。
发明内容有鉴于现有技术中存在的问题,本发明提出了一种SNMP协议的智能设备管理方法及系统,能够灵活方便地调整智能设备的接入。为了解决上述技术问题,本发明采用了如下技术方案一种基于SNMP协议的智能设备管理方法,包含如下步骤A、智能设备适配器在初始化过程中,根据智能设备管理信息数据库动态生成对象标识信息表;B、网管根据所述对象标识信息表,通过所述智能设备适配器完成对智能设备的管理。所述根据智能设备管理信息数据库动态生成对象标识信息表包括如下步骤All、根据智能设备SO库生成智能设备管理信息数据库;A12、动态解析所述智能设备管理信息数据库,获取对象标识;A13、建立对象标识与采集通道号的动态映射关系,生成对象标识信息。所述初始化过程在生成对象标识信息表之后还包括如下步骤A21、调用并解析所述对象标识信息表;A22、注册智能设备管理信息数据库管理对象信息;A23、初始化TRAP发送队列;A24、启动SNMP侦听任务。所述步骤B包括如下步骤Bl、智能设备适配器检测并接收所述网管的请求报文,经验证成功后,取出请求报文中的协议数据单元;B2、智能设备适配器识别协议数据单元类型,调用相应的回调函数;B3、智能设备适配器调用数据交换接口向智能设备采集数据;B4、智能设备适配器根据所述对象标识信息表对采集数据进行分析映射,根据回调函数和分析映射后的数据形成响应报文;B5、网管根据所述响应报文完成对智能设备的管理。所述步骤B1的验证包括-Bll、按照ASN.l编解码规则进行解码,如成功,取出请求报文中的版本号,否则丢弃报文;B12、验证版本号是否与智能设备适配器支持的SNMP协议版本一致,如一致,取出请求报文中的团体名,否则丢弃报文;B13、验证团体名是否与智能设备适配器认可的团体名一致,如一致,验证成功,否则丢弃报文。所述的智能设备管理方法,网管对智能设备的管理还包括告警过程Cl、智能设备适配器按照预定义的告警表结构形成告警信息,所述告警信息的表结构属性包括告警号、告警时间、告警等级、告警描述和告警类型;C2、智能设备适配器调用告警发送函数,将所述告警信息发送到网管。本发明还公开了一种基于SNMP协议的智能设备管理系统,所述系统包括网管和智能设备适配器,所述智能设备适配器用于根据智能设备的管理信息数据库动态生成对象标识信息表;所述网管用于根据所述对象标识信息表,通过所述智能设备适配器完成对智能设备的管理。所述智能设备包括串口接口的智能设备和网口接口的智能设备。本发明利用智能设备适配器根据智能设备的管理信息数据库动态生成对象标识信息表,从而实现了智能设备的动态接入,可以灵活方便地增加或减少智能设备,因而显著提高了智能设备开发和配置效率。图1是本发明具体实施方式的管理系统的网络拓扑图;图2是本发明具体实施方式的管理系统的具体结构示意图;图3是本发明具体实施方式的管理方法的总体流程图;图4是本发明具体实施方式的管理方法的初始化流程图;图5是本发明具体实施方式的管理方法的OID信息表生成流程图;图6是本发明具体实施方式的管理方法的告警流程示意图。具体实施方式下面对照附图并结合具体实施方式对本发明进行进一步详细说明。本发明可以按照标准SNMP协议同时将诸如UPS、空调、电源、油机、配电柜和采集器等多种类型的智能设备通过智能设备适配器连接到以太网络,使得智能设备能够被NMS进行管理。该适配器可以支持对智能设备的动态接入,在现场增加或减少智能设备的接入时,只需要更新智能设备的MIB库文件,而无需修改源程序和重新编译SNMP代理(Agent)的核心固件(firmware)部分,因而可以显著提高开发效率,降低接入和调试成本。智能设备适配器SNMP代理模块主要实现以下功能'响应NMS的请求指令(包括GetRequest和GetNextRequest),并将适配器和智能设备的实时数据返回给NMS;响应NMS发出的SET操作指令(SetRequest),对适配器实施控制和设置,并将结果返回给NMS;当出现告警时,适配器主动向NMS发送TRAP数据包,将适配器和智能设备的当前状态发送给NMS。图1显示了本发明具体实施方式的网络拓扑,智能设备1、智能设备2,……,智能设备N通过适配器连接到NMS,其中,智能设备l、智能设备2,……,智能设备N可以是UPS、空调、电源、油机、配电柜和采集器等多种类型的智能设备,彼此也可以互不相同,与适配器的连接可以是SNMP协议的网口,也可以是串口,例如RS485等,NMS也可以是监控软件或网页。'图2显示了适配器的各个功能模块及其相互之间的依赖关系,其中,数据采集模块负责采集智能设备的数据,数据交换接口和活动告警接口分别完成与数据模块和TRAP(告警)模块之间的一般数据和告警信息的交互。数据模块包括初始化模块、MIB动态解析模块、MIB信息注册模块、回调函数和响应帧。MIB动态解析模块用以对MIB库的信息进行动态解析,MIB库中的信息可以通过可视化MIB编辑器进行编辑。SNMP代理模块通过数据交换接口获取信号与配置信息,对相关信号与配置信息进行设置和控制,同时通过数据交换接口获取所有智能设备的告警信息后,并由SNMP代理模块主动上报至NMS。适配器Agent代理模块对NMS提供一个统一的网管接口,无论被管设备有多复杂,对NMS来说只需要和Agent代理交互就可以获得所有被管设备的网管信息,下面详细介绍Agent代理接收到报文后采取的动作第一步解码生成用内部数据结构表示的报文,解码依据ASN.l(AbstractSyntaxNotationOne,抽象语法标记,一种ISO/ITU-T标准,描述了一种对数据进行表示、编码、传输和解码的数据格式。它提供了一整套正规的格式用于描述对象的结构,而不管语言上如何执行及这些数据的具体指代,也不用去管到底是什么样的应用程序)的基本编码规则,如果在此过程中出现错误导致解码失败则丢弃该报文,不做进一步处理。第二步将报文中的版本号取出,如果与本Agent代理支持的SNMP版本不一致,则丢弃该报文,不做进一步处理。第三步将报文中的团体名取出,此团体名由发出请求的网管站填写。如与本设备认可的团体名不符,则丢弃该报文,不做进一步处理,同时产生一个TRAP报文。第四步从通过验证的ASN.l对象中提出协议数据单元(ProtocolDataUnit,简称PDU),如果失败,丢弃报文,不做进一步处理。否则处理PDU,结果将产生一个报文,该报文的发送目的地址应同收到报文的源地址一致。根据不同的PDU,SNMP协议实体将做不同的处理。一个SNMP报文由三个主要部分组成一个协议版本(Version),一个SNMP共同体(Commimity)标识符,和一个数据区。数据区分成若干个协议数据单元PDU(ProtocolDataUnit),每个PDU包括一个请求(由管理系统发送)或一个响应(由管理代理发送)。SNMP报文结构如表1:<table>tableseeoriginaldocumentpage8</column></row><table>SNMP共有5种报文,所以其PDU也有5种,以GetRequest-PDU为例,其结构如表2:<table>tableseeoriginaldocumentpage8</column></row><table>SNMPvl的get-request、set-request、get-response禾口get-next-request操作具有相同的PDU格式,如表3所示<table>tableseeoriginaldocumentpage8</column></row><table>PDUType:指明PDU类型(GetRequest、GetNextRequest、SetRequest、Trap);RequestID:SNMP请求标识;ErrorStatus:表示错误和错误类型,只有响应操作才设置该字段,其他操作将该字段设为0;ErrorIndex:错误索引号,与特定对象实例的错误相关,只有响应操作才设置该字段,其他操作将该字段设为0;VariableBindings:即表中的Object1Value1,Object2Value2,ObjectxValuex等,SNMPvlPDU的数据字段,携带特定对象实例的当前值(GetandGetNext请求的该字段被忽略,因为无须携带值)。对不同PDU的处理以GetRequestPDU为例第一种情况如果PDU中的变量名在本地维护的MIB库中不存在,则接收到这个PDU的协议实体将向NMS发送一个GetResponse报文,其中的PDU与源PDU只有一点不同将ERROR-STATUS置为noSuchName,并在ERROR-INDEX中指出产生该变量在变量LIST中的位置。第二种情况如果本地协议实体将产生的响应报文的长度大于本地长度限制,将向NMS发送一个GetResponse报文,该PDU除了ERROR-STATUS置为tooBig,ERROR-INDEX置为0以外,与源PDU相同。第三种情况如果本地协议实体因为其他原因不能产生正确的响应报文,将向该PDU的发出者发送一个GetResponse报文,该PDU除了ERROR-STATUS置为genErr,ERROR-INDEX置为出错变量在变量LIST中的位置,其余与源PDU相同。第四种情况如果上面的情况都没有发生,则本地协议实体向NMS发送一个GetResponse报文,该PDU中将包含变量名和相应值的映射表,ERROR-STATUS为noError,ERROR-INDEX为0,request-id域的值应与收到PDU的request-id相同。)适配器在每次启动Agent代理的时候,首先根据智能设备MIB库生成动态OID表,在生成表的时候,按具体需求定义表数据和相对应的回调函数。这就需要利用MIB解析库,针对MIB库的一套功能函数,可以很方便地动态解析和修改MIB库,具体的流程框图如图三所示。其中,适配器Agent代理初始化模块主要完成了MIB库动态解析部分和注册MIB管理对象的OID库,其流程框图如图四所示。适配器的一个重要功能就是完成对各智能设备MIB库的合成和动态解析,可以将MIB库映射到进程内部,按MIB所定义的层次结构组织数据。MIB库动态解析模块主要完成了对MIB库中各管理对象的名称、status、type和OID信息同智能设备so库中的智能设备采集信号的通道号建立动态的映射关系,将每个智能设备的用户关注的每条信号映射到MIB库中的唯一OID号,具体流程框图如图五所示。其中,so库是Linux下的动态库,在windows系统中,静态库文件是.lib文件,动态库文^f牛是.dll文件。而在unix系统中,静态库文件和动态库文件后缀分别是.a和.so。适配器中还包括对TRAP功能的动态处理,可以在MIB中灵活定义AlarmTrap为表(table)结构。在该table结构体中定义所有告警信息的告警号、告警时间、告警状态、告警等级和告警描述等内容。不同于现有技术把智能设备的每条具体的告警信号分别定义为不同的OID,每条告警的具体内容是各个厂家根据不同需要,在设计和提供MIB库时进行定义,从而把每条具体的告警内容,都作为一个OID在MIB库中定义好。本发明相当于抽取告警信息的各个属性形成一个结构体,而将各个告警信息作为结构体的一个实例。如图6所示,适配器Agent通过数据交换接口获取当前活动的告警,并按照MIB库中定义的Table结构进行解析,然后形成TRAP报文,上报到NMS,从而实现适配器的告警功能。本发明的主要特点包括1、不限制于一种智能设备的接入,可以同时接入多种类型的智能设备,包括UPS、空调、电源、油机、配电柜和采集器等。2、接入的多种类型的智能设备包括串口接口的非SNMP智能设备和网口接口的SNMP智能设备。3、支持对智能设备的动态接入,在现场增加或减少智能设备的接入时,只需要更新该方案的标准MIB库文件,而无需修改、源程序和重新编译SNMP核心firmware部分。4、将智能设备的每个采集信号和MIB库中被管理对象的唯一OID号进行动态绑定,真正做到了动态地接入智能设备。在MIB库中灵活定义AlarmTrap为table结构,在该结构体中定义所有告警f言息的告警号、告警时间、告警状态、告警等级和告警描述等内容。而不是把智能设备的每条具体的告警信号分别罗列出来。5、MIB库灵活生成。10本发明按照标准SNMP协议同时将多种类型的智能设备连接到以太网络,使得能够被SNMP网络管理站(NMS)进行管理,可以支持对智能设备的动态接入,在现场增加或减少智能设备的接入时,只需要更新智能设备的MIB库文件,而无需修改源程序和重新编译SNMP代理的核心firmware部分,因而显著提高了开发效率、降低了接入和调试成本。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属
技术领域
的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。权利要求1.一种基于SNMP协议的智能设备管理方法,其特征在于,包含如下步骤A、智能设备适配器在初始化过程中,根据智能设备管理信息数据库动态生成对象标识信息表;B、网管根据所述对象标识信息表,通过所述智能设备适配器完成对智能设备的管理。2.如权利要求1所述的智能设备管理方法,其特征在于,所述根据智能设备管理信息数据库动态生成对象标识信息表包括如下步骤All、根据智能设备so库生成智能设备管理信息数据库;A12、动态解析所述智能设备管理信息数据库,获取对象标识;A13、建立对象标识与采集通道号的动态映射关系,生成对象标识信息表。3.如权利要求1所述的智能设备管理方法,其特征在于,所述初始化过程在生成对象标识信息表之后还包括如下步骤A21、调用并解析所述对象标识信息表;A22、注册智能设备管理信息数据库管理对象信息;A23、初始化TRAP发送队列;A24、启动SNMP侦听任务。4.如权利要求1所述的智能设备管理方法,其特征在于,所述步骤B包括如下步骤Bl、智能设备适配器检测并接收所述网管的请求报文,经验证成功后,取出请求报文中的协议数据单元;B2、智能设备适配器识别协议数据单元类型,调用相应的回调函数;B3、智能设备适配器调用数据交换接口向智能设备采集数据;B4、智能设备适配器根据所述对象标识信息表对采集数据进行分析映射,根据回调函数和分析映射后的数据形成响应报文;B5、网管根据所述响应报文完成对智能设备的管理。5.如权利要求4所述的智能设备管理方法,其特征在于,所述步骤Bl的验证包括Bll、按照ASN.l编解码规则进行解码,如成功,取出请求报文中的版本号,否则丢弃报文;B12、验证版本号是否与智能设备适配器支持的SNMP协议版本一致,如一致,取出请求报文中的团体名,否则丢弃报文;B13、验证团体名是否与智能设备适配器认可的团体名一致,如一致,验证成功,否则丢弃报文。6.如权利要求1至5任一所述的智能设备管理方法,其特征在于,所述网管对智能设备的管理还包括告警过程Cl、智能设备适配器按照预定义的告警表结构形成告警信息,所述告警信息的表结构属性包括告警号、告警时间、告警等级、告警描述和告警类型;C2、智能设备适配器调用告警发送函数,将所述告警信息发送到网管。7.—种基于SNMP协议的智能设备管理系统,其特征在于,所述系统包括网管和智能设备适配器,所述智能设备适配器用于根据智能设备的管理信息数据库动态生成对象标识信息表;所述网管用于根据所述对象标识信息表,通过所述智能设备适配器完成对智能设备的管理。8.如权利要求1所述的智能设备管理系统,其特征在于,所述智能设备包括串口接口的智能设备和网口接口的智能设备。全文摘要本发明公开了一种基于SNMP协议的智能设备管理方法和系统,所述方法包含如下步骤A.智能设备适配器在初始化过程中,根据智能设备管理信息数据库动态生成对象标识信息表;B.网管根据所述对象标识信息表,通过所述智能设备适配器完成对智能设备的管理。所述系统包括网管和智能设备适配器,所述智能设备适配器用于根据智能设备的管理信息数据库动态生成对象标识信息表;所述网管用于根据所述对象标识信息表,通过所述智能设备适配器完成对智能设备的管理。本发明显著提高了智能设备开发和配置效率。文档编号H04L12/24GK101616022SQ20081012848公开日2009年12月30日申请日期2008年6月26日优先权日2008年6月26日发明者严慧勇,包培友,皓蔡申请人:艾默生网络能源系统北美公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1