更新记录
最新社区版代码托管在Github上.
企业版代码托管在私有的GIT服务器上,购买企业版后可获取企业版代码以及后续更新。
注意
master为最新开发分支. 线上使用请根据情况切换到对应版本的分支.
更新日志
服务端-V2.0.17
master
v2.0.17 (2024/4/19)
新增
兼容性增强:
- 增加下发自定义数据解析功能,扩展设备数据处理能力
- 实现获取指定设备最新一条数据的接口与服务,提供即时状态查询支持
设备管理与数据分析:
- 增加设备指标趋势计算与设备指标聚合代码,助力数据可视化与性能监控
- 产品数据解析中加入
send
方法调用回复处理,完善数据交互流程
远程配置与OTA升级:
- 实现设备主动请求远程配置信息的功能,简化配置管理流程
- 在MQTT和OpenAPI上报OTA升级进度时添加desc备注信息,增强升级过程透明度
- 接口返回OTA升级进度详情时包含备注信息字段,便于记录和跟踪升级事件
规则引擎与场景联动:
- 完成规则链创建的完善工作,新增动态更新规则链方法,提高灵活性
- 增加获取设备时序数据的接口,支持基于历史数据的分析与决策
- 构建子规则链以支持复杂的场景联动逻辑,实现更精细的自动化控制
系统集成与优化:
- 添加HTTP OTA相关路由,扩展系统对外服务能力
- 完善查看与分析通过service接口获取TD数据时的异常处理,确保数据访问稳定性
- 优化远程配置功能,包括增加根据产品key获取信息以及进行MQTT测试,增强配置管理功能与稳定性
优化
代码质量与性能:
- 优化JS脚本处理代码,提升脚本执行效率与稳定性
- 优化设备数据在Redis中的处理过程,减少数据存储与检索延迟
- 优化数据处理服务线程池配置,平衡资源利用率与响应速度
- 优化系统启动初始化过程,允许通过启动参数配置时序数据库初始化,增强系统自适应性
时序数据处理与存储:
- 优化时序数据存储聚合类库,减少事件队列丢失数据风险,保障数据完整性
- 当解析物模型时,遇到无对应属性的情况,选择忽略而非进行时序持久存储,避免无效数据写入
- 优化持久化存入TD(时序数据库)中数据的顺序,保证数据一致性
- 优化TD连接错误处理机制,提高系统容错能力
- 优化批量存入TSDB(时序数据库)时的防出错处理,防止程序因个别数据错误而中断
设备管理与通信:
- 优化设备数据统计相关的实时状态显示,滤除空值,提升数据展示质量
- 解决通过网关上报设备数据时可能出现的空指针问题,增强网关数据传输可靠性
系统兼容性与安全性:
- 支持产口与设备Key中使用下横线与中横线字符,提高系统对设备标识符的兼容性
- 优化设备物模型无数据情况下的退出逻辑,避免资源浪费或异常状态
- 优化获取登录用户信息接口逻辑,提高身份验证与授权效率
其他专项优化:
- 升级至GF 2.7版本,利用新特性或性能改进提升整体系统性能
- 优化设备添加与设备添加Key的校验逻辑,提高数据一致性;同时升级GF版本以利用其新特性或性能改进
- 修改组态WebSocket返回属性值类型,适应前端展示或应用需求
- 完善网关子设备数据上报的属性上报与事件上报处理,确保多层级设备数据完整准确上报
- 调整规则联动中Web服务headers、参数格式,确保服务间交互规范与高效
- 优化菜单删除机制,自动删除关联按钮、列表、API等绑定关系,保持权限管理一致性
- 优化文件位置布局,将网络处理相关包移至公共包,提高代码组织结构清晰度
- 优化封装的协程池处理及调整文件位置,改善并发任务调度与代码维护性
- 优化模拟设备批量压测程序,使数据发送分布更合理,确保压测结果准确性
- 优化消息队列超时时间的设置方式,确保消息传递及时且不会因超时导致错误
- 优化远程配置功能,增加根据产品key获取信息,以及进行MQTT测试,提升配置管理的便捷性与稳定性
修复
- 修复执行设备功能方法时设备为
nil
引发的空指针问题,确保功能调用安全 - 解决通过网关上报设备数据时可能出现的空指针问题,增强数据传输稳定性
- 修复首次登录后查询用户登录信息效率慢问题,提升用户体验
- 修复api同步时没有删除无用tag的bug,保持数据一致性
- 修复设备上报数据双精度类型小数后面的精度不准的问题,确保数据准确性
- 修复token失效时返回数据错误问题,增强身份验证系统的健壮性
- 修复超级管理员账号密码错误问题,确保系统核心权限管理的正确性
- 修复持久化存入TD中数据存入顺序不对的BUG,确保时序数据的正确排序
- 修复运行状态,网关设备显示的BUG,提升系统监控准确性
- 修复产品发布更新设备的物模型缓存问题,确保设备模型与实际一致
- 修复OTA获取升级信息查询条件错误,保证设备升级流程的正常进行
- 修复本地压测工具的随机数方式,确保压测数据的准确性
- 修复分版执行程序初始化方法的空指针BUG,保证程序稳定运行
- 修复远程配置类型错误,确保 配置数据的正确解析与使用
- 修复上报数据重复的问题,避免数据冗余与统计误差
v2.0.0(2024/2/21)
V2版本多处代码进行了重构,并将部分功能进行了拆分,提高了系统的稳定性和可维护性。
go版本升级到v1.22 ,GoFrame升级到v2.6.1
新增
- 新增设备数据上报中间缓存队列,提高数据上报处理效率。
- 统一缓存处理方式,并对多处频繁调用的数据进行缓存,提高数据处理效率。
- 重构消息队列及定时任务,改为分布式任务队列处理方式,提高处理效率及可靠性,并提供可视化监控界面。
- 支持核心处理程序、web服务程序、任务队列处理程序分离单独运行,提高程序稳定性及可靠性。
- 新增模块化开发方式,分离模块功能与核心功能,方便功能扩展及维护,并简化主工程代码量。
修复
- 修复设备数据上报、缓存、消息队列、定时任务等功能的BUG。
- 修复添加设备、查看系统日志、告警等功能的BUG
- 修复TD连接、产品启用、任务启用等问题
- 修复设备数据存入时序数据库、OTA升级等功能的BUG
- 修复登录、缓存、代码质量等问题
优化
- 优化性能、缓存、加载速度、图表展示
- 重构部分代码,规范入参及接口处理方式,提高代码可读性及可维护性。产品与设备,所涉及调用统一为key的方式。
- 调整插件编写方式,独立出来,方便插件编写及维护,并简化主工程代码量。
- 调整目录结构,公共处理统一到pkg目录中,方便调用及代码维护管理。
- 强化性能分析及监控功能,提供可视化性能分析及监控界面。
- 优化系统初始化定时任务方式,提高初始化效率。
v1.6.2(2024/1/22)
增加
- 增加获取插件的所有的通信方式类型
- 增加用户上传插件zip解压到指定目录并添加至数据库接口
- 增加根据设备标识获取详情,并实时返回设备状态
- 增加获取设备属性数据列表接口
- 增加菜单与接口绑定关系接口
- 增加根据菜单获取接口列表
- 增加批量绑定菜单接口
- 增加告警等级初始化sql数据
修复
- 修复添加设备时,判断非空校验问题
- 修复通知日志报错问题
- 修复获取黑名单IP问题
- 修复权限bug
- 修复未登录状态下请求接口,仍能访问成功bug
优化
- 优化性能,优化缓存 ,优化加载速度
- 优化组态echart图表
- 优化系统初始化定时任务方式
- 优化接口鉴权
- 优化系统监控推送的Init代码
v1.3.0(2023/7/30)
增加:
- 增加TCP类协议插件测试例子
- 新增插件添加与移除方法
- 增加规则引擎黑名单限制
修复:
- 修复tcp服务通道bug
- 修复网关上报数据子设备为空报错的问题
- 修复iothttp服务关闭影响系统的BUG
- 修复多处小问题
优化:
- 优化tcp服务的注册包正则解析
- 优化插件加载初始化过程
- 优化插件自身信息获取方法
- 优化插件通讯协议处理
- 优化插件用的统一上报model
- 进行多处代码优化
V1.2.0(2023/6/23)
增加:
- 增加按设备树进行采集点统计功能
- 增加产品设备接入数据解析功能
- 增加组态实时显示数据点统计分析弹窗功能
- 增加设备认证、网络组件服务增加更多的认证方式(Baseic、Accesstoken、证书)
- 增加设备树功能
- 增加支持网关设备批量上报功能
- 增对数据上报属性上报时间的支持
修复:
- 修复监控导致携程泄漏的问题
- 修复因为json的tag标记错误导致解析时间失败
- 修复 时间上报ack类型错误的问题
- 修复携程泄漏导致cpu飙升问题
- 修复设备上报数据json转义问题
优化:
- 优化设备状态显示算法
- 优化数据中心数据模型代码
- 优化网络组件服务安全认证
- 优化数据中心定时任务
- 优化告警规则引擎
- 优化告警检查规则代码
V1.0.1(2023/1/31)
增加:
- 增加事件上报及事件告警支持
- 增加设备运行状态属性及设备数据空值过滤处理
- 增加数据模型解绑处理
修复:
- 修复TD取值过程因大小写引起的BUG
- 修复tls转换类型BUG
- 修复默认协议调别有误的BUG
优化:
- 优化TD数据迁移工具
- 优化运行脚本日志输出
- 优化用户登录权限初始化方式
V1.0.0(2023/1/1)
- SagooIOT 1.0 版本发布,开放 SagooIOT开 源库