CN102299814B - 一种snmp代理上管理信息库的升级方法和系统 - Google Patents

一种snmp代理上管理信息库的升级方法和系统 Download PDF

Info

Publication number
CN102299814B
CN102299814B CN201010213090.4A CN201010213090A CN102299814B CN 102299814 B CN102299814 B CN 102299814B CN 201010213090 A CN201010213090 A CN 201010213090A CN 102299814 B CN102299814 B CN 102299814B
Authority
CN
China
Prior art keywords
patch
agent
node
manager
mib
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.)
Expired - Fee Related
Application number
CN201010213090.4A
Other languages
English (en)
Other versions
CN102299814A (zh
Inventor
许振华
李晋
陈潇
胡鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Fu Hai Sunshine Technology Co., Ltd.
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201010213090.4A priority Critical patent/CN102299814B/zh
Priority to PCT/CN2011/073668 priority patent/WO2011160497A1/zh
Publication of CN102299814A publication Critical patent/CN102299814A/zh
Application granted granted Critical
Publication of CN102299814B publication Critical patent/CN102299814B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种SNMP代理上管理信息库的升级方法和系统,能够实现对Agent上MIB的远程在线升级。所述升级方法包括:当管理者(Manager)启动升级后,Manager遍历操作本地MIB所有节点,向代理(Agent)发送请求,Agent根据接收到的请求判断出Manager上的MIB与本地MIB有差别,则将所述差别上报给所述Manager,所述Manager根据上报的差别确定需要同步的节点,构造相应补丁并将所述补丁下发到Agent,Agent根据接收到的补丁同步本地MIB。

Description

一种SNMP代理上管理信息库的升级方法和系统
技术领域
本发明涉及基于简单网络管理协议(Simple Network ManagementProtocol,简称SNMP)进行设备远程网络管理的领域,具体涉及SNMP代理(Agent)上管理信息库(Management Information Base,MIB)的升级方法和系统。
背景技术
SNMP协议是由互联网工程任务组定义的一套网络管理协议。利用SNMP,一个管理者(Manager)可以远程管理所有支持这种协议的网络设备。
SNMP管理模型有三个基本组成部分:管理者(Manager),代理(Agent)和管理信息库(Management Information Base,简称MIB),其中:
Manager驻留在管理设备中,管理设备一般是一个单机设备或是一个共享网络中的一员,Manager是网络管理员和网络管理系统的接口,将网络管理员的命令由SNMP协议转换成SNMP协议报文传递至驻留在被管理设备的Agent,通过Agent的MIB读取或设置被管理设备的参数。
Agent驻留在被管理设备中,是用于跟踪监测被管理设备状态的特殊软件或硬件,每个代理都拥有自己本地的MIB。Agent翻译来自Manager的协议报文请求,验证操作的可执行性,通过搜索MIB,查找对应的设备参数,执行请求操作,同时向Manager返回响应信息。
MIB包含被管理设备上所有可被查询和修改的操作对象,以及允许对该些操作对象进行的操作函数。从组织结构上,所有的操作对象被组织成为一个对象树,通常称作MIB树,如图1所示,树上的操作对象称为节点,每个节点关联若干个操作函数(如Get、Set、Get Next等,该些操作函数目前无统一中文术语),称为对该节点的操作。
在实际应用中,Manager将要访问的节点信息通过SNMP报文发送至Agent,Agent接收到的节点信息,在本地MIB树中查找到节点,并依据报文中指定的操作,调用不同的操作函数,实现对设备上某个参数的访问。
通过以上介绍可知,Manager上必须具有与Agent上相同结构的MIB,这样才能实现对Agent上所有MIB数据的访问。但是在实际使用中,由于需求变更等原因,需要对MIB进行升级,如图2所示的情况。一般作为Manager的均为PC机,且物理位置集中,所以对Manager上MIB可以方便地进行升级,但是对Agent之上的MIB,由于Agent物理位置分散,对其MIB进行升级难度很大。除此而外,当Agent为嵌入式系统时,其上运行的软件系统为一个整体,如果需要升级MIB,就需要将整个软件系统进行升级。
现有技术中通过以下方法解决上述问题:1)在Agent上预置多套MIB,或者若干个MIB片段,在需要对当前正在使用的MIB进行升级时,放弃正在使用的MIB,而使用预置的其他MIB;2)将需要的且在本地存在的MIB片段增加到正在使用的MIB中。
可以看出,无论是采用预置多套MIB的方法,还是采用预置MIB片段方法。所能够升级的MIB节点均受限于预置的MIB套数,或者预置的MIB片段数目。MIB扩展的灵活度差,另外预置的MIB信息必然带来Agent上的数据冗余。
发明内容
本发明要解决的技术问题是提供一种SNMP代理上管理信息库的升级方法和系统,能够实现对Agent上MIB的远程在线升级。
为解决上述技术问题,本发明提供了一种SNMP代理上管理信息库(MIB)升级方法,包括:
当管理者(Manager)启动升级后,Manager遍历操作本地MIB所有节点,向代理(Agent)发送请求,Agent根据接收到的请求判断出Manager上的MIB与本地MIB有差别,则将所述差别上报给所述Manager,所述Manager根据上报的差别确定需要同步的节点,构造相应补丁并将所述补丁下发到Agent,Agent根据接收到的补丁同步本地MIB。
进一步地,所述Manager和Agent的MIB中各包含一作为补丁控制节点的节点,两节点的对象标识符(OID)相同;所述方法还包括:预设所述补丁控制节点对应的操作用于指示Agent执行的动作,一个预设操作对应以下一个或多个动作:判断Manager上的MIB与本地MIB的差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB。
进一步地,所述Manager遍历操作本地MIB所有节点,向Agent发送请求的步骤包括:所述Manager向Agent发送一个或多个SNMP消息请求,以将Manager本地MIB中每个节点的OID及其对应的操作类型标识发送给Agent。
进一步地,所述Agent根据接收到的请求判断出Manager上的MIB与本地MIB有差别的步骤包括:Agent收到所述SNMP消息请求后,读取该消息请求中携带的OID及操作类型标识,所述操作类型标识所标识的操作触发Agent以节点为单位,判断并记录所述第一MIB与第二MIB的差别。
进一步地,所述Manage根据上报的差别确定需要同步的节点,构造相应补丁的步骤包括:
Manage根据上报的差别确定需要同步的节点包括新增的节点和删除的节点时,所述Manager构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的n个操作的地址,n≥0且n为整数;对于待删除的节点,该节点的OID对应的操作的地址个数n=0,即其对应的操作地址为空;对于待增加的节点,该节点的OID对应的操作的地址个数n>0,且所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
Manage根据上报的差别确定需要同步的节点仅包括新增的节点时,所述Manager构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的m个操作的地址,m>0且m为整数,所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
Manage根据上报的差别确定需要同步的节点仅包括删除的节点时,所述Manager构造的补丁包括注册表,所述注册表中包括多个待删除节点的OID,其对应的操作地址为空。
进一步地,所述Manager将补丁下发到Agent,Agent根据接收到的补丁同步本地MIB的步骤包括:Manager通过操作所述补丁控制节点指示所述Agent获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB。
进一步地,所述Manager通过操作所述补丁控制节点指示所述Agent获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB的步骤包括:所述Manager向Agent发送一个或多个SNMP消息请求,所述SNMP消息请求中包括所述补丁控制节点的OID以及预设操作的操作类型标识,所述Agent收到所述SNMP协议消息后,根据其中携带的操作类型标识执行相应的动作,完成获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB的动作。
进一步地,所述Agent根据所述补丁同步本地MIB的步骤包括:1)Agent从补丁中的注册表中选取一OID作为当前同步的OID;2)判断注册表中该OID对应操作地址是否为空,如果为空,则将本地MIB中的具有相同OID的节点删除,如果不为空,则进一步判断本地MIB中是否有相同OID的节点,如果有,则按照该OID对应的操作地址读取操作代码目标文件,获取更新内容,同步本地MIB中的具有相同OID的节点,如果没有,则以该OID在本地MIB中注册一新节点,根据从操作代码目标文件中读取的更新内容,同步新节点对应的操作;3)从补丁中的注册表中再选取一未同步过的OID作为当前同步的OID,执行上述步骤2);重复执行上述步骤2)和步骤3)直到注册表中的OID全部同步完毕。
进一步地,所述预设补丁控制节点对应的操作用于指示Agent执行的动作的步骤包括:预设所述补丁控制节点对应的第一操作用于指示Agent获取补丁,第二操作用于指示Agent解析补丁,第三操作用于指示Agent根据补丁同步本地MIB;所述Manager通过操作所述补丁控制节点指示所述Agent获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB的步骤包括:
当所述Manager指示Agent获取补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID、第一操作的操作类型标识以及补丁内容;当所述Manager指示Agent解析补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID以及第二操作的操作类型标识;当所述Manager指示Agent根据接收到的补丁同步本地MIB时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID以及第三操作的操作类型标识;所述Agent根据接收到的SNMP消息请求携带的内容执行相应的动作;或者
当所述Manager指示Agent获取补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID、第一操作的操作类型标识以及补丁内容;当所述Manager指示Agent解析补丁和根据接收到的补丁同步本地MIB时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID以及第二操作的操作类型标识;所述Agent根据接收到的SNMP消息请求携带的内容执行相应的动作。
为解决上述技术问题,本发明提供了一种SNMP代理上管理信息库(MIB)升级系统,包括管理者(Manager)和代理(Agent),其中:
所述Manager,用于在启动升级后,Manager遍历操作本地MIB所有节点,向Agent发送请求;以及用于根据Agent上报的差别确定需要同步的节点,构造相应补丁并将所述补丁下发到Agent;
所述Agent,用于根据接收到的请求判断出Manager上的MIB与本地MIB有差别,则将所述差别上报给所述Manager;以及用于根据接收到的补丁同步本地MIB。
进一步地,所述Manager进一步包括:第一MIB、发送单元、补丁构造单元,其中:
所述第一MIB中至少包括一作为补丁控制节点的节点,所述节点对应多个操作,预设所述操作用于指示Agent执行以下一个或多个动作:判断Manager上的MIB与本地MIB的差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地第二MIB;
所述发送单元,用于在启动升级后,遍历操作所述第一MIB所有节点,向Agent发送请求;以及用于基于所述补丁构造单元的触发将所述补丁下发到Agent;
所述补丁构造单元,用于在接收到Agent上报的MIB差别后,根据所述差别确定需要同步的节点,构造相应补丁,并触发所述发送单元;
所述Agent进一步包括第二MIB、差别判断单元、上报单元、同步单元,其中:
所述第二MIB中至少包括一作为补丁控制节点的节点,该补丁控制节点的对象标识符(OID)与第一MIB中的补丁控制节点的OID相同,所述节点对应多个操作,预设所述操作用于执行以下一个或多个动作:判断Manager上的MIB与本地MIB的差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地第二MIB;
所述差别判断单元,用于在接收到所述Manager的发送单元发送的请求后,根据所述请求判断出Manager上的第一MIB与本地第二MIB有差别,则收集差别并触发上报单元;
所述上报单元,用于基于所述差别判断单元的触发,将所述差别上报给所述Manager;
所述同步单元,用于在接收到所述Manager的发送单元发送的补丁后,根据所述补丁同步本地第二MIB。
进一步地,所述发送单元,向Agent发送的请求包括一个或多个SNMP消息请求,以将Manager本地第一MIB中每个节点的OID及其对应的操作类型标识发送给Agent;所述差别判断单元,进一步用于基于该消息请求中携带的操作类型标识对应的操作的触发,以节点为单位,判断并记录所述第一MIB与第二MIB的差别。
进一步地,所述补丁构造单元在确定需要同步的节点包括新增的节点和删除的节点时,构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的n个操作的地址,n≥0且n为整数;对于待删除的节点,该节点的OID对应的操作的地址个数n=0,即其对应的操作地址为空;对于待增加的节点,该节点的OID对应的操作的地址个数n>0,且所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
所述补丁构造单元在确定需要同步的节点仅包括新增的节点时,构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的m个操作的地址,m>0且m为整数,所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
所述补丁构造单元在确定需要同步的节点仅包括删除的节点时,构造的补丁包括注册表,所述注册表中包括多个待删除节点的OID,其对应的操作地址为空。
进一步地,所述发送单元,进一步用于向Agent发送一个或多个SNMP消息请求,所述SNMP消息请求中包括所述补丁控制节点的OID以及预设操作的操作类型标识;所述同步单元,进一步用于收到所述SNMP协议消息后,根据其中携带的操作类型标识执行以下动作,获取补丁、解析补丁,以及根据接收到的补丁同步本地第二MIB。
本发明通过“补丁”方式实现Agent上MIB的升级有以下优点:
1)“补丁”的制作可以借用其他平台(如PC机),不需要Agent参与;
2)通过制作不同的“补丁”可以实现对MIB的灵活扩展;
3)可以实现对Agent上MIB的远程在线升级,较现有方法更为简洁、灵活。
附图说明
图1为SNMP网络管理中MIB树示意图;
图2为Manager与Agent上MIB不相同引发升级需求的示意图;
图3为本发明实施例流程图;
图4为本发明实施例“补丁”结构图。
具体实施方式
由于MIB从组织结构上呈“树状”结构,对MIB的升级也就是向MIB中添加若干节点及其对应的操作,或者从其中删除若干节点及其对应的操作。因此,本发明考虑将扩展部分的节点及其操作制作成“补丁”,Manager通过控制Agent动态地启用或删除该补丁,以实现对Agent上MIB的升级。
本发明的发明构思是:当Manager启动升级后,Manager遍历操作本地MIB所有节点,向Agent发送请求,Agent根据接收到的请求判断Manager上的MIB与本地MIB是否有差别,如果有差别,则将所述差别上报给所述Manager,所述Manager根据上报的差别确定需要同步的节点,构造相应补丁并将所述补丁下发到Agent,Agent根据接收到的补丁同步本地MIB。如果没有差别,则本次升级过程结束。
优选地,在设计MIB(包括Manager的MIB和Agent的MIB)时,任意选择其中一节点作为补丁控制节点,即所述Manager和Agent的MIB中各包含一个作为补丁控制节点的节点,该节点在Manager中的OID和在Agent中的OID相同;预设所述补丁控制节点对应的操作用于指示Agent执行的动作,一个预设操作对应以下一个或多个动作:判断Manager上的MIB与本地MIB是否有差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB。
所述Manager将补丁下发到Agent,Agent根据接收到的补丁同步本地MIB的步骤包括:Manager通过操作所述补丁控制节点指示所述Agent获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB。进一步地,所述Manager向Agent发送一个或多个SNMP消息请求,所述SNMP消息请求中包括所述补丁控制节点的OID以及预设操作的操作类型标识,所述Agent收到所述SNMP协议消息后,根据其中携带的操作类型标识执行相应的动作,完成获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB的动作。
具体地,所述补丁控制节点对应若干操作,预设所述补丁控制节点对应的第一操作用于指示Agent获取补丁,第二操作用于指示Agent解析补丁,第三操作用于指示Agent根据补丁同步本地MIB;当所述Manager指示Agent获取补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID(Object Identifiers,对象标识符)、第一操作的操作类型标识以及补丁内容;当所述Manager指示Agent解析补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID以及第二操作的操作类型标识;当所述Manager指示Agent根据接收到的补丁同步本地MIB时,所述Manager向Agent发送的SNMP协议消息中包括所述补丁控制节点的OID以及第三操作的操作类型标识。Agent收到所述SNMP消息请求后,根据接收到的SNMP消息请求携带的内容执行相应的动作。
上述第一操作、第二操作和第三操作可以相同也可以不同,可在Agent的流程中规定何时在收到哪种操作类型标识时执行怎样的动作,但需要与Manager统一设定。
优选地,Manger可根据一操作类型标识指示Agent执行两步以上的动作,例如,Manager发送补丁控制节点的OID以及第二操作的操作类型标识,通过该第二操作的操作类型标识指示Agent解析补丁及同步本地MIB,此时可认为第二操作与第三操作相同。
所述Manager遍历操作本地MIB所有节点,向Agent发送请求的步骤包括:所述Manager向Agent发送一个或多个SNMP消息请求,以将Manager本地MIB中每个节点的OID及其对应的某一操作x的操作类型标识发送给Agent。优选地,Manager本地MIB中有m个节点时,Manager向Agent发送m条SNMP消息请求,每条消息请求中携带一个节点的OID及其对应的操作x的操作类型标识。
预设所述补丁控制节点对应的操作x用于指示Agent判断Manager上的MIB与本地MIB是否有差别;所述Agent根据接收到的请求判断Manager上的MIB与本地MIB是否有差别的步骤包括:Agent收到该消息请求后,读取该消息请求中携带的OID及操作类型标识,所述操作类型标识所标识的操作x触发Agent以节点为单位,判断并记录所述第一MIB与第二MIB的差别,具体包括:Agent判断本地MIB中是否有与消息请求中的OID相同的OID,如果有,则判断该本地节点与Manager上的节点无差别,如果没有,则判断该本地节点与Manager上的节点有差别,并记录所述差别;当判断完所有消息请求中的OID后,判断本地MIB中是否还有未进行过比较的节点,如果有,则判断该节点与Manager上的节点有差别,并记录该差别,如果没有,判断操作结束。优选地,Agent记录的差别包括节点OID。
优选地,可分类记录差别:包括Manager上存在而本地不存在的MIB节点,以及本地存在而Manager上不存在的MIB节点。
对应不同的情况所述Manager构造的补丁包括的内容不同,有以下几种:
1)所述同步操作包括新增节点和删除节点时,即Manage根据上报的差别确定需要同步的节点包括新增的节点和删除的节点时,所述补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的n个操作的地址(n≥0,且n为整数),对于待删除的节点,该节点的OID对应的操作的地址个数n=0时,即其对应的操作地址为空;对于待增加的节点,该节点的OID对应的操作的地址个数n>0,且所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容(所述内容以目标代码形式给出),该OID表示的节点对应的操作需被更新或该节点需被增加。
2)所述同步操作仅包括新增节点时,即Manage根据上报的差别确定需要同步的节点仅包括新增的节点时,所述补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的m个操作的地址(m>0,且n为整数),所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容(所述内容以目标代码形式给出)。
如果OID相同但对应的操作不同时,可按照新增节点的流程进行更新。
3)所述同步操作仅包括删除节点时,即Manage根据上报的差别确定需要同步的节点仅包括删除的节点时,所述补丁包括注册表,所述注册表中包括多个待删除节点的OID,其对应的操作地址为空。
所述根据补丁同步Agent本地MIB的步骤包括:1)Agent从补丁中的注册表中选取一OID作为当前同步的OID;2)判断注册表中该OID对应操作地址是否为空,如果为空,则将本地MIB中的具有相同OID的节点删除,如果不为空,则进一步判断本地MIB中是否有相同OID的节点,如果有,则按照该OID对应的操作地址读取操作代码目标文件,获取更新内容,同步本地MIB中的具有相同OID的节点,如果没有,则以该OID在本地MIB中注册一新节点,根据从操作代码目标文件中读取的更新内容,同步新节点对应的操作;3)从补丁中的注册表中再选取一未同步过的OID作为当前同步的OID,执行上述步骤2);重复执行上述步骤2)和步骤3)直到注册表中的OID全部同步完毕。
注册表的设计是为了实现动态扩展节点的灵活配置,补丁控制节点每次按照注册表中的MIB节点进行扩展,注册表中不存在的MIB节点,即使操作代码目标文件中存在该MIB的操作代码,也不会进行扩展。
实现上述升级方法的系统,包括Manager和Agent,其中:
所述Manager,用于在启动升级后,Manager遍历操作本地MIB所有节点,向Agent发送请求;以及用于根据Agent上报的差别确定需要同步的节点,构造相应补丁并将所述补丁下发到Agent;
所述Agent,用于根据接收到的请求判断Manager上的MIB与本地MIB是否有差别,如果有差别,则将所述差别上报给所述Manager;以及用于根据接收到的补丁同步本地MIB。
优选地:所述Manager进一步包括:第一MIB、发送单元、补丁构造单元,其中:
所述第一MIB中至少包括一作为补丁控制节点的节点,所述节点对应多个操作,预设所述操作用于指示Agent执行以下一个或多个动作:判断Manager上的MIB与本地MIB是否有差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地第二MIB;
所述发送单元,用于在启动升级后,遍历操作所述第一MIB所有节点,向Agent发送请求;以及用于基于所述补丁构造单元的触发将所述补丁下发到Agent;
所述补丁构造单元,用于在接收到Agent上报的MIB差别后,根据所述差别确定需要同步的节点,构造相应补丁,并触发所述发送单元;
优选地:所述Agent进一步包括第二MIB、差别判断单元、上报单元、同步单元,其中:
所述第二MIB中至少包括一作为补丁控制节点的节点,该补丁控制节点的OID与第一MIB中的补丁控制节点的OID相同,所述节点对应多个操作,预设所述操作用于执行以下一个或多个动作:判断Manager上的MIB与本地MIB是否有差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地第二MIB;
所述差别判断单元,用于在接收到所述Manager的发送单元发送的请求后,根据所述请求判断Manager上的第一MIB与本地第二MIB是否有差别,如果有差别,则收集差别并触发上报单元;
所述上报单元,用于基于所述差别判断单元的触发,将所述差别上报给所述Manager;
所述同步单元,用于在接收到所述Manager的发送单元发送的补丁后,根据所述补丁同步本地第二MIB。
优选地,所述发送单元,向Agent发送的请求包括一个或多个SNMP消息请求,以将Manager本地第一MIB中每个节点的OID及其对应的操作类型标识发送给Agent;
所述差别判断单元,进一步用于基于该消息请求中携带的操作类型标识对应的操作的触发,以节点为单位,判断并记录所述第一MIB与第二MIB的差别;所述差别包括:Manager上存在而本地不存在的MIB节点,以及本地存在而Manager上不存在的MIB节点。判断操作的一种形式是:判断本地第二MIB中是否有与消息请求中的OID相同的OID,如果有,则判断该本地节点与Manager上的节点无差别,如果没有,则判断该本地节点与Manager上的节点有差别,并记录所述差别;当判断完所有消息请求中的OID后,判断本地MIB中是否还有节点未进行过比较,如果有则判断该节点与Manager上的节点有差别,并记录该差别,如果没有,判断操作结束。
优选地,所述补丁构造单元在确定需要同步的节点包括新增的节点和删除的节点时,构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的n个操作的地址,n≥0且n为整数;对于待删除的节点,该节点的OID对应的操作的地址个数n=0,即其对应的操作地址为空;对于待增加的节点,该节点的OID对应的操作的地址个数n>0,且所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
所述补丁构造单元在确定需要同步的节点仅包括新增的节点时,构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的m个操作的地址,m>0且m为整数,所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
所述补丁构造单元在确定需要同步的节点仅包括删除的节点时,构造的补丁包括注册表,所述注册表中包括多个待删除节点的OID,其对应的操作地址为空。
优选地,所述发送单元,进一步用于向Agent发送一个或多个SNMP消息请求,所述SNMP消息请求中包括所述补丁控制节点的OID以及预设操作的操作类型标识;
所述同步单元,进一步用于收到所述SNMP协议消息后,根据其中携带的操作类型标识执行以下动作,获取补丁、解析补丁,以及根据接收到的补丁同步本地第二MIB。
下面结合附图和具体实施例对本发明做进一步的阐述。
如图3所示,预先在MIB设计时,预设一个补丁控制节点;该节点除了具有一般MIB节点具有的操作外,还具有控制Agent上MIB升级过程的功能,包括Agent和Manager各自MIB差异的传输,补丁的传输,以及通知Agent根据补丁进行同步操作;实现MIB升级的方法包括:
步骤1:Manager激活Agent上补丁流程,即Agent发送进入补丁流程的通知;
步骤2:Agent向Manager发送已进入补丁流程的响应;
步骤3:Manager遍历操作本地MIB,向Agent发送SNMP请求,其中包括节点OID以及对应的操作类型标识;
步骤4:Agent接收到Manager发送的请求后,由该操作类型标识所标识的操作触发Agent进行比较Agent本地MIB与Manager上MIB差别的操作,Agent收集该差别后上报给Manager,所述差别包括Manager上存在而本地不存在的MIB节点,以及本地存在而Manager上不存在的MIB节点;
步骤5:Manager根据Agent上报的Agent本地MIB与Manager上MIB的差别,制作对应的补丁,并通过操作补丁控制节点,将补丁发送给Agent;
该补丁结构如图4所示,包含:待同步MIB节点的操作代码目标文件,以及待同步MIB节点的OID与对应操作的注册表。该注册表每一个表项为OID与其多种操作的对应。如前所述,OID对应的操作地址为空时,则表示需要Agent删除该节点,如果OID对应的操作地址不为空,则表示需要Agent更新该节点。本实施例所给出的图4仅为示例。
步骤6:Agent成功接收补丁后,以Trap形式,即主动发送Trap报文的方式,通知Manager接收成功;
步骤7:Manager操作补丁控制节点,启动Agent解析该“补丁”的操作;
步骤8:Agent解析补丁,并根据补丁同步本地MIB;
具体地,读取补丁中的注册表(结构如图4),遍历该注册表,提取出每一个节点的OID和相关操作的目标代码信息。
以补丁中仅包括新增节点为例,Agent将解析得到的节点OID注册到现有MIB中相应的分支,按照本地MIB中节点的数据结构,构造一个节点结构用来挂接该OID的若干中操作代码。如果Agent解析到的节点OID在本地MIB中存在,则采用覆盖的方式更新本地节点。
步骤9:同步完成后,Agent以Trap形式通知Manager本次新增的节点OID完成;
步骤10:Manager操作补丁控制节点,通知Agent补丁流程结束。
上文描述了一种利用“补丁”技术对Agent中MIB进行远程在线升级的方法实例,其中可以看出本发明所提出的方法不需要在近端逐一对网络内被管理设备Agent的MIB进行重新制作并更换,只需在Agent上增加“补丁”方式的少量支撑机制就可以实现MIB的灵活升级,有很强的实用性。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有其他多种实例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可对本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
此外,本发明还可以有其它改进方法,如对“补丁”程序制作方法的修改,对获取补丁方法的修改等等,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (13)

1.一种SNMP代理上管理信息库MIB升级方法,包括:
当管理者Manager启动升级后,Manager遍历操作本地MIB所有节点,向代理Agent发送请求,Agent根据接收到的请求判断出Manager上的MIB与本地MIB有差别,则将所述差别上报给所述Manager,所述Manager根据上报的差别确定需要同步的节点,构造相应补丁并将所述补丁下发到Agent,Agent根据接收到的补丁同步本地MIB;
所述Manager和Agent的MIB中各包含一作为补丁控制节点的节点,两节点的对象标识符OID相同;
所述方法还包括:预设所述补丁控制节点对应的操作用于指示Agent执行的动作,一个预设操作对应以下一个或多个动作:判断Manager上的MIB与本地MIB的差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB。
2.如权利要求1所述的方法,其特征在于:所述Manager遍历操作本地MIB所有节点,向Agent发送请求的步骤包括:
所述Manager向Agent发送一个或多个SNMP消息请求,以将Manager本地MIB中每个节点的OID及其对应的操作类型标识发送给Agent。
3.如权利要求2所述的方法,其特征在于:所述Agent根据接收到的请求判断出Manager上的MIB与本地MIB有差别的步骤包括:
Agent收到所述SNMP消息请求后,读取该消息请求中携带的OID及操作类型标识,所述操作类型标识所标识的操作触发Agent以节点为单位,判断并记录所述Manager上的MIB与本地MIB的差别。
4.如权利要求1所述的方法,其特征在于:所述Manager根据上报的差别确定需要同步的节点,构造相应补丁的步骤包括:
Manager根据上报的差别确定需要同步的节点包括新增的节点和删除的节点时,所述Manager构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的n个操作的地址,n≥0且n为整数;对于待删除的节点,该节点的OID对应的操作的地址个数n=0,即其对应的操作地址为空;对于待增加的节点,该节点的OID对应的操作的地址个数n>0,且所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
Manager根据上报的差别确定需要同步的节点仅包括新增的节点时,所述Manager构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的m个操作的地址,m>0且m为整数,所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
Manager根据上报的差别确定需要同步的节点仅包括删除的节点时,所述Manager构造的补丁包括注册表,所述注册表中包括多个待删除节点的OID,其对应的操作地址为空。
5.如权利要求1所述的方法,其特征在于:所述Manager将补丁下发到Agent,Agent根据接收到的补丁同步本地MIB的步骤包括:
Manager通过操作所述补丁控制节点指示所述Agent获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB。
6.如权利要求5所述的方法,其特征在于:所述Manager通过操作所述补丁控制节点指示所述Agent获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB的步骤包括:
所述Manager向Agent发送一个或多个SNMP消息请求,所述SNMP消息请求中包括所述补丁控制节点的OID以及预设操作的操作类型标识,所述Agent收到所述SNMP协议消息后,根据其中携带的操作类型标识执行相应的动作,完成获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB的动作。
7.如权利要求4或5或6所述的方法,其特征在于:所述Agent根据所述补丁同步本地MIB的步骤包括:
1)Agent从补丁中的注册表中选取一OID作为当前同步的OID;
2)判断注册表中该OID对应操作地址是否为空,如果为空,则将本地MIB中的具有相同OID的节点删除,如果不为空,则进一步判断本地MIB中是否有相同OID的节点,如果有,则按照该OID对应的操作地址读取操作代码目标文件,获取更新内容,同步本地MIB中的具有相同OID的节点,如果没有,则以该OID在本地MIB中注册一新节点,根据从操作代码目标文件中读取的更新内容,同步新节点对应的操作;
3)从补丁中的注册表中再选取一未同步过的OID作为当前同步的OID,执行上述步骤2);
重复执行上述步骤2)和步骤3)直到注册表中的OID全部同步完毕。
8.如权利要求5或6所述的方法,其特征在于:
所述补丁控制节点对应的操作用于指示Agent执行的动作的步骤包括:所述补丁控制节点对应的第一操作用于指示Agent获取补丁,第二操作用于指示Agent解析补丁,第三操作用于指示Agent根据补丁同步本地MIB;
所述Manager通过操作所述补丁控制节点指示所述Agent获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB的步骤包括:
当所述Manager指示Agent获取补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID、第一操作的操作类型标识以及补丁内容;当所述Manager指示Agent解析补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID以及第二操作的操作类型标识;当所述Manager指示Agent根据接收到的补丁同步本地MIB时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID以及第三操作的操作类型标识;所述Agent根据接收到的SNMP消息请求携带的内容执行相应的动作;或者
当所述Manager指示Agent获取补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID、第一操作的操作类型标识以及补丁内容;当所述Manager指示Agent解析补丁和根据接收到的补丁同步本地MIB时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID以及第二操作的操作类型标识;所述Agent根据接收到的SNMP消息请求携带的内容执行相应的动作。
9.一种SNMP代理上管理信息库MIB升级系统,包括管理者Manager和代理Agent,其中:
所述Manager,用于在启动升级后,Manager遍历操作本地MIB所有节点,向Agent发送请求;以及用于根据Agent上报的差别确定需要同步的节点,构造相应补丁并将所述补丁下发到Agent;
所述Agent,用于根据接收到的请求判断出Manager上的MIB与本地MIB有差别,则将所述差别上报给所述Manager;以及用于根据接收到的补丁同步本地MIB;
所述Manager进一步包括:Manager上的MIB,所述Manager上的MIB中至少包括一作为补丁控制节点的节点,所述节点对应多个操作,预设所述操作用于指示Agent执行以下一个或多个动作:判断Manager上的MIB与本地MIB的差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB;
所述Agent进一步包括:本地MIB,所述本地MIB中至少包括一作为补丁控制节点的节点,该补丁控制节点的对象标识符OID与Manager上的MIB中的补丁控制节点的OID相同,所述节点对应多个操作,预设所述操作用于执行以下一个或多个动作:判断Manager上的MIB与本地MIB的差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB。
10.如权利要求9所述的系统,其特征在于:
所述Manager进一步包括:发送单元、补丁构造单元,其中:
所述发送单元,用于在启动升级后,遍历操作所述Manager上的MIB所有节点,向Agent发送请求;以及用于基于所述补丁构造单元的触发将所述补丁下发到Agent;
所述补丁构造单元,用于在接收到Agent上报的MIB差别后,根据所述差别确定需要同步的节点,构造相应补丁,并触发所述发送单元;
所述Agent进一步包括:差别判断单元、上报单元、同步单元,其中:
所述差别判断单元,用于在接收到所述Manager的发送单元发送的请求后,根据所述请求判断出Manager上的MIB与本地MIB有差别,则收集差别并触发上报单元;
所述上报单元,用于基于所述差别判断单元的触发,将所述差别上报给所述Manager;
所述同步单元,用于在接收到所述Manager的发送单元发送的补丁后,根据所述补丁同步本地MIB。
11.如权利要求10所述的系统,其特征在于:
所述发送单元,向Agent发送的请求包括一个或多个SNMP消息请求,以将Manager上的MIB中每个节点的OID及其对应的操作类型标识发送给Agent;
所述差别判断单元,进一步用于基于该消息请求中携带的操作类型标识对应的操作的触发,以节点为单位,判断并记录所述Manager上的MIB与本地MIB的差别。
12.如权利要求10所述的系统,其特征在于:
所述补丁构造单元在确定需要同步的节点包括新增的节点和删除的节点时,构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的n个操作的地址,n≥0且n为整数;对于待删除的节点,该节点的OID对应的操作的地址个数n=0,即其对应的操作地址为空;对于待增加的节点,该节点的OID对应的操作的地址个数n>0,且所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
所述补丁构造单元在确定需要同步的节点仅包括新增的节点时,构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的m个操作的地址,m>0且m为整数,所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
所述补丁构造单元在确定需要同步的节点仅包括删除的节点时,构造的补丁包括注册表,所述注册表中包括多个待删除节点的OID,其对应的操作地址为空。
13.如权利要求12所述的系统,其特征在于:
所述发送单元,进一步用于向Agent发送一个或多个SNMP消息请求,所述SNMP消息请求中包括所述补丁控制节点的OID以及预设操作的操作类型标识;
所述同步单元,进一步用于收到所述SNMP协议消息后,根据其中携带的操作类型标识执行以下动作,获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB。
CN201010213090.4A 2010-06-24 2010-06-24 一种snmp代理上管理信息库的升级方法和系统 Expired - Fee Related CN102299814B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010213090.4A CN102299814B (zh) 2010-06-24 2010-06-24 一种snmp代理上管理信息库的升级方法和系统
PCT/CN2011/073668 WO2011160497A1 (zh) 2010-06-24 2011-05-04 一种snmp代理上管理信息库的升级方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010213090.4A CN102299814B (zh) 2010-06-24 2010-06-24 一种snmp代理上管理信息库的升级方法和系统

Publications (2)

Publication Number Publication Date
CN102299814A CN102299814A (zh) 2011-12-28
CN102299814B true CN102299814B (zh) 2014-09-10

Family

ID=45360001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010213090.4A Expired - Fee Related CN102299814B (zh) 2010-06-24 2010-06-24 一种snmp代理上管理信息库的升级方法和系统

Country Status (2)

Country Link
CN (1) CN102299814B (zh)
WO (1) WO2011160497A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486344A (zh) * 2014-12-22 2015-04-01 上海斐讯数据通信技术有限公司 一种基于snmp的用户访问系统及其访问方法
CN105426505A (zh) * 2015-11-26 2016-03-23 上海斐讯数据通信技术有限公司 管理信息库文件处理系统以及方法
CN107294749A (zh) * 2016-03-31 2017-10-24 北京优朋普乐科技有限公司 一种更新管理信息库mib的系统及方法
CN106709051B (zh) * 2017-01-06 2020-04-07 腾讯科技(深圳)有限公司 一种比对信息展示的方法、设备及系统
CN108958758A (zh) * 2017-05-23 2018-12-07 大唐移动通信设备有限公司 一种管理信息库mib数据管理方法及装置
CN110018835B (zh) * 2018-01-09 2022-08-02 中兴通讯股份有限公司 Yang模型配置数据处理方法及装置、终端设备及存储介质
CN110034943B (zh) * 2018-01-12 2020-12-04 大唐移动通信设备有限公司 一种删除管理信息库mib的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1910854A (zh) * 2004-01-15 2007-02-07 Ut斯达康韩国公司 使用元管理信息库的自动更新系统以及方法
CN101242302A (zh) * 2008-03-12 2008-08-13 华为技术有限公司 一种数据同步的方法、设备及系统
CN101729286A (zh) * 2008-10-21 2010-06-09 大唐移动通信设备有限公司 修改代理端管理信息库中变量的方法、设备及系统
CN101753351A (zh) * 2008-12-11 2010-06-23 大唐移动通信设备有限公司 管理信息库扩展、去扩展方法、管理对象查找方法及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1910854A (zh) * 2004-01-15 2007-02-07 Ut斯达康韩国公司 使用元管理信息库的自动更新系统以及方法
CN101242302A (zh) * 2008-03-12 2008-08-13 华为技术有限公司 一种数据同步的方法、设备及系统
CN101729286A (zh) * 2008-10-21 2010-06-09 大唐移动通信设备有限公司 修改代理端管理信息库中变量的方法、设备及系统
CN101753351A (zh) * 2008-12-11 2010-06-23 大唐移动通信设备有限公司 管理信息库扩展、去扩展方法、管理对象查找方法及设备

Also Published As

Publication number Publication date
WO2011160497A1 (zh) 2011-12-29
CN102299814A (zh) 2011-12-28

Similar Documents

Publication Publication Date Title
CN102299814B (zh) 一种snmp代理上管理信息库的升级方法和系统
CN106911524B (zh) 一种ha实现方法及装置
US7702667B2 (en) Methods and systems for validating accessibility and currency of replicated data
CN101645801B (zh) 基于集群管理的软件版本升级方法及命令交换机
CN100479575C (zh) 在设备管理中实现预定操作的方法及装置
RU2417416C2 (ru) Развертывание решений в ферме серверов
US7340578B1 (en) Method and apparatus for maintaining an accurate inventory of storage capacity in a clustered data processing system
CN101753362B (zh) 分布式网络设备中堆叠虚拟局域网的配置方法及装置
CN107704252A (zh) 一种向用户提供人工智能平台的方法及系统
CN101300779B (zh) 一种向订购者提供服务的方法和系统
CN106301829A (zh) 一种网络业务扩容的方法和装置
JP2003099410A (ja) 複数装置管理の方法およびシステム
CN104715001A (zh) 用于对数据处理系统的集群中的共享资源执行写入操作的方法和系统
CN110768807B (zh) 虚拟资源方法及装置、虚拟资源处理网元及存储介质
CN105959390A (zh) 微服务的统一管理系统及方法
CN108710681A (zh) 文件获取方法、装置、设备及存储介质
CN101702158A (zh) 一种索引文件创建同步方法和搜索系统
CN101789980A (zh) 一种基于集群网络批量升级的方法
CN108011846A (zh) 网络功能虚拟化架构中管理业务的方法及装置
CN105049502A (zh) 一种云端网络管理系统中设备软件更新的方法和装置
CN104636437A (zh) 一种事件通知方法、监听器的处理方法及装置
CN107633053A (zh) 一种文件管理方法、装置及系统
CN110413262A (zh) 一种业务功能的管理方法、装置及系统
EP4050850A1 (en) Service upgrading method, device and system
JP2006025434A (ja) 大容量障害相関システム及び方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180314

Address after: 518000, two 703A, COFCO business park, two Xian Xian Road, Xin'an, Shenzhen, Guangdong, Baoan District

Patentee after: Shenzhen Fu Hai Sunshine Technology Co., Ltd.

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Patentee before: ZTE Corporation

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140910

Termination date: 20190624