複雜事件處理(CEP)

  1. 讓Storm插上CEP的翅膀 -
    Siddhi調研和集成
  2. Storm和esper整合的例子。演示數據流處理引擎在日誌實時處理中的應用
  3. 將Esper與Storm集成的庫。

隨着企業信息化的進一步深入,企業產生大量的實時數據(比如證券市場的交易數據,電力行業的探測數據),用關係型數據庫處理這些大量的實時數據,已經力不從心了。更重要的是,企業需要從這些大量的實時數據裏面,及時發現、挖掘一些有意義的數據,比如證券市場那些交易有違規操作的嫌疑,如果對某些交易存在嫌疑,需要進一步跟蹤觀察,進而進行人工干預。這樣的需求,用關係型數據庫去解決,需要將所有的數據導入到庫中後,用統計分析工具去分析,雖然也能得到部分有意義的數據,但是無法保證實時性,無法對部分有意義數據的出現做出及時處理。

基於以上的需求,出現了複雜事件處理( CEP)的概念,隨之也出現了不少 CEP的產品,這其中,比較著名的產品有: Tibco Business Event, IBM CEP, Oracle CEP。 CEP認爲任何事情的發生可以認爲是一個“事件”,事情的發生產生一項數據,那麼一項數據也可以認爲是一個“事件”,證券市場的一個交易是一個事件,傳感器探測一次數據,也是一個事件。這些事件有共同點:數據量特別龐大、流式數據、永不止境。這些事件,多數是我們不關心的,我們認爲無意義的。我們需要的是從這些大量的無意義的事件中,找出對我們有意義的單個事件或者事件組合,比如可疑交易數據(和正常交易價格有很大出入的多筆交易),我們理解這些找出的單個事件或者事件組合爲有意義事件,認爲是事件發生,把發現這個有意義事件爲複雜事件處理。 CEP通過規則,從不同的事件源中找出相關的事件組合(發生事件),並對發現的做進一步處理(處理髮生事件)。

通常的 CEP,實現方式如下:
在這裏插入圖片描述

大量的實時數據作爲事件源接入事件處理總線 , CEP引擎通過指定的規則,處理這些實時數據和緩存的歷史數據(緩存的目的是解決發現一些跨時間的事件,比如分析多次交易看是否可疑)。

如果根據規則,發現事件後,需要做進一步處理:

在這裏插入圖片描述

發現事件後, CEP調用相應的業務流程,比如啓動證券交易中違規交易的告警流程,然後結束 CEP的一個處理週期。

CEP不光是能夠及時發現事件,更重要的是,它具有邏輯推理,對下次事件發生能做一個較爲準確的預測。

綜上, CEP適合處理大量的、多個數據源的實時數據,並對這些實時數據做處理得出實時的結果。

發佈了33 篇原創文章 · 獲贊 6 · 訪問量 5704
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章