错误 #14265
【设备报警管理】报警异常持续时长存在负数,报警结束时间<报警开始时间
0%
描述
1104
1.报警类型勾选 风机频率数据异常 搜索报警对象为 健身_ZK-JS-2
2.查看页面异常持续时间
预期结果:异常持续时间为正数
实际结果:异常持续时间存在负数,点开报警详情, 报警结束时间<报警开始时间
文件
历史记录
由 李兴 更新于 超过 2 年 之前
- 状态 从 新建 变更为 已解决
问题发生的原因:同一设备不同报警类型的报警定义包含同一报警条件
例如:设备1-报警类型1的报警定义为:运行状态=运行,设备1-报警类型2的报警定义为:运行状态=运行并且新风值>1
设备运行诊断发数程序的发数规则为:按照固定的时间间隔根据报警定义获取设备对应监测指标最新一小时的数据,发送给报警引擎。如果报警定义中包含的监测指标未获取到值,则在下个时间重复这个操作。
假设设备能及时获取到运行状态,但获取新风值有10个小时的延迟。
当报警引擎在12点接收到设备运行状态=运行的12点数据时,会触发设备1-报警类型1的报警,报警触发时间为12点。
当报警引擎接12点收到设备运行状态=运行并且新风值>1的数据时,因为新风值有10个小时的延迟,此时接收到的实际是2点的采集值,此时会同时触发两个报警定义的报警,但因为设备1-报警类型1的报警未恢复不会产生新的报警,此时会产生设备1-报警类型2的报警,报警产生时间为2点。
当13点报警引擎接收到设备运行状态=停止的数据时,会同时触发这两个报警定义的恢复。两个报警的恢复时间都为13点。
当报警引擎接13点收到设备运行状态=运行并且新风值>1的数据时,因为新风值有10个小时的延迟,此时接收到的实际是3点的采集值,因为两个报警都已经恢复,因此此数据不会再次触发设备1-报警类型2的恢复。
预期:设备1-报警类型1的报警触发时间12点,恢复时间13点。设备1-报警类型2的报警触发时间2点,恢复时间3点。
实际:设备1-报警类型1的报警触发时间12点,恢复时间13点。设备1-报警类型2的报警触发时间2点,恢复时间13点。
本次修改在发数程序发送的数据上增加了报警类型标识,确保报警引擎在接收到数据之后不会触发设备其他报警类型的报警和恢复。同时将设备对应监测指标最新一小时的数据从原来的四条数据合并为1条,确保同一设备的采集值按时间顺序消费。bug已解决