首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計(jì)算機(jī)等級考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊會(huì)計(jì)師 | 審計(jì)師 | 注冊稅務(wù)師
注冊資產(chǎn)評估師 | 高級會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國際內(nèi)審師
一級建造師 | 二級建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評價(jià)師 | 電氣工程師 | 注冊測繪師 | 注冊計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

等考二級JAVA:Java規(guī)則引擎工作原理及應(yīng)用

本文為“等考二級JAVA:Java規(guī)則引擎工作原理及應(yīng)用”,以供廣大學(xué)員參考使用。更多關(guān)于計(jì)算機(jī)等級考試資料,請?jiān)L問考試吧計(jì)算機(jī)等級考試頻道。

  摘要:Java規(guī)則引擎是一種嵌入在Java程序中的組件,它的任務(wù)是把當(dāng)前提交給引擎的Java數(shù)據(jù)對象與加載在引擎中的業(yè)務(wù)規(guī)則進(jìn)行測試和比對,激活那些符合當(dāng)前數(shù)據(jù)狀態(tài)下的業(yè)務(wù)規(guī)則,根據(jù)業(yè)務(wù)規(guī)則中聲明的執(zhí)行邏輯,觸發(fā)應(yīng)用程序中對應(yīng)的操作。

  引言

  目前,Java社區(qū)推動(dòng)并發(fā)展了一種引人注目的新技術(shù)——Java規(guī)則引擎(Rule Engine)。利用它就可以在應(yīng)用系統(tǒng)中分離商業(yè)決策者的商業(yè)決策邏輯和應(yīng)用開發(fā)者的技術(shù)決策,并把這些商業(yè)決策放在中心數(shù)據(jù)庫或其他統(tǒng)一的地方,讓它們能在運(yùn)行時(shí)可以動(dòng)態(tài)地管理和修改,從而為企業(yè)保持靈活性和競爭力提供有效的技術(shù)支持。

  規(guī)則引擎的原理

  1、基于規(guī)則的專家系統(tǒng)(RBES)簡介

  Java規(guī)則引擎起源于基于規(guī)則的專家系統(tǒng),而基于規(guī)則的專家系統(tǒng)又是專家系統(tǒng)的其中一個(gè)分支。專家系統(tǒng)屬于人工智能的范疇,它模仿人類的推理方式,使用試探性的方法進(jìn)行推理,并使用人類能理解的術(shù)語解釋和證明它的推理結(jié)論。為了更深入地了解Java規(guī)則引擎,下面簡要地介紹基于規(guī)則的專家系統(tǒng)。RBES包括三部分:Rule Base(knowledge base)、Working Memory(fact base)和Inference Engine。它們的結(jié)構(gòu)如下系統(tǒng)所示:

等考二級JAVA:Java規(guī)則引擎工作原理及應(yīng)用

  如圖1所示,推理引擎包括三部分:模式匹配器(Pattern Matcher)、議程(Agenda)和執(zhí)行引擎(Execution Engine)。推理引擎通過決定哪些規(guī)則滿足事實(shí)或目標(biāo),并授予規(guī)則優(yōu)先級,滿足事實(shí)或目標(biāo)的規(guī)則被加入議程。模式匹配器決定選擇執(zhí)行哪個(gè)規(guī)則,何時(shí)執(zhí)行規(guī)則;議程管理模式匹配器挑選出來的規(guī)則的執(zhí)行次序;執(zhí)行引擎負(fù)責(zé)執(zhí)行規(guī)則和其他動(dòng)作。

  推理引擎的推理步驟如下:

  (1)將初始數(shù)據(jù)(fact)輸入Working Memory。

  (2)使用Pattern Matcher比較規(guī)則庫(rule base)中的規(guī)則(rule)和數(shù)據(jù)(fact)。

  (3)如果執(zhí)行規(guī)則存在沖突(conflict),即同時(shí)激活了多個(gè)規(guī)則,將沖突的規(guī)則放入沖突集合。

  (4)解決沖突,將激活的規(guī)則按順序放入Agenda。

  (5)使用執(zhí)行引擎執(zhí)行Agenda中的規(guī)則。重復(fù)步驟2至5,直到執(zhí)行完畢所有Agenda中的規(guī)則。

  上述即是規(guī)則引擎的原始架構(gòu),Java規(guī)則引擎就是從這一原始架構(gòu)演變而來的。

  2、規(guī)則引擎相關(guān)構(gòu)件

  規(guī)則引擎是一種根據(jù)規(guī)則中包含的指定過濾條件,判斷其能否匹配運(yùn)行時(shí)刻的實(shí)時(shí)條件來執(zhí)行規(guī)則中所規(guī)定的動(dòng)作的引擎。與規(guī)則引擎相關(guān)的有四個(gè)基本概念,為更好地理解規(guī)則引擎的工作原理,下面將對這些概念進(jìn)行逐一介紹。

  1)信息元(Information Unit)

  信息元是規(guī)則引擎的基本建筑塊,它是一個(gè)包含了特定事件的所有信息的對象。這些信息包括:消息、產(chǎn)生事件的應(yīng)用程序標(biāo)識(shí)、事件產(chǎn)生事件、信息元類型、相關(guān)規(guī)則集、通用方法、通用屬性以及一些系統(tǒng)相關(guān)信息等等。

  2)信息服務(wù)(Information Services)

  信息服務(wù)產(chǎn)生信息元對象。每個(gè)信息服務(wù)產(chǎn)生它自己類型相對應(yīng)的信息元對象。即特定信息服務(wù)根據(jù)信息元所產(chǎn)生每個(gè)信息元對象有相同的格式,但可以有不同的屬性和規(guī)則集。需要注意的是,在一臺(tái)機(jī)器上可以運(yùn)行許多不同的信息服務(wù),還可以運(yùn)行同一信息服務(wù)的不同實(shí)例。但無論如何,每個(gè)信息服務(wù)只產(chǎn)生它自己類型相對應(yīng)的信息元。

  3)規(guī)則集(Rule Set)

  顧名思義,規(guī)則集就是許多規(guī)則的集合。每條規(guī)則包含一個(gè)條件過濾器和多個(gè)動(dòng)作。一個(gè)條件過濾器可以包含多個(gè)過濾條件。條件過濾器是多個(gè)布爾表達(dá)式的組合,其組合結(jié)果仍然是一個(gè)布爾類型的。在程序運(yùn)行時(shí),動(dòng)作將會(huì)在條件過濾器值為真的情況下執(zhí)行。除了一般的執(zhí)行動(dòng)作,還有三類比較特別的動(dòng)作,它們分別是:放棄動(dòng)作(Discard Action)、包含動(dòng)作(Include Action)和使信息元對象內(nèi)容持久化的動(dòng)作。前兩種動(dòng)作類型的區(qū)別將在2.3規(guī)則引擎工作機(jī)制小節(jié)介紹。

  4)隊(duì)列管理器(Queue Manager)

  隊(duì)列管理器用來管理來自不同信息服務(wù)的信息元對象的隊(duì)列。

  下面將研究規(guī)則引擎的這些相關(guān)構(gòu)件是如何協(xié)同工作的。

  如圖2所示,處理過程分為四個(gè)階段進(jìn)行:信息服務(wù)接受事件并將其轉(zhuǎn)化為信息元,然后這些信息元被傳給隊(duì)列管理器,最后規(guī)則引擎接收這些信息元并應(yīng)用它們自身攜帶的規(guī)則加以執(zhí)行,直到隊(duì)列管理器中不再有信息元。

等考二級JAVA:Java規(guī)則引擎工作原理及應(yīng)用

1 2 3 下一頁
  相關(guān)推薦:計(jì)算機(jī)等考二級JAVA基礎(chǔ)知識(shí):Java異常集
       計(jì)算機(jī)等考二級JAVA:Java六種異常處理的陋習(xí)
       考試吧:2010年上半年計(jì)算機(jī)等級考試備考專題
文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級考試網(wǎng)內(nèi)容,請注明出處。