高速率多通道时间序列数据存储方法
文献发布时间:2023-06-19 10:16:30
技术领域
本发明涉及数据存储方法,尤其涉及一种高速率多通道时间序列数据存储方法。
背景技术
在航空、航天、船舶、轨道交通、电力等领域中,长时间高速率多通道时间序列特征数据十分普遍。这些工业设备系统正常运行或试验过程中,产生海量实时状态监测数据,数据采样通道数量高达几十个甚至上百个,为了捕捉信号特征经常需要匹配更高的采样率,例如1M或更高的采样频率,因此长时间连续数据采集会带来诸多问题。例如,存储空间不够用,几百GB甚至TB级别的硬盘很快就写满了,不得不人工介入,停止采集待更换上新的存储介质才能继续,不但浪费人力,且破环数据采集的连续性。例如,长时间连续数据采集则产生了海量的时间序列数据,后续的数据分析需要遍历整个数据库才能从中提取数据并建立数据变化趋势,耗费大量时间,增加了数据分析难度。举一个典型例子,纹波作为DC-DC电源性能退化的关键特征指标之一,通常需要1M以上采用频率才能较为准确捕捉该特征,同时该特征是一个缓慢变化量,工业领域工程师较为关注的是纹波的长时间退化过程及其故障发生时间,因此既需要短时高速率采样同时又不必对每个变化不显著的数据片段进行全部保存。因此,如何开展高速率多通道时间序列数据的特征提取和存储等工作是一项重要工作。
现有技术之一是多源时间序列数据压缩存储方法,包含以下步骤:对各部署对象分组;将各部署对象组划分内部组;在内存中为每个内部组分配一个用于缓存的内存文件;在收到某量测点的时间序列数据时,进行第一级有损压缩,并根据该量测点所属的部署对象组和内部组,找到其对应的内存文件,将压缩后的数据缓存到内存文件中;在内存文件写满或达到预设的时间限制时,将内存文件映射到硬盘,进行第二级无损压缩,将压缩后的数据块存储到关系型数据库中。
该多源时间序列数据采用压缩存储方法受制于压缩比率和压缩速率,以及关系型数据库的实时性、访问查询效率限制。在数据采样通道数量非常多(100个以上)且采样率较高(1M以上),该方法难以满足长时间高速率多通道时间序列数据的快速压缩和存储需求。
现有技术之二是一种基于分布式列存储的时间序列数据存储方法,使时间序列数据能够适应分布式列存储的存储方式。该方法使用由行键和列组成的系数表存储测点记录数据,行键包含了尽可能多的检索信息,每一行记录把某个时间段的分散采集的数据合在一起,同时设置了名称映射表存储名称信息。
该基于分布式列存储的时间序列数据存储方法受制于存储速度和检索查询效率等限制,难以满足长时间高速率多通道时间序列数据的快速压缩和存储需求。同时,一般而言,复杂工业设备系统长时间处于正常运行状态或者试验运行状态,相近时刻的数据变化较小,对所有监测的时间序列数据进行存储,对设备异常检测和长时间退化趋势建模作用不显著。当前压缩存储通常只考虑最大值、最小值和均值等特征指标存储,以便于检索查询,难以满足工业设备多源信号的多特征提取需要。
发明内容
本发明针对现有技术中存在的问题,提供一种高速率多通道时间序列数据存储方法,能够有效减少数据存储空间,提高数据采集质量,为后续故障复现和分析提供便利。
为了实现上述目的,本发明提供了一种高速率多通道时间序列数据存储方法,包括:步骤S1:设定参数并开始数据采集,所述参数包括数据采集总时长、数据总存储量、第一时间片段长度T1、第二时间片段长度T2、第三时间片段长度T3、第四时间片段长度T4、第五时间片段长度T5;步骤S2:当数据采集达到第三时间片段长度T3时,对该第三时间片段长度T3的数据进行暂时存储;步骤S3:判断数据采集是否达到设定的数据采集总时长或数据总存储量;如果步骤S3中判断为是,则执行步骤S8:停止数据采集;如果判断为否,则执行步骤S4:每间隔第四时间片段长度T4,进行异常检测;如果步骤S4中的异常检测结果为正常,则执行步骤S5:将暂时存储的数据更新为最近的第三时间片段长度T3的数据,继续进行数据采集并重复执行步骤S3和S4,并且每当采集的数据量达到第一时间片段长度T1时,执行步骤S6:存储第二时间片段长度T2的数据,并计算第二时间片段长度T2数据的指标特征并存储;如果步骤S4中的异常检测结果为异常,则执行步骤S7:继续采集和存储第五时间片段长度T5的数据,进行告警提示并执行步骤S8:停止数据采集。
优选地,所述特征指标包括均值、最大值、最小值、方差、标准差、峰峰值、均方根、峰值因子、峭度、偏斜度、频率、幅值中的任意一个或多个。
优选地,通过对所述数据采集总时长进行等间隔划分得到第一时间片段长度T1。
优选地,所述第二时间片段长度T2位于所述第一时间片段长度T1的最末端。
优选地,因此所述第一时间片段长度T1、第二时间片段长度T2、第三时间片段长度T3、第五时间片段长度T5满足如下关系式:
其中,T表示数据采集总时长,C表示存储数据的硬盘容量大小,k表示数据总存储量占硬盘容量的比例,k为取值在0至1之间的数值,N表示数据通道数目,S表示采样频率,R表示采集数据的变化速率,M表示特征指标的个数,C0表示特征指标占用的存储量。
优选地,所述第一时间片段长度T1为30分钟,所述第二时间片段长度T2为1秒钟。
优选地,所述第三时间片段长度T3为45分钟,所述第四时间片段长度为1分钟。
优选地,所述第五时间片段长度T5为2.5小时。
本发明实施方式还提供一种计算机程序产品,其被设置用于执行上述任一项所述的方法。
本发明实施方式还提供一种计算机可读存储介质,具有上述的计算机程序产品。
本发明的高速率多通道时间序列数据存储方法能够有效减少数据存储空间,提高数据采集质量,为后续故障复现和分析提供便利。
附图说明
下面,将结合附图对本发明的优选实施方式进行进一步详细的说明,其中:
图1为本发明一种实施方式的高速率多通道时间序列数据存储方法的流程图;
图2为本发明一种实施方式的第一~第四时间片段长度T1-T4的设定示例图。
具体实施方式
为了使本领域的技术人员更好地理解本发明的技术方案,下面将结合附图对本发明作进一步的详细介绍。
本发明的高速率多通道时间序列数据存储方法的基本思路为,在数据检测结果为正常时,删除较大时间片段的数据,只保存较小时间片段数据,并对较小时间片段数据进行特征提取,可实现长时间高速率多通道时间序列数据的删减,以一定的原貌保存数据并进行多个特征提取,减少数据存储空间,提高数据采集质量,为长时间数据变化趋势建模及故障预测提供良好数据条件。在数据检测结果为异常时,则对故障前后一段时间内的数据进行保存,可为后续故障复现和分析提供便利。以下对本发明一种实施方式的高速率多通道时间序列数据存储方法进行详细说明。
图1为本发明一种实施方式的高速率多通道时间序列数据存储方法的流程图。如图1所示,本发明一种实施方式的高速率多通道时间序列数据存储方法包括步骤S1-S8。
在步骤S1中,设定参数并开始数据采集,所述参数包括数据采集总时长、数据总存储量、第一时间片段长度T1、第二时间片段长度T2、第三时间片段长度T3、第四时间片段长度T4、第五时间片段长度T5。
在本实施方式中,步骤S1中设定的数据采集总时长和数据总存储量可根据实际需要来设定。第一时间片段长度T1、第二时间片段长度T2、第三时间片段长度T3、第四时间片段长度T4、第五时间片段长度T5可如下设定。
(1)第一时间片段长度T1
图2为本发明一种实施方式的第一~第四时间片段长度T1-T4的设定示例图。图2中的30分钟是第一时间片段长度T1的示例,一般地,可以通过对数据采集总时长进行等间隔划分得到第一时间片段长度T1,例如图2中的30分钟,也就是将每30分钟划分为第一时间片段长度T1,作为一个较大的时间片段。
(2)第二时间片段长度T2
在每个较大的时间片段中采集和存储一个较小的时间片段数据,可以针对每一个较大时间片段,即第一时间片段长度T1的最末端数据,作为用于数据采集和存储的较小时间片段,即第一时间片段长度T2,例如图2中的1秒钟,也就是将较大时间片段T1中的最后1秒钟数据进行全部采集和存储。
(3)第三时间片段长度T3
暂时保存最近一段时间的数据,该一段时间为第三时间片段长度T3,例如图2中的45分钟,也就是将最近的45分钟数据进行暂时存储。随着数据采集工作不断进行,“最新”的暂存数据不断覆盖“最早”的暂存数据,以保持暂存的数据量维持在一个固定水平。第三时间片段长度T3可能大于、等于或小于第一时间片段长度T1,需要结合硬盘存储容量、采样速率、通道数量等因素进行确定。
(4)第四时间片段长度T4
对暂存的“最新”的数据进行一次异常检测,以识别采集的数据是否处于异常状态,进行异常检测的时间段为第四时间片段长度T4,例如图2中的1分钟。第四时间片段长度T4可以处于紧接第三时间片段长度T3之后,也即首次异常检测的时间发生在数据采集时间大于第三时间片段长度T3之后。
(5)第五时间片段长度T5
第五时间片段长度T5用于对发生异常前后的数据进行存储,可根据实际需要进行设定,例如可以设定为2.5小时。
另外,上述时间片段长度T1、T2、T3、T4和T5的取值大小还需要考虑以下多个方面的因素:第一,存储数据的硬盘容量大小C。通常情况下,数据总存储量不超过硬盘容量的一定比例k,其中k为取值在0至1之间的数值,例如90%。第二,采集数据总时长T。第三,数据通道数目N和采样频率S。第四,采集数据的变化速率R。第五,较小时间片段数据(第二时间片段长度T2)的特征指标个数M及其占用的存储量C0。考虑到在每一个较大时间片段(第一时间片段长度T1)内采集的较小时间片段T2的数据不断累积,以及为异常数据预留存储空间,因此T1、T2、T3、T4、T5满足如下关系式:
上述表达式中,
在步骤S1中完成参数设定并开始数据采集后,在步骤S2中,当数据采集达到第三时间片段长度T3时,对该第三时间片段长度T3的数据进行暂时存储,然后进入步骤S3。在步骤S3中,判断数据采集是否达到设定的数据采集总时长或数据总存储量,通过该判断决定终止采集和存储。
即,如果步骤S3中判断为是,则执行步骤S8:停止数据采集;如果判断为否,则执行步骤S4:每间隔第四时间片段长度T4,进行异常检测。异常检测可以通过计算故障检测指标来进行。
如果步骤S4中的异常检测结果为正常,即,检测指标正常,则执行步骤S5:将暂时存储的数据更新为最近的第三时间片段长度T3的数据,继续进行数据采集并重复执行步骤S3和S4,与此同时,每当采集的数据量达到第一时间片段长度T1时,执行步骤S6:存储第二时间片段长度T2的数据,并计算第二时间片段长度T2数据的指标特征并存储。
其中,第二时间片段长度T2数据的特征指标包括均值、最大值、最小值、方差、标准差、峰峰值、均方根、峰值因子、峭度、偏斜度、频率、幅值中的任意一个或多个。
如果步骤S4中的异常检测结果为异常,则执行步骤S7:继续采集和存储第五时间片段长度T5的数据,进行告警提示并执行步骤S8:停止数据采集。
即,当异常检测结果为异常时,共计存储异常发生前的第三时间片段长度T3的数据以及异常发生后的第五时间片段长度T5的数据,能够为后续故障复现和分析提供便利。
综上所述,本发明实施方式的高速率多通道时间序列数据存储方法可对缓慢变化的高速率多通道时间序列进行删减,以一定的原貌得以保存并进行多种特征指标提取,减少数据存储空间,提高数据采集质量,为长时间数据变化趋势建模及故障预测提供良好数据条件。同时,该方法还可对设备发生故障前后一段时间内的数据进行保存,可为后续故障复现和分析提供便利。
此外,本发明实施方式还提供一种计算机程序产品,其被设置用于执行本发明实施方式的道岔系统健康评估方法。另外,本发明实施方式还提供一种具有该计算机程序产品的计算机可读存储介质。
以上只通过说明的方式描述了本发明的某些示范性实施例,毋庸置疑,对于本领域的普通技术人员,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式对所描述的实施例进行修正。因此,上述附图和描述在本质上是说明性的,不应理解为对本发明权利要求保护范围的限制。
- 高速率多通道时间序列数据存储方法
- 一种用于电力系统的时间序列数据存储方法