
1) 【一句话结论】采用分层架构(数据采集层-传输层-平台层),通过网关聚合传感器数据,结合4G/5G(广域实时传输)与LoRa(低功耗广域覆盖),平台层利用工业互联网平台实现数据存储、分析,并通过消息队列、分片存储等技术保障海量数据的实时性与一致性。
2) 【原理/概念讲解】老师口吻,解释各层逻辑:
数据采集层是“数据源头”:传感器(如GPS定位、油量传感器、CAN总线)负责采集原始数据(挖掘机位置、油耗、故障代码);网关(边缘计算设备)负责协议转换(如CAN转MQTT)、数据聚合(将多传感器数据打包),类似“数据收集员+翻译官”。
传输层是“数据通道”:4G/5G(高带宽、低延迟,适合挖掘机位置、视频等实时数据)和LoRa(低功耗、长距离,适合设备状态、少量数据)类似“快递员”,根据数据类型选择路径——高频率、高带宽用4G/5G,低功耗、少量数据用LoRa。
平台层是“数据中心+大脑”:工业互联网平台(如阿里云工业互联网平台)提供数据存储、分析、可视化功能,类似“大脑”处理数据。
海量数据实时性与一致性处理:用消息队列(Kafka)解耦采集与存储(避免数据积压),分片存储(按设备ID分库)提升查询效率,时间戳+版本控制保证数据一致性,流计算(Flink)实时处理数据(如实时告警挖掘机故障)。
3) 【对比与适用场景】
| 层级/技术 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 4G/5G | 高速移动通信网络 | 高带宽、低延迟(5G毫秒级)、广域覆盖 | 挖掘机实时位置、视频监控、高频率数据传输 | 成本较高,功耗大 |
| LoRa | 低功耗广域网技术 | 低功耗、长距离(数公里)、低带宽 | 设备状态(如发动机温度)、少量数据上报 | 传输速率低,不适合高频率数据 |
4) 【示例】
// 伪代码:传感器数据采集与传输流程
// 1. 传感器数据采集
function readSensorData() {
// 读取GPS位置、油耗、故障代码
const gps = getGPS();
const fuel = getFuelLevel();
const faultCode = getFaultCode();
// 构建数据包
const data = {
sensorId: "sensor-001",
timestamp: new Date(),
gps,
fuel,
faultCode
};
// 2. 通过网关发送数据(假设网关使用MQTT协议)
const gateway = "gateway.lg.com";
publishToMQTT(gateway, "device-data", JSON.stringify(data));
// 3. 平台层处理(简化)
// 数据存储到数据库(按时间戳索引),流计算处理实时告警
}
5) 【面试口播版答案】
面试官您好,针对工程机械设备联网与数据采集系统,我设计的架构分为三层:数据采集层、传输层和平台层。数据采集层由传感器(如GPS、油量传感器、CAN总线)和网关组成,传感器负责采集原始数据,网关负责协议转换和数据聚合,比如将CAN总线数据转换为MQTT协议发送出去。传输层采用4G/5G和LoRa的组合:4G/5G用于广域实时传输,比如挖掘机的位置、视频数据,因为它们带宽高、延迟低;LoRa用于低功耗广域覆盖,比如设备状态(如发动机温度)、少量数据上报,因为它功耗低、距离远。平台层使用工业互联网平台(比如阿里云工业互联网平台),提供数据存储、分析、可视化功能。对于海量数据的实时性与一致性处理,我们采用消息队列(Kafka)解耦采集与存储,分片存储(按设备ID分库)提升查询效率,时间戳+版本控制保证数据一致性,流计算(Flink)实时处理数据,比如实时告警挖掘机故障。这样既能保证数据的实时传输,又能保证海量数据的准确性和一致性。
6) 【追问清单】
7) 【常见坑/雷区】