Event processing with enhanced throughput
First Claim
1. A digital data processing system comprisinga producer node in communicative coupling with one or more consumer nodes and with a sharding map, wherein the producer node is configured to:
- receive at least one event stream comprising a plurality of events;
determine a sharding key associated with an event among the plurality of events in the event stream;
identify, based on the sharding map, a producer event buffer associated with a producer channel on the producer node for transmitting the event to a corresponding consumer event buffer associated with a consumer channel on a consumer node among the one or more consumer nodes, wherein the sharding map correlates the sharding key for the event with the producer channel; and
provide the event to the producer event buffer associated with the producer channel in order to transmit the event to the corresponding consumer event buffer associated with the consumer channel on the consumer node,wherein the producer node is further configured to initialize a plurality of producer channels byreferencing a channel map that correlates an event in the event stream with one or more consumer channels on the one or more consumer nodes;
creating at least one producer channel based on the channel map that is communicatively coupled with a corresponding consumer channel among the one or more consumer channels; and
updating the sharding map to correlate the sharding key for the event with the at least one producer channel created based on the channel map.
1 Assignment
0 Petitions
Accused Products
Abstract
The present systems and methods allow for rapid processing of large volumes of events. A producer node in a cluster determines a sharding key for a received event from an event stream. The producer node uses a sharding map to correlate the sharding key for the event with a producer channel, and provides the event to a producer event buffer associated with the producer channel. The producer event buffer transmits the event to a corresponding consumer event buffer associated with a consumer channel on a consumer node. The event processing leverages a paired relationship between producer channels on the producer node and consumer channels on the consumer node, so as to generate enhanced throughput. The event processing also supports dynamic rebalancing of the system in response to adding or removing producer or consumer nodes, or adding or removing producer or consumer channels to or from producer or consumer nodes.
665 Citations
18 Claims
-
1. A digital data processing system comprising
a producer node in communicative coupling with one or more consumer nodes and with a sharding map, wherein the producer node is configured to: -
receive at least one event stream comprising a plurality of events; determine a sharding key associated with an event among the plurality of events in the event stream; identify, based on the sharding map, a producer event buffer associated with a producer channel on the producer node for transmitting the event to a corresponding consumer event buffer associated with a consumer channel on a consumer node among the one or more consumer nodes, wherein the sharding map correlates the sharding key for the event with the producer channel; and provide the event to the producer event buffer associated with the producer channel in order to transmit the event to the corresponding consumer event buffer associated with the consumer channel on the consumer node, wherein the producer node is further configured to initialize a plurality of producer channels by referencing a channel map that correlates an event in the event stream with one or more consumer channels on the one or more consumer nodes; creating at least one producer channel based on the channel map that is communicatively coupled with a corresponding consumer channel among the one or more consumer channels; and updating the sharding map to correlate the sharding key for the event with the at least one producer channel created based on the channel map. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for event processing, the method comprising:
-
receiving, by a producer node, at least one event stream comprising a plurality of events, wherein the producer node is in communicative coupling with one or more consumer nodes and with a sharding map; determining, with the producer node, a sharding key associated with an event among the plurality of events in the event stream; identifying, based on the sharding map, a producer event buffer associated with a producer channel on the producer node for transmitting the event to a corresponding consumer event buffer associated with a consumer channel on a consumer node among the one or more consumer nodes, wherein the sharding map correlates the sharding key for the event with the producer channel; providing the event to the producer event buffer associated with the producer channel in order to transmit the event to the corresponding consumer event buffer associated with the consumer channel on the consumer node; initializing a plurality of producer channels by; referencing, with the producer node, a channel map that correlates an event in the event stream with one or more consumer channels on the one or more consumer nodes; creating at least one producer channel based on the channel map that is communicatively coupled with a corresponding consumer channel among the one or more consumer channels; and updating the sharding map to correlate the sharding key for the event with the at least one producer channel created based on the channel map. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification