本发明涉及数据压缩处理技术领域,特别涉及一种适用于智能电表的多操作高频替换式数据压缩方法。
背景技术:
智能电表是智能电网数据采集的基本设备之一,承担着原始电表数据采集、计量和传输的任务,是实现信息集成、分析优化和信息展现的基础。智能电表除了具备传统电能表基本用电量的计量功能以外,为了适应智能电网和新能源的使用,还应具有双向多种费率计量功能、用户端控制功能、多种数据传输模式的双向数据通信功能、防窃电功能等多样智能化的功能。当前随着智能电表功能的不断延伸,其对数据存储空间的要求也不断提高。但电表的存储容量与价格成正比,随着存储器容量的增加,其成本也随之增加。
为了解决存储容量与成本之间的矛盾,开发一种数据压缩的方法可以解决存储器容量与成本之间的矛盾,但现有的数据压缩主要针对原始数据进行统计分析,即针对原码数据的分布进行压缩编码,当数据规律性差时,那么数据压缩的效率就变低了。特别是对于智能电表中电能数据的采集而言,其数据规律性差,甚至无规律性,所以传统压缩方法的压缩效率变得非常有限。
技术实现要素:
本发明的目的在于改善现有技术中所存在的不足,提供一种适用于智能电表的多操作高频替换式数据压缩方法。
为了实现上述发明目的,本发明实施例提供了以下技术方案:
一种适用于智能电表的多操作高频替换式数据压缩方法,包括以下步骤:
步骤s1:将待压缩的原始数据进行复制,对复制后的原码数据分别进行异或与反码操作;
步骤s2:设置数据最小单位为n个字节,其中n为大于等于1的整数;
步骤s3:对数据进行数据重现频率分析,将低频数据更换为高频数据,并设置操作标志位;
步骤s4:依次根据操作标志位建立高频替代标志数据;
步骤s5:将修改后的数据进行压缩。
更进一步地,所述步骤s1中将待压缩的原始数据进行复制,对复制后的原码数据分别进行异或与反码操作的步骤,包括:
对复制后的原码数据分别进行异或操作,第一异或操作数为n个字节相同的10101010,第二异或操作数为n个字节相同的01010101;并对复制后的原码数据进行反码操作,得到反码操作后的数据。
更进一步地,所述步骤s3中对数据进行数据重现频率分析,将低频数据更换为高频数据,并设置操作标志位的步骤,包括:
分析原码数据、第一异或操作后的数据、第二异或操作后的数据、反码操作后的数据,若原码数据的重复频率最高,则将操作标志位对应位设置为00;若第一异或操作后的数据重复频率最高,则将操作标志位对应位设置为01;若第二异或操作后的数据重复频率最高,则将操作标志位对应位设置为10;若反码操作后的数据重复频率最高,则将操作标志位对应位设置为11;同时根据操作标志位将原有数据替换为重复频率最高的数据。
更进一步地,为了完善数据压缩和数据还原的方案,还包括步骤s6:结合操作标志位信息,对压缩的数据还原为原始数据。
更进一步地,所述步骤s5中进行压缩后的数据由三部分组成,其中第一部分为操作标志数据,第二部分为压缩数据最小单位n,第三部分为压缩信息数据,操作标志数据中的每两位对应压缩信息数据的相应n个字节数据为原码数据、第一异或操作后的数据、第二异或操作后的数据、反码操作后的数据。
作为另一种可实施方式,所述步骤s5中进行压缩后的数据由四部分组成,其中第一部分为操作标志数据,第二部分为压缩数据最小单位n,第三部分为压缩信息数据,第四部分为原始待压缩数据的字节数m。当m不为n的整数倍时,原始数据补充k字节,k为1至n-1之内的整数。或者当m不为8n的整数倍时,原始数据补充l字节,l为1至8n-1之内的整数,高低频匹配标志数据位不足位补0,构成完整字节。
所述操作标志数据采用压缩算法进行压缩,形成操作数压缩数据。
与现有技术相比,本发明的有益效果:
本发明对需要压缩的原始数据进行异或操作、反码操作,对原码、异或数据、反码数据统一进行数据重复频率统计,实现将原始数据重复频率提高的同时,降低低频率数据的出现,解决数据存储容量大的问题,提高数据压缩效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明本发明实施例提出的数据压缩方法流程图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
实施例1:
本发明通过下述技术方案实现,如图1所示,一种适用于智能电表的多操作高频替换式数据压缩方法,包括以下步骤:
步骤s1:将待压缩的原始数据进行复制,对复制后的原码数据分别进行异或与反码操作。
对复制后的原码数据分别进行异或操作,第一异或操作数为n个字节相同的10101010,第二异或操作数为n个字节相同的01010101;并对复制后的原码数据进行反码操作,得到第一异或操作后的数据、第二异或操作后的数据、反码操作后的数据。
步骤s2:设置数据最小单位为n个字节,其中n为大于等于1的整数。
设置数据的最小单位为字节,至少有1个字节,因此数据可以有n个字节,其中n为大于等于1的整数。
步骤s3:对数据进行数据重现频率分析,将低频数据更换为高频数据,并设置操作标志位。
分析原码数据、第一异或操作后的数据、第二异或操作后的数据、反码操作后的数据,若原码数据的重复频率最高,则将操作标志位对应位设置为00;若第一异或操作后的数据重复频率最高,则将操作标志位对应位设置为01;若第二异或操作后的数据重复频率最高,则将操作标志位对应位设置为10;若反码操作后的数据重复频率最高,则将操作标志位对应位设置为11。
同时根据操作标志位将原有数据替换为重复频率最高的数据。
步骤s4:依次根据操作标志位建立高频替代标志数据。
如:第一个n字节数据的操作标志位为00,第二个n字节数据的操作标志位为01,第三个n字节数据的操作标志位为10,第四个n字节数据的操作标志位为00。则构建的一个字节的高频替代标志数据为00011000,依次根据操作标志建立高频替代标志数据。
步骤s5:将修改后的数据进行压缩。
进行压缩后的数据由三部分组成,其中第一部分为操作标志数据,第二部分为压缩数据最小单位n,第三部分为压缩信息数据,操作标志数据中的每两位对应压缩信息数据的相应n个字节数据为原码数据、第一异或操作后的数据、第二异或操作后的数据、反码操作后的数据。
作为另一种可实施方式,进行压缩后的数据由四部分组成,其中第一部分为操作标志数据,第二部分为压缩数据最小单位n,第三部分为压缩信息数据,第四部分为原始待压缩数据的字节数m。当m不为n的整数倍时,原始数据补充k字节,k为1至n-1之内的整数。或者当m不为8n的整数倍时,原始数据补充l字节,l为1至8n-1之内的整数,高低频匹配标志数据位不足位补0,构成完整字节。
需要说明的是,在对所述操作标志数据进行压缩时,采用压缩算法进行压缩,形成操作数压缩数据。
步骤s6:结合操作标志位信息,对压缩的数据还原为原始数据。
在对压缩后的数据进行还原时,结合操作标志位信息,即可将压缩后的数据还原为原始数据。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。