分布式事件关联系统的制作方法_3

文档序号:9422735阅读:来源:国知局
何分区中,则主节点110将事件发送至无关的集群节点122和数据存储器111。无关的集群节点122可根据规则关联接收的事件。
[0044]图5中示出的方法500描述将事件匹配到事件关联的规则条件。在501处,集群节点121a-n和122接收一个规则或多个规则。规则可存储在数据存储器111中并加载到集群节点121a-n和122中。可接收并存储包括条件的规则,以关联事件。集群节点121a_n和122可确定是否满足规则的条件,以触发规则中指示的动作。
[0045]在一个示例中,关联事件的所有规则(分区的或没有分区的)可跨所有集群节点部署,且可跨所有节点同步对规则的任何改变。这些规则还可称作关联规则。针对分区的规则,每个集群节点执行同一的规则,但使用对应于其分区的不同的事件数据集。对分区的事件执行的规则称作分区的规则,且可包括基于分区的事件触发的条件或动作。例如,可通过源IP地址子网分区集群节点121a-n。规则可包括适用于特定的子网的触发或动作。例如,由于一些子网使用保密数据或更敏感的数据,它们可请求比其他子网更高的安全性。具有敏感数据的一个子网的规则可指示是否检测到子网上一个或多个计算机上5分钟时段内用户的5次失败的登录尝试,随后触发告警并禁用用户ID。另一个子网的规则可包括是否检测到子网上10分钟时段内用户的10次失败的登录尝试,随后触发对系统管理员的告警,以联系用户。可由所有集群节点执行同一的分区的规则,但是,如果未对其分区应用条件,那么,不触发动作。包括不依赖于任何特定的分区且可用于所有分区或多个分区的条件的全局规则称作与分区无关的规则。子网维度的与分区无关的规则的一种示例是:如果检测到10分钟时段内用户的10次失败的登录尝试,那么触发对系统管理员的告警,以联系用户。可在不同的子网上找到部分匹配,因此,规则是与分区无关的。
[0046]可为一些规则的聚合各事件以确定是否满足规则的条件。例如,规则包括检测5分钟时间段内的5次失败的登录尝试的条件。聚合例如被集群节点确定为部分匹配(例如,指示失败的登录尝试)的事件,以确定是否已经发生5分钟时间段内的5次失败的登录尝试。可在集群节点聚合各事件,或者,可将事件发送至RD节点130以供聚合,以确定是否满足规则的条件。如果规则是全局规则,那么,部分匹配事件被从检测部分匹配的集群节点121a-n和122发送至RD节点130,因此,RD节点130可基于多个分区的事件检测是否满足规则条件。
[0047]在502处,集群节点接收其分区的事件并存储该事件。可从例如方法400中描述的主节点110接收事件。
[0048]在503处,集群节点针对在501处接收的规则中的条件评估事件。例如,聚合各事件,以确定是否满足规则中的一个或多个条件。
[0049]在504处,集群节点确定事件是否是规则的部分匹配。确定事件是否是部分匹配例如包括:确定条件是否被事件部分满足,例如,对于具有检测5次失败的登录尝试的条件的规则,事件是否识别失败的登录尝试。
[0050]在505处,如果事件是部分匹配,则集群节点确定规则是与分区无关的规则还是分区的规则。在506处,如果规则是分区的规则,则将事件在集群节点本地存储为部分匹配,并在集群节点本地聚合。如果规则是与分区无关的规则,则在507处,将可包括完整事件或与条件匹配相关的事件字段中的事件字段的子集的部分匹配的信息转发至RD节点130。RD节点130可确定聚合的部分匹配是否满足规则的条件以触发可在规则中规定的动作。部分匹配信息可排队等候,或分批发送至RD节点130。如果存在多个RD节点(每个分配给一个或多个集群节点),那么,集群节点将部分匹配信息发送至对应的RD节点。此外,在506处,部分匹配可发送至RD节点130。
[0051]在508处,更新聚合状态以包括部分匹配。集群节点和RD节点130基于部分匹配维护规则的聚合状态。聚合状态可包括规则的部分匹配的信息。例如,如果规则的条件包括5分钟时间段内一个用户的5次失败的登录尝试的检测,则聚合状态包括与规则的条件相关的部分匹配的事件字段,例如用户ID、事件时间、以及事件描述。为了有助于从单节点故障恢复,与故障转移节点共享聚合状态。例如,每个集群节点可具有其分区的故障转移节点。每个主要集群节点与其故障转移节点共享聚合状态。例如,每个主要集群节点创建包含其状态(包括聚合状态,)的快照的检查点,并将该检查点发送至指定的故障转移节点。检查点数据也可写到本地文件系统,以从更大的系统故障恢复。检查点可包括最近一次从主节点110接收的聚合状态以及事件。RD节点130还可具有故障转移节点,且RD节点130可创建检查点并将检查点发送至其故障转移节点。检查点可周期性地发送至故障转移节点。
[0052]在509处,如果基于部分匹配满足一个条件或多个条件(例如,在针对规则规定条件时),则触发规则的动作。例如,规则是分区的规则,例如,如果检测到5分钟时段内分区的子网上的一个或多个计算机的用户5次失败的登录尝试,那么,触发告警并禁用用户ID。分区的集群节点可聚合部分匹配,以确定是否基于接收的事件和接收的事件的聚合部分匹配检测到5分钟时段内用户的5次登录尝试。如果满足条件,则集群节点可触发动作。如果规则是与分区无关的规则,那么,RD节点130接收部分匹配信息,并确定是否满足条件,以触发动作。
[0053]图6中示出的方法600描述修改集群成员关系以包括新的集群节点。在601处,集群节点110确定新的集群节点是否正加入到集群120。例如,主节点110可从请求加入集群120的集群节点接收消息。
[0054]在602处,如果主节点110确定新的集群节点正加入到集群,则主节点110将集群节点121a-n中的每一个的事件数据的部分分配给新的集群节点。例如,分配是跨事件字段的分区。在603处,新的集群节点从数据存储器111加载其分区的应用数据。在604处,确定新的集群节点的故障转移节点,且该故障转移节点加载新的集群节点的应用数据。
[0055]在605处,主节点110更新分区图,以识别新的集群节点及其分区以及其故障转移节点,并且在606处,主节点110将更新的分区图分发给集群节点121a-n和新的集群节点。更新分区图可包括:作为向新的集群节点转移事件字段值的连续块的部分的结果,更新对分区的任何改变。
[0056]在一个示例中,在602处,主节点110基于与之前的跨所有集群节点(包括新的集群节点)的分区图相同的分区事件字段确定新的分区。新的分区图的块分配可跨集群节点均匀散布事件,包括用于负载均衡的新的集群节点。
[0057]图7中示出的方法700描述修改集群成员关系以包括新的集群节点。在701处,主节点I1确定集群节点是否(计划的或非计划的)离开集群120。例如,主节点110可确定集群节点故障或已经从集群120移除。
[0058]在702处,主节点110将消息发送至离开集群120的集群节点的故障转移节点,以使其成为离开集群120的集群节点的分区的主要节点。例如,如果还未在内存中存储,则故障转移节点将分区的对应的应用数据从数据存储器111加载到内存中。故障转移节点从最近一次接收的检查点恢复聚合状态,且可检查从最近一次的检查点开始接收的分区的任何新的事件,以确定是否存在集群节点的规则的任何部分匹配。
[0059]在703处,主节点110从完成其恢复过程且现在正用作分区的主要集群节点的故障转移节点接收确认。
[0060]在704处,为新的主要集群节点确定新的故障转移节点。在705处,主节点110更新分区图,以识别新的故障转移节点,且在706处,主节点110将更新的分区图分发给集群节点121a-n和新的集群节点。
[0061]图8示出可与本文描述的实施例和示例一起使用的计算机系统800。计算机系统800是可用于主节点110、集群120中的任何集群节点和/或RD节点130的平台。计算机系统800可通过一个或多个处理器或其他硬件处理电路执行本文描述的方法、功能和其他过程。这些方法、功能和其他过程可体现为存储在计算机可读介质上的机器可读指令,计算机可读介质可以是非瞬态的,例如硬件存储设备(例如
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1