最终前沿:在国际空间站上使用 InfluxDB

导航至

阿尔法磁谱仪 (AMS) 在国际空间站 (ISS) 上进行为期持久的基础物理研究任务。其研究包括寻找反物质、调查暗物质和分析宇宙射线。自 2011 年安装以来,AMS 收集了超过 2000 亿次宇宙射线事件。位于日内瓦欧洲核子研究中心有效载荷操作和控制中心 (POCC) 和 AMS 亚洲 POCC 的科学家们正在全天候研究来自阿尔法磁谱仪的数据。

概述

POCC 工程师通过用专门构建的时间序列数据库 InfluxDB 替换其关系数据库后端,实现了阿尔法磁谱仪 (AMS) 软件系统的现代化。现代化的 AMS 包括用于客户端可视化的 Grafana。通过实施 InfluxDB 和 Grafana,MING 堆栈的两个关键组件 MING,POCC 工程师无需自定义脚本更新,并拥有了一种简化的方式来添加、查询和可视化来自 AMS 的重要数据。

业务挑战

由于外太空的极端条件,工程师安装了传感器来收集 AMS 的健康数据,以及面向科学实验的传感器。AMS 的健康监测传感器收集专注于温度、压力、电压和其他基于健康的类别的数据。由于国际空间站的轨道持续约 93 分钟,健康值会在此时间范围内发生剧烈变化,从最大值到最小值。例如,在不使用受控加热器或隔热毯的情况下,温度值可以在 -60 摄氏度到 +80 摄氏度之间变化。由于这些巨大的波动,AMS 健康数据需要实时监控,以便科学家在数值超出范围之前立即进行调整。

AMS 监控界面 (AMI) 是 POCC 科学家用来监控 AMS 的软件系统。近年来,传统 AMI 的性能变得低下,需要 45 秒以上才能显示数据可视化。为了实现实时监控,POCC 的工程师需要一个与它所监控的技术一样先进的监控系统。

技术挑战

POCC 使用自定义的传统 AMI,该 AMI 依赖于许多不同的软件工具协同工作。这项工作中的大部分是冗余的,严重依赖于服务器端渲染,并且存在单点故障。传统 AMI 由许多不同的监控控制台组成,每个控制台都有一个专用的数据馈送器。数据馈送器解析 AMS 原始数据文件,而这些馈送器中只有一个专用于将数据发送到驱动 Web 客户端的关系数据库。

传统 AMI 还依赖于自定义脚本来完成大多数任务,包括添加传感器和更改可视化等常见事件。这意味着简单的日常任务需要高度专业的工程工作。传统 AMI 没有使用客户端资源创建静态可视化图,而是在服务器端创建可视化,导致系统不必要地依赖服务器资源。

技术并不是唯一的问题。数据模型不适合 AMS 收集的数据类型。AMS 的关系数据库后端依赖于数据点之间的关系作为其组织基础。然而,当涉及到 AMS 数据点时,它们自然的时间顺序和特征比数据之间的关系更重要。AMS 数据的数量也给其原始关系数据库带来了许多缓存问题。

当工程师在 AMS 上安装新的升级跟踪器热泵系统 (UTTPS) 时,AMI 有两种选择——为每个传感器创建自定义脚本(仅温度传感器就有 79 个)或进行全面的现代化改造。团队选择了后者。为了从关系数据模型过渡到时间序列,他们转向了 InfluxDB。

解决方案

POCC 工程师使用两个软件构建了他们的新 AMI——InfluxDB 和 Grafana。专门构建的时间序列数据库 InfluxDB 管理新时间序列格式的 AMS 数据存储。Grafana 是新的可视化工具。新的软件构建遵循现代设计原则,依靠客户端 CPU 进行处理工作,利用分布式仪表板创建,并遵循最新的安全协议。

新的 AMI 还提供了一种简化的更新方法,无需自定义脚本,并允许使用 API 来自动化备份和同步。POCC 工程师于 2020 年 1 月开始使用新的 AMI。新系统是 COVID-19 疫情期间远程转变的关键组成部分。

架构

现代化的 AMI 依赖于一个新的自定义馈送器程序。馈送器将原始 AMS 数据处理为时间序列数据点,然后将数据馈送到 InfluxDB。馈送器通过 POCC 的多播解析原始 AMS 文件或数据流,识别关键传感器 ID,提取传感器数据,然后将值发送到 InfluxDB。

传感器数据包括传感器类型、数据类型、相应的值和时间戳,时间戳标识传感器记录信息的时间。馈送器程序定期扫描新文件,每个文件代表一分钟的数据流。馈送器仅解析原始数据一次。

新的 AMI 包括两个独立的 InfluxDB 实例。欧洲核子研究中心 (CERN) 的按需数据库 (DBOD) 服务器托管一个 InfluxDB 实例;POCC 的服务器托管第二个 InfluxDB 实例,以实现双重冗余。每个实例都连接到 Grafana。POCC 工程师使用 git 同步来保持两个 Grafana 平台上的图表和仪表板相同。托管在 CERN DBOD 上的 InfluxDB 实例是面向一般 AMS 成员的 Web 客户端,而 POCC 版本取代了 POCC 的许多监控控制台。

为了将数据添加到 InfluxDB,CERN 和 POCC 数据库在选定的端口上侦听 HTTPS 请求。馈送器程序创建一个包含相关信息的字符串,标识要将数据发送到哪个数据库服务器,接收凭据和端口号,并使用 InfluxDB HTTPS 行协议提交信息。然后数据库接收并存储数据。工程师可以通过时间序列分析软件通过命令直接从 InfluxDB 访问数据。


上面的图表详细说明了 AMS 现代化的架构。

POCC 工程师发现,与竞争对手的时间序列数据库(例如 TimescaleDB)相比,InfluxDB 具有最快的数据查询速度。工程师们非常重视速度,因为 AMI 数据查询每隔几秒钟就会发生一次。POCC 工程师的研究还表明,即使在低功耗设备上,InfluxDB 也比竞争对手更简单、更高效。InfluxDB 使用类似 SQL 的查询语言,这使得数据检索更容易,并支持许多查询内聚合和数学函数。InfluxDB 始终在 DB-Engines 上被评为最受欢迎的时间序列数据库

除了 InfluxDB 之外,Grafana 也非常用户友好,不需要自定义脚本来创建任何仪表板或可视化。借助 Grafana,团队可以创建适合其个人需求的仪表板和可视化。消除自定义脚本提高了更新速度,并使团队能够自主创建易于理解的交互式可视化。这有助于 POCC 工程师更好地理解监控数据、进行比较、了解趋势并发现异常。Grafana 通过自定义用户设置促进安全的全球协作,防止不必要和意外的篡改。


上面的图片是 POCC 常用的仪表板示例。该仪表板说明了单值统计数据(当前的 Beta 角和上次更新面板)、表格(显示 ISS 旋转和太阳能电池阵列参数)、散点图(例如 Beta 角)和自定义面板的用法。

结果

新的 AMI 简化了数据分析,使 POCC 工程师能够提高数据采集的质量。例如,POCC 工程师需要为光子触发器制定更复杂的计划。光子是中性的,这意味着光子触发器在发生对产生时激活。由于来自粒子轨迹的背景噪声污染,光子触发器触发过于频繁,从而抑制了其他触发器的激活。

为了更好地理解光子击中子探测器的最高概率的时间,工程师深入研究了数据。他们处理了经度、纬度、1 级触发时间以及 AMS 寿命,并创建了一个仅在最高概率时间激活的光子触发器。

这篇技术论文 发表时,此架构是最新的。

后续步骤

POCC 工程师发现,轻松实施机器学习算法是另一个受益领域。未来,他们计划开发机器人监控系统,该系统使用机器学习来分析时间序列数据并进行预测以进行自动调整。

单击此处以了解有关在航空航天工业中使用 InfluxDB 的更多信息。

想亲自试用 InfluxDB 吗?注册免费试用