基于MapReduce的分布式規(guī)則匹配系統(tǒng)的研究與實現(xiàn)
發(fā)布時間:2020-04-05 22:34
【摘要】:隨著基于規(guī)則的系統(tǒng)的廣泛使用,規(guī)則匹配的效率問題越來越受到人們的重視。自上世紀(jì)七、八十年代以來,人們一直為提高規(guī)則匹配的效率而努力。本文通過對優(yōu)秀規(guī)則推理引擎系統(tǒng)進行學(xué)習(xí)和研究,同時在對分布式計算框架研究和學(xué)習(xí)的基礎(chǔ)上,提出和實現(xiàn)了一個基于MapReduce的分布式規(guī)則匹配架構(gòu),利用MapReduce的思想,將匹配任務(wù)分解到一個集群中,并經(jīng)過適當(dāng)?shù)臍w并,快速得到規(guī)則匹配的結(jié)果。在大規(guī)模的規(guī)則和數(shù)據(jù)的環(huán)境下能夠顯著提高規(guī)則的匹配效率,并且使系統(tǒng)具有更好的可擴展性和靈活性。 本文首先從總體需求、接口及系統(tǒng)效率和可靠性需求等幾個方面對系統(tǒng)需求進行了分析,并在此基礎(chǔ)上提出了系統(tǒng)的總體架構(gòu)。和MapReduce架構(gòu)一致,系統(tǒng)采用了Master/Worker模式,將Worker分為Map Worker和Reduce Worker,分別進行分布式規(guī)則的匹配和結(jié)果匯總的工作。Master負(fù)責(zé)完成任務(wù)的分解和分配,并對所有Worker進行管理和監(jiān)控。 然后對分布式規(guī)則匹配系統(tǒng)的任務(wù)分配策略進行了介紹。在將規(guī)則分解成子規(guī)則的基礎(chǔ)上,提出了一種子規(guī)則的分配策略,根據(jù)服務(wù)器負(fù)載信息和已分配的子規(guī)則信息,實現(xiàn)將子規(guī)則及規(guī)則匹配的任務(wù)能夠均衡地分配到分布式環(huán)境中。在對事實進行分配時,基于子規(guī)則的分配情況,提出了事實的分配策略,將事實分配到存在相應(yīng)子規(guī)則的Map Worker上。并給出了處理子規(guī)則與事實匹配的具體Map過程。 接著詳細(xì)介紹了分布式規(guī)則在完成匹配后的觸發(fā)和執(zhí)行方式。給出了在歸并中間結(jié)果時所采用的具體Reduce過程。在處理規(guī)則觸發(fā)時,提出了對關(guān)聯(lián)規(guī)則進行觸發(fā)的方法,并給出了控制規(guī)則觸發(fā)過程的方式。在處理沖突時,介紹了幾種比較常用的沖突解決策略。 文章最后給出了原型系統(tǒng)的實現(xiàn)類圖并對系統(tǒng)的性能進行了測試。在系統(tǒng)實現(xiàn)部分,以實現(xiàn)類圖的方式介紹了對Master Map Worker、Reduce Worker及系統(tǒng)交互IO等主要模塊的設(shè)計。通過對不同問題規(guī)模和服務(wù)器規(guī)模的情況進行測試,比較了系統(tǒng)匹配效率,測試結(jié)果基本上達(dá)到了預(yù)期效果。
【圖文】:
3.推理引擎 (InferenceEngine):完成推理的過程,找出當(dāng)前周期中哪條規(guī)則需要被激活。它們的結(jié)構(gòu)圖1.1所示:議 議程 程次次峻盤蜜幽幽工工作區(qū) 區(qū)規(guī) 規(guī)則庫 庫幼幼‘一介、旋、、 ._...圖1.1基于規(guī)則的專家系統(tǒng)構(gòu)成其中,推理引擎通過匹配事實和規(guī)則完成推理的具體過程,其主要包括三個部分:模式匹配器 (pattemMateher)、議程(Agenda)和執(zhí)行引擎(ExeeutionEngine)。推理引擎通過判斷規(guī)則庫中哪些規(guī)則滿足工作區(qū)中的哪些事實或目標(biāo),來完成推理過程;滿足事實或目標(biāo)的規(guī)則被加入議程,,議程管理模式匹配器挑選出來的規(guī)則的執(zhí)行次序;執(zhí)行引擎負(fù)責(zé)規(guī)則的執(zhí)行及其他動作。推理引擎的工作過程可以用三個階段來進行描述:匹配,選擇,執(zhí)行12113]。推理引擎通過模式匹配器來完成規(guī)則庫中規(guī)則和工作區(qū)中事實的匹配過程,以決定哪些規(guī)則被激活;通過議程完成規(guī)則的沖突處理和執(zhí)行規(guī)則及其次序的選擇;通過執(zhí)行引擎完成規(guī)則的執(zhí)行過程。我們可以用如下所示的步驟來描述推理引擎工作過程的三個階段[4J:1.將事實輸入到 workingMemory中。2.使用 PattemMatcher比較規(guī)則庫中的規(guī)則(Rule)和工作區(qū)中的事實,判斷能夠和事實匹配的規(guī)則,即激活規(guī)則。3.如果執(zhí)行規(guī)則存在沖突
5.使用執(zhí)行引擎執(zhí)行Agenda中的規(guī)則。重復(fù)步驟2至5,直到執(zhí)行完畢所有Agenda中的規(guī)則。圖1.2展示了推理引擎的工作過程:哥哥一一圖1.2推理引擎的「作過程如圖1.2所示,當(dāng)推理引擎的規(guī)則執(zhí)行時,會根據(jù)沖突解決后議程中的規(guī)則執(zhí)行隊列的順序逐條執(zhí)行規(guī)則執(zhí)行實例。由于規(guī)則的執(zhí)行可能會使工作區(qū)的事實發(fā)生改變,從而會使議程中的某些規(guī)則執(zhí)行實例因為作用的事實的改變而失效,從而必須從議程中撤銷,也可能會激活原來沒有成功匹配的規(guī)則,生成新的規(guī)則執(zhí)行實例進入議程。于是就產(chǎn)生了一種“動態(tài)”的規(guī)則執(zhí)行鏈,形成規(guī)則的推理機制。近10年來,隨著計算機技術(shù)和人工智能技術(shù)的飛速發(fā)展,尤其是網(wǎng)絡(luò)技術(shù)的進步,基于規(guī)則的專家系統(tǒng)也有了新的重大發(fā)展,出現(xiàn)了以Java為核心的規(guī)則推理引擎系統(tǒng)如Drools、nog和Jess等,并在一些領(lǐng)域得到了廣泛的應(yīng)用。在商業(yè)應(yīng)用領(lǐng)域
【學(xué)位授予單位】:浙江大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2011
【分類號】:TP338.8
本文編號:2615617
【圖文】:
3.推理引擎 (InferenceEngine):完成推理的過程,找出當(dāng)前周期中哪條規(guī)則需要被激活。它們的結(jié)構(gòu)圖1.1所示:議 議程 程次次峻盤蜜幽幽工工作區(qū) 區(qū)規(guī) 規(guī)則庫 庫幼幼‘一介、旋、、 ._...圖1.1基于規(guī)則的專家系統(tǒng)構(gòu)成其中,推理引擎通過匹配事實和規(guī)則完成推理的具體過程,其主要包括三個部分:模式匹配器 (pattemMateher)、議程(Agenda)和執(zhí)行引擎(ExeeutionEngine)。推理引擎通過判斷規(guī)則庫中哪些規(guī)則滿足工作區(qū)中的哪些事實或目標(biāo),來完成推理過程;滿足事實或目標(biāo)的規(guī)則被加入議程,,議程管理模式匹配器挑選出來的規(guī)則的執(zhí)行次序;執(zhí)行引擎負(fù)責(zé)規(guī)則的執(zhí)行及其他動作。推理引擎的工作過程可以用三個階段來進行描述:匹配,選擇,執(zhí)行12113]。推理引擎通過模式匹配器來完成規(guī)則庫中規(guī)則和工作區(qū)中事實的匹配過程,以決定哪些規(guī)則被激活;通過議程完成規(guī)則的沖突處理和執(zhí)行規(guī)則及其次序的選擇;通過執(zhí)行引擎完成規(guī)則的執(zhí)行過程。我們可以用如下所示的步驟來描述推理引擎工作過程的三個階段[4J:1.將事實輸入到 workingMemory中。2.使用 PattemMatcher比較規(guī)則庫中的規(guī)則(Rule)和工作區(qū)中的事實,判斷能夠和事實匹配的規(guī)則,即激活規(guī)則。3.如果執(zhí)行規(guī)則存在沖突
5.使用執(zhí)行引擎執(zhí)行Agenda中的規(guī)則。重復(fù)步驟2至5,直到執(zhí)行完畢所有Agenda中的規(guī)則。圖1.2展示了推理引擎的工作過程:哥哥一一圖1.2推理引擎的「作過程如圖1.2所示,當(dāng)推理引擎的規(guī)則執(zhí)行時,會根據(jù)沖突解決后議程中的規(guī)則執(zhí)行隊列的順序逐條執(zhí)行規(guī)則執(zhí)行實例。由于規(guī)則的執(zhí)行可能會使工作區(qū)的事實發(fā)生改變,從而會使議程中的某些規(guī)則執(zhí)行實例因為作用的事實的改變而失效,從而必須從議程中撤銷,也可能會激活原來沒有成功匹配的規(guī)則,生成新的規(guī)則執(zhí)行實例進入議程。于是就產(chǎn)生了一種“動態(tài)”的規(guī)則執(zhí)行鏈,形成規(guī)則的推理機制。近10年來,隨著計算機技術(shù)和人工智能技術(shù)的飛速發(fā)展,尤其是網(wǎng)絡(luò)技術(shù)的進步,基于規(guī)則的專家系統(tǒng)也有了新的重大發(fā)展,出現(xiàn)了以Java為核心的規(guī)則推理引擎系統(tǒng)如Drools、nog和Jess等,并在一些領(lǐng)域得到了廣泛的應(yīng)用。在商業(yè)應(yīng)用領(lǐng)域
【學(xué)位授予單位】:浙江大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2011
【分類號】:TP338.8
【參考文獻(xiàn)】
相關(guān)期刊論文 前1條
1 張淵;夏清國;;基于Rete算法的JAVA規(guī)則引擎[J];科學(xué)技術(shù)與工程;2006年11期
本文編號:2615617
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2615617.html
最近更新
教材專著