Complex event processing ( CEP ) är bearbetningen av flera händelser som inträffar på alla nivåer i organisationen, samtidigt som man identifierar de viktigaste händelserna från uppsättningen av händelser, analyserar deras inverkan och vidtar lämpliga åtgärder i realtid .
Komplex händelsehantering avser processtillstånd , tillståndsändringar som överskrider en viss tröskelnivå, tidsändring, värdeökning eller antal händelser . Det kräver lämplig händelseövervakning, händelserapportering, händelseloggning och händelsefiltrering. En händelse observeras som en tillståndsändring med något fysiskt, logiskt eller annat diskriminerande tillstånd i ett tekniskt eller ekonomiskt system, information om varje tillstånd med en bifogad tidsstämpel bestämmer ordningen för händelsen, och en topologisk etikett bestämmer platsen för händelsen. .
Bland tusentals inkommande händelser kan ett övervakningssystem till exempel ta emot följande tre från samma källa:
Ur dessa händelser kan övervakningssystemet härleda den "komplexa händelsen": bröllopet. CEP-teknik hjälper till att upptäcka komplexa händelser genom att analysera och korrelera andra händelser: [1] klockor, en man och kvinna i bröllopskläder och ris som kastas upp i luften.
CEP baseras på ett antal tekniker [2] inklusive:
Kommersiella tillämpningar av CEP inkluderar algoritmisk handel , upptäckt av penningtvätt , betalkortsbedrägeri , övervakning av affärsaktiviteter och säkerhetsövervakning . [3]
CEP tillämpas främst inom Business Process Management (BPM) och relaterade områden.
Inom datornätverkshantering , systemhantering , applikationslivscykelhantering och tjänstehantering hänvisas vanligen till händelsekorrelation . I CEP-arkitekturen analyserar händelsekorrelationsfaciliteter (händelsekorrelatorer ) en mängd händelser, identifierar de viktigaste och initierar åtgärder. Men de flesta av dem ger inga nya händelser. Istället korrelerar de händelser på hög nivå med sådana på låg nivå. [fyra]
Inom artificiell intelligens genereras slutledningsinformation vanligtvis av en inferensmotor , till exempel ett regelbaserat system . Ny information produceras dock vanligtvis inte i form av komplexa (antagna) händelser.
Ett mer rigoröst användningsfall för CEP inkluderar ett fordon, flera sensorer och olika händelser och svar på dem. Föreställ dig att en bil har flera sensorer: en för att mäta däcktrycket, en annan för att mäta hastighet och en tredje som känner av om någon är i eller ur sätet.
I det första fallet rör sig bilen och trycket i ett av däcken reduceras från 45 psi till 41 psi inom 15 minuter. När däcktrycket sjunker genereras en serie händelser för att återspegla däcktrycket. Dessutom genereras en serie händelser som innehåller fordonets hastighet. Fordonshändelseprocessorn kan detektera en situation där en förlust av däcktryck under en relativt lång tidsperiod resulterar i genereringen av en "lossOfTirePressure"-händelse. Denna nya händelse kan utlösa en reaktionsprocess som markerar tryckförlusten i fordonets servicelogg och som även varnar föraren via fordonets dator om att däcktrycket har sjunkit.
I den andra situationen rör sig bilen och trycket på ett av däcken reduceras från 45 psi till 20 psi på 5 sekunder. En annan situation upptäcks - kanske för att tryckförlusten inträffade under en kort tidsperiod, eller kanske för att skillnaden i värden mellan varje händelse var större än en förutbestämd gräns. En annan situation gör att en ny "blowOutTire"-händelse genereras. Denna nya händelse utlöser en annan reaktionsprocess som omedelbart varnar föraren och initierar omborddatorprocedurer för att hjälpa föraren att sakta ner bilen till stopp utan att tappa kontrollen över bilen när den sladdar.
Dessutom kan händelser som representerar upptäckta situationer kombineras med andra händelser för att avslöja mer komplexa situationer. Till exempel, i den sista situationen, rörde sig bilen normalt, men ett däcksprängning inträffade, vilket gjorde att bilen åkte av vägen och träffade ett träd, och föraren kastades ut ur bilen. En rad olika situationer dyker snabbt upp. Kombinationen av "blowOutTire", "zeroSpeed" och "driverLeftSeat" på mycket kort tid leder till upptäckten av en ny situation: "occupantThrownAccident". Även om det inte finns några direkta mätningar som definitivt kan fastställa att en förare har kastats ut eller att en olycka har inträffat, gör kombinationen av händelser det möjligt att upptäcka en situation och skapa en ny händelse för att representera den upptäckta situationen. Detta är kärnan i en komplex (eller sammansatt) händelse. Det är komplext eftersom situationen inte kan upptäckas direkt; man måste dra slutsatsen att situationen uppstod från en kombination av andra händelser.
De flesta CEP-implementeringar och koncept kan klassificeras i två kategorier:
Den beräkningsorienterade implementeringen av CEP fokuserar på onlineexekvering av algoritmer som svar på händelsedata som kommer in i systemet. Ett enkelt exempel är att kontinuerligt medelvärde ett värde baserat på inkommande händelsedata.
Detektionsorienterad CEP fokuserar på detektering av kombinationer av händelser, så kallade händelsemönster eller situationer. Ett enkelt exempel på att definiera en situation är att leta efter ett specifikt händelseförlopp.
Naturligtvis existerar tillämpningen av en ny teknik sällan isolerat. Det är naturligt att införa CEP i affärsprocesshantering [5] . Affärsprocessledning är starkt fokuserad på end-to-end affärsprocesser med syftet att kontinuerligt optimera och anpassa sig till den operativa miljön.
Affärsoptimering baseras dock inte enbart på dess individuella, slutliga processer. Ofta kan till synes olika processer påverka varandra avsevärt. Tänk på det här scenariot: Inom flygindustrin är det god praxis att övervaka fordonsolyckor för att leta efter trender (identifiera potentiella svagheter i tillverkningsprocesser, material etc.) En annan separat process övervakar fordonens nuvarande livscykel och, om nödvändigt, avvecklingar dem i slutet av deras liv. När du använder CEP är det nödvändigt att länka dessa separata processer, och i händelse av att den initiala processen (brottsövervakning) upptäcker en metallutmattningsbaserad funktionsfel (väsentlig händelse), kan en åtgärd skapas med den andra processen (livscykeln) att återkalla fordon som använder metall av samma parti, där den första processen hittade fel.
Integreringen av CEP och affärsprocesshantering kan göras på två nivåer, både på affärsmedvetenhetsnivå (användare måste förstå de potentiella holistiska fördelarna med sina individuella processer) och på tekniknivå (det måste finnas en metod genom vilken CEP kan interagera med implementeringen av affärsprocesshantering).
Rollen för datorcentrerade CEP:er åsidosätts av teknik för affärsregler.