WO2017049757A1 - 存储时间序列数据的方法和装置 - Google Patents

存储时间序列数据的方法和装置 Download PDF

Info

Publication number
WO2017049757A1
WO2017049757A1 PCT/CN2015/095636 CN2015095636W WO2017049757A1 WO 2017049757 A1 WO2017049757 A1 WO 2017049757A1 CN 2015095636 W CN2015095636 W CN 2015095636W WO 2017049757 A1 WO2017049757 A1 WO 2017049757A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
time
time series
time interval
identification code
Prior art date
Application number
PCT/CN2015/095636
Other languages
English (en)
French (fr)
Inventor
薛英飞
赖春波
王仆
赵博
郑锋
Original Assignee
北京百度网讯科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京百度网讯科技有限公司 filed Critical 北京百度网讯科技有限公司
Priority to US15/533,966 priority Critical patent/US10606806B2/en
Publication of WO2017049757A1 publication Critical patent/WO2017049757A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Definitions

  • the present application relates to the field of computer technologies, and in particular, to the field of database technologies, and in particular, to a method and apparatus for storing time series data.
  • Time series data is a series of ordered data that is collected at different points in time. This type of data reflects the state or extent of a certain thing, phenomenon, indicator, etc. over time. Since the time series data is usually sample data of equal time interval, the existing method for storing time series data is generally: a memory area is reserved for each fixed time point according to the above time interval. When time series data of a point in time is received, the data is filled in a storage area reserved for the point in time.
  • the purpose of the present application is to propose a method and apparatus for storing time series data to solve the technical problems mentioned in the background section above.
  • the present application provides a method for storing time series data, the method comprising: storing, according to a time point of time series data, an indicator value of the time series data into a time interval data table, where
  • the time series data includes the following information: a time point, an index value associated with the time point, and each data line in the time interval data table is used to record at least one time point within a time interval of a predetermined length
  • An indicator value each of the at least one time point is separated by a predetermined length of time, each of the time points occupying a storage area of the memory, each of the storage areas including a predetermined number of bytes, each
  • the index value associated with the time point is filled in the storage area occupied by the time point; the storage area that is not filled with data is subjected to data compression processing to obtain time interval compressed data; and the time interval compressed data is written.
  • Into the disk the disk.
  • the time interval data table includes a primary key column, and a primary key value of each data row in the time interval data table includes a start time point value indicating a start point of a time interval corresponding to the data row .
  • the storing, according to the time of the time series data, the indicator value of the time series data in the time interval data table comprising: time interval data according to a time point of the time series data Matching, in the table, a data row corresponding to a time interval of a time point of the time series data; if the corresponding data row is matched, filling the index value of the time series data into the data row In the storage area corresponding to the time point; if there is no matching to the data line, a new data row is added, and the primary key value of the newly added data row includes the time point of the time series data, the new The data filled in the first storage area of the added data row is the index value of the time series data.
  • the time series data further includes: data source body identification code information, wherein the data source body identification code information is an identification code of a source body of the time series data.
  • the primary key value of each data row further includes a data source body identification code
  • the data source body identification code is an identification code of a source body of the indicator value data of the data row.
  • the time point according to the time series data corresponds to a time interval in a time interval data table that matches a time point of the time series data.
  • Data line includes: matching a time interval of a time point including the time series data in a time interval data table according to a time point of the time series data and a data source body identification code, and the primary key value includes the time series
  • the data source of the data is the data line of the subject identification code.
  • the primary key value of the newly added data row further includes a data source body identification code of the time series data.
  • the time series data further includes: indicator identification code information, where the indicator identification code is an identification code of an indicator corresponding to the indicator value of the time series data.
  • the primary key value of each data row further includes an indicator identification code, where the indicator identification code is an identification code of an indicator corresponding to the indicator value recorded by the data line.
  • the data row corresponding to the time interval of the time point including the time series data in the time interval data table according to the time point of the time series data includes: according to the time series a time point of the data, a data source body identification code, and an indicator identification code, the time interval in the time interval data table matching the time point of the time series data and the primary key value including the data source body identification code of the time series data And the data line of the indicator identification code.
  • the primary key value of the newly added data row further includes an indicator identification code of the time series data.
  • the time interval data table further includes an indicator value data set column for recording the indicator value of the at least one time point.
  • the indicator value data set column is further configured to record storage area status information, where the storage area status information in each data line in the time interval data table includes: in the data line a vacant state of each storage area, the vacant state indicating whether the storage area is filled with data; and the storage area in which the data is not filled is subjected to data compression processing, including: a storage area in which the storage area status is "idle" Perform data compression processing.
  • the present application provides an apparatus for storing time series data, the apparatus comprising: a data storage unit, configured to store an indicator value of the time series data into time interval data according to a time point of time series data In the table, wherein the time series data includes the following information: a time point, an indicator value associated with the time point, the time zone
  • Each of the data rows in the inter-data table is used to record an index value associated with at least one time point in a time interval of a predetermined length, each of the at least one time point being separated by a predetermined length of time, each of the a storage area occupying a memory at a time point, each of the storage areas includes a predetermined number of bytes, and an index value associated with each of the time points is filled in a storage area occupied by the time point; data And a compression unit configured to perform data compression processing on the storage area that is not filled with data to obtain time interval compressed data, and a data writing unit configured to write the time interval compressed data to the disk.
  • the time interval data table includes a primary key column, and a primary key value of each data row in the time interval data table includes a start time point value indicating a start point of a time interval corresponding to the data row .
  • the data storage unit includes: a data row matching subunit, configured to match a time interval of a time point including the time series data in the time interval data table according to a time point of the time series data Corresponding data row; data filling subunit, configured to fill in the index value of the time series data into the storage area corresponding to the time point in the data row when matching the corresponding data row a new sub-unit for adding a new data row when the data row is not matched, the primary key value of the newly added data row includes a time point of the time series data,
  • the data filled in the first storage area of the newly added data row is the index value of the time series data.
  • the time series data further includes: data source body identification code information, wherein the data source body identification code information is an identification code of a source body of the time series data.
  • the primary key value of each data row further includes a data source body identification code
  • the data source body identification code is an identification code of a source body of the indicator value data of the data row.
  • the data row matching subunit is further configured to match a time point of the time series data in the time interval data table according to a time point of the time series data and a data source body identification code.
  • the time interval and the primary key value includes the data row of the data source body identification code of the time series data.
  • the primary key value of the newly added data row further includes a data source body identification code of the time series data.
  • the time series data further includes: indicator identification code information, where the indicator identification code is an identification code of an indicator corresponding to the indicator value of the time series data.
  • the primary key value of each data row further includes an indicator identification code, where the indicator identification code is an identification code of an indicator corresponding to the indicator value recorded by the data line.
  • the data row matching subunit is further configured to match the time series data in the time interval data table according to the time point of the time series data, the data source body identification code, and the indicator identification code.
  • the time interval of the time point and the primary key value includes the data source body identification code of the time series data and the data line of the indicator identification code.
  • the primary key value of the newly added data row further includes an indicator identification code of the time series data.
  • the time interval data table further includes an indicator value data set column for recording the indicator value of the at least one time point.
  • the indicator value data set column is further configured to record storage area status information, where the storage area status information in each data line in the time interval data table includes: in the data line a vacant state of each storage area, the vacant state indicating whether the storage area is filled with data; and the data compression unit is further configured to perform data compression processing on the storage area whose storage area status is "idle".
  • the method and device for storing time series data provided by the present application reduce data consumption of disk storage space and subsequent read and write data by compressing data in a storage area that is not filled with data before writing the data to the disk. flow.
  • FIG. 1 is an exemplary system architecture diagram to which the present application can be applied;
  • FIG. 2 is a flow diagram of one embodiment of a method of storing time series data in accordance with the present application
  • FIG. 3a is a method of storing data in a method of storing time series data according to the present embodiment. Schematic diagram of the storage structure of the memory;
  • FIG. 3b is a schematic diagram showing a storage structure of data stored in a disk by a method for storing time series data according to the embodiment
  • FIG. 4 is a flow diagram of another embodiment of a method of storing time series data in accordance with the present application.
  • FIG. 5 is a schematic structural diagram of an embodiment of an apparatus for storing time series data according to the present application.
  • FIG. 6 is a block diagram showing the structure of a computer system suitable for implementing the method or apparatus for storing time series data in accordance with an embodiment of the present application.
  • FIG. 1 illustrates an exemplary system architecture 100 of an embodiment of a method or apparatus for storing time series data to which the present application may be applied.
  • system architecture 100 can include terminal devices 101, 102, 103, network 104, and server 105.
  • the network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105.
  • Network 104 may include various types of connections, such as wired, wireless communication links, fiber optic cables, and the like.
  • the terminal devices 101, 102, 103 interact with the server 105 via the network 104 to receive or transmit data and the like.
  • the terminal devices 101, 102, and 103 can be installed with various client applications (such as computer housekeeping applications, etc.) and various monitoring devices, such as devices for monitoring CPU usage, memory usage, and the like of the terminal.
  • the terminal devices 101, 102, 103 may be various electronic devices, including but not limited to data acquisition devices, smart phones, tablets, e-book readers, MP3 players (Moving) Picture Experts Group Audio Layer III, motion picture expert compression standard audio layer 3), MP4 (Moving Picture Experts Group Audio Layer IV) player, laptop portable computer and desktop computer, etc.
  • MP3 players Moving Picture Experts Group Audio Layer III, motion picture expert compression standard audio layer 3
  • MP4 Moving Picture Experts Group Audio Layer IV player
  • laptop portable computer and desktop computer etc.
  • the server 105 may be a server that provides various services, such as a database server or a cloud server that provides support for computer housekeeping applications on the terminal devices 101, 102, and 103.
  • the server can store, analyze, and the like the received data, and feed back the processing result to the terminal device.
  • the method for storing time series data provided by the embodiment of the present application is generally performed by the server 105. Accordingly, means for storing time series data can be provided in the server 105.
  • terminal devices, networks, and servers in Figure 1 is merely illustrative. Depending on the implementation needs, there can be any number of terminal devices, networks, and servers.
  • FIG. 2 illustrates a flow diagram of one embodiment of a method of storing time series data of the present application.
  • the process 200 of the method for storing time series data of the present application includes the following steps:
  • Step 201 Store the index value of the time series data into the time interval data table according to the time point of the time series data.
  • the time series data includes the following information: a time point, and an indicator value associated with the time point.
  • Each of the data rows in the time interval data table is used to record an index value associated with at least one time point in a time interval of a predetermined length, and each of the at least one time points is separated by a predetermined length of time, each The above-mentioned time point occupies a storage area of the memory, each of the foregoing storage areas includes a predetermined number of bytes, and the index value associated with each of the time points is filled in the storage area occupied by the time point.
  • the time interval data table includes a primary key column
  • the primary key value of each data row in the time interval data table may include a starting time point value indicating a starting point of the time interval corresponding to the data row.
  • the primary key value of a partial data row in a time interval data table can be expressed as:
  • Timestamp0000 ...
  • Timestamp3600 Timestamp7200 ...
  • each row records data of a time interval of 3600 seconds (i.e., 1 hour).
  • the data row whose primary key value is "timestamp3600” records the index value associated with each time point between the 3600th and 7200th (ie, the second hour).
  • the server on which the method for storing the time series data runs may match the data row corresponding to the time interval of the time point including the time series data in the time interval data table according to the time point of the time series data; Matching the corresponding data row, the index value of the time series data is filled in the storage area corresponding to the time point in the data row; if the data row is not matched, a new data row is added, The primary key value of the newly added data row includes the time point of the time series data, and the data filled in the first storage area of the newly added data row is the index value of the time series data.
  • the indicator value of the at least one time point may be stored in one column of the time interval data table. Therefore, the time interval data table may further include an indicator value data set column for recording the index value of the at least one time point.
  • some of the data rows in the time interval data table can be expressed as:
  • each sub-column in the index value data set column represents a storage area
  • the indicator value data set column may include a plurality of storage areas, each storage area.
  • the time points corresponding to the adjacent storage areas are separated by an equal length of time.
  • the time interval data table may further include a time interval column for recording the length of time between the time points corresponding to the adjacent storage areas.
  • the storage of the time series data is greatly reduced.
  • the number of rows required reduces the occupation of storage space.
  • Step 202 Perform data compression processing on the storage area that is not filled with data to obtain time interval compressed data.
  • the index value of the at least one time point is recorded.
  • the indicator value data set column may also be used to record storage area status information, and the storage area status information in each data line in the time interval data table includes: a vacant status of each storage area in the data line.
  • the vacant state indicates whether the storage area is filled with data. For example, if a data row includes 4 storage areas, the value of the storage area status information may be: "1101". This value indicates that the third memory area in the data row is vacant.
  • step 202 may include performing data compression processing on the storage area whose storage area status is "idle".
  • step 203 the time interval compressed data is written to the disk.
  • the data stored in the time interval data table is stored in the memory area in the memory. After the processing in step 202, the storage space occupied by the data in the memory is greatly reduced, and the server will process the data again.
  • the time interval compresses the data written to disk.
  • FIG. 3a is a schematic diagram of a storage structure of data stored in a method for storing time series data according to the embodiment
  • FIG. 3b is a data stored by the method for storing time series data according to the embodiment.
  • Schematic diagram of the storage structure of the disk From Fig. 3a and Fig. 3b, it can be seen that the storage space occupied by the time series data in the disk is much smaller than the storage space occupied by the memory.
  • the method for storing time series data provided by the present application reduces data occupation of the disk storage space and IO traffic when the data is read and written later by performing data compression processing on the storage area where the data is not filled before writing the data to the disk.
  • FIG. 4 there is shown a flow diagram of another embodiment of a method of storing time series data of the present application.
  • the flow 400 of the method for storing time series data of the present application includes the following steps:
  • Step 401 Match, according to the time point of the time series data, the data row corresponding to the time interval of the time point including the time series data in the time interval data table.
  • the time series data includes the following information: a time point, and the above time point The associated indicator value and the subject identification code information; wherein the data source subject identification code information is an identification code of a source body of the time series data.
  • Each of the data rows in the time interval data table is used to record an index value associated with at least one time point of a data source body in a time interval of a predetermined length, and each of the at least one time point is separated by a predetermined time.
  • the length of time, each of the time points occupies a storage area of the memory, each of the storage areas includes a predetermined number of bytes, and the index value associated with each of the time points is filled in the storage area occupied by the time point .
  • the time interval data table includes a primary key column and an indicator value data set column.
  • the primary key value of each data row in the time interval data table includes a start time point value indicating a start point of a time interval corresponding to the data row, and a data source body identifier code, where the data source body identifier code is the foregoing data.
  • the identification code of the source body of the indicator value data of the row; the index value data set column of the above indicator value is used for recording the index value of the at least one time point.
  • Instance1 represents machine A
  • the data of the row whose primary key value is "Instance1_timestamp3600" records the index value associated with machine A at each time point in the second hour.
  • Step 401 is specifically: matching the time interval of the time point including the time series data in the time interval data table according to the time point of the time series data and the data source body identification code, and the primary key value includes the data source body of the time series data.
  • the data line of the identification code is specifically: matching the time interval of the time point including the time series data in the time interval data table according to the time point of the time series data and the data source body identification code, and the primary key value includes the data source body of the time series data.
  • the time interval data table may further include a time interval column for recording the length of time between the time points corresponding to the adjacent storage areas.
  • the index value of the time series data is stored in the time interval data table, and the index value associated with the plurality of time points of one data source body in one time interval exists in one data row. , greatly reducing the number of rows required to store time series data, reducing the occupation of storage space.
  • Step 402 If the corresponding data row is matched, the index value of the time series data is filled in the storage area corresponding to the time point in the data row.
  • the primary key value of the matched data row is stored in the time interval data table.
  • “Instance1_timestamp3600” assuming the data The storage area of each row in the row is separated by 100 seconds, and the data of the index value of the data row has a total of 36 storage areas. Thus, 0.97 is filled in the 36th storage area.
  • step 403 if there is no match to the above data row, a new data row is added.
  • the primary key value of the newly added data row includes a time point of the time series data, and a data source body identifier code of the time series data, and the first storage area of the newly added data row
  • the data filled in is the index value of the above time series data.
  • the data source body identification code of the time series data is “Instance1”
  • the time and place is 7200 seconds
  • the index value is 0.97
  • the primary key value of the newly added data row is stored in the time interval data table. It can be "Instance1_timestamp7200”
  • the data in the first storage area of the data row is 0.97.
  • Step 404 Perform data compression processing on the storage area that is not filled with data to obtain time interval compressed data.
  • step 404 may refer to the detailed description of step 202 in the embodiment shown in FIG. 2, and details are not described herein again.
  • step 405 the time interval compressed data is written to the disk.
  • step 405 can refer to the detailed description of step 203 in the embodiment shown in FIG. 2, and details are not described herein again.
  • the time series data may further include: indicator identification code information, where the indicator identification code is an identification code of an indicator corresponding to the indicator value of the time series data.
  • the index value of the time series data collected by the terminal device is the CPU performance value of the machine A, and the “CPU” can be used as the indicator identification code of the time series data.
  • the primary key value of each data row in the time interval data table may further include an indicator identification code, where the indicator identifier code is an identifier of an indicator corresponding to the indicator value recorded by the data row.
  • the primary key value of a data row may be “Instance1_timestamp3600_MEM”, indicating that the data recorded in the data row is the memory index value of the machine corresponding to Instance1 at each time point of the second hour.
  • step 402 may include: matching the time interval of the time point including the time series data in the time interval data table according to the time point of the time series data, the data source body identification code, and the indicator identification code.
  • the primary key value includes the data source body identification code and the indicator identification code data of the time series data. Row.
  • the primary key value of the newly added data row in step 403 may further include an indicator identification code of the time series data.
  • the data row of the time interval data table further has an indicator identification code dimension, so that data of different indicators can be stored and distinguished.
  • the time series data and the time interval data table in the method for storing time series data in this embodiment have more dimensions than the embodiment corresponding to FIG. 2, and the data source is increased.
  • the main body dimension, correspondingly, the steps of storing time series data into the time interval data table have also been adjusted accordingly.
  • the solution described in this embodiment can store and distinguish data of different data source subjects and even different indicators.
  • the present application provides an embodiment of an apparatus for storing time series data, the apparatus embodiment corresponding to the method embodiment shown in FIG.
  • the device can be specifically applied to the server.
  • the apparatus 500 for storing time series data includes a data storage unit 501, a data compression unit 502, and a data writing unit 503.
  • the data storage unit 501 is configured to store the index value of the time series data into the time interval data table according to the time point of the time series data, wherein the time series data includes the following information: a time point, and the time point Associated indicator values, each of the data rows in the time interval data table is used to record an indicator value associated with at least one time point in a time interval of a predetermined length, and each of the at least one time point is separated by a predetermined time
  • the length of time, each of the time points occupies a storage area of the memory, each of the storage areas includes a predetermined number of bytes, and the index value associated with each of the time points is filled in the storage area occupied by the time point
  • the data compression unit 502 is configured to perform data compression processing on the storage area that is not filled with data to obtain time interval compressed data
  • the data writing unit 503 is configured
  • the time interval data table may include a primary key column, and the primary key value of each data row in the time interval data table may include a starting time point value indicating a starting point of the time interval corresponding to the data row.
  • the data storage unit 501 can include:
  • the data row matching subunit 5011 is configured to match, in the time interval data table, the data row corresponding to the time interval of the time point including the time series data according to the time point of the time series data;
  • the data filling subunit 5012 is configured to fill in the index value of the time series data into the storage area corresponding to the time point in the data row when matching the corresponding data row;
  • a data adding subunit 5013 configured to add a new data row when the data row is not matched, and the primary key value of the newly added data row includes a time point of the time series data, and the newly added data row
  • the data filled in the first storage area is the index value of the above time series data.
  • the time interval data table may further include an indicator value data set column for recording the index value of the at least one time point.
  • step 201 For a more specific process of the data storage unit 501, reference may be made to the detailed description of step 201 in the corresponding embodiment of FIG. 2, and details are not described herein again.
  • the index value data set column is further used to record the storage area status information in the time interval data table.
  • the storage area status information in each of the data lines includes: a number of each storage area in the data line, and a vacant status of the storage area corresponding to the number, and the vacant status indicates whether the storage area is filled with data.
  • the data compression unit 502 can be further configured to perform data compression processing on the storage area whose storage area status is "idle".
  • the specific processing of the data writing unit 503 can refer to the detailed description of step 203 in the corresponding embodiment of FIG. 2, and details are not described herein again.
  • the time series data may further include: data source body identification code information, wherein the data source body identification code information is an identification code of a source body of the time series data.
  • the primary key value of each of the data rows further includes a data source body identifier code, and the data source body identifier code is an identifier code of a source body of the indicator value data of the data row.
  • the data row matching subunit 5011 may be further configured to match a time interval of the time point including the time series data in the time interval data table according to the time point of the time series data and the data source body identification code, and the primary key value includes Data source body identification code of the above time series data
  • the data row; and the primary key value of the newly added data row of the data addition subunit 5013 may further include the data source body identifier of the time series data.
  • the time series data may further include: indicator identification code information, where the indicator identification code is an identification code of an indicator corresponding to the indicator value of the time series data.
  • the primary key value of each of the data rows may further include an indicator identification code, where the indicator identifier code is an identifier of an indicator corresponding to the index value recorded by the data row.
  • the data row matching subunit 5011 may be further configured to match a time interval of the time point including the time series data in the time interval data table according to the time point of the time series data, the data source body identification code, and the indicator identification code.
  • the primary key value includes the data source body identification code of the time series data and the data line of the indicator identification code.
  • the primary key value of the data row newly added by the data addition subunit 5013 may further include an indicator identification code of the time series data.
  • the apparatus for storing time series data provided by the present application performs data compression processing on the storage area that is not filled with data before the data is written to the disk by the data compression unit 502, thereby reducing the occupation of the disk storage space and the subsequent reading and writing of data. IO traffic.
  • the apparatus 500 for storing time series data further includes some other well-known structures, such as a processor, a memory, etc., in order to unnecessarily obscure the embodiments of the present disclosure, these well-known structures are not shown in FIG. Out.
  • FIG. 6 a block diagram of a computer system 600 suitable for use in implementing a server of an embodiment of the present application is shown.
  • computer system 600 includes a central processing unit (CPU) 601 that can be loaded into a program in random access memory (RAM) 603 according to a program stored in read only memory (ROM) 602 or from storage portion 608. And perform various appropriate actions and processes.
  • RAM random access memory
  • ROM read only memory
  • various programs and numbers required for the operation of the system 600 are also stored. according to.
  • the CPU 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604.
  • An input/output (I/O) interface 605 is also coupled to bus 604.
  • the following components are connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, etc.; an output portion 607 including, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), and the like, and a storage portion 608 including a hard disk or the like. And a communication portion 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the Internet.
  • Driver 610 is also coupled to I/O interface 605 as needed.
  • a removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory or the like, is mounted on the drive 610 as needed so that a computer program read therefrom is installed into the storage portion 608 as needed.
  • an embodiment of the present disclosure includes a computer program product comprising a computer program tangibly embodied on a machine readable medium, the computer program comprising program code for executing the method illustrated in the flowchart.
  • the computer program can be downloaded and installed from the network via communication portion 609, and/or installed from removable media 611.
  • each block of the flowchart or block diagrams can represent a module, a program segment, or a portion of code that includes one or more logic for implementing the specified.
  • Functional executable instructions can also occur in a different order than that illustrated in the drawings. For example, two successively represented blocks may in fact be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented in a dedicated hardware-based system that performs the specified function or operation. Or it can be implemented by a combination of dedicated hardware and computer instructions.
  • the units involved in the embodiments of the present application may be implemented by software or by hardware.
  • the described unit may also be provided in the processor, for example, as a processor including a data storage unit, data compression Unit and data write unit.
  • the names of these units do not constitute a limitation on the unit itself under certain circumstances.
  • the data storage unit may also be described as "a unit that stores time series data.”
  • the present application further provides a non-volatile computer storage medium, which may be a non-volatile computer storage medium included in the apparatus described in the foregoing embodiments; It may be a non-volatile computer storage medium that exists alone and is not assembled into the terminal.
  • the non-volatile computer storage medium stores one or more programs, when the one or more programs are executed by a device, causing the device to: time-series data according to a time point of time series data
  • the indicator value is stored in the time interval data table, wherein the time series data includes the following information: a time point, an indicator value associated with the time point, and each data line in the time interval data table is used to record the reservation
  • the storage area includes a predetermined number of bytes, and the index value associated with each of the time points is filled in the storage area occupied by the time point; the storage area that is not filled with data is subjected to data compression processing to obtain The time interval compresses the data; the time interval compressed data is written to the disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

一种存储时间序列数据的方法和装置。所述存储时间序列数据的方法包括:根据时间序列数据的时间点,将时间序列数据的指标值存入时间区间数据表中(201),其中,时间序列数据包括以下信息:时间点、与时间点关联的指标值,时间区间数据表中的每条数据行记录预定长度的时间区间内的至少一个时间点所关联的指标值,各个时间点之间相隔预定的时间长度,每个时间点占用内存的一个存储区,每个存储区包括预定个数的字节,每个时间点所关联的指标值被填入时间点所占用的存储区中;将没有填入数据的存储区进行数据压缩处理,得到时间区间压缩数据(202);将时间区间压缩数据写入磁盘(203)。该方法减少了磁盘存储空间的占用。

Description

存储时间序列数据的方法和装置
相关申请的交叉引用
本申请要求北京百度网讯科技有限公司于2015年09月22日提交的,发明名称为“存储时间序列数据的方法和装置”的、中国专利申请号“201510608162.8”的优先权,其全部内容作为整体并入本申请中。
技术领域
本申请涉及计算机技术领域,具体涉及数据库技术领域,尤其涉及存储时间序列数据的方法和装置。
背景技术
时间序列数据是一系列有序的数据,是在不同时间点上收集到的数据。这类数据反映了某一事物、现象、指标等随时间的变化状态或程度。由于时间序列数据通常是相等时间间隔的采样数据,现有的存储时间序列数据的方法通常为:根据上述时间间隔,为每个固定的时间点预留一个存储区。当接收到一个时间点的时间序列数据时,将该数据填入预留给该时间点的存储区中。
然而,目前在实际的情况中,很多时间序列数据不一定在每个时间间隔后都会产生,甚至时间间隔有可能会发生变化,这导致了有很多的存储区中的数据为空值状态,如果将这些包含空值的数据直接写入磁盘,会产生较多的存储空间占用,并增加了后续读写数据时的IO流量。
发明内容
本申请的目的在于提出一种存储时间序列数据的方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种存储时间序列数据的方法,所述方法包括:根据时间序列数据的时间点,将所述时间序列数据的指标值存入时间区间数据表中,其中,所述时间序列数据包括以下信息:时间点、与所述时间点关联的指标值,所述时间区间数据表中的每条数据行用于记录预定长度的时间区间内的至少一个时间点所关联的指标值,所述至少一个时间点中各个时间点之间相隔预定的时间长度,每个所述时间点占用内存的一个存储区,每个所述存储区包括预定个数的字节,每个所述时间点所关联的指标值被填入所述时间点所占用的存储区中;将没有填入数据的存储区进行数据压缩处理,得到时间区间压缩数据;将所述时间区间压缩数据写入磁盘。
在一些实施例中,所述时间区间数据表包括主键列,所述时间区间数据表中的每条数据行的主键值包括表示所述数据行对应的时间区间的起点的起始时间点值。
在一些实施例中,所述根据所述时间序列数据的时间,将所述时间序列数据的指标值存入时间区间数据表中,包括:根据所述时间序列数据的时间点,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间所对应的数据行;如果匹配到所述对应的数据行,则将所述时间序列数据的指标值填入所述数据行中与所述时间点对应的存储区中;如果没有匹配到所述数据行,则新增一条新数据行,所述新增的数据行的主键值包括所述时间序列数据的时间点,所述新增的数据行的第一个存储区所填入的数据为所述时间序列数据的指标值。
在一些实施例中,所述时间序列数据还包括:数据来源主体标识码信息,其中,所述数据来源主体标识码信息为所述时间序列数据的来源主体的标识码。
在一些实施例中,所述每条数据行的主键值还包括数据来源主体标识码,所述数据来源主体标识码为所述数据行的指标值数据的来源主体的标识码。
在一些实施例中,所述根据所述时间序列数据的时间点,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间所对应 的数据行,包括:根据所述时间序列数据的时间点以及数据来源主体标识码,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间并且主键值包括所述时间序列数据的数据来源主体标识码的数据行。
在一些实施例中,以及所述新增的数据行的主键值还包括所述时间序列数据的数据来源主体标识码。
在一些实施例中,所述时间序列数据还包括:指标标识码信息,所述指标标识码为所述时间序列数据的指标值所对应的指标的标识码。
在一些实施例中,所述每条数据行的主键值还包括指标标识码,所述指标标识码为所述数据行记录的指标值所对应的指标的标识码。
在一些实施例中,所述根据所述时间序列数据的时间点,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间所对应的数据行,包括:根据所述时间序列数据的时间点、数据来源主体标识码和指标标识码,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间并且主键值包括所述时间序列数据的数据来源主体标识码和指标标识码的数据行。
在一些实施例中,所述新增的数据行的主键值还包括所述时间序列数据的指标标识码。
在一些实施例中,所述时间区间数据表还包括指标值数据集合列,用于记录所述至少一个时间点的指标值。
在一些实施例中,所述指标值数据集合列还用于记录存储区状态信息,所述时间区间数据表中的每条数据行中的所述存储区状态信息包括:所述数据行中的各存储区的空置状态,所述空置状态表示所述存储区是否填有数据;以及所述将没有填入数据的存储区进行数据压缩处理,包括:将存储区状态为“空闲”的存储区进行数据压缩处理。
第二方面,本申请提供了一种存储时间序列数据的装置,所述装置包括:数据存储单元,用于根据时间序列数据的时间点,将所述时间序列数据的指标值存入时间区间数据表中,其中,所述时间序列数据包括以下信息:时间点、与所述时间点关联的指标值,所述时间区 间数据表中的每条数据行用于记录预定长度的时间区间内的至少一个时间点所关联的指标值,所述至少一个时间点中各个时间点之间相隔预定的时间长度,每个所述时间点占用内存的一个存储区,每个所述存储区包括预定个数的字节,每个所述时间点所关联的指标值被填入所述时间点所占用的存储区中;数据压缩单元,用于将没有填入数据的存储区进行数据压缩处理,得到时间区间压缩数据;数据写入单元,用于将所述时间区间压缩数据写入磁盘。
在一些实施例中,所述时间区间数据表包括主键列,所述时间区间数据表中的每条数据行的主键值包括表示所述数据行对应的时间区间的起点的起始时间点值。
在一些实施例中,所述数据存储单元包括:数据行匹配子单元,用于根据所述时间序列数据的时间点,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间所对应的数据行;数据填入子单元,用于在匹配到所述对应的数据行时,将所述时间序列数据的指标值填入所述数据行中与所述时间点对应的存储区中;数据新增子单元,用于在没有匹配到所述数据行时,新增一条新数据行,所述新增的数据行的主键值包括所述时间序列数据的时间点,所述新增的数据行的第一个存储区所填入的数据为所述时间序列数据的指标值。
在一些实施例中,所述时间序列数据还包括:数据来源主体标识码信息,其中,所述数据来源主体标识码信息为所述时间序列数据的来源主体的标识码。
在一些实施例中,所述每条数据行的主键值还包括数据来源主体标识码,所述数据来源主体标识码为所述数据行的指标值数据的来源主体的标识码。
在一些实施例中,所述数据行匹配子单元进一步配置用于根据所述时间序列数据的时间点以及数据来源主体标识码,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间并且主键值包括所述时间序列数据的数据来源主体标识码的数据行。
在一些实施例中,所述新增的数据行的主键值还包括所述时间序列数据的数据来源主体标识码。
在一些实施例中,所述时间序列数据还包括:指标标识码信息,所述指标标识码为所述时间序列数据的指标值所对应的指标的标识码。
在一些实施例中,所述每条数据行的主键值还包括指标标识码,所述指标标识码为所述数据行记录的指标值所对应的指标的标识码。
在一些实施例中,所述数据行匹配子单元进一步配置用于根据所述时间序列数据的时间点、数据来源主体标识码和指标标识码,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间并且主键值包括所述时间序列数据的数据来源主体标识码和指标标识码的数据行。
在一些实施例中,所述新增的数据行的主键值还包括所述时间序列数据的指标标识码。
在一些实施例中,所述时间区间数据表还包括指标值数据集合列,用于记录所述至少一个时间点的指标值。
在一些实施例中,所述指标值数据集合列还用于记录存储区状态信息,所述时间区间数据表中的每条数据行中的所述存储区状态信息包括:所述数据行中的各存储区的空置状态,所述空置状态表示所述存储区是否填有数据;以及所述数据压缩单元进一步配置用于将存储区状态为“空闲”的存储区进行数据压缩处理。
本申请提供的存储时间序列数据的方法和装置,通过在将数据写入磁盘之前,将没有填入数据的存储区进行数据压缩处理,减少了磁盘存储空间的占用以及后续读写数据时的IO流量。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的存储时间序列数据的方法的一个实施例的流程图;
图3a是根据本实施例的存储时间序列数据的方法存储的数据在 内存的存储结构示意图;
图3b是根据本实施例的存储时间序列数据的方法存储的数据在磁盘的存储结构示意图;
图4是根据本申请的存储时间序列数据的方法的另一个实施例的流程图;
图5是根据本申请的存储时间序列数据的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的存储时间序列数据的方法或装置的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的存储时间序列数据的方法或装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103通过网络104与服务器105交互,以接收或发送数据等。终端设备101、102、103上可以安装有各种客户端应用(例如电脑管家应用等)以及各种监测设备,例如监测终端的CPU占用、内存占用等的设备。
终端设备101、102、103可以是各种电子设备,包括但不限于数据采集设备、智能手机、平板电脑、电子书阅读器、MP3播放器(Moving  Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上的电脑管家类应用等提供支持的数据库服务器或云服务器。服务器可以对接收到的数据进行存储、分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本申请实施例所提供的存储时间序列数据的方法通常由服务器105执行。相应地,存储时间序列数据的装置可以设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,图2示出了本申请的存储时间序列数据的方法的一个实施例的流程图。
如图2所示,本申请的存储时间序列数据的方法的流程200包括以下步骤:
步骤201,根据时间序列数据的时间点,将该时间序列数据的指标值存入时间区间数据表中。
其中,上述时间序列数据包括以下信息:时间点、与上述时间点关联的指标值。上述时间区间数据表中的每条数据行用于记录预定长度的时间区间内的至少一个时间点所关联的指标值,上述至少一个时间点中各个时间点之间相隔预定的时间长度,每个上述时间点占用内存的一个存储区,每个上述存储区包括预定个数的字节,每个上述时间点所关联的指标值被填入上述时间点所占用的存储区中。
在本实施例中,上述时间区间数据表包括主键列,上述时间区间数据表中的每条数据行的主键值可以包括表示上述数据行对应的时间区间的起点的起始时间点值。例如,时间区间数据表中的部分数据行的主键值可以表示为:
主键
timestamp0000
timestamp3600
timestamp7200
上表中,每一行记录时间长度为3600秒(即1小时)的时间区间的数据。主键值为“timestamp3600”的数据行记录的就是第3600秒到第7200秒之间(即第二个小时)的各时间点所关联的指标值。
相应地,存储时间序列数据的方法运行于其上的服务器可以根据上述时间序列数据的时间点,在时间区间数据表中匹配包含上述时间序列数据的时间点的时间区间所对应的数据行;如果匹配到上述对应的数据行,则将上述时间序列数据的指标值填入上述数据行中与上述时间点对应的存储区中;如果没有匹配到上述数据行,则新增一条新数据行,上述新增的数据行的主键值包括上述时间序列数据的时间点,上述新增的数据行的第一个存储区所填入的数据为上述时间序列数据的指标值。
其中,上述至少一个时间点的指标值可以存储于上述时间区间数据表的一个列中。于是,上述时间区间数据表还可以包括指标值数据集合列,用于记录上述至少一个时间点的指标值。例如,时间区间数据表中的部分数据行可以表示为:
Figure PCTCN2015095636-appb-000001
上表中,关于主键列中的数据可参考上述对主键列的说明,指标值数据集合列中的每个子列表示一个存储区,指标值数据集合列可以包括多个存储区,每个存储区对应一个时间点,各相邻的存储区对应的时间点之间相隔相等的时间长度。
在一些实现方式中,时间区间数据表还可以包括时间间隔列,用于记录上述相邻的存储区对应的时间点之间相隔的时间长度。
根据上述将该时间序列数据的指标值存入时间区间数据表中的方法,通过将一段时间区间的多个时间点所关联的指标值存在一条数据行中,极大地减少了存储时间序列数据所需的行数,减少了存储空间的占用。
步骤202,将没有填入数据的存储区进行数据压缩处理,得到时间区间压缩数据。
在本实施例中,如果使用上述指标值数据集合列来记录上述至少一个时间点的指标值。该指标值数据集合列还可以用于记录存储区状态信息,时间区间数据表中的每条数据行中的存储区状态信息包括:该数据行中的各存储区的空置状态。其中,空置状态表示上述存储区是否填有数据。例如,假设一条数据行中包括4个存储区,存储区状态信息的值可以为:“1101”。该值就表示该数据行中第三个存储区为空置状态。
相应地,步骤202可以包括:将存储区状态为“空闲”的存储区进行数据压缩处理。
步骤203,将上述时间区间压缩数据写入磁盘。
在本实施例中,上述存入上述时间区间数据表中的数据被存在内存中的存储区中,经过步骤202的处理,上述数据在内存中占用的存储空间已大大减少,服务器再将处理后的时间区间压缩数据写入磁盘。
继续参见图3a和图3b,图3a是根据本实施例的存储时间序列数据的方法存储的数据在内存的存储结构示意图,图3b是根据本实施例的存储时间序列数据的方法存储的数据在磁盘的存储结构示意图。通过图3a和图3b,可以看出时间序列数据在磁盘中所占用的存储空间相比其在内存所占用的存储空间要减少很多。
本申请提供的存储时间序列数据的方法,通过在将数据写入磁盘之前,将没有填入数据的存储区进行数据压缩处理,减少了磁盘存储空间的占用以及后续读写数据时的IO流量。
下面参考图4,图4示出了本申请的存储时间序列数据的方法的另一个实施例的流程图。
如图4所示,本申请的存储时间序列数据的方法的流程400包括以下步骤:
步骤401,根据时间序列数据的时间点,在时间区间数据表中匹配包含上述时间序列数据的时间点的时间区间所对应的数据行。
其中,上述时间序列数据包括以下信息:时间点、与上述时间点 关联的指标值以及主体标识码信息;其中,上述数据来源主体标识码信息为上述时间序列数据的来源主体的标识码。上述时间区间数据表中的每条数据行用于记录一个数据来源主体在预定长度的时间区间内的至少一个时间点所关联的指标值,上述至少一个时间点中各个时间点之间相隔预定的时间长度,每个上述时间点占用内存的一个存储区,每个上述存储区包括预定个数的字节,每个上述时间点所关联的指标值被填入上述时间点所占用的存储区中。
上述时间区间数据表包括主键列以及指标值数据集合列。其中,上述时间区间数据表中的每条数据行的主键值包括表示上述数据行对应的时间区间的起点的起始时间点值以及数据来源主体标识码,上述数据来源主体标识码为上述数据行的指标值数据的来源主体的标识码;上述指标值数据集合列用于记录上述至少一个时间点的指标值。例如,Instance1表示机器A,主键值为“Instance1_timestamp3600”的这一行的数据所记录的就是机器A在第二个小时中各时间点所关联的指标值。
基于上述时间序列数据和时间区间数据表的数据结构。步骤401具体为:根据时间序列数据的时间点以及数据来源主体标识码,在时间区间数据表中匹配包含上述时间序列数据的时间点的时间区间并且主键值包括上述时间序列数据的数据来源主体标识码的数据行。
在一些实现方式中,时间区间数据表还可以包括时间间隔列,用于记录上述相邻的存储区对应的时间点之间相隔的时间长度。
根据本实施例的上述将该时间序列数据的指标值存入时间区间数据表中的方法,通过将一个数据来源主体在一个时间区间内的多个时间点所关联的指标值存在一条数据行中,极大地减少了存储时间序列数据所需的行数,减少了存储空间的占用。
步骤402,如果匹配到上述对应的数据行,则将上述时间序列数据的指标值填入上述数据行中与上述时间点对应的存储区中。
例如,上述时间序列数据的数据来源主体标识码为“Instance1”,时间地点为第7100秒,指标值为0.97,则将其存入时间区间数据表后,匹配到的数据行的主键值为“Instance1_timestamp3600”,假设该数据 行中各存储区之间相隔100秒,则该数据行的指标值数据集合列一共有36个存储区。于是,在此将0.97填入第36个存储区中。
步骤403,如果没有匹配到上述数据行,则新增一条新数据行。
在本实施例中,上述新增的数据行的主键值包括上述时间序列数据的时间点,以及上述时间序列数据的数据来源主体标识码,上述新增的数据行的第一个存储区所填入的数据为上述时间序列数据的指标值。例如:上述时间序列数据的数据来源主体标识码为“Instance1”,时间地点为第7200秒,指标值为0.97,则将其存入时间区间数据表后,新增的一条数据行的主键值可以为“Instance1_timestamp7200”,该数据行中第一个存储区所填入的数据为0.97。
步骤404,将没有填入数据的存储区进行数据压缩处理,得到时间区间压缩数据。
在本实施例中,步骤404的具体处理可参考上述对图2所示实施例中步骤202的详细描述,在此不再赘述。
步骤405,将上述时间区间压缩数据写入磁盘。
在本实施例中,步骤405的具体处理可参考上述对图2所示实施例中步骤203的详细描述,在此不再赘述。
在本实施例的一些实现方式中,上述时间序列数据还可以包括:指标标识码信息,上述指标标识码为上述时间序列数据的指标值所对应的指标的标识码。例如,终端设备采集到的时间序列数据的指标值为机器A的CPU性能值,“CPU”就可以作为该时间序列数据的指标标识码。相应地,时间区间数据表中每条数据行的主键值还可以包括指标标识码,上述指标标识码为上述数据行记录的指标值所对应的指标的标识码。例如,一条数据行的主键值可以为“Instance1_timestamp3600_MEM”,表示该数据行所记录的数据为Instance1对应的机器在第2个小时的各个时间点的内存指标值。
基于该实现方式的数据结构,步骤402可以包括:根据上述时间序列数据的时间点、数据来源主体标识码和指标标识码,在时间区间数据表中匹配包含上述时间序列数据的时间点的时间区间并且主键值包括上述时间序列数据的数据来源主体标识码和指标标识码的数据 行。以及,步骤403中新增的数据行的主键值还可以包括上述时间序列数据的指标标识码。
通过该实现方式,使得上述时间区间数据表的数据行进一步具有了指标标识码维度,从而能够存储并区分不同指标的数据。
从图4中可以看出,与图2对应的实施例相比,本实施例中的存储时间序列数据的方法中的时间序列数据和时间区间数据表具有了更多的维度,增加了数据来源主体维度,相应地,将时间序列数据存入时间区间数据表的步骤也做了相应的调整。由此,本实施例描述的方案可以存储并区分不同数据来源主体、甚至不同指标的数据。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种存储时间序列数据的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于服务器中。
如图5所示,本实施例上述的存储时间序列数据的装置500包括:数据存储单元501、数据压缩单元502以及数据写入单元503。其中,数据存储单元501,用于根据时间序列数据的时间点,将上述时间序列数据的指标值存入时间区间数据表中,其中,上述时间序列数据包括以下信息:时间点、与上述时间点关联的指标值,上述时间区间数据表中的每条数据行用于记录预定长度的时间区间内的至少一个时间点所关联的指标值,上述至少一个时间点中各个时间点之间相隔预定的时间长度,每个上述时间点占用内存的一个存储区,每个上述存储区包括预定个数的字节,每个上述时间点所关联的指标值被填入上述时间点所占用的存储区中;数据压缩单元502,用于将没有填入数据的存储区进行数据压缩处理,得到时间区间压缩数据;数据写入单元503,用于将上述时间区间压缩数据写入磁盘。
在本实施例中,上述时间区间数据表可以包括主键列,上述时间区间数据表中的每条数据行的主键值可以包括表示上述数据行对应的时间区间的起点的起始时间点值。数据存储单元501可以包括:
数据行匹配子单元5011,用于根据上述时间序列数据的时间点,在时间区间数据表中匹配包含上述时间序列数据的时间点的时间区间所对应的数据行;
数据填入子单元5012,用于在匹配到上述对应的数据行时,将上述时间序列数据的指标值填入上述数据行中与上述时间点对应的存储区中;
数据新增子单元5013,用于在没有匹配到上述数据行时,新增一条新数据行,上述新增的数据行的主键值包括上述时间序列数据的时间点,上述新增的数据行的第一个存储区所填入的数据为上述时间序列数据的指标值。
其中,上述时间区间数据表还可以包括指标值数据集合列,用于记录上述至少一个时间点的指标值。
关于数据存储单元501的更具体的处理可参考图2对应实施例中步骤201的详细描述,在此不再赘述。
在本实施例中,如果数据存储单元501使用上述指标值数据集合列来记录上述至少一个时间点的指标值,该指标值数据集合列还用于记录存储区状态信息,上述时间区间数据表中的每条数据行中的上述存储区状态信息包括:上述数据行中的各存储区的编号、与上述编号对应的存储区的空置状态,上述空置状态表示上述存储区是否填有数据。以及数据压缩单元502可以进一步配置用于将存储区状态为“空闲”的存储区进行数据压缩处理。
关于数据压缩单元502的更具体的处理可参考图2对应实施例中步骤202的详细描述,在此不再赘述。
在本实施例中,数据写入单元503的具体处理可分别参考图2对应实施例中步骤203的详细描述,在此不再赘述。
在本实施例的一些实现方式中,上述时间序列数据还可以包括:数据来源主体标识码信息,其中,上述数据来源主体标识码信息为上述时间序列数据的来源主体的标识码。相应地,上述每条数据行的主键值还包括数据来源主体标识码,上述数据来源主体标识码为上述数据行的指标值数据的来源主体的标识码。上述数据行匹配子单元5011可以进一步配置用于根据上述时间序列数据的时间点以及数据来源主体标识码,在时间区间数据表中匹配包含上述时间序列数据的时间点的时间区间并且主键值包括上述时间序列数据的数据来源主体标识码 的数据行;以及上述数据新增子单元5013新增的数据行的主键值还可以包括上述时间序列数据的数据来源主体标识码。
本实现方式中数据行匹配子单元5011以及数据新增子单元5013的具体处理可分别参考图4对应实施例中步骤401以及步骤403的详细描述,在此不再赘述。
在本实施例的一些实现方式中,上述时间序列数据还可以包括:指标标识码信息,上述指标标识码为上述时间序列数据的指标值所对应的指标的标识码。相应地,上述每条数据行的主键值还可以包括指标标识码,上述指标标识码为上述数据行记录的指标值所对应的指标的标识码。上述数据行匹配子单元5011可以进一步配置用于根据上述时间序列数据的时间点、数据来源主体标识码和指标标识码,在时间区间数据表中匹配包含上述时间序列数据的时间点的时间区间并且主键值包括上述时间序列数据的数据来源主体标识码和指标标识码的数据行。以及上述数据新增子单元5013新增的数据行的主键值还可以包括上述时间序列数据的指标标识码。
本实现方式中数据行匹配子单元5011以及数据新增子单元5013的具体处理可分别参考图4对应实施例中的对应实现方式的详细描述,在此不再赘述。
本申请提供的存储时间序列数据的装置,通过数据压缩单元502在将数据写入磁盘之前,将没有填入数据的存储区进行数据压缩处理,减少了磁盘存储空间的占用以及后续读写数据时的IO流量。
本领域技术人员可以理解,上述存储时间序列数据的装置500还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图5中未示出。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数 据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括数据存储单元、数据压缩 单元以及数据写入单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,数据存储单元还可以被描述为“存储时间序列数据的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:根据时间序列数据的时间点,将所述时间序列数据的指标值存入时间区间数据表中,其中,所述时间序列数据包括以下信息:时间点、与所述时间点关联的指标值,所述时间区间数据表中的每条数据行用于记录预定长度的时间区间内的至少一个时间点所关联的指标值,所述至少一个时间点中各个时间点之间相隔预定的时间长度,每个所述时间点占用内存的一个存储区,每个所述存储区包括预定个数的字节,每个所述时间点所关联的指标值被填入所述时间点所占用的存储区中;将没有填入数据的存储区进行数据压缩处理,得到时间区间压缩数据;将所述时间区间压缩数据写入磁盘。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (28)

  1. 一种存储时间序列数据的方法,其特征在于,所述方法包括:
    根据时间序列数据的时间点,将所述时间序列数据的指标值存入时间区间数据表中,其中,所述时间序列数据包括以下信息:时间点、与所述时间点关联的指标值,所述时间区间数据表中的每条数据行用于记录预定长度的时间区间内的至少一个时间点所关联的指标值,所述至少一个时间点中各个时间点之间相隔预定的时间长度,每个所述时间点占用内存的一个存储区,每个所述存储区包括预定个数的字节,每个所述时间点所关联的指标值被填入所述时间点所占用的存储区中;
    将没有填入数据的存储区进行数据压缩处理,得到时间区间压缩数据;
    将所述时间区间压缩数据写入磁盘。
  2. 根据权利要求1所述的方法,其特征在于,所述时间区间数据表包括主键列,所述时间区间数据表中的每条数据行的主键值包括表示所述数据行对应的时间区间的起点的起始时间点值。
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述时间序列数据的时间,将所述时间序列数据的指标值存入时间区间数据表中,包括:
    根据所述时间序列数据的时间点,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间所对应的数据行;
    如果匹配到所述对应的数据行,则将所述时间序列数据的指标值填入所述数据行中与所述时间点对应的存储区中;
    如果没有匹配到所述数据行,则新增一条新数据行,所述新增的数据行的主键值包括所述时间序列数据的时间点,所述新增的数据行的第一个存储区所填入的数据为所述时间序列数据的指标值。
  4. 根据权利要求3所述的方法,其特征在于,所述时间序列数据还包括:数据来源主体标识码信息,其中,所述数据来源主体标识码信息为所述时间序列数据的来源主体的标识码。
  5. 根据权利要求4所述的方法,其特征在于,所述每条数据行的主键值还包括数据来源主体标识码,所述数据来源主体标识码为所述数据行的指标值数据的来源主体的标识码。
  6. 根据权利要求5所述的方法,其特征在于,所述根据所述时间序列数据的时间点,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间所对应的数据行,包括:
    根据所述时间序列数据的时间点以及数据来源主体标识码,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间并且主键值包括所述时间序列数据的数据来源主体标识码的数据行。
  7. 根据权利要求5所述的方法,其特征在于,所述新增的数据行的主键值还包括所述时间序列数据的数据来源主体标识码。
  8. 根据权利要求5所述的方法,其特征在于,所述时间序列数据还包括:指标标识码信息,所述指标标识码为所述时间序列数据的指标值所对应的指标的标识码。
  9. 根据权利要求8所述的方法,其特征在于,所述每条数据行的主键值还包括指标标识码,所述指标标识码为所述数据行记录的指标值所对应的指标的标识码。
  10. 根据权利要求9所述的方法,其特征在于,所述根据所述时间序列数据的时间点,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间所对应的数据行,包括:
    根据所述时间序列数据的时间点、数据来源主体标识码和指标标 识码,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间并且主键值包括所述时间序列数据的数据来源主体标识码和指标标识码的数据行。
  11. 根据权利要求9所述的方法,其特征在于,所述新增的数据行的主键值还包括所述时间序列数据的指标标识码。
  12. 根据权利要求2-11任一所述的方法,其特征在于,所述时间区间数据表还包括指标值数据集合列,用于记录所述至少一个时间点的指标值。
  13. 根据权利要求12所述的方法,其特征在于,所述指标值数据集合列还用于记录存储区状态信息,所述时间区间数据表中的每条数据行中的所述存储区状态信息包括:所述数据行中的各存储区的空置状态,所述空置状态表示所述存储区是否填有数据;以及
    所述将没有填入数据的存储区进行数据压缩处理,包括:将存储区状态为“空闲”的存储区进行数据压缩处理。
  14. 一种存储时间序列数据的装置,其特征在于,所述装置包括:
    数据存储单元,用于根据时间序列数据的时间点,将所述时间序列数据的指标值存入时间区间数据表中,其中,所述时间序列数据包括以下信息:时间点、与所述时间点关联的指标值,所述时间区间数据表中的每条数据行用于记录预定长度的时间区间内的至少一个时间点所关联的指标值,所述至少一个时间点中各个时间点之间相隔预定的时间长度,每个所述时间点占用内存的一个存储区,每个所述存储区包括预定个数的字节,每个所述时间点所关联的指标值被填入所述时间点所占用的存储区中;
    数据压缩单元,用于将没有填入数据的存储区进行数据压缩处理,得到时间区间压缩数据;
    数据写入单元,用于将所述时间区间压缩数据写入磁盘。
  15. 根据权利要求14所述的装置,其特征在于,所述时间区间数据表包括主键列,所述时间区间数据表中的每条数据行的主键值包括表示所述数据行对应的时间区间的起点的起始时间点值。
  16. 根据权利要求15所述的装置,其特征在于,所述数据存储单元包括:
    数据行匹配子单元,用于根据所述时间序列数据的时间点,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间所对应的数据行;
    数据填入子单元,用于在匹配到所述对应的数据行时,将所述时间序列数据的指标值填入所述数据行中与所述时间点对应的存储区中;
    数据新增子单元,用于在没有匹配到所述数据行时,新增一条新数据行,所述新增的数据行的主键值包括所述时间序列数据的时间点,所述新增的数据行的第一个存储区所填入的数据为所述时间序列数据的指标值。
  17. 根据权利要求16所述的装置,其特征在于,所述时间序列数据还包括:数据来源主体标识码信息,其中,所述数据来源主体标识码信息为所述时间序列数据的来源主体的标识码。
  18. 根据权利要求17所述的装置,其特征在于,所述每条数据行的主键值还包括数据来源主体标识码,所述数据来源主体标识码为所述数据行的指标值数据的来源主体的标识码。
  19. 根据权利要求18所述的装置,其特征在于,所述数据行匹配子单元进一步配置用于根据所述时间序列数据的时间点以及数据来源主体标识码,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间并且主键值包括所述时间序列数据的数据来源主体标识 码的数据行。
  20. 根据权利要求18所述的装置,其特征在于,所述新增的数据行的主键值还包括所述时间序列数据的数据来源主体标识码。
  21. 根据权利要求18所述的装置,其特征在于,所述时间序列数据还包括:指标标识码信息,所述指标标识码为所述时间序列数据的指标值所对应的指标的标识码。
  22. 根据权利要求21所述的装置,其特征在于,所述每条数据行的主键值还包括指标标识码,所述指标标识码为所述数据行记录的指标值所对应的指标的标识码。
  23. 根据权利要求22所述的装置,其特征在于,所述数据行匹配子单元进一步配置用于根据所述时间序列数据的时间点、数据来源主体标识码和指标标识码,在时间区间数据表中匹配包含所述时间序列数据的时间点的时间区间并且主键值包括所述时间序列数据的数据来源主体标识码和指标标识码的数据行。
  24. 根据权利要求22所述的装置,其特征在于,所述新增的数据行的主键值还包括所述时间序列数据的指标标识码。
  25. 根据权利要求15-24任一所述的装置,其特征在于,所述时间区间数据表还包括指标值数据集合列,用于记录所述至少一个时间点的指标值。
  26. 根据权利要求25所述的装置,其特征在于,所述指标值数据集合列还用于记录存储区状态信息,所述时间区间数据表中的每条数据行中的所述存储区状态信息包括:所述数据行中的各存储区的空置状态,所述空置状态表示所述存储区是否填有数据;以及
    所述数据压缩单元进一步配置用于将存储区状态为“空闲”的存储区进行数据压缩处理。
  27. 一种设备,包括:
    处理器;和
    存储器,
    所述存储器中存储有能够被所述处理器执行的计算机可读指令,在所述计算机可读指令被执行时,所述处理器:
    根据时间序列数据的时间点,将所述时间序列数据的指标值存入时间区间数据表中,其中,所述时间序列数据包括以下信息:时间点、与所述时间点关联的指标值,所述时间区间数据表中的每条数据行用于记录预定长度的时间区间内的至少一个时间点所关联的指标值,所述至少一个时间点中各个时间点之间相隔预定的时间长度,每个所述时间点占用内存的一个存储区,每个所述存储区包括预定个数的字节,每个所述时间点所关联的指标值被填入所述时间点所占用的存储区中;
    将没有填入数据的存储区进行数据压缩处理,得到时间区间压缩数据;
    将所述时间区间压缩数据写入磁盘。
  28. 一种非易失性计算机存储介质,所述计算机存储介质存储有能够被处理器执行的计算机可读指令,当所述计算机可读指令被处理器执行时,所述处理器:
    根据时间序列数据的时间点,将所述时间序列数据的指标值存入时间区间数据表中,其中,所述时间序列数据包括以下信息:时间点、与所述时间点关联的指标值,所述时间区间数据表中的每条数据行用于记录预定长度的时间区间内的至少一个时间点所关联的指标值,所述至少一个时间点中各个时间点之间相隔预定的时间长度,每个所述时间点占用内存的一个存储区,每个所述存储区包括预定个数的字节,每个所述时间点所关联的指标值被填入所述时间点所占用的存储区 中;
    将没有填入数据的存储区进行数据压缩处理,得到时间区间压缩数据;
    将所述时间区间压缩数据写入磁盘。
PCT/CN2015/095636 2015-09-22 2015-11-26 存储时间序列数据的方法和装置 WO2017049757A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/533,966 US10606806B2 (en) 2015-09-22 2015-11-26 Method and apparatus for storing time series data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510608162.8 2015-09-22
CN201510608162.8A CN105260404B (zh) 2015-09-22 2015-09-22 存储时间序列数据的方法和装置

Publications (1)

Publication Number Publication Date
WO2017049757A1 true WO2017049757A1 (zh) 2017-03-30

Family

ID=55100096

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/095636 WO2017049757A1 (zh) 2015-09-22 2015-11-26 存储时间序列数据的方法和装置

Country Status (3)

Country Link
US (1) US10606806B2 (zh)
CN (1) CN105260404B (zh)
WO (1) WO2017049757A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107985840A (zh) * 2017-12-08 2018-05-04 北京小米移动软件有限公司 垃圾桶的信息处理方法及装置
CN116088771A (zh) * 2023-04-06 2023-05-09 国网浙江省电力有限公司营销服务中心 基于能源互联网的工单数据多层次存储方法及系统

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491458B (zh) * 2016-06-13 2021-08-31 阿里巴巴集团控股有限公司 一种存储时间序列数据的方法和装置以及系统
US11137980B1 (en) * 2016-09-27 2021-10-05 Amazon Technologies, Inc. Monotonic time-based data storage
US10592809B2 (en) * 2016-10-21 2020-03-17 International Business Machines Corporation Guided row insertion
JP6840013B2 (ja) * 2017-03-31 2021-03-10 アズビル株式会社 時系列データ記録方法および装置
CN110019352B (zh) * 2017-09-14 2021-09-03 北京京东尚科信息技术有限公司 用于存储数据的方法和装置
WO2020171729A1 (en) * 2019-02-21 2020-08-27 Siemens Aktiengesellschaft Method and computerized device for performing a range search based on numeric time series data
CN111581247B (zh) * 2019-10-01 2022-04-01 上海忆芯实业有限公司 数据管理器、时序数据库及信息处理系统
CN111400322B (zh) * 2020-03-25 2023-10-03 抖音视界有限公司 用于存储数据的方法、装置、电子设备和介质
CN112506933B (zh) * 2020-12-17 2024-04-12 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 高速率多通道时间序列数据存储方法
CN112860769B (zh) * 2021-03-10 2023-01-20 广东电网有限责任公司 一种能源规划数据管理系统
FR3120714B1 (fr) * 2021-03-11 2024-01-19 Stuteo Procede d’encodage d’au moins une serie temporelle dans une base de donnees

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102792282A (zh) * 2010-04-09 2012-11-21 株式会社日立制作所 数据库管理方法、计算机、传感器网络系统以及数据库搜索程序
CN103577456A (zh) * 2012-07-31 2014-02-12 国际商业机器公司 用于处理时序数据的方法和装置
CN103605805A (zh) * 2013-12-09 2014-02-26 冶金自动化研究设计院 一种海量时序数据的存储方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2548461C (en) * 2004-02-26 2009-08-11 Mitsubishi Denki Kabushiki Kaisha Time series data dimensional compression apparatus
WO2011142026A1 (ja) * 2010-05-14 2011-11-17 株式会社日立製作所 時系列データ管理装置、システム、方法、およびプログラム
CN102646130B (zh) * 2012-03-12 2013-08-14 华中科技大学 一种海量历史数据的存储及索引方法
KR101391814B1 (ko) * 2012-06-27 2014-05-12 한국과학기술연구원 촉매 담지용 티타니아 담체, 이를 포함하는 망간산화물-티타니아 촉매, 그 제조장치 및 제조방법, 그리고 질소산화물의 제거방법
CA2867589A1 (en) * 2013-10-15 2015-04-15 Coho Data Inc. Systems, methods and devices for implementing data management in a distributed data storage system
US10545936B2 (en) * 2014-07-08 2020-01-28 Sap Se Linear run length encoding: compressing the index vector

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102792282A (zh) * 2010-04-09 2012-11-21 株式会社日立制作所 数据库管理方法、计算机、传感器网络系统以及数据库搜索程序
CN103577456A (zh) * 2012-07-31 2014-02-12 国际商业机器公司 用于处理时序数据的方法和装置
CN103605805A (zh) * 2013-12-09 2014-02-26 冶金自动化研究设计院 一种海量时序数据的存储方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107985840A (zh) * 2017-12-08 2018-05-04 北京小米移动软件有限公司 垃圾桶的信息处理方法及装置
CN116088771A (zh) * 2023-04-06 2023-05-09 国网浙江省电力有限公司营销服务中心 基于能源互联网的工单数据多层次存储方法及系统

Also Published As

Publication number Publication date
CN105260404B (zh) 2019-03-26
US10606806B2 (en) 2020-03-31
CN105260404A (zh) 2016-01-20
US20180329921A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
WO2017049757A1 (zh) 存储时间序列数据的方法和装置
WO2019085471A1 (zh) 数据库同步方法、应用服务器及计算机可读存储介质
US11249980B2 (en) Updating of in-memory synopsis metadata for inserts in database table
US10649905B2 (en) Method and apparatus for storing data
WO2017107414A1 (zh) 文件操作方法和装置
CN103970520A (zh) MapReduce架构中的资源管理方法、装置和架构系统
FI3864798T3 (fi) Järjestelmä ja menetelmä lohkoketjujen yhteentoimivuuteen
CN104657435A (zh) 一种应用数据的存储管理方法和网络管理系统
WO2017132797A1 (zh) 数据整理方法、存储设备、存储控制器以及存储阵列
CN110851474A (zh) 数据查询方法、数据库中间件、数据查询设备及存储介质
CN109697019B (zh) 基于fat文件系统的数据写入的方法和系统
US11729268B2 (en) Computer-implemented method, system, and storage medium for prefetching in a distributed graph architecture
CN115470156A (zh) 基于rdma的内存使用方法、系统、电子设备和存储介质
CN107402878B (zh) 测试方法和装置
US10003634B2 (en) Multi-threaded download with asynchronous writing
CN110019347B (zh) 一种区块链的数据处理方法、装置及终端设备
US11429317B2 (en) Method, apparatus and computer program product for storing data
CN112506490A (zh) 一种接口生成方法、装置、电子设备及存储介质
CN111158606A (zh) 存储方法、装置、计算机设备和存储介质
CN111125168A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN111290700A (zh) 分布式数据读写方法和系统
CN116016561A (zh) 数据的同步方法和装置
CN115269063A (zh) 进程创建方法、系统、设备及介质
US11226778B2 (en) Method, apparatus and computer program product for managing metadata migration
CN114489770A (zh) 灰度发布方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15904632

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15533966

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15904632

Country of ref document: EP

Kind code of ref document: A1