網(wǎng)絡(luò)爬蟲系統(tǒng)項(xiàng)目建設(shè)方案_第1頁
網(wǎng)絡(luò)爬蟲系統(tǒng)項(xiàng)目建設(shè)方案_第2頁
網(wǎng)絡(luò)爬蟲系統(tǒng)項(xiàng)目建設(shè)方案_第3頁
網(wǎng)絡(luò)爬蟲系統(tǒng)項(xiàng)目建設(shè)方案_第4頁
網(wǎng)絡(luò)爬蟲系統(tǒng)項(xiàng)目建設(shè)方案_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄1.對(duì)項(xiàng)目的理解 -4-1.1背景 -4-1.2業(yè)務(wù)目標(biāo) -4-1.3應(yīng)用感知目標(biāo) -4-2.系統(tǒng)整體架構(gòu) -5-2.1技術(shù)框架 -5-2.2數(shù)據(jù)架構(gòu) -5-2.3功能模塊 -6-2.4功能模塊 -7-2.5應(yīng)用部署架構(gòu) -8-3.詳細(xì)建設(shè)方案 -9-3.1一站式大數(shù)據(jù)采集、存儲(chǔ)、清洗、訓(xùn)練、導(dǎo)出 -9-3.2多租戶管理 -9-3.2.1功能說明 -9-3.2.2平臺(tái)截圖 -9-3.3豐富的數(shù)據(jù)接口 -10-3.4平臺(tái)高可用性 -10-3.5抓取高效性 -10-3.6高可擴(kuò)展性 -10-3.7可視化爬蟲界面 -10-3.8抓取過程 -11-3.9硬件配置方案 -12-3.9.1主機(jī)、存儲(chǔ)資源 -12-3.9.2軟件資源 -13-3.10資源估算 -13-3.10.1存儲(chǔ) -13-3.10.2CPU與內(nèi)存 -14-4.系統(tǒng)安全與系統(tǒng)測(cè)試 -14-4.1系統(tǒng)管理以及系統(tǒng)安全措施 -14-4.2系統(tǒng)測(cè)試的方法和環(huán)境 -14-5.工程進(jìn)度安排及項(xiàng)目實(shí)施人員資質(zhì) -15-5.1工程進(jìn)度安排 -15-5.2項(xiàng)目支撐人員組成表 -17-5.3支撐人員相關(guān)證明材料 -21-5.3.1楊繼營(yíng)(項(xiàng)目負(fù)責(zé)人) -21-5.3.2李筠 -26-5.3.3鄒娟 -29-5.3.4邱文川 -32-5.3.5唐亮 -36-5.3.6趙柏杰 -39-5.3.7劉子悅 -42-5.3.8曹平 -45-5.3.9陳漢雄 -48-5.3.10陳一 -51-5.3.11付敏健 -55-5.3.12張福元 -57-5.3.13何州鵬 -60-5.3.14黃華金 -62-5.3.15黃習(xí)文 -65-5.3.16李佳 -68-5.3.17李威虎 -71-5.3.18劉起云 -74-5.3.19冼錫勇 -77-5.3.20楊鋒 -80-5.3.21鄒興 -82-6.售后服務(wù)及質(zhì)量保證措施、技術(shù)支持和保修等 -85-6.1培訓(xùn) -85-6.2維護(hù)與升級(jí) -85-6.3質(zhì)量保證期內(nèi)的服務(wù) -85-6.4壽命期內(nèi)維修服務(wù) -86-7.人員培訓(xùn)計(jì)劃、安排 -86-8.分工界面及工作內(nèi)容 -86-8.1技術(shù)支持 -87-8.2培訓(xùn)推廣 -87-8.3售前階段的配合服務(wù) -87-8.4售中階段的配合服務(wù) -88-8.5售后階段的配合服務(wù) -89-9.技術(shù)承諾 -91-9.1知識(shí)產(chǎn)權(quán) -91-9.2安全方案 -92-9.3電話技術(shù)支持服務(wù) -92-9.4版本管理和軟件補(bǔ)丁服務(wù) -93-9.5技術(shù)資料服務(wù) -94-9.6重要通訊保障服務(wù) -94-9.7應(yīng)急方案設(shè)計(jì)與預(yù)演服務(wù) -95-9.8輔助故障定位服務(wù) -95-10.相關(guān)案例 -95-對(duì)項(xiàng)目的理解背景持續(xù)推進(jìn)企業(yè)信息化的全面深化改革,深入公司管理層、分公司及一線收集問題和需求,圍繞“快、準(zhǔn)、簡(jiǎn)、穩(wěn)、智”五個(gè)標(biāo)準(zhǔn),貫徹“零不爽”IT運(yùn)營(yíng)服務(wù)理念,提出了大數(shù)據(jù)應(yīng)用建設(shè)內(nèi)容,承接集團(tuán)全網(wǎng)集約營(yíng)銷活動(dòng),提升本地精準(zhǔn)營(yíng)銷服務(wù),開展大數(shù)據(jù)合作運(yùn)營(yíng)分析,提升財(cái)務(wù)、業(yè)務(wù)價(jià)值、人力和光網(wǎng)的精確管理能力,優(yōu)化領(lǐng)導(dǎo)視窗,建立網(wǎng)運(yùn)綜合評(píng)價(jià)體系,建設(shè)爬蟲能力,實(shí)現(xiàn)智慧化運(yùn)營(yíng)應(yīng)用感知目標(biāo)爬蟲頁面響應(yīng)及內(nèi)容加載在5秒內(nèi),內(nèi)容展示響應(yīng)速度時(shí)間小于5秒。爬蟲配置,系統(tǒng)維護(hù)功能簡(jiǎn)單易用,80%用戶可以在經(jīng)過簡(jiǎn)單培訓(xùn)后結(jié)合使用手冊(cè),完成爬蟲的開發(fā)和平臺(tái)的維護(hù)。爬蟲平均宕機(jī)運(yùn)行時(shí)間≤10小時(shí)/月。平均故障恢復(fù)時(shí)間≤180分鐘/次。爬蟲可以自動(dòng)根據(jù)爬蟲節(jié)點(diǎn)的負(fù)載進(jìn)行負(fù)載均衡處理,同時(shí)當(dāng)爬蟲出現(xiàn)不可恢復(fù)的錯(cuò)誤時(shí),可以智能的選擇其他節(jié)點(diǎn)進(jìn)行重新運(yùn)行,保證爬蟲任務(wù)可以正確完成。系統(tǒng)整體架構(gòu)技術(shù)框架分布式爬蟲框架采用Nutch。Nutch是一個(gè)開源Java實(shí)現(xiàn)的搜索引擎,它提供了我們運(yùn)行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬蟲。Nutch基于Lucene,類似Google的完整網(wǎng)絡(luò)搜索引擎解決方案,基于Hadoop的分布式處理模型保證了系統(tǒng)的性能,插件機(jī)制保證了系統(tǒng)的可客戶化,而且很容易集成到自己的應(yīng)用之中??傮w上Nutch可以分為兩部分:抓取部分和搜索部分。抓取程序抓取頁面并把抓取回來的數(shù)據(jù)做成反向索引,搜索程序則對(duì)反向索引搜索回答用戶的請(qǐng)求。抓取程序和搜索程序的接口是索引,兩者都使用索引中的字段。抓取程序和搜索程序可以分別位于不同的機(jī)器上。數(shù)據(jù)架構(gòu)抓取程序是被Nutch的抓取工具驅(qū)動(dòng)的。這是一組工具,用來建立和維護(hù)幾個(gè)不同的數(shù)據(jù)結(jié)構(gòu):webdatabase、segments、theindex三種不同的數(shù)據(jù)結(jié)構(gòu):Thewebdatabase(簡(jiǎn)稱WebDB):這是一個(gè)特殊存儲(chǔ)數(shù)據(jù)結(jié)構(gòu),用來映像被抓取網(wǎng)站數(shù)據(jù)的結(jié)構(gòu)和屬性的集合。WebDB用來存儲(chǔ)從抓取開始(包括重新抓?。┑乃芯W(wǎng)站結(jié)構(gòu)數(shù)據(jù)和屬性。WebDB只是被抓取程序使用,搜索程序并不使用它。WebDB存儲(chǔ)兩種實(shí)體:頁面和鏈接。頁面表示網(wǎng)絡(luò)上的一個(gè)網(wǎng)頁,這個(gè)網(wǎng)頁的URL作為標(biāo)示被索引,同時(shí)建立一個(gè)對(duì)網(wǎng)頁內(nèi)容的MD5哈希簽名。跟網(wǎng)頁相關(guān)的其它內(nèi)容也被存儲(chǔ),包括:頁面中的鏈接數(shù)量(外鏈接),頁面抓取信息(在頁面被重復(fù)抓取的情況下),還有表示頁面級(jí)別的分?jǐn)?shù)。鏈接表示從一個(gè)網(wǎng)頁的鏈接到其它網(wǎng)頁的鏈接。因此WebDB可以說是一個(gè)網(wǎng)絡(luò)圖,節(jié)點(diǎn)是頁面,鏈接是邊;Segment:這是網(wǎng)頁的集合,并且它被索引。Segment的Fetchlist是抓取程序使用的URL列表,它是從WebDB中生成的。Fetcher的輸出數(shù)據(jù)是從Fetchlist中抓取的網(wǎng)頁。Fetcher的輸出數(shù)據(jù)先被反向索引,然后索引后的結(jié)果被存儲(chǔ)在segment中。Segment的生命周期是有限制的,當(dāng)下一輪抓取開始后它就沒有用了。因此刪除超過指定時(shí)間期限的segment是可以的。而且也可以節(jié)省不少磁盤空間。Segment的命名是日期加時(shí)間,反應(yīng)出相應(yīng)的存活周期;Theindex:索引庫是反向索引所有系統(tǒng)中被抓取的頁面,它并不直接從頁面反向索引產(chǎn)生,而是合并很多小的segment的索引產(chǎn)生的。Nutch使用Lucene來建立索引,因此所有Lucene相關(guān)的工具API都用來建立索引庫。需要說明的是Lucene的segment的概念和Nutch的segment概念是完全不同的。Lucene的segment是Lucene索引庫的一部分,而Nutch的Segment是WebDB中被抓取和索引的一部分。功能模塊爬蟲平臺(tái)分精爬與通爬兩大功能模塊,以滿足不同租戶的數(shù)據(jù)采集需求,多租戶的系統(tǒng)功能邏輯如下:1、精爬租戶登陸云爬蟲管理平臺(tái),在線編輯爬蟲腳本,云爬蟲系統(tǒng)按計(jì)劃編寫的腳本規(guī)則爬取相應(yīng)頁面的指定部分(比如具體評(píng)論列表),并存入大數(shù)據(jù)平臺(tái)、建立全文索引。2、通爬調(diào)用方調(diào)用由云爬蟲系統(tǒng)提供的通爬接口,云爬蟲系統(tǒng)實(shí)時(shí)根據(jù)策略(代理IP等)爬取結(jié)果返回調(diào)用方,并存入Hadoop平臺(tái)、建立全文索引。功能模塊爬蟲平臺(tái)的物理架構(gòu)如下,按層次劃分,主要分為接入層、采集層和持久層,如下圖所示:1、接入層接入層包含Web與接口。Web主機(jī)負(fù)責(zé)負(fù)載均衡分配任務(wù),以及展示任務(wù)列表。在Web頁面上,租戶可以根據(jù)需要?jiǎng)?chuàng)建新的爬取任務(wù)。對(duì)于創(chuàng)建成功的爬取任務(wù),可以通過Web頁面查看其基本信息。RESTAPI則負(fù)責(zé)對(duì)外提供爬蟲能力接口。2、采集層采集層包含爬蟲主機(jī)與消息隊(duì)列主機(jī)。爬蟲主機(jī)負(fù)責(zé)接收Web主機(jī)分配的任務(wù),包括抓取網(wǎng)頁并返回內(nèi)容、對(duì)抓取的內(nèi)容進(jìn)行解析和結(jié)構(gòu)化,以及將結(jié)構(gòu)化的結(jié)果進(jìn)行持久化。Redis作為消息隊(duì)列,負(fù)責(zé)進(jìn)行任務(wù)的分發(fā)。3、持久層通常網(wǎng)絡(luò)爬蟲抓取的數(shù)據(jù)量非常大,而存儲(chǔ)大量的數(shù)據(jù)需要較大的存儲(chǔ)空間,因此持久層采用了中國(guó)移動(dòng)蘇州研發(fā)中心自研的Hadoop平臺(tái)產(chǎn)品。應(yīng)用部署架構(gòu)爬蟲平臺(tái)的應(yīng)用部署架構(gòu)如下,主要分為Web服務(wù)域和采集服務(wù)域。1、Web服務(wù)域提供給租戶用來編寫調(diào)試爬蟲腳本,安裝了WebUI、Scheduler等組件。2、采集服務(wù)域用來進(jìn)行數(shù)據(jù)采集和結(jié)果返回,各Spider節(jié)點(diǎn)安裝了Fetcher、Processor、Result_Worker、RestAPI、Selenium、PhantomJS等組件。詳細(xì)建設(shè)方案一站式大數(shù)據(jù)采集、存儲(chǔ)、清洗、訓(xùn)練、導(dǎo)出從數(shù)據(jù)獲取到處理、輸出全站打通的,以一鍵自動(dòng)發(fā)布到數(shù)據(jù)庫/網(wǎng)站/微信公眾號(hào)/郵箱等、導(dǎo)出到本地文件、或通過Webhook/GraphQL獲取數(shù)據(jù)。多租戶管理功能說明云爬蟲和互聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)分析平臺(tái)PaaS化,實(shí)現(xiàn)了多租戶和租戶間的資源隔離能力。平臺(tái)截圖豐富的數(shù)據(jù)接口擴(kuò)展了多種數(shù)據(jù)接口的讀寫能力,如關(guān)系型數(shù)據(jù)庫Oracle、非關(guān)系型HBase、HDFS文件、ES以及流式消息接口Kafka,以此來支持如精爬、通爬等不同的業(yè)務(wù)需求。平臺(tái)高可用性云爬蟲平臺(tái)的所有爬取節(jié)點(diǎn)和數(shù)據(jù)存儲(chǔ)分析節(jié)點(diǎn)均勻的分布在多臺(tái)物理節(jié)點(diǎn)上,單臺(tái)機(jī)器的宕機(jī)不會(huì)引起整個(gè)爬取進(jìn)程的中斷,這種分布式架構(gòu)提升了系統(tǒng)整體的健壯性。抓取高效性單機(jī)模式下的網(wǎng)絡(luò)爬蟲效率不高,不能滿足大規(guī)模的抓取任務(wù)需求,云爬蟲平臺(tái)為爬蟲租戶分配多個(gè)爬取節(jié)點(diǎn),通過讀取共享任務(wù)池來共同執(zhí)行抓取任務(wù),每個(gè)爬取節(jié)點(diǎn)都可以看成是一個(gè)單機(jī)的網(wǎng)絡(luò)爬蟲,能大幅度的提高頁面的抓取效率。高可擴(kuò)展性支持靜態(tài)爬取和動(dòng)態(tài)渲染的主流網(wǎng)站數(shù)據(jù)爬取,如天貓、京東、大眾點(diǎn)評(píng)、豆瓣等,能夠根據(jù)當(dāng)前爬蟲任務(wù)量動(dòng)態(tài)地調(diào)節(jié)爬蟲節(jié)點(diǎn)數(shù)量,比起傳統(tǒng)爬蟲方式靈活性更強(qiáng)。同時(shí),租戶在編寫腳本時(shí)自定義程度高,允許租戶根據(jù)不同的爬取需求自定義爬取范圍??梢暬老x界面云爬蟲平臺(tái)為爬蟲租戶提供了一個(gè)可視化頁面來編輯調(diào)試爬蟲腳本,平臺(tái)支持靜態(tài)和動(dòng)態(tài)渲染的主流網(wǎng)站爬取,同時(shí)能根據(jù)業(yè)務(wù)緊急程度動(dòng)態(tài)調(diào)整各爬蟲任務(wù)的優(yōu)先級(jí),并提供了一個(gè)爬取數(shù)據(jù)結(jié)果的頁面導(dǎo)出功能,方便樣例數(shù)據(jù)查看,系統(tǒng)頁面如下圖所示:抓取過程抓取是一個(gè)循環(huán)的過程,抓取工具從WebDB中生成了一個(gè)Fetchlist集合;抽取工具根據(jù)Fetchlist從網(wǎng)絡(luò)上下載網(wǎng)頁內(nèi)容;工具程序根據(jù)抽取工具發(fā)現(xiàn)的新鏈接更新WebDB,然后再生成新的Fetchlist,周而復(fù)始。這個(gè)抓取循環(huán)在Nutch中經(jīng)常指:generate/fetch/update循環(huán)。一般來說同一域名下的URL鏈接會(huì)被合成到同一個(gè)Fetchlist。這樣做的考慮是:當(dāng)同時(shí)使用多個(gè)工具抓取的時(shí)候,不會(huì)產(chǎn)生重復(fù)抓取的現(xiàn)象。Nutch遵循RobotsExclusionProtocol,可以用robots.txt定義保護(hù)私有網(wǎng)頁數(shù)據(jù)不被抓去。上面這個(gè)抓取工具的組合是Nutch的最外層的,也可以直接使用更底層的工具,自己組合這些底層工具的執(zhí)行順序達(dá)到同樣的結(jié)果。這是Nutch的優(yōu)勢(shì)。具體工作過程如下:創(chuàng)建一個(gè)新的WebDB(admindb-create);把開始抓取的跟URL放入WebDb(inject);從WebDb的新segment中生成Fetchlist(generate);根據(jù)Fetchlist列表抓取網(wǎng)頁的內(nèi)容(fetch);根據(jù)抓取回來的網(wǎng)頁鏈接URL更新WebDB(updatedb);重復(fù)上面c-e步驟直到到達(dá)指定的抓取層數(shù);硬件配置方案主機(jī)、存儲(chǔ)資源本項(xiàng)目硬件配置包括數(shù)據(jù)庫服務(wù)器2臺(tái)、應(yīng)用服務(wù)器2臺(tái),具體配置如下;主機(jī)名稱CPU(個(gè))內(nèi)存(G)存儲(chǔ)(G)操作系統(tǒng)描述HR-APP-A4850RedHat6.5應(yīng)用主機(jī),需要安裝Tomcat7.0.73和JDK1.7HR-APP-B4850RedHat6.5應(yīng)用主機(jī),需要安裝Tomcat7.0.73和JDK1.7HR-DB-A16323515oracle數(shù)據(jù)庫主機(jī),利舊HR-DB-B1632oracle數(shù)據(jù)庫主機(jī),利舊軟件資源1)數(shù)據(jù)庫:Oracle11g2)操作系統(tǒng):RedHat6.53)應(yīng)用服務(wù)器:Tomcat7.0.73、JDK1.74)WEB服務(wù)器:Nginx1.10.3(公用)資源估算存儲(chǔ)主機(jī)存儲(chǔ)(G)估算依據(jù)HR-APP-A32門戶與應(yīng)用腳本1G系統(tǒng)緩存:2GTomcat日

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論