[發明專利]一種規則引擎實現方法及裝置在審
| 申請號: | 201810074331.8 | 申請日: | 2018-01-25 |
| 公開(公告)號: | CN108399066A | 公開(公告)日: | 2018-08-14 |
| 發明(設計)人: | 燕猛 | 申請(專利權)人: | 鏈家網(北京)科技有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/41 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩;李相雨 |
| 地址: | 100085 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 規則語法 自然語言 計算機語言 定義規則 規則引擎 語法 計算機基礎知識 規則結果 接口規范 開發效率 業務邏輯 用戶修改 預先定義 傳入的 映射 開發 | ||
本發明提供一種規則引擎實現方法及裝置,所述方法包括:S1,根據Java ScriptEngine的接口規范,使用自然語言定義規則語法,并將所述規則語法映射到相應的計算機語言;S2,根據用戶修改后的所述規則語法,以及用戶傳入的參數,運行所述規則語法對應的計算機語言,獲取規則結果。本發明通過使用自然語言定義規則語法,用戶不需要有很好的計算機基礎知識,也能讀懂。此外,對于不同的業務邏輯,只需要在預先定義的規則語法的基礎上進行修改,不需要重新開發,大大提高了開發效率。
技術領域
本發明屬于計算機引擎應用領域,更具體地,涉及一種規則引擎實現方法及裝置。
背景技術
規則引擎由推理引擎發展而來,是一種嵌入在應用程序中的組件,實現了將業務決策從應用程序代碼中分離出來,并使用預定義的語義模塊編寫業務決策。接受數據輸入,解釋業務規則,并根據業務規則做出業務決策。
目前,應用系統中的有些業務邏輯會發生變動,規則引擎使得業務邏輯的調整和更改變得簡單,如drools等框架提供規則引擎的功能。
現有的規則引擎系統比較復雜,需要有良好的計算機基礎知識,學習成本高。此外,對于不同的業務邏輯需要開發不同的規則引擎,導致大量代碼重復,開發需要耗費大量時間。
發明內容
為克服上述規則引擎復雜,且開發耗時的問題或者至少部分地解決上述問題,本發明提供了一種規則引擎實現方法及裝置。
根據本發明的第一方面,提供一種規則引擎實現方法,包括:
S1,根據Java ScriptEngine的接口規范,使用自然語言定義規則語法,并將所述規則語法映射到相應的計算機語言;
S2,根據用戶修改后的所述規則語法,以及用戶傳入的參數,運行所述規則語法對應的計算機語言,獲取規則結果。
具體地,所述步驟S1中將所述規則語法映射為計算機程序語言的步驟具體包括:
將所述規則語法中的條件判斷詞語映射到相應的條件判斷符;
將所述規則語法中的運算詞語映射到相應的運算符;
將所述規則語法中的操作詞語映射到相應的操作符;
將所述規則語法中的方法語句映射到相應的操作對象。
具體地,所述步驟S2具體包括:
將所述參數與修改后的所述規則語法進行匹配;
若修改后的所述規則語法中存在所述參數,則將所述參數傳入修改后的所述規則語法對應的計算機語言,并運行修改后的所述規則語法對應的計算機語言,獲取規則結果。
具體地,將所述規則語法中的條件判斷詞語映射到相應的條件判斷符的步驟具體包括:
將所述規則語法中的“如果”映射為“if”;
將所述規則語法中的“否則”映射為“else”;
將所述規則語法中的“當”映射為“while”。
具體地,將所述規則語法中的運算詞語映射到相應的運算符的步驟具體包括:
將所述規則語法中的“大于”映射為“>”;
將所述規則語法中的“小于”映射為“<”;
將所述規則語法中的“等于”映射為“=”。
具體地,將所述規則語法中的操作詞語映射到相應的操作符的步驟具體包括:
將所述規則語法中的“打印”映射為“println”。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鏈家網(北京)科技有限公司,未經鏈家網(北京)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810074331.8/2.html,轉載請聲明來源鉆瓜專利網。





