Jump to content

Event stream processing

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Xmlizer (talk | contribs) at 12:06, 11 February 2014 (Example). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Event stream processing, or ESP, is a set of technologies designed to assist the construction of event-driven information systems. ESP technologies include event visualization, event databases, event-driven middleware, and event processing languages, or complex event processing (CEP). In practice, the terms ESP and CEP are often used interchangeably, with CEP becoming a more fashionable term recently. ESP deals with the task of processing multiple streams of event data with the goal of identifying the meaningful events within those streams, employing techniques such as detection of complex patterns of many events, event correlation and abstraction, event hierarchies, and relationships between events such as causality, membership, and timing, and event-driven processes.

ESP enables applications such as algorithmic trading in financial services, RFID event processing applications, fraud detection, process monitoring, and location-based services in telecommunications.

Example

SQL

This example of an EPL (Event Processing Language) modelled on SQL illustrates how such a language may be used to perform complex event processing. This code fragment detects weddings among a flow of external "events" such as church bells ringing, the appearance of a man in a tuxedo or morning suit, a girl in a flowing white gown and rice flying through the air. A "complex" or "composite" event is what one infers from the individual simple events: a wedding is happening.

WHEN Person.Gender EQUALS "man" AND Person.Clothes EQUALS "tuxedo"
FOLLOWED-BY
  Person.Clothes EQUALS "gown" AND
  (Church_Bell OR Rice_Flying)
WITHIN 2 hours
ACTION Wedding

NoSQL

You can also do this kind of processing with NoSQL product.

One way to do that is via XML and XPath based languages like XSLT, XQuery, XProc or even Schematron

Here a XPath expression

 //Person[Gender = 'man' and Clothes = 'tuxedo' ./following::Person[[Clothes = 'gown'] and (ChurchBell or RiceFlying) and time < 2*60*60]

See also

  • Complex event processing (CEP) - A related technology for building and managing event-driven information systems.
  • Data Stream Management System (DSMS) - A type of software system for managing and querying data streams
  • openPDC A complete set of applications for processing streaming time-series data in real-time.
  • Real-time computing - ESP systems are typically real-time systems
  • RFID - Radio-frequency identification, or RFID, recommends application of ESP to prevent from data flooding
  • SCADA - Supervisory control and data acquisition, a similar technology used in engineering applications
  • Emergency processing and management [1]

References