本發(fā)明涉及一種新型互聯(lián)網(wǎng)資源搜索方法,屬于計(jì)算機(jī)網(wǎng)絡(luò)
技術(shù)領(lǐng)域:
:。
背景技術(shù):
::近些年,研究者使用了很多方法和手段來(lái)完善和優(yōu)化現(xiàn)有互聯(lián)網(wǎng),使其支持更大規(guī)模、更高效率的數(shù)據(jù)資源獲取,如在互聯(lián)網(wǎng)架構(gòu)方面建設(shè)了越來(lái)越多的數(shù)據(jù)中心,在傳輸層面越來(lái)越廣泛地使用p2p等優(yōu)化數(shù)據(jù)傳輸?shù)募夹g(shù),但是這些“打補(bǔ)丁”的方式使得傳統(tǒng)互聯(lián)網(wǎng)體系結(jié)構(gòu)越來(lái)越冗余、功能越來(lái)越復(fù)雜。為此,國(guó)內(nèi)外學(xué)者開展了對(duì)未來(lái)網(wǎng)絡(luò)架構(gòu)重新設(shè)計(jì)的諸多研究,并將其提升到了國(guó)家戰(zhàn)略高度,旨在從根本上考慮解決當(dāng)前互聯(lián)網(wǎng)支撐高效數(shù)據(jù)傳輸?shù)膯?wèn)題。以信息為中心的未來(lái)網(wǎng)絡(luò)體系(informationcentricnetworking,icn),通過(guò)以標(biāo)識(shí)的內(nèi)容取代主機(jī)的地址,實(shí)現(xiàn)基于內(nèi)容名字尋址與路由的新型網(wǎng)絡(luò)架構(gòu),得到了廣泛的關(guān)注,如“命名數(shù)據(jù)網(wǎng)絡(luò)”(nameddatanetworking,ndn)就是其中最為典型的代表方案。與傳統(tǒng)方式相比,ndn基于內(nèi)容名字的尋址路由致力于改變現(xiàn)有的網(wǎng)絡(luò)通信模式,從關(guān)注于“資源在哪里”轉(zhuǎn)變?yōu)椤百Y源是什么”,從實(shí)現(xiàn)基于端地址的轉(zhuǎn)發(fā)轉(zhuǎn)變?yōu)榛谫Y源名字的轉(zhuǎn)發(fā),從而能一定程度上解決路由可擴(kuò)展性、數(shù)據(jù)分發(fā)效率等問(wèn)題。但是icn存在一個(gè)很致命的問(wèn)題,即用戶在通信發(fā)起之前很難準(zhǔn)確給出資源的名字,在當(dāng)前互聯(lián)網(wǎng)環(huán)境中,用戶通常通過(guò)搜索引擎來(lái)搜索和定位資源。但是這種應(yīng)用模式既不智能,且效率低下。所以本專利申請(qǐng)結(jié)合icn的基本概念以及搜索引擎的應(yīng)用模式提出一種創(chuàng)新的資源搜索機(jī)制。與本發(fā)明相關(guān)的現(xiàn)有技術(shù)一ndn通過(guò)對(duì)內(nèi)容的直接命名和基于該名字的尋址支持對(duì)內(nèi)容本身的緩存,并通過(guò)全分布式的逐跳尋址方式保證了對(duì)海量?jī)?nèi)容尋址的效率,其基本的通信模式如圖1所示。首先對(duì)某些內(nèi)容的請(qǐng)求(interest)被發(fā)送給一個(gè)路由器,路由器維護(hù)一個(gè)等待的interest表(pit,pendinginteresttable),該表中維護(hù)了接收到interest但是還沒(méi)有收到對(duì)應(yīng)數(shù)據(jù)包的內(nèi)容信息,這樣ndn路由器就不會(huì)重復(fù)地發(fā)送interest,從而起到一定程度的聚合作用。pit中還包含了某個(gè)內(nèi)容名字對(duì)應(yīng)的請(qǐng)求接口,從而可以在接收到對(duì)應(yīng)數(shù)據(jù)后傳回到請(qǐng)求的接口。另外,內(nèi)容緩存(cs,contentstore)用于緩存接收到的數(shù)據(jù)包,當(dāng)下次再有該內(nèi)容的請(qǐng)求時(shí),路由器可以直接用cs中的數(shù)據(jù)予以響應(yīng)。轉(zhuǎn)發(fā)信息表(forwardinginformationbase,fib)類似于ip網(wǎng)絡(luò)中的路由表,指示某個(gè)內(nèi)容應(yīng)該從哪個(gè)接口去請(qǐng)求。與本發(fā)明相關(guān)的現(xiàn)有技術(shù)二當(dāng)前互聯(lián)網(wǎng)內(nèi)容資源和用戶的直接紐帶就是搜索引擎,一個(gè)搜索引擎通常由搜索器、索引器、檢索器和用戶接口四個(gè)部分組成。搜索器的功能是在互聯(lián)網(wǎng)中漫游,發(fā)現(xiàn)和搜集資源。索引器的功能是理解搜索器所搜索的信息,從中抽取出索引項(xiàng),用于表示文檔以及生成文檔庫(kù)的索引表。檢索器的功能是根據(jù)用戶的輸入的關(guān)鍵詞在索引庫(kù)中快速檢出文檔,進(jìn)行文檔與查詢的相關(guān)度評(píng)價(jià),對(duì)將要輸出的結(jié)果進(jìn)行排序,并實(shí)現(xiàn)某種用戶相關(guān)性反饋機(jī)制。用戶接口的作用是輸入用戶查詢、顯示查詢結(jié)果、提供用戶相關(guān)性反饋機(jī)制。技術(shù)實(shí)現(xiàn)要素:針對(duì)現(xiàn)有技術(shù)中存在的技術(shù)問(wèn)題,本發(fā)明目的在于提供一種新型互聯(lián)網(wǎng)資源搜索方法。本發(fā)明主要包括:1)提出一種新型互聯(lián)網(wǎng)資源管理架構(gòu),包括資源池和指針池兩個(gè)層面;2)提出基于資源描述的直接尋址機(jī)制。本發(fā)明的技術(shù)方案為:一種新型互聯(lián)網(wǎng)資源搜索方法,其步驟為:1)將描述資源的每一獨(dú)立特征設(shè)置一個(gè)或多個(gè)資源關(guān)鍵詞,并設(shè)置每一資源關(guān)鍵詞的描述信息;2)設(shè)置多個(gè)指針?lè)?wù)器,用于維護(hù)注冊(cè)到互聯(lián)網(wǎng)中的資源關(guān)鍵詞及其對(duì)應(yīng)內(nèi)容所在的資源服務(wù)器名字;設(shè)置多個(gè)路由設(shè)備,用于維護(hù)資源關(guān)鍵詞的描述信息、資源數(shù)據(jù),其中每一路由設(shè)備設(shè)置一默認(rèn)的指針?lè)?wù)器名字;3)路由設(shè)備a對(duì)于收到的資源查詢請(qǐng)求,根據(jù)該資源查詢請(qǐng)求中的資源描述匹配自己緩存的資源數(shù)據(jù),如果找到對(duì)應(yīng)的資源,則直接返回給對(duì)應(yīng)請(qǐng)求端;否則該路由設(shè)備a將該資源查詢請(qǐng)求中的跳限值遞減1,然后將該資源查詢請(qǐng)求廣播到下一跳路由設(shè)備b;如果路由設(shè)備b有匹配的資源,則直接返回給路由設(shè)備a,路由設(shè)備a將返回信息發(fā)送該請(qǐng)求端;如果路由設(shè)備b中沒(méi)有匹配的資源,則繼續(xù)廣播該資源查詢請(qǐng)求,直到該資源查詢請(qǐng)求的跳限被遞減為0;當(dāng)路由設(shè)備i收到該資源查詢請(qǐng)求,路由設(shè)備i中沒(méi)有匹配的資源且跳限被遞減為0時(shí),路由設(shè)備i將該查詢請(qǐng)求發(fā)送給對(duì)應(yīng)的默認(rèn)指針?lè)?wù)器;該指針?lè)?wù)器根據(jù)該資源查詢請(qǐng)求查詢匹配的資源關(guān)鍵詞,將其對(duì)應(yīng)的資源服務(wù)器的名字給該路由設(shè)備i進(jìn)行內(nèi)容請(qǐng)求,然后將獲取的內(nèi)容沿該資源查詢請(qǐng)求的逆向路徑傳回給該請(qǐng)求端。進(jìn)一步的,當(dāng)發(fā)布者將一資源注冊(cè)在一所述指針?lè)?wù)器上時(shí),各指針?lè)?wù)器之間互相進(jìn)行數(shù)據(jù)同步。進(jìn)一步的,每一所述獨(dú)立特征設(shè)置一描述起始標(biāo)志和一描述結(jié)束標(biāo)志;同一獨(dú)立特征的各資源關(guān)鍵詞的描述信息位于為該獨(dú)立特征的描述起始標(biāo)志與描述結(jié)束標(biāo)志之間。進(jìn)一步的,每一資源關(guān)鍵詞的所述描述信息包括類型、長(zhǎng)度和值。進(jìn)一步的,所述路由設(shè)備中如果沒(méi)有匹配的資源,則繼續(xù)廣播該資源查詢請(qǐng)求并記錄該資源查詢請(qǐng)求尚未得到回復(fù)。進(jìn)一步的,所述路由設(shè)備以等待請(qǐng)求表pit的模式記錄該資源查詢請(qǐng)求尚未得到回復(fù)。進(jìn)一步的,所述路由設(shè)備根據(jù)pit信息將返回信息發(fā)送該請(qǐng)求端。與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為:基于本發(fā)明,互聯(lián)網(wǎng)用戶將可以直接根據(jù)關(guān)鍵詞對(duì)內(nèi)容進(jìn)行定位和尋址,最大程度優(yōu)化了互聯(lián)網(wǎng)尋址效率并保證了用戶的最佳體驗(yàn)。附圖說(shuō)明圖1為ndn路由原理圖;圖2為資源描述格式圖;圖3為資源管理圖;圖4為效果對(duì)比圖。具體實(shí)施方式下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方法進(jìn)行進(jìn)一步詳細(xì)描述。1資源描述為了以可擴(kuò)展的模式承載和傳遞資源描述,本專利申請(qǐng)使用“類型-長(zhǎng)度-值(type-length-value,tlv)”的格式描述資源的獨(dú)立特征,如圖2所示。其中,描述起始標(biāo)志和描述結(jié)束標(biāo)志為描述資源的關(guān)鍵詞的起始和結(jié)束,在這中間的關(guān)鍵詞以多個(gè)tlv的形式組織。本發(fā)明中每一獨(dú)立特征對(duì)應(yīng)一個(gè)或多個(gè)資源關(guān)鍵詞,本發(fā)明要描述每一資源關(guān)鍵詞的類型、長(zhǎng)度和關(guān)鍵詞(即值),便于查詢和維護(hù)。在實(shí)際應(yīng)用中,如果一獨(dú)立特征有多個(gè)關(guān)鍵詞,則將對(duì)應(yīng)的多個(gè)屬性(即tlv)可以放在同一個(gè)interest中,即對(duì)某一特定資源的多種維度的描述。2資源管理架構(gòu)本專利申請(qǐng)將資源管理分為兩個(gè)層次:指針層維護(hù)注冊(cè)到互聯(lián)網(wǎng)中的資源關(guān)鍵詞和維護(hù)其內(nèi)容的服務(wù)器名字;資源層維護(hù)資源關(guān)鍵詞描述、資源數(shù)據(jù)以及默認(rèn)的指針?lè)?wù)器名字,如圖3所示?!裰羔槍泳S護(hù)著資源的關(guān)鍵詞以及對(duì)應(yīng)資源所在的服務(wù)器名字,如果存在內(nèi)容更新,指針?lè)?wù)器之間互相進(jìn)行數(shù)據(jù)同步;比如當(dāng)新產(chǎn)生了一個(gè)內(nèi)容,發(fā)布者將其注冊(cè)在一個(gè)特定的指針?lè)?wù)器上,那么指針層的服務(wù)器之間要對(duì)其信息進(jìn)行同步,從而使用戶查詢?nèi)魏我慌_(tái)指針?lè)?wù)器都能檢索到該資源?!褓Y源層由路由設(shè)施組成,路由設(shè)施基本功能類似于ndn路由器(根據(jù)名字進(jìn)行轉(zhuǎn)發(fā)表的構(gòu)建并對(duì)資源數(shù)據(jù)進(jìn)行緩存),但是所維護(hù)的內(nèi)容增加了內(nèi)容的關(guān)鍵詞描述以及默認(rèn)的指針?lè)?wù)器的名字。即每個(gè)路由設(shè)備被配置一個(gè)默認(rèn)的指針?lè)?wù)器,用于在沒(méi)有匹配資源緩存以及在規(guī)定跳數(shù)內(nèi)找不到資源時(shí)進(jìn)行直接尋址。3資源尋址機(jī)制當(dāng)用戶發(fā)起對(duì)于某個(gè)資源的請(qǐng)求時(shí),按照如下流程進(jìn)行尋址:1)用戶首先根據(jù)該資源的關(guān)鍵詞構(gòu)建資源描述;2)用戶將該資源描述發(fā)送給資源層的路由設(shè)備進(jìn)行資源請(qǐng)求,請(qǐng)求消息中設(shè)置跳限;3)資源層的路由設(shè)備首先用資源描述匹配自己的資源緩存,如果找到對(duì)應(yīng)的資源,則直接返回給用戶;否則,該路由設(shè)備將請(qǐng)求消息中的跳限值遞減1,并將消息廣播到附近的下一跳路由設(shè)備,并以類似于ndn的pit的模式將請(qǐng)求記錄下表示該請(qǐng)求尚未得到回復(fù);4)如果下一跳路由器有匹配的資源,則直接返回給上一跳路由器,上一跳路由器根據(jù)pit的信息返回給發(fā)送該請(qǐng)求的接口;5)否則,請(qǐng)求消息將被繼續(xù)進(jìn)行廣播,直到跳限被遞減為0。這表明在有效范圍內(nèi)并沒(méi)有找到匹配的資源。最后一跳的路由設(shè)備將直接向自己的默認(rèn)指針?lè)?wù)器發(fā)送請(qǐng)求,由指針?lè)?wù)器在指針層進(jìn)行匹配;6)如果指針?lè)?wù)器在指針層匹配到資源,則返回對(duì)應(yīng)資源服務(wù)器的名字,由路由器進(jìn)行內(nèi)容請(qǐng)求,并沿請(qǐng)求的逆向路徑傳回給請(qǐng)求者;否則的話,路由器將收到錯(cuò)誤提示,表示沒(méi)有匹配資源,路由器進(jìn)一步沿請(qǐng)求的逆向路徑傳回給請(qǐng)求者,請(qǐng)求者將據(jù)此修訂資源描述。示例:例如,用戶想找一張brucelee的照片,那么就在interest中包含如下特征描述:t1=name,l1=9,v1=bruceleet2=profession,l2=10,v2=moviestart3=format,l3=7,v3=picture按照上文描述,如果路由器沒(méi)有該匹配資源,就會(huì)向鄰居路由器進(jìn)行該interest的廣播,并將跳限遞減一。如果某路由器發(fā)現(xiàn)跳限為0,則向其默認(rèn)指針?lè)?wù)器查詢,并根據(jù)指針?lè)?wù)器返回的發(fā)布源地址請(qǐng)求該圖片資源。并延著interest逆向路徑傳回該圖片,沿途的路由器緩存該圖片資源及其對(duì)應(yīng)資源描述。效果分析:為對(duì)比當(dāng)前基于tcp/ip協(xié)議體系的互聯(lián)網(wǎng)內(nèi)容搜索,本專利假設(shè)請(qǐng)求節(jié)點(diǎn)位于網(wǎng)絡(luò)中心,傳播請(qǐng)求的跳限為h。在跳限內(nèi)的路由節(jié)點(diǎn)數(shù)量為n。路由器的拓?fù)錇槎鏄?這一模型被廣泛應(yīng)用于ndn緩存管理性能分析中)。所以,假設(shè)第一跳內(nèi)的路由器數(shù)量為n1,那么第二跳的路由器數(shù)量為21n1,以此類推,.第h跳的路由器數(shù)量為:n=n1+21n1+22n1+...+2h-1n1=(2h-1)n1另外,假設(shè)請(qǐng)求內(nèi)容的流行度為q(表示在n個(gè)路由器中緩存了該內(nèi)容的路由器的比例),所以:其中,x是緩存了該內(nèi)容的路由器數(shù)量,且他們均勻分布在n個(gè)路由器之間。這就意味著,如果所有的路由器都緩存了該內(nèi)容,那么q=1;反之,如果該內(nèi)容流行度為0,那么q=0。如果probe/feedback的一跳往返傳輸時(shí)延為α,任一路由器到內(nèi)容源或者指針?lè)?wù)器的時(shí)延為β,那么本專利所提方案的平均內(nèi)容檢索時(shí)延為而在基本tcp/ip網(wǎng)絡(luò)中,平均時(shí)延為l2=2β。那么假設(shè)所假設(shè)參數(shù)n1,h,α和β分別取值為5,3,10毫秒(ms)和20ms,那么本專利所提搜索方法與傳統(tǒng)互聯(lián)網(wǎng)資源搜索方法的平均內(nèi)容搜索時(shí)間比較為如圖4所示,隨之資源層中緩存該內(nèi)容的路由器數(shù)量的增多,本專利所提方案能以更低的延時(shí)搜索到請(qǐng)求資源,這歸功于路由器的緩存。但是傳統(tǒng)的搜索機(jī)制并沒(méi)有路由路由器緩存功能,所以也無(wú)法區(qū)分內(nèi)容流行度,一直以固定時(shí)延搜索內(nèi)容。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12