×

Managing snapshots and application state in micro-batch based event processing systems

  • US 10,713,249 B2
  • Filed: 09/15/2017
  • Issued: 07/14/2020
  • Est. Priority Date: 09/15/2016
  • Status: Active Grant
First Claim
Patent Images

1. A method for managing snapshots created from a Continuous Query Language (CQL) engine, comprising:

  • receiving, by a computing device, a continuous query;

    applying, by the computing device, a Directed Acrylic Graph (DAG) transformation to the continuous query to generate a query plan for the continuous query, wherein the query plan is an ordered set of steps used to access data for processing of the continuous query;

    applying, by the computing device, a CQL transformation to the query plan to generate a transformed query plan;

    receiving, by a computing device, a micro-batch stream of input events related to an application;

    processing, by the computing device, the input events using the CQL engine to generate a set of output events related to the application, wherein the processing comprises;

    performing, by the CQL engine, incremental computation on each of the input events of the micro-batch stream for the continuous query based at least in part on the transformed query plan; and

    creating, by the CQL engine, output events for each of the input events of the micro-batch stream, wherein the set of output events comprise the output events for each of the input events of the micro-batch stream;

    generating, by the computing device and using a snapshot management algorithm implemented by the CQL engine, a snapshot of a current state of a system based at least in part on the set of output events related to the application;

    generating, by the computing device, a first directory structure to access snapshot information associated with the snapshot of the current state of the system;

    generating, by the computing device, a second directory structure to generate a list of snapshots associated with the current state of the system; and

    determining, by the computing device, based at least in part on the snapshot management algorithm, a process to get, add, or clean the list of snapshots associated with the current state of the system.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×