一种PLC设备数据优化存储方法与流程
未命名
10-18
阅读:157
评论:0
一种plc设备数据优化存储方法
技术领域
1.本发明涉及数据压缩技术领域,具体涉及一种plc设备数据优化存储方法。
背景技术:
2.在设备数据的存储过程中,往往需要消耗存储空间,造成资源的浪费,因此需要通过一定的压缩算法对设备数据的存储进行优化。
3.传统的压缩编码中霍夫曼编码的压缩效果与解压速度均较好,霍夫曼编码根据数据集中字符的出现频率对其进行变长编码,该编码方式对频率分布不均匀的数据有较好的压缩效果。而设备数据中有很多字符出现频率相同,霍夫曼编码对字符频率相同的数据压缩效果欠佳,往往无法达到较好的压缩效果。
技术实现要素:
4.本发明提供一种plc设备数据优化存储方法,以解决现有的问题。
5.本发明的一种plc设备数据优化存储方法采用如下技术方案:本发明一个实施例提供了一种plc设备数据优化存储方法,该方法包括以下步骤:采集设备数据,统计设备数据中各个字符的出现频率并构建霍夫曼树,获取霍夫曼编码;获取预合并字符组,根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率;根据每个待处理字符的预合并字符组的频率获取合并字符同区间字符序列,在合并字符同区间字符序列中,根据合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的平均编码长度,并计算每个待处理字符的预合并字符组的预合并融合因子,获取设备数据中包含的字符个数,利用预合并融合因子和平均编码长度计算得到预合并后每个待处理字符的编码缩减长度,将预合并后每个待处理字符的编码缩减长度在霍夫曼编码的长度中进行衡量得到每个待处理字符合并后对霍夫曼树的优化程度;根据每个待处理字符合并后对霍夫曼树的优化程度对设备数据进行合并得到合并后的设备数据,对合并后的设备数据进行霍夫曼编码得到优化编码,将优化编码存储在存储空间中,完成对设备数据的优化存储。
6.优选的,所述获取预合并字符组,包括的具体步骤如下:从上到下对霍夫曼树进行逐层遍历,统计每一层中包含的字符个数,当每一层中
包含的字符个数大于两个时,将该层中的所有字符记为待处理字符,计算该层中每个待处理字符在设备数据中出现的频率;对每一层中的每个待处理字符,获取每个待处理字符的左序列和右序列;分别将每个待处理字符的左序列和右序列中存在的每个字符记为每个待处理字符的每个左待选字符和右待选字符,分别统计每个待处理字符的每个左待选字符和右待选字符在设备数据中出现的频率,分别根据每个待处理字符的每个左待选字符和右待选字符得到第二合并字符,分别获取第二合并字符在其所在的左序列和右序列中出现的频率,并分别记为第二左合并字符频率和第二右合并字符频率,将第二左合并字符频率和第二右合并字符频率通记为第二合并字符频率,获取第二合并字符在设备数据中出现的频率,将每一层中的每个待处理字符作为第一合并字符,对第一合并字符和第二合并字符进行预合并得到预合并字符组。
7.优选的,所述获取每个待处理字符的左序列和右序列,包括的具体步骤如下:在设备数据中获取每个待处理字符的索引位置,并利用索引位置构成待处理字符索引序列,将待处理字符索引序列中所有索引值减一获取索引减一序列,根据索引减一序列中的索引值对应到设备数据中获取待处理字符的左序列,将待处理字符索引序列中所有索引值加一获取索引加一序列,根据索引加一序列中的索引值对应到设备数据中获取待处理字符的右序列。
8.优选的,所述分别根据每个待处理字符的每个左待选字符和右待选字符得到第二合并字符,包括的具体步骤如下:分别对每个待处理字符的每个左待选字符和右待选字符在设备数据中出现的频率按照从小到大的顺序进行排列得到每个待处理字符的左字符频率序列和右字符频率序列,并分别将左字符频率序列和右字符频率序列中最后一个频率对应的左待选字符和右待选字符记为频率最大左字符和频率最大右字符,分别将频率最大左字符和频率最大右字符在设备数据中出现的频率记为左字符频率序列最大频率和右字符频率序列最大频率,将频率最大左字符或频率最大右字符作为第二合并字符。
9.优选的,所述根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率的具体计算公式分别如下:其中,表示第个待处理字符的预合并字符组的频率,表示第个待处理字符在plc设备数据中出现的频率,表示第个待处理字符的第二合并字符在设备
数据中出现的频率;其中,表示第个待处理字符的合并后第一合并字符频率;其中,表示第个待处理字符的合并后第二合并字符频率。
10.优选的,所述根据每个待处理字符的预合并字符组的频率获取合并字符同区间字符序列,包括的具体步骤如下:将预合并字符组和所有待处理字符的频率按照从小到大进行排序得到排序频率可行性判断序列;将每个待处理字符的预合并字符组的频率所处的二进制数区间作为合并字符组区间,在排序频率可行性判断序列中统计大小属于合并字符组区间内的所有频率,并将所有频率按照从小到大进行排序记为合并字符同区间频率序列,获取合并字符同区间频率序列在plc设备数据中对应的字符并按照频率从小到大的顺序进行排列得到新的字符序列,将新的字符序列记为合并字符同区间字符序列。
11.优选的,所述每个待处理字符的预合并字符组的频率所处的二进制数区间具体指代的是:以大于每个待处理字符的预合并字符组的频率的最小的2的负整数次方的数为区间上限,以小于每个待处理字符的预合并字符组的频率的最大的2的负整数次方的数为区间下限构建区间,将该区间记为每个待处理字符的预合并字符组的频率所处的二进制数区间。
12.优选的,所述在合并字符同区间字符序列中,根据合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的平均编码长度,并计算每个待处理字符的预合并字符组的预合并融合因子,包括的具体步骤如下:根据合并后第一合并字符频率和合并后第二合并字符频率得到可合并字符,在所有可合并字符中,计算合并字符同区间字符序列中所有字符编码的平均编码长度,记为每个待处理字符的平均编码长度;计算每个待处理字符的预合并字符组的预合并融合因子,具体的计算公式如下:其中,表示第个待处理字符的预合并字符组的预合并融合因子,表示第个待处理字符的预合并字符组的频率,表示第个待处理字符在plc设备数据中出现的频率,表示第个待处理字符的第二合并字符在plc设备数据中出现的频率,表示取括号内所有数值的最小值,表示取括号内所有数值的最大值,表示以2
为底数的对数函数,表示预设的最优融合数。
13.优选的,所述根据合并后第一合并字符频率和合并后第二合并字符频率得到可合并字符,包括的具体步骤如下:将预合并字符组和所有待处理字符的频率按照从小到大进行排序得到排序频率可行性判断序列,分别将预合并后第一合并字符的合并后第一合并字符频率和预合并后第二合并字符的合并后第二合并字符频率的索引值记为目标索引值,分别获取排序频率可行性判断序列中目标索引值加一和减一的索引值对应的字符,用目标索引值加一的字符的频率除以目标索引值减一的字符的频率得到目标索引比,将以2为底数的目标索引比的对数表示第一合并字符和第二合并字符预合并后的频率可行性,当频率可行性大于合并阈值时,将这两个字符合并,并将这两个字符记为可合并字符。
14.优选的,所述将预合并后每个待处理字符的编码缩减长度在霍夫曼编码的长度中进行衡量得到每个待处理字符合并后对霍夫曼树的优化程度,包括的具体步骤如下:获取霍夫曼编码的长度,用霍夫曼编码的长度减去预合并后每个待处理字符的编码缩减长度得到差值结果,用差值结果除以霍夫曼编码的长度得到除数结果,将除数结果记为每个待处理字符合并后对霍夫曼树的优化程度。
15.本发明的技术方案的有益效果是:本发明针对设备数据中有很多字符出现频率相同导致霍夫曼编码对字符频率相同的数据压缩效果欠佳的技术问题,通过统计霍夫曼树中同一层字符,分析与左右相邻字符组成字符组分别的出现频率计算字符组的优选程度,对字符之间进行合并编码,破坏原有的相同频率分布,使字符集内字符频率尽可能满足分布不均匀的特点,提高了数据的压缩效果,优化了数据的存储。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1为本发明一种plc设备数据优化存储方法的步骤流程图。
具体实施方式
18.为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种plc设备数据优化存储方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
19.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
20.下面结合附图具体的说明本发明所提供的一种plc设备数据优化存储方法的具体方案。
21.请参阅图1,其示出了本发明一个实施例提供的一种plc设备数据优化存储方法的步骤流程图,该方法包括以下步骤:s001:采集设备数据,统计设备数据中各个字符的出现频率并构建霍夫曼树,获取霍夫曼编码。
22.需要说明的是,霍夫曼编码直接根据数据频率对字符进行编码,将概率较高的字符用较短的编码表示,从而达到压缩的目的,这对于频率不均匀的数据有着较好的压缩效果,而对于频率均匀的数据,相同频率的字符编码长度也相似甚至相同,无法达到较好的压缩效果。而设备数据中各字符的出现频率较均匀,若直接对其使用霍夫曼编码压缩,最终的压缩率有限。故通过分析设备数据相同频率字符与相邻字符构成字符组的出现频率,根据频率获取字符组的合并必要性,再对能合并可行性较高的字符组合并进行编码,通过破坏数据原有均匀频率的方式增大数据压缩率,因此首先需要构建霍夫曼树并获取霍夫曼编码。
23.具体的,由编程人员在设备上输入数据,设备数据包括但不限于英文字母、逗号、空格和换行等若干字符,对设备数据中的所有字符进行频率统计根据设备数据中的每个字符的频率构建霍夫曼树,根据霍夫曼树对plc设备数据进行霍夫曼编码,统计霍夫曼编码的长度,本实施例为叙述说明方便,后续如无特殊说明,则用原数据表示plc设备数据。
24.至此,得到了设备数据的霍夫曼树和霍夫曼编码。
25.s002:获取预合并字符组,根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率。
26.需要说明的是,霍夫曼树最上层的字符是字符集中出现频率最高的字符,优先对这些字符进行合并必要性判断可以对霍夫曼树结构造成较大的改变,更好地打乱了字符集中字符的频率。
27.具体的,从上到下对霍夫曼树进行逐层遍历,统计每一层中包含的字符个数,当每一层中包含的字符个数大于两个时,获取该层中的所有字符记为待处理字符,计算该层中每个待处理字符在原数据中出现的频率,将每个待处理字符按照每个待处理字符在原数据中出现的频率从小到大的顺序进行排序得到每层的霍夫曼排序序列,将霍夫曼排序序列中的第个待处理字符表示为,第个待处理字符在原数据中出现的频率表示为,且有,其中表示第层中包含的待处理字符个数。
28.需要进一步说明的是,对霍夫曼树中某一层中的某个元素,将其在设备数据中进行合并时,往往需要根据与其合并的字符出现的频率进行合并,故通过在设备数
据中对某个字符之于另一个字符而言的出现情况,可以用来判断这两个字符合并在一起后的合理性。
29.进一步,对每一层中的每个待处理字符,在原数据中获取每个待处理字符的索引位置构成待处理字符索引序列,将待处理字符索引序列中所有索引值减一获取索引减一序列,根据索引减一序列中的索引值对应到原数据中获取待处理字符的左序列,将待处理字符索引序列中所有索引值加一获取索引加一序列,根据索引加一序列中的索引值对应到原数据中获取待处理字符的右序列;分别将每个待处理字符的左序列和右序列中存在的每个字符记为每个待处理字符的每个左待选字符和右待选字符,分别统计每个待处理字符的每个左待选字符和右待选字符在原数据中出现的频率,分别对每个待处理字符的每个左待选字符和右待选字符在原数据中出现的频率按照从小到大的顺序进行排列得到每个待处理字符的左字符频率序列和右字符频率序列,并分别将左字符频率序列和右字符频率序列中最后一个频率对应的左待选字符和右待选字符记为频率最大左字符和频率最大右字符,分别将频率最大左字符和频率最大右字符在原数据中出现的频率记为左字符频率序列最大频率和右字符频率序列最大频率,将每一层中的每个待处理字符作为第一合并字符,依次将频率最大左字符或频率最大右字符作为第二合并字符,分别获取第二合并字符在其所在的左序列和右序列中出现的频率,并分别记为第二左合并字符频率和第二右合并字符频率,将二左合并字符频率和第二右合并字符频率通记为第二合并字符频率(计算的时候分别进行计算),获取第二合并字符在原数据中出现的频率。对第一合并字符和第二合并字符进行预合并得到预合并字符组,计算每一层中的每个待处理字符的预合并字符组的频率,具体的计算公式如下:其中,表示第个待处理字符的预合并字符组的频率,表示第个待处理字符在原数据中出现的频率,表示第个待处理字符的第二合并字符在原数据中出现的频率。
30.进一步,计算每个待处理字符的合并后第一合并字符频率,具体的计算公式如下:其中,表示第个待处理字符的合并后第一合并字符频率,表示第个待处理字符的预合并字符组的频率,表示第个待处理字符在原数据中出现的频率。
31.进一步,计算每个待处理字符的合并后第二合并字符频率,具体的计算公式如下:其中,表示第个待处理字符的合并后第二合并字符频率,表示第个待处理字符的第二合并字符在原数据中出现的频率,表示第个待处理字符的预合并字符组的频率。
32.需要说明的是,在得到待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率后,可以根据三个频率对预合并的效果进行频率可行性分析,在后续过程中对三个频率进行分析,用以判断预合并的合理性,进而对设备数据中的所有字符进行合并,并在合并过程中根据不同字符的频率对霍夫曼树结构进行调整,实现更好程度的压缩。
33.至此,得到了每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率。
34.s003:获取合并字符同区间字符序列,计算合并字符同区间字符序列中所有字符编码的平均编码长度,根据每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的预合并字符组的预合并融合因子,获取设备数据中包含的字符个数并计算预合并后每个待处理字符的编码缩减长度,将预合并后每个待处理字符的编码缩减长度在霍夫曼编码的长度中进行衡量得到每个待处理字符合并后对霍夫曼树的优化程度。
35.需要说明的是,对于某一字符组,合并会使合并的两字符频率降低,计算字符组合并前后字符频率的变化以及字符的均匀程度,频率变化越大,则合并后字符频率越不均匀,说明合并后字符集原有的均匀频率被破坏。在考虑字符集频率不均匀程度的同时,还应考虑合并后样本的长度变化。字符合并使字符集分布频率越不均匀的情况下,样本的长度越短,相当于所需要表示的数据量降低,最终压缩结果也就越短,通过字符合并使压缩率得到了提升。设备数据中存在大量频率相近甚至相同的数据,而霍夫曼压缩对分布频率越分散的数据压缩效果越好。通过将字符进行组合的方式对霍夫曼树进行优化,则可根据字符合并后的频率以及合并造成的编码缩减长度衡量优化程度。
36.预设一个合并阈值,其中本实施例以合并阈值为为例进行叙述,本实施例不进行具体限定,其中合并阈值可根据具体实施情况而定。
37.具体的,将预合并字符组和所有待处理字符的频率按照从小到大进行排序得到排序频率可行性判断序列,分别将预合并后第一合并字符的合并后第一合并字符频率和预合并后第二合并字符的合并后第二合并字符频率的索引值记为目标索引值,分别获取排序频率可行性判断序列中目标索引值加一和减一的索引值对应的字符,用目标索引值加一的字符的频率除以目标索引值减一的字符的频率得到目标索引比,将以2为底数的目标索引比的对数表示第一合并字符和第二合并字符预合并后的频率可行性,当频率可行性大于合并阈值时,将这两个字符合并,并将这两个字符记为可合并字符。
38.需要进一步说明的是,数据经合并后,计算的霍夫曼树与理想状态下的霍夫曼树越相似说明压缩效果越好(所述理想状态下的霍夫曼树是指霍夫曼树向下的分支偏向某一侧而并非均匀的平铺在每个下一层中,即频率的分布是不均匀的)。对于一组包含n个字符的数据样本,给出恰好满足理想霍夫曼数的一组数据频率:,可以发
现,越小的频率相邻的差值也越小,每两个频率大小之间的差值恰好为,进一步计算合并字符频率的频率可行性,可直接根据字符合并后的频率能否按照理想字符频率间隔插入到频率序列对应位置即可,即计算合并后字符组频率在插入频率序列后两边频率大小的差值,如果大于则说明合并后频率是一个较优的频率,可正常合并。否则说明合并后频率来到了一处本就有很多相似频率的区域,造成了新的相同频率的出现,故根据合并后频率可行性的计算结果在预合并过程中排除不合理的合并,进行最终的合并。
39.具体的,在所有可合并字符中,将每个待处理字符的预合并字符组的频率所处的二进制数区间作为合并字符组区间,所述二进制数区间指的是以大于每个待处理字符的预合并字符组的频率的最小的2的负整数次方的数为区间上限,以小于每个待处理字符的预合并字符组的频率的最大的2的负整数次方的数为区间下限构建的区间,在排序频率可行性判断序列中统计大小属于合并字符组区间内的所有频率,并将所有频率按照从小到大进行排序记为合并字符同区间频率序列,获取合并字符同区间频率序列在原数据中对应的字符并按照频率从小到大的顺序进行排列得到新的字符序列,将新的字符序列记为合并字符同区间字符序列,计算合并字符同区间字符序列中所有字符编码的平均编码长度,记为每个待处理字符的平均编码长度。
40.进一步,计算每个待处理字符的预合并字符组的预合并融合因子,具体的计算公式如下:其中,表示第个待处理字符的预合并字符组的预合并融合因子,表示第个待处理字符的预合并字符组的频率,表示第个待处理字符在原数据中出现的频率,表示第个待处理字符的第二合并字符在原数据中出现的频率,表示取括号内所有数值的最小值,表示取括号内所有数值的最大值,表示以2为底数的对数函数,表示预设的最优融合数,本实施例以为例进行说明,不对其进行限定。表示合并字符最小频率,当预合并字符组的频率与合并字符最小频率的比值在0-1之间时,融合因子大于零且单调递增,当该比例为趋近于1时,即分母的取值为最优融合数时,融合因子会变的非常大,代表此次合并的待处理字符的预合并字符组中的某个字符被完全消耗,说明这次合并的效果较好,代表预合并融合因子较大,因此采用比值取对数的形式拟合变化速率和区间,采用取倒数的形式使得比值和预合并融合因子的关系符合其表征的意义。
41.进一步,对于每一层中的每个待处理字符,计算预合并后每个待处理字符的编码
缩减长度,具体的计算公式如下:其中,表示第个待处理字符的编码缩减长度,表示设备数据中包含的字符个数,表示第个待处理字符的平均编码长度,表示第个待处理字符的预合并字符组的预合并融合因子,表示第个待处理字符的预合并字符组的频率。
42.进一步,计算每个待处理字符合并后对霍夫曼树的优化程度:其中,表示第个待处理字符合并后对霍夫曼树的优化程度,表示霍夫曼编码的长度,表示第个待处理字符的编码缩减长度。在得到每个待处理字符合并后对霍夫曼树的优化程度的过程中,首先得到预合并后每个待处理字符的编码缩减长度,预合并后每个待处理字符的编码缩减长度受到4个因素的影响,分别为设备数据中包含的字符个数、待处理字符的平均编码长度、待处理字符的预合并字符组的预合并融合因子以及待处理字符的预合并字符组的频率,这4个因素对合并编码的缩减长度都是独立且正相关的,当这4个因素中的某一个因素增大或者减小时,都会导致编码缩减的程度的下降,进一步对预合并后每个待处理字符的编码缩减长度在霍夫曼编码中进行占比分析,得到缩减长度的影响用来表征本实施例对设备数据优化压缩存储的一个衡量标准即优化程度。
43.至此,得到了每个待处理字符合并后对霍夫曼树的优化程度。
44.s004:根据每个待处理字符合并后对霍夫曼树的优化程度对设备数据进行合并得到合并后的设备数据,对合并后的设备数据进行霍夫曼编码得到优化编码,将优化编码存储在存储空间中,完成对设备数据的优化存储。
45.需要说明的是,在获取个字符组的合并必要性后,还应判断该合并是否能够使霍夫曼编码长度降低,如果无法达到提高压缩率的目的,应放弃对其进行的合并。根据合并后数据集的霍夫曼树对新的字符集中各字符或字符数组进行编码,利用新的编码进行压缩并储存,完成对设备数据的优化存储。
46.预设一个优化经验值,其中本实施例以优化经验值为为例进行叙述,本实施例不进行具体限定,其中优化经验值可根据具体实施情况而定。
47.具体的,对每一层中的每个待处理字符,比较每个待处理字符合并后对霍夫曼树的优化程度与优化经验值的大小,若每个待处理字符合并后对霍夫曼树的优化程度大于优化经验值,则以每个待处理字符的预合并字符组为新的待处理字符,继续进行新的待处理
字符合并后对霍夫曼树的优化程度的计算,并与优化经验值比较大小直至新的待处理字符合并后对霍夫曼树的优化程度小于优化经验值,完成对每个待处理字符的合并,从而完成对每一层中的所有待处理字符的合并以及对所有层中的所有待处理字符的合并,得到合并后的设备数据。
48.进一步,对合并后的数据进行霍夫曼编码得到优化编码,将优化编码存储在存储空间中,完成对设备数据的优化存储。
49.至此,完成了对设备数据的优化存储。
50.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种plc设备数据优化存储方法,其特征在于,该方法包括以下步骤:采集设备数据,统计设备数据中各个字符的出现频率并构建霍夫曼树,获取霍夫曼编码;获取预合并字符组,根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率;根据每个待处理字符的预合并字符组的频率获取合并字符同区间字符序列,在合并字符同区间字符序列中,根据合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的平均编码长度,并计算每个待处理字符的预合并字符组的预合并融合因子,获取设备数据中包含的字符个数,利用预合并融合因子和平均编码长度计算得到预合并后每个待处理字符的编码缩减长度,将预合并后每个待处理字符的编码缩减长度在霍夫曼编码的长度中进行衡量得到每个待处理字符合并后对霍夫曼树的优化程度;根据每个待处理字符合并后对霍夫曼树的优化程度对设备数据进行合并得到合并后的设备数据,对合并后的设备数据进行霍夫曼编码得到优化编码,将优化编码存储在存储空间中,完成对设备数据的优化存储。2.根据权利要求1所述一种plc设备数据优化存储方法,其特征在于,所述获取预合并字符组,包括的具体步骤如下:从上到下对霍夫曼树进行逐层遍历,统计每一层中包含的字符个数,当每一层中包含的字符个数大于两个时,将该层中的所有字符记为待处理字符,计算该层中每个待处理字符在设备数据中出现的频率;对每一层中的每个待处理字符,获取每个待处理字符的左序列和右序列;分别将每个待处理字符的左序列和右序列中存在的每个字符记为每个待处理字符的每个左待选字符和右待选字符,分别统计每个待处理字符的每个左待选字符和右待选字符在设备数据中出现的频率,分别根据每个待处理字符的每个左待选字符和右待选字符得到第二合并字符,分别获取第二合并字符在其所在的左序列和右序列中出现的频率,并分别记为第二左合并字符频率和第二右合并字符频率,将第二左合并字符频率和第二右合并字符频率通记为第二合并字符频率,获取第二合并字符在设备数据中出现的频率,将每一层中的每个待处理字符作为第一合并字符,对第一合并字符和第二合并字符进行预合并得到预合并字符组。3.根据权利要求2所述一种plc设备数据优化存储方法,其特征在于,所述获取每个待处理字符的左序列和右序列,包括的具体步骤如下:在设备数据中获取每个待处理字符的索引位置,并利用索引位置构成待处理字符
索引序列,将待处理字符索引序列中所有索引值减一获取索引减一序列,根据索引减一序列中的索引值对应到设备数据中获取待处理字符的左序列,将待处理字符索引序列中所有索引值加一获取索引加一序列,根据索引加一序列中的索引值对应到设备数据中获取待处理字符的右序列。4.根据权利要求2所述一种plc设备数据优化存储方法,其特征在于,所述分别根据每个待处理字符的每个左待选字符和右待选字符得到第二合并字符,包括的具体步骤如下:分别对每个待处理字符的每个左待选字符和右待选字符在设备数据中出现的频率按照从小到大的顺序进行排列得到每个待处理字符的左字符频率序列和右字符频率序列,并分别将左字符频率序列和右字符频率序列中最后一个频率对应的左待选字符和右待选字符记为频率最大左字符和频率最大右字符,分别将频率最大左字符和频率最大右字符在设备数据中出现的频率记为左字符频率序列最大频率和右字符频率序列最大频率,将频率最大左字符或频率最大右字符作为第二合并字符。5.根据权利要求1所述一种plc设备数据优化存储方法,其特征在于,所述根据设备数据的霍夫曼树对每个待处理字符进行左序列和右序列分析得到每个待处理字符的预合并字符组的频率、合并后第一合并字符频率和合并后第二合并字符频率的具体计算公式分别如下:其中,表示第个待处理字符的预合并字符组的频率,表示第个待处理字符在plc设备数据中出现的频率,表示第个待处理字符的第二合并字符在设备数据中出现的频率;其中,表示第个待处理字符的合并后第一合并字符频率;其中,表示第个待处理字符的合并后第二合并字符频率。6.根据权利要求1所述一种plc设备数据优化存储方法,其特征在于,所述根据每个待处理字符的预合并字符组的频率获取合并字符同区间字符序列,包括的具体步骤如下:将预合并字符组和所有待处理字符的频率按照从小到大进行排序得到排序频率可行性判断序列;将每个待处理字符的预合并字符组的频率所处的二进制数区间作为合并字符组区间,在排序频率可行性判断序列中统计大小属于合并字符组区间内的所有频率,并将所有频率按照从小到大进行排序记为合并字符同区间频率序列,获取合并字符同区间频率序列在plc设备数据中对应的字符并按照频率从小到大的顺序进行排列得到新的字符序
列,将新的字符序列记为合并字符同区间字符序列。7.根据权利要求6所述一种plc设备数据优化存储方法,其特征在于,所述每个待处理字符的预合并字符组的频率所处的二进制数区间具体指代的是:以大于每个待处理字符的预合并字符组的频率的最小的2的负整数次方的数为区间上限,以小于每个待处理字符的预合并字符组的频率的最大的2的负整数次方的数为区间下限构建区间,将该区间记为每个待处理字符的预合并字符组的频率所处的二进制数区间。8.根据权利要求1所述一种plc设备数据优化存储方法,其特征在于,所述在合并字符同区间字符序列中,根据合并后第一合并字符频率和合并后第二合并字符频率得到每个待处理字符的平均编码长度,并计算每个待处理字符的预合并字符组的预合并融合因子,包括的具体步骤如下:根据合并后第一合并字符频率和合并后第二合并字符频率得到可合并字符,在所有可合并字符中,计算合并字符同区间字符序列中所有字符编码的平均编码长度,记为每个待处理字符的平均编码长度;计算每个待处理字符的预合并字符组的预合并融合因子,具体的计算公式如下:其中,表示第个待处理字符的预合并字符组的预合并融合因子,表示第个待处理字符的预合并字符组的频率,表示第个待处理字符在plc设备数据中出现的频率,表示第个待处理字符的第二合并字符在plc设备数据中出现的频率,表示取括号内所有数值的最小值,表示取括号内所有数值的最大值,表示以2为底数的对数函数,表示预设的最优融合数。9.根据权利要求8所述一种plc设备数据优化存储方法,其特征在于,所述根据合并后第一合并字符频率和合并后第二合并字符频率得到可合并字符,包括的具体步骤如下:将预合并字符组和所有待处理字符的频率按照从小到大进行排序得到排序频率可行性判断序列,分别将预合并后第一合并字符的合并后第一合并字符频率和预合并后第二合并字符的合并后第二合并字符频率的索引值记为目标索引值,分别获取排序频率可行性判断序列中目标索引值加一和减一的索引值对应的字符,用目标索引值加一的字符的频率除以目标索引值减一的字符的频率得到目标索引比,将以2为底数的目标索引比的对数表示第一合并字符和第二合并字符预合并后的频率可行性,当频率可行性大于合并阈值时,将这两个字符合并,并将这两个字符记为可合并字符。10.根据权利要求1所述一种plc设备数据优化存储方法,其特征在于,所述将预合并后每个待处理字符的编码缩减长度在霍夫曼编码的长度中进行衡量得到每个待处理字符合并后对霍夫曼树的优化程度,包括的具体步骤如下:获取霍夫曼编码的长度,用霍夫曼编码的长度减去预合并后每个待处理字符的编码缩
减长度得到差值结果,用差值结果除以霍夫曼编码的长度得到除数结果,将除数结果记为每个待处理字符合并后对霍夫曼树的优化程度。
技术总结
本发明涉及数据压缩技术领域,具体涉及一种PLC设备数据优化存储方法,包括:采集PLC设备数据并进行霍夫曼编码得到霍夫曼树;在霍夫曼树上根据相同编码长度的字符出现的频率进行预合并,分析预合并后频率较高的字符对编码合并的优化程度;根据优化程度对PLC设备数据进行重新编码以及压缩存储。本发明通过对霍夫曼树同一层字符与相邻字符的合并必要性进行分析打乱原来频率相同的字符频率,使霍夫曼编码对数据进行压缩效果更好。码对数据进行压缩效果更好。码对数据进行压缩效果更好。
技术研发人员:符光强 张伟 郭朝兴 李云 王圣斌
受保护的技术使用者:临沂安迪电气有限公司
技术研发日:2023.08.31
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
