Nova Patents
EP3522017A2

Streaming platform reader

Abstract

A streaming platform reader includes: a plurality of reader threads configured to retrieve messages from a plurality of partitions of a streaming platform, wherein each message in the plurality of partitions is associated with a unique identifier; a plurality of queues coupled to the plurality of reader threads configured to store messages or an end of partition signal from the reader threads, wherein each queue includes a first position that stores the earliest message stored by a queue; a writer thread controlled by gate control logic that: compares the identifiers of all of the messages in the first positions of the queues of the plurality of queues, and forwards, to a memory, the message associated with the earliest identifier; and wherein the gate control logic blocks the writer thread unless each of the queues contains a message or an end of partition signal.

EP3522017A2, drawing sheet 1
Sheet 1 of 11

Term

12.2 yearsto projected expiry

Projected expiry 6 December 2038, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

19 claims: 5 independent, 14 dependent

  1. 1
    A streaming platform reader comprising:a memory;a processor;a plurality of reader threads executed on the processor, wherein each of the reader threads is configured to retrieve messages from a partition of a plurality of partitions of a streaming platform, wherein each message in the plurality of partitions is associated with a unique identifier, and wherein the streaming platform transmits an end of partition signal to the reader thread associated with an empty partition;a plurality of queues stored in the memory and coupled to the plurality of reader threads, wherein each queue is configured to store messages or an end of partition signal from one of the reader threads, wherein each queue stores messages in a sequence messages are retrieved by the corresponding reader thread, and wherein each queue includes a first position that stores the earliest message stored by a queue;and a writer thread executed on the processor and controlled by gate control logic that: compares the identifiers of all of the messages in the first positions of the queues of the plurality of queues, and forwards, to a consuming application, the message associated with the earliest identifier;wherein the gate control logic blocks the writer thread unless each of the queues contains a message or an end of partition signal.
  2. 9
    A data transaction processing system comprising:a plurality of hardware matching processors that generate messages in a first sequence, the messages transmitted to a data warehouse and a streaming platform in the first sequence, the streaming platform storing the messages across a plurality of partitions;a streaming platform reader that retrieves the messages from the plurality of partitions and rearranges the messages to be in the first sequence;and an auditing system that compares the messages from the memory to the messages transmitted to the data warehouse.
  3. 13
    A computer implemented method of processing messages from a streaming platform including a plurality of partitions, wherein each partition is configured to store messages in a sequence in which the messages were received by the partition, the sequence including a first-received message, the method comprising:receiving, by a processor, for each partition of the plurality of partitions, one of: (i) messages stored in the partition in the sequence in which the messages were received by the partition, wherein each message in the plurality of partitions is associated with a unique identifier, or (ii) an end of partition signal for a partition that does not contain a message;upon determining, by the processor, that a message or an end of partition signal has been received for each partition of the plurality of partitions, comparing, by the processor, the unique identifiers of each of the received first-received messages;and forwarding, by the processor, to a memory the first-received message having the earliest identifier.
  4. 18
    A non-transitory computer readable medium for processing messages from a streaming platform including a plurality of partitions, wherein each partition is configured to store messages in a sequence in which the messages were received by the partition, the sequence including a first-received message, the non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to perform the method of any one of claims 13 to 17.
  5. 19
    A computer system for processing messages from a streaming platform including a plurality of partitions, wherein each partition is configured to store messages in a sequence in which the messages were received by the partition, the sequence including a first-received message, the computer system comprising:a processor;and a memory communicatively coupled to the processor, the memory comprising software that, when executed by the processor, performs operations that cause the processor to: receive, for each partition of the plurality of partitions, one of: (i) messages stored in the partition in the sequence in which the messages were received by the partition, wherein each message in the plurality of partitions is associated with a unique identifier, or (ii) an end of partition signal for a partition that does not contain a message;upon determining that a message or an end of partition signal has been received for each partition of the plurality of partitions, compare the unique identifiers of each of the received first-received messages;and store in the memory the first-received message having the earliest identifier.