CN102667718B - 处理网络事件的方法和系统 - Google Patents
处理网络事件的方法和系统 Download PDFInfo
- Publication number
- CN102667718B CN102667718B CN201080048575.0A CN201080048575A CN102667718B CN 102667718 B CN102667718 B CN 102667718B CN 201080048575 A CN201080048575 A CN 201080048575A CN 102667718 B CN102667718 B CN 102667718B
- Authority
- CN
- China
- Prior art keywords
- event
- data
- communication thread
- thread
- communication
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
提供一种处理网络事件的方法和系统,以根据单个网络设备事件生成多个事件。该系统包括用于获取事件数据的网络监控设备和用于在处理线程上从网络监控设备接收输入事件的处理系统,其中处理系统包括用于生成多个通信线程的通信线程生成组件,通信线程的每一个用于传输事件数据到服务器数据库。通信线程打开到所需服务器数据库的连接并且当网络监控设备运行时这些连接保持在打开状态下。
Description
技术领域
本发明涉及事件管理领域。特别地,本发明涉及由单网络设备事件的多事件生成。
背景技术
网络管理涉及从网络中的许多设备收集数据。已知的实现使用诸如探针或者代理的种类繁多的监控设备来执行该任务,所述任务可以提供来自多种类型的网络设备和系统的大量源数据。如果在没有预处理的情况下将该数据发送到中央数据库并且在中央数据库中对其进行过滤且接着进行处理,则可能导致高计算开销并且严重地影响系统的整体性能。
在已知的网络管理实现中,使用规则配置文件来执行预处理,所述规则配置文件允许网络管理员使用一系列逻辑运算来操作、扩增(augment)和丢弃输入的事件数据。然而,这些运算的输出局限为单个事件的生成,所述单个事件可能仅仅被发送到特定中央服务器数据库中的单个表。
为了管理不断增加的大量网络数据,已经组合了更加复杂的服务器数据库结构,以分散计算开销。然而,局限于监控设备级别上的每个输入事件的单数据事件限制了管理员可用的高级配置选项的数目。
在已知的监控设备中,可以从多个输入线程接收事件数据,但仅仅单个线程被用来通过使用规则文件来处理该数据并且将其发送到服务器数据库。
由于仅仅使用单个线程来处理和发出事件数据,所以性能受限于其所运行的机器上的单个处理器的速度,以及发送数据到服务器数据库的通信开销。即使监控设备的主机具有多个处理器内核(如现在大部分那样),但其并不提高事件处理和数据传输的速度。
因此,本领域需要解决上述问题。
发明内容
根据本发明的第一方面,提供了一种处理网络事件的方法,包含:在处理线程上从监控设备接收输入网络事件;根据网络事件生成多个数据输出;以及生成多个通信线程,每一个通信线程用于传输多个数据输出到多个服务器数据库中的一个。
处理线程可以接收输入事件并且可以处理该输入事件的规则文件,所述规则文件包括用于创建新通信线程的生成事件命令。通信线程可以打包并传输事件数据到服务器数据库。通信线程可以打开到所需服务器数据库的连接并且在监控设备运行时这些连接可以保持在打开状态下。
该方法可以包括:处理规则文件以查找已注册目标的实例;以及确定所需的服务器数据库连接。服务器数据库可以包括事件数据的一个或更多个表格,每个服务器数据库对应单个通信线程。
通过消息队列,线程间通信可以是异步的。该方法可以包括经由线程间数据结构传输事件数据。
该方法可以包括从处理线程发送清除(flush)命令以清除通信线程。
该方法还可以包括解析事件数据以生成多个数据输出。
该方法可以包括处理输入事件的规则文件,以及当生成事件命令到达时经由指针将数据传输到通信线程。
可以将事件数据作为目标和列数据传递到通信线程,并且将事件数据转换为结构化查询语言(SQL)并附加到文本存储器分配以用于传输。
根据本发明的第二方面,提供了一种处理网络事件的计算机软件产品,该产品包含计算机可读存储介质,存储在计算机中,所述计算机中存储包含计算机可执行指令的程序,所述指令在由计算机读取执行时执行下列步骤:在处理线程上从监控设备接收输入网络事件;根据网络事件生成多个数据输出;以及生成多个通信线程,每一个通信线程用于传输多个数据输出到多个服务器数据库中的一个。
根据本发明的第三方面,提供一种处理网络事件的系统,包含:网络监控设备,用于获取网络事件数据;处理系统,用于在处理线程上从监控设备接收输入事件,其中所述处理系统包括通信线程生成组件,用于生成多个通信线程,每一个通信线程用于传输事件数据到服务器数据库。
该处理系统可以包括用于输入事件和输入事件的规则文件的接收器,所述规则文件包括用于创建新通信线程的生成事件命令。
该系统可以包括:用于处理以查找已注册目标的实例的规则文件;以及用于确定所需服务器数据库连接的组件。
服务器数据库可以包括事件数据的一个或更多个表格,每个服务器数据库对应单个通信线程。
通过消息队列,线程间通信可以是异步的,并且可以提供线程间数据结构以传输事件数据。
该系统可以包括用于清除通信线程的组件。
该系统还可以包括用于解析事件数据以生成多个数据输出的解析组件。
通信线程可以包括转换器,用于转换事件数据为结构化查询语言(SQL)并且将其附加到文本存储器分配以用于传输。
处理系统可以运行在多个处理器上,使得处理线程和通信线程能够同时被执行。
从第四方面看,本发明提供计算机可读介质上存储的并且可加载到数字计算机的内存中的计算机程序,包含软件代码部分,所述软件代码部分当所述程序运行在计算机上时执行本发明的步骤。
附图说明
现在将结合如以下附图所示的优选实施例仅仅以示例的方式来描述本发明,在附图中:
图1是根据本发明优选实施例的事件管理系统的框图;
图2是根据本发明优选实施例的线程处理系统的框图;
图3是计算机系统的框图,其中可以实现本发明的优选实施例;
图4是根据本发明优选实施例的线程处理方法的流程图;
图5是根据本发明优选实施例的规则文件处理线程上的线程处理方法的流程图;以及
图6是根据本发明优选实施例的通信线程上的线程处理方法的流程图。
具体实施方式
应理解,为了说明的简洁、清楚起见,不一定按比例绘制附图所示的元件。例如,为了清楚起见,可以相对于其它元件放大某些元件的尺寸。此外,在适当的情况下,可以在附图中重复附图标记,以指示相应的或类似的特征。
在以下的详细描述中,阐述了多种特定细节,以提供对本发明的全面理解。然而,本领域技术人员将会理解的是,可以在没有这些特定细节的情况下实施本发明。在其他实例中,没有详细地描述众所周知的方法、过程和组件,以免使本发明变得模糊。
参考图1,显示了用于网络管理的事件管理系统100。系统100包括诸如探针或者代理的一个或更多个监控设备,其每一个经由设备接口101-103连接到诸如网络设备的事件源111-113,以检测和获取事件数据,并且转发事件数据121-123以用于处理。监控设备可以远程或者直接地工作以监控网络设备上的事件。事件数据121-123被作为警报或故障发送到一个或更多个服务器数据库131-133。提供处理系统140以在将事件数据121-123作为警报或故障转发到服务器数据库131-133之前转换和操作事件数据121-123。
例如,事件管理系统可以采用 OMNIbus服务级管理系统的形式,所述管理系统具有收集事件数据以作为警报发送到目标服务器(ObjectServers)的IBMNetcoolOMNIbus探针(IBM、Tivoli和Netcool是国际商业机器公司在世界范围内的很多行政辖区注册的商标)。其它事件管理系统由惠普公司、CA公司和BMC软件公司提供,其中,代理直接或远程地监控网络设备。
所述的处理系统140包括规则文件141并且包括可以响应于单个输入(incoming)数据事件121-123而用来生成附加事件的命令。可以将该命令与输入数据的现有逻辑处理和操作完全集成在一块以最大化配置灵活性。这给予管理员响应于单个输入数据事件121而向可以贮存在多个服务器数据库131-133上的多个表格151-153发送不同事件数据121-123的能力。
处理系统140负责规则文件处理和经由单独操作系统线程的服务器数据库通信。规则文件处理由规则文件处理线程160负责。规则文件中定义的每个单独服务器数据库131-133目标的通信由单独通信线程161-163负责。
一旦通过规则文件解析,则将事件数据121-123放置在特定服务器数据库131的适当数据队列上,所述数据队列由用于该服务器131的适当通信线程161读取。通信线程161转换输入数据为结构化查询语言(SQL)并且使用服务器中间件将其发送到服务器数据库131。
这意味着在多处理器内核主机上,可以在打包和发送数据到一个或更多个服务器数据库的同时执行规则文件处理。当在高数据负载下时,这可以显著地提高性能。
参考图2,框图更加详细地显示了处理系统140。处理系统140包括规则文件处理线程160和多个生成的通信线程161、162。
规则文件处理线程160包括规则文件141。规则文件处理线程160包括初始化组件212,所述初始化组件212执行预处理以读取规则文件141并且将其转换为机器可处理的形式,以产生在接收事件时完成的一系列声明列表。初始化组件212还创建目标服务器列表213。初始化组件212为每个目标服务器产生通信线程161、162,并且创建规则文件处理线程160和通信线程161、162中的每一个之间的数据或消息队列231、232。
事件接收器214接收输入事件数据。规则文件处理组件215处理输入事件数据。规则文件处理组件215包括事件生成命令组件216和事件解析命令组件217。
打包和传输组件218发送已解析事件到缓冲器219以用于传输。提供清除组件220来清除在前事件。
提供线程间数据结构250以避免大量数据通过消息队列231、232传送。在数据结构250中通过打包空间来分配存储器以存储事件数据。接着,将该数据的指针放置在消息队列231、232上并且发送到通信线程161、162。接下来,通信线程161、162在该数据已经被转换为SQL之后释放存储器。
规则文件处理线程160包括事件解析命令组件217,用于根据单事件生成多个数据输出,以输入多个数据库或表格。
使用规则文件141中的逻辑算符来处理来自输入事件的数据,所述数据被用来填入输出事件中的字段。例如,输入事件具有数据A(字符串)、B(整数)和C(整数)。生成的事件可以输出3个字段(B+1、A+“-这是摘要”、B-C)。接下来,主事件可以只输出2个字段(A+“-主事件”、B)。唯一不变的是目标服务器151、152中的目标表格必须与正在发出的数据具有相同类型的字段。因此,根据规则文件141中编码的逻辑由输入事件数据构造输出事件。
通信线程161、162的每一个包括:事件接收器241、SQL转换器组件242、服务器数据库传输组件243、SQL缓冲器244和清除组件245。建立到目标服务器151、152的连接并且创建空的SQL缓冲器244。事件接收器241从规则文件处理线程160接收事件并且处理它以及传输它到目标服务器131、132。从规则文件处理线程160接收清除消息并且清除组件245处理这些消息以及发回清除应答。
在规则文件141语法中提供生成事件命令。生成事件命令提供发送事件到多于一个表格的能力。这些表格可以贮存在不同的服务器数据库131、132上。目标表格将需要使用注册目标规则文件命令来注册。当根据相应的细节表格来调用注册目标命令时,生成事件命令还在规则文件141中插入细节信息(如果指定任何细节信息)。
为了保持监控设备的事件吞吐率,需要尽可能快地执行来自监控设备的事件数据的处理。生成事件命令212使得插入操作在多个服务器数据库131-132上执行。为了保证这并不降低主规则文件的处理速度,则针对要接收数据的每个服务器131-132产生到单独线程161、162的通信。因此,监控设备默认地以多线程形式来运行。存在一个主事件接收和规则文件处理线程160以及用于打包和传输的一个或更多个通信线程161-162。通信线程161-162打开到所需服务器131-132的连接,并且在监控设备运行时连接保持在打开状态下。
参考图3,实现本发明优选实施例的示例性系统包括适于存储和/或执行程序代码的数据处理系统300,所述数据处理系统300包括通过一个或更多个总线系统311、312直接或间接地耦合到存储器元件的至少一个处理器301-303。可以在系统中提供多个处理器和通信总线系统以用于并行处理。
处理器301-303的每一个可以包括其自己的高速缓存321-323;替代地,可以使用全局高速缓存324。
存储器元件可以包括在程序代码的实际执行期间使用的本地存储器、大容量存储设备和高速缓冲存储器,所述高速缓冲存储器提供至少一些程序代码的临时存储,以减少执行期间需要从大容量存储设备获取代码的次数。
处理器301-303经过高速系统总线311相互通信并且与系统存储器330通信。系统存储器330包括全局随机访问存储器(RAM)331、全局只读存储器(ROM)332、存储器控制器333和非易失性RAM(NVRAM)334。
全局RAM331是处理器中的每一个为了随后所期望的访问而用来存储数据和指令的易失性存储器。全局ROM332是包括系统中存储的数据和指令的非易失性存储器。NVRAM334是可以由处理器修改并且包括引导代码的非易失性RAM。
也附接到系统总线311的是处理器总线到适配器总线桥340。该总线桥允许多个设备经过适配器总线312与处理器301-303中的每一个和/或系统存储器330通信。
耦合到适配器总线312的是用于存储大量数据和指令(诸如操作系统和多个软件程序)的硬盘341。输入/输出(I/O)控制器342也耦合到适配器总线312,并且用于处理与所附接的I/O设备343或外部I/O设备343(诸如键盘、鼠标、可移除介质等)的通信。
显示适配器344也可以耦合到适配器总线312以在显示器345上显示数据。此外,通信适配器346可以附接到适配器总线312以经过网络传输数据。
图4显示了多事件生成方法的流程图400。在处理线程上从网络监控设备接收401输入事件。运行402规则文件处理并且生成403多个通信线程,针对事件数据要发送到的每个目标服务器生成一个通信线程。
每个通信线程打开404到服务器的连接并且打包和传输405事件数据到服务器。
图5显示了规则文件处理线程的方法的流程图500。读取规则文件并执行501预处理,包括检查语法和创建已声明目标服务器列表。
为每个目标服务器产生502通信线程。创建规则文件处理线程和每个通信线程之间的消息队列。
等待503下一个输入事件数据或者退出条件。从通信线程接收504任何清除应答消息。
接收505输入原始事件数据并且使用规则文件解析506该事件数据。每次遇到生成事件命令,则将已处理的事件数据消息放置507在对于适当通信线程的队列上。如果没有丢弃主事件,则将已处理的事件数据消息放置508在对于适当通信线程的队列上。
确定509是否已经达到已缓存事件的最大数量。如果没有,则该方法回到等待下一个输入事件数据或者退出条件503。如果达到已缓存事件的最大数量,则确定510在前清除是否已经发出并且所有通信线程已经应答。如果没有,则等待511清除应答。如果是,则清除命令被发送512到所有通信线程,并且该方法回到等待下一个输入事件数据或者退出条件503。
参考图6,每个通信线程上的方法的流程图600。建立601到被指定给通信线程的目标服务器的连接。创建602空SQL缓冲器。
等待603来自规则文件处理线程的输入消息。确定604消息是否是清除消息。如果是,则将任何SQL缓冲器数据发送605到服务器并清除。发送606清除应答到规则文件线程并且该方法回到等待更多的输入消息603。
如果消息不是清除消息,则确定607其是否是事件消息。如果不是,则该方法回到等待更多的输入消息603。如果是事件消息,则将事件数据转换608为SQL消息并且写入缓冲器。该方法回到等待更多的输入消息603。
线程结构
使用标准库线程功能创建和销毁线程。使用基于标准信号量的消息队列来使线程间通信异步以及处理线程间通信。主库事件处理循环处理规则文件并且产生一个或更多个服务器通信线程。通信线程之间没有直接通信。处理循环线程控制(一个或更多个)通信线程。如果线程没有处于传输数据的处理中,则当等待输入数据时通信线程将会休眠。如果通信线程忙于发送数据,则缓存主处理线程发送的数据,并且一旦通信线程空闲就进行处理。
线程间数据结构
大量的数据并不通过消息队列传送,而使用共享数据模式。
在其需要等待所有线程传输和存储来自在前周期的任何未决数据之前,处理线程决不能完成规则文件多于两次。
线程间消息结构
以下列出了可以在处理线程和通信线程之间传递的消息:
●“事件数据”,从处理线程到通信线程。处理线程已到达
规则文件中的生成事件命令并且发送所涉及的事件数据到通信线程。替代地,处理线程已到达规则文件的尾部并且发送主事件数据到适当通信线程。
●“清除”,从处理线程到所有通信线程。主监控设备调用清除命令。这导致处理线程发送清除命令到所有通信线程。如果存在任何缓存数据,则通信线程将其发送到服务器。
●“清除应答”,从通信线程到处理线程。指示通信线程已经完成清除到服务器的所有未决数据。在其可以发送另一个清除消息到该线程之前,处理线程必须等待该“清除应答”。
初始化
监控设备的初始化包括最后级,该最后级包括产生通信线程。处理规则文件以查找用来算出所需服务器连接列表的注册目标命令的每个实例。这为每个服务器产生一个连接,而不考虑每个服务器上单独表格的数量。接下来,创建到每个服务器的连接。从相关服务器查询每个目标表格的列类型并且进行保存。
在最后级期间,根据规则文件和所分配的存储器计算线程间存储器需求。根据规则文件计算SQL缓冲存储器大小。为每个服务器连接产生线程并且接着将连接的控制和缓存器大小传递到该线程。线程数量将比监控设备所连接的服务器数量多一个。所以,所产生的线程数量由规则文件中使用的到不同服务器的注册目标命令的数量来控制。
处理
当出现输入事件时解析规则文件。当处理到达生成事件命令,并且传输数据到适当线程以经由指针进行打包和传输。如果目标表格具有匹配细节表格,则同样将任何当前细节信息传递到适当线程以进行打包和传输。
在一个实施例中,生成事件命令的语法可以是:
“genevent(target,column_name1,data1,column_name2,data2,...)”,其中target是注册目标命令返回的目标表格。列名称和数据对必须对应于目标表格的结构,但可以是所有可用列的子集。目标和列名称可以是文字,但数据可以是变量。在该级执行所需的数据的任何类型转换。如果类型转换不可能,则将非致命错误记录在日志中并且将不会生成事件。
生成事件命令的替代语法可以是:
“genevent(target)”,其中复制所有当前事件数据并且将其发送到目标表格。其这样是为了,针对管理员希望仅仅发送当前事件的摘要复制到不止一个的服务器的情况下的使用,不需要复制所有的列名称和数据对。因为这可能是主要使用情况中的一种,所以其对于管理员而言应当是比较容易的。在处理规则文件结束时,如果没有调用丢弃事件操作,则还将事件数据传输到保持与当前所选目标表格的连接的线程。如果该目标表格被标志为具有匹配描述表格,则还将任何描述数据传递到适当线程以进行打包和传输。当网络监控设备指示库使用清除命令发送数据时,其将导致发送命令被发送到所有传输线程。如果规则文件中包括多个细节命令,假设目标包括细节表格,则细节命令是生成事件命令占优之前的最近一个。接下来,在到达规则文件的下一个生成事件命令或者结尾处之前,可以由另一个细节命令再次改变细节。
打包
将数据作为目标和列名称数据对传递到通信线程。将这些数据转换为SQL并且有效地附加到准备用于传输的文本缓冲器。缓冲器是具有开始和结束指针的存储器的存储器已分配区域。将会在初始化期间计算所需的最大缓冲器大小并且最大缓冲器大小将会是传输线程在其开始时所分配的存储器。
传输
如果缓冲关闭,则一旦打包SQL文本缓冲器就将其传输到服务器。除返回清除应答之外,忽略发送命令。如果缓冲打开,则当接收到发送命令并且接着返回清除应答时,将SQL文本缓冲器传输到服务器。
为了保持和提高监控设备的性能,由单独线程处理与每个服务器的通信。网络监控设备将能够接收事件并且同时传输在前事件结果。这种结构意味着到不同服务器的生成事件插入和标准事件插入可以变得稍微有些无序。可以禁止该多线程,但可能降低性能。
所述线程结构可能提高性能的情形是:监控设备处理大量事件数据,但通信却因为例如运行在更快的机器上并且没有被其它事件输入严重加载而没有被服务器明显阻滞。
所述方法和系统具有以下示例性应用。
事件洪流(eventflood)检测器,其中临时丢弃并且由少得多的信息事件来代替过量的输入数据。管理员可能希望配置监控设备规则文件以使用所提供的附加功能检测事件洪流条件并且临时地抑制正在发送到服务器的事件数据。当激活洪流保护以及又在其去激活时,使用生成事件命令来向服务器发送信息事件。
管理员可能需要在源头将事件划分为高优先级处理事件和低优先级信息事件并且以不同的方式来处理每个事件。将高优先级事件发送到高优先级服务器以及关联和存档所有事件的服务器系统。将低优先级事件仅仅发送到关联和存档所有事件的服务器。
管理员可能需要输入事件数据的统计分析,但不希望增加接收事件的服务器上的负载。使用生成事件命令来发送根据输入事件数据得到的统计信息到另一个服务器以用于随后的分析。
管理员可能希望复制两个或更多服务器中的所有事件数据,而没有运行它们之间的单向网关的开销。数据具有不同服务器在其上执行的不同操作。
可以将事件管理系统作为服务经由网络提供给客户。
本发明可以采用全硬件实施例、全软件实施例或者包含硬件和软件元件的实施例的形式。在优选实施例中,本发明以包括(但不限于)固件、常驻软件、微代码等的软件来实现。
本发明可以采用可从计算机可用或者计算机可读介质访问的计算机程序或者计算机程序产品,该介质提供由计算机或者任何指令执行系统使用或者与之结合使用的程序代码。就此而言,计算机可用或者计算机可读介质可以是可以包含、存储、传送、传播或者传输供指令执行系统、装置或设备使用或者与之结合使用的程序的任何装置。介质可以是电子、磁、光、电磁、红外或者半导体系统(或者装置或者设备)或者传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移除计算机软盘、随机访问存储器(RAM)、只读存储器(ROM)、硬盘和光盘。光盘的当前示例包括只读光盘(CD-ROM)、读/写光盘(CD-R/W)和DVD。
在不脱离本发明范围的前提下,可以对前述内容作出改进和修改。
Claims (21)
1.一种处理网络事件的方法,包含:
在处理线程(160)上从监控设备(101-103)接收(401、503)输入网络事件(121-123);
根据所述网络事件(121-123)生成(506)多个数据输出事件,所述生成多个数据输出事件包括:
使用规则文件解析事件数据(506)以生成所述多个数据输出事件,所述规则文件(141)包括用于将已处理的事件数据消息放置在适当通信线程的队列上的生成事件命令(216);
生成(403、502)多个通信线程(161-163),所述多个通信线程中的每一个用于传输所述多个数据输出事件到多个服务器数据库(131-133)中的一个。
2.如权利要求1所述的方法,其中通信线程(161-163)打包和传输事件数据到服务器数据库(131-133)。
3.如权利要求1到2中任一项所述的方法,其中所述通信线程(161-163)打开到所需服务器数据库(131-133)的连接,并且当监控设备(101-103)运行时这些连接保持在打开状态下。
4.如权利要求1到2中任一项所述的方法,包括:
处理(501)规则文件(141)以查找已注册目标(213)的实例;以及
确定所需服务器数据库连接。
5.如权利要求1到2中任一项所述的方法,其中所述服务器数据库(131-133)包括事件数据的一个或更多个表格(151-153),每个服务器数据库(131-133)对应单个通信线程(161-163)。
6.如权利要求1到2中任一项所述的方法,其中线程间通信通过消息队列(231、233)是异步的。
7.如权利要求1到2中任一项所述的方法,包括:
通过线程间数据结构(250)传输事件数据。
8.如权利要求1到2中任一项所述的方法,包括:
从所述处理线程(160)发送清除命令(512)以清除所述通信线程(161-163)。
9.如权利要求1到2中任一项所述的方法,包括:
处理输入事件的规则文件(141),并且当生成事件命令(216、507)到达时经由指针将数据传输到通信线程(161-163)。
10.如权利要求1到2中任一项所述的方法,其中将所述事件数据作为目标和列数据传递到通信线程(161-163)并且将所述事件数据转换(608)为结构化查询语言且附加到文本存储器分配以用于传输。
11.一种处理网络事件的系统,包含:
网络监控设备(101-103),用于获取网络事件数据(121-123);
处理系统(140),用于在处理线程(160)上从监控设备(101-103)接收输入网络事件;
所述处理系统还用于根据所述网络事件(121-123)生成(506)多个数据输出事件,所述处理系统(140)包括:
解析组件,用于使用规则文件解析事件数据(506)以生成所述多个数据输出事件,所述规则文件(141)包括用于将已处理的事件数据消息放置在适当通信线程的队列上的生成事件命令(216);
通信线程生成组件(215、216),用于生成多个通信线程(161-163),所述多个通信线程中的每一个用于传输数据输出事件到服务器数据库(131-133)。
12.如权利要求11所述的系统,其中通信线程(161-163)打包和传输事件数据到服务器数据库(131-133)。
13.如权利要求11到12中任一项所述的系统,其中所述通信线程(161-163)打开到所需服务器数据库(131-133)的连接并且在监控设备(101-103)运行时这些连接保持在打开状态下。
14.如权利要求11到12中任一项所述的系统,包括:
规则文件(141),用于进行处理以查找已注册目标(213)的实例;以及
用于确定所需服务器数据库连接的组件。
15.如权利要求11到12中任一项所述的系统,其中所述服务器数据库(131-133)包括事件数据的一个或更多个表格(151-153),每个服务器数据库(131-133)对应单个通信线程(161-163)。
16.如权利要求11到12中任一项所述的系统,其中线程间通信通过消息队列(231、232)是异步的。
17.如权利要求11到12中任一项所述的系统,包括:
线程间数据结构(250),用于传输事件数据。
18.如权利要求11到12中任一项所述的系统,包括:
用于清除所述通信线程(161-163)的组件(220)。
19.如权利要求11到12中任一项所述的系统,包括解析组件(217),用于解析事件数据以生成多个数据输出。
20.如权利要求11到12中任一项所述的系统,其中所述通信线程(161-163)包括转换器(241),用于将事件数据转换为结构化查询语言并且将其附加到文本存储器分配以用于传输。
21.如权利要求11到12中任一项所述的系统,其中所述处理系统(140)运行在多个处理器上,使得所述处理线程(160)和通信线程(161-163)能够同时被执行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09174603.2 | 2009-10-30 | ||
EP09174603 | 2009-10-30 | ||
PCT/EP2010/062768 WO2011051026A2 (en) | 2009-10-30 | 2010-08-31 | Method and system for processing network events |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102667718A CN102667718A (zh) | 2012-09-12 |
CN102667718B true CN102667718B (zh) | 2016-02-03 |
Family
ID=43088326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080048575.0A Active CN102667718B (zh) | 2009-10-30 | 2010-08-31 | 处理网络事件的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8930526B2 (zh) |
CN (1) | CN102667718B (zh) |
DE (1) | DE112010004187T5 (zh) |
GB (1) | GB2487317B (zh) |
WO (1) | WO2011051026A2 (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8364813B2 (en) | 2010-11-02 | 2013-01-29 | International Business Machines Corporation | Administering incident pools for event and alert analysis |
US8386602B2 (en) | 2010-11-02 | 2013-02-26 | International Business Machines Corporation | Relevant alert delivery in a distributed processing system |
US8621277B2 (en) * | 2010-12-06 | 2013-12-31 | International Business Machines Corporation | Dynamic administration of component event reporting in a distributed processing system |
US8805999B2 (en) | 2010-12-07 | 2014-08-12 | International Business Machines Corporation | Administering event reporting rules in a distributed processing system |
US8868984B2 (en) | 2010-12-07 | 2014-10-21 | International Business Machines Corporation | Relevant alert delivery in a distributed processing system with event listeners and alert listeners |
US8737231B2 (en) | 2010-12-07 | 2014-05-27 | International Business Machines Corporation | Dynamic administration of event pools for relevant event and alert analysis during event storms |
US8756462B2 (en) | 2011-05-24 | 2014-06-17 | International Business Machines Corporation | Configurable alert delivery for reducing the amount of alerts transmitted in a distributed processing system |
US8645757B2 (en) | 2011-05-26 | 2014-02-04 | International Business Machines Corporation | Administering incident pools for event and alert analysis |
US9213621B2 (en) | 2011-05-27 | 2015-12-15 | International Business Machines Corporation | Administering event pools for relevant event analysis in a distributed processing system |
US8676883B2 (en) | 2011-05-27 | 2014-03-18 | International Business Machines Corporation | Event management in a distributed processing system |
US8392385B2 (en) | 2011-06-22 | 2013-03-05 | International Business Machines Corporation | Flexible event data content management for relevant event and alert analysis within a distributed processing system |
US8880943B2 (en) | 2011-06-22 | 2014-11-04 | International Business Machines Corporation | Restarting event and alert analysis after a shutdown in a distributed processing system |
US8713366B2 (en) | 2011-06-22 | 2014-04-29 | International Business Machines Corporation | Restarting event and alert analysis after a shutdown in a distributed processing system |
US9419650B2 (en) | 2011-06-22 | 2016-08-16 | International Business Machines Corporation | Flexible event data content management for relevant event and alert analysis within a distributed processing system |
US9178936B2 (en) | 2011-10-18 | 2015-11-03 | International Business Machines Corporation | Selected alert delivery in a distributed processing system |
US20130097215A1 (en) | 2011-10-18 | 2013-04-18 | International Business Machines Corporation | Selected Alert Delivery In A Distributed Processing System |
US20130097272A1 (en) | 2011-10-18 | 2013-04-18 | International Business Machines Corporation | Prioritized Alert Delivery In A Distributed Processing System |
US8887175B2 (en) | 2011-10-18 | 2014-11-11 | International Business Machines Corporation | Administering incident pools for event and alert analysis |
US8713581B2 (en) | 2011-10-27 | 2014-04-29 | International Business Machines Corporation | Selected alert delivery in a distributed processing system |
US8954811B2 (en) | 2012-08-06 | 2015-02-10 | International Business Machines Corporation | Administering incident pools for incident analysis |
US8943366B2 (en) | 2012-08-09 | 2015-01-27 | International Business Machines Corporation | Administering checkpoints for incident analysis |
CN104111872B (zh) * | 2013-04-19 | 2016-02-17 | 腾讯科技(深圳)有限公司 | 系统事件的过滤方法、装置及终端 |
US9361184B2 (en) | 2013-05-09 | 2016-06-07 | International Business Machines Corporation | Selecting during a system shutdown procedure, a restart incident checkpoint of an incident analyzer in a distributed processing system |
US9170860B2 (en) | 2013-07-26 | 2015-10-27 | International Business Machines Corporation | Parallel incident processing |
US9658902B2 (en) | 2013-08-22 | 2017-05-23 | Globalfoundries Inc. | Adaptive clock throttling for event processing |
US9256482B2 (en) * | 2013-08-23 | 2016-02-09 | International Business Machines Corporation | Determining whether to send an alert in a distributed processing system |
US9086968B2 (en) | 2013-09-11 | 2015-07-21 | International Business Machines Corporation | Checkpointing for delayed alert creation |
US9602337B2 (en) | 2013-09-11 | 2017-03-21 | International Business Machines Corporation | Event and alert analysis in a distributed processing system |
JP6248523B2 (ja) * | 2013-10-07 | 2017-12-20 | 富士通株式会社 | データ処理管理方法、情報処理装置およびデータ処理管理プログラム |
GB201320783D0 (en) * | 2013-11-25 | 2014-01-08 | Mind Candy Ltd | An Improved messaging protocol |
US9389943B2 (en) | 2014-01-07 | 2016-07-12 | International Business Machines Corporation | Determining a number of unique incidents in a plurality of incidents for incident processing in a distributed processing system |
CN105373420B (zh) * | 2014-08-28 | 2019-12-06 | 北京奇虎科技有限公司 | 数据传输方法及装置 |
US9417840B2 (en) * | 2014-09-16 | 2016-08-16 | Salesforce.Com, Inc. | In-memory buffer service |
CN105991416B (zh) * | 2015-02-15 | 2019-05-31 | 无锡北邮感知技术产业研究院有限公司 | 一种消息传递方法及消息传递中间件 |
US11256572B2 (en) * | 2017-01-23 | 2022-02-22 | Honeywell International Inc. | Systems and methods for processing data in security systems using parallelism, stateless queries, data slicing, or asynchronous pull mechanisms |
US10459778B1 (en) | 2018-07-16 | 2019-10-29 | Microsoft Technology Licensing, Llc | Sending messages between threads |
US20220360486A1 (en) * | 2021-05-06 | 2022-11-10 | Bank Of America Corporation | Real-time event data log processing system related to monitored events on a network |
CN114840219B (zh) * | 2022-07-06 | 2023-05-05 | 湖南傲思软件股份有限公司 | 分布式事件处理系统 |
CN116755891B (zh) * | 2023-08-21 | 2023-10-20 | 成都中科合迅科技有限公司 | 基于多线程的事件队列处理方法和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1784656A (zh) * | 2003-05-09 | 2006-06-07 | 国际商业机器公司 | 监控数据处理系统中的操作数据 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5588150A (en) * | 1994-09-29 | 1996-12-24 | International Business Machines Corporation | Push down optimization in a distributed, multi-database system |
GB2337664B (en) * | 1995-03-31 | 2000-02-16 | Inmarsat Ltd | Communication method and apparatus |
US6393386B1 (en) * | 1998-03-26 | 2002-05-21 | Visual Networks Technologies, Inc. | Dynamic modeling of complex networks and prediction of impacts of faults therein |
US6430616B1 (en) * | 1998-12-04 | 2002-08-06 | Sun Microsystems, Inc. | Scalable system method for efficiently logging management information associated with a network |
US6421701B1 (en) * | 1999-01-29 | 2002-07-16 | International Business Machines Corporation | Method and system for replication support in a remote method invocation system |
US6505244B1 (en) * | 1999-06-29 | 2003-01-07 | Cisco Technology Inc. | Policy engine which supports application specific plug-ins for enforcing policies in a feedback-based, adaptive data network |
US6584502B1 (en) * | 1999-06-29 | 2003-06-24 | Cisco Technology, Inc. | Technique for providing automatic event notification of changing network conditions to network elements in an adaptive, feedback-based data network |
US6539427B1 (en) * | 1999-06-29 | 2003-03-25 | Cisco Technology, Inc. | Dynamically adaptive network element in a feedback-based data network |
US6765864B1 (en) * | 1999-06-29 | 2004-07-20 | Cisco Technology, Inc. | Technique for providing dynamic modification of application specific policies in a feedback-based, adaptive data network |
US6654782B1 (en) * | 1999-10-28 | 2003-11-25 | Networks Associates, Inc. | Modular framework for dynamically processing network events using action sets in a distributed computing environment |
US6941557B1 (en) * | 2000-05-23 | 2005-09-06 | Verizon Laboratories Inc. | System and method for providing a global real-time advanced correlation environment architecture |
US7673335B1 (en) * | 2004-07-01 | 2010-03-02 | Novell, Inc. | Computer-implemented method and system for security event correlation |
US7043727B2 (en) * | 2001-06-08 | 2006-05-09 | Micromuse Ltd. | Method and system for efficient distribution of network event data |
US7516208B1 (en) * | 2001-07-20 | 2009-04-07 | International Business Machines Corporation | Event database management method and system for network event reporting system |
US8103497B1 (en) * | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US6782424B2 (en) * | 2002-08-23 | 2004-08-24 | Finite State Machine Labs, Inc. | System, method and computer program product for monitoring and controlling network connections from a supervisory operating system |
US7376733B2 (en) * | 2003-02-03 | 2008-05-20 | Hewlett-Packard Development Company, L.P. | Method and apparatus and program for scheduling and executing events in real time over a network |
US7313137B2 (en) * | 2003-02-26 | 2007-12-25 | International Business Machines Corp. | System and method for efficient replication and distribution of data objects |
US20040172467A1 (en) * | 2003-02-28 | 2004-09-02 | Gabriel Wechter | Method and system for monitoring a network |
US7363369B2 (en) * | 2003-10-16 | 2008-04-22 | International Business Machines Corporation | Monitoring thread usage to dynamically control a thread pool |
US7925665B2 (en) * | 2004-03-08 | 2011-04-12 | Siebel Systems, Inc. | Using query persistence for efficient subquery evaluation in federated databases |
US7965620B2 (en) * | 2004-05-25 | 2011-06-21 | Telcordia Licensing Company, Llc | Method, computer product and system for correlating events in a network |
US7395258B2 (en) * | 2004-07-30 | 2008-07-01 | International Business Machines Corporation | System and method for adaptive database caching |
US7707189B2 (en) | 2004-10-05 | 2010-04-27 | Microsoft Corporation | Log management system and method |
US7593980B2 (en) * | 2004-11-30 | 2009-09-22 | Cisco Technology, Inc. | Application server system and method |
US9760647B2 (en) * | 2004-12-08 | 2017-09-12 | Oracle International Corporation | Techniques for automatically exposing, as web services, procedures and functions stored in a database |
US20060190488A1 (en) * | 2005-02-22 | 2006-08-24 | Transparency Software, Inc. | System and method for determining information related to user interactions with an application |
US20080046557A1 (en) * | 2005-03-23 | 2008-02-21 | Cheng Joseph C | Method and system for designing, implementing, and managing client applications on mobile devices |
US7979530B1 (en) * | 2005-04-27 | 2011-07-12 | Juniper Networks, Inc. | Inventory life cycle management for a computer network |
US8694621B2 (en) * | 2005-08-19 | 2014-04-08 | Riverbed Technology, Inc. | Capture, analysis, and visualization of concurrent system and network behavior of an application |
US8572223B2 (en) * | 2006-07-20 | 2013-10-29 | Charles Schwab & Co., Inc. | System and method for utilizing event templates in an event manager to execute application services |
US8032900B2 (en) * | 2006-08-02 | 2011-10-04 | Microsoft Corporation | Conducting client-server inter-process communication |
US7509416B1 (en) * | 2006-11-03 | 2009-03-24 | Unisys Corporation | Dynamically updating subcomponents in a tiered remote monitoring system |
US7984452B2 (en) * | 2006-11-10 | 2011-07-19 | Cptn Holdings Llc | Event source management using a metadata-driven framework |
GB0718251D0 (en) * | 2007-09-19 | 2007-10-31 | Ibm | An apparatus for propagating a query |
US8374987B2 (en) * | 2008-06-30 | 2013-02-12 | Sap Ag | Stateful, continuous evaluation of rules by a state correlation engine |
US8028074B2 (en) * | 2008-09-12 | 2011-09-27 | Research In Motion Limited | Obtaining information associated with established sessions |
US9495174B2 (en) * | 2009-01-02 | 2016-11-15 | International Business Machines Corporation | Agnostic processing of resource requests to message queues and sequential files |
US8930527B2 (en) * | 2009-05-26 | 2015-01-06 | Oracle International Corporation | High availability enabler |
US9442777B2 (en) * | 2009-07-31 | 2016-09-13 | Hewlett-Packard Development Company, L.P. | Non-blocking communication between an application and a server |
US9917741B2 (en) * | 2009-08-27 | 2018-03-13 | Entit Software Llc | Method and system for processing network activity data |
-
2010
- 2010-05-19 US US12/782,794 patent/US8930526B2/en active Active
- 2010-08-31 DE DE112010004187T patent/DE112010004187T5/de not_active Ceased
- 2010-08-31 WO PCT/EP2010/062768 patent/WO2011051026A2/en active Application Filing
- 2010-08-31 GB GB1203862.6A patent/GB2487317B/en active Active
- 2010-08-31 CN CN201080048575.0A patent/CN102667718B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1784656A (zh) * | 2003-05-09 | 2006-06-07 | 国际商业机器公司 | 监控数据处理系统中的操作数据 |
Non-Patent Citations (1)
Title |
---|
《Netcool/OMNIbus v7.1 Probe and Gateway Guide》;Netcool;《http://publibfp.dhe.ibm.com/epubs/pdf/c2363870.pdf》;20070517;第1-167页 * |
Also Published As
Publication number | Publication date |
---|---|
DE112010004187T5 (de) | 2012-08-09 |
US20110106941A1 (en) | 2011-05-05 |
GB2487317A (en) | 2012-07-18 |
US8930526B2 (en) | 2015-01-06 |
GB2487317B (en) | 2016-05-18 |
GB201203862D0 (en) | 2012-04-18 |
WO2011051026A3 (en) | 2011-11-03 |
WO2011051026A2 (en) | 2011-05-05 |
CN102667718A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102667718B (zh) | 处理网络事件的方法和系统 | |
US11178213B2 (en) | Automated configuration based deployment of stream processing pipeline | |
JP5006348B2 (ja) | 応答出力キャッシュに対するマルチキャッシュ協調 | |
KR101734883B1 (ko) | 버퍼 오버플로우 상태 관리 | |
US7908358B1 (en) | Method and apparatus for network services metering | |
CA2621946C (en) | Improvements in and relating to service oriented architecture | |
CN102262680B (zh) | 一种基于海量数据存取需求的分布式数据库代理系统 | |
EP3346379B1 (en) | Database management system with dynamic allocation of database requests | |
US20040117428A1 (en) | Native format tunneling | |
US11509530B2 (en) | Impartial buffering in stream processing | |
EP2038746A1 (en) | Methods, apparatus and computer programs for managing persistence | |
US10706027B2 (en) | Database management system with dynamic allocation of database requests | |
GB2528066A (en) | A method for processing data quality exceptions in a data processing system | |
US20170199757A1 (en) | Virtualized execution across distributed nodes | |
CN105989163A (zh) | 数据实时处理方法及系统 | |
US11178197B2 (en) | Idempotent processing of data streams | |
US8819135B2 (en) | Method of performing data mediation, and an associated computer program product, data mediation device and information system | |
US10645155B2 (en) | Scalable parallel messaging process | |
CN100470483C (zh) | 用于协作处理的系统,设备及方法 | |
EP3123699B1 (en) | System and method for supporting data types conversion in a heterogeneous computing environment | |
CA2391699C (en) | System and method for logging transaction records in a computer system | |
CN111611089A (zh) | 一种基于异步的声明式的微服务调度方法 | |
US8136087B2 (en) | In-line processing of standardized text values | |
KR20160145250A (ko) | 가상 머지를 지원하는 셔플 내장형 분산 스토리지 시스템 및 그 방법 | |
US8306952B2 (en) | Technique for managing messages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |