由于微機電技術的發展,使得微小的感測器也能具有無線通訊的能力。相關的應用常是為了收集不同或高量的資料而布建大規模的感測器,例如將數萬的感測器散布于森林中作為火災的判定;或將感測器節點布建在房屋中做為人體健康的監測。在WSAN (Wireless Sensor Area Network)環境中,為數眾多的感測節點所產生出的大量事件,必定會讓整個系統效能有所延遲,并且如何有效管理這些事件,能更有效的快速產生回應,已成為重要的議題。
事件驅動架構
毫無疑問地,不論個人或組織,每天都不斷面臨到新事件的發生與其采取的對策,這個過程即所謂的事件驅動,而事件驅動架構,則是根據自身的能力與經驗值,去反應這個世界上任何一個對他們所造成的機會或威脅。以非洲草原上的羚羊為例,每天運用他們的感官去感知去覓食,同時依其感應避開可能有獅子危險地帶。
近年來服務導向架構已無法滿足日益復雜的IT系統流程活動,處理的單元從服務流程演進到以事件為基礎的架構。事件驅動架構(Event-Driven Architecture, EDA)因此應運而生。一個事件可以看作是在一個系統中可觀察到的狀態改變。例如下一筆訂單、RFID感測器回報的訊息。在事件驅動架構中包含了兩個部份,事件產生者、事件消費者。事件產生者發布訊息給管理者,而事件消費者則向管理者訂閱訊息,事件則觸發了下一個事件或是服務(services),當某個事件發生時,系統及做出相對應的動作。
事件驅動架構主要的目的,即在于IT系統如何能針對威脅和機會種種事件,在很短的時間內立即做出反應。所以在整個事件驅動架構來說主要的特性可以分為三項:感知、分析、反應。當某一個事件產生即觸發下一個事件。事件驅動架構不僅可以依訊息發送端決定目的,更可以動態依據訊息內容決定后續流程。更能靈活符合日益復雜的商業邏輯架構。
圖1、感知分析反應循環圖
復雜事件最早是由史丹佛大學的David Luckham教授與Brian Frasca教授于1998年發表的一篇論文Complex Event Processing in Distributed Systems當中所提出。主要的概念即是在事件驅動架構下,根據簡單事件、事件串流處理(Event Streaming Processing)以及復雜事件(Complex Event)以上這些概念融合而成。以目的從事件云(Event Cloud)中找出有意義的事件,使得IT架構可以更能彈性使用事件驅動架構,并且能使企業更能快速的開發出更復雜的邏輯架構。
復雜事件處理中,結合簡單事件、事件串流處理(Event Streaming Processing)以及復合事件(Complex Event)。如圖2所示,相較于簡單事件,復雜事件處理不僅處理單一的事件,也處理由多個事件所組成的復合事件。復雜事件處理監測分析事件流(Event streaming),當特定事件發生時去觸發某些動作。
圖2、復雜事件階層概念圖
在復雜事件處理中,為了要達到高吞吐量(throughput)、高度利用性(Availability)、以及低度延遲(Latency),讓企業能夠達到即時決策。因此在處理事件的方式上采用事件處理語言(Event Processing Language:EPL )為一SQL-Like的語言。此種語言透過時間或以視窗( Window:事件串流的一部分)來擴展原本的SQL語言,使得此種語言可以存取目前或是過去歷史的狀態資訊,方便地對事件串流提供復雜的邏輯處理,使事件串流在記憶體中做模式比對處理以及查詢。這些過程中,都在記憶體內進行,不須經由存取像是硬碟的儲存裝置的方式,減少I/O,降低傳統資料庫管理系統對儲存裝置的依賴所造成的延遲。讓復雜事件處理展現對大量從事件云里所形成的事件串流有著高度的處理效能。
更快地做出相對應的動作
《三國志•魏書•郭嘉傳》:兵貴神速。我們不禁要問,當前IT的軟體技術要如何處理這些資訊來達到我們所想要的即時效果?十年前也許我們只需要應付DOS系統所產生的簡單事件,十年后的今天資訊科技的事件不但在各種個人裝置上,同時也在各個供應商方面大量產生。為了達到即時的需求應付這樣大量的事件。以往企業使用資料探勘,資料倉儲等等技術來建立所謂的商業智慧,現在復雜事件處理采用了事件串流處理(Event Stream Processing)的技巧。本來將資料處理要經由固定的儲存媒體,事件串流處理將事件處理通通移到記憶體中做處理來提供商業智慧真正即時的決策支援。
圖3、事件串流處理比較圖 圖4、串流事件處理圖
圖5、應用復雜事件架構之處理引擎范例
短距離的無線區域感測網路(Wireless Sensor Area Network)逐漸成為目前熱門的無線通訊應用市場。 WSAN指在特定空間或區域下散布的無線感測控制節點所組成的網路。過去的應用當中,并無大量傳輸資料的需求且常用實體線路來布建。近年來由于無線區域感測網路發展漸趨成熟而所需的無線設備,有著價格低廉,體積小巧,所需電力極少。 WSAN可以在許多資料不方便使用實體線路作為傳輸的環境中,達到低廉且低耗能的方式使用無線網路傳輸替代實體線路,來完成更多樣性的應用。如國土安全監測、智慧型居住空間等等。
過往使用感測器的環境下,使用感測器的種類較少,只需要做簡單的處理即可。隨著無線網路在感測器方面的發展,大量且大規模的異種感測器常需整合在一個區域網路中。由于需要整合多種不同的資料流來做監督、分析,將使系統邏輯變的更復雜,且大量的存取資料庫,整體效能也會有所降低。但使用復雜事件架構進行監測、分析等處理,則可讓原本都是各自獨立的資料產生新的關聯性,并觸發新的動作來應對。
WSAN的基本功能為控制、監督、及追蹤并且多為環境型的固定應用。未來將會有更多在商業市場上的需求,例如火警偵測、大樓照明自動化、智慧型住宅、交通流量控制管理等等。相對地來說,如何能在這些應用當中,做出更快的反應、執行更復雜的邏輯,將成為未來在無線感測網路當中的一大議題。復雜事件處理以事件驅動架構為基礎,使用事件串流在記憶體內做處理,較以往要從資料庫中取出資料再進行運算后回存回資料庫,再由系統或訂閱資訊者取出資料更能節省時間,開發者只要編寫EPL就能執行復雜的邏輯去對事件流做運算。大大簡化開發流程。
最后,開放地理聯合組織(Open Geospatial Consortium)發展一系列有關感測器的Web規范(Sensor Web Enablement),目的是使得應用程式和服務可以透過同一個平臺來存取所有類型的感測器。未來使用此一平臺,感測器廠商若是未來能在此一平臺使用復雜事件處理作為分析各種感測器的資料。也許在國土安全的議題上能夠獲得更有效率的分析。進而避免許多天然災害所造成的損失。