时序数据的存储及读取方法、装置、设备及存储介质制造方法及图纸

技术编号:34325035 阅读:42 留言:0更新日期:2022-07-31 00:57
本申请涉及一种时序数据的存储及读取方法、装置、设备及存储介质。其中,所述存储方法包括:获取各个待存储的时序数据值及获取每个所述时序数据值各自对应的时间戳;其中,任意相邻时序数据值的时间戳的时间差值均相同;从各个所述时间戳中,提取参照时间戳;对于每个所述时序数据值,计算所述时序数据值对应的所述时间戳与目标时间戳之间的偏移量;其中,所述目标时间戳为所述参照时间戳,或者,与所述时间戳相邻的时间戳;对应存储所述参照时间戳和各所述偏移量,并对各所述时序数据值进行压缩存储;且每个所述偏移量与所述偏移量对应的压缩后的时序数据值对应存储。本申请用以解决现有技术中,时序数据占用存储空间较大的技术问题。问题。问题。

Storage and reading method, device, equipment and storage medium of timing data

【技术实现步骤摘要】
时序数据的存储及读取方法、装置、设备及存储介质


[0001]本申请涉及云存储
,尤其涉及一种时序数据的存储及读取方法、装置、设备及存储介质。

技术介绍

[0002]时序数据是一种按照时间顺序记录的数据序列,每一个数据点都会包含时间戳和数值,存储每个数据点都需要16Bytes的空间,其中,时间戳8B,数值8B。随着时间跨度增大,需要存储的数据点也会越来越多。
[0003]目前主流的时序数据库在存储时都对数据点进行一系列的压缩,尽可能地节省存储空间。比如:对时间维度采用delta

delta压缩算法,对数值采用XOR压缩算法,通常情况下能够达到11倍的压缩比,但是压缩比受到时间维度和数值的双重影响,在某些情况下并不能达到理想的压缩比,占用存储空间较大。

技术实现思路

[0004]本申请提供了一种时序数据的存储及读取方法、装置、设备及存储介质,用以解决现有技术中,时序数据占用存储空间较大的技术问题。
[0005]第一方面,本申请提供了一种时序数据的存储方法,包括:
[0006]获取各个待存储的时序数据值及获取每个所述时序数据值各自对应的时间戳;其中,任意相邻时序数据值的时间戳的时间差值均相同;
[0007]从各个所述时间戳中,提取参照时间戳;
[0008]对于每个所述时序数据值,计算所述时序数据值对应的所述时间戳与目标时间戳之间的偏移量;其中,所述目标时间戳为所述参照时间戳,或者,与所述时间戳相邻的时间戳;
[0009]对应存储所述参照时间戳和各所述偏移量,并对各所述时序数据值进行压缩存储;且每个所述偏移量与所述偏移量对应的压缩后的时序数据值对应存储。
[0010]可选的,所述计算所述时序数据值对应的所述时间戳与目标时间戳之间的偏移量,包括:
[0011]计算所述时序数据值对应的所述时间戳和所述目标时间戳之间的时间差值;
[0012]利用所述时间差值除以所述时序数据的采集周期,得到所述时序数据的时间戳相对于所述目标时间戳的偏移量。
[0013]可选的,所述获取每个所述时序数据值各自对应的时间戳,包括:
[0014]获取采集每个所述时序数据值时的实际采集时间戳;
[0015]判断任意相邻时序数据值的实际采集时间戳之间的时间差值是否相同;
[0016]如果是,则将所述实际采集时间戳作为所述时序数据值对应的时间戳;
[0017]如果否,则对每个所述时序数据值的实际采集时间戳进行规整,将规整后的时间戳作为所述时序数据对应的时间戳。
[0018]可选的,所述对每个所述时序数据值的实际采集时间戳进行规整,包括:
[0019]获取所述时序数据值的采集周期;
[0020]利用所述实际采集时间戳对所述采集周期取整,得到规整后的时间戳。
[0021]可选的,所述从各个所述时间戳中,提取参照时间戳,包括:
[0022]从各个所述时间戳中,提取最早时间戳作为所述参照时间戳;
[0023]或者,提取最晚时间戳作为所述参照时间戳;
[0024]或者,提取中间位置的时间戳作为所述参照时间戳。
[0025]可选的,所述对应存储所述参照时间戳和各所述偏移量,并对各所述时序数据值进行压缩存储,包括:
[0026]以所述参照时间戳和采集周期为标识,存储与所述参照时间戳对应的目标时序数据值以及目标偏移量;
[0027]对于除所述目标时序数据值之外的其余时序数据值中的每一个,计算每个所述时序数据值与所述时序数据值的前一个时序数据值之间的异或运算结果;根据所述异或运算结果对所述时序数据值进行压缩,得到压缩结果;并按序将所述偏移量与所述压缩结果对应存储。
[0028]可选的,所述根据所述异或运算结果对所述时序数据值进行压缩,包括:
[0029]若所述异或运算结果为0,则将所述时序数据值压缩为第一预设值,将所述第一预设值作为所述压缩结果;
[0030]否则,获取所述异或运算结果中前导零和后缀零的个数;如果所述前导零和所述后缀零的个数相同,则确定所述时序数据值压缩后的控制位的值为第一预设控制位值;并提取所述前导零和所述后缀零之间的第一有效位部分,将所述时序数据压缩为第二预设值、所述第一预设控制位值和所述第一有效位部分组成的第一压缩数据;将所述第一压缩数据作为所述压缩结果;
[0031]如果所述前导零和所述后缀零的个数不同,则确定所述时序数据值压缩后的控制位的值为第二预设控制位值,并提取所述前导零的个数、所述前导零和所述后缀零之间的第二有效位部分以及所述第二有效位部分的位数,将所述时序数据压缩为第二预设值、第二预设控制位值、所述前导零的个数、所述位数以及所述第二有效位部分组成的第二压缩数据;将所述第二压缩数据作为所述压缩结果。
[0032]第二方面,本申请实施例提供了一种时序数据的读取方法,包括:
[0033]获取压缩后的时序数据序列;
[0034]对所述压缩后的时序数据序列进行解压缩,得到各时序数据值;
[0035]对于每个所述时序数据值,获取所述时序数据值对应的参照时间戳和偏移量;根据所述参照时间戳和所述偏移量,确定所述时序数据值对应的时间戳。
[0036]可选的,所述根据所述参照时间戳和所述偏移量,确定所述时序数据值对应的时间戳,包括:
[0037]获取所述时序数据值对应的采集周期;
[0038]计算所述采集周期和所述偏移量的乘积,并加上所述参照时间戳,得到所述时序数据对应的时间戳。
[0039]第三方面,本申请实施例提供了一种时序数据的存储装置,包括:
[0040]第一获取模块,用于获取各个待存储的时序数据值及获取每个所述时序数据值各自对应的时间戳;其中,任意相邻时序数据值的时间戳的时间差值均相同;
[0041]提取模块,用于从各个所述时间戳中,提取参照时间戳;
[0042]计算模块,用于对于每个所述时序数据值,计算所述时序数据值对应的所述时间戳与目标时间戳之间的偏移量;其中,所述目标时间戳为所述参照时间戳,或者,与所述时间戳相邻的时间戳;
[0043]存储模块,用于对应存储所述参照时间戳和各所述偏移量,并对各所述时序数据值进行压缩存储;且每个所述偏移量与所述偏移量对应的压缩后的时序数据值对应存储。
[0044]第四方面,本申请实施例提供了一种时序数据的读取装置,包括:
[0045]第二获取模块,用于获取压缩后的时序数据序列;
[0046]解压缩模块,用于对所述压缩后的时序数据序列进行解压缩,得到各时序数据值;
[0047]确定模块,用于对于每个所述时序数据值,获取所述时序数据值对应的参照时间戳和偏移量;根据所述参照时间戳和所述偏移量,确定所述时序数据值对应的时间戳。
[0048]第五方面,本申请提供了一种电子设备,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;所述存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种时序数据的存储方法,其特征在于,包括:获取各个待存储的时序数据值及获取每个所述时序数据值各自对应的时间戳;其中,任意相邻时序数据值的时间戳的时间差值均相同;从各个所述时间戳中,提取参照时间戳;对于每个所述时序数据值,计算所述时序数据值对应的所述时间戳与目标时间戳之间的偏移量;其中,所述目标时间戳为所述参照时间戳,或者,与所述时间戳相邻的时间戳;对应存储所述参照时间戳和各所述偏移量,并对各所述时序数据值进行压缩存储;且每个所述偏移量与所述偏移量对应的压缩后的时序数据值对应存储。2.根据权利要求1所述的时序数据的存储方法,其特征在于,所述计算所述时序数据值对应的所述时间戳与目标时间戳之间的偏移量,包括:计算所述时序数据值对应的所述时间戳和所述目标时间戳之间的时间差值;利用所述时间差值除以所述时序数据的采集周期,得到所述时序数据的时间戳相对于所述目标时间戳的偏移量。3.根据权利要求1所述的时序数据的存储方法,其特征在于,所述获取每个所述时序数据值各自对应的时间戳,包括:获取采集每个所述时序数据值时的实际采集时间戳;判断任意相邻时序数据值的实际采集时间戳之间的时间差值是否相同;如果是,则将所述实际采集时间戳作为所述时序数据值对应的时间戳;如果否,则对每个所述时序数据值的实际采集时间戳进行规整,将规整后的时间戳作为所述时序数据对应的时间戳。4.根据权利要求3所述的时序数据的存储方法,其特征在于,所述对每个所述时序数据值的实际采集时间戳进行规整,包括:获取所述时序数据值的采集周期;利用所述实际采集时间戳对所述采集周期取整,得到规整后的时间戳。5.根据权利要求1~4任意一项所述的时序数据的存储方法,其特征在于,所述从各个所述时间戳中,提取参照时间戳,包括:从各个所述时间戳中,提取最早时间戳作为所述参照时间戳;或者,提取最晚时间戳作为所述参照时间戳;或者,提取中间位置的时间戳作为所述参照时间戳。6.根据权利要求1~4任意一项所述的时序数据的存储方法,其特征在于,所述对应存储所述参照时间戳和各所述偏移量,并对各所述时序数据值进行压缩存储,包括:以所述参照时间戳和采集周期为标识,存储与所述参照时间戳对应的目标时序数据值以及目标偏移量;对于除所述目标时序数据值之外的其余时序数据值中的每一个,计算每个所述时序数据值与所述时序数据值的前一个时序数据值之间的异或运算结果;根据所述异或运算结果对所述时序数据值进行压缩,得到压缩结果;并按序将所述偏移量与所述压缩结果对应存储。7.根据权利要求6所述的时序数据的存储方法,其特征在于,所述根据所述异或运算结果对所述时序数据值进行压缩,包括:
若所述异或运算结果为0,则将所述时序数据值压缩为第一预设值,将所述第一预设值作为所述压缩结果;否则,获取所述异或运算结果中前导零和后缀零的个数;如果所述前导零和所述后缀零的个数相同,则确定所述时序数据值压...

【专利技术属性】
技术研发人员:张羽
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1