CN113242041A - 数据混合压缩方法及其系统 - Google Patents
数据混合压缩方法及其系统 Download PDFInfo
- Publication number
- CN113242041A CN113242041A CN202110258428.6A CN202110258428A CN113242041A CN 113242041 A CN113242041 A CN 113242041A CN 202110258428 A CN202110258428 A CN 202110258428A CN 113242041 A CN113242041 A CN 113242041A
- Authority
- CN
- China
- Prior art keywords
- data
- queue
- deviation
- compression
- compressed
- 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
- 238000007906 compression Methods 0.000 title claims abstract description 105
- 230000006835 compression Effects 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 92
- 238000013144 data compression Methods 0.000 claims abstract description 66
- 238000005070 sampling Methods 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 9
- 230000002829 reductive effect Effects 0.000 claims description 8
- 230000001174 ascending effect Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 18
- 239000010410 layer Substances 0.000 description 15
- 230000000694 effects Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000009467 reduction Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000006837 decompression Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请是关于一种数据混合压缩方法及其系统,该方法能够实现兼顾数据的高保真度和高压缩比,提高数据处理效率,降低压缩数据的数据重建偏差。该方法包括:获取待压缩数据;将待压缩数据划分为数值型数据和非数值型数据;采用无损压缩算法对非数值型数据进行数据压缩,得到第一压缩数据;采用有损压缩算法对数值型数据进行数据压缩,得到第二压缩数据。
Description
技术领域
本申请涉及数据压缩技术领域,尤其涉及一种适用于工业物联网的数据混合压缩方法及其系统。
背景技术
工业互联网通常由传感器和机械设备组成,具有数据传感、收集、处理功能。随着工业传感器和物联网设备在工业环境中的快速、持续部署,产生的大量数据也带来了新的挑战,对数据的采集、处理和传输提出了严格的要求。因此,如何高效地收集、处理和传输大数据成为一个巨大的挑战。
传统的数据压缩方法包括无损压缩和有损压缩。无损压缩方法虽然保证了数据的保真度,但是压缩效果并不理想,所能实现的压缩比较低,大约是2倍到3倍。而有损压缩方案压缩效果较好,可以获得高出无损压缩方法数倍的压缩效果,但存在数据的丢失,解压后无法获得完整的原始数据。鉴于现有有损压缩方法和无损压缩方法的缺点,在工业控制领域,这些方法一般不会被采用。
发明内容
为克服相关技术中存在的问题,本申请提供一种数据混合压缩方法,该方法能够实现兼顾数据的高保真度和高压缩比,提高数据处理效率,降低压缩数据的数据重建偏差。
本申请第一方面提供一种数据混合压缩方法,包括:获取待压缩数据;将所述待压缩数据划分为数值型数据和非数值型数据;采用无损压缩算法对所述非数值型数据进行数据压缩,得到第一压缩数据;采用有损压缩算法对所述数值型数据进行数据压缩,得到第二压缩数据。。
本申请第一方面的技术方案,具有以下技术效果:本申请中的数据混合压缩方法,通过对待压缩数据进行数据分类,得到数值型数据和非数值型数据,并对非数值型数据进行无损压缩,对数值型数据进行有损压缩。应理解,非数值型数据对数据保真度要求高于数值型数据,因此,通过上述混合压缩方法可以在达到保证非数值型数据获得高度保真度的同时,数值型数据也可获得较高的数据压缩比,从而能够实现兼顾数据的高保真度和高压缩比,提高数据处理效率,降低压缩数据的数据重建误差。
在第一方面的一种可能的实现方式中,所述采用有损压缩算法对所述数值型数据进行数据压缩,包括:采用有损压缩算法,对所述数值型数据中满足实时性业务需求的目标数据进行数据压缩,得到舍弃队列和保留队列,其中所述第二压缩数据包括:所述保留队列。
在该种实现方式中,通过实时性业务需求限定进行有损压缩的数值性数据的范围,对实时性要求不高的数值型数据进行有损压缩,保证第二压缩数据获得较高的数据压缩比。
在第一方面的一种可能的实现方式中,所述方法还包括:根据所述舍弃队列和所述保留队列得到偏差队列,其中所述偏差队列为所述保留队列还原后的还原队列与所述舍弃队列之间的偏差数据集合;采用无损压缩算法,对所述偏差队列进行数据压缩,得到第三压缩数据。
在该种实现方式中,获取偏差队列并进行压缩,可以在解压过程中,通过偏差队列辅助解压保留队列,以获得完整性更高的解压数据。
在第一方面的一种可能的实现方式中,所述采用有损压缩算法,对所述目标数据进行数据压缩,得到所述舍弃队列和所述保留队列,包括:若所述目标数据对应的样本序列呈现变化趋势呈线性,根据数据可容忍偏差将当前样本采样至所述保留队列或所述舍弃队列中;其中,所述当前样本为在非均匀子采样算法中规定的数据偏差区域范围内的样本,所述数据可容忍偏差为所述当前样本和所述当前样本对应的后一个样本之间的最大波动偏差,所述有损压缩算法包括:所述非均匀子采样算法。
在该种实现方式中,在样本数据的波动趋势相同的情况下,引入数据可容忍偏差因子即数据可容忍偏差,以降低数据重建误差。
在第一方面的一种可能的实现方式中,根据所述数据可容忍偏差将所述当前样本采样至所述保留队列或所述舍弃队列中,包括:若所述当前样本和所述当前样本对应的后一个样本之间的波动偏差大于所述数据可容忍偏差,将所述当前样本采样至所述保留队列中;若所述当前样本和所述当前样本对应的后一个样本之间的波动偏差小于或等于所述数据可容忍偏差,将所述当前样本采样至所述舍弃队列中。
在第一方面的一种可能的实现方式中,所述方法还包括:向云端服务器发送所述数值型数据中不满足实时性业务需求的非目标数据。
在该种实现方式中,将实时性要求较高的数据进行直接传输,从而确保高实时性数据传输的准确性。
在第一方面的一种可能的实现方式中,在获取所述待压缩数据之前,所述方法还包括:接收云端服务器发送的上层指令,所述上层指令用于指示向所述云端服务器发送数据;所述方法还包括:根据所述上层指令,向所述云端服务器发送所述第一压缩数据和所述第二压缩数据。
在第一方面的一种可能的实现方式中,所述方法还包括:向所述云端服务器发送所述第三压缩数据。
在该种实现方式中,向云端服务器发送第三压缩数据,可以使得云端服务器使用第三压缩数据进行解压,获取完整度更高的解压数据。
本申请第二方面提供一种数据混合压缩系统,包括:数据获取模块、数据分类模块和数据压缩模块,其中,数据获取模块,用于获取待压缩数据;数据分类模块,用于将所述待压缩数据划分为数值型数据和非数值型数据;数据压缩模块,用于:采用无损压缩算法对所述非数值型数据进行数据压缩,得到第一压缩数据;以及,采用有损压缩算法对所述数值型数据进行数据压缩,得到第二压缩数据。
在第二方面的一种可能的实现方式中,所述数据压缩模块,还用于:根据所述舍弃队列和所述保留队列得到偏差队列,其中所述偏差队列为所述保留队列还原后的还原队列与所述舍弃队列之间的偏差数据集合;以及,采用无损压缩算法,对所述舍弃队列进行数据压缩,得到第三压缩数据。
在第二方面的一种可能的实现方式中,所述数据压缩模块具体用于:若所述目标数据对应的样本序列呈现连续上升或连续下降趋势,根据数据可容忍偏差确定当前样本采样至所述保留队列或所述舍弃队列中;其中,所述当前样本为在非均匀子采样算法中规定的数据偏差区域范围内的样本,所述数据可容忍偏差为所述当前样本和所述当前样本对应的后一个样本之间的最大波动偏差,所述有损压缩算法包括:所述非均匀子采样算法。
在第二方面的一种可能的实现方式中,所述数据压缩模块,具体用于:若所述当前样本和所述当前样本对应的后一个样本之间的波动偏差大于所述数据可容忍偏差,将所述当前样本采样至所述保留队列中;若所述当前样本和所述当前样本对应的后一个样本之间的波动偏差小于或等于所述数据可容忍偏差,将所述当前样本采样至所述舍弃队列中。
在第二方面的一种可能的实现方式中,所述系统还包括:通信模块,用于向云端服务器发送所述数值型数据中不满足实时性业务需求的非目标数据。
在第二方面的一种可能的实现方式中,所述系统还包括:通信模块,用于:在获取所述待压缩数据之前,接收云端服务器发送的上层指令,所述上层指令用于指示向所述云端服务器发送数据;
所述通信模块还用于:根据所述上层指令,向所述云端服务器发送所述第一压缩数据和所述第二压缩数据。
本申请的第三方面提供了一种边缘计算终端,该边缘计算终端具有上述第二方面及其任意一种实现方式中所述的数据混合压缩系统。
本申请第四方面提供一种电子设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上第一方面及其任意一种实现方式所述的数据混合压缩方法。
本申请第五方面提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上第一方面及其任意一种实现方式所述的数据混合压缩方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请实施例示出的一个网络拓扑图;
图2为本申请实施例中数据混合压缩方法一个实施例流程示意图;
图3为本申请实施例中Fan算法的一个数据处理流程示意图;
图4为本申请实施例中Fan算法的一个数据取舍的示意图;
图5为本申请实施例中DFan算法的一个数据取舍的示意图;
图6为本申请实施例中DFan算法的一个数据处理流程示意图;
图7为本申请实施例中数据混合压缩系统的一个系统结构示意图;
图8为本申请实施例中电子设备的一个结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的优选实施方式。虽然附图中显示了本申请的优选实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
本申请实施例中提供了一种数据混合压缩方法,该方法可以适用于工业物联网中,尤其适用于本申请针对工业物联网场景,以及结合数据实际用途,提出的一种可以兼顾压缩比、数据保真度和处理效率三方面的数据压缩处理框架中,该框架的拓扑结构如图1所示。
在图1所示的框架中,包括:传感器、边缘节点以及云端。其中传感器中用于工业物联网中采集各类工业数据。边缘节点用于对数据进行解析、处理,并将处理后的数据传入云端,边缘节点的功能具体可以由边缘计算终端实现。云端用于对数据进行汇总、计算以及存储等,上述功能具体可以由云端服务器实现。为了减轻数据的传输和存储压力,一般会在边缘节点上进行数据压缩处理,在云端对数据进行解压缩处理。本申请实施例中的数据混合压缩方法适用于边缘节点上的数据压缩处理。
为了便于理解本申请实施例中所述的数据混合压缩方法,下面结合具体实施例对其技术方案进行描述,具体如下:
图2为本申请实施例示出的一个实施例流程示意图。
如图2所示,本申请中数据混合压缩方法的一个实施例,包括:
201、边缘计算终端获取待压缩数据。
本实施例中,待压缩数据可以是传感器采集到的原始数据,也可以是边缘计算终端对传感器采集到的原始数据进行数据解析、处理后的数据。
在本申请的一些可能的实施方式中,边缘计算终端可以根据上层节点的指令,获取传感器采集的传感数据,其中上层节点可以是云端服务器。具体的,在边缘计算终端获取上述原始数据之前,边缘计算终端接收云端服务器发送的上层指令,该上层指令指示向云端服务器发送数据。
可选的,一方面,边缘计算终端可以对获取到的原始数据,进行数据解析、处理后,得到该待压缩数据。另一方面,边缘计算终端也可以直接将传感器采集到的原始数据作为待压缩数据。
202、边缘计算终端将待压缩数据划分为数值型数据和非数值型数据。
应理解,在实际的工业应用场景中,待压缩数据是复杂多样的,其中数值型数据具有波动特性且其数据量较大;对于其他类型的数据,本身数据量不大,再细分反而容易增加计算复杂度,因而统一归为非数值型数据,进行统一处理。因此,本实施例中,结合实际工业场景,根据数据的数值特征进行数据分类可以提数据压缩处理的效率。
203、边缘计算终端采用无损压缩算法对非数值型数据进行数据压缩,得到第一压缩数据。
本实施例中,无损压缩算法可以包括:哈夫曼算法,也可以包括:LZ4 算法。其中,哈夫曼算法作为无损压缩算法与LZ4算法相比,哈夫曼算法的压缩效率较低,LZ4算法的压缩效率较高。此外,本申请中无算压缩算法还可以包括但不限于:Snappy、GZIP、Deflater、LZO等算法。
需要说明的是,数据无损压缩是指数据经过压缩后,数据不被破坏,还能完全恢复到压缩前的原样。基于压缩算法原理的差异,目前的压缩算法大致可以分为两类,一类是基于数据统计的统计编码,另一类是类似索引的词典编码。
在本申请的一些实施方式中,该方法还包括:边缘计算终端根据上述的上层指令,将第一压缩数据发送至云端服务器。
应理解,对非数值型数据进行无损压缩可以获得较高的数据保真度。
204、边缘计算终端采用有损压缩算法对数值型数据进行数据压缩,得到第二压缩数据。
本实施例中,数值型数据可以分为整型、浮点型和复数型,整型分为无符整型和有符整型,单元长度有1、2、4、8字节形式;浮点型分为单精度浮点型和双精度浮点型,单元长度分别是4、8字节;复数型分为单精度复数型和双精度复数型,单元长度分别是8、16字节。理所当然的,非数值型数据是指除上述数值型数据之外的其他类型数据。
本实施例中,边缘计算终端采用有损压缩算法对数值型数据进行数据压缩具体可以包括:边缘计算终端采用无损压缩方法对数值型数据中的全部数据进行数据压缩,例如:数值型数据中全部为低实时性的数据,并且对数据完整性要求较低的应用场景中;还可以包括:边缘计算终端采用无损压缩方法对数值型数据中的部分数据进行数据压缩,例如,数值型数据中存在以下任意一种情况的应用场景中:其中部分数据是高实时性的,或者,其中部分数据的完整性要求较高。
在本申请的一些可能的实施方式中,上述采用有损压缩算法对数值型数据进行数据压缩,具体可以包括:采用有损压缩算法,对数值型数据中满足实时性业务需求的目标数据进行数据压缩,得到舍弃队列和保留队列,其中所述第二压缩数据包括:保留队列。
其中,可选的,满足实时性业务需求的目标数据可以是:对实时性要求不高的数值型数据,比如,目标数据为网络时延高于预设时延阈值的数值型数据。
本实施例中,有损压缩算法可以包括:统一子采样算法、非均匀子采样算法和基于域变换的算法。下文中将以非均匀子采样算法中的fan算法为例,对本申请实施例中的有损压缩数据处理过程进行说明,详见图3及其描述,此处不再详细描述。
在本申请的一些可能的实施方式中,该数据压缩方法还包括:边缘计算终端向云端服务器发送数值型数据中不满足实时性业务需求的非目标数据。非目标数据可以是对实时性要求高的数值型数据,比如,非目标数据为网络时延低于预设时延阈值的数值型数据。
在本申请的一些可能的实施方式中,上述数据混合压缩方法还包括:边缘计算终端根据舍弃队列和保留队列得到偏差队列,其中偏差队列为保留队列还原后的还原队列与舍弃队列之间的偏差数据集合。具体来说,对保留队列进行插值还原得到还原队列,再根据还原队列和舍弃队列进行偏差计算得到偏差队列。
在获取上述偏差队列之后,该方法还包括:边缘计算终端采用无损压缩算法,对偏差队列进行数据压缩得到第三压缩数据。
在本申请的一些可能的实施方式中,上述数据混合压缩方法还包括:边缘计算终端向云端服务器发送第三压缩数据。
应理解,第三压缩数据是对偏差队列进行压缩后得到,对于在具有高完整性数据要求的场景下,通过第三压缩数据可以在解压过程中,通过偏差队列辅助解压保留队列,以获得完整性更高的解压数据。在一些有全部原始数据需求的应用场景中,可以结合上述第三压缩数据对原始数据进行还原,从而获取更完整的原始数据,并且可以提高解压数据的效率。
在本申请的一些可能的实施方式中,上述采用有损压缩算法,对目标数据进行数据压缩,得到舍弃队列和保留队列,包括:若目标数据对应的样本序列呈现连续上升或连续下降趋势,根据数据可容忍偏差将当前样本采样至保留队列或舍弃队列中;其中,当前样本为在非均匀子采样算法中规定的数据偏差区域范围内的样本,数据可容忍偏差为当前样本和当前样本对应的后一个样本之间的最大波动偏差,有损压缩算法包括:非均匀子采样算法。
可选的,上述非均匀子采样算法可以是fan算法,从上述图3及其相关描述可知:该种实施方式实质上是对在原来fan算法的基础上引入数据可容忍偏差(又称数据可容忍偏差因子)后得到的改进算法,为了区分,下文种将改进后的fan算法称之为Dfan算法。关于Dfan算法的详细描述可参见下文中图4、图5及其相关描述,此处不再详细描述。
在本申请的一些可能的实施方式中,上述根据数据可容忍偏差将当前样本采样至保留队列或舍弃队列中,包括:若当前样本和当前样本对应的后一个样本之间的波动偏差大于数据可容忍偏差,将当前样本采样至保留队列中;若当前样本和当前样本对应的后一个样本之间的波动偏差小于或等于数据可容忍偏差,将当前样本采样至舍弃队列中。
在本申请实施例中,通过对待压缩数据进行数据分类,得到数值型数据和非数值型数据,并对非数值型数据进行无损压缩,对数值型数据进行有损压缩。应理解,非数值型数据对数据保真度要求高于数值型数据,因此,通过上述混合压缩方法可以在达到保证非数值型数据获得高度保真度的同时,数值型数据也可获得较高的数据压缩比,从而能够实现兼顾数据的高保真度和高压缩比,提高数据处理效率,降低压缩数据的数据重建误差。
图3为本申请实施例中Fan算法的一个数据处理流程示意图。
如图3所示,Fan算法的数据处理过程包括:
该算法通过将第一个样本I1直接保留,存入样本集中,作为第一个原点来进行初始化。
对于第二个样本I2,可用作计算当前处理样本集的两个边界(上界为 I2+ε,下界为I2-ε),并连接原点和上界、原点和下界,绘制两根斜线(U1和 L1),构成数据偏差区域。
随着下一个样本I3的到来,若I3落在数据偏差区域中,即I3的样本值位于 U1和L1之间,则表示在误差允许范围内,I2样本波动不大,属于冗余数据,应当舍弃,并继续处理下一个数据。继续计算I3的上下误差边界(I3±ε),从图3可以看出交集为(L2,U2)构成的区域,样本I4处于该区域中,舍弃I3。继续计算I4的上下误差边界(I4±ε),从图3可以看出交集为(L2,U3)构成的区域,而样本I5不在该区域中,表明数据在I4处波动较大,需将I4保留下来,存入样本集中。并将I4替换为新的原点,并重复该过程。
其中,ε的大小对数据压缩效果有影响,本文将其命名为CF。CF是用于构建当前原点和前一样本点之间的数据偏差区域,以判断当前样本点偏差, CF的大小可以是用户设置的,也可以是根据经验预先设置的,对此本申请不做任何限制。
仔细分析上述图3中所述的Fan算法,不难发现:该算法忽略了舍弃样本对交集的影响,即交集被放大,若出现多个相邻数据变化趋势呈线性的情况,该算法将会舍弃许多的波动较大的数据样本,这将导致数据重建误差较大。
图4为本申请实施例中Fan算法的一个数据取舍的示意图,其中图4 中的(a)为相邻数据变化趋势呈现线性下降时舍弃的波动较大的数据样本示意,图4中的(b)为相邻数据变化趋势呈现线性上升时舍弃的波动较大的数据样本示意。
针对上述存在的问题,本申请中将引入数据可容忍偏差对图3所示的 Fan算法进行改进,改进后的数据取舍的示意图如图5所示。
图5为本申请实施例中引入数据可容忍偏差后的数据取舍的示意图。
其中图5中的(a)为相邻数据变化趋势呈现线性下降,此时,当前样本与后一个样本之间的波动偏差小于数据可容忍偏差,因此当前样本被舍弃。图5中的(b)为相邻数据变化趋势呈现线性上升,此时,当前样本与后一个样本之间的波动偏差小于数据可容忍偏差,因此当前样本也被舍弃。
图6为本申请实施例中提供的Dfan算法的一个数据处理流程示意图。
如图6所示,本申请实施例中Dfan算法的一个数据处理流程包括如下步骤,具体步骤说明如下:
S21:将第一个样本I1直接保留,存入保留队列中,作为第一个原点来进行初始化。
S22:对于第二个样本I2,可用作计算当前处理样本集的两个边界(上界为I2+ε,下界为I2-ε)(ε的大小对数据压缩效果有影响,本文将其命名为 CF),并连接原点和上界、原点和下界,绘制两根斜线(U1和L1),构成数据偏差区域。随着下一个样本I3的到来,若I3落在数据偏差区域中,即I3的值位于U1和L1之间,则表示在误差允许范围内,I2样本波动不大,属于冗余数据,应当舍弃,加入到舍弃队列中,并继续处理下一个数据。
S23:对于样本I3的取舍需要结合样本I4进行判断。I4的值在U2和L2构成的偏差区域中,I3将要被舍弃。从图6可以看出,样本I2、I3和I4的波动趋势相同,呈连续下降以将要被舍弃点I3为中心,作出如图6所示的可容忍偏差区域,可以发现I4在区域中,表明I3样本波动不大,属于冗余数据,应当舍弃,加入到舍弃队列中,并继续处理下一个数据。
S24:对于样本I4,I5样本的值在U3和L3构成的偏差区域中,将要被舍弃,但从图中可以发现,样本I3、I4和I5出现了变化趋势呈线性的现象,所以需要结合数据可容忍偏差进行辅助判断。从图6中可以发现,I5不在可容忍偏差区域中,即表示I4样本处数据波动较大,需要保留I4,并更新原点为I4,同时放入保留队列中。
S25:对于样本I5,I6样本的值在U4和L4构成的偏差区域中,波动不大,舍弃,加入到舍弃队列中。
S26:对于样本I6,I7样本的值不在U5和L5构成的偏差区域中,波动大,保留,并更新原点为I6,同时放入保留队列中。
需要说明的是,数据可容忍偏差同样描述数据的波动情况,与CF的不同的是,CF是用于构建当前原点和前一样本点之间的数据偏差区域,以判断当前样本点偏差,数据可容忍偏差因子是用于辅助判断当前样本与前一样本的波动偏差。在应用过程,CF与数据可容忍偏差因子应具有相同变化趋势和变化范围,CF越小,数据可容忍偏差因子也越小,反之亦然。为简化算法复杂度,在数值上,数据可容忍偏差因子的取值可与CF作等值考虑。
为了便于理解本申请实施例中数据混合压缩方法,下面结合具体的应用场景实例对其进行说明,该实例具体包括以下步骤:
701、边缘计算终端接收云端服务器的上层指令。
该上层指令用于指示边缘计算终端向云端服务器发送数据。
702、边缘计算终端根据上层指令对传感器采集到的原始数据数据分类,得到数值型数据和非数值型数据。
703、边缘计算终端对非数值型数据进行无损压缩,并将压缩后的数据作为边缘段输出结果传输至云端服务器。
704、边缘计算终端对数值型数据中高实时性的数据作为边缘段输出结果直接传输至云端服务器。
需要说明的是,若非数值型数据中无高实时性数据,则无需执行此步骤704。
705、边缘计算终端对数值型数据中低实时性数据进行有损压缩后得到保留队列和舍弃队列。
706、边缘计算终端将保留队列作为边缘段输出结果传输至云端服务器。
707、边缘计算终端通过线性插值对保留队列进行数据重建得到还原队列。
708、边缘计算终端根据还原队列和舍弃队列计算两者之间的数据误差,得到偏差队列。
709、边缘计算终端对偏差队列进行无损压缩,并将压缩后的数据作为边缘段输出结果传输至云端服务器。
本申请实施例中,需要说明的是,保留队列数据、偏差队列数据和非数值队列数据通过边缘节点(即各个边缘计算终端),在云端(即云端服务器) 进行汇总,而在边缘节点中涉及数据的压缩,所以需在云端进行解压缩。对于非数值类型数据和差值队列数据,在边缘节点采取的是LZ4算法压缩,在云端直接采用LZ4算法的解压缩即可获得解压后的数据,其中,差值队列数据用作原始数值类型数据的还原。对于原始数据,可结合保留队列中的数据使用线性插值方法获得重建数据,重建后的数据与原始数据存在误差,而在边缘节点的处理过程中,已将误差存入差值队列中,重建后的数据与解压出来的差值队列数据进行算术运算后,即可快速得到原始数值类型数据。
与前述应用功能实现方法实施例相对应,本申请还提供了一种数据混合压缩系统、电子设备、边缘计算终端、非暂时性机器可读存储介质及相应的实施例,下文中将依次进行说明。
图7为本申请实施例中数据混合压缩系统的一个系统结构示意图。
如图7所示,数据混合压缩系统包括:数据获取模块701、数据分类模块702和数据压缩模块703;其中,数据获取模块701,用于获取待压缩数据;数据分类模块702,用于将待压缩数据划分为数值型数据和非数值型数据;数据压缩模块703,用于:采用无损压缩算法对非数值型数据进行数据压缩,得到第一压缩数据;以及,采用有损压缩算法对数值型数据进行数据压缩,得到第二压缩数据。
在本申请的一些可能的实施方式中,数据压缩模块703具体用于:采用有损压缩算法,对数值型数据中满足实时性业务需求的目标数据进行数据压缩,得到舍弃队列和保留队列,其中第二压缩数据包括:保留队列。
在本申请的一些可能的实施方式中,数据压缩模块703,还用于:根据舍弃队列和保留队列得到偏差队列,其中偏差队列为保留队列还原后的还原队列与舍弃队列之间的偏差数据集合;以及,采用无损压缩算法,对舍弃队列进行数据压缩,得到第三压缩数据。
在本申请的一些可能的实施方式中,数据压缩模块703具体用于:若目标数据对应的样本序列呈现连续上升或连续下降趋势,根据数据可容忍偏差确定当前样本采样至保留队列或舍弃队列中;其中,当前样本为在非均匀子采样算法中规定的数据偏差区域范围内的样本,数据可容忍偏差为当前样本和当前样本对应的后一个样本之间的最大波动偏差,有损压缩算法包括:非均匀子采样算法。
在本申请的一些可能的实施方式中,数据压缩模块703,具体用于:若当前样本和当前样本对应的后一个样本之间的波动偏差大于数据可容忍偏差,将当前样本采样至保留队列中;若当前样本和当前样本对应的后一个样本之间的波动偏差小于或等于数据可容忍偏差,将当前样本采样至舍弃队列中。
在本申请的一些可能的实施方式中,数据混合压缩系统800还包括:通信模块704,用于向云端服务器发送数值型数据中不满足实时性业务需求的非目标数据。
在本申请的一些可能的实施方式中,数据混合压缩系统800还包括:通信模块704,用于:在获取待压缩数据之前,接收云端服务器发送的上层指令,上层指令用于指示向云端服务器发送数据;
通信模块704还用于:根据上层指令,向云端服务器发送第一压缩数据和第二压缩数据。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
本申请实施例中还提供了一种边缘计算终端,边缘计算终端具备如上所述的数据混合压缩系统。
图8是本申请实施例示出的电子设备的结构示意图。
参见图8,电子设备800包括存储器810和处理器820。
处理器820可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器810可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器820或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器810可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器 810可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器810上存储有可执行代码,当可执行代码被处理器820处理时,可以使处理器820执行上文述及的方法中的部分或全部。
上文中已经参考附图详细描述了本申请的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本申请所必须的。另外,可以理解,本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使所述处理器执行根据本申请的上述方法的各个步骤的部分或全部。
本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本申请的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (18)
1.一种数据混合压缩方法,其特征在于,包括:
获取待压缩数据;
将所述待压缩数据划分为数值型数据和非数值型数据;
采用无损压缩算法对所述非数值型数据进行数据压缩,得到第一压缩数据;
采用有损压缩算法对所述数值型数据进行数据压缩,得到第二压缩数据。
2.根据权利要求1所述的方法,其特征在于,
所述采用有损压缩算法对所述数值型数据进行数据压缩,包括:
采用有损压缩算法,对所述数值型数据中满足实时性业务需求的目标数据进行数据压缩,得到舍弃队列和保留队列,其中所述第二压缩数据包括:所述保留队列。
3.根据权利要求2所述的方法,其特征在于,
所述方法还包括:根据所述舍弃队列和所述保留队列得到偏差队列,其中所述偏差队列为所述保留队列还原后的还原队列与所述舍弃队列之间的偏差数据集合;
采用无损压缩算法,对所述偏差队列进行数据压缩,得到第三压缩数据。
4.根据权利要求2所述的方法,其特征在于,
所述采用有损压缩算法,对所述目标数据进行数据压缩,得到所述舍弃队列和所述保留队列,包括:
若所述目标数据对应的样本序列呈现变化趋势呈线性,根据数据可容忍偏差将当前样本采样至所述保留队列或所述舍弃队列中;
其中,所述当前样本为在非均匀子采样算法中规定的数据偏差区域范围内的样本,所述数据可容忍偏差为所述当前样本和所述当前样本对应的后一个样本之间的最大波动偏差,所述有损压缩算法包括:所述非均匀子采样算法。
5.根据权利要求4所述的方法,其特征在于,
根据所述数据可容忍偏差将所述当前样本采样至所述保留队列或所述舍弃队列中,包括:
若所述当前样本和所述当前样本对应的后一个样本之间的波动偏差大于所述数据可容忍偏差,将所述当前样本采样至所述保留队列中;
若所述当前样本和所述当前样本对应的后一个样本之间的波动偏差小于或等于所述数据可容忍偏差,将所述当前样本采样至所述舍弃队列中。
6.根据权利要求2所述的方法,其特征在于,
所述方法还包括:向云端服务器发送所述数值型数据中不满足实时性业务需求的非目标数据。
7.根据权利要求1所述的方法,其特征在于,
在获取所述待压缩数据之前,所述方法还包括:接收云端服务器发送的上层指令,所述上层指令用于指示向所述云端服务器发送数据;
所述方法还包括:根据所述上层指令,向所述云端服务器发送所述第一压缩数据和所述第二压缩数据。
8.根据权利要求3所述的方法,其特征在于,
所述方法还包括:向所述云端服务器发送所述第三压缩数据。
9.一种数据混合压缩系统,其特征在于,包括:
数据获取模块,用于获取待压缩数据;
数据分类模块,用于将所述待压缩数据划分为数值型数据和非数值型数据;
数据压缩模块,用于:采用无损压缩算法对所述非数值型数据进行数据压缩,得到第一压缩数据;以及,采用有损压缩算法对所述数值型数据进行数据压缩,得到第二压缩数据。
10.根据权利要求9所述的系统,其特征在于,
所述数据压缩模块具体用于:采用有损压缩算法,对所述数值型数据中满足实时性业务需求的目标数据进行数据压缩,得到舍弃队列和保留队列,其中所述第二压缩数据包括:所述保留队列。
11.根据权利要求10所述的系统,其特征在于,
所述数据压缩模块,还用于:根据所述舍弃队列和所述保留队列得到偏差队列,其中所述偏差队列为所述保留队列还原后的还原队列与所述舍弃队列之间的偏差数据集合;
以及,采用无损压缩算法,对所述舍弃队列进行数据压缩,得到第三压缩数据。
12.根据权利要求10所述的系统,其特征在于,
所述数据压缩模块具体用于:若所述目标数据对应的样本序列呈现连续上升或连续下降趋势,根据数据可容忍偏差确定当前样本采样至所述保留队列或所述舍弃队列中;
其中,所述当前样本为在非均匀子采样算法中规定的数据偏差区域范围内的样本,所述数据可容忍偏差为所述当前样本和所述当前样本对应的后一个样本之间的最大波动偏差,所述有损压缩算法包括:所述非均匀子采样算法。
13.根据权利要求12所述的系统,其特征在于,
所述数据压缩模块,具体用于:若所述当前样本和所述当前样本对应的后一个样本之间的波动偏差大于所述数据可容忍偏差,将所述当前样本采样至所述保留队列中;
若所述当前样本和所述当前样本对应的后一个样本之间的波动偏差小于或等于所述数据可容忍偏差,将所述当前样本采样至所述舍弃队列中。
14.根据权利要求10所述的系统,其特征在于,
所述系统还包括:通信模块,用于向云端服务器发送所述数值型数据中不满足实时性业务需求的非目标数据。
15.根据权利要求8所述的系统,其特征在于,
所述系统还包括:通信模块,用于:在获取所述待压缩数据之前,接收云端服务器发送的上层指令,所述上层指令用于指示向所述云端服务器发送数据;
所述通信模块还用于:根据所述上层指令,向所述云端服务器发送所述第一压缩数据和所述第二压缩数据。
16.一种边缘计算终端,其特征在于,所述边缘计算终端具备如上权利要求9-15中任意一项所述的数据混合压缩系统。
17.一种电子设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-8中任一项所述的数据混合压缩方法。
18.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-8中任一项所述的数据混合压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110258428.6A CN113242041A (zh) | 2021-03-10 | 2021-03-10 | 数据混合压缩方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110258428.6A CN113242041A (zh) | 2021-03-10 | 2021-03-10 | 数据混合压缩方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113242041A true CN113242041A (zh) | 2021-08-10 |
Family
ID=77130250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110258428.6A Pending CN113242041A (zh) | 2021-03-10 | 2021-03-10 | 数据混合压缩方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113242041A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114374744A (zh) * | 2022-03-23 | 2022-04-19 | 北京鉴智科技有限公司 | 数据回传方法、装置、车载终端及云端服务器 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7190284B1 (en) * | 1994-11-16 | 2007-03-13 | Dye Thomas A | Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent |
CN102427369A (zh) * | 2011-10-19 | 2012-04-25 | 广东电网公司电力科学研究院 | 生产型时序数据的实时全息无损压缩方法 |
CN104008120A (zh) * | 2013-02-26 | 2014-08-27 | 塔塔咨询服务有限公司 | 用于数据存档的系统及方法 |
US20180213303A1 (en) * | 2012-06-26 | 2018-07-26 | BTS Software Solutions, LLC | Low Delay Low Complexity Lossless Compression System |
US20200007156A1 (en) * | 2018-06-29 | 2020-01-02 | Imagination Technologies Limited | Guaranteed Data Compression |
US20200220555A1 (en) * | 2019-01-09 | 2020-07-09 | Samsung Electronics Co., Ltd. | Method for compressing and restoring time series data |
WO2021006907A1 (en) * | 2019-07-11 | 2021-01-14 | Halliburton Energy Services, Inc. | Method and device for improving wireline logging rate |
CN112234993A (zh) * | 2019-07-15 | 2021-01-15 | 北京信息科技大学 | 一种强瞬态信号数据压缩方法 |
-
2021
- 2021-03-10 CN CN202110258428.6A patent/CN113242041A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7190284B1 (en) * | 1994-11-16 | 2007-03-13 | Dye Thomas A | Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent |
CN102427369A (zh) * | 2011-10-19 | 2012-04-25 | 广东电网公司电力科学研究院 | 生产型时序数据的实时全息无损压缩方法 |
US20180213303A1 (en) * | 2012-06-26 | 2018-07-26 | BTS Software Solutions, LLC | Low Delay Low Complexity Lossless Compression System |
CN104008120A (zh) * | 2013-02-26 | 2014-08-27 | 塔塔咨询服务有限公司 | 用于数据存档的系统及方法 |
US20200007156A1 (en) * | 2018-06-29 | 2020-01-02 | Imagination Technologies Limited | Guaranteed Data Compression |
US20200220555A1 (en) * | 2019-01-09 | 2020-07-09 | Samsung Electronics Co., Ltd. | Method for compressing and restoring time series data |
WO2021006907A1 (en) * | 2019-07-11 | 2021-01-14 | Halliburton Energy Services, Inc. | Method and device for improving wireline logging rate |
CN112234993A (zh) * | 2019-07-15 | 2021-01-15 | 北京信息科技大学 | 一种强瞬态信号数据压缩方法 |
Non-Patent Citations (5)
Title |
---|
SARAH SHARAFKANDI: "A Distributed and Energy Efficient Algorithm for Data Collection in Sensor Networks", 《2010 39TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS》 * |
周航慈: "《嵌入式系统软件设计中的常用算法》", 31 January 2010 * |
林新然: "数控系统可靠性数据压缩算法", 《小型微型计算机系统》 * |
陈骞: "基于工业实时数据的压缩算法研究", 《科协论坛(下半月)》 * |
黄庆卿: "机械振动无线传感网络数据分块无损压缩方法", 《仪器仪表学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114374744A (zh) * | 2022-03-23 | 2022-04-19 | 北京鉴智科技有限公司 | 数据回传方法、装置、车载终端及云端服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6242074B2 (ja) | 信号データの圧縮および圧縮解除のための方法および装置(信号データの圧縮および圧縮解除) | |
US11463102B2 (en) | Data compression method, data decompression method, and related apparatus, electronic device, and system | |
US11797204B2 (en) | Data compression processing method and apparatus, and computer-readable storage medium | |
CN109600618A (zh) | 视频压缩方法、解压缩方法、装置、终端和介质 | |
US10666289B1 (en) | Data compression using dictionary encoding | |
US12003580B2 (en) | Techniques for updating files | |
CN110649925B (zh) | 划分的增益形状向量编码 | |
Hossain et al. | A data compression and storage optimization framework for iot sensor data in cloud storage | |
CN102197599A (zh) | 用于将数据记录压缩和解压缩的方法和设备 | |
CN115883670A (zh) | 一种医疗数据分析采集方法及装置 | |
CN113242041A (zh) | 数据混合压缩方法及其系统 | |
TWI690920B (zh) | 音訊處理方法、音訊處理裝置及用於音訊處理之非暫時性電腦可讀媒體 | |
CN115380267A (zh) | 数据压缩方法及装置、数据压缩设备和可读存储介质 | |
Djusdek et al. | Adaptive image compression using adaptive Huffman and LZW | |
US11829600B2 (en) | Storage system and data processing method using data compression | |
CN107783990B (zh) | 一种数据压缩方法及终端 | |
JP7140705B2 (ja) | ストレージシステム、及び、データ記録方法 | |
JP2021174472A (ja) | ストレージシステム | |
Ganeshraj et al. | Scalable Compression Method for Hyperspectral Images | |
CN110033781B (zh) | 音频处理方法、装置及非暂时性电脑可读媒体 | |
JP2017525192A (ja) | 符号化機構を備えた通信システム及びその動作方法 | |
US9948320B1 (en) | Semi-dynamic backend coder for data compression | |
CN112584144A (zh) | 一种图像信号处理方法及装置 | |
CN116669104B (zh) | 数传压缩方法、装置、计算机设备和存储介质 | |
US11516515B2 (en) | Image processing apparatus, image processing method and image processing program |
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 |
Application publication date: 20210810 |
|
RJ01 | Rejection of invention patent application after publication |