一种事件处理方法及装置与流程

文档序号:12176811阅读:331来源:国知局
一种事件处理方法及装置与流程

本发明涉及监控告警领域,具体而言,涉及一种事件处理方法及装置。



背景技术:

传统的监控告警系统,在对收集到的监控信息进行处理时,通常是将监控到的数据存储到数据库中,然后从数据库中读取数据并执行查询来完成的。

这种仅仅以数据库支持的查询来处理监控信息的方式,通常应用于对静态的所有历史数据的查询,很难实现实时性的查询与告警,而由于一次性查询所有的历史数据,会使得告警量过大,系统难以处理。同时,这种方式分析出的往往是与单个事件相对应的简单的告警,这些告警包含的信息较少,系统难以做出合适且快速的响应。进一步地,这种方式很难分析出与多个事件相对应的具有特定规则的复杂告警,若对于这种复杂度较高的告警,在分析出简单的告警结果的基础上编写代码进行二次处理,会产生巨大的工作量。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种事件处理方法及装置,以解决上述问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种事件处理方法,所述方法包括:接收输入事件;每当接收所述输入事件的条件满足预设规则时,将接收到的所述输入事件作为待处理事件集,将所述待处理事件集与预定告警规则进行匹配,当所述待处理事件集满足所述预定告警规则时,生成告警事件。

第二方面,本发明实施例提供了一种事件处理装置,所述装置包括:事件接收模块,用于接收输入事件;事件处理模块,用于每当接收所述输入事件的条件满足预设规则时,将接收到的所述输入事件作为待处理事件集,将所述待处理事件集与预定告警规则进行匹配,当所述待处理事件集满足所述预定告警规则时,生成告警事件。

与现有技术相比,本发明实施例提供的一种事件处理方法及装置,通过在接收输入事件的过程中,一旦满足预设规则,即刻将接收到的输入事件作为待处理事件集与预定告警规则进行匹配的方式,实现了实时性的查询与告警,同时还能够获得与多个事件相对应的特定规则下的复杂告警。并且由于仅对当前接收到的满足预设规则的输入事件进行实时处理,一次性处理的输入事件数量有限,因此同一时刻的告警量也有限,系统方便处理。进一步地,由于生成的复杂告警事件与多个输入事件相对应,包含的信息量较大,产生的告警具有更加清晰明确的意义,系统更易迅速作出相应的响应。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施例提供的服务器的结构示意图。

图2是本发明第一实施例提供的一种事件处理方法的流程图。

图3是本发明第一实施例提供的一种事件处理方法的部分流程图。

图4是本发明第二实施例提供的一种事件处理装置的结构框图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1示出了服务器100的结构示意图,请参阅图1,所述服务器100包括存储器110、处理器120以及网络模块130。

存储器110可用于存储软件程序以及模块,如本发明实施例中的事件处理方法及装置对应的程序指令/模块,处理器120通过运行存储在存储器110内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本发明实施例中的事件处理方法。存储器110可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。进一步地,上述存储器110内的软件程序以及模块还可包括:操作系统111以及服务模块112。其中操作系统111,例如可为LINUX、UNIX、WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。服务模块112运行在操作系统111的基础上,并通过操作系统111的网络服务监听来自网络的请求,根据请求完成相应的数据处理,并返回处理结果给客户端。也就是说,服务模块112用于向客户端提供网络服务。

网络模块130用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。

可以理解,图1所示的结构仅为示意,服务器100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。另外,本发明实施例中的服务器还可以包括多个具体不同功能的服务器。

图2示出了本发明第一实施例提供的一种事件处理方法的流程图,请参阅图2,本实施例描述的是服务器的处理流程,所述方法包括:

步骤S210,接收输入事件。

其中,所述输入事件由关注的数据抽象而成。所述关注的数据可以由不同的数据源提供。例如,可以是传感器采集的数据、摄像机拍摄到的图像数据、计算机产生的数据亦或是大数据平台提供的数据。可以理解的是,在不同的应用场景中,所述关注的数据可以根据需求由不同的数据源提供,因此上述例子并不构成对本发明具体实施方式的限制。

事件是指所关注的状态的一次变化或者某项活动的一次发生。例如一次鼠标的点击,一条记录的变化亦或是用户的一个删除操作。

其中,所述输入事件可以为简单事件,也可以为复杂事件。

简单事件是指实际环境中检测到的事件。例如温度传感器采集到的一个温度值,烟雾传感器探测到的一个烟雾浓度值,一次股票交易的信息,或者是一次修改或删除操作。简单事件具有原子性,是不可分割的事件。

复杂事件是由两个或者两个以上事件抽取而成的高层次事件。例如火灾事件,可以通过对温度传感器采集到的温度值为62度、烟雾传感器探测到的烟雾浓度值为5%以及辐射传感器探测到的辐射强度为25kw/m2,三个简单事件进行抽象和提取得到。

优选的,在步骤S210之后,所述方法还可以包括:将所述输入事件转化为具有第一预设格式的输入事件。

其中,所述第一预设格式为预先设定的数据模型,即预先设定的事件的格式。常采用的数据模型包括元组模型、记录模型和对象模型。其中,元组模型将事件以一个属性的有序集合来进行描述;记录模型将事件以一个关键词-值对的集合来描述;对象模型将事件属性用类进行封装。

将具有不同格式的输入事件转换成统一的格式,有利于服务器对其一同进行处理。

步骤S220,每当接收所述输入事件的条件满足预设规则时,将接收到的所述输入事件作为待处理事件集,将所述待处理事件集与预定告警规则进行匹配,当所述待处理事件集满足所述预定告警规则时,生成告警事件。

其中,所述预设规则可以是预先设定的用于接收所述输入事件的时间间隔,即每当接收所述输入事件的时间达到预设时间间隔时,将所述预设时间间隔内的输入事件作为待处理事件集。

例如,假设所述预设规则为用于接收所述输入事件的时间间隔为10分钟,则每接收10分钟的输入事件,即将当前这10分钟内接收到的输入事件作为待处理事件集。

所述预设规则还可以是接收到的所述输入事件的数量,即每当接收到的所述输入事件的数量达到预设数量时,将所述预设数量的输入事件作为待处理事件集。

例如,假设所述预设规则为接收到的所述输入事件的数量为1000,则每当接收到的所述输入事件的数量达到1000个时,即将这1000个输入事件作为待处理事件集。

可以理解的是,所述预设规则可以根据不同的需求进行定义或修改,因此并不构成对本发明具体实施方式的限制。

其中,所述预定告警规则可以利用事件描述语言来定义并存储在服务器中,作为一种实施方式,可以存储在服务器的Esper模块中。

事件描述语言可以为:组合操作表达式、数据流查询语言、产生式规则或其它种类的事件描述语言。组合表达式通过使用不同的组合操作符将单个事件进行组合,并在此基础上进行表达式的嵌套来描述复杂事件。数据流查询语言是对SQL结构化查询语言的拓展,首先将输入流中的事件转换成数据库中的关系,然后在这些关系上执行查询,最后将查询结果转换成数据流输出。产生式规则则指定了当特定状态到达时应该执行的相应的动作。

优选的,所述预定告警规则利用数据流查询语言来定义。

由于事件描述语言为机器可执行的语言,且其语法和语义是高层和直观的,因此采用事件描述语言来定义所述预定告警规则,更有利于编程人员或用户进行定义。

作为一种具体的实施方式,所述将所述待处理事件集与预定告警规则进行匹配,当所述待处理事件集满足所述预定告警规则时,生成告警事件,包括:

将所述待处理事件集中的每个所述输入事件依次与预定限制条件进行匹配,当匹配成功,则所述输入事件满足所述预定限制条件,当满足所述预定限制条件的所述输入事件的个数超过预定阈值时,则所述待处理事件集满足所述预定告警规则,生成告警事件,所述告警事件与满足所述预定限制条件的所述输入事件相关联。

所述预定限制条件为预先设定的用于筛选所述输入事件的条件。例如,所述预定限制条件可以为温差达到20度、响应率大于97%或小于5%、股票交易量达到100000。可以理解的是,在不同的应用场景中,所述预定限制条件可以根据实际需求进行定义,因此上述例子并不构成对本发明具体实施方式的限制,进一步地,这些限制条件可以单独使用,也可以同时组合使用。

可以理解的是,当所述待处理事件集与预定告警规则匹配完毕后,所述待处理事件集即变为已处理事件集,所述已处理事件集中的每个所述输入事件可以根据具体需求存储、删除或作为另一个所述待处理事件集中的所述输入事件。

下面以一个具体的实施例对步骤S220进行说明。

若预设规则为用于接收所述输入事件的时间间隔为10分钟。预定限制条件为连续1分钟平均响应时间超过100ms或响应率小于97%或响应数量小于100000,预定阈值为10。

每当接收所述输入事件的时间达到10分钟,将这10分钟内接收到的所述输入事件作为待处理事件集;将所述待处理事件集中的每个输入事件依次与预定限制条件进行匹配,筛选出连续1分钟平均响应时间超过100ms或响应率小于97%或响应数量小于100000的输入事件,当筛选出的的输入事件的个数超过预定阈值10,则生成相应的告警事件。

作为一种具体的实施方式,当所述预定告警规则为多个时,所述将所述待处理事件集与预定告警规则进行匹配,当所述待处理事件集满足所述预定告警规则时,生成告警事件,包括:

将所述待处理事件集分别与每个所述预定告警规则进行匹配,当所述待处理事件集满足任意一个所述预定告警规则时,生成与所满足的所述预定告警规则对应的告警事件。

其中,所述告警事件可以携带事件类型标识号,以区分对应于不同预定告警规则的告警事件,方便服务器针对不同事件类型的告警事件分别进行处理。

优选的,在步骤S220之后,所述方法还可以包括:将所述告警事件转化为具有第二预设格式的告警事件。

其中,所述第二预设格式为预先设定的数据模型,即预先设定的事件的格式。将具有统一格式的所述告警事件转换为预定的其他的事件格式,有利于适应告警事件接收端的不同需求。

优选的,请参阅图3,所述方法还可以包括:

步骤S230,接收用于更新所述预定告警规则的更新信息。

步骤S240,根据所述更新信息,将对应的预定告警规则进行更新。

其中,所述更新信息可以是用于替换原预定告警规则的全新的告警规则,也可以是用于对原预定告警规则进行部分修改的信息。所述更新信息可以携带规则标识号。

若所述更新信息是用于替换原预定告警规则的全新的告警规则,更新时,将与所述规则标识号对应的原预定告警规则替换为所述全新的告警规则即可。

若所述更新信息是用于对原预定告警规则进行部分修改的信息,更新时,将与所述规则标识号对应的原预定告警规则中的相应内容替换为所述更新信息即可。

本发明实施例提供的事件处理方法,通过在接收输入事件的过程中,一旦满足预设规则,即刻将接收到的输入事件作为待处理事件集与预定告警规则进行匹配的方式,实现了实时性的查询与告警,同时还能够获得与多个事件相对应的特定规则下的复杂告警。并且由于仅对当前接收到的满足预设规则的输入事件进行实时处理,一次性处理的输入事件数量有限,因此同一时刻的告警量也有限,系统方便处理。进一步地,由于生成的复杂告警事件与多个输入事件相对应,包含的信息量较大,产生的告警具有更加清晰明确的意义,系统更易迅速作出相应的响应。此外,通过对输入事件及生成的告警事件的格式转换,使其可以适用于不同应用场景的监控告警系统。进一步地,由于预定告警规则可以自行定义及更新,可以满足更灵活多变的监控告警需求。

图4是本发明第二实施例提供的一种事件处理装置300的结构框图,请参阅图4,所述事件处理装置300包括事件接收模块310和事件处理模块320。

所述事件接收模块310,用于接收输入事件。

所述事件处理模块320,用于每当接收所述输入事件的条件满足预设规则时,将接收到的所述输入事件作为待处理事件集,将所述待处理事件集与预定告警规则进行匹配,当所述待处理事件集满足所述预定告警规则时,生成告警事件。

其中,所述预设规则可以是预先设定的用于接收所述输入事件的时间间隔。此时,所述事件处理模块320,具体用于每当接收所述输入事件的时间达到预设时间间隔时,将所述预设时间间隔内的输入事件作为待处理事件集,将所述待处理事件集与预定告警规则进行匹配,当所述待处理事件集满足所述预定告警规则时,生成告警事件。

所述预设规则还可以是接收到的所述输入事件的数量。此时,所述所述事件处理模块320,具体用于每当接收到的所述输入事件的数量达到预设数量时,将所述预设数量的输入事件作为待处理事件集,将所述待处理事件集与预定告警规则进行匹配,当所述待处理事件集满足所述预定告警规则时,生成告警事件。

可以理解的是,所述预设规则可以根据不同的需求进行定义或修改,因此并不构成对本发明具体实施方式的限制。

作为一种具体的实施方式,所述事件处理模块320,具体用于每当接收所述输入事件的条件满足预设规则时,将接收到的所述输入事件作为待处理事件集,将所述待处理事件集中的每个所述输入事件依次与预定限制条件进行匹配,当匹配成功,则所述输入事件满足所述预定限制条件,当满足所述预定限制条件的所述输入事件的个数超过预定阈值时,则所述待处理事件集满足所述预定告警规则,生成告警事件,所述告警事件与满足所述预定限制条件的所述输入事件相关联。

可以理解的是,当所述待处理事件集与预定告警规则匹配完毕后,所述待处理事件集即变为已处理事件集,所述已处理事件集中的每个所述输入事件可以根据具体需求存储、删除或作为另一个所述待处理事件集中的所述输入事件。

当所述预定告警规则为多个时,作为一种具体的实施方式,所述事件处理模块320,具体用于每当接收所述输入事件的条件满足预设规则时,将接收到的所述输入事件作为待处理事件集,将所述待处理事件集分别与每个所述预定告警规则进行匹配,当所述待处理事件集满足任意一个所述预定告警规则时,生成与所满足的所述预定告警规则对应的告警事件。

其中,所述告警事件可以携带事件类型标识号,以区分对应于不同预定告警规则的告警事件,方便服务器针对不同事件类型的告警事件分别进行处理。

优选的,所述装置还可以包括输入适配模块330,所述输入适配模块330,用于在接收输入事件之后,将所述输入事件转化为具有第一预设格式的输入事件。将具有不同格式的输入事件转换成统一的格式,有利于服务器对其一同进行处理。

优选的,所述装置还可以包括输出适配模块340,所述输出适配模块340,用于在生成告警事件之后,将所述告警事件转化为具有第二预设格式的告警事件。将具有统一格式的所述告警事件转换为预定的其他的事件格式,有利于适应告警事件接收端的不同需求。

优选的,所述装置还可以包括信息接收模块350以及规则更新模块360。

所述信息接收模块350,用于接收用于更新所述预定告警规则的更新信息。

所述规则更新模块360,用于根据所述更新信息,将对应的预定告警规则进行更新。

以上各模块可以是由软件代码实现,此时,上述的各模块可存储于服务器100的存储器110内。以上各模块同样可以由硬件例如集成电路芯片实现。

本发明实施例所提供的事件处理装置300,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

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