【CEP】复杂事件处理简介和StreamInsight初步使用

1、复杂事件处理

* 事件处理的发展主要分为三个阶段:数据库处理、数据流处理和复杂事件处理。

* 人们面对的数据是多种多样的,处理需求也各不相同。比如制造物联网领域中,数据处理面对着以下困难:海量动态数据难以及时处理,多样性业务数据难以智能区分、数据关联性难以准确描述。

我们可以认为:复杂数据处理(complex event processing)是数据流的响应模型。

CEP引擎为一系列不相关的事件寻找匹配的模式和事件间的关系,通过对事件进行分析,找出威胁、机遇,并将这些响应给检测模版。

{!比如你的皮肤感觉到温度下降,鼻子感觉到湿气很重,眼睛看到远方乌云。由这些基础事件可以得到复杂事件:即将下雨。

* 概念介绍

五星:

StreamInsight概念

(http://msdn.microsoft.com/zh-cn/library/jj136801(v=sql.111).aspx);

事件结构

http://msdn.microsoft.com/zh-cn/library/ee378905(v=sql.111).aspx);

深入浅出系列

【原】StreamInsight 浅入浅出(二)—— 流与事件);

四星:

CEP系列(http://www.cnblogs.com/shanyou/category/262009.html),

华为CEP概念汇总帖子(http://www.huawei.com/ecommunity/bbs/10166475.htm);

其连载8中提到:

目前知名的CEP产品来自Tibco、IBM、Oracle、StreamBase、Sybase等。微软也即将推出名为StreamInsight的CEP产品。

很有意思的是StreamBase与StreamInsight这两个CEP产品名称,刚好是CEP的三个关键字:Stream、Base、Insight。同时具备这三点才能算是CEP。

在各种CEP工具中,本文使用Microsoft的streaminsight工具。

2、StreamInsight初步使用

传统数据库的基本单位是数据行,而在 StreamInsight 或者说 CEP 架构中,基本数据单位是事件(Event)

在传统数据库中,数据行集合成为数据表,而在 StreamInsight 中,相对应的集合就是流(Stream),所有的查询都是针对流的

其实流中的每个基本数据其实并不是一个完整的事件,只是包含了构成一个事件的基础信息,需要经过打包才能成为一个标准的事件。

2.0、下载StreamInsight(大小大约是14MB)安装到本机

官方教程包含下载地址):

(http://msdn.microsoft.com/zh-cn/library/ee378749.aspx);

StreamInsight2.1图文版安装教程:

(http://www.dotblogs.com.tw/skychang/archive/2013/04/18/101775.aspx);

安装的时候注意

实例名栏目输入Default或者你想起的名字(一般是Default这样别人代码基本上不用修改)。

接着输入产品密钥: FH666-Y346V-7XFQ3-V69JM-RHW28

{!这是 SQL SERVER 2012 ENTERPRISE的密钥 

}

选择将当前用户添加到StreamInsight 用户组

2.1、快速上手官方demo:TrafficJoinQuery

* 打开(http://go.microsoft.com/fwlink/?LinkId=180356),下载StreamInsightProductTeamSamples.zip;

(本例中调试TrafficJoinQuery,打开Application文件夹即可看到

* 启动Visual Studio 2013,打开StreamInsightProductTeamSamples\Applications\TrafficJoinQuery\TrafficJoinQuery.sln;

* 导入项目成功以后,按Ctrl+F5运行即可。

对应教程【原】StreamInsight 浅入浅出(四)—— 例子

2.2、自己新建示例

StreamInsight手札(二)——构建HelloInsight程序

{!表达还算清晰,但按其步骤完成到最后无法调通。

不过好在原文有源码,具体调试见http://my.oschina.net/SnifferApache/blog/338550

StreamInsight实例

(http://technet.microsoft.com/zh-cn/library/jj136799(v=sql.111).aspx

{!新建项目之后,选择项目>添加>引用

程序集引用

  • System.Reactive.dll

  • System.Reactive.Providers.dll

  • System.ServiceModel.dll

  • Microsoft.ComplexEventProcessing.dll

  • Microsoft.ComplexEventProcessing.ManagementService.dll

  • Microsoft.ComplexEventProcessing.Observable.dll

其中,System.Service Model .dll在引用管理器>程序集>框架中勾选,其余的在程序集>扩展中勾选;即可开始运行

}

2.3、MouseGestureDemo的导入运行

直接打开之后

using Microsoft.ComplexEventProcessing;
using Microsoft.ComplexEventProcessing.Linq;
using MouseCaptureInputAdapter;
using TraceOutputAdapter;
using System.ServiceModel;
using Microsoft.ComplexEventProcessing.ManagementService;

1、2、6句提示缺少程序集引用,此时解决方案资源管理器>引用中CEP相关的三个dll前面有黄色叹号,右键移除之。

重新在程序集>扩展中勾选这三个即可。

3、TrafficJoinQuery

占位

4、推广以及源码

热烈欢迎我的好基友熳熳同学为了CEP项目28号在oschina开博:

http://my.oschina.net/zhangxuman

博文源码:

‍‍http://pan.baidu.com/s/1qWqKe5Y


你可能感兴趣的:(【CEP】复杂事件处理简介和StreamInsight初步使用)