CN109962710A - 数据压缩方法、电子设备及计算机可读存储介质 - Google Patents
数据压缩方法、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109962710A CN109962710A CN201711336990.6A CN201711336990A CN109962710A CN 109962710 A CN109962710 A CN 109962710A CN 201711336990 A CN201711336990 A CN 201711336990A CN 109962710 A CN109962710 A CN 109962710A
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- time series
- series data
- model
- 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.)
- Pending
Links
- 238000013144 data compression Methods 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000007906 compression Methods 0.000 claims abstract description 383
- 230000006835 compression Effects 0.000 claims abstract description 381
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 294
- 238000013499 data model Methods 0.000 claims description 134
- 230000004069 differentiation Effects 0.000 claims description 21
- 230000006641 stabilisation Effects 0.000 claims description 19
- 238000011105 stabilization Methods 0.000 claims description 19
- 230000003247 decreasing effect Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 7
- 241000208340 Araliaceae Species 0.000 claims description 3
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 3
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 3
- 235000008434 ginseng Nutrition 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 36
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 241001269238 Data Species 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000009795 derivation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000035484 reaction time Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012163 sequencing technique Methods 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
-
- 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/60—General implementation details not specific to a particular type of compression
- H03M7/6064—Selection of Compressor
- H03M7/6082—Selection strategies
- H03M7/6094—Selection strategies according to reasons other than compression rate or data type
-
- 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/70—Type of the data to be coded, other than image and sound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例提供一种数据压缩方法、电子设备及计算机可读存储介质。在本申请实施例中,对一定时间段内产生的时间序列数据,按照时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法,然后利用目标压缩算法对时间序列数据进行压缩,以获得压缩数据。由此可见,在数据压缩过程中可以灵活选择压缩算法,对具有不同时变特征的数据采用不同的压缩算法,灵活性较强,有利于提高压缩比。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据压缩方法、电子设备及计算机可读存储介质。
背景技术
在一些应用系统中,会产生大量与时间有关的数据,例如系统运行过程中的日志数据,不同时刻的中央处理器(Central Processing Unit,CPU)利用率以及不同时刻的商品订单量等。随着时间的推移,这些数据会越来越多,将占用较多存储空间。
在现有技术中,一般是采用压缩算法对这些与时间有关的数据进行压缩后存储,从而减少占用的存储空间。现有对与时间有关的数据进行压缩的方式不够灵活,压缩比较低。
发明内容
本申请的多个方面提供一种数据压缩方法、电子设备及计算机可读存储介质,用以提高数据压缩的灵活性,提高压缩比。
本申请实施例提供一种数据压缩方法,包括:
获取一定时间段内产生的时间序列数据;
根据所述时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法;
利用所述目标压缩算法对所述时间序列数据进行压缩,以获得压缩数据。
本申请实施例还提供一种电子设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,耦合至所述存储器,用于执行所述程序,以用于:
获取一定时间段内产生的时间序列数据;
根据所述时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法;
利用所述目标压缩算法对所述时间序列数据进行压缩,以获得压缩数据。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被执行时能够实现上述方法实施例中的步骤。
在本申请实施例中,对一定时间段内产生的时间序列数据,按照时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法,然后利用目标压缩算法对时间序列数据进行压缩,以获得压缩数据。由此可见,在数据压缩过程中可以灵活选择压缩算法,对具有不同时变特征的数据采用不同的压缩算法,灵活性较强,有利于提高压缩比。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的数据压缩系统的结构示意图;
图2a为本申请另一示例性实施例提供的一种数据压缩方法的流程示意图;
图2b为本申请又一示例性实施例提供的一种数据压缩方法的流程示意图;
图2c为本申请又一示例性实施例提供的一种数据压缩方法的流程示意图;
图3a为本申请又一示例性实施例提供的一种数据压缩装置的结构示意图;
图3b为本申请又一示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有技术在对与时间有关的数据进行压缩时存在的不够灵活、效率较低等问题,本申请实施例提供一种解决方法,基本原理是:在对时间序列数据进行压缩时,根据时间序列数据的时变特征灵活选择压缩算法,然后利用选择的压缩算法对时间序列数据进行压缩,以获得压缩数据。对具有不同时变特征的数据可以采用不同的压缩算法,灵活性较强,有利于提高压缩比。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的数据压缩系统的结构示意图。如图1所示,该系统包括:数据源10和数据压缩设备20。
数据源10主要用于产生与时间有关的数据,并持续将与时间有关的数据发送至数据压缩设备20,以供数据压缩设备20进行压缩处理。为便于描述,将与时间有关的数据称为时间序列数据。数据源10可以是任何可以产生时间序列数据的设备、应用或系统。
例如,数据源10可以是服务器、台式计算机、个人计算机、智能手机、平板电脑等设备。其中,这些设备在不同时间点的中央处理单元(Central Processing Unit,CPU)利用率、内存利用率等属于时间序列数据,这些设备在运行过程中产生的日志数据也属于时间序列数据,等等。由于存储资源有限,需要对CPU利用率、内存利用率等时间序列数据进行压缩,以节约存储资源。
又例如,数据源10可以是监控类程序、购物类应用、游戏类应用、小程序等等。这些应用在运行过程中产生的日志数据属于时间序列数据,这些应用中与时间有关的其它数据也属于时间序列数据。由于存储资源有限,需要对这些日志数据进行压缩,以节约存储资源。
又例如,数据源10可以是物联网场景中的物联网设备,例如射频识别(RadioFrequency Identification,RFID)器、各类(例如温度或震动)传感器、全球跟踪器、激光扫描器等。在物联网场景中,物联网设备联网后会持续产生很多传感数据,尤其是工业物联网中的传感器,例如大坝裂缝传感器会持续不断地向相应系统上报裂缝大小、位置等传感数据,这些传感数据属于时间序列数据。由于存储资源有限,需要对这些传感数据进行压缩,以节约存储资源。
数据压缩设备20与数据源10连接,主要用于接收数据源10持续发送的时间序列数据,并在需要执行数据压缩操作时,对时间数据序列进行压缩,以节约存储资源。数据压缩设备20可以是任何具有一定数据处理能力的设备,例如可以是服务器、台式计算机、个人计算机、智能手机、平板电脑等设备。服务器可以是常规服务器、云服务器、云主机、虚拟中心等。
可选地,数据压缩设备20可以将时间序列数据存储至缓存(如图1所示)中,当需要执行数据压缩操作时,从缓存中读取需要压缩的时间序列数据。其中,缓存为可选项,故图1中用虚线表示。
在一些应用场景中,数据源10产生的时间序列数据具有不同的时变特征。例如,在数据源10是购物类应用的场景中,一般来说,某一商品在每天固定时间段内的订单量属于时间序列数据。以某商品在夜间的订单量为例,在一般情况下,该商品在夜间的下单量较少,但在某一活动期间,例如双11活动期间,商品在夜间0点到2点之间的订单量很大。又例如,在大坝裂缝监控场景中,大坝裂缝大小与温度应力有一定关系,例如冬季裂缝会增大,夏季裂缝会减小。这意味着大坝裂缝传感器采集到的大坝裂缝大小等数据也会因时间不同而有所不同。对于具有不同时变特性的时间序列数据来说,若采用同一压缩方法对其进行压缩,压缩效果不是很理想,例如无法达到最佳压缩比。
为了提高压缩效果,达到最佳压缩比,数据压缩设备20对数据源10产生的时间序列数据进行分段压缩,每次对一定时间段内产生的时间序列数据进行压缩,并且每次压缩过程中根据时间序列数据的时变特征灵活选择压缩算法,对具有不同时变特征的数据采用不同的压缩算法。
其中,每次数据压缩过程都相似。为便于描述,以本次数据压缩过程为例,对数据压缩设备20进行数据压缩的过程进行说明。
当本次数据压缩操作被触发时,数据压缩设备20获取一定时间段内产生的时间序列数据。本实施例并不限定“一定时间段”的时间长度,该时间段可以是30分钟、50分钟、1小时、2分钟、5分钟等,具体视应用场景而定。而且在不同次数据压缩过程中,“一定时间段”的时间长度可以相同,也可以不相同。例如,在本次数据需要操作中,可以对5分钟内产生的时间序列数据进行压缩,在下次数据压缩操作中,可以对8分钟内产生的时间序列数据进行压缩。
可选地,数据压缩设备20在接收到数据源20持续发送的数据时可以将接收到的数据存储至缓存中,然后判断在缓存中缓存数据的时间长度是否达到所述一定时间段,例如5分钟;当在缓存中缓存数据的时间长度达到所述一定时间段时,触发本次数据压缩操作,即数据压缩设备20获取缓存中缓存的数据,即在所述一定时间段产生的时间序列数据。
在获得本次需要压缩的时间序列数据之后,数据压缩设备20在对本次需要压缩的时间序列数据进行压缩之前,先根据本次需要压缩的时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法,如图1所示。这里的目标压缩算法是指本次数据压缩操作中需要使用的压缩算法,该压缩算法是与本次需要压缩的时间序列数据的时变特征相匹配的压缩算法。然后,数据压缩设备20利用目标压缩算法对本次需要压缩的时间序列数据进行压缩。在图1中示出多种压缩算法,同时示出与压缩算法对应的数据模型,数据模型为可选项,故图1中用虚线表示。关于数据模型将在后续实施例中进行描述。
可选地,本实施例中使用的多种压缩算法包括但不限于:delta-of-delta压缩算法、基于相邻位异或运算的压缩算法、差分压缩算法以及一些通用的压缩算法等。其中,通用的压缩算法包括zip、LZ4、snappy等。Snappy是C++的用来压缩和解压缩的开发包。delta-of-delta压缩算法主要是对数据进行二次求导,记录导数的压缩过程。相邻位异或运算的压缩算法主要是对前后两个数据做异或(XOR)操作,记录差异值的压缩过程。差分压缩算法主要是将前一数据与后一数据相减,记录差值的压缩过程。
例如,若本次需要压缩的时间序列数据的时变特征几乎不明显,可以采用基于相邻位异或运算的压缩算法。若本次需要压缩的时间序列数据的时变特征不太明显,可以采用差分压缩算法。若本次需要压缩的时间序列数据的时变特征比较明显,可以采用通用的压缩算法。若本次需要压缩的时间序列数据的时变特征反应时间序列数据逐渐递增,可以采用delta-of-delta的压缩算法。若本次需要压缩的时间序列数据的时变特征反应时间序列数据逐渐递减,可以采用delta-of-delta的压缩算法。
其中,根据目标压缩算法的不同,数据压缩设备20利用目标压缩算法对本次需要压缩的时间序列数据进行压缩的过程会有所不同。其中,若目标压缩算法是上述列举的某种压缩算法,则数据压缩设备20利用目标压缩算法对本次需要压缩的时间序列数据进行压缩的过程可参见现有技术,在此不再赘述。
在本实施例中,数据压缩设备20每次对时间序列数据进行压缩时,根据时间序列数据的时变特征灵活选择压缩算法,然后利用选择的压缩算法对时间序列数据进行压缩;对具有不同时变特征的数据采用不同的压缩算法,灵活性较强,有利于提高压缩比。
在一些实施例中,数据压缩设备20每次进行数据压缩时都要重新选择目标压缩算法。
在另一些实施例中,可以设定重新选择目标压缩算法的触发条件,当设定的触发条件满足时,数据压缩设备20在进行数据压缩过程中重新选择目标压缩算法。
例如,可以以上一次数据压缩的压缩比作为重新选择目标压缩算法的触发条件。基于此,数据压缩设备20在获取本次需要压缩的时间序列数据之后,在从多种压缩算法中选择目标压缩算法之前,可以判断上一次数据压缩的压缩比是否小于设定的压缩比阈值。若判断结果为是,则说明上一次数据压缩使用的压缩算法已经不再适应当前时间序列数据的时变特征,故数据压缩设备20根据本次需要压缩的时间序列数据的时变特征,重新从多种压缩算法中选择目标压缩算法,并利用重新选择的目标压缩算法对时间序列数据进行压缩。若判断结果为否,说明上一次数据压缩使用的压缩算法很可能还会适应当前时间序列数据的时变特征,为提高压缩效率,数据压缩设备20可以直接利用上一次数据压缩使用的压缩算法对本次需要压缩的时间序列数据进行压缩。为便于描述,将上一次数据压缩使用的压缩算法称为第一压缩算法,第一压缩算法是多种压缩算法中的一种。
又例如,可以将同一压缩算法连续使用的次数作为重新选择目标压缩算法的触发条件。基于此,数据压缩设备20在获取本次需要压缩的时间序列数据之后,在从多种压缩算法中选择目标压缩算法之前,可以判断连续使用第一压缩算法进行数据压缩的次数是否达到设定压缩次数阈值。若判断结果为是,则说明第一压缩算法不再适应当前时间序列数据的时变特征的可能性较大,故数据压缩设备20根据本次需要压缩的时间序列数据的时变特征,重新从多种压缩算法中选择目标压缩算法,并利用重新选择的目标压缩算法对时间序列数据进行压缩。若判断结果为否,说明第一压缩算法仍旧适应当前时间序列数据的时变特征的概率较高,为提高压缩效率,数据压缩设备20可以直接利用第一压缩算法对本次需要压缩的时间序列数据进行压缩。
又例如,可以将同一压缩算法连续使用的时间长度作为重新选择目标压缩算法的触发条件。基于此,数据压缩设备20在获取本次需要压缩的时间序列数据之后,在从多种压缩算法中选择目标压缩算法之前,可以判断连续使用第一压缩算法进行数据压缩的时间长度是否达到设定时长阈值。若判断结果为是,则说明第一压缩算法不再适应当前时间序列数据的时变特征的可能性较大,故数据压缩设备20根据本次需要压缩的时间序列数据的时变特征,重新从多种压缩算法中选择目标压缩算法,并利用重新选择的目标压缩算法对时间序列数据进行压缩。若判断结果为否,说明第一压缩算法仍旧适应当前时间序列数据的时变特征的概率较高,为提高压缩效率,数据压缩设备20可以直接利用第一压缩算法对本次需要压缩的时间序列数据进行压缩。
值得说明的是,可以单独使用上述某一种触发条件,也可以同时组合使用其中两种或三种触发条件。当同时组合使用其中两种或三种触发条件时,只要有一种触发条件的判断结果为是,就需要重新从多种压缩算法中选择目标压缩算法。
在一些实施例中,当需要从多种压缩算法中为本次需要压缩的时间序列数据选择目标压缩算法时,数据压缩设备20可以将本次需要压缩的时间序列数据的时变特征,分别计算本次需要压缩的时间序列数据与每种压缩算法的匹配度,从中选择与本次需要压缩的时间序列数据的匹配度最高的压缩算法作为目标压缩算法。
在一些实施例中,数据压缩设备20预先维护多种数据模型,数据模型与压缩算法具有对应关系。当需要从多种压缩算法中为本次需要压缩的时间序列数据选择目标压缩算法时,数据压缩设备20可以确定多种压缩算法中的第一压缩算法,第一压缩算法是上一次数据压缩使用的压缩算法;根据本次需要压缩的时间序列数据的时变特征,判断本次需要压缩的时间序列数据是否属于第一压缩算法对应的第一数据模型;若本次需要压缩的时间序列数据属于第一数据模型,将第一压缩算法作为目标压缩算法。
进一步,若本次需要压缩的时间序列数据不属于第一数据模型,则需要根据本次需要压缩的时间序列数据的时变特征,从不同于第一数据模型的其它数据模型中,识别本次需要压缩的时间序列数据所属的数据模型;从多种压缩算法中的其它压缩算法中,选择与本次需要压缩的时间序列数据所属的数据模型对应的压缩算法作为目标压缩算法。其它压缩算法是指多种压缩算法中不同于第一压缩算法的压缩算法。
可选地,对每种数据模型来说,都有自己的判别参数和判别要求。其中,判断参数是指在判断时间序列数据是否属于该数据模型需要使用的参数;判别要求是指在根据判别参数下的参数值判断时间序列数据是否属于该数据模型的条件。不同数据模型的判别参数可以相同,也可以不相同。不同数据模型的判别要求一般不同。
基于上述,压缩设备20在判断本次需要压缩的时间序列数据是否属于第一数据模型的过程包括:按照第一数据模型使用的判别参数,对本次需要压缩的时间序列数据进行数值计算,以获得本次需要压缩的时间序列数据在该判别参数下的参数值;将本次需要压缩的时间序列数据在该判别参数下的参数值与第一数据模型的判别要求进行比较;当本次需要压缩的时间序列数据在该判别参数下的参数值满足第一数据模型的判别要求时,确定本次需要压缩的时间序列数据属于第一数据模型;当本次需要压缩的时间序列数据在该判别参数下的参数值不满足第一数据模型的判别要求时,确定本次需要压缩的时间序列数据不属于第一数据模型。
相应地,数据压缩设备20在根据本次需要压缩的时间序列数据的时变特征,从其它数据模型中识别本次需要压缩的时间序列数据所属的数据模型的实施方式包括:对其它数据模型中的任一数据模型,按照该数据模型使用的判别参数,对本次需要压缩的时间序列数据进行数值计算,以获得本次需要压缩的时间序列数据在该判别参数下的参数值;将本次需要压缩的时间序列数据在该判别参数下的参数值与该数据模型的判别要求进行比较;当本次需要压缩的时间序列数据在该判别参数下的参数值满足该数据模型的判别要求时,确定本次需要压缩的时间序列数据属于该数据模型;当本次需要压缩的时间序列数据在该判别参数下的参数值不满足该数据模型的判别要求时,确定本次需要压缩的时间序列数据不属于该数据模型。
在一示例性可选实施方式中,数据压缩设备20维护但不限于以下几种数据模型:
数据稳定模型:表示时间序列数据基本没有变化。可以通过时间序列数据的异或值序列来衡量其稳定性。时间序列数据中相邻数据的异或结果形成该异或序列。例如,设定第一百分比,例如99.9%,则若时间序列数据中相邻数据的异或结果均为0的数据量占总数据量的百分之大于或等于第一百分比,则认为该时间序列数据属于数据稳定模型;反之,则不属于。
数据小波动模型:表示时间序列数据有较小的波动。可以通过时间序列数据的差值序列来衡量其波动性。例如,可以设定差值阈值,例如0.05,并设定第二百分比,例如99.5%,则若时间序列数据中差值小于差值阈值的数据量占总数据量的百分之大于或等于第二百分比,则认为该时间序列数据属于数据小波动模型;反之,则不属于。
数据大波动模型:表示时间序列数据有较大的波动。可以通过时间序列数据的差值序列来衡量其波动性。例如,可以设定差值阈值,例如0.05,并设定第二百分比,例如99.5%,则若时间序列数据中差值小于差值阈值的数据量占总数据量的百分之小于第二百分比,则认为该时间序列数据属于数据大波动模型;反之,则不属于。
数据递增模型:表示时间序列数据逐渐增大。可以通过时间序列数据的导数序列来衡量渐变性。例如,可以采用时间数据序列的一阶导数和二阶导数,设定第一导数阈值,例如0.01,并设定第三百分比,例如99.8%,则若时间序列数据中所有数据的一阶导数大于0,且二阶导数小于第一导数阈值的数据量占总数据量的百分之大于或等于第三百分比,则认为该时间序列数据属于数据递增模型;反之,则不属于。
数据递减模型:表示时间序列数据逐渐减小。可以通过时间序列数据的导数序列来衡量渐变性。例如,可以采用时间数据序列的一阶导数和二阶导数,设定第一导数阈值,例如0.01,并设定第三百分比,例如99.8%,则若时间序列数据中所有数据的一阶导数小于0,且二阶导数小于第一导数阈值的数据量占总数据量的百分之小于第三百分比,则认为该时间序列数据属于数据递减模型;反之,则不属于。
其它数据模型:除上述数据模型之外的数据模型,可根据应用需求适应性增加。
上述数据稳定模型的判别参数为异或参数,判别要求为异或结果为0的数据量占总数据量的百分之大于或等于第一百分比。
上述数据小波动模型的判别参数为差值参数,判别要求为差值小于差值阈值的数据量占总数据量的百分之大于或等于第二百分比。
上述数据大波动模型的判别参数为差值参数,判别要求为差值小于差值阈值的数据量占总数据量的百分之小于第二百分比。
可选地,可以将上述数据小波动模型和数据大波动模型可概括为数据波动模型。
上述数据递增模型的判别参数为导数参数,判别要求为所有数据的一阶导数大于0,且二阶导数小于第一导数阈值的数据量占总数据量的百分之大于或等于第三百分比。
上述数据递减模型的判别参数为导数参数,判别要求为所有数据的一阶导数小于0,且二阶导数小于第一导数阈值的数据量占总数据量的百分之小于第三百分比。
基于上述可知,在第一数据模型不同时,数据压缩设备20在计算本次需要压缩的时间序列数据在第一数模型的判别参数下的参数值的过程也会有所不同。
例如,若第一数据模型为数据稳定模型,数据压缩设备20根据数据稳定模型使用的异或参数,对本次需要压缩的时间序列数据进行异或运算,以获得本次需要压缩的时间序列数据的异或值序列。
若第一数据模型为数据波动模型,数据压缩设备20根据数据稳定模型或数据波动模型使用的差值参数,对本次需要压缩的时间序列数据进行差值运算,以获得本次需要压缩的时间序列数据的差值序列。
若第一数据模型为数据递增模型或数据递减模型,数据压缩设备20根据本次需要压缩的数据递增模型或数据递减模型使用的导数参数,对本次需要压缩的时间序列数据进行求导运算,以获得本次需要压缩的时间序列数据的导数序列。这里的导数序列包括一阶导数序列和二阶导数序列。
其中,异或运算、求导和求差值的过程属于现有技术,在此不再赘述,具体求解过程可参见现有技术。
可选地,以上述几种数据模型为例,给出一种数据模型与压缩算法之间的对应关系,但并不限于此。例如,数据稳定模型对应基于相邻位异或运算的压缩算法;数据小波动模型对应差分压缩算法;数据大波动模型对应通用的压缩算法,例如Zip、LZ4、snappy等;数据递增模型对应delta-of-delta的压缩算法;数据递减模型对应delta-of-delta的压缩算法。
在另一些实施例中,在判断出本次需要压缩的时间序列数据不属于第一数据模型的情况下,可以直接利用多种压缩算法中的每种压缩算法分别对本次需要压缩的时间序列数据进行预压缩,以获得多种预压缩结果;从多种压缩算法中,选择压缩结果符合设定要求的压缩算法作为目标压缩算法。例如,可以选择压缩比最小的压缩算法作为目标压缩算法。或者,也可以选择压缩速度最快的压缩算法作为目标压缩算法。这种方式可以重新选择目标压缩算法,使得每次数据压缩都使用相匹配的压缩算法,提高压缩效果。
图2a为本申请另一示例性实施例提供的一种数据压缩方法的流程示意图。如图2a所示,该方法包括:
201、获取一定时间段内产生的时间序列数据。
202、根据时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法。
203、利用目标压缩算法对时间序列数据进行压缩,以获得压缩数据。
在本实施例中,考虑到不同时间段产生的时间序列数据可能具有不同的时变特征。为了提高压缩效果,达到最佳压缩比,对时间序列数据进行分段压缩,每次对一定时间段内产生的时间序列数据进行压缩,并且每次压缩过程中根据时间序列数据的时变特征灵活选择压缩算法,对具有不同时变特征的数据采用不同的压缩算法。
本实施例并不限定“一定时间段”的时间长度,该时间段可以是30分钟、50分钟、1小时、2分钟、5分钟等,具体视应用场景而定。而且在不同次数据压缩过程中,“一定时间段”的时间长度可以相同,也可以不相同。例如,在本次数据需要操作中,可以对5分钟内产生的时间序列数据进行压缩,在下次数据压缩操作中,可以对8分钟内产生的时间序列数据进行压缩。
在一些实施例中,数据数据源不断产生数据并发送至数据压缩设备。数据压缩设备接收数据源持续发送的数据并存储至缓存中,当在缓存中缓存数据的时间长度达到一定时间段时,读取缓存中的数据形成时间序列数据。其中,数据源产生的数据可以是CPU利用率、某商品在不同时间的订单量或者系统日志等。
在一些实施例中,可以设定重新选择目标压缩算法的触发条件,当设定的触发条件满足时,执行步骤202的操作,即重新选择目标压缩算法。基于此,在步骤202之前可以执行以下至少一种判断操作:
判断上一次使用多种压缩算法中的第一压缩算法进行数据压缩的压缩比是否小于设定压缩比阈值;
判断连续使用第一压缩算法进行数据压缩的次数是否达到设定压缩次数阈值;
判断连续使用第一压缩算法进行数据压缩的时间长度是否到达设定时长阈值。
当上述至少一种判断操作中存在判断结果为是的判断操作时,执行步骤202的操作。
在一些实施例中,如图2b所示,另一种数据压缩方法的流程包括以下步骤:
301、获取本次需要压缩的一定时间段内产生的时间序列数据。
302、判断上一次数据压缩的压缩比是否小于设定压缩比阈值;若判断结果为是,执行步骤303;若判断结果为否,执行步骤309。
303、确定多种压缩算法中的第一压缩算法,第一压缩算法是指上一次数据压缩使用的压缩算法。
304、根据本次需要压缩的时间序列数据的时变特征,判断本次需要压缩的时间序列数据是否属于第一压缩算法对应的第一数据模型;若判断结果为是,执行步骤305;若判断结果为否,执行步骤306。
305、将第一压缩算法作为目标压缩算法,并执行步骤308。
306、根据时间序列数据的时变特征,从不同于第一数据模型的其它数据模型中,识别时间序列数据所属的数据模型。
307、从多种压缩算法中的其它压缩算法中,选择与时间序列数据所属的数据模型对应的压缩算法作为目标压缩算法。
308、利用目标压缩算法对时间序列数据进行压缩,以获得本次压缩数据,并返回执行步骤301。
309、利用第一压缩算法对时间序列数据进行压缩,以获得本次压缩数据,并返回执行步骤301。
在本实施例中,当上一次数据压缩的压缩比小于压缩比阈值时,重新为本次需要压缩的时间序列数据选择压缩算法,并且在重新选择压缩算法中,优先考虑上一次数据压缩使用的压缩算法,当确定上一次数据压缩使用的压缩算法确实不再适用时,进一步考虑其他压缩算法。该数据压缩方法不仅灵活性和压缩比较高,压缩效率也较高。
在另一些实施例中,如图2c所示,又一种数据压缩方法的流程包括以下步骤:
401、获取本次需要压缩的一定时间段内产生的时间序列数据。
402、判断上一次数据压缩的压缩比是否小于设定压缩比阈值;若判断结果为是,执行步骤403;若判断结果为否,执行步骤409。
403、确定多种压缩算法中的第一压缩算法,第一压缩算法是指上一次数据压缩使用的压缩算法。
404、根据本次需要压缩的时间序列数据的时变特征,判断本次需要压缩的时间序列数据是否属于第一压缩算法对应的第一数据模型;若判断结果为是,执行步骤405;若判断结果为否,执行步骤406。
405、将第一压缩算法作为目标压缩算法,并执行步骤408。
406、利用多种压缩算法中的每种压缩算法分别对时间序列数据进行预压缩,以获得多种预压缩结果。
407、从多种压缩算法中,选择压缩结果符合设定要求的压缩算法作为目标压缩算法,并执行步骤408。
408、利用目标压缩算法对时间序列数据进行压缩,以获得本次压缩数据,并返回执行步骤401。
409、利用第一压缩算法对时间序列数据进行压缩,以获得本次压缩数据,并返回执行步骤401。
在本实施例中,当上一次数据压缩的压缩比小于压缩比阈值时,重新为本次需要压缩的时间序列数据选择压缩算法,并且在重新选择压缩算法中,优先考虑上一次数据压缩使用的压缩算法,当确定上一次数据压缩使用的压缩算法确实不再适用时,通过预压缩过程保证选择较优压缩算法。该数据压缩方法不仅灵活性和压缩比较高,压缩效率也较高。
在上述实施例中,根据本次需要压缩的时间序列数据的时变特征,判断本次需要压缩的时间序列数据是否属于第一数据模型包括:
按照第一数据模型使用的判别参数,对本次需要压缩的时间序列数据进行数值计算,以获得本次需要压缩的时间序列数据在判别参数下的参数值;当本次需要压缩的时间序列数据在判别参数下的参数值满足第一数据模型的判别要求时,确定本次需要压缩的时间序列数据属于第一数据模型;当本次需要压缩的时间序列数据在判别参数下的参数值不满足第一数据模型的判别要求时,确定本次需要压缩的时间序列数据不属于第一数据模型。
相应的,根据本次需要压缩的时间序列数据的时变特征,从不同于第一数据模型的其它数据模型中,识别本次需要压缩的时间序列数据所属的数据模型包括:
对其它数据模型中的任一数据模型,按照该数据模型使用的判别参数,对本次需要压缩的时间序列数据进行数值计算,以获得本次需要压缩的时间序列数据在判别参数下的参数值;当本次需要压缩的时间序列数据在判别参数下的参数值满足该数据模型的判别要求时,确定本次需要压缩的时间序列数据属于该数据模型;当本次需要压缩的时间序列数据在判别参数下的参数值不满足该数据模型的判别要求时,确定本次需要压缩的时间序列数据不属于该数据模型。
在一示例性实施方式中,将数据模型划分为数据稳定模型、数据波动模型、数据递增模型、数据递减模型等。基于此,上述按照第一数据模型使用的判别参数,对本次需要压缩的时间序列数据进行数值计算,以获得本次需要压缩的时间序列数据在判别参数下的参数值,包括:
若所述第一数据模型为数据稳定模型,根据数据稳定模型使用的异或参数,对本次需要压缩的时间序列数据进行异或运算,以获得本次需要压缩的时间序列数据的异或值序列;
若第一数据模型为数据波动模型,根据数据稳定模型或数据波动模型使用的差值参数,对本次需要压缩的时间序列数据进行差值运算,以获得本次需要压缩的时间序列数据的差值序列;
若第一数据模型为数据递增模型或数据递减模型,根据数据递增模型或数据递减模型使用的导数参数,对本次需要压缩的时间序列数据进行求导运算,以获得本次需要压缩的时间序列数据的导数序列。这里的导数序列包括一阶导数序列和二阶导数序列。
其中,异或运算、求导和求差值的过程属于现有技术,在此不再赘述,具体求解过程可参见现有技术。
在上述实施例提供的方法中,在确定目标压缩算法之后,采用目标压缩算法对本次需要压缩的时间序列数据进行压缩的过程可参见现有技术,相应地,解压缩的过程也可参见现有技术,在此不做赘述。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤203的执行主体可以为设备A;又比如,步骤201和202的执行主体可以为设备A,步骤203的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图3a为本申请又一示例性实施例提供的一种数据压缩装置的结构示意图。如图3a所示,该数据压缩装置包括:获取模块41、选择模块42和压缩模块43。
获取模块41,用于获取一定时间段内产生的时间序列数据。
选择模块42,用于根据时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法。
压缩模块43,用于利用目标压缩算法对时间序列数据进行压缩,以获得压缩数据。
在一示例性实施方式中,选择模块42在根据时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法之前,还用于执行以下至少一种判断操作:
判断上一次使用多种压缩算法中的第一压缩算法进行数据压缩的压缩比是否小于设定压缩比阈值;
判断连续使用第一压缩算法进行数据压缩的次数是否达到设定压缩次数阈值;
判断连续使用第一压缩算法进行数据压缩的时间长度是否到达设定时长阈值。
基于上述判断操作,选择模块42可以在至少一种判断操作中存在判断结果为是的判断操作时,执行根据时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法的操作。
在一示例性实施方式中,选择模块42在选择目标压缩算法时,具体用于:确定多种压缩算法中的第一压缩算法,第一压缩算法是上一次数据压缩使用的压缩算法;根据时间序列数据的时变特征,判断时间序列数据是否属于第一压缩算法对应的第一数据模型;若时间序列数据属于第一数据模型,将第一压缩算法作为目标压缩算法。
进一步,选择模块42在选择目标压缩算法时,还具体用于:若时间序列数据不属于第一数据模型,根据时间序列数据的时变特征,从不同于第一数据模型的其它数据模型中,识别时间序列数据所属的数据模型;从多种压缩算法中的其它压缩算法中,选择与时间序列数据所属的数据模型对应的压缩算法作为目标压缩算法。或者
进一步,选择模块42在选择目标压缩算法时,还具体用于:若时间序列数据不属于第一数据模型,利用多种压缩算法中的每种压缩算法分别对时间序列数据进行预压缩,以获得多种预压缩结果;从多种压缩算法中,选择压缩结果符合设定要求的压缩算法作为目标压缩算法。
在一示例性实施方式中,选择模块42在判断时间序列数据是否属于第一数据模型时,具体用于:按照第一数据模型使用的判别参数,对时间序列数据进行数值计算,以获得时间序列数据在判别参数下的参数值;当时间序列数据在判别参数下的参数值满足第一数据模型的判别要求时,确定时间序列数据属于第一数据模型;当时间序列数据在判别参数下的参数值不满足第一数据模型的判别要求时,确定时间序列数据不属于第一数据模型。
进一步,选择模块42在获得时间序列数据在判别参数下的参数值时,具体用于:
若所述第一数据模型为数据稳定模型,根据数据稳定模型使用的异或参数,对时间序列数据进行异或运算,以获得时间序列数据的异或值序列;
若第一数据模型为数据波动模型,根据数据波动模型使用的差值参数,对时间序列数据进行差值运算,以获得时间序列数据的差值序列;
若第一数据模型为数据递增模型或数据递减模型,根据数据递增模型或数据递减模型使用的导数参数,对时间序列数据进行求导运算,以获得时间序列数据的导数序列。
在一示例性实施方式中,获取模块41具体用于:将数据源持续发送的数据存储至缓存中;当在缓存中缓存数据的时间长度达到一定时间段时,读取缓存中的数据形成时间序列数据。
本实施例提供的数据压缩装置,可用于执行上述方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的数据压缩装置,对一定时间段内产生的时间序列数据,按照时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法,然后利用目标压缩算法对时间序列数据进行压缩,以获得压缩数据。由此可见,采用本实施例提供的数据压缩装置,可以在数据压缩过程中为需要压缩的时间序列数据灵活选择压缩算法,而不是固定采用一种压缩算法,具有较强的灵活性,有利于提高压缩比。
以上描述了数据压缩装置的内部功能和结构,如图3b所示,实际中,该数据压缩装置可实现为电子设备,该电子设备包括:存储器51和处理器52。
存储器51,可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器51可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器52与存储器51耦合,用于执行存储器51中的程序,以用于:
获取一定时间段内产生的时间序列数据;
根据时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法;
利用目标压缩算法对时间序列数据进行压缩,以获得压缩数据。
在一示例性实施方式中,处理器52在根据时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法之前,还用于执行以下至少一种判断操作:
判断上一次使用多种压缩算法中的第一压缩算法进行数据压缩的压缩比是否小于设定压缩比阈值;
判断连续使用第一压缩算法进行数据压缩的次数是否达到设定压缩次数阈值;
判断连续使用第一压缩算法进行数据压缩的时间长度是否到达设定时长阈值。
基于上述判断操作,处理器52具体可在至少一种判断操作中存在判断结果为是的判断操作时,执行根据时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法的操作。
在一示例性实施方式中,处理器52在选择目标压缩算法时,具体用于:确定多种压缩算法中的第一压缩算法,第一压缩算法是上一次数据压缩使用的压缩算法;根据时间序列数据的时变特征,判断时间序列数据是否属于第一压缩算法对应的第一数据模型;若时间序列数据属于第一数据模型,将第一压缩算法作为目标压缩算法。
进一步,处理器52在选择目标压缩算法时,还具体用于:若时间序列数据不属于第一数据模型,根据时间序列数据的时变特征,从不同于第一数据模型的其它数据模型中,识别时间序列数据所属的数据模型;从多种压缩算法中的其它压缩算法中,选择与时间序列数据所属的数据模型对应的压缩算法作为目标压缩算法。或者
进一步,处理器52在选择目标压缩算法时,还具体用于:若时间序列数据不属于第一数据模型,利用多种压缩算法中的每种压缩算法分别对时间序列数据进行预压缩,以获得多种预压缩结果;从多种压缩算法中,选择压缩结果符合设定要求的压缩算法作为目标压缩算法。
在一示例性实施方式中,处理器52在判断时间序列数据是否属于第一数据模型时,具体用于:按照第一数据模型使用的判别参数,对时间序列数据进行数值计算,以获得时间序列数据在判别参数下的参数值;当时间序列数据在判别参数下的参数值满足第一数据模型的判别要求时,确定时间序列数据属于第一数据模型;当时间序列数据在判别参数下的参数值不满足第一数据模型的判别要求时,确定时间序列数据不属于第一数据模型。
进一步,处理器52在获得时间序列数据在判别参数下的参数值时,具体用于:
若第一数据模型为数据稳定模型,根据数据稳定模型使用的异或参数,对时间序列数据进行异或运算,以获得时间序列数据的异或值序列;
若第一数据模型为数据波动模型,根据数据稳定模型或数据波动模型使用的差值参数,对时间序列数据进行差值运算,以获得时间序列数据的差值序列;
若第一数据模型为数据递增模型或数据递减模型,根据数据递增模型或数据递减模型使用的导数参数,对时间序列数据进行求导运算,以获得时间序列数据的导数序列。
在一示例性实施方式中,处理器52在获取时间序列数据时,具体用于:将数据源持续发送的数据存储至缓存中;当在缓存中缓存数据的时间长度达到一定时间段时,读取缓存中的数据形成时间序列数据。
进一步,如图3b所示,该电子设备还包括:通信组件53、显示器54、电源组件55、音频组件56等其它组件。图3b中仅示意性给出部分组件,并不意味着电子设备只包括图3b所示组件。
通信组件53被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件53经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件53还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
显示器54包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
电源组件55,为电子设备的各种组件提供电力。电源组件34可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件56被配置为输出和/或输入音频信号。例如,音频组件56包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器51或经由通信组件53发送。在一些实施例中,音频组件56还包括一个扬声器,用于输出音频信号。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中的各步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (15)
1.一种数据压缩方法,其特征在于,包括:
获取一定时间段内产生的时间序列数据;
根据所述时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法;
利用所述目标压缩算法对所述时间序列数据进行压缩,以获得压缩数据。
2.根据权利要求1所述的方法,其特征在于,在根据所述时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法之前,所述方法还包括执行以下至少一种判断操作:
判断上一次使用所述多种压缩算法中的第一压缩算法进行数据压缩的压缩比是否小于设定压缩比阈值;
判断连续使用所述第一压缩算法进行数据压缩的次数是否达到设定压缩次数阈值;
判断连续使用所述第一压缩算法进行数据压缩的时间长度是否到达设定时长阈值;
若所述至少一种判断操作中存在判断结果为是的判断操作,执行根据所述时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法的操作。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法,包括:
确定所述多种压缩算法中的第一压缩算法,所述第一压缩算法是上一次数据压缩使用的压缩算法;
根据所述时间序列数据的时变特征,判断所述时间序列数据是否属于所述第一压缩算法对应的第一数据模型;
若所述时间序列数据属于所述第一数据模型,将所述第一压缩算法作为所述目标压缩算法。
4.根据权利要求3所述的方法,其特征在于,还包括:
若所述时间序列数据不属于所述第一数据模型,根据所述时间序列数据的时变特征,从不同于所述第一数据模型的其它数据模型中,识别所述时间序列数据所属的数据模型;
从所述多种压缩算法中的其它压缩算法中,选择与所述时间序列数据所属的数据模型对应的压缩算法作为所述目标压缩算法。
5.根据权利要求3所述的方法,其特征在于,所述根据所述时间序列数据的时变特征,判断所述时间序列数据是否属于所述第一压缩算法对应的第一数据模型,包括:
按照所述第一数据模型使用的判别参数,对所述时间序列数据进行数值计算,以获得所述时间序列数据在所述判别参数下的参数值;
当所述时间序列数据在所述判别参数下的参数值满足所述第一数据模型的判别要求时,确定所述时间序列数据属于所述第一数据模型;
当所述时间序列数据在所述判别参数下的参数值不满足所述第一数据模型的判别要求时,确定所述时间序列数据不属于所述第一数据模型。
6.根据权利要求5所述的方法,其特征在于,所述按照所述第一数据模型使用的判别参数,对所述时间序列数据进行数值计算,以获得所述时间序列数据在所述判别参数下的参数值,包括:
若所述第一数据模型为数据稳定模型,根据所述数据稳定模型使用的异或参数,对所述时间序列数据进行异或运算,以获得所述时间序列数据的异或值序列;
若所述第一数据模型为数据波动模型,根据所述数据稳定模型或数据波动模型使用的差值参数,对所述时间序列数据进行差值运算,以获得所述时间序列数据的差值序列;
若所述第一数据模型为数据递增模型或数据递减模型,根据所述数据递增模型或数据递减模型使用的导数参数,对所述时间序列数据进行求导运算,以获得所述时间序列数据的导数序列。
7.根据权利要求3所述的方法,其特征在于,还包括:
若所述时间序列数据不属于所述第一数据模型,利用所述多种压缩算法中的每种压缩算法分别对所述时间序列数据进行预压缩,以获得多种预压缩结果;
从所述多种压缩算法中,选择压缩结果符合设定要求的压缩算法作为所述目标压缩算法。
8.根据权利要求1或2所述的方法,其特征在于,所述获取一定时间段内产生的时间序列数据,包括:
将数据源持续发送的数据存储至缓存中;
当在所述缓存中缓存数据的时间长度达到所述一定时间段时,读取所述缓存中的数据形成所述时间序列数据。
9.一种电子设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,耦合至所述存储器,用于执行所述程序,以用于:
获取一定时间段内产生的时间序列数据;
根据所述时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法;
利用所述目标压缩算法对所述时间序列数据进行压缩,以获得压缩数据。
10.根据权利要求9所述的电子设备,其特征在于,所述处理器还用于执行以下至少一种判断操作:
判断上一次使用所述多种压缩算法中的第一压缩算法进行数据压缩的压缩比是否小于设定压缩比阈值;
判断连续使用所述第一压缩算法进行数据压缩的次数是否达到设定压缩次数阈值;
判断连续使用所述第一压缩算法进行数据压缩的时间长度是否到达设定时长阈值;以及
在所述至少一种判断操作中存在判断结果为是的判断操作时,执行根据所述时间序列数据的时变特征,从多种压缩算法中选择目标压缩算法的操作。
11.根据权利要求9或10所述的电子设备,其特征在于,所述处理器在选择所述目标压缩算法时,具体用于:
确定所述多种压缩算法中的第一压缩算法,所述第一压缩算法是上一次数据压缩使用的压缩算法;
根据所述时间序列数据的时变特征,判断所述时间序列数据是否属于所述第一压缩算法对应的第一数据模型;
若所述时间序列数据属于所述第一数据模型,将所述第一压缩算法作为所述目标压缩算法。
12.根据权利要求11所述的电子设备,其特征在于,所述处理器在选择所述目标压缩算法时,还具体用于:
若所述时间序列数据不属于所述第一数据模型,根据所述时间序列数据的时变特征,从不同于所述第一数据模型的其它数据模型中,识别所述时间序列数据所属的数据模型;
从所述多种压缩算法中的其它压缩算法中,选择与所述时间序列数据所属的数据模型对应的压缩算法作为所述目标压缩算法。
13.根据权利要求11所述的电子设备,其特征在于,所述处理器在判断所述时间序列数据是否属于所述第一数据模型时,具体用于:
按照所述第一数据模型使用的判别参数,对所述时间序列数据进行数值计算,以获得所述时间序列数据在所述判别参数下的参数值;
当所述时间序列数据在所述判别参数下的参数值满足所述第一数据模型的判别要求时,确定所述时间序列数据属于所述第一数据模型;
当所述时间序列数据在所述判别参数下的参数值不满足所述第一数据模型的判别要求时,确定所述时间序列数据不属于所述第一数据模型。
14.根据权利要求11所述的电子设备,其特征在于,所述处理器在选择所述目标压缩算法时,还具体用于:
若所述时间序列数据不属于所述第一数据模型,利用所述多种压缩算法中的每种压缩算法分别对所述时间序列数据进行预压缩,以获得多种预压缩结果;
从所述多种压缩算法中,选择压缩结果符合设定要求的压缩算法作为所述目标压缩算法。
15.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被执行时能够实现权利要求1-8任一项所述方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711336990.6A CN109962710A (zh) | 2017-12-14 | 2017-12-14 | 数据压缩方法、电子设备及计算机可读存储介质 |
PCT/CN2018/120080 WO2019114655A1 (zh) | 2017-12-14 | 2018-12-10 | 数据压缩方法、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711336990.6A CN109962710A (zh) | 2017-12-14 | 2017-12-14 | 数据压缩方法、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109962710A true CN109962710A (zh) | 2019-07-02 |
Family
ID=66820000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711336990.6A Pending CN109962710A (zh) | 2017-12-14 | 2017-12-14 | 数据压缩方法、电子设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109962710A (zh) |
WO (1) | WO2019114655A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688385A (zh) * | 2019-09-29 | 2020-01-14 | 联想(北京)有限公司 | 一种数据处理方法和电子设备 |
CN111427872A (zh) * | 2020-02-28 | 2020-07-17 | 联想(北京)有限公司 | 一种数据写入方法、装置及计算机可读存储介质 |
CN112770286A (zh) * | 2021-01-13 | 2021-05-07 | 深圳市木千科技有限公司 | 一种传感器的数据处理方法、装置和计算机设备 |
CN112994701A (zh) * | 2019-12-02 | 2021-06-18 | 阿里巴巴集团控股有限公司 | 数据压缩方法、装置、电子设备及计算机可读介质 |
CN113220651A (zh) * | 2021-04-25 | 2021-08-06 | 暨南大学 | 运行数据压缩方法、装置、终端设备以及存储介质 |
CN114040030A (zh) * | 2021-11-18 | 2022-02-11 | 深圳智慧林网络科技有限公司 | 一种基于预设规则的数据压缩方法、装置、设备和介质 |
WO2023279964A1 (zh) * | 2021-07-08 | 2023-01-12 | 华为技术有限公司 | 数据压缩方法、装置、计算设备及存储系统 |
CN116346140A (zh) * | 2023-04-01 | 2023-06-27 | 北京思维实创科技有限公司 | 一种高频时序数据自适应压缩方法及系统 |
CN117202146A (zh) * | 2023-09-06 | 2023-12-08 | 深圳市每开创新科技有限公司 | 针对nfc无源显示设备的显示控制方法、装置及介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110504974B (zh) * | 2019-08-20 | 2023-10-27 | 北京四方继保自动化股份有限公司 | D-pmu测量数据分段切片混合压缩存储方法及装置 |
CN111817722A (zh) | 2020-07-09 | 2020-10-23 | 北京奥星贝斯科技有限公司 | 数据压缩方法、装置及计算机设备 |
CN113422838B (zh) * | 2021-07-12 | 2022-10-21 | 天翼云科技有限公司 | 数据同步的实现方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786939A (zh) * | 2005-11-10 | 2006-06-14 | 浙江中控技术有限公司 | 实时数据压缩方法 |
CN101459616A (zh) * | 2009-01-04 | 2009-06-17 | 成都市华为赛门铁克科技有限公司 | 网络接入的方法、客户端及接入系统 |
CN102594360A (zh) * | 2012-02-01 | 2012-07-18 | 浪潮(北京)电子信息产业有限公司 | 一种计算机数据压缩方法及装置 |
CN106649336A (zh) * | 2015-10-30 | 2017-05-10 | 华为数字技术(苏州)有限公司 | 一种日志压缩方法及日志处理设备、日志处理系统 |
CN107037980A (zh) * | 2015-12-07 | 2017-08-11 | Sap欧洲公司 | 时间序列数据的多表示存储 |
CN107066401A (zh) * | 2016-12-30 | 2017-08-18 | 广东欧珀移动通信有限公司 | 一种基于移动终端架构的数据传输的方法及移动终端 |
CN107172886A (zh) * | 2015-12-29 | 2017-09-15 | 华为技术有限公司 | 一种服务器以及服务器压缩数据的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753539A (zh) * | 2013-12-26 | 2015-07-01 | 中国移动通信集团公司 | 一种数据压缩方法及装置 |
CN104348490B (zh) * | 2014-11-14 | 2017-09-19 | 北京东方国信科技股份有限公司 | 一种基于效果优选的组合数据压缩方法 |
CN106383844A (zh) * | 2016-08-31 | 2017-02-08 | 天津南大通用数据技术股份有限公司 | 应用于特殊数据的存储方法及装置 |
CN107463604A (zh) * | 2017-06-19 | 2017-12-12 | 天津科技大学 | 一种基于重要点的时间序列固定分段算法 |
-
2017
- 2017-12-14 CN CN201711336990.6A patent/CN109962710A/zh active Pending
-
2018
- 2018-12-10 WO PCT/CN2018/120080 patent/WO2019114655A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786939A (zh) * | 2005-11-10 | 2006-06-14 | 浙江中控技术有限公司 | 实时数据压缩方法 |
CN101459616A (zh) * | 2009-01-04 | 2009-06-17 | 成都市华为赛门铁克科技有限公司 | 网络接入的方法、客户端及接入系统 |
CN102594360A (zh) * | 2012-02-01 | 2012-07-18 | 浪潮(北京)电子信息产业有限公司 | 一种计算机数据压缩方法及装置 |
CN106649336A (zh) * | 2015-10-30 | 2017-05-10 | 华为数字技术(苏州)有限公司 | 一种日志压缩方法及日志处理设备、日志处理系统 |
CN107037980A (zh) * | 2015-12-07 | 2017-08-11 | Sap欧洲公司 | 时间序列数据的多表示存储 |
CN107172886A (zh) * | 2015-12-29 | 2017-09-15 | 华为技术有限公司 | 一种服务器以及服务器压缩数据的方法 |
CN107066401A (zh) * | 2016-12-30 | 2017-08-18 | 广东欧珀移动通信有限公司 | 一种基于移动终端架构的数据传输的方法及移动终端 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688385A (zh) * | 2019-09-29 | 2020-01-14 | 联想(北京)有限公司 | 一种数据处理方法和电子设备 |
CN112994701A (zh) * | 2019-12-02 | 2021-06-18 | 阿里巴巴集团控股有限公司 | 数据压缩方法、装置、电子设备及计算机可读介质 |
CN112994701B (zh) * | 2019-12-02 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 数据压缩方法、装置、电子设备及计算机可读介质 |
CN111427872A (zh) * | 2020-02-28 | 2020-07-17 | 联想(北京)有限公司 | 一种数据写入方法、装置及计算机可读存储介质 |
CN112770286B (zh) * | 2021-01-13 | 2023-11-17 | 深圳市木千科技有限公司 | 一种传感器的数据处理方法、装置和计算机设备 |
CN112770286A (zh) * | 2021-01-13 | 2021-05-07 | 深圳市木千科技有限公司 | 一种传感器的数据处理方法、装置和计算机设备 |
CN113220651A (zh) * | 2021-04-25 | 2021-08-06 | 暨南大学 | 运行数据压缩方法、装置、终端设备以及存储介质 |
CN113220651B (zh) * | 2021-04-25 | 2024-02-09 | 暨南大学 | 运行数据压缩方法、装置、终端设备以及存储介质 |
WO2023279964A1 (zh) * | 2021-07-08 | 2023-01-12 | 华为技术有限公司 | 数据压缩方法、装置、计算设备及存储系统 |
CN114040030B (zh) * | 2021-11-18 | 2023-11-24 | 深圳智慧林网络科技有限公司 | 一种基于预设规则的数据压缩方法、装置、设备和介质 |
CN114040030A (zh) * | 2021-11-18 | 2022-02-11 | 深圳智慧林网络科技有限公司 | 一种基于预设规则的数据压缩方法、装置、设备和介质 |
CN116346140A (zh) * | 2023-04-01 | 2023-06-27 | 北京思维实创科技有限公司 | 一种高频时序数据自适应压缩方法及系统 |
CN116346140B (zh) * | 2023-04-01 | 2024-03-01 | 北京磁浮有限公司 | 一种高频时序数据自适应压缩方法及系统 |
CN117202146A (zh) * | 2023-09-06 | 2023-12-08 | 深圳市每开创新科技有限公司 | 针对nfc无源显示设备的显示控制方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019114655A1 (zh) | 2019-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109962710A (zh) | 数据压缩方法、电子设备及计算机可读存储介质 | |
CN106896932B (zh) | 一种候选词推荐方法及装置 | |
US11132169B2 (en) | Wearable audio recorder and retrieval software applications | |
CN109241347B (zh) | 用于内容反应注释的系统和方法 | |
CN104301528B (zh) | 显示信息的方法及装置 | |
CN103944804B (zh) | 推荐联系人的方法及装置 | |
CN105653434A (zh) | 对应用使用进行跟踪处理的方法及装置 | |
CN105962955B (zh) | 一种儿童专注度获取方法和系统 | |
CN104965773A (zh) | 终端、卡顿检测方法、装置及游戏卡顿检测方法、装置 | |
KR101363609B1 (ko) | 사회적 관계정보 관리 시스템 및 관리 방법 | |
CN105094333A (zh) | 控制方法以及装置 | |
CN104853081A (zh) | 断点拍摄方法、装置及移动终端 | |
CN104092827A (zh) | 终端的设置方法及装置 | |
CN103309657A (zh) | 一种更换移动设备响铃音频的方法、装置和设备 | |
CN110109899A (zh) | 物联网数据填补方法、装置及系统 | |
EP2902949A2 (en) | Device management system and method | |
CN104091600B (zh) | 一种歌声位置检测方法及装置 | |
KR20160050713A (ko) | 오디오 데이터 저장 방법 및 이를 지원하는 전자 장치 | |
KR20130012198A (ko) | 사용자 친밀도 기반의 주소록 생성을 위한 시스템, 서버 장치, 단말 장치, 기록매체 및 사용자 친밀도 기반의 주소록 생성 방법 | |
CN108769769A (zh) | 视频的播放方法、装置及计算机可读存储介质 | |
CN109119101B (zh) | 一种音频数据的处理方法、装置及移动终端 | |
CN114879879B (zh) | 一种显示健康码的方法、电子设备及存储介质 | |
CN109753380A (zh) | 快照数据备份方法、装置及系统 | |
CN106066780B (zh) | 一种跑步数据处理方法和装置 | |
WO2021218626A1 (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190702 |