999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ZooKeeper在復雜事件處理系統中的應用

2014-04-07 01:47:25
城市軌道交通研究 2014年11期
關鍵詞:引擎規則系統

馮 娟

(上海申通地鐵集團有限公司技術中心,201103,上海∥高級工程師)

ZooKeeper在復雜事件處理系統中的應用

馮 娟

(上海申通地鐵集團有限公司技術中心,201103,上?!胃呒壒こ處煟?/p>

復雜事件的分布式計算處理與協調一直是分布式計算的難題,尤其是基于低成本的高可用性技術實踐。提出了把Zoo Keeper應用于以Esper為核心的復雜事件處理系統的一種技術解決方案。該方案通過Zoo Keeper協調多個復雜事件處理引擎,并作為控制臺和復雜事件處理引擎的交互媒介,能夠實現復雜事件處理分布式計算的集群技術應用,可提高系統的可用性和實時性。所提出的方案在3臺PC機搭建的仿真實驗平臺進行了驗證,說明是可行的。

自動售檢票系統;設備監控;數據流處理;分布式計算;集群技術;

Author'saddressTechnology Center of Shanghai Shentong Metro Group Co.,Ltd.,201103,Shanghai,China

敏捷企業的一個基本要求就是事件驅動業務(Event-driven Business)。事件驅動業務就是在連續業務過程中進行決策的一種業務管理方式,即根據不同時間出現的一系列事件而執行相關任務,并調度可用的資源執行任務。在軟件開發中,事件驅動編程能夠帶來強大的功能和更靈活的交互性,而在企業中,事件驅動業務依托于比較成熟的信息化建設,能夠將業務的靈活性和效率大幅度提高。在各個業務應用系統連續不斷地產生數據流的同時,根據預先定義的條件生成一些“業務事件”,按照策略對這些業務事件進行分析處理,觸發新的業務事件或者業務流程,即實現了業務的事件驅動[1]。事件驅動業務要求能夠快速(毫秒級)、不間斷地處理連續、海量的數據,具備靈活的規則或策略設置,從而具備迅速識別、捕獲、響應實時業務數據的能力。而傳統的企業IT架構通常在業務應用系統中處理業務操作遵循固定的業務流程處理跨系統事務,并且這些流程很少變化,基于數據倉庫進行海量數據的存儲及事后分析的這種IT架構遠遠達不到事件驅動業務的要求[2]。事件驅動業務能夠應用的業務領域很多,凡是需要快速處理連續性數據、需要能夠靈活制定策略的業務,都可以采用事件驅動的業務模式。例如,軌道交通票務數據在線交易處理、軌道交通AFC(自動售檢票)系統設備運行狀態實時監控、證券行業常見的風險分析及預警(事前及事中風險控制)、投資決策中的程序化交易、經紀人績效計算等。

1 ZooKeeper技術

Zoo Keeper是Hadoop的正式子項目,是一種用于提供配置信息維護、命名服務、分布式同步和組服務等的集中式協調系統,所有這些服務都以一種或多種形式被分布式系統使用[3-4]。

Zoo Keeper本質上是一個分布式的小文件存儲系統,具有下述應用特性:

(1)簡單。Zoo Keeper允許通過分布式程序共享方式,組織成類似標準文件系統層級命名空間協調的分布式程序。這個命名空間包含類似文件和目錄的數據寄存器,不像一個典型的用于存儲的文件系統。Zoo Keeper的數據保存在內存中,可實現高吞吐量和低延遲訪問。

(2)冗余。ZooKeeper本身和其自身協調的程序一樣,設計為冗余的,在擁有許多主機集合的主機組上運行。組成Zoo Keeper服務群的所有服務器都已知對方,只要所有服務器中的主服務器可用,ZooKeeper服務就是可用的。客戶端鏈接的一個Zoo Keeper服務器通過發送請求、獲取響應、監聽事件、發送心跳維持一個TCP(傳輸控制協議)鏈接,如果鏈接中斷,客戶端將連接到另外一個服務器[5]。

(3)有序。Zoo Keeper用一個反映所有Zoo Keeper事務順序的數字,標記每一個更新。以后的操作可以使用這個順序數字標記。

(4)快速。ZooKeeper在讀取占主要地位的負載環境下,在讀取操作比寫入操作更頻繁的情況下,讀取速度非常快。

(5)豐富的API(應用程序編程接口)。ZooKeeper為開發人員提供了一套豐富的API,減輕了開發人員編寫通用協議的負擔[6]。

2 構建ZooKeeper的軟件系統架構

在傳統的IT架構中,已經實現了業務事件的處理。比如在傳統的軌道交通自動售檢票系統的票務處理中,通常將票務交易數據經檢驗和合法性判斷后存儲在聯機數據庫中,進一步的數據分析需在軌道交通晚間停運后或通過應用系統的操作界面由既定的報表處理模塊完成各類業務報表或響應聯機查詢。又如在AFC系統中,所有的AFC終端設備自動根據預設定時間間隔,把大量設備自檢狀態數據發送至線路中央計算機系統或票務清分中心。為實時監視和控制AFC終端設備,需要處理程序快速鑒別設備狀態的海量數據及其與上一幀設備運行監視屏數據的差異,若存有差異需要實時自動刷新設備運行監視屏信息[7]。上述兩個應用舉例,都存在著CEP(復雜事件處理)需求。傳統的CEP方式通常存在2個問題:一是速度慢,大量復雜事件的處理順序是基于交易數據寫入數據庫后的后續處理順序確定,易造成數據訪問的I/O瓶頸,處理效率低;二是對于復雜或異常情況的處理,需要人工介入處理,操作人員的經驗很大程度上確定了復雜事件的處理方法和效果。如AFC終端設備上傳的票務交易數據發生飄移和發現某AFC終端設備運行狀態異常,相應的后續處理步驟都需要人工介入。解決這兩個問題的有效技術方法,需要松耦合的多處理機(服務器)集群技術解決方案,以部署復雜事件并行處理的協調步驟并提高處理系統的可用性。實現一個松耦合、集群、具有分布式并行處理特征應用軟件系統的關鍵技術之一是,使用消息隊列(Message Queue,簡為MQ)實現復雜事件處理步驟間相關數據和狀態簽名在不同處理設備之間的傳遞,以有效地減少訪問數據庫的相關入庫數據、降低I/O和避免人工干預。

傳統的商業智能(Business Intelligence,簡為BI)技術通過數據倉庫將數據整合到一起,并用專門的工具在數據模型的基礎上進行分析,解決應對復雜性。在技術和用途上,顯然MQ和BI是正交的。MQ不適合處理復雜性,而BI主要適應于結構化的歷史數據分析,無法處理“即時”的情況,CEP技術的出現解決了上述2個方面的問題,在實時性和復雜性方面都得到了很好的解決[8]。

事件處理的2個主要模型是數據流處理(Data Stream Processing,簡為DSP)模型[8]和CEP模型[9]。Esper是純Java開發的用于CEP和DSP應用程序的組件,可以監測事件流,并在特定事件發生時觸發某些動作。Esper引擎是為滿足對事件進行分析并做出反應等針對CEP應用需求而產生的組件。CEP應用要求實時或者接近實時處理事件(或消息)。這類應用具有高吞吐量、低響應時間和復雜計算等特點[10]。由于Esper本身不支持集群環境,無法實現在線生產系統的高可用性。針對這一問題,本文研究和提出使用Zoo Keeper作為管理控制臺與多個復雜事件處理引擎的交互媒介,從而擴展復雜事件處理系統的集群能力,并為控制臺和處理引擎間提供一種新的交互方式。

本文設計和提出的以Esper為CEP引擎的CEP系統,主要由規則部署包開發環境、CEP分析引擎、運維控制臺、ZooKeeper和數據庫服務器(Database Server,簡為DBS)等組成,是一個集規則部署包開發、系統控制運維管理和事件分析處理等的集成應用系統。該系統為松耦合關系,各子系統只遵循相應的約定,可以單獨實現并運行。其系統間的交互關系圖如圖1所示。

圖1中,CEP Studio是基于開源集成開發環境Eclipse開發的插件,用于開發規則部署包。運維控制臺和業務控制臺是基于Nutz等技術開發的Web應用,用于集群管理、規則管理、狀態監控等,通過控制臺配置的集群配置選項、規則實例參數等信息存儲在數據庫中。Zoo Keeper用于擴展系統的集群能力,防止單點故障并提供分布式的同步,使系統具有高可靠性;其可靠性技術指標應能夠達到99.99%,并作為控制臺和引擎間的交互媒介。

圖1 子系統間的交互關系圖

3 系統設計與實現

3.1 軟件系統總體結構

設計基于Zoo Keeper的軟件系統的總體結構如圖2所示。

圖2 基于ZooKeeper的軟件系統總體結構視圖

圖2中,控制臺與CEP引擎不直接交互,系通過Zoo Keeper間接交互,Zoo Keeper是整個系統的核心。只要將開發完成的規則部署包上傳到運維管理控制臺,運維管理控制臺就將規則模板的相關信息和規則模板存放到對應數據庫和模板庫(文件系統)。業務人員通過運維管理控制臺進行規則實例的維護操作,每次的維護結果存儲在對應數據庫和Zoo Keeper中;多個CEP引擎監聽到Zoo Keeper中的實例出現變化時,會從模板庫下載規則模板到本地文件系統,用于維護引擎中的規則實例。

3.2 系統的主要設計思路

系統的主要設計思路是靈活運用了Zoo Keeper的發布與訂閱特性以及發送更新通知的機制。對應本系統設計,可設計為3種角色,即業務邏輯、Zoo Keeeper和規則管理。業務邏輯主要是監聽對應自己規則的Zoo Keeeper節點,1個業務邏輯對應1個規則;Zoo Keeeper提供發布、訂閱和更新通知的功能;規則管理對應于圖2中的運維、業務控制臺。系統的業務處理流程如圖3所示。

圖3 系統的業務處理流程圖

業務處理流程概述如下:①業務邏輯服務監聽對應的Zoo Keeper節點;②用戶通過運維管理控制臺更新規則;③Zoo Keeper通知各邏輯節點;④各個邏輯節點(CEP引擎)下載新規則到本地,并更新規則實例。

3.3 系統實現

系統實現的主要工作,對應圖3的業務流程,利用ZooKeeper提供的編程接口進行:

(1)創建Zoo Keeper節點;

(2)設置Watcher回調方法,在本系統中為下載規則的名稱、參數名稱、狀態和操作結果等,從而使得各個CEP引擎能夠同步更新本地的規則實例。

相關實現的關鍵代碼如下:

∥Watcher實例,回調方法為下載規則;

Watcher wh=new Watcher()﹛

public void process(WatchedEvent event)﹛

download rule;

﹜;

∥創建一個Zoo Keeper實例,第一個參數為目標服務器地址和端口,第二個參數為Session超時時間,第三個參數為節點變化時的回調方法;

ZooKeeper zk=new ZooKeeper("10.15. 82.166:3351",500000,wh);

∥創建一個節點root,數據是mydata,不進行ACL權限控制,節點為永久性的(即客戶端shutdown了也不會消失)

zk.exists("/root",true);

zk.create("/root","mydata".getBytes(),Ids.OPEN_ACL_UNSAFE,CreateMode. PERSISTENT);

3.4 仿真試驗示例及其分析

限于時間和資源的限制,本文采用3臺PC機進行的仿真試驗示例及其分析簡潔描述如下。

3.4.1 ZooKeeper的集群配置

用3臺機器構成ZooKeeper集群,具體機器名和IP地址對應如下:

ZK01 192.168.0.1

ZK02 192.168.0.2

ZK03 192.168.0.3

Zoo Keeper的版本為3.3.4。以ZK01機器為例(ZK02和ZK03的配置文件與ZK01完全相同),具體相關配置示例說明如下:

(1)/etc/hosts

ZK01 192.168.0.1

ZK02 192.168.0.2

ZK03 192.168.0.3

(2)ZooKeeper配置文件

tick Time=2000

dataDir=/home/hadoop/storage/zookeeper

clientPort=2181

init Limit=5

sync Limit=2

server.1=ZK01:2888:3888

server.2=ZK02:2888:3888

server.3=ZK03:2888:3888

3.4.2 Esper處理規則的測試用例

以統計軌道交通5 min內乘客出站扣款票價等于某幣值的總人數為例,可表示為:

EPL:count*from transaction_exit.win. time(5 minute) where ticket_price=400;

EPL:count*from transaction_exit.win. time(5 minute) where ticket_price=500;

price=400和price=500分別表示幣值單位為“分”的出站扣款,在這里僅為表示復雜事件處理中的某種規則變化示例。

3.4.3 系統的可靠性和實時性

由于Zoo Keeper采用了分布式集群的方式,所以保證了系統可靠性(Zoo Keeper集群中的服務器越多,其可靠性越高)。多個ZooKeeper采用選舉的方式選出一個leader,同時Zoo Keeper采用了事件通知方式,所以系統的實時性也有了較大的提高,基本上達到了完全同步的狀態。

4 結語

本文提出和完整描述了基于Zoo Keeper且以Esper為核心的復雜事件處理系統的一種技術解決方案,包括實現該技術方案的系統軟件構架、系統總體結構、業務處理流程、系統實現和仿真試驗示例及其分析。

結合ZooKeeper的適合分布式計算集群協調及管理的高可用性能力和Esper適用于CEP、DSP應用組件的優勢,提出了一種適合CEP和DSP應用的高可用性的技術解決方案,目前仍鮮見。

由于受到時間、資源和其它因素的限制,本文對系統的實現方法僅在3臺PC機上進行了仿真驗證。仿真結果證明本文的研究方法和給出的技術解決方案是可行的。

[1] 湯玲麗.復雜事件處理引擎關鍵技術研究[D].哈爾濱:哈爾濱工程大學,2012.

[2] 史喜陽,孫棣華,宋瀟瀟.基于CEP的RFID數據處理模型研究[J].自動化技術與應用,2008,27(4):73.

[3] 劉卓楊.復雜事件處理中時間窗口的改進[J].計算機工程,2010(10):50.

[4] 李汝光,趙俊.基于ZooKeeper的分布式緩存的設計與實現[J].綿陽師范學院學報,2011,30(11):116.

[5] Robinson H,王旭.Observer:讓ZooKeeper更具可伸縮性[J].程序員,2010(2):91.

[6] Tan Xuehou.Shortest zookeeper's roles in simple polygons[J].Information Processing Letters,2001(1):25.

[7] 趙時旻.軌道交通自動售檢票系統[M].上海:同濟大學出版社,2007.

[8] 蔡昭權,索劍,汪華斌,等.基于Esper和Nagios的網絡監控系統設計與實現[J].計算機工程與科學,2012,34(9):8.

Application of ZooKeeper in Complex Event Processing System

Feng Juan

Distributed calculation processing and coordinating of the complex event processing has been a difficult problem for distributed calculation,especially for a high availability technical practice based on low cost.A technical solution is proposed,in which Zoo Keeper is put into complex event processing application in terms of the core of Esper.This solution can coordinate multiple complex event processing engines and operate as an interactive medium among control consoles and complex event processing engines,realize a cluster technical practice for distributed calculating of complex event processing,raise system availability and real-time performance.The solution proposed in this paper has been validated by the construction of a simulation experiment platform of 3 PCs,and the result proves to be practical.

AFCsystem;device monitor;data stream processing;distributed calculation;cluster technology

TP 274

2014-06-17)

猜你喜歡
引擎規則系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
撐竿跳規則的制定
數獨的規則和演變
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
TPP反腐敗規則對我國的啟示
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
主站蜘蛛池模板: 国产精品视频系列专区| 99在线国产| 色呦呦手机在线精品| 亚洲人在线| 玖玖精品视频在线观看| 大乳丰满人妻中文字幕日本| 亚洲成人一区二区三区| 第一页亚洲| 色婷婷国产精品视频| 99国产精品国产| 国产精品亚洲综合久久小说| 欧美不卡视频在线观看| 无码内射在线| 欧美一区国产| 中文字幕在线日本| 97在线视频免费观看| 亚洲女同一区二区| 国产一二三区在线| 91www在线观看| 国产毛片基地| 国产自无码视频在线观看| 1024国产在线| 高清欧美性猛交XXXX黑人猛交 | 成人福利在线免费观看| 影音先锋亚洲无码| 亚洲最猛黑人xxxx黑人猛交 | 亚洲第一成人在线| 91久久国产综合精品女同我| 亚洲va欧美ⅴa国产va影院| 伊人久久久久久久| 青青操视频在线| 内射人妻无套中出无码| 欧美日韩激情在线| 热伊人99re久久精品最新地| 一本色道久久88| 91福利一区二区三区| 国产视频大全| 91精品啪在线观看国产| 亚洲a级毛片| 九色91在线视频| 亚洲无码高清免费视频亚洲| 蜜芽国产尤物av尤物在线看| 欧美午夜在线视频| 青青操视频免费观看| 天堂在线视频精品| 国产精品永久免费嫩草研究院| 亚洲成人精品在线| 中文字幕在线观| 亚洲国产精品日韩专区AV| 在线日本国产成人免费的| 国产丝袜第一页| 永久天堂网Av| 国产一二三区视频| 色综合手机在线| 沈阳少妇高潮在线| 国产va在线| 久久人人97超碰人人澡爱香蕉| 欧类av怡春院| 亚洲国产综合自在线另类| 毛片在线看网站| 亚洲日本中文字幕乱码中文| 91外围女在线观看| 国产人成网线在线播放va| 特级做a爰片毛片免费69| 美女扒开下面流白浆在线试听| 日韩午夜片| 黄色在线不卡| 精品无码视频在线观看| 精品少妇人妻一区二区| 午夜一区二区三区| 毛片久久久| yy6080理论大片一级久久| 亚洲欧美日本国产综合在线 | 国产麻豆aⅴ精品无码| 国内精自线i品一区202| 在线观看亚洲人成网站| 全免费a级毛片免费看不卡| 久久99国产精品成人欧美| 中文字幕久久波多野结衣| 狼友视频国产精品首页| 欧美成人怡春院在线激情| 久久香蕉国产线|