1.一种复杂事件检测方法,其特征在于,包括:
解析查询条件,得到查询事件表达式,每个查询事件表达式对应的检测结果存储在共享子序列列表中;
接收复杂事件,查找出与复杂事件所有相关的查询事件表达式;
将查询事件表达式中事件通过概率低的查询条件前置,调整查询条件的顺序;
将调整顺序后的查询事件表达式转化树结构;
从树结构中的叶子节点对应的出发,在共享子序列列表中查找与复杂事件相关的查询事件表达式的检测结果或查询事件表达式语义包含或语义互斥关系的检测结果,通过查询条件约束到达中间节点,直至到达根节点检测出符合查询条件的复杂事件。
2.如权利要求1所述的一种复杂事件检测方法,其特征在于,从树结构中的叶子节点对应的出发,在共享子序列列表中查找是否存在与复杂事件相关的查询事件表达式的检测结果,若存在,则直接调取检测结果。
3.如权利要求2所述的一种复杂事件检测方法,其特征在于,若共享子序列列表中查找不存在与复杂事件相关的查询事件表达式的检测结果,在共享子序列列表中继续查找是否存在与复杂事件相关的查询事件表达式语义包含或语义互斥关系的检测结果,若存在,则根据相应检测结果推测出与复杂事件相关的查询事件表达式的检测结果。
4.如权利要求3所述的一种复杂事件检测方法,其特征在于,若在共享子序列列表中不存在与复杂事件相关的查询事件表达式语义包含或语义互斥关系的检测结果,判定树结构中的父节点是否成立,若成立,则输出检测结果并将检测结果保存在至共享子序列列表中;
否则,继续接收事件,直至树结构的根节点被激活。
5.如权利要求1所述的一种复杂事件检测方法,其特征在于,所述复杂事件由原始事件及事件操作符构成;所述树结构的叶子节点代表原始事件,中间节点代表事件操作符。
6.一种复杂事件检测系统,其特征在于,包括:
查询条件解析模块,其用于解析查询条件,得到查询事件表达式,每个查询事件表达式对应的检测结果存储在共享子序列列表中;
查询事件表达式查找模块,其用于接收复杂事件,查找出与复杂事件所有相关的查询事件表达式;
查询条件顺序调整模块,其用于将查询事件表达式中事件通过概率低的查询条件前置,调整查询条件的顺序;
树结构生成模块,其用于将调整顺序后的查询事件表达式转化树结构;
复杂事件检测模块,其用于从树结构中的叶子节点对应的出发,在共享子序列列表中查找与复杂事件相关的查询事件表达式的检测结果或查询事件表达式语义包含或语义互斥关系的检测结果,通过查询条件约束到达中间节点,直至到达根节点检测出符合查询条件的复杂事件。
7.如权利要求6所述的一种复杂事件检测系统,其特征在于,在所述复杂事件检测模块中,从树结构中的叶子节点对应的出发,在共享子序列列表中查找是否存在与复杂事件相关的查询事件表达式的检测结果,若存在,则直接调取检测结果。
8.如权利要求7所述的一种复杂事件检测系统,其特征在于,在所述复杂事件检测模块中,若共享子序列列表中查找不存在与复杂事件相关的查询事件表达式的检测结果,在共享子序列列表中继续查找是否存在与复杂事件相关的查询事件表达式语义包含或语义互斥关系的检测结果,若存在,则根据相应检测结果推测出与复杂事件相关的查询事件表达式的检测结果。
9.如权利要求8所述的一种复杂事件检测系统,其特征在于,在所述复杂事件检测模块中,若在共享子序列列表中不存在与复杂事件相关的查询事件表达式语义包含或语义互斥关系的检测结果,判定树结构中的父节点是否成立,若成立,则输出检测结果并将检测结果保存在至共享子序列列表中;否则,继续接收事件,直至树结构的根节点被激活。
10.如权利要求6所述的一种复杂事件检测方法,其特征在于,所述复杂事件由原始事件及事件操作符构成;所述树结构的叶子节点代表原始事件,中间节点代表事件操作符。