[發(fā)明專利]一種基于Kafka和Quartz的分布式爬蟲架構(gòu)及其實現(xiàn)方法有效
| 申請?zhí)枺?/td> | 201610120023.5 | 申請日: | 2016-03-03 |
| 公開(公告)號: | CN105677918B | 公開(公告)日: | 2019-02-15 |
| 發(fā)明(設(shè)計)人: | 甄教明;王茂帥;于文才;高峰;柳廷娜 | 申請(專利權(quán))人: | 浪潮軟件股份有限公司 |
| 主分類號: | G06F16/9535 | 分類號: | G06F16/9535;G06F16/22;G06F9/48;G06F9/54;H04L29/08 |
| 代理公司: | 濟南信達(dá)專利事務(wù)所有限公司 37100 | 代理人: | 羅文曌 |
| 地址: | 250100 山東*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 kafka quartz 分布式 爬蟲 架構(gòu) 及其 實現(xiàn) 方法 | ||
1.一種基于Kafka和Quartz的分布式爬蟲系統(tǒng),其特征在于:該爬蟲架構(gòu)包括基礎(chǔ)爬蟲模塊、URL存儲隊列模塊、基于Kafka的URL消息分發(fā)模塊、基于Quartz的爬蟲作業(yè)調(diào)度模塊和前端控制臺;
所述基礎(chǔ)爬蟲模塊是基于開源的單機爬蟲組件,包括頁面解析生成URL、URL過濾器和頁面爬?。豁撁娼馕錾蒛RL負(fù)責(zé)從當(dāng)前頁面中提取URL鏈接;URL過濾器負(fù)責(zé)根據(jù)爬取規(guī)則將產(chǎn)生URL鏈接進(jìn)行過濾,得到符合規(guī)則的URL鏈接;頁面爬取負(fù)責(zé)符合爬取規(guī)則的URL鏈接進(jìn)行頁面抓取,定制頁面抓取內(nèi)容;
所述URL存儲隊列模塊,采用內(nèi)存數(shù)據(jù)庫,內(nèi)存數(shù)據(jù)庫用來存儲待爬取以及已經(jīng)爬取完成的URL消息隊列,實現(xiàn)分布式爬蟲的增量爬?。粌?nèi)存數(shù)據(jù)庫自動完成數(shù)據(jù)的去重存儲,完成待爬取隊列的去重存儲以及已爬取隊列的存儲,實現(xiàn)分布式爬蟲的增量爬取和中斷爬?。?/p>
所述基于Kafka的消息分發(fā)模塊,采用生產(chǎn)者-消費者異步請求處理機制,一個生產(chǎn)者對應(yīng)N個消費者,分別部署于不同的節(jié)點;生產(chǎn)者負(fù)責(zé)產(chǎn)生待爬取的URL消息隊列,而消費者負(fù)責(zé)從待爬取隊列中獲取URL消息隊列進(jìn)行爬取,并將已完成的爬取存入已爬取隊列;
所述基于Quartz的作業(yè)調(diào)度模塊,負(fù)責(zé)完成對分布式爬蟲架構(gòu)的爬取作業(yè)的調(diào)度,爬取作業(yè)分為生產(chǎn)者作業(yè)和消費者作業(yè)兩種類型,使用不同的作業(yè)調(diào)度規(guī)則進(jìn)行調(diào)度;
所述前端控制臺,負(fù)責(zé)完成對分布式爬蟲的管理以及定制;前端控制臺負(fù)責(zé)完成爬取入口、爬取規(guī)則、爬取結(jié)果存儲方式和調(diào)度規(guī)則的參數(shù)設(shè)定以及完成對爬取作業(yè)的啟停管理和分布式爬蟲的集群部署管理。
2.一種基于Kafka和Quartz的分布式爬蟲系統(tǒng)的實現(xiàn)方法,其特征在于:采用權(quán)利要求1中一種基于Kafka和Quartz的分布式爬蟲系統(tǒng),包括如下步驟:
(1)、通過前端控制臺的頁面設(shè)定爬取入口、爬取規(guī)則、爬取結(jié)果存儲方式以及調(diào)度規(guī)則的參數(shù),同時選擇要部署的集群節(jié)點進(jìn)行部署;
(2)、生產(chǎn)者作業(yè)根據(jù)基于Quartz的作業(yè)調(diào)度模塊的調(diào)度機制,調(diào)用基礎(chǔ)爬蟲模塊根據(jù)爬蟲入口,提取爬取URL鏈接,并去重存儲在待爬取隊列中;
(3)、各個結(jié)點的消費者作業(yè)根據(jù)基于Quartz的作業(yè)調(diào)度模塊的調(diào)度機制,調(diào)用基礎(chǔ)爬蟲模塊,通過獲取基于Kafka的消息分發(fā)模塊的分發(fā)機制分發(fā)到本節(jié)點的URL鏈接消息,對URL鏈接進(jìn)行解析爬取,并將結(jié)果存儲到系統(tǒng)中;
(4)、通過前端控制臺的頁面完成對已部署爬取作業(yè)的啟停管理以及各個結(jié)點的消費者作業(yè)增刪管理。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮軟件股份有限公司,未經(jīng)浪潮軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610120023.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- Kafka集群的數(shù)據(jù)傳送方法和裝置
- KAFKA消息隊列數(shù)監(jiān)控方法、裝置、電子設(shè)備及存儲介質(zhì)
- KAFKA主題監(jiān)控方法、裝置、電子設(shè)備及存儲介質(zhì)
- 基于容器的集群遷移方法及裝置
- kafka消息的測試方法、裝置、計算機設(shè)備及存儲介質(zhì)
- 基于kafka集群的數(shù)據(jù)寫入方法、裝置、電子設(shè)備、存儲介質(zhì)
- 一種可視化部署并管理kafka集群的方法
- kafka消息存儲系統(tǒng)、方法、裝置及計算機可讀存儲介質(zhì)
- 一種基于kafka-connect的數(shù)據(jù)傳遞方法
- 一種將Kafka長連接消費轉(zhuǎn)換成服務(wù)的方法
- 一種Hive調(diào)度方法及裝置
- 一種基于Kafka和Quartz的分布式爬蟲架構(gòu)及其實現(xiàn)方法
- 一種定時任務(wù)調(diào)度插件Quartz使用
- 一種任務(wù)調(diào)度方法、裝置、介質(zhì)和電子設(shè)備
- 基于Quartz服務(wù)的計劃任務(wù)處理方法、裝置、設(shè)備及介質(zhì)
- 一種集群化定時任務(wù)調(diào)度系統(tǒng)
- 一種基于Quartz的Redis實現(xiàn)方法與系統(tǒng)
- 服務(wù)升級方法、裝置、電子設(shè)備及存儲介質(zhì)
- 任務(wù)調(diào)度方法、裝置及計算機設(shè)備
- 一種基于Quartz與多線程的不動產(chǎn)登記方法





