国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

分布式產(chǎn)品數(shù)據(jù)采集動(dòng)態(tài)任務(wù)調(diào)度模型研究

2014-08-08 03:24余凡程虹王超余紅偉許偉
現(xiàn)代情報(bào) 2014年4期
關(guān)鍵詞:數(shù)據(jù)采集

余凡+程虹+王超+余紅偉+許偉

基金項(xiàng)目:本文系國(guó)家社科基金重大項(xiàng)目“我國(guó)質(zhì)量安全評(píng)價(jià)與網(wǎng)絡(luò)預(yù)警方法研究”(項(xiàng)目編號(hào):11&ZD158)、科技部質(zhì)檢公益性行業(yè)科研專項(xiàng)“質(zhì)量監(jiān)管技術(shù)及安全風(fēng)險(xiǎn)信息系統(tǒng)支撐研究”(項(xiàng)目編號(hào):201210117)的研究成果之一。

作者簡(jiǎn)介:余凡(1985-),男,博士后,研究方向:知識(shí)管理、網(wǎng)絡(luò)評(píng)論與預(yù)警。·理論探索·

〔摘要〕網(wǎng)絡(luò)數(shù)據(jù)采集是大數(shù)據(jù)時(shí)代進(jìn)行數(shù)據(jù)挖掘和分析的基礎(chǔ)性工作。本文嘗試著以任務(wù)在不同節(jié)點(diǎn)上采集過(guò)程中產(chǎn)生的信息作為調(diào)度指標(biāo)制定動(dòng)態(tài)任務(wù)調(diào)度策略,分別從任務(wù)調(diào)度策略、任務(wù)修改策略和任務(wù)回收策略3個(gè)角度構(gòu)建任務(wù)調(diào)度模型,最后通過(guò)實(shí)驗(yàn)分析其可行性。實(shí)驗(yàn)結(jié)果表明,動(dòng)態(tài)任務(wù)調(diào)度模型能夠提高數(shù)據(jù)采集的效率。

〔關(guān)鍵詞〕數(shù)據(jù)采集;動(dòng)態(tài)任務(wù)調(diào)度;任務(wù)調(diào)度策略;任務(wù)修改策略;任務(wù)回收策略

DOI:10.3969/j.issn.1008-0821.2014.04.002

〔中圖分類號(hào)〕F0625〔文獻(xiàn)標(biāo)識(shí)碼〕A〔文章編號(hào)〕1008-0821(2014)04-0007-06

Distributed Products Data Crawling System

Based on Dynamic Task Scheduling ModuleYu FanCheng HongWang ChaoYu HongweiXu Wei

(Wuhan University Institute of Quality Development Strategy,Wuhan 430072,China)

〔Abstract〕Web data crawling is a basic work for data mining and analyzing in big data era.This paper attempted to construct task scheduling module based on dynamic task scheduling strategy.Dynamic task scheduling strategy included task scheduling strategy,task modifying strategy,and task recalling strategy.Dynamic task scheduling strategy was made by scheduling index,which was based on information of different nodes in the process of crawling.Experimental results showed that dynamic task scheduling strategy should improve the efficiency of data crawling.

〔Keywords〕date crawling;dynamic task scheduling;task scheduling strategy;task modifying strategy;task recalling strategy

大數(shù)據(jù)時(shí)代,互聯(lián)網(wǎng)已經(jīng)成為知識(shí)產(chǎn)生、傳播、傳承的最主要渠道。2013年7月發(fā)布的第32次《中國(guó)互聯(lián)網(wǎng)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》顯示,截至2013年6月底,我國(guó)網(wǎng)民規(guī)模達(dá)到591億,較2012年底增加2 656萬(wàn)人?;ヂ?lián)網(wǎng)普及率為441%,較2012年底提升2%[1]?;ヂ?lián)網(wǎng)不僅已經(jīng)成為我們生活中不可或缺的一部分,而且還逐漸成為科學(xué)研究最有價(jià)值的數(shù)據(jù)提供平臺(tái),例如:針對(duì)網(wǎng)絡(luò)社區(qū)的社區(qū)發(fā)現(xiàn)、社區(qū)結(jié)構(gòu)演化方面的研究[2],基于機(jī)器學(xué)習(xí)的大數(shù)據(jù)實(shí)體關(guān)系挖掘方法研究[3]。利用互聯(lián)網(wǎng)上的數(shù)據(jù)以消費(fèi)者為對(duì)象進(jìn)行不同領(lǐng)域的研究逐漸成為研究的范式[4],通過(guò)網(wǎng)絡(luò)消費(fèi)者數(shù)據(jù)的分析,能夠有效降低消費(fèi)者、企業(yè)、政府之間信息不透明,提高產(chǎn)品質(zhì)量安全性[5-6]。數(shù)據(jù)采集是數(shù)據(jù)分析的基礎(chǔ),面對(duì)浩瀚的網(wǎng)絡(luò)數(shù)據(jù),利用簡(jiǎn)單的數(shù)據(jù)采集方法無(wú)法適應(yīng)網(wǎng)絡(luò)大數(shù)據(jù)的需求,如何利用先進(jìn)的算法和策略高效地采集網(wǎng)絡(luò)數(shù)據(jù)成為大數(shù)據(jù)時(shí)代的研究熱點(diǎn)之一[7]。

1研究現(xiàn)狀

網(wǎng)絡(luò)初步興起時(shí)期,網(wǎng)頁(yè)數(shù)量不大,采用集中式方法采集數(shù)據(jù)。預(yù)先設(shè)定初始URL種子,采集URL對(duì)應(yīng)的HTML頁(yè)面和鏈接頁(yè)面即可。隨著網(wǎng)絡(luò)的蓬勃發(fā)展,集中式方法采集效率低下的缺點(diǎn)逐漸暴露出來(lái),分布式數(shù)據(jù)采集方法應(yīng)運(yùn)而生。分布式數(shù)據(jù)采集方法在成本控制、信息吞吐量、網(wǎng)絡(luò)負(fù)載量等方面存在集中式無(wú)法企及的優(yōu)勢(shì),但采集任務(wù)如何調(diào)度等新的問(wèn)題隨之出現(xiàn)。任務(wù)調(diào)度是分布式數(shù)據(jù)采集的核心,調(diào)度策略的好壞直接影響到采集的效率[8]。任務(wù)調(diào)度是通過(guò)一定的算法把合適的任務(wù)分配給合適的節(jié)點(diǎn)進(jìn)行數(shù)據(jù)采集[9]。

任務(wù)調(diào)度策略分為靜態(tài)任務(wù)調(diào)度策略和動(dòng)態(tài)任務(wù)調(diào)度策略[10]。如果在系統(tǒng)運(yùn)行之前能夠確定將任務(wù)分配到具體的采集節(jié)點(diǎn),這種策略是靜態(tài)任務(wù)調(diào)度策略。如果只能在系統(tǒng)運(yùn)行過(guò)程中確定任務(wù)的采集節(jié)點(diǎn),這種策略是動(dòng)態(tài)任務(wù)調(diào)度策略。影響任務(wù)調(diào)度策略制定的因素有很多,具體可分為以下2個(gè)方面:

11以采集節(jié)點(diǎn)的位置為核心實(shí)施任務(wù)調(diào)度策略

任務(wù)調(diào)度的目的是將任務(wù)分配到采集節(jié)點(diǎn)上,采集節(jié)點(diǎn)是任務(wù)調(diào)度策略制定時(shí)必須考慮的因素。以采集節(jié)點(diǎn)位置為核心的任務(wù)調(diào)度策略又可細(xì)分為3類。

111根據(jù)網(wǎng)絡(luò)域名進(jìn)行任務(wù)調(diào)度

具體而言,網(wǎng)絡(luò)域名都有特定的規(guī)范和含義,例如:“cn”表示中國(guó),“us”表示美國(guó),“com”表示公司等等。每一種域名都把具有相同屬性的網(wǎng)頁(yè)聚集成一類,系統(tǒng)根據(jù)域名對(duì)采集的網(wǎng)頁(yè)進(jìn)行歸類,將域名相同的網(wǎng)頁(yè)采集任務(wù)分配到相同的節(jié)點(diǎn)。這種任務(wù)分類策略是易于實(shí)現(xiàn)的,系統(tǒng)只需要對(duì)URL進(jìn)行簡(jiǎn)單的解析就可以完成任務(wù)的分配。當(dāng)然這種策略的缺點(diǎn)也比較明顯。并不是所有的URL都完全遵守域名規(guī)范,以“com”結(jié)尾的網(wǎng)頁(yè)可能不是公司網(wǎng)頁(yè),以“edu”結(jié)尾的網(wǎng)頁(yè)也可能不是學(xué)校網(wǎng)頁(yè)。相同域名的網(wǎng)站包括的文件數(shù)量不一樣,會(huì)引起采集節(jié)點(diǎn)的負(fù)載失衡[11]。

112根據(jù)節(jié)點(diǎn)的地理位置進(jìn)行任務(wù)調(diào)度

采集節(jié)點(diǎn)只采集距離其最近的網(wǎng)站。中國(guó)的節(jié)點(diǎn)只采集中國(guó)范圍內(nèi)的網(wǎng)站。美國(guó)的節(jié)點(diǎn)只采集美國(guó)范圍內(nèi)的網(wǎng)站。這種任務(wù)調(diào)度策略只能在理想狀態(tài)下才能實(shí)施。首先,地理信息只能從網(wǎng)站中提取,一方面需要消耗資源對(duì)地理信息進(jìn)行分析處理,一方面地理信息不一定能夠明確標(biāo)明網(wǎng)站的實(shí)際位置。其次,網(wǎng)站的地理信息與網(wǎng)站服務(wù)器的位置并不一定是統(tǒng)一的。一般的小型企業(yè)更加愿意租用服務(wù)器,大多數(shù)網(wǎng)站會(huì)集中在少數(shù)大型服務(wù)器租用公司上,網(wǎng)站與實(shí)體的地理信息大相徑庭[12]。

113根據(jù)IP分類進(jìn)行任務(wù)調(diào)度

利用互聯(lián)網(wǎng)服務(wù)提供商公開(kāi)的信息對(duì)IP地址進(jìn)行分類。不同的IP地址塊對(duì)應(yīng)到不同的國(guó)家和地區(qū),相應(yīng)國(guó)家和地區(qū)的采集節(jié)點(diǎn)負(fù)責(zé)IP對(duì)應(yīng)網(wǎng)站的采集。相對(duì)于域名和網(wǎng)站地理信息,IP地址能夠更加準(zhǔn)確地反映出網(wǎng)站的實(shí)際位置,因此任務(wù)調(diào)度更加合理,可行性更高。但是互聯(lián)網(wǎng)服務(wù)提供商公開(kāi)的信息并不完整,并且更新速度太慢,因此使用起來(lái)不太方便[13]。

2以采集節(jié)點(diǎn)協(xié)同為核心實(shí)施任務(wù)調(diào)度策略

endprint

與集中式數(shù)據(jù)采集相比,分布式數(shù)據(jù)采集提高效率的基本手段之一是節(jié)點(diǎn)協(xié)同機(jī)制。以采集節(jié)點(diǎn)協(xié)同為核心進(jìn)行任務(wù)調(diào)度策略也可細(xì)分為3類。

121各節(jié)點(diǎn)相互獨(dú)立的任務(wù)調(diào)度

每個(gè)節(jié)點(diǎn)在采集數(shù)據(jù)之前,系統(tǒng)會(huì)預(yù)先分配到URL種子。各節(jié)點(diǎn)在數(shù)據(jù)采集過(guò)程中只負(fù)責(zé)下載分配的URL,節(jié)點(diǎn)之間并不交互任何信息。這種策略非常簡(jiǎn)單,并且不同的節(jié)點(diǎn)可以根據(jù)當(dāng)?shù)氐娘L(fēng)俗習(xí)慣制定個(gè)性化的采集方法。這種策略的缺點(diǎn)在于沒(méi)有充分利用分布式采集過(guò)程中產(chǎn)生的信息,并且可能出現(xiàn)重復(fù)下載的現(xiàn)象。

122中心節(jié)點(diǎn)控制的任務(wù)調(diào)度

采集節(jié)點(diǎn)由中心節(jié)點(diǎn)統(tǒng)一控制。當(dāng)采集節(jié)點(diǎn)發(fā)現(xiàn)新的URL后,會(huì)把新的URL發(fā)送到中心節(jié)點(diǎn),中心節(jié)點(diǎn)發(fā)送到合適的節(jié)點(diǎn)。中心節(jié)點(diǎn)控制的任務(wù)調(diào)度策略能夠全面掌控系統(tǒng)各節(jié)點(diǎn)的情況,對(duì)節(jié)點(diǎn)出現(xiàn)的問(wèn)題做出及時(shí)處理。但其缺點(diǎn)也非常明顯,中心節(jié)點(diǎn)控制著整個(gè)系統(tǒng)的節(jié)點(diǎn),各節(jié)點(diǎn)的信息都會(huì)發(fā)送到中心節(jié)點(diǎn),會(huì)造成中心節(jié)點(diǎn)極大的負(fù)擔(dān)。如果中心節(jié)點(diǎn)出現(xiàn)問(wèn)題,整個(gè)系統(tǒng)將直接崩潰[14]。

123基于分布式哈希表的節(jié)點(diǎn)協(xié)同任務(wù)調(diào)度

分布式哈希表具有無(wú)中心特性,能夠避免中心節(jié)點(diǎn)的問(wèn)題。但是哈希表的拓?fù)浣Y(jié)構(gòu)并沒(méi)有存儲(chǔ)節(jié)點(diǎn)的網(wǎng)絡(luò)位置信息,可能出現(xiàn)哈希表值非常近的節(jié)點(diǎn),其網(wǎng)絡(luò)位置非常遠(yuǎn)的情況,從而增加網(wǎng)絡(luò)通信負(fù)載。將分布式哈希表與網(wǎng)絡(luò)位置建立對(duì)應(yīng)關(guān)系是解決以上問(wèn)題的一種思路[15-16]。

從研究現(xiàn)狀中不難發(fā)現(xiàn),分布式數(shù)據(jù)采集任務(wù)調(diào)度策略研究主要集中在依據(jù)采集節(jié)點(diǎn)的外部特征宏觀分配任務(wù)上,分配的指標(biāo)多集中在吞吐量、延時(shí)等網(wǎng)絡(luò)特性上。相反,對(duì)于利用任務(wù)本身的微觀信息優(yōu)化采集效率的研究相對(duì)較少。事實(shí)上,任務(wù)在采集過(guò)程中產(chǎn)生的信息非常有價(jià)值,可以作為后續(xù)任務(wù)參數(shù)的調(diào)整及調(diào)度的重要參考指標(biāo)。本文將沿著這條思路,嘗試研究以任務(wù)自身信息為調(diào)度指標(biāo)的動(dòng)態(tài)任務(wù)調(diào)度策略,以優(yōu)化分布式任務(wù)調(diào)度策略,提高任務(wù)采集效率。

2分布式產(chǎn)品數(shù)據(jù)采集動(dòng)態(tài)任務(wù)調(diào)度框架

21總體框架

圖1分布式產(chǎn)品數(shù)據(jù)采集動(dòng)態(tài)任務(wù)調(diào)度總體框架圖

總體框架包括三大塊:虛擬采集任務(wù)集合、動(dòng)態(tài)調(diào)度平臺(tái)、分布式節(jié)點(diǎn)采集平臺(tái)。虛擬采集任務(wù)集合負(fù)責(zé)抽象描述采集任務(wù),發(fā)送給動(dòng)態(tài)調(diào)度平臺(tái)。動(dòng)態(tài)調(diào)度平臺(tái)負(fù)責(zé)接收虛擬任務(wù),將其轉(zhuǎn)換為實(shí)際任務(wù),并根據(jù)實(shí)際任務(wù)的優(yōu)先級(jí)、實(shí)際任務(wù)運(yùn)行時(shí)產(chǎn)生的信息以及采集節(jié)點(diǎn)信息將合適的實(shí)際任務(wù)動(dòng)態(tài)發(fā)送到合適的采集節(jié)點(diǎn)。分布式節(jié)點(diǎn)采集平臺(tái)負(fù)責(zé)接收實(shí)際任務(wù),將采集到的信息存入數(shù)據(jù)庫(kù),并將采集任務(wù)過(guò)程中產(chǎn)生的信息反饋到動(dòng)態(tài)高度平臺(tái)。

211虛擬采集任務(wù)集合

虛擬采集任務(wù)是對(duì)采集數(shù)據(jù)范圍的抽象描述。具體而言,虛擬采集任務(wù)描述了采集產(chǎn)品的名稱和關(guān)鍵詞。通過(guò)產(chǎn)品名稱和關(guān)鍵詞描述產(chǎn)品的信息。抽象的虛擬任務(wù)不便于程序的理解和執(zhí)行,因此需要將虛擬任務(wù)轉(zhuǎn)換成實(shí)際任務(wù)。

212動(dòng)態(tài)調(diào)度平臺(tái)

動(dòng)態(tài)調(diào)度平臺(tái)又可細(xì)分為3個(gè)子模塊:任務(wù)切分模塊、任務(wù)調(diào)度模塊和節(jié)點(diǎn)運(yùn)行控制模塊。任務(wù)切分模塊通過(guò)制定切分規(guī)則,將接收的虛擬任務(wù)切分成若干個(gè)實(shí)際任務(wù)。切分的方法多種多樣,可根據(jù)采集的對(duì)象特點(diǎn)針對(duì)合適的切分規(guī)則。任務(wù)調(diào)度模塊是動(dòng)態(tài)調(diào)度平臺(tái)的核心,綜合分析任務(wù)的內(nèi)外部信息以及采集節(jié)點(diǎn)的信息,制定任務(wù)分配策略,動(dòng)態(tài)地完成任務(wù)的分派。模塊根據(jù)任務(wù)運(yùn)行時(shí)的信息修改未采集完畢的任務(wù),優(yōu)化任務(wù)采集參數(shù)。如果采集節(jié)點(diǎn)出現(xiàn)錯(cuò)誤,則啟動(dòng)回收機(jī)制回收無(wú)法采集的任務(wù)。節(jié)點(diǎn)運(yùn)行控制模塊是動(dòng)態(tài)調(diào)度平臺(tái)的主要數(shù)據(jù)支撐。模塊記錄了采集節(jié)點(diǎn)數(shù)據(jù)以及任務(wù)在采集節(jié)點(diǎn)上運(yùn)行的全部參數(shù)的數(shù)據(jù),為制定任務(wù)分配策略、任務(wù)修改策略、任務(wù)回收策略提供數(shù)據(jù)支持。

213分布式節(jié)點(diǎn)采集平臺(tái)

由于網(wǎng)絡(luò)數(shù)據(jù)量龐大,來(lái)源和結(jié)構(gòu)繁多,采用單一的縱向節(jié)點(diǎn)采集方式速度太慢,無(wú)法滿足需求,因此需要采用分布式的橫向節(jié)點(diǎn)采集架構(gòu)。如果條件允許,可以采用一臺(tái)中心服務(wù)器加上多臺(tái)子服務(wù)器的架構(gòu),中心服務(wù)器負(fù)責(zé)任務(wù)的調(diào)度,子服務(wù)器負(fù)責(zé)單一任務(wù)的采集。如果條件不允許,可以采用虛擬服務(wù)器的方式,虛擬多個(gè)IP同步采集。

22任務(wù)切分模塊流程

圖2任務(wù)切分模塊框架圖〖〗

任務(wù)切分模塊是將虛擬任務(wù)切分成實(shí)際任務(wù)。任務(wù)切分算法非常多,系統(tǒng)采用基于數(shù)據(jù)來(lái)源的切分算法,將虛擬任務(wù)切分成產(chǎn)品關(guān)鍵詞+站點(diǎn)的組合URL。切分后的任務(wù)將進(jìn)入任務(wù)調(diào)度模塊。

根據(jù)數(shù)據(jù)來(lái)源的任務(wù)切分流程包括以下幾個(gè)步驟:

確定產(chǎn)品檢索關(guān)鍵詞。利用分詞工具對(duì)產(chǎn)品名稱進(jìn)行分詞,然后把切分的詞匯用布爾邏輯與符號(hào)“&”連接起來(lái),表示要搜索同時(shí)出現(xiàn)所有詞匯的網(wǎng)頁(yè)。例如:要搜索乳制品“光明高鈣牛奶”,首先對(duì)產(chǎn)品名稱切分,得到“光明”、“高鈣”和“牛奶”。利用邏輯與連接被切分的詞匯,得到“光明&高鈣&牛奶”為待搜索關(guān)鍵詞。

確定采集站點(diǎn)。并不是所有的網(wǎng)站都是關(guān)注產(chǎn)品質(zhì)量的,許多站點(diǎn)可能只是提到產(chǎn)品的新聞。為了提高系統(tǒng)采集的效率,通過(guò)人工的方法篩選出產(chǎn)品質(zhì)量相關(guān)度高的站點(diǎn)作為采集對(duì)象。相關(guān)度不高的直接剔除。表1列出了部分產(chǎn)品質(zhì)量相關(guān)度高的站點(diǎn)。表1部分產(chǎn)品質(zhì)量相關(guān)度高的站點(diǎn)

站點(diǎn)域名站點(diǎn)域名站點(diǎn)域名12315.comcca.org.cnjs315ccn.com12365hn.comccn.com.cnnettiger.cn12365ts.netcfqn12315.comnfqs.com.cn21315.com.cncfqn315.comqs315.org315.e0570.comcgcr.com.cnsczl315.com315chn.comchina12315.com.cnsd315.org.cn315cx.com.cnchina315.comsdq365.com.cn315ok.comchinatt315.org.cnshzj.gov.cn315online.comcjwq.cnsp.chinadaily.com.cn315rx.comcq315.orgszs12365.com

虛擬任務(wù)轉(zhuǎn)換成實(shí)際任務(wù)。根據(jù)不同搜索引擎的關(guān)鍵詞轉(zhuǎn)換策略將產(chǎn)品檢索關(guān)鍵詞轉(zhuǎn)換成搜索引擎可識(shí)別形式的URL。以百度搜索引擎為例,雖然檢索關(guān)鍵詞不同,但URL的格式相同,“百度的域名”+“關(guān)鍵詞的十六進(jìn)制代碼”+“網(wǎng)頁(yè)編碼”等其他參數(shù)。系統(tǒng)使用編碼轉(zhuǎn)換函數(shù)將關(guān)鍵詞轉(zhuǎn)換成十六進(jìn)制,替換“關(guān)鍵詞的十六進(jìn)制代碼”部分,得到系統(tǒng)可執(zhí)行任務(wù)的URL?!肮饷?高鈣&牛奶 ”轉(zhuǎn)換后的URL為“http:∥www.baidu.com/s?wd=%E5%85%89%E6%98%8E+%E9%AB%98%E9%92%99+%E7%89%9B%E5%A5%B6&ie=utf-8”。

合并URL和采集站點(diǎn)。正如上文所說(shuō),利用百度等搜索引擎檢索出來(lái)的網(wǎng)址并非都與產(chǎn)品質(zhì)量相關(guān),系統(tǒng)在上一步URL的基礎(chǔ)上加入站點(diǎn)的限制,縮小采集的范圍。還是以“光明&高鈣&牛奶”為例,如果要搜索其在“cca.org.cn”上的數(shù)據(jù),URL增加站點(diǎn)的信息改為“http:∥www.baidu.com/s?wd=%E5%85%89%E6%98%8E+%E9%AB%98%E9%92%99+%E7%89%9B%E5%A5%B6+site%3Acca.org.cn&ie=utf-8”,這就是實(shí)際采集任務(wù)的URL。

切分任務(wù)。將最終URL集合按一定數(shù)量切分,切分的多個(gè)URL子集合作為采集任務(wù)的種子。

endprint

23任務(wù)調(diào)度模塊流程

圖3任務(wù)調(diào)度模塊流程圖〖〗

任務(wù)調(diào)度模塊包括以下幾個(gè)步驟:

231任務(wù)調(diào)度模塊接收到實(shí)際任務(wù)后,對(duì)任務(wù)進(jìn)行優(yōu)先級(jí)計(jì)算

系統(tǒng)采用先進(jìn)先出算法計(jì)算任務(wù)優(yōu)先級(jí),即系統(tǒng)隨機(jī)抽取任務(wù),先進(jìn)入隊(duì)列的任務(wù)優(yōu)先級(jí)高,后進(jìn)入隊(duì)列的任務(wù)優(yōu)先級(jí)低。優(yōu)先級(jí)高的任務(wù)優(yōu)先發(fā)送到采集節(jié)點(diǎn)。

232帶有優(yōu)先級(jí)的任務(wù)按照級(jí)別高低進(jìn)入等待任務(wù)隊(duì)列

將等待任務(wù)發(fā)送到爬取任務(wù)隊(duì)列之前,需要制定任務(wù)分配策略。任務(wù)分配策略的分析數(shù)據(jù)由節(jié)點(diǎn)運(yùn)行控制模塊提供,具體包括采集節(jié)點(diǎn)的類型、任務(wù)的檢索數(shù)量、任務(wù)的采集時(shí)間、任務(wù)的采集數(shù)量和任務(wù)采集數(shù)量占檢索數(shù)量的比例等方面。通過(guò)對(duì)以上參數(shù)的綜合分析,將任務(wù)發(fā)送到爬取任務(wù)隊(duì)列。

任務(wù)分配策略流程描述:

判斷采集節(jié)點(diǎn)的類型。系統(tǒng)把采集節(jié)點(diǎn)分為兩大類,0表示元搜索,1表示微博搜索。如果任務(wù)是元搜索,則發(fā)送到類型為0的采集節(jié)點(diǎn),否則發(fā)送到類型為1的采集節(jié)點(diǎn)。

統(tǒng)計(jì)任務(wù)在各節(jié)點(diǎn)的采集完成率。每一個(gè)任務(wù)的URL都包括產(chǎn)品關(guān)鍵詞和站點(diǎn),任務(wù)采集過(guò)程中會(huì)統(tǒng)計(jì)出搜索到的結(jié)果數(shù)量。采集完成后,通過(guò)實(shí)際任務(wù)采集數(shù)量和檢索數(shù)量的比值得到任務(wù)采集完成率。系統(tǒng)根據(jù)節(jié)點(diǎn)運(yùn)行控制模塊記錄下的每一個(gè)任務(wù)的采集數(shù)量和檢索數(shù)量,得到每一個(gè)站點(diǎn)在每一個(gè)采集節(jié)點(diǎn)的任務(wù)采集完成率列表。此列表將作為后續(xù)任務(wù)分配的依據(jù)。任務(wù)將被調(diào)度到完成率高的節(jié)點(diǎn)。同時(shí)列表也會(huì)根據(jù)后續(xù)任務(wù)的數(shù)據(jù)進(jìn)行實(shí)時(shí)修正。

統(tǒng)計(jì)任務(wù)在各節(jié)點(diǎn)的采集效率。系統(tǒng)根據(jù)節(jié)點(diǎn)運(yùn)行控制模塊記錄下的每個(gè)任務(wù)采集的起始時(shí)間和終止時(shí)間,結(jié)合上一步的任務(wù)采集數(shù)量,可以計(jì)算出任務(wù)中每一個(gè)網(wǎng)頁(yè)所需的采集時(shí)間,得到各產(chǎn)品在各站點(diǎn)的采集效率列表。對(duì)于特定的產(chǎn)品和特定的站點(diǎn),如果采集節(jié)點(diǎn)效率太低,則后續(xù)類似任務(wù)不再調(diào)度到此節(jié)點(diǎn)。任務(wù)始終被調(diào)度到效率高的節(jié)點(diǎn)。列表同樣會(huì)根據(jù)后續(xù)任務(wù)的數(shù)據(jù)進(jìn)行實(shí)時(shí)修正。

233爬取任務(wù)隊(duì)列將任務(wù)具體分配到采集節(jié)點(diǎn)上

采集節(jié)點(diǎn)在采集任務(wù)數(shù)據(jù)時(shí),將產(chǎn)生的各類信息發(fā)送到節(jié)點(diǎn)運(yùn)行控制模塊。一個(gè)任務(wù)包括多個(gè)子任務(wù),為了防止任務(wù)在采集過(guò)程中長(zhǎng)時(shí)間出現(xiàn)異常影響整體采集效率的現(xiàn)象發(fā)生,系統(tǒng)以子任務(wù)為單位分多次采集。子任務(wù)采集完成后,存在兩種情況。如果采集成功,則進(jìn)入休眠任務(wù)隊(duì)列。休眠任務(wù)隊(duì)列的作用是根據(jù)已采集子任務(wù)的時(shí)間、采集數(shù)量等信息制定任務(wù)修改策略,對(duì)后續(xù)子任務(wù)的采集參數(shù)進(jìn)行動(dòng)態(tài)調(diào)整。

任務(wù)修改策略流程描述:

調(diào)整任務(wù)采集數(shù)量。調(diào)整任務(wù)收集采集任務(wù)繁多,不可能在一個(gè)節(jié)點(diǎn)無(wú)時(shí)間上限地采集一個(gè)任務(wù)。系統(tǒng)根據(jù)采集完成率對(duì)未采集的任務(wù)參數(shù)進(jìn)行調(diào)整。如果完成率偏低,則減少任務(wù)的數(shù)量。反之則增加任務(wù)的數(shù)量。盡量發(fā)揮各節(jié)點(diǎn)的采集效用。

調(diào)整任務(wù)采集時(shí)間。調(diào)整任務(wù)下載數(shù)量能夠調(diào)節(jié)節(jié)點(diǎn)間的負(fù)載,使之達(dá)到平衡。同樣,對(duì)采集時(shí)間的調(diào)整也能夠起到平衡負(fù)載的作用。系統(tǒng)根據(jù)采集效率對(duì)未采集的任務(wù)參數(shù)進(jìn)行調(diào)整。如果效率非常高,說(shuō)明節(jié)點(diǎn)采集的速度非常快,可以減少后續(xù)任務(wù)的采集時(shí)間。相反則可以增加任務(wù)的采集時(shí)間。

任務(wù)的采集完成率和采集效率成反比。采集完成率越高,說(shuō)明采集數(shù)量越多,采集時(shí)間也越長(zhǎng),采集效率越低。因此在修改任務(wù)參數(shù)時(shí),應(yīng)該同時(shí)考慮兩個(gè)變量,求得最優(yōu)解。

如果采集失敗,則進(jìn)入爬取任務(wù)失敗隊(duì)列。任務(wù)采集過(guò)程中發(fā)生的錯(cuò)誤會(huì)導(dǎo)致任務(wù)爬取失敗。系統(tǒng)啟動(dòng)任務(wù)回收策略處理任務(wù)爬取失敗隊(duì)列,把失敗任務(wù)重新分配到其他節(jié)點(diǎn)運(yùn)行。如果多次回收分配均無(wú)效,則采取人工干預(yù)的方式,查看采集失敗的具體原因,制定修改策略,重新分配采集,直至采集成功。

任務(wù)回收策略流程描述:

設(shè)定回收時(shí)間閾值。系統(tǒng)設(shè)定1分鐘為回收時(shí)間閾值。如果1分鐘后任務(wù)仍然沒(méi)有采集,則將其設(shè)定為回收對(duì)象。

設(shè)定回收次數(shù)閾值。系統(tǒng)設(shè)定5次為回收次數(shù)閾值。如果任務(wù)已經(jīng)回收5次,則交由人工處理。如果低于5次,則執(zhí)行回收機(jī)制。

回收失敗任務(wù)。終止采集工作,將任務(wù)回收。

恢復(fù)節(jié)點(diǎn)運(yùn)行。根據(jù)任務(wù)調(diào)度策略將后續(xù)任務(wù)分配到節(jié)點(diǎn),節(jié)點(diǎn)采集工作恢復(fù)正常。

重新分配失敗任務(wù)。失敗的任務(wù)在進(jìn)行重新分配時(shí),也會(huì)按照任務(wù)調(diào)度的流程,經(jīng)歷任務(wù)調(diào)度策略,將任務(wù)分配給其他節(jié)點(diǎn)。

234節(jié)點(diǎn)運(yùn)行控制模塊

節(jié)點(diǎn)運(yùn)行控制模塊主要用于存儲(chǔ)任務(wù)在采集過(guò)程中產(chǎn)生的各類信息,包括任務(wù)的檢索數(shù)量和采集數(shù)量、任務(wù)的采集開(kāi)始時(shí)間和結(jié)束時(shí)間等,結(jié)合任務(wù)對(duì)應(yīng)的產(chǎn)品關(guān)鍵詞和站點(diǎn)數(shù)據(jù),為任務(wù)分配策略、任務(wù)修改策略和任務(wù)回收策略提供數(shù)據(jù)支持。

任務(wù)調(diào)度模塊利用優(yōu)先級(jí)算法對(duì)任務(wù)本身的特點(diǎn)進(jìn)行優(yōu)先級(jí)排序,同時(shí)在等待任務(wù)隊(duì)列、任務(wù)爬取隊(duì)列、任務(wù)休眠隊(duì)列、爬取任務(wù)失敗隊(duì)列分別采取任務(wù)分配策略、任務(wù)修改策略、任務(wù)回收策略。由于3個(gè)策略都是基于節(jié)點(diǎn)運(yùn)行控制模塊制定的,而節(jié)點(diǎn)運(yùn)行控制模塊的數(shù)據(jù)是任務(wù)采集過(guò)程中的實(shí)時(shí)信息,因此任務(wù)的調(diào)度是一個(gè)閉環(huán)的動(dòng)態(tài)實(shí)時(shí)任務(wù)分配系統(tǒng)。通過(guò)對(duì)任務(wù)全方位多維動(dòng)態(tài)的調(diào)度分配,任務(wù)參數(shù)會(huì)隨著采集節(jié)點(diǎn)的性能適時(shí)調(diào)整,系統(tǒng)最終將在合適的時(shí)間把合適的任務(wù)發(fā)送到合適的采集節(jié)點(diǎn)上,形成一個(gè)高效的產(chǎn)品數(shù)據(jù)采集系統(tǒng)。

3結(jié)果檢驗(yàn)與分析

31數(shù)據(jù)來(lái)源及說(shuō)明

乳制品中的牛奶和奶粉作為人們?nèi)粘I畹谋匦杵?,如果質(zhì)量出現(xiàn)問(wèn)題,會(huì)對(duì)人們特別是嬰幼兒產(chǎn)生非常嚴(yán)重的影響。因此,本文將對(duì)光明高鈣牛奶、特侖蘇、蒙牛早餐奶和雀巢中老年奶粉4種乳制品進(jìn)行數(shù)據(jù)采集測(cè)試,為后續(xù)的研究作鋪墊。采集時(shí)間段為2013年5月。需要說(shuō)明的是,采集平臺(tái)和數(shù)據(jù)均由依托于武漢大學(xué)質(zhì)量發(fā)展研究院的深度網(wǎng)提供。

32數(shù)據(jù)檢測(cè)方法

采用數(shù)據(jù)對(duì)比方法檢測(cè)本文模型的可行性。具體而言,系統(tǒng)使用本文的動(dòng)態(tài)任務(wù)調(diào)度策略采集數(shù)據(jù),記錄利用動(dòng)態(tài)任務(wù)調(diào)度策略改變?nèi)蝿?wù)采集節(jié)點(diǎn)的任務(wù),計(jì)算調(diào)度前后任務(wù)采集的效率,對(duì)比分析哪種方法采集的效率更高。

33結(jié)果分析

331虛擬任務(wù)列表表2虛擬任務(wù)列表

產(chǎn)品名稱搜索關(guān)鍵詞光明高鈣牛奶光明&高鈣&牛奶特侖蘇蒙牛&特侖蘇蒙牛早餐奶蒙牛&早餐奶雀巢中老年奶粉雀巢&中老年&奶粉

系統(tǒng)利用切詞工具對(duì)4種乳制品名稱進(jìn)行切分,得到搜索關(guān)鍵詞。關(guān)鍵詞之間用邏輯與連接。

332實(shí)際任務(wù)列表

表3部分實(shí)際任務(wù)列表

虛擬任務(wù)實(shí)際任務(wù)光明&高鈣&牛奶http:∥www.baidu.com/s?wd=%E5%85%89%E6%98%8E+%E9%AB%98%E9%92%99+%E7%89%9B%E5%A5%B6+site%3A315tousu.org&pn=0&cl=0&ie=utfhttp:∥weibo.yunyun.com/Weibo.php?p=1&q=site%3Aweibo.com+%E5%85%89%E6%98%8E%26%E9%AB%98%E9%92%99%26%E7%89%9B%E5%A5%B6%26%E6%8A%95%E8%AF%89&wbts=1蒙牛&特侖蘇http:∥www.baidu.com/s?wd=%E8%92%99%E7%89%9B+%E7%89%B9%E4%BB%91%E8%8B%8F+site%3A315tousu.org&pn=0&cl=0&ie=utf-8&lm=1http:∥weibo.yunyun.com/Weibo.php?p=1&q=site%3Aweibo.com+%E8%92%99%E7%89%9B%26%E7%89%B9%E4%BB%91%E8%8B%8F%26%E6%8A%95%E8%AF%89&wbts=1蒙牛&早餐奶http:∥www.baidu.com/s?wd=%E8%92%99%E7%89%9B+%E6%97%A9%E9%A4%90%E5%A5%B6+site%3A315zj.com%2F&pn=0&cl=0&ie=utf-8&lm=1http:∥www.baidu.com/s?wd=%E8%92%99%E7%89%9B+%E6%97%A9%E9%A4%90%E5%A5%B6+site%3Ahd315.gov.cn&pn=0&cl=0&ie=utf-8&lm=1雀巢&中老年&奶粉http:∥www.baidu.com/s?wd=%E9%9B%80%E5%B7%A2+%E4%B8%AD%E8%80%81%E5%B9%B4+%E5%A5%B6%E7%B2%89+site%3Anettiger.cn&pn=0&cl=0&ie=utf-8&lm=1http:∥weibo.yunyun.com/Weibo.php?p=1&q=site%3Aweibo.com+%E9%9B%80%E5%B7%A2%26%E4%B8%AD%E8%80%81%E5%B9%B4%26%E5%A5%B6%E7%B2%89&wbts=1

endprint

表3列出了虛擬任務(wù)轉(zhuǎn)換后的實(shí)際任務(wù)。實(shí)際任務(wù)實(shí)質(zhì)上是可以檢索的URL。

333基于動(dòng)態(tài)任務(wù)調(diào)度的節(jié)點(diǎn)采集完成率和效率

圖4展示了4個(gè)不同節(jié)點(diǎn)同時(shí)采集相同5個(gè)站點(diǎn)時(shí)的完成率變化趨勢(shì)。按照第3節(jié)描述的任務(wù)調(diào)度流程,系統(tǒng)統(tǒng)計(jì)不同站點(diǎn)任務(wù)采集的各項(xiàng)指標(biāo)參數(shù),為后續(xù)任務(wù)分配圖4不同節(jié)點(diǎn)的任務(wù)采集完成率變化趨勢(shì)

做參考。從圖中不難發(fā)現(xiàn),不同站點(diǎn)的任務(wù)完成率隨著時(shí)間的變化實(shí)時(shí)變動(dòng)。隨著時(shí)間的推移,任務(wù)在不同站點(diǎn)、不同節(jié)點(diǎn)的采集數(shù)據(jù)逐步累計(jì)起來(lái)。數(shù)據(jù)越多,變化越明顯。經(jīng)過(guò)5個(gè)小時(shí)的實(shí)時(shí)動(dòng)態(tài)任務(wù)調(diào)度,節(jié)點(diǎn)1、節(jié)點(diǎn)2、節(jié)點(diǎn)3和節(jié)點(diǎn)4中的“12315.com”和“315tousu.org”站點(diǎn)、“12315.com”和“t.163.com”站點(diǎn)、“315tousu.org”和“t.163.com”站點(diǎn)、“cca.org.cn”和“weibo.com”站點(diǎn)的完成率越來(lái)越高,剩下的站點(diǎn)完成率越來(lái)越低。雖然節(jié)點(diǎn)1、節(jié)點(diǎn)3和節(jié)點(diǎn)4中的“t.163.com”、“12315.com”和“t.163.com”在任務(wù)采集初始階段的完成率相對(duì)較高,但最后完成率下降得很快,說(shuō)明該站點(diǎn)并不適合在對(duì)應(yīng)的節(jié)點(diǎn)上采集任務(wù)。相反,對(duì)于完成率越來(lái)越高,最后趨于穩(wěn)定的站點(diǎn)是非常適合在對(duì)應(yīng)的節(jié)點(diǎn)上采集任務(wù)的。圖5不同節(jié)點(diǎn)的采集效率

圖5從任務(wù)調(diào)度策略、任務(wù)修改策略和任務(wù)回收策略對(duì)應(yīng)的任務(wù)調(diào)出數(shù)量、任務(wù)調(diào)入數(shù)量、任務(wù)修改數(shù)量、任務(wù)回收數(shù)量4個(gè)指標(biāo)計(jì)算任務(wù)采集效率提高的百分比。從圖中不難看出,任務(wù)調(diào)度策略的貢獻(xiàn)度最大,通過(guò)任務(wù)調(diào)出和調(diào)入的調(diào)整,有效地優(yōu)化了采集系統(tǒng)。其次是任務(wù)修改策略,通過(guò)對(duì)任務(wù)采集時(shí)間和采集數(shù)量的控制提高任務(wù)的自適應(yīng)性。任務(wù)回收策略的貢獻(xiàn)度最小,但也起到了一定的作用??偟膩?lái)說(shuō),4個(gè)節(jié)點(diǎn)通過(guò)任務(wù)調(diào)度模塊都不同程度地提高了采集效率。

4結(jié)論

網(wǎng)絡(luò)數(shù)據(jù)采集是大數(shù)據(jù)時(shí)代進(jìn)行數(shù)據(jù)挖掘和分析的基礎(chǔ)性工作。然而數(shù)據(jù)采集的效率不夠理想。本文嘗試著從任務(wù)自身信息入手,提出以任務(wù)在不同節(jié)點(diǎn)上采集過(guò)程中產(chǎn)生的信息作為調(diào)度指標(biāo)的動(dòng)態(tài)任務(wù)調(diào)度策略,分別從任務(wù)調(diào)度策略、任務(wù)修改策略和任務(wù)回收策略3個(gè)角度構(gòu)建任務(wù)調(diào)度模型,以優(yōu)化分布式任務(wù)調(diào)度策略,最后以4種乳制品為檢測(cè)數(shù)據(jù),在百度等搜索引擎上進(jìn)行數(shù)據(jù)采集測(cè)試。實(shí)驗(yàn)證明,利用動(dòng)態(tài)任務(wù)調(diào)度策略能夠提高數(shù)據(jù)采集的效率。采集數(shù)據(jù)是為了研究分析,高效地?cái)?shù)據(jù)采集模型為更加透徹地分析問(wèn)題提供了保障。數(shù)據(jù)采集工作完畢后,接下來(lái)需要利用這些數(shù)據(jù)分析出消費(fèi)者最關(guān)注的產(chǎn)品以及衡量產(chǎn)品質(zhì)量包括哪些因素,形成網(wǎng)絡(luò)產(chǎn)品質(zhì)量預(yù)警模型,為廣大消費(fèi)者提供高質(zhì)量的服務(wù)。

[1]CNNIC.中國(guó)互聯(lián)網(wǎng)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告[EB/OL].http:∥www.cnnic.cn/hlwfzyj/hlwxzbg/hlwtjbg/201307/t2013071740664.htm,2013-07-28.

[2]Shen,HW.,Chen,XQ.,Guo,JF.Quantifying and identifying the overlapping community structure in networks[J].Journal of Statistical Mechanics,2009,(7).

[3]Zelenko,D.,Aone,C.,Richardella,A.Kernel methods for relation extraction[J].Journal of Machine Learning Research,2003,(7):1083-1106.

[4]程虹.2012年中國(guó)質(zhì)量狀況——消費(fèi)者感知與模型構(gòu)建[J].宏觀質(zhì)量研究,2013,(1):33-48.

[5]羅英.共享與善治:質(zhì)量公共服務(wù)對(duì)質(zhì)量監(jiān)管效果的影響——基于我國(guó)宏觀質(zhì)量觀測(cè)數(shù)據(jù)的實(shí)證分析[J].宏觀質(zhì)量研究,2013,(1):59-67.

[6]李酣.中國(guó)政府質(zhì)量安全責(zé)任的消費(fèi)者評(píng)價(jià)及影響因素——基于2012年全國(guó)調(diào)查問(wèn)卷的實(shí)證研究[J].宏觀質(zhì)量研究,2013,(1):118-128.

[7]呂實(shí)誠(chéng),宋曉波,王晶.基于網(wǎng)絡(luò)的高精度數(shù)據(jù)采集卡設(shè)計(jì)[J].哈爾濱理工大學(xué)學(xué)報(bào),2012,(2):22-26.

[8]楊際祥,譚國(guó)真,王凡,等.一種大規(guī)模分布式計(jì)算負(fù)載均衡策略[J].電子學(xué)報(bào),2012,(11):2226-2231.

[9]Kale,LV.Comparing the performance of two dynamic load distribution methods[C].Proceedings of the 1988 International Conference on Parallel Processing,August,1988,The Pennsylvania State University.University Park,PA,USA:Pennsylvania State University Press,8-12.

[10]Shu,WW.,KALE,LV.A dynamic scheduling strategy for the Chare-Kernel system[C].Proceedings of the 1989 ACM/IEEE Conference on Supercomputing,June 5-9,1989,Crete,Greece.New York,NY,USA:ACM Press,389-398.

[11]張聰萍,尹建偉.分布式文件系統(tǒng)的動(dòng)態(tài)負(fù)載均衡算法[J].小型微型計(jì)算機(jī)系統(tǒng),2011,(7):1424-1426.

[12]Cambazoglu,BB.,Karace,E.,Kucukyilmaz,T.,et al.Architecture of a Grid-Enabled Web Search Engine[J].Information Processing and Management,2007,(3),389-398.

[13]Exposto,J.,Macedo,J.,Pina,A.,et al.Geographical Partition for Distributed Web Crawling[C].2005 Workshop on Geographic Information Retrieval,ACM Press,2005:55-60.

[14]Papapetrou,O.,Samaras,G.Ipmicra:An Ip-Address Based Location Aware Distributed Web Crawler[C].The 5th International Conference on Internet Computing(IC 2004),Las Vegas,2004:694-699.

[15]石慧,劉曉平.協(xié)同設(shè)計(jì)中的任務(wù)調(diào)度算法及實(shí)現(xiàn)[J].中山大學(xué)學(xué)報(bào):自然科學(xué)版,2008,(6):104-108.

[16]陳曦,曾華遷,吳濤.基于分布式哈希表的協(xié)作式Web服務(wù)組合[J].計(jì)算機(jī)應(yīng)用,2012,(5):1197-1202.

(本文責(zé)任編輯:孫國(guó)雷)

endprint

猜你喜歡
數(shù)據(jù)采集
Web網(wǎng)絡(luò)大數(shù)據(jù)分類系統(tǒng)的設(shè)計(jì)與改進(jìn)
基于大型嵌入式系統(tǒng)的污水檢測(cè)系統(tǒng)設(shè)計(jì)
基于開(kāi)源系統(tǒng)的綜合業(yè)務(wù)數(shù)據(jù)采集系統(tǒng)的開(kāi)發(fā)研究