云接入控制器处理告警信息的方法和装置与流程

文档序号:12699092阅读:230来源:国知局
云接入控制器处理告警信息的方法和装置与流程

本发明实施方式涉及通讯技术领域,尤其涉及一种云接入控制器处理告警信息的方法和装置。



背景技术:

云接入控制器(Access Controller,AC)系统往往通过超文本标记语言(HyperText Markup Language,HTML)呈现系统的功能接口,用户可以通过浏览器连接云接入控制器系统,进行各种操作。

云接入控制器需要管理大量的接入点设备,这些接入点设备在运行时,会产生大量的设备告警信息。为了处理这些告警信息,单台告警服务器已经不能满足性能上的要求,云接入控制器为了能及时准确的处理接入点告警信息,使用由多台服务器组成的分布式环境对告警信息进行并发处理。

例如在并发处理告警时,服务器-1中的告警处理进程在t0时刻获取设备01的下线告警通知,由于服务器-1当前资源不充足,在t2时刻下线告警可能还没有处理完成,设备01下线状态还没有加入云接入控制器数据库中。在t1时刻,服务器-2中的告警处理进程获取设备01的上线通知,由于服务-2中的当前资源充足,告警进程很快完告警的处理。服务器-2在处理时,在数据库中没有发现设备01的下线状态,告警对设备状态不做结束。在t3时刻,服务器1的告警处理进程处理完成设备01下线告警,改变设备01的工作状态为下线。此刻对云接入控制器来说,设备01为下线状态,但实际上设备01已经恢复正常工作。

在实施本发明的过程中,发明人发现现有技术至少存在如下问题:

云接入控制器处理接入点设备告警信息时,在大量接入点设备接入云接入控制器时,云接入控制器采用多台服务器分布式方式对告警进行处理,由于每台服务器可获取资源和每条告警的业务复杂度都不一样,造成在一个时刻内每台服务器处理告警的速率不同,从而造成告警不能按照发生的时序进行处理,造成设备状态信息不准确。

应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。



技术实现要素:

针对上述问题,本发明实施方式的目的在于提供一种云接入控制器处理告警信息的方法和装置,能够提高云接入控制器处理告警信息的实时性和准确性。

为实现上述目的,本发明实施方式提供一种云接入控制器处理告警信息的方法,包括:接收预设接入点设备发来的告警信息,并将所述告警信息存储至所述预设接入点设备对应的消息中间件中;所述消息中间件中按照告警信息的生成时间对告警信息进行排序;读取所述消息中间件中的告警信息列表,并将所述告警信息列表中的第一个告警信息与当前处理线程中的告警信息进行对比;当所述告警信息列表中的第一个告警信息与所述当前处理线程中的告警信息相同时,对所述告警信息列表中的第一个告警信息进行处理;在所述当前处理线程处理完所述告警信息列表中的第一个告警信息后,在所述告警信息列表中将第一个告警信息删除,并向其它线程推送处理完成提示信息。

进一步地,所述消息中间件中的告警信息列表按照redis数据库的list类型进行构建;相应地,将所述告警信息存储至所述预设接入点设备对应的消息中间件中包括:将所述告警信息插入所述消息中间件中告警信息列表的末端。

进一步地,所述对所述告警信息列表中的第一个告警信息进行处理,包括:

在所述消息中间件中查询是否存在所述预设接入点设备的主键;当不存在时,在所述消息中间件中设置所述预设接入点设备的主键,并处理所述告警信息列表中的第一个告警信息;在所述当前处理线程处理完所述告警信息列表中的第一个告警信息后,从所述消息中间件中删除所述预设接入点设备的主键。

进一步地,在所述消息中间件中设置所述预设接入点设备的主键之后,还包括:为所述预设接入点设备的主键设置生效期限;当预设服务器处理所述告警信息列表中的第一个告警信息的时间达到所述生效期限时,所述消息中间件删除所述预设接入点设备的主键并向其它服务器发送主键过期提示信息。

进一步地,所述方法还包括:当其它服务器接收到所述主键过期提示信息后,读取所述消息中间件中的告警信息列表,并重新建立处理线程,以处理所述告警信息列表中的第一个告警信息。

进一步地,所述方法还包括:当所述告警信息列表中的第一个告警信息与所述当前处理线程中的告警信息不相同时,所述当前处理线程监听其它线程发来的处理完成提示信息。

进一步地,所述方法还包括:当所述当前处理线程中的告警信息不存在于所述告警信息列表中时,删除所述当前处理线程中的告警信息。

为实现上述目的,本发明实施方式还提供一种云接入控制器,包括:告警信息排序单元,用于接收预设接入点设备发来的告警信息,并将所述告警信息存储至所述预设接入点设备对应的消息中间件中;所述消息中间件中按照告警信息的生成时间对告警信息进行排序;告警信息对比单元,用于读取所述消息中间件中的告警信息列表,并将所述告警信息列表中的第一个告警信息与当前处理线程中的告警信息进行对比;告警信息处理单元,用于当所述告警信息列表中的第一个告警信息与所述当前处理线程中的告警信息相同时,对所述告警信息列表中的第一个告警信息进行处理;处理完成推送单元,用于在所述当前处理线程处理完所述告警信息列表中的第一个告警信息后,在所述告警信息列表中将第一个告警信息删除,并向其它线程推送处理完成提示信息。

由上可见,本发明实施方式提供的一种云接入控制器处理告警信息的方法和装置,将接入点设备发来的告警信息按照生成时间进行排序,从而保证能够按照时序处理各个告警信息,避免了因时序混乱而导致的云AC中AP设备状态错误的情况。进一步地,通过设置主键的生效期限,从而可以在处理告警信息的服务器异常时,由其它服务器继续处理告警信息,保证了告警信息能够被正常处理,从而进一步保证了AP设备状态能够被及时更新。

附图说明

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

图1为本发明实施方式中云接入控制器处理告警信息的方法流程图;

图2为本发明实施方式中云接入控制器的功能模块图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

本发明实施方式提供一种云接入控制器处理告警信息的方法。请参阅图1,包括以下步骤:

S1:接收预设接入点设备发来的告警信息,并将所述告警信息存储至所述预设接入点设备对应的消息中间件中;所述消息中间件中按照告警信息的生成时间对告警信息进行排序。

在本实施方式中,可以基于redis实现在分布式环境下按时序处理告警信息。具体地,在云AC中,可以通过告警接收进程进行告警信息的接收。当云AC接收到预设AP设备发来的告警信息时,可以将该告警信息包装为告警事件,并将该告警事件写入消息中间件的告警信息列表中。

在本实施方式中,所述告警信息列表可以按照redis数据库的list类型进行构建。List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,可以在其头部(left)和末端(right)添加新的元素。从元素插入和删除的效率视角来看,如果是在链表的两头插入或删除元素,这将会是非常高效的操作。

因此,在本实施方式中,可以将接收到的告警信息插入所述告警信息列表的末端。这样,越晚生成的告警信息,在告警信息列表中的位置就越靠右。

S2:读取所述消息中间件中的告警信息列表,并将所述告警信息列表中的第一个告警信息与当前处理线程中的告警信息进行对比。

在本实施方式中,由于云AC中的服务器呈分布式架构,可以通过多个服务器按照时序处理所述告警信息列表中的告警信息。

在本实施方式中,可以通过告警处理进程,对告警信息列表中的告警信息进行处理。云AC中的服务器在处理告警信息时,可以读取所述告警信息列表中的告警信息。然后将所述告警信息列表中的第一个告警信息与当前处理线程中的告警信息进行对比。将第一个告警信息与当前处理线程中的告警信息进行对比的意义在于,如果两者相同,则表明当前处理线程就是准备处理第一个告警信息。而如果两者不相同,则表明第一个告警信息正在被别的线程进行处理。

S3:当所述告警信息列表中的第一个告警信息与所述当前处理线程中的告警信息相同时,对所述告警信息列表中的第一个告警信息进行处理。

在本实施方式中,当所述告警信息列表中的第一个告警信息与所述当前处理线程中的告警信息相同时,则可以由所述当前处理线程对所述第一个告警信息进行处理。

具体地,在处理第一个告警信息前,当前处理线程可以在所述消息中间件中查询是否存在所述预设接入点设备的主键。如果存在,则表明当前有其它线程正在处理所述预设接入点设备的告警信息,需要等待其它线程处理完之后才可以开始处理。如果不存在时,则可以在所述消息中间件中设置所述预设接入点设备的主键,所述主键中可以包括所述预设接入点设备的标识。所述标识例如可以是所述预设接入点设备的MAC地址。那么该主键的格式就可以是“AP设备MAC地址:task”。在设置了主键之后,当前处理线程便可以对第一个告警信息进行处理。

在本实施方式中,考虑到在服务器出现异常时,可能导致第一个告警信息始终无法处理完成,这样后续的告警信息也将无法被处理,从而导致AP设备的状态无法得到更新。鉴于此,在本实施方式中可以为所述预设接入点设备的主键设置生效期限,该生效期限可以作为主键持续的时间上限。例如,服务器处理一个告警信息正常的时间通常在100ms,那么可以将所述生效期限设置为5s。这样,当预设服务器处理所述告警信息列表中的第一个告警信息的时间达到所述生效期限时,则表明该服务器处于异常状态,无法正常处理告警信息。此时,所述消息中间件中的redis可以删除所述预设接入点设备的主键并向其它服务器发送主键过期提示信息。

这样,当其它服务器接收到所述主键过期提示信息后,可以读取所述消息中间件中的告警信息列表,并重新建立处理线程,以处理所述告警信息列表中的第一个告警信息。其它服务器处理所述第一个告警信息的过程与上述步骤类似,这里便不再赘述。

在本实施方式中,当所述告警信息列表中的第一个告警信息与所述当前处理线程中的告警信息不相同时,所述当前处理线程可以监听其它线程发来的处理完成提示信息。当监听到其它线程发来的处理完成提示信息后,可以继续将当前告警信息列表中的第一个告警信息与自身的告警信息进行对比。

在本实施方式中,当所述当前处理线程中的告警信息不存在于所述告警信息列表中时,则表明当前处理线程中的告警信息已经被处理完毕,那么就无需进行再次处理,从而可以删除所述当前处理线程中的告警信息。

S4:在所述当前处理线程处理完所述告警信息列表中的第一个告警信息后,在所述告警信息列表中将第一个告警信息删除,并向其它线程推送处理完成提示信息。

在本实施方式中,当所述当前处理线程处理完所述告警信息列表中的第一个告警信息后,可以在所述告警信息列表中将第一个告警信息删除,从而使得原本处于第二位的告警信息成为当前的第一个告警信息。同时,当前处理线程还可以向其它线程推送处理完成提示信息,以便于其它线程开始按照上述步骤对本地的告警信息进行处理。具体地,可以通过redis中的pub/sub(Publish/Subscribe,发布及订阅)功能,向其它线程推送处理完成提示信息。

在本实施方式中,在所述当前处理线程处理完所述告警信息列表中的第一个告警信息后,可以从所述消息中间件中删除所述预设接入点设备的主键。这样,其它线程从而可以在所述消息中间件中建立所述预设接入点设备的主键。

请参阅图2,本发明实施方式还提供一种云接入控制器,包括:

告警信息排序单元100,用于接收预设接入点设备发来的告警信息,并将所述告警信息存储至所述预设接入点设备对应的消息中间件中;所述消息中间件中按照告警信息的生成时间对告警信息进行排序;

告警信息对比单元200,用于读取所述消息中间件中的告警信息列表,并将所述告警信息列表中的第一个告警信息与当前处理线程中的告警信息进行对比;

告警信息处理单元300,用于当所述告警信息列表中的第一个告警信息与所述当前处理线程中的告警信息相同时,对所述告警信息列表中的第一个告警信息进行处理;

处理完成推送单元400,用于在所述当前处理线程处理完所述告警信息列表中的第一个告警信息后,在所述告警信息列表中将第一个告警信息删除,并向其它线程推送处理完成提示信息。

在本发明一个实施方式中,所述消息中间件中的告警信息列表按照redis数据库的list类型进行构建;相应地,所述告警信息排序单元100包括:

信息插入模块,用于将所述告警信息插入所述消息中间件中告警信息列表的末端。

在本发明一个实施方式中,所述告警信息处理单元300包括:

主键查询模块,用于在所述消息中间件中查询是否存在所述预设接入点设备的主键;

主键设置模块,用于当不存在时,在所述消息中间件中设置所述预设接入点设备的主键,并处理所述告警信息列表中的第一个告警信息;

主键删除模块,用于在所述当前处理线程处理完所述告警信息列表中的第一个告警信息后,从所述消息中间件中删除所述预设接入点设备的主键。

需要说明的是,上述各个功能模块的具体实现方式,与步骤S1至S4中的描述一致,这里便不再赘述。

由上可见,本发明实施方式提供的一种云接入控制器处理告警信息的方法和装置,将接入点设备发来的告警信息按照生成时间进行排序,从而保证能够按照时序处理各个告警信息,避免了因时序混乱而导致的云AC中AP设备状态错误的情况。进一步地,通过设置主键的生效期限,从而可以在处理告警信息的服务器异常时,由其它服务器继续处理告警信息,保证了告警信息能够被正常处理,从而进一步保证了AP设备状态能够被及时更新。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。

最后应说明的是:上面对本发明的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本发明的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本发明旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。

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