亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

極值路由確定引擎和方法

文檔序號(hào):7743193閱讀:177來源:國知局
專利名稱:極值路由確定引擎和方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信中的路由確定,尤其涉及一種極值路由確定引擎和方法。
背景技術(shù)
在通信領(lǐng)域,尤其是在具有延遲限制的多播路由和物理分布路由優(yōu)化中,常常需要確定通信中的最短路由。路由是指兩個(gè)通信節(jié)點(diǎn)之間可能經(jīng)過中間節(jié)點(diǎn)的若干連續(xù)路徑的集合。路徑是指兩個(gè)通信節(jié)點(diǎn)之間不經(jīng)過中間節(jié)點(diǎn)的直接通路?,F(xiàn)有技術(shù)中存在著主要通過軟件確定最短路由的方法,其缺點(diǎn)是軟件實(shí)現(xiàn)的處理速度較慢。對(duì)于需要多個(gè)步驟完成的處理,軟件需要逐一運(yùn)行相應(yīng)的軟件模塊,因此處理速度較慢。硬件可以將所有的處理步驟串接在一個(gè)硬件電路中直接輸出結(jié)果,因此處理速度較快。但現(xiàn)有技術(shù)中缺乏對(duì)如何用硬件實(shí)現(xiàn)最短路由確定的認(rèn)識(shí)、以及對(duì)何種現(xiàn)有設(shè)備能夠用于最短路由確定的認(rèn)識(shí)。

發(fā)明內(nèi)容
本發(fā)明的一個(gè)實(shí)施例的一個(gè)目的是提高極值路由確定的處理速度。根據(jù)本發(fā)明的一方面,提供了一種極值路由確定引擎,包括存儲(chǔ)器,用于存儲(chǔ)圖中帶有權(quán)重的路徑;極值路由確定邏輯電路,包括用于讀取圖中的路徑的路徑讀取部分、用于按照預(yù)定極值要求更新讀取的路徑的權(quán)重并將權(quán)重被更新過的路徑寫入所述存儲(chǔ)器中的寫入部分、和用于確定極值路由的極值路由確定部分。根據(jù)本發(fā)明的一方面,提供了一種極值路由確定方法,包括讀取存儲(chǔ)的圖中的路徑,所述路徑帶有權(quán)重;更新讀取的路徑的權(quán)重并將權(quán)重被更新過的路徑寫入存儲(chǔ)器中; 確定極值路由。本發(fā)明的一個(gè)實(shí)施例提高了極值路由確定的處理速度。


結(jié)合附圖,通過參考下列詳細(xì)的示例性實(shí)施例的描述,將會(huì)更好地理解本發(fā)明本身、優(yōu)選的實(shí)施方式以及本發(fā)明的目的和優(yōu)點(diǎn),其中圖1是通用正則表達(dá)式引擎的體系結(jié)構(gòu)框圖。圖2是通用正則表達(dá)式引擎的最佳適應(yīng)調(diào)度模塊的結(jié)構(gòu)圖。圖3表示通用正則表達(dá)式引擎中的規(guī)則。圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的極值路由確定引擎的結(jié)構(gòu)圖。圖5表示根據(jù)本發(fā)明的一個(gè)實(shí)施例的路徑。圖6示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的存儲(chǔ)的圖的一個(gè)例子。圖7示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的對(duì)應(yīng)于每一輪讀取和寫入操作的路徑表。圖8示出了圖4中的寫入部分的一個(gè)示例性結(jié)構(gòu)。圖9是根據(jù)本發(fā)明的另一個(gè)實(shí)施例的極值路由確定引擎的結(jié)構(gòu)圖。圖10是根據(jù)本發(fā)明的一方面的方法的流程圖。
具體實(shí)施例方式本發(fā)明的一方面的基本思想如下現(xiàn)有技術(shù)中主要通過軟件來實(shí)現(xiàn)最短路由確定。雖然明知用硬件實(shí)現(xiàn)可以提高最短路由確定的處理速度,但現(xiàn)有技術(shù)中缺乏對(duì)如何用硬件實(shí)現(xiàn)最短路由確定的認(rèn)識(shí)、以及對(duì)何種現(xiàn)有設(shè)備能夠用于最短路由確定的認(rèn)識(shí)。本發(fā)明人經(jīng)過長期研究發(fā)現(xiàn),現(xiàn)有的極值路由確定的方法模型與通用正則表達(dá)式引擎中的某些處理規(guī)則具有類似性。因此,借助于現(xiàn)有的通用正則表達(dá)式引擎,只需少量改進(jìn)就能實(shí)現(xiàn)極值路由確定,從而填補(bǔ)了現(xiàn)有技術(shù)中對(duì)如何用硬件實(shí)現(xiàn)最短路由確定、及對(duì)何種現(xiàn)有設(shè)備能夠用于最短路由確定的認(rèn)識(shí)的空白,提高了最短路由確定的處理速度。圖1是通用正則表達(dá)式引擎的體系結(jié)構(gòu)框圖。通用正則表達(dá)式引擎的一個(gè)作用是監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)流中是否出現(xiàn)了違法內(nèi)容等,即進(jìn)行網(wǎng)絡(luò)安全性管理。預(yù)先將網(wǎng)絡(luò)數(shù)據(jù)流中可能會(huì)出現(xiàn)的違法字符作為模板存儲(chǔ)在最佳適應(yīng)調(diào)度模塊104中。流101經(jīng)接口 102分成多路,分別進(jìn)入多個(gè)分路103。設(shè)置多個(gè)分路103是為了并行工作,從而提高處理效率。每個(gè)分路103附連有多個(gè)最佳適應(yīng)調(diào)度模塊104。將可能會(huì)出現(xiàn)的違法字符的模板分開存儲(chǔ)在每個(gè)分路103所附連的多個(gè)最佳適應(yīng)調(diào)度模塊104中,以并行工作,從而提高處理效率。圖2是通用正則表達(dá)式引擎的最佳適應(yīng)調(diào)度模塊104的結(jié)構(gòu)圖。最佳適應(yīng)調(diào)度模塊104包括正則表達(dá)式邏輯電路10401、本地應(yīng)用訪問存儲(chǔ)器10402、本地高速緩存10403。 包括可能會(huì)出現(xiàn)的違法字符的模板的規(guī)則表存儲(chǔ)在本地應(yīng)用訪問存儲(chǔ)器10402中。處理中經(jīng)常用到的模板可存儲(chǔ)在本地高速緩存10403中。正則表達(dá)式邏輯電路10401包括字符串讀取部分10405、匹配確定部分10406。例如,要監(jiān)控流101中是否出現(xiàn)違法字符串“abc”。流101經(jīng)接口 102進(jìn)入分路 103中的一條。該分路所附連的所有最佳適應(yīng)調(diào)度模塊104—齊工作,以檢查進(jìn)入該分路的字符是否與其中存儲(chǔ)的一條規(guī)則相匹配。圖3表示通用正則表達(dá)式引擎中的規(guī)則。將字符302施加于當(dāng)前狀態(tài)301,就產(chǎn)生了下一狀態(tài)303。假設(shè)系統(tǒng)中設(shè)定的初始狀態(tài)為0,即系統(tǒng)內(nèi)當(dāng)前狀態(tài)為0。流101中的字符“a”首先進(jìn)入一條分路103。邏輯電路讀取部分10405查找本地應(yīng)用訪問存儲(chǔ)器10402中的規(guī)則表。由于當(dāng)前狀態(tài)是0,字符是a,因此找到一條規(guī)則0-a-l。 字符串讀取部分10405讀取該規(guī)則后,得知下一狀態(tài)為1。然后,流101中的字符“b”進(jìn)入該分路。字符串讀取部分10405查找本地應(yīng)用訪問存儲(chǔ)器10402中的規(guī)則表。剛剛讀取的規(guī)則中的下一狀態(tài)成為當(dāng)前狀態(tài)。因此,當(dāng)前狀態(tài)為1。由于進(jìn)入該分路的字符是b,因此找到一條規(guī)則l-b-3。字符串讀取部分10405讀取該規(guī)則后,得知下一狀態(tài)為3。然后,流101中的字符“C”進(jìn)入該分路。字符串讀取部分10405查找本地應(yīng)用訪問存儲(chǔ)器10402中的規(guī)則表。剛剛讀取的規(guī)則中的下一狀態(tài)成為當(dāng)前狀態(tài)。因此,當(dāng)前狀態(tài)為3。由于進(jìn)入該分路的字符是c,因此找到一條規(guī)則3-C-4。邏輯電路讀取部分10405 讀取該規(guī)則后,得知下一狀態(tài)為4。在邏輯電路確定部分10406中設(shè)置參考值4。下一狀態(tài)等于參考值4,意味著流 101中出現(xiàn)了違法字符串“abc”。正則表達(dá)式引擎報(bào)警。在通用正則表達(dá)式引擎中,有字符串讀取部分10405和匹配確定部分10406,分別用于讀取字符串和確定匹配,從而識(shí)別出違法字符串;確定極值路由一般也包含讀取圖中的路徑以及確定兩點(diǎn)間極值路由的過程。另外,通用正則表達(dá)式引擎的規(guī)則是將字符作為當(dāng)前狀態(tài)和下一狀態(tài)之間的過渡;在確定極值路由時(shí),圖中的每一條路由也可以看作是將權(quán)重作為從當(dāng)前節(jié)點(diǎn)到下一節(jié)點(diǎn)之間的過渡。因此,極值路由確定和通用正則表達(dá)式引擎的匹配識(shí)別有很大的相似性。根據(jù)本發(fā)明的一個(gè)實(shí)施例的極值路由確定引擎完全可以借助于通用正則表達(dá)式引擎的現(xiàn)有結(jié)構(gòu)進(jìn)行簡單的改進(jìn),從而低成本地提高極值路由確定的處理速度。圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的極值路由確定引擎401的結(jié)構(gòu)圖。極值路由確定引擎401包括極值路由確定邏輯電路40104、存儲(chǔ)器40103。存儲(chǔ)器40103包括本地存儲(chǔ)器40101和高速緩存40102。本地存儲(chǔ)器40101包括圖存儲(chǔ)區(qū)40111和表存儲(chǔ)區(qū)40112。極值路由確定邏輯電路40104包括路徑讀取部分40106、極值路由確定部分40107、和寫入部分 40109。雖然圖4示例性地示出了兩個(gè)存儲(chǔ)器40103,但本領(lǐng)域技術(shù)人員可知,也可以采用單個(gè)存儲(chǔ)器,或者采用三個(gè)或多于三個(gè)的存儲(chǔ)器,來實(shí)現(xiàn)本發(fā)明中的存儲(chǔ)功能。本地存儲(chǔ)器40101采用通用正則表達(dá)式引擎中的本地應(yīng)用訪問存儲(chǔ)器10402。高速緩存40102采用通用正則表達(dá)式引擎中的本地高速緩存10403。路徑讀取部分40106采用通用正則表達(dá)式引擎中的字符串讀取部分10405,并將相應(yīng)的字符串讀取的功能改變?yōu)橄挛闹袑⒃敿?xì)描述的路徑讀取的功能。極值路由確定部分40107采用通用正則表達(dá)式引擎中的匹配確定部分10406,并將相應(yīng)的確定匹配的功能改變?yōu)橄挛闹袑⒃敿?xì)描述的確定極值路由的功能。因此,本發(fā)明的一個(gè)實(shí)施例可以在通用正則表達(dá)式引擎的基礎(chǔ)上進(jìn)行改造并添加寫入部分40109實(shí)現(xiàn)。將圖3的規(guī)則加以改造,從而構(gòu)造出如圖5所示的路徑的概念。圖5所示的路徑與圖3的規(guī)則的區(qū)別在于用權(quán)重501取代了字符302,且在圖5中的當(dāng)前節(jié)點(diǎn)502和下一節(jié)點(diǎn)503分別相當(dāng)于圖3中的當(dāng)前狀態(tài)301和下一狀態(tài)303。權(quán)重501表示當(dāng)前節(jié)點(diǎn)和下一節(jié)點(diǎn)之間的距離、傳送成本、傳送時(shí)間等。例如,如果極值路由確定引擎的作用是尋找兩點(diǎn)間傳送距離最短的路由,則用權(quán)重表示當(dāng)前節(jié)點(diǎn)和下一節(jié)點(diǎn)之間的距離;如果極值路由確定引擎的作用是尋找兩點(diǎn)間傳送時(shí)間最短的路由,則用權(quán)重表示當(dāng)前節(jié)點(diǎn)和下一節(jié)點(diǎn)之間的傳送時(shí)間,等等。將圖預(yù)先存儲(chǔ)在圖4的圖存儲(chǔ)區(qū)40111中。圖6示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的存儲(chǔ)的圖的一個(gè)例子。在該實(shí)施例中,路徑讀取部分40106按照寬度優(yōu)先法從圖中讀取路徑。寬度優(yōu)先法的原則是從起始節(jié)點(diǎn)出發(fā)讀取了一條路徑后,不沿此路徑繼續(xù)讀取下一路徑,而是從起始節(jié)點(diǎn)開始再讀取其它路徑。當(dāng)從起始節(jié)點(diǎn)開始的所有路徑都已讀完后,再從讀取的第一條路徑的終點(diǎn)出發(fā)讀取路徑,以此類推。按照這一原則,從圖6的圖中讀取路徑的順序?yàn)?1) 1-(3)-> 2
-2) 1-(10)->
-3)2-(8)-> 4
-4)2-⑵-> 3
-5)3-(1)"> 5
-6) 4- (2) - > 6-7)5-(2)->6以第一條路徑為例,1-(3)- > 2代表當(dāng)前節(jié)點(diǎn)是1、權(quán)重是3、下一節(jié)點(diǎn)是2,以此類推。圖7示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的對(duì)應(yīng)于每一輪或多輪讀取和寫入操作的路徑表。路徑表存儲(chǔ)在表存儲(chǔ)區(qū)40112中。圖4所示的極值路徑確定引擎401的工作環(huán)境與圖1類似。極值路徑確定引擎 401相當(dāng)于圖1的最佳適應(yīng)調(diào)度模塊104。用時(shí)鐘脈沖序列來取代流101。當(dāng)?shù)谝粋€(gè)時(shí)鐘脈沖通過接口 102進(jìn)入極值路徑確定引擎401后,路徑讀取部分 40106從圖存儲(chǔ)區(qū)中存儲(chǔ)的圖中讀取第一條路徑1-03)- > 2。寫入部分40109判斷路徑表中與該路徑中的當(dāng)前節(jié)點(diǎn)1對(duì)應(yīng)的行處是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的路徑。判斷結(jié)果為否,因此不作處理。然后,判斷與第一條路徑中的下一節(jié)點(diǎn)2對(duì)應(yīng)的行處是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的路徑。判斷結(jié)果為否,因此將第一條路徑寫入與節(jié)點(diǎn)2對(duì)應(yīng)的行。如圖7的表S(l,2)所示,在與節(jié)點(diǎn)2對(duì)應(yīng)的行,寫入權(quán)重3和上一節(jié)點(diǎn) 1。作為另一個(gè)實(shí)施例,圖7中的路徑表還可以按照每列對(duì)應(yīng)于一條寫入的路徑的方式組織。在這種情況下,以上描述中的“行”替換成“列”。在本文中,“行”和“列”統(tǒng)稱為地址。在下文中,雖然仍以“行”描述,但本領(lǐng)域技術(shù)人員可知,下文中描述的“行”也可以替換成“列”。然后,第二個(gè)時(shí)鐘脈沖進(jìn)入極值路徑確定引擎401。路徑讀取部分40106從圖存儲(chǔ)區(qū)中存儲(chǔ)的圖中讀取第二條路徑1-(10)->3。寫入部分40109判斷路徑表中與該路徑中的當(dāng)前節(jié)點(diǎn)1對(duì)應(yīng)的行是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的路徑。判斷結(jié)果為否, 因此不作處理。然后,判斷與第二條路徑中的下一節(jié)點(diǎn)3對(duì)應(yīng)的行是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的路徑。判斷結(jié)果為否,因此將第二條路徑寫入與節(jié)點(diǎn)3對(duì)應(yīng)的行。如圖7的表Sl (1,2)所示,在與節(jié)點(diǎn)3對(duì)應(yīng)的行,寫入權(quán)重10和上一節(jié)點(diǎn)1。表Sl(l,2)是響應(yīng)于第一、二個(gè)時(shí)鐘脈沖的寫入的路徑表。當(dāng)然,也可以分別畫出響應(yīng)于第一個(gè)時(shí)鐘脈沖的寫入的路徑表和響應(yīng)于第二個(gè)時(shí)鐘脈沖的寫入的路徑表。在本實(shí)施例中,響應(yīng)于接收到一個(gè)時(shí)鐘脈沖,路徑讀取部分40106從圖中讀取一條路徑。但是,本領(lǐng)域技術(shù)人員可知,作為另一個(gè)實(shí)施例,路徑讀取部分40106也可以響應(yīng)于接收到一個(gè)時(shí)鐘脈沖,從圖中讀取兩條或更多路徑。作為另一個(gè)實(shí)施例,路徑讀取部分 40106也可以響應(yīng)于接收到兩個(gè)或更多時(shí)鐘脈沖,從圖中讀取一條路徑。此后,第三個(gè)時(shí)鐘脈沖進(jìn)入極值路徑確定引擎401。路徑讀取部分40106從圖存儲(chǔ)區(qū)中存儲(chǔ)的圖中讀取第三條路徑2-(8)- > 4。寫入部分40109判斷路徑表中與該路徑中的當(dāng)前節(jié)點(diǎn)2對(duì)應(yīng)的行是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的完整路徑。判斷結(jié)果為是,因此在讀取的第三條路徑的權(quán)重8上加與節(jié)點(diǎn)2對(duì)應(yīng)的行中的路徑的權(quán)重3。此時(shí), 第三條路徑的權(quán)重變?yōu)?1,其表示從節(jié)點(diǎn)1到達(dá)節(jié)點(diǎn)4的權(quán)重為11。然后,判斷與第三條路徑中下一節(jié)點(diǎn)4對(duì)應(yīng)的行是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的完整路徑。判斷結(jié)果為否,因此將第三條路徑寫入與節(jié)點(diǎn)4對(duì)應(yīng)的行。如圖7的表S2(3)所示,在與節(jié)點(diǎn)4 對(duì)應(yīng)的行處,寫入權(quán)重11和上一節(jié)點(diǎn)2。
接著,第四個(gè)時(shí)鐘脈沖進(jìn)入極值路徑確定引擎401。路徑讀取部分40106從圖存儲(chǔ)區(qū)中存儲(chǔ)的圖中讀取第四條路徑2-( - > 3。寫入部分40109判斷路徑表中與該路徑中的當(dāng)前節(jié)點(diǎn)2對(duì)應(yīng)的行是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的完整路徑。判斷結(jié)果為是,因此在讀取的第四條路徑的權(quán)重2上加與節(jié)點(diǎn)2對(duì)應(yīng)的行存儲(chǔ)的路徑的權(quán)重3。此時(shí),第四條路徑的權(quán)重變?yōu)?,其表示從節(jié)點(diǎn)2到達(dá)節(jié)點(diǎn)3的權(quán)重為5。然后,判斷與第四條路徑中的下一節(jié)點(diǎn)3對(duì)應(yīng)的行是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的完整路徑。判斷結(jié)果為是,因此將與節(jié)點(diǎn)3對(duì)應(yīng)的行處的權(quán)重10與第四條路徑的權(quán)重5進(jìn)行比較。由于 5小于10,因此將第四條路徑寫入與節(jié)點(diǎn)3對(duì)應(yīng)的行。如圖7的表S3(4)所示,在與節(jié)點(diǎn)3 對(duì)應(yīng)的行,寫入權(quán)重5和上一節(jié)點(diǎn)2。接下來,第五個(gè)時(shí)鐘脈沖進(jìn)入極值路徑確定引擎401。路徑讀取部分40106從圖存儲(chǔ)區(qū)中存儲(chǔ)的圖中讀取第五條路徑3-(1)- > 5。寫入部分40109判斷路徑表中與該路徑中的當(dāng)前節(jié)點(diǎn)3對(duì)應(yīng)的行是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的完整路徑。判斷結(jié)果為是,因此在讀取的第五條路徑的權(quán)重1上加與節(jié)點(diǎn)3對(duì)應(yīng)的行處的路徑的權(quán)重5。此時(shí),第五條路徑的權(quán)重變?yōu)?,其表示從節(jié)點(diǎn)3到達(dá)節(jié)點(diǎn)5的權(quán)重為6。然后,判斷與第五條路徑中的下一節(jié)點(diǎn)5對(duì)應(yīng)的行是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的完整路徑。判斷結(jié)果為否,因此將第五條路徑寫入與節(jié)點(diǎn)5對(duì)應(yīng)的行。如圖7的表S4(5)所示,在與節(jié)點(diǎn) 5對(duì)應(yīng)的行,寫入權(quán)重6和上一節(jié)點(diǎn)3。接下來,第六個(gè)時(shí)鐘脈沖進(jìn)入極值路徑確定引擎401。路徑讀取部分40106從圖存儲(chǔ)區(qū)中存儲(chǔ)的圖中讀取第六條路徑4-( - > 6。寫入部分40109判斷路徑表中與該路徑中的當(dāng)前節(jié)點(diǎn)4對(duì)應(yīng)的行是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的完整路徑。判斷結(jié)果為是,因此在讀取的第六條路徑的權(quán)重2上加與節(jié)點(diǎn)4對(duì)應(yīng)的行處的路徑的權(quán)重11。此時(shí),第六條路徑的權(quán)重變?yōu)?3,其表示從節(jié)點(diǎn)4到達(dá)節(jié)點(diǎn)6的權(quán)重為13。然后,判斷與第六條路徑中的下一節(jié)點(diǎn)6對(duì)應(yīng)的行是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的完整路徑。 判斷結(jié)果為否,因此將第六條路徑寫入與節(jié)點(diǎn)6對(duì)應(yīng)的行。如圖7的表S5(6)所示,在與節(jié)點(diǎn)6對(duì)應(yīng)的行,寫入權(quán)重13和上一節(jié)點(diǎn)4。接下來,第七個(gè)時(shí)鐘脈沖進(jìn)入極值路徑確定引擎401。路徑讀取部分40106從圖存儲(chǔ)區(qū)中存儲(chǔ)的圖中讀取第七條路徑5-( - > 6。寫入部分40109判斷路徑表中與該路徑中的當(dāng)前節(jié)點(diǎn)5對(duì)應(yīng)的行是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的完整路徑。判斷結(jié)果為是,因此在讀取的第七條路徑的權(quán)重2上加與節(jié)點(diǎn)5對(duì)應(yīng)的行處的路徑的權(quán)重6。此時(shí),第七條路徑的權(quán)重變?yōu)?,其表示從節(jié)點(diǎn)5到達(dá)節(jié)點(diǎn)6的權(quán)重為8。然后,判斷與第七條路徑中的下一節(jié)點(diǎn)6對(duì)應(yīng)的行是否存儲(chǔ)有包括當(dāng)前節(jié)點(diǎn)、權(quán)重和上一節(jié)點(diǎn)的完整路徑。判斷結(jié)果為是,因此將與節(jié)點(diǎn)6對(duì)應(yīng)的行處的權(quán)重13與第七條路徑的權(quán)重8進(jìn)行比較。由于 8小于13,因此將第七條路徑寫入與節(jié)點(diǎn)6對(duì)應(yīng)的行。如圖7的表S6(7)所示,在與節(jié)點(diǎn)6 對(duì)應(yīng)的行,寫入權(quán)重8和上一節(jié)點(diǎn)5。由于寫入部分40109對(duì)圖中所有路徑都完成了寫入,極值路由確定部分40107按照存儲(chǔ)器中此時(shí)的路徑表S6(7),確定極值路由。比如,按照如下過程確定節(jié)點(diǎn)1和節(jié)點(diǎn)4 之間的最小路由表S6(7)中與節(jié)點(diǎn)4對(duì)應(yīng)的行存儲(chǔ)的路徑中的上一節(jié)點(diǎn)為2,與節(jié)點(diǎn)2對(duì)應(yīng)的行存儲(chǔ)的路徑中的上一節(jié)點(diǎn)為1,因此節(jié)點(diǎn)1和4之間的最小路由是1——2——4。再比如,按照如下過程確定節(jié)點(diǎn)1和節(jié)點(diǎn)6之間的最小路由表S6(7)中與節(jié)點(diǎn)6對(duì)應(yīng)的行存儲(chǔ)的路徑中的上一節(jié)點(diǎn)為5,與節(jié)點(diǎn)5對(duì)應(yīng)的行存儲(chǔ)的路徑中的上一節(jié)點(diǎn)為3,與節(jié)點(diǎn)3對(duì)應(yīng)的行存儲(chǔ)的路徑中的上一節(jié)點(diǎn)為2,與節(jié)點(diǎn)2對(duì)應(yīng)的行存儲(chǔ)的路徑中的上一節(jié)點(diǎn)為1,因此節(jié)點(diǎn)1和6之間的最小路由是1——2——3——5——6。通過以上過程,可以確定兩個(gè)節(jié)點(diǎn)之間的最小路由。根據(jù)本發(fā)明的另一實(shí)施例,還可以確定兩個(gè)節(jié)點(diǎn)之間的最大路由。最小路由和最大路由統(tǒng)稱極值路由。需要確定兩個(gè)節(jié)點(diǎn)之間的最大路由的場合例如在兩個(gè)節(jié)點(diǎn)之間發(fā)布升級(jí)的軟件,其要求使升級(jí)的軟件被兩個(gè)節(jié)點(diǎn)之間盡量多的節(jié)點(diǎn)獲得。確定兩個(gè)節(jié)點(diǎn)之間的最大路由的方法與確定兩個(gè)節(jié)點(diǎn)之間的最小路由的方法的區(qū)別是如果與讀取的路徑中的下一節(jié)點(diǎn)對(duì)應(yīng)的行存儲(chǔ)有路徑,則寫入部分將此時(shí)讀取的路徑中的權(quán)重和與該下一節(jié)點(diǎn)對(duì)應(yīng)的行存儲(chǔ)的路徑中的權(quán)重相比較, 將較大者而不是較小者寫入與該下一節(jié)點(diǎn)對(duì)應(yīng)的行。仍以上面從S2C3)到S3 (4)的過程為例。在將與節(jié)點(diǎn)3對(duì)應(yīng)的行處的權(quán)重10與第四條路徑的權(quán)重5進(jìn)行比較后,由于5小于10, 因此與節(jié)點(diǎn)3對(duì)應(yīng)的行不發(fā)生變化。即,在與節(jié)點(diǎn)3對(duì)應(yīng)的行,權(quán)重仍為10,上一節(jié)點(diǎn)仍為 1。為了方便查詢,圖7的表S(1,2)_S6(7)可以全部存儲(chǔ)在表存儲(chǔ)區(qū)40112。但在另一實(shí)施例中,也可以為了節(jié)省空間而只保存最終表S6(7),因?yàn)閮H根據(jù)表S6(7)就能夠確定極值路由。在上述實(shí)施例中,根據(jù)表S6(7)僅能確定從節(jié)點(diǎn)1到其它節(jié)點(diǎn)的極值路由。但在
另一實(shí)施例中,也可以分別做出從節(jié)點(diǎn)2、節(jié)點(diǎn)3......出發(fā)的路徑表。這樣,就可以根據(jù)存
儲(chǔ)的路由表確定在圖中任意兩個(gè)節(jié)點(diǎn)之間的極值路由。在上述實(shí)施例中,表S6 (7)是預(yù)先做出并且存儲(chǔ)在表存儲(chǔ)區(qū)40112的。但在另一實(shí)施例中,表可以不是預(yù)先做出的,而是響應(yīng)于用戶請(qǐng)求計(jì)算兩個(gè)節(jié)點(diǎn)之間的極值路由。因此,需要在接收到用戶關(guān)于起點(diǎn)和終點(diǎn)的輸入后,完成類似于從圖7的Sl (1,2)到S6(7)的路徑讀取、寫入、極值路由確定過程。這樣,可以減少存儲(chǔ)空間,但降低了反應(yīng)的實(shí)時(shí)性。此外,又一種實(shí)施例中,圖7中的表可以僅做出一部分,比如如果查詢從節(jié)點(diǎn)1和節(jié)點(diǎn)2出發(fā)的極值路由的請(qǐng)求比較頻繁,可以預(yù)先做出關(guān)于節(jié)點(diǎn)1和節(jié)點(diǎn)2的表,保存在表存儲(chǔ)區(qū)40112中,而不保存從節(jié)點(diǎn)3、4、5或6出發(fā)的極值路由的表。圖8示出了圖4中的寫入部分40109的一個(gè)示例性結(jié)構(gòu)。寫入部分40109包括加法器801和求最小值電路802。圖8示出了利用加法器801和求最小值電路802將表S2 (3) 更新為S3(4)的過程。當(dāng)前讀取的路徑是2- )->3。當(dāng)前節(jié)點(diǎn)2和下一節(jié)點(diǎn)3分別是輸出路徑表中節(jié)點(diǎn)2和3的對(duì)應(yīng)權(quán)重的使能信號(hào)。當(dāng)前節(jié)點(diǎn)2使能路徑表,使路徑表輸出與節(jié)點(diǎn)2對(duì)應(yīng)的權(quán)重3。該權(quán)重3與當(dāng)前讀取的路徑的權(quán)重2 —起輸入加法器801,輸出和 5。同時(shí),當(dāng)前節(jié)點(diǎn)3使能路徑表,使路徑表輸出與節(jié)點(diǎn)3對(duì)應(yīng)的權(quán)重10。將和5與該權(quán)重 10輸入求最小值電路802。求最小值電路802產(chǎn)生的輸出為5。將輸出權(quán)重5及上一節(jié)點(diǎn) 2寫入路徑表中與節(jié)點(diǎn)3對(duì)應(yīng)的行。從圖8明顯可知,由于圖8中體現(xiàn)的各計(jì)算步驟是用串聯(lián)的硬件實(shí)現(xiàn)的,因此,當(dāng)讀取一條路徑后,求最小值電路802會(huì)馬上產(chǎn)生一個(gè)輸出結(jié)果,并將其寫入路徑表中,這整個(gè)過程只需一個(gè)時(shí)鐘周期。如果像現(xiàn)有技術(shù)一樣,各計(jì)算步驟通過軟件實(shí)現(xiàn),每一個(gè)步驟都要等待上一個(gè)步驟的運(yùn)行結(jié)果,大大增加了處理時(shí)間。例如,在圖8中要先運(yùn)行讀取運(yùn)算, 再運(yùn)行加法運(yùn)算,再運(yùn)行求最小值運(yùn)算,其中求最小值要等待加法的結(jié)果。由于軟件是一步一步運(yùn)行的,當(dāng)前步驟的運(yùn)行要依賴于上一步驟的運(yùn)行結(jié)果,因此要等待上一步驟的運(yùn)行, 從而需要多個(gè)時(shí)鐘周期。這是軟、硬件實(shí)現(xiàn)的特點(diǎn)決定的。圖9是根據(jù)本發(fā)明的另一個(gè)實(shí)施例的極值路由確定引擎的結(jié)構(gòu)圖。該實(shí)施例與前面描述的實(shí)施例的區(qū)別在于,所述極值路由確定邏輯電路40104包括開關(guān)40110,用于選擇性地啟用所述寫入部分40109。當(dāng)開關(guān)40110斷開時(shí),寫入部分40109不工作。路徑讀取部分40106象圖2的字符串讀取部分10405那樣工作,極值路由確定部分40107象圖2的匹配確定部分10406那樣工作。它們與存儲(chǔ)器40103—起相當(dāng)于圖2的最佳適應(yīng)調(diào)度模塊104, 完成通用正則表達(dá)式引擎中的最佳適應(yīng)調(diào)度功能。當(dāng)開關(guān)40110閉合時(shí),寫入部分40109 工作。路徑讀取部分40106、極值路由確定部分40107、寫入部分40109和存儲(chǔ)器40103 — 起用于確定極值路由。這樣,根據(jù)該實(shí)施例的極值路由確定引擎可以靈活地工作。當(dāng)不需要用它確定極值路由時(shí),它可以作為通用正則表達(dá)式引擎的一部分工作。這增加了應(yīng)用的靈活性。該實(shí)施例的其它部分與前面的實(shí)施例類似。按照另一實(shí)施例,路徑讀取部分40106按照深度優(yōu)先法而不是寬度優(yōu)先法從圖中讀取路徑。深度優(yōu)先法的原則是從任一節(jié)點(diǎn)出發(fā)讀取了一條路徑后,都繼續(xù)讀取沿該路徑的后續(xù)路徑,直到不能讀取為止。當(dāng)不能讀取后續(xù)路徑時(shí),要從該路徑的上一節(jié)點(diǎn)重新確定是否能沿上一節(jié)點(diǎn)讀取其它未讀過的路徑。按照這一原則,從圖6的表中讀取路徑的順序?yàn)?1)1-(3)->2-2)2-(8)->4-3)4-(2)->6-4)2-(2)- > 3-5)3-(1)->5-6)5-(2)->6-7) 1-(10)->3可以看出,當(dāng)從節(jié)點(diǎn)1出發(fā),沿節(jié)點(diǎn)2、4最終到達(dá)節(jié)點(diǎn)6而沒有能夠繼續(xù)的路徑時(shí),回溯到節(jié)點(diǎn)4,并考慮是否有其它能繼續(xù)進(jìn)行的路徑。因?yàn)閺墓?jié)點(diǎn)4出發(fā)沒有其它能繼續(xù)進(jìn)行的路徑,再回溯到節(jié)點(diǎn)2,并得到從節(jié)點(diǎn)2經(jīng)節(jié)點(diǎn)3、5最終到達(dá)節(jié)點(diǎn)6的三條路徑。 最后回溯到節(jié)點(diǎn)1,并得到節(jié)點(diǎn)1到節(jié)點(diǎn)3的路徑。如圖10所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的極值路由確定方法包括在步驟S1001 中,讀取存儲(chǔ)的圖中的路徑,所述路徑帶有權(quán)重;在步驟S1002中,更新讀取的路徑的權(quán)重并將權(quán)重被更新過的路徑寫入存儲(chǔ)器中;在步驟S1003中,確定極值路由。根據(jù)本發(fā)明的一個(gè)實(shí)施例的寫入部分40109可以通過圖8中的硬件實(shí)現(xiàn),路徑讀取部分40106和極值路由確定部分40107可以在圖2的字符串讀取部分10405和匹配確定部分10406的基礎(chǔ)上軟件編程實(shí)現(xiàn)。軟件實(shí)現(xiàn)的部分可以具體實(shí)現(xiàn)為以下形式,即,可以是完全的軟件(包括固件、駐留軟件、微代碼等)、或者本文一般稱為“電路”、“模塊”或“系統(tǒng)” 的軟件部分與硬件部分的組合。此外,本發(fā)明的軟件改進(jìn)部分還可以采取體現(xiàn)在任何有形的表達(dá)介質(zhì)(medium of expression)中的計(jì)算機(jī)程序產(chǎn)品的形式,該介質(zhì)中包含計(jì)算機(jī)可用的程序碼。可以使用一個(gè)或多個(gè)計(jì)算機(jī)可用的或計(jì)算機(jī)可讀的介質(zhì)的任何組合來實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例的軟件部分。計(jì)算機(jī)可用的或計(jì)算機(jī)可讀的介質(zhì)例如可以是——但不限于——電的、磁的、光的、電磁的、紅外線的、或半導(dǎo)體的系統(tǒng)、裝置、器件或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的更具體的例子(非窮舉的列表)包括以下有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、諸如支持因特網(wǎng)或內(nèi)部網(wǎng)的傳輸介質(zhì)、或者磁存儲(chǔ)器件。注意計(jì)算機(jī)可用的或計(jì)算機(jī)可讀的介質(zhì)甚至可以是上面印有程序的紙張或者其它合適的介質(zhì),這是因?yàn)?,例如可以通過電掃描這種紙張或其它介質(zhì),以電子方式獲得程序,然后以適當(dāng)?shù)姆绞郊右跃幾g、解釋或處理,并且必要的話在計(jì)算機(jī)存儲(chǔ)器中存儲(chǔ)。在本文件的語境中,計(jì)算機(jī)可用的或計(jì)算機(jī)可讀的介質(zhì)可以是任何含有、存儲(chǔ)、傳達(dá)、傳播、或傳輸供指令執(zhí)行系統(tǒng)、裝置或器件使用的或與指令執(zhí)行系統(tǒng)、裝置或器件相聯(lián)系的程序的介質(zhì)。計(jì)算機(jī)可用的介質(zhì)可包括在基帶中或者作為載波一部分傳播的、由其體現(xiàn)計(jì)算機(jī)可用的程序碼的數(shù)據(jù)信號(hào)。計(jì)算機(jī)可用的程序碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、電線、光纜、RF等等。用于實(shí)現(xiàn)本發(fā)明的軟件部分的計(jì)算機(jī)程序碼,可以以一種或多種程序設(shè)計(jì)語言的任何組合來編寫,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言一諸如Java、 Smalltalk^++之類,還包括常規(guī)的過程式程序設(shè)計(jì)語言一諸如” C”程序設(shè)計(jì)語言或類似的程序設(shè)計(jì)語言。程序碼可以完全地在用戶的計(jì)算上執(zhí)行、部分地在用戶的計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶的計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在后一種情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任何種類的網(wǎng)絡(luò)—— 包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶的計(jì)算機(jī),或者,可以(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng))連接到外部計(jì)算機(jī)。以下參照按照本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/ 或框圖描述本發(fā)明。要明白的是,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置執(zhí)行的這些指令,產(chǎn)生實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在能指令計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置以特定方式工作的計(jì)算機(jī)可讀介質(zhì)中,這樣,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生一個(gè)包括實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means) 的制造品。也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上,使得在計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令就提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。本文中所用的術(shù)語,僅僅是為了描述特定的實(shí)施例,而不意圖限定本發(fā)明。本文中所用的單數(shù)形式的“一”和“該”,旨在也包括復(fù)數(shù)形式,除非上下文中明確地另外指出。還要知道,“包含”一詞在本說明書中使用時(shí),說明存在所指出的特征、整體、步驟、操作、單元和/或組件,但是并不排除存在或增加一個(gè)或多個(gè)其它特征、整體、步驟、操作、單元和/或組件,以及/或者它們的組合。以下的權(quán)利要求中的對(duì)應(yīng)結(jié)構(gòu)、材料、操作以及所有功能性限定的裝置(means) 或步驟的等同替換,旨在包括任何用于與在權(quán)利要求中具體指出的其它單元相組合地執(zhí)行該功能的結(jié)構(gòu)、材料或操作。所給出的對(duì)本發(fā)明的描述其目的在于示意和描述,并非是窮盡性的,也并非是要把本發(fā)明限定到所表述的形式。對(duì)于所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說, 在不偏離本發(fā)明范圍和精神的情況下,顯然可以作出許多修改和變型。對(duì)實(shí)施例的選擇和說明,是為了最好地解釋本發(fā)明的原理和實(shí)際應(yīng)用,使所屬技術(shù)領(lǐng)域的普通技術(shù)人員能夠明了,本發(fā)明可以有適合所要的特定用途的具有各種改變的各種實(shí)施方式。
權(quán)利要求
1.一種極值路由確定引擎,包括存儲(chǔ)器,用于存儲(chǔ)圖中帶有權(quán)重的路徑;極值路由確定邏輯電路,包括路徑讀取部分,用于讀取圖中的路徑;寫入部分,用于按照預(yù)定極值要求更新讀取的路徑的權(quán)重并將權(quán)重被更新過的路徑寫入所述存儲(chǔ)器中;和極值路由確定部分,用于確定極值路由。
2.根據(jù)權(quán)利要求1的極值路由確定引擎,其中所述存儲(chǔ)器采用通用正則表達(dá)式引擎中的存儲(chǔ)器,所述路徑讀取部分采用通用正則表達(dá)式引擎中的字符串讀取部分,所述極值路由確定部分采用通用正則表達(dá)式引擎中的匹配確定部分。
3.根據(jù)權(quán)利要求1的極值路由確定引擎,其中所述路徑還包括當(dāng)前節(jié)點(diǎn)和下一節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求3的極值路由確定引擎,其中如果讀取的路徑中的當(dāng)前節(jié)點(diǎn)的地址處存儲(chǔ)有完整路徑,則寫入部分對(duì)所述讀取的路徑中的權(quán)重進(jìn)行更新,在其上增加當(dāng)前節(jié)點(diǎn)的地址處的權(quán)重;如果讀取的路徑中的當(dāng)前節(jié)點(diǎn)的地址處未存儲(chǔ)有完整路徑則寫入部分不作處理。
5.根據(jù)權(quán)利要求4的極值路由確定引擎,其中如果讀取的路徑中的下一節(jié)點(diǎn)的地址處未存儲(chǔ)有完整路徑,則寫入部分將此時(shí)的讀取的路徑寫入該下一節(jié)點(diǎn)的地址處。
6.根據(jù)權(quán)利要求4的極值路由確定引擎,其中如果讀取的路徑中的下一節(jié)點(diǎn)的地址處存儲(chǔ)有完整路徑,則寫入部分將此時(shí)讀取的路徑中的權(quán)重與該下一節(jié)點(diǎn)的地址處存儲(chǔ)的路徑中的權(quán)重相比較,將較小者寫入該下一節(jié)點(diǎn)的地址處。
7.根據(jù)權(quán)利要求4的極值路由確定引擎,其中如果讀取的路徑中的下一節(jié)點(diǎn)的地址處存儲(chǔ)有完整路徑,則寫入部分將此時(shí)讀取的路徑中的權(quán)重與該下一節(jié)點(diǎn)的地址處存儲(chǔ)的路徑中的權(quán)重相比較,將較大者寫入該下一節(jié)點(diǎn)的地址處。
8.根據(jù)權(quán)利要求1的極值路由確定引擎,其中所述路徑讀取部分按照下列算法之一從所述圖中讀取路徑寬度優(yōu)先法或深度優(yōu)先法。
9.根據(jù)權(quán)利要求1的極值路由確定引擎,其中所述極值路由確定邏輯電路包括開關(guān), 用于選擇性地啟用所述寫入部分。
10.根據(jù)權(quán)利要求1的極值路由確定引擎,其中所述寫入部分包括加法器和求最小值電路。
11.根據(jù)權(quán)利要求1的極值路由確定引擎,其中響應(yīng)于所述寫入部分對(duì)圖中所有路徑都完成了寫入,所述極值路由確定部分確定極值路由。
12.一種極值路由確定方法,包括讀取存儲(chǔ)的圖中的路徑,所述路徑帶有權(quán)重;更新讀取的路徑的權(quán)重并將權(quán)重被更新過的路徑寫入存儲(chǔ)器中;確定極值路由。
13.根據(jù)權(quán)利要求12的極值路由確定方法,其中所述路徑還包括當(dāng)前節(jié)點(diǎn)和下一節(jié)點(diǎn)。
14.根據(jù)權(quán)利要求13的極值路由確定方法,其中,如果讀取的路徑中的當(dāng)前節(jié)點(diǎn)的地址處存儲(chǔ)有完整路徑,則對(duì)所述讀取的路徑中的權(quán)重進(jìn)行更新,在其上增加當(dāng)前節(jié)點(diǎn)的地址處的權(quán)重;如果讀取的路徑中的當(dāng)前節(jié)點(diǎn)的地址處未存儲(chǔ)有完整路徑則不作處理。
15.根據(jù)權(quán)利要求14的極值路由確定方法,其中,如果讀取的路徑中的下一節(jié)點(diǎn)的地址處未存儲(chǔ)有完整路徑,則將此時(shí)的讀取的路徑寫入該下一節(jié)點(diǎn)的地址處。
16.根據(jù)權(quán)利要求14的極值路由確定方法,其中,如果讀取的路徑中的下一節(jié)點(diǎn)的地址處存儲(chǔ)有完整路徑,則將此時(shí)讀取的路徑中的權(quán)重與該下一節(jié)點(diǎn)的地址處存儲(chǔ)的路徑中的權(quán)重相比較,將較小者寫入該下一節(jié)點(diǎn)的地址處。
17.根據(jù)權(quán)利要求14的極值路由確定方法,其中,如果讀取的路徑中的下一節(jié)點(diǎn)的地址處存儲(chǔ)有完整路徑,則將此時(shí)讀取的路徑中的權(quán)重與該下一節(jié)點(diǎn)的地址處存儲(chǔ)的路徑中的權(quán)重相比較,將較大者寫入該下一節(jié)點(diǎn)的地址處。
18.根據(jù)權(quán)利要求12的極值路由確定方法,其中,按照下列算法之一從圖中讀取路徑寬度優(yōu)先法或深度優(yōu)先法。
19.根據(jù)權(quán)利要求12的極值路由確定方法,其中,選擇性地啟用所述寫入。
20.根據(jù)權(quán)利要求12的極值路由確定方法,其中,響應(yīng)于對(duì)圖中所有路徑都完成了寫入,確定極值路由。
全文摘要
本發(fā)明的一個(gè)實(shí)施例提供了一種極值路由確定引擎,包括存儲(chǔ)器,用于存儲(chǔ)圖中帶有權(quán)重的路徑;極值路由確定邏輯電路,包括用于讀取圖中的路徑的路徑讀取部分、用于按照預(yù)定極值要求更新讀取的路徑的權(quán)重并將權(quán)重被更新過的路徑寫入所述存儲(chǔ)器中的寫入部分、和用于確定極值路由的極值路由確定部分。本發(fā)明的一個(gè)實(shí)施例提高了極值路由確定的處理速度。
文檔編號(hào)H04L29/06GK102158388SQ20101012019
公開日2011年8月17日 申請(qǐng)日期2010年2月12日 優(yōu)先權(quán)日2010年2月12日
發(fā)明者劉衛(wèi), 常曉濤, 曾宏博, 王鯤 申請(qǐng)人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1