物联网平台-设备在线状态不同步

Blade 未结 1 46
six_six_2005
six_six_2005 剑圣 2024-12-30 10:17

一、该问题的重现步骤是什么?

1. 设备已经在线,在设备管理里的状态是对的,但是业务在调queryDevicePropertyLatest接口时,返回的是离线,造成无法对设备进行操作,反之也是,设备没有开机,但是该接口返回在线。

2. image.png

3.image.png

image.png


二、你期待的结果是什么?实际看到的又是什么?

接口返回的设备在线状态,应与设备管理中的设备在线状态一致。

三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  • 2024-12-30 10:37

    我们大概看了一下代码,influxdb存的设备状态是对的,当设备上线或离线时,是不是IotCache缓存的设备在线状态没有及时更新引起的?

    作者追问:2024-12-30 11:05

    queryDevicePropertyLatest这里面用到了IotCache来获取设备缓存,但是他没有实际使用到设备状态的字段呀。


    为了缓存不会频繁变更,不会因为设备上下线就去重新更换缓存,不然几十万设备的场景,缓存会很容易奔溃。


    所以如果要获取设备状态,是不能直接从缓存取,因为他时时都会变化。


    CleanShot20241230110417@2x.png

    0 讨论(0)
提交回复