[發(fā)明專利]面向海量數(shù)據(jù)采集的分布式網(wǎng)絡(luò)爬蟲性能優(yōu)化系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 201911110921.2 | 申請(qǐng)日: | 2019-11-14 |
| 公開(公告)號(hào): | CN110866166A | 公開(公告)日: | 2020-03-06 |
| 發(fā)明(設(shè)計(jì))人: | 王維綱;張郭秋晨;張凱云;吳志成;吳艷林;紀(jì)綱;孫鵬;陳卓 | 申請(qǐng)(專利權(quán))人: | 北京京航計(jì)算通訊研究所 |
| 主分類號(hào): | G06F16/951 | 分類號(hào): | G06F16/951;G06F16/955 |
| 代理公司: | 中國(guó)兵器工業(yè)集團(tuán)公司專利中心 11011 | 代理人: | 周恒 |
| 地址: | 100074 北*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 面向 海量 數(shù)據(jù) 采集 分布式 網(wǎng)絡(luò) 爬蟲 性能 優(yōu)化 系統(tǒng) | ||
本發(fā)明屬于軟件工程技術(shù)領(lǐng)域,具體涉及一種面向海量數(shù)據(jù)采集的分布式網(wǎng)絡(luò)爬蟲性能優(yōu)化系統(tǒng)。所述系統(tǒng)中,初始化模塊用于新建一個(gè)去重字符串和一個(gè)垃圾鏈接特征字符串;主節(jié)點(diǎn)爬行器用于讀取到初始URL地址,爬取模塊爬取初始URL地址,生成URL任務(wù)隊(duì)列;爬取模塊用于根據(jù)URL任務(wù)隊(duì)列進(jìn)行網(wǎng)頁(yè)爬取,完成爬取工作。與現(xiàn)有技術(shù)相比較,本發(fā)明突破了分布式網(wǎng)絡(luò)爬蟲爬取性能瓶頸,爬取性能提高50%以上;提高了URL任務(wù)隊(duì)列的去重效率,滿足海量數(shù)據(jù)采集的效率要求;優(yōu)化了URL任務(wù)隊(duì)列的存儲(chǔ)空間,極大地節(jié)省了服務(wù)器內(nèi)存資源;增加了垃圾鏈接過(guò)濾環(huán)節(jié),不僅節(jié)約服務(wù)器內(nèi)存資源,而且顯著提高爬蟲效率。
技術(shù)領(lǐng)域
本發(fā)明屬于軟件工程技術(shù)領(lǐng)域,具體涉及一種面向海量數(shù)據(jù)采集的分布式網(wǎng)絡(luò)爬蟲性能優(yōu)化系統(tǒng)。
背景技術(shù)
網(wǎng)絡(luò)爬蟲又名網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)螞蟻或者網(wǎng)絡(luò)機(jī)器人等,能夠按照設(shè)定的規(guī)則自動(dòng)地從網(wǎng)絡(luò)中獲取數(shù)據(jù)。分布式網(wǎng)絡(luò)爬蟲能夠高效獲取大規(guī)模數(shù)據(jù)集,廣泛應(yīng)用于搜索引擎和大數(shù)據(jù)分析中,已經(jīng)成為海量數(shù)據(jù)采集的重要工具。
分布式網(wǎng)絡(luò)爬蟲通常包括一個(gè)主節(jié)點(diǎn)爬行器和多個(gè)從節(jié)點(diǎn)爬行器,使用Redis內(nèi)存數(shù)據(jù)庫(kù)持久化保存URL任務(wù)隊(duì)列和去重隊(duì)列。主節(jié)點(diǎn)爬行器根據(jù)初始URL(統(tǒng)一資源定位符)爬取網(wǎng)頁(yè),獲得數(shù)據(jù),同時(shí)也得到新的URL,將新的URL去重后放入U(xiǎn)RL任務(wù)隊(duì)列;從節(jié)點(diǎn)爬行器從URL任務(wù)隊(duì)列中獲取URL地址,爬取網(wǎng)頁(yè),獲得數(shù)據(jù),同時(shí)也會(huì)得到新的URL,經(jīng)過(guò)去重后也會(huì)放入U(xiǎn)RL任務(wù)隊(duì)列,如此反復(fù)直到爬蟲任務(wù)滿足結(jié)束條件或者URL任務(wù)隊(duì)列為空。
Redis內(nèi)存數(shù)據(jù)庫(kù)自帶的URL去重原理是利用數(shù)據(jù)集合無(wú)重復(fù)的特性,適用于數(shù)據(jù)量規(guī)模不大的情況。當(dāng)待去重的鏈接達(dá)到千萬(wàn)量級(jí)時(shí),對(duì)服務(wù)器的內(nèi)存要求明顯提高,且去重效率大幅降低。經(jīng)過(guò)實(shí)踐,隨著爬蟲的不斷運(yùn)行,累積的URL任務(wù)隊(duì)列和去重隊(duì)列會(huì)持續(xù)占用Redis內(nèi)存并不斷增長(zhǎng),最終會(huì)因占滿整個(gè)服務(wù)器的內(nèi)存而使服務(wù)器宕機(jī)。
因此,現(xiàn)有的基于Redis的分布式網(wǎng)絡(luò)爬蟲,面對(duì)海量數(shù)據(jù)采集時(shí),性能存在三個(gè)方面的不足:(1)龐大的去重隊(duì)列保存在Redis集合中,不僅造成去重效率低下,也會(huì)過(guò)度消耗服務(wù)器內(nèi)存資源;(2)垃圾鏈接層出不窮,Redis內(nèi)存數(shù)據(jù)庫(kù)無(wú)法有效分辨,嚴(yán)重影響正常的爬取工作;(3)URL任務(wù)隊(duì)列數(shù)據(jù)量激增,也會(huì)過(guò)度占用服務(wù)器內(nèi)存資源。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問(wèn)題
本發(fā)明要解決的技術(shù)問(wèn)題是:如何解決現(xiàn)有的基于Redis內(nèi)存數(shù)據(jù)庫(kù)的分布式網(wǎng)絡(luò)爬蟲,面對(duì)海量數(shù)據(jù)采集時(shí),存在的去重效率不高和服務(wù)器內(nèi)存資源過(guò)度消耗以及垃圾鏈接無(wú)法有效根除的問(wèn)題,
(二)技術(shù)方案
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種面向海量數(shù)據(jù)采集的分布式網(wǎng)絡(luò)爬蟲性能優(yōu)化系統(tǒng),所述分布式網(wǎng)絡(luò)爬蟲性能優(yōu)化系統(tǒng)包括:初始化模塊、爬取模塊;其中,
所述初始化模塊用于新建一個(gè)去重字符串和一個(gè)垃圾鏈接特征字符串;
所述爬取模塊用于在主節(jié)點(diǎn)爬行器讀取到初始URL地址后,爬取初始URL地址,生成URL任務(wù)隊(duì)列;
所述爬取模塊還用于根據(jù)URL任務(wù)隊(duì)列進(jìn)行網(wǎng)頁(yè)爬取,完成爬取工作。
其中,所述初始化模塊包括:去重字符串生成單元、垃圾鏈接特征字符串生成單元;其中,
所述去重字符串生成單元用于在Redis內(nèi)存數(shù)據(jù)庫(kù)中新建一個(gè)去重字符串;
所述垃圾鏈接特征字符串生成單元用于根據(jù)垃圾鏈接的典型特征,在Redis內(nèi)存數(shù)據(jù)庫(kù)中新建一個(gè)垃圾鏈接特征字符串。
其中,所述去重字符串中所有的位數(shù)值為0。
其中,所述垃圾鏈接的典型特征包括:自動(dòng)評(píng)論生成的鏈接,群發(fā)外部的鏈接。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京航計(jì)算通訊研究所,未經(jīng)北京京航計(jì)算通訊研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911110921.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)庫(kù)海量數(shù)據(jù)比對(duì)的方法
- 基于云計(jì)算的海量數(shù)據(jù)訪問(wèn)處理系統(tǒng)
- 一種實(shí)現(xiàn)海量數(shù)據(jù)離線分析的方法
- 一種海量矢量切片數(shù)據(jù)云存儲(chǔ)方法及系統(tǒng)
- 一種多源海量數(shù)據(jù)處理系統(tǒng)及方法
- 快速實(shí)現(xiàn)海量數(shù)據(jù)準(zhǔn)實(shí)時(shí)全量統(tǒng)計(jì)的方法、裝置及系統(tǒng)
- 一種海量數(shù)據(jù)分析系統(tǒng)及方法
- 在線繪制地圖海量線的方法
- 一種海量點(diǎn)數(shù)據(jù)聚合渲染方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種海量不確定XML數(shù)據(jù)存儲(chǔ)方法
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





