CN106452905A - 消息处理方法和装置 - Google Patents
消息处理方法和装置 Download PDFInfo
- Publication number
- CN106452905A CN106452905A CN201610970467.8A CN201610970467A CN106452905A CN 106452905 A CN106452905 A CN 106452905A CN 201610970467 A CN201610970467 A CN 201610970467A CN 106452905 A CN106452905 A CN 106452905A
- Authority
- CN
- China
- Prior art keywords
- message
- alarm
- alarm information
- new
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种消息处理方法和装置。其中,该方法包括:检测消息队列中是否记录有新的告警消息,其中,消息队列用于记录接收到的告警消息;在检测出消息队列中记录有新的告警消息的情况下,从消息队列中取出新的告警消息;将新的告警消息转换为告警对象;通过告警处理模块对告警对象执行告警处理。本发明解决了告警消息的处理速度慢导致消息丢失的技术问题。
Description
技术领域
本发明涉及信息处理领域,具体而言,涉及一种消息处理方法和装置。
背景技术
简单网络管理协议(SNMP,Simple Network Management protocol)是专门设计用于在IP网络管理网络节点的一种标准协议,是一种应用层协议。利用SNMP,可以收集远程设备(如,服务器、路由器、交换机等)的管理信息并且对远程设备进行配置,实现对远程设备的综合统一管理。
现有技术中,SNMP网管系统采用后台管理者Manager/前台代理Agent的架构,后台网管作为管理者(Manager),前台代理Agent是驻留在远程设备上的一个进程或任务,为被管者。管理者和被管者之间采用SNMP协议进行通信。网管系统以UDP传输协议来发送和接收SNMP消息。
当远程设备出现特定事件,前台代理Agent通过SNMP协议中定义的告警Trap消息主动发送消息到后台网管。后台网管接收到Trap消息后,对该告警消息进行处理。然而,现有技术中,一般采用单线程方案,也即,将消息接收和消息处理逻辑耦合,如果同时接收多条消息,后台网管需要串行处理,单条告警的处理时间直接影响到告警处理的效率。而一条告警消息的处理由多个步骤组成,涉及到数据库操作的比较耗时,将这就直接影响到消息接收逻辑,导致高峰时部分消息无法处理,丢失部分告警消息。在该技术中,远程设备主动上报Trap告警消息上报效率高,但是基于不可靠传输协议UDP的本质决定了SNMP的告警消息本身也是不可靠的,可能存在消息丢失的情况。
现有技术中,还提供了一种基于主动轮询获取实时告警消息的方式,采用该种方式,如果想要尽可能及时地获取告警消息,那么轮询间隔需要尽可能地小,但是这样又会加大网络负载和设备资源消耗。
针对上述告警消息的处理速度慢导致消息丢失的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种消息处理方法和装置,以至少解决告警消息的处理速度慢导致消息丢失的技术问题。
根据本发明实施例的一个方面,提供了一种消息处理方法,包括:检测消息队列中是否记录有新的告警消息,其中,消息队列用于记录接收到的告警消息;在检测出消息队列中记录有新的告警消息的情况下,从消息队列中取出新的告警消息;将新的告警消息转换为告警对象;通过告警处理模块对告警对象执行告警处理。
根据本发明实施例的另一方面,还提供了一种消息处理装置,包括:检测单元,用于检测消息队列中是否记录有新的告警消息,其中,消息队列用于记录接收到的告警消息;取出单元,用于在检测出消息队列中记录有新的告警消息的情况下,从消息队列中取出新的告警消息;转换单元,用于将新的告警消息转换为告警对象;执行单元,用于通过告警处理模块对告警对象执行告警处理。
通过上述实施例,消息队列专门用于存储接收到的告警消息,在后台网管服务器上启动一个进程实时检测消息队列中是否有新的告警消息,在检测到新的告警消息的情况下,从消息队列中取出该新的告警消息,并生成该新的告警消息的告警对象,通过告警处理模块对该告警对象进行处理。在该实施例中,通过消息队列将消息的接收逻辑和消息的处理逻辑进行了解耦,也即,消息的接收和消息的处理互不影响,消息处理速度的快慢不会影响消息的接收,如告警处理模块处理消息的速度慢,也可以将接收到的消息写入消息队列,从而解决了现有技术中告警消息的处理速度慢导致消息丢失的问题,达到了告警消息的处理速度不影响消息的接收的效果,提高了系统的稳定性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的消息处理方法的硬件环境的示意图;
图2是根据本发明实施例的一种可选的消息处理方法的流程图一;
图3是根据本发明实施例的一种可选的消息处理方法的流程图二;
图4是根据本发明实施例的一种可选的消息处理方法的流程图三;
图5是根据本发明实施例的一种可选的消息处理方法的流程图四;
图6是根据本发明实施例的一种可选的消息处理装置的示意图一;
图7是根据本发明实施例的一种可选的消息处理装置的示意图二;
图8是根据本发明实施例的一种可选的消息处理装置的示意图三;以及
图9是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种邮件处理的方法实施例。可选地,在本实施例中,上述消息处理方法和装置可以应用于如图1所示的由后台服务器102和远程设备104所构成的硬件环境中。如图1所示,服务器102通过网络与远程设备104进行连接,上述网络包括但不限于:广域网、城域网或局域网,远程设备104并不限定于PC、手机、平板电脑等。本发明实施例的消息处理方法和装置可以由服务器102来执行,也可以由远程设备104来执行,还可以是由服务器102和终端104共同执行。其中,远程104执行本发明实施例的消息处理方法和装置也可以是由安装在其上的客户端来执行。
可选地,该远程设备还可以为服务器、路由器、交换机等,本申请对此不做限定。
可选地,本实施例的服务器可以为后台网管,是管理者;远程设备上运行有前端代理的进程或任务,该前端代理和后台网管之间通过SNMP进行通讯,在远程设备发生预定的告警事件的情况下,前端代理将告警消息发送给后台网管,后台网管接收到该告警消息之后,对其进行相应的处理。
可选地,在远程设备上驻留前端代理的任务或进程之后,前端代理设置后台网管的服务器IP,以与后台网管进行通讯。
进一步可选地,后台网管接收到告警消息之后,将告警消息写入消息队列中,在后台网管上单独启动一个进程,该进程启动后实时检测消息队列中是否有新的告警消息,若检测到该消息队列中有新的告警消息,则将该新的告警消息从消息队列中取出,生成该新的告警消息的告警对象,经该告警对象发送至告警处理模块,告警处理模块按照告警对象的事件类型,对告警对象进行相应的处理。
具体地,图2是根据本发明实施例的一种可选的消息处理方法的流程图一,如图2所示,该方法应用在后台管理服务器上,该方法可以包括以下步骤:
步骤S202,检测消息队列中是否记录有新的告警消息,其中,消息队列用于记录接收到的告警消息;
步骤S204,在检测出消息队列中记录有新的告警消息的情况下,从消息队列中取出新的告警消息;
步骤S206,将新的告警消息转换为告警对象;
步骤S208,通过告警处理模块对告警对象执行告警处理。
通过上述实施例,消息队列专门用于存储接收到的告警消息,在后台网管服务器上启动一个进程实时检测消息队列中是否有新的告警消息,在检测到新的告警消息的情况下,从消息队列中取出该新的告警消息,并生成该新的告警消息的告警对象,通过告警处理模块对该告警对象进行处理。在该实施例中,通过消息队列将消息的接收逻辑和消息的处理逻辑进行了解耦,也即,消息的接收和消息的处理互不影响,消息处理速度的快慢不会影响消息的接收,如告警处理模块处理消息的速度慢,也可以将接收到的消息写入消息队列,从而解决了现有技术中告警消息的处理速度慢导致消息丢失的问题,达到了告警消息的处理速度不影响消息的接收的效果,提高了系统的稳定性。
在步骤S202提供的技术方案中,可以在后台网管服务器上设置一个消息队列,将接收到的告警消息写入该消息队列,并在后台网管服务器启动后,在该后台网管服务器上启动一个单独的检测进程,该进程不断循环检测消息队列中是否记录有新的告警消息。
可选地,该后台网管服务器上启动的检测进程,可以不间断地检测该消息队列中是否记录有新的告警消息;为了减少后台网管服务器上资源的占用,也可以每隔预定时长检测一次,如每隔1ms,本申请对此不做具体限定。
可选地,消息队列可以为在消息的传输过程中保存消息的容器,该消息队列在将消息从消息的来源中继到消息的目标时充当中间人,如果发送消息时接收者暂时不可用,可以将消息存储在该消息队列中,直至可以传递该消息。
具体到该实施例中,消息队列用于存储来源于前端代理的告警消息,该消息的目标可以为告警处理模块,在告警处理模块暂时无法处理该消息的情况下(如告警处理模块没有空闲资源处理该新的告警消息),可以将该消息继续保存在消息队列中。
在步骤S204提供的技术方案中,在检测出消息队列中记录有新的告警消息的情况下,从消息队列中取出新的告警消息,可选地,从消息队列中取出新的告警消息,可以是将该新的告警消息从消息队列中删除,并将该新的告警消息进行下一步的处理。
可选地,从消息队列中取出该新的告警消息之前,可以检测告警处理模块的空闲资源是否足够处理该新的告警消息,如果该告警处理模块的空闲资源不足以处理该新的告警消息,则暂缓执行取出操作;在检测到告警处理模块的空闲资源足以处理该新的告警消息的情况下,再执行取出操作。
在步骤S206的技术方案中,将新的告警消息转换为告警对象,可选地,检测进程在取出告警消息之后,调用告警适配器,利用该告警适配器将告警消息转换为告警对象。
可选地,获取告警消息的属性,利用该告警消息的属性将告警消息转换为对应具体设备的告警对象,并将告警对象发送至告警处理模块。
在步骤S208的技术方案中,通过告警处理模块对告警对象执行告警处理,可以通过告警处理模块按照告警对象的事件类型对告警对象执行告警处理。
图3示出了一种可选的实施例,如图3所示,在检测消息队列中是否记录有新的告警消息之前,方法还包括:
步骤S302:接收远程设备上报的告警消息,将接收到的告警消息写入消息队列;
步骤S202至步骤S208的实现方式与上述实施例中的实现方式一致,在此不再赘述。
可选地,上述步骤S202:检测消息队列中是否记录有新的告警消息可以通过如下方式实现:检测消息队列是否为空;若消息队列不为空,则检测出消息队列中记录有新的告警消息。
可选地,在每次检测到消息队列中存在新的告警消息之后,将其从消息队列中取出,这样,消息队列中变为空的队列,如果后台网管服务器接收到新的告警消息,将接收到的新的消息保存入(或写入)消息队列,则消息队列不为空,在后台网管服务器上检测消息队列时,就可以通过检测消息队列是否为空,来检测消息队列中是否记录有新的告警消息,若消息队列为空,则确定消息队列中未记录新的告警消息;若消息队列不为空,则确定消息队列中记录有新的告警消息。
通过上述实施例,可以通过消息队列将消息的接收逻辑与处理逻辑解耦,从而使得消息的处理速度不会导致消息的丢失。
为了使得系统更加可靠、稳定,本申请还提供了一种实施例,在检测出消息队列中记录有新的告警消息的情况下,方法还包括:获取新的告警消息的当前消息计数器;基于当前消息计数器检测是否发生消息丢失;在检测出发生消息丢失的情况下,启动同步进程进行消息同步。
其中,告警消息中记录有告警消息的属性,该属性包括告警消息的消息计数器,在本实施例中,将新的告警消息中的消息计数器称之为当前消息计数器。
在该实施例中,可以通过新的告警消息中的当前消息计数器检测是否发生消息丢失,这里的消息丢失是指上报该新的告警消息的设备上报的消息是否发生丢失事件。
可选地,在检测出发生消息丢失的情况下,启动同步进程进行消息同步,以将丢失的消息找回,从而解决了现有技术中由于系统不稳定导致消息丢失的问题,实现了不丢失消息、或者即便是丢失了消息也可以及时找回的效果。
在一个可选的实施例中,基于当前消息计数器检测是否发生消息丢失包括:从数据库获取与新的告警消息对应的上一次消息计数器;若当前消息计数器与上一次消息计数器的值的差值大于预定阈值,则确定检测出发生消息丢失。
在后台网管服务器中记录有接收到的所有的告警消息的信息,在获取到新的告警消息的当前消息计数器之后,获取该新的告警消息的上报设备的信息,从数据库中读取该上报设备上次上报的告警消息的消息计数器,该上报设备上次上报的告警消息的消息计数器即为与该新的告警消息对应的上一次消息计数器。
在获取到该当前消息计数器和上一次消息计数器之后,计算当前消息计数器和上一次消息计数器的值的差值,若该差值大于预定阈值,则确定检测出该上报设备上报的消息发生了丢失事件;若该差值不大于预定阈值,则确定检测出该上报设备上报的消息未发生丢失事件。
可选地,这里的预定阈值可以为1,在该上述实施例中,检测的是同一设备相邻两次上报的告警消息的消息计数器,可以确定的是,在不发生消息丢失的情况下,同一设备相邻两次上报的告警消息的消息计数器的值的差值为1,如果检测出的当前消息计数器与上一次消息器的值大于1,则确定该设备上报的消息发生了丢失事件。
在一个可选的实施例中,启动同步进程进行消息同步可以包括:向上报新的告警消息的设备发送同步命令,其中,同步命令用于获取设备上存储的第一告警列表;从数据库中读取设备的第二告警列表;比较第一告警列表和第二告警列表,确定丢失的告警消息;将丢失的告警消息插入第二告警列表,并将告警消息写入消息队列。
需要说明的是,设备上设置有告警消息列表(即上述实施例中的第一告警列表),该告警消息列表用于存储设备上报的告警消息的相关信息;数据库中将接收到的告警消息的相关信息存储在告警消息列表中(即上述实施例中的第二告警列表)。
可选地,在确定发生消息丢失事件的情况下,启动同步进程,该同步进程向发生消息丢失的设备发送同步命令,该发生消息丢失的设备接收到同步命令之后,将设备上的第一告警列表发送至后台网管服务器,该同步进程接收到设备发送的第一告警列表之后,同步进程获取数据库中存储的第二告警列表,将第一告警列表和第二告警列表中的信息进行比对,比较出丢失的告警消息,如,存在于第一告警列表中、且第二告警列表中未存储的告警消息,在确定出丢失的告警消息之后,将该丢失的告警消息插入第二告警列表,并将该丢失的消息写入消息队列中。
通过上述实施例,可以在告警消息发生丢失的情况下,及时确定丢失的消息,并进行消息的同步,保证系统的稳定可靠。
根据本发明的上述实施例,在检测出消息队列中记录有新的告警消息的情况下,从消息队列中取出新的告警消息包括:确定告警处理模块是否具有空闲资源;在告警处理模块具有空闲资源的情况下,从消息队列中取出新的告警消息。
可选地,可以在从消息队列中取出新的告警消息之前,检测告警处理模块是否具有空闲资源,若告警处理模块不具有空闲资源,则暂缓执行取出操作;若告警处理模块具有空闲资源,则执行取出操作。
其中的空闲资源可以为能够处理该新的告警消息的足够的资源。
需要的说明的是,处理不同事件类型的资源可以相同或者不同,在检测告警处理模块是否具有空闲资源的过程中,可以获取处理该新的告警消息所需的资源,检测告警处理模块中剩余资源(如,未参与告警处理的资源)是否大于等于处理该新的告警消息所需的资源,如果是,则确定告警处理模块具有空闲资源,如果否,则确定告警处理模块不具有空闲资源。
可选地,暂缓执行取出操作可以通过如下步骤执行:间隔预定时长之后,再次检测告警处理模块是否具有空闲资源,在告警处理模块仍不具有空闲资源的情况下,再次暂缓执行取出操作,直至告警处理模块具有空闲资源。
进一步可选地,在暂缓执行取出操作的过程中,若经过预定报警时长,仍未检测出告警处理模块具有空闲资源,则可以生成报警消息,该报警消息用于指示用户检测告警处理模块是否发生异常;另一个种可选地,在暂缓执行取出操作的过程中,若检测次数超过预定次数,仍未检测出告警处理模块具有空闲资源,则可以生成报警消息,该报警消息用于指示用户检测告警处理模块是否发生异常。
根据本发明的上述实施例,从消息队列中取出新的告警消息包括:在新的告警消息为一条的情况下,从消息队列中取出该新的告警消息;在新的告警消息为一条或多条的情况下,从消息队列中取出全部或部分新的告警消息。
可选地,检测到的消息队列中存储的新的告警消息可以为一条或者多条,在检测到的新的告警消息为一条的情况下,若告警处理模块具有空闲资源,则可以取出该新的告警消息。在检测到的新的告警消息为多条的情况下,可以逐条取出新的告警消息,也可以一次取出多条或者全部新的告警消息,可选地,在该实施例中,每次取出新的告警消息时,空闲资源指的是与当前取出的新的告警消息对应的资源。
通过上述实施例,可以进一步保证系统的可靠性和稳定性。
根据本发明的上述实施例,在从消息队列中取出新的告警消息之后,将新的告警消息转换为告警对象包括:获取新的告警消息的消息标识和设备类型,其中,设备类型为上报新的告警消息的设备的类型;若消息标识是已配置的消息标识、且在数据库中记录有设备类型,则生成新的告警消息的告警对象。
在上述实施例中,获取新的告警消息的消息标识,检测该消息标识是否为配置过的消息标识,可选地,可以通过检测该消息标识是否被存储在标识表中来实现,如果未存储在标识表中,则确定该消息标识未被配置;如果存储在标识表中,则确定该消息标识为已配置的消息标识。
在上述实施例中,获取新的告警消息的设备IP,根据该设备IP在数据库中查找设备类型,如果在数据库中可以查找到该IP对应的设备类型,则可以确定数据库中记录有该设备类型;如果在数据库中查找不到该IP对应的设备类型,则确定数据库中未记录该设备类型。
可选地,若该消息标识是未配置的消息标识,则丢弃该告警数据;或者,若在数据库中未查找到对应的设备类型,则丢弃该告警数据。
根据本发明的上述实施例,通过告警处理模块对告警对象执行告警处理包括:获取告警对象的事件类型;在事件类型为告警类型的情况下,将告警对象对应的信息增加到实时告警表中;在事件类型为取消类型的情况下,将告警对象对应的信息从实时告警表中删除。
可选地,告警处理模块接收到告警对象后,判断事件类型,如果是告警类型,则将该告警对象对应的信息新增到数据库实时告警表中,并且记录最新的告警消息;如果是告警恢复类型(即上述的取消类型),则将该告警对象对应的信息从实时告警表中删除,并将从实时告警表中删除的信息插入到历史告警表中。
需要说明的是,本申请还提供了一种实施例,在检测出消息队列中记录有新的告警消息的情况下,方法还可以包括:获取新的告警消息的设备类型和告警类型;按照设备类型和告警类型将新的告警消息展示在链路拓扑图上。
通过该实施例,根据链路拓扑对实时告警进行可视化,方便定位问题设备;根据设备类型及告警类型对告警数据进行趋势展示,方便进行告警分析。
通过上述实施例,基于SNMP协议的设备实时监控技术,解决告警消息处理效率低和网络传输不可靠导致的告警消息丢失的问题,上述实施例可以高效率、高可靠的进行告警处理,并且根据设备链路拓扑对告警信息进行可视化展示和分析,提高问题定位效率。
下面结合图4和图5对本申请提供的另一可选实施例进行详细说明。
如图4所示,该实施例可以包括如下步骤:
步骤S401:在远程设备上通过前台代理配置后台网管服务器的地址。
可选地,前台代理(Agent)配置后台网管服务器IP。
步骤S402:前台代理在检测到远程设备发生预定事件时,生成并主送上报告警消息。
步骤S403:后台网管服务器将接收到的告警消息写入消息队列中。
可选地,后台网管服务器接收到前台代理上报的告警消息后,将告警写入消息队列中,并将该告警消息记录在告警列表中(即第二告警列表)。
步骤S404:后台网管服务器启动检测进程。
步骤S405:检测进程检测消息队列中是否有新的告警消息。
其中,在检测到有新的告警消息的情况下,执行步骤S406:调用告警适配器,生成告警对象;在未检测到新的告警消息的情况下,继续执行检测操作。
可选地,后台网管单独启动一个进程,负责检查消息队列当中是否有告警消息;如果有,调用告警适配器模块;告警适配器负责将原始消息转换为对应具体设备的告警对象,发送给告警处理模块。
步骤S407:告警处理模块对告警对象进行告警处理。
可选地,告警处理模块接受到告警对象后,判断事件类型,如果是告警,将该告警对应的信息新增到数据库的实时告警表当中,并且记录该最新的告警Trap消息;如果是告警恢复类型,则将该告警对象对应的信息从实时告警表中删除,同时将删除的信息插入到历史告警表中。
步骤S408:告警扫描发送模块定时扫描实时告警表,将满足条件的告警发送给指定接收人。
可选地,告警扫描发送模块扫描实时告警表,获取该实时告警表中各个告警事件的属性,该属性包括:告警级别等信息,在该告警事件符合预定条件时,将该告警事件发送给指定接收人,该预定条件可以为符合预定告警级别。
例如,接收人A接收告警级别为A的告警事件,在该实施例中的预定条件若检测出该告警级别符合接收人A的告警级别,则将该告警事件发送给接收人A,接收人A接收到该告警之后,进行告警分析。
步骤S409:对告警消息进行可视化展示。
可选地,可以根据链路拓扑对实时告警进行可视化,方便定位问题设备;根据设备类型及告警类型对告警数据进行趋势展示,方便进行告警分析。
通过上述实施例,通过消息队列的方式将消息接收和消息处理两块逻辑进行解耦,避免消息处理慢导致的消息无法接收的问题,提高了系统的可靠性;采用设备链路拓扑方式对告警信息进行可视化展示,能够直观定位问题设备及其造成的影响,提高了运维人员工作效率。
上述实施例中的步骤S405和步骤S406可以通过如下实现方案实现:
后台网管启动后,单独启动一个进程,不断循环检查消息队列中是否有新的告警消息;如果有新消息,取出消息,分析消息的属性,包括告警消息标识(Trap OID)、服务器IP、事件类型、消息计数器、绑定属性值等。对于未配置的消息标识,直接丢弃。可选地,根据服务器IP得到消息发送方设备类型。如果查询不到所属设备类型,作为脏数据丢弃。否则生成相应设备的告警对象。
如图5所示,在获取到新的告警消息之后,可以通过如下步骤检测是否发生消息丢失,可选地,该检测实施例可以包括如下步骤:
步骤S501:取出最新告警消息的消息计数器值V1。
步骤S502:取出数据库中记录的上一次处理的消息计数器值V2。
步骤S503:判断V1-V2是否大于1。
若是,则执行步骤S504;若否,则执行步骤S506。
步骤S504:启动同步进程。
步骤S505:将丢失的消息插入数据库的告警列表中。
步骤S506:更新数据库。
通过上述实施例。将消息计数器值v1与数据库中记录的上一个消息计数器值v2进行对比,如果v1-v2>1,表明由于网络原因部分消息丢失,需要启动主动同步进程进行消息同步;否则将v1更新至数据库,覆盖v2。
在上述实施例中,主动同步进程向前台代理发送命令,获取远程设备的告警列表,对比数据库实时告警表,确定丢失的告警消息,将丢失的告警消息插入数据库的实时告警表,以更新v1至数据库,覆盖v2。
在上述实施例中,在发现snmp trap消息出现丢失的情况下,能够主动获取远程设备的实时告警消息,进行消息同步,保证系统稳定可靠。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例,还提供了一种用于实施上述消息处理方法的消息处理装置。图6是根据本发明实施例的一种可选的消息处理装置的示意图,如图6所示,该装置可以包括:
检测单元61,用于检测消息队列中是否记录有新的告警消息,其中,消息队列用于记录接收到的告警消息;
取出单元63,用于在检测出消息队列中记录有新的告警消息的情况下,从消息队列中取出新的告警消息;
转换单元65,用于将新的告警消息转换为告警对象;
执行单元67,用于通过告警处理模块对告警对象执行告警处理。
通过上述实施例,消息队列专门用于存储接收到的告警消息,在后台网管服务器上启动一个进程实时检测消息队列中是否有新的告警消息,在检测到新的告警消息的情况下,从消息队列中取出该新的告警消息,并生成该新的告警消息的告警对象,通过告警处理模块对该告警对象进行处理。在该实施例中,通过消息队列将消息的接收逻辑和消息的处理逻辑进行了解耦,也即,消息的接收和消息的处理互不影响,消息处理速度的快慢不会影响消息的接收,如告警处理模块处理消息的速度慢,也可以将接收到的消息写入消息队列,从而解决了现有技术中告警消息的处理速度慢导致消息丢失的问题,达到了告警消息的处理速度不影响消息的接收的效果,提高了系统的稳定性。
可以在后台网管服务器上设置一个消息队列,将接收到的告警消息写入该消息队列,并在后台网管服务器启动后,在该后台网管服务器上启动一个单独的检测进程,该进程不断循环检测消息队列中是否记录有新的告警消息。
可选地,该后台网管服务器上启动的检测进程,可以不间断地检测该消息队列中是否记录有新的告警消息;为了减少后台网管服务器上资源的占用,也可以每隔预定时长检测一次,如每隔1ms,本申请对此不做具体限定。
可选地,消息队列可以为在消息的传输过程中保存消息的容器,该消息队列在将消息从消息的来源中继到消息的目标时充当中间人,如果发送消息时接收者暂时不可用,可以将消息存储在该消息队列中,直至可以传递该消息。
具体到该实施例中,消息队列用于存储来源于前端代理的告警消息,该消息的目标可以为告警处理模块,在告警处理模块暂时无法处理该消息的情况下(如告警处理模块没有空闲资源处理该新的告警消息),可以将该消息继续保存在消息队列中。
在检测出消息队列中记录有新的告警消息的情况下,从消息队列中取出新的告警消息,可选地,从消息队列中取出新的告警消息,可以是将该新的告警消息从消息队列中删除,并将该新的告警消息进行下一步的处理。
可选地,从消息队列中取出该新的告警消息之前,可以检测告警处理模块的空闲资源是否足够处理该新的告警消息,如果该告警处理模块的空闲资源不足以处理该新的告警消息,则暂缓执行取出操作;在检测到告警处理模块的空闲资源足以处理该新的告警消息的情况下,再执行取出操作。
可选地,将新的告警消息转换为告警对象,可选地,检测进程在取出告警消息之后,调用告警适配器,利用该告警适配器将告警消息转换为告警对象。
可选地,获取告警消息的属性,利用该告警消息的属性将告警消息转换为对应具体设备的告警对象,并将告警对象发送至告警处理模块。
通过告警处理模块对告警对象执行告警处理,可以通过告警处理模块按照告警对象的事件类型对告警对象执行告警处理。
根据上述实施例,装置还包括:如图7所示的处理单元71,用于在检测消息队列中是否记录有新的告警消息之前,接收远程设备上报的告警消息,将接收到的告警消息写入消息队列;检测单元具体用于:检测消息队列是否为空;若消息队列不为空,则检测出消息队列中记录有新的告警消息。
在一个可选的实施例中,装置还可以包括:如图8所示的,第一获取单元81,用于在检测出消息队列中记录有新的告警消息的情况下,获取新的告警消息的当前消息计数器;检测单元61还用于基于当前消息计数器检测是否发生消息丢失;同步单元83,用于在检测出发生消息丢失的情况下,启动同步进程进行消息同步。
可选地,检测单元可以包括:第一获取模块,用于从数据库获取与新的告警消息对应的上一次消息计数器;确定模块,用于若当前消息计数器与上一次消息计数器的值的差值大于预定阈值,则确定检测出发生消息丢失。
根据本发明的上述实施例,同步单元可以包括:发送模块,用于向上报新的告警消息的设备发送同步命令,其中,同步命令用于获取设备上存储的第一告警列表;读取模块,用于从数据库中读取设备的第二告警列表;比较模块,用于比较第一告警列表和第二告警列表,确定丢失的告警消息;插入模块,用于将丢失的告警消息插入第二告警列表,并将告警消息写入消息队列。
在一个可选的实施例中,转换单元具体用于:获取新的告警消息的消息标识和设备类型,其中,设备类型为上报新的告警消息的设备的类型;若消息标识是已配置的消息标识、且在数据库中记录有设备类型,则生成新的告警消息的告警对象。
在一个可选的实施例中,执行单元包括:第二获取模块,用于获取告警对象的事件类型;增加模块,用于在事件类型为告警类型的情况下,将告警对象对应的信息增加到实时告警表中;删除模块,用于在事件类型为取消类型的情况下,将告警对象对应的信息从实时告警表中删除。
需要说明的是,装置还可以包括:第二获取单元,用于在检测出消息队列中记录有新的告警消息的情况下,获取新的告警消息的设备类型和告警类型;展示单元,用于按照设备类型和告警类型将新的告警消息展示在链路拓扑图上。
另一种可选的,取出单元具体用于:确定告警处理模块是否具有空闲资源;在告警处理模块具有空闲资源的情况下,从消息队列中取出新的告警消息。
进一步可选地,取出单元具体用于:在新的告警消息为一条的情况下,从消息队列中取出该新的告警消息;在新的告警消息为一条或多条的情况下,从消息队列中取出全部或部分新的告警消息。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
根据本发明实施例,还提供了一种用于实施上述消息处理方法的服务器或终端。
图9是根据本发明实施例的一种终端的结构框图,如图9所示,该终端可以包括:一个或多个(图中仅示出一个)处理器201、存储器203、以及传输装置205(如上述实施例中的发送装置),如图9所示,该终端还可以包括输入输出设备207。
其中,存储器203可用于存储软件程序以及模块,如本发明实施例中的消息处理方法和装置对应的程序指令/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的消息处理方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器203用于存储应用程序。
处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:
检测消息队列中是否记录有新的告警消息,其中,消息队列用于记录接收到的告警消息;在检测出消息队列中记录有新的告警消息的情况下,从消息队列中取出新的告警消息;将新的告警消息转换为告警对象;通过告警处理模块对告警对象执行告警处理。
通过上述实施例,消息队列专门用于存储接收到的告警消息,在后台网管服务器上启动一个进程实时检测消息队列中是否有新的告警消息,在检测到新的告警消息的情况下,从消息队列中取出该新的告警消息,并生成该新的告警消息的告警对象,通过告警处理模块对该告警对象进行处理。在该实施例中,通过消息队列将消息的接收逻辑和消息的处理逻辑进行了解耦,也即,消息的接收和消息的处理互不影响,消息处理速度的快慢不会影响消息的接收,如告警处理模块处理消息的速度慢,也可以将接收到的消息写入消息队列,从而解决了现有技术中告警消息的处理速度慢导致消息丢失的问题,达到了告警消息的处理速度不影响消息的接收的效果,提高了系统的稳定性。
处理器201还用于执行下述步骤:在检测消息队列中是否记录有新的告警消息之前,方法还包括:接收远程设备上报的告警消息,将接收到的告警消息写入消息队列;检测消息队列中是否记录有新的告警消息包括:检测消息队列是否为空;若消息队列不为空,则检测出消息队列中记录有新的告警消息。
处理器201还用于执行下述步骤:在检测出消息队列中记录有新的告警消息的情况下,获取新的告警消息的当前消息计数器;基于当前消息计数器检测是否发生消息丢失;在检测出发生消息丢失的情况下,启动同步进程进行消息同步。
处理器201还用于执行下述步骤:从数据库获取与新的告警消息对应的上一次消息计数器;若当前消息计数器与上一次消息计数器的值的差值大于预定阈值,则确定检测出发生消息丢失。
处理器201还用于执行下述步骤:向上报新的告警消息的设备发送同步命令,其中,同步命令用于获取设备上存储的第一告警列表;从数据库中读取设备的第二告警列表;比较第一告警列表和第二告警列表,确定丢失的告警消息;将丢失的告警消息插入第二告警列表,并将告警消息写入消息队列。
处理器201还用于执行下述步骤:获取新的告警消息的消息标识和设备类型,其中,设备类型为上报新的告警消息的设备的类型;若消息标识是已配置的消息标识、且在数据库中记录有设备类型,则生成新的告警消息的告警对象。
处理器201还用于执行下述步骤:获取告警对象的事件类型;在事件类型为告警类型的情况下,将告警对象对应的信息增加到实时告警表中;在事件类型为取消类型的情况下,将告警对象对应的信息从实时告警表中删除。
处理器201还用于执行下述步骤:在检测出消息队列中记录有新的告警消息的情况下,获取新的告警消息的设备类型和告警类型;按照设备类型和告警类型将新的告警消息展示在链路拓扑图上。
处理器201还用于执行下述步骤:确定告警处理模块是否具有空闲资源;在告警处理模块具有空闲资源的情况下,从消息队列中取出新的告警消息。
处理器201还用于执行下述步骤:在新的告警消息为一条的情况下,从消息队列中取出该新的告警消息;在新的告警消息为一条或多条的情况下,从消息队列中取出全部或部分新的告警消息。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图9所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,终端还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行消息处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,检测消息队列中是否记录有新的告警消息,其中,消息队列用于记录接收到的告警消息;
S2,在检测出消息队列中记录有新的告警消息的情况下,从消息队列中取出新的告警消息;
S3,将新的告警消息转换为告警对象;
S4,通过告警处理模块对告警对象执行告警处理。
通过上述实施例,消息队列专门用于存储接收到的告警消息,在后台网管服务器上启动一个进程实时检测消息队列中是否有新的告警消息,在检测到新的告警消息的情况下,从消息队列中取出该新的告警消息,并生成该新的告警消息的告警对象,通过告警处理模块对该告警对象进行处理。在该实施例中,通过消息队列将消息的接收逻辑和消息的处理逻辑进行了解耦,也即,消息的接收和消息的处理互不影响,消息处理速度的快慢不会影响消息的接收,如告警处理模块处理消息的速度慢,也可以将接收到的消息写入消息队列,从而解决了现有技术中告警消息的处理速度慢导致消息丢失的问题,达到了告警消息的处理速度不影响消息的接收的效果,提高了系统的稳定性。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在检测消息队列中是否记录有新的告警消息之前,方法还包括:接收远程设备上报的告警消息,将接收到的告警消息写入消息队列;检测消息队列中是否记录有新的告警消息包括:检测消息队列是否为空;若消息队列不为空,则检测出消息队列中记录有新的告警消息。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在检测出消息队列中记录有新的告警消息的情况下,获取新的告警消息的当前消息计数器;基于当前消息计数器检测是否发生消息丢失;在检测出发生消息丢失的情况下,启动同步进程进行消息同步。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:从数据库获取与新的告警消息对应的上一次消息计数器;若当前消息计数器与上一次消息计数器的值的差值大于预定阈值,则确定检测出发生消息丢失。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:向上报新的告警消息的设备发送同步命令,其中,同步命令用于获取设备上存储的第一告警列表;从数据库中读取设备的第二告警列表;比较第一告警列表和第二告警列表,确定丢失的告警消息;将丢失的告警消息插入第二告警列表,并将告警消息写入消息队列。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取新的告警消息的消息标识和设备类型,其中,设备类型为上报新的告警消息的设备的类型;若消息标识是已配置的消息标识、且在数据库中记录有设备类型,则生成新的告警消息的告警对象。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取告警对象的事件类型;在事件类型为告警类型的情况下,将告警对象对应的信息增加到实时告警表中;在事件类型为取消类型的情况下,将告警对象对应的信息从实时告警表中删除。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在检测出消息队列中记录有新的告警消息的情况下,获取新的告警消息的设备类型和告警类型;按照设备类型和告警类型将新的告警消息展示在链路拓扑图上。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:确定告警处理模块是否具有空闲资源;在告警处理模块具有空闲资源的情况下,从消息队列中取出新的告警消息。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在新的告警消息为一条的情况下,从消息队列中取出该新的告警消息;在新的告警消息为一条或多条的情况下,从消息队列中取出全部或部分新的告警消息。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (20)
1.一种消息处理方法,其特征在于,包括:
检测消息队列中是否记录有新的告警消息,其中,所述消息队列用于记录接收到的告警消息;
在检测出所述消息队列中记录有新的告警消息的情况下,从所述消息队列中取出所述新的告警消息;
将所述新的告警消息转换为告警对象;
通过所述告警处理模块对所述告警对象执行告警处理。
2.根据权利要求1所述的方法,其特征在于,
在检测消息队列中是否记录有新的告警消息之前,所述方法还包括:接收远程设备上报的告警消息,将接收到的告警消息写入所述消息队列;
检测消息队列中是否记录有新的告警消息包括:检测所述消息队列是否为空;若所述消息队列不为空,则检测出所述消息队列中记录有所述新的告警消息。
3.根据权利要求1所述的方法,其特征在于,在检测出所述消息队列中记录有新的告警消息的情况下,所述方法还包括:
获取所述新的告警消息的当前消息计数器;
基于所述当前消息计数器检测是否发生消息丢失;
在检测出发生消息丢失的情况下,启动同步进程进行消息同步。
4.根据权利要求3所述的方法,其特征在于,基于所述当前消息计数器检测是否发生消息丢失包括:
从数据库获取与所述新的告警消息对应的上一次消息计数器;
若所述当前消息计数器与所述上一次消息计数器的值的差值大于预定阈值,则确定检测出发生消息丢失。
5.根据权利要求3所述的方法,其特征在于,启动同步进程进行消息同步包括:
向上报所述新的告警消息的设备发送同步命令,其中,所述同步命令用于获取所述设备上存储的第一告警列表;
从数据库中读取所述设备的第二告警列表;
比较所述第一告警列表和所述第二告警列表,确定丢失的告警消息;
将所述丢失的告警消息插入所述第二告警列表,并将所述告警消息写入所述消息队列。
6.根据权利要求1所述的方法,其特征在于,将所述新的告警消息转换为告警对象包括:
获取所述新的告警消息的消息标识和设备类型,其中,所述设备类型为上报所述新的告警消息的设备的类型;
若所述消息标识是已配置的消息标识、且在数据库中记录有所述设备类型,则生成所述新的告警消息的告警对象。
7.根据权利要求1所述的方法,其特征在于,通过所述告警处理模块对所述告警对象执行告警处理包括:
获取所述告警对象的事件类型;
在所述事件类型为告警类型的情况下,将所述告警对象对应的信息增加到实时告警表中;
在所述事件类型为取消类型的情况下,将所述告警对象对应的信息从所述实时告警表中删除。
8.根据权利要求1所述的方法,其特征在于,在检测出所述消息队列中记录有新的告警消息的情况下,所述方法还包括:
获取所述新的告警消息的设备类型和告警类型;
按照设备类型和告警类型将所述新的告警消息展示在链路拓扑图上。
9.根据权利要求1所述的方法,其特征在于,从所述消息队列中取出所述新的告警消息包括:
确定所述告警处理模块是否具有空闲资源;
在所述告警处理模块具有所述空闲资源的情况下,从所述消息队列中取出所述新的告警消息。
10.根据权利要求1或9所述的方法,其特征在于,从所述消息队列中取出所述新的告警消息包括:
在所述新的告警消息为一条的情况下,从所述消息队列中取出该新的告警消息;
在所述新的告警消息为一条或多条的情况下,从所述消息队列中取出全部或部分新的告警消息。
11.一种消息处理装置,其特征在于,包括:
检测单元,用于检测消息队列中是否记录有新的告警消息,其中,所述消息队列用于记录接收到的告警消息;
取出单元,用于在检测出所述消息队列中记录有新的告警消息的情况下,从所述消息队列中取出所述新的告警消息;
转换单元,用于将所述新的告警消息转换为告警对象;
执行单元,用于通过所述告警处理模块对所述告警对象执行告警处理。
12.根据权利要求11所述的装置,其特征在于,
所述装置还包括:处理单元,用于在检测消息队列中是否记录有新的告警消息之前,接收远程设备上报的告警消息,将接收到的告警消息写入所述消息队列;
所述检测单元具体用于:检测所述消息队列是否为空;若所述消息队列不为空,则检测出所述消息队列中记录有所述新的告警消息。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一获取单元,用于在检测出所述消息队列中记录有新的告警消息的情况下,获取所述新的告警消息的当前消息计数器;
所述检测单元还用于基于所述当前消息计数器检测是否发生消息丢失;
同步单元,用于在检测出发生消息丢失的情况下,启动同步进程进行消息同步。
14.根据权利要求13所述的装置,其特征在于,所述检测单元包括:
第一获取模块,用于从数据库获取与所述新的告警消息对应的上一次消息计数器;
确定模块,用于若所述当前消息计数器与所述上一次消息计数器的值的差值大于预定阈值,则确定检测出发生消息丢失。
15.根据权利要求13所述的装置,其特征在于,所述同步单元包括:
发送模块,用于向上报所述新的告警消息的设备发送同步命令,其中,所述同步命令用于获取所述设备上存储的第一告警列表;
读取模块,用于从数据库中读取所述设备的第二告警列表;
比较模块,用于比较所述第一告警列表和所述第二告警列表,确定丢失的告警消息;
插入模块,用于将所述丢失的告警消息插入所述第二告警列表,并将所述告警消息写入所述消息队列。
16.根据权利要求11所述的装置,其特征在于,所述转换单元具体用于:
获取所述新的告警消息的消息标识和设备类型,其中,所述设备类型为上报所述新的告警消息的设备的类型;
若所述消息标识是已配置的消息标识、且在数据库中记录有所述设备类型,则生成所述新的告警消息的告警对象。
17.根据权利要求11所述的装置,其特征在于,所述执行单元包括:
第二获取模块,用于获取所述告警对象的事件类型;
增加模块,用于在所述事件类型为告警类型的情况下,将所述告警对象对应的信息增加到实时告警表中;
删除模块,用于在所述事件类型为取消类型的情况下,将所述告警对象对应的信息从所述实时告警表中删除。
18.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于在检测出所述消息队列中记录有新的告警消息的情况下,获取所述新的告警消息的设备类型和告警类型;
展示单元,用于按照设备类型和告警类型将所述新的告警消息展示在链路拓扑图上。
19.根据权利要求11所述的装置,其特征在于,所述取出单元具体用于:
确定所述告警处理模块是否具有空闲资源;
在所述告警处理模块具有所述空闲资源的情况下,从所述消息队列中取出所述新的告警消息。
20.根据权利要求11或19所述的装置,其特征在于,所述取出单元具体用于:
在所述新的告警消息为一条的情况下,从所述消息队列中取出该新的告警消息;
在所述新的告警消息为一条或多条的情况下,从所述消息队列中取出全部或部分新的告警消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610970467.8A CN106452905A (zh) | 2016-10-27 | 2016-10-27 | 消息处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610970467.8A CN106452905A (zh) | 2016-10-27 | 2016-10-27 | 消息处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106452905A true CN106452905A (zh) | 2017-02-22 |
Family
ID=58180865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610970467.8A Pending CN106452905A (zh) | 2016-10-27 | 2016-10-27 | 消息处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106452905A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846323A (zh) * | 2017-10-25 | 2018-03-27 | 国网山东省电力公司信息通信公司 | 一种厂家专业网管北向接口的运行状态监控方法及系统 |
CN108038130A (zh) * | 2017-11-17 | 2018-05-15 | 中国平安人寿保险股份有限公司 | 虚假用户的自动清理方法、装置、设备及存储介质 |
CN112422303A (zh) * | 2019-08-21 | 2021-02-26 | 大唐移动通信设备有限公司 | 告警数据的处理方法、管理者实体和网元 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921407A (zh) * | 2005-08-23 | 2007-02-28 | 中兴通讯股份有限公司 | 一种snmp协议网管系统的告警管理方法 |
CN101039498A (zh) * | 2007-05-09 | 2007-09-19 | 中兴通讯股份有限公司 | 带有分布式告警处理的基站系统及其告警处理方法 |
CN101184003A (zh) * | 2007-12-03 | 2008-05-21 | 中兴通讯股份有限公司 | 基于网络管理协议的前后台告警管理系统及其管理方法 |
CN101577646A (zh) * | 2009-06-22 | 2009-11-11 | 武汉烽火网络有限责任公司 | 一种基于snmp的告警同步方法 |
CN102882700A (zh) * | 2012-08-03 | 2013-01-16 | 中国科学院声学研究所 | 一种网管系统中的告警信息管理方法及设备 |
CN103905533A (zh) * | 2014-03-13 | 2014-07-02 | 广州杰赛科技股份有限公司 | 基于云存储的分布式告警监控方法和系统 |
-
2016
- 2016-10-27 CN CN201610970467.8A patent/CN106452905A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921407A (zh) * | 2005-08-23 | 2007-02-28 | 中兴通讯股份有限公司 | 一种snmp协议网管系统的告警管理方法 |
CN101039498A (zh) * | 2007-05-09 | 2007-09-19 | 中兴通讯股份有限公司 | 带有分布式告警处理的基站系统及其告警处理方法 |
CN101184003A (zh) * | 2007-12-03 | 2008-05-21 | 中兴通讯股份有限公司 | 基于网络管理协议的前后台告警管理系统及其管理方法 |
CN101577646A (zh) * | 2009-06-22 | 2009-11-11 | 武汉烽火网络有限责任公司 | 一种基于snmp的告警同步方法 |
CN102882700A (zh) * | 2012-08-03 | 2013-01-16 | 中国科学院声学研究所 | 一种网管系统中的告警信息管理方法及设备 |
CN103905533A (zh) * | 2014-03-13 | 2014-07-02 | 广州杰赛科技股份有限公司 | 基于云存储的分布式告警监控方法和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846323A (zh) * | 2017-10-25 | 2018-03-27 | 国网山东省电力公司信息通信公司 | 一种厂家专业网管北向接口的运行状态监控方法及系统 |
CN107846323B (zh) * | 2017-10-25 | 2020-03-06 | 国网山东省电力公司信息通信公司 | 一种厂家专业网管北向接口的运行状态监控方法及系统 |
CN108038130A (zh) * | 2017-11-17 | 2018-05-15 | 中国平安人寿保险股份有限公司 | 虚假用户的自动清理方法、装置、设备及存储介质 |
CN112422303A (zh) * | 2019-08-21 | 2021-02-26 | 大唐移动通信设备有限公司 | 告警数据的处理方法、管理者实体和网元 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110661669B (zh) | 一种基于icmp、tcp、udp协议的网络设备的网络拓扑自动发现方法 | |
CN108306748B (zh) | 网络故障定位方法、装置及交互装置 | |
CN105577496B (zh) | 一种家庭网关利用云平台识别接入设备类型的系统 | |
CN103220173B (zh) | 一种报警监控方法及监控系统 | |
CN110489391A (zh) | 一种数据处理方法及相关设备 | |
US8001150B2 (en) | Device management method using nodes having additional attribute and device management client thereof | |
CN103795580A (zh) | 一种数据监控方法、系统及相关设备 | |
CN108093207A (zh) | 一种数据存储、获取方法及装置 | |
CN109428785A (zh) | 一种故障检测方法和装置 | |
CN106452905A (zh) | 消息处理方法和装置 | |
CN110996056B (zh) | 一种级联监控系统的视频存储方法及装置 | |
CN112737856B (zh) | 链路追踪方法和装置、存储介质及电子装置 | |
CN110069403A (zh) | 定位崩溃事件的方法及装置、存储介质、电子装置 | |
CN110196780B (zh) | 确定服务器状态的方法、装置、存储介质和电子装置 | |
CN110888790B (zh) | 日志管理方法及装置、电子设备、存储介质 | |
CN105306243A (zh) | 过期数据采集方法、装置及系统 | |
CN112714010A (zh) | 一种网络拓扑管理方法、装置、拓展单元及存储介质 | |
CN107577822A (zh) | 一种数据同步方法、数据同步装置及移动终端 | |
CN111597091A (zh) | 数据监控方法及系统、电子设备、计算机存储介质 | |
CN106201464A (zh) | 一种冻结应用的应用图标处理方法及移动终端 | |
CN113079070B (zh) | 一种域名系统的响应性能监测方法及装置 | |
CN103281209B (zh) | 一种告警信息的处理方法及设备 | |
JP2003203022A (ja) | 簡易ネットワーク管理プロトコルマネージャーでネットワーク要素の代表状態を管理及び表示する方法及びそのコンピュータ読取可能媒体 | |
CN114363150A (zh) | 服务器集群的网卡连通性监控方法及装置 | |
CN111681397A (zh) | 一种配网自动化短信发送方法、发送系统和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170222 |