CN116865768B - 一种plc设备数据优化存储方法 - Google Patents
一种plc设备数据优化存储方法 Download PDFInfo
- Publication number
- CN116865768B CN116865768B CN202311109859.1A CN202311109859A CN116865768B CN 116865768 B CN116865768 B CN 116865768B CN 202311109859 A CN202311109859 A CN 202311109859A CN 116865768 B CN116865768 B CN 116865768B
- Authority
- CN
- China
- Prior art keywords
- character
- frequency
- merging
- processed
- characters
- 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
- 238000005457 optimization Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000009467 reduction Effects 0.000 claims description 17
- 230000004927 fusion Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000007906 compression Methods 0.000 abstract description 18
- 230000006835 compression Effects 0.000 abstract description 18
- 230000000694 effects Effects 0.000 abstract description 15
- 238000013144 data compression Methods 0.000 abstract description 4
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000012300 Sequence Analysis Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及数据压缩技术领域,具体涉及一种PLC设备数据优化存储方法,包括:采集PLC设备数据并进行霍夫曼编码得到霍夫曼树;在霍夫曼树上根据相同编码长度的字符出现的频率进行预合并,分析预合并后频率较高的字符对编码合并的优化程度;根据优化程度对PLC设备数据进行重新编码以及压缩存储。本发明通过对霍夫曼树同一层字符与相邻字符的合并必要性进行分析打乱原来频率相同的字符频率,使霍夫曼编码对数据进行压缩效果更好。
Description
技术领域
本发明涉及数据压缩技术领域,具体涉及一种PLC设备数据优化存储方法。
背景技术
在设备数据的存储过程中,往往需要消耗存储空间,造成资源的浪费,因此需要通过一定的压缩算法对/>设备数据的存储进行优化。
传统的压缩编码中霍夫曼编码的压缩效果与解压速度均较好,霍夫曼编码根据数据集中字符的出现频率对其进行变长编码,该编码方式对频率分布不均匀的数据有较好的压缩效果。而设备数据中有很多字符出现频率相同,霍夫曼编码对字符频率相同的数据压缩效果欠佳,往往无法达到较好的压缩效果。
发明内容
本发明提供一种PLC设备数据优化存储方法,以解决现有的问题。
本发明的一种PLC设备数据优化存储方法采用如下技术方案:
本发明一个实施例提供了一种PLC设备数据优化存储方法,该方法包括以下步骤:
采集设备数据,统计/>设备数据中各个字符的出现频率并构建霍夫曼树,获取霍夫曼编码;
获取预合并字符组,根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率;
根据每个待处理字符的预合并字符组的频率获取合并字符同区间字符序列,在合并字符同区间字符序列中,根据合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的平均编码长度,并计算每个待处理字符的预合并字符组的预合并融合因子,获取设备数据中包含的字符个数,利用预合并融合因子和平均编码长度计算得到预合并后每个待处理字符的编码缩减长度,将预合并后每个待处理字符的编码缩减长度在霍夫曼编码的长度中进行衡量得到每个待处理字符合并后对霍夫曼树的优化程度;
根据每个待处理字符合并后对霍夫曼树的优化程度对设备数据进行合并得到合并后的/>设备数据,对合并后的/>设备数据进行霍夫曼编码得到优化编码,将优化编码存储在存储空间中,完成对/>设备数据的优化存储。
优选的,所述获取预合并字符组,包括的具体步骤如下:
从上到下对霍夫曼树进行逐层遍历,统计每一层中包含的字符个数,当每一层中包含的字符个数大于两个时,将该层中的所有字符记为待处理字符,计算该层中每个待处理字符在设备数据中出现的频率;
对每一层中的每个待处理字符,获取每个待处理字符的左序列和右序列;分别将每个待处理字符的左序列和右序列中存在的每个字符记为每个待处理字符的每个左待选字符和右待选字符,分别统计每个待处理字符的每个左待选字符和右待选字符在设备数据中出现的频率,分别根据每个待处理字符的每个左待选字符和右待选字符得到第二合并字符,分别获取第二合并字符在其所在的左序列和右序列中出现的频率,并分别记为第二左合并字符频率和第二右合并字符频率,将第二左合并字符频率和第二右合并字符频率通记为第二合并字符频率,获取第二合并字符在/>设备数据中出现的频率,将每一层中的每个待处理字符作为第一合并字符,对第一合并字符和第二合并字符进行预合并得到预合并字符组。
优选的,所述获取每个待处理字符的左序列和右序列,包括的具体步骤如下:
在设备数据中获取每个待处理字符的索引位置,并利用索引位置构成待处理字符索引序列,将待处理字符索引序列中所有索引值减一获取索引减一序列,根据索引减一序列中的索引值对应到/>设备数据中获取待处理字符的左序列,将待处理字符索引序列中所有索引值加一获取索引加一序列,根据索引加一序列中的索引值对应到/>设备数据中获取待处理字符的右序列。
优选的,所述分别根据每个待处理字符的每个左待选字符和右待选字符得到第二合并字符,包括的具体步骤如下:
分别对每个待处理字符的每个左待选字符和右待选字符在设备数据中出现的频率按照从小到大的顺序进行排列得到每个待处理字符的左字符频率序列和右字符频率序列,并分别将左字符频率序列和右字符频率序列中最后一个频率对应的左待选字符和右待选字符记为频率最大左字符和频率最大右字符,分别将频率最大左字符和频率最大右字符在/>设备数据中出现的频率记为左字符频率序列最大频率和右字符频率序列最大频率,将频率最大左字符或频率最大右字符作为第二合并字符。
优选的,所述根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率的具体计算公式分别如下:
其中,表示第/>个待处理字符的预合并字符组的频率,/>表示第/>个待处理字符在PLC设备数据中出现的频率,/>表示第/>个待处理字符的第二合并字符在/>设备数据中出现的频率;
其中,表示第/>个待处理字符的合并后第一合并字符频率;
其中,表示第/>个待处理字符的合并后第二合并字符频率。
优选的,所述根据每个待处理字符的预合并字符组的频率获取合并字符同区间字符序列,包括的具体步骤如下:
将预合并字符组和所有待处理字符的频率按照从小到大进行排序得到排序频率可行性判断序列;将每个待处理字符的预合并字符组的频率所处的二进制数区间作为合并字符组区间,在排序频率可行性判断序列中统计大小属于合并字符组区间内的所有频率,并将所有频率按照从小到大进行排序记为合并字符同区间频率序列,获取合并字符同区间频率序列在PLC设备数据中对应的字符并按照频率从小到大的顺序进行排列得到新的字符序列,将新的字符序列记为合并字符同区间字符序列。
优选的,所述每个待处理字符的预合并字符组的频率所处的二进制数区间具体指代的是:
以大于每个待处理字符的预合并字符组的频率的最小的2的负整数次方的数为区间上限,以小于每个待处理字符的预合并字符组的频率的最大的2的负整数次方的数为区间下限构建区间,将该区间记为每个待处理字符的预合并字符组的频率所处的二进制数区间。
优选的,所述在合并字符同区间字符序列中,根据合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的平均编码长度,并计算每个待处理字符的预合并字符组的预合并融合因子,包括的具体步骤如下:
根据合并后第一合并字符频率和合并后第二合并字符频率得到可合并字符,在所有可合并字符中,计算合并字符同区间字符序列中所有字符编码的平均编码长度,记为每个待处理字符的平均编码长度;计算每个待处理字符的预合并字符组的预合并融合因子,具体的计算公式如下:
其中,表示第/>个待处理字符的预合并字符组的预合并融合因子,/>表示第/>个待处理字符的预合并字符组的频率,/>表示第/>个待处理字符在PLC设备数据中出现的频率,/>表示第/>个待处理字符的第二合并字符在PLC设备数据中出现的频率,/>表示取括号内所有数值的最小值,/>表示取括号内所有数值的最大值,/>表示以2为底数的对数函数,/>表示预设的最优融合数。
优选的,所述根据合并后第一合并字符频率和合并后第二合并字符频率得到可合并字符,包括的具体步骤如下:
将预合并字符组和所有待处理字符的频率按照从小到大进行排序得到排序频率可行性判断序列,分别将预合并后第一合并字符的合并后第一合并字符频率和预合并后第二合并字符的合并后第二合并字符频率的索引值记为目标索引值,分别获取排序频率可行性判断序列中目标索引值加一和减一的索引值对应的字符,用目标索引值加一的字符的频率除以目标索引值减一的字符的频率得到目标索引比,将以2为底数的目标索引比的对数表示第一合并字符和第二合并字符预合并后的频率可行性,当频率可行性大于合并阈值时,将这两个字符合并,并将这两个字符记为可合并字符。
优选的,所述将预合并后每个待处理字符的编码缩减长度在霍夫曼编码的长度中进行衡量得到每个待处理字符合并后对霍夫曼树的优化程度,包括的具体步骤如下:
获取霍夫曼编码的长度,用霍夫曼编码的长度减去预合并后每个待处理字符的编码缩减长度得到差值结果,用差值结果除以霍夫曼编码的长度得到除数结果,将除数结果记为每个待处理字符合并后对霍夫曼树的优化程度。
本发明的技术方案的有益效果是:本发明针对设备数据中有很多字符出现频率相同导致霍夫曼编码对字符频率相同的数据压缩效果欠佳的技术问题,通过统计霍夫曼树中同一层字符,分析与左右相邻字符组成字符组分别的出现频率计算字符组的优选程度,对字符之间进行合并编码,破坏原有的相同频率分布,使字符集内字符频率尽可能满足分布不均匀的特点,提高了数据的压缩效果,优化了数据的存储。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种PLC设备数据优化存储方法的步骤流程图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种PLC设备数据优化存储方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种PLC设备数据优化存储方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的一种PLC设备数据优化存储方法的步骤流程图,该方法包括以下步骤:
S001:采集设备数据,统计/>设备数据中各个字符的出现频率并构建霍夫曼树,获取霍夫曼编码。
需要说明的是,霍夫曼编码直接根据数据频率对字符进行编码,将概率较高的字符用较短的编码表示,从而达到压缩的目的,这对于频率不均匀的数据有着较好的压缩效果,而对于频率均匀的数据,相同频率的字符编码长度也相似甚至相同,无法达到较好的压缩效果。而设备数据中各字符的出现频率较均匀,若直接对其使用霍夫曼编码压缩,最终的压缩率有限。故通过分析/>设备数据相同频率字符与相邻字符构成字符组的出现频率,根据频率获取字符组的合并必要性,再对能合并可行性较高的字符组合并进行编码,通过破坏数据原有均匀频率的方式增大数据压缩率,因此首先需要构建霍夫曼树并获取霍夫曼编码。
具体的,由编程人员在设备上输入数据,/>设备数据包括但不限于英文字母、逗号、空格和换行等若干字符,对/>设备数据中的所有字符进行频率统计根据/>设备数据中的每个字符的频率构建霍夫曼树,根据霍夫曼树对PLC设备数据进行霍夫曼编码,统计霍夫曼编码的长度,本实施例为叙述说明方便,后续如无特殊说明,则用原数据表示PLC设备数据。
至此,得到了设备数据的霍夫曼树和霍夫曼编码。
S002:获取预合并字符组,根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率。
需要说明的是,霍夫曼树最上层的字符是字符集中出现频率最高的字符,优先对这些字符进行合并必要性判断可以对霍夫曼树结构造成较大的改变,更好地打乱了字符集中字符的频率。
具体的,从上到下对霍夫曼树进行逐层遍历,统计每一层中包含的字符个数,当每一层中包含的字符个数大于两个时,获取该层中的所有字符记为待处理字符,计算该层中每个待处理字符在原数据中出现的频率,将每个待处理字符按照每个待处理字符在原数据中出现的频率从小到大的顺序进行排序得到每层的霍夫曼排序序列,将霍夫曼排序序列中的第个待处理字符表示为/>,第/>个待处理字符在原数据中出现的频率表示为/>,且有,其中/>表示第/>层中包含的待处理字符个数。
需要进一步说明的是,对霍夫曼树中某一层中的某个元素,将其在设备数据中进行合并时,往往需要根据与其合并的字符出现的频率进行合并,故通过在/>设备数据中对某个字符之于另一个字符而言的出现情况,可以用来判断这两个字符合并在一起后的合理性。
进一步,对每一层中的每个待处理字符,在原数据中获取每个待处理字符的索引位置构成待处理字符索引序列,将待处理字符索引序列中所有索引值减一获取索引减一序列,根据索引减一序列中的索引值对应到原数据中获取待处理字符的左序列,将待处理字符索引序列中所有索引值加一获取索引加一序列,根据索引加一序列中的索引值对应到原数据中获取待处理字符的右序列;分别将每个待处理字符的左序列和右序列中存在的每个字符记为每个待处理字符的每个左待选字符和右待选字符,分别统计每个待处理字符的每个左待选字符和右待选字符在原数据中出现的频率,分别对每个待处理字符的每个左待选字符和右待选字符在原数据中出现的频率按照从小到大的顺序进行排列得到每个待处理字符的左字符频率序列和右字符频率序列,并分别将左字符频率序列和右字符频率序列中最后一个频率对应的左待选字符和右待选字符记为频率最大左字符和频率最大右字符,分别将频率最大左字符和频率最大右字符在原数据中出现的频率记为左字符频率序列最大频率和右字符频率序列最大频率,将每一层中的每个待处理字符作为第一合并字符,依次将频率最大左字符或频率最大右字符作为第二合并字符,分别获取第二合并字符在其所在的左序列和右序列中出现的频率,并分别记为第二左合并字符频率和第二右合并字符频率,将二左合并字符频率和第二右合并字符频率通记为第二合并字符频率(计算的时候分别进行计算),获取第二合并字符在原数据中出现的频率。对第一合并字符和第二合并字符进行预合并得到预合并字符组,计算每一层中的每个待处理字符的预合并字符组的频率,具体的计算公式如下:
其中,表示第/>个待处理字符的预合并字符组的频率,/>表示第/>个待处理字符在原数据中出现的频率,/>表示第/>个待处理字符的第二合并字符在原数据中出现的频率。
进一步,计算每个待处理字符的合并后第一合并字符频率,具体的计算公式如下:
其中,表示第/>个待处理字符的合并后第一合并字符频率,/>表示第/>个待处理字符的预合并字符组的频率,/>表示第/>个待处理字符在原数据中出现的频率。
进一步,计算每个待处理字符的合并后第二合并字符频率,具体的计算公式如下:
其中,表示第/>个待处理字符的合并后第二合并字符频率,/>表示第/>个待处理字符的第二合并字符在原数据中出现的频率,/>表示第/>个待处理字符的预合并字符组的频率。
需要说明的是,在得到待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率后,可以根据三个频率对预合并的效果进行频率可行性分析,在后续过程中对三个频率进行分析,用以判断预合并的合理性,进而对设备数据中的所有字符进行合并,并在合并过程中根据不同字符的频率对霍夫曼树结构进行调整,实现更好程度的压缩。
至此,得到了每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率。
S003:获取合并字符同区间字符序列,计算合并字符同区间字符序列中所有字符编码的平均编码长度,根据每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的预合并字符组的预合并融合因子,获取设备数据中包含的字符个数并计算预合并后每个待处理字符的编码缩减长度,将预合并后每个待处理字符的编码缩减长度在霍夫曼编码的长度中进行衡量得到每个待处理字符合并后对霍夫曼树的优化程度。
需要说明的是,对于某一字符组,合并会使合并的两字符频率降低,计算字符组合并前后字符频率的变化以及字符的均匀程度,频率变化越大,则合并后字符频率越不均匀,说明合并后字符集原有的均匀频率被破坏。在考虑字符集频率不均匀程度的同时,还应考虑合并后样本的长度变化。字符合并使字符集分布频率越不均匀的情况下,样本的长度越短,相当于所需要表示的数据量降低,最终压缩结果也就越短,通过字符合并使压缩率得到了提升。设备数据中存在大量频率相近甚至相同的数据,而霍夫曼压缩对分布频率越分散的数据压缩效果越好。通过将字符进行组合的方式对霍夫曼树进行优化,则可根据字符合并后的频率以及合并造成的编码缩减长度衡量优化程度。
预设一个合并阈值,其中本实施例以合并阈值为为例进行叙述,本实施例不进行具体限定,其中合并阈值可根据具体实施情况而定。
具体的,将预合并字符组和所有待处理字符的频率按照从小到大进行排序得到排序频率可行性判断序列,分别将预合并后第一合并字符的合并后第一合并字符频率和预合并后第二合并字符的合并后第二合并字符频率的索引值记为目标索引值,分别获取排序频率可行性判断序列中目标索引值加一和减一的索引值对应的字符,用目标索引值加一的字符的频率除以目标索引值减一的字符的频率得到目标索引比,将以2为底数的目标索引比的对数表示第一合并字符和第二合并字符预合并后的频率可行性,当频率可行性大于合并阈值时,将这两个字符合并,并将这两个字符记为可合并字符。
需要进一步说明的是,数据经合并后,计算的霍夫曼树与理想状态下的霍夫曼树越相似说明压缩效果越好(所述理想状态下的霍夫曼树是指霍夫曼树向下的分支偏向某一侧而并非均匀的平铺在每个下一层中,即频率的分布是不均匀的)。对于一组包含n个字符的数据样本,给出恰好满足理想霍夫曼数的一组数据频率:,可以发现,越小的频率相邻的差值也越小,每两个频率大小之间的差值恰好为/>,进一步计算合并字符频率的频率可行性,可直接根据字符合并后的频率能否按照理想字符频率间隔***到频率序列对应位置即可,即计算合并后字符组频率在***频率序列后两边频率大小的差值,如果大于/>则说明合并后频率是一个较优的频率,可正常合并。否则说明合并后频率来到了一处本就有很多相似频率的区域,造成了新的相同频率的出现,故根据合并后频率可行性的计算结果在预合并过程中排除不合理的合并,进行最终的合并。
具体的,在所有可合并字符中,将每个待处理字符的预合并字符组的频率所处的二进制数区间作为合并字符组区间,所述二进制数区间指的是以大于每个待处理字符的预合并字符组的频率的最小的2的负整数次方的数为区间上限,以小于每个待处理字符的预合并字符组的频率的最大的2的负整数次方的数为区间下限构建的区间,在排序频率可行性判断序列中统计大小属于合并字符组区间内的所有频率,并将所有频率按照从小到大进行排序记为合并字符同区间频率序列,获取合并字符同区间频率序列在原数据中对应的字符并按照频率从小到大的顺序进行排列得到新的字符序列,将新的字符序列记为合并字符同区间字符序列,计算合并字符同区间字符序列中所有字符编码的平均编码长度,记为每个待处理字符的平均编码长度。
进一步,计算每个待处理字符的预合并字符组的预合并融合因子,具体的计算公式如下:
其中,表示第/>个待处理字符的预合并字符组的预合并融合因子,/>表示第/>个待处理字符的预合并字符组的频率,/>表示第/>个待处理字符在原数据中出现的频率,表示第/>个待处理字符的第二合并字符在原数据中出现的频率,/>表示取括号内所有数值的最小值,/>表示取括号内所有数值的最大值,/>表示以2为底数的对数函数,/>表示预设的最优融合数,本实施例以/>为例进行说明,不对其进行限定。/>表示合并字符最小频率,当预合并字符组的频率与合并字符最小频率的比值在0-1之间时,融合因子大于零且单调递增,当该比例为趋近于1时,即分母的取值为最优融合数时,融合因子会变的非常大,代表此次合并的待处理字符的预合并字符组中的某个字符被完全消耗,说明这次合并的效果较好,代表预合并融合因子较大,因此采用比值取对数的形式拟合变化速率和区间,采用取倒数的形式使得比值和预合并融合因子的关系符合其表征的意义。
进一步,对于每一层中的每个待处理字符,计算预合并后每个待处理字符的编码缩减长度,具体的计算公式如下:
其中,表示第/>个待处理字符的编码缩减长度,/>表示/>设备数据中包含的字符个数,/>表示第/>个待处理字符的平均编码长度,/>表示第/>个待处理字符的预合并字符组的预合并融合因子,/>表示第/>个待处理字符的预合并字符组的频率。
进一步,计算每个待处理字符合并后对霍夫曼树的优化程度:
其中,表示第/>个待处理字符合并后对霍夫曼树的优化程度,/>表示霍夫曼编码的长度,/>表示第/>个待处理字符的编码缩减长度。在得到每个待处理字符合并后对霍夫曼树的优化程度的过程中,首先得到预合并后每个待处理字符的编码缩减长度,预合并后每个待处理字符的编码缩减长度受到4个因素的影响,分别为/>设备数据中包含的字符个数、待处理字符的平均编码长度、待处理字符的预合并字符组的预合并融合因子以及待处理字符的预合并字符组的频率,这4个因素对合并编码的缩减长度都是独立且正相关的,当这4个因素中的某一个因素增大或者减小时,都会导致编码缩减的程度的下降,进一步对预合并后每个待处理字符的编码缩减长度在霍夫曼编码中进行占比分析,得到缩减长度的影响用来表征本实施例对/>设备数据优化压缩存储的一个衡量标准即优化程度。
至此,得到了每个待处理字符合并后对霍夫曼树的优化程度。
S004:根据每个待处理字符合并后对霍夫曼树的优化程度对设备数据进行合并得到合并后的/>设备数据,对合并后的/>设备数据进行霍夫曼编码得到优化编码,将优化编码存储在存储空间中,完成对/>设备数据的优化存储。
需要说明的是,在获取个字符组的合并必要性后,还应判断该合并是否能够使霍夫曼编码长度降低,如果无法达到提高压缩率的目的,应放弃对其进行的合并。根据合并后数据集的霍夫曼树对新的字符集中各字符或字符数组进行编码,利用新的编码进行压缩并储存,完成对设备数据的优化存储。
预设一个优化经验值,其中本实施例以优化经验值为为例进行叙述,本实施例不进行具体限定,其中优化经验值可根据具体实施情况而定。
具体的,对每一层中的每个待处理字符,比较每个待处理字符合并后对霍夫曼树的优化程度与优化经验值的大小,若每个待处理字符合并后对霍夫曼树的优化程度大于优化经验值,则以每个待处理字符的预合并字符组为新的待处理字符,继续进行新的待处理字符合并后对霍夫曼树的优化程度的计算,并与优化经验值比较大小直至新的待处理字符合并后对霍夫曼树的优化程度小于优化经验值,完成对每个待处理字符的合并,从而完成对每一层中的所有待处理字符的合并以及对所有层中的所有待处理字符的合并,得到合并后的设备数据。
进一步,对合并后的数据进行霍夫曼编码得到优化编码,将优化编码存储在存储空间中,完成对/>设备数据的优化存储。
至此,完成了对设备数据的优化存储。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种PLC设备数据优化存储方法,其特征在于,该方法包括以下步骤:
采集设备数据,统计/>设备数据中各个字符的出现频率并构建霍夫曼树,获取霍夫曼编码;
获取预合并字符组,根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率;
根据每个待处理字符的预合并字符组的频率获取合并字符同区间字符序列,在合并字符同区间字符序列中,根据合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的平均编码长度,并计算每个待处理字符的预合并字符组的预合并融合因子,获取设备数据中包含的字符个数,利用预合并融合因子和平均编码长度计算得到预合并后每个待处理字符的编码缩减长度,将预合并后每个待处理字符的编码缩减长度在霍夫曼编码的长度中进行衡量得到每个待处理字符合并后对霍夫曼树的优化程度;
根据每个待处理字符合并后对霍夫曼树的优化程度对设备数据进行合并得到合并后的/>设备数据,对合并后的/>设备数据进行霍夫曼编码得到优化编码,将优化编码存储在存储空间中,完成对/>设备数据的优化存储;
所述获取预合并字符组,包括的具体步骤如下:
从上到下对霍夫曼树进行逐层遍历,统计每一层中包含的字符个数,当每一层中包含的字符个数大于两个时,将该层中的所有字符记为待处理字符,计算该层中每个待处理字符在设备数据中出现的频率;
对每一层中的每个待处理字符,获取每个待处理字符的左序列和右序列;分别将每个待处理字符的左序列和右序列中存在的每个字符记为每个待处理字符的每个左待选字符和右待选字符,分别统计每个待处理字符的每个左待选字符和右待选字符在设备数据中出现的频率,分别根据每个待处理字符的每个左待选字符和右待选字符得到第二合并字符,分别获取第二合并字符在其所在的左序列和右序列中出现的频率,并分别记为第二左合并字符频率和第二右合并字符频率,将第二左合并字符频率和第二右合并字符频率通记为第二合并字符频率,获取第二合并字符在/>设备数据中出现的频率,将每一层中的每个待处理字符作为第一合并字符,对第一合并字符和第二合并字符进行预合并得到预合并字符组;
所述分别根据每个待处理字符的每个左待选字符和右待选字符得到第二合并字符,包括的具体步骤如下:
分别对每个待处理字符的每个左待选字符和右待选字符在设备数据中出现的频率按照从小到大的顺序进行排列得到每个待处理字符的左字符频率序列和右字符频率序列,并分别将左字符频率序列和右字符频率序列中最后一个频率对应的左待选字符和右待选字符记为频率最大左字符和频率最大右字符,分别将频率最大左字符和频率最大右字符在/>设备数据中出现的频率记为左字符频率序列最大频率和右字符频率序列最大频率,将频率最大左字符或频率最大右字符作为第二合并字符;
所述根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率的具体计算公式分别如下:
其中,表示第/>个待处理字符的预合并字符组的频率,/>表示第/>个待处理字符在PLC设备数据中出现的频率,/>表示第/>个待处理字符的第二合并字符在/>设备数据中出现的频率;
其中,表示第/>个待处理字符的合并后第一合并字符频率;
其中,表示第/>个待处理字符的合并后第二合并字符频率;
根据每个待处理字符的预合并字符组的频率获取合并字符同区间字符序列,包括的具体步骤如下:
将预合并字符组和所有待处理字符的频率按照从小到大进行排序得到排序频率可行性判断序列;将每个待处理字符的预合并字符组的频率所处的二进制数区间作为合并字符组区间,在排序频率可行性判断序列中统计大小属于合并字符组区间内的所有频率,并将所有频率按照从小到大进行排序记为合并字符同区间频率序列,获取合并字符同区间频率序列在PLC设备数据中对应的字符并按照频率从小到大的顺序进行排列得到新的字符序列,将新的字符序列记为合并字符同区间字符序列;
所述每个待处理字符的预合并字符组的频率所处的二进制数区间具体指代的是:
以大于每个待处理字符的预合并字符组的频率的最小的2的负整数次方的数为区间上限,以小于每个待处理字符的预合并字符组的频率的最大的2的负整数次方的数为区间下限构建区间,将该区间记为每个待处理字符的预合并字符组的频率所处的二进制数区间;
所述在合并字符同区间字符序列中,根据合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的平均编码长度,并计算每个待处理字符的预合并字符组的预合并融合因子,包括的具体步骤如下:
根据合并后第一合并字符频率和合并后第二合并字符频率得到可合并字符,在所有可合并字符中,计算合并字符同区间字符序列中所有字符编码的平均编码长度,记为每个待处理字符的平均编码长度;计算每个待处理字符的预合并字符组的预合并融合因子,具体的计算公式如下:
其中,表示第/>个待处理字符的预合并字符组的预合并融合因子,/>表示第/>个待处理字符的预合并字符组的频率,/>表示第/>个待处理字符在PLC设备数据中出现的频率,表示第/>个待处理字符的第二合并字符在PLC设备数据中出现的频率,/>表示取括号内所有数值的最小值,/>表示取括号内所有数值的最大值,/>表示以2为底数的对数函数,/>表示预设的最优融合数;
所述根据合并后第一合并字符频率和合并后第二合并字符频率得到可合并字符,包括的具体步骤如下:
将预合并字符组和所有待处理字符的频率按照从小到大进行排序得到排序频率可行性判断序列,分别将预合并后第一合并字符的合并后第一合并字符频率和预合并后第二合并字符的合并后第二合并字符频率的索引值记为目标索引值,分别获取排序频率可行性判断序列中目标索引值加一和减一的索引值对应的字符,用目标索引值加一的字符的频率除以目标索引值减一的字符的频率得到目标索引比,将以2为底数的目标索引比的对数表示第一合并字符和第二合并字符预合并后的频率可行性,当频率可行性大于合并阈值时,将这两个字符合并,并将这两个字符记为可合并字符;
所述将预合并后每个待处理字符的编码缩减长度在霍夫曼编码的长度中进行衡量得到每个待处理字符合并后对霍夫曼树的优化程度,包括的具体步骤如下:
获取霍夫曼编码的长度,用霍夫曼编码的长度减去预合并后每个待处理字符的编码缩减长度得到差值结果,用差值结果除以霍夫曼编码的长度得到除数结果,将除数结果记为每个待处理字符合并后对霍夫曼树的优化程度。
2.根据权利要求1所述一种PLC设备数据优化存储方法,其特征在于,所述获取每个待处理字符的左序列和右序列,包括的具体步骤如下:
在设备数据中获取每个待处理字符的索引位置,并利用索引位置构成待处理字符索引序列,将待处理字符索引序列中所有索引值减一获取索引减一序列,根据索引减一序列中的索引值对应到/>设备数据中获取待处理字符的左序列,将待处理字符索引序列中所有索引值加一获取索引加一序列,根据索引加一序列中的索引值对应到/>设备数据中获取待处理字符的右序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311109859.1A CN116865768B (zh) | 2023-08-31 | 2023-08-31 | 一种plc设备数据优化存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311109859.1A CN116865768B (zh) | 2023-08-31 | 2023-08-31 | 一种plc设备数据优化存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116865768A CN116865768A (zh) | 2023-10-10 |
CN116865768B true CN116865768B (zh) | 2023-11-21 |
Family
ID=88228905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311109859.1A Active CN116865768B (zh) | 2023-08-31 | 2023-08-31 | 一种plc设备数据优化存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116865768B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06195058A (ja) * | 1992-12-25 | 1994-07-15 | Casio Comput Co Ltd | 文字パターンデータ圧縮装置 |
US6047298A (en) * | 1996-01-30 | 2000-04-04 | Sharp Kabushiki Kaisha | Text compression dictionary generation apparatus |
US6061398A (en) * | 1996-03-11 | 2000-05-09 | Fujitsu Limited | Method of and apparatus for compressing and restoring data |
CN103702133A (zh) * | 2013-12-19 | 2014-04-02 | Tcl集团股份有限公司 | 一种图像压缩展示方法及其装置 |
CN104283568A (zh) * | 2013-07-12 | 2015-01-14 | 中国科学院声学研究所 | 一种基于部分霍夫曼树的数据压缩编码方法 |
CN104283567A (zh) * | 2013-07-02 | 2015-01-14 | 北京四维图新科技股份有限公司 | 一种名称数据的压缩、解压缩方法及设备 |
CN115173866A (zh) * | 2022-07-14 | 2022-10-11 | 郑州朗灵电子科技有限公司 | 一种小程序数据的高效存储方法 |
CN115276666A (zh) * | 2022-09-28 | 2022-11-01 | 汉达科技发展集团有限公司 | 一种装备训练模拟器数据高效传输方法 |
CN116318173A (zh) * | 2023-05-10 | 2023-06-23 | 青岛农村商业银行股份有限公司 | 一种金融融资服务数字智能管理*** |
CN116489369A (zh) * | 2023-06-26 | 2023-07-25 | 深圳市美力高集团有限公司 | 一种行车数字录像压缩处理方法 |
CN116506073A (zh) * | 2023-06-26 | 2023-07-28 | 深圳市研创科技有限公司 | 一种工业计算机平台数据快速传输方法及*** |
CN116610084A (zh) * | 2023-07-20 | 2023-08-18 | 北京柏瑞安电子技术有限公司 | 一种pcba生产数据智能管理*** |
CN116614139A (zh) * | 2023-07-20 | 2023-08-18 | 酒仙网络科技股份有限公司 | 一种售酒小程序内用户交易信息压缩存储方法 |
-
2023
- 2023-08-31 CN CN202311109859.1A patent/CN116865768B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06195058A (ja) * | 1992-12-25 | 1994-07-15 | Casio Comput Co Ltd | 文字パターンデータ圧縮装置 |
US6047298A (en) * | 1996-01-30 | 2000-04-04 | Sharp Kabushiki Kaisha | Text compression dictionary generation apparatus |
US6061398A (en) * | 1996-03-11 | 2000-05-09 | Fujitsu Limited | Method of and apparatus for compressing and restoring data |
CN104283567A (zh) * | 2013-07-02 | 2015-01-14 | 北京四维图新科技股份有限公司 | 一种名称数据的压缩、解压缩方法及设备 |
CN104283568A (zh) * | 2013-07-12 | 2015-01-14 | 中国科学院声学研究所 | 一种基于部分霍夫曼树的数据压缩编码方法 |
CN103702133A (zh) * | 2013-12-19 | 2014-04-02 | Tcl集团股份有限公司 | 一种图像压缩展示方法及其装置 |
CN115173866A (zh) * | 2022-07-14 | 2022-10-11 | 郑州朗灵电子科技有限公司 | 一种小程序数据的高效存储方法 |
CN115276666A (zh) * | 2022-09-28 | 2022-11-01 | 汉达科技发展集团有限公司 | 一种装备训练模拟器数据高效传输方法 |
CN116318173A (zh) * | 2023-05-10 | 2023-06-23 | 青岛农村商业银行股份有限公司 | 一种金融融资服务数字智能管理*** |
CN116489369A (zh) * | 2023-06-26 | 2023-07-25 | 深圳市美力高集团有限公司 | 一种行车数字录像压缩处理方法 |
CN116506073A (zh) * | 2023-06-26 | 2023-07-28 | 深圳市研创科技有限公司 | 一种工业计算机平台数据快速传输方法及*** |
CN116610084A (zh) * | 2023-07-20 | 2023-08-18 | 北京柏瑞安电子技术有限公司 | 一种pcba生产数据智能管理*** |
CN116614139A (zh) * | 2023-07-20 | 2023-08-18 | 酒仙网络科技股份有限公司 | 一种售酒小程序内用户交易信息压缩存储方法 |
Non-Patent Citations (5)
Title |
---|
JPEG-Lepton压缩技术关键模块VLSI结构设计研究;叶帅;《中国优秀硕士学位论文全文数据库 信息科技辑》;第2021年卷(第7期);I138-585 * |
Low bit-rate efficient compression for seismic data;A. Z. Averbuch et al;《IEEE Transactions on Image Processing》;1801-1814 * |
Revisiting Huffman Coding: Toward Extreme Performance on Modern GPU Architectures;J. Tian et al;《2021 IEEE International Parallel and Distributed Processing Symposium 》;881-891 * |
一种支持ANSI编码的中文文本压缩算法;常为领等;《中文信息学报》;第24卷(第5期);96-105 * |
利用改进的哈夫曼编码实现文件的压缩与解压;卢冰等;《科技通报》;第29卷(第6期);22-24 * |
Also Published As
Publication number | Publication date |
---|---|
CN116865768A (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104283568B (zh) | 一种基于部分霍夫曼树的数据压缩编码方法 | |
CN116303374B (zh) | 基于sql数据库的多维度报表数据优化压缩方法 | |
CN110062233B (zh) | 卷积神经网络全连接层稀疏的权值矩阵的压缩方法及*** | |
CN112352431B (zh) | 一种数据编码、解码方法、设备及存储介质 | |
CN116318174B (zh) | 一种污水处理厂的垃圾运输管理***的数据管理方法 | |
CN116610265B (zh) | 一种商务信息咨询***的数据存储方法 | |
CN110162290B (zh) | 一种针对OLED屏DeMURA数据的压缩方法 | |
CN110020721B (zh) | 一种基于参数压缩的目标检测深度学习网络优化方法 | |
CN116915259B (zh) | 基于物联网的仓配数据优化储存方法及*** | |
CN113610227B (zh) | 一种用于图像分类的深度卷积神经网络剪枝方法 | |
CN116541828B (zh) | 一种服务信息数据的智能管理方法 | |
CN113111889A (zh) | 用于边缘计算端的目标检测网络处理方法 | |
CN116865768B (zh) | 一种plc设备数据优化存储方法 | |
CN104809229B (zh) | 一种文本特征词提取方法及*** | |
CN117376430B (zh) | 基于dcs的工业数据快速传输方法及*** | |
CN117040542B (zh) | 一种智能综合配电箱能耗数据处理方法 | |
CN116861271B (zh) | 基于大数据的数据分析处理方法 | |
CN117097906B (zh) | 一种区域医疗资源高效利用的方法及*** | |
CN116737085B (zh) | 一种电梯维护数据高效存储方法 | |
CN104657949A (zh) | 一种煤泥浮选泡沫图像去噪中结构元素优化的方法 | |
CN110704408A (zh) | 一种基于聚类的时序数据压缩方法及*** | |
JP7026808B2 (ja) | 情報処理装置、方法及びプログラム | |
CN116109714A (zh) | 基于神经网络的数据编码存储方法及*** | |
CN109192245A (zh) | 基因变异数据的GDS-Huffman压缩方法 | |
CN116561084B (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 |