一、立项背景和目标
(一)立项背景
物联网设备爆发式增长带来多源异构接入混乱、数据孤岛严重、应用迭代低效等痛点。传统定制化方案兼容性差,难以应对百万级设备高并发、亚秒级处理的需求,且数据分散导致决策滞后,需统一平台打通感知层至应用层的协同壁垒。
(二)立项目标
技术目标:构建边缘-云协同架构,支持百万级设备并发接入,数据处理延迟≤1 秒,设备接入标准化率达95%以上。
业务目标:降低设备接入成本40%,缩短应用上线周期50%,通过数据驱动实现预测性维护等场景价值。
生态目标:打造开放API体系,实现多厂商设备与应用无缝集成。
二、软件功能及核心功能介绍
(一)整体功能框架
涵盖设备接入与管理、数据采集与存储、处理与分析、规则编排与场景联动、API服务五大模块,配套安全与运维支撑。
(二)核心功能
多协议接入引擎:支持MQTT、Modbus等主流协议及自定义协议,通过向导式工具与物模型模板实现设备快速接入,兼容直连、网关代理等方式,降低供应商切换成本。
设备全生命周期管理:覆盖注册、监控、运维全流程,支持OTA远程升级(差分/灰度策略),通过设备影子技术保障弱网状态一致性,断网72小时数据不丢失。
实时数据处理:基于Flink引擎实现数据清洗与实时计算,采用“数据湖 + 数据仓库”架构,支持冷热存储分离,兼顾成本与查询效率。
可视化规则编排:基于TCA模型(触发器-条件-动作),提供拖拽式工具与30余种运算函数,可配置温度超标自动调温等场景联动,自动化处理80%常规事件。
应用使能服务:提供REST/GraphQL API及SDK,集成低代码工具,支持公有云、私有云等多模式部署,适配不同企业需求。
三、核心业务流程
传感器通过MQTT将数据传至边缘网关,过滤无效数据并聚合为5分钟均值;
数据经Kafka队列传输至中台,接入引擎转换为标准格式;
流式引擎实时计算,若温度超标触发规则引擎生成告警;
数据存入数据湖与仓库,元数据同步至管理系统;
中台推送告警至MES系统,同时下发指令至空调设备;
管理人员通过仪表板监控状态,运维人员处置形成闭环。
四、功能路径描述
设备接入:登录后台→进入“设备接入”→选协议与方式→配参数与物模型→注册鉴权→设备上线。
规则配置:进入“规则编排”→新建任务→拖拽配置触发条件(如 “温度 > 35℃”)→设执行动作(如 “启动空调”)→启用规则。
数据查询:进入“数据可视化”→选设备与时间范围→配查询条件→生成图表并支持导出。
设备运维:进入“设备管理”→查设备状态→上传固件→选升级策略→监控升级进度。
一、整体架构与设计思路
采用 “边缘 - 云协同” 分层架构,分感知层、边缘层、中台层、应用层:感知层负责设备数据采集;边缘层做数据预处理与本地缓存;中台层为核心,分接入、数据、服务三层(接入层解耦设备协议,数据层处理存储计算,服务层封装能力);应用层提供低代码工具与 API。设计思路以 “高可用、可扩展、易维护” 为核心,采用微服务拆分模块,支持水平扩容,通过物模型标准化设备数据,避免重复开发。
二、各模块技术栈
设备接入层:Java(Netty框架)处理高并发连接,支持MQTT/Modbus协议,自定义协议用 Protobuf序列化;
数据层:Flink做实时计算,Kafka 传消息,Hudi构建数据湖(存原始数据),ClickHouse存结构化数据;
服务层:Spring Cloud Alibaba 微服务架构,Nacos做服务注册发现,Gateway 网关路由;
边缘层:Go 语言开发边缘网关,轻量高效,支持断网缓存(Redis 本地实例);
前端:Vue3+ECharts,低代码平台基于Formily+Vant。
三、“我” 负责模块与结果
负责设备接入层与OTA升级模块,核心成果:
设计多协议接入框架,兼容 12 种主流协议,设备接入成功率从 82% 提升至 99.5%;
开发OTA差分升级功能,固件传输体积减少 60%,升级失败率从 15% 降至 1.2%;
优化设备鉴权逻辑,支持 Token + 证书双认证,抵御 3 次模拟攻击测试,零安全漏洞;
接入设备量达 10 万台,峰值并发连接数 12 万,延迟稳定在800ms内。
四、难点、坑与解决方案
难点 1:多协议设备数据格式混乱,导致接入效率低。
坑:初期按设备型号开发适配,新增设备需改代码。
解决方案:设计通用物模型(定义属性 / 事件 / 指令),设备接入时映射至模型,新增设备仅需配置模板,适配效率提升 3 倍。
难点 2:弱网环境下OTA升级频繁中断。
坑:初期全量传输,断网后需重新开始,失败率高。
解决方案:实现差分传输(仅传更新部分)+ 断点续传,边缘端缓存升级包,网络恢复后继续,结合心跳检测重试,失败率降至 1.2%。
难点 3:设备并发接入时出现连接超时。
坑:Netty线程池参数不合理,队列堆积导致超时。
解决方案:压测优化线程池(核心线程 200 + 最大线程 500),用Redis做连接数限流,新增动态扩容机制,峰值并发承载能力提升50%。