專利名稱:分布式搜索系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及一種搜索裝置的結(jié)構(gòu)分布,尤其涉及一種分布式搜索系統(tǒng)。
背景技術(shù):
搜索、索引和索引維護(hù)程序放在一臺(tái)服務(wù)器上,配置上比較方便但帶來(lái)的問(wèn)題是, 搜索并發(fā)量大的情況下,無(wú)法進(jìn)行擴(kuò)展,當(dāng)索引數(shù)據(jù)量增大時(shí),索引維護(hù)極其消耗服務(wù)器性能,會(huì)對(duì)搜索產(chǎn)生影響。概述Lucene描述及結(jié)構(gòu)i.什么是 LuceneLucene是一個(gè)基于Java的全文信息檢索工具包,它不是一個(gè)完整的搜索應(yīng)用程序,而是一個(gè)全文檢索引擎的架構(gòu),提供了完整的查詢引擎和索引引擎,部分文本分析引擎 (英文與德文兩種語(yǔ)言)。Lucene目前是Apache Jakarta家族中的一個(gè)頂級(jí)開源項(xiàng)目。它的作者是Doug Cutting,他是一位資深全文索引/檢索專家。ii. Lucene系統(tǒng)基本結(jié)構(gòu)Lucene提供的服務(wù)實(shí)際包含兩部分一入一出。所謂入是寫入,即將你提供的源 (本質(zhì)是字符串)寫入索引或者將其從索引中刪除;所謂出是讀出,即向用戶提供全文搜索服務(wù),讓用戶可以通過(guò)關(guān)鍵詞定位源。下圖表示了一入一出,也表示了搜索應(yīng)用程序和 Lucene之間的關(guān)系寫入流源字符串首先經(jīng)過(guò)analyzer處理,包括分詞,分成一個(gè)個(gè)單詞后將源中需要的信息加入Document的各個(gè)Field中,并把需要索引的Field索引起來(lái),把需要存儲(chǔ)的Field存儲(chǔ)起來(lái)并將索引寫入存儲(chǔ)器,存儲(chǔ)器可以是內(nèi)存或磁盤讀出流用戶提供搜索關(guān)鍵詞,經(jīng)過(guò)analyzer處理。對(duì)處理后的關(guān)鍵詞搜索索引找出對(duì)應(yīng)的Document。用戶根據(jù)需要從找到的Document中提取需要的Field。a) Mapreduce Hadoop映射/歸約框架是一個(gè)主/從(master/slave)架構(gòu).它由一個(gè)主服務(wù)器 (Jobtracker)和若干從服務(wù)器(tasktracker)組成。主服務(wù)器是用戶與系統(tǒng)打交道的關(guān)鍵。用戶將自定義的映射/歸約操作提交給主服務(wù)器。主服務(wù)器將操作放入作業(yè)隊(duì)列中并按照先到先服務(wù)的原則對(duì)隊(duì)列中的任務(wù)進(jìn)行處理。主服務(wù)器用來(lái)將映射或者歸約操作分配給不同的從服務(wù)器。從服務(wù)器在主服務(wù)器的控制下執(zhí)行操作,同時(shí),不同的從服務(wù)器間在映射和歸約階段也進(jìn)行著數(shù)據(jù)傳輸b) Hadoop DFSHadoop的分布式文件系統(tǒng)(HDFQ被設(shè)計(jì)用來(lái)在集群計(jì)算機(jī)間存儲(chǔ)大型數(shù)據(jù)文件。這個(gè)設(shè)計(jì)來(lái)源于Google文件系統(tǒng)(GR5)。Hadoop分布式文件系統(tǒng)將每一個(gè)文件作為一組數(shù)據(jù)塊進(jìn)行存儲(chǔ),一個(gè)文件中除了最后一個(gè)數(shù)據(jù)塊的所有數(shù)據(jù)塊都具有相同的大小。作為容錯(cuò)處理,這些數(shù)據(jù)塊被復(fù)制成為了很多份。每一個(gè)文件的數(shù)據(jù)塊大小和復(fù)制的份數(shù)是可以被管理員配置的。另外,值得注意的是,HDFS中的文件都是只寫一次并且每一個(gè)時(shí)間點(diǎn)嚴(yán)格的只允許一個(gè)線程執(zhí)行寫操作。但是,現(xiàn)有服務(wù)器相互之間所構(gòu)建的搜索系統(tǒng)無(wú)法進(jìn)行有效的擴(kuò)充,在搜索任務(wù)巨大的前提下,會(huì)極大的降低執(zhí)行效率。
實(shí)用新型內(nèi)容本實(shí)用新型的目的在于克服現(xiàn)有技術(shù)存在的以上問(wèn)題,提供一種分布式搜索系統(tǒng)。為實(shí)現(xiàn)本實(shí)用新型的目的分布式搜索系統(tǒng),包括有索引維護(hù)服務(wù)器,其中所述的索引維護(hù)服務(wù)器數(shù)據(jù)輸出端連入分布式文件模塊的輸入端;所述分布式文件模塊的輸出端連入從屬服務(wù)器組件的輸入端;所述從屬服務(wù)器組件的輸出端連入遠(yuǎn)程方法調(diào)用模塊的輸入端;所述遠(yuǎn)程方法調(diào)用模塊的輸出端連入搜索負(fù)載均衡服務(wù)器。進(jìn)一步地,上述的分布式搜索系統(tǒng),其中,所述的分布式文件模塊上設(shè)有數(shù)據(jù)預(yù)留接口,所述的數(shù)據(jù)預(yù)留接口上連接有備份服務(wù)器;所述備份服務(wù)器的輸出端連入遠(yuǎn)程方法調(diào)用模塊的輸入端。更進(jìn)一步地,上述的分布式搜索系統(tǒng),其中,所述的從屬服務(wù)器組件上設(shè)有數(shù)據(jù)源接口。更進(jìn)一步地,上述的分布式搜索系統(tǒng),其中,所述的搜索負(fù)載均衡服務(wù)器上設(shè)置有人機(jī)交互端口,所述的人機(jī)交互端口上設(shè)有外接輸入設(shè)備。再進(jìn)一步地,上述的分布式搜索系統(tǒng),其中,所述的從屬服務(wù)器組件為至少有兩組獨(dú)立運(yùn)行的服務(wù)器組成,每個(gè)服務(wù)器設(shè)有獨(dú)立電源組件。采用本實(shí)用新型技術(shù)方案,通過(guò)多個(gè)服務(wù)器的相互合作,能夠有效進(jìn)行擴(kuò)展。更為重要的是,在索引數(shù)據(jù)量增大時(shí),索引維護(hù)不會(huì)出現(xiàn)過(guò)多消耗服務(wù)器性能的缺陷,確保搜索不受影響。本實(shí)用新型的目的、優(yōu)點(diǎn)和特點(diǎn),將通過(guò)下面優(yōu)先實(shí)施例的非限制性說(shuō)明進(jìn)行圖示和解釋,這些實(shí)施例是參照附圖僅作為例子給出的。
圖1分布式搜索系統(tǒng)的構(gòu)造示意圖。圖中各附圖標(biāo)記的含義如下1索引維護(hù)服務(wù)器 2分布式文件模塊3從屬服務(wù)器4遠(yuǎn)程方法調(diào)用模塊5搜索負(fù)載均衡服務(wù)器6備份服務(wù)器
具體實(shí)施方式
如圖1所示的分布式搜索系統(tǒng),包括有索引維護(hù)服務(wù)器1,其特別之處在于本實(shí)用新型所采用的索引維護(hù)服務(wù)器1數(shù)據(jù)輸出端連入分布式文件模塊2的輸入端。同時(shí),分布式文件模塊2的輸出端連入從屬服務(wù)器組件的輸入端。與之對(duì)應(yīng)的是,該從屬服務(wù)器組件的輸出端連入遠(yuǎn)程方法調(diào)用模塊4的輸入端。遠(yuǎn)程方法調(diào)用模塊4的輸出端連入搜索負(fù)載均衡服務(wù)器5。結(jié)合本實(shí)用新型一較佳的實(shí)施方式來(lái)看,分布式文件模塊2上設(shè)有數(shù)據(jù)預(yù)留接口,所述的數(shù)據(jù)預(yù)留接口上連接有備份服務(wù)器6 ;所述備份服務(wù)器6的輸出端連入遠(yuǎn)程方法調(diào)用模塊4的輸入端。并且,考慮到能夠在搜索數(shù)據(jù)中快速調(diào)用各種數(shù)據(jù)源,在從屬服務(wù)器組件上設(shè)有數(shù)據(jù)源接口。進(jìn)一步來(lái)看,搜索負(fù)載均衡服務(wù)器5上設(shè)置有人機(jī)交互端口,所述的人機(jī)交互端口上設(shè)有外接輸入設(shè)備。具體來(lái)說(shuō),這些設(shè)備可以是鍵盤或是PC主機(jī)。同時(shí),從屬服務(wù)器組件為至少有兩組獨(dú)立運(yùn)行的服務(wù)器組成,每個(gè)服務(wù)器設(shè)有獨(dú)立電源組件。這樣可以便于后續(xù)的維護(hù)以及停電后的順利運(yùn)轉(zhuǎn)。再者,考慮到這個(gè)搜索的延續(xù)性不被破壞,搜索步驟中,當(dāng)某個(gè)從屬服務(wù)器3無(wú)法連接或服務(wù)器斷電時(shí),搜索負(fù)載均衡服務(wù)器5會(huì)嘗試在從屬服務(wù)器3對(duì)應(yīng)的備份服務(wù)器6上搜索。并且,當(dāng)從屬服務(wù)器3和對(duì)應(yīng)的備份服務(wù)器6都不能搜索時(shí),搜索負(fù)載均衡服務(wù)器5會(huì)屏蔽相應(yīng)的從屬服務(wù)器3搜索,返回其他從屬服務(wù)器3搜索到的數(shù)據(jù),避免某個(gè)從屬服務(wù)器3無(wú)法連接時(shí)影響整體搜索功能。發(fā)送報(bào)警信息給管理員以及時(shí)排查相應(yīng)從屬服務(wù)器3的問(wèn)題。從本實(shí)用新型的實(shí)施過(guò)程來(lái)看,當(dāng)用戶查詢“北京的酒店”,搜索負(fù)載均衡服務(wù)器5 根據(jù)索引分布式策略判斷出北京的索引數(shù)據(jù)存在一號(hào)從屬服務(wù)器3上,然后從屬服務(wù)器3 查詢后將數(shù)據(jù)返回給搜索負(fù)載均衡服務(wù)器5,搜索負(fù)載均衡服務(wù)器5計(jì)算后再返回給用戶。通過(guò)上述的文字表述并結(jié)合附圖可以看出,采用本實(shí)用新型后,通過(guò)多個(gè)服務(wù)器的相互合作,能夠有效進(jìn)行擴(kuò)展。更為重要的是,在索引數(shù)據(jù)量增大時(shí),索引維護(hù)不會(huì)出現(xiàn)過(guò)多消耗服務(wù)器性能的缺陷,確保搜索不受影響。當(dāng)然,以上僅是本實(shí)用新型的具體應(yīng)用范例,對(duì)本實(shí)用新型的保護(hù)范圍不構(gòu)成任何限制。除上述實(shí)施例外,本實(shí)用新型還可以有其它實(shí)施方式。凡采用等同替換或等效變換形成的技術(shù)方案,均落在本實(shí)用新型所要求保護(hù)的范圍之內(nèi)。
權(quán)利要求1.分布式搜索系統(tǒng),包括有索引維護(hù)服務(wù)器,其特征在于所述的索引維護(hù)服務(wù)器數(shù)據(jù)輸出端連入分布式文件模塊的輸入端;所述分布式文件模塊的輸出端連入從屬服務(wù)器組件的輸入端;所述從屬服務(wù)器組件的輸出端連入遠(yuǎn)程方法調(diào)用模塊的輸入端;所述遠(yuǎn)程方法調(diào)用模塊的輸出端連入搜索負(fù)載均衡服務(wù)器。
2.根據(jù)權(quán)利要求1所述的分布式搜索系統(tǒng),其特征在于所述的分布式文件模塊上設(shè)有數(shù)據(jù)預(yù)留接口,所述的數(shù)據(jù)預(yù)留接口上連接有備份服務(wù)器;所述備份服務(wù)器的輸出端連入遠(yuǎn)程方法調(diào)用模塊的輸入端。
3.根據(jù)權(quán)利要求1所述的分布式搜索系統(tǒng),其特征在于所述的從屬服務(wù)器組件上設(shè)有數(shù)據(jù)源接口。
4.根據(jù)權(quán)利要求1所述的分布式搜索系統(tǒng),其特征在于所述的搜索負(fù)載均衡服務(wù)器上設(shè)置有人機(jī)交互端口,所述的人機(jī)交互端口上設(shè)有外接輸入設(shè)備。
5.根據(jù)權(quán)利要求1所述的分布式搜索系統(tǒng),其特征在于所述的從屬服務(wù)器組件為至少有兩組獨(dú)立運(yùn)行的服務(wù)器組成,每個(gè)服務(wù)器設(shè)有獨(dú)立電源組件。
專利摘要本實(shí)用新型涉及一種分布式搜索系統(tǒng),包括有索引維護(hù)服務(wù)器,其中索引維護(hù)服務(wù)器數(shù)據(jù)輸出端連入分布式文件模塊的輸入端。同時(shí),分布式文件模塊的輸出端連入從屬服務(wù)器組件的輸入端。并且,在從屬服務(wù)器組件的輸出端連入遠(yuǎn)程方法調(diào)用模塊的輸入端,遠(yuǎn)程方法調(diào)用模塊的輸出端連入搜索負(fù)載均衡服務(wù)器。由此,采用本實(shí)用新型技術(shù)方案,通過(guò)多個(gè)服務(wù)器的相互合作,能夠有效進(jìn)行擴(kuò)展。更為重要的是,在索引數(shù)據(jù)量增大時(shí),索引維護(hù)不會(huì)出現(xiàn)過(guò)多消耗服務(wù)器性能的缺陷,確保搜索不受影響。
文檔編號(hào)G06F17/30GK202084034SQ20112015092
公開日2011年12月21日 申請(qǐng)日期2011年5月12日 優(yōu)先權(quán)日2011年5月12日
發(fā)明者吳劍, 吳志祥, 龐紹進(jìn), 張海龍, 王專, 王曉鐘, 郭鳳林, 馬和平 申請(qǐng)人:蘇州同程旅游網(wǎng)絡(luò)科技有限公司