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
主站蜘蛛池模板: 久久国产黑丝袜视频| 国产精品欧美在线观看| 国产精品久久久久久久久久98| 国产成熟女人性满足视频| 欧美劲爆第一页| 成人午夜视频网站| 久久精品免费看一| 婷婷五月在线| 久久综合九九亚洲一区| 亚洲天堂.com| 51国产偷自视频区视频手机观看 | 露脸真实国语乱在线观看| 国产一区免费在线观看| 亚洲第一综合天堂另类专| 久久国产乱子| 亚洲日韩Av中文字幕无码| 97在线免费视频| 五月激情婷婷综合| 试看120秒男女啪啪免费| 国产黄在线免费观看| 免费看久久精品99| 综合网天天| 精品日韩亚洲欧美高清a| 不卡的在线视频免费观看| 精品自窥自偷在线看| 国产成人免费观看在线视频| 午夜视频日本| 91精品国产无线乱码在线| 美女一级毛片无遮挡内谢| 国产第四页| 久久这里只精品国产99热8| 国产女同自拍视频| 国产中文一区a级毛片视频 | 性欧美精品xxxx| 欧美精品高清| 国产美女主播一级成人毛片| 国产福利影院在线观看| 99热这里只有免费国产精品 | 国产微拍一区二区三区四区| 91国内外精品自在线播放| 亚洲天堂网在线观看视频| 亚洲无码久久久久| 欧美日韩专区| 亚洲日韩精品无码专区97| 波多野结衣无码视频在线观看| 国产精品视频观看裸模| 欧美亚洲欧美区| 又粗又大又爽又紧免费视频| 欧美一级在线| 激情五月婷婷综合网| 免费在线国产一区二区三区精品| 欧美亚洲国产一区| 日韩无码视频专区| 亚洲无码37.| 亚洲中文精品久久久久久不卡| 特级欧美视频aaaaaa| 国产情侣一区二区三区| 精品久久综合1区2区3区激情| 午夜视频在线观看区二区| 欧美在线视频不卡第一页| 日韩性网站| 亚洲91精品视频| 国产一级毛片高清完整视频版| 91久草视频| 蜜臀AV在线播放| 欧美 亚洲 日韩 国产| 激情乱人伦| 精品视频第一页| 99在线视频免费| 日韩精品一区二区三区免费| 国产激情第一页| 国产小视频网站| 97人妻精品专区久久久久| 天天色综合4| 日韩天堂视频| lhav亚洲精品| 国产主播福利在线观看| 亚洲AⅤ综合在线欧美一区| 性69交片免费看| 久久毛片网| 五月激情婷婷综合| 九九热视频精品在线|