規(guī)則引擎
規(guī)則引擎就是指用戶在華為云平臺對接入的設(shè)備設(shè)定相應(yīng)的規(guī)則,然后在條件滿足響應(yīng)的規(guī)則后,平臺便會觸發(fā)的動作來滿足用戶需求。規(guī)則引擎包含了設(shè)備聯(lián)動和數(shù)據(jù)轉(zhuǎn)發(fā)兩個部分。
規(guī)則引擎思維導(dǎo)圖:
設(shè)備聯(lián)動
設(shè)備聯(lián)動是通過條件觸發(fā),基于預(yù)設(shè)的規(guī)則,引發(fā)多設(shè)備的協(xié)同反應(yīng),實現(xiàn)設(shè)備聯(lián)動、智能控制。例如,當(dāng)執(zhí)行動作為“發(fā)送通知”時,物聯(lián)網(wǎng)平臺對接華為云的 消息通知 服務(wù) SMN ,進(jìn)行主題消息的設(shè)置和下發(fā)。
觸發(fā)條件:
要想觸發(fā)一個規(guī)則動作,就必須首先要有個觸發(fā)條件,在華為云設(shè)備聯(lián)動的規(guī)則有匹配設(shè)備觸發(fā)、指定設(shè)備觸發(fā)、定時觸發(fā)三個部分。
指定設(shè)備觸發(fā):對使用相同產(chǎn)品模型的設(shè)備進(jìn)行條件設(shè)置。
指定設(shè)備出發(fā):對指定設(shè)備進(jìn)行條件設(shè)置。
定時觸發(fā):可以設(shè)置規(guī)則觸發(fā)的時間點。值得注意的是當(dāng)指定的觸發(fā)條件選擇“定時觸發(fā)”,則執(zhí)行動作中不能設(shè)置為“發(fā)送通知”、“上報告警”、“恢復(fù)告警”的動作。
執(zhí)行動作:
當(dāng)擁有一個觸發(fā)條件的時候,必定會有一個與之對應(yīng)的執(zhí)行動作,執(zhí)行動作可分為下發(fā)命令、發(fā)送通知、上報告警、恢復(fù)告警。
下發(fā)命令:下發(fā)命令時需指定要執(zhí)行的設(shè)備,對服務(wù)的執(zhí)行命令參數(shù)進(jìn)行重新配置下發(fā)給設(shè)備。
發(fā)送通知:發(fā)送通知需要您授權(quán)當(dāng)前 設(shè)備接入服務(wù) (IoTDA) 訪問所有區(qū)域的消息通知服務(wù)(SMN) 的權(quán)限。即對接華為云的消息通知服務(wù)SMN,進(jìn)行主題消息的設(shè)置和下發(fā)。
上報告警:定義告警級別、告警名稱、告警內(nèi)容等。當(dāng)滿足觸發(fā)設(shè)置的條件后,產(chǎn)生的告警將統(tǒng)一上報到 應(yīng)用運維管理 服務(wù)( AOM )管理界面。
恢復(fù)告警:定義告警級別、告警名稱、告警內(nèi)容等,當(dāng)滿足觸發(fā)設(shè)置的條件后,產(chǎn)生的告警將統(tǒng)一上報到應(yīng)用運維管理服務(wù)(AOM)管理界面。
數(shù)據(jù)轉(zhuǎn)發(fā)
設(shè)備接入IoTDA 與華為云上的其他服務(wù)實現(xiàn)無縫對接,就是借助于規(guī)則引擎中的數(shù)據(jù)轉(zhuǎn)發(fā)來實現(xiàn)的。當(dāng)滿足數(shù)據(jù)轉(zhuǎn)發(fā)的觸發(fā)條件時,IoTDA便能根據(jù)所設(shè)定的觸發(fā)事件將數(shù)據(jù)轉(zhuǎn)發(fā)到其他服務(wù)或是推送給應(yīng)用。例如DIS、OBS等。
觸發(fā)事件:
在設(shè)備接入IoTDA與其他服務(wù)對接,首先需要確認(rèn)需要轉(zhuǎn)發(fā)的事件,觸發(fā)事件主要有設(shè)備的添加更新或刪除、設(shè)備屬性的上報、設(shè)備消息狀態(tài)的變更、設(shè)備狀態(tài)變更、批量任務(wù)變更。
設(shè)備添加更新與刪除:是指新增一個設(shè)備、刪除、更新一個設(shè)備時觸發(fā)規(guī)則引擎,然后將數(shù)據(jù)轉(zhuǎn)發(fā)到所設(shè)定的轉(zhuǎn)發(fā)目標(biāo)服務(wù)。值得注意的是設(shè)備更新指的是設(shè)備的一些基本信息,如設(shè)備名稱、描述、版本信息等,而是不是所屬服務(wù)的屬性。
設(shè)備屬性上報:是指當(dāng)設(shè)備上報其屬性時觸發(fā)規(guī)則通過設(shè)定的轉(zhuǎn)發(fā)目標(biāo)將其轉(zhuǎn)發(fā)到其他的華為云服務(wù)或是推送給應(yīng)用。
設(shè)備消息上報:是指當(dāng)設(shè)備上報其消息時觸發(fā)規(guī)則通過設(shè)定的轉(zhuǎn)發(fā)目標(biāo)將其轉(zhuǎn)發(fā)到其他的華為云服務(wù)或是推送給應(yīng)用。
設(shè)備消息狀態(tài)變更:是指當(dāng)設(shè)備消息狀態(tài)發(fā)生變更時觸發(fā)規(guī)則通過設(shè)定的轉(zhuǎn)發(fā)目標(biāo)將其轉(zhuǎn)發(fā)到其他的華為云服務(wù)或是推送給應(yīng)用。消息的狀態(tài)分為以下四種:PENDING,DELIVERED,F(xiàn)AILED和TIMEOUT,PENDING指設(shè)備不在線,消息被緩存起來,等設(shè)備上線之后下發(fā): DELIVERED指消息發(fā)送成功;FAILED消息發(fā)送失敗;TIMEOUT指消息在平臺默認(rèn)時間內(nèi)(1天)還沒有下發(fā)送給設(shè)備,則平臺會將消息設(shè)置為超時,狀態(tài)為TIMEOUT。
設(shè)備狀態(tài)變更:是指當(dāng)設(shè)備的狀態(tài)發(fā)生變更時觸發(fā)規(guī)則通過設(shè)定的轉(zhuǎn)發(fā)目標(biāo)將其轉(zhuǎn)發(fā)到其他的華為云服務(wù)或是推送給應(yīng)用。設(shè)備的狀態(tài)分為以下四種:未激活,在線、離線、異常。
設(shè)備批量任務(wù)變更:是指針對任務(wù)類型為固件升級或是軟件升級的任務(wù)狀態(tài)發(fā)生變更時觸發(fā)規(guī)則通過設(shè)定的轉(zhuǎn)發(fā)目標(biāo)將其轉(zhuǎn)發(fā)到其他的華為云服務(wù)或是推送給應(yīng)用。設(shè)備的批量任務(wù)狀態(tài)分為以下六種:任務(wù)正在等待被執(zhí)行、任務(wù)正在被執(zhí)行、任務(wù)成功、任務(wù)部分成功、任務(wù)失敗、任務(wù)被停止。
轉(zhuǎn)發(fā)目標(biāo)
在我們對觸發(fā)事件設(shè)置完成之后,就會設(shè)置其轉(zhuǎn)發(fā)的目標(biāo)。轉(zhuǎn)發(fā)目標(biāo)可以是華為云上的其他服務(wù),也可以直接是通過http推送的方式推送給第三方應(yīng)用又或者是AMQP消息隊列.
關(guān)于規(guī)則引擎的黑名單:
規(guī)則引擎的黑名單是指:當(dāng)觸發(fā)規(guī)則引擎時,根據(jù)觸發(fā)事件通過http訂閱推送的方式將數(shù)據(jù)推送給應(yīng)用,但如果推送失?。捶祷氐臓顟B(tài)碼不為200)并且連續(xù)推送十次失敗,這時這個應(yīng)用地址便會被平臺加入到黑名單,不再進(jìn)行推送。當(dāng)三十秒過后,這時平臺將會放開黑名單一次,此時當(dāng)觸發(fā)事件條件滿足時再去推送,如果返回的狀態(tài)碼為200,即推送成功,如果返回的狀態(tài)碼不為200即推送失敗,且又再次連續(xù)十次失敗,此時應(yīng)用地址又會加入黑名單。如此反復(fù)。
最新文章
- 華為云IoT平臺介紹_什么是物聯(lián)網(wǎng)_物聯(lián)網(wǎng)及其應(yīng)用
- 農(nóng)業(yè)物聯(lián)網(wǎng)_物聯(lián)網(wǎng)的特點_農(nóng)業(yè)物聯(lián)網(wǎng)云平臺
- 物聯(lián)網(wǎng)學(xué)習(xí)入門
- 物聯(lián)網(wǎng)學(xué)習(xí)入門
- 什么是物聯(lián)網(wǎng)_物聯(lián)網(wǎng)iot平臺_物聯(lián)網(wǎng)技術(shù)有哪些
- 什么是設(shè)備接入_物聯(lián)網(wǎng)平臺_設(shè)備接入技術(shù)有哪些