Skip to content

v1.1.10

Choose a tag to compare

@hezhuozhuo hezhuozhuo released this 27 Oct 09:06
· 217 commits to main since this release

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 等