欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于Kafka和Quartz的分布式爬蟲架構(gòu)及其實(shí)現(xiàn)方法_2

文檔序號(hào):9911284閱讀:來源:國(guó)知局
附圖1為一種基于Kafka和Quartz的分布式爬蟲架構(gòu)框圖。
【具體實(shí)施方式】
[0022]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
[0023]實(shí)施例1
本發(fā)明的一種基于Kafka和Quartz的分布式爬蟲架構(gòu),該爬蟲架構(gòu)包括基礎(chǔ)爬蟲組件、URL存儲(chǔ)隊(duì)列、基于Kaf ka的URL消息分發(fā)機(jī)制、基于Quartz的爬蟲作業(yè)調(diào)度機(jī)制和前端控制臺(tái);基礎(chǔ)爬蟲組件是基于開源的單機(jī)爬蟲組件,包括頁(yè)面解析生成URL、URL過濾器和頁(yè)面爬取;頁(yè)面解析生成URL負(fù)責(zé)從當(dāng)前頁(yè)面中提取URL鏈接。URL過濾器負(fù)責(zé)根據(jù)爬取規(guī)則將產(chǎn)生URL鏈接進(jìn)行過濾,得到符合規(guī)則的URL鏈接。頁(yè)面爬取負(fù)責(zé)符合爬取規(guī)則的URL鏈接進(jìn)行頁(yè)面抓取,定制頁(yè)面抓取內(nèi)容。URL存儲(chǔ)隊(duì)列,采用內(nèi)存數(shù)據(jù)庫(kù),內(nèi)存數(shù)據(jù)庫(kù)用來存儲(chǔ)待爬取以及已經(jīng)爬取完成的URL消息隊(duì)列,實(shí)現(xiàn)分布式爬蟲的增量爬?。粌?nèi)存數(shù)據(jù)庫(kù)自動(dòng)完成數(shù)據(jù)的去重存儲(chǔ),完成待爬取隊(duì)列的去重存儲(chǔ)以及已爬取隊(duì)列的存儲(chǔ),實(shí)現(xiàn)分布式爬蟲的增量爬取和中斷爬取?;贙afka的消息分發(fā)機(jī)制,采用生產(chǎn)者-消費(fèi)者異步請(qǐng)求處理機(jī)制,一個(gè)生產(chǎn)者對(duì)應(yīng)N個(gè)消費(fèi)者,分別部署于不同的節(jié)點(diǎn);生產(chǎn)者負(fù)責(zé)產(chǎn)生待爬取的URL消息隊(duì)列,而消費(fèi)者負(fù)責(zé)從待爬取隊(duì)列中獲取URL消息隊(duì)列進(jìn)行爬取,并將已完成的爬取存入已爬取隊(duì)列?;赒uartz的作業(yè)調(diào)度機(jī)制,負(fù)責(zé)完成對(duì)分布式爬蟲架構(gòu)的爬取作業(yè)的調(diào)度,爬取作業(yè)分為生產(chǎn)者作業(yè)和消費(fèi)者作業(yè)兩種類型,使用不同的作業(yè)調(diào)度規(guī)則進(jìn)行調(diào)度。前端控制臺(tái),負(fù)責(zé)完成對(duì)分布式爬蟲的管理以及定制。前端控制臺(tái)負(fù)責(zé)完成爬取入口、爬取規(guī)則、爬取結(jié)果存儲(chǔ)方式和調(diào)度規(guī)則的參數(shù)設(shè)定以及完成對(duì)爬取作業(yè)的啟停管理和分布式爬蟲的集群部署管理。
[0024]如附圖1所示,基于Quartz的爬蟲監(jiān)控中心監(jiān)控基于kafka的爬蟲I爬取開源數(shù)據(jù)庫(kù)(HBASE)中的網(wǎng)頁(yè)(Page)信息,基于kafka的爬蟲I包括生產(chǎn)者作業(yè)和消費(fèi)者作業(yè),即基于Quartz爬蟲監(jiān)控中心監(jiān)控生產(chǎn)者和消費(fèi)者完成網(wǎng)頁(yè)爬取的作業(yè),并將網(wǎng)頁(yè)信息存儲(chǔ)到格式化存儲(chǔ)模塊,即格式化存儲(chǔ)模塊從網(wǎng)頁(yè)中提取爬取信息并存儲(chǔ)。同時(shí),基于Quartz爬蟲監(jiān)控中心監(jiān)控爬蟲2到爬蟲N完成網(wǎng)頁(yè)爬取任務(wù),并存儲(chǔ)到內(nèi)存數(shù)據(jù)庫(kù)中。
[0025]實(shí)施例2
一種基于Kafka和Quartz的分布式爬蟲架構(gòu)的實(shí)現(xiàn)方法,采用實(shí)施例1中的一種基于Kafka和Quartz的分布式爬蟲架構(gòu),包括如下步驟:
(1)、通過前端控制臺(tái)的頁(yè)面設(shè)定爬取入口、爬取規(guī)則、爬取結(jié)果存儲(chǔ)方式以及調(diào)度規(guī)則的參數(shù),同時(shí)選擇要部署的集群節(jié)點(diǎn)進(jìn)行部署;
(2)、生產(chǎn)者作業(yè)根據(jù)基于Quartz的作業(yè)調(diào)度機(jī)制,調(diào)用基礎(chǔ)爬蟲組件根據(jù)爬蟲入口,提取爬取URL鏈接,并去重存儲(chǔ)在待爬取隊(duì)列中;
(3)、各個(gè)結(jié)點(diǎn)的消費(fèi)者作業(yè)根據(jù)基于Quartz的作業(yè)調(diào)度機(jī)制,調(diào)用基礎(chǔ)爬蟲組件,通過獲取基于Kaf ka的消息分發(fā)機(jī)制分發(fā)到本節(jié)點(diǎn)的URL鏈接消息,對(duì)URL鏈接進(jìn)行解析爬取,并將結(jié)果存儲(chǔ)到系統(tǒng)中;
(4)、通過前端控制臺(tái)的頁(yè)面完成對(duì)已部署爬取作業(yè)的啟停管理以及各個(gè)結(jié)點(diǎn)的消費(fèi)者作業(yè)增刪管理。
[0026]通過上面【具體實(shí)施方式】,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的兩種【具體實(shí)施方式】。在公開的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。
[0027]除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
【主權(quán)項(xiàng)】
1.一種基于Kafka和Quartz的分布式爬蟲架構(gòu),其特征在于:該爬蟲架構(gòu)包括基礎(chǔ)爬蟲組件、URL存儲(chǔ)隊(duì)列、基于Kafka的URL消息分發(fā)機(jī)制、基于Quartz的爬蟲作業(yè)調(diào)度機(jī)制和前端控制臺(tái); 所述基礎(chǔ)爬蟲組件是基于開源的單機(jī)爬蟲組件,包括頁(yè)面解析生成URL、URL過濾器和頁(yè)面爬??; 所述URL存儲(chǔ)隊(duì)列,采用內(nèi)存數(shù)據(jù)庫(kù),內(nèi)存數(shù)據(jù)庫(kù)用來存儲(chǔ)待爬取以及已經(jīng)爬取完成的URL消息隊(duì)列,實(shí)現(xiàn)分布式爬蟲的增量爬?。?所述基于Kafka的消息分發(fā)機(jī)制,采用生產(chǎn)者-消費(fèi)者異步請(qǐng)求處理機(jī)制,一個(gè)生產(chǎn)者對(duì)應(yīng)N個(gè)消費(fèi)者,分別部署于不同的節(jié)點(diǎn);生產(chǎn)者負(fù)責(zé)產(chǎn)生待爬取的URL消息隊(duì)列,而消費(fèi)者負(fù)責(zé)從待爬取隊(duì)列中獲取URL消息隊(duì)列進(jìn)行爬取,并將已完成的爬取存入已爬取隊(duì)列; 所述基于Quartz的作業(yè)調(diào)度機(jī)制,負(fù)責(zé)完成對(duì)分布式爬蟲架構(gòu)的爬取作業(yè)的調(diào)度,爬取作業(yè)分為生產(chǎn)者作業(yè)和消費(fèi)者作業(yè)兩種類型,使用不同的作業(yè)調(diào)度規(guī)則進(jìn)行調(diào)度; 所述前端控制臺(tái),負(fù)責(zé)完成對(duì)分布式爬蟲的管理以及定制。2.根據(jù)權(quán)利要求1所述的一種基于Kafka和Quartz的分布式爬蟲架構(gòu),其特征在于:所述頁(yè)面解析生成URL負(fù)責(zé)從當(dāng)前頁(yè)面中提取URL鏈接。3.根據(jù)權(quán)利要求1或2所述的一種基于Kafka和Quartz的分布式爬蟲架構(gòu),其特征在于:所述URL過濾器負(fù)責(zé)根據(jù)爬取規(guī)則將產(chǎn)生URL鏈接進(jìn)行過濾,得到符合規(guī)則的URL鏈接。4.根據(jù)權(quán)利要求3所述的一種基于Kafka和Quartz的分布式爬蟲架構(gòu),其特征在于:所述頁(yè)面爬取負(fù)責(zé)符合爬取規(guī)則的URL鏈接進(jìn)行頁(yè)面抓取,定制頁(yè)面抓取內(nèi)容。5.根據(jù)權(quán)利要求1所述的一種基于Kafka和Quartz的分布式爬蟲架構(gòu),其特征在于:所述前端控制臺(tái)負(fù)責(zé)完成爬取入口、爬取規(guī)則、爬取結(jié)果存儲(chǔ)方式和調(diào)度規(guī)則的參數(shù)設(shè)定以及完成對(duì)爬取作業(yè)的啟停管理和分布式爬蟲的集群部署管理。6.根據(jù)權(quán)利要求1所述的一種基于Kafka和Quartz的分布式爬蟲架構(gòu),其特征在于:所述內(nèi)存數(shù)據(jù)庫(kù)自動(dòng)完成數(shù)據(jù)的去重存儲(chǔ),完成待爬取隊(duì)列的去重存儲(chǔ)以及已爬取隊(duì)列的存儲(chǔ),實(shí)現(xiàn)分布式爬蟲的增量爬取和中斷爬取。7.一種基于Kaf ka和Quartz的分布式爬蟲架構(gòu)的實(shí)現(xiàn)方法,其特征在于:采用權(quán)利要求1-6中任意一種基于Kafka和Quartz的分布式爬蟲架構(gòu),包括如下步驟: (1)、通過前端控制臺(tái)的頁(yè)面設(shè)定爬取入口、爬取規(guī)則、爬取結(jié)果存儲(chǔ)方式以及調(diào)度規(guī)則的參數(shù),同時(shí)選擇要部署的集群節(jié)點(diǎn)進(jìn)行部署; (2)、生產(chǎn)者作業(yè)根據(jù)基于Quartz的作業(yè)調(diào)度機(jī)制,調(diào)用基礎(chǔ)爬蟲組件根據(jù)爬蟲入口,提取爬取URL鏈接,并去重存儲(chǔ)在待爬取隊(duì)列中; (3)、各個(gè)結(jié)點(diǎn)的消費(fèi)者作業(yè)根據(jù)基于Quartz的作業(yè)調(diào)度機(jī)制,調(diào)用基礎(chǔ)爬蟲組件,通過獲取基于Kaf ka的消息分發(fā)機(jī)制分發(fā)到本節(jié)點(diǎn)的URL鏈接消息,對(duì)URL鏈接進(jìn)行解析爬取,并將結(jié)果存儲(chǔ)到系統(tǒng)中; (4)、通過前端控制臺(tái)的頁(yè)面完成對(duì)已部署爬取作業(yè)的啟停管理以及各個(gè)結(jié)點(diǎn)的消費(fèi)者作業(yè)增刪管理。
【專利摘要】本發(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)的頁(yè)面設(shè)定爬取入口、爬取規(guī)則、爬取結(jié)果存儲(chǔ)方式以及調(diào)度規(guī)則的參數(shù),同時(shí)選擇要部署的集群節(jié)點(diǎn)進(jìn)行部署。
【IPC分類】H04L29/08, G06F9/48, G06F9/54, G06F17/30
【公開號(hào)】CN105677918
【申請(qǐng)?zhí)枴緾N201610120023
【發(fā)明人】甄教明, 王茂帥, 于文才, 高峰, 柳廷娜
【申請(qǐng)人】浪潮軟件股份有限公司
【公開日】2016年6月15日
【申請(qǐng)日】2016年3月3日
當(dāng)前第2頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
崇文区| 武川县| 辽宁省| 鄱阳县| 霍林郭勒市| 巴塘县| 龙泉市| 白银市| 东乡族自治县| 英超| 望江县| 分宜县| 桐柏县| 土默特右旗| 凭祥市| 西充县| 平罗县| 新化县| 乐平市| 鄂州市| 新营市| 喀喇沁旗| 正镶白旗| 青州市| 汾西县| 新邵县| 织金县| 安吉县| 凤台县| 多伦县| 南江县| 西贡区| 大兴区| 东莞市| 唐河县| 桂东县| 呼和浩特市| 清远市| 额济纳旗| 玉屏| 溧水县|