CN110288666B - 一种数据压缩方法及装置 - Google Patents
一种数据压缩方法及装置 Download PDFInfo
- Publication number
- CN110288666B CN110288666B CN201910580568.8A CN201910580568A CN110288666B CN 110288666 B CN110288666 B CN 110288666B CN 201910580568 A CN201910580568 A CN 201910580568A CN 110288666 B CN110288666 B CN 110288666B
- Authority
- CN
- China
- Prior art keywords
- data
- effective
- value
- attribute information
- byte number
- 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
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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例公开了一种数据压缩方法及装置,其中方法包括:获取待压缩的M个数据,并对M个数据进行分析,确定M个数据的属性信息;之后,根据M个数据的属性信息对M个数据进行压缩,得到压缩后的数据,压缩后的数据包括协议头和N个数据,协议头用于表征M个数据的属性信息;其中,M、N均为正整数,N≤M;相比于现有技术,本发明可以用于解决现有技术中数据压缩无法体现压缩数据的特点的技术问题,实现在压缩数据的同时体现数据的特点,并进一步减少压缩数据所占存储空间。
Description
技术领域
本发明涉及金融科技(Fintech)的数据压缩技术领域,特别涉及一种数据压缩方法及装置。
背景技术
随着网络的发展及普及,网络数据量急剧增加,尽管现在数据存储设备的容量不断扩大,但由于网络数据量爆发式的增长,传统的数据存储方式已经不再满足人们的需求;因此,出现了数据压缩技术并得到迅速发展。
数据压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间的一种技术方法。数据压缩方式一般分为无损压缩方式和有损压缩方式。有损压缩方式允许一定程度的信息丢失,在多媒体交互式系统、视频传输业务和家庭娱乐等领域得到了广泛应用。无损压缩方式是压缩后的信息可以被还原,其在遥感图像处理、医用图像处理、历史文档保存分析等领域以及许多混合图像压缩方法中都有广泛应用。
其中,由于无损压缩可以在较大程度上避免信息的丢失,因此对无损压缩方式的研究比较多。人们一般都希望在不损失原有信息的前提下,压缩后的数据越小越好,因此,现有技术中无损压缩根据不同的数据类型采用不同的压缩算法得到压缩数据。但由于现有技术中是通过数据的数值大小及本身特点来选择压缩算法进行压缩,故此,对数据本身外所附加的属性信息无法体现;且压缩算法固定的计算方式也不能进一步对数据做整理或计算;所以,现有技术中无损压缩也使得压缩的数据不能体现数据本身的特点也不能进一步压缩数据。
因此,现在亟需一种数据压缩方法及装置,能够体现压缩数据的特点且可以进一步压缩数据。
发明内容
本发明实施例提供一种数据压缩方法及装置,用于解决现有技术中无法体现压缩数据的特点以及进一步压缩数据的技术问题。
第一方面,本发明实施例提供一种数据压缩方法,该方法包括:
获取待压缩的M个数据;对所述M个数据进行分析,确定所述M个数据的属性信息;根据所述M个数据的属性信息对所述M个数据进行压缩,得到压缩后的数据,所述压缩后的数据包括协议头和N个数据;所述协议头用于表征所述M个数据的属性信息;其中,M、N均为正整数,N≤M。
本发明结合属性信息可以实现在压缩数据的同时体现数据的特点,并进一步减少压缩数据所占存储空间。
在一种可能的设计中,所述M个数据中包括P个有效数据,P为正整数;所述M个数据的属性信息包括以下至少一项:所述M个数据的头部是否存在无效数据;所述M个数据的尾部是否存在无效数据;所述M个数据对应的数据粒度。
在一种可能的设计中,所述M个数据的属性信息还包括所述P个有效数据是否为恒值,所述M个数据的存储方式;若所述P个有效数据为恒值,则所述M个数据的存储方式为正常值,所述N个数据包括所述P个有效数据中的一个有效数据。
采用上述方法,判断数据压缩为恒值时,可以存储恒值数值大小,如此,P个有效数据只存储一个或小于等于P个即可,相比于现有技术中对所有数据全部进行压缩的方式来说,本申请实施例能够有效减少压缩数据所占存储空间。
在一种可能的设计中,若所述P个有效数据不为恒值,则确定第一字节数与第二字节数,其中,第一字节数为所述P个有效数据中的最大数值所占用的字节数;所述第二字节数为所述P个有效数据中每两个相邻的数据的差值中的最大数值所占用的字节数;若所述第一字节数小于或等于所述第二字节数,则所述M个数据的存储方式为正常值,所述N个数据包括所述M个数据;若所述第一字节数大于所述第二字节数,则所述M个数据的存储方式为差值,所述N个数据包括所述M个数据中的第一个数据以及每两个相邻的数据的差值。
采用上述方法,判断数据压缩为变值且待压缩数据相邻数据的差值的最大值的绝对值所占字节数小时,可以存储待压缩数据相邻数据的差值数值大小,如此,相对存储正常值,存储待压缩数据相邻数据的差值可以减小压缩数据所占存储空间,相比于现有技术中对所有数据全部进行压缩的方式来说,本申请实施例能够有效减少压缩数据所占存储空间。
在一种可能的设计中,所述M个数据的属性信息包括所述P个有效数据中是否存在具有小数位的数据;若所述P个有效数据中存在具有小数位的数据,则对所述P个有效数据进行处理,得到所述P个有效数据对应的P个整数。
第二方面,本发明实施例提供一种数据压缩装置,该装置包括:
数据接收单元,用于获取待压缩的M个数据;
数据分析单元,用于对所述M个数据进行分析,确定所述M个数据的属性信息;
数据压缩单元,用于根据所述M个数据的属性信息对所述M个数据进行压缩,得到压缩后的数据,所述压缩后的数据包括协议头和N个数据;所述协议头用于表征所述M个数据的属性信息;其中,M、N均为正整数,N≤M。
在一种可能的设计中,所述M个数据中包括P个有效数据,P为正整数;
所述M个数据的属性信息包括以下至少一项:所述M个数据中包括P个有效数据,P为正整数;所述M个数据的属性信息包括以下至少一项:所述M个数据的头部是否存在无效数据;所述M个数据的尾部是否存在无效数据;所述M个数据对应的数据粒度。
在一种可能的设计中,所述M个数据的属性信息还包括所述P个有效数据是否为恒值、所述M个数据的存储方式;所述数据分析单元还用于:确定所述P个有效数据是否为恒值,所述M个数据的存储方式;若所述P个有效数据为恒值,则所述M个数据的存储方式为正常值,所述N个数据包括所述P个有效数据中的一个有效数据。
在一种可能的设计中,所述数据分析单元还用于:若所述P个有效数据不为恒值,则确定第一字节数与第二字节数,其中,第一字节数为所述P个有效数据中的最大数值所占用的字节数;所述第二字节数为所述P个有效数据中每两个相邻的数据的差值中的最大数值所占用的字节数;若所述第一字节数小于或等于所述第二字节数,则所述M个数据的存储方式为正常值,所述N个数据包括所述M个数据;若所述第一字节数大于所述第二字节数,则所述M个数据的存储方式为差值,所述N个数据包括所述M个数据中的第一个数据以及每两个相邻的数据的差值。
在一种可能的设计中,所述M个数据的属性信息包括所述P个有效数据中是否存在具有小数位的数据;所述数据分析单元还用于:确定所述M个数据的属性信息包括所述P个有效数据中是否存在具有小数位的数据;若所述P个有效数据中存在具有小数位的数据,则对所述P个有效数据进行处理,得到所述P个有效数据对应的P个整数。
本申请实施例还提供一种计算机可读存储介质,包括指令,当指令被执行时,实现上述第一方面的任一种可能的设计中的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,当计算机程序或指令被执行时,实现上述第一方面的任一种可能的设计中的方法。
本申请的这些实现方式或其他实现方式在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种数据压缩的流程示意图;
图2为本申请实施例中又一种数据压缩的流程示意图;
图3a为本申请实施例中协议头及压缩数据的结构示意图;
图3b为本申请实施例中协议头及压缩数据的结构示意图;
图4为本申请实施例提供的数据压缩装置的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合附图对本申请实施例进行详细描述。
现有技术中通过数据压缩可以使小的数据存储容量存储更多的数据,从而可以节省资源以及成本,但压缩数据的同时无法生成数据属性等信息,也不能进一步压缩数据,本发明提供一种数据压缩方法,能够体现压缩数据的特点且可以进一步压缩数据,本发明所述数据包括业务类数据、监控设备状态的数据,具体不做限定。
图1为本申请实施例提供的一种数据压缩方法所对应的流程示意图,如图1所示,该方法包括:
步骤101、获取待压缩的M个数据;
此处,M个数据可以为监控数据,监控数据可以包括设备的运行参数,设备可以以设定的时间粒度上报该时刻或该时间粒度的时间段内的运行参数,从而获取到M个数据。
步骤102、对所述M个数据进行分析,确定所述M个数据的属性信息;
此处,按照预设的时间粒度判断待压缩数据的数量足够后对数据进行分析,数据分析可以包括对数据是否含有无效数据的判断、有效数据中是否存在包含小数的有效数据的判断、计算正常值以及差值的最大值所占字节数,其中差值可以是相邻的两个有效数据的差值。
本申请实施例中,可以判断M个数据中是否包含无效数据,若包含则得出无效数据个数,并将无效数据个数这一信息记录;判断M个数据中的有效数据是否为恒值,若为恒值,则将M个数据中的有效数据为恒值及恒值数值这一信息记录下来,否则M个数据中的有效数据不为恒值为变值。
进一步地,当M个数据中的有效数据为变值时,可以将有效数据正常值的最大值的绝对值所占字节数与有效数据差值的最大值的绝对值所占字节数进行比较;当有效数据正常值的最大值的绝对值所占字节数小于等于有效数据差值的最大值的绝对值时,有效数据的存储方式为正常值;当有效数据正常值的最大值的绝对值所占字节数大于有效数据差值的最大值的绝对值时,有效数据的存储方式为差值。
进一步地,可以将包含小数的有效数据转化为整数,举个例子,当数据中出现包含一位小数的数据时,将所有有效数据至少扩大十倍;当数据中出现包含两位小数的数据时,将所有有效数据至少扩大百倍;并将小数位数这一信息记录。
步骤103、根据所述M个数据的属性信息对所述M个数据进行压缩;
此处,M个数据的属性信息可以包括获取时间粒度信息、无效数据信息、数据模式信息、数据存储方式信息、小数位数信息以及数据所占字节数,并将获取的数据及数据信息进行整合及压缩。
下面结合一个具体示例,对本申请实施例提供的数据压缩方法进行详细描述。图2为本申请实施例提供的一种实现数据压缩的过程示意图,如图2所示,包括:
步骤201、获取监控数据;
此处,监控数据可以包括设备的运行参数,设备可以以设定的时间粒度上报该时刻或该时间粒度的时间段内的运行参数。例如:若所获取的数据为一天的数据,那么当设定时间粒度为1分钟时,设备上传的运行参数为1440个,如此,获取的待压缩数据为1440个,这时M=1440;由此可得,当时间粒度为5分钟时,获取的待压缩数据为288个,这时M=288;当时间粒度为60分钟时,获取的待压缩数据为24个,这时M=24;当时间粒度为1440分钟时,获取的待压缩数据为1个,这时M=1;
步骤202、数据分析;
接收到监控数据后,按照预设的时间粒度判断数据的数量足够后对数据进行分析。
具体的,按照预设的时间粒度对应的运行参数判断数据的数量足够后对数据进行分析,比如,当预设时间粒度为1分钟时,获取数据不足1440个时不进行数据分析;当获取数据足够1440个数据后对1440个数据进行分析。又比如,当预设时间粒度为5分钟时,获取数据不足288个时不进行数据分析;当获取数据足够288个数据后对288个数据进行分析。
此处,遍历待压缩数据,判断待压缩数据是否存在无效数据、是否包含小数、以及有效数据中正常值的最大值及差值的最大值所占字节。
具体的,当待压缩数据M个数据中存在无效数据时,其中无效数据的数值可以是当设备为非运行状态时预设值;例如:当设备为非运行状态时预设值为-1,压缩数据M个数据为:{-1、-1、-1、-1、-1…-1、123、234、145…222、-1、-1、-1…-1、-1、-1},判断待压缩数据头部及尾部无效数据(-1)个数,若头部有100个-1,那么待压缩数据头部无效数据个数为100,若尾部有80个-1,那么待压缩数据尾部无效数据个数为80。
进一步地,可以将包含小数的有效数据转化为整数,举个例子,当数据中出现包含一位小数的数据时,将所有有效数据至少扩大十倍;当数据中出现包含两位小数的数据时,将所有有效数据至少扩大百倍;并将小数位数这一信息记录。
具体的,当待压缩数据中包含小数时,判断小数位数,通过将数据扩大十倍、百倍、千倍化整;举个例子:当数据为1000.1时,通过将数据扩大十倍使得数据1000.1化整为10001;当数据为1000.11时,通过将数据扩大百倍使得数据1000.11化整为100011。
具体的,计算正常值的最大值及差值的最大值所占字节。示例:当正常值的最大值为65534时,正常值的最大值的绝对值为65534且所占字节数为2个字节,当差值的最大值为-126时,差值的最大值的绝对值为126且所占字节数为1个字节。
步骤203、恒值模式判断;
本申请实施例中,判断M个数据中的有效数据是否为恒值,若为恒值,则将M个数据中的有效数据为恒值及恒值数值这一信息记录下来,并进入流程步骤207;否则M个数据中的有效数据不为恒值为变值,则进入流程步骤204。
具体的,判断M(M=1440)个数据中的有效数据是否为恒值,{-1、-1、-1、-1、-1…-1、123、123、123…123、-1、-1、-1…-1、-1、-1},M个数据中头部无效数据为100个,M个数据中尾部无效数据为80个,当P个有效数据的数值都是123时,则M个数据中的有效数据是恒值,数据压缩只需压缩123这一个数据。那么协议头及整合后数据如图3a所示,设恒值模式为数值0,设定模式所占比特位为2个比特,即用00表示并存储;存储方式为正常值0,设定存储方式所占比特位为1个比特,即用0表示并存储;长尾数据123所占长度为1字节,表示为01111011,设定长尾数据长度所占比特位为1个比特,即用000表示并存储;数据粒度为1分钟时数值为1,设定数据粒度所占比特位为1个比特,即用0表示并存储;没有小数,小数位数为0,设定小数位数所占比特位为1个比特,即用0表示并存储;头部存在无效数据,设定头部偏移标志所占比特位为1个比特,即用1表示并存储;同时头部无效数据为100个,设定头部偏移所占比特位为十六个比特位,即用0000000001100100表示并存储;尾部存在无效数据,设定尾部偏移标志所占比特位为1个比特,即用1表示并存储;同时尾部无效数据为80个,设定尾部偏移所占比特位为十六个比特位,即用0000000001010000表示并存储;如此,协议头的长度为16比特,设长度为16比特的协议头为00,所占比特位为两个比特位并存储。其中,头部偏移标志(表征待压缩数据头部有无效数据),尾部偏移标志(表征待压缩数据尾部有无效数据)。头部和尾部无效数据个数所占字节可以追加在协议头后。
步骤204、正常值及差值判断;
本申请实施例中,可以将有效数据正常值的最大值的绝对值所占字节数与有效数据差值的最大值的绝对值所占字节数进行比较;当有效数据正常值的最大值的绝对值所占字节数小于等于有效数据差值的最大值的绝对值时,有效数据的存储方式为正常值;当有效数据正常值的最大值的绝对值所占字节数大于有效数据差值的最大值的绝对值时,有效数据的存储方式为差值。
具体的,计算正常值的最大值及差值的最大值所占字节。示例:当正常值的最大值为65534且所占字节数为2个字节,当差值的最大值为-126时,差值的最大值的绝对值为126且所占字节数为1个字节。所以有效数据正常值的最大值所占字节数大于有效数据差值的最大值所占字节数,有效数据的存储方式为差值。
举例,M(M=1440)个数据,{-1、-1、-1、-1、-1…-1、65533、65529、65530…65024、-1、-1、-1…-1、-1、-1},M个数据中头部无效数据为100个,M个数据中尾部无效数据为80个,当P个有效数据的数值不是恒值且存储方式为差值,那么协议头及整合后数据如图3b所示;
设变值模式为数值1,设定所占比特位为两个比特位,即用01表示并存储;设差值模式为数值1,设定所占比特位为一个比特位,即用1表示并存储;基准数据数值为65533,表示为1111111111111101,所占比特位为16个比特位且小于两个字节大于一个字节,用两个字节存储,同时得到基准数据长度值为2个字节,设定所占比特位为三个比特,即用001表示并存储;数据粒度为1分钟时数值为1,设定所占比特位为一个比特位,即用00表示并存储;没有小数,小数位数为0,设定小数位数所占比特位为1个比特,即用0表示并存储;头部存在无效数据,设定头部偏移标志所占比特位为1个比特,即用1表示并存储;同时头部无效数据为100个,设定头部偏移所占比特位为十六个比特位,即用0000000001100100表示并存储;尾部存在无效数据,设定尾部偏移标志所占比特位为1个比特,即用1表示并存储;同时尾部无效数据为80个,设定尾部偏移所占比特位为十六个比特位,即用0000000001010000表示并存储;第一个差值(65529-65533)为-4,‘-’可以用8比特位的第一个比特位做1体现,表示为100000100,所占字节数为一个字节并存储;第二个差值(65530-65529)为1,表示为00000001,所占字节数为一个字节并存储;以此类推;因此,协议头的长度为16比特,设定协议头长度所占比特位为2,即用00表示并存储。其中,协议头的长度是可扩展的,可以设计更多的数据分类参数或数据含义,头部偏移标志(表征待压缩数据头部有无效数据),尾部偏移标志(表征待压缩数据尾部有无效数据)。头部和尾部无效数据个数所占字节可以追加在协议头后。
步骤205、判断公式(1);
本申请实施例中,当M个数据中的有效数据为变值时,进一步地,判断变值是否为特殊形式,其中特殊形式变值情况包括变值为零星值或变值为分布值。
示例性的,公式(1)可以为:total/8+actual_num*length<(total-head_length–tail_length)*length;
其中,total/8+actual_num*length表示M个数据/8+P个有效数据*字节数,(total-head_length–tail_length)*length表示(M个数据–头部无效数据数-尾部无效数据数)*字节数;当满足公式(1)时,M个数据中的有效数据为一般变值。
当M个数据中的有效数据为一般变值时,有一种情况,即:有效数据中有可能会掺杂无效数据出现且需要记录无效数据在有效数据中的位置,可以通过标记的方法记录这种掺杂在有效数据中的无效数据,这里给出一个示例,设置无效数据-1的数值为储存每个数据字节的最大数,例如:设置存储每个数据的字节位数为1个字节,那么表示-1的数设为255。如此,若有效数据的正常值或差值的最大值为255时,将字节数递进为3字节,若有效数据存储为差值模式时,差值-1可以按照算法进行存储。
则进入数据整合步骤207,当不满足公式(1)时,进一步判断公式(2)。
步骤206、判断公式(2);
公式(2)可以为:actual_num*(2+length)<total/8+actual_num*length;其中,actual_num*(2+length)表示P个有效数据*(2+字节数),total/8+actual_num*length表示M个数据/8+P个有效数据*字节数;公式(2)成立,待压缩数据模式为零星值模式,否则为分布值模式,当待压缩数据模式为分布值模式时,可以在分布值模式后追加待压缩数据的分布图。
因为数据的特殊性,当变值为分布值模式时,即使有效数据中掺杂无效数据,也不用记录。当变值为零星值模式时,有效数据中掺杂无效数据,只需记录无效数据的个数以及在数列中的顺序数即可。
步骤207、数据整合;
此处,可以包括根据协议头的属性信息将待压缩数据按照预定的顺序追加在协议头后;还可以包括计算正常值或差值的字节数,其中,计算差值的字节数前先要通过计算得出待压缩数据差值。
示例性的,差值的计算可以选取有效数据的第一个值,并设其为基准值,用第二个数据减去第一个数据,第三个数据减去第二个数据,以此类推,得出的结果在解压时,可以根据第一个基准值以及其余差值得出完整的有效数据。
步骤208、数据压缩;
将协议头以及协议头后整合的数据进行压缩。
需要说明的是:(1)图2中所涉及的步骤编号仅为执行流程的一种可能示例,具体实施中对各个步骤的先后顺序不做限定,比如图2中步骤207和步骤208可以同时执行,或者,步骤208先于步骤207执行;(2)图3a和图3b的协议头前可以设置字节用来存储表示协议头大小的数值。
基于同样的构思,本发明实施例还提供一种数据压缩装置。图4为本申请实施例提供的数据压缩装置的结构示意图,如图4所示,包括:
数据接收单元401,用于获取待压缩的M个数据;
数据分析单元402,用于对所述M个数据进行分析,确定所述M个数据的属性信息;
数据压缩单元403,用于根据所述M个数据的属性信息对所述M个数据进行压缩,得到压缩后的数据,所述压缩后的数据包括协议头和N个数据;所述协议头用于表征所述M个数据的属性信息;其中,M、N均为正整数,N≤M。
在一种可能的设计中,所述M个数据中包括P个有效数据,P为正整数;所述M个数据的属性信息包括以下至少一项:所述M个数据中包括P个有效数据,P为正整数;所述M个数据的属性信息包括以下至少一项:所述M个数据的头部是否存在无效数据;所述M个数据的尾部是否存在无效数据;所述M个数据对应的数据粒度。
在一种可能的设计中,所述M个数据的属性信息还包括所述P个有效数据是否为恒值、所述M个数据的存储方式;数据分析单元402还用于:确定所述P个有效数据是否为恒值,所述M个数据的存储方式;若所述P个有效数据为恒值,则所述M个数据的存储方式为正常值,所述N个数据包括所述P个有效数据中的一个有效数据。
在一种可能的设计中,数据分析单元402还用于:若所述P个有效数据不为恒值,则确定第一字节数与第二字节数,其中,第一字节数为所述P个有效数据中的最大数值所占用的字节数;所述第二字节数为所述P个有效数据中每两个相邻的数据的差值中的最大数值所占用的字节数;若所述第一字节数小于或等于所述第二字节数,则所述M个数据的存储方式为正常值,所述N个数据包括所述M个数据;若所述第一字节数大于所述第二字节数,则所述M个数据的存储方式为差值,所述N个数据包括所述M个数据中的第一个数据以及每两个相邻的数据的差值。
在一种可能的设计中,所述M个数据的属性信息包括所述P个有效数据中是否存在具有小数位的数据;所述数据分析单元402还用于:确定所述M个数据的属性信息包括所述P个有效数据中是否存在具有小数位的数据;若所述P个有效数据中存在具有小数位的数据,则对所述P个有效数据进行处理,得到所述P个有效数据对应的P个整数。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数据压缩方法,其特征在于,所述方法包括:
获取待压缩的M个数据,所述M个数据中包含对设备的监控数据,所述监控数据中包含所述设备的运行参数;
对所述M个数据进行分析,确定所述M个数据的属性信息;
根据所述M个数据的属性信息对所述M个数据进行压缩,得到压缩后的数据,所述压缩后的数据包括协议头和N个数据;所述协议头用于表征所述M个数据的属性信息;
其中,M、N均为正整数,N≤M,所述M个数据中包括P个有效数据,P为正整数;所述M个数据的属性信息包括以下至少一项:
所述M个数据的头部是否存在无效数据;
所述M个数据的尾部是否存在无效数据;
所述M个数据对应的数据粒度;
所述M个数据的小数位数信息;
所述P个有效数据的数据模式,所述数据模式包含恒值模式和变值模式。
2.根据权利要求1所述的方法,其特征在于,所述M个数据的属性信息包括所述P个有效数据是否为恒值、所述M个数据的存储方式;
若所述P个有效数据为恒值,则所述M个数据的存储方式为正常值,所述N个数据包括所述P个有效数据中的一个有效数据。
3.根据权利要求2所述的方法,其特征在于,若所述P个有效数据不为恒值,则确定第一字节数与第二字节数,其中,第一字节数为所述P个有效数据中的最大数值所占用的字节数;所述第二字节数为所述P个有效数据中每两个相邻的数据的差值中的最大数值所占用的字节数;
若所述第一字节数小于或等于所述第二字节数,则所述M个数据的存储方式为正常值,所述N个数据包括所述M个数据;
若所述第一字节数大于所述第二字节数,则所述M个数据的存储方式为差值,所述N个数据包括所述M个数据中的第一个数据以及每两个相邻的数据的差值。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述M个数据的属性信息包括所述P个有效数据中是否存在具有小数位的数据;
若所述P个有效数据中存在具有小数位的数据,则对所述P个有效数据进行处理,得到所述P个有效数据对应的P个整数。
5.一种数据压缩装置,其特征在于,所述装置包括:
数据接收单元,用于获取待压缩的M个数据,所述M个数据中包含对设备的监控数据,所述监控数据中包含所述设备的运行参数;
数据分析单元,用于对所述M个数据进行分析,确定所述M个数据的属性信息;
数据压缩单元,用于根据所述M个数据的属性信息对所述M个数据进行压缩,得到压缩后的数据,所述压缩后的数据包括协议头和N个数据;所述协议头用于表征所述M个数据的属性信息;
其中,M、N均为正整数,N≤M,所述M个数据中包括P个有效数据,P为正整数;所述M个数据的属性信息包括以下至少一项:
所述M个数据中包括P个有效数据,P为正整数;
所述M个数据的属性信息包括以下至少一项:
所述M个数据的头部是否存在无效数据;
所述M个数据的尾部是否存在无效数据;
所述M个数据对应的数据粒度;
所述M个数据的小数位数信息;
所述M个数据对应的数据模式,所述数据模式包含恒值模式和变值模式。
6.根据权利要求5所述的装置,其特征在于,所述M个数据的属性信息包括所述P个有效数据是否为恒值、所述M个数据的存储方式;
所述数据分析单元还用于:确定所述P个有效数据是否为恒值,所述M个数据的存储方式;
若所述P个有效数据为恒值,则所述M个数据的存储方式为正常值,所述N个数据包括所述P个有效数据中的一个有效数据。
7.根据权利要求6所述的装置,其特征在于,所述数据分析单元还用于:若所述P个有效数据不为恒值,则确定第一字节数与第二字节数,其中,第一字节数为所述P个有效数据中的最大数值所占用的字节数;所述第二字节数为所述P个有效数据中每两个相邻的数据的差值中的最大数值所占用的字节数;
若所述第一字节数小于或等于所述第二字节数,则所述M个数据的存储方式为正常值,所述N个数据包括所述M个数据;
若所述第一字节数大于所述第二字节数,则所述M个数据的存储方式为差值,所述N个数据包括所述M个数据中的第一个数据以及每两个相邻的数据的差值。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述M个数据的属性信息包括所述P个有效数据中是否存在具有小数位的数据;
所述数据分析单元还用于:确定所述M个数据的属性信息包括所述P个有效数据中是否存在具有小数位的数据;若所述P个有效数据中存在具有小数位的数据,则对所述P个有效数据进行处理,得到所述P个有效数据对应的P个整数。
9.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至4任一项所述的方法。
10.一种计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行权利要求1至4任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580568.8A CN110288666B (zh) | 2019-06-28 | 2019-06-28 | 一种数据压缩方法及装置 |
PCT/CN2020/080756 WO2020258942A1 (zh) | 2019-06-28 | 2020-03-23 | 一种数据压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580568.8A CN110288666B (zh) | 2019-06-28 | 2019-06-28 | 一种数据压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110288666A CN110288666A (zh) | 2019-09-27 |
CN110288666B true CN110288666B (zh) | 2023-10-03 |
Family
ID=68019812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910580568.8A Active CN110288666B (zh) | 2019-06-28 | 2019-06-28 | 一种数据压缩方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110288666B (zh) |
WO (1) | WO2020258942A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110288666B (zh) * | 2019-06-28 | 2023-10-03 | 深圳前海微众银行股份有限公司 | 一种数据压缩方法及装置 |
CN116708511B (zh) * | 2023-07-18 | 2024-02-02 | 广东车卫士信息科技有限公司 | 一种基于微控制器集成车机互联技术的方法、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3908086C1 (en) * | 1988-06-09 | 1989-10-19 | Veb Transformatoren- Und Roentgenwerk "Hermann Matern", Ddr 8030 Dresden, Dd | Method for compressing and decompressing digital data and device for carrying out the method |
CN1770150A (zh) * | 2004-11-03 | 2006-05-10 | 北京神舟航天软件技术有限公司 | 数据库压缩及解压缩方法 |
CN102457283A (zh) * | 2010-10-28 | 2012-05-16 | 阿里巴巴集团控股有限公司 | 一种数据压缩、解压缩方法及设备 |
CN105512120A (zh) * | 2014-09-22 | 2016-04-20 | 中国石油化工股份有限公司 | 一种地震数据压缩方法、压缩存储结构及随机访问方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6069999A (en) * | 1991-04-18 | 2000-05-30 | Microsoft Corporation | Method for compressing and decompressing font data |
US7620870B2 (en) * | 2005-11-22 | 2009-11-17 | Cisco Technology, Inc. | Data compression method and system |
CN102819851B (zh) * | 2012-08-08 | 2015-03-18 | 成都思珩网络科技有限公司 | 一种有声图片的计算机实现方法 |
CN110288666B (zh) * | 2019-06-28 | 2023-10-03 | 深圳前海微众银行股份有限公司 | 一种数据压缩方法及装置 |
-
2019
- 2019-06-28 CN CN201910580568.8A patent/CN110288666B/zh active Active
-
2020
- 2020-03-23 WO PCT/CN2020/080756 patent/WO2020258942A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3908086C1 (en) * | 1988-06-09 | 1989-10-19 | Veb Transformatoren- Und Roentgenwerk "Hermann Matern", Ddr 8030 Dresden, Dd | Method for compressing and decompressing digital data and device for carrying out the method |
CN1770150A (zh) * | 2004-11-03 | 2006-05-10 | 北京神舟航天软件技术有限公司 | 数据库压缩及解压缩方法 |
CN102457283A (zh) * | 2010-10-28 | 2012-05-16 | 阿里巴巴集团控股有限公司 | 一种数据压缩、解压缩方法及设备 |
CN105512120A (zh) * | 2014-09-22 | 2016-04-20 | 中国石油化工股份有限公司 | 一种地震数据压缩方法、压缩存储结构及随机访问方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110288666A (zh) | 2019-09-27 |
WO2020258942A1 (zh) | 2020-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109802684B (zh) | 进行数据压缩的方法和装置 | |
US8948530B2 (en) | Adaptive image compression system and method | |
CN110535846B (zh) | 一种基于dl/t698.45协议的数据帧压缩方法和系统 | |
US10911066B2 (en) | Method and system of content based dynamic data compression | |
US6697529B2 (en) | Data compression method and recording medium with data compression program recorded therein | |
CN110288666B (zh) | 一种数据压缩方法及装置 | |
CN110995273B (zh) | 电力数据库的数据压缩方法、装置、设备及介质 | |
CN103139567A (zh) | 一种图像压缩和解压缩的方法和装置 | |
CN108880559B (zh) | 数据压缩方法、数据解压缩方法、压缩设备及解压缩设备 | |
CN111491169B (zh) | 一种数字图像压缩方法、装置、设备、介质 | |
CN115380267A (zh) | 数据压缩方法及装置、数据压缩设备和可读存储介质 | |
CN110597461A (zh) | 块链式账本中的数据存储方法、装置及设备 | |
CN111243046B (zh) | 图像质量检测方法、装置、电子设备及存储介质 | |
CN105630999A (zh) | 服务器压缩数据的方法和装置 | |
CN104462422A (zh) | 对象的处理方法及装置 | |
US7269341B2 (en) | Adaptive digital video recorder and method of controlling the same | |
US20220360278A1 (en) | Data compression techniques using partitions and extraneous bit elimination | |
CN104469069A (zh) | 照片同步方法和装置 | |
CN105049055B (zh) | 一种数据压缩方法和数据解压方法 | |
CN107592297A (zh) | 一种移动侦测的方法、系统及终端设备 | |
CN113032340A (zh) | 数据文件的合并方法、装置、存储介质及处理器 | |
CN113127012B (zh) | 一种基于软件引擎的软件资源构建方法 | |
CN110311687A (zh) | 一种基于集成算法的时序数据无损压缩方法 | |
JP3797349B2 (ja) | 圧縮符号化方法、装置、及びプログラム、並びに復号方法、装置、及びプログラム | |
CN118300617B (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 |