複合事件處理

複合事件處理

複合事件處理可看作一種處理串流(Streaming)的資料庫處理。在關係資料庫中所處理的資料是有許多行(Row)的數據表(table),複合事件處理將事件串流當作是數據表來處理,事件類型里的屬性相當於數據表的欄位。對於政府和企業來講,處理包含海量信息、圖片的龐大數據,已是例行公事。但現在,這一模式正在發生變化。以高吞吐量、高利用性、低延遲度為目標的複合事件處理,能夠不僅僅處理單一的事件,也處理由多個事件所組成的複合事件。相較於以往簡單事件,複合事件處理監測分析事件流(Event streaming),當特定事件發生時才去觸發某些動作。

基本介紹

  • 中文名:複合事件處理
  • 外文名:Event streaming
  • 類別:事件處理方法
  • 架構事件驅動架構
簡介,概念,意義,套用,

簡介

近年來,面向服務架構 SOA一直是熱門的議題。面向服務架構SOA 使用了比組件、程式(procedure)層次更高的服務做為處理單元,通過開放格式交換標準例如XML、Web Service 來交換數據,避免不同平台間的差異帶來的不便,達到在異構IT 環境中有效且彈性的組合企業邏輯,並且更快速的產生回響,期望達到所謂實時化的企業。
事件驅動架構(Event-Driven Architecture, EDA)以面向服務架構為基礎,將面向服務中的服務進一步轉化成以事件作為單位來處理,當某一個事件產生即觸發下一個事件。事件驅動架構不僅可以依訊息傳送端決定目的,更可以動態依據訊息內容決定後續流程。更能靈活符合日益複雜的商業邏輯架構。
一個事件可以看作是在一個系統中可觀察到的狀態改變。例如下一筆訂單、RFID 感測器回報的信息。在事件驅動架構中包含了兩個部份,事件產生者、事件消費者。事件產生者發布信息給管理者,而事件消費者則向管理者訂閱信息,事件則觸發了下一個事件或是服務(services),當某個事件發生時,系統及做出相對應的動作。

概念

簡單事件處理(Simple event processing) :簡單事件處理可看作是訊息導向處理的架構,主要處理單一事件,其中事件則定義為可直接觀察到的改變。在這個架構中,簡單事件處理只做兩件事情,過濾(filtering)和路由(routing) 。過濾功能決定事件是否應該被傳送出去,路由則決定事件應該傳給誰。例如,溫度感測器感測到了某個時間變化,就把事件發生直接透過事件處理引擎傳給訂閱者,一切的工作流程都是實時的。如此一來,使用者將大大的減少了時間跟成本。
複合事件處理(Complex event processing):複合事件是由史丹佛大學的David Luckham 與Brian Fraseca 所提出,David Luckham 與Brian Fraseca 於1990年提出複合事件架構,使用模式比對、事件的相互關係、事件間的聚合關係,目的從事件雲(event cloud)中找出有意義的事件,使得IT 架構可以更能彈性使用事件驅動架構,並且能使企業更能快速的開發出更複雜的邏輯架構。在事件驅動架構下,結合簡單事件、事件串流處理(Event streaming processing)以及複合事件(Complex event)。相較於簡單事件,複雜事件處理不僅處理單一的事件,也處理由多個事件所組成的複合事件。複雜事件處理監測分析事件流(Event streaming),當特定事件發生時去觸發某些動作。
複雜事件處理可看作處理串流的資料庫處理複雜事件處理可看作處理串流的資料庫處理
在關係資料庫中所處理的資料是有許多行(Row)的數據表(table),複雜事件處理將事件串流當作是數據表來處理,事件類型里的屬性相當於數據表的欄位。以往使用關聯式資料庫的時候是將數據先存入關係型資料庫後,再用SQL 語法將資料庫里的數據表做處理。使用複雜事件處理則把處理數據的過程往前,不用通過保存的動作就在串流中將事件做處理。因此在處理事件的方式上採用SQL-Like 的語言。複雜事件處理中除了過濾和路由之外,還有模式比對的能力。找出事件集合的各種活動,事件聚合,過去歷史中的各種因果關係,邏輯以及運算等等,觸發新的事件反應。在複雜事件處理中,為了要達到高吞吐量(throughput)、高度利用性(availability)、以及低度延遲(latency),讓企業能夠達到實時決策,因此使用事件串流處理(event streamprocessing)。使用EPL(Event Processing Language)為SQL-LIKE 的語言,可以方便的對事件串流提供複雜的邏輯處理,使事件串流在記憶體中做模式比對處理,及查詢的動作。這些過程中,都在記憶體內進行,不須經由儲存裝置。

意義

關於“複合事件”的概念,史丹佛大學的戴維·盧克漢姆與布萊恩·弗萊瑟卡早在上世紀90年代就已提出,在理論的架構中,使用模式比對、事件的相互關係、事件間的聚合關係,目的則是從事件雲(eventcloud)中找出有意義的事件,以便更加彈性使用事件驅動架構,並使企業或政府快速的開發出較複雜的架構。
StreamInsight提供了複雜事件處理的功能。StreamInsight提供了複雜事件處理的功能。
以往,使用關聯式資料庫時,先將數據存入關係型資料庫,再用某些語法將資料庫里的數據表做處理;而像提供符合事件處理的StreamBase公司和Tibco公司,則再把處理數據的過程提前,不用通過保存的動作,就在串流中將事件做處理。因此採用的語言也不同。
證劵交易、恐怖活動監視、可疑信用卡停用等等,運用複合事件處理的項目不一而足,而該方式的另一個優點就是模式比對的能力——找出事件中各集合的活動、歷史事件中的因果關係、邏輯運算等等,觸發新的事件反應,讓企業或政府能夠達到實時決策。而這些對比查詢過程,都在記憶體內進行,不須經由儲存裝置

套用

IT領域的複合事件處理(Complex Event Processing,CEP)
這是一個IT事件爆發的時代,各種IT系統之間或系統內部,每天產生大量事件。系統在關鍵點打日誌、系統之間交流信息,都是事件。但我們對這些事件往往視而不見,當成垃圾一股腦兒全扔了。其實只要處理得當,垃圾也可以變成資源。
大致上,CEP可以幫助我們:
  • 了解趨勢
  • 發現機會
  • 避免威脅
業界普遍將CEP套用在:
  • 商業活動監控(BAM)
  • 發掘民眾智慧型
  • 避免網路攻擊
  • 預防金融犯罪
  • 實施系統動態校驗
  • 其他……
支付寶大量使用CEP用於防止犯罪(如網路詐欺、網路攻擊、洗錢)和資金損失,並了解各種業務的現狀、協助行銷。支付寶使用外部廠商的CEP系統,也自行開發CEP系統。

相關詞條

熱門詞條

聯絡我們