一种简单网络管理协议访问控制的方法和装置转让专利

申请号 : CN200910079767.7

文献号 : CN101494609B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 计光

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明提供了一种简单网络管理协议(SNMP)访问控制的方法和装置,其中方法包括:获取被访问设备的负荷状况;根据预先设置的负荷状况与SNMP访问间隔之间的对应关系,确定获取的所述负荷状况对应的SNMP访问间隔作为对被访问设备的SNMP访问间隔。本发明能够根据被访问设备的负荷状况动态地调整SNMP访问的频率来控制对SNMP访问的控制,从而降低对被访问设备的性能压力,并尽可能的保证网管访问被访问设备的时效性,带来较好的网管使用体验。

权利要求 :

1.一种简单网络管理协议SNMP访问控制的方法,其特征在于,该方法包括:获取被访问设备的负荷状况;

根据预先设置的负荷状况与SNMP访问间隔之间的对应关系,确定获取的所述负荷状况对应的SNMP访问间隔作为对被访问设备的SNMP访问间隔,其中,所述获取被访问设备的负荷状况具体包括:按照预设的负荷查询间隔,对被访问设备的负荷状况进行查询,获取上一次查询到的负荷状况或者上N次查询到的负荷状况平均值;其中,N为大于1的整数。

2.根据权利要求1所述的方法,其特征在于,所述被访问设备的负荷状况包括:所述被访问设备的CPU占用率或者运行的进程数目。

3.根据权利要求1所述的方法,其特征在于,所述确定获取的所述负荷状况对应的SNMP访问间隔作为对被访问设备的SNMP访问间隔具体为:确定所述上一次查询到的负荷状况或者上N次查询到的负荷状况平均值对应的SNMP访问间隔作为当前时间段对被访问设备的SNMP访问间隔。

4.根据权利要求1所述的方法,其特征在于,所述SNMP访问间隔为对所述被访问设备进行SNMP轮询过程中的访问间隔;

所述SNMP访问间隔小于所述负荷查询间隔。

5.一种SNMP访问控制的装置,其特征在于,该装置包括:负荷获取单元、间隔确定单元和访问控制单元;

所述负荷获取单元,用于获取被访问设备的负荷状况;

所述间隔确定单元,用于根据预先设置的负荷状况与SNMP访问间隔之间的对应关系,确定所述负荷获取单元获取的所述负荷状况对应的SNMP访问间隔,并提供给所述访问控制单元;

所述访问控制单元,用于按照所述间隔确定单元提供的SNMP访问间隔,对所述被访问设备进行SNMP访问,其中,所述负荷获取单元包括:负荷查询子单元和负荷获取子单元;

所述负荷查询子单元,用于按照预设的负荷查询间隔,对被访问设备的负荷状况进行查询;

所述负荷获取子单元,用于获取上一次查询到的负荷状况或者上N次查询到的负荷状况的平均值;其中,N为大于1的整数。

6.根据权利要求5所述的装置,其特征在于,所述负荷获取单元获取的负荷状况为:被访问设备的CPU占用率或者运行的进程数目。

7.根据权利要求5所述的装置,其特征在于,所述间隔确定单元确定所述负荷获取子单元获取的上一次查询到的负荷状况或者上N次查询到的负荷状况的平均值对应的SNMP访问间隔;

所述访问控制单元在当前时间段内,按照间隔确定单元确定的SNMP访问间隔对所述被访问设备进行SNMP访问。

8.根据权利要求5所述的装置,其特征在于,所述负荷查询子单元向所述被访问设备发送携带负荷状况请求标识的SNMP请求;

所述负荷获取子单元接收被访问设备返回的携带负荷状况的SNMP响应从而获取所述被访问设备的负荷状况。

9.根据权利要求5所述的装置,其特征在于,所述SNMP访问间隔为对所述被访问设备进行SNMP轮询过程中的访问间隔;

所述SNMP访问间隔小于所述负荷查询间隔。

说明书 :

一种简单网络管理协议访问控制的方法和装置

技术领域

[0001] 本发明涉及网络通信技术,特别涉及一种简单网络管理协议访问控制的方法和装置。

背景技术

[0002] 简单网络管理协议(SNMP)是目前应用最为广泛的网络管理协议,目的是简化代理对被访问设备的管理和数据获取。随着网络技术的不断发展,为了实现协同管理,降低组网的硬件成本,越来越多的网络设备采用了融合SNMP的集中式管理的方式。例如无线组网中,采用无线控制器(AC)和无线接入点(AP)的组网方式来进行无线网络的管理,如图1所示,AC需要管理大量的AP,当AP数量较少时,对AC的压力相对较小。当AC管理的AP达到一定数量时,AC会处于比较繁忙的状态。鉴于集中式管理的特性,网管需要通过SNMP代理对AC进行轮询来获取各AP的信息,在一次轮询过程中SNMP会向AC发送大量的SNMP请求,并接收AC回复的SNMP响应。这就可能会带来一定的问题:SNMP访问与AC中各管理进程同时作用会造成AC长期处于负荷较高的状态,使得AC的CPU占用率较高,影响AC设备的正常运行,可能会出现AP异常掉线等情况。
[0003] 针对这一问题,现有技术中通过增大SNMP代理的SNMP访问间隔,在SNMP代理完成一次SNMP请求的发送和SNMP响应的接收后,等待较长的访问间隔再进行下一次SNMP请求的发送。这种方式通过降低SNMP访问的频率在一定程度上能够降低对被访问者的负荷压力。但是,由于该种方式中仍然采用固定的SNMP访问间隔,仍可能会造成在SNMP访问时AC中的各管理进程也同时作用造成较高的CPU占用率,给AC的性能造成压力。

发明内容

[0004] 有鉴于此,本发明提供了一种SNMP访问控制的方法和装置,以便于有效地降低SNMP访问对被访问设备带来的性能压力。
[0005] 一种SNMP访问控制的方法,该方法包括:
[0006] 获取被访问设备的负荷状况;
[0007] 根据预先设置的负荷状况与SNMP访问间隔之间的对应关系,确定获取的所述负荷状况对应的SNMP访问间隔作为对被访问设备的SNMP访问间隔,
[0008] 其中,所述获取被访问设备的负荷状况具体包括:按照预设的负荷查询间隔,对被访问设备的负荷状况进行查询,获取上一次查询到的负荷状况或者上N次查询到的负荷状况平均值;其中,N为大于1的整数。
[0009] 一种SNMP访问控制的装置,该装置包括:负荷获取单元、间隔确定单元和访问控制单元;
[0010] 所述负荷获取单元,用于获取被访问设备的负荷状况;
[0011] 所述间隔确定单元,用于根据预先设置的负荷状况与SNMP访问间隔之间的对应关系,确定所述负荷获取单元获取的所述负荷状况对应的SNMP访问间隔,并提供给所述访问控制单元;
[0012] 所述访问控制单元,用于按照所述间隔确定单元提供的SNMP访问间隔,对所述被访问设备进行SNMP访问,
[0013] 其中,所述负荷获取单元包括:负荷查询子单元和负荷获取子单元;
[0014] 所述负荷查询子单元,用于按照预设的负荷查询间隔,对被访问设备的负荷状况进行查询;
[0015] 所述负荷获取子单元,用于获取上一次查询到的负荷状况或者上N次查询到的负荷状况的平均值;其中,N为大于1的整数。
[0016] 由以上技术方案可以看出,本发明提供的方法和装置,能够根据被访问设备的负荷状况,确定该负荷状况对应的SNMP访问间隔作为对被访问设备的SNMP访问间隔。也就是说,能够根据被访问设备的负荷状况动态地调整SNMP访问的频率来控制对SNMP访问的控制,例如,当被访问设备的负荷较重时,减小对被访问设备的SNMP访问频率,当被访问设备的负荷较轻时,增大对被访问设备的SNMP访问频率,从而降低对被访问设备的性能压力,并尽可能的保证网管访问被访问设备的时效性,带来较好的网管使用体验。

附图说明

[0017] 图1为一种无线组网管理示意图;
[0018] 图2为本发明实施例提供的方法流程图;
[0019] 图3为本发明实施例提供的装置结构图。

具体实施方式

[0020] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0021] 本发明所提供的方法主要包括:获取被访问设备的负荷状况;根据预先设置的负荷状况与SNMP访问间隔之间的对应关系,确定获取的负荷状况对应的SNMP访问间隔作为对被访问设备的SNMP访问间隔,其中,N为正整数。
[0022] 上述方法实质上是根据被访问设备的负荷状况动态的调整SNMP访问间隔来实现对SNMP访问的控制。其中,获取的被访问设备的负荷状况可以为:CPU的占用率、运行的进程数目等。例如,可以在被访问设备的CPU占用率较高时,增大对被访问设备的SNMP访问间隔,在被访问设备的CPU占用率较低时,降低对被访问设备的SNMP访问间隔。
[0023] 下面以一个具体实施例对上述方法进行详细描述。图2为本发明实施例提供的方法流程图,如图2所示,该方法可以包括以下步骤:
[0024] 步骤201:预先设置CPU占用率与SNMP访问间隔之间的对应关系。
[0025] 网管可以在SNMP代理上预先配置好SNMP访问间隔区间,例如可以以0至1秒为区间,SNMP访问间隔在该配置的区间内进行设置和选取。另外,对应关系可以根据实际状况进行设置,例如,可以设置CPU占用率为20%以下时,SNMP时间间隔为0秒;CPU占用率为20%至30%之间时,SNMP时间间隔为0.1秒;CPU占用率为30%至40%之间时,CPU占用率为0.2秒;CPU占用率为40%至50%之间时,CPU占用率为0.3秒,依次类推。
[0026] 步骤202:SNMP代理每隔一分钟读取一次被访问设备的CPU占用率,并根据预先设置的对应关系,确定该CPU占用率对应的SNMP访问间隔。
[0027] 在本步骤中,SNMP代理可以通过扩展的SNMP请求和SNMP响应来读取被访问设备的CPU占用率,SNMP代理可以向被访问设备发送携带负荷状况请求标识的SNMP请求,被访问设备将自身当前的负荷状况携带在SNMP响应中回复给SNMP代理。
[0028] 在本步骤中,SNMP代理可以按照预设的负荷查询间隔,对被访问设备的CPU占用率进行读取,在本实施例中以一分钟为例进行描述,还可以采用其它时间长度作为负荷查询间隔的时长,可以根据经验值进行选取。
[0029] SNMP代理可以将上一次读取到的CPU占用率所对应的SNMP访问间隔作为当前一分钟内的SNMP访问间隔。
[0030] 更优地,为了较好的提出CPU占用率的短时间波动,可以每隔一分钟读取一次被访问设备的CPU占用率,并进行记录,然后获取最近5次记录的CPU占用率的平均值,根据预先设置的对应关系,确定该平均值对应的SNMP访问间隔,用于当前一分钟内的SNMP访问采用的SNMP访问间隔。也就是说,SNMP代理持续记录并获取上5分钟内的CPU占用率平均值,并将该平均值对应的SNMP访问间隔用于当前1分钟内的SNMP访问。
[0031] 通常,预设的负荷查询间隔大于SNMP访问间隔。
[0032] 步骤203:SNMP代理将步骤202确定的SNMP访问间隔作为当前1分钟内接收SNMP响应和发送SNMP请求之间的间隔。
[0033] 假设步骤202确定的访问间隔为0.3秒,那么SNMP代理在当前1分钟内,向被访问设备发送SNMP请求并接收到SNMP响应后,间隔0.3秒再进行下一次SNMP请求的发送。SNMP访问间隔所针对的SNMP请求和SNMP响应是对被访问设备进行轮询过程中,用于获取管理信息的SNMP请求和SNMP响应。
[0034] 以上为对本发明所提供的方法进行的描述,下面对本发明所提供的装置进行详细描述。图3为本发明实施例提供的装置结构图,如图3所示,该装置主要包括:负荷获取单元301、间隔确定单元302和访问控制单元303。
[0035] 负荷获取单元301,用于获取被访问设备的负荷状况。
[0036] 间隔确定单元302,用于根据预先设置的负荷状况与SNMP访问间隔之间的对应关系,确定负荷获取单元301获取的负荷状况对应的SNMP访问间隔,并提供给访问控制单元303。
[0037] 访问控制单元303,用于按照间隔确定单元302提供的SNMP访问间隔,对被访问设备进行SNMP访问。
[0038] 其中,负荷获取单元301获取的负荷状况可以为:被访问设备的CPU占用率或者运行的进程数目。
[0039] 具体地:负荷获取单元301可以包括:负荷查询子单元304和负荷获取子单元305。
[0040] 负荷查询子单元304,用于按照预设的负荷查询间隔,对被访问设备的负荷状况进行查询。
[0041] 负荷获取子单元305,用于将获取上一次查询到的负荷状况或者上N次查询到的负荷状况的平均值;其中,N为大于1的整数。
[0042] 间隔确定单元302确定负荷获取子单元305获取的上一次查询到的负荷状况或者上N次查询到的负荷状况的平均值对应的SNMP访问间隔。
[0043] 相应地,访问控制单元303在当前时间段内,按照间隔确定单元302确定地SNMP访问间隔对被访问设备进行SNMP访问。
[0044] 其中,负荷查询子单元304可以向被访问设备发送携带负荷状况请求标识的SNMP请求,负荷获取子单元305接收被访问设备返回的携带负荷状况的SNMP响应从而获取被访问设备的负荷状况。
[0045] 具体地,访问控制单元303在当前时间段每次接收到SNMP响应后,间隔上述SNMP访问间隔后向被访问设备发送SNMP请求。
[0046] 上述装置可以设置为独立的装置,也可以设置在SNMP代理中。
[0047] 由以上的描述可以看出,本发明提供的方法和装置,能够根据被访问设备的负荷状况,确定该负荷状况对应的SNMP访问间隔作为对被访问设备地SNMP访问间隔。也就是说,能够根据被访问设备的负荷状况动态地调整SNMP访问的频率来控制对SNMP访问的控制,例如,可以在被访问设备的负荷较重时,减小对被访问设备的SNMP访问频率,在被访问设备的负荷较轻时,增大对被访问设备的SNMP访问频率,从而降低对被访问设备的性能压力,并尽可能的保证网管访问被访问设备的时效性,带来较好的网管使用体验。
[0048] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。