[發(fā)明專利]規(guī)則引擎的實現(xiàn)方法及裝置有效
| 申請?zhí)枺?/td> | 201710448421.4 | 申請日: | 2017-06-14 |
| 公開(公告)號: | CN107220098B | 公開(公告)日: | 2020-06-19 |
| 發(fā)明(設(shè)計)人: | 柴海鵬;李順龍;樊京鑫;張木召 | 申請(專利權(quán))人: | 北京奇藝世紀(jì)科技有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/41;G06F9/448 |
| 代理公司: | 北京潤澤恒知識產(chǎn)權(quán)代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 規(guī)則 引擎 實現(xiàn) 方法 裝置 | ||
1.一種規(guī)則引擎的實現(xiàn)方法,其特征在于,包括:
接收輸入數(shù)據(jù);
將所述輸入數(shù)據(jù)在所述規(guī)則引擎的規(guī)則集中匹配,其中,所述規(guī)則集包括多條規(guī)則,且所述規(guī)則是基于JSON格式配置的規(guī)則;
對于所述規(guī)則,如果所述輸入數(shù)據(jù)中包括規(guī)則對應(yīng)的關(guān)鍵屬性,則根據(jù)所述關(guān)鍵屬性對所述輸入數(shù)據(jù)進(jìn)行規(guī)則校驗,并根據(jù)所述規(guī)則對所述輸入數(shù)據(jù)進(jìn)行更新操作,
如果所述輸入數(shù)據(jù)中不包括所述關(guān)鍵屬性,則從所述輸入數(shù)據(jù)中提取出對象,利用Java反射機制,獲取到所述對象對應(yīng)的屬性值,并根據(jù)所述對象及屬性值對所述輸入數(shù)據(jù)進(jìn)行規(guī)則校驗,并根據(jù)規(guī)則對所述輸入數(shù)據(jù)進(jìn)行更新操作;其中,所述從所述輸入數(shù)據(jù)中提取出對象,包括:解析字段項參數(shù)為對象/屬性的格式,并從所述輸入數(shù)據(jù)中獲取到對象,所述規(guī)則包括字段項參數(shù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述規(guī)則包括條件對象和執(zhí)行對象,所述方法還包括:
基于所述JSON格式,配置所述條件對象和執(zhí)行對象;其中,所述條件對象包括字段項參數(shù)、操作項目參數(shù)和取值項參數(shù)組成的JSON數(shù)組,所述執(zhí)行對象包括字段項參數(shù)和設(shè)置值項參數(shù)組成的JSON數(shù)組。
3.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述關(guān)鍵屬性對所述輸入數(shù)據(jù)進(jìn)行規(guī)則校驗包括:
按照規(guī)則優(yōu)先級獲取到優(yōu)先級最高的規(guī)則;
針對當(dāng)前獲取的規(guī)則,根據(jù)所述規(guī)則中條件對象包括的各項參數(shù),確定由一個參數(shù)或多個參數(shù)組成的關(guān)鍵屬性格式;
解析所述輸入數(shù)據(jù),提取出所述關(guān)鍵屬性格式對應(yīng)的關(guān)鍵屬性;
如果輸入數(shù)據(jù)的關(guān)鍵屬性對應(yīng)的取值與所述條件對象中的關(guān)鍵屬性取值一致,則確定為規(guī)則校驗通過。
4.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述規(guī)則對所述輸入數(shù)據(jù)進(jìn)行更新操作包括:
根據(jù)所述規(guī)則中執(zhí)行對象包括的各項參數(shù),確定由一個參數(shù)或多個參數(shù)組成的關(guān)鍵屬性格式;
解析所述輸入數(shù)據(jù),提取出所述關(guān)鍵屬性格式對應(yīng)的關(guān)鍵屬性;
根據(jù)所述條件對象中的關(guān)鍵屬性取值更新所述輸入數(shù)據(jù)的關(guān)鍵屬性的取值。
5.如權(quán)利要求2所述的方法,其特征在于,如果所述輸入數(shù)據(jù)中不包括所述關(guān)鍵屬性,所述利用Java反射機制獲取到所述對象對應(yīng)的屬性值包括:
利用Java反射機制,從所述輸入數(shù)據(jù)中提取出所述對象,并利用該對象的Get/Set方法得到該對象的屬性值。
6.如權(quán)利要求1-5任一項所述的方法,其特征在于,所述規(guī)則是以分布式結(jié)構(gòu)緩存的。
7.一種規(guī)則引擎的實現(xiàn)裝置,其特征在于,包括:
輸入數(shù)據(jù)接收單元,用于接收輸入數(shù)據(jù);
規(guī)則匹配單元,用于將所述輸入數(shù)據(jù)在所述規(guī)則引擎的規(guī)則集中匹配,其中,所述規(guī)則集包括多條規(guī)則,且所述規(guī)則是基于JSON格式配置的規(guī)則;
規(guī)則校驗及執(zhí)行單元,用于對于所述規(guī)則,如果所述輸入數(shù)據(jù)中包括規(guī)則對應(yīng)的關(guān)鍵屬性,則根據(jù)所述關(guān)鍵屬性對所述輸入數(shù)據(jù)進(jìn)行規(guī)則校驗,并根據(jù)所述規(guī)則對所述輸入數(shù)據(jù)進(jìn)行更新操作,如果所述輸入數(shù)據(jù)中不包括所述關(guān)鍵屬性,則從所述輸入數(shù)據(jù)中提取出對象,利用Java反射機制,獲取到所述對象對應(yīng)的屬性值,并根據(jù)所述對象及屬性值對所述輸入數(shù)據(jù)進(jìn)行規(guī)則校驗,并根據(jù)規(guī)則對所述輸入數(shù)據(jù)進(jìn)行更新操作;其中,所述規(guī)則校驗及執(zhí)行單元包括:
反射處理子單元,用于解析字段項參數(shù)為對象/屬性的格式,并從所述輸入數(shù)據(jù)中獲取到對象,所述規(guī)則包括字段項參數(shù)。
8.如權(quán)利要求7所述的裝置,其特征在于,所述規(guī)則包括條件對象和執(zhí)行對象,所述裝置還包括:
對象配置單元,用于基于所述JSON格式,配置所述條件對象和執(zhí)行對象;其中,所述條件對象包括字段項參數(shù)、操作項目參數(shù)和取值項參數(shù)組成的JSON數(shù)組,所述執(zhí)行對象包括字段項參數(shù)和設(shè)置值項參數(shù)組成的JSON數(shù)組。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京奇藝世紀(jì)科技有限公司,未經(jīng)北京奇藝世紀(jì)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710448421.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 規(guī)則發(fā)現(xiàn)程序、規(guī)則發(fā)現(xiàn)處理和規(guī)則發(fā)現(xiàn)裝置
- 不規(guī)則瓶蓋
- 相關(guān)規(guī)則分析裝置以及相關(guān)規(guī)則分析方法
- 分析規(guī)則調(diào)整裝置、分析規(guī)則調(diào)整系統(tǒng)以及分析規(guī)則調(diào)整方法
- 規(guī)則抽取方法和規(guī)則抽取設(shè)備
- 終端規(guī)則引擎裝置、終端規(guī)則運行方法
- 布(規(guī)則)
- 規(guī)則呈現(xiàn)方法、存儲介質(zhì)和規(guī)則呈現(xiàn)裝置
- 可編寫規(guī)則配置模塊、規(guī)則生成系統(tǒng)、及規(guī)則管理平臺
- 不規(guī)則圍棋
- 互動業(yè)務(wù)終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預(yù)報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設(shè)備實現(xiàn)方法及其實現(xiàn)裝置





