本发明涉及数据压缩存储,具体涉及基于物联网平台的气体报警系统数据存储方法。
背景技术:
1、随着工业化的发展,需要对工业环境中可燃、有毒气体进行泄露检测报警。
2、目前通常通过传感器检测工业环境中的气体的浓度等指标,并结果存储至物联网平台,物联网平台根据一段时间内传感器采集的气体数据进行分析,当气体浓度达到爆炸或中毒的临界点时,或气体的浓度变化趋势异常时,物联网平台发出报警信号,以提醒相关人员采取安全措施,并驱动排风、切断、喷淋系统,从而保障安全生产。
3、在上述过程中,物联网平台所依据的气体数据越多,分析结果越准确。为了实现准确的气体监测报警,需要对大量气体数据进行压缩存储。
4、现有的压缩方法如算术编码对于字符频率分布差异较大的数据可达到较高的压缩率,但对于字符频率分布差异较小的数据的压缩率不高。气体数据中字符频率分布差异较小,利用算术编码对气体数据进行压缩的效率有限。
技术实现思路
1、本发明提供基于物联网平台的气体报警系统数据存储方法,以解决现有的问题。
2、本发明的基于物联网平台的气体报警系统数据存储方法采用如下技术方案:
3、本发明一个实施例提供了基于物联网平台的气体报警系统数据存储方法,该方法包括以下步骤:
4、采集气体数据,将气体数据转换为字符序列;
5、对字符序列进行重排,获取目标序列;
6、获取目标序列中每种字符的跨度;统计目标序列中每种字符的频率;根据每种字符的跨度以及频率获取更新步长;
7、根据每种字符的频率对目标序列进行编码,当每编码更新步长个字符时,统计未编码的字符的频率,根据未编码的字符的频率对目标序列继续进行编码;将最终编码得到的结果作为压缩数据;
8、对压缩数据进行存储;
9、根据气体数据进行分析预警。
10、优选的,所述将气体数据转换为字符序列,包括的具体步骤如下:
11、在气体数据中相邻数值之间以及最后一个数值之后插入分隔符,将气体数据中每个数值的每个数位以及小数点分别作为一个字符,将所有字符按照顺序构成字符序列。
12、优选的,所述对字符序列进行重排,获取目标序列,包括的具体步骤如下:
13、对字符序列利用bwt算法进行编码重排,得到目标序列。
14、优选的,所述获取目标序列中每种字符的跨度,包括的具体步骤如下:
15、将目标序列中每种字符最后一次出现时的序号与第一次出现时的序号的差值加一,作为每种字符的跨度。
16、优选的,所述根据每种字符的跨度以及频率获取更新步长,包括的具体步骤如下:
17、
18、其中s为更新步长;为目标序列中第种字符的跨度;为目标序列中第种字符的频率;n为目标序列中字符的种类;为四舍五入取整符号。
19、本发明的技术方案的有益效果是:本发明将气体数据转换为字符序列,对字符序列进行重排,获取目标序列,使得目标序列中相同的字符大概率排列在一起,可根据目标序列中字符的排列规律获取字符的跨度以及频率,根据目标序列中字符的跨度以及频率获取更新步长,使得后续在对字符序列进行编码时,根据更新步长来更新每种字符的频率,提高了还未编码的字符的频率,使得后续编码过程中,根据字符的频率得到的目标区间的范围增加,进一步使得最终的编码结果位数减少,从而提高了压缩率。算术编码对于字符频率分布差异较小的数据的压缩率不高,而本发明通过更新步长动态更新字符的频率,使得在对目标序列进行压缩的过程中,每种字符的频率的差异发生变化,进一步提高了压缩效率。因此本发明相较于算术编码压缩率更高,进一步节省了气体数据的存储空间。
1.基于物联网平台的气体报警系统数据存储方法,其特征在于,该方法包括以下步骤:
2.根据权利要求1所述的基于物联网平台的气体报警系统数据存储方法,其特征在于,所述将气体数据转换为字符序列,包括的具体步骤如下:
3.根据权利要求1所述的基于物联网平台的气体报警系统数据存储方法,其特征在于,所述对字符序列进行重排,获取目标序列,包括的具体步骤如下:
4.根据权利要求1所述的基于物联网平台的气体报警系统数据存储方法,其特征在于,所述获取目标序列中每种字符的跨度,包括的具体步骤如下:
5.根据权利要求1所述的基于物联网平台的气体报警系统数据存储方法,其特征在于,所述根据每种字符的跨度以及频率获取更新步长,包括的具体步骤如下: