- 實戰Drools規則引擎
- 關澤發 陳楚暉
- 345字
- 2023-03-30 21:35:40
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算法。)