• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Heritrix體系結(jié)構(gòu)的垂直搜索引擎研究

      2012-04-29 18:34:26陳浩關(guān)巍
      電腦知識(shí)與技術(shù) 2012年15期
      關(guān)鍵詞:體系結(jié)構(gòu)

      陳浩 關(guān)巍

      摘要:垂直搜索引擎作為一種新型的搜索引擎服務(wù)模式,它的出現(xiàn)徹底解決了通用搜索引擎中一直存在的信息量大、查詢不準(zhǔn)確、深度不夠等一系列問題。該文通過對(duì)Heritrix體系結(jié)構(gòu)的深入分析,詳細(xì)闡述了Heritrix在垂直搜索引擎中實(shí)現(xiàn)數(shù)據(jù)搜集的整個(gè)過程。

      關(guān)鍵詞:垂直搜索引擎;網(wǎng)絡(luò)蜘蛛;Heritrix;體系結(jié)構(gòu)

      中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)15-3662-03

      Heritrix Architecture-based Vertical Search Engine

      CHEN Hao, GUAN Wei

      (Guangdong Technical College of Water Resources and Electric Engineering, Guangzhou 510635, China)

      Abstract: The vertical search engine as a new search engine service model, It completely solved the large amount of information has always existed in the general search engine query is not accurate, not deep enough, a series of questions. In this paper, in-depth analysis of the Her itrix architecture, Described in detail the whole process Heritrix data collected in the vertical search engine.

      Key words: vertical search engine; web spiders; Heritrix; architecture

      搜索引擎是指根據(jù)一定的策略、運(yùn)用特定的計(jì)算機(jī)程序從互聯(lián)網(wǎng)上搜集信息,在對(duì)信息進(jìn)行組織和處理后,為用戶提供檢索服務(wù),將用戶檢索相關(guān)的信息展示給用戶的系統(tǒng)。

      垂直搜索引擎是針對(duì)某一個(gè)行業(yè)的專業(yè)搜索引擎,是對(duì)搜索引擎的細(xì)化和延伸,是對(duì)網(wǎng)頁(yè)庫(kù)中某類專業(yè)信息進(jìn)行的一次整合,通過定向分詞字段抽取出需要的數(shù)據(jù),經(jīng)處理后再以特定的數(shù)據(jù)庫(kù)格式返回給用戶。

      i J2vm7Gji;z0垂直搜索引擎相比通用搜索引擎最大的區(qū)別在于對(duì)網(wǎng)頁(yè)信息的結(jié)構(gòu)化信息抽取,通過將網(wǎng)頁(yè)中的非結(jié)構(gòu)化數(shù)據(jù)抽取成特定的結(jié)構(gòu)化信息數(shù)據(jù)。通用搜索引擎是基于視覺的網(wǎng)頁(yè)塊分析,以網(wǎng)頁(yè)塊作為最小單位;而垂直搜索是以結(jié)構(gòu)化數(shù)據(jù)作為最小單位,將這些結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,經(jīng)深度加工即去重、分類、分詞、索引等一系列處理后,再以檢索的形式滿足用戶的需求。中國(guó)經(jīng)濟(jì)網(wǎng)經(jīng)濟(jì)博客*cvwjq8zT)X

      垂直搜索引擎的應(yīng)用領(lǐng)域廣泛,比如企業(yè)庫(kù)搜索、供求信息搜索引擎、購(gòu)物搜索、房產(chǎn)搜索、人才搜索、地圖搜索、mp3搜索、圖片搜索等等,幾乎各行各業(yè)各類信息都可以進(jìn)一步細(xì)化成各類的垂直搜索引擎。

      1垂直搜索引擎的數(shù)據(jù)采集技術(shù)

      垂直搜索引擎由抓取模塊、索引模塊、搜索模塊和信息數(shù)據(jù)庫(kù)組成。抓取模塊通過網(wǎng)絡(luò)蜘蛛負(fù)責(zé)在信息源中抓取數(shù)據(jù)并存入信息數(shù)據(jù)庫(kù);索引模塊對(duì)信息數(shù)據(jù)庫(kù)中的數(shù)據(jù)建立索引庫(kù)為用戶提供快速的檢索服務(wù);搜索模塊一般以B/S形式出現(xiàn),根據(jù)用戶的檢索詞為用戶提供有效的檢索信息;信息數(shù)據(jù)庫(kù)中則存儲(chǔ)了抓取模塊抓取回來的信息。

      垂直搜索引擎抓取模塊中的網(wǎng)絡(luò)蜘蛛和通用搜索引擎網(wǎng)絡(luò)蜘蛛相比更加專業(yè),定制化范圍針對(duì)性更強(qiáng)??啥ㄏ蛐缘牟杉痛怪彼阉鞣秶嚓P(guān)的網(wǎng)頁(yè)忽略不相關(guān)的網(wǎng)頁(yè)和不必要的網(wǎng)頁(yè),選擇內(nèi)容相關(guān)的以及適合做進(jìn)一步處理的網(wǎng)頁(yè),通過深度優(yōu)先采集策略,對(duì)頁(yè)面更新頻率有選擇的進(jìn)行調(diào)整。根據(jù)垂直搜索引擎對(duì)信息要求的特點(diǎn),數(shù)據(jù)采集須由以下幾個(gè)方面進(jìn)行考慮:

      1)信息源的穩(wěn)定性,不能讓信息源網(wǎng)站感覺到來自網(wǎng)絡(luò)蜘蛛的壓力。

      2)抓取成本的控制問題。

      3)用戶檢索方式的改善程度。

      根據(jù)以上三點(diǎn)制定一種較好的爬取策略,要做到恰到好處。策略上可以對(duì)網(wǎng)站中網(wǎng)頁(yè)更新的系數(shù)、網(wǎng)頁(yè)的重要系數(shù)、用戶點(diǎn)擊系數(shù)(或曝光系數(shù))、網(wǎng)站穩(wěn)定系數(shù)先行做評(píng)估,根據(jù)這些系數(shù)來確定這些網(wǎng)站中網(wǎng)頁(yè)更新的頻率。再由此更新頻率對(duì)網(wǎng)頁(yè)進(jìn)行分級(jí)判定,以此降低成本又很好的解決了更新網(wǎng)頁(yè)的抓取問題,系數(shù)比較低的網(wǎng)頁(yè)一月抓取一次,稍微高點(diǎn)的一周抓取一次、中等的幾天到一天抓取一次、高的幾小時(shí)到幾分鐘抓取一次。

      2 Heritrix的特點(diǎn)

      基于系統(tǒng)可移植性和可擴(kuò)展性的方面考慮,垂直搜索引擎的網(wǎng)頁(yè)搜集部分使用開源的Heritrix作為爬蟲(或網(wǎng)絡(luò)蜘蛛)。Heri trix作為Java開源項(xiàng)目,是SourceForge上的開源產(chǎn)品。其實(shí)現(xiàn)原理是根據(jù)給定URL地址向網(wǎng)站提交HTTP請(qǐng)求,抓取網(wǎng)絡(luò)資源,獲取完整、及時(shí)的站點(diǎn)內(nèi)容。通過分析已下載網(wǎng)頁(yè)內(nèi)的有效鏈接URL地址,進(jìn)一步獲取更多的網(wǎng)絡(luò)資源。Heritrix可以通過Web用戶界面方便地啟動(dòng)和管理下載進(jìn)程,控制策略靈活。也可以獲取圖像以及其他非文本內(nèi)容。儲(chǔ)存的頁(yè)面內(nèi)容不會(huì)被修改,完成相應(yīng)網(wǎng)頁(yè)庫(kù)結(jié)果,并生成本地文件及相應(yīng)的日志信息。

      Heritrix作為網(wǎng)絡(luò)蜘蛛,具有以下特點(diǎn):

      1)專注的網(wǎng)絡(luò)信息下載功能。

      2)適用于各種類型網(wǎng)頁(yè)信息并嚴(yán)格保持網(wǎng)頁(yè)原貌。

      3)在保留歷史的下載網(wǎng)頁(yè)庫(kù)內(nèi)容基礎(chǔ)上不斷地添加新的下載內(nèi)容。

      4)以任務(wù)形式管理并提供命令行和友好的Web控制界面。

      5)可配置參數(shù)眾多可更為靈活地管理下載任務(wù)。

      3 Heritrix體系結(jié)構(gòu)分析

      Heritrix的體系結(jié)構(gòu)是采用了多線程和鏈接隊(duì)列的形式組織。整個(gè)系統(tǒng)的工作部分可以分成對(duì)配置文件管理部分、下載任務(wù)管理部分、下載控制部分和下載工作單元。附帶的工作隊(duì)列、緩沖區(qū)等的引入則為網(wǎng)絡(luò)蜘蛛提供了良好的性能。

      整個(gè)體系圍繞下載控制器組織,從外部配置文件獲取運(yùn)行參數(shù)和下載任務(wù)配置。生成下載任務(wù)管理器和待下載的網(wǎng)絡(luò)資源列表。

      1)整個(gè)系統(tǒng)結(jié)構(gòu)中以多線程隊(duì)列作為工作的基本機(jī)制,不斷地從任務(wù)管理其獲取新的下載列表。

      2)下載列表經(jīng)過抓取范圍控制器進(jìn)行過濾,提交給下載地址管理器。

      3)下載管理器中的網(wǎng)頁(yè)URL,根據(jù)控制器要求,形成等待下載隊(duì)列。

      4)處理器鏈接根據(jù)下載隊(duì)列的內(nèi)容,根據(jù)處理器和線程池等其他資源的空閑情況,不斷形成內(nèi)部的工作鏈。

      5)最終調(diào)用負(fù)責(zé)網(wǎng)絡(luò)訪問的CrawlURL對(duì)象進(jìn)行處理,得到的下載頁(yè)面經(jīng)過分析提供新的下載鏈接,填充到下載任務(wù)隊(duì)列中。

      上述的基本過程不斷循環(huán),完成新資源的發(fā)現(xiàn)和已下載資源的不斷更新,最終形成一個(gè)自動(dòng)運(yùn)行的網(wǎng)絡(luò)蜘蛛。Heritrix網(wǎng)絡(luò)蜘蛛工作的體系結(jié)構(gòu)如圖1所示:

      4 Heritrix的功能和作用

      下載控制器是整個(gè)體系的總體框架,控制器組合網(wǎng)絡(luò)蜘蛛的各種工作部件。其中每一部分的功能和作用描述如下:

      1)下載控制器CrawlController

      下載控制器CrawlController是整個(gè)下載過程的總控和指揮者??刂破渌δ懿考膮f(xié)調(diào)工作,組合了在網(wǎng)絡(luò)抓取過程中所有需要協(xié)同工作的功能類。以主線程的形式運(yùn)行,為網(wǎng)絡(luò)蜘蛛的運(yùn)行提供了高層的訪問接口,避免使用者的復(fù)雜操作。通過調(diào)度,最終把下載地址管理器Frontier中地址列表傳遞給線程池中的ToeThreads,完成下載任務(wù)。下載控制器中的不同組件不必互相調(diào)用,通過控制器就可以完成聯(lián)系,形成了整體的運(yùn)行環(huán)境。

      2)下載管理器CrawlOrder

      下載管理器CrawlOrder根據(jù)配置信息生成下載的任務(wù)對(duì)象,任務(wù)配置信息通常讀取Order.xml和seed.txt的內(nèi)容形成。讀取的結(jié)果會(huì)形成一系列的下載任務(wù)內(nèi)容屬性。Order.xml用來配置爬取過程中的功能類組合,可以用于功能擴(kuò)展。Seeds.txt文件時(shí)用來存放希望抓取的網(wǎng)站入口地址。

      3)范圍控制器CrawlScope

      CrawlScope是按照規(guī)則對(duì)下載內(nèi)容進(jìn)行過濾,主要控制將哪個(gè)URL入隊(duì)。使用范圍控制器可以避免下載內(nèi)容的無限膨脹。

      4)邊界控制器Frontier

      邊界控制器Frontier主要用來確定下一個(gè)將被抓取的網(wǎng)頁(yè)。實(shí)現(xiàn)對(duì)網(wǎng)站訪問的均衡處理,避免過多線程同時(shí)訪問同一網(wǎng)站造成網(wǎng)站的壓力。下載后的結(jié)果也被返回Frontier中,利用分析得到的新的URI進(jìn)行后續(xù)訪問。Frontier內(nèi)至少要包括最新發(fā)現(xiàn)的URL資源列表、正在處理的URL列表、已經(jīng)下載的URL列表。Frontier工作中需要依賴PreconditionEnforcer、LinksScoper和Frontier Scheduler對(duì)象。PreconditionEnforcer對(duì)象用來在抓取前檢查DNS和robots,避免非法抓?。籐inksScoper用來判斷正在處理的地址是否屬于下載范圍內(nèi),下載優(yōu)先級(jí)如何控制等;The FrontierScheduler用來把新發(fā)現(xiàn)的地址URLs添加到Frontier中安排下載。

      5)服務(wù)器緩存Servercache

      服務(wù)器緩存Servercache實(shí)現(xiàn)搜索引擎匯中的DNS緩存功能。Servercache中存放服務(wù)器的持久信息,包括IP地址、歷史下載記錄、機(jī)器人策略等。緩存中的信息能夠被爬行部件隨時(shí)查到,用來加快網(wǎng)絡(luò)爬蟲的下載速度。

      6)Web管理控制臺(tái)

      Web管理控制臺(tái)依賴于Heritrix服務(wù)已經(jīng)啟動(dòng),為用戶提供更方便的訪問方式。管理控制臺(tái)提供了密碼保護(hù),相關(guān)的內(nèi)容在Heritrix的配置參數(shù)里使用。

      7)Crawler命令處理部件

      操作者可以通過選擇Crawler命令來操作控制臺(tái)。通過命令行參數(shù)也可以方便地操作網(wǎng)絡(luò)蜘蛛,其中包含了足夠的信息表明要爬的URL和操作控制參數(shù)。

      8)處理鏈ProcessorChainList

      處理鏈保存了當(dāng)前網(wǎng)絡(luò)爬蟲的任務(wù)鏈表,儲(chǔ)存當(dāng)前的工作狀態(tài)和控制下載流程。處理鏈中主要包含了五個(gè)重要的鏈表,包括:預(yù)取處理鏈(Pre-fetch processing chain)、抓取處理鏈(Fetch processing chain)、抽取處理鏈(Extractor processing chain)、寫處理鏈(Write/index processing chain)、提交處理鏈(Post-processing chain)。

      1)預(yù)處理鏈(Pre-fetch processing chain):主要根據(jù)robot協(xié)議、DNS以及下載范圍控制信息判斷網(wǎng)絡(luò)地址是否當(dāng)前下載,另外完成一些準(zhǔn)備工作,如對(duì)處理進(jìn)行延遲和重新處理。內(nèi)部依賴于Preselector和PreconditionEnforcer類對(duì)象完成相應(yīng)的功能。

      2)抓取處理鏈(Fetch processing chain):主要是下載獲得需要的各種網(wǎng)絡(luò)資源,利用FetchHTTP等功能類,完成DNS轉(zhuǎn)換、填寫HTTP資源請(qǐng)求和響應(yīng)表單,接收獲得的信息。

      3)抽取處理鏈(Extractor processing chain):當(dāng)提取完成時(shí),分析網(wǎng)頁(yè)內(nèi)的HTML和JavaScript,提取新的資源URL,保持到相應(yīng)的隊(duì)列。

      4)寫處理鏈(Write/Index processing chain):存儲(chǔ)爬行結(jié)果,返回內(nèi)容和抽取頁(yè)面特征,完成信息過濾并儲(chǔ)存。采用默認(rèn)的ARC? WriterProcessor進(jìn)行處理,通過擴(kuò)展的處理,可以直接完成分析和索引并存儲(chǔ)操作。

      5)提交處理鏈(Post-processing chain):完成最后的日志和資源維護(hù),所有隊(duì)列資源都會(huì)最終進(jìn)入提交處理鏈,即使被拒絕下載的資源地址也會(huì)進(jìn)行邊界測(cè)試等操作。內(nèi)部依賴于CrawlStateUpdater、LinksScoper、FrontierScheduler等操作。

      5 Heritrix工作流程

      Heritrix整個(gè)處理鏈協(xié)調(diào)工作前后銜接,形成網(wǎng)絡(luò)蜘蛛的流水式下載流程,最大程度地發(fā)揮系統(tǒng)工作效率。其工作流程結(jié)果如圖2所示:

      6結(jié)論

      Heritrix豐富的體系結(jié)構(gòu)和多元化的定制功能,為垂直搜索引擎更加專注、具體和深入的信息化服務(wù)模式提供了必要的數(shù)據(jù)支持,為滿足某一特定領(lǐng)域或某一特定人群對(duì)于某一特定信息需求提供了有效保證。

      參考文獻(xiàn):

      [1]黃瑋夏.分類搜索引擎的體系構(gòu)建及其使用方法探析[J].情報(bào)科學(xué),2010(4).

      [2] Sriram Raghavan,Hector Garcia-Molina.Crawling the hidden Web[C].Proc. of the International Conference on Vary I arge Data Bas es(VLDB), Rome, Italy,2010,9.

      [3]陳振宇,趙繼海.搜索引擎的工作機(jī)制與web信息檢索技術(shù)[J].情報(bào)檢索,2009(11).

      [4] Almpanidis G,Kotropoulos C,Pitas.I Combining Text and Link Analysis for Focused Crawling - an Application for Vertical Search Engines[J].Information System,2007,32(6)886-908.

      [5] Kapetanios E,Sugumaran V,Spiliopoulou M.An Ontology-Based Focused Crawler.LNCS 5039,2008,376-379.

      猜你喜歡
      體系結(jié)構(gòu)
      基于PPP工程采購(gòu)模式的工程項(xiàng)目合同體系結(jié)構(gòu)研究
      《ARM體系結(jié)構(gòu)與程序設(shè)計(jì)》課程教學(xué)探索
      足球機(jī)器人并行行為組合控制體系結(jié)構(gòu)分析
      電子制作(2019年10期)2019-06-17 11:45:06
      車聯(lián)網(wǎng)體系結(jié)構(gòu)分析及關(guān)鍵技術(shù)應(yīng)用探討
      基于最優(yōu)樹的網(wǎng)絡(luò)化作戰(zhàn)裝備體系結(jié)構(gòu)優(yōu)化
      基于粒計(jì)算的武器裝備體系結(jié)構(gòu)超網(wǎng)絡(luò)模型
      作戰(zhàn)體系結(jié)構(gòu)穩(wěn)定性突變分析
      基于DODAF的裝備體系結(jié)構(gòu)設(shè)計(jì)
      基于云計(jì)算的航天器控制系統(tǒng)自組織體系結(jié)構(gòu)
      云計(jì)算環(huán)境下的知識(shí)管理系統(tǒng)體系結(jié)構(gòu)探討
      囊谦县| 栾城县| 宁陵县| 阿图什市| 古丈县| 高碑店市| 仁化县| 南溪县| 周宁县| 皋兰县| 高邑县| 桓仁| 长治市| 宿州市| 武陟县| 定远县| 洛浦县| 井冈山市| 壤塘县| 昭觉县| 江津市| 扬中市| 芒康县| 阿合奇县| 申扎县| 元阳县| 离岛区| 读书| 汝南县| 博兴县| 博罗县| 襄城县| 垣曲县| 和硕县| 元阳县| 平定县| 贵港市| 新余市| 石林| 普宁市| 鱼台县|