CN110545106B - 时序数据的编码方法及装置 - Google Patents
时序数据的编码方法及装置 Download PDFInfo
- Publication number
- CN110545106B CN110545106B CN201910721876.8A CN201910721876A CN110545106B CN 110545106 B CN110545106 B CN 110545106B CN 201910721876 A CN201910721876 A CN 201910721876A CN 110545106 B CN110545106 B CN 110545106B
- Authority
- CN
- China
- Prior art keywords
- sequence
- order difference
- order
- original
- new
- 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 34
- 239000004576 sand Substances 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 abstract description 5
- 230000007547 defect Effects 0.000 abstract description 4
- 230000035772 mutation Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000010248 power generation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例提供一种时序数据的编码方法及装置,其中方法包括:获取时序数据以及时序数据的原始二阶差分序列,获取原始二阶差分序列的紧凑编码占用的存储空间Cold;将原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个小于预设阈值的二阶差分,并根据新的二阶差分序列生成标识序列,标识序列用于标记新的二阶差分序列中的各二阶差分是否为原始二阶差分;获取新的二阶差分序列的紧凑编码和标识序列占用的存储空间Cs,若存储空间Cs小于存储空间Cold,则根据新的二阶差分序列的紧凑编码以及标识序列生成编码策略。本发明实施例能够高效地确定编码策略,有效地解决现有技术容易受到突变点、异常点以及缺失值影响的缺点。
Description
技术领域
本发明涉及计算机技术领域,更具体地,涉及时序数据的编码方法及装置。
背景技术
时序数据是一组按照时间信息排列的有序数据。随着互联网,工业4.0和工业物联网的发展,网页、工业传感器、移动设备等每天会产生大量的时序数据,如网页点击产生的访问量数据,风力发电传感器产生的风速数据,以及手机产生的内存使用量数据等等。这些数据具有数据量大,生成周期平稳等特点。
由于时间序列数据量较大,终端设备无法全部存储,必须定期将数据传送到数据中心才能进行长期存储。考虑到终端的存储空间有限,数据传输速率有限,因此,如何将原始数据进行高压缩率地编码,有效地减少数据的空间占用,就成为非常重要的问题。
由于许多场景下时序数据的产生频率近似稳定,时间戳序列可以近似地视为等差数列。二阶差分编码是一种广泛使用的、尤其适应于以上假设的整数编码。然而,二阶差分编码的压缩效率取决于序列各点中的最大差值。因此,以下两种情况均会对该编码的压缩效率产生较大影响:第一,数据发生突变或异常,会导致与相邻点的差值会突然增大;第二,数据传输过程中出现缺失(这在物联网或工业互联网中是常见现象),会导致相邻数据的时间间隔从“固定周期”增大为数倍。
对于一个32bits的正整数a,有效长度为⌈log2a⌉。例如,对于正整数13,它的最低4位为1101,其余28位均为0;其中,所述紧凑编码为每个二阶差分的有效长度的编码,以正整数13为例,有效长度即为4,紧凑编码仅为1101。因此,13的压缩率可以达到32/4=8倍。但是,二阶差分序列的编码长度取决于最大值。例如,其他二阶差分均为7(有效长度为4bits),只有一个是33(有效长度为6bits),则每个二阶差的编码长度均需要调整为6。由此可见,一个较大的差值会增大所有二阶差的编码长度,从而大大降低压缩效率。
发明内容
本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的时序数据的编码方法及装置。
第一个方面,本发明实施例提供一种时序数据的编码方法,包括:
获取时序数据以及所述时序数据的原始二阶差分序列,获取所述原始二阶差分序列的紧凑编码占用的存储空间Cold;
将所述原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个小于所述预设阈值的二阶差分,以获得新的二阶差分序列,并根据所述新的二阶差分序列生成标识序列,所述标识序列用于标记新的二阶差分序列中的各二阶差分是否为原始二阶差分;
获取所述新的二阶差分序列的紧凑编码和标识序列占用的存储空间Cs,若所述存储空间Cs小于所述存储空间Cold,则根据新的二阶差分序列的紧凑编码以及标识序列Bs生成编码策略。
第二个方面,本发明实施例提供一种时序数据的编码装置,包括:
时序获取模块,用于获取时序数据以及所述时序数据的原始二阶差分序列,获取所述原始二阶差分序列的紧凑编码占用的存储空间Cold;
拆分模块,用于将所述原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个较小的二阶差分,以获得新的二阶差分序列,并根据所述新的二阶差分序列生成标识序列,所述标识序列用于标记新的二阶差分序列中的各二阶差分是否为原始二阶差分;
策略生成模块,用于获取所述新的二阶差分序列的紧凑编码和标识序列占用的存储空间Cs,若所述存储空间Cs小于所述存储空间Cold,则根据新的二阶差分序列的紧凑编码以及标识序列Bs生成编码策略。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
本发明实施例提供的时序数据的编码方法及装置,通过将时序数据的原始二阶差分序列中的较大值拆分为多个较小值,从而降低二阶差分的有效长度,同时考虑到拆分而成的多个较小值只有最后一个值能够表征原始二阶差分,而其他较小值均为补值,所以还进一步设置用于标记新的二阶差分序列中的各二阶差分是否为原始二阶差分的标识序列,若新的二阶差分序列的紧凑编码和标识序列占用的存储空间小于原始二阶差分序列的紧凑编码占用的存储空间,则表明新的二阶差分方式的存储代价要小于原始的存储代价,则以新的二阶差分方式制定编码策略。本发明实施例可以高效地确定编码策略,优化后的二阶差分编码可以有效地解决原始二阶差分编码容易受到突变点、异常点以及缺失值影响的缺点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的时序数据的编码方法的流程示意图;
图2为本发明实施例提供的时序数据的编码装置的结构示意图;
图3为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了克服现有技术的上述问题,本发明实施例的发明构思为:通过将时序数据的原始二阶差分序列中的较大值拆分为多个较小值,从而降低二阶差分的有效长度,同时考虑到拆分而成的多个较小值只有最后一个值能够表征原始二阶差分,而其他较小值均为补值,所以还进一步设置用于标记新的二阶差分序列中的各二阶差分是否为原始二阶差分的标识序列,若新的二阶差分序列的紧凑编码和标识序列占用的存储空间小于原始二阶差分序列的紧凑编码占用的存储空间,则表明新的二阶差分方式的存储代价要小于原始的存储代价,则以新的二阶差分方式制定编码策略。本发明实施例可以高效地确定编码策略,优化后的二阶差分编码可以有效地解决原始二阶差分编码容易受到突变点、异常点以及缺失值影响的缺点。
图1为本发明实施例提供的时序数据的编码方法的流程示意图,如图1所示,包括:
S101、获取时序数据以及所述时序数据的原始二阶差分序列,获取所述原始二阶差分序列的紧凑编码占用的存储空间Cold;其中,所述紧凑编码为每个二阶差分的有效长度的编码。
需要说明的是,本发明实施例获取的时序数据可以是网页、工业传感器、移动设备等产生/传输的时序数据,如网页点击产生的访问量数据,风力发电传感器产生的风速数据,以及手机产生的内存使用量数据等等。原始二阶差分序列是指对时序数据采用一阶差分,再采用二阶差分后获取的序列,即对于一列数据,首先计算相邻数据的差值,将原数据转化为一阶差分序列;其次,通过计算一阶差分序列与一阶差分序列之中最小值的差值,得到二阶差分序列。以时序数据{30,30,32,34,36,...,58,60,80,82}为例,该时序数据从第2个30开始,一直到60,相邻两个数据的差值为2,一共有23个数,可以很容易地获得该时序数据的一阶差分序列{0,2,2,...,2,20,2},由于一阶差分序列中的最小值为0,所以进一步可求得原始二阶差分序列为{0,2,2,...,2,20,2}。
上述实例的原始二阶差分序列中的有效长度有3种,分别为0、2和20的有效长度,根据有效长度的定义可知,0的有效长度为1,2的有效长度为2,而20由于大于24,小于25,所以20的有效长度为5。由于二阶差分序列的编码长度取决与最大值,所以在上述原始二阶差分序列的最大有效长度为5的情况下,所有二阶差分都需要转换为长度为5(5bits)的紧凑编码,由此可知,原始二阶差分序列的紧凑编码占用的存储空间Cold为5*22=110bits。
S102、将所述原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个小于预设阈值的二阶差分,以获得新的二阶差分序列,并根据所述新的二阶差分序列生成标识序列,所述标识序列用于标记新的二阶差分序列中的各二阶差分是否为原始二阶差分。
由有效长度的定义可知,一个数的数值越大,它的有效长度就越大,进而使得二阶差分序列的紧凑编码的长度越大,占用的空间越多。因此本发明实施例将原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个较小的二阶差分,可以理解的是由于每个数的数值的有效长度多少和该值是2的几次幂有关,所以本发明实施例设置的预设阈值也是2的s次幂,显然,在确定二阶差分序列中的最大有效长度和最小有效长度后,s的值应当介于最大有效长度和最小有效长度之间,这样才能将不小于预设阈值的二阶差分拆分成多个较小的二阶差分。以二阶差分20为例,20的有效长度为5,将s确定为小于5的一个数:4,由于小于24的最大整数为15,所以20首先被拆分出15,剩余5因为小于24,所以不再拆分,最终,20倍拆分为15和5。以原始二阶差分序列为{0,2,2,...,2,20,2}为例,新的二阶差分序列为{0,2,2,...,2,15,5,2},可以理解的是,如果将新的二阶差分序列为{0,2,2,...,2,15,5,2}还原为时序数据,还原后的时序数据中会多出数值15对应的数值:75,显然75这个数值并不是原始的时序数据中的数值,因此,本发明实施例还根据新的二阶差分序列对应设置一个标识序列,标识序列用于标记新的二阶差分序列中的各二阶差分是否为原始二阶差分(可以理解的是,原始二阶差分即原始二阶差分序列中的二阶差分),如果新的二阶差分序列中的一个二阶差分是没有被拆分的原始二阶差分,那么标识序列中对应设置一个用于表示该二阶差分没有被拆分的标记,相反,如果原始二阶差分序列中的一个二阶差分被拆分成n个较小的二阶差分,则将n个较小的二阶差分中前n-1个,在标识序列中标记为非原始二阶差分,将第n个二级差分标记为原始二阶差分,从而实现新二阶差分序列中二阶差分的可溯源。
S103、获取所述新的二阶差分序列的紧凑编码和标识序列占用的存储空间Cs,若所述存储空间Cs小于所述存储空间Cold,则根据新的二阶差分序列的紧凑编码以及标识序列Bs生成编码策略;
存储空间Cold虽然只涉及原始二阶差分序列的紧凑编码,但存储的代价是一旦有二阶差分的数值过大,则所有二阶差分的紧凑编码的长度都需要统一至最大的长度,而在存储空间Cs中,虽然新的二阶差分序列中不会存在过大的二阶差分,但由于相应增加了一定数量的二阶差分,并且还额外创建了标识序列,也需要占用一定的存储空间,所以本发明实施例将存储空间Cs和存储空间Cold的大小进行比对,如若存储空间Cs较小,则根据新的二阶差分序列的紧凑编码以及标识序列Bs生成编码策略。
在上述各实施例的基础上,作为一种可选实施例,将所述原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个较小的二阶差分,以获得新的二阶差分序列,包括S201、S202和S203,具体地:
S201、获取所述原始二阶差分序列中所有二阶差分的紧凑编码的长度。
具体地,本发明实施例中的编码是二进制编码,对于原始二阶差分序列中的每个二阶差分,可以将二阶差分转换为二进制数,该二进制数即为二阶差分的紧凑编码,二进制数的位数仅为有效长度。例如,数字2的紧凑编码为10,有效长度为,数字4的紧凑编码为100,有效长度为3,数字8的紧凑编码为1000,有效长度为4。编码的总长度与预先规定的bit数有关,如果预先规定以32bits来进行编码,那么数字8的编码由28个0和1个1000组成。
S202、确定所述原始二阶差分序列中所有二阶差分的紧凑编码的长度中的最大值和最小值,从所述最大值和最小值构成的区间中确定一个整数值s作为目标值,将2s作为所述预设阈值。
S203、将所述原始二阶差分序列中不小于所述预设阈值的二阶差分拆分为若干个小于2s的值,以获得新的二阶差分序列Xs。
以原始二阶差分序列{0,2,2,...,2,20,2}为例,其中有效长度的最大值为5,最小值为1,所以在1-5之间一共有3个整数,分别为2、3和4,选择4作为目标值,从而确定预设阈值16,由于原始二阶差序列中只有20大于16,所以将20拆成多个小于16的数,比如15和5,从而获得新的二阶差分序列{0,2,2,...,2,15,5,2}。
在上述步骤S202的基础上,作为一种可选实施例,本发明实施例的所述目标值满足以下条件:
所述目标值对应的新的二阶差分序列的紧凑编码和标识序列占用的存储空间,为所述最大值和最小值构成的区间中所有数值对应的新的二阶差分序列的紧凑编码和标识序列占用的存储空间中的最小存储空间。
需要说明的是,本发明实施例通过遍历最大值和最小值之间的每个值获取对应的新的二阶差分序列的紧凑编码和标识序列占用的存储空间,从而找出占用最小存储空间的编码策略,相比之前的实施例能够进一步降低时序数据的存储空间。
在上述各实施例的基础上,作为一种可选实施例,所述将所述原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个小于所述预设阈值的二阶差分,以获得新的二阶差分序列,包括S301和S302,具体地:
S301、创建空的二阶差分序列Xs,从所述原始二阶差分序列中的第一个二阶差分开始,逐个与2s进行比较:
S302、若比较的二阶差分小于2s,则将所述比较的二阶差分插入至二阶差分序列Xs的末尾,同时在标识序列Bs的末尾插入用于表征原始二阶差分的第一数值;若比较的二阶差分不小于2s,将比较的二阶差分拆分为t个小于2s的值插入至二阶差分序列Xs的末尾,同时在标识序列Bs的末尾依次插入t-1个用于表征非原始二阶差分的第二数值和1个用于表征原始二阶差分的第一数值。
本发明实施例通过上述构建新二阶差分序列以及标识序列的步骤,实现了建立新二阶差分序列与原始的二阶差分序列的对应关系的目的,为后续实现解码奠定了基础。
在上述各实施例的基础上,将比较的二阶差分拆分为t个小于2s的值,具体为:对比较的二阶差进行求余运算,即用比较的二阶差除以2s,若余数不小于2s,则继续进行求余运算,直至余数小于2s。
在上述各实施例的基础上,所述获取所述原始二阶差分序列的编码占用的存储空间Cold,具体为:
定义原始二阶差分序列中二阶差分的紧凑编码的长度的最大值为wmax,时序数据的总数为n,则所述原始二阶差分序列的紧凑编码占用的存储空间Cold为n*wmax。
在上述各实施例的基础上,具体地,本发明实施例的标识序列可以用布尔数组进行表示,其中用0表示非原始二阶差分,用1表示原始二阶差分,由于0和1都只占用1比特位的存储空间,所以标识序列占用的存储空间与新的二阶差分序列的长度一致。而新的二阶差分序列的紧凑编码占用的存储空间可以用新的二阶差分序列的长度与紧凑编码的有效长度的乘积。即,获取所述新的二阶差分序列的紧凑编码和标识序列占用的存储空间Cs,具体为:C s =m*s+m其中,m为新的二阶差分序列的长度,s为以2为底所述预设阈值的对数。
在上述各实施例的基础上,若根据新的二阶差分序列的紧凑编码以及标识序列Bs生成编码策略,则编码策略中记录新的二阶差分序列的紧凑编码、标识序列、预设阈值、新的二阶差分序列的长度、新的二阶差分序列的第一个值以及最小一阶差;
在一个可选实施例中,所述预设阈值、新的二阶差分序列的长度、新的二阶差分序列的第一个值以及最小一阶差均为标准的预设比特整形,即完整编码。之所以不将策略中的所有信息均用紧缩编码进行表示,是因为以下两点考虑:
1、需要额外记录紧凑编码的长度:各种语言(如java)默认一个整数被编码为4Bytes(32 bits),但紧凑编码长度不确定,为了能够解码,就必须记录这个紧凑编码的长度是多少,这个”长度“也是整数类型的,因此最终会得不偿失;
2、序列长度、第一个值等等在整个编码中只需要存储一次。相比较而言,二阶差序列可能有成千上万个点,这些才是编码的主要部分。因此,可以不对上述的部分数据以紧凑编码进行优化。
图2为本发明实施例提供的时序数据的编码装置的结构示意图,如图2所示,该时序数据的编码装置包括:时序获取模块201、拆分模块202和策略生成模块203,其中:
时序获取模块201,用于获取时序数据以及所述时序数据的原始二阶差分序列,获取所述原始二阶差分序列的紧凑编码占用的存储空间Cold;
拆分模块202,用于将所述原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个小于所述预设阈值的二阶差分,以获得新的二阶差分序列,并根据所述新的二阶差分序列生成标识序列,所述标识序列用于标记新的二阶差分序列中的各二阶差分是否为原始二阶差分;
策略生成模块203,用于获取所述新的二阶差分序列的紧凑编码和标识序列占用的存储空间Cs,若所述存储空间Cs小于所述存储空间Cold,则根据新的二阶差分序列的紧凑编码以及标识序列Bs生成编码策略。
本发明实施例提供的时序数据的编码装置,具体执行上述各时序数据的编码方法实施例流程,具体请详见上述各时序数据的编码方法实施例的内容,在此不再赘述。本发明实施例提供的时序数据的编码装置能够高效地确定编码策略,优化后的二阶差分编码可以有效地解决现有技术容易受到突变点、异常点以及缺失值影响的缺点。
图3为本发明实施例提供的电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储在存储器330上并可在处理器310上运行的计算机程序,以执行上述各实施例提供的时序数据的编码方法,例如包括:获取时序数据以及所述时序数据的原始二阶差分序列,获取所述原始二阶差分序列的紧凑编码占用的存储空间Cold;将所述原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个小于所述预设阈值的二阶差分,以获得新的二阶差分序列,并根据所述新的二阶差分序列生成标识序列,所述标识序列用于标记新的二阶差分序列中的各二阶差分是否为原始二阶差分;获取所述新的二阶差分序列的紧凑编码和标识序列占用的存储空间Cs,若所述存储空间Cs小于所述存储空间Cold,则根据新的二阶差分序列的紧凑编码以及标识序列Bs生成编码策略。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的时序数据的编码方法,例如包括:获取时序数据以及所述时序数据的原始二阶差分序列,获取所述原始二阶差分序列的紧凑编码占用的存储空间Cold;将所述原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个小于所述预设阈值的二阶差分,以获得新的二阶差分序列,并根据所述新的二阶差分序列生成标识序列,所述标识序列用于标记新的二阶差分序列中的各二阶差分是否为原始二阶差分;获取所述新的二阶差分序列的紧凑编码和标识序列占用的存储空间Cs,若所述存储空间Cs小于所述存储空间Cold,则根据新的二阶差分序列的紧凑编码以及标识序列Bs生成编码策略。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种时序数据的编码方法,其特征在于,包括:
获取时序数据以及所述时序数据的原始二阶差分序列,获取所述原始二阶差分序列的紧凑编码占用的存储空间Cold;
将所述原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个小于所述预设阈值的二阶差分,以获得新的二阶差分序列,并根据所述新的二阶差分序列生成标识序列,所述标识序列用于标记新的二阶差分序列中的各二阶差分是否为原始二阶差分;
获取所述新的二阶差分序列的紧凑编码和标识序列占用的存储空间Cs,若所述存储空间Cs小于所述存储空间Cold,则根据新的二阶差分序列的紧凑编码以及标识序列生成编码策略;
其中,所述预设阈值的获取方法,具体为:
获取所述原始二阶差分序列中所有二阶差分的紧凑编码的长度;
确定所述原始二阶差分序列中所有二阶差分的紧凑编码的长度中的最大值和最小值,从所述最大值和最小值构成的区间中确定一个整数值s作为目标值,将2s作为所述预设阈值。
2.根据权利要求1所述的时序数据的编码方法,其特征在于,所述目标值满足以下条件:
所述目标值对应的新的二阶差分序列的紧凑编码和标识序列占用的存储空间,为所述最大值和最小值构成的区间中所有数值对应的新的二阶差分序列的紧凑编码和标识序列占用的存储空间中的最小存储空间。
3.根据权利要求1所述的时序数据的编码方法,其特征在于,所述将所述原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个小于所述预设阈值的二阶差分,以获得新的二阶差分序列,具体为:
创建空的二阶差分序列Xs,从所述原始二阶差分序列中的第一个二阶差分开始,逐个与2s进行比较:
若比较的二阶差分小于2s,则将所述比较的二阶差分插入至二阶差分序列Xs的末尾,同时在标识序列Bs的末尾插入用于表征原始二阶差分的第一数值;
若比较的二阶差分不小于2s,将比较的二阶差分拆分为t个小于2s的值插入至二阶差分序列Xs的末尾,同时在标识序列Bs的末尾依次插入t-1个用于表征非原始二阶差分的第二数值和1个用于表征原始二阶差分的第一数值。
4.根据权利要求1所述的时序数据的编码方法,其特征在于,所述获取所述原始二阶差分序列的编码占用的存储空间Cold,具体为:
定义原始二阶差分序列中二阶差分的紧凑编码的长度的最大值为wmax,时序数据的总数为n,则所述原始二阶差分序列的紧凑编码占用的存储空间Cold为n*wmax。
5.根据权利要求1所述的时序数据的编码方法,其特征在于,所述标识序列用布尔数组进行表示,其中,0表示非原始二阶差分,1表示原始二阶差分;
相应地,获取所述新的二阶差分序列的紧凑编码和标识序列占用的存储空间Cs,具体为:
Cs=m*s+m
其中,m为新的二阶差分序列的长度,s为以2为底所述预设阈值的对数。
6.根据权利要求1所述的时序数据的编码方法,其特征在于,所述编码策略中记录新的二阶差分序列的紧凑编码、标识序列的紧凑编码、预设阈值的完整编码、新的二阶差分序列的长度的完整编码、新的二阶差分序列的第一个值的完整编码以及最小一阶差的完整编码。
7.一种时序数据的编码装置,其特征在于,包括:
时序获取模块,用于获取时序数据以及所述时序数据的原始二阶差分序列,获取所述原始二阶差分序列的紧凑编码占用的存储空间Cold;
拆分模块,用于将所述原始二阶差分序列中不小于预设阈值的二阶差分拆分成若干个小于所述预设阈值的二阶差分,以获得新的二阶差分序列,并根据所述新的二阶差分序列生成标识序列,所述标识序列用于标记新的二阶差分序列中的各二阶差分是否为原始二阶差分;
策略生成模块,用于获取所述新的二阶差分序列的紧凑编码和标识序列占用的存储空间Cs,若所述存储空间Cs小于所述存储空间Cold,则根据新的二阶差分序列的紧凑编码以及标识序列Bs生成编码策略;
其中,所述预设阈值的获取方法,具体为:
获取所述原始二阶差分序列中所有二阶差分的紧凑编码的长度;
确定所述原始二阶差分序列中所有二阶差分的紧凑编码的长度中的最大值和最小值,从所述最大值和最小值构成的区间中确定一个整数值s作为目标值,将2s作为所述预设阈值。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述时序数据的编码方法的步骤。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至6中任意一项所述的时序数据的编码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910721876.8A CN110545106B (zh) | 2019-08-06 | 2019-08-06 | 时序数据的编码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910721876.8A CN110545106B (zh) | 2019-08-06 | 2019-08-06 | 时序数据的编码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110545106A CN110545106A (zh) | 2019-12-06 |
CN110545106B true CN110545106B (zh) | 2020-07-17 |
Family
ID=68710512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910721876.8A Active CN110545106B (zh) | 2019-08-06 | 2019-08-06 | 时序数据的编码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110545106B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112751568A (zh) * | 2020-12-21 | 2021-05-04 | 青岛鼎信通讯股份有限公司 | 一种用于故障指示器的故障波形自适应压缩方法 |
CN113792150B (zh) * | 2021-11-15 | 2022-02-11 | 湖南科德信息咨询集团有限公司 | 一种人机协同的智能需求识别方法和系统 |
CN114817831B (zh) * | 2022-06-30 | 2022-09-23 | 四川公路工程咨询监理有限公司 | 建筑工程经济用的计算辅助方法 |
CN116665836B (zh) * | 2023-07-26 | 2023-10-27 | 国仪量子(合肥)技术有限公司 | 序列数据的编辑存储方法、读取播放方法和电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039374A (zh) * | 2006-03-14 | 2007-09-19 | 联想(北京)有限公司 | 一种图像无损压缩和图像解压缩方法 |
CN101262559A (zh) * | 2008-03-28 | 2008-09-10 | 北京中星微电子有限公司 | 一种序列图像噪声消除的方法及装置 |
CN102520227A (zh) * | 2011-12-14 | 2012-06-27 | 国电南瑞科技股份有限公司 | 一种基于扰动指示器的故障录波数据压缩方法 |
CN102571101A (zh) * | 2011-12-12 | 2012-07-11 | 海南电力技术研究院 | 输电线路故障行波数据压缩方法 |
CN103577456A (zh) * | 2012-07-31 | 2014-02-12 | 国际商业机器公司 | 用于处理时序数据的方法和装置 |
CN105915226A (zh) * | 2016-04-27 | 2016-08-31 | 深圳市禾望电气股份有限公司 | 一种录波数据的处理方法及系统 |
CN108052285A (zh) * | 2017-12-12 | 2018-05-18 | 清华大学 | 一种自适应编码长度的时序数据存储的方法和装置 |
CN108153483A (zh) * | 2016-12-06 | 2018-06-12 | 南京南瑞继保电气有限公司 | 一种基于属性分组的时序数据压缩方法 |
CN108226682A (zh) * | 2018-01-26 | 2018-06-29 | 福建奥通迈胜电力科技有限公司 | 一种用于故障指示器录波波形的压缩算法 |
CN108259043A (zh) * | 2018-01-23 | 2018-07-06 | 程飞 | 基于间隔划分的测试数据压缩与解压缩方法 |
-
2019
- 2019-08-06 CN CN201910721876.8A patent/CN110545106B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039374A (zh) * | 2006-03-14 | 2007-09-19 | 联想(北京)有限公司 | 一种图像无损压缩和图像解压缩方法 |
CN101262559A (zh) * | 2008-03-28 | 2008-09-10 | 北京中星微电子有限公司 | 一种序列图像噪声消除的方法及装置 |
CN102571101A (zh) * | 2011-12-12 | 2012-07-11 | 海南电力技术研究院 | 输电线路故障行波数据压缩方法 |
CN102520227A (zh) * | 2011-12-14 | 2012-06-27 | 国电南瑞科技股份有限公司 | 一种基于扰动指示器的故障录波数据压缩方法 |
CN103577456A (zh) * | 2012-07-31 | 2014-02-12 | 国际商业机器公司 | 用于处理时序数据的方法和装置 |
CN105915226A (zh) * | 2016-04-27 | 2016-08-31 | 深圳市禾望电气股份有限公司 | 一种录波数据的处理方法及系统 |
CN108153483A (zh) * | 2016-12-06 | 2018-06-12 | 南京南瑞继保电气有限公司 | 一种基于属性分组的时序数据压缩方法 |
CN108052285A (zh) * | 2017-12-12 | 2018-05-18 | 清华大学 | 一种自适应编码长度的时序数据存储的方法和装置 |
CN108259043A (zh) * | 2018-01-23 | 2018-07-06 | 程飞 | 基于间隔划分的测试数据压缩与解压缩方法 |
CN108226682A (zh) * | 2018-01-26 | 2018-06-29 | 福建奥通迈胜电力科技有限公司 | 一种用于故障指示器录波波形的压缩算法 |
Non-Patent Citations (1)
Title |
---|
ECG数据序列的TER_DCT压缩技术;罗智勇等;《信号处理》;19991231;第36-第40页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110545106A (zh) | 2019-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110545106B (zh) | 时序数据的编码方法及装置 | |
CN109409518B (zh) | 神经网络模型处理方法、装置及终端 | |
US11101818B2 (en) | Method and device for storing time series data with adaptive length encoding | |
CN116506073B (zh) | 一种工业计算机平台数据快速传输方法及系统 | |
CN101350858B (zh) | 一种短信解码的方法和用户终端 | |
CN108282265B (zh) | 纠错编码方法、装置、设备及计算机可读存储介质 | |
CN109446171B (zh) | 一种数据处理方法和装置 | |
US11955992B2 (en) | Rate matching method and apparatus for polar code | |
JP2019530269A (ja) | 符号化方法およびデバイスならびに装置 | |
CN111131403A (zh) | 一种物联网设备的消息编解码方法及装置 | |
CN112037061A (zh) | 区块链中交易的处理方法、装置、电子设备及存储介质 | |
CN115208414B (zh) | 数据压缩方法、数据压缩装置、计算机设备及存储介质 | |
CN113630125A (zh) | 数据压缩、编码解压缩方法、装置、电子设备及存储介质 | |
CN116594572A (zh) | 浮点数流式数据压缩方法、装置、计算机设备及介质 | |
US20220005229A1 (en) | Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie | |
CN107832341B (zh) | Agnss用户去重统计方法 | |
CN109981108B (zh) | 数据压缩方法、解压缩方法、装置及设备 | |
CN107645665B (zh) | 一种WebP熵编码的方法及装置 | |
JP2009182421A (ja) | 復号化方法及び復号化装置 | |
CN114511217A (zh) | 一种物品编码的解析方法、设备及介质 | |
CN108734149B (zh) | 一种文本数据扫描方法和装置 | |
US10931303B1 (en) | Data processing system | |
CN113630123A (zh) | 一种数据压缩系统及方法 | |
CN107930112B (zh) | 游戏数据传输方法及装置 | |
CN109005413B (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 |