TWI623881B - 事件串流處理系統、方法與機器可讀記憶體 - Google Patents

事件串流處理系統、方法與機器可讀記憶體 Download PDF

Info

Publication number
TWI623881B
TWI623881B TW102146146A TW102146146A TWI623881B TW I623881 B TWI623881 B TW I623881B TW 102146146 A TW102146146 A TW 102146146A TW 102146146 A TW102146146 A TW 102146146A TW I623881 B TWI623881 B TW I623881B
Authority
TW
Taiwan
Prior art keywords
event
group
gateway device
events
stream processing
Prior art date
Application number
TW102146146A
Other languages
English (en)
Other versions
TW201523450A (zh
Inventor
林谷原
王秉豐
周澤民
Original Assignee
財團法人資訊工業策進會
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 財團法人資訊工業策進會 filed Critical 財團法人資訊工業策進會
Priority to TW102146146A priority Critical patent/TWI623881B/zh
Priority to CN201410035203.4A priority patent/CN104717272A/zh
Priority to US14/230,447 priority patent/US20150169724A1/en
Publication of TW201523450A publication Critical patent/TW201523450A/zh
Application granted granted Critical
Publication of TWI623881B publication Critical patent/TWI623881B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本發明提供一種事件串流處理系統,包括閘道裝置與擴充模組。閘道裝置包括事件處理引擎,擴充模組包括擴充處理器。事件處理引擎包括事件分群器、收集擷取器、處理器及事件產生器。事件處理引擎將符合條件規則之事件串流的多個事件進行處理。事件分群器將符合條件規則之事件串流進行分群。收集擷取器耦接於事件分群器,用以從事件中儲存第一群組事件。處理器耦接於事件分群器,用以處理第二群組事件。事件產生器將第一群組事件之第一處理結果與第二群組事件之第二處理結果整合並產生衍生事件。擴充處理器計算第一群組事件並產生第一處理結果。

Description

事件串流處理系統、方法與機器可讀記憶體
本發明係關於一種資料串流處理,且特別是關於一種事件串流處理系統、方法以及機器可讀記憶體。
事件驅動運算架構(Event-Driven Architecture,EDA)近幾年逐漸受到重視。所謂事件(Event)指的是企業組織受到環境或內部的影響,造成數量的改變,其呈現的方法是用訊息來記錄改變的狀態。事件驅動(Event-Driven)的應用系統區分為四大類,包括簡單事件(Simple Events)、代收事件處理(Brokered Event Processing)、業務流程管理加強應用(Business Process Management(BPM)-Enabled Applications)與複合事件處理(Complex Event Processing,CEP)。
複合事件處理是目前最具發展性的架構,不同於前述其他三種事件驅動的應用系統,複合事件處理是一個集中式/分散式的事件管理系統,其處理步驟分成三個階段。首先過濾掉不重要的事件,然後將事件歸類整理成更複雜的事件,最後根據事先設定的規則對這些事件產生對映的回應(Response)。然而,無論是在複合事件處理還是其他的事件處理都非常重視時間的有效性。
傳統的資料偵測分析方式係將即時串流資料先儲存至資料庫中。接著,再經由處理器偵測/分析事件,進而通知使用者需處理之事件。然而,是在傳統的資料偵測分析方式須先由資料庫中取 出並過濾,將耗費較多的時間或錯失及時反映商務的時機。另外,傳統的資料偵測分析方式將事件傳送至伺服器上進行計算,因此大量的網路頻寬會被占用,若網路頻寬不足,則將可能造成事件的處理速度下降。
本發明實施例提供一種事件串流處理系統,且事件串流處理系統包括閘道裝置與擴充模組。閘道裝置包括事件處理引擎,而擴充模組包括擴充處理器。事件處理引擎包括事件分群器、收集擷取器、處理器及事件產生器。事件處理引擎將符合條件規則之事件串流的多個事件進行處理。事件分群器將符合條件規則之事件進行分群。收集擷取器耦接於事件分群器,用以從事件中儲存第一群組事件。處理器耦接於事件分群器,用以處理第二群組事件。事件產生器將第一群組事件之第一處理結果與第二群組事件之第二處理結果整合並產生衍生事件。擴充處理器計算第一群組事件並產生第一處理結果。
本發明實施例提供一種事件串流處理方法,適用於事件串流處理系統。事件串流處理系統具有閘道裝置與擴充模組,事件串流處理方法包括以下步驟。首先,閘道裝置篩選出符合條件規則之事件串流的多個事件並進行分群。接著,閘道裝置將第一群組事件傳送到擴充模組進行計算,並且將第二群組事件在閘道裝置中進行計算。隨後,擴充模組產生第一處理結果回傳給閘道裝置。最後,閘道裝置將第一群組事件之第一處理結果與第二群組事件之第二處理結果整合產生衍生事件。
本發明實施例提供一種機器可讀記憶體,儲存用以實現事件串流處理的程式碼。所述程式碼可被閘道裝置與擴充模組執行,如下步驟。首先,在閘道裝置中篩選出符合條件規則之事件串流的多個事件並進行分群。接著,閘道裝置將第一群組事件傳送到 擴充模組進行計算,並且將第二群組事件在閘道裝置中進行計算。隨後,擴充模組產生第一處理結果回傳給閘道裝置。最後,閘道裝置將第一群組事件之第一處理結果與第二群組事件之第二處理結果整合產生衍生事件。
綜上所述,透過本發明實施例之事件串流處理系統、方法及機器可讀記憶體,讓受限於硬體效能及運算處理能力的閘道裝置能夠藉由外部的擴充模組協助處理大量資料與運算複雜的處理程序。再者,透過擴充模組,可依使用者之需求設定所需之定義函式,並且在擴充模組與閘道裝置之間透過通用的通訊方式及資料格式的跨平台整合方式,有效增加事件串流處理的靈活性。值得一提的是,藉由本發明實施例由閘道裝置對事件串流的事件進行即時處理的方式,閘道裝置僅會將須進行處理之事件傳送至其連接的擴充模組進行運算,故能夠有效節省網路頻寬。
為使能更進一步瞭解本發明之特徵及技術內容,請參閱以下有關本發明之詳細說明與附圖,但是此等說明與所附圖式僅係用來說明本發明,而非對本發明的權利範圍作任何的限制。
11‧‧‧事件串流
13‧‧‧使用者
14‧‧‧資料庫
15‧‧‧衍生事件
2、4、5‧‧‧事件串流處理系統
20、40、50‧‧‧閘道裝置
201、401‧‧‧篩選器
12、202、402‧‧‧事件處理引擎
203、211、403、411、511‧‧‧傳輸單元
2021、4021‧‧‧事件分群器
2022、4022‧‧‧收集擷取器
2023、4023‧‧‧處理器
2024、4024‧‧‧事件產生器
2024a、4024a‧‧‧事件整合單元
2022a、2024b、4022a、4022b、4022c、4024b‧‧‧暫存單元
21、41、51‧‧‧擴充模組
212、512‧‧‧格式轉換單元
213、413、513‧‧‧事件分析器
213a、413a、513a‧‧‧暫存單元
214、414、514‧‧‧擴充處理器
S101~104、S201~S220‧‧‧步驟流程
圖1為本發明實施例之事件串流處理系統或方法進行事件串流處理流程的示意圖。
圖2為本發明實施例之事件串流處理系統之閘道裝置的細部方塊圖。
圖3為本發明實施例之事件串流處理系統之擴充模組的細部方塊圖。
圖4為本發明另一實施例之事件串流處理系統之閘道裝置的細部方塊圖。
圖5為本發明另一實施例之事件串流處理系統之擴充模組的細部方塊圖。
圖6為本發明再一實施例之事件串流處理系統之擴充模組的細部方塊圖。
圖7為本發明實施例之事件串流處理方法流程圖。
圖8-1至8-3為本發明實施例之事件串流處理方法之詳細流程圖。
在下文將參看隨附圖式更充分地描述各種例示性實施例,在隨附圖式中展示一些例示性實施例。然而,本發明概念可能以許多不同形式來體現,且不應解釋為限於本文中所闡述之例示性實施例。確切而言,提供此等例示性實施例使得本發明將為詳盡且完整,且將向熟習此項技術者充分傳達本發明概念的範疇。在諸圖式中,可為了清楚而誇示層及區之大小及相對大小。類似數字始終指示類似元件。
應理解,雖然本文中可能使用術語第一、第二、第三等來描述各種元件,但此等元件不應受此等術語限制。此等術語乃用以區分一元件與另一元件。因此,下文論述之第一元件可稱為第二元件而不偏離本發明概念之教示。如本文中所使用,術語「或」視實際情況可能包括相關聯之列出項目中之任一者或者多者之所有組合。
在智慧聯網的發展下,事件串流會透過閘道裝置傳送至伺服器。若要減輕伺服器處理事件串流的負載,則可以選擇使用閘道裝置對事件串流的部份或全部進行即時運算。然而,閘道裝置的運算能力有限,並無法進行複雜的運算。因此,本發明實施例提供一種事件串流處理系統,其透過閘道裝置與連接閘道裝置的擴充模組的合作來對事件串流進行即時處理,以藉此有效節省網路頻寬,並提升事件串流的處理速度。
請參閱圖1,圖1為本發明實施例之事件串流處理系統或方法 進行事件串流處理流程的示意圖。有別於傳統的資料串流處理偵測分析方式,本發明實施例之事件串流處理系統或方法將事件串流11直接透過事件處理引擎12進行事件偵測/分析,並將處理後之即時事件通知使用者13或者將一般事件儲存至資料庫14中。也就是說,本發明實施例之事件串流處理系統或方法能夠對事件串流的事件作即時處理,而不須將事件串流的所有事件的資料先儲存於資料庫14中,再從資料庫14中取出並過濾事件串流之事件的資料,故可以有效提升事件串流的即時運算之需求。後續將進一步細部說明本發明之事件串流處理系統、方法及機器可讀記憶體。
請參閱圖2,圖2為本發明實施例之事件串流處理系統之閘道裝置的細部方塊圖。圖2中之事件串流系統2包括閘道裝置20以及擴充模組21。閘道裝置20包括事件處理引擎202以及傳輸單元203。事件處理引擎202包括篩選器201、事件分群器2021、收集擷取器2022、處理器2023、事件產生器2024。收集擷取器2022包括暫存單元2022a,事件產生器2024包括事件整合單元2024a以及暫存單元2024b。閘道裝置20耦接於擴充模組21。事件處理引擎202耦接於傳輸單元203。篩選器201耦接於事件分群器2021,收集擷取器2022與處理器2023耦接於事件分群器2021,且收集擷取器2022與處理器2023耦接於事件產生器2024。
閘道裝置20可以是閘道器(Gateway)、路由器(Router)、Wi-fi接入點(Wi-fi Access Point,Wi-fi AP)、交換機(Switch)或其他網路轉發中繼點。閘道裝置20用以連線區域網路或互聯網(Internet),例如在家庭中或小型企業網路中之區域網路。閘道裝置20更具有在系統之間的協定轉換、阻抗匹配、速率轉換、故障隔離或信號轉換之功能。在本發明實施例中,閘道裝置20之事件處理引擎202接收具有一連串事件的事件串流11,並經由篩選器201將事件串流中符合條件規則的多個事件進一步傳送至事件分群器2021進行 處理,其中每一個事件對應地具有至少一筆以上的資料。值得一提的是,條件規則係由使用者自行定義,如關聯(Association)、聚合(Aggregation)或組合(composition)等的邏輯方式,且本發明不以上述所舉例的邏輯方式為限。
當使用者將符合條件規則的事件串流的多個事件篩選出後,閘道裝置20則進一步將符合條件規則的事件串流的多個事件透過事件處理引擎202之事件分群器2021進行處理,以將所述一連串的事件串流分為第一群組事件與第二群組事件。擴充模組21用以處理第一群組事件並對應地產生第一處理結果,並且將第一處理結果回傳給閘道裝置20。閘道裝置20接著將第一群組事件之第一處理結果與第二群組事件之第二處理結果整合,並產生衍生事件。
以下介紹事件處理引擎202的其中一種實現方式,然而,本發明並不限制於此。事件處理引擎202包括篩選器201、事件分群器2021、收集擷取器2022、處理器2023以及事件產生器2024。
經由篩選器201篩選出之事件串流的多個事件將經由事件分群器2021進行分群。事件分群器2021可包含適當的電路、邏輯和/或編碼,用以依照事件串流所需運算之複雜度、資料量、時間間隔等分組條件將事件串流中的多個事件分成不同的事件群組。舉例來說而牽扯較長的歷史資料(數個禮拜、數個月)、數據的預估與模型校正等此類資料的事件須使用矩陣運算等較大運算量之運算可被事件分群器2021歸類為大量資料運算的事件群組,亦即此類的事件為第一群組事件;牽扯一般的即時數值平均、差值等計算的事件可被事件分群器2021歸類為小量資料運算的事件群組,亦即此類的事件為第二群組事件。接著,經由事件分群器2021依據依照運算量的不同對事件串流的多個事件進行分群後,分群後的多個事件將進一步分別傳送至收集擷取器2022以及處理器2023進行後續處理。值得一提的是,在事件分群器2021將事件串流的多個事件進行分群時,事件分群器2021對事件串流中的多個 事件嵌入資料識別。資料識別用以在後續處理中依照資料識別判別多個事件計算之結果的順序。
處理器2023可包含適當的電路、邏輯和/或編碼,用於處理由事件分群器2021分群之較小運算量之事件群組的多個事件,以產生對應多個事件的處理結果並傳送至事件產生器2024以進行後續處理。
收集擷取器2022可包含適當的電路、邏輯和/或編碼。收集擷取器2022具有暫存單元2022a,當事件分群器2021將須進行較大運算量之事件分群後,對應的多個事件(多個第一群組事件)會被傳送至收集擷取器2022,並將所述多個事件儲存於暫存單元2022a中。更仔細地說,收集擷取器2022根據使用者自定義的預設參考值與多個事件的變化量判斷暫存單元2022a儲存的多個事件是否應傳送至擴充模組21進行處理。預設參考值可以為預設數值變化量或預設事件到達率,變化量可以是目前事件與前一個事件之間的數值變化量或者是事件到達率。
舉例來說,收集擷取器2022判斷是否將暫存單元2022a儲存的多個事件傳送至擴充模組21進行處理係依據下述公式:|事件i+1-事件i|>k×STD,其中k為實數(例如為0.1),事件i+1與事件i分別為第(i+1)事件與第i個事件的資料筆數,而STD表示其中一個事件群組的資料筆數。換言之,|事件i+1-事件i|為目前事件與前一個事件之間的數值變化量,而k×STD則為預設數值變化量。
再舉一例來說,擴充模組21可以預設事件到達率,且收集擷取器2022依據所述多個事件的事件到達率是否等於或大於事件到達率來判斷是否將暫存單元2022a儲存的多個事件傳送至擴充模組21進行處理。例如,預設事件到達率為每五分鐘有10筆事件到達,則當收集擷取器2022在五分鐘內收到10筆事件,則其會將暫存單元2022a儲存的多個事件傳送至擴充模組21進行處理1。
值得一提的是,收集擷取器2022將儲存的多個事件的資料進行特徵擷取並產生特徵向量與殘存資料,例如小波轉換(Wavelet Transformation)、傅立葉轉換(Fourier Transformation)或離散餘弦轉換(Discrete Cosine Transformation)等在數值分析領域常用之數值轉換,但本發明並不限制於頻域中取得與產生所述多個事件的資料之特徵向量。所述多個事件的資料透過收集擷取器2022將對其資料進行轉換並傳送特徵向量與殘留資料的方式能夠有效降低資料的傳輸量,故可用以在傳輸至擴充模組21時減少資料量的傳輸。在本發明實施例中,收集擷取器2022可選擇是否進行數值轉換,亦可直接將事件資料傳輸至擴充模組21後再進行特徵擷取,總而言之,本發明並不以此作為限制。另外,收集擷取器2022更可將暫存單元2022a中儲存的多個事件嵌入時間標籤,用以提供後續處理時檢查所述多個事件之時效性。舉例來說,當收集擷取器2022欲傳送某一個事件的資料至擴充模組21時,收集擷取器2022會進一步檢查事件的時間標籤是否失效,若失效則收集擷取器2022從暫存單元2022a中清除對應之事件的資料,並傳送事件失效資訊至事件產生器2024。
事件產生器2024可包含適當的電路、邏輯和/或編碼。事件產生器2024具有事件整合單元2024a以及暫存單元2024b。用以將群組事件的處理結果進行整合並產生衍生事件15。仔細地說,處理器2023產生事件處理結果並傳送至事件產生器2024後,事件產生器2024將其儲存至暫存單元2024b中,以等待其他群組事件的事件處理結果或事件失效資訊。同樣地,收集擷取器2022檢查多個事件之資料中的時間標籤失效時所傳送至事件產生器2024之事件失效資訊亦儲存於暫存單元2024b中。隨後,事件產生器2024透過事件整合單元2024a將每一事件串流之多個事件的事件處理結果或事件失效資訊依照資料識別進行整合,並據此產生衍生事件15給使用者進行通知或儲存於資料庫。
傳輸單元203可為有線模式或無線模式之方式實施。有線模式的實施可以透過數據導線(Ethernet cable)、通用序列匯流排(USB)通訊界面或其他有線之傳輸介面來實現;而無線模式的實施可以透過藍芽無線通訊模組或第三代行動通訊模組來實現。本發明僅以此做為說明,並不以此做為限制。
接著,請同時參閱圖2與圖3,圖3為本發明實施例之事件串流處理系統之擴充模組的細部方塊圖。在圖3之事件串流處理系統2包括閘道裝置20以及擴充模組21。擴充模組21包括傳輸單元211、格式轉換單元212、事件分析器213以及擴充處理器214。事件分析器213更包括暫存單元213a。擴充模組21耦接於閘道裝置20。格式轉換單元212耦接於傳輸單元211,事件分析器213耦接於格式轉換單元212,擴充處理器214耦接於事件分析器213與格式轉換單元212。
擴充模組21可以是伺服器、個人電腦或任何具運算能力之裝置。在閘道裝置20普遍為運算能力較差的網路轉發中繼點來說,擴充模組21用以提供閘道裝置20額外的處理能力,將閘道裝置20收到較複雜的群組事件進一步進行計算。
在本發明實施例中,擴充模組21之傳輸單元211對應閘道裝置20中之傳輸單元203。也就是說,當閘道裝置20可以有線模式與擴充模組21進行傳輸,或者以無線模式與擴充模組21進行傳輸。舉例來說,當閘道裝置20之傳輸單元203為USB通訊界面時,可以使用USB通訊界面的傳輸單元211,以使擴充模組21與閘道裝置20進行連接;或者當閘道裝置20之傳輸單元203以無線通訊模組來實施時,可以同樣為無線通訊模組的傳輸單元211,以使擴充模組21與閘道裝置20得以進行無線傳輸而彼此連接。
格式轉換單元212可包含適當的電路、邏輯或/和代碼。當擴充模組21透過傳輸單元211接收來自收集擷取器2022所傳送之群組事件,格式轉換單元212可將群組事件進行格式轉換並產生 待處理事件。舉例來說,閘道裝置20為JAVA語言之系統,而擴充模組21為C語言之系統,格式轉換單元212可將來自閘道裝置20的JAVA語言之群組事件轉換成C語言之待處理事件,並傳送至事件分析器213以進行後續處理程序。簡單來說,格式轉換單元212用於在閘道裝置20與擴充模組21之間進行不同的格式轉換。
事件分析器213可包含適當的電路、邏輯或/和代碼。事件分析器213包括暫存器213a,用以儲存經由格式轉換後之待處理事件。在接收格式轉換之後,事件分析器213進一步檢查所儲存之轉換成待處理事件中之資料之時間標籤是否失效。若時間標籤失效,則將失效之待處理事件的資料清除並產生事件失效資訊,接著經由格式轉換單元212回傳閘道裝置20中的事件產生器2024。若時間標籤還在時效內,則進一步傳送至擴充處理器214進行後續處理。值得一提的是,使用者可透過事件分析器213設定預設參考值以使閘道裝置20中之收集擷取器2022提供運算所需之群組事件。
擴充處理器214可包含適當的電路、邏輯或/和代碼。擴充處理器214用於處理較大運算量之群組事件,並產生事件處理結果。接著經由格式轉換單元212回傳閘道裝置20中的事件產生器2024。
透過本發明實施例所提出之事件串流處理系統能夠將原本硬體架構受限制所造成無法執行大量資料或複雜度高的閘道裝置進一步擴充。透過擴充模組額外處理運算較複雜之事件,並支援使用者之需求而能擴充不同的功能函式。提升於閘道器上事件串流處理的靈活性與即時性。
請參閱圖4,圖4為本發明另一實施例之事件串流處理系統之閘道裝置的細部方塊圖。圖4中之事件串流系統4包括閘道裝置40以及擴充模組41。閘道裝置40包括事件處理引擎402以及傳 輸單元403。事件處理引擎402包括篩選器401、事件分群器4021、收集擷取器4022、處理器4023、事件產生器4024。收集擷取器4022包括暫存單元4022a、4022b及4022c,事件產生器4024包括事件整合單元4024a以及暫存單元4024b。圖4之事件串流處理系統4中所包含之元件與圖2之事件串流處理系統2大致相同,其差異在於,閘道裝置40所具有之收集擷取器4022包括多個暫存單元4022a、4022b與4022c。舉例來說,當事件分群器4021將較大運算量之事件群組資料分群後傳送至收集擷取器4022後,可進一步細分為不同的子群組事件,並將子群組事件儲存於不同的暫存單元4022a、4022b與4022c。舉例來說,經由分群後之較大運算量事件可依照不同的計算目標再次進行分群,例如可細分為用電量資訊事件、濕溫度統計事件或等等不同計算目標之事件。另外,對應收集擷取器4022中的暫存單元4022a、4022b與4022c,更可以多個擴充模組(圖未示)同時耦接於閘道裝置40,並用以分別處理不同的子群組事件。也就是說,在本發明實施例中可同時進行多種不同的事件處理。在後續的發明實施例說明中,雖以單一個擴充模組作為說明,但並不以此為限制。
請參閱圖5,圖5為本發明另一實施例之事件串流處理系統之擴充模組的細部方塊圖。圖5中之事件串流處理系統4包括閘道裝置40以及擴充模組41。擴充模組41包括傳輸單元411、事件分析器413以及擴充處理器414。事件分析器413更包括暫存單元413a。擴充模組41耦接於閘道裝置40。事件分析器413耦接於傳輸單元411,擴充處理器414耦接於事件分析器413。圖5之擴充模組41與圖3之擴充模組21的差異僅在於,擴充模組41不具有格式轉換單元。也就是說,擴充模組41可以直接以與閘道裝置40相同之資料格式語言作為實施方式。
請參閱圖6,圖6為本發明再一實施例之事件串流處理系統之擴充模組的細部方塊圖。圖6中之事件串流處理系統5包括閘道 裝置50以及擴充模組51。擴充模組51包括傳輸單元511、事件分析器513以及擴充處理器514。事件分析器513更包括暫存單元513a與格式轉換單元512。擴充模組51耦接於閘道裝置50。事件分析器513耦接於傳輸單元511,擴充處理器514耦接於事件分析器513。圖6之擴充模組51與圖3之擴充模組21的差異在於,格式轉換單元512可以設置於事件分析器513中,而圖3的各元件之作用與圖3各元件的作用相同,於此不再贅述。
在說明完本發明之事件串流處理系統後,後續將進一步說明本發明實施例之事件串流處理方法於閘道裝置與擴充模組之間運作的步驟流程。
請參閱圖7,圖7為本發明實施例之事件串流處理方法流程圖。事件串流處理方法包括以下步驟:步驟S101,將事件串流的多個事件進行分群;步驟S102,將第一群組事件傳送至擴充模組進行計算;步驟S103,將第二群組事件在閘道裝置中進行計算;步驟S104,將第一群組事件計算後之處理結果與第二群組事件計算後之處理結果整合,並產生衍生事件。
在本發明實施例之事件串流處理方法,其主要透過閘道裝置先將篩選後符合條件規則之事件串流的多個事件進行分群的動作。接著,將計算較複雜或資料量較大之事件歸類為第一群組事件並傳送至擴充模組以進行計算。同時,將計算較簡單或資料量較小之事件歸類為第二群組事件並直接於閘道裝置中進行計算。最後,將傳送至擴充模組處理第一群組事件之處理結果與閘道裝置中處理第二群組事件之處理結果整合產生衍生事件,以進行後續通知使用者或資料庫儲存之動作。
接著請同時參閱圖2、圖8-1至8-3,圖8-1至8-3為本發明實施例之事件串流處理方法之詳細流程圖。在步驟S201中,閘道裝置20接收具有一連串事件的事件串流11,並經由篩選器201將符合條件規則的多個事件進一步傳送至事件處理引擎202進行 處理。
接著,在步驟S202中,經由篩選器201篩選出之事件串流的多個事件將經由事件分群器2021進行分群。事件分群器2021依照事件之資料所需運算之複雜度、資料量、時間間隔等等分組條件將事件分成不同的群組事件。並且進一步將各事件嵌入資料識別,用以後續整合多個事件結果,使其多個事件結果的順序對應於所述多個事件的順序。
在步驟S203中,將計算較複雜或資料量較大之事件歸類為第一群組事件並傳送至收集擷取模組2022。在步驟S207中,將計算較簡單或資料量較小之事件歸類為第二群組事件並傳送至處理器2023。處理器2023將第二群組事件計算後產生第二處理結果並進入步驟S212,將第二處理結果傳送給事件產生器2024。
在步驟S204中,收集擷取器2022根據使用者自定義的預設參考值與暫存單元2022a儲存的事件的變化量判斷暫存單元2022a儲存的事件是否應傳送至擴充模組21進行處理。若否,則回到步驟S202,持續接收事件分群器2021傳輸之事件。若是,將進入步驟S205。
在步驟S205中,收集擷取器2022將儲存的第一群組事件進行特徵擷取並產生特徵向量與殘存資料。事件透過收集擷取器2022將事件轉換的特徵向量與殘存資料的方式能夠有效降低資料的傳輸量,故可以減少傳輸至擴充模組21時的資料量。
接著,在步驟S206中,收集擷取器2022將第一群組事件嵌入時間標籤,用以提供後續處理時檢查所述事件之時效性。在步驟S208中,收集擷取器2022檢查傳輸單元203是否與擴充模組21連線暢通。若否,則等待連線回復暢通並進入步驟S209。若是,則進入步驟S211,將特徵向量與殘存資料傳送至擴充模組21進行處理。
在步驟S209中,收集擷取器2022在等待的過程會持續判斷 特徵向量與殘存資料的時間標籤是否失效。若未失效,則週期性地檢查傳輸單元203是否恢復暢通。若已失效,則進入步驟S210將失效的特徵向量與殘存資料清除並產生事件失效資訊給事件產生器2024,儲存於暫存單元2024b中以進行後續處理。
在步驟S214中,透過傳輸模組211接收特徵向量資料的擴充模組21,進一步透過格式轉換單元212將屬於閘道裝置20系統語言格式的特徵向量資料進行格式轉換,產生能夠提供擴充模組21處理的待處理事件,並傳送至事件分析器213中的暫存單元213a儲存以待後續處理。
接著,請同時參閱圖3。在步驟S215中,事件分析器213檢查所儲存之待處理事件中的時間標籤是否失效。若是,則進入步驟S216,則事件分析器213將失效之待處理事件的資料清除並產生事件失效資訊,並進入步驟S212。若否,則進入步驟S217。
在步驟S217中,擴充處理器214將所收到之待處理事件進行計算,並產生第一事件結果。值得一提的是,第一處理結果經由格式轉換單元212將格式轉換回閘道裝置20之格式,接著進入步驟S218。在步驟S218中,進一步將第一處理結果透過傳輸單元211回傳至閘道裝置20的事件產生器2024,並進入步驟S219。隨後,在步驟S219中,事件產生器2024檢查第一處理結果的時間標籤是否失效。若是,進入步驟S220,事件產生器2024清除失效之第一處理結果並產生事件失效資訊,並進入步驟S212。若否,直接進入步驟S212。
在步驟S212中,事件產生器2024將所有計算過後之處理結果或事件失效資訊依照資料識別整合並產生衍生事件。也就是說,依照各處理結果或事件失效資訊的資料識別找出對應的事件順序並進行整合,以產生衍生事件。接著,在步驟S213中,將衍生事件進行後續通知或資料庫儲存之動作。在本發明實施例中以第一群組事件與第二群組事件作為說明,但並不以此做為限制。
本發明提供一種機器可讀記憶體,儲存用以實現事件串流處理的程式碼。程式碼可被上述之閘道裝置與擴充模組執行如下步驟。首先,在閘道裝置中篩選出符合條件規則之至事件串流並進行分群。接著,閘道裝置將第一群組事件傳送到擴充模組進行計算,並且將第二群組事件在閘道裝置中進行計算。隨後,擴充模組產生第一處理結果回傳給閘道裝置。最後,閘道裝置將第一群組事件之第一處理結果與第二群組事件之第二處理結果整合產生衍生事件。
本發明可以通過硬體、軟體,或者軟、硬體結合來實現。本發明可以在至少一個電腦系統中以集中的方式實現,或者由分佈在幾個互連的電腦系統中的不同部分以分散的方式實現。適用於任何可以實現上所述事件串流處理方法的電腦系統或其他裝置。另外,通過安裝和執行所述程式控制電腦系統,使其按上所述方法運行。
本發明還可以通過電腦程式產品進行實施,所述套裝程式含能夠實現本發明方法的全部特徵,當其安裝到電腦系統中時,通過運行,可以實現本發明的方法。本發明中的電腦程式所指的是:可以採用任何程式語言、代碼或符號編寫指令的任何運算式,使系統具有資訊處理能力並直接實現特定功能。另外,亦可在執行下述一個或兩個步驟之後,a)轉換成其他語言、代碼或符號;b)以不同的格式再現,實現特定功能。
〔本發明可能功效〕
綜上所述,透過本發明實施例之事件串流處理系統、方法及機器可讀記憶體,讓受限於硬體效能及運算處理能力的閘道裝置能夠藉由外部的擴充模組協助處理大量資料與運算複雜的處理程序。再者,透過擴充模組,可依使用者之需求設定所需之定義函式,並且在擴充模組與閘道裝置之間透過通用的通訊方式及資料格式的跨平台整合方式,有效增加事件串流處理的靈活性。值得 一提的是,藉由本發明實施例由閘道裝置對事件串流的事件進行即時處理的方式,閘道裝置僅會將須進行處理之事件傳送至其連接的擴充模組進行運算,故能夠有效節省網路頻寬。
以上所述,僅為本發明最佳之具體實施例,惟本發明之特徵並不侷限於此,任何熟悉該項技藝者在本發明之領域內,可輕易思及之變化或修飾,皆可涵蓋在以下本案之專利範圍。

Claims (20)

  1. 一種事件串流處理系統,包括:一閘道裝置,包括:一事件處理引擎,將符合一條件規則之一事件串流的多個事件進行處理,包括:一事件分群器,將符合該條件規則之該些事件進行分群;一收集擷取器,耦接於該事件分群器,用以從該些事件中儲存一第一群組事件;一處理器,耦接於該事件分群器,用以處理一第二群組事件;以及一事件產生器,將該第一群組事件之一第一處理結果與該第二群組事件之一第二處理結果整合,並產生一衍生事件;以及至少一擴充模組,耦接於該閘道裝置,每一該擴充模組包括:一擴充處理器,計算該第一群組事件並產生該第一處理結果;其中該第一群組事件的資料量或所需的計算複雜度大於該第二群組事件的資料量或所需的計算複雜度。
  2. 如申請專利範圍第1項所述之事件串流處理系統,其中該收集擷取器更包括:至少一暫存單元,用以分別儲存該第一群組事件中的至少一第一子群組事件。
  3. 如申請專利範圍第1項所述之事件串流處理系統,其中該事件處理引擎更包括:一篩選器,用以篩選符合該條件規則之該些事件,並提供至該事件分群器。
  4. 如申請專利範圍第1項所述之事件串流處理系統,其中該收集 擷取器用以將儲存的該第一群組事件進行一特徵擷取,並產生一特徵向量與一殘存資料。
  5. 如申請專利範圍第1項所述之事件串流處理系統,其中該收集擷取器用以將儲存的該第一群組事件嵌入一時間標籤。
  6. 如申請專利範圍第5項所述之事件串流處理系統,其中每一該擴充模組更包括:一事件分析器,當每一該擴充模組收到該第一群組事件時檢查該時間標籤。
  7. 如申請專利範圍第1項所述之事件串流處理系統,其中該事件分群器用以將每一該事件嵌入一資料識別。
  8. 如申請專利範圍第7項所述之事件串流處理系統,其中該事件產生器根據該資料識別將該第一處理結果與該第二處理結果整合。
  9. 如申請專利範圍第1項所述之事件串流處理系統,其中每一該擴充模組更包括:一格式轉換單元,用以將該第一群組事件進行格式轉換。
  10. 一種事件串流處理方法,適用於一事件串流處理系統,該事件串流處理系統具有一閘道裝置與至少一擴充模組,該事件串流處理方法包括:該閘道裝置篩選出符合一條件規則之一事件串流的多個事件並進行分群;該閘道裝置將一第一群組事件傳送到至少一該擴充模組進行計算,並且將一第二群組事件在該閘道裝置中進行計算;該擴充模組產生一第一處理結果回傳給該閘道裝置;以及該閘道裝置將該第一群組事件之該第一處理結果與該第二群組事件之一第二處理結果整合,產生一衍生事件;其中該第一群組事件的資料量或所需的計算複雜度大於該第二群組事件的資料量或所需的計算複雜度。
  11. 如申請專利範圍第10項所述之事件串流處理方法,其中在該閘道裝置將該第一群組事件傳送到至少一該擴充模組進行計算的步驟中,包括:根據一預設參考值判斷是否將該第一群組事件進行傳送。
  12. 如申請專利範圍第10項所述之事件串流處理方法,其中在該閘道裝置將該第一群組事件傳送到至少一該擴充模組進行計算的步驟之前:該閘道裝置將該第一群組事件進行一特徵擷取,並產生一特徵向量與一殘存資料。
  13. 如申請專利範圍第12項所述之事件串流處理方法,其中該特徵擷取為小波轉換(Wavelet Transformation)、傅立葉轉換(Fourier Transformation)或離散餘弦轉換(Discrete Cosine Transformation)。
  14. 如申請專利範圍第10項所述之事件串流處理方法,其中在該閘道裝置將該第一群組事件傳送到至少一該擴充模組進行計算的步驟之前:該閘道裝置將該第一群組事件中每一該事件嵌入一時間標籤。
  15. 如申請專利範圍第14項所述之事件串流處理方法,其中在該閘道裝置將該第一群組事件傳送到至少一該擴充模組進行計算的步驟中:該擴充模組在收到該第一群組事件時檢查該時間標籤。
  16. 如申請專利範圍第14項所述之事件串流處理方法,其中在該擴充模組在收到該第一群組事件時檢查該時間標籤的步驟中:當該時間標籤失效時,該擴充模組清除該第一群組事件並同時產生一事件失效資訊。
  17. 如申請專利範圍第10項所述之事件串流處理方法,其中在該閘道裝置篩選出符合該條件規則之該些事件串流並進行分群的 步驟中:該閘道裝置將每一該事件串流之事件嵌入一資料識別。
  18. 如申請專利範圍第17項所述之事件串流處理方法,其中在該閘道裝置將該第一群組事件之該第一處理結果與該第二群組事件之該第二處理結果整合,並產生該衍生事件的步驟中:該閘道裝置根據該資料識別將該些第一處理結果與該第二處理結果整合。
  19. 如申請專利範圍第10項所述之事件串流處理方法,其中在該閘道裝置將該第一群組事件傳送到至少一該擴充模組進行計算的步驟中:該擴充模組將接收之該第一群組事件進行格式轉換。
  20. 一種機器可讀記憶體,儲存用以實現事件串流處理的一程式碼,該程式碼可被一閘道裝置與一擴充模組執行,如下步驟:在該閘道裝置中篩選出符合一條件規則之一事件串流的多個事件並進行分群;從該閘道裝置將一第一群組事件傳送到至少一擴充模組進行計算,並且將一第二群組事件在該閘道裝置中進行計算;該擴充模組產生一第一處理結果回傳給該閘道裝置;以及該閘道裝置將該第一群組事件之一第一處理結果與該第二群組事件之一第二處理結果整合,產生一衍生事件;其中該第一群組事件的資料量或所需的計算複雜度大於該第二群組事件的資料量或所需的計算複雜度。
TW102146146A 2013-12-13 2013-12-13 事件串流處理系統、方法與機器可讀記憶體 TWI623881B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW102146146A TWI623881B (zh) 2013-12-13 2013-12-13 事件串流處理系統、方法與機器可讀記憶體
CN201410035203.4A CN104717272A (zh) 2013-12-13 2014-01-24 事件串流处理***及其方法
US14/230,447 US20150169724A1 (en) 2013-12-13 2014-03-31 Event stream processing system, method and machine-readable storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102146146A TWI623881B (zh) 2013-12-13 2013-12-13 事件串流處理系統、方法與機器可讀記憶體

Publications (2)

Publication Number Publication Date
TW201523450A TW201523450A (zh) 2015-06-16
TWI623881B true TWI623881B (zh) 2018-05-11

Family

ID=53368749

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102146146A TWI623881B (zh) 2013-12-13 2013-12-13 事件串流處理系統、方法與機器可讀記憶體

Country Status (3)

Country Link
US (1) US20150169724A1 (zh)
CN (1) CN104717272A (zh)
TW (1) TWI623881B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI769773B (zh) * 2021-04-06 2022-07-01 鼎新電腦股份有限公司 業務流程管理系統及業務流程管理方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI714840B (zh) * 2018-04-12 2021-01-01 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
GB2575289B (en) * 2018-07-04 2020-09-16 Graphcore Ltd Streaming engine
WO2020007648A1 (en) * 2018-07-04 2020-01-09 Graphcore Limited Data through gateway
GB2575294B8 (en) * 2018-07-04 2022-07-20 Graphcore Ltd Host Proxy On Gateway
GB2575293B (en) 2018-07-04 2020-09-16 Graphcore Ltd Data Through Gateway
WO2020007667A1 (en) * 2018-07-04 2020-01-09 Graphcore Limited Streaming engine
GB201819616D0 (en) * 2018-11-30 2019-01-16 Graphcore Ltd Virtualised gateways
JP2022151355A (ja) 2021-03-26 2022-10-07 富士通株式会社 データ処理プログラム、データ処理方法及びデータ処理システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080201278A1 (en) * 2003-08-19 2008-08-21 Fraunhofer-Fesellschaft Zur Forderung Der Angewandten Forschund E.V. Method and Apparatus for Automatic Online Detection and Classification of Anomalous Objects in a Data Stream
US20090070765A1 (en) * 2007-09-11 2009-03-12 Bea Systems, Inc. Xml-based configuration for event processing networks
TW201328332A (zh) * 2011-12-28 2013-07-01 Ind Tech Res Inst 提供與傳送複合濃縮串流之方法以及系統

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063523A (en) * 1989-11-16 1991-11-05 Racal Data Communications Inc. Network management system with event rule handling
US5893077A (en) * 1995-08-23 1999-04-06 Microsoft Corporation Method and apparatus for generating and collecting a billing event object within an on-line network
US5944782A (en) * 1996-10-16 1999-08-31 Veritas Software Corporation Event management system for distributed computing environment
AU2098301A (en) * 1999-12-17 2001-06-25 Xigo, Inc. Analyzing input data streams using user criteria
US7111010B2 (en) * 2000-09-25 2006-09-19 Hon Hai Precision Industry, Ltd. Method and system for managing event attributes
US6564170B2 (en) * 2000-12-29 2003-05-13 Hewlett-Packard Development Company, L.P. Customizable user interfaces
US7570262B2 (en) * 2002-08-08 2009-08-04 Reuters Limited Method and system for displaying time-series data and correlated events derived from text mining
US7602413B2 (en) * 2002-10-18 2009-10-13 Sony Corporation Information processing system and method, information processing apparatus, image-capturing device and method, recording medium, and program
US7091409B2 (en) * 2003-02-14 2006-08-15 University Of Rochester Music feature extraction using wavelet coefficient histograms
GB0414625D0 (en) * 2004-06-30 2004-08-04 Ibm Method and system for grouping events
US20060074621A1 (en) * 2004-08-31 2006-04-06 Ophir Rachman Apparatus and method for prioritized grouping of data representing events
CA2486482A1 (en) * 2004-11-01 2006-05-01 Canadian Medical Protective Association Event analysis system and method
WO2006066243A2 (en) * 2004-12-17 2006-06-22 Modius, Inc. Event manager for use in a facilities monitoring system having network-level and protocol-neutral communication with a physical device
US7984040B2 (en) * 2007-06-05 2011-07-19 Oracle International Corporation Methods and systems for querying event streams using multiple event processors
CN101488942B (zh) * 2008-01-18 2013-03-13 财团法人工业技术研究院 车载媒体导向***传输网络中多媒体数据分享***与方法
US8078556B2 (en) * 2008-02-20 2011-12-13 International Business Machines Corporation Generating complex event processing rules utilizing machine learning from multiple events
WO2010044782A1 (en) * 2008-10-14 2010-04-22 Hewlett-Packard Development Company, L.P. Managing event traffic in a network system
US8386848B2 (en) * 2009-05-11 2013-02-26 Microsoft Corporation Root cause analysis for complex event processing
US8612983B2 (en) * 2009-09-07 2013-12-17 International Business Machines Corporation Scheduling event streams depending on content information data
US8560481B2 (en) * 2009-11-17 2013-10-15 Gregory P. Naifeh Method and apparatus for analyzing system events
CN102096848B (zh) * 2009-12-09 2015-11-25 Sap欧洲公司 用于在对流事件的查询模式匹配期间进行快速响应的调度
US8837367B2 (en) * 2011-05-25 2014-09-16 Htc Corporation Method of enhancing zone-based service
US9286354B2 (en) * 2011-08-15 2016-03-15 Software Ag Systems and/or methods for forecasting future behavior of event streams in complex event processing (CEP) environments
US8943009B2 (en) * 2011-11-20 2015-01-27 International Business Machines Corporation Method of adapting an event processing component having a plurality of event processing agents which carry out a plurality of rules complying with at least one correctness requirement to process a plurality of events
US9173073B2 (en) * 2011-12-19 2015-10-27 Motorola Solutions, Inc. Method and apparatus for processing group event notifications and providing group policy in a communication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080201278A1 (en) * 2003-08-19 2008-08-21 Fraunhofer-Fesellschaft Zur Forderung Der Angewandten Forschund E.V. Method and Apparatus for Automatic Online Detection and Classification of Anomalous Objects in a Data Stream
US20090070765A1 (en) * 2007-09-11 2009-03-12 Bea Systems, Inc. Xml-based configuration for event processing networks
TW201328332A (zh) * 2011-12-28 2013-07-01 Ind Tech Res Inst 提供與傳送複合濃縮串流之方法以及系統

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI769773B (zh) * 2021-04-06 2022-07-01 鼎新電腦股份有限公司 業務流程管理系統及業務流程管理方法

Also Published As

Publication number Publication date
TW201523450A (zh) 2015-06-16
CN104717272A (zh) 2015-06-17
US20150169724A1 (en) 2015-06-18

Similar Documents

Publication Publication Date Title
TWI623881B (zh) 事件串流處理系統、方法與機器可讀記憶體
CN103439629B (zh) 基于数据网格的配电网故障诊断***
CN105307200B (zh) 一种基于轨迹的无线传感器网络多维数据异常值检测方法
Sun et al. Efficient rule engine for smart building systems
CN108064379A (zh) 用于远程端点信息取回的查询引擎
KR20150112357A (ko) 센서 데이터 처리 시스템 및 방법
CN112307586B (zh) 基于分布式架构的装备退化状态故障预测***
WO2015094269A1 (en) Hybrid flows containing a continuous flow
CN106886558A (zh) 一种数据处理方法以及服务器
CN113900810A (zh) 分布式图处理方法、***及存储介质
Ferry et al. Towards a big data platform for managing machine generated data in the cloud
CN104159089A (zh) 一种异常事件报警高清视频智能处理器
CN110874291A (zh) 一种异常容器实时检测方法
CN101242408A (zh) 一种开放式多源数据包捕获器构造方法
CN105069029B (zh) 一种实时etl***及方法
US10560519B2 (en) Sensory data capture and processing for the Internet of Things
US20220101139A1 (en) System for Action Indication Determination
Zhang et al. A novel approach for traffic anomaly detection in power distributed control system and substation system
Taneja et al. Predictive analytics on IoT
CN105446707B (zh) 一种数据转换方法
Sirojan et al. Enabling deep learning on embedded systems for iot sensor data analytics: Opportunities and challenges
WO2018228667A1 (en) Automatic feature selection in machine learning
CN113342550A (zh) 一种数据处理方法、***、计算设备及存储介质
CN112564984A (zh) 基于大数据的物联网的分布式安全运维的方法
Yin et al. Data collection in wireless sensor networks