介紹使用HTTP/2方式推送數(shù)據(jù)時遇到的常見問題和解決方法。

排查流程

當(dāng)HTTP/2推送數(shù)據(jù)出現(xiàn)問題時,請按照以下步驟排查。

  1. 確認(rèn)該項目以及該產(chǎn)品是否有開啟數(shù)據(jù)同步(如下圖紅色框所示)。
    數(shù)據(jù)同步
  2. 確認(rèn)設(shè)備是否有上報消息。

    在設(shè)備調(diào)試下,找到對應(yīng)設(shè)備,單擊查看

    查看測試設(shè)備
  3. 查看設(shè)備的日志,判斷設(shè)備變更數(shù)據(jù)是否上報成功。
    • 物的連接狀態(tài)變更消息

      日志服務(wù)頁簽下的設(shè)備行為分析中,選擇要查詢的時間段,輸入關(guān)鍵字online(上線)、offline(離線)進(jìn)行查詢,確認(rèn)設(shè)備是否有連接狀態(tài)變更。

      設(shè)備行為分析
    • 物的屬性、服務(wù)、事件變更消息

      日志服務(wù)頁簽下的物模型數(shù)據(jù)分析中,設(shè)置要查詢的時間段,輸入屬性、服務(wù)或事件的標(biāo)識符等,并單擊搜索

      數(shù)據(jù)類型中會顯示是否為設(shè)備上報數(shù)據(jù),鼠標(biāo)停留在內(nèi)容上會顯示完整消息內(nèi)容,params中可以看到上報的數(shù)據(jù),根據(jù)返回的code的值是否為200,確認(rèn)物模型數(shù)據(jù)是否有上報成功。

      物模型數(shù)據(jù)分析
  4. 設(shè)備上報數(shù)據(jù)成功后,查看是否正常接收到消息。
    • 查看是否收到推送消息

      若沒有接收到推送消息,按以下順序排查該問題。

      1. 請檢查是否建立了多個連接,同一組AppKey和AppSecret可以建立多個HTTP/2連接,但只會從多連接中隨機(jī)挑選一個進(jìn)行推送。
      2. 請確認(rèn)產(chǎn)品是否是在生活物聯(lián)網(wǎng)平臺創(chuàng)建的,如果是物聯(lián)網(wǎng)平臺同步過來的產(chǎn)品,只在生活物聯(lián)網(wǎng)平臺開通數(shù)據(jù)同步是不行的,還需要在物聯(lián)網(wǎng)平臺中開啟服務(wù)端訂閱(如下圖所示)。開啟服務(wù)端訂閱
    • 查看是否接收到上線和下線的消息

      若沒有接收到消息,按以下順序排查該問題。

      1. 確認(rèn)設(shè)備是否為虛擬設(shè)備,虛擬設(shè)備的上下線消息不會推送。
      2. 確認(rèn)上下線的消息是否太頻繁。為了提高消息有效性,設(shè)備上下線過于頻繁時,會對消息進(jìn)行篩檢,2秒內(nèi)頻繁上下線的消息不會推送。
  5. 如果問題依然沒有解決,單擊控制臺右上角的工單聯(lián)系我們。