專利名稱:搜索引擎系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及搜索引擎技術(shù),尤其涉及一種BT搜索引擎系統(tǒng)和方法。
背景技術(shù):
搜索引擎是萬維網(wǎng)環(huán)境中的信息檢索系統(tǒng),通常為用戶提供被搜索內(nèi)容的下載統(tǒng)一資源描述符(URL,Uniform Resource Locator),幫助用戶找到自己感興趣的內(nèi)容,比較核心的包括網(wǎng)頁搜索、新聞搜索、音樂搜索和圖片搜索等。對于要下載感興趣的內(nèi)容,例如電影、音樂等,目前網(wǎng)絡(luò)上流行一種點對點(P2P)的下載軟件,即BitTorrent(簡稱BT)。BT基于BT協(xié)議,采用P2P的多點下載模式,其基本思想是每個下載客戶端同時又是文件提供者,通過下載客戶端之間的相互協(xié)作充分利用網(wǎng)絡(luò)資源。
基于BT下載的BT搜索引擎是以搜索引擎技術(shù)為基礎(chǔ),提供BT種子文件的下載URL,另外,由于BT文件的種子數(shù)和下載數(shù)決定了BT下載的質(zhì)量和速度,其中,種子數(shù)是指下載完BT文件并能提供將所下載的BT文件上傳的擁有完整BT文件的客戶端數(shù)量,下載數(shù)是指只擁有部分BT文件、正在下載的客戶端數(shù)量,所以對于BT下載來說,BT文件的種子數(shù)和下載數(shù)通常也是用戶非常關(guān)心的關(guān)鍵信息,因此,BT搜索引擎除了提供BT種子文件的下載URL以外,還需要提供BT文件下載的種子數(shù)和下載數(shù)。
現(xiàn)有的BT搜索引擎系統(tǒng)一般由BT發(fā)布網(wǎng)站提供,其結(jié)構(gòu)參見圖1,主要包括輔助服務器(tracker)和索引器(index),tracker服務器用于維護節(jié)點信息,幫助節(jié)點彼此之間建立連接,對節(jié)點所提供的BT文件生成并發(fā)布BT種子文件,提供BT種子文件的下載URL;由于tracker服務器會記錄每個登錄BT站點的用戶節(jié)點的信息,所以tracker服務器還可以統(tǒng)計到本身所維護的節(jié)點中BT文件下載的關(guān)鍵信息,即BT文件下載的種子數(shù)和下載數(shù);索引器用于根據(jù)tracker服務器提供的BT種子文件的下載URL和BT文件下載的關(guān)鍵信息建立索引,提供BT搜索引擎所需要的BT種子文件的下載URL和BT文件下載的種子數(shù)和下載數(shù)。
當用戶向索引器提交查詢請求時,索引器根據(jù)所提交的查詢請求,在tracker服務器中查詢BT種子文件的下載URL以及BT文件下載的種子數(shù)和下載數(shù),將所查詢到的信息反饋給用戶。
從以上現(xiàn)有的BT搜索引擎系統(tǒng)的結(jié)構(gòu)和原理來看,為了提供BT種子文件的下載URL以及BT文件下載的種子數(shù)和下載數(shù),需要構(gòu)建和維護tracker服務器,當用戶量增加,發(fā)布的BT文件越來越多時,就需要構(gòu)建和維護多臺tracker服務器來維護節(jié)點信息,生成BT種子文件,提供BT種子文件的下載URL,這無疑會增加成本;另外,一個BT站點利用自身的tracker服務器所維護的BT種子文件的信息畢竟有限,對于日益增大的互聯(lián)網(wǎng)信息來說還是遠遠不夠的。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種BT搜索引擎系統(tǒng),能夠低成本地提供多個BT發(fā)布站點的資源信息,該系統(tǒng)至少包括用于根據(jù)BT文件的下載統(tǒng)一資源描述符URL以及BT文件下載的種子數(shù)和下載數(shù)建立索引、提供BT搜索服務的索引器;該系統(tǒng)還包括鏈接獲取模塊,用于獲取互聯(lián)網(wǎng)中的BT種子文件的下載URL,并將所獲取的URL存入URL數(shù)據(jù)庫;URL數(shù)據(jù)庫,與鏈接獲取模塊相連,用于保存BT種子文件的下載URL,并將BT種子文件的下載URL提供給BT文件關(guān)鍵信息獲取模塊;BT文件關(guān)鍵信息獲取模塊,與URL數(shù)據(jù)庫和索引器相連,用于根據(jù)URL數(shù)據(jù)庫提供的URL獲取BT文件下載的種子數(shù)和下載數(shù),并將獲得的BT文件下載的種子數(shù)和下載數(shù)連同URL一起發(fā)送給索引器。
所述BT文件關(guān)鍵信息獲取模塊為進一步具有檢測URL數(shù)據(jù)庫提供的URL鏈接的功能的模塊。所述BT文件關(guān)鍵信息獲取模塊包括檢測模塊,與所述URL數(shù)據(jù)庫相連,用于檢測URL數(shù)據(jù)庫中保存的BT種子文件的下載URL,刪除重復的URL和死鏈接,并將經(jīng)過檢測的URL提供給BT客戶端模擬模塊,同時將BT客戶端模擬模塊所獲取的BT文件下載的種子數(shù)和下載數(shù)連同URL一起發(fā)送給索引器;BT客戶端模擬模塊,與檢測模塊相連,用于根據(jù)檢測模塊提供的BT種子文件的下載URL,下載并解析BT種子文件,利用輔助服務器tracker地址,與tracker服務器交互,獲取BT文件下載的種子數(shù)和下載數(shù),并將所獲取的BT文件下載的種子數(shù)和下載數(shù)提供給檢測模塊。
本發(fā)明還提供一種BT搜索引擎方法,能夠低成本地提供多個BT發(fā)布站點的資源信息,該方法包括A、獲取并保存BT種子文件的下載URL;B、根據(jù)所保存的URL,訪問各個tracker服務器,獲取BT文件下載的種子數(shù)和下載數(shù);C、對所獲取的BT種子文件的下載URL以及所獲取的BT文件下載的種子數(shù)和下載數(shù)建立索引,提供BT搜索服務。
在所述步驟A和步驟B之間,該方法進一步包括檢測所保存的BT種子文件的下載URL,刪除重復的URL和死鏈接。
步驟B中的所述訪問tracker服務器包括根據(jù)BT種子文件的下載URL,下載并解析BT種子文件,獲取BT種子文件中所含有的tracker服務器的地址,根據(jù)所獲取的tracker服務器的地址與tracker服務器進行交互。
從以上技術(shù)方案可以看到,本發(fā)明所提供的BT搜索引擎系統(tǒng)和方法具有以下有益效果1、本發(fā)明不用自己構(gòu)建和維護tracker服務器,可以降低構(gòu)建和維護tracker服務器所需的成本;2、本發(fā)明通過提供BT客戶端模擬模塊,從多個BT發(fā)布網(wǎng)站的tracker服務器中獲取到BT文件下載的種子數(shù)和下載數(shù),能夠比自己構(gòu)建和維護tracker服務器提供更多的信息;3、本發(fā)明通過設(shè)置檢測模塊,可以檢測URL鏈接,刪除重復的URL和無法連通的死鏈接,提供可連通的URL供用戶搜索。
圖1是現(xiàn)有的搜索引擎系統(tǒng)的結(jié)構(gòu)示意圖;圖2是根據(jù)本發(fā)明實施例的搜索引擎系統(tǒng)的結(jié)構(gòu)示意圖;圖3是圖2所示的搜索引擎系統(tǒng)中的BT文件關(guān)鍵信息獲取模塊的結(jié)構(gòu)示意圖;圖4是根據(jù)本發(fā)明實施例的搜索引擎方法流程圖。
具體實施例方式
為了使本發(fā)明的特征和優(yōu)點更加清楚明白,下面參照附圖結(jié)合具體實施例對本發(fā)明作進一步的描述。
現(xiàn)有的BT搜索引擎系統(tǒng)利用自身BT發(fā)布網(wǎng)站的tracker服務器提供BT種子文件的下載URL和BT文件下載的種子數(shù)和下載數(shù),因此,所能提供的信息非常有限并且成本較高,對此,本發(fā)明提出一種BT搜索引擎系統(tǒng)和方法,其主要思想是不用自己構(gòu)建和維護tracker服務器,利用鏈接獲取模塊獲取BT種子文件的鏈接,通過模擬BT下載工具與各個BT發(fā)布站點的tracker服務器進行交互,獲取BT文件下載的種子數(shù)和下載數(shù),從而實現(xiàn)低成本地提供更多BT資源的下載信息。以下將BT文件下載的種子數(shù)和下載數(shù)稱為BT文件下載的關(guān)鍵信息。
具體地,參見圖2,描述本發(fā)明所提供的BT搜索引擎系統(tǒng)。圖2是根據(jù)本發(fā)明實施例的搜索引擎系統(tǒng)的結(jié)構(gòu)示意圖。
圖2所示的BT搜索引擎系統(tǒng)包括鏈接獲取模塊、URL數(shù)據(jù)庫、索引器和BT文件關(guān)鍵信息獲取模塊。
鏈接獲取模塊可以是搜索引擎中常用的用于獲取互聯(lián)網(wǎng)鏈接資源的模塊,這里,鏈接獲取模塊用于獲取BT種子文件的下載URL,并將所獲取的URL存入URL數(shù)據(jù)庫中。鏈接獲取模塊可以通過軟件程序?qū)崿F(xiàn),例如比較常用的爬蟲(Crawler)程序。
URL數(shù)據(jù)庫用于保存鏈接獲取模塊所獲取的BT種子文件的下載URL,并將URL提供給BT文件關(guān)鍵信息獲取模塊。
BT文件關(guān)鍵信息獲取模塊用于根據(jù)URL數(shù)據(jù)庫提供的URL下載BT種子文件,利用BT種子文件中所包含的tracker服務器的地址,按照BitComit交互協(xié)議模擬BT下載工具,與tracker服務器進行交互,獲取tracker服務器所統(tǒng)計到的BT文件下載的關(guān)鍵信息,并將獲得的BT文件下載的關(guān)鍵信息連同URL一起發(fā)送給索引器。
BT文件關(guān)鍵信息獲取模塊還可以進一步用于檢測URL數(shù)據(jù)庫中提供的URL鏈接,刪除重復的URL和無法連通的死鏈接,于是,參見圖3,圖3是圖2所示的搜索引擎系統(tǒng)中的BT文件關(guān)鍵信息獲取模塊的結(jié)構(gòu)示意圖。BT文件關(guān)鍵信息獲取模塊可以包括檢測模塊(detector)和BT客戶端模擬模塊。
檢測模塊用于檢測URL數(shù)據(jù)庫中保存的BT種子文件的下載URL,刪除重復的URL和死鏈接,并將經(jīng)過檢測的URL提供給BT客戶端模擬模塊,同時將BT客戶端模擬模塊所獲取的BT文件下載的關(guān)鍵信息連同URL一起發(fā)送給索引器。檢測模塊可以通過軟件程序?qū)崿F(xiàn)。
BT客戶端模擬模塊可以模擬BT下載工具BitComit.exe的功能,用于根據(jù)BT種子文件的下載URL下載并解析BT種子文件,利用BT種子文件中包含的tracker服務器地址,與tracker服務器進行交互,獲取BT文件下載的關(guān)鍵信息,并將所獲得的信息發(fā)送給檢測模塊。BT客戶端模擬模塊也可以通過軟件程序?qū)崿F(xiàn)。根據(jù)背景技術(shù)的介紹可知,發(fā)布BT種子文件的網(wǎng)站都有tracker服務器維護節(jié)點信息,生成并發(fā)布BT種子文件,另外,根據(jù)BT協(xié)議的規(guī)定,在發(fā)布BT種子文件時,需要在BT種子文件中保存tracker服務器的地址,于是,按照BitComit交互協(xié)議,BT下載客戶端利用下載工具BitComit.exe讀取tracker服務器的地址,下載BT文件,這里,BT客戶端模擬模塊就是按照BitComit交互協(xié)議,模擬客戶端的下載工具BitComit.exe,與tracker服務器進行交互,從tracker服務器中獲取BT文件下載的關(guān)鍵信息。
于是,BT客戶端模擬模塊只要下載并解析了BT種子文件,找到tracker服務器的地址,就可以獲取到BT文件下載的關(guān)鍵信息,而不管tracker服務器是來自哪個BT種子文件的發(fā)布網(wǎng)站,例如,圖3所示的就是BT客戶端模擬模塊從tracker服務器m中獲取BT文件下載的關(guān)鍵信息。也就是說,BT客戶端模擬模塊可以訪問到各個BT種子文件發(fā)布網(wǎng)站的tracker服務器,從而獲取各個tracker服務器所統(tǒng)計到的BT文件下載的關(guān)鍵信息。因此,不用系統(tǒng)本身構(gòu)建和維護tracker服務器,節(jié)約成本的同時還能提供更多的資源信息。
索引器用于根據(jù)BT文件關(guān)鍵信息獲取模塊所發(fā)送的BT種子文件的下載URL和BT文件下載的關(guān)鍵信息建立索引,為發(fā)送查詢請求的用戶提供查詢結(jié)果。
下面參見圖4,詳細描述基于圖2所示的搜索引擎系統(tǒng)的搜索引擎方法,圖4是根據(jù)本發(fā)明實施例的搜索引擎方法流程圖。具體的操作流程和步驟如下步驟401、獲取并保存BT種子文件的下載URL;利用鏈接獲取模塊從互聯(lián)網(wǎng)上獲取BT種子文件的下載URL,并保存在URL數(shù)據(jù)庫中。
步驟402、根據(jù)所獲取的URL訪問各個tracker服務器,獲取BT文件下載的關(guān)鍵信息;BT文件關(guān)鍵信息獲取模塊根據(jù)URL數(shù)據(jù)庫中保存的URL,下載BT種子文件,利用BT種子文件中保存的tracker服務器地址,訪問各個tracker服務器獲取BT文件的種子數(shù)和下載數(shù)。
這里,在訪問各個tracker服務器之前,還可以進一步包括檢測URL,刪除重復的URL和死鏈接。這時,利用檢測模塊檢測URL數(shù)據(jù)庫中的URL,將經(jīng)過檢測的URL發(fā)送給BT客戶端模擬模塊,BT客戶端模擬模塊根據(jù)URL下載并解析BT種子文件,獲取各個tracker服務器的地址,與tracker服務器進行交互,獲取BT文件下載的關(guān)鍵信息,并發(fā)送給檢測模塊,由檢測模塊對經(jīng)過檢測的URL和對應的關(guān)鍵信息進行匯總。
步驟403、對BT種子文件的下載URL和對應的關(guān)鍵信息建立索引,提供BT搜索服務。
獲取到BT文件下載的關(guān)鍵信息后,檢測模塊對經(jīng)過檢測的URL和對應的關(guān)鍵信息進行匯總,然后將匯總的URL和對應的關(guān)鍵信息發(fā)送到索引器建立索引,提供BT搜索服務。
于是,當用戶向索引器發(fā)起查詢請求時,索引器根據(jù)所發(fā)起的查詢請求查找BT種子文件的下載URL和關(guān)鍵信息,并反饋給用戶。
從以上步驟的描述可以看到,本發(fā)明的實施例可以從各個tracker服務器獲取到BT文件下載的關(guān)鍵信息,從而使得不用自己構(gòu)建和維護tracker服務器就可以提供比單個BT種子文件發(fā)布網(wǎng)站更多的信息。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權(quán)利要求
1.一種BT搜索引擎系統(tǒng),至少包括用于根據(jù)BT文件的下載統(tǒng)一資源描述符URL以及BT文件下載的種子數(shù)和下載數(shù)建立索引、提供BT搜索服務的索引器,其特征在于,該系統(tǒng)還包括鏈接獲取模塊,用于獲取互聯(lián)網(wǎng)中的BT種子文件的下載URL,并將所獲取的URL存入URL數(shù)據(jù)庫;URL數(shù)據(jù)庫,與鏈接獲取模塊相連,用于保存BT種子文件的下載URL,并將BT種子文件的下載URL提供給BT文件關(guān)鍵信息獲取模塊;BT文件關(guān)鍵信息獲取模塊,與URL數(shù)據(jù)庫和索引器相連,用于根據(jù)URL數(shù)據(jù)庫提供的URL獲取BT文件下載的種子數(shù)和下載數(shù),并將獲得的BT文件下載的種子數(shù)和下載數(shù)連同URL一起發(fā)送給索引器。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述BT文件關(guān)鍵信息獲取模塊為進一步具有檢測URL數(shù)據(jù)庫提供的URL鏈接的功能的模塊。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述BT文件關(guān)鍵信息獲取模塊包括檢測模塊,與所述URL數(shù)據(jù)庫相連,用于檢測URL數(shù)據(jù)庫中保存的BT種子文件的下載URL,刪除重復的URL和死鏈接,并將經(jīng)過檢測的URL提供給BT客戶端模擬模塊,同時將BT客戶端模擬模塊所獲取的BT文件下載的種子數(shù)和下載數(shù)連同URL一起發(fā)送給索引器;BT客戶端模擬模塊,與檢測模塊相連,用于根據(jù)檢測模塊提供的BT種子文件的下載URL,下載并解析BT種子文件,利用輔助服務器tracker地址,與tracker服務器交互,獲取BT文件下載的種子數(shù)和下載數(shù),并將所獲取的BT文件下載的種子數(shù)和下載數(shù)提供給檢測模塊。
4.一種BT搜索引擎方法,其特征在于,該方法包括A、獲取并保存BT種子文件的下載URL;B、根據(jù)所保存的URL,訪問各個tracker服務器,獲取BT文件下載的種子數(shù)和下載數(shù);C、對所獲取的BT種子文件的下載URL以及所獲取的BT文件下載的種子數(shù)和下載數(shù)建立索引,提供BT搜索服務。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述步驟A和步驟B之間,該方法進一步包括檢測所保存的BT種子文件的下載URL,刪除重復的URL和死鏈接。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,步驟B中的所述訪問tracker服務器包括根據(jù)BT種子文件的下載URL,下載并解析BT種子文件,獲取BT種子文件中所含有的tracker服務器的地址,根據(jù)所獲取的tracker服務器的地址與tracker服務器進行交互。
全文摘要
本發(fā)明公開一種BT搜索引擎系統(tǒng)和方法,該系統(tǒng)包括用于獲取BT種子文件的下載URL的鏈接獲取模塊、用于保存BT種子文件的下載URL的URL數(shù)據(jù)庫、用于獲取BT文件下載的種子數(shù)和下載數(shù)的BT文件關(guān)鍵信息獲取模塊以及索引器。該方法包括獲取并保存BT種子文件的下載URL;根據(jù)所保存的URL訪問各個tracker服務器,獲取BT文件下載的種子數(shù)和下載數(shù);對BT種子文件的下載URL以及BT文件下載的種子數(shù)和下載數(shù)建立索引,提供BT搜索服務。本發(fā)明提供的系統(tǒng)和方法可以低成本地提供多個BT發(fā)布站點的資源信息。
文檔編號G06F17/30GK101046806SQ20061006694
公開日2007年10月3日 申請日期2006年3月30日 優(yōu)先權(quán)日2006年3月30日
發(fā)明者劉致遠, 張陽, 楊衛(wèi) 申請人:騰訊科技(深圳)有限公司