Recovery strategy for a stream processing system
First Claim
1. A method comprising:
- receiving, at an IoT platform and via one or more input pipelines, data from one or more input data streams and transforming the received data for processing, the received data being a collection of one or more events, the IoT platform supporting processing of data streams and historical batch data and supporting virtual applications for processing data for multiple tenants of the IoT platform, wherein processing of data associated with one tenant is isolated from processing of data from another tenant;
assigning priority levels to the one or more input pipelines;
processing the transformed data in two or more batches according to the priority levels assigned to the one or more input pipelines, and wherein each of the two or more batches are processed on a stage by stage basis according to dependencies defined between stages of batch processing; and
monitoring performance metrics of the IoT platform and one or more applications supported by the IoT platform, the IoT platform the metrics being based at least on one or more application records for the one or more applications supported by the IoT platform, the one or more application records including a plurality of contact records, a plurality of account records, other records, or a combination thereof.
1 Assignment
0 Petitions
Accused Products
Abstract
The technology disclosed relates to discovering multiple previously unknown and undetected technical problems in fault tolerance and data recovery mechanisms of modern stream processing systems. In addition, it relates to providing technical solutions to these previously unknown and undetected problems. In particular, the technology disclosed relates to discovering the problem of modification of batch size of a given batch during its replay after a processing failure. This problem results in over-count when the input during replay is not a superset of the input fed at the original play. Further, the technology disclosed discovers the problem of inaccurate counter updates in replay schemes of modern stream processing systems when one or more keys disappear between a batch'"'"'s first play and its replay. This problem is exacerbated when data in batches is merged or mapped with data from an external data store.
15 Citations
15 Claims
-
1. A method comprising:
-
receiving, at an IoT platform and via one or more input pipelines, data from one or more input data streams and transforming the received data for processing, the received data being a collection of one or more events, the IoT platform supporting processing of data streams and historical batch data and supporting virtual applications for processing data for multiple tenants of the IoT platform, wherein processing of data associated with one tenant is isolated from processing of data from another tenant; assigning priority levels to the one or more input pipelines; processing the transformed data in two or more batches according to the priority levels assigned to the one or more input pipelines, and wherein each of the two or more batches are processed on a stage by stage basis according to dependencies defined between stages of batch processing; and monitoring performance metrics of the IoT platform and one or more applications supported by the IoT platform, the IoT platform the metrics being based at least on one or more application records for the one or more applications supported by the IoT platform, the one or more application records including a plurality of contact records, a plurality of account records, other records, or a combination thereof. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus comprising, comprising:
-
a processor, memory in electronic communication with the processor; and instructions stored in the memory and executable by the processor to cause the apparatus to; receive, at an IoT platform and via one or more input pipelines, data from one or more input data streams and transforming the received data for processing, the received data being a collection of one or more events, the IoT platform supporting processing of data streams and historical batch data and supporting virtual applications for processing data for multiple tenants of the IoT platform, wherein processing of data associated with one tenant is isolated from processing of data from another tenant; assign priority levels to the one or more input pipelines; process the transformed data in two or more batches according to the priority levels assigned to the one or more input pipelines, and wherein each of the two or more batches are processed on a stage by stage basis according to dependencies defined between stages of batch processing; and monitor performance metrics of the IoT platform and one or more applications supported by the IoT platform, the IoT platform the metrics being based at least on one or more application records for the one or more applications supported by the IoT platform, the one or more application records including a plurality of contact records, a plurality of account records, other records, or a combination thereof. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium storing code, the code comprising instructions executable by a processor to:
-
receive, at an IoT platform and via one or more input pipelines, data from one or more input data streams and transforming the received data for processing, the received data being a collection of one or more events, the IoT platform supporting processing of data streams and historical batch data and supporting virtual applications for processing data for multiple tenants of the IoT platform, wherein processing of data associated with one tenant is isolated from processing of data from another tenant; assign priority levels to the one or more input pipelines; process the transformed data in two or more batches according to the priority levels assigned to the one or more input pipelines, and wherein each of the two or more batches are processed on a stage by stage basis according to dependencies defined between stages of batch processing; and monitor performance metrics of the IoT platform and one or more applications supported by the IoT platform, the IoT platform the metrics being based at least on one or more application records for the one or more applications supported by the IoT platform, the one or more application records including a plurality of contact records, a plurality of account records, other records, or a combination thereof. - View Dependent Claims (12, 13, 14, 15)
-
Specification