1.一种基于哈希算法和正则匹配的事件过滤方法,其特征在于,包括下述步骤:
转化处理步骤,将接收到的事件信息转化为N维变量;
匹配哈希树步骤,根据N维变量的值计算得到事件的哈希值,基于哈希值在预设的哈希树中去索引查找正则队列,如果匹配到正则队列,则继续进行下述的匹配正则式步骤,否则将事件直接投递到监控系统;
匹配正则式步骤,将正则队列中的正则式与事件的N维变量进行匹配,如果能匹配则继续下述的时间标签计算步骤,否则将事件直接投递到监控系统;
时间标签计算步骤,根据正则式对应的时间相关度度量值计算时间标签;以及
时间队列处理步骤,查找该正则式关联的时间队列,基于所述时间标签进行时间队列的相应处理。
2.如权利要求1所述的基于哈希算法和正则匹配的事件过滤方法,其特征在于,
在所述转化步骤中,将缺失的维度均设置空值。
3.如权利要求1所述的基于哈希算法和正则匹配的事件过滤方法,其特征在于,
在所述时间队列处理步骤中,如未找到时间队列,则创建时间队列,将当前事件作为标杆事件,通知监控系统发生新的事件;如找到时间队列,但时间队列的时间标签与当前事件的时间标签不一致,则销毁原时间队列,并创建新的时间队列,将当前事件作为标杆事件,通知监控系统发生新的事件;如找到时间队列,且时间队列的时间标签与当前事件的时间标签一致,则将当前事件入队,并通知监控系统该事件被合并。
4.一种事件过滤处理方法,其特征在于,包括下述步骤:
哈希树构建步骤,将事件的若干个固定维度可预见的取值组合分别计算出哈希值,用所述哈希值作为哈希树节点来构建哈希树,其中,在哈希树节点下预先配置正则表达式队列;
匹配哈希树步骤,计算接收到的事件的哈希值,根据哈希值在预设的所述哈希树中去索引查找正则队列,如果匹配到正则队列,则继续进行下述的匹配正则式步骤,否则将事件投递到监控系统;
匹配正则式步骤,用正则队列的每个正则表达式项依次与事件进行匹配,如果匹配到则继续下述事件标签计算步骤,如果未能匹配到,则将事件投递给监控系统;
时间标签计算步骤,根据正则表达式项设置的时间相关度度量值计算时间标签;
时间队列处理步骤,查找该正则式关联的时间队列,基于所述时间标签进行时间队列的相应处理。
5.如权利要求4所述的事件过滤处理方法,其特征在于,
所述哈希树构建步骤包括下述子步骤:
转化提取步骤,将事件信息转化为N维变量,提取事件信息中相对固定的X个维度,其中,X>=1并且X<=N;
正则队列预建步骤,每一个大类下面维护一个正则表达式项的队列;以及
节点构建步骤,将各大类事件取其X个维度的值,通过哈希运算得到该大类对应的哈希值K,用该哈希值K作为键,用该大类下对应的正则队列作为键值V,组成一个<K,V>键值对;
将该键值对作为一个节点插入到哈希树中。
6.如权利要求5所述的事件过滤处理方法,其特征在于,
所述正则表达式项包括:匹配维度、正则表达式、时间相关度度量值、时间队列的引用指针、优先级数值。
7.如权利要求5所述的事件过滤处理方法,其特征在于,
在所述时间标签计算步骤中,则根据正则表达式项设置的时间相关度度量值M,其中M的单位为秒,用当前时间 T / M * M 得到一个基于M整倍数值Tm,用Tm时间戳作为时间队列的时间标签。
8.如权利要求5所述的事件过滤处理方法,其特征在于
所述时间队列处理步骤下述子步骤:
如果正则表达式项的时间队列指针为空,则创建一个时间队列,并将该时间队列打上时间标签,将事件压入该时间队列,并标记为“标杆事件”;如果正则表达式项的时间队列指针不为空,则获取已有时间队列的时间标签,如果时间等于时间标签,则将事件压入时间队列;
如果时间不等于时间标签,则将原时间队列销毁,创建新的时间队列,并将该时间队列打上时间标签,将事件压入该时间队列,并标记为“标杆事件”。
9.一种事件过滤方法,其特征在于,包括下述步骤:
内容相关性匹配步骤,对于接收到的事件进行内容相关性匹配,如果事件内容与预设内容相关则继续进行下述步骤,否则将事件直接投递到监控系统;以及
时间相关性匹配步骤,计算与事件相关的时间标签,基于所述时间标签进行时间相关性匹配。
10.如权利要求9所示的事件过滤方法,其特征在于,
在所述内容相关性匹配步骤中,利用哈希算法进行内容相关性匹配判定。