CN117155408B - 一种生产数据的高效传输方法 - Google Patents
一种生产数据的高效传输方法 Download PDFInfo
- Publication number
- CN117155408B CN117155408B CN202311438802.6A CN202311438802A CN117155408B CN 117155408 B CN117155408 B CN 117155408B CN 202311438802 A CN202311438802 A CN 202311438802A CN 117155408 B CN117155408 B CN 117155408B
- Authority
- CN
- China
- Prior art keywords
- sequence
- compression
- tile
- binary
- identifier
- 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
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 101
- 230000005540 biological transmission Effects 0.000 title claims abstract description 25
- 238000007906 compression Methods 0.000 claims abstract description 174
- 230000006835 compression Effects 0.000 claims abstract description 167
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000011218 segmentation Effects 0.000 claims abstract description 12
- 229910002056 binary alloy Inorganic materials 0.000 description 12
- 230000000694 effects Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 108091026890 Coding region Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
- H03M7/4012—Binary arithmetic codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及数据传输领域,具体涉及一种生产数据的高效传输方法,包括:获取生产二进制序列;获取待压缩处理的生产数据,得到生产二进制序列;对生产二进制序列进行瓦片分割,得到各种瓦片大小对应的所有第一瓦片序列;根据第一压缩规则得到各种瓦片大小的第一压缩结果;获取各种瓦片大小的第一压缩程度,进而得到第一压缩数据;对第一压缩数据进行瓦片分割,得到各种瓦片大小的所有第二瓦片序列,根据第二压缩规则得到各种瓦片大小的第二压缩结果;获取各种瓦片大小的第二压缩程度;根据各种瓦片大小的第二压缩程度得到重压缩数据,对重压缩数据进行编码传输。本发明可以在保证生产数据无损的基础上,降低传输数据量,简单快速。
Description
技术领域
本发明涉及数据传输领域,具体涉及一种生产数据的高效传输方法。
背景技术
由于对自动化设备的控制和应用的精细化程度在不断提高,生产数据的数据量也在呈指数递增。而对运行相关的数据进行分析时,通常要求这些数据在线存储五年以上,且此类数据不仅需要安全有效的存储,还需要随时进行提取传输与访问。因此,在对此类数据进行存储与管理时,除了需要对其进行压缩处理,还需要保证数据无损。
传统压缩算法如游程编码因其算法简单、解压速度快而被广泛应用,但游程编码在对冗余程度较大的数据进行压缩处理时有较好的效果,但是生产数据往往存在一定的差异性,即相邻数据之间存在一定的差异,此时游程编码在对其进行处理时压缩效果差;而部分统计编码例如霍夫曼编码虽然可以保证一定的压缩率,但在进行解压缩时需要从头开始解压缩,不利于生产数据的随时提取传输与访问。
发明内容
本发明提供一种生产数据的高效传输方法,以解决现有的问题。
本发明的一种生产数据的高效传输方法采用如下技术方案:
本发明一个实施例提供了一种生产数据的高效传输方法,该方法包括以下步骤:
获取待压缩处理的生产数据,得到生产二进制序列;
通过各种瓦片大小对生产二进制序列进行瓦片分割,得到各种瓦片大小对应的所有第一瓦片序列;将所述所有第一瓦片序列中,序号为奇数的第一瓦片序列与相邻第一瓦片序列按照第一压缩规则进行压缩,得到各种瓦片大小对应的第一压缩结果,所述第一压缩结果包含第一标识符;根据各个第一压缩结果和生产二进制序列得到各种瓦片大小的第一压缩程度;根据各种瓦片大小的第一压缩程度得到第一最优瓦片;根据第一最优瓦片得到第一压缩数据;
使用各种瓦片大小对第一压缩数据进行瓦片分割,得到各种瓦片大小对应的所有第二瓦片序列,根据所述所有第二瓦片序列中包含的第一标识符对所述所有第二瓦片序列按照第二压缩规则进行压缩,得到各种瓦片大小对应的第二压缩结果;根据第一压缩数据与各种瓦片大小对应的第二压缩结果得到各种瓦片大小的第二压缩程度;根据各种瓦片大小的第二压缩程度得到重压缩数据,对重压缩数据进行编码传输。
优选的,所述各种瓦片大小对应的第一压缩结果的具体步骤为:
将各种瓦片大小对应的所有第一瓦片序列中,序号为奇数的各个第一瓦片序列记为各个第一序列,将所有第一瓦片序列中与各个第一序列相邻的第一瓦片序列记为各个第二序列;
分别对各个第一序列与第二序列进行异或操作,得到各个异或结果序列;
对各个异或结果序列添加第一标识符得到各个第一压缩结果,包括:对于异或结果序列中数值为0的二进制数,当第一序列与第二序列中对应位置上的二进制数值均为1时,对所述数值为0的二进制数进行第一标识符的添加;否则不对所述数值为0的二进制数进行第一标识符的添加;对于异或结果序列中数值为1的二进制数,当第一序列对应位置上的二进制数为1时,对所述数值为1的二进制数进行第一标识符的添加;否则,不对所述数值为1的二进制数进行第一标识符的添加;
对所有第一序列与第二序列进行异或操作,得到所有异或结果序列;对所有异或结果序列添加第一标识符得到各个压缩结果序列,所有压缩结果序列构成了各种瓦片大小的第一压缩结果。
优选的,所述各种瓦片大小的第一压缩程度的获取步骤包括:
将生产二进制序列中所包含的二进制数的个数记为压缩前的数据量;计算各种瓦片大小的第一压缩结果中包含的第一标识符的个数与第一标识符的比特位数之间的乘积,将所得乘积与所述第一压缩结果中所包含的二进制数的个数进行相加,所得加和结果作为压缩后的数据量;将压缩后的数据量与压缩前的数据量之间的比值作为各种瓦片大小的第一压缩程度。
优选的,所述第一最优瓦片的获取方法为:计算1.0与各种瓦片大小的第一压缩程度之间的差值,将所得差值作为各种瓦片大小的合适程度,将最大合适程度的瓦片大小为第一最优瓦片。
优选的,所述各种瓦片大小对应的第二压缩结果的获取方法为:
在各种瓦片大小对应的所有第二瓦片序列中,将序号为奇数的各个第二瓦片序列记为各个第三序列,将与各个第三序列相邻的第二瓦片序列记为各个第四序列;
将各个第三序列与各个第四序列按照第一压缩规则进行压缩,得到各个第二临时压缩结果;
根据各个第三序列与各个第四序列中包含第一标识符在对应的第二临时压缩结果中进行第二标识符的添加,得到各种瓦片大小对应的第二压缩结果,包括:
以第三序列与第四序列中的任意一个位置为目标位置,当第三序列中目标位置上的二进制数与第四序列目标位置上的二进制数均不存在第一标识符时,不对第二临时压缩结果中目标位置上进行第二标识符的添加;当第三序列中目标位置上的二进制数存在第一标识符,而第四序列目标位置上的二进制数不存在第一标识符时,对第二临时压缩结果中目标位置上进行第一种第二标识符的添加;当第三序列中目标位置上的二进制数不存在第一标识符,而第四序列目标位置上的二进制数存在第一标识符时,对第二临时压缩结果中目标位置上进行第二种第二标识符的添加;当第三序列中目标位置上的二进制数与第四序列目标位置上的二进制数均存在第一标识符时,对第二临时压缩结果中目标位置上进行第三种第二标识符的添加;
依次判断各个第二临时压缩结果中的各个二进制数是否需要进行第二标识符的添加以及需要添加的第二标识符的种类,得到各种瓦片大小对应的第二压缩结果。
本发明的有益效果是:首先对采集的生产数据进行进制转换,得到生产二进制序列,令无法进行压缩的十进制数据序列出现一定的规律性;然后通过对生产二进制序列进行异或操作后,使得运算之后的数据量远远小于原数据的数据量,降低需要传输的生产数据的数据量,从而提高生产数据的传输效率;通过对异或操作后的异或结果序列进行第一标识符的添加,从而对原生产数据进行区分,保证了生产数据还原的准确性,实现对生产数据的无损压缩;其中,通过对生产二进制序列进行自适应瓦片分割处理,得到第一最优瓦片,从而在按照第一压缩规则对生产二进制序列进行压缩时,使得需要增添的标识符尽可能的少,减小增添标识符所带来的存储量,得到第一压缩数据;最后利用第二压缩规则对第一压缩数据进一步压缩,得到最终需要传输的重压缩数据,进一步降低需要传输的生产数据的数据量,本发明通过制定异或操作规则与标识符增添规则,令原本冗余程度较小的十进制数据可以进行较大程度的压缩处理,同时在无损压缩的基础上,对第一压缩数据再次进行重压缩,压缩后的数据不仅可以还原得到原本的生产数据,还能大大减小原生产数据的数据量,达到高效传输的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种生产数据的高效传输方法的步骤流程图;
图2为本发明的一种生产数据的高效传输方法的第一压缩规则示意图;
图3为本发明的一种生产数据的高效传输方法的第二压缩规则示意图;
图4为本发明的一种生产数据的高效传输方法的生产数据压缩过程示意图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种生产数据的高效传输方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种生产数据的高效传输方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的一种生产数据的高效传输方法的步骤流程图,该方法包括以下步骤:
步骤S001:获取待压缩处理的生产数据,得到生产二进制序列。
生产数据通常为数字类的数据,例如传感器获取的数据,而计算机处理的数据通常为0、1二进制的数据,因此在对生产数据进行压缩处理时,首先需要进行进制转换,即将生产数据从十进制转换为二进制,每个生产数据的二进制编码长度为生产数据中最大数据值对应的二进制编码长度,将各个生产数据对应的二进制编码构成的序列记为生产二进制序列。
例如,假设待压缩的生产数据为:69、100、68、100、73、112、72、167,其中生产数据中的最大数据值为167,该数据对应的二进制编码长度为8位,为了便于后续快速解压缩,将这些待压缩生产数据转换为8位二进制编码;由此得到对应的生产二进制序列={0100010101100100 01000110 01100100 01001001 01110000 01001000 10100111},需要说明的是,最终得到的生产二进制序列中并不存在空格,此处只是为了将各个生产数据进行区分。
步骤S002:对生产二进制序列进行瓦片分割,得到各种瓦片大小对应的所有第一瓦片序列;根据第一压缩规则得到各种瓦片大小对应的第一压缩结果;根据各个第一压缩结果和生产二进制序列得到各种瓦片大小的第一压缩程度,进而得到第一压缩数据。
当待压缩的生产数据为:69、100、68、100、73、112、72、167时,生产数据之间的冗余程度很小,也不存在周期性的规律,如果使用传统的游程编码对其进行压缩,无法得到较好的压缩效果,即使将这些生产数据转换为二进制编码后,由于数据量较大,使用游程编码也难以进行较好的压缩。
虽然生产数据大小不完全一致,但是数据值之间差值较小,当各个生产数据转化为二进制编码后,所得二进制编码序列中会存在较多位置相同且数值相同的二进制数,如果可以对各个生产数据对应的二进制编码序列中,具有相同数值的二进制数进一步压缩,可以大大降低生产数据的存储量,例如将两个二进制编码序列进行异或操作,此时这两个二进制编码序列中相同位置上的数值将会被转化为0,从而增加生产二进制序列的冗余程度,从而得到更好的压缩效果。
例如,生产数据69、68的二进制编码分别为:01000101、01000100,二者进行异或操作后的编码值为:00000001,此时通过增加标识符对这两个二进制编码序列进行区分,即可达到用少量字符表示大量数据的目的,最大压缩率甚至可以提高一倍,然后再对异或操作之后的结果继续异或操作,即可实现对生产二进制序列的多重压缩效果,若可以对生产二进制编码序列进行合适得分段,需要增添的标识符也会大大降低,即每一次异或操作均可尽可能达到极限压缩的效果。故本实施例通过对生产二进制序列进行自适应分段,使得最终得到的压缩率可以大大提高,则对生产数据的具体压缩过程如下:
为了保证异或操作后可以对原来的二进制序列进行还原,在使用异或操作对生产二进制序列进行处理之前,需要先明确压缩规则,将该压缩规则记为第一压缩规则,在对生产二进制序列进行初次压缩时添加的标识符称为第一标识符,本实施例中的第一标识符为“-”,对两个二进制序列进行异或操作后得到的异或结果序列,数值为0的二进制数表示两个二进制序列中对应位置上的二进制数相同,即对应位置上的数值同为0或同为1;数值为1的二进制数表示两个二进制序列中对应位置上的二进制数不同,此时,由于异或操作所得二进制序列是两个二进制序列相比较的结果,因此仅根据异或操作所得二进制序列无法确定原来的两个二进制序列的具体数据,因此需要对异或操作后所得二进制序列中数值为0的二进制数与数值为1的二进制数分别进行处理。
以生产数据69、68为例,记生产数据69对应的二进制序列为A序列,也就是第一序列,生产数据68对应的二进制序列为B序列,也就是第二序列,A序列与B序列的异或操作后得到的异或结果序列记为E序列,即A=01000101,B=01000100,E=00000001;
分别对E序列中数值为0的二进制数进行处理,即E序列中的前七位二进制数,当A序列与B序列中某一个位置上的二进制数均为0时,E序列中对应位置上的二进制数不添加第一标识符;当A序列与B序列中某一个位置上的二进制数均为1时,E序列中对应位置上的二进制数需要添加第一标识符,即此时将E序列中该位置上的二进制数“0”添加第一标识符后的结果记为“-0”,其中第一标识符“-”在存储或传输时均不可以省略,依次对E序列中的各个数值为0的二进制数进行处理,增添第一标识符后E序列对应的前七位表示为:0,-0,0,0,0,-0,0;
然后再对E序列中数值为1的二进制数进行处理,即对E序列中的第八位二进制,以A序列为参照序列,当A序列中第八位二进制数为1时,将E序列中对应位置上的二进制数“1”添加第一标识符后的结果记为“-1”,当A序列中第八位二进制数为0时,不对E序列中对应位置上的二进制数进行第一标识符的添加,由于此时A序列对应的生产数据为69,该数据对应的二进制序列中第八位二进制数为1,故对整个E序列中的各个二进制数进行处理后,得到的最终结果为0,-0,0,0,0,-0,0,-1;
根据对E序列进行第一标识符的添加处理后得到的结果对原二进制序列进行还原:由于该结果第一位二进制数为“0”,表示A序列与B序列中第一位相同,且由于该二进制数的数值不带第一标识符,对应A序列与B序列中第一位二进制数均为0,而该结果中第二位二进制数为“-0”,表示A序列与B序列中第二位相同,且由于该二进制数的数值带第一标识符,对应A序列与B序列中第一位二进制数均为1;该结果的第八位二进制为“-1”,表示A序列与B序列中第八位不相同,且由于该二进制数的数值带第一标识符,对应A序列中第八位二进制数为1,B序列中第八位二进制数为0;由此可以根据对E序列添加第一标识符后的结果中各个二进制数对原二进制序列进行还原,保证了对生产数据压缩过程中的准确性。
第一压缩规则中,A序列与B序列相同位置上不同二进制数时对应的第一标识符添加情况如图2所示,对于任意两个二进制序列,首先对这两个二进制序列进行异或操作,得到异或结果序列;然后根据两个二进制序列中相同位置上二进制数之间的差异,对异或结果序列对应位置的二进制数进行第一标识符的添加,得到对应的压缩结果序列,从而降低数据量。
理想情况下,可以直接根据两个二进制序列进行异或操作后得到的异或结果序列直接通过逆变换进行还原,例如:对00000000与11111111进行异或操作后,得到的异或结果序列为11111111,根据第一压缩规则并不需要对该异或结果序列进行第一标识符的添加,根据该异或结果序列就可以完整的还原序列00000000与11111111。但实际情况中,采集的生产数据所对应二进制序列不会像序列00000000这样非常规整,而A序列中1的数量决定了对异或结果序列需要增加第一标识符的数量,即当A序列与B序列对应位置上的二进制数均为1时,需要对异或结果序列中对应位置上的“0”进行第一标识符的添加;当A序列某一位置上的二进制数为1,而B序列中对应位置上的二进制数为0,则此时需要对异或结果序列中对应位置上的“1”进行第一标识符的添加,其他情况则不需要进行第一标识符的添加,因此当A序列中1的数量越少,异或结果序列中需要增加的第一标识符数量也越少,对应压缩率越大。
故对生产二进制序列进行瓦片分割,记瓦片大小为/>,其中/>,根据瓦片大小对生产二进制序列/>进行分割,即将生产二进制序列中每n个二进制数划分为一个瓦片序列,将其称为第一瓦片序列,由此得到若干个长度为n的第一瓦片序列;其中,如果得到的第一瓦片序列个数为奇数,则在生产二进制序列的末端进行补0,使最终得到的第一瓦片序列个数为偶数,记最终的第一瓦片序列个数为m;
由于本实施例中对每个生产数据进行的是定长编码,即每个生产数据对应的二进制序列长度是相同的,故在进行还原时可以确定补0的位数,后续直接舍弃补0位即可。为了保证生产二进制序列的时序性,在进行异或操作时,是对相邻的第一瓦片序列两两进行异或操作的,例如第1个第一瓦片序列与第2个第一瓦片序列进行异或操作,第3个第一瓦片序列与第4个第一瓦片序列进行异或操作,以此类推,此时奇数个第一瓦片序列对应第一压缩规则中的A序列,偶数个第一瓦片序列对应第一压缩规则中的B序列,因此第一标识符的添加数量取决于奇数个第一瓦片序列中所包含的数值为1的二进制数的个数;
对于一种瓦片大小对应的所有第一瓦片序列按照第一压缩规则进行压缩,得到各个压缩结果序列,所有压缩结果序列构成了该瓦片大小的第一压缩结果,当瓦片大小为1×n时,该瓦片大小的合适程度可表示为:/>
式中表示瓦片大小为/>时的合适程度;/>表示以/>大小的瓦片进行分割后得到的第一瓦片序列数量;/>表示第/>个第一瓦片序列中数值为1的二进制数的个数;/>为第一标识符的比特位数。
由于两个八位二进制进行异或操作后,得到的异或结果序列也是八位二进制,因此将生产二进制序列的相邻第一瓦片序列进行异或操作后,得到的各个异或结果序列中所包含的二进制数的总个数为整个生产二进制序列中二进制数总个数的一半;其中,将生产二进制序列的相邻第一瓦片序列进行异或操作后,得到的所有异或结果序列中包含的二进制数的总个数为,需要添加的第一标识符数量为/>,此时得到的压缩后的数据量即为所有异或结果序列中包含的二进制数的总个数与添加的所有第一标识符的总个数的加和结果,也就是/>;而整个生产二进制序列所包含的二进制数的个数/>即为压缩前的数据量;当压缩后的数据量相对于压缩前的数据量越小,压缩程度越高,压缩效果越好,对应该瓦片大小的合适程度也越高,反之,对应该瓦片大小的合适程度越低,故本实施例将压缩后的数据量与压缩前的数据量之间的比值作为当瓦片大小为1×n时对应的压缩程度,压缩程度越高,该瓦片大小的合适程度越高,故/>即为1.0与压缩程度之间的差值,即/>,对其进行化简后,即可得到上述的表达式。
将合适程度最大的瓦片大小作为第一最优瓦片,将第一最优瓦片对应的第一压缩结果作为对生产数据进行初次压缩后的第一压缩数据。
步骤S003:对第一压缩数据进行瓦片分割,得到各种瓦片大小对应的所有第二瓦片序列,根据第二压缩规则得到各种瓦片大小对应的第二压缩结果;获取各种瓦片大小的第二压缩程度;根据各种瓦片大小的第二压缩程度得到重压缩数据,对重压缩数据进行编码传输。
将所得第一压缩数据记为,重复上述方法,对/>进行重压缩,不同的是,此时需要采用不同的标识符对不同的压缩过程进行区分,记重压缩时的压缩规则为第二压缩规则,例如,在获取第一压缩数据的压缩过程中设置的标识符为第一标识符“-”,则在对第一压缩数据进行重压缩的过程中,对于二进制数之间的差异仍然添加的是第一标识符,而对于第一标识符的存在情况需要设置其他标识符,将用于表征第一标识符存在情况而添加的标识符为第二标识符,如“+”等,若第一压缩数据中存在第一标识符的二进制数,此时在对其重压缩时也需要进行相应的记录,为了便于表述,设第一压缩数据中的两个二进制序列分别记为C序列和D序列,则第二压缩规则中,C序列与D序列相同位置上不同二进制数时对应的第二标识符添加情况如图3所示,需要说明的是,第一标识符“-”只针对二进制数的数值,在进行重压缩时根据二进制数的数值,按照第一压缩规则对第一标识符“-”进行相应的添加;而第二标识符是根据第一标识符“-”的存在情况进行相应的添加;
在进行重压缩时,整体流程与第一压缩数据的获取过程一致,即首先使用各种瓦片大小对第一压缩数据进行瓦片分割,得到各种瓦片大小对应的所有第二瓦片序列;
其中,对于一种瓦片大小对应的所有第二瓦片序列,根据所有第二瓦片序列中包含的第一标识符对所有第二瓦片序列按照第二压缩规则进行压缩,得到该瓦片大小对应的第二压缩结果,具体过程为:将该瓦片大小对应的所有第二序列中,任意一个序号为奇数的第二瓦片序列记为C序列,记C序列中第i个二进制数为r,将与C序列相邻的第二瓦片序列记为D序列,记D序列中第i个二进制数为t,首先对C序列与D序列按照第一压缩规则进行压缩,得到C序列与D序列的第二临时压缩结果,对于第二标识符的添加情况共包括四种:当r与t均不存在第一标识符“-”时,在所得第二临时压缩结果对应位置上不需要添加第二标识符;当r存在第一标识符但是t不存在第一标识符时,在所得第二临时压缩结果对应位置上添加的第二标识符为第一种第二标识符“÷”;当r不存在第一标识符但是t存在第一标识符时,在所得第二临时压缩结果对应位置上添加的第二标识符为第二种第二标识符“×”;当r与t均存在第一标识符时,在所得第二临时压缩结果对应位置上添加的第二标识符为第三种第二标识符“+”;依次该瓦片大小的相邻第二瓦片序列对应的第二临时序列进行第二标识符的添加,第二标识符添加完成后的所有计算结果构成了该瓦片大小的第二压缩结果;
例如,当四个生产数据分别为69、68、69、68时,对应的压缩二进制序列为0-0000-00-1,0-0000-00-1;此时首先对这两个压缩二进制序列进行异或操作并增加标识符,则按照第一压缩规则,对这两个压缩二进制序列的二进制数之间的差异进行异或操作后得到的第二临时压缩结果为:0000000-0;然后结合各个二进制数的第一标识符的存在情况对第二临时压缩结果进行第二标识符添加后的运算结果为0+0000+00+-0;则从生产数据转化为重压缩数据的过程如图4所示。
对各个瓦片大小对应的第二瓦片序列进行处理,得到各个瓦片大小的第二压缩结果;本实施例中第一标识符只有“-”;第二标识符包括三种,分别为“÷”,“×”,“+”;
根据第一压缩数据与各种瓦片大小对应的第二压缩结果之间数据量的变化情况,即压缩前与压缩后数据量的之间的差异计算各种瓦片大小的第二压缩程度,进而得到重压缩时各种瓦片大小的合适程度;将此时合适程度最大的瓦片大小作为第二最优瓦片,将第二最优瓦片对应的第二压缩结果作为最终的重压缩数据。
需要说明的是,由于标识符最终也是需要按照ASCII码转换为二进制数据,因此本实施例中设置的标识符“-”,“+”,“×”以及“÷”只是为了叙述方便,实际设置的标识符对应的ASCII码数值较小,本实施例中的“-”,“+”,“×”,“÷”分别对应ASCII码中数值为0,1,2,3的符号,即这四种标识符的比特位数分别为1,1,2,2。
在进行数据传输时,需要记录定长编码的长度、第一次压缩时对应的第一最优瓦片长度与重压缩时对应的第二最优瓦片长度,而对应的压缩规则与标识符存储于压缩系统中,所有类型的数据进行压缩编码时采用相同的标识符规则,至此完成了对生产数据的压缩,在保证生产数据准确性的基础上,降低了需要传输的数据量,从而实现对生产数据的高效传输。
本实施例首先对采集的生产数据进行进制转换,得到生产二进制序列,令无法进行压缩的十进制数据序列出现一定的规律性;然后通过对生产二进制序列进行异或操作后,使得运算之后的数据量远远小于原数据的数据量,降低需要传输的生产数据的数据量,从而提高生产数据的传输效率;通过对异或操作后的异或结果序列进行第一标识符的添加,从而对原生产数据进行区分,保证了生产数据还原的准确性,实现对生产数据的无损压缩;其中,通过对生产二进制序列进行自适应瓦片分割处理,得到第一最优瓦片,从而在按照第一压缩规则对生产二进制序列进行压缩时,使得需要增添的标识符尽可能的少,减小增添标识符所带来的存储量,得到第一压缩数据;最后利用第二压缩规则对第一压缩数据进一步压缩,得到最终需要传输的重压缩数据,进一步降低需要传输的生产数据的数据量,本发明通过制定异或操作规则与标识符增添规则,令原本冗余程度较小的十进制数据可以进行较大程度的压缩处理,同时在无损压缩的基础上,对第一压缩数据再次进行重压缩,压缩后的数据不仅可以还原得到原本的生产数据,还能大大减小原生产数据的数据量,达到高效传输的目的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种生产数据的高效传输方法,其特征在于,该方法包括以下步骤:
获取待压缩处理的生产数据,得到生产二进制序列;
通过各种瓦片大小对生产二进制序列进行瓦片分割,得到各种瓦片大小对应的所有第一瓦片序列;将所述所有第一瓦片序列中,序号为奇数的第一瓦片序列与相邻第一瓦片序列按照第一压缩规则进行压缩,得到各种瓦片大小对应的第一压缩结果,所述第一压缩结果包含第一标识符;
所述各种瓦片大小对应的第一压缩结果的具体步骤为:
将各种瓦片大小对应的所有第一瓦片序列中,序号为奇数的各个第一瓦片序列记为各个第一序列,将所有第一瓦片序列中与各个第一序列相邻的第一瓦片序列记为各个第二序列;
分别对各个第一序列与第二序列进行异或操作,得到各个异或结果序列;
对各个异或结果序列添加第一标识符得到各个第一压缩结果,包括:对于异或结果序列中数值为0的二进制数,当第一序列与第二序列中对应位置上的二进制数值均为1时,对所述数值为0的二进制数进行第一标识符的添加;否则不对所述数值为0的二进制数进行第一标识符的添加;对于异或结果序列中数值为1的二进制数,当第一序列对应位置上的二进制数为1时,对所述数值为1的二进制数进行第一标识符的添加;否则,不对所述数值为1的二进制数进行第一标识符的添加;
对所有第一序列与第二序列进行异或操作,得到所有异或结果序列;对所有异或结果序列添加第一标识符得到各个压缩结果序列,所有压缩结果序列构成了各种瓦片大小的第一压缩结果;
根据各个第一压缩结果和生产二进制序列得到各种瓦片大小的第一压缩程度;根据各种瓦片大小的第一压缩程度得到第一最优瓦片;根据第一最优瓦片得到第一压缩数据;使用各种瓦片大小对第一压缩数据进行瓦片分割,得到各种瓦片大小对应的所有第二瓦片序列,根据所述所有第二瓦片序列中包含的第一标识符对所述所有第二瓦片序列按照第二压缩规则进行压缩,得到各种瓦片大小对应的第二压缩结果;
所述各种瓦片大小对应的第二压缩结果的获取方法为:
在各种瓦片大小对应的所有第二瓦片序列中,将序号为奇数的各个第二瓦片序列记为各个第三序列,将与各个第三序列相邻的第二瓦片序列记为各个第四序列;
将各个第三序列与各个第四序列按照第一压缩规则进行压缩,得到各个第二临时压缩结果;
根据各个第三序列与各个第四序列中包含第一标识符在对应的第二临时压缩结果中进行第二标识符的添加,得到各种瓦片大小对应的第二压缩结果,包括:
以第三序列与第四序列中的任意一个位置为目标位置,当第三序列中目标位置上的二进制数与第四序列目标位置上的二进制数均不存在第一标识符时,不对第二临时压缩结果中目标位置上进行第二标识符的添加;当第三序列中目标位置上的二进制数存在第一标识符,而第四序列目标位置上的二进制数不存在第一标识符时,对第二临时压缩结果中目标位置上进行第一种第二标识符的添加;当第三序列中目标位置上的二进制数不存在第一标识符,而第四序列目标位置上的二进制数存在第一标识符时,对第二临时压缩结果中目标位置上进行第二种第二标识符的添加;当第三序列中目标位置上的二进制数与第四序列目标位置上的二进制数均存在第一标识符时,对第二临时压缩结果中目标位置上进行第三种第二标识符的添加;
依次判断各个第二临时压缩结果中的各个二进制数是否需要进行第二标识符的添加以及需要添加的第二标识符的种类,得到各种瓦片大小对应的第二压缩结果;
根据第一压缩数据与各种瓦片大小对应的第二压缩结果得到各种瓦片大小的第二压缩程度;根据各种瓦片大小的第二压缩程度得到重压缩数据,对重压缩数据进行编码传输。
2.根据权利要求1所述的一种生产数据的高效传输方法,其特征在于,所述各种瓦片大小的第一压缩程度的获取步骤包括:
将生产二进制序列中所包含的二进制数的个数记为压缩前的数据量;计算各种瓦片大小的第一压缩结果中包含的第一标识符的个数与第一标识符的比特位数之间的乘积,将所得乘积与所述第一压缩结果中所包含的二进制数的个数进行相加,所得加和结果作为压缩后的数据量;将压缩后的数据量与压缩前的数据量之间的比值作为各种瓦片大小的第一压缩程度。
3.根据权利要求1所述的一种生产数据的高效传输方法,其特征在于,所述第一最优瓦片的获取方法为:计算1.0与各种瓦片大小的第一压缩程度之间的差值,将所得差值作为各种瓦片大小的合适程度,将最大合适程度的瓦片大小为第一最优瓦片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311438802.6A CN117155408B (zh) | 2023-11-01 | 2023-11-01 | 一种生产数据的高效传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311438802.6A CN117155408B (zh) | 2023-11-01 | 2023-11-01 | 一种生产数据的高效传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117155408A CN117155408A (zh) | 2023-12-01 |
CN117155408B true CN117155408B (zh) | 2023-12-29 |
Family
ID=88901276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311438802.6A Active CN117155408B (zh) | 2023-11-01 | 2023-11-01 | 一种生产数据的高效传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117155408B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190091586A (ko) * | 2018-01-29 | 2019-08-07 | 김정훈 | TCP/IP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치 |
JP2022089475A (ja) * | 2020-12-04 | 2022-06-16 | 国立大学法人電気通信大学 | 通信システム、通信方法、およびプログラム |
CN116915873A (zh) * | 2023-09-13 | 2023-10-20 | 通用电梯股份有限公司 | 基于物联网技术的高速电梯运行数据快速传输方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210067952A1 (en) * | 2019-09-03 | 2021-03-04 | Nvidia Corporation | Performing scrambling and/or descrambling on parallel computing architectures |
-
2023
- 2023-11-01 CN CN202311438802.6A patent/CN117155408B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190091586A (ko) * | 2018-01-29 | 2019-08-07 | 김정훈 | TCP/IP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치 |
JP2022089475A (ja) * | 2020-12-04 | 2022-06-16 | 国立大学法人電気通信大学 | 通信システム、通信方法、およびプログラム |
CN116915873A (zh) * | 2023-09-13 | 2023-10-20 | 通用电梯股份有限公司 | 基于物联网技术的高速电梯运行数据快速传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117155408A (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116303374B (zh) | 基于sql数据库的多维度报表数据优化压缩方法 | |
CN115514375B (zh) | 一种缓存数据压缩方法 | |
CN116016606B (zh) | 一种基于智慧云的污水处理运维数据高效管理系统 | |
CN116723337B (zh) | 一种hdmi高清数据优化传输方法及系统 | |
WO2010044100A1 (en) | Lossless compression | |
CN103702133B (zh) | 一种图像压缩展示方法及其装置 | |
CN116634029B (zh) | 基于区块链的用工平台数据快速传输方法 | |
CN110518917A (zh) | 基于Huffman编码的LZW数据压缩方法及系统 | |
US20220005229A1 (en) | Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie | |
CN117155408B (zh) | 一种生产数据的高效传输方法 | |
WO2014131526A1 (en) | Entropy modifier and method | |
CN116915873A (zh) | 基于物联网技术的高速电梯运行数据快速传输方法 | |
CN115632661B (zh) | 网络安全信息高效压缩传输方法 | |
CN116109714A (zh) | 基于神经网络的数据编码存储方法及系统 | |
CN115913248A (zh) | 一种直播软件开发数据智能管理系统 | |
CN108259515A (zh) | 一种适用于带宽受限下传输链路的无损信源压缩方法 | |
CN115913246A (zh) | 基于自适应瞬时熵的无损数据压缩算法 | |
US8754791B1 (en) | Entropy modifier and method | |
CN117221414B (zh) | 一种调制解调器数据智能传输方法 | |
CN115086684B (zh) | 一种基于crc的图像压缩方法、系统及介质 | |
CN116561084B (zh) | 一种灵活用工平台数据智能存储方法及系统 | |
CN109698704B (zh) | 比对型基因测序数据解压方法、系统及计算机可读介质 | |
CN117240304B (zh) | 一种电子发票数据处理方法及系统 | |
CN118018331B (zh) | 一种大数据云服务的隐私保护方法及系统 | |
KR20030096504A (ko) | 이진 산술 부호화를 이용한 다중 부호 데이터 압축 방법및 장치 |
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 |