13327806566

新闻资讯
古河软件资讯围绕智慧建筑IBMS、数字孪生、BIM运维、建筑物联网、能源管理和AI智能运维,提供可快速引用的结论、技术说明、相关解决方案、产品能力与公开项目参考。

全部新闻 公司资讯 行业资讯

IBMS接入MQTT,怎样避免把保留消息当成新告警?

快速结论:IBMS重新订阅MQTT后收到的消息,可能是先前保存的状态,而不是刚发生的告警。应区分保留消息、会话积压、源事件时间与接收时间,核对消息有效期、订阅选项和状态恢复,不能仅按到达时刻触发新事件。

作者:南京古河软件|发布日期:2026-10-22

一、重新收到消息,不等于现场刚发生异常

建筑值班系统重启后,某测点立刻出现一条异常消息。它可能是新的状态变化,也可能是消息服务器为新订阅保存的先前值。IBMS应先核对消息用途、来源与事件时间,再决定更新状态、补记历史还是产生新的业务事件。

本文讨论MQTT 5.0普通非共享订阅的通用机制。它与消息重复去重不同:唯一事件也可能已经过时,旧状态也可能仍需复核。消防、设备保护和现场应急职责不由消息接入逻辑替代。

二、保留消息是每个主题的快照,不是事件流水

OASIS MQTT 5.0第3.3.1.3节说明,客户端设置RETAIN后,服务器按主题保存相应消息,供后续匹配订阅使用。同一主题的新保留消息替换先前保留内容;不能把这一份快照当成该设备全部告警的事件流水。

需要特别检查恢复路径:先把异常状态作为保留消息发送,后来正常状态却用RETAIN=0发送,后者不会替换或删除原有保留消息。新订阅者仍可能拿到旧异常。因此实时在线看到恢复,与后来订阅拿到什么,应分别验收。

协议提供用RETAIN=1且载荷零字节删除该主题保留内容的机制。但删除消息不是业务上的设备恢复、告警确认或维修结案。使用时应核对主题、授权和审计,不能对真实生产主题盲目清空。

三、订阅选项和消息有效期解决的是不同问题

第3.8.3.1节的Retain Handling控制建立订阅时是否发送保留内容:0表示发送,1表示仅该订阅此前不存在时发送,2表示不在建立订阅时发送。这里不能简化成重连永远不收旧值;是否重建订阅、会话是否保留及客户端行为都需要记录。

Retain As Published影响已建立订阅上的RETAIN标志转发方式;订阅建立时发送的保留消息另有标记规则。因此不能把一个RETAIN位当作通用的年龄检测器,也不能把RETAIN=0直接解释成刚发生。会话中积压的普通消息同样可能较旧。

第3.3.2.3.3节的Message Expiry Interval以秒约束消息寿命;未设置时协议不为该应用消息设置过期。服务器等待时间会从后续传递的有效期扣除。保留消息过期会被丢弃,但这不保证现场数据新鲜,也不代替业务端核验源时间、时钟和状态。

四、把接收证据与告警判定分开保存

工程核对至少区分设备与测点身份、消息用途、源事件时间、接收时间、源版本或事件身份、保留标记及有效期。后四类业务字段如何编码由接口约定,不是MQTT自动提供的一份完整告警模型。中间桥接或网关还应说明哪些信息可能被重写或丢失。

状态消息可用于初始化显示,但是否作为当前有效状态,要结合时效阈值和后续刷新;事件消息应核对源事件身份及发生时间,再按业务规则处理。只以接收时间赋予新事件身份,会把重订阅误当成现场再次异常。

发现旧异常时不能简单丢弃,也不能自动派出一张新工单。可按项目规则标为历史补报或状态待复核,并查询约定的当前状态来源;时钟冲突、时间缺失或无法确认恢复时,保留未知结论及核查责任。

五、四组建议用例检查重订阅边界

以下是建议用例,本文没有实际运行。仅使用自有隔离环境、虚构测点与普通非共享订阅;记录协议版本、客户端实际订阅选项、服务器支持、输入序列和业务判定,不在真实消防或控制系统制造故障。

正常初始化:向模拟状态主题发送带源时间的有效保留值,建立匹配订阅。预期按约定收到初始化快照,保留源时间并单独记录接收时间;把初始化直接统计成新告警,不通过。

恢复未覆盖:先保留异常,再以非保留方式发送正常,随后建立新订阅。预期能解释并识别旧保留异常;再按明确策略更新保留快照,验证新订阅结果。只看在线恢复就宣布重订阅安全,不通过。

订阅选项:在声明的同一会话和新会话条件下,分别核对Retain Handling的0、1、2。预期结果符合订阅是否既有的条件;只写一次重连成功、不记录订阅行为,不足以验收。

过期与时间异常:分别使用有效、超过约定消息有效期以及源时间缺失的模拟输入。预期协议层按支持范围处理过期,业务层独立处理数据时效与未知状态;无消息就判设备正常、收到消息就判事件新鲜,均不通过。

核对对象回答的问题不能直接推断
主题保留快照新订阅可拿到什么完整告警历史
订阅选项与会话本次为何收到消息源事件刚发生
消息有效期协议是否仍允许交付现场状态一定新鲜
源时间与业务身份属于哪次变化及何时发生只凭接收时间判新事件
官网公开物联网设备模型演示界面
官网公开演示界面,非本文保留消息用例实测或客户项目;画面不证明消息时效和事件判定通过。

古河官网公开资料说明设备与测点、实时历史数据、告警及接口协同。本文MQTT选项、时间判据与核验用例属于通用标准解释和工程建议,不证明古河默认实现全部MQTT 5.0功能;实际按组件版本、接口约定、项目配置集成开发与验收确认。

相关资料:IBMS设备数据与告警协同;智慧建筑系统集成分工。

参考资料与使用范围

2026-10-22实际打开OASIS MQTT Version 5.0,2019-03-07 OASIS Standard,第3.3.1.3、3.3.2.3.3及3.8.3.1节。MQTT 5.0官方标准全文及对应章节。标准机制与IBMS工程判据分层;未复制标准图片,建议用例未运行,不作为认证或现场保护保证。

咨询IBMS消息接入与验收范围

南京古河软件|通用技术说明,不含客户资料或内部实现。

古河软件 发布于 2026-10-22

南京古河软件有限公司版权所有.  Copyright©2006-2026 Guhe Software All Rights Reserved.      苏ICP备08012350号       苏公网安备32010602011493号




微信咨询微信咨询
微信咨询
古河软件微信咨询二维码
                   扫码加微信咨询
电话咨询
咨询专线:13327806566