US 11,055,685 B2
Sorted parallel processing of a large dataset
Matthew L. Tribble, Plano, TX (US); and Hala Salim El-Ali, Murphy, TX (US)
Assigned to Capital One Services, LLC, McLean, VA (US)
Filed by Capital One Services, LLC, McLean, VA (US)
Filed on Jun. 26, 2019, as Appl. No. 16/453,947.
Prior Publication US 2020/0410471 A1, Dec. 31, 2020
Int. Cl. G06Q 20/24 (2012.01); G06F 16/9038 (2019.01); G06F 16/9035 (2019.01); G06Q 30/06 (2012.01)
CPC G06Q 20/24 (2013.01) [G06F 16/9035 (2019.01); G06F 16/9038 (2019.01); G06Q 30/0633 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer implemented method, comprising:
receiving a search request containing a first attribute from a user's input in an interactive user interface of an application;
determining an intermediate result set of items in a database based on the search request;
sorting the items in the intermediate result set based on a second attribute, wherein the second attribute is a known attribute of each item and the second attribute is related to the first attribute;
dividing the sorted items into a plurality of batches, wherein each of the plurality of batches has a sequential identification number (ID);
determining the first attribute for each item using a plurality of search actors based on the second attribute of each respective item in a subset of the plurality of batches in parallel with other batches in the subset of the plurality of batches, wherein each of the plurality of search actors determines the first attribute for a respective batch of the subset;
collecting, via a search collector, the determined first attribute for each item in the subset of the plurality of batches into a staging map;
generating, via the search collector, a final result set of items prior to completion of determining the first attribute for all items in the plurality of batches, the generating the final result set of items comprising:
creating a sequentially-ordered list of items based on the determined first attribute in the staging map and the sequential ID in each of the subset of the plurality of batches;
identifying the final result set of items in the sequentially-ordered list of items based on a comparison between the determined first attribute of each item in the subset of the plurality of batches and a target-value, wherein the target value is based on the second attribute of a last-in-sequence item in each of the subset of the plurality of batches; and
adding additional items from the sequentially-ordered list of items to the final result set of items until a number of items in the final result set reaches a stop flag number; and
displaying, in response to the user's input, at least a portion of the final result set of items to the user in the interactive user interface while determining the first attribute for additional items in the plurality of batches using additional search actors,
wherein the receiving, determining, sorting, dividing, determining, collecting, generating, creating, identifying, adding, and displaying are performed by one or more computers.