專利名稱:一種基于面向服務(wù)架構(gòu)的搜索引擎及搜索方法
技術(shù)領(lǐng)域:
本發(fā)明涉及搜索引擎領(lǐng)域,尤其涉及一種基于面向服務(wù)架構(gòu)(SOA)的搜索引擎及搜索方法。
背景技術(shù):
隨著萬維網(wǎng)的應(yīng)用,互聯(lián)網(wǎng)中的信息量越來越大。為了搜索互聯(lián)網(wǎng)中的信息,已經(jīng)開發(fā)出了多種搜索引擎(Search Engine)。搜索引擎是互聯(lián)網(wǎng)中的信息檢索工具,它以特定的方式收集網(wǎng)絡(luò)信息并加以組織,為用戶提供檢索服務(wù)。搜索引擎可以視為一個(gè)網(wǎng)絡(luò)應(yīng)用軟件系統(tǒng)。在現(xiàn)有的搜索引擎中,通常由搜索引擎的搜集器獲得網(wǎng)絡(luò)中的在線信息,并對這些信息建立集中的索引。當(dāng)用戶提交一個(gè)查詢請求的時(shí)候,就通過訪問這個(gè)索引,返回用戶相關(guān)信息。但是,這種方式在IPv6的環(huán)境中可能是不適用的,這是因?yàn)樵诰€信息量可能激增,給集中式搜索引擎的搜集和處理帶來了非常大的困難,并且隨著在線信息的實(shí)時(shí)性的增強(qiáng),集中式搜索引擎難以進(jìn)行實(shí)時(shí)地更新;更加重要的是,集中式搜索引擎無法獲取某些完全私密或者部分公開的信息,因而也無法對這些信息進(jìn)行處理。
發(fā)明內(nèi)容
為了解決上述的技術(shù)問題,本發(fā)明提供了一種基于SOA的搜索引擎及搜索方法, 應(yīng)用于以IPv6為核心技術(shù)的下一代互聯(lián)網(wǎng)中,以提供IPv6網(wǎng)絡(luò)中的個(gè)性化和專業(yè)化信息檢索服務(wù)。本發(fā)明提供了一種基于面向服務(wù)架構(gòu)的搜索引擎,包括中心節(jié)點(diǎn),用于根據(jù)單元節(jié)點(diǎn)的節(jié)點(diǎn)資源描述信息對用戶的查詢進(jìn)行任務(wù)分解, 并將用戶的查詢分發(fā)給相應(yīng)的單元節(jié)點(diǎn);將搜索結(jié)果呈現(xiàn)給用戶;單元節(jié)點(diǎn),用于根據(jù)接收的用戶的查詢進(jìn)行搜索,并將搜索結(jié)果返回至中心節(jié)點(diǎn)。在一個(gè)示例中,中心節(jié)點(diǎn)包括網(wǎng)絡(luò)服務(wù)注冊及管理子系統(tǒng),用于接受單元節(jié)點(diǎn)的注冊以及接收節(jié)點(diǎn)資源描述更新信息和搜索結(jié)果,并按照預(yù)設(shè)的條件選擇相應(yīng)的單元節(jié)點(diǎn)并將用戶的查詢發(fā)送至相應(yīng)的單元節(jié)點(diǎn);檢索子系統(tǒng),用于接收用戶的搜索需求,對用戶的搜索需求預(yù)處理后生成用戶的查詢,并計(jì)算單元節(jié)點(diǎn)的節(jié)點(diǎn)資源描述信息與用戶的查詢的相關(guān)度,按照相關(guān)度的值對單元節(jié)點(diǎn)排序;將搜索結(jié)果呈現(xiàn)給用戶。 在一個(gè)示例中,中心節(jié)點(diǎn)還包括日志挖掘子系統(tǒng);日志挖掘子系統(tǒng)包括日志數(shù)據(jù)庫和日志分析器,日志分析器用于對日志數(shù)據(jù)庫中用戶的信息進(jìn)行分析,以向用戶提供個(gè)性化服務(wù)。 在一個(gè)示例中,將搜索結(jié)果呈現(xiàn)給用戶具體包括檢索子系統(tǒng)根據(jù)單元節(jié)點(diǎn)返回的搜索結(jié)果的權(quán)重與該單元節(jié)點(diǎn)的權(quán)重的乘積對所有的搜索結(jié)果重新排序后呈現(xiàn)給用戶。
在一個(gè)示例中,網(wǎng)絡(luò)注冊及管理子系統(tǒng)通過網(wǎng)絡(luò)服務(wù)描述語言接受單元節(jié)點(diǎn)的注冊;網(wǎng)絡(luò)注冊及管理子系統(tǒng)通過簡單對象訪問協(xié)議接收單元節(jié)點(diǎn)的站點(diǎn)資源描述更新信息;網(wǎng)絡(luò)注冊及管理子系統(tǒng)通過簡單對象訪問協(xié)議向單元節(jié)點(diǎn)發(fā)送分解后的任務(wù)并接收單元節(jié)點(diǎn)返回的搜索結(jié)果。在一個(gè)示例中,單元節(jié)點(diǎn)用于實(shí)現(xiàn)面向領(lǐng)域或面向主題的垂直搜索。在一個(gè)示例中,單元節(jié)點(diǎn)由具有分布式結(jié)構(gòu)的多個(gè)子節(jié)點(diǎn)組成。本發(fā)明提供了一種基于面向服務(wù)架構(gòu)的搜索方法,包括步驟10,中心節(jié)點(diǎn)根據(jù)單元節(jié)點(diǎn)的節(jié)點(diǎn)資源描述信息對用戶的查詢進(jìn)行任務(wù)分解,并將用戶的查詢分發(fā)給相應(yīng)的單元節(jié)點(diǎn);步驟20,單元節(jié)點(diǎn)根據(jù)接收的用戶的查詢進(jìn)行搜索,并將搜索結(jié)果返回至中心節(jié)點(diǎn)。步驟30,中心節(jié)點(diǎn)將搜索結(jié)果呈現(xiàn)給用戶。在一個(gè)示例中,中心節(jié)點(diǎn)包括網(wǎng)絡(luò)服務(wù)注冊及管理子系統(tǒng)和檢索子系統(tǒng);步驟10 包括 步驟101,檢索子系統(tǒng)接收用戶的搜索需求,對用戶的搜索需求預(yù)處理后生成用戶的查詢,并計(jì)算單元節(jié)點(diǎn)的節(jié)點(diǎn)資源描述信息與用戶的查詢的相關(guān)度,按照相關(guān)度的值對單元節(jié)點(diǎn)排序;步驟102,網(wǎng)絡(luò)服務(wù)注冊及管理子系統(tǒng)按照預(yù)設(shè)的條件選擇相應(yīng)的單元節(jié)點(diǎn)并將用戶的查詢發(fā)送至相應(yīng)的單元節(jié)點(diǎn);步驟103,單元節(jié)點(diǎn)根據(jù)用戶的查詢進(jìn)行搜索,并將搜索結(jié)果經(jīng)網(wǎng)絡(luò)服務(wù)注冊及管理子系統(tǒng)返回至檢索子系統(tǒng),檢索子系統(tǒng)將搜索結(jié)果呈現(xiàn)給用戶。在一個(gè)示例中,中心節(jié)點(diǎn)還包括日志挖掘子系統(tǒng);日志挖掘子系統(tǒng)包括日志數(shù)據(jù)庫和日志分析器;該搜索方法還包括步驟40 日志分析器對日志數(shù)據(jù)庫中用戶的信息進(jìn)行分析,以向用戶提供個(gè)性化服務(wù)。在一個(gè)示例中,步驟103中,將搜索結(jié)果呈現(xiàn)給用戶具體包括檢索子系統(tǒng)根據(jù)單元節(jié)點(diǎn)返回的搜索結(jié)果的權(quán)重與該單元節(jié)點(diǎn)的權(quán)重的乘積對所有的搜索結(jié)果重新排序后呈現(xiàn)給用戶。在一個(gè)示例中,步驟101中,網(wǎng)絡(luò)注冊及管理子系統(tǒng)還通過網(wǎng)絡(luò)服務(wù)描述語言接受單元節(jié)點(diǎn)的注冊,通過簡單對象訪問協(xié)議接收單元節(jié)點(diǎn)的站點(diǎn)資源描述更新信息,并通過簡單對象訪問協(xié)議向單元節(jié)點(diǎn)發(fā)送分解后的任務(wù)并接收單元節(jié)點(diǎn)返回的搜索結(jié)果。在一個(gè)示例中,單元節(jié)點(diǎn)用于實(shí)現(xiàn)面向領(lǐng)域或面向主題的垂直搜索。在一個(gè)示例中,單元節(jié)點(diǎn)由具有分布式結(jié)構(gòu)的多個(gè)子節(jié)點(diǎn)組成。本發(fā)明使得單元節(jié)點(diǎn)可面向不同的領(lǐng)域信息進(jìn)行檢索,能夠?yàn)橛脩籼峁﹤€(gè)性化、 專業(yè)化、動(dòng)態(tài)化的網(wǎng)上信息檢索服務(wù);能夠較好的將不同層次的搜索引擎進(jìn)行組織,形成大規(guī)模、分布式的搜索服務(wù)聯(lián)合體;具有清晰的模塊定義以及良好的可擴(kuò)展性和可操作性,能夠滿足海量數(shù)據(jù)檢索的實(shí)時(shí)性、準(zhǔn)確性需求;中心節(jié)點(diǎn)將網(wǎng)絡(luò)信息分散給各個(gè)局部的單元節(jié)點(diǎn)處理,極大的減輕了中心節(jié)點(diǎn)的負(fù)擔(dān),同時(shí)局部的單元節(jié)點(diǎn)只處理部分的信息,能夠高效的完成處理工作滿足系統(tǒng)實(shí)時(shí)性的需求;單元節(jié)點(diǎn)(如個(gè)人桌面的搜索引擎,企業(yè)的搜索引擎)可以具有訪問某些在線應(yīng)用設(shè)備信息的權(quán)限。
下面結(jié)合附圖來對本發(fā)明作進(jìn)一步詳細(xì)說明,其中圖1為本發(fā)明實(shí)施例的基于SOA的分布式搜索引擎原理圖;圖2為本發(fā)明實(shí)施例的基于SOA的分布式搜索引擎結(jié)構(gòu)圖。
具體實(shí)施例方式根據(jù)本發(fā)明的基于SOA的搜索引擎的的基本思想如圖1所示,每個(gè)單元節(jié)點(diǎn)分別采用網(wǎng)絡(luò)服務(wù)描述語言(WSDL)標(biāo)準(zhǔn)封裝2個(gè)網(wǎng)絡(luò)服務(wù)(Web Service),分別完成節(jié)點(diǎn)注冊和節(jié)點(diǎn)資源描述更新服務(wù)(RegUpdate)以及主題檢索服務(wù)(karch),并分別發(fā)布在中心節(jié)點(diǎn)的注冊中心;通過簡單對象訪問協(xié)議(SOAP)調(diào)用ffeb Service來實(shí)現(xiàn)中心節(jié)點(diǎn)與單元節(jié)點(diǎn)之間的一級檢索通信。根據(jù)本發(fā)明的基于SOA的搜索引擎由一個(gè)中心節(jié)點(diǎn)和若干單元節(jié)點(diǎn)組成,如圖2 所示,中心節(jié)點(diǎn)與單元節(jié)點(diǎn)之間通過互聯(lián)網(wǎng)(Internet)采用ffeb Service進(jìn)行交互。其中,中心節(jié)點(diǎn)除了具有基本的單元搜索功能外,還具有融合各個(gè)單元節(jié)點(diǎn)搜索結(jié)果的功能, 具體包括1)、中心節(jié)點(diǎn)根據(jù)各單元節(jié)點(diǎn)的注冊信息(索引網(wǎng)頁總數(shù)、用戶點(diǎn)擊率、相關(guān)度等),為每個(gè)單元節(jié)點(diǎn)人工設(shè)置權(quán)重,記第i個(gè)單元節(jié)點(diǎn)的權(quán)重為ω”2)、單元節(jié)點(diǎn)對查詢獲得的每一條結(jié)果進(jìn)行權(quán)重計(jì)算,計(jì)算可采用已有的 0kapi-BM25公式,權(quán)重越大代表結(jié)果同查詢越相關(guān);單元節(jié)點(diǎn)向中心節(jié)點(diǎn)發(fā)送查詢結(jié)果之前,還須對權(quán)重進(jìn)行歸一化處理,為了便于說明,記第i個(gè)單元節(jié)點(diǎn)所返回的第j條查詢結(jié)果權(quán)重為Wu。3)、中心節(jié)點(diǎn)將單元節(jié)點(diǎn)的權(quán)重同搜索結(jié)果的權(quán)重相乘,得到新的權(quán)重,對于第i 個(gè)單元節(jié)點(diǎn)返回的第j條查詢結(jié)果來說,即有:r u = WiXWij ;全部計(jì)算完成后,中心節(jié)點(diǎn)根據(jù)權(quán)重W'的大小對搜索結(jié)果進(jìn)行排序。每個(gè)單元節(jié)點(diǎn)能獨(dú)立實(shí)現(xiàn)網(wǎng)頁搜索服務(wù),都是功能完備的獨(dú)立搜索引擎,其實(shí)現(xiàn)的搜索稱為“一級檢索”?!耙患墮z索”主要面向領(lǐng)域或面向主題實(shí)現(xiàn)垂直搜索;不同的單元節(jié)點(diǎn)面向不同的領(lǐng)域或主題。單元節(jié)點(diǎn)是面向不同領(lǐng)域或主題進(jìn)行獨(dú)立設(shè)計(jì)和研發(fā)的。單元節(jié)點(diǎn)注冊信息和維護(hù)信息以及“一級檢索”結(jié)果描述(網(wǎng)頁檢索主要特征)信息分別如表1和表2所示。表 權(quán)利要求
1.一種基于面向服務(wù)架構(gòu)的搜索引擎,其特征在于,包括中心節(jié)點(diǎn),用于根據(jù)單元節(jié)點(diǎn)的節(jié)點(diǎn)資源描述信息對用戶的查詢進(jìn)行任務(wù)分解,并將用戶的查詢分發(fā)給相應(yīng)的單元節(jié)點(diǎn);將搜索結(jié)果呈現(xiàn)給用戶;單元節(jié)點(diǎn),用于根據(jù)接收的用戶的查詢進(jìn)行搜索,并將搜索結(jié)果返回至中心節(jié)點(diǎn)。
2.如權(quán)利要求1所述的搜索引擎,其特征在于,中心節(jié)點(diǎn)包括網(wǎng)絡(luò)服務(wù)注冊及管理子系統(tǒng),用于接受單元節(jié)點(diǎn)的注冊以及接收節(jié)點(diǎn)資源描述更新信息和搜索結(jié)果,并按照預(yù)設(shè)的條件選擇相應(yīng)的單元節(jié)點(diǎn)并將用戶的查詢發(fā)送至相應(yīng)的單元節(jié)占.I— /、、、 檢索子系統(tǒng),用于接收用戶的搜索需求,對用戶的搜索需求預(yù)處理后生成用戶的查詢, 并計(jì)算單元節(jié)點(diǎn)的節(jié)點(diǎn)資源描述信息與用戶的查詢的相關(guān)度,按照相關(guān)度的值對單元節(jié)點(diǎn)排序;將搜索結(jié)果呈現(xiàn)給用戶。
3.如權(quán)利要求2所述的搜索引擎,其特征在于,中心節(jié)點(diǎn)還包括日志挖掘子系統(tǒng);日志挖掘子系統(tǒng)包括日志數(shù)據(jù)庫和日志分析器,日志分析器用于對日志數(shù)據(jù)庫中用戶的信息進(jìn)行分析,以向用戶提供個(gè)性化服務(wù)。
4.如權(quán)利要求2或3所述的搜索引擎,其特征在于,將搜索結(jié)果呈現(xiàn)給用戶具體包括 檢索子系統(tǒng)根據(jù)單元節(jié)點(diǎn)返回的搜索結(jié)果的權(quán)重與該單元節(jié)點(diǎn)的權(quán)重的乘積對所有的搜索結(jié)果重新排序后呈現(xiàn)給用戶。
5.如權(quán)利要求2或3所述的搜索引擎,其特征在于,網(wǎng)絡(luò)注冊及管理子系統(tǒng)通過網(wǎng)絡(luò)服務(wù)描述語言接受單元節(jié)點(diǎn)的注冊;網(wǎng)絡(luò)注冊及管理子系統(tǒng)通過簡單對象訪問協(xié)議接收單元節(jié)點(diǎn)的站點(diǎn)資源描述更新信息;網(wǎng)絡(luò)注冊及管理子系統(tǒng)通過簡單對象訪問協(xié)議向單元節(jié)點(diǎn)發(fā)送分解后的任務(wù)并接收單元節(jié)點(diǎn)返回的搜索結(jié)果。
6.如權(quán)利要求1、2或3所述的搜索引擎,其特征在于,單元節(jié)點(diǎn)用于實(shí)現(xiàn)面向領(lǐng)域或面向主題的垂直搜索。
7.如權(quán)利要求1、2或3所述的搜索引擎,其特征在于,單元節(jié)點(diǎn)由具有分布式結(jié)構(gòu)的多個(gè)子節(jié)點(diǎn)組成。
8.一種基于面向服務(wù)架構(gòu)的搜索方法,其特征在于,包括步驟10,中心節(jié)點(diǎn)根據(jù)單元節(jié)點(diǎn)的節(jié)點(diǎn)資源描述信息對用戶的查詢進(jìn)行任務(wù)分解,并將用戶的查詢分發(fā)給相應(yīng)的單元節(jié)點(diǎn);步驟20,單元節(jié)點(diǎn)根據(jù)接收的用戶的查詢進(jìn)行搜索,并將搜索結(jié)果返回至中心節(jié)點(diǎn);步驟30,中心節(jié)點(diǎn)將搜索結(jié)果呈現(xiàn)給用戶。
9.如權(quán)利要求8的搜索方法,其特征在于,中心節(jié)點(diǎn)包括網(wǎng)絡(luò)服務(wù)注冊及管理子系統(tǒng)和檢索子系統(tǒng);步驟10包括步驟101,檢索子系統(tǒng)接收用戶的搜索需求,對用戶的搜索需求預(yù)處理后生成用戶的查詢,并計(jì)算單元節(jié)點(diǎn)的節(jié)點(diǎn)資源描述信息與用戶的查詢的相關(guān)度,按照相關(guān)度的值對單元節(jié)點(diǎn)排序;步驟102,網(wǎng)絡(luò)服務(wù)注冊及管理子系統(tǒng)按照預(yù)設(shè)的條件選擇相應(yīng)的單元節(jié)點(diǎn)并將用戶的查詢發(fā)送至相應(yīng)的單元節(jié)點(diǎn);步驟103,單元節(jié)點(diǎn)根據(jù)用戶的查詢進(jìn)行搜索,并將搜索結(jié)果經(jīng)網(wǎng)絡(luò)服務(wù)注冊及管理子系統(tǒng)返回至檢索子系統(tǒng),檢索子系統(tǒng)將搜索結(jié)果呈現(xiàn)給用戶。
10.如權(quán)利要求9的搜索方法,其特征在于,中心節(jié)點(diǎn)還包括日志挖掘子系統(tǒng);日志挖掘子系統(tǒng)包括日志數(shù)據(jù)庫和日志分析器;該搜索方法還包括步驟40 日志分析器對日志數(shù)據(jù)庫中用戶的信息進(jìn)行分析,以向用戶提供個(gè)性化服務(wù)。
11.如權(quán)利要求9或10的搜索方法,其特征在于,步驟103中,將搜索結(jié)果呈現(xiàn)給用戶具體包括檢索子系統(tǒng)根據(jù)單元節(jié)點(diǎn)返回的搜索結(jié)果的權(quán)重與該單元節(jié)點(diǎn)的權(quán)重的乘積對所有的搜索結(jié)果重新排序后呈現(xiàn)給用戶。
12.如權(quán)利要求9或10的搜索方法,其特征在于,步驟101中,網(wǎng)絡(luò)注冊及管理子系統(tǒng)還通過網(wǎng)絡(luò)服務(wù)描述語言接受單元節(jié)點(diǎn)的注冊,通過簡單對象訪問協(xié)議接收單元節(jié)點(diǎn)的站點(diǎn)資源描述更新信息,并通過簡單對象訪問協(xié)議向單元節(jié)點(diǎn)發(fā)送分解后的任務(wù)并接收單元節(jié)點(diǎn)返回的搜索結(jié)果。
13.如權(quán)利要求9或10的搜索方法,其特征在于,單元節(jié)點(diǎn)用于實(shí)現(xiàn)面向領(lǐng)域或面向主題的垂直搜索。
14.如權(quán)利要求8、9或10的搜索方法,其特征在于,單元節(jié)點(diǎn)由具有分布式結(jié)構(gòu)的多個(gè)子節(jié)點(diǎn)組成。
全文摘要
本發(fā)明涉及一種基于面向服務(wù)架構(gòu)的搜索引擎及搜索方法。該搜索引擎包括中心節(jié)點(diǎn),用于根據(jù)單元節(jié)點(diǎn)的節(jié)點(diǎn)資源描述信息對用戶的查詢進(jìn)行任務(wù)分解,并將用戶的查詢分發(fā)給相應(yīng)的單元節(jié)點(diǎn);將搜索結(jié)果呈現(xiàn)給用戶;單元節(jié)點(diǎn),用于根據(jù)接收的用戶的查詢進(jìn)行搜索,并將搜索結(jié)果返回至中心節(jié)點(diǎn)。本發(fā)明能夠較好的將不同層次的搜索引擎進(jìn)行組織,形成大規(guī)模、分布式的搜索服務(wù)聯(lián)合體,滿足海量數(shù)據(jù)檢索的實(shí)時(shí)性、準(zhǔn)確性需求。
文檔編號G06F17/30GK102156733SQ201110089728
公開日2011年8月17日 申請日期2011年4月11日 優(yōu)先權(quán)日2011年3月25日
發(fā)明者劉佐達(dá), 劉兆偉, 應(yīng)勵(lì)志, 黃永峰 申請人:清華大學(xué)