CN110633277B - 时序数据存储方法、装置、计算机设备和存储介质 - Google Patents
时序数据存储方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110633277B CN110633277B CN201910745384.2A CN201910745384A CN110633277B CN 110633277 B CN110633277 B CN 110633277B CN 201910745384 A CN201910745384 A CN 201910745384A CN 110633277 B CN110633277 B CN 110633277B
- Authority
- CN
- China
- Prior art keywords
- data point
- time sequence
- time
- sequence data
- compression
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013500 data storage Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000007906 compression Methods 0.000 claims description 134
- 230000006835 compression Effects 0.000 claims description 134
- 238000012544 monitoring process Methods 0.000 claims description 52
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 239000012634 fragment Substances 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000013144 data compression Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种基于大数据处理技术的时序数据存储方法、装置、计算机设备和存储介质。所述方法包括:获取当前的时序数据点;所述时序数据点包括时间戳字段;根据所述时间戳字段,确定所述当前的时序数据点对应的基准数据点;计算所述当前的时序数据点与基准数据点的相对变化值;根据时间顺序将所述相对变化值追加至时序数据库中与所述基准数据点对应的压缩数据点;当接收到下一个时序数据点时,将所述下一个时序数据点标记为当前的时序数据点,返回至所述确定所述当前的时序数据点对应的基准数据点的步骤。采用本方法能够降低时序数据存储成本。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种时序数据存储方法、装置、计算机设备和存储介质。
背景技术
在运维场景中,需要对业务产品在多个时间节点的运行状态进行监控,从而有越来越多的时序数据产生。时序数据是带有时间戳的一系列数据。例如,无人车在第一时刻的坐标、速度、方向、温度、湿度等属性监控数据即为一条时序数据;无人车在第二时刻的属性监控数据即为另一条时序数据。目前基于专用的时序数据库存储时序数据。由于时序数据持续不间断产生,通常时序数据的数据量非常大,需要分布式部署多个时序数据库来存储海量的时序数据,使得时序数据存储成本升高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低时序数据存储成本.的时序数据存储方法、装置、计算机设备和存储介质。
一种时序数据存储方法,所述方法包括:获取当前的时序数据点;所述时序数据点包括时间戳字段;根据所述时间戳字段,确定所述当前的时序数据点对应的基准数据点;计算所述当前的时序数据点与基准数据点的相对变化值;根据时间顺序将所述相对变化值追加至时序数据库中与所述基准数据点对应的压缩数据点;当接收到下一个时序数据点时,将所述下一个时序数据点标记为当前的时序数据点,返回至所述确定所述当前的时序数据点对应的基准数据点的步骤。
在一个实施例中,所述获取当前的时序数据点,包括:对业务产品的运行状态进行监控,得到多个时序数据点;对多个时序数据点进行分片处理,得到多个时序片段;根据所述时间戳字段确定每个时序片段中不同时序数据点的遍历顺序;调用多线程对多个所述时序片段的时序数据点进行同步遍历;获取每个时序片段中当前遍历顺序的时序数据点。
在一个实施例中,所述根据所述时间戳字段确定所述当前的时序数据点对应的基准数据点,包括:确定所述时间戳字段所属的压缩时段;识别所述压缩时段是否存在对应的基准数据点;若否,基于所属压缩时段中的初始时间生成所述压缩时段对应的基准数据点;或将所述压缩时段中第一时间顺序的时序数据点标记为所述压缩时段对应的基准数据点;将所述压缩时段对应的基准数据点标记为所述当前的时序数据点对应的基准数据点。
在一个实施例中,所述相对变化值包括第一差值和第一差值;所述时序数据点还包括监控属性字段;所述计算所述当前的时序数据点与基准数据点的相对变化值,包括:识别所述当前的时序数据点是否为所属压缩时段对应的第一时间顺序的时序数据点;若是,计算所述当前的时序数据点与相应基准数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值;否则,计算所述当前的时序数据点与前一时间顺序的时序数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值。
在一个实施例中,所述基准数据点包括基准时间戳字段和基准属性字段;所述计算所述当前的时序数据点与相应基准数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值,包括:按照预设的压缩精度对当前的时间戳字段及所述基准时间戳字段进行时间换算,计算换算得到当前的时间戳字段相对基准时间戳字段的第一差值;对所述监控属性字段及所述基准属性字段进行目标进制转换,并对转换后的所述监控属性字段及所述基准属性字段进行预设逻辑运算,得到第二差值。
在一个实施例中,所述根据时间顺序将所述相对变化值追加至时序数据库中与所述基准数据点对应的压缩数据点,包括:利用第一预设标识符和第二预设字符将所述第一差值与所述第二差值拼接,得到当前的时序数据点对应的目标字符串;若当前的时序数据点为所属压缩时段对应的第一时间顺序的时序数据点,利用所述目标字符串替换所述基准数据点中的基准监控字段,得到所述压缩时段对应的压缩数据点;若当前的时序数据点并非所属压缩时段对应的第一时间顺序的时序数据点,利用所述第一预设标识符将所述第一差值拼接至所述压缩字段对应的压缩数据点,利用所述第二预设标识符将所述第二差值拼接在所述第一差值之后。
在一个实施例中,该方法还包括:接收终端发送的数据查询请求;所述数据查询请求携带了查询时间戳;确定所述查询时间戳所属的压缩时段;获取所述压缩时段对应的压缩数据点;所述压缩数据点包括按照时间顺序排列的多个目标字符串;按照时间顺序对所述压缩数据点中多个目标字符串进行解码;将所述查询时间戳对应时间顺序的目标字符串的解码结果返回至终端。
一种时序数据存储装置,所述装置包括:数据接收模块,用于获取当前的时序数据点;所述时序数据点包括时间戳字段;压缩处理模块,用于根据所述时间戳字段,确定所述当前的时序数据点对应的基准数据点;计算所述当前的时序数据点与基准数据点的相对变化值;压缩存储模块,用于根据时间顺序将所述相对变化值追加至时序数据库中与所述基准数据点对应的压缩数据点;所述数据接收模块还用于当接收到下一个时序数据点时,将所述下一个时序数据点标记为当前的时序数据点。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请任意一个实施例中提供的时序数据存储方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任意一个实施例中提供的时序数据存储方法的步骤。
上述时序数据存储方法、装置、计算机设备和存储介质,当接收到当前的时序数据点时,根据时序数据点记录的时间戳字段,可以确定所述当前的时序数据点对应的基准数据点;通过计算所述当前的时序数据点与基准数据点的相对变化值,并将所述相对变化值按照时间顺序追加至时序数据库中与所述基准数据点对应的压缩数据点;按照上述方式对后接收到的每个时序数据点进行处理,可以实现对大量时序数据点的压缩。由于根据时序数据点与基准数据点之间的差异对多个时序数据点进行压缩,压缩逻辑简单,不仅可以保证时序数据存储效率,且在保留海量时序数据点蕴含的信息的同时,可以减少时序数据存储成本。
附图说明
图1为一个实施例中时序数据存储方法的应用场景图;
图2为一个实施例中时序数据存储方法的流程示意图;
图3为一个实施例中相对变化值的计算步骤的流程示意图;
图4为一个实施例中时序数据存储装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的时序数据存储方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。服务器104自身或者其他服务器对业务平台的运行状态进行监控,产生多个时序数据点。时序数据点包括时间戳字段和监控属性字段。服务器104部署了对应的时序数据库。服务器104每接收到一个时序数据点按照以下逻辑进行压缩处理后将其存储至时序数据库,或者按照预设时间频率对接收到的多个时序数据点进行压缩后进行存储至时序数据库。具体的,服务器104根据时间戳字段确定每个时序数据点对应的基准数据点,并计算当前的时序数据点与基准数据点的相对变化值。服务器104根据时间顺序将相对变化值追加在时序数据库中与基准数据点对应的压缩数据点之后。用户可以基于终端102对时序数据库中的压缩数据点进行查询。上述时序数据存储过程,根据时序数据点与基准数据点之间的差异对多个时序数据点进行压缩,在保留海量时序数据点蕴含的信息的同时,可以大大减少时序数据存储成本。
在一个实施例中,如图2所示,提供了一种时序数据存储方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,获取当前的时序数据点;时序数据点包括时间戳字段。
服务器对业务产品的运行状态进行监控,产生多个时序数据点。或者,服务器接收其他监控平台发送的包含多个时序数据点的监控数据。业务产品可以是软件产品、也可以是自动化产品,还可以是工业机械产品。时序数据点在时序数据库中的存储格式为[时间戳字段,监控属性字段]。换言之,时序数据点包括时间戳字段和监控属性字段。其中,时间戳字段用于标识该时序数据点产生的时间。时序数据点可以同时包括多种监控属性字段。监控属性字段包括随着时间戳变化而变化的度量属性字段。例如,对业务产品A进行监控,连续产生的其中三个时序数据点可以是:[2018-12-20 13:01:02,12],[2018-12-20 13:02:02,12],[2018-12-20 13:03:02,24]。在另一个实施例中,监控属性字段还可以包括不随着时间戳变化而变化的标签属性字段。
服务器可以对接收到的时序数据点逐个压缩存储。换言之,每接收到一个时序数据点,服务器对时序数据点进行压缩处理,将压缩结果存储至时序数据库。服务器也可以对接收到的时序数据点进行批量压缩存储。以下以逐个压缩存储为例进行描述。
步骤204,根据时间戳字段,确定当前的时序数据点对应的基准数据点。
在一个实施例中,根据时间戳字段确定当前的时序数据点对应的基准数据点,包括:确定时间戳字段所属的压缩时段;识别压缩时段是否存在对应的基准数据点;若否,基于所属压缩时段中的初始时间生成压缩时段对应的基准数据点;或将压缩时段中第一时间顺序的时序数据点标记为压缩时段对应的基准数据点;将压缩时段对应的基准数据点标记为当前的时序数据点对应的基准数据点。
服务器每隔预设时长初始化一次上述逐个压缩存储或者批量压缩存储的逻辑。换言之,服务器每隔预设时长重新确定一次相应压缩时段的基准数据点。例如,假设预设时长为1小时,起始监控时间为8:00,则第一个压缩时段为8:00~9:00,下一个压缩时段为9:00~10:00,如此类推。同一压缩时段接收到的全部时序数据点具有相同的基准数据点。
基准数据点包括基准时间戳字段和基准属性字段。基准数据点可以为相应压缩时段接收到的第一个时序数据点,即将时间戳最早的一个时序数据点确定为基准数据点。例如,上述举例中三个时序数据点属于同时压缩时段,因而对应的基准数据点均可以是[2018-12-20 13:01:02,12]。
基准数据点也可以是根据所属压缩时段中的初始时间自定义的一个时序数据点。换言之,自定义基准数据点记录的基准时间戳字段可以与相应分片中任意一个时序数据点记录的时间戳字段不同,记录的基准属性字段也可以与相应分片中任意一个时序数据点记录的监控属性字段不同。例如,上述举例中三个时序数据点对应的基准数据点均可以是[2018-12-20 13:00:00,00]。
步骤206,计算当前的时序数据点与基准数据点的相对变化值。
相对变化值包括基于时间戳字段的差值,记作第一差值。相对变化值还包括基于监控属性字段的差值,记作第二差值。
在一个实施例中,计算当前的时序数据点与基准数据点的相对变化值,包括:识别当前的时序数据点是否为所属压缩时段对应的第一时间顺序的时序数据点;若是,计算当前的时序数据点与相应基准数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值;否则,计算当前的时序数据点与前一时间顺序的时序数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值。
服务器识别当前的时序数据点是否为当前压缩时段接收到的第一个时序数据点。若当前的时序数据点为当前压缩时段接收到的第一个时序数据点,服务器计算当前的时序数据点与相应基准数据点的第一差值和第二差值。若当前的时序数据点并非当前压缩时段接收到的第一个时序数据点,则服务器计算当前的时序数据点与前一时间顺序的时序数据点的第一差值和第二差值。例如,在上述举例中,若将[2018-12-20 13:00:00,00]作为基准数据点,则时序数据点[2018-12-20 13:01:02,12]相对基准数据点的第一差值可以是62,第二差值可以是12;时序数据点[2018-12-20 13:02:02,12]相对前一时间顺序时序数据点[2018-12-20 13:01:02,12]的第一差值可以是2,第二差值可以是0。
容易理解,也可以采用其他的运算逻辑,比如全部时序数据点的相对变化值是其相对基准数据点的变化值,而非相对前一时间顺序的时序数据点的变化值,对此不作限制。
步骤208,根据时间顺序将相对变化值追加至时序数据库中与基准数据点对应的压缩数据点。
在一个实施例中,根据时间顺序将相对变化值追加至时序数据库中与基准数据点对应的压缩数据点,包括:利用第一预设标识符和第二预设字符将第一差值与第二差值拼接,得到当前的时序数据点对应的目标字符串;若当前的时序数据点为所属压缩时段对应的第一时间顺序的时序数据点,利用目标字符串替换基准数据点中的基准监控字段,得到压缩时段对应的压缩数据点;若当前的时序数据点并非所属压缩时段对应的第一时间顺序的时序数据点,利用第一预设标识符将第一差值拼接至压缩字段对应的压缩数据点,利用第二预设标识符将第二差值拼接在第一差值之后。
第一预设标识符与第二标识分别可以是“->”,“|”,“/”,“_”,“#”,“@”或“*”等。服务器将第一预设标识符、第一差值、第二预设字符及第二差值依次拼接,可以得到当前的时序数据点对应的目标字符串。例如,在上述举例中,时序数据点[2018-12-20 13:01:02,12]对应拼接得到的目标字符串可以是“->62|12”;时序数据点[2018-12-20 13:02:02,12]对应拼接得到的目标字符串可以是“->-2|0”。
若当前的时序数据点为当前压缩时段接收到的第一个时序数据点,服务器获取当前压缩时段对应的基准数据点,将该基准数据点中的基准属性字段替换为当前的时序数据点对应的目标字符串。若根据接收到每个时序数据点的时间将压缩时段区分为多个压缩时刻,则容易理解,在逐个压缩存储方式中,每个压缩时段对应的压缩数据点在不同压缩时刻的数据内容是不同的。经过上述目标字符替换处理,可以得到当前压缩时段在第一压缩时刻的压缩数据点。例如,在上述举例中,若当前的时序数据点为[2018-12-20 13:01:02,12],则可以得到第一压缩时刻的压缩数据点,且该压缩数据点为["2018-12-20 13:00:00"->62|12]。
若当前的时序数据点并非当前压缩时段接收到的第一个时序数据点,则服务器当前的时序数据点对应的目标字符串拼接在所属压缩字段在前一压缩时刻对应的压缩数据点之后。例如,在上述举例中,若当前的时序数据点为[2018-12-20 13:02:02,12],则可以得到第二压缩时刻的压缩数据点,且该压缩数据点为[2018-12-20 13:00:00->62|12->-2|0]。
步骤210,当接收到下一个时序数据点时,将下一个时序数据点标记为当前的时序数据点,返回至确定当前的时序数据点对应的基准数据点的步骤。
若当前压缩时段接收到另一个时序数据点,则按照上述方式对该时序数据点进行压缩处理,并将压缩处理得到的目标字符串拼接至所属压缩字段在前一压缩时刻对应的压缩数据点之后。如此重复,直至当前压缩时段接收到的最后一个时序数据点,最终将当前压缩时段接收到的全部时序数据点压缩为一个压缩数据点。
本实施例中,当接收到当前的时序数据点时,根据时序数据点记录的时间戳字段,可以确定当前的时序数据点对应的基准数据点;通过计算当前的时序数据点与基准数据点的相对变化值,并将相对变化值按照时间顺序追加至时序数据库中与基准数据点对应的压缩数据点;按照上述方式对后接收到的每个时序数据点进行处理,可以实现对大量时序数据点的压缩。由于根据时序数据点与基准数据点之间的差异对多个时序数据点进行压缩,压缩逻辑简单,不仅可以保证时序数据压缩存储效率,且在保留海量时序数据点蕴含的信息的同时,可以减少时序数据存储成本。
在一个实施例中,获取当前的时序数据点,包括:对业务产品的运行状态进行监控,得到多个时序数据点;对多个时序数据点进行分片处理,得到多个时序片段;根据时间戳字段确定每个时序片段中不同时序数据点的遍历顺序;调用多线程对多个时序片段的时序数据点进行同步遍历;获取每个时序片段中当前遍历顺序的时序数据点。
服务器对接收到的多个时序数据点进行批量压缩存储。具体的,服务器统计在预设时长内接收到的时序数据点的数量,判断该数量是否达到预设的压缩阈值。若是,服务器根据预设的分片阈值对接收到的多个时序数据点进行分片,得到多个时序片段。例如,若分片阈值为60,则将连续产生的60个时序数据点作为一个分片。压缩阈值及分片阈值的设定应当综合考虑数据压缩量及后续解码效率。
每个时序片段包括多个时序数据点。为了提高压缩存储效率,服务器可以调用多线程对多个时序片段的时序数据点进行同步遍历,按照上述方式对每个时序片段中不同遍历顺序的时序数据点进行压缩处理,得到每个时序片段对应的一个或多个压缩数据点。
本实施例中,对多个时序数据点进行分片,可以实现批量压缩存储;同步对多个分片中的时序数据点进行压缩处理,提高时序数据压缩效率。
在一个实施例中,如图3所示,计算当前的时序数据点与相应基准数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值,即相对变化值计算的步骤,包括:
步骤302,按照预设的压缩精度对当前的时间戳字段及基准时间戳字段进行时间换算,计算换算得到当前的时间戳字段相对基准时间戳字段的第一差值。
服务器基于预设的第一运算逻辑计算当前的时序数据点与相应基准数据点基于时间戳字段的第一差值。其中,第一运算逻辑可以是首先按照预设的压缩精度对当前的时间戳字段及基准时间戳字段进行时间换算,再计算换算得到当前的时间戳字段相对基准时间戳字段的第一差值。压缩精度是指进行时间换算的时间单位。例如,在上述举例中,若压缩精度为“分”,则基准数据点[2018-12-20 13:00:00,00]对应转换后的基准时间戳字段可以是2018-12-20 13:0,时序数据点为[2018-12-20 13:01:02,12]对应时间转换后的时间戳字段可以是2018-12-20 13:62,从而该时序数据点相对基准数据点的第一差值可以是62。
步骤304,对监控属性字段及基准属性字段进行目标进制转换,并对转换后的监控属性字段及基准属性字段进行预设逻辑运算,得到第二差值。
服务器基于预设的第二运算逻辑计算当前的时序数据点与相应基准数据点基于监控属性字段的第二差值。其中,第二运算逻辑可以是对监控属性字段及基准属性字段进行目标进制转换,再对转换后的监控属性字段及基准属性字段进行预设逻辑运算。目标进制转换可以是二进制转换、十六进制转换等,预设逻辑运算可以是逻辑与运算、逻辑或运算、异或运算等。例如,在上述举例中,若目标进制转换为二进制转换,则基准数据点[2018-12-20 13:00:00,00]对应转换后的基准属性字段可以是0X0000 0000,时序数据点为[2018-12-20 13:01:02,12]对应时间转换后的监控属性字段可以是0X0000 1100,若预设逻辑运算为异或运算,则该时序数据点相对基准数据点的第二差值可以是0X0000 1100。
在另一个实施例中,以预设的表征方式对预设逻辑运算结果进行转换,将转换后的预设逻辑运算结果作为第二差值。例如,可以采用比值A:B比值的形式表征预设逻辑运算结果。其中,A为代表预设逻辑运算结果中第几位为预设值;B为预设值,预设值B可以是二进制中的“1”。若预设逻辑运算结果包含连续的多个预设值,则可以表征为A1-A2:B等的形式,比如,0X0001 1100可以记录为4-6:1。若预设逻辑运算结果包含间隔的多个预设值,则可以表征为A1.A2:B等的形式,比如,0X0010 0110可以表征为3.6-7:1。
需要说明的是,第一运算逻辑及第二运算逻辑均可以采用其他的运算逻辑,对此不作限制。
本实施例中,以简单的运算逻辑计算第一差值及第二差值,不仅可以提高数据压缩效率,还可降低对压缩数据点的解码门槛,进而可以提高基于压缩数据点的时序数据查询效率。
在一个实施例中,该方法还包括:接收终端发送的数据查询请求;数据查询请求携带了查询时间戳;确定查询时间戳所属的压缩时段;获取压缩时段对应的压缩数据点;压缩数据点包括按照时间顺序排列的多个目标字符串;按照时间顺序对压缩数据点中多个目标字符串进行解码;将查询时间戳对应时间顺序的目标字符串的解码结果返回至终端。
当对业务产品进行问题排查时,可以对业务产品在某个时间点的运行状态进行查询。比如要查询业务产品在2018-12-20 17:01:05的运行状态。用户可以通过终端录入查询时间戳,终端基于查询时间戳生成数据查询请求,将数据查询请求发送至服务器。在另一个实施例中,也支持用户对业务产品在某个时间段的运行状态进行查询。
服务器确定查询时间戳所属的压缩时段,并生成该压缩时段对应的查询语句,基于查询语句在时序数据库中查询对应的压缩数据点。压缩数据点包括按照时间顺序排列的多个目标字符串。服务器计算查询时间戳在所属压缩时段对应的时间顺序,记作目标顺序。
服务器按照时间顺序对压缩数据点中多个目标字符串进行遍历。具体的,服务器按照与上述第一运算逻辑相反的运算逻辑(记作第一反向逻辑)对当前遍历顺序的目标字符串中的第一差值进行反向运算,得到初始的时间戳字段。服务器按照与上述第二运算逻辑相反的运算逻辑(记作第二反向逻辑)对当前遍历顺序的目标字符串中的第二差值进行反向运算,得到初始的监控属性字段。服务器按照上述方式利用当前遍历顺序的目标字符串的解码结果对下一遍历顺序的目标字符串进行解码,直至得到目标顺序的目标字符串对应的解码结果。服务器将目标顺序的目标字符串对应的解码结果返回至终端。
本实施例中,只需反向计算当前的时序数据点与基准数据点的相对变化值即可实现数据解码,解码逻辑简单,可以减少在数据查询时对压缩数据点解码的时间,从而可以保证数据查询效率。
应该理解的是,虽然图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种时序数据存储装置,包括:数据接收模块402、压缩处理模块404和压缩存储模块406,其中:
数据接收模块402,用于获取当前的时序数据点;时序数据点包括时间戳字段;
压缩处理模块404,用于根据时间戳字段,确定当前的时序数据点对应的基准数据点;计算当前的时序数据点与基准数据点的相对变化值;
压缩存储模块406,用于根据时间顺序将相对变化值追加至时序数据库中与基准数据点对应的压缩数据点;数据接收模块还用于当接收到下一个时序数据点时,将下一个时序数据点标记为当前的时序数据点。
在一个实施例中,数据接收模块402还用于对业务产品的运行状态进行监控,得到多个时序数据点;对多个时序数据点进行分片处理,得到多个时序片段;根据时间戳字段确定每个时序片段中不同时序数据点的遍历顺序;调用多线程对多个时序片段的时序数据点进行同步遍历;获取每个时序片段中当前遍历顺序的时序数据点。
在一个实施例中,压缩处理模块404还用于确定时间戳字段所属的压缩时段;识别压缩时段是否存在对应的基准数据点;若否,基于所属压缩时段中的初始时间生成压缩时段对应的基准数据点;或将压缩时段中第一时间顺序的时序数据点标记为压缩时段对应的基准数据点;将压缩时段对应的基准数据点标记为当前的时序数据点对应的基准数据点。
在一个实施例中,相对变化值包括第一差值和第一差值;时序数据点还包括监控属性字段;压缩处理模块404还用于识别当前的时序数据点是否为所属压缩时段对应的第一时间顺序的时序数据点;若是,计算当前的时序数据点与相应基准数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值;否则,计算当前的时序数据点与前一时间顺序的时序数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值。
在一个实施例中,基准数据点包括基准时间戳字段和基准属性字段;压缩处理模块404还用于按照预设的压缩精度对当前的时间戳字段及基准时间戳字段进行时间换算,计算换算得到当前的时间戳字段相对基准时间戳字段的第一差值;对监控属性字段及基准属性字段进行目标进制转换,并对转换后的监控属性字段及基准属性字段进行预设逻辑运算,得到第二差值。
在一个实施例中,压缩存储模块406,用于利用第一预设标识符和第二预设字符将第一差值与第二差值拼接,得到当前的时序数据点对应的目标字符串;若当前的时序数据点为所属压缩时段对应的第一时间顺序的时序数据点,利用目标字符串替换基准数据点中的基准监控字段,得到压缩时段对应的压缩数据点;若当前的时序数据点并非所属压缩时段对应的第一时间顺序的时序数据点,利用第一预设标识符将第一差值拼接至压缩字段对应的压缩数据点,利用第二预设标识符将第二差值拼接在第一差值之后。
在一个实施例中,该装置还包括数据查询模块408,用于接收终端发送的数据查询请求;数据查询请求携带了查询时间戳;确定查询时间戳所属的压缩时段;获取压缩时段对应的压缩数据点;压缩数据点包括按照时间顺序排列的多个目标字符串;按照时间顺序对压缩数据点中多个目标字符串进行解码;将查询时间戳对应时间顺序的目标字符串的解码结果返回至终端。
关于时序数据存储装置的具体限定可以参见上文中对于时序数据存储方法的限定,在此不再赘述。上述时序数据存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和时序数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的时序数据库用于存储压缩数据点。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种时序数据存储方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任意一个实施例中提供的时序数据存储方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种时序数据存储方法,所述方法包括:
获取当前的时序数据点;所述时序数据点包括时间戳字段和监控属性字段;
根据所述时间戳字段,确定所述当前的时序数据点对应的基准数据点;
确定所述时间戳字段所属的压缩时段;
识别所述当前的时序数据点是否为所述压缩时段对应的第一时间顺序的时序数据点;
若是,计算所述当前的时序数据点与相应基准数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值,包括:对所述监控属性字段及所述基准数据点包括的基准属性字段进行目标进制转换,并对转换后的所述监控属性字段及所述基准属性字段进行预设逻辑运算,得到预设逻辑运算结果,以比值A:B的形式对所述预设逻辑运算结果进行转换,得到第二差值;所述A为所述预设逻辑运算结果中第几位为预设值,所述B为所述预设值;
否则,计算所述当前的时序数据点与前一时间顺序的时序数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值;
将第一差值和第二差值作为所述当前的时序数据点与基准数据点的相对变化值;
根据时间顺序将所述相对变化值追加至时序数据库中与所述基准数据点对应的压缩数据点;
当接收到下一个时序数据点时,将所述下一个时序数据点标记为当前的时序数据点,返回至所述确定所述当前的时序数据点对应的基准数据点的步骤。
2.根据权利要求1所述的方法,其特征在于,所述获取当前的时序数据点,包括:
对业务产品的运行状态进行监控,得到多个时序数据点;
对多个时序数据点进行分片处理,得到多个时序片段;
根据所述时间戳字段确定每个时序片段中不同时序数据点的遍历顺序;
调用多线程对多个所述时序片段的时序数据点进行同步遍历;
获取每个时序片段中当前遍历顺序的时序数据点。
3.根据权利要求1所述的方法,其特征在于,所述根据所述时间戳字段确定所述当前的时序数据点对应的基准数据点,包括:
识别所述压缩时段是否存在对应的基准数据点;
若否,基于所述压缩时段中的初始时间生成所述压缩时段对应的基准数据点;或将所述压缩时段中第一时间顺序的时序数据点标记为所述压缩时段对应的基准数据点;
将所述压缩时段对应的基准数据点标记为所述当前的时序数据点对应的基准数据点。
4.根据权利要求1所述的方法,其特征在于,所述基准数据点包括基准时间戳字段;所述计算所述当前的时序数据点与相应基准数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值,包括:
按照预设的压缩精度对当前的时间戳字段及所述基准时间戳字段进行时间换算,计算换算得到当前的时间戳字段相对基准时间戳字段的第一差值。
5.根据权利要求1所述的方法,其特征在于,所述根据时间顺序将所述相对变化值追加至时序数据库中与所述基准数据点对应的压缩数据点,包括:
利用第一预设标识符和第二预设字符将所述第一差值与所述第二差值拼接,得到当前的时序数据点对应的目标字符串;
若当前的时序数据点为所述压缩时段对应的第一时间顺序的时序数据点,利用所述目标字符串替换所述基准数据点中的基准监控字段,得到所述压缩时段对应的压缩数据点;
若当前的时序数据点并非所述压缩时段对应的第一时间顺序的时序数据点,利用所述第一预设标识符将所述第一差值拼接至所述压缩时段对应的压缩数据点,利用所述第二预设标识符将所述第二差值拼接在所述第一差值之后。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收终端发送的数据查询请求;所述数据查询请求携带了查询时间戳;
确定所述查询时间戳所属的压缩时段;
获取所述压缩时段对应的压缩数据点;所述压缩数据点包括按照时间顺序排列的多个目标字符串;
按照时间顺序对所述压缩数据点中多个目标字符串进行解码;
将所述查询时间戳对应时间顺序的目标字符串的解码结果返回至终端。
7.一种时序数据存储装置,所述装置包括:
数据接收模块,用于获取当前的时序数据点;所述时序数据点包括时间戳字段和监控属性字段;
压缩处理模块,用于确定所述时间戳字段所属的压缩时段;识别所述当前的时序数据点是否为所述压缩时段对应的第一时间顺序的时序数据点;若是,计算所述当前的时序数据点与相应基准数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值,包括:对所述监控属性字段及所述基准数据点包括的基准属性字段进行目标进制转换,并对转换后的所述监控属性字段及所述基准属性字段进行预设逻辑运算,得到预设逻辑运算结果,以比值A:B的形式对所述预设逻辑运算结果进行转换,得到第二差值;所述A为所述预设逻辑运算结果中第几位为预设值,所述B为所述预设值;否则,计算所述当前的时序数据点与前一时间顺序的时序数据点基于时间戳字段的第一差值以及基于监控属性字段的第二差值;将第一差值和第二差值作为所述当前的时序数据点与基准数据点的相对变化值;
压缩存储模块,用于根据时间顺序将所述相对变化值追加至时序数据库中与所述基准数据点对应的压缩数据点;所述数据接收模块还用于当接收到下一个时序数据点时,将所述下一个时序数据点标记为当前的时序数据点。
8.根据权利要求7所述的装置,其特征在于,所述数据接收模块还用于对业务产品的运行状态进行监控,得到多个时序数据点;对多个时序数据点进行分片处理,得到多个时序片段;根据所述时间戳字段确定每个时序片段中不同时序数据点的遍历顺序;调用多线程对多个所述时序片段的时序数据点进行同步遍历;获取每个时序片段中当前遍历顺序的时序数据点。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910745384.2A CN110633277B (zh) | 2019-08-13 | 2019-08-13 | 时序数据存储方法、装置、计算机设备和存储介质 |
PCT/CN2019/117280 WO2021027137A1 (zh) | 2019-08-13 | 2019-11-12 | 时序数据存储方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910745384.2A CN110633277B (zh) | 2019-08-13 | 2019-08-13 | 时序数据存储方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110633277A CN110633277A (zh) | 2019-12-31 |
CN110633277B true CN110633277B (zh) | 2024-05-03 |
Family
ID=68970389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910745384.2A Active CN110633277B (zh) | 2019-08-13 | 2019-08-13 | 时序数据存储方法、装置、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110633277B (zh) |
WO (1) | WO2021027137A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639072A (zh) * | 2020-04-14 | 2020-09-08 | 北京中交兴路信息科技有限公司 | 一种车联网场景下的数据存储方法及系统、可读存储介质 |
CN111651338B (zh) * | 2020-05-28 | 2023-06-27 | 杭州迪普科技股份有限公司 | 日志格式化时间的获取系统及其方法 |
CN112000886B (zh) * | 2020-08-14 | 2024-02-02 | 北京百度网讯科技有限公司 | 用户行为记录方法、装置、设备和可读存储介质 |
CN112286969B (zh) * | 2020-10-29 | 2024-03-15 | 广州汽车集团股份有限公司 | 低频数据连续性确定方法和装置 |
CN112614519A (zh) * | 2021-01-05 | 2021-04-06 | 中国人民解放军国防科技大学 | 基于时序逻辑的大数据压缩方法及复盘播放方法 |
CN113792036B (zh) * | 2021-01-15 | 2024-07-16 | 北京沃东天骏信息技术有限公司 | 业务数据处理方法、装置、介质及电子设备 |
CN112835518B (zh) * | 2021-01-27 | 2023-04-25 | 歌尔科技有限公司 | 数据存储方法、装置、可穿戴设备及存储介质 |
CN113032453B (zh) * | 2021-02-25 | 2024-03-01 | 广州虎牙科技有限公司 | 数据的存储和解压方法、装置、电子设备及存储介质 |
CN113078908B (zh) * | 2021-03-10 | 2022-03-25 | 杭州又拍云科技有限公司 | 一种适用于时间序列数据库的简易编解码方法 |
CN113190176B (zh) * | 2021-05-11 | 2023-01-10 | 上海华东汽车信息技术有限公司 | 一种数据存储方法、装置、电子设备及存储介质 |
CN113342817A (zh) * | 2021-06-23 | 2021-09-03 | 蘑菇物联技术(深圳)有限公司 | 数据降采样方法、装置、系统与计算机可读存储介质 |
CN113596624B (zh) * | 2021-07-21 | 2024-06-25 | 青岛海尔科技有限公司 | 热水器数据的处理方法、装置、存储介质和电子装置 |
CN113821178A (zh) * | 2021-11-23 | 2021-12-21 | 中航金网(北京)电子商务有限公司 | 一种数据处理方法及系统 |
CN117278046B (zh) * | 2023-09-18 | 2024-06-11 | 武汉含秋数据科技有限公司 | 时序数据压缩存储方法、装置、电子设备及存储介质 |
CN118069659B (zh) * | 2024-04-19 | 2024-08-09 | 九州好礼(山东)电商科技有限公司 | 一种电子商务产品信息存储优化管理方法 |
CN118152820B (zh) * | 2024-05-09 | 2024-07-19 | 山东德源电力科技股份有限公司 | 一种分离式导轨表的智能拓扑识别方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4868570A (en) * | 1988-01-15 | 1989-09-19 | Arthur D. Little, Inc. | Method and system for storing and retrieving compressed data |
CN103577456A (zh) * | 2012-07-31 | 2014-02-12 | 国际商业机器公司 | 用于处理时序数据的方法和装置 |
CN103595416A (zh) * | 2012-08-16 | 2014-02-19 | 西门子公司 | 压缩生产数据流并以不同标准过滤压缩数据的系统和方法 |
CN109981111A (zh) * | 2019-03-28 | 2019-07-05 | 杭州即得科技有限公司 | 一种数据压缩编码的方法、装置及存储电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IN2014CH00896A (zh) * | 2014-02-24 | 2015-08-28 | Inmobi Pte Ltd | |
JP6794782B2 (ja) * | 2016-11-02 | 2020-12-02 | 富士通株式会社 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
WO2020006753A1 (zh) * | 2018-07-06 | 2020-01-09 | 深圳市汇顶科技股份有限公司 | 数据压缩方法和装置 |
CN109787638B (zh) * | 2019-01-10 | 2023-03-31 | 杭州幻方科技有限公司 | 一种数据压缩存储处理装置及方法 |
CN109739819A (zh) * | 2019-01-15 | 2019-05-10 | 北京智融时代信息技术有限公司 | 可回溯的快照无损压缩方法、装置、设备及可读存储介质 |
-
2019
- 2019-08-13 CN CN201910745384.2A patent/CN110633277B/zh active Active
- 2019-11-12 WO PCT/CN2019/117280 patent/WO2021027137A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4868570A (en) * | 1988-01-15 | 1989-09-19 | Arthur D. Little, Inc. | Method and system for storing and retrieving compressed data |
CN103577456A (zh) * | 2012-07-31 | 2014-02-12 | 国际商业机器公司 | 用于处理时序数据的方法和装置 |
CN103595416A (zh) * | 2012-08-16 | 2014-02-19 | 西门子公司 | 压缩生产数据流并以不同标准过滤压缩数据的系统和方法 |
CN109981111A (zh) * | 2019-03-28 | 2019-07-05 | 杭州即得科技有限公司 | 一种数据压缩编码的方法、装置及存储电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110633277A (zh) | 2019-12-31 |
WO2021027137A1 (zh) | 2021-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633277B (zh) | 时序数据存储方法、装置、计算机设备和存储介质 | |
CN110399293B (zh) | 系统测试方法、装置、计算机设备和存储介质 | |
CN110209652B (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN109542428B (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
CN109408746B (zh) | 画像信息查询方法、装置、计算机设备和存储介质 | |
CN108197181B (zh) | 一种时序数据的压缩存储方法、电子设备及存储介质 | |
CN111177302B (zh) | 业务单据处理方法、装置、计算机设备和存储介质 | |
CN107181604B (zh) | 一种告警关联规则的生成方法、告警压缩方法以及装置 | |
CN111475324B (zh) | 日志信息的分析方法、装置、计算机设备和存储介质 | |
CN113468226B (zh) | 一种业务处理方法、装置、电子设备和存储介质 | |
CN110750414B (zh) | 移动数据监控分析方法、装置、计算机设备和存储介质 | |
CN113190426B (zh) | 一种大数据评分系统稳定性监控方法 | |
CN112559475A (zh) | 数据实时捕获和传输方法及系统 | |
CN112311902B (zh) | 基于微服务的文件发送方法及装置 | |
CN112800061B (zh) | 一种数据存储方法、装置、服务器及存储介质 | |
CN112328631A (zh) | 一种生产故障分析方法、装置、电子设备及存储介质 | |
CN110275703B (zh) | 键值对数据的赋值方法、装置、计算机设备和存储介质 | |
CN115237617A (zh) | 接口组件的确定方法、装置、设备、存储介质和程序产品 | |
CN115380267A (zh) | 数据压缩方法及装置、数据压缩设备和可读存储介质 | |
CN106648839A (zh) | 数据处理的方法和装置 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN109218131B (zh) | 网络监控方法、装置、计算机设备和存储介质 | |
CN108595685B (zh) | 一种数据处理方法及装置 | |
CN110837529B (zh) | 大数据分析监察方法、装置、服务器及可读存储介质 | |
CN116910820A (zh) | 数据报表处理方法、装置、计算机设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |