![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CEP
文章平均质量分 93
wishuhappyyear
这个作者很懒,什么都没留下…
展开
-
SODBASE CEP学习(九):SODBASE View 实时图表显示和移动端消息
在项目中有时会用到实时图表的显示,例如电压监测图、水文监测图、桥梁监测图、IT运维监控性能图、预警信息显示、经营分析监测等等。本文介绍SODBASE CEP自带的SODBASE View以及RESTful接口。用户可以在此基础上二次开发,定制自己的图表。用户也可以使用RESTful接口拓展自己的图表类型。原理很简单,将需要显示的最新数据缓存在内存中,前端Javasript或flash定时取最新原创 2015-05-08 16:07:42 · 548 阅读 · 0 评论 -
SODBASE CEP学习进阶篇(二):日志采集-Flume
在IT系统运维和性能监控中,常常需要对日志进行分析,得到系统的故障点或性能瓶颈。本文用flume作为日志采集客户端,将日志信息发送到SODBASE CEP引擎。示例中,我们实现一个将数据通过socket传输到CEP引擎的Sink。在CEP引擎中通过socket输入适配器负责接收数据。需要用到的类库有sodbase-cep-engine.jar,sodbase-dataadaptor-socke原创 2015-05-20 14:54:55 · 1786 阅读 · 0 评论 -
SODBASE CEP学习(三):GUI建模工具SODBASE Studio和CEP服务器
自己写CEP XML模型和EPL还是有些麻烦,今天跟大家讲一下SODBASE Studio的使用,SODBASE Studio可以生成XML模型和用于部署到服务器的二进制模型文件。SODBASE Studio还可以做单元测试,在建立各种级联的大模型时比较有用。SODBASE Studio可以到http://www.sodbase.com/page/service/product.php下载,点击“原创 2015-04-30 10:02:59 · 2360 阅读 · 0 评论 -
SODBASE CEP学习(四):类SQL语言EPL与Storm或jStorm集成
互联网+的影响力就是大,storm框架最初是设计用来做互联网文本处理和一些统计工作的工具,架着互联网的东风越来越多的被大家使用。在一些场合,特别是在已经用了storm架构以后想再用EPL语句,storm和EPL结合也不失为一种不错的方案。对在线策略修改、窗口数据可靠性要求高的地方还有用专用的CEP集群方案、Hot-Hot HA等方案可供选择,不过这些不是本文的重点。本文的重点就是让st原创 2015-04-30 18:47:29 · 5568 阅读 · 0 评论 -
SODBASE CEP学习(二):运行第一个EPL例子
为了让大家理解SODBASE CEP的工作原理,直接写一个CEP模型的XML,以API调用的方式运行。不想写XML,直接使用图形工具的同学,请直接跳过本文。不想用API写程序,直接用GUI操作服务器的同学,也请直接跳过本文。用得到的时候可以再返回过来看。本文示例完整源码可到 http://www.sodbase.com/page/service/product.php 下载,请选择"嵌入式版J原创 2015-04-29 11:23:33 · 1713 阅读 · 0 评论 -
SODBASE CEP学习(五):流式计算中的类SQL语言EPL
在SODBASE CEP中,EPL也叫做SODSQL。基本形式为CREATE QUERY 查询名称SELECT 查询字段FROM 流PATTERN 复杂事件模式WHERE 条件WITHIN 时间窗口大小“复杂事件”网络上有不少解释。从形式化定义的角度,复杂事件是事件,且是由基本事件通过各种时间、逻辑关系所组成的事件。FROM:可以是多个流,一般来讲,流里面的数据是基本事原创 2015-05-04 10:32:52 · 2491 阅读 · 0 评论 -
SODBASE CEP学习(十二):规则模板、阈值和用户界面
对于不懂程序的普通用户来说,类SQL的EPL(事件处理语言)还是不够友好的。例如在算法交易系统或一些监控系统中,往往需要给用户一个图形化界面的操作界面来配置修改规则和策略。本文介绍一些帮助开发者完成这样功能的方法。原创 2015-05-11 16:44:20 · 1056 阅读 · 0 评论 -
SODBASE CEP学习(一):SODBASE CEP简介
开发实时数据处理、事件处理、数据监测预警应用时,往往苦于没有好的工具,一个功能花费数天甚至个把月的时间,还不稳定。为大家推荐一下SODBASE CEP工具,专门为这类需求服务的,能快速搭建此类系统,达到商业应用(即不止是我们爱好者自己捣鼓,而是用在实际商业项目中)的要求,同时保证系统高效稳定。从今天起准备写一些SODBASE CEP基本用法的文章,希望能帮助到大家。对于不熟悉流数据处理、CEP原创 2015-04-29 09:18:39 · 1765 阅读 · 0 评论 -
SODBASE CEP学习(十七):自定义函数开发
前面的文章已经多次提到自定义函数,实际上对JAVA开发熟悉的读者,只要自己实现一个类的public方法,就可以当做自定义函数在EPL中使用。部署时,代码然后打成jar包放到lib目录下即可。如果对这个流程不熟悉也不要紧,本文提供一个示例,按步骤就可以做自定义函数1 使用场景自定义函数可以在SELECT语句和WHERE语句中作为函数使用。2学习自定义函数制作整个过程大概5分钟原创 2016-11-19 23:17:42 · 550 阅读 · 0 评论 -
SODBASE应用示例:通过Restful接口采集数据
1.建立数据采集脚本vi monitor.sht=`yarn application -list | grep Hive | wc -l`curl -G -d "username=admin&password=cep&modelspacename=firstuser&streamname=etl_monitor.input&data=appnum:${t},cluster:JDH&dat原创 2016-08-17 15:17:32 · 1289 阅读 · 0 评论 -
SODBASE CEP学习(十三):EPL常用函数
本节介绍一下EPL中自带的一些常用函数,用户也可以直接在EPL中调用Java自定义函数。1. 时间类函数(1)unix_timestamp获取距离1970年1月1日后的毫秒数,例如 SELECT unix_timestamp() 输出1453381554400SELECT unix_timestamp('2008-08-01 10:00:00')原创 2016-01-21 21:10:36 · 866 阅读 · 0 评论 -
SODBASE数据输出适配器----HTTP请求
SODBASE数据适配器----HTTP请求原创 2016-12-21 20:43:00 · 1136 阅读 · 0 评论 -
SODBASE CEP事件驱动应用----进行告警处理流程管理
IT系统往往需要配置软硬件监控,以保证系统能够可靠运行。如果监控发出报警需要及时处理,最好能跟踪处理进度。 目前大多数监控报警系统,实际上是无法满足每个企业告警处理定制化的要求的。即使像Onealert这样告警集成云平台,很多时候也无法满足企业内部特有的告警通道和个性化告警处理流程的要求。也就是说我们需要能够告警处理流程定制化,需要监控告警领域的BPM(业务流程管理)。SO原创 2016-12-21 14:46:38 · 939 阅读 · 0 评论 -
SODBASE CEP学习(十六):CEP与数据库交互
一些时候,出于项目需求或复用,需要将CEP和数据库结合起来用。本文通过示例的方式原创 2016-11-19 22:50:02 · 1350 阅读 · 0 评论 -
SODBASE CEP学习进阶篇(五):与分布式缓存集成
在一些场合特别是大历史数据查询,如果将数据放在存储中如Hbase或RDBMS中,查询性能可能会拖累整个CEP系统的性能。CEP引擎和分布式缓存系统结合可以较好地解决这个问题。例1,在线商城中我们要查询某商品实时UV(Unique Visitor),对于千万级以上用户的系统做这样的实时计算。一种方法是在Redis中建一个的hash map。为每个用户在Redis中建一个bitmap key,ke原创 2015-07-21 16:07:40 · 1139 阅读 · 0 评论 -
SODBASE CEP学习(四)续:类SQL语言EPL与Storm或jStorm集成-滑动窗口
上篇写了类SQL语言EPL与Storm集成的方法,示例是日志分析。可能有些复杂,这次写个常用的简单的示例,滑动窗口的应用。原创 2015-06-03 10:19:58 · 2266 阅读 · 0 评论 -
SODBASE CEP学习(四)续:类SQL语言EPL与Storm或jStorm集成-使用分布式缓存
流式计算在一些情况下会用到分布式缓存,从而实现(1)统计工作除了计数,还想把结果保存在分布缓存中,供其它模块或其它系统调用。(2)某一滑动时间窗口上计数,例如实时统计1小时每个Cookie的访问量,实时统计某商品1天内的销售数量和销售额,实时统计某商家1天内的销售量。由于SODBASE CEP引擎本身集成了Redis分布式缓存的接口,而在Storm上可以方便地使用SOBASE EPL语句。因此,通原创 2015-08-17 11:12:11 · 2459 阅读 · 0 评论 -
SODBASE CEP学习进阶篇(一):除了Java还有C++
许多监测系统、交易系统、实时数据挖掘分析算法是用C++写的,而且第三方接口也往往以C++动态库的方式出现。当你更偏好于使用C++编程语言的话,可以用SODBASE CEP C++ 接口来搭建流式计算系统。原创 2015-05-14 15:18:02 · 1213 阅读 · 0 评论 -
SODBASE CEP学习(七):Fail retry机制、去重只执行一次机制、事件乱序处理机制
为了保证事件能够在分布式系统中容错,socket传输中采用了fail retry机制,保证网络短暂断线不引起数据丢失。为了保证数据只处理一次,SODBASE CEP采用了类似Google MIllWheel的Watermark技术。也类似于storm trident的state保留状态的方法,不同的是SODBASE CEP Watermark技术同时可以处理事件乱序的问题。而在storm 互联原创 2015-05-05 10:41:08 · 919 阅读 · 0 评论 -
SODBASE CEP学习进阶篇(三):自己写输入输出适配器
自己写输入输出适配器,只需要实现OptimizedInputAdaptorI和OptimizedInputAdaptorI就可以了。1.输入适配器package com.example;import java.util.Date;import zstreamplus.eventbuffer.PrimitiveEvent;import zstreamplus.eventbuffer原创 2015-05-20 17:00:01 · 722 阅读 · 0 评论 -
SODBASE CEP学习进阶篇(四):自己控制时钟和时间戳
一些应用里会用到第三方系统生成的时间戳,另外,有的系统并不是按通常意义的时钟如最小单位毫秒来计时。解决这些问题在SODBASE CEP引擎中非常简单,就是设置事件的时间戳。每个事件都有两个时间戳:开始时间和结束时间。基本事件的开始时间和结束时间相等。(1)设置修改方法:Java API中,Event类和它的子类PrimitiveEvent,ComplexEvent都有两个long类型的属性原创 2015-06-23 17:02:53 · 859 阅读 · 0 评论 -
SODBASE CEP学习(八):高可用性HA
大家是不是有Task莫名其妙宕掉的经历?相对于新的一些流式框架,CEP和它的高可用性方案本身算得上古老的技术,在金融、电信等领域发挥着重要的作用。本文将介绍一些基本的HA方法和概念。因为即使有分布式框架,提供了ACK的接口,但框架本身没有告诉你应该如何ACK。另外,许多分布式框架的心跳机制建立在Worker(JVM进程级别),往往会存在Worker还在,Task停掉了的情况,因此,我们需要细粒度的原创 2015-05-08 08:09:17 · 1000 阅读 · 0 评论 -
SODBASE CEP学习进阶篇(七):SODBASE CEP与Spark streaming集成
基于内存RDD的Spark框架在很多新项目中被使用。Spark计算框架包括其Streaming组件,出发点是批处理层(Lamda架构中Batch Layer)划分批的思路。在许多地方,用户在使用Spark后,又想实现在线系统低延时实时计算,以及流处理规则的管理。这时,我们可以将SODBASE CEP和Spark结合来使用。本文通过实例介绍如何将SODBASE CEP的输出(相当于Speed L原创 2015-11-07 17:19:04 · 1866 阅读 · 0 评论 -
SODBASE CEP学习进阶篇(七)续:SODBASE CEP与Spark streaming集成-低延迟规则管理
许多大数据平台项目采用流式计算来处理实时数据,会涉及到一个环节:实时数据处理规则管理。因为用户经常有自己配置数据处理规则或策略的需求。同时,维护人员来也有也有将规则提取出来的需求,方便变更和维护的需求。本文介绍Spark streaming加SODBASE SQL来实现规则管理的示例。1.示例1.1 示例简介本示例的数据源是Kafka,从采集设备到Kafka的过程没有画出来。许多时原创 2015-12-01 11:24:34 · 2168 阅读 · 0 评论 -
SODBASE CEP学习(十):在线动态修改EPL规则
在实际项目中,常常会需要输入数据不断的条件下,在线修改规则。例如:交易策略中,以一定时间窗口的价格平均值和阈值比较决定交易行为。在时间窗口走到中间时,要修改阈值了。如果单纯的停掉这条EPL,修改,再启动,之前的时间窗口的数据就会丢失,即使不丢失,因为阈值变了,之前的中间结果也不能再用。这种情况下,要保证数据的不丢失,就需要用到SODBASECEP的hot swap在线修改规则功能。待续原创 2015-05-09 10:00:55 · 1408 阅读 · 0 评论 -
SODBASE CEP学习进阶篇(六):实现反压和流限速
前面文章介绍过流数据输入速率要和处理能力相匹配,短时数据爆发由内部缓冲队列来缓冲。如果确实存在某个时间点持续数据爆发,可以考虑采取反压限流的方法。原创 2015-08-10 14:52:01 · 1246 阅读 · 0 评论 -
SODBASE CEP学习(十五):常见场景EPL示例
EX0001 统计10s的股票统计值,2s输出一次。解决方法:输入定时触发器timer周期设置为2s CREATE QUERY demoSELECT T1._start_time_ AS starttime,average(T2.price) ASavg,T3._end_time_ AS endtimeFROM T1:timer,T2:模拟股票,T3:timer PATTERN原创 2016-09-09 21:13:32 · 1012 阅读 · 0 评论 -
SODBASE CEP学习(六):流式计算中的存储和ETL
许多流式计算应用离不开存储,也就是把数据存在硬盘上,例如历史数据的保存。毕竟硬盘适合长期地存储大量数据。在介绍具体方法之前,先讲一个实际项目里经常要用到的原则,那就是:存储读写速度要和内存计算速度匹配。怎么理解呢?例如内存计算速度是10万events/s,存储读写速度是1万events/s,那么很容易引起数据不能及时写到存储中,而导致OOM等各种问题。还有,硬盘读写的速度、网络传输的速度经常受原创 2015-05-06 10:07:30 · 2605 阅读 · 0 评论 -
SODBASE CEP学习进阶篇(二)续:日志采集之外的APM探针方法
在IT系统监控中,对日志的监控是一种方式,还有一种方式,就是采用APM探针。原理其实很简单,就是利用虚拟机的修改字节码的功能,在需要监控的方法中加入耗时统计,或采集一些信息传到CEP服务器进行分析和图表展示。目前APM产品众多,但是作为大系统的监控,往往需要放在内网之中,或绑定内网。而通用的APM产品这样做的成本比较高。本文介绍如何用探针、CEP来自定义企业系统的监控功能。原创 2015-07-03 16:36:32 · 2476 阅读 · 0 评论 -
SODBASE CEP学习进阶篇(二)续:日志采集-Flume Syslog采集
1. 启动CEP模型启动CEP Server./catalina.sh run下载loganalysis.sod CEP模型文件。使用Server Admin将loganalysis.soddata2安装到CEP Server,并启动,控制台输出May 29, 2016 5:14:26 PM com.sodbase.cep.graphmodelexecutor.原创 2016-05-29 17:21:28 · 1803 阅读 · 0 评论 -
SODBASE CEP学习(十四):在Studio配置文件中编辑中文
用户在个性化设置Studio的adaptor.properties配置文件中,因为中文unicode编码,常会遇到中文编辑的问题。方法如下:1.在安装JDK的机器上,运行native2ascii是unicode中文可正常显示native2ascii -reverse -encoding utf8 adaptor.properties adaptor_cn.properties将a原创 2016-05-11 21:03:07 · 475 阅读 · 0 评论 -
SODBASE CEP学习(十一):分布式集群
大家装SODBASE CEP Server的时候会发现,它本身就是一个分布式系统,可以非常方便的快速建立分布式运算模型。1. 启用集群方法只要修改sodbase-cep-server-webservice-1.0.1/configuration/configuration/db.properties即可。所有的计算服务器共享了一个状态服务器State Server,也就是db.proper原创 2015-05-09 21:14:59 · 883 阅读 · 0 评论