TW201705050A - 高延展性事件處理系統及其處理流程 - Google Patents
高延展性事件處理系統及其處理流程 Download PDFInfo
- Publication number
- TW201705050A TW201705050A TW104123626A TW104123626A TW201705050A TW 201705050 A TW201705050 A TW 201705050A TW 104123626 A TW104123626 A TW 104123626A TW 104123626 A TW104123626 A TW 104123626A TW 201705050 A TW201705050 A TW 201705050A
- Authority
- TW
- Taiwan
- Prior art keywords
- event
- data
- module
- processing
- processing module
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本發明係揭露一種高延展性的事件資料處理系統,整個系統分為接收層、處理層以及儲存層,每層皆有部份模組,每層之模組均可進行多節點部署以增加事件資料處理效能並使系統具備高可用性(High Availability)之特性。
Description
本發明係關於一種高延展性事件處理系統及其處理流程。
舊有事件處理系統在處理事件時,一旦上線服務後就無法再進行事件處理流程變更,收送事件之通訊協定亦無法異動,也無法依需求進行無限制之多節點佈署,造成維運人員在佈署上之困擾,而現行事件處理系統基本上均設有一個事件處理的相關應用程式,這種應用程式實作一個事件處理網路,而這事件處理網路可以同時處理兩個或以上的事件,並支援一個以上的事件處理流程(例如:事件分流,事件整合…等),並著重在可同時處理兩個以上的事件並可以進行事件整合,而當系統有事件在執行中不預期停止或中斷時,事件生成器會發送一個事件,包括原有事件的類型,事件停止處理原因及時間並發送給備份系統,備份系統收到後繼續處理該事件,其間主、備份系統資料則需進行同步,而著重事件處理發生問題時由備份系統接續處理以維持系統之高可用性。
舊有事件處理系統所有事件均係一套事件處理所有類別的事件,處理後之事件僅能依既有程序處理,不管是
存入一般的RDBMS資料庫或是發出通知,均不能進行異動,否則需要進行程式碼修改並重新啟動伺器才能提供服務,並無法直接在佈署時即可進行多節點備援,以及使用設定檔設定方式任何的變更。
本案發明人鑑於上述習用方式所衍生的各項缺點,乃亟思加以改良創新,並經多年苦心孤詣潛心研究後,終於成功研發完成本高延展性事件處理系統及其處理流程。
本發明之主要目的係在於提供一種高延展性的事件資料處理系統,整個系統分為接收層、處理層以及儲存層,每層皆有對應的模組,每層之模組均可進行多節點部署以增加事件資料處理效能並使系統具備高可用性(High Availability)之特性。
本發明提供之事件資料處理系統,將整個系統區分為多個模組,除了增加部署彈性外,還提供了動態修改事件處理流程之功能,可透過設定檔針對特定事件類別修改事件處理的資料流程,讓特定事件由指定的節點進行處理,不同事件由不同節點進行處理以達到事件處理流程之隔離。上述功能也可避免將所有事件放在同一節點處理時造成的資源競爭問題;每個節點也可於線上環境動態進行延展部署,在必要時可新增或移除部署節點,達到資源利用的最佳化。
另外本發明提供之事件資料處理系統,提供了事件發佈、事件快取、RDBMS以及NoSQL之事件資料處理途徑,每個事件可選擇一個或以上的方式做為事件資料最後之處理方式,有別於一般的事件處理系統僅有一到兩種事件資
料流向,且不可於線上環境進行異動之缺點,大大增加了事件資料處理之彈性。
本發明係為一種高延展性事件處理系統,其主要包括一事件接收模組110,係為接收一事件資料100或一事件發佈模組140所發佈之事件,並交由一事件資料處理模組120,而該事件接收模組110係至少支援REST(Representational State Transfer,表徵性狀態傳輸),JMS(Java Message Service,Java消息服務)以及JMX(Java Management Extensions,即Java管理擴充功能)之通訊協定,事件資料格式至少支援JAVA Object,XML(eXtensible Markup Language,可延伸標記式語言)以及JSON(JavaScript Object Notation)之格式;該事件資料處理模組120,係為進行該事件資料100正規化、該事件資料格式轉換、以及事件歸屬判定處理,並依預先設定好之規則判定後,將事件傳送至事件發佈模組140、事件快取處理模組150、RDBMS(Relational Database Management System,關聯式資料庫管理系統)處理模組160或是NoSQL(Not Only SQL)處理模組170進行後續處理;該事件通訊模組130,係負責所有模組間的通訊,該事件通訊模組130透過設定檔將每個部署模組進行連線串接,各模組要將資料傳送到其他模組時,由此模組進行資料傳遞,並至少支援JMX、JMS以及RPC(Remote Procedure Call,遠端程序呼叫)之通訊方式進行資料傳遞,且得透過設定檔指定類型事件資料之傳遞模式;該事件發佈模組140,係收到來自該事件資料處理模組120之事件資料並發佈出去,且支援JMX、為JMS以及RPC之通訊方式;該事件快取處理模組150,係得以依照所需要求多節點之部屬,而該節點與節點之間的資料都是同步的,當針對
某一節點進行資料存取時,資料異動的部份也會同時透過multicast(多點傳輸)的方式通報其他節點進行資料更新以達到資料的一致性;該RDBMS處理模組160,係將接收到的該事件資料存入一般的關聯式資料庫系統,並以hibernate(Java語言下的物件關係對映解決方案)支援所有關聯式資料庫系統;該NoSQL處理模組170,係將接收到的該事件資料存入NoSQL資料庫系統,並以MongoDB(一種檔案導向資料庫管理系統)支援。
本發明係另為一種高延展性事件處理流程,事件由接收模組接收後直接傳送至事件資料處理模組,事件資料處理模組收到資料後,首先主要為進行事件資料正規化,如加上事件類別、事件編號以及事件接收時間等屬性;再者為事件資料格式轉換,模組會依預先設定之規則進行判斷該類型事件是否需要進行格式轉換,如XML轉換為JAVA Object等;最後為事件資料歸屬判定,此步驟會判斷該類別事件是否需要傳送到事件發佈模組、事件快取處理模組、RDBMS處理模組以及NoSQL處理模組。
其流程如下所述:步驟1. 進行事件正規化;步驟2. 是否需要格式轉換,若是,進行事件資料格式轉換,若否,進入下一步驟;步驟3. 是否進行事件發佈,若是,傳送事件至事件發佈模組,若否,進入下一步驟;步驟4. 是否存入快取,若是,傳送事件至事件快取處理模組,若否,進入下一步驟;步驟5. 是否存入RDBMS,若是,傳送事件至RDBMS
處理模組,若否,進入下一步驟;步驟6. 是否存入NoSQL,若是,傳送事件至NoSQL處理模組,若否,結束處理流程。
本發明所提供一種高延展性事件處理系統及其處理流程,與其他習用技術相互比較時,更具備下列優點:
1. 本發明可提供一種高延展性及高可用性之事件資料處理系統,各模組均可進行多節點部署進行備援。
2. 本發明可依事件類別進行不同的處理流程,可依實際需求將事件發送出去或是儲存到適當的載體中以供後續應用。
3. 本發明可依需求針對不同的事件類別個別提供multicast(多點傳輸模式)、master-slave(主從式架構模式)以及random(隨機模式)三種資料傳遞模式。
4. 本發明提供一個統一的RDBMS處理模組6,可適用於市面上受hibernate支援之所有RDBMS,讓使用者可依需求自行抽換合適之RDBMS不需額外進行程式研發。
100‧‧‧事件資料
110‧‧‧事件接收模組
120‧‧‧事件資料處理模組
130‧‧‧事件通訊模組
140‧‧‧事件發佈模組
141‧‧‧對外發佈之事件資料
150‧‧‧事件快取處理模組
151‧‧‧快取資料區
160‧‧‧RDBMS處理模組
161‧‧‧RDBMS(關聯式資料庫系統)
170‧‧‧NoSQL處理模組
171‧‧‧NoSQL
S210~S261‧‧‧處理流程
請參閱有關本發明之詳細說明及其附圖,將可進一步瞭解本發明之技術內容及其目的功效;有關附圖為:圖1為本發明高延展性事件處理系統及其處理流程之系統架構示意圖;圖2為本發明高延展性事件處理系統及其處理流程之流程示意圖;圖3為本發明高延展性事件處理系統及其處理流程之事件通訊模組之節點設定檔範例;
圖4為本發明高延展性事件處理系統及其處理流程之事件通訊模組之事件類別傳輸設定檔範例。
為了使本發明的目的、技術方案及優點更加清楚明白,下面結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,但並不用於限定本發明。
以下,結合附圖對本發明進一步說明:
請參閱圖1所示,為本發明高延展性事件處理系統及其處理流程之系統架構示意圖,系統部署分為事件接收模組110、事件資料處理模組120、事件通訊模組130、事件發佈模組140、事件快取處理模組150、RDBMS處理模組160以及NoSQL處理模組170,其中每個模組均可進行多節點之部署,各個節點間之通訊則透過事件通訊模組130提供multicast或是master-slave模式之通訊方式以達到每個模組的高可用性及延展性,而不同模組間的資料通訊也是透過事件通訊模組130進行通訊。
其各模組說明如下:
事件接收模組110,負責接收事件資料100,事件資料100可能為外部系統或是事件發佈模組140而來,此模組至少支援REST,JMS以及JMX之通訊協定,事件資料格式則至少支援JAVA Object,XML以及JSON等格式。
事件資料處理模組120,此模組進行事件資料100處理,包含事件資料正規化,事件資料格式轉換以及事件歸屬判定,其中事件資料正規化,是指將原始事件進行統一屬性資料配給,如在原有事件加上事件編號以及收取時間等屬
性資料;事件資料格式轉換,是指將事件資料格式進行不同格式之間的轉換,如將XML轉換為JAVA Object或是JSON等資料格式轉換;事件歸屬判定,是指依事件內容進行事件資料流向處理,依預先設定好之規則判定後,將事件傳送至事件發佈模組140、事件快取處理模組150、RDBMS處理模組160或是NoSQL處理模組170進行後續處理。
事件通訊模組130,是為負責所有模組間的通訊,該模組透過設定檔將每個部署模組進行連線串接,各模組要將資料傳送到其他模組時,由此模組進行資料傳遞,此模組至少支援JMX、JMS以及RPC之通訊方式進行資料傳遞;而此事件通訊模組130可透過設定檔指定某類事件資料之傳遞模式,目前共有三種模式,分別為multicast、master-slave以及random;multicast方式係將事件資料送到所有節點,其中master-slave模式僅將資料送到master節點,若master節點有異常則選取任一slave節點將資料傳送過去;random模組則是隨機選取一個節點進行資料傳,另外模組也會透過不定時的multicast封包確認各節點以及各模組間的連線是否正常,若有節點異常則會發送信件通知相關人員進行障礙排除。
事件發佈模組140,此模組可接收來自事件資料處理模組120之事件資料,並對外發佈之事件資料141,而此模組至少支援JMX、JMS以及RPC之通訊方式。
事件快取處理模組150,此模組係將接收到的事件資料放在一個key-value(關鍵值-實際值)構成的快取資料區151中,不同類別的事件資料給一個不同的key,當某個程序需要相關事件資料時即可透過特定的key拿到該類型的事件資料,將所需的事件資料取出後再透過API將已取用之事件
從快取資料區151中刪除。此模組可依需求多點部署,所有的節點間的資料都是同步的,當針對某一節點進行資料存取時,資料異動的部份也會同時透過multicast的方式通報其他節點進行資料更新以達到資料的一致性。
RDBMS處理模組160,此模組係將接收到的事件資料存入一般的RDBMS(關聯式資料庫系統)161,此模組採用hibernate進行研發,只要hibernate有支援的所有關聯式資料庫系統此模組就能進行資料的存取。
NoSQL處理模組170,此模組係將接收到的事件資料存入NoSQL資料庫系統171,此模組至少支援MongoDB。
綜上所述,各事件由事件接收模組100讀取後,交由事件資料處理模組120進行事件資料正規化及資料格式轉換後,並依預先設定好之規則進行事件歸屬判定,最後再依判定結果將事件資料發送到適當的模組進行處理,其中各個模組均可進行延展部署達到互相備援目的。
請參閱圖2所示,為本發明高延展性事件處理系統及其處理流程之流程示意圖,事件由接收模組接收後直接傳送至事件資料處理模組,事件資料處理模組收到資料後,首先主要為進行事件資料正規化,如加上事件類別、事件編號以及事件接收時間等屬性;再者為事件資料格式轉換,模組會依預先設定之規則進行判斷該類型事件是否需要進行格式轉換,如XML轉換為JAVA Object等;最後為事件資料歸屬判定,此步驟會判斷該類別事件是否需要傳送到事件發佈模組、事件快取處理模組、RDBMS處理模組以及NoSQL處理模組。
其流程如下所述:步驟1. S210進行事件正規化;步驟2. S220是否需要格式轉換,若是,S221進行事件資料格式轉換,若否,進入下一步驟;步驟3. S230是否進行事件發佈,若是,S231傳送事件至事件發佈模組,若否,進入下一步驟;步驟4. S240是否存入快取,若是,S241傳送事件至事件快取處理模組,若否,進入下一步驟;步驟5. S250是否存入RDBMS,若是,S251傳送事件至RDBMS處理模組,若否,進入下一步驟;步驟6. S260是否存入NoSQL,若是,S261傳送事件至NoSQL處理模組,若否,結束處理流程。
其中事件正規化,是為將事件資料加入事件類別、事件編號以及事件接收時間之類別;事件資料格式轉換,係依預先設定之規則進行判斷該類型事件是否需要進行格式轉換,如XML轉換為JAVA Object。
參閱圖3所示,為本發明高延展性事件處理系統及其處理流程之事件通訊模組之節點設定檔範例,其中定義每個節點的名稱、IP(Internet Protocol,網際協議)及port number(網路協定埠口數值),若是節點名稱相同,則應有identity屬性定義傳輸優先序,當傳輸模式為master-slave時,則以identity(識別碼)最小者為master。
參閱圖4所示,為本發明高延展性事件處理系統及其處理流程之事件通訊模組之事件類別傳輸設定檔範例,定義TktNotifyEvent這個類別的事件將會在這個節點處理後將發送到Backend Server及Operation Portal兩個節點,並採
用Random方式將事件發送出去,若是之後事件處理流程不須經過Backend Server時,只需將設定檔中的Backend Server設定拿掉即可,系統會定時進行設定檔內容的讀取及資料同步。
上列詳細說明乃針對本發明之一可行實施例進行具體說明,惟該實施例並非用以限制本發明之專利範圍,凡未脫離本發明技藝精神所為之等效實施或變更,均應包含於本案之專利範圍中。
綜上所述,本案不僅於技術思想上確屬創新,並具備習用之傳統方法所不及之上述多項功效,已充分符合新穎性及進步性之法定發明專利要件,爰依法提出申請,懇請貴局核准本件發明專利申請案,以勵發明,至感德便。
100‧‧‧事件資料
110‧‧‧事件接收模組
120‧‧‧事件資料處理模組
130‧‧‧事件通訊模組
140‧‧‧事件發佈模組
141‧‧‧對外發佈之事件資料
150‧‧‧事件快取處理模組
151‧‧‧快取資料區
160‧‧‧RDBMS處理模組
161‧‧‧RDBMS(關聯式資料庫系統)
170‧‧‧NoSQL處理模組
171‧‧‧NoSQL
Claims (8)
- 一種高延展性事件處理系統,其主要包括:一事件接收模組,係為接收一事件資料或一事件發佈模組所發佈之事件,並交由一事件資料處理模組,而該事件接收模組係至少支援REST(Representational State Transfer,表徵性狀態傳輸),JMS(Java Message Service,Java消息服務)以及JMX(Java Management Extensions,即Java管理擴充功能)之通訊協定,事件資料格式至少支援JAVA Object,XML(eXtensible Markup Language,可延伸標記式語言)以及JSON(JavaScript Object Notation)之格式;該事件資料處理模組,係為進行該事件資料正規化、該事件資料格式轉換、以及事件歸屬判定處理,並依預先設定好之規則判定後,將事件傳送至事件發佈模組、事件快取處理模組、RDBMS(Relational Database Management System,關聯式資料庫管理系統)處理模組或是NoSQL(Not Only SQL)處理模組進行後續處理;該事件通訊模組,係負責所有模組間的通訊,該事件通訊模組透過設定檔將每個部署模組進行連線串接,各模組要將資料傳送到其他模組時,由此模組進行資料傳遞,並至少支援JMX、JMS以及RPC(Remote Procedure Call,遠端程序呼叫)之通訊方式進行資料傳遞,且得透過設定檔指定類型事件資料之傳遞模式;該事件發佈模組,係收到來自該事件資料處理模組之事件資料並發佈出去,且支援JMX、為JMS以及RPC之通訊方式; 該事件快取處理模組,係得以依照所需要求多節點之部屬,而該節點與節點之間的資料都是同步的,當針對某一節點進行資料存取時,資料異動的部份也會同時透過multicast(多點傳輸)的方式通報其他節點進行資料更新以達到資料的一致性;該RDBMS處理模組,係將接收到的該事件資料存入一般的關聯式資料庫系統,並以hibernate(Java語言下的物件關係對映解決方案)支援所有關聯式資料庫系統;該NoSQL處理模組,係將接收到的該事件資料存入NoSQL資料庫系統,並以MongoDB(一種檔案導向資料庫管理系統)支援。
- 如申請專利範圍第1項所述之高延展性事件處理系統,其中該事件資料正規化,係指將原始事件進行統一屬性資料配給,如在原有事件加上事件編號以及收取時間等屬性資料。
- 如申請專利範圍第1項所述之高延展性事件處理系統,其中該事件資料格式轉換,係指將事件資料格式進行不同格式之間的轉換。
- 如申請專利範圍第1項所述之高延展性事件處理系統,其中該事件歸屬判定,係依事件內容進行事件資料流向處理。
- 如申請專利範圍第1項所述之高延展性事件處理系統,其中該傳遞模式,係為multicast(多點傳輸模式)、master/slave(主從式架構模式)、以及random(隨機模式)。
- 一種高延展性事件處理流程,其流程如下:步驟1. 進行事件正規化; 步驟2. 是否需要格式轉換,若是,進行事件資料格式轉換,若否,進入下一步驟;步驟3. 是否進行事件發佈,若是,傳送事件至事件發佈模組,若否,進入下一步驟;步驟4. 是否存入快取,若是,傳送事件至事件快取處理模組,若否,進入下一步驟;步驟5. 是否存入RDBMS,若是,傳送事件至RDBMS處理模組,若否,進入下一步驟;步驟6. 是否存入NoSQL,若是,傳送事件至NoSQL處理模組,若否,結束處理流程。
- 如申請專利範圍第6項所述之高延展性事件處理流程,其中該事件正規化,係為將事件資料加入事件類別、事件編號以及事件接收時間之類別。
- 如申請專利範圍第6項所述之高延展性事件處理流程,其中該事件資料格式轉換,係依預先設定之規則進行判斷該類型事件是否需要進行格式轉換,如XML轉換為JAVA Object。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104123626A TW201705050A (zh) | 2015-07-22 | 2015-07-22 | 高延展性事件處理系統及其處理流程 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104123626A TW201705050A (zh) | 2015-07-22 | 2015-07-22 | 高延展性事件處理系統及其處理流程 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI560623B TWI560623B (zh) | 2016-12-01 |
TW201705050A true TW201705050A (zh) | 2017-02-01 |
Family
ID=58227180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104123626A TW201705050A (zh) | 2015-07-22 | 2015-07-22 | 高延展性事件處理系統及其處理流程 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW201705050A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6854069B2 (en) * | 2000-05-02 | 2005-02-08 | Sun Microsystems Inc. | Method and system for achieving high availability in a networked computer system |
US8086460B2 (en) * | 2007-06-20 | 2011-12-27 | International Business Machines Corporation | Speech-enabled application that uses web 2.0 concepts to interface with speech engines |
US8763008B2 (en) * | 2008-09-30 | 2014-06-24 | Ebay Inc. | System and method for processing messages using native data serialization/deserialization in a service-oriented pipeline architecture |
TW201138370A (en) * | 2010-04-23 | 2011-11-01 | Chunghwa Telecom Co Ltd | Smart message capturing and notification system |
-
2015
- 2015-07-22 TW TW104123626A patent/TW201705050A/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TWI560623B (zh) | 2016-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11194721B2 (en) | Invalidation and refresh of multi-tier distributed caches | |
US8296303B2 (en) | Intelligent event query publish and subscribe system | |
US9800691B2 (en) | Stream processing using a client-server architecture | |
US9454573B1 (en) | Parallel processing database system with a shared metadata store | |
US9164806B2 (en) | Processing pattern framework for dispatching and executing tasks in a distributed computing grid | |
CN109218348B (zh) | 一种区块链中区块的确定方法及节点设备 | |
EP2932370B1 (en) | System and method for performing a transaction in a massively parallel processing database | |
ES2765415T3 (es) | Aparato, método y programa de procesamiento de datos basado en microservicios | |
US20090292759A1 (en) | Event server using clustering | |
WO2018040722A1 (zh) | 表数据查询方法及装置 | |
US8024477B2 (en) | System and method to establish a peer-to-peer IT backbone | |
US8478803B2 (en) | Management of logical statements in a distributed database environment | |
CN103345502B (zh) | 分布式数据库的事务处理方法和系统 | |
CN103209223A (zh) | 分布式应用会话信息共享方法、系统和应用服务器 | |
CN106713391B (zh) | 一种session信息的共享方法和共享系统 | |
CN104866316A (zh) | 数据中心中间件系统 | |
US20120197840A1 (en) | Push replication for use with a distributed data grid | |
CN104468299A (zh) | 基于用户规则的企业服务总线系统 | |
CN103546327A (zh) | 一种建立基于jxta的混合式拓扑的网络管理模型的方法 | |
JP6852155B2 (ja) | 情報取得 | |
US20100162268A1 (en) | Identifying subscriber data while processing publisher event in transaction | |
TW201705050A (zh) | 高延展性事件處理系統及其處理流程 | |
Qiu et al. | Design and application of data integration platform based on web services and XML | |
CN104052723A (zh) | 信息处理方法和服务器 | |
JP2007013804A (ja) | 属性指定通信方法および通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |