一种Trap信息处理方法及装置与流程

文档序号:16582413发布日期:2019-01-14 18:05阅读:270来源:国知局
一种Trap信息处理方法及装置与流程

本发明涉及网络通信技术领域,尤其涉及一种trap信息处理方法及装置。



背景技术:

在基于snmp(simplenetworkmanagementprotocol,简单网络管理协议)的网管系统中,被管理设备状态变化(比如,故障)时,会主动向网管服务器发送trap(陷阱)报文。网管服务器根据trap报文中携带的trap信息进行告警,以提醒网络管理员及时处理被管理设备出现的问题(比如,修复故障)。

在被管理设备向网管服务器发送trap报文后,被管理设备会等待网管服务器的回应,以确认网管服务器是否接收到trap信息。若网管服务器因故障无法接收trap报文并回应,则被管理设备会重发trap报文。当重发次数达到预设的次数阈值时,不再重发。在此期间,若网管服务器没有恢复正常,会因漏收trap信息而导致告警缺失。



技术实现要素:

本发明为了解决现有网管服务器因漏收trap信息而导致的告警缺失的问题,提出一种trap信息处理方法及装置,用以避免网管服务器因漏收trap信息而导致的告警缺失。

为实现上述发明目的,本发明提供了如下技术方案:

第一方面,本发明提供一种trap信息处理方法,应用于网管服务器,所述方法包括:

从被管理设备获取第一trap文件,所述第一trap文件用于记录所述被管理设备通过trap报文发送的第一trap信息;

从本地存储的第二trap文件中,检索第一trap信息,所述第二trap文件用于记录所述网管服务器通过trap报文接收到的第二trap信息;

若未检索到所述第一trap信息,基于所述第一trap信息进行告警。

第二方面,本发明提供一种trap信息处理装置,应用于网管服务器,所述装置包括:

获取单元,用于从被管理设备获取第一trap文件,所述第一trap文件用于记录所述被管理设备通过trap报文发送的第一trap信息;

检索单元,用于从本地存储的第二trap文件中,检索第一trap信息,所述第二trap文件用于记录所述网管服务器通过trap报文接收到的第二trap信息;

告警单元,用于若未检索到所述第一trap信息,基于所述第一trap信息进行告警。

由以上描述可以看出,本发明实施例中,网管服务器从被管理设备获取被管理设备记录的已发送的trap信息,同时,网管服务器本地记录已接收的trap信息。若已接收的trap信息中不包括被管理设备已发送的trap信息,则基于不包括的trap信息进行告警,以避免网管服务器漏收trap信息而导致的告警缺失。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例示出的一种trap信息处理方法流程图;

图2是本发明实施例示出的第二trap文件生成流程;

图3是本发明实施例示出的步骤102的实现流程;

图4是本发明实施例示出的一种trap信息处理装置的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本发明实施例提供一种trap信息处理方法,该方法中,网管服务器从被管理设备获取被管理设备记录的已发送的trap信息,同时,网管服务器本地记录已接收的trap信息。若已接收的trap信息中不包括被管理设备已发送的trap信息,则基于不包括的trap信息进行告警,以避免网管服务器因漏收trap信息而导致的告警缺失。

为了使本发明实施例的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明实施例执行详细描述:

参见图1,为本发明实施例提供的trap信息处理方法流程图。该流程应用于网管服务器。

如图1所示,该流程可包括以下步骤:

步骤101,网管服务器从被管理设备获取第一trap文件。

该第一trap文件用于记录被管理设备通过trap报文发送的第一trap信息。这里,第一trap文件、第一trap信息只是为便于描述而进行命名,并非用于限定。

在具体实现时,可启动被管理设备的trap日志功能。被管理设备每发送一个trap报文,在trap日志文件(第一trap文件)中记录一条trap信息(第一trap信息)。

当网管服务器从故障状态恢复时,则可以向被管理设备发送trap日志文件获取请求,以从被管理设备获取第一trap文件。

步骤102,从本地存储的第二trap文件中,检索第一trap信息。

该第二trap文件用于记录网管服务器通过trap报文接收到的第二trap信息。这里,第二trap文件、第二trap信息只是为便于描述而进行命名,并非用于限定。

检索第一trap信息的过程,在下文中描述,这里暂不赘述。

步骤103,若未检索到第一trap信息,网管服务器基于第一trap信息进行告警。

即网管服务器接收的trap信息中不包括被管理设备已发送的第一trap信息,因此,网管服务器基于该漏收的第一trap信息进行告警。

至此,完成图1所示流程。

通过图1所示流程可以看出,在本发明实施例中,网管服务器从被管理设备获取被管理设备记录的已发送的trap信息,同时,网管服务器本地记录已接收的trap信息。若已接收的trap信息中不包括被管理设备已发送的trap信息,则基于不包括的trap信息进行告警,以避免网管服务器漏收trap信息而导致的告警缺失。

作为一个实施例,在执行步骤102之前,还包括第二trap文件的生成流程。

如图2所示,该流程可包括以下步骤:

步骤201,网管服务器将第二trap信息存入临时文件。

在具体实现时,网管服务器可从接收的trap报文中解析出第二trap信息,存入临时文件。

步骤202,若临时文件的大小达到预设的大小阈值,和/或,临时文件的存在时长达到预设的时长阈值,网管服务器根据该临时文件生成第二trap文件。

比如,预设的大小阈值为100m,预设的时长阈值为1小时,则当临时文件的大小达到100m,和/或,临时文件的存在时长达到1小时时,将该临时文件重命名,生成第二trap文件。

至此,完成图2所示流程。

通过图2所示流程,网管服务器实现生成第二trap文件。

下面对步骤102从本地存储的第二trap文件中,检索第一trap信息进行描述。参见图3,为本发明实施例示出的步骤102的实现流程。

如图3所示,该流程可包括以下步骤:

步骤301,网管服务器确定本次检索的时间段。

本发明实施例中,被管理设备和网管服务器利用现有时间同步协议进行时间同步,以保证被管理设备和管理服务器的时间标度统一。被管理设备在第一trap文件中记录第一trap信息的生成时间。网管服务器在第二trap文件中记录第二trap信息的接收时间。

本次检索的时间段的起始时间为上一次检索的截止时间,具体地,该截止时间为上一次检索的最后一个第一trap信息的生成时间;本次检索的时间段的结束时间为当前存在的第二trap文件中最后接收到的第二trap信息的接收时间。

需要说明的是,本发明实施例中的一次检索是指网管服务器从被管理设备读取一次第一trap文件后,对第一trap文件中的每一个第一trap信息是否存在于第二trap文件中进行检索。

步骤302,从第二trap文件中,确定与本次检索的时间段存在时间交集的第三trap文件。

如前所述,网管服务器基于文件大小或文件存在时长生成第二trap文件,因此,网管服务器中一般会存在多个第二trap文件。

本步骤基于步骤301确定的时间段,从第二trap文件中筛选第三trap文件,以缩小检索范围。这里,第三trap文件只是为便于描述而进行命名,并非用于限定。

具体确定第三trap文件的过程,在下文中描述,这里暂不赘述。

步骤303,从第三trap文件中,检索第一trap信息。

至此,完成图3所示流程。

通过图3所示流程,网管服务器可实现基于时间段缩小检索范围,避免重复检索。

下面对步骤302从第二trap文件中,确定与本次检索的时间段存在时间交集的第三trap文件进行描述。

作为一个实施例,网管服务器获取第二trap文件中各第二trap信息的接收时间。基于各第二trap信息的接收时间,网管服务器确定第二trap文件包括的第二trap信息的接收时间范围。从第二trap文件中,网管服务器确定接收时间范围与本次检索的时间段存在交集的第三trap文件。

举例说明:若当前第二trap文件中记录的首个第二trap信息的接收时间为9:00,记录的最后一个第二trap信息的接收时间为10:00,则该第二trap文件包括的第二trap信息的接收时间范围为9:00~10:00。若本次检索时间段为9:30~10:30,则当前第二trap文件对应的接收时间段与本次检索的时间段存在时间交集(9:30~10:00),因此,确定当前第二trap文件为第三trap文件。

作为另一个实施例,在命名第二trap文件时,可在第二trap文件的文件名中包括时间信息。该时间信息为第二trap文件中记录的首个第二trap信息的接收时间。基于第二trap文件的文件名中包括的时间信息,确定与本次检索的时间段存在时间交集的第三trap文件。

举例说明:若文件1(第二trap文件)中记录的首个第二trap信息的接收时间为9:00,则文件1的文件名可以为trap0900,其中,“0900”代表时间9:00;若文件2(在文件1之后生成的第二trap文件)中记录的首个第二trap信息的接收时间为10:00,则文件2的文件名可以为trap1000,其中,“1000”代表时间10:00。本次检索的时间段为9:30~10:30。获取文件的文件名中包含的时间信息,即文件1的文件名中的0900和文件2的文件名中的1000,可知,文件1中可能存在9:30以后接收到的第二trap信息,因此,确定文件1为与本次检索的时间段存在时间交集的第三trap文件;文件2中存在10:00以后接收到的第二trap信息,因此,确定文件2为与本次检索的时间段存在时间交集的第三trap文件。

至此,网管服务器实现基于时间段确定第三trap文件。

作为一个实施例,本发明还包括:网管服务器确定各被管理设备对应的上一次检索的截止时间中的最小截止时间。若第二trap文件对应的接收时间段小于最小截止时间,则删除该第二trap文件。

由于被管理设备为多个,因此,每个被管理设备对应各自的上一次检索的兼职时间,网管服务器会根据各个被管理设备各自所对应的上一次检索的截止时间,确定出多个截止时间中的最小的截止时间。也就是说,最小截止时间之前的第二trap文件不会再落入任何一个被管理设备对应的检索时间段,因此,本发明实施例将不再使用的第二trap文件删除,以节约存储空间。

作为一个实施例,本发明还包括:若第一trap文件中的第一trap信息均已执行检索(比如,第一trap文件中的第一trap信息通常按照生成的先后顺序存储,因此,网管服务器可对第一trap文件中的每一个第一trap信息依次执行检索,直到完成对最后一个第一trap信息的检索,才确认第一trap文件中的每一个第一trap信息均已执行检索),即对第一trap文件中的每一个第一trap信息均已验证过是否为网管服务器漏收的trap信息,则网管服务器可删除本地存储的第一trap文件,以节约网管服务器的存储空间。

下面通过具体实施例对本发明实施例提供的方法进行描述:

以一台网管服务器(记为server1)和两台被管理设备(记为device1和device2)为例。其中,server1、device1以及device2时间同步。

被管理设备(device1、device2)启动trap日志功能。在发生trap事件时,被管理设备向server1发送trap报文,并在trap日志文件(记为logfile)中记录相应的trap信息。

server1接收device1和device2发送的trap报文,将trap报文携带的trap信息存入临时文件,记为tempfile。预设临时文件的存在时长阈值为1小时,文件大小阈值为100m,则在tempfile的存在时长达到1小时,和/或文件大小达到100m时,server1将tempfile重命名,生成正式trap文件,记为trapfile。

server1因故障重启后,分别从device1和device2读取logfile。这里,将从device1读取的logfile,记为logfile1;从device2读取的logfile,记为logfile2。作为一个实施例,server1从被管理设备读取logfile后,可利用被管理设备的ip地址对logfile重新命名,以便后续可根据文件名(被管理设备的ip地址)快速确认文件中记录的是哪一个被管理设备的trap信息。

参见表1,为logfile1的示例。

表1

参见表2,为logfile2的示例。

表2

server1当前已生成3个trapfile,分别记为trapfile1、trapfile2、trapfile3。

参见表3,为trapfile1的示例。

表3

其中,ip1为device1的ip地址;ip2为device2的ip地址,分别代表从不同被管理设备接收到的trap信息。

参见表4,为trapfile2的示例。

表4

参见表5,为trapfile3的示例。

表5

为了便于描述,本实例忽略了生成时间与接收时间之间可能存在的略微延时。即trap信息在被管理设备上生成的时间与该trap信息被server1接收到的时间相同。

需要说明的是,网管服务器从被管理设备获取的日志文件(logfile)与网管服务器本地生成的trap文件(trapfile)的格式可能不同,因此,在检索之前,需要从日志文件和trap文件中解析出可以直接用于检索比对的信息,即解析出上述文件中记录的设备的ip地址、trap信息、生成时间、接收时间等。

此外,server1中还记录有每一个被管理设备对应的上一次检索的截止时间(上一次检索到的最后一个trap信息的生成时间)。若被管理设备加入网管系统后还未检索过,则记录的截止时间为被管理设备加入网管系统的时间。参见表6,为server1中记录的检索时间记录表。

表6

现以从device1读取的logfile1为例,对logfile1中记录的trap信息执行如下检索操作:

如前所述,server1读取device1中的logfile1后,可利用device1的ip地址(ip1)重新命名,因此,server1可根据文件名中包括的ip1查询表6,获取ip1对应的上一次检索的截止时间(t5);同时,获取本地trapfile中记录的最晚接收到的trap信息的接收时间(t10)。将[t5,t10]作为本次检索的时间段。需要说明的是,t1~t10为时间标识,数值越大表示时间越靠后。

确定与该时间段[t5,t10]存在时间交集的trapfile。由表3可知,trapfile1的接收时间段为[t1,t4];由表4可知,trapfile2的接收时间段为[t5,t7];由表5可知,trapfile3的接收时间段为t10。因此,可确定与时间段[t5,t10]存在时间交集的trapfile包括trapfile2和trapfile3。即在trapfile2和trapfile3中检索logfile1(device1的日志文件)中的trap信息。

由于表6中已记录上一次检索的截止时间为t5,即t5之前生成的trap信息已检索过,因此,此次检索从logfile1(表1)中t5之后的trap信息开始检索。

首先,server1检索trapfile2中是否存在m14(生成时间为t6)。由表4可知,trapfile2中存在m14,因此,server1确定未漏收m14。

server1检索trapfile2中是否存在m15(生成时间为t8),由表4可知,trapfile2中不存在m15。继续检索trapfile3中是否存在m15,由表5可知,trapfile3中也不存在m15。因此,server1确定漏收了m15,将m15记录到告警数据库中,进行告警补录,并基于m15进行告警。

m15是logfile1中的最后一个trap信息,此次检索结束。server1将m15的生成时间t8记录到检索时间记录表中,作为下一次检索的起始时间。更新后的检索时间记录表,如表7所示。

表7

由于logfile1中trap信息已全部检索过,因此,可删除server1中存储的logfile1,以节省存储空间。

同理,对从device2读取的logfile2中的trap信息进行检索,在此不再赘述。在完成对logfile2中的trap信息的检索后,检索时间记录表如表8所示。

表8

由表8可知,最小检索截止时间为t8,接收时间段位于t8之前的trapfile(trapfile1和trapfile2)在后续检索中不再需要,因此,将trapfile1和trapfile2删除,以节约存储空间。

至此,完成对本具体实施例的描述。

以上对本发明实施例提供的方法进行了描述,下面对本发明实施例提供的装置进行描述:

参见图4,为本发明实施例提供的装置的结构示意图。该装置包括:获取单元401、检索单元402以及告警单元403,其中:

获取单元401,用于从被管理设备获取第一trap文件,所述第一trap文件用于记录所述被管理设备通过trap报文发送的第一trap信息;

检索单元402,用于从本地存储的第二trap文件中,检索第一trap信息,所述第二trap文件用于记录所述网管服务器通过trap报文接收到的第二trap信息;

告警单元403,用于若未检索到所述第一trap信息,基于所述第一trap信息进行告警。

作为一个实施例,所述装置还包括:

生成单元,用于将第二trap信息存入临时文件;若所述临时文件的大小达到预设的大小阈值,和/或,所述临时文件的存在时长达到预设的时长阈值,根据所述临时文件生成第二trap文件。

作为一个实施例,所述第一trap文件中还包括所述第一trap信息的生成时间;

所述检索单元402,具体用于确定本次检索的时间段,所述时间段的起始时间为上一次检索的截止时间,所述时间段的结束时间为当前存在的第二trap文件中最后接收到的第二trap信息的接收时间,其中,所述上一次检索的截止时间为上一次检索的最后一个第一trap信息的生成时间;从第二trap文件中,确定与本次检索的时间段存在时间交集的第三trap文件;从第三trap文件中,检索第一trap信息。

作为一个实施例,所述检索单元402从第二trap文件中,确定与本次检索的时间段存在时间交集的第三trap文件,包括:

获取第二trap文件中各第二trap信息的接收时间;

基于所述各第二trap信息的接收时间,确定第二trap文件包括的第二trap信息的接收时间范围;

从第二trap文件中,确定接收时间范围与本次检索的时间段存在交集的第三trap文件;

或者,

所述第二trap文件的文件名中包括时间信息,所述时间信息为所述第二trap文件中记录的首个第二trap信息的接收时间;

基于第二trap文件的文件名中包括的时间信息,确定与本次检索的时间段存在时间交集的第三trap文件。

作为一个实施例,所述装置还包括:

删除单元,用于确定各被管理设备对应的上一次检索的截止时间中的最小截止时间;若第二trap文件对应的接收时间段小于所述最小截止时间,删除该第二trap文件;若第一trap文件中的第一trap信息均已执行检索,删除本地存储的该第一trap文件。

至此,完成图4所示装置的描述。在本发明实施例中,网管服务器从被管理设备获取被管理设备记录的已发送的trap信息,同时,网管服务器本地记录已接收的trap信息。若已接收的trap信息中不包括被管理设备已发送的trap信息,则基于不包括的trap信息进行告警,以避免网管服务器漏收trap信息而导致的告警缺失。

以上所述仅为本发明实施例的较佳实施例而已,并不用以限制本发明,凡在本发明实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1