[發明專利]一種實現基于規則引擎的規則匹配方法和裝置有效
| 申請號: | 201210507303.3 | 申請日: | 2012-11-30 |
| 公開(公告)號: | CN102968309A | 公開(公告)日: | 2013-03-13 |
| 發明(設計)人: | 林強 | 申請(專利權)人: | 亞信聯創科技(中國)有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06F17/30 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 100086 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 基于 規則 引擎 匹配 方法 裝置 | ||
技術領域
本發明涉及數據匹配技術領域,具體涉及一種實現基于規則引擎的規則匹配方法和裝置。
背景技術
規則引擎是一種嵌入到應用程序中的組件,大多數規則引擎都支持簡單腳本語言的規則實現,支持通用開發語言的嵌入開發。規則引擎實現了將業務決策從應用程序代碼中分離出來,并使用預定義的語義模塊編寫業務決策,應用程序通過向規則引擎提交數據或者對象來觸發規則引擎,由規則引擎來調用相應的規則,進而觸發相應的操作。通常一個規則包含一組規則條件和在此規則條件下執行的操作,當且僅當該規則中的所有規則條件都匹配成功時,規則引擎將會觸發此規則下的所有操作執行。
因此,當規則數量較多時,使用現有技術進行規則匹配,對于每個規則的所有規則條件都需要匹配成功,才能匹配到所需規則。
目前,在規則數量較多的情況下,通過匹配每個規則的所有規則條件來查找出需要匹配的規則的方法,使得在查找需要匹配的規則的過程中需要判斷是否匹配的規則較多,一定程度上降低了規則引擎的性能,使得規則匹配的效率較低。
發明內容
為了解決規則匹配的效率低的問題,本發明提供了一種實現基于規則引擎的規則匹配方法和裝置。
本發明提供了一種實現基于規則引擎的規則匹配方法,所述方法包括,
接收需要匹配的事件,所述事件包括至少一個屬性值;
判斷是否存在任一待匹配規則預設的索引項與所述事件中的屬性值匹配;
如果是,則確定匹配的索引項所對應的目標待匹配規則;
對所述目標待匹配規則的規則條件與所述事件中的屬性值進行匹配。
優選地,所述判斷是否存在任一待匹配規則預設的索引項與所述事件中的屬性值匹配之前,還包括:
按照預設排序規則對任一所述規則預設的索引項集合進行排序;
根據排序后的各個索引項的順序,設置索引項集合中各個索引項的優先級。
優選地,所述按照預設排序規則對任一所述規則預設的索引項集合進行排序,具體為;
將任一相等關系的索引項設置為第一優先級;
將所述索引項集合中除了設置為第一優先級的索引項的其他索引項,按照預設順序規則進行排序;
相應的,所述根據排序后的各個索引項的順序,設置索引項集合中各個索引項的優先級,具體為:
根據排序后的各個索引項的順序,設置索引項集合中除了設置為第一優先級的索引項的其他索引項的優先級。
優選地,所述判斷是否存在任一待匹配規則預設的索引項與所述事件中的屬性值匹配,具體為:
假設所述待匹配規則的數量為N,則第n個待匹配規則的索引項數量為Mn,所述n為不大于N的自然數;
如果第n個規則的索引項數量Mn等于1,則判斷所述事件中是否存在一個屬性值與所述第n個規則的一個索引項匹配。
優選地,所述判斷是否存在任一待匹配規則預設的索引項與所述事件中的屬性值匹配,具體為:
假設所述待匹配規則數量為N,則第n個待匹配規則的索引項數量為Mn,所述n為不大于N的自然數;
如果第n個規則的索引項數量Mn大于1,則判斷所述事件中是否存在一個屬性值與所述第n個規則的第一優先級索引項匹配;
如果是,則根據第一優先級索引項與第二優先級索引項的對應關系,確定所述第n個規則的第二優先級索引項,并判斷所述事件中是否存在一個屬性值與所述第二優先級索引項匹配,依此類推,直到判斷是否存在所述事件中的一個屬性值與所述第n個規則的第Mn優先級索引項匹配。
本發明還提供一種實現基于規則引擎的規則匹配裝置,所述裝置包括:
接收模塊,用于接收需要匹配的事件,所述事件包括至少一個屬性值;
判斷模塊,用于判斷是否存在任一待匹配規則預設的索引項與所述事件中的屬性值匹配;
第一確定模塊,用于在所述判斷模塊的結果為是時,確定匹配的索引項所對應的目標待匹配規則;
匹配模塊,用于對所述目標待匹配規則的規則條件與所述事件中的屬性值進行匹配。
優選地,所述裝置還包括:
排序模塊,用于按照預設排序規則對任一所述規則預設的索引項集合進行排序;
第一設置模塊,用于根據排序后的各個索引項的順序,設置索引項集合中各個索引項的優先級。
優選地,所述排序模塊包括:
第二設置模塊,用于將任一相等關系的索引項設置為第一優先級;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于亞信聯創科技(中國)有限公司,未經亞信聯創科技(中國)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210507303.3/2.html,轉載請聲明來源鉆瓜專利網。





