欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

內(nèi)容定向的索引和搜索方法與系統(tǒng)的制作方法

文檔序號(hào):6499541閱讀:243來源:國知局
專利名稱:內(nèi)容定向的索引和搜索方法與系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及各種文件的索引和搜索,特別是二進(jìn)制文件,例如包括軟件程序和補(bǔ)丁在內(nèi)的可執(zhí)行文件,包括RAR文件和ZIP文件在內(nèi)的壓縮文件,包括數(shù)字圖象、MP3文件和其他視頻與音頻文件的多媒體文件。本發(fā)明還涉及對(duì)上述文件進(jìn)行索引和搜索后的排序,以及快速可靠地搜索和下載上述文件的方法。
背景技術(shù)
在當(dāng)今日益復(fù)雜的技術(shù)世界,用于索引和搜索因特網(wǎng)內(nèi)容的方法在大量的內(nèi)容豐富的應(yīng)用中充當(dāng)了很重要的角色,例如普通的因特網(wǎng)搜索引擎或企業(yè)搜索引擎。
搜索引擎通常包括四個(gè)核心部分搜索蜘蛛(Spider)、語法分析器(Parser)或索引器(Indexer)、查詢引擎(Query engine)和Web界面。搜索蜘蛛又稱為機(jī)器人(Robot)或網(wǎng)絡(luò)爬蟲(Web crawler),是基于Web的搜索引擎的核心。搜索蜘蛛是一種獨(dú)立的網(wǎng)絡(luò)客戶端程序,它能自動(dòng)地連接到Web服務(wù)器并請(qǐng)求網(wǎng)頁。其中會(huì)對(duì)響應(yīng)進(jìn)行檢查,如果請(qǐng)求成功,則可獲取網(wǎng)頁并建立索引。在建立索引階段,將文本網(wǎng)頁內(nèi)的詞與詞位置等其他信息一起存入索引內(nèi)。創(chuàng)建的搜索引擎索引在原理上與書的索引相似。書的索引針對(duì)特定詞,而搜索引擎的索引包含有詞以及對(duì)包含有這些詞的網(wǎng)頁的參考。對(duì)某一關(guān)鍵字創(chuàng)建索引后,查詢引擎將提供對(duì)包含有該關(guān)鍵字的網(wǎng)頁的搜索。由于包含某一特定關(guān)鍵字的網(wǎng)頁數(shù)量很大,因而還需要根據(jù)某些特定規(guī)則對(duì)這些網(wǎng)頁進(jìn)行排序,例如,根據(jù)被其他網(wǎng)頁引用的數(shù)量進(jìn)行排序。最后,使用Web界面瀏覽匹配網(wǎng)頁的分類表。Web界面的設(shè)計(jì)和布置不屬于本申請(qǐng)的范圍。
總之,文本W(wǎng)eb搜索引擎對(duì)Web執(zhí)行增量掃描和分析,提取關(guān)鍵字,并生成索引以便之后響應(yīng)用戶的查詢進(jìn)行搜索。二進(jìn)制Web搜索引擎更為復(fù)雜。以下介紹的圖片Web搜索引擎便是其中的一個(gè)例子。如果可以基于每張圖片的內(nèi)容手動(dòng)加入關(guān)鍵字,便可以像文本網(wǎng)頁一樣進(jìn)行索引和搜索。但是,這需要大量的體力勞動(dòng)對(duì)Web上的圖片添加標(biāo)識(shí)。無可置疑的,這種方法實(shí)際不可行,因?yàn)閃eb上存在大量的不斷增加的圖片。
為了使搜索過程能自動(dòng)進(jìn)行,Web搜索引擎一般使用圖片的文件名或其他文字來標(biāo)識(shí)該圖片。但是,這種方法生成的搜索結(jié)果很差。Web上的多數(shù)圖片都沒有合適的文件名來表達(dá)其內(nèi)容。此外,文件名一般都很短,而且多數(shù)文件名只有數(shù)字,不能準(zhǔn)確清楚的描述文件的內(nèi)容。而且這也進(jìn)一步降低了搜索結(jié)果的準(zhǔn)確性。此外,由于因特網(wǎng)的全球性,Web上的圖片使用各種不同的語言來標(biāo)識(shí)和描述,這進(jìn)一步使索引和搜索正確的圖片文件的過程變得復(fù)雜了。
多數(shù)現(xiàn)在使用的索引和搜索技術(shù)使用文本來實(shí)現(xiàn)前面介紹的索引和搜索過程。此外,少數(shù)索引和搜索技術(shù)以圖片文件為目標(biāo),關(guān)注于圖片的特定屬性,例如顏色、亮度、線條的樣式等等。這種方法在以下引用文件中給出了介紹Chad Carson等,BlobworldA system for region-based image indexing andretrieval,the Third Int.Conf.on Visual Information Systems,June 1999;Anil K.Jain and Aditya Vailaya,Image retrieval using color and shape,Pattern Recognition,29(8),1996;以及Michael Ortega等,Supporting Similarity Queries in MARS,ACM Multimedia 97.盡管這一方法是對(duì)純文本搜索方法的一種改進(jìn),但這種方法對(duì)其搜索的二進(jìn)制文件的類型以及用于查找目標(biāo)文件的參數(shù)仍存在局限性。此外,二進(jìn)制Web搜索引擎還需要解決下載問題,因?yàn)槎M(jìn)制文件可能非常大。然而,很少有搜索方法提供了對(duì)這一問題的解決方案。因此,急需提出一種改進(jìn)的索引和搜索方法,以便能夠定位和下載使用現(xiàn)有的方法不容易準(zhǔn)確提供的想要的二進(jìn)制文件。

發(fā)明內(nèi)容
本發(fā)明提出并介紹了一種內(nèi)容定向的索引和搜索(Content Oriented IndexaNd Search,簡稱COINS)技術(shù)。COINS介紹了一種根據(jù)唯一標(biāo)識(shí)二進(jìn)制文件的簽名對(duì)所述二進(jìn)制文件(例如多媒體文件)進(jìn)行索引,并通過對(duì)在索引階段建立的索引圖進(jìn)行遍歷(walk through)來搜索相關(guān)文件的方法。具體來說,COINS可用于精確地標(biāo)識(shí)一個(gè)唯一內(nèi)容的多個(gè)源(根據(jù)URLs),該多個(gè)源可用于增加下載速度。最后,COINS還可與基于文本的索引和搜索技術(shù)相結(jié)合來實(shí)現(xiàn)二進(jìn)制文件搜索引擎,其中以二進(jìn)制文件的URL作為搜索結(jié)果,而不再以Web文件的URL為搜索結(jié)果。
本發(fā)明提供一種生成二進(jìn)制文件索引圖數(shù)據(jù)庫的方法和系統(tǒng),包括如下步驟獲取目標(biāo)二進(jìn)制文件列表,其內(nèi)包含有目標(biāo)二進(jìn)制文件的主要識(shí)別信息;使用合適的算法計(jì)算所述二進(jìn)制文件的內(nèi)容簽名;存儲(chǔ)所述內(nèi)容簽名及與所述內(nèi)容簽名對(duì)應(yīng)之文件的識(shí)別信息,從而組成所述二進(jìn)制文件索引圖數(shù)據(jù)庫。
本發(fā)明的一個(gè)實(shí)施例中,提供一種方法和系統(tǒng),用于進(jìn)一步識(shí)別與多個(gè)二進(jìn)制文件相關(guān)的關(guān)鍵字,所述多個(gè)二進(jìn)制文件具有相同的文件內(nèi)容簽名,以及將所述多個(gè)關(guān)鍵字合并為關(guān)鍵字集合,從而將所述文件內(nèi)容簽名與所述關(guān)鍵字集合相關(guān)聯(lián)。
另一個(gè)方面,本發(fā)明還提供一種生成文件內(nèi)容簽名的方法和系統(tǒng),包括如下步驟將所述文件分割為大小合適的多個(gè)片段;使用合適的算法計(jì)算所述片段的內(nèi)容簽名,從而獲得多個(gè)片段內(nèi)容簽名;基于所述多個(gè)片段內(nèi)容簽名生成所述文件內(nèi)容簽名。
根據(jù)本發(fā)明的又一個(gè)方面,還提供一種生成文件內(nèi)容簽名的方法和系統(tǒng),包括如下步驟將所述文件分割為大小合適的多個(gè)片段;從每個(gè)片段中提取多個(gè)樣本;使用合適的算法利用所述片段的多個(gè)樣本來計(jì)算所述每個(gè)片段的內(nèi)容簽名,從而獲得多個(gè)片段內(nèi)容簽名;基于所述多個(gè)片段內(nèi)容簽名生成所述文件內(nèi)容簽名。
本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,提供一種方法和系統(tǒng),使用合適的算法例如SHA-1基于所述片段簽名來計(jì)算所述文件的內(nèi)容簽名,從而替代將所述片段鏈接在一起的方案。
根據(jù)本發(fā)明的再一個(gè)方面,提供一種搜索因特網(wǎng)上的二進(jìn)制文件的方法和系統(tǒng),包括如下步驟接收來自發(fā)起源的包含有目標(biāo)二進(jìn)制文件的搜索查詢;在索引圖數(shù)據(jù)庫中找出多個(gè)內(nèi)容簽名,所述多個(gè)內(nèi)容簽名鏈接至多個(gè)二進(jìn)制文件,并鏈接至描述所述多個(gè)二進(jìn)制文件的多個(gè)關(guān)鍵字和文件識(shí)別信息;將與所述搜索查詢相關(guān)的所述多個(gè)二進(jìn)制文件呈現(xiàn)給所述發(fā)起源。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種下載目標(biāo)二進(jìn)制文件的方法和系統(tǒng),包括如下步驟生成索引圖數(shù)據(jù)庫,所述索引圖數(shù)據(jù)庫包含有多個(gè)二進(jìn)制文件的文件識(shí)別信息以及使用合適算法計(jì)算出的與所述多個(gè)二進(jìn)制文件對(duì)應(yīng)的文件內(nèi)容簽名;接收來自發(fā)起源的針對(duì)目標(biāo)二進(jìn)制文件的下載查詢,其中所述目標(biāo)二進(jìn)制文件在所述索引圖數(shù)據(jù)庫內(nèi)鏈接至對(duì)應(yīng)的內(nèi)容簽名,且所述對(duì)應(yīng)的內(nèi)容簽名鏈接至多個(gè)具有相同內(nèi)容簽名的二進(jìn)制文件URL;從所述多個(gè)文件URL下載所述目標(biāo)二進(jìn)制文件的多個(gè)部分;在發(fā)起源的機(jī)器內(nèi)整合所述目標(biāo)二進(jìn)制文件的所述多個(gè)部分以獲得完整的目標(biāo)二進(jìn)制文件。
本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,提供一種驗(yàn)證所述下載的二進(jìn)制文件的完整性的方法和系統(tǒng),另一個(gè)優(yōu)選實(shí)施例中,本發(fā)明提供一種再下載和恢復(fù)下載的目標(biāo)二進(jìn)制文件的錯(cuò)誤部分的方法和系統(tǒng)。


以下附圖組成說明書的一部分,對(duì)本發(fā)明的實(shí)施例給出說明,并與對(duì)實(shí)施例的描述一起解釋本發(fā)明。
圖1是使用本發(fā)明的索引和搜索技術(shù)的四層COINS系統(tǒng)的示意圖;圖2是本發(fā)明索引圖的一個(gè)示例,特別是兩個(gè)多媒體文件有著相同的內(nèi)容的示例圖;圖3-1、3-2和3-3是遍歷本發(fā)明索引圖的第一級(jí)搜索過程的示意圖;圖4-1和4-2是遍歷本發(fā)明索引圖的第二級(jí)搜索過程的示意圖;圖5是本發(fā)明的索引和搜索方法在端到服務(wù)器和端(P2SP)內(nèi)容傳遞網(wǎng)絡(luò)(CDN)下載引擎領(lǐng)域的應(yīng)用示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行具體的描述。但這些具體描述不是對(duì)本發(fā)明的限制。相反,其只是用于解釋本發(fā)明。
系統(tǒng)結(jié)構(gòu)圖1是總體系統(tǒng)的示意圖,其中包括四層索引層101、搜索層102、排序?qū)?03和應(yīng)用層,該應(yīng)用層又包括二進(jìn)制文件搜索引擎104和下載引擎105。本申請(qǐng)中所使用的術(shù)語“二進(jìn)制文件”包括多媒體文件,例如數(shù)字圖片、MP3文件、數(shù)字視頻文件和其他音頻和視頻文件。所述二進(jìn)制文件還包含其他文件,例如可執(zhí)行文件和壓縮文件(如RAR文件和Zip文件)。索引層101為底層,它對(duì)由搜索蜘蛛獲取的網(wǎng)頁在該層中進(jìn)行分析,并對(duì)該網(wǎng)頁內(nèi)的二進(jìn)制文件的URL以及周圍語境(context)的文本進(jìn)行檢索和索引。然后,在該層中建立索引圖和語境索引映射圖。第二層是搜索層102,該層提供隱式搜索(implicitsearch)和顯式搜索(explicit search)兩種服務(wù)。COINS搜索即為遍歷COINS索引圖的過程。第三層為排序?qū)?03,能通過加權(quán)屬性和內(nèi)容相關(guān)性對(duì)搜索結(jié)果進(jìn)行排序。最后,第四層基于COINS包括兩個(gè)應(yīng)用COINS二進(jìn)制文件搜索引擎104和下載引擎105。
COINS技術(shù)是本發(fā)明的核心,其提供一種通過內(nèi)容或數(shù)字簽名來索引和搜索因特網(wǎng)上的二進(jìn)制文件(例如可執(zhí)行文件和多媒體文件)的模型。本節(jié)首先介紹內(nèi)容簽名,然后集中討論索引層、搜索層和排序?qū)拥脑O(shè)計(jì),最后解釋COINS多媒體文件搜索引擎和下載引擎。
內(nèi)容簽名內(nèi)容簽名用于標(biāo)識(shí)COINS索引中的文件的唯一性。如果兩個(gè)文件具有相同的內(nèi)容簽名,即使該兩個(gè)文件存放在兩個(gè)不同的URL下,這兩個(gè)文件也將被作為相同文件來處理。這一點(diǎn)對(duì)搜索和下載因特網(wǎng)上包括有不同多媒體文件例如圖片、MP3和音頻/視頻的二進(jìn)制文件來說非常重要。例如,一張圖片有時(shí)可能出現(xiàn)在不同的網(wǎng)頁上,具有不同的名稱不同的描述。然而,傳統(tǒng)的搜索引擎將這種情況視為不同的圖片,而本發(fā)明可正確地將其視為相同的圖片。因此,本發(fā)明可用于明顯地提高下載速度,同時(shí)提高搜索結(jié)果以及排序的精確性和相關(guān)性。
內(nèi)容簽名計(jì)算算法實(shí)際用于計(jì)算內(nèi)容簽名的算法可根據(jù)執(zhí)行者的選擇而不同。唯一需要注意的是,要使用能保證每個(gè)計(jì)算結(jié)果的唯一性的算法。本發(fā)明可以采用各種算法來計(jì)算內(nèi)容簽名,例如戴維斯-邁耶(Davies-Meyer)哈希函數(shù)。其中,可直接使用、或經(jīng)過用戶化后使用“安全內(nèi)容哈?!狈椒▉碛?jì)算二進(jìn)制文件的內(nèi)容簽名。這種方法又稱為“安全哈希算法”(SHA)。
安全哈希算法SHA-1用于計(jì)算消息或數(shù)據(jù)文件的壓縮形式。當(dāng)輸入任何長度小于264位的消息時(shí),SHA-1生成160位的輸出,稱為消息摘要。然后將該消息摘要輸入簽名算法,由該簽名算法生成或驗(yàn)證該消息的簽名。
SHA-1被稱為是安全的,是因?yàn)樵撍惴ú豢赡苷业綄?duì)應(yīng)給定消息摘要的消息,或不可能找到生成相同消息摘要的兩個(gè)消息。
關(guān)于詳細(xì)的計(jì)算介紹,請(qǐng)參考因特網(wǎng)RFC 3174,其可以從鏈接獲得http//www.faqs.org/rfcs/rfc3174.html。
生成內(nèi)容簽名的方法二進(jìn)制文件一般都很大。因此,如果整個(gè)文件需要由SHA-1算法進(jìn)行計(jì)算以生成內(nèi)容簽名并將其傳遞給服務(wù)器,將需要占用大量的資源。一種改進(jìn)方法是將該文件分割成每個(gè)大小為256K(或其他大小)的N個(gè)片段(最后一個(gè)片段可能沒有256K),并從每個(gè)片段中取樣。例如,從一個(gè)片段中提取的樣本可以是該片段的開始部分,也可以是該片段的結(jié)尾部分。有些時(shí)候,提取的樣本可以是該片段的開始部分和結(jié)尾部分的結(jié)合。
取樣后,本發(fā)明可基于經(jīng)SHA-1算出的樣本而計(jì)算片段內(nèi)容簽名。[mx8]所述片段內(nèi)容簽名可鏈接在一起表示源文件的簽名。但是,缺點(diǎn)是簽名通常會(huì)比較長(例如,假設(shè)每個(gè)片段ID為20字節(jié),1GB的文件的簽名將為20字節(jié)*4000=80KB)。因此,將在客戶端與服務(wù)器之間占用大量的計(jì)算資源,包括網(wǎng)絡(luò)資源、CPU資源、內(nèi)存以及存儲(chǔ)器資源,以用于執(zhí)行內(nèi)容簽名相關(guān)計(jì)算,例如內(nèi)容簽名的完整性校驗(yàn)過程中的計(jì)算。
本發(fā)明介紹了一種明顯減少所需的計(jì)算資源且不會(huì)影響簽名的準(zhǔn)確性的新方法。代替將片段ID鏈接在一起,本發(fā)明再次使用SHA-1算法基于這些片段ID計(jì)算出簽名。然后將這一簽名用作內(nèi)容簽名。使用這種方法的好處是增加了標(biāo)識(shí)將要搜索或下載的文件的效率,并同時(shí)減少簽名的大小,以及減少了需要的計(jì)算資源,特別是減少了網(wǎng)絡(luò)流量。
COINS索引COINS索引包括統(tǒng)一資源標(biāo)識(shí)符(URI)索引圖和語境索引映射圖。
COINS URI索引圖該索引圖包含有幾種類型的元素,一般用于描述和標(biāo)識(shí)二進(jìn)制文件,包括內(nèi)容簽名、頁面URI和文件URI。后兩個(gè)元素又稱為文件的主要識(shí)別信息。此外,二進(jìn)制文件還可以有其他類型的識(shí)別信息,包括但不限于周圍的語境文本例如錨文本(anchor text)和描述文本,以及文件URI屬性例如文件大小和文件協(xié)議等。這些定義為文件的次要識(shí)別信息。主要識(shí)別信息和次要識(shí)別信息一起定義為文件識(shí)別信息。
本申請(qǐng)中,符號(hào)(P)用于表示頁面URI,(F)用于表示文件URI,(C)用于表示內(nèi)容簽名。由于“統(tǒng)一資源定位”(URL)的概念是“URI”的子集,因而頁面URI的一個(gè)示例便是頁面URL,文件RUI的一個(gè)示例便是文件URL。(P)和(F)之間存在多對(duì)多的映射關(guān)系?!岸鄬?duì)多”是指多個(gè)文件到多個(gè)頁面之間的內(nèi)部鏈接,反之亦然。
此外,定義以下條件理論1如果其對(duì)應(yīng)的(C)相同,任何兩個(gè)不同的(F)指向相同的文件。
理論2任何(F)可從多個(gè)(P)引出,同時(shí)任何(P)可指向多個(gè)(F)。
索引原理基于索引文本的傳統(tǒng)技術(shù)的輸出是關(guān)鍵字列表,它指向具有該關(guān)鍵字的網(wǎng)頁。不同地是,COINS索引的輸出是包含(P)、(F)和(C)的三維圖。(P)和(F)構(gòu)成用于遍歷搜索索引圖的主要二維圖,(C)位于第三維,與(F)有鏈接。
索引方法搜索蜘蛛程序通過分析(P)來掃描因特網(wǎng),(P)是通過輸入的源網(wǎng)址以及從源網(wǎng)址遞歸的引用網(wǎng)址找出。當(dāng)搜索蜘蛛程序發(fā)現(xiàn)一個(gè)合適的目標(biāo)二進(jìn)制文件(F)時(shí),計(jì)算其(C)。如果(P)中含有(F),增加一個(gè)從(P)到(F)的鏈接。同樣地,如果兩個(gè)文件生成相同的(C),增加從兩個(gè)(F)到(C)的兩個(gè)鏈接,盡管這兩個(gè)(F)的文件名和地址可能完全不同。因此,便可以建立3-D索引圖數(shù)據(jù)庫,并且將出現(xiàn)的多對(duì)多關(guān)系按照上述定義的條件在該數(shù)據(jù)庫中表示出來。
圖表建立索引圖后,理解其如何用于查找想要的二進(jìn)制文件很重要。圖2所示為索引圖的一種可能形式。如圖所示,一個(gè)(F)可被多個(gè)(P)引用。例如,F(xiàn)3被P1、P3、P4和P5引用。同時(shí),一組(F)可來自一個(gè)(P),例如F1、F2和F3均來自P1。最后,如圖中所示,有兩個(gè)(F)即F5和F8指向位于第三維的一個(gè)(C2)。這表示位于F5和F8的文件具有完全相同的內(nèi)容。也就是說,F(xiàn)5和F8指向相同的文件。
語境索引映射圖語境是一組與關(guān)鍵字相關(guān)的語言,用于描述一個(gè)文件。對(duì)于具有相同(C)的文件,他們的語境可以合并或相結(jié)合。因此便可能獲得具有相同(C)的(F)的列表與一組關(guān)鍵字之間的映射關(guān)系。
此外,關(guān)鍵字在語境中出現(xiàn)的次數(shù)被記錄下來。當(dāng)將兩個(gè)語境合并時(shí),如果該關(guān)鍵字在兩個(gè)語境中都有出現(xiàn),則將給定關(guān)鍵字對(duì)應(yīng)的在兩個(gè)語境中出現(xiàn)的次數(shù)相加。因此,關(guān)鍵詞結(jié)果集如下{關(guān)鍵詞1*次數(shù)1,…,關(guān)鍵詞i*次數(shù)i}。這樣的話,便可以建立映射關(guān)系列表,每個(gè)映射與以下表示類似{(F1),…,(Fi)}→(C)→{關(guān)鍵詞1*次數(shù)1,…,關(guān)鍵詞i*次數(shù)i}執(zhí)行以上步驟后,進(jìn)行反向處理以生成每個(gè)關(guān)鍵字和(C)列表之間的新的映射關(guān)系如下關(guān)鍵字i→{(C1)*次數(shù)1,…,(Ci)*次數(shù)i}…,其中每個(gè)(C)還映射至(F)列表結(jié)果,搜索關(guān)鍵字“關(guān)鍵字i”生成多個(gè)(C),其中每個(gè)(C)與多個(gè)(F)相關(guān)聯(lián)。更重要的是,通過遍歷該索引圖,可以找到更多相關(guān)的(F)。
COINS搜索搜索二進(jìn)制文件可分為顯式搜索和隱式搜索。顯式搜索從用戶界面通過自動(dòng)生成的關(guān)鍵字或者終端用戶輸入的關(guān)鍵字來觸發(fā)(更像傳統(tǒng)搜索引擎的搜索)。隱式搜索由一個(gè)事件觸發(fā),例如從下載引擎應(yīng)用程序下載文件。本發(fā)明使用的搜索查詢可以是關(guān)鍵字或文件URI。在隱式搜索和顯式搜索這兩種搜索中,搜索查詢都可以是關(guān)鍵字或者文件URI。
搜索推論當(dāng)從因特網(wǎng)顯式地或隱式地搜索任何(F)時(shí),對(duì)COINS索引圖執(zhí)行遍歷可生成相當(dāng)大量的搜索結(jié)果。這些結(jié)果一般包含有嵌入(P)內(nèi)的多種商業(yè)邏輯。該商業(yè)邏輯可以是瑞奇馬丁新發(fā)行的專輯或拉丁男歌手的MP3文件的匯集。
定義COINS搜索,是指為搜索某一特定二進(jìn)制文件而進(jìn)行的遍歷索引圖的過程[mx9]。
為了開始所述搜索即遍歷過程,深度優(yōu)先(DFS)或廣度優(yōu)先(BFS)搜索算法皆可被用于遍歷索引圖。DFS和BFS是以系統(tǒng)的方式瀏覽索引圖的有效方法。這兩種方法從定向圖中的一個(gè)節(jié)點(diǎn)v(圖中的任意一個(gè)節(jié)點(diǎn))開始,并訪問從節(jié)點(diǎn)v可以到達(dá)的所有節(jié)點(diǎn)。這兩種方法的區(qū)別在于其訪問節(jié)點(diǎn)的順序。
DFS首先從最近訪問之節(jié)點(diǎn)的邊界(edge)進(jìn)行查找,也就是說,DFS首先盡可能的往深度方向查找。
BFS按源節(jié)點(diǎn)被訪問的順序查找其邊界。它首先查找當(dāng)前節(jié)點(diǎn)所有邊界,然后訪問下一個(gè)節(jié)點(diǎn)。
遍歷將生成(F)的列表。所述遍歷的步驟可直觀化為如下1.搜索目標(biāo)二進(jìn)制文件(F4)的搜索查詢被輸入系統(tǒng)。此搜索查詢可來自任一發(fā)起源,例如終端用戶/客戶端,或下載引擎生成的計(jì)算機(jī)命令,或通過其他合適的方式產(chǎn)生。為啟動(dòng)所述搜索過程,反向引用三個(gè)(P)(P2)、(P4)和(P6)。結(jié)果,根據(jù)反向引用的(P2)、(P4)和(P6),可以獲得額外的四個(gè)(F),標(biāo)識(shí)為(F2)、(F3)、(F6)和(F8)。這在圖3-1、3-2和3-3中示出。第一步中,該組(P)的深度為1。
2.對(duì)于從前一步驟中獲得的四個(gè)(F)中的每一個(gè),執(zhí)行相同的反向查找以獲得另一組(P)(P1)、(P3)和(P5)。然后可以進(jìn)一步獲得一組三個(gè)(F)(F1)、(F5)和(F7)。這在圖4-1和4-2中示出。第二步中,該組(P)的深度為2。
3.通過遞歸,可對(duì)整個(gè)索引圖進(jìn)行遍歷直至遇到中止條件。該中止條件包括但不限于*遍歷的深度數(shù),*匯集的(F)的總數(shù)量,*遍歷的超時(shí),*訪問的(P)的數(shù)量。
4.為了避免索引圖遍歷的無止盡的循環(huán),可忽略對(duì)較高深度級(jí)實(shí)體的引用。換句話說,步驟2中不會(huì)訪問(P2)、(P4)和(P6),因?yàn)槠渖疃葹?,已經(jīng)在第一層的遍歷中被訪問過了。
COINS排序搜索過程完成后,一組二進(jìn)制文件被呈現(xiàn)給終端用戶。呈現(xiàn)的二進(jìn)制文件包括與目標(biāo)二進(jìn)制文件相同的文件,或者與目標(biāo)二進(jìn)制文件不同但通過其共享的共用商業(yè)邏輯或其他文件屬性與目標(biāo)二進(jìn)制文件相關(guān)的文件。
通常情況下,從索引和搜索過程獲得的結(jié)果還需要進(jìn)一步進(jìn)行排序和分類,以便于該搜索結(jié)果更有用。因此,作為本發(fā)明的一個(gè)實(shí)施例,還需要根據(jù)幾個(gè)對(duì)象模型對(duì)搜索結(jié)果進(jìn)行評(píng)估和排序。
對(duì)象模型以下關(guān)鍵信息將在對(duì)象模型[mx11]中被存儲(chǔ),以增強(qiáng)排序結(jié)果以及實(shí)現(xiàn)增值商業(yè)邏輯。
·(P)將存儲(chǔ)訪問次數(shù)、引用次數(shù)、實(shí)時(shí)服務(wù)器或?qū)Φ葞?、在線狀態(tài)等。
·(F)將存儲(chǔ)引用期、訪問次數(shù)、源、源狀態(tài)(即帶寬、在線等)等。通過加權(quán)屬性排序(C)列表或源(F)加權(quán)屬性可在各種引擎中進(jìn)行定制。具體來說,在下載引擎中,加權(quán)屬性可基于以下確定*文件平均下載速度*文件下載次數(shù)*可用資源數(shù)量*文件大小因此,如果下載更快并且更流行的話,該(C)可以得到更高的排序。通過內(nèi)容相關(guān)性排序(C)列表或源(F)通過內(nèi)容相關(guān)性排序(C)列表主要基于相關(guān)的關(guān)鍵字“次數(shù)”值。例如,使用關(guān)鍵字“Hello World”搜索時(shí),在語境索引映射表內(nèi)具有如下關(guān)系“Hello”→{(C1)*50,(C2)*25}“World”→{(C2)*30,(C3)*17}然后,生成的(C)的排序組為{(C2),(C1),(C3)},因?yàn)?C)的對(duì)應(yīng)次數(shù)組為{(25+30),50,17}。
(F)的訪問次數(shù)將訪問次數(shù)作為排序規(guī)則之一,是本發(fā)明的首創(chuàng)。訪問次數(shù)指被終端用戶訪問的總數(shù)量。但是,如果(Fi)和(Fj)指向同一(C),則認(rèn)為(Fi)或(Fj)的訪問次數(shù)為Count(Fi)和Count(Fj)的總和。
最后值得指出的是,這種策略也可應(yīng)用于一般的搜索引擎。
(F)列表的排序列表(F)的排序是(F)的加權(quán)屬性的函數(shù)。對(duì)于搜索結(jié)果列表中的每個(gè)(F),可計(jì)算出一個(gè)排序值。排序計(jì)算應(yīng)該掌握以下這些事實(shí)1)搜索深度級(jí)level(n)(F)沒有l(wèi)evel(n-1)(F)的相關(guān)性高;
2)從其包含的實(shí)體的引用次數(shù)次數(shù)越大,該(F)越流行,因此終端用戶越感興趣。在不止一個(gè)(F)映射至同一個(gè)(C)的情況下,每個(gè)(F)的引用次數(shù)是所有(F)的引用次數(shù)的總和。例如,如果a)(F1)→(C)且(F2)→(C),以及b)RC((F1))=10且RC((F2))=15c)則,F(xiàn)RC(F1||F2)=RC((F1))+RC((F2))=25]]>d)同樣,如果(F1)→(C1),(F2)→(C2),且(C1)<>(C2),則FRC(F1)=RC(F1)且FRC(F2)=RC(F2)其中RC指引用次數(shù)的函數(shù),F(xiàn)RC指最后引用次數(shù)的函數(shù),(C1)<>(C2)表示C1不等于C2。
3)來自終端用戶的累積訪問次數(shù)訪問次數(shù)越多,該(F)對(duì)于終端用戶來說越流行。
4)(F)的類型相同類型(可能有不同的擴(kuò)展名),例如音樂文件,意味著更大的相關(guān)性。
5)其包含的實(shí)體的訪問次數(shù)(P)包含的實(shí)體得到的訪問越多,(F)對(duì)于終端用戶來說越流行。
6)自定義掛鉤(Custom Hook)為應(yīng)用程序提供入口點(diǎn)以輸入與應(yīng)用程序相關(guān)的屬性。
注意,上述每個(gè)屬性具有相關(guān)聯(lián)的系數(shù),該系數(shù)受實(shí)時(shí)調(diào)整的影響。COINS搜索引擎和下載引擎以下將詳細(xì)介紹COINS索引和搜索方法用于因特網(wǎng)搜索和文件下載的實(shí)際系統(tǒng)。以下結(jié)合COINS索引和搜索過程介紹了兩種方法和系統(tǒng)。一個(gè)是針對(duì)二進(jìn)制內(nèi)容的基于COINS的搜索引擎,另一個(gè)是可優(yōu)化內(nèi)容傳遞的基于COINS的下載引擎。
COINS搜索引擎二進(jìn)制搜索引擎提供搜索二進(jìn)制文件例如可執(zhí)行文件和多媒體文件的服務(wù),不僅可以從因特網(wǎng)搜索,還可以從P2SP網(wǎng)絡(luò)搜索。此處使用的術(shù)語“P2SP”指端對(duì)服務(wù)器和端計(jì)算方法。換言之,與其他的P2P網(wǎng)絡(luò)相比,P2SP網(wǎng)絡(luò)包括有服務(wù)器也包括有對(duì)等機(jī)。以下是對(duì)COINS搜索引擎如何工作以及如何利用COINS的不同部分建立該搜索引擎的詳細(xì)描述。
1)搜索前,先通過搜索蜘蛛和終端用戶的日常使用建立包括有URI索引圖和語境索引映射圖的COINS索引數(shù)據(jù)庫。
2)搜索過程中,基于關(guān)鍵字分割策略分析用戶的輸入,以便生成有意義的一組關(guān)鍵字。
3)針對(duì)每個(gè)關(guān)鍵字,搜索該語境映射圖以獲取一組(C)。此步中使用的語境映射圖是在COINS索引過程中生成的第二映射關(guān)鍵字i→{(C1)*次數(shù)1,…,(Ci)*次數(shù)i}4)根據(jù)次數(shù)信息對(duì)該組(C)進(jìn)行排序。
5)針對(duì)步驟3中得到的每個(gè)(C),從在COINS索引過程中生成的第一映射圖中導(dǎo)出一組源(F){(F1),…,(Fi)})→(C)→{關(guān)鍵字1*次數(shù)1,…,關(guān)鍵字i*次數(shù)i}6)在步驟5中得到的(F)上執(zhí)行COINS搜索,以獲得一組最終的(F)。
COINS下載引擎下載引擎引入了P2SP的概念。如果可從多個(gè)源下載某一內(nèi)容,便可以明顯地提高數(shù)據(jù)獲取速度(通過并行地從多個(gè)計(jì)算較快的源獲取數(shù)據(jù)的各個(gè)部分)以及數(shù)據(jù)訪問的穩(wěn)定性(通過避免網(wǎng)絡(luò)忙和某些時(shí)候的無效鏈接)。所述源可以是因特網(wǎng)服務(wù)器或?qū)Φ葯C(jī)或兩者都有。
執(zhí)行該操作的關(guān)鍵是獲得用于獲取數(shù)據(jù)的目標(biāo)因特網(wǎng)服務(wù)器和對(duì)等機(jī)的列表。這可以通過COINS解決。
內(nèi)容傳遞推論當(dāng)嘗試從因特網(wǎng)獲取任何(F)時(shí),內(nèi)容傳遞系統(tǒng)可通過COINS智能地選擇除了提供該(F)的原始源之外的任何源來下載(F),因?yàn)橐呀?jīng)確定位于這些源的內(nèi)容是相同的,這是由相同的內(nèi)容簽名來保證的。
以下是對(duì)COINS下載引擎如何工作的描述
1)在終端用戶的機(jī)器內(nèi)安裝客戶端軟件。
2)下載前或下載過程中,建立COINS URI索引圖。
3)客戶端發(fā)送下載目標(biāo)二進(jìn)制文件的下載請(qǐng)求給服務(wù)器,由服務(wù)器使用COINS搜索能提供將要下載的內(nèi)容的源。一組因特網(wǎng)服務(wù)器和對(duì)等機(jī)以URL的形式被返回,盡管該URL可能具有不同的因特網(wǎng)協(xié)議、不同的路徑和不同的文件名,但它們都能提供將要下載的內(nèi)容。在COINS搜索索引圖數(shù)據(jù)庫的過程中,在索引數(shù)據(jù)庫中查找目標(biāo)二進(jìn)制文件。如果數(shù)據(jù)庫中已包括有該目標(biāo)二進(jìn)制文件的文件URI,則將該目標(biāo)二進(jìn)制文件的內(nèi)容簽名鏈接至所述搜索查詢。如果數(shù)據(jù)庫中未含有該目標(biāo)二進(jìn)制文件的文件URI,則計(jì)算該目標(biāo)二進(jìn)制文件的內(nèi)容簽名并存儲(chǔ)在數(shù)據(jù)庫中。這一內(nèi)容簽名用于鏈接至數(shù)據(jù)庫中具有相同內(nèi)容簽名的其他文件URI。
4)客戶端繼續(xù)以并行地方式從不同的源下載文件的各個(gè)部分,該不同的源包括不同的服務(wù)器和不同的對(duì)等機(jī)。成功下載后,客戶端將數(shù)據(jù)的各個(gè)部分結(jié)合成一個(gè)文件。
5)客戶端通過比較從剛下載的數(shù)據(jù)中計(jì)算出的內(nèi)容簽名與存儲(chǔ)在服務(wù)器中的內(nèi)容簽名來執(zhí)行文件完整性驗(yàn)證。如果內(nèi)容簽名相同,則下載結(jié)束。
6)如果在上一步中內(nèi)容簽名不匹配,客戶端需要有效地識(shí)別出被破壞的片段。一個(gè)解決方法是循序地比較已下載的數(shù)據(jù)與存儲(chǔ)在服務(wù)器內(nèi)的數(shù)據(jù)的片段ID。然而,這一方法對(duì)于容量大的文件來說占用的資源相當(dāng)大。例如,假設(shè)每個(gè)片段為256K且每個(gè)片段ID為20字節(jié),1GB的游戲文件將有4000個(gè)片段ID,這樣的話,4000次的片段ID比較將產(chǎn)生服務(wù)器內(nèi)的80K帶寬占用。相反,以下將介紹一種計(jì)算有效的方法,稱為“在下載引擎內(nèi)使用內(nèi)容簽名的有限分治算法(The limited Divide-and-Conquer Algorithms with ContentSignature in Downloading Engine)”。
該算法將片段ID分割成兩部分A和B,并使用相同的內(nèi)容簽名計(jì)算方法計(jì)算每一部分的簽名。然后在客戶端和服務(wù)器之間比較簽名A和B。如果簽名A匹配,則表示A部分下載正確。但是如果不匹配,則將A部分再分割成兩部分,并重復(fù)上述處理。
如果被破壞的片段數(shù)量大且隨機(jī)的分布在一個(gè)文件內(nèi),則使用上述分治算法的代價(jià)也很大。因此,本方法設(shè)置可以查找的最大深度。例如,最大為3的深度只需要7次ID比較,在服務(wù)器內(nèi)占用140字節(jié)的帶寬,便可以找出任何被破壞的部分。這種情況下,每個(gè)部分是該文件的1/8。
7)客戶端設(shè)法下載被破壞的部分,該部分的簽名需要在下載后進(jìn)行校驗(yàn)。
為了更好的理解下載引擎應(yīng)用,分析以下給出的一例子假設(shè)Red Hat Linux發(fā)布其9.1版本的操作系統(tǒng)后,許多內(nèi)容(鏡像)站點(diǎn)都存儲(chǔ)有該新版本操作系統(tǒng)的副本,以便服務(wù)其成員。同時(shí),多個(gè)Linux終端用戶開始設(shè)法(快速)下載。接近100MB的下載使得一些知名站點(diǎn)變得混亂,導(dǎo)致服務(wù)器極度繁忙,因此出現(xiàn)終端用戶全球等待的現(xiàn)象。
作為示例,圖5中由網(wǎng)絡(luò)爬蟲或搜索蜘蛛程序建立的索引圖顯示,標(biāo)識(shí)為(FL)的待下載的Linux新版本實(shí)際上可從標(biāo)識(shí)為(FL)、(F3)和(F7)的三個(gè)服務(wù)器源以及標(biāo)識(shí)為(F12)的一個(gè)對(duì)等源獲得。
源的實(shí)際格式可根據(jù)不同的實(shí)現(xiàn)而不同。此處,服務(wù)器源定義為(FL)為http//www.redhatlinux.com/releases/download/linux9-2-l.zip(F3)為ftp//218.105.114.2543044/pub/software/topl0/linux9-2-l.zip(F7)為ftp//219.101.18.20/pub/linux/linux-latest.Zip同樣,在一對(duì)等機(jī)上的該源定義為jxta//uri-334/linux-latest-9-2-l.zip。
請(qǐng)注意,(FL)和(F3)具有相同的文件名linux9-2-l.zip,而(F7)和(F12)具有不同的文件名。但是,由于他們的內(nèi)容簽名相同,他們都指向相同的文件。
結(jié)果,根據(jù)這種設(shè)計(jì)建立的下載應(yīng)用程序可選擇從不止一個(gè)源中獲取該新發(fā)布的Linux操作系統(tǒng)軟件的各個(gè)部分。實(shí)際上,這一下載策略將服務(wù)器帶寬的瓶頸轉(zhuǎn)移至下載客戶端。此外,服務(wù)器單點(diǎn)傳輸失敗的情況下(因服務(wù)器忙或與該服務(wù)器的連接很差),客戶端仍然可從其他源獲取該軟件。
簡而言之,上述的智能和自動(dòng)路由使用核心索引圖,并且該過程對(duì)終端用戶來說是透明的??梢越⑷重?fù)載平衡器來有效地減少任何內(nèi)容服務(wù)器在遇到無法預(yù)料或預(yù)料之中的流量擁塞時(shí)傳輸失敗的可能性。
本申請(qǐng)中引用的所有專利、公開物、網(wǎng)站內(nèi)容和其他資料和文件,無論是印刷或電子格式,都作為本申請(qǐng)的一部分。
以上對(duì)本發(fā)明的具體實(shí)施例的描述僅出于解釋和說明的目的,不是將本發(fā)明窮盡或限制為上述公開的具體形式。根據(jù)上述內(nèi)容的教導(dǎo),還可以做出各種修改和變更??芍景l(fā)明的范圍不受這些具體描述的限制,而由本申請(qǐng)的權(quán)利要求來限定。上述說明、示例和數(shù)據(jù)提供了對(duì)實(shí)施本發(fā)明的完整描述。由于還可以對(duì)本發(fā)明提出各種實(shí)施例而不脫離本發(fā)明的精神和范圍,因此本發(fā)明的范圍取決于權(quán)利要求及其等效替換。
權(quán)利要求
1.一種生成二進(jìn)制文件索引圖數(shù)據(jù)庫的方法,其特征在于,包括如下步驟a)獲取目標(biāo)二進(jìn)制文件列表,其內(nèi)包含有目標(biāo)二進(jìn)制文件的主要識(shí)別信息;b)使用合適的算法計(jì)算所述二進(jìn)制文件的內(nèi)容簽名;c)存儲(chǔ)所述內(nèi)容簽名及與所述內(nèi)容簽名對(duì)應(yīng)之文件的識(shí)別信息,從而組成所述二進(jìn)制文件的索引圖數(shù)據(jù)庫。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括如下步驟a)識(shí)別與多個(gè)二進(jìn)制文件相關(guān)的關(guān)鍵字,所述多個(gè)二進(jìn)制文件具有相同的文件內(nèi)容簽名;b)將所述多個(gè)關(guān)鍵字合并為關(guān)鍵字集合,從而將所述文件內(nèi)容簽名與所述關(guān)鍵字集合相關(guān)聯(lián)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,進(jìn)一步包括對(duì)所述關(guān)鍵字集合內(nèi)的關(guān)鍵字進(jìn)行排序,使得具有最高出現(xiàn)頻率的關(guān)鍵字首先與所述文件內(nèi)容簽名相關(guān)聯(lián)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述文件的識(shí)別信息包括主要識(shí)別信息和次要識(shí)別信息。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述文件的主要識(shí)別信息包括頁面URI和文件URI。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述文件的次要識(shí)別信息包括錨文本、描述文本、文件大小和文件協(xié)議。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述頁面URI為頁面URL,且所述文件URI為文件URL。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述用于計(jì)算內(nèi)容簽名的算法包括SHA-1算法。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述子步驟c)中,所述內(nèi)容簽名及識(shí)別信息存儲(chǔ)在多個(gè)計(jì)算機(jī)上。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述多個(gè)計(jì)算機(jī)包括一個(gè)或多個(gè)中心服務(wù)器計(jì)算機(jī)和客戶端計(jì)算機(jī)。
11.一種搜索因特網(wǎng)上的二進(jìn)制文件的方法,其特征在于,包括如下步驟a)接收來自發(fā)起源的針對(duì)目標(biāo)二進(jìn)制文件的搜索查詢;b)在索引圖數(shù)據(jù)庫中找出多個(gè)內(nèi)容簽名,所述多個(gè)內(nèi)容簽名鏈接至多個(gè)二進(jìn)制文件,并鏈接至描述所述多個(gè)二進(jìn)制文件的多個(gè)關(guān)鍵字和文件識(shí)別信息;c)將與所述搜索查詢相關(guān)的所述多個(gè)二進(jìn)制文件呈現(xiàn)給所述發(fā)起源。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述搜索查詢是搜索關(guān)鍵字或文件URI。
13.根據(jù)權(quán)利要求11所述的方法,其特征在于,進(jìn)一步包括計(jì)算所述目標(biāo)二進(jìn)制文件的內(nèi)容簽名的步驟。
14.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述步驟b)包括如下步驟a)鏈接所述目標(biāo)二進(jìn)制文件與多個(gè)包含有所述目標(biāo)二進(jìn)制文件的頁面URI;b)鏈接所述多個(gè)頁面URI中的每個(gè)頁面URI與多個(gè)文件URI。
15.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述步驟b)包括如下步驟a)鏈接所述目標(biāo)二進(jìn)制文件與多個(gè)包含有所述目標(biāo)二進(jìn)制文件的頁面URI;b)鏈接所述多個(gè)頁面URI中的每個(gè)頁面URI與多個(gè)文件URI;c)重復(fù)所述步驟a)和步驟b)直至遇到中止條件。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述中止條件包括從以下條件組選擇出的任一中止條件a)遍歷索引圖數(shù)據(jù)庫的深度數(shù);b)所收集文件的總數(shù);c)遍歷索引圖數(shù)據(jù)庫的超時(shí);d)訪問的頁面數(shù)。
17.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述發(fā)起源為終端用戶傳入的輸入。
18.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述發(fā)起源為計(jì)算機(jī)生成的命令。
19.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述步驟c)進(jìn)一步包括根據(jù)多個(gè)預(yù)定因素對(duì)所述多個(gè)二進(jìn)制文件排序的步驟。
20.根據(jù)權(quán)利要求19所述的方法,其特征在于,所述預(yù)定因素包括文件內(nèi)容相關(guān)性或文件加權(quán)平均值。
21.根據(jù)權(quán)利要求20所述的方法,其特征在于,所述文件的文件加權(quán)平均值包括至少以下一種文件平均下載速度、文件下載次數(shù)、可用源的數(shù)量或文件大小。
22.根據(jù)權(quán)利要求20所述的方法,其特征在于,所述文件內(nèi)容相關(guān)性包括至少以下一種文件的訪問次數(shù)、引用次數(shù)或文件類型。
23.一種生成文件內(nèi)容簽名的方法,其特征在于,包括如下步驟a)將所述文件分割為大小合適的多個(gè)片段;b)使用合適的算法計(jì)算所述片段的內(nèi)容簽名,從而獲得多個(gè)片段內(nèi)容簽名;c)基于所述多個(gè)片段內(nèi)容簽名生成所述文件內(nèi)容簽名。
24.根據(jù)權(quán)利要求23所述的方法,其特征在于,所述步驟c)包括通過鏈接所述多個(gè)片段內(nèi)容簽名來生成所述文件內(nèi)容簽名。
25.根據(jù)權(quán)利要求23所述的方法,其特征在于,所述步驟c)包括通過使用合適的算法計(jì)算所述多個(gè)片段內(nèi)容簽名來生成所述文件內(nèi)容簽名,從而獲得所述文件內(nèi)容簽名。
26.一種生成文件內(nèi)容簽名的方法,其特征在于,包括如下步驟a)將所述文件分割為大小合適的多個(gè)片段;b)從每個(gè)片段中提取多個(gè)樣本;c)使用合適的算法、利用所述片段的多個(gè)樣本來計(jì)算所述每個(gè)片段的內(nèi)容簽名,從而獲得多個(gè)片段內(nèi)容簽名;d)基于所述多個(gè)片段內(nèi)容簽名生成所述文件內(nèi)容簽名。
27.根據(jù)權(quán)利要求23[LQ1]所述的方法,其特征在于,所述步驟d)包括通過鏈接所述多個(gè)片段內(nèi)容簽名來生成所述文件內(nèi)容簽名。
28.根據(jù)權(quán)利要求23[LQ2]所述的方法,其特征在于,所述步驟d)包括通過使用合適的算法計(jì)算所述多個(gè)片段內(nèi)容簽名來生成所述文件內(nèi)容簽名,從而獲得所述文件內(nèi)容簽名。
29.根據(jù)權(quán)利要求23所述的方法,其特征在于,所述片段的大小不大于256K。
30.根據(jù)權(quán)利要求23所述的方法,其特征在于,所述合適的算法為SHA-1。
31.根據(jù)權(quán)利要求26所述的方法,其特征在于,所述樣本包括所述文件[mx3]的開始部分和結(jié)尾部分。
32.根據(jù)權(quán)利要求26所述的方法,其特征在于,所述樣本包括所述文件[mx4]的開始部分或結(jié)尾部分。
33.一種下載目標(biāo)二進(jìn)制文件的方法,其特征在于,包括如下步驟a)生成索引圖數(shù)據(jù)庫,其中包含有多個(gè)二進(jìn)制文件的文件識(shí)別信息,以及使用合適算法計(jì)算出的與所述多個(gè)二進(jìn)制文件對(duì)應(yīng)的文件內(nèi)容簽名;b)接收來自發(fā)起源的針對(duì)目標(biāo)二進(jìn)制文件的下載查詢,其中所述目標(biāo)二進(jìn)制文件在所述索引圖數(shù)據(jù)庫內(nèi)鏈接至對(duì)應(yīng)的內(nèi)容簽名,且所述對(duì)應(yīng)的內(nèi)容簽名鏈接至多個(gè)具有相同內(nèi)容簽名的二進(jìn)制文件URL;c)從所述多個(gè)文件URL下載所述目標(biāo)二進(jìn)制文件的多個(gè)[mx5]部分;d)在發(fā)起源的機(jī)器內(nèi)整合所述目標(biāo)二進(jìn)制文件的所述多個(gè)部分,以獲得完整的目標(biāo)二進(jìn)制文件。
34.根據(jù)權(quán)利要求33所述的方法,其特征在于,所述下載查詢是關(guān)鍵字或文件URI。
35.根據(jù)權(quán)利要求33所述的方法,其特征在于,進(jìn)一步包括驗(yàn)證所述下載的目標(biāo)二進(jìn)制文件的完整性的步驟。
36.根據(jù)權(quán)利要求35所述的方法,其特征在于,進(jìn)一步包括再下載和恢復(fù)所述已下載的目標(biāo)二進(jìn)制文件中的錯(cuò)誤部分的步驟。
37.一種生成二進(jìn)制文件索引圖數(shù)據(jù)庫的系統(tǒng),其特征在于,包括a)獲取目標(biāo)二進(jìn)制文件列表的裝置,所述列表內(nèi)包含有目標(biāo)二進(jìn)制的主要識(shí)別信息;b)使用合適的算法計(jì)算所述二進(jìn)制文件的內(nèi)容簽名的裝置;c)存儲(chǔ)所述內(nèi)容簽名及與所述內(nèi)容簽名對(duì)應(yīng)之文件的識(shí)別信息,從而組成所述二進(jìn)制文件索引圖數(shù)據(jù)庫的裝置。
38.根據(jù)權(quán)利要求36[LQ6]所述的系統(tǒng),其特征在于,進(jìn)一步包括識(shí)別與多個(gè)二進(jìn)制文件相關(guān)的關(guān)鍵字的裝置,所述多個(gè)二進(jìn)制文件具有相同的文件內(nèi)容簽名;以及將所述多個(gè)關(guān)鍵字合并為關(guān)鍵字集合的裝置,從而將所述文件內(nèi)容簽名與所述關(guān)鍵字集合相關(guān)聯(lián)。
39.根據(jù)權(quán)利要求37所述的系統(tǒng),其特征在于,進(jìn)一步包括對(duì)所述關(guān)鍵字集合內(nèi)的關(guān)鍵字進(jìn)行排序的裝置,使得具有最高出現(xiàn)頻率的關(guān)鍵字首先與所述文件內(nèi)容簽名相關(guān)聯(lián)。
40.一種搜索因特網(wǎng)上的二進(jìn)制文件的系統(tǒng),其特征在于,包括a)接收來自發(fā)起源的針對(duì)目標(biāo)二進(jìn)制文件的搜索查詢的裝置;b)在索引圖數(shù)據(jù)庫中找出多個(gè)內(nèi)容簽名的裝置,所述多個(gè)內(nèi)容簽名鏈接至多個(gè)二進(jìn)制文件,并鏈接至描述所述多個(gè)二進(jìn)制文件的多個(gè)關(guān)鍵字和文件識(shí)別信息;c)將與所述搜索查詢相關(guān)的所述多個(gè)二進(jìn)制文件呈現(xiàn)給所述發(fā)起源的裝置。
41.一種生成文件內(nèi)容簽名的系統(tǒng),其特征在于,包括a)將所述文件分割為大小合適的多個(gè)片段的裝置;b)使用合適的算法計(jì)算所述片段的內(nèi)容簽名從而獲得多個(gè)片段內(nèi)容簽名的裝置;c)基于所述多個(gè)片段內(nèi)容簽名生成所述文件內(nèi)容簽名的裝置。
42.一種生成文件內(nèi)容簽名的系統(tǒng),其特征在于,包括a)將所述文件分割為大小合適的多個(gè)片段的裝置;b)從每個(gè)片段中提取多個(gè)樣本的裝置;c)使用合適的算法利用所述片段的多個(gè)樣本來計(jì)算所述每個(gè)片段的內(nèi)容簽名從而獲得多個(gè)片段內(nèi)容簽名的裝置;d)基于所述多個(gè)片段內(nèi)容簽名生成所述文件內(nèi)容簽名的裝置。
43.一種下載目標(biāo)二進(jìn)制文件的系統(tǒng),其特征在于,包括a)生成索引圖數(shù)據(jù)庫的裝置,所述索引圖數(shù)據(jù)庫包含有多個(gè)二進(jìn)制文件的文件識(shí)別信息以及使用合適算法計(jì)算出的與所述多個(gè)二進(jìn)制文件對(duì)應(yīng)的文件內(nèi)容簽名;b)接收來自發(fā)起源的針對(duì)目標(biāo)二進(jìn)制文件的下載查詢的裝置,其中所述目標(biāo)二進(jìn)制文件在所述索引圖數(shù)據(jù)庫內(nèi)鏈接至對(duì)應(yīng)的內(nèi)容簽名,且所述對(duì)應(yīng)的內(nèi)容簽名鏈接至多個(gè)具有相同內(nèi)容簽名的二進(jìn)制文件URL;c)從所述多個(gè)文件URL下載所述目標(biāo)二進(jìn)制文件的多個(gè)部分的裝置;d)在發(fā)起源的機(jī)器內(nèi)整合所述目標(biāo)二進(jìn)制文件的所述多個(gè)部分以獲得完整的目標(biāo)二進(jìn)制文件的裝置。
44.根據(jù)權(quán)利要求43所述的系統(tǒng),其特征在于,進(jìn)一步包括驗(yàn)證所述下載的目標(biāo)二進(jìn)制文件的完整性的裝置。
45.根據(jù)權(quán)利要求44所述的系統(tǒng),其特征在于,進(jìn)一步包括恢復(fù)所述已下載的目標(biāo)二進(jìn)制文件中的錯(cuò)誤部分的裝置。
46.一種計(jì)算機(jī)可讀介質(zhì),其內(nèi)存儲(chǔ)有使至少一個(gè)處理器執(zhí)行如下步驟的指令a)獲取目標(biāo)二進(jìn)制文件列表,其內(nèi)包含有目標(biāo)二進(jìn)制的主要識(shí)別信息;b)使用合適的算法計(jì)算所述二進(jìn)制文件的內(nèi)容簽名;c)存儲(chǔ)所述內(nèi)容簽名及與所述內(nèi)容簽名對(duì)應(yīng)之文件的識(shí)別信息,從而組成所述二進(jìn)制文件索引圖數(shù)據(jù)庫。
47.根據(jù)權(quán)利要求46所述的計(jì)算機(jī)可讀介質(zhì),其內(nèi)存儲(chǔ)有使至少一個(gè)處理器執(zhí)行如下步驟的額外指令a)識(shí)別與多個(gè)二進(jìn)制文件相關(guān)的關(guān)鍵字,所述多個(gè)二進(jìn)制文件具有相同的文件內(nèi)容簽名;b)將所述多個(gè)關(guān)鍵字合并為關(guān)鍵字集合,從而將所述文件內(nèi)容簽名與所述關(guān)鍵字集合相關(guān)聯(lián)。
48.一種計(jì)算機(jī)可讀介質(zhì),其內(nèi)存儲(chǔ)有使至少一個(gè)處理器執(zhí)行如下步驟的指令a)接收來自發(fā)起源的針對(duì)目標(biāo)二進(jìn)制文件的搜索查詢;b)在索引圖數(shù)據(jù)庫中找出多個(gè)內(nèi)容簽名的位置,所述多個(gè)內(nèi)容簽名鏈接至多個(gè)二進(jìn)制文件,并鏈接至描述所述多個(gè)二進(jìn)制文件的多個(gè)關(guān)鍵字和文件識(shí)別信息;c)將與所述搜索查詢相關(guān)的所述多個(gè)二進(jìn)制文件呈現(xiàn)給所述發(fā)起源。
49.根據(jù)權(quán)利要求48所述的計(jì)算機(jī)可讀介質(zhì),其內(nèi)存儲(chǔ)有使至少一個(gè)處理器執(zhí)行如下步驟的額外指令a)鏈接所述目標(biāo)二進(jìn)制文件與多個(gè)包含有所述目標(biāo)二進(jìn)制文件的頁面URI;b)鏈接所述多個(gè)頁面URI中的每個(gè)頁面URI與多個(gè)文件URI。
50.根據(jù)權(quán)利要求48所述的計(jì)算機(jī)可讀介質(zhì),其內(nèi)存儲(chǔ)有使至少一個(gè)處理器執(zhí)行如下步驟的額外指令a)鏈接所述目標(biāo)二進(jìn)制文件與多個(gè)包含有所述目標(biāo)二進(jìn)制文件的頁面URI;b)鏈接所述多個(gè)頁面URI中的每個(gè)頁面URI與多個(gè)文件URI;c)重復(fù)所述步驟a)和步驟b)直至遇到中止條件。
51.一種計(jì)算機(jī)可讀介質(zhì),其內(nèi)存儲(chǔ)有使至少一個(gè)處理器執(zhí)行如下步驟的指令a)將所述文件分割為大小合適的多個(gè)片段;b)使用合適的算法計(jì)算所述片段的內(nèi)容簽名,從而獲得多個(gè)片段內(nèi)容簽名;c)基于所述多個(gè)片段內(nèi)容簽名生成所述文件內(nèi)容簽名。
52.一種計(jì)算機(jī)可讀介質(zhì),其內(nèi)存儲(chǔ)有使至少一個(gè)處理器執(zhí)行如下步驟的指令a)將所述文件分割為大小合適的多個(gè)片段;b)從每個(gè)片段中提取多個(gè)樣本;c)使用合適的算法利用所述片段的多個(gè)樣本來計(jì)算所述每個(gè)片段的內(nèi)容簽名,從而獲得多個(gè)片段內(nèi)容簽名;d)基于所述多個(gè)片段內(nèi)容簽名生成所述文件內(nèi)容簽名。
53.一種計(jì)算機(jī)可讀介質(zhì),其內(nèi)存儲(chǔ)有使至少一個(gè)處理器執(zhí)行如下步驟的指令a)生成索引圖數(shù)據(jù)庫,所述索引圖數(shù)據(jù)庫包含有多個(gè)二進(jìn)制文件的文件識(shí)別信息以及使用合適算法計(jì)算出的與所述多個(gè)二進(jìn)制文件對(duì)應(yīng)的文件內(nèi)容簽名;b)接收來自發(fā)起源的針對(duì)目標(biāo)二進(jìn)制文件的下載查詢,其中所述目標(biāo)二進(jìn)制文件在所述索引圖數(shù)據(jù)庫內(nèi)鏈接至對(duì)應(yīng)的內(nèi)容簽名,且所述對(duì)應(yīng)的內(nèi)容簽名鏈接至多個(gè)具有相同內(nèi)容簽名的二進(jìn)制文件URL;c)從所述多個(gè)文件URL下載所述目標(biāo)二進(jìn)制文件的多個(gè)部分;d)在發(fā)起源的機(jī)器內(nèi)整合所述目標(biāo)二進(jìn)制文件的所述多個(gè)部分以獲得完整的目標(biāo)二進(jìn)制文件。
54.根據(jù)權(quán)利要求53所述的計(jì)算機(jī)可讀介質(zhì),其內(nèi)存儲(chǔ)的額外的指令使至少一個(gè)處理器執(zhí)行驗(yàn)證所述下載的目標(biāo)二進(jìn)制文件的完整性的步驟。
55.根據(jù)權(quán)利要求54所述的方法,進(jìn)一步包括再下載和恢復(fù)所述已下載的目標(biāo)二進(jìn)制文件中的錯(cuò)誤部分的步驟。[LQ7]
全文摘要
本發(fā)明公開了一種索引和搜索(102)二進(jìn)制文件領(lǐng)域內(nèi)的新的解決方法,所述二進(jìn)制文件包括來自公共因特網(wǎng)(104)的各種二進(jìn)制文件例如多媒體文件,包括圖片文件、MP3文件和其他音頻/視頻文件。本發(fā)明介紹了一種根據(jù)其內(nèi)容簽名索引二進(jìn)制文件例如多媒體文件的方法,所述內(nèi)容簽名唯一地標(biāo)識(shí)所述二進(jìn)制文件,以及通過遍歷在索引階段(101)建立的索引圖數(shù)據(jù)庫來搜索相關(guān)的文件的方法。本發(fā)明可用于搜索引擎和下載引擎(105),也可與基于文本的索引和搜索技術(shù)結(jié)合使用。結(jié)果,這種擴(kuò)展使用會(huì)使多媒體文件的語境擴(kuò)大,并增加了描述該語境的關(guān)鍵字的相關(guān)精確性。
文檔編號(hào)G06F17/30GK1890662SQ200480034199
公開日2007年1月3日 申請(qǐng)日期2004年9月29日 優(yōu)先權(quán)日2003年9月29日
發(fā)明者鄒勝龍, 胥明 申請(qǐng)人:千兆科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
陕西省| 仁怀市| 萍乡市| 新竹县| 舒兰市| 清原| 都江堰市| 宁南县| 台安县| 宜昌市| 玉龙| 义乌市| 耒阳市| 靖安县| 敖汉旗| 延吉市| 武功县| 东兴市| 桐庐县| 花莲市| 马尔康县| 梅河口市| 泌阳县| 万山特区| 东平县| 田林县| 乐山市| 长寿区| 新安县| 灵璧县| 黄山市| 西盟| 蓬莱市| 元氏县| 黄浦区| 长沙县| 德钦县| 浏阳市| 临泉县| 莎车县| 遂川县|