CN106254122A - 一种基于eoc设备的简单网络管理协议代理实现方法 - Google Patents
一种基于eoc设备的简单网络管理协议代理实现方法 Download PDFInfo
- Publication number
- CN106254122A CN106254122A CN201610670441.1A CN201610670441A CN106254122A CN 106254122 A CN106254122 A CN 106254122A CN 201610670441 A CN201610670441 A CN 201610670441A CN 106254122 A CN106254122 A CN 106254122A
- Authority
- CN
- China
- Prior art keywords
- node
- snmp
- information
- function
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
Abstract
本发明提供一种基于EOC设备的简单网络管理协议代理实现方法。由于EOC设备局端可统一管理下挂的终端设备,因而本发明只通过一个简单网络管理协议代理即可实现SNMP报文的接收、解析以及目标信息的获取和发送,不存在主代理和子代理两个子模块之间的数据传输,在网络节点内部传输数据时也无需进行格式转化,从而降低EOC设备的系统负担。另外,由于不存在主代理和子代理之间的数据传输和数据转化,从而减少生成的可执行文件的存储空间,进一步降低EOC设备的系统负担,进而提高SNMP的响应速度。此外,本方法通过SMI配置文件中的节点信息预设操作函数,以提高NMS与网络节点的信息交互效率,进一步提高SNMP的响应速度。
Description
技术领域
本发明涉及通讯领域,尤其涉及一种基于EOC设备的简单网络管理协议代理实现方法。
背景技术
SNMP(Simple Network Management Protocol,简单网络管理协议)是一种基于TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议)协议族的网络管理标准,用于在IP网络中管理网络节点,有助于网络管理员提高网络管理效能,及时发现并解决网络问题以及规划网络的增长。SNMP管理的网络主要由三部分组成:被管理的设备、SNMP代理以及NMS(Network Management System,网络管理系统)。其中,被管理的设备,又称为网络单元或网络节点,可以是支持SNMP协议的服务器、工作站、路由器以及交换机等设备,每一个网络节点上均设有相应的MIB(Management InformationBase,管理信息库),MIB用于收集并储存管理信息,即NMS可访问的目标节点的控制和状态信息,另外,MIB的总体框架以及数据类型的表示和命名方法均由SMI(Structure ofManagement Information,管理信息结构)统一说明和定义;SNMP代理通常是设置于网络节点上的一个网络管理模块,SNMP代理拥有本地设备的相关管理信息,NMS可以通过SNMP代理与被管理的设备进行信息交互,从而实现对网络节点的监控。
目前,实现SNMP功能比较常用的SNMP代理为NET-SNMP(网络-简单网络管理协议)。NET-SNMP采用主代理—子代理的结构形式实现SNMP功能,主代理和子代理之间需采用Agent X(X代理)协议进行数据传输。其中,主代理负责与NMS通讯,子代理负责目标节点的访问。具体的,主代理接收并解析NMS发送的SNMP报文,从而获取SNMP报文中的操作指令信息;再将以上操作指令信息,以及根据以上操作指令信息获取的操作节点信息按照Agent X协议重新打包,将协议包发送至子代理。子代理根据协议包中操作节点信息的节点类型(标量节点或表节点)分别调用相应的接口函数,接口函数再根据不同的操作类型进行相应处理,从而按照操作节点信息中的节点顺序依次获取目标信息,并将获取的目标信息按照Agent X协议打包后发送至主代理,以便主代理将相关信息反馈给NMS。
现有技术中的NET-SNMP对于SNMP报文的处理通常是NET-SNMP中的子代理根据操作节点信息中的节点类型调用相应的接口函数,再根据不同的操作类型进行相应处理,从而按照操作节点信息中的节点顺序依次获取目标信息。也就是说,NET-SNMP在处理操作节点时,无论目标节点是标量节点还是表节点,必须在当前节点处理完成后,即获取到当前目标节点的目标信息后,才能继续对操作节点信息中的下一节点的进行处理。当操作节点信息中包含有多个位于同一数据表中的表节点时,则NET-SNMP的处理方式需要对数据表进行多次读取,从而获取相应的目标信息。
由于NET-SNMP代理的开源性,使得NET-SNMP已经广泛应用于各类网络节点。但是,对于EOC(Ethernet Over Cable,基于有线电视同轴电缆网使用以太网协议的接入技术)设备而言,由于EOC设备局端(EOC设备局端可以是提供EOC设备接入的一方)可以统一管理下挂的EOC设备,因而,无需通过主代理和子代理的信息传输即可获取或设置EOC设备的目标信息。由此可见,NET-SNMP应用于EOC设备时,其主代理—子代理结构将额外占用EOC设备的系统资源,导致EOC设备资源的浪费以及SNMP响应速度的降低。
发明内容
由于EOC设备局端可以统一管理下挂的终端设备,因而本发明只需通过一个简单网络管理协议代理即可实现SNMP报文的接收、解析以及目标信息的获取和发送。本方法提供的简单网络管理协议代理不存在主代理和子代理两个子模块之间的数据传输,同时,本方案提供的简单网络管理协议代理在网络节点内部传输数据时也无需进行格式转化,从而降低EOC设备的系统负担,另外,由于不存在主代理和子代理之间的数据传输和数据格式转化,从而减少生成的可执行文件的存储空间,进一步降低EOC设备的系统负担,进而提高SNMP的响应速度。另外,本方法通过SMI配置文件中的节点信息预设与SNMP报文中操作指令对应的操作函数,以便完成相关操作指令时直接调用,从而提高NMS与网络节点的信息交互效率,进一步提高SNMP的响应速度。另外,本发明相比NET-SNMP而言,由于没有主代理和子代理的数据通信,减少获取(或设置)时的函数封装层次,因而减少了生成的可执行文件的大小,进一步提高系统资源的利用率。
本发明提供的简单网络管理协议代理实现方法,将操作节点信息中表节点先进行预处理,即在获取表节点的目标信息之前,先将所有表节点以及表节点对应的数据表存储至预设的表节点数据库中,待所述操作节点均完成处理后,再对表节点数据库中的所有表节点进行统一处理。本发明对于表节点的处理方式,有利于一次性读取位于同一数据表中的所有表节点的目标信息,从而有效减少读取次数,有效提高SNMP的响应速度。另外,EOC设备获取板卡数据的操作过程耗时较长,而该部分数据通常位于表节点中,过长的操作时间容易导致EOC设备出现异常。因而,本发明将表节点进行统一处理的方式,可以一定程度上避免EOC设备出现异常的情况。
本发明提供一种基于EOC设备的简单网络管理协议代理实现方法,所述方法包括:
获取管理信息结构SMI配置文件中的节点信息,根据所述节点信息预设操作函数,所述操作函数包括get函数、set函数和check函数;
接收并解析网络管理系统NMS发送的简单网络管理协议SNMP报文,所述简单网络管理协议SNMP报文包括操作指令信息,所述操作指令信息包括操作类型和操作节点,其中,所述操作类型为SNMP GET操作、SNMP GET_NEXT操作、SNMP SET操作或SNMP GET_BULK操作中的一种;
调用与所述操作指令信息对应的所述操作函数,以获取目标信息;
将所述目标信息按照简单网络管理协议SNMP报文格式发送至网络管理系统NMS。
优选的,所述方法还包括:
接收EOC设备监控程序发送的主动传输请求,所述主动传输请求包括陷阱TRAP请求或确认INFORM请求;
根据所述主动传输请求获取主动传输数据,所述主动传输数据包括TRAP数据或INFORM数据;
将所述TRAP数据或INFORM数据按照SNMP报文格式发送至NMS。
优选的,所述调用与所述操作指令信息对应的操作函数,以获取目标信息包括:
判断所述操作指令信息的操作类型;
若所述操作类型为SNMP GET操作或SNMP SET操作,则在预设MIB数据库中查找与所述操作节点相匹配的目标节点;
判断所述目标节点的节点类型,所述节点类型包括标量节点和表节点;
若所述节点类型为标量节点,则调用对应的get函数或set函数,获取所述标量节点的目标信息;
若所述节点类型为表节点,则调用对应的get函数或set函数,获取第一表节点对应的第一数据表,将所述第一表节点以及所述第一数据表存储至预设的表节点数据库,从而完成所述第一表节点的预处理;
判断所述操作节点是否均完成处理,所述完成处理包括标量节点完成目标信息的获取以及表节点完成预处理;
若所述操作节点均完成处理,则获取所述数据表中与所述第一表节点对应的主键索引;
调用所述第一表节点父节点的get函数或所述第一表节点父节点的set函数,获取与所述主键索引对应的第一表节点的目标信息。
优选的,所述方法还包括:调用所述目标节点的check函数验证所述SNMP SET操作的合法性。
优选的,所述方法还包括:
获取管理信息结构配置文件中对象标识节点的节点信息;
计算所述对象标识节点的对象标识符值;
将所述节点信息以及与所述节点信息唯一对应的对象标识符值存储至管理信息库MIB数据库中。
优选的,所述调用与所述操作指令信息对应的操作函数,以获取目标信息包括:
判断所述操作指令信息的操作类型;
若所述操作类型信息为SNMP GET_NEXT操作,则在预设MIB数据库中查找与所述操作节点信息相匹配的目标节点;
判断所述目标节点的节点类型,所述节点类型包括标量节点和表节点;
若所述节点类型为标量节点,则判断所述目标节点下一个节点的节点类型;
若所述目标节点下一个节点为标量节点,则调用相应的get函数,获取所述标量节点的目标信息;
若所述目标节点下一个节点为表节点,则调用相应的get函数,获取第二表节点对应的第二数据表,将所述第二表节点以及所述第二数据表存储至预设的表节点数据库,从而完成所述第二表节点的预处理;
若所述节点类型为表节点,则调用相应的get函数,获取第三表节点对应的第三数据表,将所述第三表节点以及所述第三数据表存储至预设的表节点数据库,从而完成所述第三表节点的预处理;
判断所述操作节点是否均完成处理,所述完成处理包括标量节点完成目标信息的获取以及第二表节点和第三表节点完成预处理;
若所述操作节点均完成处理,则调用相应的get函数,获取所述表节点数据库中表节点的目标信息。
优选的,所述调用相应的get函数,获取所述表节点数据库中表节点的目标信息包括:
获取所述表节点数据库中表节点的主键索引;
判断所述表节点的下一个节点是否为所述主键索引下一个索引对应的节点;
若所述表节点的下一个节点是所述主键索引下一个索引对应的节点,则调用所述表节点父节点的get函数,获取与所述主键索引下一个索引对应的目标信息;
若所述表节点的下一个节点不是所述主键索引下一个索引对应的节点,则计算所述表节点的下一个节点,获取所述表节点下一个节点的目标信息。
优选的,所述调用与所述操作指令信息对应的操作函数,以获取目标信息包括:
判断所述操作指令信息的操作类型;
若所述操作类型信息为SNMP GET_BULK操作,则获取所述操作指令信息中的错误状态数量和误差指标;
依次对所述操作节点中的m个节点执行SNMP GET_NEXT操作,其中,m为所述错误状态数量;
对所述操作节点中所述m个节点以外的节点执行n次SNMP GET_NEXT操作,其中,n为所述误差指标。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明提供一种基于EOC设备的简单网络管理协议代理实现方法,所述方法包括:获取管理信息结构SMI配置文件中的节点信息,根据所述节点信息预设操作函数,所述操作函数包括get函数、set函数和check函数;接收并解析网络管理系统NMS发送的简单网络管理协议SNMP报文,所述简单网络管理协议SNMP报文包括操作指令信息,所述操作指令信息包括操作类型和操作节点,其中,所述操作类型为SNMP GET操作、SNMP GET_NEXT操作、SNMPSET操作或SNMP GET_BULK操作中的一种;调用与所述操作指令信息对应的所述操作函数,以获取目标信息;将所述目标信息按照简单网络管理协议SNMP报文格式发送至网络管理系统NMS。由于EOC设备局端可以统一管理下挂的终端设备,因而本发明只需通过一个简单网络管理协议代理即可实现SNMP报文的接收、解析以及目标信息的获取和发送。本方法提供的简单网络管理协议代理不存在主代理和子代理两个子模块之间的数据传输,同时,本方案提供的简单网络管理协议代理在网络节点内部传输数据时也无需进行格式转化,从而降低EOC设备的系统负担,另外,由于不存在主代理和子代理之间的数据传输和数据格式转化,从而减少生成的可执行文件的存储空间,进一步降低EOC设备的系统负担,进而提高SNMP的响应速度。另外,本方法通过SMI配置文件中的节点信息预设与SNMP报文中操作指令对应的操作函数,以便完成相关操作指令时直接调用,从而提高NMS与网络节点的信息交互效率,进一步提高SNMP的响应速度。另外,本发明相比NET-SNMP而言,由于没有主代理和子代理的数据通信,减少获取(或设置)时的函数封装层次,因而减少了生成的可执行文件的大小,进一步提高系统资源的利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
图1是本发明实施例中提供的一种基于EOC设备的简单网络管理协议代理实现方法的流程图;
图2是本发明实施例中提供的另一种基于EOC设备的简单网络管理协议代理实现方法的流程图;
图3是本发明实施例中提供的步骤S300的方法流程图;
图4是本发明实施例中提供的预设MIB数据库的方法流程图;
图5是本发明实施例中提供的另一种步骤S300的方法流程图;
图6是本发明实施例中提供的步骤S329的方法流程图;
图7是本发明实施例中提供的第三种步骤S300的方法流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置的例子。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。
请参考图1,所示为本发明实施例中提供的一种基于EOC设备的简单网络管理协议代理实现方法的流程图。
由图1可见,所述方法包括:
步骤S100:获取管理信息结构SMI配置文件中的节点信息,根据所述节点信息预设操作函数。
SMI配置文件通常是后缀为smi的文件,SMI配置文件内的配置信息均是按照SMI规范定义的,SMI配置文件内包括多种节点信息,如SYNTAX信息(语法信息),MAX-ACCESS信息(最大访问信息),STATUS信息(身份信息)以及DESCRIPTION信息(描述信息)等,SYNTAX信息可以描述节点值的类型,MAX-ACCESS信息可以描述节点属性(可读/可写),因而,利用SYNTAX信息和MAX-ACCESS信息可以预设与SNMP报文对应的操作函数,所述操作函数包括get函数、set函数和check函数,所述操作函数可以为C语言函数。
步骤S200:接收并解析网络管理系统NMS发送的简单网络管理协议SNMP报文。
所述简单网络管理协议SNMP报文包括操作指令信息,所述操作指令信息包括操作类型和操作节点,其中,所述操作类型为SNMP GET操作、SNMP GET_NEXT操作、SNMP SET操作或SNMP GET_BULK操作中的一种,因而,根据操作类型的不同,SNMP报文可分为SNMP GET报文、SNMP GET_NEXT报文、SNMP SET报文和SNMP GET_BULK报文。SNMP定义了NMS如何与管理代理通信,包括两者之间交换的消息分组的格式、含义及名字与值的表示等,此外也定义了EOC设备间的管理关系。由于NMS无法直接与EOC设备通讯,因而需要通过简单网络管理协议代理来实现。本方案提供的简单网络管理协议代理需先将具有SNMP报文格式的数据按照RFC(Request For Comments,一系列以编号排定的文件)1901以及RFC1905定义的格式进行解析,从而获取操作指令信息,即待操作的操作类型和操作节点。
步骤S300:调用与所述操作指令信息对应的所述操作函数,以获取目标信息。
调用与所述操作指令信息中操作类型对应的操作函数可以获取目标信息,如操作类型为SNMP GET操作,即对操作节点调用get函数即可获取目标信息。
步骤S400:将所述目标信息按照简单网络管理协议SNMP报文格式发送至网络管理系统NMS。
同样的,EOC设备中存储的信息无法直接与NMS通信,本简单网络管理协议代理需要将获取到的目标信息按照简单网络管理协议SNMP报文格式发送至网络管理系统NMS,即需要将目标信息组织成SNMP RESPONSE报文发送至NMS。
请参考图2,所示为本发明实施例中提供的另一种基于EOC设备的简单网络管理协议代理实现方法的流程图。
由图2可见,所述方法还包括:
步骤S500:接收EOC设备监控程序发送的主动传输请求。
主动传输请求通常来自socket(孔)通道,而SNMP报文通常来自端口161,因此,通过监测socket(孔)通道和端口161,即可判断接收到的数据请求是SNMP报文还是主动传输请求。所述主动传输请求可以是EOC设备监控程序发现设备故障或变更时发出的主动通知请求,请求简单网络管理协议代理将以上故障或变更发送至NMS,以便NMS获取故障或变更信息后及时做出调整。主动传输请求可以是陷阱TRAP请求或确认INFORM请求。
步骤S600:根据所述主动传输请求获取主动传输数据,所述主动传输数据包括TRAP数据或INFORM数据。
其中,TRAP是发送给NMS的通知网络状况的警告消息;INFORM在发送后需要SNMP管理者确认接收。与INFORM相比较,TRAP通知方式为不可靠传输。NMS在接收到一条TRAP通知后无需回复任何确认信息,因而,简单网络管理协议代理无法确认发出的TRAP通知是否已经被正确接收。与此相对应,当NMS收到一条INFORM通知后需要使用SNMP应答数据包向简单网络管理协议代理回复一条确认信息。如果NMS没有接收到INFORM通知,则不会发送任何应答。因此,当简单网络管理协议代理无法接受到期望的应答时,它将再次发送一条INFORM通知给NMS。这种方式保证了INFORM通知方式可以较有保证地把通知发送到期望的目的地。
步骤S700:将所述TRAP数据或INFORM数据按照SNMP报文格式发送至NMS。
若所述主动传输数据为TRAP数据,则按照SNMP TRAP报文格式发送至NMS的162端口上;若所述主动传输数据为INFORM数据则按照SNMP INFORM报文格式发送至NMS的162端口上。
请参考图3,所示为本发明实施例中提供的步骤S300的方法流程图。
由图3可见,步骤S300包括:
步骤S311:判断所述操作指令信息的操作类型。
所述操作类型为SNMP GET操作、SNMP GET_NEXT操作、SNMP SET操作或SNMP GET_BULK操作。在判断所述操作指令信息的操作类型之前,也可以判断community共同体是否符合设备要求。如果不符合设备要求,说明SNMP报文的目标设备不是本设备,因此,可以直接结束步骤S300的方法流程;若符合设备要求,再进行以下步骤。
步骤S312:若所述操作类型为SNMP GET操作或SNMP SET操作,则在预设MIB数据库中查找与所述操作节点相匹配的目标节点。
其中,所述预设MIB数据库中包含节点信息以及与所述节点信息唯一对应的对象标识符值。
请参考图4,所示为本发明实施例中提供的预设MIB数据库的方法流程图。
由图4可见,预设MIB数据库的方法包括:
步骤S3121:获取管理信息结构配置文件中对象标识节点的节点信息。
步骤S3122:计算所述对象标识节点的对象标识符值。
计算方法为现有方法,由MIB格式所定义,这里不再赘述。如果对象标识节点不在文件内,则会出现对象标识符值的计算失败。此时,读取配置文件开始部分的依赖文件,重复计算,直到得到该节点的对象标识符值。
步骤S3123:将所述节点信息以及与所述节点信息唯一对应的对象标识符值存储至MIB数据库,以便在接收到SNMP报文后,在预设MIB数据库中查找与所述操作节点相匹配的目标节点。
步骤S313:判断所述目标节点的节点类型。
节点类型包括标量节点和表节点。其中,标量节点存储单一的数据项,而表节点则包含多个数据项,多个数据项可以是数组、哈希表,也可以是其他表。
步骤S314:若所述节点类型为标量节点,则调用对应的get函数或set函数,获取所述标量节点的目标信息。
由于标量节点仅对应单一的数据项,因此,通过调用与标量节点对应的get函数或set函数,即可直接获取所述标量节点的目标信息而不产生任何错误。对应的,若所述操作类型为SNMP GET操作,则调用对应的get函数获取所述标量节点的目标信息;若所述操作类型为SNMP SET操作,则调用对应的set函数获取所述标量节点的目标信息。
步骤S315:若所述节点类型为表节点,则调用对应的get函数或set函数,获取第一表节点对应的第一数据表,将所述第一表节点以及所述第一数据表存储至预设的表节点数据库,从而完成所述第一表节点的预处理。
本发明提供的简单网络管理协议代理实现方法中将表节点的处理分为预处理和处理两部分,其中,预处理即通过get函数或set函数获取数据表,再将表节点以及对应的数据表存储至预设的表节点数据库中,待所述操作节点均完成处理后,再对表节点数据库中的表节点进行统一处理。
步骤S316:判断所述操作节点是否均完成处理。
所述完成处理包括标量节点完成目标信息的获取以及表节点完成预处理。完成目标信息获取的标量节点以及完成预处理的表节点数量总和应与操作指令信息中的操作节点数量相一致。当二者数量之和小于操作指令信息中的操作节点数量时,需继续判断当前操作节点的下一操作节点的节点类型,并依据上述方法对下一操作节点获取目标信息或进行预处理。
步骤S317:若所述操作节点均完成处理,则获取所述数据表中与所述第一表节点对应的主键索引。
主键索引通常是数据表中的一列或列组合。主键索引中的每个值都是唯一的,用来唯一标识数据表中的每一行。当在查询操作中使用主键索引时,可以快速访问数据。调用第一表节点对应的主键索引即可获取数据表中与第一表节点对应的行数据。
步骤S318:调用所述第一表节点父节点的get函数或所述第一表节点父节点的set函数,获取与所述主键索引对应的第一表节点的目标信息。即通过调用所述第一表节点父节点的get函数或所述第一表节点父节点的set函数,获取与所述主键索引对应的行数据,所述行数据即为第一表节点的目标信息。
若还有操作节点没有完成处理,则重复上述步骤,继续处理没有完成的操作节点。
另外,本发明其他实施例中,本简单网络管理协议代理实现方法还包括调用所述目标节点的check函数验证所述SNMP SET操作的合法性。调用check函数验证SNMP SET操作的合法性的目的在于判断NMS需设置的数据是否符合EOC设备要求,如果不符合EOC的设备要求,则返回设置错误报告,防止出现设置非法值而导致设备异常的情况。
请参考图5,所示为本发明实施例中提供的另一种步骤S300的方法流程图。
由图5可见,步骤S300包括:
步骤S321:判断所述操作指令信息的操作类型。
步骤S322:若所述操作类型信息为SNMP GET_NEXT操作,则在预设MIB数据库中查找与所述操作节点信息相匹配的目标节点。
步骤S323:判断所述目标节点的节点类型,所述节点类型包括标量节点和表节点。
步骤S324:若所述节点类型为标量节点,则判断所述目标节点下一个节点的节点类型。
步骤S325:若所述目标节点下一个节点为标量节点,则调用相应的get函数,获取所述标量节点的目标信息。
其中,调用相应的get函数即调用目标节点下一个节点的get函数。SNMP GET_NEXT操作与SNMP GET操作的区别在于SNMP GET操作的操作对象为当前的操作节点,而SNMPGET_NEXT操作的操作对象则为当前的操作节点的下一个节点。
步骤S326:若所述目标节点下一个节点为表节点,则调用相应的get函数,获取第二表节点对应的第二数据表,将所述第二表节点以及所述第二数据表存储至预设的表节点数据库,从而完成所述第二表节点的预处理。
步骤S327:若所述节点类型为表节点,则调用相应的get函数,获取第三表节点对应的第三数据表,将所述第三表节点以及所述第三数据表存储至预设的表节点数据库,从而完成所述第二表节点的预处理。
以上对第二表节点和第三表节点的预处理方式与第一表节点类似,先将第二表节点或第三表节点以及二者对应的数据表存储至预设的表节点数据库中,待所述操作节点均完成处理后,再对表节点数据库中的所有表节点进行统一处理。
步骤S328:判断所述操作节点是否均完成处理,所述完成处理包括标量节点完成目标信息的获取以及第二表节点和第三表节点完成预处理。
步骤S329:若所述操作节点均完成处理,则调用相应的get函数,获取所述表节点数据库中表节点的目标信息。
请参考图6,所示为本发明实施例中提供的步骤S329的方法流程图。
由图6可见,步骤S329包括:
步骤S3291:获取所述表节点数据库中表节点的主键索引。
步骤S3292:判断所述表节点的下一个节点是否为所述主键索引下一个索引对应的节点。
步骤S3293:若所述表节点的下一个节点是所述主键索引下一个索引对应的节点,则调用所述表节点父节点的get函数,获取与所述主键索引下一个索引对应的目标信息。
步骤S3294:若所述表节点的下一个节点不是所述主键索引下一个索引对应的节点,则计算所述表节点的下一个节点,获取所述表节点下一个节点的目标信息,获取方式与上述实施例中的获取方法相同,这里不再赘述。
请参考图7,所示为本发明实施例中提供的第三种步骤S300的方法流程图。
由图7可见,步骤S300包括:
步骤S331:判断所述操作指令信息的操作类型。
步骤S332:若所述操作类型信息为SNMP GET_BULK操作,则获取所述操作指令信息中的错误状态数量和误差指标。
步骤S333:依次对所述操作节点中的m个节点执行SNMP GET_NEXT操作,其中,m为所述错误状态数量。
本实施例中SNMP GET_NEXT操作与上述实施例中的SNMP GET_NEXT操作的方法流程相同,这里不再赘述。
步骤S334:对所述操作节点中所述m个节点以外的节点执行n次SNMP GET_NEXT操作,其中,n为所述误差指标。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种基于EOC设备的简单网络管理协议代理实现方法,其特征在于,所述方法包括:
获取管理信息结构SMI配置文件中的节点信息,根据所述节点信息预设操作函数,所述操作函数包括get函数、set函数和check函数;
接收并解析网络管理系统NMS发送的简单网络管理协议SNMP报文,所述简单网络管理协议SNMP报文包括操作指令信息,所述操作指令信息包括操作类型和操作节点,其中,所述操作类型为SNMP GET操作、SNMP GET_NEXT操作、SNMP SET操作或SNMP GET_BULK操作中的一种;
调用与所述操作指令信息对应的所述操作函数,以获取目标信息;
将所述目标信息按照简单网络管理协议SNMP报文格式发送至网络管理系统NMS。
2.根据权利要求1所述的基于EOC设备的简单网络管理协议代理实现方法,其特征在于,所述方法还包括:
接收EOC设备监控程序发送的主动传输请求,所述主动传输请求包括陷阱TRAP请求或确认INFORM请求;
根据所述主动传输请求获取主动传输数据,所述主动传输数据包括TRAP数据或INFORM数据;
将所述TRAP数据或INFORM数据按照SNMP报文格式发送至NMS。
3.根据权利要求1所述的基于EOC设备的简单网络管理协议代理实现方法,其特征在于,所述调用与所述操作指令信息对应的操作函数,以获取目标信息包括:
判断所述操作指令信息的操作类型;
若所述操作类型为SNMP GET操作或SNMP SET操作,则在预设MIB数据库中查找与所述操作节点相匹配的目标节点;
判断所述目标节点的节点类型,所述节点类型包括标量节点和表节点;
若所述节点类型为标量节点,则调用对应的get函数或set函数,获取所述标量节点的目标信息;
若所述节点类型为表节点,则调用对应的get函数或set函数,获取第一表节点对应的第一数据表,将所述第一表节点以及所述第一数据表存储至预设的表节点数据库,从而完成所述第一表节点的预处理;
判断所述操作节点是否均完成处理,所述完成处理包括标量节点完成目标信息的获取以及表节点完成预处理;
若所述操作节点均完成处理,则获取所述数据表中与所述第一表节点对应的主键索引;
调用所述第一表节点父节点的get函数或所述第一表节点父节点的set函数,获取与所述主键索引对应的第一表节点的目标信息。
4.根据权利要求3所述的基于EOC设备的简单网络管理协议代理实现方法,其特征在于,所述方法还包括:调用所述目标节点的check函数验证所述SNMP SET操作的合法性。
5.根据权利要求3所述的基于EOC设备的简单网络管理协议代理实现方法,其特征在于,所述方法还包括:
获取管理信息结构配置文件中对象标识节点的节点信息;
计算所述对象标识节点的对象标识符值;
将所述节点信息以及与所述节点信息唯一对应的对象标识符值存储至管理信息库MIB数据库。
6.根据权利要求1所述的基于EOC设备的简单网络管理协议代理实现方法,其特征在于,所述调用与所述操作指令信息对应的操作函数,以获取目标信息包括:
判断所述操作指令信息的操作类型;
若所述操作类型信息为SNMP GET_NEXT操作,则在预设MIB数据库中查找与所述操作节点信息相匹配的目标节点;
判断所述目标节点的节点类型,所述节点类型包括标量节点和表节点;
若所述节点类型为标量节点,则判断所述目标节点下一个节点的节点类型;
若所述目标节点下一个节点为标量节点,则调用相应的get函数,获取所述标量节点的目标信息;
若所述目标节点下一个节点为表节点,则调用相应的get函数,获取第二表节点对应的第二数据表,将所述第二表节点以及所述第二数据表存储至预设的表节点数据库,从而完成所述第二表节点的预处理;
若所述节点类型为表节点,则调用相应的get函数,获取第三表节点对应的第三数据表,将所述第三表节点以及所述第三数据表存储至预设的表节点数据库,从而完成所述第三表节点的预处理;
判断所述操作节点是否均完成处理,所述完成处理包括标量节点完成目标信息的获取以及第二表节点和第三表节点完成预处理;
若所述操作节点均完成处理,则调用相应的get函数,获取所述表节点数据库中表节点的目标信息。
7.根据权利要求6所述的基于EOC设备的简单网络管理协议代理实现方法,其特征在于,所述调用相应的get函数,获取所述表节点数据库中表节点的目标信息包括:
获取所述表节点数据库中表节点的主键索引;
判断所述表节点的下一个节点是否为所述主键索引下一个索引对应的节点;
若所述表节点的下一个节点是所述主键索引下一个索引对应的节点,则调用所述表节点父节点的get函数,获取与所述主键索引下一个索引对应的目标信息;
若所述表节点的下一个节点不是所述主键索引下一个索引对应的节点,则计算所述表节点的下一个节点,获取所述表节点下一个节点的目标信息。
8.根据权利要求1所述的基于EOC设备的简单网络管理协议代理实现方法,其特征在于,所述调用与所述操作指令信息对应的操作函数,以获取目标信息包括:
判断所述操作指令信息的操作类型;
若所述操作类型信息为SNMP GET_BULK操作,则获取所述操作指令信息中的错误状态数量和误差指标;
依次对所述操作节点中的m个节点执行SNMP GET_NEXT操作,其中,m为所述错误状态数量;
对所述操作节点中所述m个节点以外的节点执行n次SNMP GET_NEXT操作,其中,n为所述误差指标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610670441.1A CN106254122B (zh) | 2016-08-15 | 2016-08-15 | 一种基于eoc设备的简单网络管理协议代理实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610670441.1A CN106254122B (zh) | 2016-08-15 | 2016-08-15 | 一种基于eoc设备的简单网络管理协议代理实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106254122A true CN106254122A (zh) | 2016-12-21 |
CN106254122B CN106254122B (zh) | 2020-02-04 |
Family
ID=57593022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610670441.1A Active CN106254122B (zh) | 2016-08-15 | 2016-08-15 | 一种基于eoc设备的简单网络管理协议代理实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106254122B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333297A (zh) * | 2017-02-15 | 2021-02-05 | 金钱猫科技股份有限公司 | 一种批量获取终端属性的方法及系统 |
CN113051333A (zh) * | 2021-04-21 | 2021-06-29 | 中国平安财产保险股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030177214A1 (en) * | 2002-03-13 | 2003-09-18 | D-Link Corporation | Dynamic SNMP network device |
CN1929394A (zh) * | 2005-09-07 | 2007-03-14 | 中兴通讯股份有限公司 | 以太网无源光网络系统中光网络单元远程管理方法 |
CN101043379A (zh) * | 2007-03-22 | 2007-09-26 | 华为技术有限公司 | 网络管理装置与网络管理方法 |
CN102158351A (zh) * | 2011-02-14 | 2011-08-17 | 中兴通讯股份有限公司 | 设备管理客户端多服务器下设备管理树的管理方法及装置 |
CN105099788A (zh) * | 2015-09-01 | 2015-11-25 | 上海斐讯数据通信技术有限公司 | 一种光网络单元集中管理系统及方法 |
-
2016
- 2016-08-15 CN CN201610670441.1A patent/CN106254122B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030177214A1 (en) * | 2002-03-13 | 2003-09-18 | D-Link Corporation | Dynamic SNMP network device |
CN1929394A (zh) * | 2005-09-07 | 2007-03-14 | 中兴通讯股份有限公司 | 以太网无源光网络系统中光网络单元远程管理方法 |
CN101043379A (zh) * | 2007-03-22 | 2007-09-26 | 华为技术有限公司 | 网络管理装置与网络管理方法 |
CN102158351A (zh) * | 2011-02-14 | 2011-08-17 | 中兴通讯股份有限公司 | 设备管理客户端多服务器下设备管理树的管理方法及装置 |
CN105099788A (zh) * | 2015-09-01 | 2015-11-25 | 上海斐讯数据通信技术有限公司 | 一种光网络单元集中管理系统及方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333297A (zh) * | 2017-02-15 | 2021-02-05 | 金钱猫科技股份有限公司 | 一种批量获取终端属性的方法及系统 |
CN112333297B (zh) * | 2017-02-15 | 2023-03-24 | 金钱猫科技股份有限公司 | 一种批量获取终端属性的方法及系统 |
CN113051333A (zh) * | 2021-04-21 | 2021-06-29 | 中国平安财产保险股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN113051333B (zh) * | 2021-04-21 | 2023-10-13 | 中国平安财产保险股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106254122B (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108199897B (zh) | 一种支持缓存管理的opc ua多服务器聚合方法 | |
US9331953B2 (en) | Device management method, middleware, and machine-to-machine communications platform, device, and system | |
US6654782B1 (en) | Modular framework for dynamically processing network events using action sets in a distributed computing environment | |
JP4509916B2 (ja) | Snmp基盤のネットワーク管理装置および方法 | |
CN102938794A (zh) | 地址解析协议arp消息转发方法、交换机和控制器 | |
US20020032769A1 (en) | Network management method and system | |
CN107508713B (zh) | Nms mib与网元私有mib映射实现网元管理的系统及方法 | |
CN102480759A (zh) | 基于瘦无线接入点架构的网管实现方法及系统 | |
CN104135378B (zh) | 对物联网网关进行管理控制的方法及物联网网关管控实体 | |
KR20050104364A (ko) | 네트워크 노드 그룹을 모니터링하기 전의 그룹멤버 결정 | |
CN101312404A (zh) | 一种snmp消息的处理方法和处理设备 | |
WO2003096621A1 (en) | Network attached storage snmp single system image | |
CN101170451A (zh) | 一种设备管理方法及一种设备代理系统 | |
CN101848107A (zh) | Snmp网元及snmp网元与私有协议网元通信的方法 | |
JP4187785B2 (ja) | データ記憶装置 | |
CN103796343B (zh) | M2m网关设备及其应用方法 | |
US20120265862A1 (en) | Method and system for device management, and device | |
CN101494561A (zh) | 一种基于简单网络管理协议的网络管理方法和系统 | |
CN107623752A (zh) | 基于链路层的网络管理方法和装置 | |
CN106254122A (zh) | 一种基于eoc设备的简单网络管理协议代理实现方法 | |
US8688741B2 (en) | Device description framework information reporting and updating method, device and system | |
JP2005237018A (ja) | ネットワークマネージメントシステムへのデータ送信 | |
CN101296232A (zh) | 一种多级网管多北向接口的适配装置及方法 | |
RU2007149246A (ru) | Устройство предоставления услуги в устройстве связи | |
CN102904739A (zh) | 一种实现事件转发的方法及通用信息模型cim服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |