×
FPGA/DSP > DSP系统 > 详情

基于组合着色Petri网的空间复合事件检测机制

发布时间:2020-07-01 发布时间:
|
摘要:通过建立空间事件模型,扩展定义了空间事件复合算子及其语义;采用组合着色Petri网构造基于空间关系的复合事件检测模型并提出基于该模型的检测算法;通过应用实例验证该检测模型是一个简洁、有效的复合事件检测机制。 关键词:空间复合事件 组合着色Petri网 复合事件检测 复合事件及其检测可以应用到股票交易、网络管理、航空交通控制、指挥决策等领域。随着空间信息的广泛应用,在远程监控、LBS、Location-aware计算等领域,也需要实现与空间有关的事件检测。传统空间信息应用系统中与空间有关的复合事件检测通过在应用处理逻辑中直接编写事件检测的代码实现。这种解决方案不利于实现开放的、可扩展的通用系统。由于很多事件是通用的,事件检测机制应该是多个应用系统共享,否则系统的维护代价较大。 对复合事件检测的研究最初是在主动数据库领域中进行的。Ode采用有穷自动机实现复合事件检测。SAMOS采用着色Petri网对复合事件检测,可以携带事件流及事件参数等复杂信息。但是SAMOS也没有定义和说明Petri网的组合问题。为解决不满足交换律的复合算子的冲突问题,文献引入了时序算子,提出TRPetri网。文献引入部分检测事件缓冲池和时间缓冲池对原子事件进行高效的过渡。在空间事件检测方面目前尚未展开更多的研究工作,文献使用三元组{OID,TS,LOC}定义空间事件模型,支持简单的空间谓词检测,但是这种方法是基于空间对象而不是基于事件本身的空间属性。文献讨论了从空间完整性约束导出数据库ECA规则的方法,由于ECA条件和动作部分可以分别在数据库中的查询处理和事务处理技术中找到相应的解决方案,而事件部分研究的不是很多。本文将在此基础上,研究基于空间关系的复合事件检测机制。 1 空间事件模型 在讨论基于空间关系的复合事件检测机制之前,首先必须形式化描述空间事件及空间事件复合算子。空间事件模型采用三元组来表示SE={EID,T,S},其中EID∈N表示参照坐标系统定义的坐标。空间对象和空间谓词SP(Spatial Predicate)定义如下: 简单线段L:Sbeginf%26;#215;Send,Sbegin,Send∈R%26;#215;R,Sbegin和Send分别表示线段起始点和结束坐标;坐标S在线段L上时IN(S,L)为真。 封闭区域Z:∪(L%26;#215;N);坐标S在区域Z内时IN(S,Z)为真。 假设方向关系是参照坐标系统定义的,即North方向与y轴方向一致,East方向与x轴方向一致。令b表示对象的MBR,则b可以通过其左下角坐标(b.xl,b.yl)和右上角坐标(b.xu,b.yu)定义。如果以s为目标,b和s1分别是参考矩形和参考点,那么采用基于投影的方向模型,s相对于b、s1的方向关系谓词可以由North-South方向(N,S)s,b、(N,S)s,s1‘和East-West方向(E,W)s,b、(E,W)s,s1的组合定义。其中,(N,S)s,b和(E,W)s,b可以通过下面的公式定义,(N,S)s,s1和(E,W)s,s1可以采用类似方式定义: 如果将(N,S)s1,s2和(E,W)s1,s2的组合记作(N,S,E,W)s1,s2,那么基于四元组(N,S,E,W)s1,s2的不同取值可以定义s1相对于s2的16种方向关系,如NW(s1,s2)=(1,0,0,1)。 空间事件的语义解释函数φ(SE):T%26;#215;S→{True,False}定义为:φ(SE(t,s)=True,if an event of type SE occurs at time t and location s。 %26;#183;非空间算子NOS(NonSpatial Operator) OR(SE1,SE2)(t,2)=SE1(t,s)∨SE2(t,s) AND(SE1,SE2)(t,s)=∈t1(((SE1(t1,s1)∧SE2(t,s))∨(SE2(t1,s1)∧SE1(t,s)))∧t1≤t) NOT(SE2,SE2,SE3)(t,s)=∈t1∨t2(SE1(t1,s1)∧~SE2(t2,s2)∧SE3(t,s)∧((t1≤t2<1)→~(SE2(t2,s2)∨SE3(t2,s))) ANY(m,SE1,SE2,…,SEn)(t,s)=∈t1∈t1…∈tn-1(SEi(t1,s1)∧SEj(t2,s2)∧…SEk(tm-1,sm-1)∧SEl(t,s)∧(t1≤t2≤…≤tm-1≤t)∧(1≤i,…,k,l≤n)∧(i≠...≠k≠1)) SEQ(SE1,SE2)(t,s)=(t,s)=∈t1(SE1(t1,s1)∧SE2(t,2)∧t1≤t) A(SE1,SE2,SE3)(t,s)=∈t1∨t2(SE1(t1,s1)∧SE2(t,s)∧t1≤t∧((t1≤t2m[1].t{1:i;}}}} IF firing{ t:=m{1}; Fire the transition; For each output places j of transitions k{ Broadcast for global detection or computer spatial operator due to N[i,k]; FindAndFire(j);}} 其中SpatialOperate(mplace)为空间算子计算算法,输入为变迁位置,输出布尔型。对于二元SO,输入库所只保留最近的参考事件,如果变迁所有输入库所中的事件满足空间算子,则返回TRUE,否则返回FLASE。本文不详细列出。 图2 2.3 应用实例 本实验过程包括:用户使用事件规范语言定义复合事件,经过复事事件编程器编译成功后存入数据库,并由CCPN构造器构造检测复事事件的组合着色Petri网存入数据库。当数据库内核中的原子事件检测器检测到原子事件发生后,通知CCPN检测器进行复合事件检测,检测结果通知应用程序,应用程序根据复合事件的发生调用ECA规则执行器执行下一步操作,用户也可以在应用程序中对数据库中的复合事件进行查询、更新等维护操作。图2为复合事件E4=OR(E,NE(E2,E3))的全局模式检测实例。首先将该复合事件编译,然后构成CCPN,如图2(a)所示。最后进行复合事件检测。使用原子事件生成器按时间顺序产生事件类型为0~10的随机事件,事件的位置信息也是随机的,为了演示方便,将位置范围控制在地图可见区域。原子事件中构成复合事件的组合事件插入到组件事件列表中,每次插入则调用基于CCPN的复合事件检测器检测。由于采用Recent事件消耗策略,对于检测到的组件事件E2,如果多次出现,则只保留最后的,用于复合事件E4的检测。检测到NE(E2,E3)后,也消耗掉E2,E3,为了更清楚地演示,只在删除E2时置Eid为“D”标识。对于检测到的组件事件和复合事件的空间位置信息,在地图上进行了显示,图2(b)是针对实验数据的运行界面。 需要指出的是,实验假定时间轴等距离。实现情况中事件的发生并非按照等距离时间间隔,因此可以设定一个时间间隔阈值,根据事件发生的最小间隔来调整该阀值,这样就可以转换成等距离时间间隔的情况。另外实验中也没有考虑事件检测本身所要消耗的计算时间延迟。同时联接变迁和联接弧也可能在事件检测时间中造成一定的延迟。 针对现有的主动数据库事件检测机制难以满足空间事件检测的需求,本文建立了空间事件模型,顺该模型基础上定义了基于空间关系的事件复合算子及其语义,并证明该定义对于复合运行是封闭的;为了简化构造复合事件检测Petri网,本文采用组合着色Petri网构造了复合事件检测模型,充分利用复合事件公共表达式,简化Petri网的构造;提出基于CCPN的检测算法;通过应用实例验证该检测模型是一个简洁、有效的复合事件检测机制。 本文没有考虑分布式环境下的空间事件检测机制,分布式环境下要考虑原子事件的并发性。全局模式下的事件采用链表简单结构管理,下一步将引入更好的数据结构以提高检测效率。同时空间算子的描述能力还不够强,不能满足更多用户的需求。将CCPN检测系统与空间数据库相结合,充分利用空间数据库的查询处理机制还需要做大量的工作。

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
TMS320C6678处理器的VLFFT演示