一种PLC设备数据优化存储方法技术

技术编号:39067495 阅读:10 留言:0更新日期:2023-10-12 20:00
本发明专利技术涉及数据压缩技术领域,具体涉及一种PLC设备数据优化存储方法,包括:采集PLC设备数据并进行霍夫曼编码得到霍夫曼树;在霍夫曼树上根据相同编码长度的字符出现的频率进行预合并,分析预合并后频率较高的字符对编码合并的优化程度;根据优化程度对PLC设备数据进行重新编码以及压缩存储。本发明专利技术通过对霍夫曼树同一层字符与相邻字符的合并必要性进行分析打乱原来频率相同的字符频率,使霍夫曼编码对数据进行压缩效果更好。码对数据进行压缩效果更好。码对数据进行压缩效果更好。

【技术实现步骤摘要】
一种PLC设备数据优化存储方法


[0001]本专利技术涉及数据压缩
,具体涉及一种PLC设备数据优化存储方法。

技术介绍

[0002]在设备数据的存储过程中,往往需要消耗存储空间,造成资源的浪费,因此需要通过一定的压缩算法对设备数据的存储进行优化。
[0003]传统的压缩编码中霍夫曼编码的压缩效果与解压速度均较好,霍夫曼编码根据数据集中字符的出现频率对其进行变长编码,该编码方式对频率分布不均匀的数据有较好的压缩效果。而设备数据中有很多字符出现频率相同,霍夫曼编码对字符频率相同的数据压缩效果欠佳,往往无法达到较好的压缩效果。

技术实现思路

[0004]本专利技术提供一种PLC设备数据优化存储方法,以解决现有的问题。
[0005]本专利技术的一种PLC设备数据优化存储方法采用如下技术方案:本专利技术一个实施例提供了一种PLC设备数据优化存储方法,该方法包括以下步骤:采集设备数据,统计设备数据中各个字符的出现频率并构建霍夫曼树,获取霍夫曼编码;获取预合并字符组,根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率;根据每个待处理字符的预合并字符组的频率获取合并字符同区间字符序列,在合并字符同区间字符序列中,根据合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的平均编码长度,并计算每个待处理字符的预合并字符组的预合并融合因子,获取设备数据中包含的字符个数,利用预合并融合因子和平均编码长度计算得到预合并后每个待处理字符的编码缩减长度,将预合并后每个待处理字符的编码缩减长度在霍夫曼编码的长度中进行衡量得到每个待处理字符合并后对霍夫曼树的优化程度;根据每个待处理字符合并后对霍夫曼树的优化程度对设备数据进行合并得到合并后的设备数据,对合并后的设备数据进行霍夫曼编码得到优化编码,将优化编码存储在存储空间中,完成对设备数据的优化存储。
[0006]优选的,所述获取预合并字符组,包括的具体步骤如下:从上到下对霍夫曼树进行逐层遍历,统计每一层中包含的字符个数,当每一层中
包含的字符个数大于两个时,将该层中的所有字符记为待处理字符,计算该层中每个待处理字符在设备数据中出现的频率;对每一层中的每个待处理字符,获取每个待处理字符的左序列和右序列;分别将每个待处理字符的左序列和右序列中存在的每个字符记为每个待处理字符的每个左待选字符和右待选字符,分别统计每个待处理字符的每个左待选字符和右待选字符在设备数据中出现的频率,分别根据每个待处理字符的每个左待选字符和右待选字符得到第二合并字符,分别获取第二合并字符在其所在的左序列和右序列中出现的频率,并分别记为第二左合并字符频率和第二右合并字符频率,将第二左合并字符频率和第二右合并字符频率通记为第二合并字符频率,获取第二合并字符在设备数据中出现的频率,将每一层中的每个待处理字符作为第一合并字符,对第一合并字符和第二合并字符进行预合并得到预合并字符组。
[0007]优选的,所述获取每个待处理字符的左序列和右序列,包括的具体步骤如下:在设备数据中获取每个待处理字符的索引位置,并利用索引位置构成待处理字符索引序列,将待处理字符索引序列中所有索引值减一获取索引减一序列,根据索引减一序列中的索引值对应到设备数据中获取待处理字符的左序列,将待处理字符索引序列中所有索引值加一获取索引加一序列,根据索引加一序列中的索引值对应到设备数据中获取待处理字符的右序列。
[0008]优选的,所述分别根据每个待处理字符的每个左待选字符和右待选字符得到第二合并字符,包括的具体步骤如下:分别对每个待处理字符的每个左待选字符和右待选字符在设备数据中出现的频率按照从小到大的顺序进行排列得到每个待处理字符的左字符频率序列和右字符频率序列,并分别将左字符频率序列和右字符频率序列中最后一个频率对应的左待选字符和右待选字符记为频率最大左字符和频率最大右字符,分别将频率最大左字符和频率最大右字符在设备数据中出现的频率记为左字符频率序列最大频率和右字符频率序列最大频率,将频率最大左字符或频率最大右字符作为第二合并字符。
[0009]优选的,所述根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率的具体计算公式分别如下:其中,表示第个待处理字符的预合并字符组的频率,表示第个待处理字符在PLC设备数据中出现的频率,表示第个待处理字符的第二合并字符在设备
数据中出现的频率;其中,表示第个待处理字符的合并后第一合并字符频率;其中,表示第个待处理字符的合并后第二合并字符频率。
[0010]优选的,所述根据每个待处理字符的预合并字符组的频率获取合并字符同区间字符序列,包括的具体步骤如下:将预合并字符组和所有待处理字符的频率按照从小到大进行排序得到排序频率可行性判断序列;将每个待处理字符的预合并字符组的频率所处的二进制数区间作为合并字符组区间,在排序频率可行性判断序列中统计大小属于合并字符组区间内的所有频率,并将所有频率按照从小到大进行排序记为合并字符同区间频率序列,获取合并字符同区间频率序列在PLC设备数据中对应的字符并按照频率从小到大的顺序进行排列得到新的字符序列,将新的字符序列记为合并字符同区间字符序列。
[0011]优选的,所述每个待处理字符的预合并字符组的频率所处的二进制数区间具体指代的是:以大于每个待处理字符的预合并字符组的频率的最小的2的负整数次方的数为区间上限,以小于每个待处理字符的预合并字符组的频率的最大的2的负整数次方的数为区间下限构建区间,将该区间记为每个待处理字符的预合并字符组的频率所处的二进制数区间。
[0012]优选的,所述在合并字符同区间字符序列中,根据合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的平均编码长度,并计算每个待处理字符的预合并字符组的预合并融合因子,包括的具体步骤如下:根据合并后第一合并字符频率和合并后第二合并字符频率得到可合并字符,在所有可合并字符中,计算合并字符同区间字符序列中所有字符编码的平均编码长度,记为每个待处理字符的平均编码长度;计算每个待处理字符的预合并字符组的预合并融合因子,具体的计算公式如下:其中,表示第个待处理字符的预合并字符组的预合并融合因子,表示第个待处理字符的预合并字符组的频率,表示第个待处理字符在PLC设备数据中出现的频率,表示第个待处理字符的第二合并字符在PLC设备数据中出现的频率,表示取括号内所有数值的最小值,表示取括号内所有数值的最大值,表示以2
为底数的对数函数,表示预设的最优融合数。
[0013]优选的,所述根据合并后第一合并字符频率和合并后第二合并字符频率得到可合并字符,包括的具体步骤如下:将预合并字符组和所有待处理字符的频率按照从小到大进行排序得到排序频率可行性判断序列,分别将预合并后第一合并字符的合并后第一合并字符频率和预合并后第二合并字符的合并后第二合并字符频率的索引值记为目标索引值本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种PLC设备数据优化存储方法,其特征在于,该方法包括以下步骤:采集设备数据,统计设备数据中各个字符的出现频率并构建霍夫曼树,获取霍夫曼编码;获取预合并字符组,根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率;根据每个待处理字符的预合并字符组的频率获取合并字符同区间字符序列,在合并字符同区间字符序列中,根据合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的平均编码长度,并计算每个待处理字符的预合并字符组的预合并融合因子,获取设备数据中包含的字符个数,利用预合并融合因子和平均编码长度计算得到预合并后每个待处理字符的编码缩减长度,将预合并后每个待处理字符的编码缩减长度在霍夫曼编码的长度中进行衡量得到每个待处理字符合并后对霍夫曼树的优化程度;根据每个待处理字符合并后对霍夫曼树的优化程度对设备数据进行合并得到合并后的设备数据,对合并后的设备数据进行霍夫曼编码得到优化编码,将优化编码存储在存储空间中,完成对设备数据的优化存储。2.根据权利要求1所述一种PLC设备数据优化存储方法,其特征在于,所述获取预合并字符组,包括的具体步骤如下:从上到下对霍夫曼树进行逐层遍历,统计每一层中包含的字符个数,当每一层中包含的字符个数大于两个时,将该层中的所有字符记为待处理字符,计算该层中每个待处理字符在设备数据中出现的频率;对每一层中的每个待处理字符,获取每个待处理字符的左序列和右序列;分别将每个待处理字符的左序列和右序列中存在的每个字符记为每个待处理字符的每个左待选字符和右待选字符,分别统计每个待处理字符的每个左待选字符和右待选字符在设备数据中出现的频率,分别根据每个待处理字符的每个左待选字符和右待选字符得到第二合并字符,分别获取第二合并字符在其所在的左序列和右序列中出现的频率,并分别记为第二左合并字符频率和第二右合并字符频率,将第二左合并字符频率和第二右合并字符频率通记为第二合并字符频率,获取第二合并字符在设备数据中出现的频率,将每一层中的每个待处理字符作为第一合并字符,对第一合并字符和第二合并字符进行预合并得到预合并字符组。3.根据权利要求2所述一种PLC设备数据优化存储方法,其特征在于,所述获取每个待处理字符的左序列和右序列,包括的具体步骤如下:在设备数据中获取每个待处理字符的索引位置,并利用索引位置构成待处理字符
索引序列,将待处理字符索引序列中所有索引值减一获取索引减一序列,根据索引减一序列中的索引值对应到设备数据中获取待处理字符的左序列,将待处理字符索引序列中所有索引值加一获取索引加一序列,根据索引加一序列中的索引值对应到设备数据中获取待处理字符的右序列。4.根据权利要求2所述一种PLC设备数据优化存储方法,其特征在于,所述分别根据每个待处理字符的每个左待选字符和右待选字符得到第二合并字符,包括的具体步骤如下:分别对每个待处理字符的每个左待选字符和右待选字符在设备数据中出现的频率按照从小到大的顺序进行排列得到每个待处理字符的左字符频率序列和右字符频率序列,并分别将左字符频率序列和右字符频率序列中最后一个频率对应的左待选字符和右待选字符记为频率最大左字符和频率最大右字符,分别将频率最大左字符和频率最大右字符在设备数据中出现的频率记为左字符频率序列最大频率和右字符频率序列最大频率,将频率最大左字符或频率最大右字符作为第二合并字符。5.根据权利要求1所述一种PLC设备数据优化存储方法,其特征在于,所述根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率的具体计算公式分别...

【专利技术属性】
技术研发人员:符光强张伟郭朝兴李云王圣斌
申请(专利权)人:临沂安迪电气有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1