对esper的理解

        Esper是java开发的事件流处理和复杂事件处理引擎。其中复杂事件处理(CEP)是一种实时事件处理并且从大量事件数据流中挖掘复杂模型的技术;而事件流处理(ESP)是一种从大量事件数据流中过滤,分析有意义的事件,并能够实时取得这些有意义的信息的技术。

 

        Esper可以监测事件,并且能够在特定事件发生时触发某些动作,所以适合的场合为商业活动的监控、犯罪预防、实时风险分析、市场趋势分析等等。

 

        在Esper中的CEP是一个相当重要的概念,从它的定义上就能够分析到它是挖掘复杂模型的技术,在CEP标准范畴中,核心是一种类SQL语言叫EPL(事件处理语言),既然是类SQL语句,就会有增删改查等关键字,并且还有一些聚合函数例如求平均值,计算个数等。

 

        我对EPL的理解为它就是处理模型的定义和描述,因为CEP是挖掘复杂模型的技术,如何挖掘呢,就是要靠EPL这个模型定义描述语言。

 

        假如说目前想从实时数据中挖掘出正在报警的点表信息,那么就可以用带有select关键字并且查询超过限制或者变化率\偏移量大于某个值的一个EPL语句来挖掘出这样的一个模型。

 

        其实这个技术在工控领域中用到的非常多,尤其是处理监控和事件处理等组态的时候,这时候就需要在运行端进行实时的数据监控,通过时间监听机制来实时的对采集数据进行报警分析处理,这个处理就是用EPL来进行挖掘操作,从而显示报警信息显示。之所以用esper,还有一个特点就是它是内存计算工具,这样的好处就是快速的特点,因为实时监控领域需要的就是实时性,所以很多计算和操作需要在内存级别来进行操作。

 

        最后,关于Esper的学习和demo的演示需要到官方网站上去学习,因为这个技术国内的资料比较少,中文资料更加是少之又少,所以还需要去官方网站上去学习。网址为:http://esper.codehaus.org/

 

         另外推荐一个比较好的esper博客学习地址:http://blog.csdn.net/luonanqin/article/details/9900295,推荐看一下esper进程分析,讲解的非常透彻。

你可能感兴趣的:(J2EE)