[發(fā)明專利]一種基于Kafka和Quartz的分布式爬蟲架構(gòu)及其實(shí)現(xiàn)方法有效
| 申請(qǐng)?zhí)枺?/td> | 201610120023.5 | 申請(qǐng)日: | 2016-03-03 |
| 公開(公告)號(hào): | CN105677918B | 公開(公告)日: | 2019-02-15 |
| 發(fā)明(設(shè)計(jì))人: | 甄教明;王茂帥;于文才;高峰;柳廷娜 | 申請(qǐng)(專利權(quán))人: | 浪潮軟件股份有限公司 |
| 主分類號(hào): | G06F16/9535 | 分類號(hào): | G06F16/9535;G06F16/22;G06F9/48;G06F9/54;H04L29/08 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司 37100 | 代理人: | 羅文曌 |
| 地址: | 250100 山東*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 kafka quartz 分布式 爬蟲 架構(gòu) 及其 實(shí)現(xiàn) 方法 | ||
本發(fā)明公開了一種基于Kafka和Quartz的分布式爬蟲架構(gòu)及其實(shí)現(xiàn)方法,屬于計(jì)算機(jī)數(shù)據(jù)挖掘技術(shù)領(lǐng)域,本發(fā)明要解決的技術(shù)問題為如何能夠通過單機(jī)爬蟲框架結(jié)合分布式工具完成分布式爬蟲的需求,實(shí)現(xiàn)爬取隊(duì)列消息的多節(jié)點(diǎn)分發(fā)以及定時(shí)爬取。技術(shù)方案為:(1)、一種基于Kafka和Quartz的分布式爬蟲架構(gòu),該爬蟲架構(gòu)包括基礎(chǔ)爬蟲組件、URL存儲(chǔ)隊(duì)列、基于Kafka的URL消息分發(fā)機(jī)制、基于Quartz的爬蟲作業(yè)調(diào)度機(jī)制和前端控制臺(tái)。(2)、一種基于Kafka和Quartz的分布式爬蟲架構(gòu)的實(shí)現(xiàn)方法,包括如下步驟:(1)、通過前端控制臺(tái)的頁面設(shè)定爬取入口、爬取規(guī)則、爬取結(jié)果存儲(chǔ)方式以及調(diào)度規(guī)則的參數(shù),同時(shí)選擇要部署的集群節(jié)點(diǎn)進(jìn)行部署。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)挖掘技術(shù)領(lǐng)域,具體地說是一種基于Kafka和Quartz的分布式爬蟲架構(gòu)及其實(shí)現(xiàn)方法。
背景技術(shù)
網(wǎng)絡(luò)爬蟲是搜索引擎技術(shù)的基礎(chǔ)組成部分。網(wǎng)絡(luò)爬蟲技術(shù)是從一個(gè)或若干個(gè)初始網(wǎng)頁的URL(Uniform Resource Locator,統(tǒng)一資源定位符)開始,活的初始網(wǎng)頁上的URL,在抓取網(wǎng)頁信息的過程中,根據(jù)網(wǎng)頁的抓取策略,不斷從當(dāng)前頁面上抽取新的URL放入隊(duì)列,直到滿足某種停止條件。然后將抓取到的網(wǎng)頁信息存儲(chǔ)在搜索引擎的服務(wù)器中,從而可以加快用戶的搜索速度。
隨著互聯(lián)網(wǎng)的爆炸性增長,網(wǎng)絡(luò)所承載的數(shù)據(jù)量已經(jīng)遠(yuǎn)遠(yuǎn)超出人們的想象。在大數(shù)據(jù)時(shí)代,面對(duì)如此巨大的數(shù)據(jù)量,如何快速精準(zhǔn)的檢索信息,如何能夠更高效的收集網(wǎng)絡(luò)信息,顯然變得至關(guān)重要。
為滿足上述的要求,作為抓取工具的爬蟲必須具備更加優(yōu)越的性能。具備單一節(jié)點(diǎn)的傳統(tǒng)爬蟲架構(gòu)無法滿足海量數(shù)據(jù)的抓取需求。因此,便產(chǎn)生了支持高并發(fā),多節(jié)點(diǎn)分布式部署的分布式爬蟲架構(gòu)。
對(duì)于分布式爬蟲來說,其中有兩個(gè)需要解決的重點(diǎn)問題是:一,爬取隊(duì)列消息的多節(jié)點(diǎn)分發(fā)問題;二,定時(shí)爬取問題;對(duì)于解決上述兩個(gè)問題,不同的分布式爬蟲架構(gòu)有不同的解決方案,就目前來講,因?yàn)榉植际脚老x架構(gòu)往往是各個(gè)公司的核心機(jī)密,所以一般不會(huì)公開分布式爬蟲的具體實(shí)現(xiàn)細(xì)節(jié)。已經(jīng)開源的常用的分布式爬蟲包括Google Crawler,Mercator,Nutch等,但開源分布式爬蟲缺乏一定的定制性,不能很好的滿足多變的爬取需求。是否可以利用已有的成熟的單機(jī)爬蟲框架結(jié)合分布式工具完成分布式爬蟲的需求,使其可以滿足大部分的爬取需求,并具備高并發(fā),支持分布式等特征,成為眾多技術(shù)人員研究的方向。
綜上所述,如何能夠通過單機(jī)爬蟲框架結(jié)合分布式工具完成分布式爬蟲的需求,實(shí)現(xiàn)爬取隊(duì)列消息的多節(jié)點(diǎn)分發(fā)以及定時(shí)爬取是目前現(xiàn)有技術(shù)中存在的問題。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足之處,提供一種基于Kafka和Quartz的分布式爬蟲架構(gòu)及其實(shí)現(xiàn)方法,來解決如何能夠通過單機(jī)爬蟲框架結(jié)合分布式工具完成分布式爬蟲的需求,實(shí)現(xiàn)爬取隊(duì)列消息的多節(jié)點(diǎn)分發(fā)以及定時(shí)爬取的問題。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種基于Kafka和Quartz的分布式爬蟲架構(gòu),該爬蟲架構(gòu)包括基礎(chǔ)爬蟲組件、URL存儲(chǔ)隊(duì)列、基于Kafka的URL消息分發(fā)機(jī)制、基于Quartz的爬蟲作業(yè)調(diào)度機(jī)制和前端控制臺(tái);
所述基礎(chǔ)爬蟲組件是基于開源的單機(jī)爬蟲組件,包括頁面解析生成URL、URL過濾器和頁面爬取;
所述URL存儲(chǔ)隊(duì)列,采用內(nèi)存數(shù)據(jù)庫,內(nèi)存數(shù)據(jù)庫用來存儲(chǔ)待爬取以及已經(jīng)爬取完成的URL消息隊(duì)列,實(shí)現(xiàn)分布式爬蟲的增量爬取;其中,URL存儲(chǔ)隊(duì)列利用高校的內(nèi)存數(shù)據(jù)庫來完成,如使用鍵值結(jié)構(gòu)自動(dòng)去重的Redis,或者是具備優(yōu)良性能的伯克利數(shù)據(jù)庫。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮軟件股份有限公司,未經(jīng)浪潮軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610120023.5/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- Kafka集群的數(shù)據(jù)傳送方法和裝置
- KAFKA消息隊(duì)列數(shù)監(jiān)控方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- KAFKA主題監(jiān)控方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 基于容器的集群遷移方法及裝置
- kafka消息的測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 基于kafka集群的數(shù)據(jù)寫入方法、裝置、電子設(shè)備、存儲(chǔ)介質(zhì)
- 一種可視化部署并管理kafka集群的方法
- kafka消息存儲(chǔ)系統(tǒng)、方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種基于kafka-connect的數(shù)據(jù)傳遞方法
- 一種將Kafka長連接消費(fèi)轉(zhuǎn)換成服務(wù)的方法
- 一種Hive調(diào)度方法及裝置
- 一種基于Kafka和Quartz的分布式爬蟲架構(gòu)及其實(shí)現(xiàn)方法
- 一種定時(shí)任務(wù)調(diào)度插件Quartz使用
- 一種任務(wù)調(diào)度方法、裝置、介質(zhì)和電子設(shè)備
- 基于Quartz服務(wù)的計(jì)劃任務(wù)處理方法、裝置、設(shè)備及介質(zhì)
- 一種集群化定時(shí)任務(wù)調(diào)度系統(tǒng)
- 一種基于Quartz的Redis實(shí)現(xiàn)方法與系統(tǒng)
- 服務(wù)升級(jí)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 任務(wù)調(diào)度方法、裝置及計(jì)算機(jī)設(shè)備
- 一種基于Quartz與多線程的不動(dòng)產(chǎn)登記方法





