CN116681036A - 基于数字孪生的工业数据存储方法 - Google Patents
基于数字孪生的工业数据存储方法 Download PDFInfo
- Publication number
- CN116681036A CN116681036A CN202310962428.3A CN202310962428A CN116681036A CN 116681036 A CN116681036 A CN 116681036A CN 202310962428 A CN202310962428 A CN 202310962428A CN 116681036 A CN116681036 A CN 116681036A
- Authority
- CN
- China
- Prior art keywords
- sequence
- character
- frequency
- sequence number
- target
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013500 data storage Methods 0.000 title claims abstract description 18
- 238000010276 construction Methods 0.000 claims description 2
- 238000007906 compression Methods 0.000 abstract description 23
- 230000006835 compression Effects 0.000 abstract description 23
- 238000013144 data compression Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000013386 optimize process Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及数据压缩存储技术领域,具体涉及基于数字孪生的工业数据存储方法,包括:获取数字孪生模型实时收集的工业数据,将工业数据转换为字符序列,获取每种字符在字符序列中出现时的序号,构成每种字符的序号序列,将每种字符在字符序列中出现的次数作为每种字符的第一频次,根据字符序列的长度获取多个候选长度以及每个候选长度的第二频次,根据字符的序号序列、第一频次以及每个候选长度的第二频次预测每个字符以及目标长度的编码频次,根据字符以及目标长度的编码频次构建霍夫曼树,根据霍夫曼树对字符序列进行压缩,得到压缩数据,对压缩数据进行存储。本发明相对于霍夫曼编码压缩效率更高。
Description
技术领域
本发明涉及数据压缩存储技术领域,具体涉及基于数字孪生的工业数据存储方法。
背景技术
数字孪生是通过数字模型或仿真的方式来呈现和模拟现实物理实体或系统的虚拟实体。数字孪生通过实时收集、整合和分析大量的工业数据,提供对物理实体的全面认知。这些数据可以用于监测设备状态、预测故障、优化工艺和提高效率。为了支持这些数据驱动的分析和决策过程,需要进行可靠的工业数据存储,以确保数据的完整性、可追溯性和可访问性。
由于工业数据的数据量庞大,为了减少存储空间降低存储成本,需要对工业数据进行压缩存储。现有的压缩方法如霍夫曼编码将工业数据序列中的每个数据作为一个编码对象,针对每个编码对象进行编码压缩,压缩效率与编码对象的个数相关。受编码对象个数的影响,霍夫曼编码的压缩效率难以达到最大。
发明内容
本发明提供基于数字孪生的工业数据存储方法,以解决现有的问题。
本发明的基于数字孪生的工业数据存储方法采用如下技术方案:
本发明一个实施例提供了基于数字孪生的工业数据存储方法,该方法包括以下步骤:
获取数字孪生模型实时收集的工业数据,将工业数据转换为字符序列;
获取每种字符在字符序列中出现时的序号,构成每种字符的序号序列;将每种字符在字符序列中出现的次数作为每种字符的第一频次;根据字符序列的长度获取多个候选长度以及每个候选长度的第二频次;
根据字符的序号序列、第一频次以及每个候选长度的第二频次预测每个字符以及目标长度的编码频次;
根据字符以及目标长度的编码频次构建霍夫曼树;根据霍夫曼树对字符序列进行压缩,得到压缩数据;对压缩数据进行存储。
优选的,所述根据字符序列的长度获取多个候选长度以及每个候选长度的第二频次,包括的具体步骤如下:
获取字符序列的长度L,将[2,]范围内每个整数分别作为一个候选长度;将0分别作为每个候选长度的第二频次。
优选的,所述根据字符的序号序列、第一频次以及每个候选长度的第二频次预测每个字符以及目标长度的编码频次,包括的具体步骤如下:
S1:将序号1作为目标序号;构建一个空的序列,记为缩减序列;
S2:将目标序号所在的序号序列作为目标序列;当目标序列中目标序号之后不存在其他元素时,获取新的目标序号,执行S3;当目标序列中目标序号之后的元素个数大于或等于1时,获取目标间隔以及候选序号,执行S201;
S201:获取候选序号在所在的序号序列中的下一个元素,作为间隔序号;当间隔序号不存在时,对候选长度的第二频次进行更新,获取新的目标序号,执行S3;当间隔序号存在时,执行S202;
S202:获取候选序号与间隔序号的差值绝对值,作为第一间隔;对第一间隔进行判断,包括:
当第一间隔小于目标间隔时,获取间隔序号在所在的序号序列中的下一个元素,作为新的间隔序号,重复步骤S202;
当第一间隔等于目标间隔,且间隔序号不在缩减序列中时,将间隔序号作为该目标序号的入选序号,根据入选序号对字符的第一频次以及缩减序列进行更新;将候选序号加一,作为新的候选序号,重复步骤S201- S202;
当第一间隔大于目标间隔时,对候选长度的第二频次进行更新,获取新的目标序号,执行S3;
S3:重复S2,直到所有序号都已作为目标序号完成遍历时停止迭代;将每个字符的第一频次作为每个字符的编码频次,将第二频次大于0的候选长度作为目标长度,将每个目标长度的第二频次作为每个目标长度的编码频次。
优选的,所述获取新的目标序号,包括的具体步骤如下:
将目标序号加一,作为新的目标序号。
优选的,所述获取目标间隔以及候选序号,包括的具体步骤如下:
计算目标序列中目标序号与下一个元素的差值绝对值,作为目标间隔;将目标序号加一,将所得结果作为候选序号。
优选的,所述对候选长度的第二频次进行更新,包括的具体步骤如下:
统计目标序号对应的入选序号的个数,记为N;将值为N+1的候选长度的第二频次加一。
优选的,所述根据入选序号对字符的第一频次以及缩减序列进行更新,包括的具体步骤如下:
将入选序号所在的序号序列对应的字符的第一频次减一;将入选序号加入到缩减序列中。
优选的,所述根据字符以及目标长度的编码频次构建霍夫曼树,包括的具体步骤如下:
对每种字符进行判断,包括:若存在目标长度的数值与该字符的数值相同,则将该字符的数值作为一种编码对象,将该目标长度与该字符的编码频次相加,作为该编码对象的预测频次;若不存在目标长度的数值与该字符的数值相同,则将该字符单独作为一种编码对象,将该字符的编码频次作为该编码对象的预测频次;
对每种目标长度进行判断,若不存在字符的数值与该目标长度的数值相同,则将该目标长度单独作为一种编码对象,将该目标长度的编码频次作为该编码对象的预测频次;
将每种编码对象的预测频次除以所有种编码对象的预测频次之和,得到每种编码对象的预测频率;根据每种编码对象的预测频率构建霍夫曼树。
优选的,所述根据霍夫曼树对字符序列进行压缩,得到压缩数据,包括的具体步骤如下:
S1:构建一个空的已编码序列以及一个空的标记序列;
S2:将字符序列中第一个字符作为待编码字符,对待编码字符进行判断,包括:
当待编码字符在已编码序列中不存在时,获取与待编码字符数值相同的编码对象在霍夫曼树中的码字,作为待编码字符的编码结果;将待编码字符添加到已编码序列的末尾,并从字符序列中剔除;将1添加到标记序列的末尾;
当待编码字符在已编码序列中存在时,获取待编码字符在已编码序列中最后一次出现的位置,作为起始节点,从已编码序列中的起始节点开始,对字符序列进行最长匹配,获取匹配结果的长度,作为匹配长度;获取与待编码字符数值相同的编码对象在霍夫曼树中的码字,作为第一码字;获取与匹配长度数值相同的编码对象在霍夫曼树中的码字,作为第二码字;将第一码字和第二码字共同作为匹配结果的编码结果;将匹配结果添加到已编码序列的末尾,并从字符序列中剔除;将0添加到标记序列的末尾;
S3:重复S2,直到字符序列为空时停止迭代;将得到的所有编码结果按照顺序拼接成的 二进制序列作为最终的压缩数据。
优选的,所述将工业数据转换为字符序列,包括的具体步骤如下:
预设分组长度k,将工业数据编码成二进制数据,将二进制数数据每k位分为一组,得到多组k位二进制数,将每组k位二进制数转换为十进制数,将得到的所有十进制数构成的序列作为字符序列。
本发明的技术方案的有益效果是:现有的压缩方法如霍夫曼编码将工业数据序列中的每个数据作为一个编码对象,针对每个编码对象进行编码压缩,压缩效率与编码对象的个数相关。受编码对象个数的影响,霍夫曼编码的压缩效率难以达到最大;本发明获取数字孪生模型实时收集的工业数据,将工业数据转换为字符序列,对字符序列进行编码的过程中,根据已编码的字符,将重复出现的字符串利用字符串首位的字符以及字符串的长度来表示,相较于对每个字符进行编码,节省了编码对象,压缩效率更高;为了避免编码过程中减少编码对象导致字符频率产生变化,使得根据字符的频率构建的霍夫曼树无法实现最优压缩,本发明获取每种字符在字符序列中出现时的序号,构成每种字符的序号序列,将每种字符在字符序列中出现的次数作为每种字符的第一频次,根据字符序列的长度获取多个候选长度以及每个候选长度的第二频次,根据字符的序号序列、第一频次以及每个候选长度的第二频次预测每个字符以及目标长度的编码频次,根据字符以及目标长度的编码频次构建霍夫曼树,尽可能使得编码过程中实际出现次数较多的编码对象的编码长度短,同时出现次数较多的长度的编码长度短,确保压缩效率达到最大,本发明相较于传统的霍夫曼编码压缩效率更高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的基于数字孪生的工业数据存储方法的步骤流程图;
图2为本发明的霍夫曼树;
图3为现有霍夫曼编码的霍夫曼树。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的基于数字孪生的工业数据存储方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的基于数字孪生的工业数据存储方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的基于数字孪生的工业数据存储方法的步骤流程图,该方法包括以下步骤:
S001.采集工业数据,获取字符序列。
需要说明的是,数字孪生是通过数字模型或仿真的方式来呈现和模拟现实物理实体或系统的虚拟实体,数字孪生通过实时收集、整合和分析大量的工业数据,提供对物理实体的全面认知。
在本发明实施例中,获取数字孪生模型实时收集的工业数据。
预设一个分组长度k,其中本实施例以k=5为例进行叙述,本实施例不进行具体限定,其中k可根据具体实施情况而定。为了便于统一压缩,将工业数据编码成二进制数据,将二进制数数据每k位分为一组,得到多组k位二进制数,将每组k位二进制数转换为十进制数,将得到的所有十进制数构成的序列作为字符序列。
S002.预测每个字符的编码频次以及目标长度的编码频次。
需要说明的是,现有的霍夫曼编码算法针对字符序列中每一个字符进行编码。由于工业数据为实时收集的连续时间内的工业数据,数据之间具有局部相似性。将工业数据编码成字符序列之后,字符序列中的字符也保留了工业数据中数据之间的局部相似性。因此可在霍夫曼编码的过程中,利用已编码的多个字符,对当前待编码的字符串进行编码,从而减少编码对象,提高压缩效率。霍夫曼编码过程中,基于每个字符的频率构建霍夫曼树,使得频率大的字符的编码长度短,频率小的字符的编码长度长。若编码过程中减少编码对象,字符的频率会产生变化,若仍根据字符序列中每种字符的频率构建霍夫曼树,则可能使得频率较大的编码对象的编码长度较长,难以达到最优的压缩效果。同时还需要对长度进行编码,此时需要结合字符序列中字符的分布,预测每种字符的编码频次以及长度的编码频次,以便后续根据编码频率构建霍夫曼树,尽可能使得编码过程中出现次数较多的编码对象的编码长度短,同时出现次数较多的长度的编码长度短,确保压缩效率达到最大。
在本发明实施例中,将字符序列中每个十进制数字视作一个字符。获取每种字符在字符序列中出现时的序号,构成每种字符的序号序列。例如字符序列{1,3,2,7,3,2,7,1,3,2,7,3,2,7}中字符“1”的序号序列为{1,8},字符“2”的序号序列为{3,6,10,13},字符“3”的序号序列为{2,5,9,12},字符“7”的序号序列为{4,7,11,14}。
获取每种字符在字符序列中出现的次数,作为每种字符的第一频次。获取字符序列的长度L,将[2,]范围内每个整数分别作为一个候选长度。将0分别作为每个候选长度的第二频次。
根据字符的第一频次预测每个字符的编码频次:
1、序号1作为目标序号;构建一个空的序列,记为缩减序列,用来存放在后续编码过程中,可能被缩减的编码对象。
2、将目标序号所在的序号序列作为目标序列,将目标序列用A来表示,假设目标序号为目标序列中第个元素,将目标序号表示为/>。
当目标序列中目标序号之后不存在其他元素时,即目标序号为目标序列中最后一个元素时,将目标序号加一,作为新的目标序号。执行步骤3;
当目标序列中目标序号之后的元素个数大于或等于1时,计算目标序列中目标序号与下一个元素/>的差值绝对值/>,作为目标间隔。将目标序号/>加一,将所得结果/>作为候选序号。
2.1、将候选序号所在的序号序列用B来表示,假设候选序号为B中第j个元素,将候选序号表示为,即/>。获取候选序号/>在所在的序号序列B中的下一个元素/>,作为间隔序号。当间隔序号不存在时,即候选序号为其所在序号序列的最后一个元素时,统计目标序号对应的入选序号的个数,记为N。将值为N+1的候选长度的第二频次加一。将目标序号加一,作为新的目标序号,执行步骤3;反之,当间隔序号存在时,执行步骤2.2。
2.2、获取候选序号与间隔序号的差值绝对值,作为第一间隔。对第一间隔进行判断,具体为:
当第一间隔小于目标间隔时,获取间隔序号在所在的序号序列中的下一个元素,作为新的间隔序号,重复步骤2.2;
当第一间隔等于目标间隔,且间隔序号不在缩减序列中时,将间隔序号作为该目标序号的入选序号,将入选序号所在的序号序列对应的字符的第一频次减一。将入选序号加入到缩减序列中。将候选序号加一,作为新的候选序号,重复步骤2.1-2.2。
当第一间隔大于目标间隔时,统计目标序号对应的入选序号的个数,记为N。当N>0时,将值为N+1的候选长度的第二频次加一。将目标序号加一,作为新的目标序号,执行步骤3。
3.重复步骤2,直到所有序号都已作为目标序号完成遍历时停止迭代。将每个字符的第一频次作为每个字符的编码频次,将第二频次大于0的候选长度作为目标长度,将每个目标长度的第二频次作为每个目标长度的编码频次。
例如字符序列为{1,3,2,7,3,2,7,1,3,2,7,3,2,7}时,字符“1”的序号序列为{1,8},字符“2”的序号序列为{3,6,10,13},字符“3”的序号序列为{2,5,9,12},字符“7”的序号序列为{4,7,11,14},字符“1”、“2”、“3”、“7”的第一频次分别为2、4、4、4。候选长度2、3、4、5、6、7的第二频次都为0。
将序号1作为目标序号,则目标序列为{1,8},此时目标间隔为8-1=7。将序号2作为候选序号,候选序号2所在的序号序列为{2,5,9,12},此时间隔序号为5,第一间隔为5-2=3,小于目标间隔,则将9作为间隔序号,第一间隔为9-2=7,与目标间隔相同。此时将间隔序号9作为入选序号,加入到缩减序列中,对应的缩减序列为{9}。将入选序号9所在的序号序列对应的字符“3”的第一频次减一,则此时字符“3”的第一频次为3。将候选序号2加1作为新的候选序号3。同理,根据新的候选序号3,获取入选序号10,对应的缩减序列为{9,10},入选序号10所在的序号序列对应的字符“2”的第一频次更新为3。同理,新的候选序号为4,入选序号为11,对应的缩减序列为{9,10,11},入选序号10所在的序号序列对应的字符“7”的第一频次更新为3。同理,当候选序号分别为5、6、7时,入选序号分别为12、13、14,对应的缩减序列为{9,10,11,12,13,14},字符“2”、“3”、“7”的第一频次更新为2、2、2。当候选序号为8时,间隔序号不存在,此时入选序号的个数为N=6,则将候选长度N+1=7的第二频次更新为1,将目标序号1加1作为新的目标序号2。
同理,根据新的目标序号对所有字符的第一频次进行更新,对候选长度的第二频次进行更新。最终得到字符“1”、“2”、“3”、“7”的第一频次为2、1、2、1。候选长度2、3、4、5、6、7的第二频次分别为0、1、0、0、0、1。
至此,实现了每个字符的编码频次以及每个目标长度的编码频次的预测。
S003.根据预测的编码频次构建霍夫曼树,对字符序列进行压缩。
需要说明的是,字符序列中每个字符均为数字,目标长度也为数字形式,若字符的数值与目标长度的数值相同,可将该字符与该目标长度视作同一种编码对象来构建霍夫曼树,使得编码对象的种类较少,霍夫曼树的深度较小,进而使得每种编码对象的码长较短,压缩效率达到最大。
在本发明实施例中,对每种字符进行判断,具体为:
若存在目标长度的数值与该字符的数值相同,则将该字符的数值作为一种编码对象,将该目标长度与该字符的编码频次相加,作为该编码对象的预测频次;若不存在目标长度的数值与该字符的数值相同,则将该字符单独作为一种编码对象,将该字符的编码频次作为该编码对象的预测频次。
对每种目标长度进行判断:若不存在字符的数值与该目标长度的数值相同,则将该目标长度单独作为一种编码对象,将该目标长度的编码频次作为该编码对象的预测频次。
例如,字符序列为{1,3,2,7,3,2,7,1,3,2,7,3,2,7}中字符“1”、“2”、“3”、“7”的编码频次为2、1、2、1。目标长度3、7的编码频次分别为1、1,此时将1、2、3、7分别作为一种编码对象,每种编码对象对应的预测频次分别为2、1、3、2。
将每种编码对象的预测频次除以所有种编码对象的预测频次之和,得到每种编码对象的预测频率。根据每种编码对象的预测频率构建霍夫曼树。
根据霍夫曼树对字符序列进行压缩,具体为:
1、构建一个空的已编码序列,用来存放编码过程中已编码的字符;构建一个空的标记序列,用来存在编码过程中编码对象的类型。在本发明实施例中,利用1表示编码对象的类型为字符,利用0表示编码对象的类型为长度。
2、将字符序列中第一个字符作为待编码字符,对待编码字符进行判断,具体为:
当待编码字符在已编码序列中不存在时,获取与待编码字符数值相同的编码对象在霍夫曼树中的码字,作为待编码字符的编码结果。将待编码字符添加到已编码序列的末尾,并从字符序列中剔除。将1添加到标记序列的末尾。
当待编码字符在已编码序列中存在时,获取待编码字符在已编码序列中最后一次出现的位置,作为起始节点,从已编码序列中的起始节点开始,对字符序列进行最长匹配,获取匹配结果的长度,作为匹配长度。获取与待编码字符数值相同的编码对象在霍夫曼树中的码字,作为第一码字。获取与匹配长度数值相同的编码对象在霍夫曼树中的码字,作为第二码字。将第一码字和第二码字共同作为匹配结果的编码结果。将匹配结果添加到已编码序列的末尾,并从字符序列中剔除。将0添加到标记序列的末尾。
3、重复步骤2,直到字符序列为空时停止迭代。将得到的所有编码结果按照顺序拼接成一个二进制序列,作为最终的压缩数据。
至此,实现了字符序列的压缩,得到了压缩数据。
例如对字符序列{1,3,2,7,3,2,7,1,3,2,7,3,2,7}利用本发明实施例中的方法构建的霍夫曼树参见图2,对应的压缩数据为{1110110100011110},标记序列为{11111010}。对字符序列利用现有的霍夫曼编码算法构建的霍夫曼树参见图3,对应的压缩数据为{0010011110011100100111100111}。本发明实施例中压缩数据以及标记序列一共为24比特,现有的霍夫曼编码算法对应的压缩数据为28比特。本发明实施例相较于现有的霍夫曼编码算法压缩效率更高。
S004.对压缩数据进行存储。
将压缩数据、步骤S003获取的标记序列以及霍夫曼树存储在工业数据存储服务器。
当需要进行工业数据的查看时,对压缩数据进行解压,具体为:
利用现有的霍夫曼编码算法,根据工业树存储服务器中的霍夫曼树对压缩数据进行解压,将得到的结果作为编码对象序列,将编码对象序列中每个元素分别作为一个编码对象。
构建一个空的已解码序列。将标记序列中每个比特位作为编码对象序列中每个编码对象的标记类型。依次对编码对象序列中每个编码对象进行判断,具体为:
当编码对象的标记类型为1时,该编码对象为字符。此时将该编码对象添加到已解码序列中;
当编码对象的标记类型为0时,该编码对象为长度,将该编码对象的数值记为H。获取该编码对象的前一个编码对象,作为目标对象,获取目标对象在已编码序列中倒数第二次出现时的位置,将该位置作为起始节点,从起始节点的下一个位置开始,获取已编码序列的长度为H的子串,将该子串添加到已解码序列中。
最终得到的已解码序列即为字符序列。利用步骤S001中的编码方法对字符序列进行解码,得到工业数据。
通过以上步骤,完成了基于数字孪生的工业数据的压缩存储以及解压。
本发明实施例通过获取数字孪生模型实时收集的工业数据,将工业数据转换为字符序列,对字符序列进行编码的过程中,根据已编码的字符,将重复出现的字符串利用字符串首位的字符以及字符串的长度来表示,相较于对每个字符进行编码,节省了编码对象,压缩效率更高;为了避免编码过程中减少编码对象导致字符频率产生变化,使得根据字符的频率构建的霍夫曼树无法实现最优压缩,本发明获取每种字符在字符序列中出现时的序号,构成每种字符的序号序列,将每种字符在字符序列中出现的次数作为每种字符的第一频次,根据字符序列的长度获取多个候选长度以及每个候选长度的第二频次,根据字符的序号序列、第一频次以及每个候选长度的第二频次预测每个字符以及目标长度的编码频次,根据字符以及目标长度的编码频次构建霍夫曼树,尽可能使得编码过程中实际出现次数较多的编码对象的编码长度短,同时出现次数较多的长度的编码长度短,确保压缩效率达到最大,本发明相较于传统的霍夫曼编码压缩效率更高。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.基于数字孪生的工业数据存储方法,其特征在于,该方法包括以下步骤:
获取数字孪生模型实时收集的工业数据,将工业数据转换为字符序列;
获取每种字符在字符序列中出现时的序号,构成每种字符的序号序列;将每种字符在字符序列中出现的次数作为每种字符的第一频次;根据字符序列的长度获取多个候选长度以及每个候选长度的第二频次;
根据字符的序号序列、第一频次以及每个候选长度的第二频次预测每个字符以及目标长度的编码频次;
根据字符以及目标长度的编码频次构建霍夫曼树;根据霍夫曼树对字符序列进行压缩,得到压缩数据;对压缩数据进行存储。
2.根据权利要求1所述的基于数字孪生的工业数据存储方法,其特征在于,所述根据字符序列的长度获取多个候选长度以及每个候选长度的第二频次,包括的具体步骤如下:
获取字符序列的长度L,将[2,]范围内每个整数分别作为一个候选长度;将0分别作为每个候选长度的第二频次。
3.根据权利要求1所述的基于数字孪生的工业数据存储方法,其特征在于,所述根据字符的序号序列、第一频次以及每个候选长度的第二频次预测每个字符以及目标长度的编码频次,包括的具体步骤如下:
S1:将序号1作为目标序号;构建一个空的序列,记为缩减序列;
S2:将目标序号所在的序号序列作为目标序列;当目标序列中目标序号之后不存在其他元素时,获取新的目标序号,执行S3;当目标序列中目标序号之后的元素个数大于或等于1时,获取目标间隔以及候选序号,执行S201;
S201:获取候选序号在所在的序号序列中的下一个元素,作为间隔序号;当间隔序号不存在时,对候选长度的第二频次进行更新,获取新的目标序号,执行S3;当间隔序号存在时,执行S202;
S202:获取候选序号与间隔序号的差值绝对值,作为第一间隔;对第一间隔进行判断,包括:
当第一间隔小于目标间隔时,获取间隔序号在所在的序号序列中的下一个元素,作为新的间隔序号,重复步骤S202;
当第一间隔等于目标间隔,且间隔序号不在缩减序列中时,将间隔序号作为该目标序号的入选序号,根据入选序号对字符的第一频次以及缩减序列进行更新;将候选序号加一,作为新的候选序号,重复步骤S201- S202;
当第一间隔大于目标间隔时,对候选长度的第二频次进行更新,获取新的目标序号,执行S3;
S3:重复S2,直到所有序号都已作为目标序号完成遍历时停止迭代;将每个字符的第一频次作为每个字符的编码频次,将第二频次大于0的候选长度作为目标长度,将每个目标长度的第二频次作为每个目标长度的编码频次。
4.根据权利要求3所述的基于数字孪生的工业数据存储方法,其特征在于,所述获取新的目标序号,包括的具体步骤如下:
将目标序号加一,作为新的目标序号。
5.根据权利要求3所述的基于数字孪生的工业数据存储方法,其特征在于,所述获取目标间隔以及候选序号,包括的具体步骤如下:
计算目标序列中目标序号与下一个元素的差值绝对值,作为目标间隔;将目标序号加一,将所得结果作为候选序号。
6.根据权利要求3所述的基于数字孪生的工业数据存储方法,其特征在于,所述对候选长度的第二频次进行更新,包括的具体步骤如下:
统计目标序号对应的入选序号的个数,记为N;将值为N+1的候选长度的第二频次加一。
7.根据权利要求3所述的基于数字孪生的工业数据存储方法,其特征在于,所述根据入选序号对字符的第一频次以及缩减序列进行更新,包括的具体步骤如下:
将入选序号所在的序号序列对应的字符的第一频次减一;将入选序号加入到缩减序列中。
8.根据权利要求3所述的基于数字孪生的工业数据存储方法,其特征在于,所述根据字符以及目标长度的编码频次构建霍夫曼树,包括的具体步骤如下:
对每种字符进行判断,包括:若存在目标长度的数值与该字符的数值相同,则将该字符的数值作为一种编码对象,将该目标长度与该字符的编码频次相加,作为该编码对象的预测频次;若不存在目标长度的数值与该字符的数值相同,则将该字符单独作为一种编码对象,将该字符的编码频次作为该编码对象的预测频次;
对每种目标长度进行判断,若不存在字符的数值与该目标长度的数值相同,则将该目标长度单独作为一种编码对象,将该目标长度的编码频次作为该编码对象的预测频次;
将每种编码对象的预测频次除以所有种编码对象的预测频次之和,得到每种编码对象的预测频率;根据每种编码对象的预测频率构建霍夫曼树。
9.根据权利要求1所述的基于数字孪生的工业数据存储方法,其特征在于,所述根据霍夫曼树对字符序列进行压缩,得到压缩数据,包括的具体步骤如下:
S1:构建一个空的已编码序列以及一个空的标记序列;
S2:将字符序列中第一个字符作为待编码字符,对待编码字符进行判断,包括:
当待编码字符在已编码序列中不存在时,获取与待编码字符数值相同的编码对象在霍夫曼树中的码字,作为待编码字符的编码结果;将待编码字符添加到已编码序列的末尾,并从字符序列中剔除;将1添加到标记序列的末尾;
当待编码字符在已编码序列中存在时,获取待编码字符在已编码序列中最后一次出现的位置,作为起始节点,从已编码序列中的起始节点开始,对字符序列进行最长匹配,获取匹配结果的长度,作为匹配长度;获取与待编码字符数值相同的编码对象在霍夫曼树中的码字,作为第一码字;获取与匹配长度数值相同的编码对象在霍夫曼树中的码字,作为第二码字;将第一码字和第二码字共同作为匹配结果的编码结果;将匹配结果添加到已编码序列的末尾,并从字符序列中剔除;将0添加到标记序列的末尾;
S3:重复S2,直到字符序列为空时停止迭代;将得到的所有编码结果按照顺序拼接成的二进制序列作为最终的压缩数据。
10.根据权利要求1所述的基于数字孪生的工业数据存储方法,其特征在于,所述将工业数据转换为字符序列,包括的具体步骤如下:
预设分组长度k,将工业数据编码成二进制数据,将二进制数数据每k位分为一组,得到多组k位二进制数,将每组k位二进制数转换为十进制数,将得到的所有十进制数构成的序列作为字符序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310962428.3A CN116681036B (zh) | 2023-08-02 | 2023-08-02 | 基于数字孪生的工业数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310962428.3A CN116681036B (zh) | 2023-08-02 | 2023-08-02 | 基于数字孪生的工业数据存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116681036A true CN116681036A (zh) | 2023-09-01 |
CN116681036B CN116681036B (zh) | 2023-10-03 |
Family
ID=87791285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310962428.3A Active CN116681036B (zh) | 2023-08-02 | 2023-08-02 | 基于数字孪生的工业数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116681036B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116980629A (zh) * | 2023-09-25 | 2023-10-31 | 深圳市银河通信科技有限公司 | 一种大型照明系统自动故障检测系统 |
CN117060930A (zh) * | 2023-10-12 | 2023-11-14 | 广东至盈科技有限公司 | 一种拓展坞用数据智能通信系统 |
CN117113383A (zh) * | 2023-10-19 | 2023-11-24 | 山东万世机械科技有限公司 | 一种设备本地生产数据隐私保护方法及系统 |
CN117195006A (zh) * | 2023-11-06 | 2023-12-08 | 南通双和食品有限公司 | 一种鸡肉用兽药残留数据管理系统 |
CN117294397A (zh) * | 2023-11-27 | 2023-12-26 | 深圳市正东兴通讯设备有限公司 | 一种无线通信数据存储方法及系统 |
CN117811589A (zh) * | 2024-03-01 | 2024-04-02 | 广州润普网络科技有限公司 | 一种基于人工智能的企业数据压缩方法及系统 |
CN118018032A (zh) * | 2024-04-09 | 2024-05-10 | 西安西驰信息技术有限公司 | 一种智能化开关柜的远程控制数据传输方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0427884A1 (de) * | 1989-11-14 | 1991-05-22 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Verfahren und Anordnung zum Komprimieren und Dekomprimieren von Daten |
US20090016452A1 (en) * | 2007-07-12 | 2009-01-15 | Monro Donald M | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems |
US20160099723A1 (en) * | 2014-10-07 | 2016-04-07 | Doron Kletter | Enhanced data compression for sparse multidimensional ordered series data |
US9806741B1 (en) * | 2016-10-10 | 2017-10-31 | International Business Machines Corporation | Character conversion |
CN116318173A (zh) * | 2023-05-10 | 2023-06-23 | 青岛农村商业银行股份有限公司 | 一种金融融资服务数字智能管理系统 |
CN116506073A (zh) * | 2023-06-26 | 2023-07-28 | 深圳市研创科技有限公司 | 一种工业计算机平台数据快速传输方法及系统 |
-
2023
- 2023-08-02 CN CN202310962428.3A patent/CN116681036B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0427884A1 (de) * | 1989-11-14 | 1991-05-22 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Verfahren und Anordnung zum Komprimieren und Dekomprimieren von Daten |
US20090016452A1 (en) * | 2007-07-12 | 2009-01-15 | Monro Donald M | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems |
US20160099723A1 (en) * | 2014-10-07 | 2016-04-07 | Doron Kletter | Enhanced data compression for sparse multidimensional ordered series data |
US9806741B1 (en) * | 2016-10-10 | 2017-10-31 | International Business Machines Corporation | Character conversion |
CN116318173A (zh) * | 2023-05-10 | 2023-06-23 | 青岛农村商业银行股份有限公司 | 一种金融融资服务数字智能管理系统 |
CN116506073A (zh) * | 2023-06-26 | 2023-07-28 | 深圳市研创科技有限公司 | 一种工业计算机平台数据快速传输方法及系统 |
Non-Patent Citations (2)
Title |
---|
张红军,等: "基于改进哈夫曼编码的数据压缩方法研究", 唐山师范学院学报, vol. 36, no. 5 * |
陈立山: "哈夫曼树带权路径长度简便算法", 哈尔滨职业技术学院学报, no. 4 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116980629B (zh) * | 2023-09-25 | 2024-01-30 | 深圳市银河通信科技有限公司 | 一种大型照明系统自动故障检测系统 |
CN116980629A (zh) * | 2023-09-25 | 2023-10-31 | 深圳市银河通信科技有限公司 | 一种大型照明系统自动故障检测系统 |
CN117060930A (zh) * | 2023-10-12 | 2023-11-14 | 广东至盈科技有限公司 | 一种拓展坞用数据智能通信系统 |
CN117060930B (zh) * | 2023-10-12 | 2024-02-06 | 广东至盈科技有限公司 | 一种拓展坞用数据智能通信系统 |
CN117113383A (zh) * | 2023-10-19 | 2023-11-24 | 山东万世机械科技有限公司 | 一种设备本地生产数据隐私保护方法及系统 |
CN117113383B (zh) * | 2023-10-19 | 2024-01-26 | 山东万世机械科技有限公司 | 一种设备本地生产数据隐私保护方法及系统 |
CN117195006A (zh) * | 2023-11-06 | 2023-12-08 | 南通双和食品有限公司 | 一种鸡肉用兽药残留数据管理系统 |
CN117195006B (zh) * | 2023-11-06 | 2024-03-05 | 南通双和食品有限公司 | 一种鸡肉用兽药残留数据管理系统 |
CN117294397A (zh) * | 2023-11-27 | 2023-12-26 | 深圳市正东兴通讯设备有限公司 | 一种无线通信数据存储方法及系统 |
CN117294397B (zh) * | 2023-11-27 | 2024-02-20 | 深圳市正东兴通讯设备有限公司 | 一种无线通信数据存储方法及系统 |
CN117811589A (zh) * | 2024-03-01 | 2024-04-02 | 广州润普网络科技有限公司 | 一种基于人工智能的企业数据压缩方法及系统 |
CN117811589B (zh) * | 2024-03-01 | 2024-05-10 | 广州润普网络科技有限公司 | 一种基于人工智能的企业数据压缩方法及系统 |
CN118018032A (zh) * | 2024-04-09 | 2024-05-10 | 西安西驰信息技术有限公司 | 一种智能化开关柜的远程控制数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116681036B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116681036B (zh) | 基于数字孪生的工业数据存储方法 | |
Goyal et al. | Deepzip: Lossless data compression using recurrent neural networks | |
CN116192971B (zh) | 智能云能源运维服务平台数据管理方法 | |
CN106407285B (zh) | 一种基于rle和lzw的优化比特文件压缩与解压缩方法 | |
CN110021369B (zh) | 基因测序数据压缩解压方法、系统及计算机可读介质 | |
WO2010044100A1 (en) | Lossless compression | |
CN101095284A (zh) | 用于有选择地压缩和解压缩的设备与数据方法以及压缩数据的数据格式 | |
CN116016606B (zh) | 一种基于智慧云的污水处理运维数据高效管理系统 | |
CN116614139B (zh) | 一种售酒小程序内用户交易信息压缩存储方法 | |
CN116051156B (zh) | 一种基于数字孪生的新能源动态电价数据管理系统 | |
US6518895B1 (en) | Approximate prefix coding for data compression | |
CN108880559B (zh) | 数据压缩方法、数据解压缩方法、压缩设备及解压缩设备 | |
CN117177100B (zh) | 一种智能ar偏振数据传输方法 | |
US6055273A (en) | Data encoding and decoding method and device of a multiple-valued information source | |
CN118075472A (zh) | 一种基于loco-i算法和哈夫曼编码的频谱压缩方法 | |
CN110021368B (zh) | 比对型基因测序数据压缩方法、系统及计算机可读介质 | |
CN116934487A (zh) | 一种金融清算数据优化存储方法及系统 | |
CN109698702B (zh) | 基因测序数据压缩预处理方法、系统及计算机可读介质 | |
CN115964347A (zh) | 一种市场监管监测中心数据的智能存储方法 | |
CN114429200A (zh) | 规范化哈夫曼编解码方法及神经网络计算芯片 | |
CN115567058A (zh) | 一种结合预测与编码的时序数据有损压缩方法 | |
CN104682966A (zh) | 列表数据的无损压缩方法 | |
CN112506876B (zh) | 一种支持sql查询的无损压缩查询方法 | |
CN108829930A (zh) | 三维数字化工艺设计mbd模型的轻量化方法 | |
CN112101548A (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 |