專(zhuān)利名稱(chēng)::一種基于規(guī)則的分布式推理方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及普適計(jì)算的分布式環(huán)境中的推理算法領(lǐng)域,特別是涉及一種基于規(guī)則的分布式推理方法及系統(tǒng)。
背景技術(shù):
:普適計(jì)算(UbiquitousComputing或PervasiveComputing)最早起源于1988年XeroxPARC實(shí)驗(yàn)室計(jì)劃。在該計(jì)劃中MarkWeiser首先提出了普適計(jì)算的概念。他認(rèn)為,像其它重要的技術(shù)一樣,隨著計(jì)算機(jī)應(yīng)用的不斷擴(kuò)大,計(jì)算機(jī)將深入人們的生活,充滿(mǎn)生活的各個(gè)角落,并以人們?nèi)我庀M男问酱嬖?。也就是說(shuō),就像木料是家具的材料一樣,計(jì)算機(jī)將作為一種基本材料隨時(shí)根據(jù)需要被用在其他日常生活、學(xué)習(xí)和工作的用品之中。在這樣的環(huán)境下,人們每天都用、每時(shí)每刻都用,但計(jì)算機(jī)本身卻作為基本原料集成在人們并非認(rèn)為是計(jì)算機(jī)本身的物品中,因此可以說(shuō),計(jì)算機(jī)"消失"了。更重要的是,這些隱藏在生活中的大量的到處可用的"計(jì)算機(jī)",可以通過(guò)一種由各種無(wú)線、有線網(wǎng)絡(luò)無(wú)縫互聯(lián)而成的統(tǒng)一的網(wǎng)絡(luò)連在一起,相互通信;這些計(jì)算機(jī)被用在各種人們隨身攜帶甚至隨身穿戴的物品中,結(jié)果是,以這些隱藏的計(jì)算機(jī)元素為依托,穿戴或攜帶"計(jì)算機(jī)"的人、計(jì)算機(jī)、以及網(wǎng)絡(luò)上的任何資源都形成了一個(gè)無(wú)縫的統(tǒng)一的網(wǎng)絡(luò)環(huán)境。在這樣的環(huán)境中,人們可以隨時(shí)隨地互聯(lián)、移動(dòng)中互聯(lián),隨時(shí)隨地去獲取自己想要的信息。所謂分布式環(huán)境是指包含多個(gè)控制器和設(shè)備的工作環(huán)境,在這種工作環(huán)境下系統(tǒng)能發(fā)現(xiàn)正確的控制器或設(shè)備,執(zhí)行特定節(jié)點(diǎn)上規(guī)定的操作。在普適計(jì)算的分布式環(huán)境中,隨著終端技術(shù)的發(fā)展,一、使得終端具有一定的計(jì)算能力和存儲(chǔ)能力;二、在終端上獲取的知識(shí),比如用戶(hù)信息,不想被環(huán)境中的其他節(jié)點(diǎn)獲取;三、基于規(guī)則的推理任務(wù),能夠被劃分成幾個(gè)完整、獨(dú)立的部分,分布進(jìn)行;基于以上三點(diǎn),在服務(wù)器-終端的環(huán)境中運(yùn)行推理,使得把部分推理任務(wù)分配給終端運(yùn)行具有合理性。目前的很多分布式推理還沒(méi)有實(shí)現(xiàn)分布式推理,只是滿(mǎn)足了資源分布式,推理還是集中化。它們的環(huán)境雖然是一個(gè)分布式的,環(huán)境中有多個(gè)推理節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)上部署相同的推理單元。但當(dāng)推理任務(wù)到達(dá)后,環(huán)境中的一個(gè)推理節(jié)點(diǎn)接收推理任務(wù),在運(yùn)行中,如果某個(gè)推理步不在該推理節(jié)點(diǎn)的知識(shí)庫(kù)中,它就會(huì)向其他節(jié)點(diǎn)發(fā)布知識(shí)請(qǐng)求,能夠提供知識(shí)的節(jié)點(diǎn)返回給該推理節(jié)點(diǎn)請(qǐng)求結(jié)果,使得該推理節(jié)點(diǎn)上的推理任務(wù)繼續(xù)運(yùn)行。隨之產(chǎn)生的是在推理過(guò)程中知識(shí)的頻繁傳遞和知識(shí)的隱私保護(hù)問(wèn)題。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種基于規(guī)則的分布式推理方法及系統(tǒng)。能夠充分利用終端的計(jì)算能力和資源,同時(shí)保護(hù)了在終端上存儲(chǔ)的推理知識(shí)不被服務(wù)器獲知。為實(shí)現(xiàn)本發(fā)明的目的而提供的一種基于規(guī)則的分布式推理方法,包括下列步驟步驟100.服務(wù)器接收推理任務(wù),訪問(wèn)服務(wù)器上的知識(shí)庫(kù),判斷所述推理任務(wù)中的推理步所需要的知識(shí)是否存儲(chǔ)在所述知識(shí)庫(kù)中,若是,則在服務(wù)器上獲取所述推理步的取5值并執(zhí)行所述推理步;否則,執(zhí)行步驟200;步驟200.發(fā)生推理步遷移。服務(wù)器中斷運(yùn)行涉及所述推理步的推理,并記憶中斷的所述推理步的信息,將所述推理步的推理任務(wù)下傳給具有所述推理步所需要的知識(shí)的終丄山順;步驟300.終端接收并執(zhí)行服務(wù)器下傳的所述推理步的推理任務(wù),并將下傳的所述推理步的推理任務(wù)的推理結(jié)果上傳給所述服務(wù)器。所述步驟100,包括下列步驟步驟110.所述推理任務(wù)通過(guò)服務(wù)器的輸入/輸出單元進(jìn)入到服務(wù)器推理單元的推理機(jī)中;步驟120.推理機(jī)將所述推理任務(wù)劃分成多個(gè)邏輯上獨(dú)立的推理步,并對(duì)所述推理步進(jìn)行遍歷,調(diào)出推理結(jié)構(gòu)并查詢(xún)服務(wù)器的知識(shí)庫(kù),運(yùn)行推理任務(wù);步驟130.判斷所述推理步所需要的知識(shí)是否存儲(chǔ)在所述服務(wù)器的知識(shí)庫(kù)中,若是,則在服務(wù)器上獲取所述推理步的取值并執(zhí)行所述推理步;否則,執(zhí)行步驟200;所述步驟200,包括下列步驟步驟210.服務(wù)器中斷運(yùn)行涉及所述推理步的推理,服務(wù)器的推理機(jī)記錄所述推理步的id和推理步名稱(chēng)以及推理知識(shí)位置;步驟220.服務(wù)器的推理機(jī)把記錄的信息傳送給推理下傳單元,推理下傳單元根據(jù)終端位置,把所述推理步的推理任務(wù)發(fā)送給相應(yīng)終端。所述步驟300,包括下列步驟步驟310.終端接收服務(wù)器下傳的所述推理步的推理任務(wù),并判斷所述推理步在終端上是否對(duì)應(yīng)一個(gè)推理結(jié)構(gòu),若是,則執(zhí)行步驟320;否則執(zhí)行步驟330;步驟320.在所述終端上執(zhí)行所述推理步對(duì)應(yīng)的推理結(jié)構(gòu),判斷終端負(fù)載是否超過(guò)閾值,若是,則向服務(wù)器上傳推理步的部分推理結(jié)果,以及所述推理步剩余的推理結(jié)構(gòu)和知識(shí);否則,將所述推理步的推理結(jié)果上傳給服務(wù)器;服務(wù)器繼續(xù)運(yùn)行涉及所述推理步的推理;步驟330.在所述終端上執(zhí)行所述推理步的推理任務(wù),并將所述推理步的執(zhí)行結(jié)果上傳給服務(wù)器,服務(wù)器繼續(xù)運(yùn)行涉及所述推理步的推理。所述步驟310,包括下列步驟步驟311.終端的接收/上傳模塊接收服務(wù)器下傳的所述推理步,把所述推理步的信息提交給終端上的推理機(jī);步驟312.所述終端上的推理機(jī)調(diào)出所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)并查詢(xún)終端上的知識(shí)庫(kù)。所述步驟320,包括下列步驟步驟321.終端推理單元的診斷單元中的監(jiān)控資源讀取系統(tǒng)的資源配置表,獲取終端cpu和內(nèi)存的占用值;步驟322.訪問(wèn)所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)中的當(dāng)前推理步信息,獲取當(dāng)前推理步cpu和內(nèi)存的占用值;步驟323.將所述終端的cpu和內(nèi)存占用值加上當(dāng)前推理步需要的cpu和內(nèi)存的占用值,判斷當(dāng)前終端cpu和內(nèi)存的占用值是否超過(guò)閾值,若是,則執(zhí)行步驟324;否則,執(zhí)6行步驟325;步驟324.終端不執(zhí)行所述當(dāng)前推理步,由終端上的終止推理運(yùn)行通知終端的推理機(jī)不再進(jìn)行所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)中當(dāng)前推理步下一個(gè)推理步,并通過(guò)終端的接收/上傳模塊向服務(wù)器上傳所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)中已執(zhí)行的推理步的推理結(jié)果和所述推理步剩余的推理結(jié)構(gòu)和知識(shí);步驟325.終端執(zhí)行當(dāng)前推理步,判斷服務(wù)器下傳的所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)是否執(zhí)行完畢,若是,則將服務(wù)器下傳的所述推理步的推理結(jié)果上傳給服務(wù)器,服務(wù)器繼續(xù)運(yùn)行涉及所述當(dāng)前推理步的推理;否則,所述終端移至所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)中當(dāng)前推理步的下一個(gè)推理步,返回步驟321。為實(shí)現(xiàn)本發(fā)明的目的還提供一種基于規(guī)則的分布式推理系統(tǒng),所述系統(tǒng)包括分別部署有不同推理單元的服務(wù)器和終端,其中部署在服務(wù)器上的推理單元,用于接收推理任務(wù)并執(zhí)行其中所需知識(shí)存儲(chǔ)在服務(wù)器上的推理任務(wù),中斷所需知識(shí)存儲(chǔ)在終端上的推理任務(wù),將所需知識(shí)存儲(chǔ)在終端上的推理任務(wù)分配給對(duì)應(yīng)終端,等待對(duì)應(yīng)終端返回推理結(jié)果后繼續(xù)執(zhí)行所述推理任務(wù);部署在終端上的推理單元,用于接收并執(zhí)行服務(wù)器分配的推理任務(wù),并將所述分配的推理任務(wù)的推理結(jié)果上傳給所述服務(wù)器。所述部署在服務(wù)器上的推理單元,包括輸入/輸出單元,用于接收/發(fā)送推理任務(wù);推理機(jī),用于對(duì)接收到的推理任務(wù)中的推理步進(jìn)行遍歷,獲得推理結(jié)構(gòu)并查詢(xún)服務(wù)器上的知識(shí)庫(kù),運(yùn)行所述推理任務(wù)中所需知識(shí)存儲(chǔ)在服務(wù)器的知識(shí)庫(kù)中的推理步;記錄所述推理任務(wù)中所需知識(shí)未存儲(chǔ)在服務(wù)器的知識(shí)庫(kù)中的推理步的信息,將所述信息傳送給所述推理下傳單元;知識(shí)庫(kù),用于存儲(chǔ)部分或全部推理步所需要的知識(shí);推理接收單元,用于接收由終端上傳的推理結(jié)果;推理下傳單元,用于根據(jù)由服務(wù)器上的所述推理機(jī)下傳的推理步的信息,把下傳的推理步的推理任務(wù)發(fā)送給相應(yīng)終端。所述部署在終端上的推理單元,包括接收/上傳模塊,用于接收所述下傳的推理步的推理任務(wù)并將下傳的推理步的推理任務(wù)的信息提交給終端上的推理機(jī);上傳所述下傳的推理步的推理任務(wù)的推理結(jié)果;推理機(jī),用于根據(jù)所述下傳的推理步的推理任務(wù)的信息調(diào)出對(duì)應(yīng)的推理結(jié)構(gòu)并查詢(xún)終端上的數(shù)據(jù)庫(kù),將所述下傳的推理步的推理任務(wù)的推理結(jié)果傳輸給終端上的接收/上傳模塊;知識(shí)庫(kù),用于存儲(chǔ)部分或全部推理步所需要的知識(shí);診斷單元,用于判斷當(dāng)前終端的cpu和內(nèi)存的占用值是否超過(guò)閾值,若超過(guò),則通知終端的推理機(jī)停止執(zhí)行所述下傳的推理步的推理任務(wù);若未超過(guò),則繼續(xù)執(zhí)行所述下傳的推理步的推理任務(wù)。所述診斷單元,包括監(jiān)控資源模塊和終止推理進(jìn)行模塊,其中所述監(jiān)控資源模塊,用于監(jiān)控終端的資源占用量;所述終止推理運(yùn)行模塊,用于當(dāng)所述監(jiān)控資源模塊監(jiān)控到終端上的資源已經(jīng)很少時(shí),通知終端上的推理機(jī)終止所述下傳的推理步的推理任務(wù)。所述推理結(jié)果,包括以下兩種情況—是所述下傳的推理步的推理任務(wù)全部執(zhí)行后得到的結(jié)果;二是所述下傳的推理步的推理任務(wù)沒(méi)能全部執(zhí)行完的情況下,部分推理結(jié)果及剩余推理任務(wù)的結(jié)構(gòu)和知識(shí)。本發(fā)明的有益效果是(1)本發(fā)明中的推理節(jié)點(diǎn)主次之分。本發(fā)明的分布式推理單元部署在普適環(huán)境中的服務(wù)器和終端兩種節(jié)點(diǎn)上,從推理能力和承擔(dān)的負(fù)載上來(lái)說(shuō),兩種推理節(jié)點(diǎn)存在主次之分;(2)本發(fā)明中的推理算法是基于規(guī)則的。一個(gè)用規(guī)則表示的推理任務(wù),能夠被劃分成幾個(gè)邏輯上獨(dú)立完整的部分,為分布式推理提供了條件;(3)本發(fā)明真正實(shí)現(xiàn)了分布式環(huán)境中的分布式推理。本發(fā)明中推理任務(wù)到達(dá)后,服務(wù)器分配部分推理任務(wù)到不同的終端分布運(yùn)行。當(dāng)終端不能滿(mǎn)足推理?xiàng)l件時(shí),剩余推理任務(wù)遷移回服務(wù)器繼續(xù)運(yùn)行;(4)本發(fā)明中服務(wù)器和終端之間的任務(wù)遷移是有條件的,服務(wù)器到終端的任務(wù)遷移是因?yàn)橥评碇R(shí)存儲(chǔ)在終端上;終端到服務(wù)器的任務(wù)遷移是因?yàn)榻K端不滿(mǎn)足運(yùn)行剩余推理所需的負(fù)載資源。圖1是本發(fā)明一種基于規(guī)則的分布式推理方法的流程圖;圖2是本發(fā)明中服務(wù)器執(zhí)行推理任務(wù)的方法流程圖;圖3是本發(fā)明中服務(wù)器至終端的任務(wù)遷移的示意圖;圖4是本發(fā)明中推理任務(wù)的結(jié)構(gòu)圖;圖5是本發(fā)明中推理步進(jìn)行遷移的防法的流程圖;圖6是本發(fā)明中終端執(zhí)行推理任務(wù)的方法的流程圖;圖7是本發(fā)明中終端至服務(wù)器的任務(wù)遷移的示意圖;圖8是本發(fā)明中判斷終端負(fù)載是否超過(guò)閾值的方法的流程圖;圖9是本發(fā)明的一種基于規(guī)則的分布式推理系統(tǒng)的架構(gòu)圖。具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明的一種基于規(guī)則的分布式推理方法及系統(tǒng)進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明的一種基于規(guī)則的分布式推理方法及系統(tǒng),是將分布式環(huán)境設(shè)定為服務(wù)器和多個(gè)終端,服務(wù)器把部分推理任務(wù)分配給多個(gè)終端上分別運(yùn)行,當(dāng)在服務(wù)器上運(yùn)行的推理任務(wù)中某個(gè)推理步的知識(shí)存儲(chǔ)在終端上時(shí),服務(wù)器把這個(gè)推理步的任務(wù)下傳給終端在終端上執(zhí)行該推理步,當(dāng)終端推理完畢后,上傳推理步的取值;若推理時(shí),終端負(fù)載超過(guò)閾值,上傳剩余的推理任務(wù)。這樣能夠充分利用終端的計(jì)算能力和資源,同時(shí)保護(hù)了在終端上存儲(chǔ)的推理知識(shí)不被服務(wù)器獲知。8下面結(jié)合上述目標(biāo)詳細(xì)介紹本發(fā)明的一種基于規(guī)則的分布式推理方法,圖1是本發(fā)明一種基于規(guī)則的分布式推理方法的流程圖,如圖1所示,所述方法,包括下列步驟步驟100.服務(wù)器接收推理任務(wù),訪問(wèn)服務(wù)器上的知識(shí)庫(kù),判斷所述推理步所需要的知識(shí)是否存儲(chǔ)在所述知識(shí)庫(kù)中,若是,則在服務(wù)器上獲取所述推理步的取值并執(zhí)行所述推理步;否則,執(zhí)行步驟200;圖2是本發(fā)明中服務(wù)器執(zhí)行推理任務(wù)的方法流程圖,如圖2所示,所述步驟100,包括下列步驟步驟110.推理任務(wù)通過(guò)服務(wù)器的輸入/輸出單元進(jìn)入到服務(wù)器推理單元的推理機(jī)中;較佳地,作為一種可實(shí)施方式,本發(fā)明中所述推理任務(wù)的輸入形式由任務(wù)id和任務(wù)名稱(chēng)組成,如表1所示,服務(wù)器接收到的任務(wù)描述形式是(0,A)。表l推理任務(wù)描述形式任務(wù)id任務(wù)名稱(chēng)步驟120.推理機(jī)將所述推理任務(wù)劃分成多個(gè)邏輯上獨(dú)立的推理步,對(duì)推理任務(wù)中的推理步進(jìn)行遍歷,調(diào)出推理結(jié)構(gòu)并查詢(xún)服務(wù)器的知識(shí)庫(kù),運(yùn)行推理任務(wù);圖3是本發(fā)明中服務(wù)器至終端的任務(wù)遷移的示意圖,如圖3所示,推理任務(wù)被接收后,推理機(jī)根據(jù)任務(wù)id調(diào)出推理結(jié)構(gòu)。較佳地,在本發(fā)明中假設(shè)所有的推理任務(wù)在服務(wù)器端都有對(duì)應(yīng)的推理結(jié)構(gòu)。推理結(jié)構(gòu)類(lèi)似于一棵樹(shù),每棵樹(shù)上的節(jié)點(diǎn)代表一個(gè)推理步,該推理步中存放著運(yùn)行這一步推理需要的信息,包括推理步的信息、推理知識(shí)的信息。如表2所示,一個(gè)推理結(jié)構(gòu)中,每個(gè)推理步的id號(hào)是唯一的,所以本發(fā)明用id號(hào)來(lái)標(biāo)識(shí)推理結(jié)構(gòu)中的每個(gè)推理步。推理結(jié)構(gòu)中,每多個(gè)(兩個(gè)或多個(gè))推理步的匯集之處表示一條基于一階謂詞邏輯的推理規(guī)則。表2服務(wù)器推理步信息形式推理步id子推理步id父推理步id推理知識(shí)位置推理步id:本推理步的id號(hào);子推理步id:本推理步的子推理步的id號(hào)(可能多個(gè)),用于重建推理結(jié)構(gòu);父推理步id:本推理步的父推理步的id號(hào),用于自下而上的推理過(guò)程。推理知識(shí)位置本推理步所需知識(shí)的存儲(chǔ)位置,包括終端和服務(wù)器。圖4是本發(fā)明中推理任務(wù)的結(jié)構(gòu)圖,圖4推理任務(wù)A中每個(gè)推理步的存儲(chǔ)信息如表3所示表3服務(wù)器任務(wù)推理步存儲(chǔ)信息<table>tableseeoriginaldocumentpage10</column></row><table>下面描述的是推理步D、E、F、G—種取值組合情況下的推理規(guī)則,推理步A、B、C、D、E、F、G的知識(shí)取值情況在圖4的括號(hào)中列出。(l)If((D=dl)and(E=e2))thenB=bl(2)If((F=f1)or(G=g2))thenC=cl(3)If((B=bl)and(C=cl))thenA=al步驟130.判斷所述推理步所需要的知識(shí)是否存儲(chǔ)在所述服務(wù)器的知識(shí)庫(kù)中,若是,則在服務(wù)器上獲取所述推理步的取值并執(zhí)行所述推理步;否則,執(zhí)行步驟200;步驟200.發(fā)生推理步遷移。服務(wù)器中斷運(yùn)行涉及所述推理步的推理,并記憶中斷的所述推理步,將所述推理步的推理任務(wù)下傳給具有所述推理步所需要的知識(shí)的終端;圖5是本發(fā)明中推理步進(jìn)行遷移的防法的流程圖,如圖5所示,所述步驟200,包括下列步驟步驟210.服務(wù)器中斷運(yùn)行涉及所述推理步的推理,服務(wù)器的推理機(jī)記錄所述推理步的id和推理步名稱(chēng)以及推理知識(shí)位置;所述服務(wù)器中斷運(yùn)行涉及所述推理步的推理,并標(biāo)記該推理步入隊(duì)列,表明該推理步的任務(wù)被分配給終端,如表6所示,由服務(wù)器到終端的任務(wù)遷移的任務(wù)描述形式為表6服務(wù)器到終端的任務(wù)遷移的任務(wù)描述形式推理歩id(任務(wù)id)推理歩名稱(chēng)(任務(wù)名稱(chēng))推理知識(shí)位置10步驟220.服務(wù)器的推理機(jī)把記錄的信息傳送給推理下傳單元,推理下傳單元根據(jù)終端位置,把所述推理步的推理任務(wù)發(fā)送給相應(yīng)終端;推理步id(任務(wù)id):對(duì)于服務(wù)器,它是整個(gè)推理過(guò)程中的一個(gè)推理步,但是對(duì)于終端來(lái)說(shuō),它可能對(duì)應(yīng)的是一個(gè)推理任務(wù)(推理結(jié)構(gòu)),因此當(dāng)終端接收到這個(gè)推理任務(wù)時(shí),它根據(jù)任務(wù)id和任務(wù)名稱(chēng)查找對(duì)應(yīng)的推理結(jié)構(gòu),根據(jù)推理知識(shí)位置的信息,來(lái)驗(yàn)證它收到的推理任務(wù)對(duì)應(yīng)的信息是否在本機(jī)上運(yùn)行。作為一種可實(shí)施方式,如圖4所示,在服務(wù)器上的任務(wù)運(yùn)行到推理步E時(shí),發(fā)生任務(wù)遷移。任務(wù)描述形式為(推理步4,推理步名稱(chēng)E,推理知識(shí)位置終端1)步驟300.終端接收并執(zhí)行服務(wù)器下傳的所述推理步的推理任務(wù),并將下傳的所述推理步的推理任務(wù)的推理結(jié)果上傳給所述服務(wù)器。圖6是本發(fā)明中終端執(zhí)行推理任務(wù)的方法的流程圖,圖7是本發(fā)明中終端至服務(wù)器的任務(wù)遷移的示意圖,如圖6和圖7所示,所述步驟300,包括下列步驟步驟310,終端接收服務(wù)器下傳的所述推理步的推理任務(wù),并判斷所述推理步在終端上是否對(duì)應(yīng)一個(gè)推理結(jié)構(gòu),若是,則執(zhí)行步驟320;否則執(zhí)行步驟330;本發(fā)明中,服務(wù)器下傳的推理步的推理任務(wù)在終端上分為兩種情況a、推理步在終端上同樣對(duì)應(yīng)一個(gè)單一的推理步,推理機(jī)只需訪問(wèn)終端上的知識(shí)庫(kù)就能獲取這個(gè)推理步的取值。b、如圖4所示的,服務(wù)器下傳的推理步E在終端1上對(duì)應(yīng)的是一個(gè)推理結(jié)構(gòu),那么終端上的推理機(jī)需要運(yùn)行推理步E對(duì)應(yīng)的推理結(jié)構(gòu),才能取得推理步E的取值。相應(yīng)地,服務(wù)器接收單元接收終端上傳的兩類(lèi)資源,一是,當(dāng)下傳的推理步的推理任務(wù)在終端上順利完成時(shí),接收推理結(jié)果。二是,當(dāng)下傳的推理步的推理任務(wù)因資源受限在終端上被終止時(shí),服務(wù)器接收剩余推理推理任務(wù)的推理結(jié)構(gòu)和知識(shí)。作為一種可實(shí)施方式,如圖4所示,終端1上推理步E的推理任務(wù)的推理規(guī)則是<formula>formulaseeoriginaldocumentpage11</formula>終端上的推理機(jī)將按照這個(gè)推理順序?qū)ν评聿紼進(jìn)行推理。所述步驟310,包括下列步驟步驟311.終端的接收/上傳模塊接收服務(wù)器下傳的所述推理步,把所述推理步的信息提交給終端上的推理機(jī);步驟312.所述終端上的推理機(jī)調(diào)出所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)并查詢(xún)終端上的知識(shí)庫(kù)。作為一種可實(shí)施方式,本發(fā)明中終端的推理結(jié)構(gòu)中每個(gè)推理步的信息形式有所變化,除了包含服務(wù)器上推理步的信息形式以外,還要加上運(yùn)行該推理步占用的終端的負(fù)載。如表4所示表4終端推理步信息形式<table>tableseeoriginaldocumentpage11</column></row><table>以終端接收的推理步E的推理任務(wù)中一個(gè)推理步E3為例,說(shuō)明推理步在終端上的存儲(chǔ)信息,如表5所示表5終端任務(wù)推理步存儲(chǔ)信息推理步<table>tableseeoriginaldocumentpage12</column></row><table>步驟320.在所述終端上執(zhí)行所述推理步對(duì)應(yīng)的推理結(jié)構(gòu),判斷終端負(fù)載是否超過(guò)閾值,若是,則向服務(wù)器上傳所述推理步剩余的推理結(jié)構(gòu)和知識(shí);否則,將所述推理步的推理結(jié)果上傳給服務(wù)器;服務(wù)器繼續(xù)運(yùn)行涉及所述推理步的推理;雖然終端具有一定的存儲(chǔ)能力和計(jì)算能力,但是畢竟有限。為了保證終端能夠正常運(yùn)行,順利完成其他任務(wù),本發(fā)明在終端上設(shè)定一個(gè)負(fù)載閾值(cpu閾值和memory閾值)。隨著終端上推理結(jié)構(gòu)的運(yùn)行,終端負(fù)載的(cpu和memory)占用率會(huì)不斷增加。推理單元中的監(jiān)控模塊隨時(shí)監(jiān)控終端的資源占用情況,當(dāng)它們超過(guò)本發(fā)明設(shè)定的閾值時(shí),監(jiān)控模塊就會(huì)終止終端上的推理任務(wù)。雖然服務(wù)器把不能在本節(jié)點(diǎn)上運(yùn)行的推理步分配給了終端,中斷了涉及到這個(gè)推理步的所有推理,但是沒(méi)有涉及到這個(gè)推理步的推理,服務(wù)器會(huì)繼續(xù)運(yùn)行,因此真正實(shí)現(xiàn)了服務(wù)器和終端的分布式推理。圖8是本發(fā)明中判斷終端負(fù)載是否超過(guò)閾值的方法的流程圖,如圖8所示,所述步驟320,包括下列步驟步驟321.終端推理單元的診斷單元中的監(jiān)控資源讀取系統(tǒng)的資源配置表,獲取終端cpu禾口memoey的占用值;步驟322.訪問(wèn)所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)中的當(dāng)前推理步信息,獲取當(dāng)前推理步cpu禾口memory的占用值;步驟323.將所述終端的cpu和memoey占用值加上當(dāng)前推理步需要的cpu和memory的占用值,判斷當(dāng)前終端cpu和memory的占用值是否超過(guò)閾值,若是,則執(zhí)行步驟324;否則,執(zhí)行步驟325;步驟324.終端不執(zhí)行所述當(dāng)前推理步,由終端上的終止推理運(yùn)行通知終端的推理機(jī)不再進(jìn)行所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)中當(dāng)前推理步下面的推理步,并通過(guò)終端的接收/上傳模塊向服務(wù)器上傳所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)中已執(zhí)行的推理步的推理結(jié)果和所述推理步剩余的推理結(jié)構(gòu)和知識(shí);終端向服務(wù)器上傳推理結(jié)果,即由終端到服務(wù)器的任務(wù)遷移。終端到服務(wù)器的任務(wù)遷移主要包括兩個(gè)部分(1)結(jié)構(gòu)遷移(2)知識(shí)遷移。較佳地,本發(fā)明中以下面的形式表示終端上推理步的剩余推理結(jié)構(gòu),如下所示〈C0NTENT〉〈n咖0預(yù)ode〉3〈/n咖0預(yù)ode〉〈NodeNode=",,childNode=",,parentNode=",,/>〈NodeNode=",,childNode=",,parentNode=",,/>〈NodeNode=",,childNode=",,parentNode=",,/>〈/C0NTENT>12皿m0預(yù)ode表示此次上傳的推理結(jié)構(gòu)中推理步個(gè)數(shù)。為了便于在服務(wù)器端重新構(gòu)建推理結(jié)構(gòu)和進(jìn)行推理,本發(fā)明定義每個(gè)推理步由它的推理步(Node)和它的子推理步集合(childNode)以及它的父推理步(parentNode)描述。除了要上傳剩余的推理結(jié)構(gòu),還要上傳剩余推理需要的推理知識(shí),也就是完成剩余推理結(jié)構(gòu)的每個(gè)推理步的取值。本發(fā)明設(shè)計(jì)以下形式表示推理知識(shí),如下所示〈CONTENT〉〈num0fKnowledge>3〈/num0fKnowledge>〈Knowledgekey=",,value=",,/>〈Knowledgekey=",,value=",,/>〈Knowledgekey=",,value=",,/>〈/C0NTENT>n咖0fKnowledge和皿m0預(yù)ode—樣,表示此次上傳推理結(jié)構(gòu)中推理步個(gè)數(shù),這里表示的是知識(shí)的個(gè)數(shù)。本發(fā)明采用鍵值對(duì)的形式表示每一條知識(shí)。Key表示這一條知識(shí)的推理步id,value表示這個(gè)節(jié)點(diǎn)值。知識(shí)遷移和結(jié)構(gòu)遷移過(guò)程如圖7所示,推理機(jī)把終端上剩余推理的推理結(jié)構(gòu)和推理知識(shí)傳送給接收/上傳模塊,由它組織成消息傳送到服務(wù)器的輸入/輸出模塊,服務(wù)器的推理機(jī)根據(jù)所傳的消息重新構(gòu)建推理結(jié)構(gòu),然后訪問(wèn)推理知識(shí),完成剩余推理。步驟325.終端執(zhí)行當(dāng)前推理步,判斷服務(wù)器下傳的所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)是否執(zhí)行完畢,若是,則將服務(wù)器下傳的所述推理步的推理結(jié)果上傳給服務(wù)器,服務(wù)器繼續(xù)運(yùn)行涉及所述當(dāng)前推理步的推理;否則,所述終端移至所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)中當(dāng)前推理步的下一個(gè)推理步(將其作為當(dāng)前推理步),返回步驟321;作為一種可實(shí)施方式,本發(fā)明給出了在終端上進(jìn)行任務(wù)E的推理過(guò)程,根據(jù)終端上推理任務(wù)E的推理規(guī)則,運(yùn)行(1)條規(guī)則時(shí),cpu和memory的負(fù)載值分別加上0.02和0.Ol,如果運(yùn)行完(1)規(guī)則后,cpu和memory中任何一個(gè)超出我們?cè)O(shè)定的閾值,剩余的E的推理任務(wù)要上傳給服務(wù)器繼續(xù)運(yùn)行。如圖4中所示。步驟330.在所述終端上執(zhí)行所述推理步的任務(wù),并將所述推理步的執(zhí)行結(jié)果上傳給服務(wù)器,服務(wù)器繼續(xù)運(yùn)行涉及所述推理步的推理。推理步在終端上同樣對(duì)應(yīng)一個(gè)單一的推理步,推理機(jī)只需訪問(wèn)知識(shí)庫(kù)就能獲取這個(gè)推理步的取值。較佳地,本發(fā)明采用XML來(lái)封裝消息,但并不限于XML進(jìn)行消息的封裝。XML目前正在迅速成為網(wǎng)絡(luò)數(shù)據(jù)交換的標(biāo)準(zhǔn)。XML文檔是純文本,獨(dú)立于平臺(tái)和應(yīng)用,這對(duì)于以后擴(kuò)展數(shù)據(jù)形式有著非常重要的意義;基于XML的通信消息能夠被接收端快速、方便的解析。這也正是本發(fā)明采用XML封裝消息的重要意義。作為一種可實(shí)施方式,下面部分列出本發(fā)明定義的基于XML的消息格式〈Messageid="Serve:rToClient—Reason,,>〈C0MSender="月艮務(wù)器"receiver="終端"from="pi"to="p2">〈ACT>Reason〈/ACT>〈/C0M>〈MSG>〈LANG〉XML〈/LANG〉〈/MSG>〈CONTENT〉"Thisismessage"〈/CONTENT〉〈/Message>基于XML的通信消息有三個(gè)組成部分(l)通信參數(shù),如發(fā)送者,接收者。(2)消息信息。(3)實(shí)際的消息內(nèi)容。如上所示,基于XML的通信消息中,Messageid二"ServerToClient—Reason"表示消息id。在整個(gè)推理過(guò)程中,本發(fā)明定義了很多消息id。表7中列出部分消息id,同時(shí)說(shuō)明了它們表示的含義。表7消息id<table>tableseeoriginaldocumentpage14</column></row><table>整個(gè)消息體包含〈C0M〉,〈MSG〉和〈C0NTENT〉三部分?!碈0M〉用來(lái)指定通信的參數(shù),比如,"sender"代表發(fā)送者"服務(wù)器";"receiver"代表接收者"終端";"from"表示源主機(jī)p1;"to"表示目標(biāo)主機(jī)p2?!碅CT〉表示動(dòng)作。〈MSG〉描述了消息的信息,比如,〈LANG〉指定消息內(nèi)容的語(yǔ)言。最后,〈C0NTENT〉指定實(shí)際傳遞的消息。下面以圖4所示的終端到服務(wù)器的任務(wù)遷移消息為例加以說(shuō)明,終端描述任務(wù)并且使用XML封裝后的消息如下所示。〈Messageid="CliientToServer—Reason,,>〈C0MSender="終端l"receiiver="服務(wù)器"from="10.27.0.lOl"to"10.27.0.201">〈ACT〉ReasonUpload〈/ACT>〈/C0M>〈MSG>〈LANG>XML〈/LANG>〈/MSG>〈CONTENT〉〈STRUCTURE〉〈n咖0預(yù)ode>5〈/n咖0預(yù)ode>E,,ehildNode="E1,E2,,parentNode:"無(wú),,/El,,childNode="無(wú),,parentNode="E,,/>E2,,childNode="E5,E6,,parentNode="E,,,E5"chiildNode="無(wú),,parentNode="E2,,/)E6,,childNode="無(wú)"parentNode="E2,,/>〈NodeNode=〈NodeNode=〈NodeNode=〈NodeNode=〈NodeNode=〈/STRUCTURE〉〈K麗LEDGE〉〈num0fKnowledge>5〈/num0fKnowledge>"待推",="ell","待推"."e52"/"e62,,/〈Knowledgekey="E,,value=〈Knowledgekey="El,,value〈Knowledgekey="E2,,value〈Knowledgekey="E5,,value〈Knowledgekey="E6,,value〈/KN0WLEDGE>〈/C0NTENT〉〈/Message>相應(yīng)于本發(fā)明的一種基于規(guī)則的分布式推理方法,還提供一種基于規(guī)則的分布式推理系統(tǒng),圖9是本發(fā)明的一種基于規(guī)則的分布式推理系統(tǒng)的架構(gòu)圖,如圖9所示,所述系統(tǒng)包括分別部署有不同推理單元的服務(wù)器和終端,其中部署在服務(wù)器上的推理單元l,用于接收推理任務(wù)并執(zhí)行其中所需知識(shí)存儲(chǔ)在服務(wù)器上的推理任務(wù),中斷所需知識(shí)存儲(chǔ)在終端上的推理任務(wù),將所需知識(shí)存儲(chǔ)在終端上的推理任務(wù)分配給對(duì)應(yīng)終端,等待終端返回推理結(jié)果后繼續(xù)執(zhí)行所述推理任務(wù);部署在終端上的推理單元2,用于接收并執(zhí)行服務(wù)器分配的推理任務(wù),并將所述分配的推理任務(wù)的推理結(jié)果上傳給所述服務(wù)器。所述部署在服務(wù)器上的推理單元l,包括輸入/輸出單元ll,用于接收/發(fā)送推理任務(wù);推理機(jī)12,用于對(duì)接收到的推理任務(wù)中的推理步進(jìn)行遍歷,獲得推理結(jié)構(gòu)并查詢(xún)服務(wù)器上的知識(shí)庫(kù),運(yùn)行所述推理任務(wù)中所需知識(shí)存儲(chǔ)在服務(wù)器的知識(shí)庫(kù)中的推理步;記錄所述推理任務(wù)中所需知識(shí)未存儲(chǔ)在服務(wù)器的知識(shí)庫(kù)中的推理步的信息,將所述信息傳送給所述推理下傳單元;知識(shí)庫(kù)13,用于存儲(chǔ)部分或全部推理步所需要的知識(shí);推理接收單元14,用于接收由終端上傳的推理結(jié)果;推理下傳單元15,用于根據(jù)由所述推理機(jī)12下傳的推理步的信息,把下傳的推理步的推理任務(wù)發(fā)送給相應(yīng)終端。所述部署在終端上的推理單元2,包括接收/上傳模塊21,用于接收所述下傳的推理步的推理任務(wù)并將下傳的推理步的信息提交給推理機(jī)22;上傳所述下傳的推理步的推理任務(wù)的推理結(jié)果;推理機(jī)22,用于根據(jù)所述下傳的推理步的推理任務(wù)的信息調(diào)出對(duì)應(yīng)的推理結(jié)構(gòu)并查詢(xún)終端上的數(shù)據(jù)庫(kù),將所述下傳的推理步的推理任務(wù)的推理結(jié)果傳輸給所述接收/上傳模塊21;知識(shí)庫(kù)23,用于存儲(chǔ)部分或全部推理步所需要的知識(shí);診斷單元24,用于判斷當(dāng)前終端的cpu和memory的占用值是否超過(guò)閾值,若超過(guò),則通知終端的推理機(jī)停止執(zhí)行所述下傳的推理步的推理任務(wù);若未超過(guò),則繼續(xù)執(zhí)行所述下傳的推理步的推理任務(wù)。所述診斷單元24,包括監(jiān)控資源模塊241和終止推理進(jìn)行模塊242,其中所述監(jiān)控資源模塊241,用于監(jiān)控終端的資源占用量;所述終止推理運(yùn)行模塊242,用于當(dāng)所述監(jiān)控資源模塊241監(jiān)控到終端上的資源已經(jīng)很少時(shí),通知終端上的推理機(jī)22終止推理(是一個(gè)通信過(guò)程)。所述推理結(jié)果包括兩種情況—是所述下傳的推理步的推理任務(wù)全部執(zhí)行后得到的結(jié)果;二是所述下傳的推理步的推理任務(wù)沒(méi)能全部執(zhí)行完的情況下,部分推理結(jié)果及剩余推理任務(wù)的結(jié)構(gòu)和知識(shí)。本發(fā)明的有益效果在于(1)本發(fā)明中的推理節(jié)點(diǎn)主次之分。本發(fā)明的分布式推理單元部署在普適環(huán)境中的服務(wù)器和終端兩種節(jié)點(diǎn)上,從推理能力和承擔(dān)的負(fù)載上來(lái)說(shuō),兩種推理節(jié)點(diǎn)存在主次之分;(2)本發(fā)明中的推理算法是基于規(guī)則的。一個(gè)用規(guī)則表示的推理任務(wù),能夠被劃分成幾個(gè)邏輯上獨(dú)立完整的部分,為分布式推理提供了條件;(3)本發(fā)明真正實(shí)現(xiàn)了分布式環(huán)境中的分布式推理。本發(fā)明中推理任務(wù)到達(dá)后,服務(wù)器分配部分推理任務(wù)到不同的終端分布運(yùn)行。當(dāng)終端不能滿(mǎn)足推理?xiàng)l件時(shí),剩余推理任務(wù)遷移回服務(wù)器繼續(xù)運(yùn)行;(4)本發(fā)明中服務(wù)器和終端之間的任務(wù)遷移是有條件的,服務(wù)器到終端的任務(wù)遷移是因?yàn)橥评碇R(shí)存儲(chǔ)在終端上;終端到服務(wù)器的任務(wù)遷移是因?yàn)榻K端不滿(mǎn)足運(yùn)行剩余推理所需的負(fù)載資源。通過(guò)結(jié)合附圖對(duì)本發(fā)明具體實(shí)施例的描述,本發(fā)明的其它方面及特征對(duì)本領(lǐng)域的技術(shù)人員而言是顯而易見(jiàn)的。以上對(duì)本發(fā)明的具體實(shí)施例進(jìn)行了描述和說(shuō)明,這些實(shí)施例應(yīng)被認(rèn)為其只是示例性的,并不用于對(duì)本發(fā)明進(jìn)行限制,本發(fā)明應(yīng)根據(jù)所附的權(quán)利要求進(jìn)行解釋。權(quán)利要求一種基于規(guī)則的分布式推理方法,其特征在于,包括下列步驟步驟100.服務(wù)器接收推理任務(wù),訪問(wèn)服務(wù)器上的知識(shí)庫(kù),判斷所述推理任務(wù)中的推理步所需要的知識(shí)是否存儲(chǔ)在所述知識(shí)庫(kù)中,若是,則在服務(wù)器上獲取所述推理步的取值并執(zhí)行所述推理步;否則,執(zhí)行步驟200;步驟200.發(fā)生推理步遷移,服務(wù)器中斷運(yùn)行涉及所述推理步的推理,并記憶中斷的所述推理步的信息,將所述推理步的推理任務(wù)下傳給具有所述推理步所需要的知識(shí)的終端;步驟300.終端接收并執(zhí)行服務(wù)器下傳的所述推理步的推理任務(wù),并將下傳的所述推理步的推理任務(wù)的推理結(jié)果上傳給所述服務(wù)器。2.根據(jù)權(quán)利要求1所述的基于規(guī)則的分布式推理方法,其特征在于,所述步驟100,包括下列步驟步驟110.所述推理任務(wù)通過(guò)服務(wù)器的輸入/輸出單元進(jìn)入到服務(wù)器推理單元的推理機(jī)中;步驟120.推理機(jī)將所述推理任務(wù)劃分成多個(gè)邏輯上獨(dú)立的推理步,并對(duì)所述推理步進(jìn)行遍歷,調(diào)出推理結(jié)構(gòu)并查詢(xún)服務(wù)器的知識(shí)庫(kù),運(yùn)行推理任務(wù);步驟130.判斷所述推理步所需要的知識(shí)是否存儲(chǔ)在所述服務(wù)器的知識(shí)庫(kù)中,若是,則在服務(wù)器上獲取所述推理步的取值并執(zhí)行所述推理步;否則,執(zhí)行步驟200;3.根據(jù)權(quán)利要求1所述的基于規(guī)則的分布式推理方法,其特征在于,所述步驟200,包括下列步驟步驟210.服務(wù)器中斷運(yùn)行涉及所述推理步的推理,服務(wù)器的推理機(jī)記錄所述推理步的id和推理步名稱(chēng)以及推理知識(shí)位置;步驟220.服務(wù)器的推理機(jī)把記錄的信息傳送給推理下傳單元,推理下傳單元根據(jù)終端位置,把所述推理步的推理任務(wù)發(fā)送給相應(yīng)終端。4.根據(jù)權(quán)利要求1所述的基于規(guī)則的分布式推理方法,其特征在于,所述步驟300,包括下列步驟步驟310.終端接收服務(wù)器下傳的所述推理步的推理任務(wù),并判斷所述推理步在終端上是否對(duì)應(yīng)一個(gè)推理結(jié)構(gòu),若是,則執(zhí)行步驟320;否則執(zhí)行步驟330;步驟320.在所述終端上執(zhí)行所述推理步對(duì)應(yīng)的推理結(jié)構(gòu),判斷終端負(fù)載是否超過(guò)閾值,若是,則向服務(wù)器上傳推理步的部分推理結(jié)果,以及所述推理步剩余的推理結(jié)構(gòu)和知識(shí);否則,將所述推理步的推理結(jié)果上傳給服務(wù)器;服務(wù)器繼續(xù)運(yùn)行涉及所述推理步的推理;步驟330.在所述終端上執(zhí)行所述推理步的推理任務(wù),并將所述推理步的執(zhí)行結(jié)果上傳給服務(wù)器,服務(wù)器繼續(xù)運(yùn)行涉及所述推理步的推理。5.根據(jù)權(quán)利要求4所述的基于規(guī)則的分布式推理方法,其特征在于,所述步驟310,包括下列步驟步驟311.終端的接收/上傳模塊接收服務(wù)器下傳的所述推理步,把所述推理步的信息提交給終端上的推理機(jī);步驟312.所述終端上的推理機(jī)調(diào)出所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)并查詢(xún)終端上的知識(shí)庫(kù)。6.根據(jù)權(quán)利要求4所述的基于規(guī)則的分布式推理方法,其特征在于,所述步驟320,包括下列步驟步驟321.終端推理單元的診斷單元中的監(jiān)控資源讀取系統(tǒng)的資源配置表,獲取終端CPU和內(nèi)存的占用值;步驟322.訪問(wèn)所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)中的當(dāng)前推理步信息,獲取當(dāng)前推理步cpu和內(nèi)存的占用值;步驟323.將所述終端的cpu和內(nèi)存占用值加上當(dāng)前推理步需要的cpu和內(nèi)存的占用值,判斷當(dāng)前終端cpu和內(nèi)存的占用值是否超過(guò)閾值,若是,則執(zhí)行步驟324;否則,執(zhí)行步驟325;步驟324.終端不執(zhí)行所述當(dāng)前推理步,由終端上的終止推理運(yùn)行通知終端的推理機(jī)不再進(jìn)行所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)中當(dāng)前推理步下一個(gè)推理步,并通過(guò)終端的接收/上傳模塊向服務(wù)器上傳所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)中已執(zhí)行的推理步的推理結(jié)果和所述推理步剩余的推理結(jié)構(gòu)和知識(shí);步驟325.終端執(zhí)行當(dāng)前推理步,判斷服務(wù)器下傳的所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)是否執(zhí)行完畢,若是,則將服務(wù)器下傳的所述推理步的推理結(jié)果上傳給服務(wù)器,服務(wù)器繼續(xù)運(yùn)行涉及所述當(dāng)前推理步的推理;否則,所述終端移至所述推理步對(duì)應(yīng)的推理結(jié)構(gòu)中當(dāng)前推理步的下一個(gè)推理步,返回步驟321。7.—種基于規(guī)則的分布式推理系統(tǒng),其特征在于,所述系統(tǒng)包括分別部署有不同推理單元的服務(wù)器和終端,其中部署在服務(wù)器上的推理單元,用于接收推理任務(wù)并執(zhí)行其中所需知識(shí)存儲(chǔ)在服務(wù)器上的推理任務(wù),中斷所需知識(shí)存儲(chǔ)在終端上的推理任務(wù),將所需知識(shí)存儲(chǔ)在終端上的推理任務(wù)分配給對(duì)應(yīng)終端,等待對(duì)應(yīng)終端返回推理結(jié)果后繼續(xù)執(zhí)行所述推理任務(wù);部署在終端上的推理單元,用于接收并執(zhí)行服務(wù)器分配的推理任務(wù),并將所述分配的推理任務(wù)的推理結(jié)果上傳給所述服務(wù)器。8.根據(jù)權(quán)利要求7所述的基于規(guī)則的分布式推理系統(tǒng),其特征在于,所述部署在服務(wù)器上的推理單元,包括輸入/輸出單元,用于接收/發(fā)送推理任務(wù);推理機(jī),用于對(duì)接收到的推理任務(wù)中的推理步進(jìn)行遍歷,獲得推理結(jié)構(gòu)并查詢(xún)服務(wù)器上的知識(shí)庫(kù),運(yùn)行所述推理任務(wù)中所需知識(shí)存儲(chǔ)在服務(wù)器的知識(shí)庫(kù)中的推理步;記錄所述推理任務(wù)中所需知識(shí)未存儲(chǔ)在服務(wù)器的知識(shí)庫(kù)中的推理步的信息,將所述信息傳送給所述推理下傳單元;知識(shí)庫(kù),用于存儲(chǔ)部分或全部推理步所需要的知識(shí);推理接收單元,用于接收由終端上傳的推理結(jié)果;推理下傳單元,用于根據(jù)由服務(wù)器上的所述推理機(jī)下傳的推理步的信息,把下傳的推理步的推理任務(wù)發(fā)送給相應(yīng)終端。9.根據(jù)權(quán)利要求8所述的基于規(guī)則的分布式推理系統(tǒng),其特征在于,所述部署在終端上的推理單元,包括接收/上傳模塊,用于接收所述下傳的推理步的推理任務(wù)并將下傳的推理步的推理任務(wù)的信息提交給終端上的推理機(jī);上傳所述下傳的推理步的推理任務(wù)的推理結(jié)果;推理機(jī),用于根據(jù)所述下傳的推理步的推理任務(wù)的信息調(diào)出對(duì)應(yīng)的推理結(jié)構(gòu)并查詢(xún)終端上的數(shù)據(jù)庫(kù),將所述下傳的推理步的推理任務(wù)的推理結(jié)果傳輸給終端上的接收/上傳模塊;知識(shí)庫(kù),用于存儲(chǔ)部分或全部推理步所需要的知識(shí);診斷單元,用于判斷當(dāng)前終端的cpu和內(nèi)存的占用值是否超過(guò)閾值,若超過(guò),則通知終端的推理機(jī)停止執(zhí)行所述下傳的推理步的推理任務(wù);若未超過(guò),則繼續(xù)執(zhí)行所述下傳的推理步的推理任務(wù)。10.根據(jù)權(quán)利要求8所述的基于規(guī)則的分布式推理系統(tǒng),其特征在于,所述診斷單元,包括監(jiān)控資源模塊和終止推理進(jìn)行模塊,其中所述監(jiān)控資源模塊,用于監(jiān)控終端的資源占用量;所述終止推理運(yùn)行模塊,用于當(dāng)所述監(jiān)控資源模塊監(jiān)控到終端上的資源已經(jīng)很少時(shí),通知終端上的推理機(jī)終止所述下傳的推理步的推理任務(wù)。11.根據(jù)權(quán)利要求7-9任一項(xiàng)所述的基于規(guī)則的分布式推理系統(tǒng),其特征在于,所述推理結(jié)果,包括以下兩種情況一是所述下傳的推理步的推理任務(wù)全部執(zhí)行后得到的結(jié)果;二是所述下傳的推理步的推理任務(wù)沒(méi)能全部執(zhí)行完的情況下,部分推理結(jié)果及剩余推理任務(wù)的結(jié)構(gòu)和知識(shí)。全文摘要本發(fā)明公開(kāi)了一種基于規(guī)則的分布式推理方法及系統(tǒng)。該方法包括下列步驟A.服務(wù)器接收推理任務(wù),訪問(wèn)服務(wù)器上的知識(shí)庫(kù),判斷所述推理任務(wù)中的推理步所需要的知識(shí)是否存儲(chǔ)在所述知識(shí)庫(kù)中,若是,則在服務(wù)器上獲取所述推理步的取值并執(zhí)行所述推理步;否則,執(zhí)行步驟B;B.發(fā)生推理步遷移。服務(wù)器中斷運(yùn)行涉及所述推理步的推理,并記憶中斷的所述推理步的信息,將所述推理步的推理任務(wù)下傳給具有所述推理步所需要的知識(shí)的終端;C.終端接收并執(zhí)行服務(wù)器下傳的所述推理步的推理任務(wù),并將下傳的所述推理步的推理任務(wù)的推理結(jié)果上傳給所述服務(wù)器。本發(fā)明能夠充分利用終端的計(jì)算能力和資源,同時(shí)保護(hù)了在終端上存儲(chǔ)的推理知識(shí)不被服務(wù)器獲知。文檔編號(hào)G06F17/30GK101739294SQ20091024400公開(kāi)日2010年6月16日申請(qǐng)日期2009年12月24日優(yōu)先權(quán)日2009年12月24日發(fā)明者史紅周,葉劍,朱珍民,李錦濤,杜靜申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所