[發明專利]MQTT消息中心引入規則引擎的方法有效
| 申請號: | 202011104396.6 | 申請日: | 2020-10-15 |
| 公開(公告)號: | CN112261101B | 公開(公告)日: | 2021-09-28 |
| 發明(設計)人: | 余龍海;張帥;楊震泉 | 申請(專利權)人: | 四川長虹電器股份有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06 |
| 代理公司: | 四川省成都市天策商標專利事務所 51213 | 代理人: | 張秀敏 |
| 地址: | 621000 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | mqtt 消息 中心 引入 規則 引擎 方法 | ||
1.一種MQTT消息中心引入規則引擎的方法,其特征在于,包括以下步驟:
S1、定義數據結構描述規則;
在步驟S1中,定義四種數據類型構建SQL+JSON數據結構描述規則,四種數據類型包括:
①規則:包括采用SQL描述規則和采用JSON描述規則;
所述SQL描述規則由SQL語句和動作列表組成,所述動作列表包含一個或多個動作及其參數,所述SQL語句用于篩選或轉換消息中的數據,SQL描述規則的格式為:SELECT字段名FROM主題[WHERE條件],其中:FROM子句將規則掛載到某個主題上;SELECT子句用于對數據進行變換,并選擇出感興趣的字段;WHERE子句用于對SELECT選擇出來的某個字段施加條件過濾;
所述JSON描述規則的格式為:規則:{SQL語句,動作列表:[{動作1,動作參數,綁定資源:{資源配置}},{動作2,動作參數,綁定資源:{資源配置}}]};
②動作:SQL語句匹配通過之后,所執行的任務,動作定義了針對數據的操作;
③資源:通過資源類型為模板實例化出來的對象,保存了與資源相關的配置和系統資源;
④資源類型:資源類型是資源的靜態定義,描述了此類型資源需要的配置項;
S2、將數據結構定義完成后,通過圖形化界面添加和修改規則;
S3、設計規則加載方式;
S4、所有MQTT消息中心接收且轉發的數據和event事件數據都會回調不同的插件hook,判斷數據是否滿足相應的規則條件并響應動作,如果有處理結果輸出,規則將執行相應的動作。
2.根據權利要求1所述的MQTT消息中心引入規則引擎的方法,其特征在于,所述SQL描述規則中,如果對于一個數組數據,針對數組中的每個元素分別執行操作并執行動作,則使用FOREACH-DO-INCASE語法FOREACH字段名[DO條件][INCASE條件]FROM主題[WHERE條件],FOREACH子句用于選擇需要做FOREACH操作的字段;DO子句用于對FOREACH選擇出來的數組中的每個元素進行變換,并選擇出感興趣的字段;INCASE子句用于對DO選擇出來的某個字段施加條件過濾。
3.根據權利要求1所述的MQTT消息中心引入規則引擎的方法,其特征在于,在步驟S2中,觸發規則的條件以SQL語句表示,該語句以元組{select{from,to}}的方式存儲在mnesia數據庫中,每次添加規則需要判斷規則是否重復,是否有效;規則配置完成后,提交到服務器保存,待下次更新或加載。
4.根據權利要求1所述的MQTT消息中心引入規則引擎的方法,其特征在于,在步驟S3中,所述的規則加載方式包括靜態加載和動態加載;所述靜態加載是啟動服務器的時候,根據配置信息加載基本規則,基本規則涉及MQTT消息轉發基本功能,包括使用的MQTT協議的版本號,是否使用connected,published,subscribed回調,以及各種功能是否需要啟動;動態規則包含客戶通過web頁面添加的規則,加載動態規則無需重啟服務器,動態可根據業務需要動態加載,加載的規則保存在mnesia數據庫和ets數據庫中,對不同類型和priority優先級的規則,具有不同的加載順序,避免重復加載。
5.根據權利要求1所述的MQTT消息中心引入規則引擎的方法,其特征在于,由于條件的判斷和執行會在多規則間存在沖突,故步驟S4還包括沖突解決算法,具體包括:
利用ERLANG語言的模式匹配方式,首先從N條規則中取出一條規則R;然后將數據和events事件進行組合成一個組合C;用組合C測試規則R,如果測試表明條件觸發,將{R,{C,ACTION}}加入沖突集中;取出下一個組合C,判斷條件;取出下一條規則R;在沖突集中采用樹+鏈表+鎖對每個沖突進行分析,判斷是否存在循環鏈表,如果沒有循環鏈表,順序執行該鏈表上的動作;否則根據不同的要求解除循環,并執行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川長虹電器股份有限公司,未經四川長虹電器股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011104396.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種寵物鮮糧及其制備方法
- 下一篇:一種風機動葉控制方法和裝置





