Snmp网管系统及snmp请求的处理方法

文档序号:7730201阅读:227来源:国知局
专利名称:Snmp网管系统及snmp请求的处理方法
技术领域
本发明涉及网络设备管理技术,特别涉及一种SNMP网管系统,以及该网管系统对 SNMP请求的处理方法。
背景技术
随着计算机网络的逐步发展,网络中的设备越来越多,网络变得越来越复杂,网管系统的重要性也越来越明显。SNMP (简单网络管理协议)网管系统是基于SNMP协议的网络管理系统,其包括SNMP网管工作站及被管理设备;SNMP网管工作站通过SNMP报文(SNMP协议定义了 Get-Request>Get-Next-Request>Get-Response>Set-Request 禾Π Trap 五禾中 SNMP 报文)与被管理设备之间进行通信,读取或设置设备MIB (管理信息库)信息,实现网络管理功能。如果网管工作站中多个应用进程均通过SNMP协议直接向被管理设备发起SNMP请求,这些SNMP请求中可能有部分是重复的,因此,会造成影响网络管理效率及占用网络资源的问题。

发明内容
本发明所要解决的技术问题是提出一种SNMP网管系统及对SNMP请求的处理方法,解决传统技术中可能由于SNMP请求的重复造成的影响网络管理效率及占用网络资源的问题。本发明解决上述技术问题所采用的方案是SNMP网管系统,包括网管工作站和至少一个被管理设备;所述网管工作站用于按照被管理设备ID对SNMP请求中的OID进行归类,在滤除重复的OID后生成OID队列,将OID队列中的OID封装至SNMP报文中发送给对应的被管理设备;所述被管理设备接收网管工作站发送的SNMP报文,解析出SNMP请求后执行相关命令并发送响应到网管工作站。进一步,所述网管工作站包括SNMP请求处理模块用于按照被管理设备ID对SNMP请求中的OID进行归类,在滤除重复的OID后生成和该被管理设备对应的OID队列;OID队列缓存模块用于对生成的OID队列进行缓存;线程交互模块用于启动一个线程,向被管理设备发送包含SNMP请求的SNMP报文。具体的,所述线程交互模块向被管理设备发送的SNMP报文中封装有OID队列中的 0ID。更进一步的,所述SNMP报文中封装的OID至少为一个。本发明的另一个目的是,提供一种SNMP请求的处理方法,具体方案包括以下步骤
a. SNMP请求处理模块在收到SNMP请求后,按照被管理设备ID对SNMP请求中的 OID进行归类,并滤除重复的OID后生成和该被管理设备对应的OID队列;b.启用一个线程,将OID队列中的OID封装至SNMP报文中发送给对应的被管理设备。进一步,步骤a中,SNMP请求处理模块在收到SNMP请求后,按照被管理设备ID对 SNMP请求中的OID进行归类,并滤除重复的OID后生成和该被管理设备对应的OID队列的具体方法是al. SNMP请求处理模块接收SNMP请求;a2.将该SNMP请求中包含的OID按被管理设备ID进行分类;a3.判断OID队列缓存模块中当前是否存在由被管理设备ID唯一标识的OID队列,如果存在,则执行步骤a4 ;否则,先创建和该被管理设备对应的OID队列,再执行步骤 a4 ;a4.判断所述该SNMP请求中包含的OID是否与OID队列中已存在的OID重复,如果是,则将该SNMP请求中与OID队列中已存在的OID重复的OID删除,将剩余的OID添加至OID队列中;如果该SNMP请求中包含的OID与OID队列中已存在的OID不重复,则将该 SNMP请求中包含的OID直接添加至OID队列中。更进一步的,本SNMP请求的处理方法还包括步骤c.被管理设备接收网管工作站发送的SNMP报文,解析出SNMP请求后执行相关命令并发送响应到网管工作站具体的,所述SNMP报文中封装的OID至少为一个。本发明的有益效果是通过对SNMP请求进行预处理,对请求中重复使用的OID做到一次采集多次使用,有效避免重复采集,减少网络资源的占用;采用异步模式处理请求, 避免了因设备响应导致的阻塞问题。


图1为本发明中的SNMP网管系统实施例的结构框图;图2为本发明中的网管工作站实施例的结构框图;图3为本发明中的对SNMP请求的处理方法实施例的流程图;图4为本发明中将SNMP请求中包含的OID按队列进行归类处理并滤除队列中重复OID的具体实现步骤流程图。
具体实施例方式下面结合附图及实施例对本发明作进一步的描述。传统技术中网管系统直接向被管理设备发送SNMP请求,在包含多个请求的业务事例被触发时,可能由于SNMP请求的重复而影响网络管理效率及占用网络资源;对此,本发明提出了一种SNMP请求的处理方法,通过对SNMP请求进行预处理,对SNMP请求中重复使用的OID做到一次采集多次使用,有效避免重复采集,减少网络资源的占用;此外,本发明还提出了一种SNMP网管系统。参见图1,该SNMP网管系统包括网管工作站和η个被管理设备;所述网管工作站用于按照被管理设备ID对SNMP请求中的OID (对象标识)进行归类,在滤除重复的OID后生成和每个被管理设备分别对应的OID队列,将OID队列中的OID封装至SNMP报文中发送给对应的被管理设备;所述被管理设备接收网管工作站发送的SNMP报文,解析出SNMP请求后并发送响应到网管工作站。其中,所述被管理设备ID是唯一的,由网管系统开发时定义。其中,网管工作站的结构示意图参见图2,其包括SNMP请求处理模块用于按照被管理设备ID对SNMP请求中的OID进行归类,滤除重复的OID后,生成和每个被管理设备分别对应的OID队列;OID队列缓存模块用于对生成的OID队列进行缓存;线程交互模块用于启动一个线程,向被管理设备发送包含了 SNMP请求的SNMP报文。图3公示了本发明中对SNMP请求的处理方法的具体流程,其包括以下步骤a. SNMP请求处理模块在收到SNMP请求后,按照被管理设备ID对简单网络管理协议SNMP请求中的对象标识OID进行归类,并滤除重复的OID后生成生成和该被管理设备对应的OID队列;b.启用一个线程,将OID队列中的OID封装至SNMP报文中发送给对应的被管理设备。对于步骤a中SNMP请求处理模块在收到SNMP请求后,按照被管理设备ID对简单网络管理协议SNMP请求中的对象标识OID进行归类,并滤除重复的OID后生成生成和该被管理设备对应的OID队列具体步骤如图4所示,其包括al. SNMP请求处理模块接收SNMP请求;a2.将该SNMP请求中包含的OID按被管理设备ID进行分类;a3.判断OID队列缓存模块中当前是否存在由被管理设备ID唯一标识的OID队列,如果存在,则执行步骤a4,否则,先创建和被该管理设备对应的OID队列,再执行步骤 a4 ;a4.判断所述该SNMP请求中包含的OID是否与OID队列中已存在的OID重复,如果是,则将该SNMP请求中与OID队列中已存在的OID重复的OID删除,将剩余的OID添加至OID队列中;如果该SNMP请求中包含的OID与OID队列中已存在的OID不重复,则将该 SNMP请求中包含的OID直接添加至OID队列中。实施例为了对本发明中的方案作更加清楚、详细的说明,下面以网管系统中性能管理业务为例,本发明实施例中SNMP请求的处理方法如下假如网管系统中网管工作站需要对被管理设备A和被管理设备B的某两项指标1 和指标2进行定时监控,其中指标1由0ID-l*0ID-2计算取得,指标2由0ID-2-0ID-3/100 计算取得;当这个监控任务被触发时,网管工作站接收到监控任务当前需要测量的指标后, 先取出指标1查询当前缓存中有没有被管理设备A和被管理设备B的对应的队列;经过查询,判断当前缓存中没有被管理设备A和被管理设备B的队列,则分别创建和这两个被管理设备对应的队列,并将所需取值的0ID-1和0ID-2分别加入到两个队列中;然后由SNMP请求处理模块取出指标2,经过查询,当前缓存中已经有被管理设备 A和被管理设备B对应的队列,接着,判断两个队列中是否已经存在指标2包含的0ID-2和0ID-3 ;判断已经存在0ID-2,因此,丢弃0ID-2并将0ID-3分别加入到两个队列中,此时已经遍历完这次测量任务中的所有指标,并过滤掉可能重复采集的0ID-2 ;网管工作站启动一个线程,依次取出缓存中的OID队列中的所有OID (该OID队列中包含了 0ID-1、0ID-2、0ID-3并且无重复),按照一定的大小封装到SNMP报文中,分别向被设备A及被管理设备B发起请求,完成数据采集动作。
权利要求
1.SNMP网管系统,包括网管工作站和至少一个被管理设备,其特征在于所述网管工作站用于按照被管理设备ID对SNMP请求中的OID进行归类,在滤除重复的OID后生成OID队列,将OID队列中的OID封装至SNMP报文中发送给对应的被管理设备;所述被管理设备接收网管工作站发送的SNMP报文,解析出SNMP请求后执行相关命令并发送响应到网管工作站。
2.如权利要求1所述的SNMP网管系统,其特征在于所述网管工作站包括SNMP请求处理模块用于按照被管理设备ID对SNMP请求中的OID进行归类,在滤除重复的OID后生成和该被管理设备对应的OID队列;OID队列缓存模块用于对生成的OID队列进行缓存;线程交互模块用于启动一个线程,向被管理设备发送SNMP请求报文。
3.如权利要求2所述的SNMP网管系统,其特征在于所述线程交互模块向被管理设备发送的SNMP报文中封装有OID队列中的0ID。
4.如权利要求1-3任一项所述的SNMP网管系统,其特征在于所述SNMP报文中封装的OID至少为一个。
5.SNMP请求的处理方法,其特征在于包括以下步骤a.SNMP请求处理模块在收到SNMP请求后,按照被管理设备ID对SNMP请求中的OID进行归类,并滤除重复的OID后生成生成和该被管理设备对应的OID队列;b.启用一个线程,将OID队列中的OID封装至SNMP报文中发送给对应的被管理设备。
6.如权利要求5所述的SNMP请求的处理方法,其特征在于步骤a中,SNMP请求处理模块在收到SNMP请求后,按照被管理设备ID对SNMP请求中的OID进行归类,并滤除重复的OID后生成和该被管理设备对应的OID队列的具体方法是a 1. SNMP请求处理模块接收SNMP请求; a2.将该SNMP请求中包含的OID按被管理设备ID进行分类; a3.判断OID队列缓存模块中当前是否存在由被管理设备ID唯一标识的OID队列,如果存在,则执行步骤a4,否则,先创建和该被管理设备对应的OID队列,再执行步骤a4 ;a4.判断所述该SNMP请求中包含的OID是否与OID队列中已存在的OID重复,如果是, 则将该SNMP请求中与OID队列中已存在的OID重复的OID删除,将剩余的OID添加至OID 队列中;如果该SNMP请求中包含的OID与OID队列中已存在的OID不重复,则将该SNMP请求中包含的OID直接添加至OID队列中。
7.如权利要求5或6所述的SNMP请求的处理方法,其特征在于,还包括步骤c.被管理设备接收网管工作站发送的SNMP报文,解析出SNMP请求后执行相关命令并发送响应到网管工作站。
8.如权利要求5或6所述的SNMP请求的处理方法,其特征在于所述SNMP报文中封装的OID至少为一个。
全文摘要
本发明涉及网络设备管理技术,其公开了一种SNMP请求的处理方法,解决传统技术中可能由于SNMP请求的重复造成的影响网络管理效率及占用网络资源的问题。其技术方案的要点包括以下步骤a.SNMP请求处理模块在收到SNMP请求后,将该请求中包含的OID按照队列进行归类处理,并滤除队列中重复的OID;b.启用一个线程,将滤除重复的OID后的队列封装至SNMP报文中发送给被管理设备。此外,本发明还公开了一种SNMP网管系统。本发明适用于对设备的网络管理。
文档编号H04L12/56GK102209002SQ20111020516
公开日2011年10月5日 申请日期2011年7月21日 优先权日2011年7月21日
发明者杨晋 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1