最后的边疆:在国际空间站使用 InfluxDB
作者:Jessica Wachtel / 开发者
2024年4月30日
导航至
阿尔法磁谱仪(AMS)在国际空间站(ISS)上执行长期的基础物理研究任务。其研究包括寻找反物质、研究暗物质和分析宇宙射线。自2011年安装以来,AMS收集了超过2000亿次宇宙射线事件。日内瓦的欧洲核子研究中心(CERN)有效载荷操作与控制中心(POCC)和AMS亚洲POCC全天候研究阿尔法磁谱仪的数据。
概述
POCC工程师通过将他们的关系型数据库后端替换为专用的时序数据库InfluxDB,现代化了他们的阿尔法磁谱仪(AMS)软件系统。现代化的AMS包括Grafana进行客户端可视化。通过实施InfluxDB和Grafana,MING堆栈的两个关键组件,POCC工程师消除了对自定义脚本的更新需求,并简化了添加、查询和可视化AMS关键数据的方式。
商业挑战
由于太空中的极端条件,工程师安装了传感器收集AMS的健康数据,除了针对科学实验的传感器。AMS的健康监测传感器收集关注温度、压力、电压和其他基于健康类别的数据。由于国际空间站轨道持续约93分钟,健康值在此期间会剧烈变化,从最大值到最小值。例如,如果没有使用控制加热器或保温毯,温度值可以从-60摄氏度到+80摄氏度。由于这些巨大波动,AMS健康数据需要实时监控,以便科学家在值超出范围之前立即进行调整。
AMS监控接口(AMI)是POCC科学家使用的用于监控AMS的软件系统。近年来,旧版AMI的性能变得低效,需要45秒以上才能显示数据可视化。为了实现实时监控,POCC的工程师需要一个与所监控技术一样前沿的监控系统。
技术挑战
POCC使用了一个定制的旧版AMI,它依赖于许多不同的软件工具协同工作。其中许多工作是冗余的,高度依赖服务器端渲染,并且有一个单点故障。旧版AMI由许多不同的监控控制台组成,每个控制台都有一个专用的数据源。数据源解析AMS原始数据文件,其中只有一个数据源专门用于将数据发送到支持Web客户端的关系数据库。
旧版AMI还依赖于大多数任务的定制脚本,包括添加传感器和更改可视化等常见事件。这意味着简单的日常任务需要高度专业的工程工作。旧版AMI不是使用客户端资源创建静态可视化图表,而是在服务器端创建可视化,导致系统不必要地依赖于服务器资源。
问题不仅在于技术。数据模型不符合AMS收集的数据类型。AMS的后端关系数据库依赖于数据点之间的关系作为其组织基础。然而,对于AMS数据点来说,它们自然的时间顺序和特征比数据点之间的关系更重要。AMS数据量的增加也使其原始的关系数据库出现了许多缓存问题。
当工程师将新的升级跟踪热泵系统(UTTPS)安装到AMS上时,对于AMI有两个选择——为每个传感器创建定制脚本(仅温度传感器就有79个)或者进行全面的现代化升级。团队选择了后者。为了从关系数据模型过渡到时间序列,他们转向了InfluxDB。
解决方案
POCC工程师使用InfluxDB和Grafana两款软件构建了新的AMI。专门构建的时间序列数据库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的数据查询速度最快,例如TimescaleDB。工程师们重视速度,因为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 吗? 免费试用。