一種內(nèi)容路由的查詢方法及系統(tǒng)的制作方法
【專利摘要】本申請(qǐng)公開(kāi)了一種內(nèi)容路由的查詢方法及系統(tǒng),該方法包括:獲取待測(cè)內(nèi)容網(wǎng)絡(luò)名字;將所述待測(cè)內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,得到若干個(gè)由字符串組成的名字元素;分別對(duì)每個(gè)名字元素進(jìn)行哈希處理,得到對(duì)應(yīng)的待測(cè)哈希值序列;查詢預(yù)先建立的存儲(chǔ)陣列,存儲(chǔ)陣列中以哈希值的形式存儲(chǔ)有路由列表中所有的信息。本申請(qǐng)通過(guò)預(yù)先將路由列表中的內(nèi)容網(wǎng)絡(luò)名字經(jīng)過(guò)哈希處理,以哈希值的形式存儲(chǔ)在陣列中,然后對(duì)待測(cè)的內(nèi)容網(wǎng)絡(luò)名字同樣進(jìn)行哈希處理,然后進(jìn)行哈希值的匹配工作,完成查詢過(guò)程,相比于傳統(tǒng)的查詢方式,其路由壓縮率更高、搜索效率也更高。
【專利說(shuō)明】一種內(nèi)容路由的查詢方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及通信【技術(shù)領(lǐng)域】,更具體地說(shuō),涉及一種內(nèi)容路由的查詢方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)與應(yīng)用的飛速發(fā)展,以及互聯(lián)網(wǎng)用戶的快速增長(zhǎng),傳統(tǒng)IP網(wǎng)絡(luò)中地址既表示節(jié)點(diǎn)位置信息又表示身份信息的方式混淆了位置和標(biāo)識(shí)的功能界限,在支持內(nèi)容分發(fā)業(yè)務(wù)上的局限性越來(lái)越明顯。
[0003]近年來(lái),將內(nèi)容與主機(jī)在網(wǎng)絡(luò)層分離的改進(jìn)方法引起了廣泛的關(guān)注。以內(nèi)容為中心的網(wǎng)絡(luò)成為未來(lái)網(wǎng)絡(luò)的一種重要模式和發(fā)展趨勢(shì)。內(nèi)容中心網(wǎng)絡(luò)采用全新的網(wǎng)絡(luò)架構(gòu),使用層次化的數(shù)據(jù)名字而不是IP地址進(jìn)行數(shù)據(jù)傳遞,讓數(shù)據(jù)本身成為因特網(wǎng)架構(gòu)中的核心要素。內(nèi)容網(wǎng)絡(luò)的名字由一系列的字符串元素及分隔符組成,采用URL形式直接表示傳輸數(shù)據(jù)。內(nèi)容網(wǎng)絡(luò)直接利用名字轉(zhuǎn)發(fā)數(shù)據(jù)包,作為一種全新的轉(zhuǎn)發(fā)和查詢機(jī)制,其路由查詢也面臨著很大的挑戰(zhàn):名字的長(zhǎng)度可變且沒(méi)有限制增加了查詢的開(kāi)銷;其匹配的是元素字符串而不是IP數(shù)字,傳統(tǒng)的算法效率低下。
[0004]因此,急需一種內(nèi)容路由的查詢機(jī)制,來(lái)快速、準(zhǔn)確的進(jìn)行內(nèi)容路由的查詢。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本申請(qǐng)?zhí)峁┝艘环N內(nèi)容路由的查詢方法及系統(tǒng),用于提供一種內(nèi)容路由的查詢機(jī)制,達(dá)到快速、準(zhǔn)確的進(jìn)行內(nèi)容路由的查詢的目的。
[0006]為了實(shí)現(xiàn)上述目的,現(xiàn)提出的方案如下:
[0007]一種內(nèi)容路由的查詢方法,包括:
[0008]獲取待測(cè)內(nèi)容網(wǎng)絡(luò)名字;
[0009]將所述待測(cè)內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,得到若干個(gè)由字符串組成的名字元素;
[0010]分別對(duì)每個(gè)名字元素進(jìn)行哈希處理,得到對(duì)應(yīng)的待測(cè)哈希值序列;
[0011 ] 查詢預(yù)先建立的存儲(chǔ)陣列;
[0012]其中:所述存儲(chǔ)陣列包括基礎(chǔ)陣列和若干個(gè)過(guò)渡陣列,所述基礎(chǔ)陣列中按照節(jié)點(diǎn)的編號(hào)順序,分別存儲(chǔ)有哈希編碼樹(shù)中各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的名字元素的位置信息,所述位置信息包括:每個(gè)名字元素的狀態(tài)信息所在的過(guò)渡陣列,以及在該過(guò)渡陣列中的偏移量;若干個(gè)所述過(guò)渡陣列按照順序依次排列,每個(gè)所述過(guò)渡陣列中存儲(chǔ)有若干個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息,其中每個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息包括:該節(jié)點(diǎn)對(duì)應(yīng)的路由指針、該節(jié)點(diǎn)對(duì)應(yīng)的子節(jié)點(diǎn)的數(shù)量、子節(jié)點(diǎn)對(duì)應(yīng)的哈希值以及子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào);
[0013]其中,哈希編碼樹(shù)由多個(gè)具有編號(hào)的節(jié)點(diǎn)、各節(jié)點(diǎn)對(duì)應(yīng)保存的名字元素及名字元素的哈希值構(gòu)成,其中各節(jié)點(diǎn)對(duì)應(yīng)保存的名字元素為通過(guò)對(duì)路由列表中所有的內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解而得到的,哈希編碼樹(shù)中處于同一層的節(jié)點(diǎn)分別存儲(chǔ)的是:路由列表中每個(gè)內(nèi)容網(wǎng)絡(luò)名字分解后處于同一層級(jí)的名字元素。
[0014]優(yōu)選地,所述將所述待測(cè)內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,得到若干個(gè)由字符串組成的名字元素,包括:
[0015]以分隔符為標(biāo)志,將所述待測(cè)內(nèi)容網(wǎng)絡(luò)名字分解為若干個(gè)由字符串組成的名字元素。
[0016]優(yōu)選地,所述存儲(chǔ)陣列的建立過(guò)程如下:
[0017]將路由列表中所有的內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,其中每一個(gè)內(nèi)容網(wǎng)絡(luò)名字的分解過(guò)程為:以分隔符為標(biāo)志,將內(nèi)容網(wǎng)絡(luò)名字分解為若干個(gè)由字符串組成的名字元素,按照從左到右的順序,將每一個(gè)名字元素確定為一層;
[0018]將所有的內(nèi)容網(wǎng)絡(luò)名字分解后得到的每一個(gè)名字元素按照其所屬層級(jí)進(jìn)行組合,形成具有層次結(jié)構(gòu)的名字元素樹(shù),該名字元素樹(shù)中除去根節(jié)點(diǎn)外的每個(gè)節(jié)點(diǎn)均存儲(chǔ)有一個(gè)名字元素,保存有同一層名字元素的節(jié)點(diǎn)屬于同一層;
[0019]對(duì)所述名字元素樹(shù)中的每一個(gè)名字元素進(jìn)行哈希處理,得到與每一個(gè)名字元素對(duì)應(yīng)的哈希值,將哈希值與對(duì)應(yīng)的名字元素共同保存在節(jié)點(diǎn)中,得到哈希編碼樹(shù);
[0020]將所述哈希編碼樹(shù)中的每一個(gè)節(jié)點(diǎn)進(jìn)行編號(hào);
[0021 ] 將編號(hào)后的哈希編碼樹(shù)以陣列的形式進(jìn)行存儲(chǔ)。
[0022]優(yōu)選地,所述將編號(hào)后的哈希編碼樹(shù)以陣列的形式進(jìn)行存儲(chǔ),具體為:
[0023]按照編號(hào)順序,將哈希編碼樹(shù)中每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的名字元素的位置信息存儲(chǔ)在基礎(chǔ)陣列中,所述位置信息包括:每個(gè)名字元素的狀態(tài)信息所在的過(guò)渡陣列,以及在該過(guò)渡陣列中的偏移量;
[0024]按照基礎(chǔ)陣列中存儲(chǔ)的每個(gè)名字元素的位置信息的指示,將對(duì)應(yīng)的名字元素的狀態(tài)信息存儲(chǔ)在對(duì)應(yīng)的過(guò)渡陣列中的指定位置處,每個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息包括:該節(jié)點(diǎn)對(duì)應(yīng)的路由指針、該節(jié)點(diǎn)對(duì)應(yīng)的子節(jié)點(diǎn)的數(shù)量、子節(jié)點(diǎn)對(duì)應(yīng)的哈希值以及子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào)。
[0025]優(yōu)選地,所述查詢預(yù)先建立的存儲(chǔ)陣列,包括:
[0026]S1、令基礎(chǔ)陣列中首個(gè)編號(hào)的節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn),令所述待測(cè)哈希值序列中的第一個(gè)哈希值為當(dāng)前哈希值;
[0027]S2、獲取所述當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的位置信息;
[0028]S3、根據(jù)所述當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的位置信息獲取指定的過(guò)渡陣列中當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的狀態(tài)信息;
[0029]S4、判斷當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的狀態(tài)信息中包含的若干個(gè)子節(jié)點(diǎn)分別對(duì)應(yīng)的哈希值組中是否存在與所述當(dāng)前哈希值相同的,若存在,執(zhí)行步驟S5,否則執(zhí)行步驟S8;
[0030]S5、獲取相同哈希值的子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào),并將該節(jié)點(diǎn)編號(hào)確定為基礎(chǔ)陣列中的新的當(dāng)前節(jié)點(diǎn),將所述待測(cè)哈希值序列中的下一個(gè)哈希值確定為新的當(dāng)前哈希值;
[0031]S6、判斷當(dāng)前節(jié)點(diǎn)是否為待測(cè)哈希值序列中最后一個(gè)哈希值,如果是,執(zhí)行步驟S7,否則執(zhí)行步驟S2 ;
[0032]S7、獲取與待測(cè)哈希值序列中最后一個(gè)哈希值相同的哈希值所對(duì)應(yīng)的節(jié)點(diǎn)的路由指針;
[0033]S8、提示查找失敗,退出查詢過(guò)程。
[0034]優(yōu)選地,所述查詢預(yù)先建立的存儲(chǔ)陣列,包括:
[0035]S1、令基礎(chǔ)陣列中首個(gè)編號(hào)的節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn),令所述待測(cè)哈希值序列中的第一個(gè)哈希值為當(dāng)前哈希值;
[0036]S2、獲取所述當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的位置信息;
[0037]S3、根據(jù)所述當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的位置信息獲取指定的過(guò)渡陣列中當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的狀態(tài)信息;
[0038]S4、判斷當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的狀態(tài)信息中包含的若干個(gè)子節(jié)點(diǎn)分別對(duì)應(yīng)的哈希值組中是否存在與所述當(dāng)前哈希值相同的,若存在,執(zhí)行步驟S5,否則執(zhí)行步驟S9;
[0039]S5、獲取相同哈希值的子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào),并將該節(jié)點(diǎn)編號(hào)確定為基礎(chǔ)陣列中的新的當(dāng)前節(jié)點(diǎn),將所述待測(cè)哈希值序列中的下一個(gè)哈希值確定為新的當(dāng)前哈希值;
[0040]S6、判斷當(dāng)前節(jié)點(diǎn)是否為待測(cè)哈希值序列中最后一個(gè)哈希值,如果是,執(zhí)行步驟S7,否則執(zhí)行步驟S2 ;
[0041 ] S7、獲取與待測(cè)哈希值序列中最后一個(gè)哈希值相同的哈希值所對(duì)應(yīng)的節(jié)點(diǎn)的路由指針;
[0042]S9、利用待測(cè)內(nèi)容網(wǎng)絡(luò)名字更新路由列表,退出查詢過(guò)程。
[0043]優(yōu)選地,所述存儲(chǔ)陣列還包括管理陣列,所述管理陣列存儲(chǔ)有每一個(gè)過(guò)渡陣列中空閑存儲(chǔ)條目的起始與終止位置。
[0044]優(yōu)選地,所述對(duì)所述名字元素樹(shù)中的每一個(gè)名字元素進(jìn)行哈希處理,得到與每一個(gè)名字元素對(duì)應(yīng)的哈希值,具體為:
[0045]采用遞歸增量哈希函數(shù)H(h,s)對(duì)名字元素樹(shù)中所有的名字元素進(jìn)行哈希處理,產(chǎn)生一個(gè)連續(xù)的相關(guān)聯(lián)的哈希值序列:
[0046]定義給定名字元素序列S = (X, S1, s2, S3,…Si),其中X為預(yù)設(shè)值,Si為第i個(gè)名字元素,利用哈希函數(shù)H(h,s)進(jìn)行計(jì)算,得到與各個(gè)名字元素對(duì)應(yīng)的哈希值A(chǔ)tl = H(Od)'
Ii1 = H(h0, S1)、h2 = H(h1; s2)...h^ = HOv1, si)。
[0047]一種內(nèi)容路由的查詢系統(tǒng),包括:
[0048]獲取單元,用于獲取待測(cè)內(nèi)容網(wǎng)絡(luò)名字;
[0049]第一分解單元,用于將所述待測(cè)內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,得到若干個(gè)由字符串組成的名字元素;
[0050]第一哈希處理單元,用于分別對(duì)每個(gè)名字元素進(jìn)行哈希處理,得到對(duì)應(yīng)的待測(cè)哈希值序列;
[0051]查詢單元,用于查詢預(yù)先建立的存儲(chǔ)陣列;
[0052]其中:所述存儲(chǔ)陣列包括基礎(chǔ)陣列和若干個(gè)過(guò)渡陣列,所述基礎(chǔ)陣列中按照節(jié)點(diǎn)的編號(hào)順序,分別存儲(chǔ)有哈希編碼樹(shù)中各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的名字元素的位置信息,所述位置信息包括:每個(gè)名字元素的狀態(tài)信息所在的過(guò)渡陣列,以及在該過(guò)渡陣列中的偏移量;若干個(gè)所述過(guò)渡陣列按照順序依次排列,每個(gè)所述過(guò)渡陣列中存儲(chǔ)有若干個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息,其中每個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息包括:該節(jié)點(diǎn)對(duì)應(yīng)的路由指針、該節(jié)點(diǎn)對(duì)應(yīng)的子節(jié)點(diǎn)的數(shù)量、子節(jié)點(diǎn)對(duì)應(yīng)的哈希值以及子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào);
[0053]其中,哈希編碼樹(shù)由多個(gè)具有編號(hào)的節(jié)點(diǎn)、各節(jié)點(diǎn)對(duì)應(yīng)保存的名字元素及名字元素的哈希值構(gòu)成,其中各節(jié)點(diǎn)對(duì)應(yīng)保存的名字元素為通過(guò)對(duì)路由列表中所有的內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解而得到的,哈希編碼樹(shù)中處于同一層的節(jié)點(diǎn)分別存儲(chǔ)的是:路由列表中每個(gè)內(nèi)容網(wǎng)絡(luò)名字分解后處于同一層級(jí)的名字元素。[0054]優(yōu)選地,還包括:
[0055]存儲(chǔ)陣列建立單元,用于建立存儲(chǔ)陣列,所述存儲(chǔ)陣列建立單元包括:
[0056]第二分解單元,用于將路由列表中所有的內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,其中每一個(gè)內(nèi)容網(wǎng)絡(luò)名字的分解過(guò)程為:以分隔符為標(biāo)志,,將內(nèi)容網(wǎng)絡(luò)名字分解為若干個(gè)由字符串組成的名字元素,按照從左到右的順序,將每一個(gè)名字元素確定為一層;
[0057]組合單元,用于將所有的內(nèi)容網(wǎng)絡(luò)名字分解后得到的每一個(gè)名字元素按照其所屬層級(jí)進(jìn)行組合,形成具有層次結(jié)構(gòu)的名字元素樹(shù),該名字元素樹(shù)中除去根節(jié)點(diǎn)外的每個(gè)節(jié)點(diǎn)均存儲(chǔ)有一個(gè)名字元素,保存有同一層名字元素的節(jié)點(diǎn)屬于同一層;
[0058]第二哈希處理單元,用于對(duì)所述名字元素樹(shù)中的每一個(gè)名字元素進(jìn)行哈希處理,得到與每一個(gè)名字元素對(duì)應(yīng)的哈希值,將哈希值與對(duì)應(yīng)的名字元素共同保存在節(jié)點(diǎn)中,得到哈希編碼樹(shù);
[0059]編號(hào)單元,用于將所述哈希編碼樹(shù)中的每一個(gè)節(jié)點(diǎn)進(jìn)行編號(hào);
[0060]存儲(chǔ)單元,用于將編號(hào)后的哈希編碼樹(shù)以陣列的形式進(jìn)行存儲(chǔ)。
[0061 ] 優(yōu)選地,所述存儲(chǔ)單元包括:
[0062]基礎(chǔ)陣列構(gòu)建單元,用于按照編號(hào)順序,將哈希編碼樹(shù)中每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的名字元素的位置信息存儲(chǔ)在基礎(chǔ)陣列中,所述位置信息包括:每個(gè)名字元素的狀態(tài)信息所在的過(guò)渡陣列,以及在該過(guò)渡陣列中的偏移量;
[0063]過(guò)渡陣列構(gòu)建單元,用于按照基礎(chǔ)陣列中存儲(chǔ)的每個(gè)名字元素的位置信息的指示,將對(duì)應(yīng)的名字元素的狀態(tài)信息存儲(chǔ)在對(duì)應(yīng)的過(guò)渡陣列中的指定位置處,每個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息包括:該節(jié)點(diǎn)對(duì)應(yīng)的路由指針、該節(jié)點(diǎn)對(duì)應(yīng)的子節(jié)點(diǎn)的數(shù)量、子節(jié)點(diǎn)對(duì)應(yīng)的哈希值以及子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào)。
[0064]優(yōu)選地,還包括:更新單元,用于在路由列表中不存在與待測(cè)內(nèi)容網(wǎng)絡(luò)名字相同的路由條目時(shí),利用待測(cè)內(nèi)容網(wǎng)絡(luò)名字對(duì)路由列表進(jìn)行更新。
[0065]從上述的技術(shù)方案可以看出,本申請(qǐng)公開(kāi)的內(nèi)容路由的查詢方法,通過(guò)對(duì)獲取的待測(cè)內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,得到若干由字符串組成的名字元素,然后分別對(duì)每個(gè)名字元素進(jìn)行哈希處理,得到對(duì)應(yīng)的待測(cè)哈希值序列,然后查詢預(yù)先建立的存儲(chǔ)陣列,存儲(chǔ)陣列包括基礎(chǔ)陣列和若干個(gè)過(guò)渡陣列,基礎(chǔ)陣列中按照節(jié)點(diǎn)的編號(hào)順序,分別存儲(chǔ)有哈希編碼樹(shù)中各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的名字元素的位置信息,該位置信息包括:每個(gè)名字元素的狀態(tài)信息所在的過(guò)渡陣列,以及在該過(guò)渡陣列中的偏移量;若干個(gè)過(guò)渡陣列按照順序依次排列,每個(gè)過(guò)渡陣列中存儲(chǔ)有若干個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息,其中每個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息包括:該節(jié)點(diǎn)對(duì)應(yīng)的路由指針、該節(jié)點(diǎn)對(duì)應(yīng)的子節(jié)點(diǎn)的數(shù)量、子節(jié)點(diǎn)對(duì)應(yīng)的哈希值以及子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào);其中,哈希編碼樹(shù)由多個(gè)具有編號(hào)的節(jié)點(diǎn)、各節(jié)點(diǎn)對(duì)應(yīng)保存的名字元素及名字元素的哈希值構(gòu)成,其中各節(jié)點(diǎn)對(duì)應(yīng)保存的名字元素為通過(guò)對(duì)路由列表中所有的內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解而得到的,哈希編碼樹(shù)中處于同一層的節(jié)點(diǎn)分別存儲(chǔ)的是:路由列表中每個(gè)內(nèi)容網(wǎng)絡(luò)名字分解后處于同一層級(jí)的名字元素。本申請(qǐng)通過(guò)預(yù)先將路由列表中的內(nèi)容網(wǎng)絡(luò)名字經(jīng)過(guò)哈希處理,以哈希值的形式存儲(chǔ)在陣列中,然后對(duì)待測(cè)的內(nèi)容網(wǎng)絡(luò)名字同樣進(jìn)行哈希處理,然后進(jìn)行哈希值的匹配工作,完成查詢過(guò)程,相比于傳統(tǒng)的查詢方式,其路由壓縮率更高、搜索效率也更高?!緦@綀D】
【附圖說(shuō)明】
[0066]為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0067]圖1為本申請(qǐng)實(shí)施例公開(kāi)的一種內(nèi)容路由的查詢方法流程圖;
[0068]圖2為本申請(qǐng)實(shí)施例公開(kāi)的一種存儲(chǔ)陣列的建立方法流程圖;
[0069]圖3為本申請(qǐng)實(shí)施例公開(kāi)的一種哈希編碼樹(shù)的結(jié)構(gòu)示意圖;
[0070]圖4為本申請(qǐng)實(shí)施例公開(kāi)的一種將編號(hào)后的哈希編碼樹(shù)以陣列形式進(jìn)行存儲(chǔ)的方法流程圖;
[0071]圖5為本申請(qǐng)實(shí)施例公開(kāi)的一種查詢預(yù)先建立的存儲(chǔ)陣列的方法流程圖;
[0072]圖6為本申請(qǐng)實(shí)施例公開(kāi)的另一種查詢預(yù)先建立的存儲(chǔ)陣列的方法流程圖;
[0073]圖7為本申請(qǐng)實(shí)施例公開(kāi)的一種內(nèi)容路由的查詢系統(tǒng)結(jié)構(gòu)示意圖;
[0074]圖8為本申請(qǐng)實(shí)施例公開(kāi)的另一種內(nèi)容路由的查詢系統(tǒng)結(jié)構(gòu)示意圖;
[0075]圖9為本申請(qǐng)實(shí)施例公開(kāi)的一種存儲(chǔ)單元結(jié)構(gòu)示意圖;
[0076]圖10為本申請(qǐng)實(shí)施例公開(kāi)的另一種內(nèi)容路由的查詢系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0077]下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有付出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
[0078]實(shí)施例一
[0079]參見(jiàn)圖1,圖1為本申請(qǐng)實(shí)施例公開(kāi)的一種內(nèi)容路由的查詢方法流程圖。
[0080]如圖1所示,該內(nèi)容路由的查詢方法包括:
[0081]步驟101:獲取待測(cè)內(nèi)容網(wǎng)絡(luò)名字;
[0082]步驟102:將所述待測(cè)內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,得到若干個(gè)由字符串組成的名字元素;
[0083]具體地,每個(gè)內(nèi)容網(wǎng)絡(luò)名字都包含有分隔符,我們以分隔符為標(biāo)志,將待測(cè)內(nèi)容網(wǎng)絡(luò)名字分解為若干個(gè)由字符串組成的名字元素。以內(nèi)容網(wǎng)絡(luò)名字為/org/sina/game/wow舉例,經(jīng)過(guò)分解后,得到順序排列的名字元素:org、sina、game、wow。
[0084]步驟103:分別對(duì)每個(gè)名字元素進(jìn)行哈希處理,得到對(duì)應(yīng)的待測(cè)哈希值序列;
[0085]具體地,哈希處理將字節(jié)較長(zhǎng)的名字元素映射為一個(gè)字節(jié)較短的哈希值,多個(gè)名字元素分別進(jìn)行哈希處理后,得到多個(gè)對(duì)應(yīng)的哈希值,多個(gè)哈希值組成一個(gè)哈希值序列。
[0086]步驟104:查詢預(yù)先建立的存儲(chǔ)陣列。
[0087]其中,所述存儲(chǔ)陣列包括基礎(chǔ)陣列和若干個(gè)過(guò)渡陣列,所述基礎(chǔ)陣列中按照節(jié)點(diǎn)的編號(hào)順序,分別存儲(chǔ)有哈希編碼樹(shù)中各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的名字元素的位置信息,所述位置信息包括:每個(gè)名字元素的狀態(tài)信息所在的過(guò)渡陣列,以及在該過(guò)渡陣列中的偏移量;若干個(gè)所述過(guò)渡陣列按照順序依次排列,每個(gè)所述過(guò)渡陣列中存儲(chǔ)有若干個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息,其中每個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息包括:該節(jié)點(diǎn)對(duì)應(yīng)的路由指針、該節(jié)點(diǎn)對(duì)應(yīng)的子節(jié)點(diǎn)的數(shù)量、子節(jié)點(diǎn)對(duì)應(yīng)的哈希值以及子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào);
[0088]其中,哈希編碼樹(shù)由多個(gè)具有編號(hào)的節(jié)點(diǎn)、各節(jié)點(diǎn)對(duì)應(yīng)保存的名字元素及名字元素的哈希值構(gòu)成,其中各節(jié)點(diǎn)對(duì)應(yīng)保存的名字元素為通過(guò)對(duì)路由列表中所有的內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解而得到的,哈希編碼樹(shù)中處于同一層的節(jié)點(diǎn)分別存儲(chǔ)的是:路由列表中每個(gè)內(nèi)容網(wǎng)絡(luò)名字分解后處于同一層級(jí)的名字元素。
[0089]本申請(qǐng)實(shí)施例提供的方法,通過(guò)預(yù)先將路由列表中的內(nèi)容網(wǎng)絡(luò)名字經(jīng)過(guò)哈希處理,以哈希值的形式存儲(chǔ)在陣列中,然后對(duì)待測(cè)的內(nèi)容網(wǎng)絡(luò)名字同樣進(jìn)行哈希處理,然后進(jìn)行哈希值的匹配工作,完成查詢過(guò)程,相比于傳統(tǒng)的查詢方式,其路由壓縮率更高、搜索效率也更高。
[0090]實(shí)施例二
[0091]本實(shí)施例將介紹存儲(chǔ)陣列的建立過(guò)程,如圖2所示,該過(guò)程包括:
[0092]步驟201:將路由列表中所有的內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解;
[0093]其中每一個(gè)內(nèi)容網(wǎng)絡(luò)名字的分解過(guò)程為:以分隔符為標(biāo)志,將內(nèi)容網(wǎng)絡(luò)名字分解為若干個(gè)由字符串組成的名字元素,按照從左到右的順序,將每一個(gè)名字元素確定為一層。
[0094]步驟202:將所有的內(nèi)容網(wǎng)絡(luò)名字分解后得到的每一個(gè)名字元素按照其所屬層級(jí)進(jìn)行組合,形成具有層次結(jié)構(gòu)的名字元素樹(shù);
[0095]形成的名字元素樹(shù)中除去根節(jié)點(diǎn)外的每個(gè)節(jié)點(diǎn)均存儲(chǔ)有一個(gè)名字元素,保存有同一層名字兀素的節(jié)點(diǎn)屬于同一層。
[0096]步驟203:對(duì)所述名字元素樹(shù)中的每一個(gè)名字元素進(jìn)行哈希處理,得到與每一個(gè)名字元素對(duì)應(yīng)的哈希值,將哈希值與對(duì)應(yīng)的名字元素共同保存在節(jié)點(diǎn)中,得到哈希編碼樹(shù);
[0097]步驟204:將所述哈希編碼樹(shù)中的每一個(gè)節(jié)點(diǎn)進(jìn)行編號(hào);
[0098]步驟205:將編號(hào)后的哈希編碼樹(shù)以陣列的形式進(jìn)行存儲(chǔ)。
[0099] 參見(jiàn)下表1以及附圖3,表1為路由列表,順序存儲(chǔ)有多個(gè)內(nèi)容網(wǎng)絡(luò)名字,每個(gè)內(nèi)容網(wǎng)絡(luò)名字作為一個(gè)路由地址,其通過(guò)分隔符進(jìn)行分隔。圖3中樹(shù)狀結(jié)構(gòu)為經(jīng)過(guò)上述步驟201-204后形成的哈希編碼樹(shù)??芍?,路由列表分解為多個(gè)名字元素后,名字元素分屬與多個(gè)層級(jí)。舉例如:org和com都屬于第二層級(jí),sina、google、baidu、soso、google都屬于第二層級(jí),等等。而哈希編碼樹(shù)也可以分為多個(gè)層級(jí),其中第一層級(jí)為根節(jié)點(diǎn),其不存儲(chǔ)任何信息,第二層級(jí)包括兩個(gè)節(jié)點(diǎn),分別存儲(chǔ)名字元素org和com,第三層級(jí)包括四個(gè)節(jié)點(diǎn),分別存儲(chǔ)名字元素sina、google、baidu、soso和google??梢?jiàn),哈希編碼樹(shù)與名字元素樹(shù)是相互對(duì)應(yīng)的,二者之間互相映射。并且,各節(jié)點(diǎn)在存儲(chǔ)名字元素的同時(shí),還同時(shí)存儲(chǔ)有該名字元素對(duì)應(yīng)的哈希值。
[0100]
【權(quán)利要求】
1.一種內(nèi)容路由的查詢方法,其特征在于,包括: 獲取待測(cè)內(nèi)容網(wǎng)絡(luò)名字; 將所述待測(cè)內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,得到若干個(gè)由字符串組成的名字元素; 分別對(duì)每個(gè)名字元素進(jìn)行哈希處理,得到對(duì)應(yīng)的待測(cè)哈希值序列; 查詢預(yù)先建立的存儲(chǔ)陣列; 其中:所述存儲(chǔ)陣列包括基礎(chǔ)陣列和若干個(gè)過(guò)渡陣列,所述基礎(chǔ)陣列中按照節(jié)點(diǎn)的編號(hào)順序,分別存儲(chǔ)有哈希編碼樹(shù)中各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的名字元素的位置信息,所述位置信息包括:每個(gè)名字元素的狀態(tài)信息所在的過(guò)渡陣列,以及在該過(guò)渡陣列中的偏移量;若干個(gè)所述過(guò)渡陣列按照順序依次排列,每個(gè)所述過(guò)渡陣列中存儲(chǔ)有若干個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息,其中每個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息包括:該節(jié)點(diǎn)對(duì)應(yīng)的路由指針、該節(jié)點(diǎn)對(duì)應(yīng)的子節(jié)點(diǎn)的數(shù)量、子節(jié)點(diǎn)對(duì)應(yīng)的哈希值以及子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào); 其中,哈希編碼樹(shù)由多個(gè)具有編號(hào)的節(jié)點(diǎn)、各節(jié)點(diǎn)對(duì)應(yīng)保存的名字元素及名字元素的哈希值構(gòu)成,其中各節(jié)點(diǎn)對(duì)應(yīng)保存的名字元素為通過(guò)對(duì)路由列表中所有的內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解而得到的,哈希編碼樹(shù)中處于同一層的節(jié)點(diǎn)分別存儲(chǔ)的是:路由列表中每個(gè)內(nèi)容網(wǎng)絡(luò)名字分解后處于同一層級(jí)的名字元素。
2.根據(jù)權(quán)利要求1所述的查詢方法,其特征在于,所述將所述待測(cè)內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,得到若干個(gè)由字符串組成的名字元素,包括: 以分隔符為標(biāo)志,將所述待測(cè)內(nèi)容網(wǎng)絡(luò)名字分解為若干個(gè)由字符串組成的名字元素。
3.根據(jù)權(quán)利要求1所述的查詢方法,其特征在于,所述存儲(chǔ)陣列的建立過(guò)程如下: 將路由列表中所有的內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,其中每一個(gè)內(nèi)容網(wǎng)絡(luò)名字的分解過(guò)程為:以分隔符為標(biāo)志,將內(nèi)容網(wǎng)絡(luò)名字分解為若干個(gè)由字符串組成的名字元素,按照從左到右的順序,將每一個(gè)名字兀素確定為一層; 將所有的內(nèi)容網(wǎng)絡(luò)名字分解后得到的每一個(gè)名字元素按照其所屬層級(jí)進(jìn)行組合,形成具有層次結(jié)構(gòu)的名字元素樹(shù),該名字元素樹(shù)中除去根節(jié)點(diǎn)外的每個(gè)節(jié)點(diǎn)均存儲(chǔ)有一個(gè)名字兀素,保存有同一層名字兀素的節(jié)點(diǎn)屬于同一層; 對(duì)所述名字元素樹(shù)中的每一個(gè)名字元素進(jìn)行哈希處理,得到與每一個(gè)名字元素對(duì)應(yīng)的哈希值,將哈希值與對(duì)應(yīng)的名字元素共同保存在節(jié)點(diǎn)中,得到哈希編碼樹(shù); 將所述哈希編碼樹(shù)中的每一個(gè)節(jié)點(diǎn)進(jìn)行編號(hào); 將編號(hào)后的哈希編碼樹(shù)以陣列的形式進(jìn)行存儲(chǔ)。
4.根據(jù)權(quán)利要求3所述的查詢方法,其特征在于,所述將編號(hào)后的哈希編碼樹(shù)以陣列的形式進(jìn)行存儲(chǔ),具體為: 按照編號(hào)順序,將哈希編碼樹(shù)中每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的名字元素的位置信息存儲(chǔ)在基礎(chǔ)陣列中,所述位置信息包括:每個(gè)名字元素的狀態(tài)信息所在的過(guò)渡陣列,以及在該過(guò)渡陣列中的偏移量; 按照基礎(chǔ)陣列中存儲(chǔ)的每個(gè)名字元素的位置信息的指示,將對(duì)應(yīng)的名字元素的狀態(tài)信息存儲(chǔ)在對(duì)應(yīng)的過(guò)渡陣列中的指定位置處,每個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息包括:該節(jié)點(diǎn)對(duì)應(yīng)的路由指針、該節(jié)點(diǎn)對(duì)應(yīng)的子節(jié)點(diǎn)的數(shù)量、子節(jié)點(diǎn)對(duì)應(yīng)的哈希值以及子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào)。
5.根據(jù)權(quán)利要求4所述的查詢方法,其特征在于,所述查詢預(yù)先建立的存儲(chǔ)陣列,包括: . 51、令基礎(chǔ)陣列中首個(gè)編號(hào)的節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn),令所述待測(cè)哈希值序列中的第一個(gè)哈希值為當(dāng)前哈希值;. 52、獲取所述當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的位置信息;.. 53、根據(jù)所述當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的位置信息獲取指定的過(guò)渡陣列中當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的狀態(tài)信息; . 54、判斷當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的狀態(tài)信息中包含的若干個(gè)子節(jié)點(diǎn)分別對(duì)應(yīng)的哈希值組中是否存在與所述當(dāng)前哈希值相同的,若存在,執(zhí)行步驟S5,否則執(zhí)行步驟S8 ; . 55、獲取相同哈希值的子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào),并將該節(jié)點(diǎn)編號(hào)確定為基礎(chǔ)陣列中的新的當(dāng)前節(jié)點(diǎn),將所述待測(cè)哈希值序列中的下一個(gè)哈希值確定為新的當(dāng)前哈希值; . 56、判斷當(dāng)前節(jié)點(diǎn)是否為待測(cè)哈希值序列中最后一個(gè)哈希值,如果是,執(zhí)行步驟S7,否則執(zhí)行步驟S2 ;. 57、獲取與待測(cè)哈希值序列中最后一個(gè)哈希值相同的哈希值所對(duì)應(yīng)的節(jié)點(diǎn)的路由指針; . 58、提示查找失敗,退出查詢過(guò)程。
6.根據(jù)權(quán)利要求4所述的查詢方法,其特征在于,所述查詢預(yù)先建立的存儲(chǔ)陣列,包括: . 51、令基礎(chǔ)陣列中首個(gè)編號(hào)的節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn),令所述待測(cè)哈希值序列中的第一個(gè)哈希值為當(dāng)前哈希值; . 52、獲取所述當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的位置信息; . 53、根據(jù)所述當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的位置信息獲取指定的過(guò)渡陣列中當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的狀態(tài)信息; . 54、判斷當(dāng)前節(jié)點(diǎn)所對(duì)應(yīng)的名字元素的狀態(tài)信息中包含的若干個(gè)子節(jié)點(diǎn)分別對(duì)應(yīng)的哈希值組中是否存在與所述當(dāng)前哈希值相同的,若存在,執(zhí)行步驟S5,否則執(zhí)行步驟S9 ; . 55、獲取相同哈希值的子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào),并將該節(jié)點(diǎn)編號(hào)確定為基礎(chǔ)陣列中的新的當(dāng)前節(jié)點(diǎn),將所述待測(cè)哈希值序列中的下一個(gè)哈希值確定為新的當(dāng)前哈希值; . 56、判斷當(dāng)前節(jié)點(diǎn)是否為待測(cè)哈希值序列中最后一個(gè)哈希值,如果是,執(zhí)行步驟S7,否則執(zhí)行步驟S2 ; . 57、獲取與待測(cè)哈希值序列中最后一個(gè)哈希值相同的哈希值所對(duì)應(yīng)的節(jié)點(diǎn)的路由指針;. 59、利用待測(cè)內(nèi)容網(wǎng)絡(luò)名字更新路由列表,退出查詢過(guò)程。
7.根據(jù)權(quán)利要求6所述的查詢方法,其特征在于,所述存儲(chǔ)陣列還包括管理陣列,所述管理陣列存儲(chǔ)有每一個(gè)過(guò)渡陣列中空閑存儲(chǔ)條目的起始與終止位置。
8.根據(jù)權(quán)利要求3所述的查詢方法,其特征在于,所述對(duì)所述名字元素樹(shù)中的每一個(gè)名字元素進(jìn)行哈希處理,得到與每一個(gè)名字元素對(duì)應(yīng)的哈希值,具體為: 采用遞歸增量哈希函數(shù)H(h,s)對(duì)名字元素樹(shù)中所有的名字元素進(jìn)行哈希處理,產(chǎn)生一個(gè)連續(xù)的相關(guān)聯(lián)的哈希值序列: 定義給定名字元素序列S= (x, S1, S2, S3,…Si),其中X為預(yù)設(shè)值,Si為第i個(gè)名字元素,利用哈希函數(shù)H(h,s)進(jìn)行計(jì)算,得到與各個(gè)名字元素對(duì)應(yīng)的哈希值==H(h0, S1)、h2 = H(h1; s2) ---hi = HOv1, si)。
9.一種內(nèi)容路由的查詢系統(tǒng),其特征在于,包括: 獲取單元,用于獲取待測(cè)內(nèi)容網(wǎng)絡(luò)名字; 第一分解單元,用于將所述待測(cè)內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,得到若干個(gè)由字符串組成的名字元素; 第一哈希處理單元,用于分別對(duì)每個(gè)名字元素進(jìn)行哈希處理,得到對(duì)應(yīng)的待測(cè)哈希值序列; 查詢單元,用于查詢預(yù)先建立的存儲(chǔ)陣列; 其中:所述存儲(chǔ)陣列包括基礎(chǔ)陣列和若干個(gè)過(guò)渡陣列,所述基礎(chǔ)陣列中按照節(jié)點(diǎn)的編號(hào)順序,分別存儲(chǔ)有哈希編碼樹(shù)中各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的名字元素的位置信息,所述位置信息包括:每個(gè)名字元素的狀態(tài)信息所在的過(guò)渡陣列,以及在該過(guò)渡陣列中的偏移量;若干個(gè)所述過(guò)渡陣列按照順序依次排列,每個(gè)所述過(guò)渡陣列中存儲(chǔ)有若干個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息,其中每個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息包括:該節(jié)點(diǎn)對(duì)應(yīng)的路由指針、該節(jié)點(diǎn)對(duì)應(yīng)的子節(jié)點(diǎn)的數(shù)量、子節(jié)點(diǎn)對(duì)應(yīng)的哈希值以及子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào); 其中,哈希編碼樹(shù)由多個(gè)具有編號(hào)的節(jié)點(diǎn)、各節(jié)點(diǎn)對(duì)應(yīng)保存的名字元素及名字元素的哈希值構(gòu)成,其中各節(jié)點(diǎn)對(duì)應(yīng)保存的名字元素為通過(guò)對(duì)路由列表中所有的內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解而得到的,哈希編碼樹(shù)中處于同一層的節(jié)點(diǎn)分別存儲(chǔ)的是:路由列表中每個(gè)內(nèi)容網(wǎng)絡(luò)名字分解后處于同一層級(jí)的名字元素。
10.根據(jù)權(quán)利要求9所述的查詢系統(tǒng),其特征在于,還包括: 存儲(chǔ)陣列建立單元,用于建立存儲(chǔ)陣列,所述存儲(chǔ)陣列建立單元包括: 第二分解單元,用于將路由列表中所有的內(nèi)容網(wǎng)絡(luò)名字進(jìn)行分解,其中每一個(gè)內(nèi)容網(wǎng)絡(luò)名字的分解過(guò)程為:以分隔符為標(biāo)志,,將內(nèi)容網(wǎng)絡(luò)名字分解為若干個(gè)由字符串組成的名字元素,按照從左到右的順序,將每一個(gè)名字元素確定為一層; 組合單元,用于將所有的內(nèi)容網(wǎng)絡(luò)名字分解后得到的每一個(gè)名字元素按照其所屬層級(jí)進(jìn)行組合,形成具有層次結(jié)構(gòu)的名字元素樹(shù),該名字元素樹(shù)中除去根節(jié)點(diǎn)外的每個(gè)節(jié)點(diǎn)均存儲(chǔ)有一個(gè)名字元素,保存有同一層名字元素的節(jié)點(diǎn)屬于同一層; 第二哈希處理單元,用于對(duì)所述名字元素樹(shù)中的每一個(gè)名字元素進(jìn)行哈希處理,得到與每一個(gè)名字元素對(duì)應(yīng)的哈希值,將哈希值與對(duì)應(yīng)的名字元素共同保存在節(jié)點(diǎn)中,得到哈希編碼樹(shù); 編號(hào)單元,用于將所述哈希編碼樹(shù)中的每一個(gè)節(jié)點(diǎn)進(jìn)行編號(hào); 存儲(chǔ)單元,用于將編號(hào)后的哈希編碼樹(shù)以陣列的形式進(jìn)行存儲(chǔ)。
11.根據(jù)權(quán)利要求10所述的查詢系統(tǒng),其特征在于,所述存儲(chǔ)單元包括: 基礎(chǔ)陣列構(gòu)建單元,用于按照編號(hào)順序,將哈希編碼樹(shù)中每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的名字元素的位置信息存儲(chǔ)在基礎(chǔ)陣列中,所述位置信息包括:每個(gè)名字元素的狀態(tài)信息所在的過(guò)渡陣列,以及在該過(guò)渡陣列中的偏移量; 過(guò)渡陣列構(gòu)建單元,用于按照基礎(chǔ)陣列中存儲(chǔ)的每個(gè)名字元素的位置信息的指示,將對(duì)應(yīng)的名字元素的狀態(tài)信息存儲(chǔ)在對(duì)應(yīng)的過(guò)渡陣列中的指定位置處,每個(gè)節(jié)點(diǎn)的名字元素的狀態(tài)信息包括:該節(jié)點(diǎn)對(duì)應(yīng)的路由指針、該節(jié)點(diǎn)對(duì)應(yīng)的子節(jié)點(diǎn)的數(shù)量、子節(jié)點(diǎn)對(duì)應(yīng)的哈希值以及子節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào)。
12.根據(jù)權(quán)利要求11所述的查詢系統(tǒng),其特征在于,還包括:更新單元,用于在路由列表中不存在與待測(cè)內(nèi)容網(wǎng)絡(luò)名字相同的路 由條目時(shí),利用待測(cè)內(nèi)容網(wǎng)絡(luò)名字對(duì)路由列表進(jìn)行更新。
【文檔編號(hào)】G06F17/30GK104008205SQ201410272574
【公開(kāi)日】2014年8月27日 申請(qǐng)日期:2014年6月18日 優(yōu)先權(quán)日:2014年6月18日
【發(fā)明者】胡宇翔, 申涓, 杜傳震, 伊鵬, 李玉峰, 張傳浩, 王鵬 申請(qǐng)人:中國(guó)人民解放軍信息工程大學(xué)