Repository navigation
v1.1.10
ThingsPanel Backend Community 版本发布说明
发布日期: 2025年10月24日
版本周期: 2025年7月23日 - 2025年10月24日
🎯 核心亮点
本次版本主要完成了MQTT消息处理架构的全面重构,并新增了多层网关设备支持,大幅提升了系统的稳定性和扩展性。
🚀 新增功能
1. 多层网关设备支持(重要特性)
- 全流程支持多层网关架构
- 网关设备配置与子设备绑定
- 遥测数据上报支持多层级转发
- 命令下发、属性设置支持网关层级穿透
- 事件上报支持网关路由
- 完善的测试覆盖:包含网关命令、事件发布、遥测控制等全面测试
2. MQTT连接增强
- 断线重连优化:连接成功后自动重新订阅所有主题,避免消息丢失
- Topic构建优化:支持message_id参数构造完整Topic路径
- 连接稳定性提升:优化重连机制和订阅管理
3. 直连设备通信支持
- 新增直连设备(非网关)通信配置支持
- 提供完整的设备接入测试用例
4. WebSocket实时推送优化
- 架构升级:使用Redis Pub/Sub替代MQTT进行设备状态订阅
- 性能提升:减少中间件依赖,降低延迟
- 实时性增强:支持设备状态变化的即时推送
5. 用户管理增强
- 国际化支持:手机号查询支持国际区号匹配
- 用户信息扩展:新增地址信息管理(地址表、修改接口、查询接口)
- 个人信息完善:支持头像、地址等字段
6. 告警通知优化
- Webhook推送增强:告警消息中新增设备详细信息字段
- UUID规范化:统一使用标准UUID生成方式
- 消息结构优化:移除冗余字段,优化JSON结构
7. 安全性增强
- 接入服务认证接口新增限流保护
- APIKey功能增加用户级别支持
🔧 架构重构与优化
MQTT消息处理架构重构(核心改动)
- 整合消息处理流程
- 统一遥测、事件、命令、状态消息的处理逻辑
- 移除废弃的消息处理函数,精简代码
- 优化设备状态更新和数据处理流程
- 适配器架构升级
- 重构MQTT适配器,提升扩展性
- 优化设备类型和协议类型处理
- 完善下行消息处理和Topic构建
数据处理层重构
- Flow数据处理器:重构Attribute、Event、Telemetry数据流处理
- 脚本执行优化:实现脚本缓存和Lua脚本执行
- 存储层优化:重构遥测和属性数据存储,支持指标跟踪
- 类型转换增强:支持复杂类型序列化为JSON字符串
系统架构优化
- 模块整合:整合Flow和MQTT服务,统一数据处理入口
- 配置精简:清理不再使用的网关配置文件
- 性能调优:调整存储层缓冲区大小,优化资源占用
日志与监控优化
- 规范日志格式,添加关键字段信息
- 调整日志级别为Debug,减少生产环境冗余日志
- 优化状态消息处理,避免重复记录
🐛 问题修复
设备管理
- 修复设备模板ID为空时的错误处理
- 修复设备编号修改后需要重连的问题
- 修复设备列表查询缺少附加信息字段
- 修复模拟上报错误提示不友好的问题
- 协议插件增加子设备编号支持
自动化功能
- 修复自动化定时任务无法启动的缺陷
- 修复自动化流程中的锁竞争问题
用户系统
- 修复账号手机号重复检查逻辑
- 修复修改手机号后无法登录的问题
- 修复用户查询接口返回数据问题
- 修复邮箱配置报错问题
数据存储
- 修复遥测数据批量插入时的唯一约束冲突
- 修复看板创建时可视化类型不生效的问题
其他修复
- 修复不合法报文导致的运行时异常
- 修复设备模型标识符重复校验时机
- 优化SSE API:禁用nginx缓冲防止连接过早关闭
📊 版本统计
- 总提交数: 92次
- 核心功能: 多层网关支持、MQTT架构重构、WebSocket优化
- 主要贡献者: hezhuozhuo, zongchunw, 路黑, teng-tt 等