一种动态CEP模式实现方法及装置制造方法及图纸

技术编号:28059537 阅读:40 留言:0更新日期:2021-04-14 13:35
本申请公开了一种动态CEP模式实现方法及装置,该方法包括:对当前的CEP模式数据结构进行监测。当监测到当前的CEP模式数据结构被更新时,拦截当前的非确定性状态机NFA对象的访问请求。获取更新后的CEP模式数据结构;更新后的CEP模式数据结构根据CEP模式定义规范确定。基于CEP模式定义规范对更新后的CEP模式数据结构进行解析,获得新版NFA对象。用新版NFA对象替换当前的NFA对象。清空当前的NFA对象相关的中间状态存储数据,并初始化新版NFA对象执行被拦截的NFA对象的访问请求,访问新版NFA对象。通过该方法,当CEP模式数据结构需要修改时,只需要对运行时的当前的NFA对象和中间状态存储数据进行替换和删除,不需要生成新的字节码,避免了执行错误、内存泄露问题。内存泄露问题。内存泄露问题。

【技术实现步骤摘要】
一种动态CEP模式实现方法及装置


[0001]本申请涉及计算机
,尤其涉及一种动态CEP模式实现方法及装置。

技术介绍

[0002]在Flink复杂事件处理作业运行时,有时需要按照要求对作业中的复杂事件处理(Complex Event Processing,CEP)模式进行动态修改和更新。
[0003]目前,需要借助Groovy动态编译实现CEP模式的动态修改,以引入新的CEP模式。但是,该方法需要利用Groovy在线生成并执行新的字节码。而新的字节码在加载时可能会导致类加载错误,在卸载时可能会带来内存泄露风险。

技术实现思路

[0004]为了解决上述技术问题,本申请提供了一种动态CEP模式实现方法及装置,用于实现CEP模式的动态更新,稳定性和可靠性强。
[0005]为了实现上述目的,本申请实施例提供的技术方案如下:
[0006]本申请实施例提供一种动态复杂事件处理CEP模式实现方法,该方法包括:
[0007]对当前的CEP模式数据结构进行监测;
[0008]当监测到所述当前的CEP本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种动态复杂事件处理CEP模式实现方法,其特征在于,所述方法包括:对当前的CEP模式数据结构进行监测;当监测到所述当前的CEP模式数据结构被更新时,拦截当前的非确定性状态机NFA对象的访问请求;所述当前的NFA对象和所述当前的CEP模式数据结构相对应;获取更新后的CEP模式数据结构;所述更新后的CEP模式数据结构根据CEP模式定义规范确定;基于所述CEP模式定义规范对所述更新后的CEP模式数据结构进行解析,获得新版NFA对象;用所述新版NFA对象替换所述当前的NFA对象;清空所述当前的NFA对象相关的中间状态存储数据,并初始化所述新版NFA对象;执行被拦截的所述NFA对象的访问请求,访问所述新版NFA对象。2.根据权利要求1所述的方法,其特征在于,在所述对当前的CEP模式数据结构进行监测之前,所述方法还包括:获取CEP模式定义规范;所述CEP模式定义规范通过根节点和子节点分别表征整个CEP模式和CEP模式中的子阶段;所述子节点用于定义配置参数。3.根据权利要求2所述的方法,其特征在于,所述基于所述CEP模式定义规范对所述更新后的CEP模式数据结构进行解析,获得新版NFA对象,包括:基于所述CEP模式定义规范遍历所述更新后的CEP模式数据结构中的子节点;将子节点对应的所述CEP模式中的子阶段解析为Pattern实例;将所述Pattern实例转译为新版NFA对象。4.根据权利要求1所述的方法,其特征在于,所述方法应用于Agent模块;所述Agent模块部署于Flink集群的各个TaskManager服务的所在服务器。5.根据权利要求1所述的方法,其特征在于,所述用所述新版NFA对象替换所述当前的NFA对象,包括:用所述新版NFA对象替换所述当前的NFA对象,使所述当前的NFA对象的对象引用指向所述新版NFA对象;则所述执行被拦截的所述NFA对象的访问请求,访问所述新版NFA对象,包括:执行被拦截的所述NFA对象的访问请求,通过访问所述对象引用来访问所述新版NFA对象。6.一种动态复杂事件处理CEP模...

【专利技术属性】
技术研发人员:徐圣杰
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1