专利名称:一种snmp协议网管系统的告警同步方法及其装置的制作方法
技术领域:
本发明涉及通讯网络管理领域的网管技术,特别是涉及一种SNMP协议网管系统的告警同步方法及其装置。
背景技术:
SNMP(Simple Network Management Protocol,简单网络管理协议)是由于标准网络管理协议的需要而产生的一个解决方法,其为网络管理系统提供了底层的网络管理框架。SNMP由于其结构简单、实施方便等特性,在研究和商业领域都取得了相当大的成就,成为一种网络管理协议标准,广泛应用于网络设备交换机、路由器等的告警管理。
SNMP协议运行在管理者-代理的管理模型上,提供了管理者实体和代理实体之间交换管理信息的一个直接的、基本的方法。管理者实体和代理实体之间交换的信息有多种,对SNMP而言一个重要的消息类型就是Trap(陷阱)消息,该消息在代理实体需要将重要的事件向管理者实体主动上报时才产生,向管理者实体发出请求,管理者实体对于接收到的Trap消息并不向代理实体返回响应,因此,SNMP的Trap消息是一个从代理实体到管理者实体的无确认访问。
SNMP被设计为在无连接用户数据报协议(User Datagram Protocol,UDP)上运行。因此,在使用UDP/IP协议发送Trap消息的情况下,代理实体并不能确保每一个消息都能成功送达到管理者实体。
在网络管理系统中,网络设备上运行的网元代理实体通过SNMP协议与网管的管理者实体进行交互,其中网元代理发送的Trap消息反映了当前被管理设备的运行状况,以便用户根据这些信息及时采取相应的措施,保证网络设备的正常运行。但是由于Trap消息是一种采用UDP/IP协议发送的无确认访问,因此无法保证管理者实体能够及时、准确、无遗漏的获得代理实体发送的Trap消息,从而无法保证对网络设备进行及时、有效的管理。
由于采用SNMP协议接入系统的网元代理实体对于产生的Trap消息并不保留,因此当网络设备管理系统由于某些原因关闭一段时间,重新启动后就无法得知离开这段时间内网络设备发生了何种变化或是产生了何种故障。
发明内容
本发明所要解决的技术问题在于提供一种SNMP协议网管系统的告警同步方法及其装置,用于克服SNMP协议中无确认访问而导致网络设备上管理的告警信息上报给网络管理系统时丢失的缺点。
为了实现上述目的,本发明提供了一种SNMP协议网管系统的告警同步方法,用于实现网管系统对网络设备的有效管理,其特征在于,包括步骤一,设置一SNMP代理实体模块、一告警源模块、一FTP服务模块于所述网络设备侧,设置于一SNMP管理者实体模块、一告警同步模块于所述网管系统侧的;步骤二,所述告警源模块通过所述SNMP代理实体模块将告警消息上报至所述SNMP管理者实体模块,并通过所述FTP服务模块保存所述告警消息;步骤三,所述SNMP管理者实体模块接收所述SNMP代理实体模块上报的告警消息,解析所述告警消息并根据其不同类型进行不同的处理;步骤四,所述告警同步模块接收所述SNMP管理者实体模块的告警同步消息并根据所述FTP服务模块传送的告警数据文件进行告警同步处理。
所述的SNMP协议网管系统的告警同步方法,其中,所述告警消息为告警Trap消息。
所述的SNMP协议网管系统的告警同步方法,其中,所述步骤三中,进一步包括当所述告警消息为产生告警的消息时,由所述SNMP管理者实体模块通过检测一告警缓冲池,判断该告警缓冲池中是否存在与所述告警消息相同的告警信息的步骤,若存在,则丢弃所述告警消息,并向所述告警同步模块主动发起告警同步或者等待定时告警同步,否则将所述告警消息存入所述告警缓冲池、告警本地文件中。
所述的SNMP协议网管系统的告警同步方法,其中,所述步骤三中,进一步包括当所述告警消息为告警恢复消息时,由所述SNMP管理者实体模块通过检测一告警缓冲池,判断该告警缓冲池中是否存在与所述告警消息对应的告警信息的步骤,若存在,将该告警信息从该告警缓冲池去除,并将该告警信息的相关信息放入一告警数据库,将所述告警消息存到一告警本地文件中;否则丢弃所述告警消息,并向所述告警同步模块主动发起告警同步或者等待定时告警同步。
所述的SNMP协议网管系统的告警同步方法,其中,所述步骤三中,进一步包括当所述告警消息为告警源重启消息时,由所述SNMP管理者实体模块先丢弃所述告警消息,并向所述告警同步模块主动发起告警同步或者等待定时告警同步的步骤。
所述的SNMP协议网管系统的告警同步方法,其中,所述步骤四中,进一步包括所述告警同步模块判断所述告警同步消息是否为首次告警同步的步骤;若是首次告警同步,则通过所述FTP服务模块从所述告警源模块获取一设定文件名的告警数据文件并进行同步,当同步成功时,持续同步后续告警数据文件,并一直同步到离当前时间最近的告警数据文件,否则放弃本次同步;或若不是首次告警同步,则根据上次同步告警数据文件名计算出本次需要同步的告警数据文件名,得到本次需要同步的告警数据文件并进行同步,当同步成功时,持续同步后续告警数据文件,并一直同步到离当前时间最近的告警数据文件,否则放弃本次同步。
所述的SNMP协议网管系统的告警同步方法,其中,所述步骤四中,进一步包括所述告警同步模块判断所述告警同步消息是否为首次告警同步的步骤;若是首次告警同步,则通过所述FTP服务模块从所述告警源模块获取一设定文件名的告警数据文件并进行同步;或若不是首次告警同步,则根据上次同步告警数据文件名计算出本次需要同步的告警数据文件名,得到本次需要同步的告警数据文件并进行同步。
所述的SNMP协议网管系统的告警同步方法,其中,所述步骤四中,进一步包括判断从所述告警源模块获取所述告警数据文件是否成功的步骤,若失败,则放弃本次告警同步,若成功,则更改当前同步告警数据文件的标记,将从所述告警源模块获取的所述告警数据文件作为第一告警数据文件,从告警本地文件获取的告警数据文件作为第二告警数据文件,并进一步根据所述第一告警数据文件、所述第二告警数据文件中有无告警记录进行相应处理。
所述的SNMP协议网管系统的告警同步方法,其中,所述步骤四中,进一步包括当所述第一告警数据文件无而所述第二告警数据文件有告警记录时,则构造所述第二告警数据文件中所有告警记录相反的告警信息,并上报给所述SNMP管理者实体模块;或当所述第一告警数据文件有而所述第二告警数据文件无告警记录时,则将所述第一告警数据文件中所有告警记录信息补发给所述SNMP管理者实体模块;或当所述第一告警数据文件、所述第二告警数据文件皆有告警记录时,则分别获取两个文件中的第一条告警记录,分别作为第一告警记录、第二告警记录,并进行告警数据同步处理。
所述的SNMP协议网管系统的告警同步方法,其中,所述步骤四中,进一步包括比较所述第一告警记录与所述第二告警记录的时间戳的步骤若两者时间戳相同,则分别从所述一告警数据文件、所述第二告警数据文件获取下一条告警记录,并分别覆盖所述第一告警记录、所述第二告警记录,并进行如下处理当所述第一告警记录、所述第二告警记录都为空时,则同步告警结束;或当所述第一告警记录为空而所述第二告警记录不为空时,则构造所述第二告警记录及其后的所有告警记录相反的告警信息,并上报给所述SNMP管理者实体模块;或当所述第一告警记录不为空而所述第二告警记录为空时,则将所述第一告警记录及其后的所有告警记录补发给所述SNMP管理者实体模块;或当所述第一告警记录、所述第二告警记录都不为空时,则继续比较所述第一告警记录与所述第二告警记录的时间戳;若两者时间戳不同,则根据时间戳的大小进行相应处理。
所述的SNMP协议网管系统的告警同步方法,其中,所述步骤四中,进一步包括当所述第一告警记录的时间戳大于所述第二告警记录的时间戳时,则构造所述第二告警记录相反的告警信息上报给所述SNMP管理者实体模块;从所述第二告警数据文件中获取下一条告警记录覆盖所述第二告警记录,并当所述第二告警记录为空时,将把所述第一告警记录及其后的所有告警记录信息补发给所述SNMP管理者实体模块,当不为空时,则继续比较所述第一告警记录与所述第二告警记录的时间戳;或当所述第一告警记录的时间戳小于所述第二告警记录的时间戳时,将所述第一告警记录对应的告警信息补发给所述SNMP管理者实体模块;从所述第一告警数据文件中获取下一条记录覆盖记录所述第一告警记录,并当所述第一告警记录为空时,构造所述第二告警记录及其后的所有告警记录相反的告警信息上报给所述SNMP管理者实体模块,当所述第一告警记录不为空时,则继续比较所述第一告警记录与所述第二告警记录的时间戳。
为了实现上述目的,本发明还提供了一种SNMP协议网管系统的告警同步装置,用于实现网管系统对网络设备的有效管理,其特征在于,包括设置于网络设备侧的一SNMP代理实体模块、一告警源模块、一FTP服务模块,设置于网管系统侧的一SNMP管理者实体模块、一告警同步模块;所述告警源模块通过所述SNMP代理实体模块将告警消息上报至所述SNMP管理者实体模块,并通过所述FTP服务模块保存所述告警消息;所述SNMP管理者实体模块所述SNMP代理实体模块上报的告警消息,解析所述告警消息并根据所述告警消息的类型进行不同的处理;所述告警同步模块接收所述SNMP管理者实体模块的告警同步消息并根据所述FTP服务模块传送的告警数据文件进行告警同步处理。
所述的SNMP协议网管系统的告警同步装置,其中,所述告警消息为告警Trap消息,该消息至少包括告警产生时间戳、告警来源、告警码值和/或告警级别。
采用本发明方法及装置,与现有技术相比,由于采用文件机制同步告警技术措施,能够保证SNMP协议下管理者实体可以准确、及时、无遗漏的接收到代理实体上报的告警Trap消息,从而达到全面、及时掌握设备运行状况的效果,提高系统对网络设备的监控能力,本发明特别适用于那些对告警信息有着严格要求的网络设备。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
图1是本发明基于SNMP协议Trap消息的告警管理采用文件机制同步告警装置的架构示意图;图2是本发明基于SNMP协议Trap消息的告警管理采用文件机制同步告警装置的告警上报处理流程图;图3是本发明基于SNMP协议Trap消息的告警管理采用文件机制同步告警装置的告警恢复上报处理流程图;图4是本发明基于SNMP协议Trap消息的告警管理采用文件机制同步告警装置的获取文件同步告警的处理流程图;图5是本发明基于SNMP协议Trap消息的告警管理采用文件机制同步告警装置的告警同步处理流程图;图6是本发明基于SNMP协议Trap消息的告警管理采用文件机制同步告警装置的告警同步处理流程图。
具体实施例方式
下面结合附图和具体实施例对本发明的技术方案作进一步的详细描述。
如图1所示,是本发明基于SNMP协议Trap消息的告警管理采用文件机制同步告警装置的架构示意图,该架构主要包括如下模块SNMP代理实体模块10、告警源模块20、FTP服务模块30、SNMP管理者实体模块40、告警同步模块50。
SNMP代理实体模块10,用于向告警源模块20提供发送告警Trap消息的内部接口,把告警Trap消息发送给SNMP管理者实体模块40。
告警源模块20,用于通过SNMP代理实体模块10提供的内部接口向SNMP管理者实体模块40发送告警Trap消息;并通过FTP服务模块30提供的内部接口把告警消息保存到FTP指定目录下的特定文件中。
FTP服务模块30,用于接收告警源模块20的告警保存操作,把告警消息保存到FTP指定目录下的特定文件中;向告警同步模块50提供获取告警数据文件的接口。
SNMP管理者实体模块40,用于接收SNMP代理实体模块10发送过来的告警Trap消息;把接收到的告警Trap消息解析后对告警缓冲池61作相应操作;把接收到的告警Trap消息解析后保存到告警本地文件62中;把接收到的告警Trap消息解析后对告警数据库63作相应操作;接收告警同步模块50上报的告警消息并作相应处理。
告警同步模块50从外部模块获取告警源配置信息;接收告警定时同步消息和告警即时同步消息;从FTP服务模块30获取告警数据文件;从告警本地文件62中获取通过告警Trap消息获取到的告警信息;根据本地告警数据文件62中的告警信息和通过FTP服务模块30获取到告警源模块20上的告警数据文件中的告警信息进行对比同步,把漏警和虚警补报给SNMP管理者实体模块40。
SNMP代理实体模块20向SNMP管理者实体模块40上报告警Trap消息,该告警消息中至少需要包含如下信息告警产生时间戳、告警来源、告警码值、告警级别,同时SNMP代理实体模块10把此告警Trap消息保存在FTP目录的特定文件中,此告警数据文件自动生成,生成规则如下告警数据文件按照指定粒度定时自动生成,粒度可配置(一般与网管系统的定时同步时长一致),文件名满足如下要求<Type><separator1><collect_begin_time><separator2><collect_end_time><separator1><Src>.txt。
其中1)Type域告警数据文件一般取值为“AM”;2)separator1域为下划线″_″;3)collect_begin_time为本告警文件所承载的告警数据的采集开始时间(本地时间),其格式为YYYYMMDDHHMM,其中YYYY为4个数字组成的年份;MM为2个数字组成的月份(01-12);DD为2个数字组成的日期(01-31);HH为2个数字组成的小时(本地时间,00-23);MM为2个数字组成的分钟(本地时间,00-59,采集粒度的倍数)。
4)separator2域为短连线″-″;5)collect_end_time域为本告警数据文件所承载的告警数据的采集结束时间(本地时间),其格式为YYYYMMDDHHMM,与collect_begin_time类似;6)Src域为用于唯一区分不同的告警源信息。
例如,文件名如下AM_200406011200-200406011230_100.txt该文件名的含义是告警数据文件,本文件所承载的告警数据的采集开始时间为2004年6月1日12点整开始,采集结束时间为当天12点30分。相应的告警源标识是100,采集粒度为30分钟。
第一个文件的生成命名方式与后续命名方式有差别,后续命名方式为AM_<todays date>0000>-<current date and time>_<Src>.txt。
例如,文件名如下AM_200406010000-200406011230_100.txt。
告警数据文件保存天数可配置。
告警数据文件内容格式如下AlarmTimestamp:AlarmOrigEquip:AlarmCode:AlarmSeverity举例如下2007-05-20 18:01:03:2:2001:12007-05-20 18:05:19:3:2005:5SNMP管理者实体模块40接收SNMP代理实体模块10上报的告警Trap消息;并根据此告警Trap消息的类型进行相应处理。
1、如果此告警Trap消息是产生告警的消息,则进行如下处理a1)在SNMP管理者实体模块40的告警缓冲池61中查找是否有与此告警Trap消息相同的告警信息;a2)如果没有相同的告警信息,则把此告警Trap消息入告警缓冲池61,并把此告警Trap消息存到告警本地文件62中,文件格式和告警源模块20上的文件格式相同;a3)如果存在相同的告警信息,则说明很有可能有告警恢复Trap消息已经丢失,因此丢弃此告警Trap消息,在告警本地文件62中也不作保存,主动发起告警同步或者等待定时告警同步。
2、如果此告警Trap消息是告警恢复消息,则进行如下处理b1)在SNMP管理者实体模块40的告警缓冲池61中查找是否有与此告警Trap消息对应的告警信息;b2)如果有对应的告警信息,则把此告警信息从告警缓冲池61中去除、把此告警信息的相关信息放入告警数据库63保存以备后续查询,并且把此告警恢复消息存到告警本地文件62中,文件格式与告警源模块20上的文件格式相同;b3)如果没有找到对应的告警信息,则说明很有可能有告警Trap消息已经丢失,因此丢弃此告警恢复Trap消息,在告警本地文件62中也不作保存,主动发起告警同步或者等待定时告警同步。
3、如果此告警Trap消息是告警源重启消息,则先丢弃此告警Trap消息,也不在告警本地文件62中保存,主动发起告警同步或者等待定时告警同步,因为收到告警源重启消息时,需要恢复当前激活的所有告警(即在当前告警缓冲池61中存有的所有告警),所以在此之前必须先进行一次告警同步操作。
如果SNMP管理者实体模块40检测到告警同步定时器到,则进行如下处理c1)如果告警同步模块50判断是首次告警同步,则告警同步模块50通过FTP客户端功能和告警源配置信息(如IP地址、端口)从FTP服务模块30上获取到文件名开头为AM_<todays date>0000>的告警数据文件首先进行同步,如果同步成功,则持续同步后续告警数据文件(如果该文件存在),一直同步到离当前时间最近的告警数据文件,如果同步失败,则放弃此次同步,等待下次即时告警同步或者定时告警同步;c2)如果告警同步模块50判断是非首次告警同步,则告警同步模块50根据上次同步告警数据文件名计算出本次需要同步的告警数据文件名,得到本次需要同步的告警数据文件,如果同步成功,则持续同步后续告警数据文件(如果该文件存在),一直同步到离当前时间最近的告警数据文件,如果同步失败,则放弃此次同步,等待下次即时告警同步或者定时告警同步;c3)告警同步模块50通过FTP客户端功能和告警源配置信息(如IP地址、端口)从FTP服务模块30上获取对应的告警数据文件;c4)如果告警数据文件获取失败,如可能网络不通或者告警源还没有启动,则放弃此次告警同步;c5)如果告警数据文件获取成功,则进行如下处理
c51)更改当前同步告警数据文件的标记;c52)打开从FTP服务模块30获取到的告警数据文件和告警本地文件62缓存的告警数据文件;c53)如果本地告警数据文件有告警记录而获取到的告警数据文件没有告警记录,则表示有虚警消息产生,需要自行构造所有告警记录相反的告警信息(即如果当前是告警消息,则需要构造告警恢复消息,如果当前是告警恢复消息,则需要构造告警消息,后续描述类似)并将构造的消息上报给SNMP管理者实体模块40;c54)如果本地告警数据文件无告警记录而获取到的告警数据文件有告警记录,则把获取到的告警数据文件中的所有告警记录信息补发给SNMP管理者实体模块40;c55)如果本地告警数据文件、获取到的告警数据文件两个文件中都有告警记录,则分别获取两个文件中的第一条告警记录;c56)比较这两条告警记录中的时间戳;c57)如果时间戳一致,则进行如下处理,下文中的结束是指记录为空,没有结束是指记录不为空。
m1)把两个文件的记录下移;m2)如果两个文件记录都结束,则此次同步结束;m3)如果遇到本地告警数据文件的告警记录结束而获取到的告警数据文件的告警记录没有结束,则把余下的告警信息补发给SNMP管理者实体模块40;m4)如果遇到获取到的告警数据文件的告警记录结束而本地告警数据文件的告警记录没有结束,则表示有虚警消息产生,需要自行构造剩下所有告警记录相反的告警信息,并上报给SNMP管理者实体模块40;m5)如果两个文件的告警记录都没有结束,则从步骤c56)开始重复。
c58)如果时间戳不一致,则进行如下处理n1)如果获取到的告警数据文件的告警记录时间戳比本地告警数据文件的告警记录时间戳大,则表示有虚警消息产生,需要自行构造本地告警数据文件当前告警记录相反的告警信息,并上报给SNMP管理者实体模块40;n2)如果获取到的告警数据文件的告警记录时间戳比本地告警数据文件的告警记录时间戳小,则说明有告警Trap消息丢失,因此需要把获取到告警数据文件中的此告警记录消息补发给SNMP管理者实体模块40;n3)时间戳小的告警数据文件的告警记录下移;n4)如果还有告警记录,则后续处理步骤从c56)步骤开始重复;n5)如果没有告警记录,则按照如下步骤处理n51)如果是本地告警数据文件没有告警记录,则把获取到告警数据文件中的剩余告警记录信息补发给SNMP管理者实体模块40;n52)如果是获取的告警数据文件中没有告警记录,则表示有虚警消息产生,需要自行构造本地告警数据文件中所有剩余告警记录相反的告警信息,并上报给SNMP管理者实体模块40。
SNMP管理者实体模块40检测到主动发起的即时告警同步流程与定时告警同步流程类似。
定时告警同步正常情况下是在本次粒度文件生成完成后获取整个文件进行同步;而即时告警同步大多情况下是在本次粒度文件还没有生成完成而获取已经生成的部分文件进行同步。
即时告警同步需要保证后续同步(如定时告警同步到达的同步)对已经通过即时告警同步流程同步过的数据不需要再进行同步,通过打上时间戳标记或把同步补发的告警数据插入告警本地文件62中保存的方式来保证。
两者的差别主要在于即时告警同步仅同步了最后一个粒度中的部分告警数据,这部分告警数据在后续的定时告警同步中不需要再次进行同步,因此需要打上时间戳标记或把同步补发的告警数据插入告警本地文件62中保存。
如图2所示,是本发明基于SNMP协议Trap消息的告警管理采用文件机制同步告警装置的告警上报处理流程图,结合图1,其主要包括如下五个步骤步骤201告警源模块20通过SNMP代理实体模块10上报告警Trap消息;步骤202SNMP管理者实体模块40接收SNMP代理实体模块10上报的告警Trap消息;步骤203SNMP管理者实体模块40检测告警缓冲池61中是否有重复的告警信息,如果有重复告警信息,则转入步骤204,如果没有重复告警信息,则转入步骤205;
步骤204丢弃告警Trap消息并主动发起告警同步操作;步骤205把此告警信息入告警缓冲池61并保存到告警本地文件62中。
如图3所示,是本发明基于SNMP协议Trap消息的告警管理采用文件机制同步告警装置的告警恢复上报处理流程图,结合图1,其主要包括如下五个步骤步骤301告警源模块20通过SNMP代理实体模块10上报告警恢复Trap消息;步骤302SNMP管理者实体模块40接收SNMP代理实体模块10上报的告警恢复Trap消息;步骤303SNMP管理者实体模块40检测告警缓冲池61中是否有与此告警恢复Trap消息对应的告警信息,如果有对应的告警信息,则转入步骤304,如果没有对应的告警信息,则转入步骤305;步骤304把此告警信息从告警缓冲池61中删除,并把此告警恢复消息保存到告警本地文件62中和告警数据库63中,保存到告警数据库63中是为了事后查询统计分析;步骤305丢弃此告警恢复Trap消息并主动发起告警同步操作。
如图4所示,是本发明基于SNMP协议Trap消息的告警管理采用文件机制同步告警装置的获取文件同步告警的处理流程图,结合图1,其主要包括如下七个步骤步骤401由告警同步模块50判别是否为首次运行告警同步,如果是首次告警同步,则转入步骤402,如果非首次告警同步,则转入步骤403;步骤402获取文件名开头为AM_<todays date>0000>的告警数据文件;步骤403根据上次同步告警数据文件名计算出本次需要同步的告警数据文件名,从而根据该文件名得到本次需要同步的告警数据文件;步骤404从FTP服务模块30获取相应的告警数据文件,判别是否获取成功;如果获取失败,则转入步骤405,如果获取成功,则转入步骤406;步骤405发送告警消息,下次获取文件成功后恢复,本次告警同步操作到此提前结束;步骤406开始同步告警数据,并继续执行步骤407;步骤407判断是否还有其他告警数据文件需要同步,如果有则返回步骤403继续执行,如果没有,则此次告警同步操作结束。
如图5所示,是本发明基于SNMP协议Trap消息的告警管理采用文件机制同步告警装置的告警同步处理流程图,结合图1,其主要包括如下四个步骤步骤501由告警同步模块50通过FTP客户端从FTP服务模块30获取告警数据文件;步骤502获取到告警数据文件后更改当前同步告警文件的标记;步骤503打开获取到的告警数据文件FA和告警本地文件62的告警数据文件FB,并判断FA和FB中是否都没有告警记录,如果都没有告警记录,则本次告警同步结束,否则转入步骤504;步骤504根据FA、FB中有无告警记录,分以下三种情况处理如果FA中无告警记录而FB中有告警记录,则构造FB中所有告警记录相反的告警信息上报给SNMP管理者实体模块40;如果FA中有告警记录而FB中无告警记录,则把FA中的所有告警记录补发给SNMP管理者实体模块40;如果FA和FB中都有告警记录,则开始同步告警数据,详见图6的处理流程。
如图6所示,是本发明基于SNMP协议Trap消息的告警管理采用文件机制同步告警装置的告警同步处理流程图,结合图1,其主要包括如下七个步骤步骤601由告警同步模块50从获取到的告警数据文件FA中取出第一条记录A;步骤602从本地文件的告警数据文件FB中取出第一条记录B;步骤603根据告警记录时间戳比较这两条告警记录A和B,如果告警记录时间戳一致,则执行步骤604,如果告警记录时间戳不一致,则执行步骤605;步骤604按如下流程进行处理41)从FA文件中获取下一条告警记录覆盖记录A;42)从FB文件中获取下一条告警记录覆盖记录B;43)根据A和/或B是否为空,分以下情况处理如果A和B都为空,则同步告警结束;如果A为空而B不为空,则构造B记录及其后的所有告警记录相反的告警信息上报给SNMP管理者实体模块40;
如果B为空而A不为空,则把A记录及其后的所有告警记录信息补发给SNMP管理者实体模块40;如果A和B都不为空,则返回步骤603继续执行。
步骤605判断A告警记录的时间戳是否大于B告警记录的时间戳,如果A告警记录的时间戳比B告警记录时间戳大,则执行步骤606,如果A告警记录的时间戳比B告警记录时间戳小,则执行步骤607;步骤606,按照如下流程进行处理61)构造B告警记录相反的告警信息上报给SNMP管理者实体模块40;62)从本地文件FB中获取下一条告警记录覆盖记录B;63)如果B为空,则把A记录及其后的所有告警记录信息补发给SNMP管理者实体模块40;如果B不为空,则返回步骤603继续执行。
步骤607按照如下流程进行处理71)把告警记录A对应的告警信息补发给SNMP管理者实体模块40;72)从获取到的文件FA中获取下一条记录覆盖记录A;73)判断A是否为空,如果A为空,则构造B记录及其后的所有告警记录相反的告警信息上报给SNMP管理者实体模块40;如果A不为空,则返回步骤603继续执行。
本发明提供了SNMP协议下采用文件机制实现告警同步的方法,是通讯网络管理领域的网管系统中,在SNMP协议下网元代理实体对于告警数据的管理方法,这种方法可以保证网络设备上的网元代理在UDP/IP协议上传送的Trap消息能够准备、无遗漏的送达到管理者实体。此文件机制告警同步方法包括即时同步(手工同步)和定时同步两种方式,用以满足不同的场景要求,尽量做到告警Trap消息及时送达。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种SNMP协议网管系统的告警同步方法,用于实现网管系统对网络设备的有效管理,其特征在于,包括步骤一,设置一SNMP代理实体模块、一告警源模块、一FTP服务模块于所述网络设备侧,设置于一SNMP管理者实体模块、一告警同步模块于所述网管系统侧的;步骤二,所述告警源模块通过所述SNMP代理实体模块将告警消息上报至所述SNMP管理者实体模块,并通过所述FTP服务模块保存所述告警消息;步骤三,所述SNMP管理者实体模块接收所述SNMP代理实体模块上报的告警消息,解析所述告警消息并根据其不同类型进行不同的处理;步骤四,所述告警同步模块接收所述SNMP管理者实体模块的告警同步消息并根据所述FTP服务模块传送的告警数据文件进行告警同步处理。
2.根据权利要求1所述的SNMP协议网管系统的告警同步方法,其特征在于,所述告警消息为告警Trap消息。
3.根据权利要求2所述的SNMP协议网管系统的告警同步方法,其特征在于,所述步骤三中,进一步包括当所述告警消息为产生告警的消息时,由所述SNMP管理者实体模块通过检测一告警缓冲池,判断该告警缓冲池中是否存在与所述告警消息相同的告警信息的步骤,若存在,则丢弃所述告警消息,并向所述告警同步模块主动发起告警同步或者等待定时告警同步,否则将所述告警消息存入所述告警缓冲池、告警本地文件中。
4.根据权利要求2所述的SNMP协议网管系统的告警同步方法,其特征在于,所述步骤三中,进一步包括当所述告警消息为告警恢复消息时,由所述SNMP管理者实体模块通过检测一告警缓冲池,判断该告警缓冲池中是否存在与所述告警消息对应的告警信息的步骤,若存在,将该告警信息从该告警缓冲池去除,并将该告警信息的相关信息放入一告警数据库,将所述告警消息存到一告警本地文件中;否则丢弃所述告警消息,并向所述告警同步模块主动发起告警同步或者等待定时告警同步。
5.根据权利要求2所述的SNMP协议网管系统的告警同步方法,其特征在于,所述步骤三中,进一步包括当所述告警消息为告警源重启消息时,由所述SNMP管理者实体模块先丢弃所述告警消息,并向所述告警同步模块主动发起告警同步或者等待定时告警同步的步骤。
6.根据权利要求2、3、4或5所述的SNMP协议网管系统的告警同步方法,其特征在于,所述步骤四中,进一步包括所述告警同步模块判断所述告警同步消息是否为首次告警同步的步骤;若是首次告警同步,则通过所述FTP服务模块从所述告警源模块获取一设定文件名的告警数据文件并进行同步,当同步成功时,持续同步后续告警数据文件,并一直同步到离当前时间最近的告警数据文件,否则放弃本次同步;或若不是首次告警同步,则根据上次同步告警数据文件名计算出本次需要同步的告警数据文件名,得到本次需要同步的告警数据文件并进行同步,当同步成功时,持续同步后续告警数据文件,并一直同步到离当前时间最近的告警数据文件,否则放弃本次同步。
7.根据权利要求2、3、4或5所述的SNMP协议网管系统的告警同步方法,其特征在于,所述步骤四中,进一步包括所述告警同步模块判断所述告警同步消息是否为首次告警同步的步骤;若是首次告警同步,则通过所述FTP服务模块从所述告警源模块获取一设定文件名的告警数据文件并进行同步;或若不是首次告警同步,则根据上次同步告警数据文件名计算出本次需要同步的告警数据文件名,得到本次需要同步的告警数据文件并进行同步。
8.根据权利要求7所述的SNMP协议网管系统的告警同步方法,其特征在于,所述步骤四中,进一步包括判断从所述告警源模块获取所述告警数据文件是否成功的步骤,若失败,则放弃本次告警同步,若成功,则更改当前同步告警数据文件的标记,将从所述告警源模块获取的所述告警数据文件作为第一告警数据文件,从告警本地文件获取的告警数据文件作为第二告警数据文件,并进一步根据所述第一告警数据文件、所述第二告警数据文件中有无告警记录进行相应处理。
9.根据权利要求8所述的SNMP协议网管系统的告警同步方法,其特征在于,所述步骤四中,进一步包括当所述第一告警数据文件无而所述第二告警数据文件有告警记录时,则构造所述第二告警数据文件中所有告警记录相反的告警信息,并上报给所述SNMP管理者实体模块;或当所述第一告警数据文件有而所述第二告警数据文件无告警记录时,则将所述第一告警数据文件中所有告警记录信息补发给所述SNMP管理者实体模块;或当所述第一告警数据文件、所述第二告警数据文件皆有告警记录时,则分别获取两个文件中的第一条告警记录,分别作为第一告警记录、第二告警记录,并进行告警数据同步处理。
10.根据权利要求9所述的SNMP协议网管系统的告警同步方法,其特征在于,所述步骤四中,进一步包括比较所述第一告警记录与所述第二告警记录的时间戳的步骤若两者时间戳相同,则分别从所述一告警数据文件、所述第二告警数据文件获取下一条告警记录,并分别覆盖所述第一告警记录、所述第二告警记录,并进行如下处理当所述第一告警记录、所述第二告警记录都为空时,则同步告警结束;或当所述第一告警记录为空而所述第二告警记录不为空时,则构造所述第二告警记录及其后的所有告警记录相反的告警信息,并上报给所述SNMP管理者实体模块;或当所述第一告警记录不为空而所述第二告警记录为空时,则将所述第一告警记录及其后的所有告警记录补发给所述SNMP管理者实体模块;或当所述第一告警记录、所述第二告警记录都不为空时,则继续比较所述第一告警记录与所述第二告警记录的时间戳;若两者时间戳不同,则根据时间戳的大小进行相应处理。
11.根据权利要求10所述的SNMP协议网管系统的告警同步方法,其特征在于,所述步骤四中,进一步包括当所述第一告警记录的时间戳大于所述第二告警记录的时间戳时,则构造所述第二告警记录相反的告警信息上报给所述SNMP管理者实体模块;从所述第二告警数据文件中获取下一条告警记录覆盖所述第二告警记录,并当所述第二告警记录为空时,将把所述第一告警记录及其后的所有告警记录信息补发给所述SNMP管理者实体模块,当不为空时,则继续比较所述第一告警记录与所述第二告警记录的时间戳;或当所述第一告警记录的时间戳小于所述第二告警记录的时间戳时,将所述第一告警记录对应的告警信息补发给所述SNMP管理者实体模块;从所述第一告警数据文件中获取下一条记录覆盖记录所述第一告警记录,并当所述第一告警记录为空时,构造所述第二告警记录及其后的所有告警记录相反的告警信息上报给所述SNMP管理者实体模块,当所述第一告警记录不为空时,则继续比较所述第一告警记录与所述第二告警记录的时间戳。
12.一种SNMP协议网管系统的告警同步装置,用于实现网管系统对网络设备的有效管理,其特征在于,包括设置于网络设备侧的一SNMP代理实体模块、一告警源模块、一FTP服务模块,设置于网管系统侧的一SNMP管理者实体模块、一告警同步模块;所述告警源模块通过所述SNMP代理实体模块将告警消息上报至所述SNMP管理者实体模块,并通过所述FTP服务模块保存所述告警消息;所述SNMP管理者实体模块所述SNMP代理实体模块上报的告警消息,解析所述告警消息并根据所述告警消息的类型进行不同的处理;所述告警同步模块接收所述SNMP管理者实体模块的告警同步消息并根据所述FTP服务模块传送的告警数据文件进行告警同步处理。
13.根据权利要求12所述的SNMP协议网管系统的告警同步装置,其特征在于,所述告警消息为告警Trap消息,该消息至少包括告警产生时间戳、告警来源、告警码值和/或告警级别。
全文摘要
本发明公开了一种SNMP协议网管系统的告警同步方法及其装置,该装置包括设置于网络设备侧的SNMP代理实体模块、告警源模块、FTP服务模块,设置于网管系统侧的SNMP管理者实体模块、告警同步模块;告警源模块通过SNMP代理实体模块将告警消息上报至SNMP管理者实体模块,并通过FTP服务模块保存告警消息;SNMP管理者实体模块SNMP代理实体模块上报的告警消息,解析告警消息并根据告警消息的类型进行不同的处理;告警同步模块接收SNMP管理者实体模块的告警同步消息并根据FTP服务模块传送的告警数据文件进行告警同步处理。本发明保证SNMP管理者实体准确、及时、无遗漏接收代理实体上报的告警Trap消息。
文档编号H04L29/06GK101094103SQ20071011960
公开日2007年12月26日 申请日期2007年7月26日 优先权日2007年7月26日
发明者姜春鹤 申请人:中兴通讯股份有限公司