3. 边缘计算网关数据采集与缓存对象梳理

断网缓存与补传配置的第一步,不是急着去改网关参数,而是把"到底要缓存什么"这件事梳理清楚。矿山边缘计算网关接入的对象种类差异极大:有的每秒都在产生高频数值,有的只在事件发生时才产生一条记录,有的单条数据很小但数量巨大,有的单条数据很大但频率很低。如果对所有数据采用同一套缓存策略,结果要么是高频小数据把磁盘写满,要么是关键告警因为排队靠后而被丢弃。因此本节的核心任务是:把网关采集到的数据划分为若干类别,为每一类明确优先级、缓存介质、保留时长和溢出处理方式,形成一张可直接落到配置里的"缓存对象清单"。

一、四类采集对象的特征差异

矿山场景下,边缘网关的采集对象通常可以归为四类,它们的产生方式、数据形态和业务价值完全不同。

传感器数据是连续型时序数据,来自瓦斯浓度、一氧化碳、风速、温度、水位、粉尘、设备振动、电流电压等监测点。典型特征是周期性强、单条体积小(一条测点记录通常只有几十到一百多字节)、总量大。例如一个中等规模矿井部署 300 个测点、采样周期 5 秒,则每秒产生 60 条记录,一天约 518 万条。这类数据的价值在于趋势连续性,断网期间如果直接丢弃,恢复后曲线会出现空洞,影响瓦斯涌出趋势分析和超限追溯。

视频元数据与视频流本身要区分开。网关通常不缓存原始视频码流(体积过大),而是缓存结构化元数据:摄像头编号、时间戳、事件类型(人员闯入、皮带异物、未戴安全帽)、目标框坐标、置信度、截图缩略图索引等。单条元数据体积中等(几百字节到几 KB),产生频率取决于智能分析事件密度,具有明显的突发性——平时很少,异常时成批出现。

设备状态数据描述设备运行工况,如提升机启停状态、皮带机运行/停机/故障、风机挡板开度、水泵运行模式、供电回路合闸状态等。这类数据是状态量而非连续量,只在状态发生变化时才有记录价值,采用"变化上报"方式,单条体积小、频率低,但状态序列的完整性对事后还原设备动作顺序至关重要。

告警信息是事件型数据,包括超限告警、设备故障告警、通信中断告警、人员定位越界告警等。单条体积小,但业务价值最高,且往往具有"一次产生、多次引用"的特点,需要保证不丢、不重、可追溯,并带有告警级别、产生时间、确认状态、恢复时间等字段。

四类采集对象 → 优先级分层 → 缓存介质与保留策略 传感器数据 连续时序 · 单条小 · 总量大 300点×5s ≈ 518万条/天 价值:趋势连续性 视频元数据 事件驱动 · 突发成批 目标框/置信度/缩略图索引 价值:事件可回溯 设备状态数据 变化上报 · 频率低 启停/开度/合闸状态序列 价值:动作顺序还原 告警信息 事件型 · 单条小 · 价值最高 级别/时间/确认/恢复字段 要求:不丢不重可追溯 优先级分层 P0 告警 永不丢弃 · 独立队列 P1 设备状态 变化即存 · 保序 P2 视频元数据 限速缓存 · 可降采样 P3 传感器数据 环形覆盖 · 可抽稀 溢出时自下而上淘汰 缓存介质与保留策略 内存队列 P0/P1 热数据 本地 SSD P2/P3 落盘 保留时长参考 告警≥7天 · 状态≥3天 · 传感器≥24h · 视频元数据≥48h 断网期间的处理动作 • 告警:立即落盘并置"待补传"标记 • 状态:按变化序列追加,保留时间戳 • 视频元数据:超阈值时丢弃低置信度 • 传感器:超容量后按时间抽稀(如5s→30s) • 所有类别:写入统一补传序号,保证幂等 • 磁盘水位>85% 触发强制淘汰并上报告警 • 恢复联网后按 P0→P3 顺序补传

二、优先级划分的判断依据

优先级不是按数据量大小排,而是按"丢失后的不可恢复程度"排。告警信息一旦丢失,事后无法重建,且可能影响事故追溯与责任认定,因此定为 P0,必须独立队列、永不因容量压力被淘汰。设备状态数据丢失会导致设备动作顺序无法还原,例如无法判断是"先跳闸后停机"还是"先停机后跳闸",这对故障分析影响很大,定为 P1,要求变化即存、严格保序。视频元数据属于可再生的辅助证据,原始视频若仍在摄像头本地或平台侧留存,元数据丢失的损失相对可控,定为 P2,允许在容量紧张时丢弃低置信度记录。传感器数据虽然业务重要,但具有强连续性,短时缺失可通过前后值插值或趋势判断弥补,且数据量最大,定为 P3,允许在极端情况下抽稀降频。

需要强调的是,优先级是"淘汰顺序"而非"采集顺序"。四类数据在正常情况下都应完整采集,优先级只在缓存容量逼近上限、必须做出取舍时才起作用。

三、缓存需求的定义方法

每一类对象的缓存需求,可以用三个参数来定义:单条平均体积、日均产生条数、要求保留时长。三者相乘即得到该类数据所需的缓存空间。以示例参数估算(以下为教学假设值,非实测):

对象类别 优先级 单条体积 日均条数 保留时长 估算占用
告警信息P0约 0.5 KB约 2000 条7 天约 7 MB
设备状态P1约 0.3 KB约 5 万条3 天约 45 MB
视频元数据P2约 2 KB约 3 万条48 小时约 120 MB
传感器数据P3约 0.1 KB约 518 万条24 小时约 518 MB

合计约 690 MB。工程上通常再乘以 1.5~2 的安全系数,并预留数据库索引与日志开销,因此一台配置 2 GB 专用缓存分区的网关即可满足约 1~2 天的断网缓存需求。若现场要求断网 72 小时不丢关键数据,则应对 P3 启用抽稀策略:断网超过 6 小时后,将传感器采样从 5 秒降为 30 秒落盘,占用可降至原来的约六分之一,而 P0、P1 保持原样。

四、落到配置清单

梳理结果最终应形成一张可执行的缓存对象清单,至少包含:对象类别、数据来源接口、优先级、缓存介质、保留时长、容量上限、溢出动作、补传顺序八个字段。例如告警类可写为"来源:告警采集服务;优先级 P0;介质:内存队列 + SSD 双写;保留 7 天;容量上限 200 MB;溢出动作:拒绝新写入并触发本地声光提示;补传顺序 1"。传感器类可写为"来源:Modbus/OPC UA 采集通道;优先级 P3;介质:SSD 时序表;保留 24 小时;容量上限 600 MB;溢出动作:按时间抽稀至 30 秒;补传顺序 4"。

梳理阶段建议先用现场真实点表统计测点数量与采样周期,再套用上表估算,不要直接照搬示例数值。不同矿井的测点规模可能相差数倍,缓存分区容量必须按实际估算结果配置。

完成这张清单后,后续的缓存队列配置、磁盘水位阈值、补传批次大小和幂等序号规则才有明确依据。清单本身也应作为配置基线存档,现场扩容或新增采集对象时同步更新,避免出现"新加的测点没有缓存策略、断网即丢"的常见问题。