余凡+程虹+王超+余紅偉+許偉
基金項目:本文系國家社科基金重大項目“我國質量安全評價與網(wǎng)絡預警方法研究”(項目編號:11&ZD158)、科技部質檢公益性行業(yè)科研專項“質量監(jiān)管技術及安全風險信息系統(tǒng)支撐研究”(項目編號:201210117)的研究成果之一。
作者簡介:余凡(1985-),男,博士后,研究方向:知識管理、網(wǎng)絡評論與預警?!だ碚撎剿鳌?/p>
〔摘要〕網(wǎng)絡數(shù)據(jù)采集是大數(shù)據(jù)時代進行數(shù)據(jù)挖掘和分析的基礎性工作。本文嘗試著以任務在不同節(jié)點上采集過程中產(chǎn)生的信息作為調度指標制定動態(tài)任務調度策略,分別從任務調度策略、任務修改策略和任務回收策略3個角度構建任務調度模型,最后通過實驗分析其可行性。實驗結果表明,動態(tài)任務調度模型能夠提高數(shù)據(jù)采集的效率。
〔關鍵詞〕數(shù)據(jù)采集;動態(tài)任務調度;任務調度策略;任務修改策略;任務回收策略
DOI:10.3969/j.issn.1008-0821.2014.04.002
〔中圖分類號〕F0625〔文獻標識碼〕A〔文章編號〕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ù)時代,互聯(lián)網(wǎng)已經(jīng)成為知識產(chǎn)生、傳播、傳承的最主要渠道。2013年7月發(fā)布的第32次《中國互聯(lián)網(wǎng)發(fā)展狀況統(tǒng)計報告》顯示,截至2013年6月底,我國網(wǎng)民規(guī)模達到591億,較2012年底增加2 656萬人?;ヂ?lián)網(wǎng)普及率為441%,較2012年底提升2%[1]?;ヂ?lián)網(wǎng)不僅已經(jīng)成為我們生活中不可或缺的一部分,而且還逐漸成為科學研究最有價值的數(shù)據(jù)提供平臺,例如:針對網(wǎng)絡社區(qū)的社區(qū)發(fā)現(xiàn)、社區(qū)結構演化方面的研究[2],基于機器學習的大數(shù)據(jù)實體關系挖掘方法研究[3]。利用互聯(lián)網(wǎng)上的數(shù)據(jù)以消費者為對象進行不同領域的研究逐漸成為研究的范式[4],通過網(wǎng)絡消費者數(shù)據(jù)的分析,能夠有效降低消費者、企業(yè)、政府之間信息不透明,提高產(chǎn)品質量安全性[5-6]。數(shù)據(jù)采集是數(shù)據(jù)分析的基礎,面對浩瀚的網(wǎng)絡數(shù)據(jù),利用簡單的數(shù)據(jù)采集方法無法適應網(wǎng)絡大數(shù)據(jù)的需求,如何利用先進的算法和策略高效地采集網(wǎng)絡數(shù)據(jù)成為大數(shù)據(jù)時代的研究熱點之一[7]。
1研究現(xiàn)狀
網(wǎng)絡初步興起時期,網(wǎng)頁數(shù)量不大,采用集中式方法采集數(shù)據(jù)。預先設定初始URL種子,采集URL對應的HTML頁面和鏈接頁面即可。隨著網(wǎng)絡的蓬勃發(fā)展,集中式方法采集效率低下的缺點逐漸暴露出來,分布式數(shù)據(jù)采集方法應運而生。分布式數(shù)據(jù)采集方法在成本控制、信息吞吐量、網(wǎng)絡負載量等方面存在集中式無法企及的優(yōu)勢,但采集任務如何調度等新的問題隨之出現(xiàn)。任務調度是分布式數(shù)據(jù)采集的核心,調度策略的好壞直接影響到采集的效率[8]。任務調度是通過一定的算法把合適的任務分配給合適的節(jié)點進行數(shù)據(jù)采集[9]。
任務調度策略分為靜態(tài)任務調度策略和動態(tài)任務調度策略[10]。如果在系統(tǒng)運行之前能夠確定將任務分配到具體的采集節(jié)點,這種策略是靜態(tài)任務調度策略。如果只能在系統(tǒng)運行過程中確定任務的采集節(jié)點,這種策略是動態(tài)任務調度策略。影響任務調度策略制定的因素有很多,具體可分為以下2個方面:
11以采集節(jié)點的位置為核心實施任務調度策略
任務調度的目的是將任務分配到采集節(jié)點上,采集節(jié)點是任務調度策略制定時必須考慮的因素。以采集節(jié)點位置為核心的任務調度策略又可細分為3類。
111根據(jù)網(wǎng)絡域名進行任務調度
具體而言,網(wǎng)絡域名都有特定的規(guī)范和含義,例如:“cn”表示中國,“us”表示美國,“com”表示公司等等。每一種域名都把具有相同屬性的網(wǎng)頁聚集成一類,系統(tǒng)根據(jù)域名對采集的網(wǎng)頁進行歸類,將域名相同的網(wǎng)頁采集任務分配到相同的節(jié)點。這種任務分類策略是易于實現(xiàn)的,系統(tǒng)只需要對URL進行簡單的解析就可以完成任務的分配。當然這種策略的缺點也比較明顯。并不是所有的URL都完全遵守域名規(guī)范,以“com”結尾的網(wǎng)頁可能不是公司網(wǎng)頁,以“edu”結尾的網(wǎng)頁也可能不是學校網(wǎng)頁。相同域名的網(wǎng)站包括的文件數(shù)量不一樣,會引起采集節(jié)點的負載失衡[11]。
112根據(jù)節(jié)點的地理位置進行任務調度
采集節(jié)點只采集距離其最近的網(wǎng)站。中國的節(jié)點只采集中國范圍內的網(wǎng)站。美國的節(jié)點只采集美國范圍內的網(wǎng)站。這種任務調度策略只能在理想狀態(tài)下才能實施。首先,地理信息只能從網(wǎng)站中提取,一方面需要消耗資源對地理信息進行分析處理,一方面地理信息不一定能夠明確標明網(wǎng)站的實際位置。其次,網(wǎng)站的地理信息與網(wǎng)站服務器的位置并不一定是統(tǒng)一的。一般的小型企業(yè)更加愿意租用服務器,大多數(shù)網(wǎng)站會集中在少數(shù)大型服務器租用公司上,網(wǎng)站與實體的地理信息大相徑庭[12]。
113根據(jù)IP分類進行任務調度
利用互聯(lián)網(wǎng)服務提供商公開的信息對IP地址進行分類。不同的IP地址塊對應到不同的國家和地區(qū),相應國家和地區(qū)的采集節(jié)點負責IP對應網(wǎng)站的采集。相對于域名和網(wǎng)站地理信息,IP地址能夠更加準確地反映出網(wǎng)站的實際位置,因此任務調度更加合理,可行性更高。但是互聯(lián)網(wǎng)服務提供商公開的信息并不完整,并且更新速度太慢,因此使用起來不太方便[13]。
2以采集節(jié)點協(xié)同為核心實施任務調度策略
endprint
與集中式數(shù)據(jù)采集相比,分布式數(shù)據(jù)采集提高效率的基本手段之一是節(jié)點協(xié)同機制。以采集節(jié)點協(xié)同為核心進行任務調度策略也可細分為3類。
121各節(jié)點相互獨立的任務調度
每個節(jié)點在采集數(shù)據(jù)之前,系統(tǒng)會預先分配到URL種子。各節(jié)點在數(shù)據(jù)采集過程中只負責下載分配的URL,節(jié)點之間并不交互任何信息。這種策略非常簡單,并且不同的節(jié)點可以根據(jù)當?shù)氐娘L俗習慣制定個性化的采集方法。這種策略的缺點在于沒有充分利用分布式采集過程中產(chǎn)生的信息,并且可能出現(xiàn)重復下載的現(xiàn)象。
122中心節(jié)點控制的任務調度
采集節(jié)點由中心節(jié)點統(tǒng)一控制。當采集節(jié)點發(fā)現(xiàn)新的URL后,會把新的URL發(fā)送到中心節(jié)點,中心節(jié)點發(fā)送到合適的節(jié)點。中心節(jié)點控制的任務調度策略能夠全面掌控系統(tǒng)各節(jié)點的情況,對節(jié)點出現(xiàn)的問題做出及時處理。但其缺點也非常明顯,中心節(jié)點控制著整個系統(tǒng)的節(jié)點,各節(jié)點的信息都會發(fā)送到中心節(jié)點,會造成中心節(jié)點極大的負擔。如果中心節(jié)點出現(xiàn)問題,整個系統(tǒng)將直接崩潰[14]。
123基于分布式哈希表的節(jié)點協(xié)同任務調度
分布式哈希表具有無中心特性,能夠避免中心節(jié)點的問題。但是哈希表的拓撲結構并沒有存儲節(jié)點的網(wǎng)絡位置信息,可能出現(xiàn)哈希表值非常近的節(jié)點,其網(wǎng)絡位置非常遠的情況,從而增加網(wǎng)絡通信負載。將分布式哈希表與網(wǎng)絡位置建立對應關系是解決以上問題的一種思路[15-16]。
從研究現(xiàn)狀中不難發(fā)現(xiàn),分布式數(shù)據(jù)采集任務調度策略研究主要集中在依據(jù)采集節(jié)點的外部特征宏觀分配任務上,分配的指標多集中在吞吐量、延時等網(wǎng)絡特性上。相反,對于利用任務本身的微觀信息優(yōu)化采集效率的研究相對較少。事實上,任務在采集過程中產(chǎn)生的信息非常有價值,可以作為后續(xù)任務參數(shù)的調整及調度的重要參考指標。本文將沿著這條思路,嘗試研究以任務自身信息為調度指標的動態(tài)任務調度策略,以優(yōu)化分布式任務調度策略,提高任務采集效率。
2分布式產(chǎn)品數(shù)據(jù)采集動態(tài)任務調度框架
21總體框架
圖1分布式產(chǎn)品數(shù)據(jù)采集動態(tài)任務調度總體框架圖
總體框架包括三大塊:虛擬采集任務集合、動態(tài)調度平臺、分布式節(jié)點采集平臺。虛擬采集任務集合負責抽象描述采集任務,發(fā)送給動態(tài)調度平臺。動態(tài)調度平臺負責接收虛擬任務,將其轉換為實際任務,并根據(jù)實際任務的優(yōu)先級、實際任務運行時產(chǎn)生的信息以及采集節(jié)點信息將合適的實際任務動態(tài)發(fā)送到合適的采集節(jié)點。分布式節(jié)點采集平臺負責接收實際任務,將采集到的信息存入數(shù)據(jù)庫,并將采集任務過程中產(chǎn)生的信息反饋到動態(tài)高度平臺。
211虛擬采集任務集合
虛擬采集任務是對采集數(shù)據(jù)范圍的抽象描述。具體而言,虛擬采集任務描述了采集產(chǎn)品的名稱和關鍵詞。通過產(chǎn)品名稱和關鍵詞描述產(chǎn)品的信息。抽象的虛擬任務不便于程序的理解和執(zhí)行,因此需要將虛擬任務轉換成實際任務。
212動態(tài)調度平臺
動態(tài)調度平臺又可細分為3個子模塊:任務切分模塊、任務調度模塊和節(jié)點運行控制模塊。任務切分模塊通過制定切分規(guī)則,將接收的虛擬任務切分成若干個實際任務。切分的方法多種多樣,可根據(jù)采集的對象特點針對合適的切分規(guī)則。任務調度模塊是動態(tài)調度平臺的核心,綜合分析任務的內外部信息以及采集節(jié)點的信息,制定任務分配策略,動態(tài)地完成任務的分派。模塊根據(jù)任務運行時的信息修改未采集完畢的任務,優(yōu)化任務采集參數(shù)。如果采集節(jié)點出現(xiàn)錯誤,則啟動回收機制回收無法采集的任務。節(jié)點運行控制模塊是動態(tài)調度平臺的主要數(shù)據(jù)支撐。模塊記錄了采集節(jié)點數(shù)據(jù)以及任務在采集節(jié)點上運行的全部參數(shù)的數(shù)據(jù),為制定任務分配策略、任務修改策略、任務回收策略提供數(shù)據(jù)支持。
213分布式節(jié)點采集平臺
由于網(wǎng)絡數(shù)據(jù)量龐大,來源和結構繁多,采用單一的縱向節(jié)點采集方式速度太慢,無法滿足需求,因此需要采用分布式的橫向節(jié)點采集架構。如果條件允許,可以采用一臺中心服務器加上多臺子服務器的架構,中心服務器負責任務的調度,子服務器負責單一任務的采集。如果條件不允許,可以采用虛擬服務器的方式,虛擬多個IP同步采集。
22任務切分模塊流程
圖2任務切分模塊框架圖〖〗
任務切分模塊是將虛擬任務切分成實際任務。任務切分算法非常多,系統(tǒng)采用基于數(shù)據(jù)來源的切分算法,將虛擬任務切分成產(chǎn)品關鍵詞+站點的組合URL。切分后的任務將進入任務調度模塊。
根據(jù)數(shù)據(jù)來源的任務切分流程包括以下幾個步驟:
確定產(chǎn)品檢索關鍵詞。利用分詞工具對產(chǎn)品名稱進行分詞,然后把切分的詞匯用布爾邏輯與符號“&”連接起來,表示要搜索同時出現(xiàn)所有詞匯的網(wǎng)頁。例如:要搜索乳制品“光明高鈣牛奶”,首先對產(chǎn)品名稱切分,得到“光明”、“高鈣”和“牛奶”。利用邏輯與連接被切分的詞匯,得到“光明&高鈣&牛奶”為待搜索關鍵詞。
確定采集站點。并不是所有的網(wǎng)站都是關注產(chǎn)品質量的,許多站點可能只是提到產(chǎn)品的新聞。為了提高系統(tǒng)采集的效率,通過人工的方法篩選出產(chǎn)品質量相關度高的站點作為采集對象。相關度不高的直接剔除。表1列出了部分產(chǎn)品質量相關度高的站點。表1部分產(chǎ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
虛擬任務轉換成實際任務。根據(jù)不同搜索引擎的關鍵詞轉換策略將產(chǎn)品檢索關鍵詞轉換成搜索引擎可識別形式的URL。以百度搜索引擎為例,雖然檢索關鍵詞不同,但URL的格式相同,“百度的域名”+“關鍵詞的十六進制代碼”+“網(wǎng)頁編碼”等其他參數(shù)。系統(tǒng)使用編碼轉換函數(shù)將關鍵詞轉換成十六進制,替換“關鍵詞的十六進制代碼”部分,得到系統(tǒng)可執(zhí)行任務的URL。“光明&高鈣&牛奶 ”轉換后的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和采集站點。正如上文所說,利用百度等搜索引擎檢索出來的網(wǎng)址并非都與產(chǎn)品質量相關,系統(tǒng)在上一步URL的基礎上加入站點的限制,縮小采集的范圍。還是以“光明&高鈣&牛奶”為例,如果要搜索其在“cca.org.cn”上的數(shù)據(jù),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+site%3Acca.org.cn&ie=utf-8”,這就是實際采集任務的URL。
切分任務。將最終URL集合按一定數(shù)量切分,切分的多個URL子集合作為采集任務的種子。
endprint
23任務調度模塊流程
圖3任務調度模塊流程圖〖〗
任務調度模塊包括以下幾個步驟:
231任務調度模塊接收到實際任務后,對任務進行優(yōu)先級計算
系統(tǒng)采用先進先出算法計算任務優(yōu)先級,即系統(tǒng)隨機抽取任務,先進入隊列的任務優(yōu)先級高,后進入隊列的任務優(yōu)先級低。優(yōu)先級高的任務優(yōu)先發(fā)送到采集節(jié)點。
232帶有優(yōu)先級的任務按照級別高低進入等待任務隊列
將等待任務發(fā)送到爬取任務隊列之前,需要制定任務分配策略。任務分配策略的分析數(shù)據(jù)由節(jié)點運行控制模塊提供,具體包括采集節(jié)點的類型、任務的檢索數(shù)量、任務的采集時間、任務的采集數(shù)量和任務采集數(shù)量占檢索數(shù)量的比例等方面。通過對以上參數(shù)的綜合分析,將任務發(fā)送到爬取任務隊列。
任務分配策略流程描述:
判斷采集節(jié)點的類型。系統(tǒng)把采集節(jié)點分為兩大類,0表示元搜索,1表示微博搜索。如果任務是元搜索,則發(fā)送到類型為0的采集節(jié)點,否則發(fā)送到類型為1的采集節(jié)點。
統(tǒng)計任務在各節(jié)點的采集完成率。每一個任務的URL都包括產(chǎn)品關鍵詞和站點,任務采集過程中會統(tǒng)計出搜索到的結果數(shù)量。采集完成后,通過實際任務采集數(shù)量和檢索數(shù)量的比值得到任務采集完成率。系統(tǒng)根據(jù)節(jié)點運行控制模塊記錄下的每一個任務的采集數(shù)量和檢索數(shù)量,得到每一個站點在每一個采集節(jié)點的任務采集完成率列表。此列表將作為后續(xù)任務分配的依據(jù)。任務將被調度到完成率高的節(jié)點。同時列表也會根據(jù)后續(xù)任務的數(shù)據(jù)進行實時修正。
統(tǒng)計任務在各節(jié)點的采集效率。系統(tǒng)根據(jù)節(jié)點運行控制模塊記錄下的每個任務采集的起始時間和終止時間,結合上一步的任務采集數(shù)量,可以計算出任務中每一個網(wǎng)頁所需的采集時間,得到各產(chǎn)品在各站點的采集效率列表。對于特定的產(chǎn)品和特定的站點,如果采集節(jié)點效率太低,則后續(xù)類似任務不再調度到此節(jié)點。任務始終被調度到效率高的節(jié)點。列表同樣會根據(jù)后續(xù)任務的數(shù)據(jù)進行實時修正。
233爬取任務隊列將任務具體分配到采集節(jié)點上
采集節(jié)點在采集任務數(shù)據(jù)時,將產(chǎn)生的各類信息發(fā)送到節(jié)點運行控制模塊。一個任務包括多個子任務,為了防止任務在采集過程中長時間出現(xiàn)異常影響整體采集效率的現(xiàn)象發(fā)生,系統(tǒng)以子任務為單位分多次采集。子任務采集完成后,存在兩種情況。如果采集成功,則進入休眠任務隊列。休眠任務隊列的作用是根據(jù)已采集子任務的時間、采集數(shù)量等信息制定任務修改策略,對后續(xù)子任務的采集參數(shù)進行動態(tài)調整。
任務修改策略流程描述:
調整任務采集數(shù)量。調整任務收集采集任務繁多,不可能在一個節(jié)點無時間上限地采集一個任務。系統(tǒng)根據(jù)采集完成率對未采集的任務參數(shù)進行調整。如果完成率偏低,則減少任務的數(shù)量。反之則增加任務的數(shù)量。盡量發(fā)揮各節(jié)點的采集效用。
調整任務采集時間。調整任務下載數(shù)量能夠調節(jié)節(jié)點間的負載,使之達到平衡。同樣,對采集時間的調整也能夠起到平衡負載的作用。系統(tǒng)根據(jù)采集效率對未采集的任務參數(shù)進行調整。如果效率非常高,說明節(jié)點采集的速度非???,可以減少后續(xù)任務的采集時間。相反則可以增加任務的采集時間。
任務的采集完成率和采集效率成反比。采集完成率越高,說明采集數(shù)量越多,采集時間也越長,采集效率越低。因此在修改任務參數(shù)時,應該同時考慮兩個變量,求得最優(yōu)解。
如果采集失敗,則進入爬取任務失敗隊列。任務采集過程中發(fā)生的錯誤會導致任務爬取失敗。系統(tǒng)啟動任務回收策略處理任務爬取失敗隊列,把失敗任務重新分配到其他節(jié)點運行。如果多次回收分配均無效,則采取人工干預的方式,查看采集失敗的具體原因,制定修改策略,重新分配采集,直至采集成功。
任務回收策略流程描述:
設定回收時間閾值。系統(tǒng)設定1分鐘為回收時間閾值。如果1分鐘后任務仍然沒有采集,則將其設定為回收對象。
設定回收次數(shù)閾值。系統(tǒng)設定5次為回收次數(shù)閾值。如果任務已經(jīng)回收5次,則交由人工處理。如果低于5次,則執(zhí)行回收機制。
回收失敗任務。終止采集工作,將任務回收。
恢復節(jié)點運行。根據(jù)任務調度策略將后續(xù)任務分配到節(jié)點,節(jié)點采集工作恢復正常。
重新分配失敗任務。失敗的任務在進行重新分配時,也會按照任務調度的流程,經(jīng)歷任務調度策略,將任務分配給其他節(jié)點。
234節(jié)點運行控制模塊
節(jié)點運行控制模塊主要用于存儲任務在采集過程中產(chǎn)生的各類信息,包括任務的檢索數(shù)量和采集數(shù)量、任務的采集開始時間和結束時間等,結合任務對應的產(chǎn)品關鍵詞和站點數(shù)據(jù),為任務分配策略、任務修改策略和任務回收策略提供數(shù)據(jù)支持。
任務調度模塊利用優(yōu)先級算法對任務本身的特點進行優(yōu)先級排序,同時在等待任務隊列、任務爬取隊列、任務休眠隊列、爬取任務失敗隊列分別采取任務分配策略、任務修改策略、任務回收策略。由于3個策略都是基于節(jié)點運行控制模塊制定的,而節(jié)點運行控制模塊的數(shù)據(jù)是任務采集過程中的實時信息,因此任務的調度是一個閉環(huán)的動態(tài)實時任務分配系統(tǒng)。通過對任務全方位多維動態(tài)的調度分配,任務參數(shù)會隨著采集節(jié)點的性能適時調整,系統(tǒng)最終將在合適的時間把合適的任務發(fā)送到合適的采集節(jié)點上,形成一個高效的產(chǎn)品數(shù)據(jù)采集系統(tǒng)。
3結果檢驗與分析
31數(shù)據(jù)來源及說明
乳制品中的牛奶和奶粉作為人們日常生活的必需品,如果質量出現(xiàn)問題,會對人們特別是嬰幼兒產(chǎn)生非常嚴重的影響。因此,本文將對光明高鈣牛奶、特侖蘇、蒙牛早餐奶和雀巢中老年奶粉4種乳制品進行數(shù)據(jù)采集測試,為后續(xù)的研究作鋪墊。采集時間段為2013年5月。需要說明的是,采集平臺和數(shù)據(jù)均由依托于武漢大學質量發(fā)展研究院的深度網(wǎng)提供。
32數(shù)據(jù)檢測方法
采用數(shù)據(jù)對比方法檢測本文模型的可行性。具體而言,系統(tǒng)使用本文的動態(tài)任務調度策略采集數(shù)據(jù),記錄利用動態(tài)任務調度策略改變任務采集節(jié)點的任務,計算調度前后任務采集的效率,對比分析哪種方法采集的效率更高。
33結果分析
331虛擬任務列表表2虛擬任務列表
產(chǎn)品名稱搜索關鍵詞光明高鈣牛奶光明&高鈣&牛奶特侖蘇蒙牛&特侖蘇蒙牛早餐奶蒙牛&早餐奶雀巢中老年奶粉雀巢&中老年&奶粉
系統(tǒng)利用切詞工具對4種乳制品名稱進行切分,得到搜索關鍵詞。關鍵詞之間用邏輯與連接。
332實際任務列表
表3部分實際任務列表
虛擬任務實際任務光明&高鈣&牛奶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列出了虛擬任務轉換后的實際任務。實際任務實質上是可以檢索的URL。
333基于動態(tài)任務調度的節(jié)點采集完成率和效率
圖4展示了4個不同節(jié)點同時采集相同5個站點時的完成率變化趨勢。按照第3節(jié)描述的任務調度流程,系統(tǒng)統(tǒng)計不同站點任務采集的各項指標參數(shù),為后續(xù)任務分配圖4不同節(jié)點的任務采集完成率變化趨勢
做參考。從圖中不難發(fā)現(xiàn),不同站點的任務完成率隨著時間的變化實時變動。隨著時間的推移,任務在不同站點、不同節(jié)點的采集數(shù)據(jù)逐步累計起來。數(shù)據(jù)越多,變化越明顯。經(jīng)過5個小時的實時動態(tài)任務調度,節(jié)點1、節(jié)點2、節(jié)點3和節(jié)點4中的“12315.com”和“315tousu.org”站點、“12315.com”和“t.163.com”站點、“315tousu.org”和“t.163.com”站點、“cca.org.cn”和“weibo.com”站點的完成率越來越高,剩下的站點完成率越來越低。雖然節(jié)點1、節(jié)點3和節(jié)點4中的“t.163.com”、“12315.com”和“t.163.com”在任務采集初始階段的完成率相對較高,但最后完成率下降得很快,說明該站點并不適合在對應的節(jié)點上采集任務。相反,對于完成率越來越高,最后趨于穩(wěn)定的站點是非常適合在對應的節(jié)點上采集任務的。圖5不同節(jié)點的采集效率
圖5從任務調度策略、任務修改策略和任務回收策略對應的任務調出數(shù)量、任務調入數(shù)量、任務修改數(shù)量、任務回收數(shù)量4個指標計算任務采集效率提高的百分比。從圖中不難看出,任務調度策略的貢獻度最大,通過任務調出和調入的調整,有效地優(yōu)化了采集系統(tǒng)。其次是任務修改策略,通過對任務采集時間和采集數(shù)量的控制提高任務的自適應性。任務回收策略的貢獻度最小,但也起到了一定的作用。總的來說,4個節(jié)點通過任務調度模塊都不同程度地提高了采集效率。
4結論
網(wǎng)絡數(shù)據(jù)采集是大數(shù)據(jù)時代進行數(shù)據(jù)挖掘和分析的基礎性工作。然而數(shù)據(jù)采集的效率不夠理想。本文嘗試著從任務自身信息入手,提出以任務在不同節(jié)點上采集過程中產(chǎn)生的信息作為調度指標的動態(tài)任務調度策略,分別從任務調度策略、任務修改策略和任務回收策略3個角度構建任務調度模型,以優(yōu)化分布式任務調度策略,最后以4種乳制品為檢測數(shù)據(jù),在百度等搜索引擎上進行數(shù)據(jù)采集測試。實驗證明,利用動態(tài)任務調度策略能夠提高數(shù)據(jù)采集的效率。采集數(shù)據(jù)是為了研究分析,高效地數(shù)據(jù)采集模型為更加透徹地分析問題提供了保障。數(shù)據(jù)采集工作完畢后,接下來需要利用這些數(shù)據(jù)分析出消費者最關注的產(chǎn)品以及衡量產(chǎn)品質量包括哪些因素,形成網(wǎng)絡產(chǎn)品質量預警模型,為廣大消費者提供高質量的服務。
[1]CNNIC.中國互聯(lián)網(wǎng)發(fā)展狀況統(tǒng)計報告[EB/OL].http:∥www.cnnic.cn/hlwfzyj/hlwxzbg/hlwtjbg/201307/t2013071740664.htm,2013-07-28.
[2]Shen,HW.,Chen,XQ.,Guo,JF.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年中國質量狀況——消費者感知與模型構建[J].宏觀質量研究,2013,(1):33-48.
[5]羅英.共享與善治:質量公共服務對質量監(jiān)管效果的影響——基于我國宏觀質量觀測數(shù)據(jù)的實證分析[J].宏觀質量研究,2013,(1):59-67.
[6]李酣.中國政府質量安全責任的消費者評價及影響因素——基于2012年全國調查問卷的實證研究[J].宏觀質量研究,2013,(1):118-128.
[7]呂實誠,宋曉波,王晶.基于網(wǎng)絡的高精度數(shù)據(jù)采集卡設計[J].哈爾濱理工大學學報,2012,(2):22-26.
[8]楊際祥,譚國真,王凡,等.一種大規(guī)模分布式計算負載均衡策略[J].電子學報,2012,(11):2226-2231.
[9]Kale,LV.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,WW.,KALE,LV.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)的動態(tài)負載均衡算法[J].小型微型計算機系統(tǒng),2011,(7):1424-1426.
[12]Cambazoglu,BB.,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é)同設計中的任務調度算法及實現(xiàn)[J].中山大學學報:自然科學版,2008,(6):104-108.
[16]陳曦,曾華遷,吳濤.基于分布式哈希表的協(xié)作式Web服務組合[J].計算機應用,2012,(5):1197-1202.
(本文責任編輯:孫國雷)
endprint