一种维护管理信息mib库的方法和装置制造方法

文档序号:7824233阅读:238来源:国知局
一种维护管理信息mib库的方法和装置制造方法
【专利摘要】本发明公开了一种维护管理信息MIB库的方法和装置,包括获取两个或两个以上MIB树的第一MIB文件;根据第一MIB文件,生成MIB合集树的第二MIB文件,MIB合集树包括第一节点和第二节点,第一节点为MIB树中具有对象标识符OID信息冲突的节点,第二节点为MIB树中不具有OID信息冲突的节点;对每个第一MIB文件和第二MIB文件进行编译处理,得到每个MIB树的第一类MIB库文件和MIB合集树的第二类MIB库文件,第二类MIB库文件包括第一类MIB库文件中的节点标识和与节点标识对应的钩子函数标识。通过本发明提供的技术方案,实现了同时支持多套MIB库,使得基于本发明技术方案的MIB库切换的时间为有效减小,从而有效提高了MIB库切换的效率。
【专利说明】一种维护管理信息MIB库的方法和装置

【技术领域】
[0001]本发明涉及简单网络管理协议(Simple Network Management Protocol,简称:SNMP协议)技术,尤指一种基于SNMP协议的被管代理中,维护管理信息(ManagementInformat1n Base,简称:MIB)库的方法和装置。

【背景技术】
[0002]SNMP协议是因特网(Internet)组织用来管理Internet的网络协议,随着Internet所使用的传输控制协议/网际协议族(Transmiss1n Control Protocol/Internet Protocol,简称:TCP/IP协议族)成为事实上的网间网互连协议标准,SNMP协议也成为Internet管理方面大家实际遵循的标准。目前,几乎所有的Internet设备的生产厂家都在开发与SNMP协议有关的产品。
[0003]SNMP协议的管理模型中包括三个基本组成部分:管理站、被管代理和MIB库。其中,管理站用于将网络管理员的命令转换成对远程的被管代理的监视和控制,从被管代理维护的MIB库中获取信息;被管代理用于监测被管理设备状态,维护其本地的MIB库;MIB库由用于表示Internet中被管资源的某方面属性的MIB对象组成;其中,MIB对象的格式是由管理信息结构(Structure of Management Informat1n,简称:SMI)规定的,主要包括名称、类型、访问方式、状态和MIB对象的描述等,其中,MIB对象的描述用于说明MIB对象的功能。
[0004]为了简单形象地描述MIB库,通常将MIB对象按照逻辑关系组织在一个称做MIB树的层次结构中,抽象语法标记第一版(Abstract Syntax Notat1n One,简称:ASN.1)语言标准化了 MIB树的描述方法。MIB树由节点组成,节点包括根节点和非根节点,其中,非根节点包括中间节点和叶子节点。MIB库中每个MIB对象对应为MIB树的一个叶子节点。MIB树的节点是分层级的,根节点属于第一层,中间节点分别属于第二层、第三层、依此类推,直至叶子节点属于最后一层。MIB树的除第一层之外的每个层级上的节点均具有唯一标号,不同层上的节点的节点标号可以相同。每个叶子节点都由对象标识符(Object Identifier,简称:0ID)唯一表示,OID也可以理解为从根节点通向OID所表示的节点的路径,具体形式为句点隔开的整数,其中整数为路径上的节点的节点标号,由于所有OID表示的路径都是从根节点开始的,因此OID的具体形式中省略了根节点的节点标号。举例来看,图1为一套MIB库对应的MIB树。如图1所示的MIB树具有三层结构,第一层为根节点(Root节点),第二层包括两个中间节点(中间节点I和中间节点2),第三层为叶子节点(叶子节点3、叶子节点4和叶子节点5),各节点下面的括号中包括该节点的0ID,例如,叶子节点5的OID为 2.3o
[0005]被管代理维护的MIB库为经过编译的MIB库。通常,本领域技术人员通过市场上常见的MIB编译器(如风河公司开发的MIB编译器)将MIB文件编译成MIB库文件。其中,MIB文件主要用于按照SMI规定的MIB对象的格式描述MIB树的各节点;MIB库文件表示经过编译的MIB库,包括第一类MIB库文件和第二类MIB库文件。其中,第一类MIB库文件包括MIB树的各节点的OID和对应的节点标识,第二类MIB库文件包括第一类MIB库文件中的节点标识、和对应的钩子函数标识。其中,在MIB库中节点标识和钩子函数标识具有唯一性,钩子函数标识用于调用对应的钩子函数,该钩子函数用于对节点进行相关的操作(例如,获取节点的信息、修改节点的信息等)。综上所述,通过第一类MIB库文件和第二类MIB库文件实现了节点的OID通过节点标识与钩子函数标识的关联。不难理解,由于可对节点进行多种类型的操作,因此节点的OID对应的钩子函数标识通常为多个。
[0006]目前,被管代理响应管理站的请求维护MIB库的流程包括:当接收到来自管理站的SNMP请求报文时;提取报文中的节点的OID和对节点进行操作的操作类型信息;根据OID和操作类型查找MIB库文件,得到对应的钩子函数标识;通过钩子函数标识调用钩子函数,以使得钩子函数对节点进行操作;向管理站发送SNMP应答报文,SNMP应答报文包括钩子函数对节点进行操作的结果信息。
[0007]目前,由于被管代理只能支持一套MIB库,当存在管理站访问的MIB库与被管代理支持的MIB库不对应时,被管代理反馈不支持该访问,管理站无法获取被管代理的相关信息,此时,需要维护被管代理的管理人员操作被管代理以写入支持另一套MIB库的另一个版本的被管代理的软件镜像,之后重新启动被管代理。上述写入过程消耗的时间为分钟级如5分钟。这样,由于现有被管代理只能支持一套MIB库,导致MIB库切换的时间较长,MIB库切换的效率较低。另外,当同一个型号的被管代理需要应用到多个不同的应用场景时,需要针对每个应用场景维护不同版本的被管代理的软件镜像,较大地增加了维护的复杂度和成本。


【发明内容】

[0008]为了解决上述技术问题,本发明提供了一种维护MIB库的方法和装置,能够同时支持多套MIB库,同时提高MIB库切换的效率。
[0009]为了达到本发明目的,本发明公开了一种维护管理信息MIB库的方法,所述方法包括:
[0010]获取两个或两个以上MIB树的第一 MIB文件;
[0011]根据所述第一 MIB文件,生成MIB合集树的第二 MIB文件,所述MIB合集树包括第一节点和第二节点,所述第一节点为所述MIB树中具有对象标识符OID信息冲突的节点,所述第二节点为所述MIB树中不具有OID信息冲突的节点;
[0012]对所述第一 MIB文件和所述第二 MIB文件进行编译处理,得到每个所述MIB树的第一类MIB库文件和所述MIB合集树的第二类MIB库文件,所述第二类MIB库文件包括所述第一类MIB库文件中的节点标识和与所述节点标识对应的钩子函数标识。
[0013]进一步地,所述根据所述第一 MIB文件,生成MIB合集树的第二 MIB文件具体包括:
[0014]根据所述第一 MIB文件,确定每个所述MIB树包含的节点;
[0015]将每个所述MIB树包含的节点划分为所述第一节点或者所述第二节点;
[0016]根据MIB合集树生成策略和所述划分结果,生成所述MIB合集树的第二 MIB文件。
[0017]进一步地,所述MIB合集树生成策略具体包括:
[0018]不改变每个所述MIB树中节点的层级;
[0019]每个所述MIB树中的第二节点在所述MIB合集树中保留一份;
[0020]每个所述MIB树中的第一节点在所述MIB合集树中具有不同的所述OID。
[0021]进一步地,所述方法还包括:
[0022]预先设置用于表明当前工作的所述第一类MIB库文件的MIB树指针参数。
[0023]进一步地,所述方法还包括:
[0024]根据获得的用于切换所述第一类MIB库的外部指令更新所述MIB库指针参数。
[0025]进一步地,所述方法还包括:
[0026]接收管理站发送的简单网络管理协议SNMP请求报文,所述SNMP请求报文包括节点的OID和对所述节点进行操作的操作类型信息;
[0027]根据所述MIB树指针参数,确定当前工作的所述第一类MIB库文件;
[0028]在确定出的所述第一类MIB库文件中查找到所述OID对应的节点标识;
[0029]根据所述节点标识和所述操作类型信息,从所述第二类MIB库文件中查找到与所述节点标识对应的钩子函数标识;
[0030]根据所述钩子函数标识,调用对应的钩子函数,以使得所述钩子函数对所述节点进行操作;
[0031]向所述管理站发送用于指示查找成功的SNMP应答报文,所述用于指示查找成功的SNMP应答报文包括所述钩子函数对所述节点进行操作的结果信息。
[0032]本发明还公开了一种维护MIB库的装置,所述装置包括:获取单元、合集树生成单元和合集树编译单元;
[0033]所述获取单元,用于获取两个或两个以上MIB树的第一 MIB文件,并将所述第一MIB文件发送至所述合集树生成单元和所述合集树编译单元;
[0034]所述合集树生成单元,用于接收所述获取单元发送的所述第一 MIB文件,根据所述第一 MIB文件,生成MIB合集树的第二 MIB文件,并将所述第二 MIB文件发送至所述合集树编译单元,所述MIB合集树包括第一节点和第二节点,所述第一节点为所述MIB树中具有OID信息冲突的节点,所述第二节点为所述MIB树中不具有OID信息冲突的节点;
[0035]所述合集树编译单元,用于接收所述获取单元发送的所述第一 MIB文件和所述合集树生成单元发送的所述第二 MIB文件,对所述第一 MIB文件和所述第二 MIB文件进行编译处理,得到每个所述MIB树的第一类MIB库文件和所述MIB合集树的第二类MIB库文件,所述第二类MIB库文件包括所述第一类MIB库文件中的节点标识和与所述节点标识对应的钩子函数标识。
[0036]进一步地,所述合集树生成单元具体用于:
[0037]根据所述第一 MIB文件,确定每个所述MIB树包含的节点;
[0038]将每个所述MIB树包含的节点划分为所述第一节点或者所述第二节点;
[0039]根据MIB合集树生成策略和所述划分结果,生成所述MIB合集树的第二 MIB文件。
[0040]进一步地,所述合集树生成单元生成所述MIB合集树时依据的所述MIB合集树生成策略包括:
[0041]不改变每个所述MIB树中节点的层级;
[0042]每个所述MIB树中的第二节点在所述MIB合集树中保留一份;
[0043]每个所述MIB树中的第一节点在所述MIB合集树中具有不同的所述OID。
[0044]进一步地,所述装置还包括:
[0045]设置单元,用于预先设置表明当前工作的所述第一类MIB库文件的MIB树指针参数。
[0046]进一步地,所述装置还包括:
[0047]更新单元,用于根据获得的用于切换所述第一类MIB库的外部指令更新所述MIB库指针参数。
[0048]进一步地,所述装置还包括:
[0049]接收单元,用于接收管理站发送的SNMP请求报文,所述SNMP请求报文包括节点的OID和对所述节点进行操作的操作类型信息;
[0050]确定单元,用于根据所述MIB树指针参数,确定当前工作的所述第一类MIB库文件;
[0051]查找单元,用于在确定出的所述第一类MIB库文件中查找到所述OID对应的节点标识;
[0052]所述查找单元还用于,根据所述节点标识和所述操作类型信息,从所述第二类MIB库文件中查找到与所述节点标识对应的钩子函数标识;
[0053]调用单元,用于根据所述钩子函数标识,调用对应的钩子函数,以使得所述钩子函数对所述节点进行操作;
[0054]发送单元,用于向所述管理站发送用于指示查找成功的SNMP应答报文,所述用于指示查找成功的SNMP应答报文包括所述钩子函数对所述节点进行操作的结果信息。
[0055]与现有技术相比,本发明的技术方案包括:获取两个或两个以上MIB树的第一 MIB文件;根据第一MIB文件,生成MIB合集树的第二MIB文件,MIB合集树包括第一节点和第二节点,第一节点为MIB树中具有对象标识符OID信息冲突的节点,第二节点为MIB树中不具有OID信息冲突的节点;对每个第一 MIB文件和第二 MIB文件进行编译处理,得到每个MIB树的第一类MIB库文件和MIB合集树的第二类MIB库文件,第二类MIB库文件包括第一类MIB库文件中的节点标识和与节点标识对应的钩子函数标识。
[0056]通过本发明提供的技术方案,由于被管代理中可配置多个MIB树,并利用多个MIB树,构建MIB合集树,实现了被管代理同时支持多套MIB库,这样基于本发明技术方案进行MIB库切换时,避免了基于现有技术方案进行MIB库切换时写入软件镜像的过程,明显减少了 MIB库切换的时间,有效提高了基于本发明技术方案进行MIB库切换的效率;并且,对于需要应用于不同应用场景的同一型号的被管代理,通过本发明技术方案实现了被管代理的同一个软件镜像适用于不同的应用场景,有效地降低了维护的复杂度和成本。
[0057]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

【专利附图】

【附图说明】
[0058]附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0059]图1为一套MIB库对应的MIB树的示意图;
[0060]图2为本发明实施例提供的维护MIB库的方法的流程图;
[0061]图3为本发明实施例提供的MIB合集树示意图;
[0062]图4为本发明实施例提供的被管代理响应管理站的请求维护MIB库的流程图;
[0063]图5为本发明实施例提供的维护MIB库的装置结构示意图。

【具体实施方式】
[0064]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进程详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0065]在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图2为本发明实施例提供的维护MIB库的方法的流程图。需要说明的是,如图2所示的方法的执行主体为被管代理或者计算设备(如服务器)。图2所示步骤以被管代理为例进行说明。如图2所示的方法包括:
[0066]步骤201:获取两个或两个以上MIB树的第一 MIB文件。
[0067]具体来讲,获取两个或两个以上MIB库对应的MIB树的第一 MIB文件。
[0068]可以理解的是,在本发明实施例中,管理人员在先对被管代理中的配置文件进行定义,也即是在配置文件中定义多套MIB树的第一 MIB文件,以使得被管代理可获取MIB树的第一 MIB文件。
[0069]步骤202:根据第一 MIB文件,生成MIB合集树的第二 MIB文件,MIB合集树包括第一节点和第二节点,第一节点为MIB树中具有OID信息冲突的节点,第二节点为MIB树中不具有OID信息冲突的节点。
[0070]进一步地,在本发明实施例中,本步骤中的根据第一 MIB文件,生成MIB合集树的第二 MIB文件具体包括:被管代理根据获取的第一 MIB文件,确定每个MIB树包含的节点,被管代理将每个MIB树包含的节点划分为第一节点或者第二节点;被管代理根据MIB合集树生成策略和上述划分结果,生成MIB合集树的第二 MIB文件。
[0071]在本发明实施例中,第一节点为多个MIB树中具有OID信息冲突的节点,具有OID信息冲突的节点具体是指多个节点具有相同0ID,并且每个节点的功能不同,或者,多个节点具有不同0ID,并且每个节点的功能相同;第二节点为多个MIB树中不具有OID信息冲突的节点,不具有OID信息冲突的节点具体是指多个节点具有相同0ID,并且每个节点的功能相同。
[0072]更进一步地,在本发明实施例中,MIB合集树生成策略具体包括:
[0073]I)不改变每个MIB树中节点的层级;
[0074]2)每个MIB树的第二节点在MIB合集树中保留一份;
[0075]3)每个MIB树的第一节点在MIB合集树中具有不同的0ID。
[0076]在一个例子中,如图3所示,图3为本发明实施例提供的MIB合集树示意图。MIB树A和MIB树B为2个不同的MIB树,MIB树A、MIB树B均具有三层结构,第一层为根节点,第二层均包括两个中间节点(分别为中间节点I和中间节点2,以及中间节点6和中间节点7),第三层为叶子节点(MIB树A包括叶子节点3、叶子节点4和叶子节点5 ;MIB树B包括叶子节点8、叶子节点9和叶子节点10)。
[0077]假设在本发明实施例中,叶子节点5和叶子节点10为具有相同的OID,但具有不同功能的叶子节点,其他节点具有相同的功能,则根据上文的描述,叶子节点5和叶子节点10为第一节点;其它节点为第二节点,例如,中间节点I和中间节点6为第二节点、叶子节点3和叶子节点8为第二节点。在图3中,MIB合集树中包括了 MIB树A和MIB树B的第一节点、以及MIB树A和MIB树B的多份第二节点中的一份。MIB树A和MIB树B的第一节点在MIB合集树中具有不同的OID。具体来看,MIB树A的叶子节点5在MIB合集树中的OID为2.3,而MIB树B的叶子节点10在MIB合集树中的OID为2.4。可以看出,MIB合集树中MIB树A和MIB树B的每个节点的层级没有改变,并且,MIB合集树中包括了 MIB树A和MIB树B中全部的节点。
[0078]需要说明的是,以图3所示的MIB合集树为例,MIB树A的叶子节点5在MIB合集树中OID还可以为2.4,而MIB树B的叶子节点10在MIB合集树中OID还可以为2.3。不难看出,上述为第二节点分配OID的方式,均满足MIB合集树生成策略的第三方面。进一步地说,以MIB合集树中有3个第一节点为例来看,这三个第一节点在MIB合集树中可以以随机的方式分别分配不同的0ID,例如这三个第一节点的OID分别为2.3、2.4和2.5的随机组入口 ο
[0079]上述例子中,以第一节点(叶子节点5和叶子节点10)的一种情况为例进行说明,即具有相同0ID,但每个节点的功能不同;针对第一节点的另一种情况,执行过程与上述例子类似,在此不再复述。
[0080]步骤203:对每个第一 MIB文件和第二 MIB文件进行编译处理,得到每个MIB树的第一类MIB库文件和MIB合集树的第二类MIB库文件,第二类MIB库文件包括第一类MIB库文件中的节点标识和与节点标识对应的钩子函数标识。
[0081 ] 具体地,每个MIB树的第一类MIB库文件与采用传统编译方法编译各MIB树的MIB文件得到的各MIB树的第一类MIB库文件相同。
[0082]需要说明的是,采用市场上常见的MIB编译器如风河公司开发的MIB编译器,并修改MIB编译器的编译参数(例如,添加针对第二 MIB文件进行编译的合集树参数,进而使得MIB编译器可对第二 MIB文件进行编译处理),以指示MIB编译器编译哪些MIB文件,即指示其要编译的MIB合集树的MIB文件和各MIB树的MIB文件,可以实现编译MIB合集树的MIB文件和各MIB树的MIB文件。其中,修改MIB编译器的编译参数以实现编译MIB合集树的MIB文件和各MIB树的MIB文件的具体实现,为本领域技术人员的惯用技术手段,此处不再赘述。
[0083]本领域技术人员容易熟知的是,市场上常见的各MIB编译器通常通过读取其相关的配置文件获取要编译的MIB文件,因此可以通过修改配置文件,使得MIB编译器通过配置文件获取MIB合集树的MIB文件和各MIB树的MIB文件。这里,MIB树的第一类MIB库文件、和MIB合集树的第二类MIB库文件中与上述第一类MIB库文件中的各节点标识的对应的部分合起来代表MIB库。
[0084]进一步地,在本发明实施例中,第二类MIB库文件由两个子文件组成,分别是第一类子MIB库文件和第二类子MIB库文件。其中,第一类子MIB库文件包括每个MIB树的第一类MIB库文件中的节点标识、和与节点标识对应的唯一标识;第二类子MIB库文件包括第一类子MIB库文件中的唯一标识、和与唯一标识对应的钩子函数标识。
[0085]需要说明的是,本发明实施例中的唯一标识具体是指每个MIB树中的节点在MIB合集树中的标识,该标识为唯一的且不重复的。
[0086]通过本发明实施例提供的技术方案,由于被管代理中可配置多个MIB树,并利用多个MIB树,构建MIB合集树,实现了被管代理同时支持多套MIB库,这样基于本发明技术方案进行MIB库切换时,避免了基于现有技术方案进行MIB库切换时写入软件镜像的过程,明显减少了 MIB库切换的时间,有效提高了基于本发明技术方案进行MIB库切换的效率;并且,对于需要应用于不同应用场景的同一型号的被管代理,通过本发明技术方案实现了被管代理的同一个软件镜像适用于不同的应用场景,有效地降低了维护的复杂度和成本。
[0087]在进一步地,通过编译获得各MIB树的第一类MIB库文件和MIB合集树的第二类MIB库文件的基础上,本发明实施例还包括:预先设置表明当前工作的第一类MIB库文件的MIB树指针参数。通过MIB树指针参数,可确定出当前工作的第一类MIB库文件。
[0088]需要说明的MIB合集树的第二类MIB库文件始终处于工作。
[0089]为了在本发明实施例的基础上实现MIB库切换,本发明还包括:根据获得的用于切换MIB库的外部指令时更新MIB库指针参数。
[0090]其中,用于外部指令可以是管理站发出的外部指令或者维护被管代理的技术人员发出的外部指令。
[0091 ] 其中,如何获取上述两种方式发出的外部指令是本领域技术人员公知的。
[0092]在一个实施例中,通过外部指令重新设置MIB树指针参数即实现MIB库切换之后,被管代理自动完成重新启动。
[0093]这样,需要进行MIB库切换时,避免了基于现有技术方案进行MIB库切换时写入软件镜像的过程,明显减少了 MIB库切换的时间,有效提高了进行MIB库切换的效率;并且,对于需要应用于不同应用场景的同一型号的被管代理,通过本发明技术方案实现了被管代理的同一个软件镜像适用于不同的应用场景,有效地降低了维护的复杂度和成本。
[0094]在根据本发明实施例得到各MIB树的第一类MIB库文件和MIB合集树的第二类MIB库文件的基础上,还包括如图4所示的本发明实施例提供的被管代理响应管理站的请求维护MIB库的流程,具体包括:
[0095]步骤401:接收管理站发送的SNMP协议请求报文,SNMP请求报文包括节点的OID和对节点进行操作的操作类型信息。
[0096]其中,本步骤的具体实现,属于本领域技术人员的惯用技术手段,不用于限定本发明的保护范围,此处不再赘述。
[0097]步骤402:根据MIB树指针参数,确定当前工作的第一类MIB库文件。
[0098]具体地,在本步骤中,被管代理确定出当前工作的第一类MIB库。
[0099]步骤403:在确定出的第一类MIB库文件中查找到OID对应的节点标识。
[0100]需要说明的是,如果没有查找到OID对应的节点标识即查找失败,此时,被管代理向管理站发送用于指示查找失败的SNMP应答报文。当管理人员通过用于指示查找失败的SNMP应答报文得知查找失败时,可以通过外部指令更新MIB库指针参数,以控制被管代理切换MIB库。
[0101]被管代理切换MIB库后,再次等待接收管理站发送的SNMP协议请求报文。重复执行步骤401-步骤406。
[0102]步骤404、根据节点标识和操作类型信息,从第二类MIB库文件中查找到与节点标识对应的钩子函数标识。
[0103]具体地,根据节点标识从第二类MIB库文件中查找到与其对应的各钩子函数标识,并从查找到的钩子函数标识中确定出与操作类型信息对应的钩子函数标识。进一步地,根据前文描述,在本发明实施例中,第二类MIB库文件由两个子文件组成,分别是第一类子MIB库文件和第二类子MIB库文件。其中,第一类子MIB库文件包括每个MIB树的第一类MIB库文件中的节点标识、和与节点标识对应的唯一标识;第二类子MIB库文件包括第一类子MIB库文件中的唯一标识、和与唯一标识对应的钩子函数标识。
[0104]在本步骤中,被管代理先根据节点标识,在第一类子MIB库文件中查找到与节点标识对应的唯一标识,然后,利用唯一标识在第二类子MIB库文件中查找到与唯一标识对应的钩子函数标识。
[0105]其中,如何在MIB库文件中查找信息的具体实现,属于本领域技术人员的惯用技术手段,不用于限定本发明的保护范围,此处不再赘述。
[0106]步骤405:根据钩子函数标识,调用对应的钩子函数,以使得钩子函数对节点进行操作。
[0107]其中,本步骤的具体实现,属于本领域技术人员的惯用技术手段,不用于限定本发明的保护范围,此处不再赘述。
[0108]步骤406:向管理站发送用于指示查找成功的SNMP应答报文,用于指示查找成功的SNMP应答报文包括钩子函数对节点进行操作的结果信息。
[0109]其中,本步骤的具体实现,属于本领域技术人员的惯用技术手段,不用于限定本发明的保护范围,此处不再赘述。
[0110]通过如图4所示的流程,由于被管代理中可配置多个MIB树,并利用多个MIB树,构建MIB合集树,进而实现了对当前工作的MIB库的维护,从而满足了 SNMP协议的要求。而且当查找失败时,通过用于指示查找失败的SNMP应答报文通知管理人员,管理人员判断是否需要切换被管代理中的MIB库,如果需要,通过外部指令更新MIB库指针参数,从而控制被管代理切换MIB库。
[0111]图5为本发明实施例提供的维护MIB库的装置结构示意图,如图5所示,该装置包括获取单元500、合集树生成单元510和合集树编译单元520,其中,
[0112]获取单元500,用于获取两个或两个以上MIB树的第一 MIB文件,并将第一 MIB文件发送至合集树生成单元和合集树编译单元。
[0113]合集树生成单元510,用于接收获取单元发送的第一 MIB文件,并根据第一 MIB文件,生成MIB合集树的第二 MIB文件,并将第二 MIB文件发送至合集树编译单元。
[0114]其中,MIB合集树包括第一节点和第二节点,第一节点为MIB树中具有OID信息冲突的节点,第二节点为MIB树中不具有OID信息冲突的节点。
[0115]合集树编译单元520,用于接收获取单元发送的第一 MIB文件和合集树生成单元发送的第二 MIB文件,对第一 MIB文件和第二 MIB文件进行编译处理,得到每个MIB树的第一类MIB库文件和MIB合集树的第二类MIB库文件。
[0116]其中,第二类MIB库文件包括第一类MIB库文件中的节点标识和与节点标识对应的钩子函数标识。
[0117]进一步地,在本发明实施例中,合集树生成单元510具体用于:
[0118]根据第一 MIB文件,确定每个MIB树包含的节点;
[0119]将每个MIB树包含的节点划分为第一节点或者第二节点;
[0120]根据MIB合集树生成策略和划分结果,生成MIB合集树的第二 MIB文件。
[0121]更进一步地,在本发明实施例中,合集树生成单元510生成MIB合集树时依据的MIB合集树生成策略具体包括:
[0122]不改变每个MIB树中节点的层级;
[0123]每个MIB树中的第二节点在MIB合集树中保留一份;
[0124]每个MIB树中的第一节点在MIB合集树中具有不同的OID。
[0125]进一步地,本发明装置还包括:设置单元530,用于预先设置表明当前工作的第一类MIB库文件的MIB树指针参数。
[0126]进一步地,本发明装置还包括:更新单元540,用于根据获得的用于切换第一类MIB库的外部指令时更新MIB库指针参数。
[0127]进一步地,本发明装置还包括:
[0128]接收单元550,用于接收管理站发送的SNMP请求报文,SNMP请求报文包括节点的OID和对节点进行操作的操作类型信息;
[0129]确定单元560,用于根据MIB树指针参数,确定当前工作的第一类MIB库文件;
[0130]查找单元570,用于在确定出的第一类MIB库文件中查找到OID对应的节点标识;
[0131]查找单元570还用于,根据节点标识和操作类型信息,从第二类MIB库文件中查找到与节点标识对应的钩子函数标识;
[0132]调用单元580,用于根据钩子函数标识,调用对应的钩子函数,以使得钩子函数对节点进行操作;
[0133]发送单元590,用于向管理站发送用于指示查找成功的SNMP应答报文,用于指示查找成功的SNMP应答报文包括钩子函数对节点进行操作的结果信息。
[0134]通过本发明实施例装置,避免了基于现有技术方案进行MIB库切换时写入软件镜像的过程,明显减少了 MIB库切换的时间,有效提高了进行MIB库切换的效率;并且,对于需要应用于不同应用场景的同一型号的被管代理,通过本发明技术方案实现了被管代理的同一个软件镜像适用于不同的应用场景,有效地降低了维护的复杂度和成本。
[0135]虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进程任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【权利要求】
1.一种维护管理信息MIB库的方法,其特征在于,所述方法包括: 获取两个或两个以上MIB树的第一 MIB文件; 根据所述第一 MIB文件,生成MIB合集树的第二 MIB文件,所述MIB合集树包括第一节点和第二节点,所述第一节点为所述MIB树中具有对象标识符OID信息冲突的节点,所述第二节点为所述MIB树中不具有OID信息冲突的节点; 对所述第一 MIB文件和所述第二 MIB文件进行编译处理,得到每个所述MIB树的第一类MIB库文件和所述MIB合集树的第二类MIB库文件,所述第二类MIB库文件包括所述第一类MIB库文件中的节点标识和与所述节点标识对应的钩子函数标识。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一MIB文件,生成MIB合集树的第二 MIB文件具体包括: 根据所述第一 MIB文件,确定每个所述MIB树包含的节点; 将每个所述MIB树包含的节点划分为所述第一节点或者所述第二节点; 根据MIB合集树生成策略和所述划分结果,生成所述MIB合集树的第二 MIB文件。
3.根据权利要求2所述的方法,其特征在于,所述MIB合集树生成策略具体包括: 不改变每个所述MIB树中节点的层级; 每个所述MIB树中的第二节点在所述MIB合集树中保留一份; 每个所述MIB树中的第一节点在所述MIB合集树中具有不同的所述OID。
4.根据权利要求1?3任一项所述的方法,其特征在于,所述方法还包括: 预先设置用于表明当前工作的所述第一类MIB库文件的MIB树指针参数。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括: 根据获得的用于切换所述第一类MIB库的外部指令更新所述MIB库指针参数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括: 接收管理站发送的简单网络管理协议SNMP请求报文,所述SNMP请求报文包括节点的OID和对所述节点进行操作的操作类型信息; 根据所述MIB树指针参数,确定当前工作的所述第一类MIB库文件; 在确定出的所述第一类MIB库文件中查找到所述OID对应的节点标识; 根据所述节点标识和所述操作类型信息,从所述第二类MIB库文件中查找到与所述节点标识对应的钩子函数标识; 根据所述钩子函数标识,调用对应的钩子函数,以使得所述钩子函数对所述节点进行操作; 向所述管理站发送用于指示查找成功的SNMP应答报文,所述用于指示查找成功的SNMP应答报文包括所述钩子函数对所述节点进行操作的结果信息。
7.—种维护MIB库的装置,其特征在于,所述装置包括:获取单元、合集树生成单元和合集树编译单元; 所述获取单元,用于获取两个或两个以上MIB树的第一 MIB文件,并将所述第一 MIB文件发送至所述合集树生成单元和所述合集树编译单元; 所述合集树生成单元,用于接收所述获取单元发送的所述第一 MIB文件,根据所述第一 MIB文件,生成MIB合集树的第二 MIB文件,并将所述第二 MIB文件发送至所述合集树编译单元,所述MIB合集树包括第一节点和第二节点,所述第一节点为所述MIB树中具有OID信息冲突的节点,所述第二节点为所述MIB树中不具有OID信息冲突的节点; 所述合集树编译单元,用于接收所述获取单元发送的所述第一 MIB文件和所述合集树生成单元发送的所述第二 MIB文件,对所述第一 MIB文件和所述第二 MIB文件进行编译处理,得到每个所述MIB树的第一类MIB库文件和所述MIB合集树的第二类MIB库文件,所述第二类MIB库文件包括所述第一类MIB库文件中的节点标识和与所述节点标识对应的钩子函数标识。
8.根据权利要求7所述的装置,其特征在于,所述合集树生成单元具体用于: 根据所述第一 MIB文件,确定每个所述MIB树包含的节点; 将每个所述MIB树包含的节点划分为所述第一节点或者所述第二节点; 根据MIB合集树生成策略和所述划分结果,生成所述MIB合集树的第二 MIB文件。
9.根据权利要求8所述的装置,其特征在于,所述合集树生成单元生成所述MIB合集树时依据的所述MIB合集树生成策略包括: 不改变每个所述MIB树中节点的层级; 每个所述MIB树中的第二节点在所述MIB合集树中保留一份; 每个所述MIB树中的第一节点在所述MIB合集树中具有不同的所述OID。
10.根据权利要求7?9任一项所述的装置,其特征在于,所述装置还包括: 设置单元,用于预先设置表明当前工作的所述第一类MIB库文件的MIB树指针参数。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括: 更新单元,用于根据获得的用于切换所述第一类MIB库的外部指令更新所述MIB库指针参数。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括: 接收单元,用于接收管理站发送的SNMP请求报文,所述SNMP请求报文包括节点的OID和对所述节点进行操作的操作类型信息; 确定单元,用于根据所述MIB树指针参数,确定当前工作的所述第一类MIB库文件; 查找单元,用于在确定出的所述第一类MIB库文件中查找到所述OID对应的节点标识; 所述查找单元还用于,根据所述节点标识和所述操作类型信息,从所述第二类MIB库文件中查找到与所述节点标识对应的钩子函数标识; 调用单元,用于根据所述钩子函数标识,调用对应的钩子函数,以使得所述钩子函数对所述节点进行操作; 发送单元,用于向所述管理站发送用于指示查找成功的SNMP应答报文,所述用于指示查找成功的SNMP应答报文包括所述钩子函数对所述节点进行操作的结果信息。
【文档编号】H04L12/24GK104506366SQ201410838458
【公开日】2015年4月8日 申请日期:2014年12月29日 优先权日:2014年12月29日
【发明者】胡雨翠 申请人:瑞斯康达科技发展股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1