【数字孪生】动环设备实时监控之实时数据采集系统设计

本文介绍了参与的机房数字孪生项目中实时数据采集系统的设计,包括主动和被动两种数据采集方式,数据采集流程,以及实时数据和历史数据的表结构设计。系统通过定时任务调度进行数据存储与归档,确保数据完整性的同时优化查询性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

目前,我参与了一项关于机房数字孪生的项目,这是其系统设计的一部分内容:实时数据采集系统设计(实时数采系统设计)。
实时数采是动环监控系统中的重要组成部分,用于实时获取设备的监测数据并进行处理和展示。

系统分析

数据采集方式

  • 主动采集:系统定时向设备发送请求,获取最新的数据。例如通过动环监控单元 FSU 提供的 WebAPI 去主动获取设备的数据。
  • 被动采集:设备主动将数据推送给系统,从而获取最新的数据。例如利用设备支持的通信协议(如MODBUS、OPC、MQTT等)建立与设备的通信连接,接收设备发送的实时数据或事件。

数据采集流程

当确定好数据采集方式以后,就可以与设备进行通信啦,然后接收数据,其采集流程如下:

数据采集流程
获取设备信息
获取信号信息
实时数据采集
数据存储与归档
数据清理
  1. 获取设备信息:通过设备编码从设备信息表中获取设备的详细信息,包括设备名称、设备类型、设备型号等。
  2. 获取信号信息:根据设备编码从信号信息表中获取该设备的所有信号信息,包括信号编码、信号名称、信号类型等。
  3. 实时数据采集:通过设备编码和信号编码向设备进行数据采集,获取实时的监测值。采集的数据包括设备编码、信号编码、监测值以及采集时间等。
  4. 数据存储与归档:将实时采集的数据存储到实时采集表中。根据归档策略,定期将过时的数据从实时采集表中移动到历史数据表中,以保持实时采集表的数据量较小且查询性能良好。
  5. 数据清理:定期清理历史数据表中的过时数据,以防止数据库存储空间过度占用。

实时数据采集

实时数据采集需要存入到实时采集表中,实时数据可以按设备类型存入相对应的实时采集表中,例如动环设备 UPS 的实时信号采集值可以存入到 UPS 的实时采集表中;按时间存入相对应的实时采集表中,例如2023年06月24号08点00分00秒的所有设备的实时数据就可以存入相关时间段的表中。

系统 采集器 实时采集表 历史数据表 监听数据 收发数据 数据存入 数据读取 数据存入(通过某些逻辑自动存入) 数据读取 系统 采集器 实时采集表 历史数据表

表结构设计

实时采集表用于记录并存储每次采集到的实时数据,包括设备ID、信号ID、采集值、采集时间等字段;历史数据表用于记录过时的实时采集表里面的数据,分担减轻实时采集表的数据压力。

这样的设计可以有效地轻松地存储和查询实时采集的数据,同时与设备和信号的表进行关联。通过将实时采集数据存储在单独的表中,可以更好地管理和分析实时数据,以满足对数据的快速查询和分析需求。

实时采集表(realtime_collection)
字段名数据类型描述
idbigint主键
device_codevarchar(36)设备编码
signal_codevarchar(36)信号编码
valuedouble监测值
collect_timedatetime采集时间
历史数据表(historical_data)
字段名数据类型描述
idbigint主键
device_codevarchar(50)设备编码
signal_codevarchar(50)信号编码
valuedouble监测值
collect_timedatetime采集时间

数据存储与归档

  • 定时任务调度:选择一个系统负载较低的时间段来执行数据迁移任务。可以根据系统的访问模式和历史数据分析,确定一个适当的时间窗口。例如,在深夜或非高峰时段执行迁移任务。
  • 数据库锁定和事务管理:在迁移过程中,确保适当的数据库锁定和事务管理,以保证数据的完整性和一致性。避免对实时采集数据表进行写操作,以免影响正在访问的用户。
  • 数据库复制和同步:如果系统需要保持实时采集数据的可用性,并且有大量用户在访问,可以考虑使用数据库复制和同步技术。在迁移过程中,将实时采集数据表复制到目标数据库中,并保持数据的实时同步,然后在较低访问时段将历史数据迁移到历史数据表中。
  • 渐进迁移:为了减少对系统的影响,可以采用渐进迁移的方式。逐步将过时的实时采集数据移动到历史数据表,而不是一次性迁移所有数据。这样可以分散迁移任务的负载,并逐步验证数据迁移的正确性。
  • 监控和回滚机制:在数据迁移过程中,建议设置监控和日志记录机制,以便及时发现异常情况,并具备回滚机制。如果迁移任务出现问题,可以回滚到迁移之前的状态,以避免数据丢失或损坏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hjhcos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值