|
|

淺談串流資料 Stream Data 的即時分析應用

Trinity 數據整合研究室
最近台積電洩密案沸沸揚揚,由於其護國神山的角色,事件儼然上升到國安層級了。在資安議題上,外鬼總有對應之策 (縱使要花費極大代價不斷與之鬥法),但真正難防的其實是內鬼。內鬼都是合法使用者,極難對其業務行為做有效監控而不影響工作效率與其員工尊嚴。我們不知台積電如何鑑別出洩密者,但如果能實時分析員工讀取檔案的行為,抓出「頻繁接觸高於普通業務量的資料」、「連續快速調用大量資料 (開啟後幾分鐘關閉)」之類的行為模式,就很有可能及時識別出潛在的內鬼。

傳統 ETL 是批次處理,因此資料分析須由資料倉儲或資料池 (Data Pool) 中擷取資料,其分析應用也是週期性 (每日/週/月) 而非即時處理。如果企業需要做即時資料分析,例如上述抓內鬼的需求,就必須採用串流資料 (Stream Data) 技術,在資料管線 (Data Pipeline) 中直接完成資料擷取與分析。有關串流資料與資料管線的議題,Pro觀點專欄已有多篇文章闡述,本文主旨為介紹業界基於 Data Pipeline 的即時分析解決方案與應用。

Data Pipeline 即時分析解決方案

目前業界提供的解決方案有幾種:
  1. 即時分析:串流分析 (Streaming Analytics)
    泛指對資料流進行即時的運算與分析。
    著重於即時監測與分析,可用於網頁用戶使用行為、金融業務數據、工廠作業機台log、智慧電表等之監測預警 (Alert)、Dashboard與即時報表。
     
  2. 事件分析:事件流處理 (Event Stream Processing,ESP)
    強調針對「事件」(Event) 進行連續、低延遲的處理與分析。
    基本的事件驅動型處理,單純針對事件資料進行反應;強調連續事件資料流的即時分析,常用於網路安全、金融交易、IoT環境監控。
     
  3. 事件模式分析:複雜事件處理 (Complex Event Processing,CEP)
    進一步針對多種事件來源進行模式比對 (pattern detection)、關聯分析。
    用於即時資安與業務風險監控、詐欺偵測、IoT異常行為等較為複雜的即時分析、推論與決策。
     
原則上,在 pipeline 中需求「持續即時資料流處理」的模式,採用 Streaming Analytics;在 pipeline 中需求「事件偵測與觸發分析」的模式,強調事件導向者,採用 ESP,若強調多種事件之複雜邏輯進階比對、分析者,則採用 CEP。

Streaming Data 的資料分析示意圖如下。

Data Pipeline 即時分析應用

如同傳統的商業智慧 (BI,Business Intelligence) 與大數據分析 (Big Data Analytics),Data Pipeline 即時分析也是繽紛多樣,總之要盡量滿足商業的需求;但後者因為即時的特性,相較於前兩者偏向「總結」,其應用更加側重於預警與「觸發」。

以下列舉典型的Data Pipeline即時分析應用情境。
  • 智慧電網:Stream Data技術即時計算負載,CEP 即時異常偵測,精煉用電儲能需求等AI預測模型。
  • 客服中心:透過 API 接收客服訊息,AI NLP 模型即時分析客戶情緒,CEP 觸發 VIP 轉接流程。
  • 製造業:即時感測資料透過Stream Data技術計算特徵,CEP 偵測異常狀況,優化預警式維護預測AI模型。
  • 疫苗接種:API 即時接收接種資料,Stream Data技術即時計算速率,CEP 發出警示,整合於預測未來需求AI模型。
  • 金融業:使用Stream Data技術處理交易資料,CEP 偵測詐欺模式, 強化防詐AI風險模型即時阻擋可疑交易。
  • 電信業:即時分析用戶流量,透過客戶留存AI模型,CEP 自動推送優惠訊息。
  • 物流業:GPS 資料經 Stream Data技術即時計算路徑,強化學習AI模型重排最佳路線,透過 API 通知司機。
  • 醫療業:IoT 即時病房感測,CEP 偵測重症病患,並導入於即時病床需求預測AI模型並通知系統。