US 11,734,245 B1
Systems and methods for storing time-series data
Glen A. Becker, San Antonio, TX (US)
Assigned to United Services Automobile Association (USAA), San Antonio, TX (US)
Filed by United Services Automobile Association (USAA), San Antonio, TX (US)
Filed on Jan. 14, 2022, as Appl. No. 17/576,659.
Application 17/576,659 is a continuation of application No. 16/230,544, filed on Dec. 21, 2018, granted, now 11,226,947.
Application 16/230,544 is a continuation of application No. 14/948,003, filed on Nov. 20, 2015, granted, now 10,168,921, issued on Jan. 19, 2019.
Application 14/948,003 is a continuation of application No. 13/754,190, filed on Jan. 30, 2013, granted, now 9,195,700, issued on Nov. 24, 2015.
Application 13/754,190 is a continuation of application No. 11/869,983, filed on Oct. 10, 2007, abandoned.
Int. Cl. G06F 16/22 (2019.01); G06F 16/2455 (2019.01); G06F 16/2452 (2019.01); G06F 3/06 (2006.01)
CPC G06F 16/2272 (2019.01) [G06F 3/065 (2013.01); G06F 3/0619 (2013.01); G06F 3/0685 (2013.01); G06F 16/2291 (2019.01); G06F 16/2452 (2019.01); G06F 16/24565 (2019.01)] 18 Claims
OG exemplary drawing
 
1. A method comprising:
periodically receiving, by a processor coupled to a non-transitory storage memory, new data from one or more servers, the non-transitory storage memory comprising a first set of memory locations storing sorted existing data, the sorted existing data being sorted according to an object type associated with the sorted existing data and further according to a timestamp of the sorted existing data;
storing, by the processor, the new data into a second set of memory locations by appending the new data sequentially to the first set of memory locations;
during a time window to make a data file available for retrieval, determining, by the processor, whether an offline periodic full sort of the data file is performed at a current time; and
in response to the determining that an offline periodic full sort of the data file is performed at the current time:
sorting, by the processor, the new data into sorted new data, the sorted new data being sorted according to the object type associated with the new data and further according to a timestamp of the new data; and
merging, by the processor, the sorted new data in the second set of memory locations and the sorted existing data in the first set of memory locations, thereby generating merged data sorted according to the object type associated with the merged data and further according to a timestamp of the merged data, wherein the merging includes purging a subset data of the merged data outside a history window.