規則引擎是華爲雲物聯網平臺提供的一種能力,用戶對接入平臺的設備設定相應的規則,在條件知足所設定的規則後,平臺會觸發相應的動做來知足用戶需求。規則引擎包含數據轉發和設備聯動兩種類型。html
-
數據轉發規則:物聯網平臺支持將設備上報的數據(和設備信息)轉發至其餘雲服務,包括數據接入服務DIS、對象存儲服務OBS、企業集成平臺ROMA等,並支持對轉發的數據進行過濾。安全
-
設備聯動規則:設備聯動規則是指當設備行爲(即設備上報的數據中的某個值)或者系統時間知足了規則設定的條件時,就會觸發規則設定的動做,如觸發告警、發送消息和下發命令給設備。服務器
面對規則引擎的這麼多能力,咱們該如何使用它們?接下來就讓本文教你8招,帶你玩轉規則引擎。微信
第一招 數據轉發至OBS長期存儲
對於設備上報的數據,設備接入服務只保存最新的數據,設備管理服務(建立應用時開啓了存儲數據能力)保存7天的歷史數據。若是用戶但願長期保存設備歷史數據,就須要將設備上報的數據及時轉發至其餘地方保存。函數
此時,就輪到規則引擎出場了。數據轉發規則支持將設備上報的數據轉發至對象存儲服務OBS,實現設備數據持久存儲。OBS是一個基於對象的海量存儲服務,爲客戶提供海量、安全、高可靠、低成本的數據存儲能力,適用於對設備上報數據進行歸檔和備份存儲。工具
在OBS中,基本的概念是桶和對象:桶是OBS中存儲對象的容器,每一個桶都有本身的存儲類別、訪問權限、所屬區域等屬性,用戶在互聯網上經過桶的訪問域名來定位桶。對象是OBS中數據存儲的基本單位,一個對象實際是一個文件的數據與其相關屬性信息的集合體,包括Key(文件名稱)、Metadata(元數據,由OBS自動生成)、Data(文件數據)三部分。oop
規則引擎轉發設備上報數據到OBS時,每條數據都會做爲一個對象被保存到用戶建立的桶中。若須要用桶中讀取數據,OBS也提供了控制檯、SDK、API、客戶端工具等多種方法,是否是很方便?性能
第二招 數據經由DIS轉發至第三方應用
不少物聯網企業都會本身開發物聯網應用管理設備,那麼,物聯網應用如何從物聯網平臺實時獲取設備上報的數據?華爲物聯網平臺提供了兩種方案。學習
方案一是使用設備管理服務的訂閱推送功能。這個方案是由第三方應用調用物聯網平臺的接口進行訂閱,而後設備上報數據後物聯網平臺主動推送至第三方應用。這個方案方便快捷,且支持推送的數據不止設備上報的數據,還包括設備註冊通知、設備狀態變化通知等;但這個方案也有一些侷限性:第三方應用所在服務器必須綁定一個公網IP用於接收推送,物聯網平臺默認只提供較弱(10TPS)的推送能力,且不支持過濾數據。大數據
方案二則是使用規則引擎,將設備上報數據轉發到數據接入服務DIS,再由第三方應用從DIS獲取數據。DIS爲處理或分析流數據的第三方應用構建數據流管道,實現數據高效採集、傳輸、分發。
在DIS中,數據流管道被稱爲通道,是用戶建立的邏輯單位,用以區分不一樣用戶實時數據的集合。和使用OBS服務時一樣,咱們須要先建立一個通道,而後在物聯網平臺建立數據轉發規則時指定該通道,設備上報的數據就會被物聯網平臺轉發至該通道內。而後,第三方應用經過集成DIS的SDK或直接調用DIS的API,主動獲取數據。建立規則時,咱們還能夠指定過濾條件,例如指定某個屬性的值必須大於0才轉發該條數據,提早過濾無效數據。
該方案雖然僅支持轉發設備上報的數據(和設備信息),但無需公網IP,支持數據過濾,並能夠根據數據流速建立不一樣規格的數據通道,總體靈活性更高。
第三招 數據實時分析後轉發至第三方應用
有些時候,第三方應用由於性能或業務邏輯等問題,指望獲取的是已經分析處理過的設備上報數據,而不是原始數據。對於這種訴求,咱們僅需在第二招上稍微作些改動便可實現。
實時流計算服務CS,是運行在公有云上的實時流式大數據分析服務,全託管的方式用戶無需感知計算集羣,只需聚焦於Stream SQL業務,即時執行做業。CS支持DIS流式數據做爲數據源和數據輸出,因此咱們須要創建兩個DIS通道,一個通道做爲CS的數據源,物聯網平臺將數據轉發至該通道後就會被CS取出並處理;另外一個通道做爲CS的輸出通道,CS會把分析處理完的數據輸出到這個通道中,第三方應用再從該通道中獲取分析後的數據便可。
第四招 數據轉發至大數據平臺分析
物聯網解決方案中,做爲數據主體的「物」可能數量會很是大,產生的數據已經沒法經過傳統的數據處理服務進行處理,如何分析與利用這龐大的物聯網設備數據對物聯網企業來講又是一個新的挑戰。爲此,華爲雲提供了大數據分析服務(MapReduce服務 MRS)。MRS是一個在華爲雲上部署和管理Hadoop系統的服務,一鍵便可部署Hadoop集羣。MRS提供租戶徹底可控的企業級大數據集羣雲服務,輕鬆運行Hadoop、Spark、HBase、Kafka、Storm等大數據組件,並具有在後續根據業務須要進行定製開發的能力。所以,咱們僅需將數據轉發至MRS,而後就能夠看MRS大展身手了。因而,又輪到規則引擎出場了。數據轉發規則雖然不支持將數據直接轉發至MRS,但支持將數據轉發至DIS,DIS再將數據轉發至MRS。
在上一招中,咱們將數據轉發到DIS後,由第三方應用直接取出。而在這一招中,咱們利用了DIS的另外一個能力,轉儲任務。DIS支持將通道內的數據經過定時任務的方式轉儲至其餘服務,其中就包括MRS。經過規則引擎和DIS,咱們就能夠將設備上報的數據全自動轉發至MRS,由MRS進行大數據分析。
第五招 數據轉發至ROMA進行集成
對一些企業來講,物聯網設備上報的數據僅僅是他們業務數據的一部分,單純的設備上報數據沒有意義,他們須要將多種數據集成起來,才能發揮數據的真正價值。爲了這樣的企業,華爲雲提供了應用與數據集成平臺 ROMA。ROMA是一個全棧式的應用與數據集成平臺,源自華爲數字化轉型集成實踐,聚焦應用和數據鏈接,適配多種企業常見的使用場景。ROMA提供輕量化消息、數據、API、設備等集成能力,簡化企業上雲,支持雲上雲下、跨區域集成,幫助企業實現數字化轉型。物聯網平臺規則引擎支持將數據轉發至ROMA的消息集成(Message Queue Service,簡稱MQS)組件,爲企業提供安全、標準化的消息通道。
ROMA的MQS組件是基於kafka的消息中間件,因此物聯網平臺轉發數據至ROMA,本質上來講也是講數據轉發到一個數據通道中,但ROMA做爲集成平臺,提供了多種應用和數據集成組件,完成數據的統一化和標準化,方便用戶統一獲取後進一步利用。
第六招 根據上報數據自動控制設備行爲
如今的不少設備都能作到自動化管理,例如照明燈根據環境光強自動開關,高發熱量的設備根據自身溫度自動關機等。這些自動化邏輯能夠直接燒錄到設備中,也能夠經過雲端設置和執行。若將邏輯直接燒錄到設備中,優勢是設備反應快,但缺點是須要每一個設備單獨燒錄,並且若是邏輯有變化必須一個個設備從新燒錄,很是難以管理。若將邏輯設置到雲端,雖然設備的反應速度會有所下降,但邏輯只需雲端維護,修改起來也很是方便,所以,咱們建議對反應速度要求不是特別高的自動化邏輯都設置到雲端。規則引擎中的設備聯動服務提供圖形化的操做界面,經過簡單的操做便可實現設備的自動化邏輯,廠商無需再自行開發第三方應用。
以上文中的照明燈根據環境光強自動開關爲例,咱們能夠設置兩條規則,一條是當設備上報數據中的環境光強小於一個閾值(如50)時,物聯網平臺自動給設備下發開燈命令。另外一條則是當設備上報數據中的環境光強大於一個閾值(如500)時,物聯網平臺自動給設備下發關燈命令。
經過這兩條規則,咱們能夠實現當設備檢測到的環境光強小於50時自動開燈,環境光強大於500時自動關燈,達到智能照明的目的。
第七招 根據上報數據觸發告警
物聯網平臺支持告警能力,設備觸發告警條件後會在物聯網平臺上顯示一條告警,用戶查看告警能夠得知告警級別,告警來源(指是哪一個設備產生的告警),告警內容等,方便用戶更快定位問題設備,及時解決問題。
而這個告警,也是經過設備聯動規則產生的。設備聯動規則支持設備上報的數據知足條件時,在物聯網平臺上顯示一條告警,告警的信息(類型、級別、名稱、內容)都可自定義。
經過這種方式,用戶能夠自定義業務所需的告警,實現設備異常及時定位,業務管理更高效。
第八招 根據上報數據發送短信和郵件
不少物聯網設備24小時運行,設備管理者並不須要知道設備每一刻的狀態,只須要設備在上報某些特定狀態時能通知到管理者。例如,當設備電量低時,自動發送郵件和短信通知管理員。這個功能咱們一樣可使用設備聯動規則實現,由於華爲雲物聯網平臺規則引擎對接了消息通知服務SMN。
消息通知服務SMN是可靠的、可擴展的、海量的消息處理服務。它能夠依據用戶的需求主動推送通知消息,最終用戶能夠經過短信、電子郵件、應用等方式接收。SMN的主題訂閱模型,旨在提供一對多的消息訂閱以及通知功能,可以實現一站式集成多種推送通知方式。在SMN中有兩種類型的客戶端,即發佈者和訂閱者。發佈者經過主題發佈消息,由SMN將消息推送給主題訂閱者,訂閱者能夠爲郵件地址、手機號碼、消息隊列、函數、函數工做流及URL地址。
所以經過咱們僅需先在SMN上建立好主題,並使用手機號和郵箱訂閱這個主題,物聯網平臺規則被觸發後就會自動發佈消息至主題,經過SMN服務給訂閱的郵箱和手機發送郵件和短信了,實現無需值守,特殊狀況直接通知到人。
學會以上8招,您就掌握了物聯網平臺規則引擎的使用方法。若您但願進一步瞭解規則引擎,請訪問華爲雲設備管理幫助中心,咱們提供了詳盡的操做指導文檔。
關於華爲物聯網可參加學習免費課程視>>>>>《IoT七天開發訓練營》或聯繫華爲IoT小助手(微信號:huawei-iot)獲取更多課程。