浅析时序数据库在试飞监控业务中的应用

2021-06-29 12:36韩超
科学与信息化 2021年16期
关键词:关系数据库数据量数据源

韩超

上海航空工业(集团)有限公司 上海 200120

引言

随着民机行业的发展,研发进程的不断加快,产生的试飞数据急剧增加,对海量数据的管理、查询、监控也提出了越来越高的需求。最新的计算机技术正在不断地应用到试飞业务中,大大加快了试飞进程,提高了研发效率。本文重点介绍时序数据库在试飞监控业务中的应用,旨在保障试飞实时监控的顺利完成。

1 时序数据库

时序数据即时间序列数据,是指按时间序列生成或记录的数据,通常每条时序数据的输入为三元组<obj, time stamp, data>[1]。其中,obj表示观测对象的信息,在试飞数据中,通常为试飞参数的别名,Time stamp表示数据采集的时间戳,Data则是该试飞参数在该时间产生的数据值。时序数据通常具有时间性、唯一性、累积性、数据量庞大、局部性、不可预测性、关联性等。

传统关系型数据库与时序数据库区别主要在以下几个方面:数据方面,传统关系型数据库主要处理永久、稳定的数据,维护数据的完整性和一致性,但在处理快速变化的数据方面存在瓶颈,也很难满足一些实时监控应用需求,而时序数据库主要处理与生产、运行直接相关的随时间变化的数据,大部分是数值型数据,如电压、电流、功率等,具有较强的时效性;表结构方面,传统数据库以二维表格对数据进行存储和访问,而时序数据库以时间序列对数据进行存储,存储的数据全局唯一固定;读写速度方面,传统关系型数据库3000(次/秒),时序数据库100 000 000(次/秒)。传统数据库不支持历史数据压缩,而时序数据库支持无损压缩和有损压缩。由此可见,时序数据库的优势是通过有效压缩来存储高效变化的海量数据,同时还能实现对海量数据的快速访问,但是对于数据模型的描述能力比较弱,无法描述复杂的层次关系。而关系型数据库可以利用实体对象之间的关系描述模型和层次结构,某些场景下可以结合使用,充分发挥两种数据库的技术优势。

试飞数据的参数点能达到几万个,一次试飞要处理的数据量将达到几十万,数据中心要接收和处理的数量级将达到百万数量级,对磁盘空间的需求将呈指数级增长,同时还要为业务部门提供检索、监控、管理等数据支撑,一些业务场景要求实时性比较高。另外,试飞数据的采样周期为毫秒级,故对试飞数据的存储和查询都提出了很高的要求。因此,只有时序数据库才能满足要求,实现数据的高压缩、快速查询。

2 基于时序数据库的解决方案

在本方案中,对于具有采样频率高、监测对象多等特点的试飞时序数据,数据量不仅大,而且要求查询快,因此要使用时序数据库存储海量的试飞数据;对于试飞数据的业务分析模型、实体关系描述、参数表,使用关系数据库存储,充分结合两种类型数据库各自的技术优势[2]。相应的数据架构图如图1所示。试飞时传感器的采集参数数据高度、温度、转速等通过预处理解码模块解析后存入时序数据库,参数表通过关系数据库存储,然后进行业务模型分析。上级应用系统可以分别从关系数据库和时序数据库获得应用所需要的数据,用于展示、监控、统计、分析、管理等处理。

3 基于时序数据库的监控应用

3.1 Grafana简介

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据进行查询然后可视化的展示,并及时通知。它主要有以下六大特点:

3.1.1 Grafana拥有快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式,让我们复杂的数据展示得美观而优雅。

3.1.2 支持许多不同的时间序列数据(数据源)存储后端。每个数据源都有一个特定查询编辑器。官方支持以下数据源:Graphite、infloxdb、opensdb、elasticsearch等。每个数据源的查询语言和功能明显不同。你可以将来自多个数据源的数据组合到一个仪表板上,但每个面板都要绑定到属于特定组织的特定数据源上。

3.1.3 警报允许将规则附加到仪表板面板上。保存仪表板时,Grafana会将警报规则提取到单独的警报规则存储中,并安排它们进行评估。报警消息还能通过钉钉、邮箱等推送至移动端。

3.1.4 在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;⑤使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;⑥使用Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

3.2 趋势曲线显示

在试飞的应用中,传统的基于关系数据库的趋势曲线一般定义采样周期最小为1min,那么就会形成明显的锯齿状,数据不够完整和精确,不利于研究和试飞数据分析。试飞中采集存储周期最少为1s,甚至更短,采样率一般为8Hz以上,而采样参数达到几万个,假如80000个参数,每个参数的采样频率64Hz,则每秒的数据存储量将达到:80000×64×1=5,120,000点,长时间飞行产生的数据量将非常大,数据库还要提供一定的备用容量,基于以上分析,只有时序数据库才能满足如此高采样、海量的数据存储需求,可按要求提供高密度、高精度的数据点,这样形成的趋势曲线不仅圆滑美观,更可以完整地再现数据的实时变化情况,用于研究、数据分析。

3.3 基于时序数据库和Grafana的监控应用

时序数据库为上层应用提供了海量数据和快速查询,并且数据存盘后压缩率高,基于时序数据库可以实现对数据实时性要求比较高的监控业务,Grafana正好可以将时序数据可视化展示。

实施步骤:①首先添加数据源,选择相应的时序数据库;②创建DashBoard(仪表盘),可以自定义,也可以导入你需要的仪表盘,官方提供了很多的可选仪表盘;③根据业务监控需求选择查询参数,设置预警值、数据刷新时间等,如图2所示。

图2 试飞监控应用

4 结束语

本文的分析表明,时序数据库非常适合在试飞数据监控系统中应用。时序数据库提供的海量数据存储和快速访问能力为试飞系统的诸多应用提供了理想的解决方案。随着飞机的研制进程加快,时序数据库必将在试飞领域中获得越来越多的应用。

猜你喜欢
关系数据库数据量数据源
基于大数据量的初至层析成像算法优化
高刷新率不容易显示器需求与接口标准带宽
宽带信号采集与大数据量传输系统设计与研究
利用属性集相关性与源误差的多真值发现方法研究
Web 大数据系统数据源选择*
基于单表结构的Web动态树设计与实现
探讨关系数据库设计中范式理论的教学方法
数据有增加 图表自适应
异构数据源集成系统查询优化
固定资产管理系统对物流管理的促进和发展