Systems and methods for storing time-series data
First Claim
Patent Images
1. A computer-implemented method comprising:
- receiving, by a volatile memory coupled to one or more server computers, a set of data from a first computer comprising a set of objects;
storing, by the volatile memory based on an organization'"'"'s policy, the set of data into a first set of memory locations of the volatile memory according to a first sort-order, wherein the first sort-order sorts the set of data according to an object type of each respective object in the set of objects;
in response to determining that a performance parameter satisfies a condition during a time period, storing, by a non-volatile memory coupled to the one or more server computers, the set of data into a second set of memory locations of the non-volatile memory according to a second sort-order, wherein a physical datastore comprises the volatile memory and the non-volatile memory, wherein the second sort-order sorts the set of data according to a timestamp of each respective object in the set of objects, wherein the storing the set of data into the non-volatile memory further comprises;
updating, by a server coupled to the non-volatile memory, a memory location of existing data stored in the non-volatile memory upon storing the set of data into the second set of memory locations according to the second sort-order, and wherein the memory location of the existing data is updated to a third set of memory locations within the non-volatile memory in accordance with the second sort-order and the third set of memory locations is configured to be purged;
receiving, by the volatile memory coupled to the one or more server computers, a new set of data; and
upon receiving the new set of data, updating the set of data by;
sorting, by the one or more server computers, the new set of data according to object types of the new set of data and according to timestamps of the new set of data;
merging, by the one or more server computers, the sorted new set of data and the data within the second set of memory locations, thereby generating merged data being sorted according to object types and timestamps, wherein the merging the sorted new set of data is performed when processing resources are below a threshold value; and
updating, by the one or more server computers, indexes corresponding to memory locations of the merged data to reflect new locations of the merged data.
2 Assignments
0 Petitions
Accused Products
Abstract
In various embodiments, a method for maintaining and analyzing a rolling history of performance data for a computer network is described. In one embodiment, one year'"'"'s data is stored, sorted by object and date. New data is appended to the end of the file each day and an index by object is stored. Using this method, data for twelve full months can be provided in object order, and data for one partial month that was added daily in date order can also be provided.
47 Citations
13 Claims
-
1. A computer-implemented method comprising:
-
receiving, by a volatile memory coupled to one or more server computers, a set of data from a first computer comprising a set of objects;
storing, by the volatile memory based on an organization'"'"'s policy, the set of data into a first set of memory locations of the volatile memory according to a first sort-order, wherein the first sort-order sorts the set of data according to an object type of each respective object in the set of objects;in response to determining that a performance parameter satisfies a condition during a time period, storing, by a non-volatile memory coupled to the one or more server computers, the set of data into a second set of memory locations of the non-volatile memory according to a second sort-order, wherein a physical datastore comprises the volatile memory and the non-volatile memory, wherein the second sort-order sorts the set of data according to a timestamp of each respective object in the set of objects, wherein the storing the set of data into the non-volatile memory further comprises;
updating, by a server coupled to the non-volatile memory, a memory location of existing data stored in the non-volatile memory upon storing the set of data into the second set of memory locations according to the second sort-order, and wherein the memory location of the existing data is updated to a third set of memory locations within the non-volatile memory in accordance with the second sort-order and the third set of memory locations is configured to be purged;receiving, by the volatile memory coupled to the one or more server computers, a new set of data; and upon receiving the new set of data, updating the set of data by; sorting, by the one or more server computers, the new set of data according to object types of the new set of data and according to timestamps of the new set of data; merging, by the one or more server computers, the sorted new set of data and the data within the second set of memory locations, thereby generating merged data being sorted according to object types and timestamps, wherein the merging the sorted new set of data is performed when processing resources are below a threshold value; and updating, by the one or more server computers, indexes corresponding to memory locations of the merged data to reflect new locations of the merged data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing system comprising:
-
a volatile memory coupled to one or more server computers, the volatile memory configured to receive a set of data from a first computer comprising a set of objects, and store the set of data into a first set of memory locations of the volatile memory according to a first sort-order, wherein the first sort-order sorts the set of data according to an object type of each respective object in the set of objects; a non-volatile memory coupled to one or more server computers, the non-volatile memory configured to store the set of data into a second set of memory locations of the non-volatile memory according to a second sort-order, wherein a physical datastore comprises the volatile memory and the non-volatile memory, and wherein the second sort-order sorts the set of data according to a timestamp of each respective object in the set of objects; and at least one server computer coupled to at least one of the volatile memory and the volatile memory, and configured to; in response to determining that a performance parameter satisfies a condition during a time period, store the set of data from the first set of memory locations of the volatile memory into the second set of memory locations of the non-volatile memory, wherein the storing the set of data into the non-volatile memory further comprises;
updating, by a server coupled to the non-volatile memory, a memory location of existing data stored in the non-volatile memory upon storing the set of data into the second set of memory locations according to the second sort-order, wherein the memory location of the existing data is updated to a third set of memory locations within the non-volatile memory in accordance with the second sort-order and the third set of memory locations is configured to be purged;upon the at least one server computer detecting a triggering condition associated with the set of data when the set of data is stored in the volatile memory, receive a new set of data; and upon receiving the new set of data, update the set of data by; sorting the new set of data according to object types of the new set of data and according to the timestamps of new set of data; merging the sorted new set of data and the data within the second set of memory locations, thereby generating merged data being sorted according to object types and timestamps, wherein the merging the sorted new set of data is performed when processing resources are below a threshold value, and updating indexes corresponding to memory locations of the merged data to reflect new locations of the merged data. - View Dependent Claims (9, 10, 11, 12, 13)
-
Specification