EX0001 统计10s的股票统计值,2s输出一次。

解决方法:输入定时触发器timer周期设置为2s

CREATE QUERY demo

SELECT T1._start_time_ AS starttime,average(T2.price) ASavg,T3._end_time_ AS endtime

FROM T1:timer,T2:模拟股票,T3:timer

PATTERN T1;T2^+;T3

WHERE T1._start_time_=T3._start_time_-10000

WITHIN 10000

EX0002统计每一只股票的10s的统计值,2s输出一次

解决方法:输入timer周期设置为2s

CREATE QUERY demo

SELECT T1,T2,T3

FROM T1:timer,T2:模拟股票,T3:timer

PATTERN T1;T2^+;T3

Group BY T2.name

WHERE T1._start_time_=T3._start_time_-10000

WITHIN 10000

EX0003每当股价超过阈值后,开启10秒窗口,统计10秒内股价超过阈值的事件(>80.0)。这10秒内的超过阈值事件,就不再开启新的10秒窗口。

CREATE QUERY delayoutput2

SELECT T1,T2,T3

FROM T1:stokIn,T2:stockIn,T3:delay10sec

PATTERN T1;T2^+;T3

WHERE T1._start_time_=T3._start_time_-10000

AND T1.price>80.0

AND T2.price>80.0

WITHIN 10000 BATCHMODE

EX0004查询10分钟以内,单笔金额小于等于10元,大于等于2笔的交易卡号和金额

(1) SODSQL

select T1.cardid AS T1_cardid,T1.value AS T1_value,tostring(T2.value)AS T2_value,T3.value AS T3_value

from T1:Event,T2:Event,T3:Event

PATTERN T1;T2^*;T3

GROUP By T1.cardid

WHERE T1.value<=10 AND T3.value<=10 ANDT1.cardid=T3.cardid AND T1.cardid=T2.cardid AND T2.value<=10

WITHIN 36000000

(2)参考Esper

select cardid

from Event.win:time(10 min)

where value<=10

group by cardid

having count(*)>=2

P00003检测短时间内,同一账号连续发生接近授权金额的交易

SODSQL语句:

CREATE QUERY P00003

SELECT T1,T2,T3

FROM T1: 模拟银行交易数据,T2:模拟银行交易数据,T3:模拟银行交易数据PATTERN T1;T2^*;T3

WHERE T2.amt<50000 AND T2.amt>45000

AND T3.amt<50000 AND T3.amt>45000

AND T1.amt<50000 AND T1.amt>45000

AND T1.Account=T2.Account

AND T2.Account=T3.Account

WITHIN 11000

P00004:同一个账户连续进行的大额转账相反交易

SODSQL语句:

CREATE QUERY P00004

SELECT T1,T2 FROM T1:模拟银行交易数据,T2:非法交易2

PATTERN T1;T2

WHERE T1.Account = T2.Account

AND T1.trans_flag='in'

AND T2.trans_flag='out'

WITHIN 500

P00023:检测短时间内柜面现金交易,防止将用户的“先取后存”业务办理为“先存后取”

SODSQL语句:

CREATE QUERY P00023

SELECT T1,T2 FROM T1:模拟银行交易数据,T2:非法交易2

PATTERN T1;T2

WHERE T1.Account = T2.Account

AND T2.dc_flag='C'

AND T1.dc_flag = 'A'

AND T1.cash_trans_flag= '1'

AND T2.cash_trans_flag = '1'

WITHIN 1000

P00101监测是否存在当日现金出现大收大付

SODSQL语句:

CREATE QUERY P00101

SELECT T1,T2

FROM T1:模拟银行交易数据,T2:模拟银行交易数据

PATTERN T1&T2

WHERE T1Account=T2.Account

WITHIN 86400000

OLP0001检测"用户确认支付"后,没有"银行转账成功",就"出货"

SODSQL语句:

CREATE QUERY OLP0001

SELECT T1,T2,T3

FROM T1:在线支付模拟数据,T2:在线支付模拟数据,T3:在线支付模拟数据 PATTERN T1;!T2;T3

WHERE T1.userid=T3.userid

AND T2.userid=T3.userid

AND T1.message='verifypay'

AND T2.message='bankpaycomplete'

AND T3.message ='productrelease'

AND T1.productid=T3.productid

AND T2.productid=T3.productid

WITHIN 20000

OLP0002"用户确认支付"后,"银行转账成功",3秒内没有"出货"

SODSQL语句:

CREATE QUERY OLP002

SELECT  T1,T2,T3,T4

FROM T1:onlinepayment,T2:onlinepayment,T3:onlinepayment,T4:timer PATTERNT1;(T2;!T3;T4)

WHERE T2.userid=T3.userid

AND T2.userid=T1.userid

AND T1.message='verifypay'

AND T2.message='bankpaycomplete'

AND T3.message ='productrelease'

AND T3.productid=T1.productid

AND T3.productid=T2.productid

AND T4._start_time_-T2._start_time_> 1000 WITHIN 2000

EX0005查询30s内输入不同密码的次数大于5的用户

解决方法:输入定时触发器timer周期设置为30s

CREATE QUERY demo

SELECT T1._start_time_ AS starttime,average(T2.price) ASavg,T3._end_time_ AS endtime

FROM T1: 登录,T2:登录,T3: 登录

PATTERN T1;T2^+;T3

GROUP BY T2.name

WHERE countdistinct(T2.password)>3

AND T1.name=T2.name AND T3.name=T1.name

WITHIN 30000

EX0006 当reader 读到标签后,在1s内该标签还在则认为是连续读到该标签,2s后该标签还存在,则出发进入通道事件,进入通道后,如果2s内reader 未读到标签则触发离开事件

“读到标签ReadSuccessiveEvent”

CREATE QUERY readsuccessive

SELECT 'readsuccessive' AS type, T1.id AS T1_id,T1.num AS T1_num,T2.id AST2_id,T2.num AS T2_num

FROM T1:readerevent,T2:readerevent

PATTERN T1;T2

WHERE T1.id=T2.id

WITHIN 1000

"进入通道"readenterchannel

CREATE QUERY readenterchannel

SELECT 'enterchannel' AS type,T3.id AS T3_id,T3.num AS num FROMT1:readerevent,T2:readerevent,T3:readerevent

PATTERN T1;T2;T3

WHERE T1.id=T2.id

AND T1.id=T3.id

AND T2._end_time_-T1._end_time_<=1000

AND T3._end_time_-T2._end_time_<2000

AND T3._end_time_-T1._end_time_>1000

WITHIN 3000

"离开事件" readoutofchannel

CREATE QUERY readoutofchannel2

SELECT T1.id AS T1_id,T1.num AS T1_num,'outofchannel' AS type

FROM T1:readerevent,T2:readerevent,T3:delay2sectimer

PATTERN T1;!T2;T3

WHERE T1.id=T2.id AND T3._end_time_-T1._end_time_=2000

WITHIN 2000

EX0007 查询哪个卡号1小时内的总交易金额大于1w

CREATE QUERY pos

SELECT T1.acctnum AS acctum,T1.value AST1_value,tostring(T2.value) AS T2.value,T3.value AS T3_value

FROM T1: pos,T2:pos,T3:pos

PATTERN T1;T2^+;T3

GROUP BY T2.acctnum

WHERE T1. acctnum =T2. acctnum

AND T3. acctnum =T1. acctnum

AND T1.value+T2.value+sum(T3.value)>10000

WITHIN 10000

SODBASE CEP学习(十五):常见场景EPL示例相关推荐

  1. OpenCV与图像处理学习十五——LBP纹理特征(含代码)

    OpenCV与图像处理学习十五--LBP纹理特征(含代码) 一.LBP介绍 二.LBP原理 三.代码应用 一.LBP介绍 LBP(Local Binary Pattern, 局部二值模式) , 是一种 ...

  2. PyTorch框架学习十五——可视化工具TensorBoard

    PyTorch框架学习十五--可视化工具TensorBoard 一.TensorBoard简介 二.TensorBoard安装及测试 三.TensorBoard的使用 1.add_scalar() 2 ...

  3. C++学习 十五、类继承(1)基类,派生类,访问权限,protected

    C++学习 十五.类继承(1)基类,派生类 前言 类继承 类的关系与继承 基类, 派生类 基类 派生类 构造函数,析构函数 文件位置 访问权限 protected 后记 前言 本篇开始学习C++类的继 ...

  4. OpenGL入门学习(十五)

    OpenGL入门学习[十五] 这次讲的所有内容都装在一个立方体中,呵呵. 呵呵,绘制一个立方体,简单呀,我们学了第一课第二课,早就会了. 先别着急,立方体是很简单,但是这里只是拿立方体做一个例子,来说 ...

  5. Linux学习十五 DNS基础服务

    Linux学习十五 DNS基础服务 DNS服务基础 BIND 伯利克Internet 域名服务 主要执行程序:/usr/sbin/named 系统服务:named 默认端口: TCP/UDP 53 主 ...

  6. LiveVideoStackCon讲师热身分享 ( 十五 ) —— 教育场景下的实时音视频解决方案

    LiveVideoStackCon 2018音视频技术大会是每年的多媒体技术人的盛宴,为了让参会者与大会讲师更多互动交流,我们推出了LiveVideoStackCon讲师热身分享第一季,在每周四晚19 ...

  7. 强化学习(十五) A3C

    在强化学习(十四) Actor-Critic中,我们讨论了Actor-Critic的算法流程,但是由于普通的Actor-Critic算法难以收敛,需要一些其他的优化.而Asynchronous Adv ...

  8. java并发编程(十五)——常见的几种阻塞队列

    前言 我们来看一下Java中常见的几种的阻塞队列的相关知识. 主要并发队列 Java中队列的接口是Queue,其实现类如下图所示: 分为阻塞队列和非阻塞队列两种. 何为阻塞队列 阻塞队列,也就是Blo ...

  9. 推荐系统遇上深度学习(十五)--强化学习在京东推荐中的探索

    强化学习在各个公司的推荐系统中已经有过探索,包括阿里.京东等.之前在美团做过的一个引导语推荐项目,背后也是基于强化学习算法.本文,我们先来看一下强化学习是如何在京东推荐中进行探索的. 本文来自于pap ...

最新文章

  1. Python标准库asyncio模块基本原理浅析
  2. [译]从零开始成为数据科学家的9个步骤
  3. CIO职业生涯如何进行三级跳
  4. 如何用C#和ADO.NET建立一个数据绑定网格(转载)
  5. 7-68 阶乘计算 (15 分)
  6. oracle 数据库数据迁移解决方案
  7. js中如何删除json对象的某一个选项
  8. ftp 上传文件夹_命令行连接FTP服务器
  9. 单进程服务器-非堵塞模式(python版)
  10. linux常用进程管理工具及查看
  11. Red5流媒体服务器初探——Red5服务器的搭建
  12. PR视频剪辑(项目包装)
  13. PM如何写好产品需求文档
  14. 万洲金业:黄金ETF如何影响黄金价格?
  15. 西门子医疗与全景医学共推基层医疗远程影像诊断全面应用;汤臣倍健捐赠670万元营养品与合作伙伴共同支援西安、珠海抗疫 | 医药健闻...
  16. 奋斗吧,程序员——第十六章 笑渐不闻声渐悄,多情却被无情恼
  17. Spring cloud 多种限流方案
  18. qt for android程序保活 程序后台一直运行不被清理掉(未完)
  19. 用智能TFT液晶模块这种串口屏做产品界面设计太简单了,大大的节省了开发时间...
  20. 北京联合大学聋人计算机,北京联合大学特教学院成人聋障大学生永不言弃

热门文章

  1. 2020中国上市公司品牌价值榜20强发布
  2. linux串口设备配置方法(固定ID)
  3. 离线GoogleMapAPIV3加载本地谷歌地图并添加标注
  4. 基于蓝牙模块ROK101 007/1的小区监控系统设计
  5. SAP 发票金额容差与供应商容差
  6. 【iOS】【最新】2023苹果开发者账号注册流程(公司类型)
  7. 还没体验过无人超市?手把手教你用计算机识别技术自己开一家!
  8. 计算机学院迎新晚会目的,某学院计算机系迎新晚会策划书.doc
  9. 针不戳 java后端开发岗面经分享,面经+知识点+总结
  10. java求1000以内所有完数