System and method for handling out-of-order data supplied by a real-time feed
First Claim
1. A method for handling out-of-sequence data supplied by a real-time feed, comprising:
- receiving data on a real-time basis;
checking if the data is out-of-sequence;
if the data contains out-of-sequence data, inserting the out-of-sequence data in an unordered list;
if the data contains in-sequence data, inserting the in-sequence data in an ordered list;
checking the unordered list for unflushed data;
if the unflushed data is found in the unordered list, flushing the unflushed data; and
ordering the data that has been flushed, in a predetermined sequence.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and associate method handle out-of-order data supplied by a real-time feed, and ingests the real-time feed fast enough to keep up with the feed rate while storing the data in a database in a time-ordered or other sequential manner without discarding any data. The present system adds a second unordered list for out-of-order data received from the feed or from a replay feed. A data element received from the feed, which has a time stamp earlier than the last data element placed in the ordered list, is placed in the unordered list. If replay data is received, the replay data elements are placed in the unordered list without verifying the time stamp. The data is then flushed from these memory lists to a database. Both the ordered list and the unordered list are inputted into the database. The database handles the ordering and merging of these two lists on insertion. The ordered data is still available to the user for real-time query in memory while all data elements are available for analysis in the database.
38 Citations
30 Claims
-
1. A method for handling out-of-sequence data supplied by a real-time feed, comprising:
-
receiving data on a real-time basis;
checking if the data is out-of-sequence;
if the data contains out-of-sequence data, inserting the out-of-sequence data in an unordered list;
if the data contains in-sequence data, inserting the in-sequence data in an ordered list;
checking the unordered list for unflushed data;
if the unflushed data is found in the unordered list, flushing the unflushed data; and
ordering the data that has been flushed, in a predetermined sequence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product having instruction codes for handling out-of-sequence data supplied by a real-time feed, comprising:
-
a first set of instruction codes for checking if data received on a real-time basis is out-of-sequence;
if the data contains out-of-sequence data, the first set of instruction codes inserts the out-of-sequence data in an unordered list;
if the data contains in-sequence data, the first set of instruction codes inserts the in-sequence data in an ordered list;
a second set of instruction codes for checking the unordered list for unflushed data; and
if the unflushed data is found in the unordered list, the second set of instruction codes flushes the unflushed data and orders the data that has been flushed, in a predetermined sequence. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system having instruction codes for handling out-of-sequence data supplied by a real-time feed, comprising:
-
means for checking if data received on a real-time basis is out-of-sequence;
if the data contains out-of-sequence data, the checking means inserts the out-of-sequence data in an unordered list;
if the data contains in-sequence data, the checking means inserts the in-sequence data in an ordered list;
flushing means for checking the unordered list for unflushed data; and
if the unflushed data is found, the flushing means flushes the unflushed data and orders the data that has been flushed, in a predetermined sequence. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification