■任賀騰
(廣東金融學院)
復雜事件處理技術簡稱為CEP,屬于一種結合主動數據庫、數據流處理而形成的新的數據處理技術,能夠應對一些較為繁雜的數據處理工作,且具有實時性和高效性的特點。這一技術以事件驅動為基礎模式,將信息抽象為事件,簡化了原有的復雜事件,使其成為便于識別的數據,用戶根據數據選擇自己關心的事件,進行檢測或者查詢。這種數據處理模式降低了處理難度,并且使處理工作有的放矢,提高了數據處理效率。當前,制造業(yè)在質量成本管理方面不斷加大投入,將CEP技術應用其中已經成為社會關注的熱點,應該加強研究,有效利用CEP技術解決質量成本管理問題。
復雜事件處理技術,屬于一種新興技術,簡稱為CEP,這一技術最早是由史丹佛大學的David Luckham與Brian Fraseca提出,隨著有關方面研究不斷深入,使用范圍不斷拓展,復雜事件處理技術已經成為世界事件處理方面的主流技術,能夠根據實際需求,進行有價值信息的提取,將繁瑣復雜事件簡化。CEP技術這一功能的發(fā)揮依賴于具有強大的主動數據庫。
(1)簡單事件。對于簡單事件,可以表示為E=(ID,Attrs,Time),ID屬于事件的唯一標識,Attrs表示事件的屬性,通常情況下表示為一個屬性集合,即Attrs(A1,A2,...,An),Time標識事件發(fā)生的瞬時時間。
(2)復雜事件。復雜事件屬于多個基本事件,經過CEP系統(tǒng)處理和分析之后,按照相互之間的關聯(lián)性組成在一起的事件,例如服務器20分鐘的平均響應時間,某個客戶1小時內的交易金額等等[1]。從業(yè)務角度進行分析,對于商戶而言,雖然用戶登錄和下單屬于兩個不同的基本事件,如果假設給予來自不同廣告商用戶一定折扣,則需要將兩個事件組合在一起。復雜事件可以表示為CE=(Es,Rule,[T1,T2]),其中,Es代表簡單事件集合,Rule代表簡單事件過濾聚合等方面規(guī)則,[T1,T2]屬于時間表征,代表復雜事件發(fā)生時間跨度。由此可見,復雜事件并不是在同一時間所有基本事件共同發(fā)生,而是一個過程,且所有基本事件之間需要具有聯(lián)系,否則不能構成復雜事件。
(3)事件表達式。根據相關方面文獻資料的整理和分析,事件表達式如下所示。具體包含事件源、模式、約束條件、時間約束和返回事件等。
(4)事件運算符。常用的事件運算符如下:“∧”代表事件共同,“∣”代表進行事件選擇,“∨”代表進行事件合并,“┒”代表否定,“<”代表事件按照一定順序發(fā)生[2]。
通常情況下,典型的CEP系統(tǒng),將會包涵一下要素:
(1)事件處理模式。整個CEP系統(tǒng)需要在事件流上注冊相應的事件處理模式,然后通過事件處理模式進行事件處理,事件處理模式越多越有效,處理能力越強,處理效果越優(yōu)[3]。通過總結,主要的處理模式包括:聚合、多事件關聯(lián)、過濾、事件增強、事件修改、規(guī)則匹配等。
(2)事件處理語言。事件處理語言主要用于描述事件處理過程和模式,例如Stanford Stream DataManager中所提出的持續(xù)查詢語言——CQL,采用類SQL的語法形式,在多數商業(yè)和開源產品之中,已經對CQL進行了擴展使用。
(3)規(guī)則引擎。規(guī)則引擎根據復雜事件的關鍵組件設置,對于復雜事件的基本情況進行評價,并匹配相應的規(guī)則,給出最終決策,決策的合理性受到匹配規(guī)則合理性的影響[4]。
(4)支撐系統(tǒng)。支撐系統(tǒng)的主要作用在于支持其他系統(tǒng)功能的正常發(fā)揮,能夠起到調節(jié)、保護、強化等功能,例如分布式存儲、緩存、線程池、消息隊列等等。
復雜事件處理技術針對復雜事件開展具體的處理工作,處理系統(tǒng)具有較強的邏輯分析能力,具體開展工作時,需要注意以下幾點:其一,增強信息采集的及時性、準確性和全面性,信息屬于整個系統(tǒng)開展工作的基礎,如果有關質量成本的信息失真、失效,那么后續(xù)的分析工作將會失去實際意義。其二,質量成本分析必須選擇恰當的模型、工具、系統(tǒng)等開展實際工作,當前,有關財務管理方面的軟件較多,為質量成本分析提供了有力支持。其三,質量成本分析包含的內容主要為損失成本、鑒定成本、預防成本等,應用復雜技術進行相關成本分析的過程中,需要兼顧每一個成本因素的特點,通過分析得出客觀結果,并將結果有效應用于質量成本管理治中,起到降低成本的效果。除此以外,質量成本管理工作需要注重動態(tài)性和實時性,復雜事件處理必須及時開展,增強實際效果,做到及時發(fā)現問題,及時解決問題。
國外有關復雜事件處理方面的研究較為深入,相關的大學和科研院所對于復雜事件處理展開了拓展性研究,有關CEP產品方面,推出了實用性較強的商業(yè)化產品,出現了相關方面實力較強的研發(fā)公司,例如Microsoft、Oracle、Tibco、IBM、StreamBase等。具有代表性的產品如下:
斯坦福大學在2001年開始研究流事件處理,開發(fā)的處理系統(tǒng)為Stream Data Manager,使用的語言為類SQL的持續(xù)查詢語言CQL,實現了流數據處理模型與關系型數據庫之間的對接。美國加州大學研發(fā)了數據流管理系統(tǒng),即TelegraphCQ,具有連續(xù)查詢的能力,并且主要針對電信領域,具有較好的應用效果。Borealis屬于分布式事件處理引擎,能夠接受一系列事件,并對其進行統(tǒng)計、連接、修改、過濾、合并等處理,輸出具有應用價值的處理結果。ESPER屬于應用較為廣泛的開源復雜事件處理系統(tǒng),在業(yè)務流程管理、金融行業(yè)實時分析、風險監(jiān)測等方面應用較多,這一系統(tǒng)可以提供強大的EPL處理語言,描述典型事件處理模式,支持滑動窗口、長度等方面的統(tǒng)計。除此以外,一些互聯(lián)網公司推出了分布式流計算產品,例如Yahoo推出的S4,Twitter推出的Storm等,屬于數據流計算的基礎框架產品。
CEP系統(tǒng)運行過程中,需要對事件進行實時統(tǒng)計,與傳統(tǒng)的數據庫統(tǒng)計模式相比,事件流具有持續(xù)性、不間斷的特點,因此,需要選擇統(tǒng)計分析的區(qū)間,針對性的開展數據統(tǒng)計工作。常見的包括滑動時間窗口、數量窗口等統(tǒng)計。流事件統(tǒng)計工作開展,面臨的問題主要包括滑動窗口上的聚焦、滑動窗口內不同數值個數統(tǒng)計。對于數據流統(tǒng)計計算的方法主要包括隨機抽樣法、滑動窗口法、直方圖法、小波技術法和哈希方法等。
隨機抽樣法,主要是從數據集中抽取具有能夠代表整個數據集特征的部分數據作為樣本,并給予這一樣本集獲得相似的查詢結果,精度相對較低。直方圖法,將大數據集劃分成多個連續(xù)的桶,形成不同的小數據集合,每個桶皆具有一個特征值。直方圖的種類包括寬直方圖、V-優(yōu)化直方圖、端偏倚直方圖等。哈希方法,主要用于大數據的處理,形成一組哈希函數,將較大范圍的數據映射成較小的范圍,起到化繁為簡的效果。例如,在數據流的Distinct Count計算之中,Bloom Filter方法可以使用一小塊小于數據集數據范圍的內存空間表示數據集。
在實際應用過程中,復雜產品的不同處理產品和算法需要根據現狀進行選擇,以優(yōu)質高效、精準快速、簡單易行為主,尤其是對于一些復雜的問題,可以使用多種方法聯(lián)合使用的模式,提高處理效果。
生產制造類企業(yè)產品生產屬于主營業(yè)務,多采用車間流水作業(yè)模式,為了保證產品質量,每個產品皆存在預防成本,目的是為了保證產品質量滿足實際要求,盡量消除不合格產品,減少次品率和故障率。具體工作內容如下:根據實際情況進行質量保障計劃制定、針對性進行員工崗前技能和要求等方面培訓、建立產品改進措施、新產品評估鑒定所需人工費、機械費等等。投入預防成本之后,生產線加工產品的過程中,竟會受到內部和外部因素的影響產生一定的損失費用。具體包括不合格品的損失、返修品損失等等。最后,將會涉及到鑒定成本,主要用于鑒定產品是否滿足實際要求,具體包括工序檢驗、成品檢驗和質量審核所產生的費用。除此以外,產品鑒定費用還會受到鑒定數量、鑒定儀器等方面的影響。
CEP系統(tǒng)主要由ActiveMQ集群、CEP應用集群、HBase集群組成,其中,ActiveMQ集群屬于企業(yè)公用集群,因此,本次研究主要介紹CEP應用集群和HBase集群,詳細情況如下所示。
(1)CEP應用集群設置。CEP應用集群設置主要包括虛擬機、OS、CPU等部分,具體情況如表1所示。每一部分皆根據實際需求進行設置,可以適當進行改進。
表1 CEP應用集群
(2)HBase集群。HBase集群能夠存儲CEP的中間數據,并且還可以存儲大量的原始事件,便于后續(xù)查詢,因此,需要加大存儲量,詳細配置情況如表2所示。
表 2 HBase 集群
結合CEP技術的特點,針對制造行業(yè)的質量成本處理框架設計如圖1所示。
圖1 基于復雜事件的質量成本處理框架
(1)事件源則屬于事件來源,相應事件皆與質量成本管理有關,數據和信息可以反映質量成本情況,具體包括生產線相關設備數據信息,例如RFID讀取設備、手持機以及傳感器等。這些設備將會受到實際情況的影響,產生相應的質量成本信息,為了保證信息及時有效,應該加強信息采集的實時性。
(2)事件預處理,屬于事件的初步處理環(huán)節(jié),依據規(guī)則庫對事件的定義,給出檢測結果,并將所有收集到的數據進行統(tǒng)一格式處理。目的是為后續(xù)深度處理奠定基礎。預處理雖然不夠細化,但可以在一定程度上降低后續(xù)處理的復雜性,使相關的數據規(guī)范化,便于識別。
(3)事件緩存,能夠起到調節(jié)作用,控制相應事件上傳速度,根據需求,適時進行事件上傳速度增減控制。主要目的是為了環(huán)節(jié)處理模塊的壓力,避免工作量較大帶來的處理混亂和滯留問題,并通過及時供給處理內容而提升處理模塊的工作效率。
(4)事件查詢和反饋,具有傳遞和查詢功能,按照設置路徑傳遞經過處理模塊處理后的用戶查詢信息,并及時接收用戶信息查詢請求。事件查詢和反饋需要體現安全性和及時性,對于事件查詢必須經過身份驗證和識別,對于事件反饋需要及時有效,這需要整個系統(tǒng)具有更高的智能化水平。
(5)最上層應用模塊,屬于用戶操作平臺,程序設置包括查詢和接收結果等,應用模塊設置需要盡量考慮擦操作的便捷性,通過人工與智能化系統(tǒng)的結合,提升操作效率,減少誤差。
(6)規(guī)則庫,用于規(guī)則生成和提供,規(guī)則制定依據為用戶查詢的事件,然后上傳到相關模塊,作為模塊運行的依據。
規(guī)則引擎是由專家系統(tǒng)推理引擎發(fā)展而來,適用于業(yè)務的多變性特點,屬于CEP系統(tǒng)中重要組成部分,目的是快速進行管理決策,有關規(guī)則引擎的相關內容介紹如下所示。
(1)規(guī)則引擎設計決策。本次研究選擇的規(guī)則引擎為Drools,屬于世界流行的開源規(guī)則引擎產品,具體算法為基于Charles Forgy’s的RETE算法。便于訪問企業(yè)策略,易于調整及管理開源業(yè)務規(guī)則引擎,符合業(yè)內標準,具有優(yōu)質高效的優(yōu)點。具體包括Inference Engine、ProductionMemory、WorkingMemory、Agenda、Patten Matching 五個部分。其中,Inference Engine 屬于進行匹配的引擎。ProductionMemory屬于被訪問的規(guī)則。WorkingMemory屬于被推理機進行匹配的數據集合。Agenda代表管理被匹配規(guī)則的執(zhí)行。Patten Matching可以對新的數據和被修改的數據進行規(guī)則的匹配。
(2)規(guī)則語言設計。對于規(guī)則語言實現工作開展,需要做好以下幾方面工作:其一,合理定義規(guī)則語言。其二,規(guī)則語言在進行語法和詞法分析過程中,使用ANTLR,產生抽象語法樹,即AST。其三,使用Vistor模式,進行抽象語法樹遍歷,針對不同的Vistor模式可以翻譯成特定底層,或者直接解釋執(zhí)行。
(3)語法規(guī)范設計。語法規(guī)范最常用的規(guī)則:$event.amount>100&&userId=’frankdoul’,這一規(guī)則屬于布達爾表達式。
(4)規(guī)則管理。在整個系統(tǒng)之中,規(guī)則被劃分為規(guī)則組(RuleGroup),每個規(guī)則組具有唯一的規(guī)則,不存在規(guī)則多樣的情況,具體的規(guī)則標識為ID(GroupID),每個規(guī)則是由若干條規(guī)則組成的規(guī)則集合,通過制定規(guī)則組ID決定選擇那些規(guī)則進行決策。系統(tǒng)中規(guī)則匹配的入口點為RuleMatchService。
(5)規(guī)則引擎應用。RuleMatchEP數與規(guī)則匹配事件處理器,主要作用在于將當前事件與某個指定規(guī)則組匹配在一起,并將匹配結果放置在新事件之中,具體的匹配格式如下所示:
結合上述的處理框架以及引擎,進行實際應用研究,相關的數據如表3所示。
(1)選擇掃描件間隔為1小時,掃描對象為預防成本在1.1以上時的產品合格率,具體語言描述如下:
SELECT YIELD FROM patten[every(Pcost> 1.1)]-> timer:interval(1 hour)。
(2)掃描時間間隔為1小時,掃描預防成本范圍在1.1和1.2之間、損失成本范圍在1.1和1.2之間的合格率,具體的語言描述如下:
表3 部分質量成本數據
SELECT YIELD FROM patten[every(1.1 < Pcost< 1.2and1.1 < Lcost< 1.2)]- > timer:interval(1 hour)。
(3)如果3個連續(xù)預防成本均值大于1.2,,損失成本均值大于1.3時,進行數據輸出,相應的語言描述如下所示:
select*from pattern.[having avg(Pcost)> 1.2and avg(Lcost)> 1.3]- > win:length(3)。
綜上說述,使用復雜處理技術進行質量成本控制,能夠進行質量成本控制工作復雜性的簡化處理,獲取處理所需的有效信息,提高處理效率。與此同時,當前的CEP技術相對較為成熟,相關的產品、系統(tǒng)、算法等不斷進行改進,本次研究結合企業(yè)生產場景,建立質量成本處理框架,并對相關的規(guī)則引擎進行設計與介紹,保證規(guī)則能夠適用于當前的處理系統(tǒng),從而更加高效的對企業(yè)的生產工序進行檢測與分析,使企業(yè)能夠客觀了解質量成本情況,解決問題,改善現狀。