官术网_书友最值得收藏!

1.5.3 決策引擎

決策引擎(Decision Engine)是Drools的核心,也可以稱作Drools的“大腦”。如圖1-6所示,決策引擎從生產內存(Production Memory)中加載定義的規則,再從工作內存(Working Memory)中讀取事實對象,然后根據規則條件,用Phreak算法進行模式匹配(Pattern Matching),也就是執行規則定義中的“如果”部分,如果匹配成功就把相應的動作(規則定義中的“那么”)部分放到議程(Agenda)隊列中。

圖1-6 決策引擎

?議程是規則引擎的觸發事件隊列,所有已經匹配的規則都會在議程中排隊,等待規則引擎逐個執行。

?生產內存是保存編譯后的Drools規則的位置。

?工作內存是事實對象(數據)的存放位置,外部提供給規則引擎的陳述事實和規則引擎產生或修改后的推斷事實都保存在工作內存中。

?Phreak算法是新版Drools引入的、改進后的ReteOO算法,它會將編譯后的規則組成Phreak網絡,保存在生產內存中。(4.4節將會詳細介紹Phreak算法。)

主站蜘蛛池模板: 库车县| 桂林市| 仲巴县| 开原市| 罗平县| 龙山县| 吉水县| 武邑县| 乌恰县| 新密市| 马山县| 滕州市| 禹城市| 图木舒克市| 黄梅县| 广水市| 柘荣县| 施秉县| 繁峙县| 武定县| 灌云县| 芒康县| 罗源县| 冕宁县| 江西省| 绿春县| 阳朔县| 洛南县| 碌曲县| 万全县| 滨州市| 南京市| 乌苏市| 合阳县| 普兰店市| 娄底市| 永修县| 长宁县| 昭通市| 甘谷县| 天镇县|