程序聚合 软件案例 点动物联网平台

点动物联网平台

2025-11-28 13:43:38
行业:物联网
载体:网站、小程序
技术:Go、PostgreSQL、Redis、MQTT

业务和功能介绍

1. 立项背景和目标

立项背景:
随着物联网技术快速发展,企业面临设备管理复杂、数据采集困难、故障响应滞后等挑战。传统物联网平台存在扩展性差、协议支持有限、实时处理能力不足等问题。

项目目标:
构建一个高性能、可扩展的企业级物联网平台,支持海量设备接入、实时数据处理、智能告警分析,为企业提供一站式设备管理和监控解决方案,实现设备全生命周期管理和智能化运维。

2. 软件功能、核心功能模块介绍

核心技术栈:
- 后端:Go + Gin框架 + GORM + PostgreSQL/TimescaleDB
- 架构:微服务 + 事件驱动 + 分层架构
- 消息:NSQ消息队列 + 多级缓存
- 规模:314个Go文件,74,440行代码

核心功能模块:

设备管理模块: 支持设备注册、配置、状态监控、固件升级,提供设备全生命周期管理,支持MQTT、DTU/TCP、Modbus等多种协议接入。

数据采集与处理: 实时数据接收存储、批量数据处理、事件驱动架构,支持流式数据处理和复杂事件处理链。

智能告警系统: 流式告警规则引擎、实时数据触发告警、多渠道通知(邮件/短信/微信)、告警自动恢复机制、静默期管理。

权限管理(RBAC): 基于角色的访问控制、用户管理、菜单权限、数据级权限控制、多租户架构支持。

任务调度: 异步任务处理、任务执行监控、定时任务管理、任务报告生成。

多租户架构: 租户隔离、套餐管理、项目级权限控制、数据安全隔离。

3. 业务流程、功能路径描述

设备接入流程:
设备注册 → 设备类型配置 → 协议适配 → 数据上报 → 状态管理
支持直连设备、网关设备、子设备等多种接入方式,提供设备在线/离线状态实时监控。

数据处理流程:
数据上报 → 协议解析 → 数据存储 → 事件触发 → 告警检测 → 通知发送
采用事件处理器链模式,包含时间戳处理、事件验证、自动恢复、状态处理、告警处理等环节。

告警触发流程:
规则配置 → 流式检测 → 告警生成 → 通知发送 → 告警处理 → 恢复检测
告警状态流转:活跃(1) → 已确认(2) → 已解决(3) → 已关闭(4),支持静默期管理和自动恢复。

用户操作路径:
管理员:系统配置 → 用户管理 → 角色权限 → 设备类型 → 告警规则
普通用户:设备监控 → 实时数据 → 告警处理 → 历史查询 → 报表导出

项目实现

1. 整体架构和设计思路,不同模块使用的技术栈

架构设计思路:
采用现代化事件驱动架构,遵循"入口队列模式 + 独立协议网关"设计理念。严格分层架构(API层→业务层→数据层→模型层),实现高内聚低耦合。微服务就绪的模块化设计,支持插件化扩展。

模块技术实现:
- 设备管理:多协议适配(MQTT/TCP/HTTP)+ 设备影子 + 状态缓存
- 数据处理:流式SQL实时处理 + 批量入库优化 + 分层存储策略
- 告警引擎:流式SQL实时处理
- 物模型:分层存储策略

2. 我的负责模块和结果(量化指标)

主要负责模块:

告警引擎:
- 实现流式告警和即时告警双引擎架构
- 告警规则缓存命中率提升至95%+
- 告警处理延迟从平均2秒降低到500毫秒以内

微信生态集成(完整实现):
- 微信小程序登录授权系统
- 微信订阅消息推送功能
- 微信用户与系统用户绑定机制
- 支持告警信息通过微信实时推送

协议适配优化(性能提升):
- DTU/TCP协议网关重构,支持DD-LINK模式
- 网关设备服务重构,集成MQTT和DD网关双协议
- 设备接入并发能力从1000设备提升至5000+设备

量化结果:
- 代码质量:告警引擎复杂度从A级降至C级(循环复杂度)
- 性能提升:数据处理吞吐量提升300%(从1万条/秒到3万条/秒)
- 扩展性:新协议接入时间从3天缩短至4小时
- 稳定性:系统可用性达到99.9%,支持7×24小时运行

3. 我遇到的难点、坑,和解决方案

技术难点1:高并发设备接入性能瓶颈
- 问题:大量设备同时接入导致连接数激增,MQTT Broker负载过高
- 解决方案:实现连接池管理和负载均衡策略,采用Redis缓存设备在线状态减少数据库查询,实现自适应心跳机制
- 效果:单实例支持并发连接数从1000提升到5000+

技术难点2:实时数据处理延迟问题
- 问题:高频数据写入导致数据库压力,实时告警计算延迟超过2秒
- 解决方案:采用分层存储策略(热数据Redis+温数据PostgreSQL+冷数据对象存储),实现NSQ批量消费机制,使用StreamSQL避免全表扫描
- 效果:数据处理延迟从2秒降低到500毫秒,吞吐量提升3倍

技术难点3:多协议设备接入复杂性
- 问题:不同设备使用不同通信协议,协议转换复杂度高
- 解决方案:设计统一IoTEvent数据模型,采用协议网关插件化架构,实现协议适配器工厂模式
- 效果:新协议接入开发时间缩短80%

技术难点4:微信集成用户状态同步
- 问题:微信用户与系统用户绑定存在并发冲突,订阅消息推送不稳定
- 解决方案:实现分布式锁机制避免重复绑定,采用消息队列确保推送可靠性,添加重试机制处理网络异常
- 效果:用户绑定成功率达到99.5%,消息推送成功率达到99.8%

示例图片视频


GOPHPVUE
24小时内活跃
方向: 后端-Go、前端-小程序、
交付率:100.00%
相似推荐
方舱控制器
为实现疫区的人员生存及救援,需要有一款安全且完善的的控制系统对方舱进行出入进行控制、内部气压建立控制等,相关功能通过多个部件所组成的系统进行实现,其中控制器是核心。为保障可靠性,使用1OO2架构,并且进行异构化,采用不同的芯片实现相同的功能,通信也通信提供冗余,使用两路CAN与其他部件进行通信。
安全驱动器
公司战略计划参与控制产品更高层面的竞争,需要严格按照功能安全的规范设计产品,并要通过具有国际影响力的德国莱茵SIL3认证。 负责该控制器的架构设计,并负责基于IEC62061进行莱茵(TUV)的SIL3认证,已经获证,为进入多个大型项目提供了资质保证。
森林防灭火h5-防灭火h5
基于森林防灭火需要,而研发的一个h5。主要功能为防火物资查看,录入修改;隐患排查、检查上报,隐患整改,以及使用驾驶舱展示一些数据,不同权限进入,对应的功能也不一样。还包括账户一些密码修改,信息展示等功能
AI智能防护系统
翻车机翻车前,压车梁要保证压紧车厢边沿,该项目通过AI视觉的方式检查压车梁是否压紧; 翻车机回翻后,车厢有可能脱离轨道,该项目通过AI视觉的方式检查车厢是否脱离轨道; 设计上位机显示识别结果,检查到风险后报警。
IPC-网络摄像头
基于海思HI3516实现摄像头功能,特点是可以全屏自由叠加显中英文信息,字体颜色及根据显示内容显示反色。延时控制在200-300MS左右,UDP及TCP均可实现查看视频,音频。实现简单WEB服务功能,可以通过WEB实现更新程序、IP修改、摄像头信息修改。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服