[發明專利]分布式規則引擎系統、構造方法和執行規則處理的方法在審
| 申請號: | 201310641753.6 | 申請日: | 2013-12-03 |
| 公開(公告)號: | CN104679790A | 公開(公告)日: | 2015-06-03 |
| 發明(設計)人: | 鐘朝亮;張軍;鄒綱;皮冰鋒;黃琦珍;上原忠弘 | 申請(專利權)人: | 富士通株式會社 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 康建峰;賈萌 |
| 地址: | 日本神*** | 國省代碼: | 日本;JP |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 規則 引擎 系統 構造 方法 執行 處理 | ||
技術領域
本公開一般地涉及分布式規則引擎,尤其涉及一種能夠在單個規則引擎內最大程度地共享部分匹配結果的分布式規則引擎系統、其構造方法以及使用該分布式規則引擎系統執行規則處理的方法。
背景技術
當前,在生產等領域通過規則的形式來表示生產或業務邏輯。通過利用計算機技術,使用規則引擎來逐輪地對事實和條件進行模式匹配,以找出滿足條件的規則,并在解決沖突之后選擇滿足條件的規則中的一條規則來執行。當前,Rete是規則引擎中最重要的模式匹配算法之一。
隨著業務的發展,規則的規模將不可避免地增大。這時,單個規則引擎由于資源(例如內存、CPU處理能力等)的限制將無法處理這些大規模的規則。傳統的分布式規則引擎將規則分發到多個規則引擎之上進行并行處理可以解決此問題。
然而,傳統的分布式規則引擎,例如ViDRE(Vienna分布式規則引擎)僅僅通過SOA(面向服務架構,Service-Oriented?Architecture)和RuleML(規則標記語言,Rule?Markup?Language)解決了規則引擎之間的互操作問題,而并沒有考慮如何在各個規則引擎內部最大程度地通過alpha或beta節點共享部分匹配結果。因此,傳統的分布式規則引擎系統及其構造和使用方法無法基于Rete算法提高執行效率。
發明內容
鑒于存在的問題,本公開的目的是提供一種新型并改進的,能夠使各個規則引擎內部最大程度地通過alpha或beta節點共享模式匹配結果的分布式規則引擎系統、分布式規則引擎構造方法以及規則處理方法。
根據本公開的一個方面,提供一種分布式規則引擎系統。該系統包括至少一個這樣的規則引擎:該規則引擎中部署有Rete網絡,Rete網絡與一個或多個規則集相關聯;其中,包括在相同規則集中的規則的條件側所包括的模式彼此相似。
該分布式規則引擎系統中的每一個規則引擎被分配的規則中至少一部分的條件側所包含的模式可以具有較高的相似度。換句話說,在本公開中,使得同一規則引擎中的至少一部分規則的條件部分的模式盡可能相同。使用Rete算法,這些相同的模式將被用于構件共享的節點,以在規則執行之時共享部分匹配結果。因此,能有效地提高分布式規則引擎的執行效率。
在根據本公開的實施例中,分布式規則引擎系統可以包括:第一級alpha網絡,其構造在單獨的規則引擎之外,用于將事實布置到適當的規則引擎;以及第二級alpha網絡,其構造在單獨的規則引擎之內,用于將事實布置到適當的alpha節點。
雙層alpha網絡的建立不僅保證能夠將事實布置到正確的alpha節點,而且使得能夠將事實布置到正確的規則引擎中。
在根據本公開的實施例中,第一級和/或第二級alpha網絡可以使用哈希方法來布置事實。
在根據本公開的實施例中,第一級和/或第二級alpha網絡可以根據事實的屬性名稱來布置事實。
在根據本公開的實施例中,第一級和/或第二級alpha網絡可以根據事實的屬性的值來布置事實。
在根據本公開的實施例中,分布式規則引擎系統還可以包括:第一級agenda,其構造在單獨的規則引擎之內,用于解決每一規則引擎內的沖突;以及第二級agenda,其構造在單獨的規則引擎之外,用于解決各規則引擎之間的沖突。
雙層agenda的建立,使得不但能夠在每一個規則引擎內部解決匹配結果中的沖突,而且能夠解決各規則引擎之間的匹配結果中的沖突。
在根據本公開的實施例中,雙層agenda或其中的任一層可以利用歸并排序來解決沖突。
根據本公開的另一方面,提供一種分布式規則引擎構造方法。該方法包括:將條件側所包括的模式彼此相似的規則劃分到相同的規則集;將通過劃分得到的每一個規則集關聯到系統的規則引擎之一;以及將與相同規則引擎關聯的所有規則集中的規則編譯成Rete網絡并在規則引擎中進行部署。
在根據本公開的實施例中,劃分的步驟可以包括:從規則的條件側提取各模式;以及根據提取的模式得到規則對應的二進制串,并根據二進制串進行劃分;其中,二進制串的每一位對應一個模式,1表示相應模式存在于規則中,0表示相應模式不存在于規則中;并且,其中,二進制串的長度等于待劃分的所有規則中包含的所有模式的數量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于富士通株式會社;,未經富士通株式會社;許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310641753.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:獲取數據包的處理方法和裝置
- 下一篇:一種圖片處理方法、裝置及終端設備





