亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

自適應(yīng)網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建及網(wǎng)絡(luò)資源收集方法

文檔序號:6544146閱讀:147來源:國知局
自適應(yīng)網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建及網(wǎng)絡(luò)資源收集方法
【專利摘要】本發(fā)明涉及一種自適應(yīng)網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建及網(wǎng)絡(luò)資源收集方法,尤其是涉及通用的開源軟件項目相關(guān)的網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建及網(wǎng)絡(luò)資源的收集方法。包括:網(wǎng)絡(luò)資源收集模塊和爬蟲依賴模塊;網(wǎng)絡(luò)資源收集模塊能夠通過爬蟲依賴模塊建立的網(wǎng)絡(luò)資源收集模塊與目標(biāo)網(wǎng)絡(luò)資源之間的依賴關(guān)系配置相應(yīng)爬蟲執(zhí)行單元執(zhí)行資源收集。因此,本發(fā)明具有如下優(yōu)點:1.能夠自適應(yīng)不同數(shù)據(jù)類型的目標(biāo)網(wǎng)絡(luò)資源,通用性強。2.解耦了具體數(shù)據(jù)源對某個單一目的的爬蟲程序的依賴,具有較高的可擴展性。
【專利說明】自適應(yīng)網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建及網(wǎng)絡(luò)資源收集方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種自適應(yīng)網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建及網(wǎng)絡(luò)資源收集方法,尤其是涉及通用的開源軟件項目相關(guān)的網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建及網(wǎng)絡(luò)資源的收集方法。
【背景技術(shù)】
[0002]開源軟件項目相關(guān)數(shù)據(jù)是計算機軟件研究的主要數(shù)據(jù)來源之一。現(xiàn)有的開源軟件項目數(shù)據(jù)收集相關(guān)技術(shù)主要有如下兩種:
[0003]一是通過編寫單一目的數(shù)據(jù)抓取程序獲取開源軟件項目數(shù)據(jù)。研究人員首先確定所需數(shù)據(jù)在互聯(lián)網(wǎng)上的數(shù)據(jù)源,并且確定數(shù)據(jù)源中數(shù)據(jù)的存儲結(jié)構(gòu)和接口,然后根據(jù)數(shù)據(jù)源提供的數(shù)據(jù)接口針對性的編寫網(wǎng)絡(luò)爬蟲程序來抓取數(shù)據(jù)。
[0004]二是利用通用的網(wǎng)頁爬蟲技術(shù)進行數(shù)據(jù)抓取。互聯(lián)網(wǎng)網(wǎng)頁爬蟲是現(xiàn)代搜索引擎的必備組建之一,相關(guān)技術(shù)較為成熟。網(wǎng)頁爬蟲技術(shù)能夠利用超鏈接便利、收集并下載互聯(lián)網(wǎng)站點中的網(wǎng)頁文件。開源社區(qū)中也有成熟可開源爬蟲項目可供擴展和使用,如Apache開源社區(qū)下的Nutch項目等。
[0005]但是,上述開源軟件項目相關(guān)的網(wǎng)絡(luò)資源數(shù)據(jù)收集方法存在以下問題:
[0006](I)擴展性差。研究人員為特定數(shù)據(jù)源構(gòu)建的爬蟲程序往往只能針對特定數(shù)據(jù)源中特定格式的數(shù)據(jù)的,不具備功能上的擴展性,也無法進行復(fù)用。而當(dāng)用戶需要擴展實驗數(shù)據(jù)集或者更改數(shù)據(jù)源時,則需要編寫更多的爬蟲程序。由于復(fù)用已有的爬蟲程序存在困難,研究人員在數(shù)據(jù)收集過程中需要付出大量的重復(fù)勞動。
[0007](2)適用范圍有限。通用的網(wǎng)絡(luò)爬蟲程序只能針對網(wǎng)頁或其他文本文件進行數(shù)據(jù)收集,不適用于非結(jié)構(gòu)化的開源數(shù)據(jù)。而在軟件項目數(shù)據(jù)收集的過程中,現(xiàn)有的爬蟲程序難以滿足開源軟件項目數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)接口的多樣性。
[0008]鑒于以上,由于現(xiàn)有技術(shù)中并不存在一個解決數(shù)據(jù)收集問題可復(fù)用的通用方法,導(dǎo)致研究人員在獲取研究數(shù)據(jù)的過程中耗費大量精力。因此,尋找一種更好的開源軟件項目相關(guān)數(shù)據(jù)的收集方法是很有必要的。

【發(fā)明內(nèi)容】

[0009]本發(fā)明主要是解決現(xiàn)有技術(shù)所存在的擴展性差和適用范圍有限等問題,提供了一種自適應(yīng)的網(wǎng)絡(luò)資源收集方法,該方法能適用于不同數(shù)據(jù)類型的目標(biāo)網(wǎng)絡(luò)資源,適用范圍廣,可擴展性強。
[0010]本發(fā)明的上述技術(shù)問題主要是通過下述技術(shù)方案得以解決的:
[0011]一種自適應(yīng)的網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建方法,包括:配置一個統(tǒng)一的網(wǎng)絡(luò)資源收集模塊,所述網(wǎng)絡(luò)資源收集模塊包括一個統(tǒng)一的爬蟲分配裝置以及與若干等待調(diào)用的爬蟲執(zhí)行單元,該爬蟲分配裝置包括:
[0012]初始單元:為網(wǎng)絡(luò)資源收集準(zhǔn)備必要的存儲空間及系統(tǒng)開銷;
[0013]收集單元:具有統(tǒng)一爬蟲程序接口,能根據(jù)目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)類型選擇不同爬蟲程序收集目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù);
[0014]關(guān)閉單元:在收集裝置收集到所需要的目標(biāo)數(shù)據(jù)后釋放系統(tǒng)開銷以及在收集裝置出現(xiàn)異常時進行異常處理;
[0015]配置一個爬蟲依賴模塊,該模塊用于配置網(wǎng)絡(luò)資源收集模塊與目標(biāo)網(wǎng)絡(luò)資源之間的依賴關(guān)系;網(wǎng)絡(luò)資源收集模塊能夠通過爬蟲依賴模塊建立的依賴關(guān)系通過爬蟲分配裝置配置相應(yīng)爬蟲執(zhí)行單元執(zhí)行資源收集。
[0016]優(yōu)化的,上述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集方法,初始單元用于爬蟲程序在信息抓取之前進行的預(yù)處理過程,包括以下子步驟:
[0017]步驟2.1,取得空閑子線程;
[0018]步驟2.2,建立用于存儲開源項目的文件系統(tǒng);
[0019]步驟2.3,創(chuàng)建抓取資源的任務(wù)記錄。
[0020]上述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集方法,收集單元用于對目標(biāo)網(wǎng)絡(luò)資源的抓取,包括以下子步驟:
[0021]步驟3.1,根據(jù)爬蟲依賴模塊中的依賴關(guān)系找到相應(yīng)的爬蟲執(zhí)行單元,在步驟2.1取得的子線程中建立一個該爬蟲類的實例;
[0022]步驟3.2,調(diào)用統(tǒng)一爬蟲程序接口進行數(shù)據(jù)抓取。
[0023]優(yōu)化的,上述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集方法,關(guān)閉單元在抓取完成后釋放系統(tǒng)開銷,包括以下子步驟:
[0024]步驟4.1,在步驟2.3創(chuàng)建的任務(wù)記錄中記錄任務(wù)結(jié)束信息。
[0025]步驟4.2,步驟4.2,釋放該任務(wù)占用的子線程。
[0026]優(yōu)化的,上述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集方法,關(guān)閉單元在在抓取出錯后能進行異常處理,包括以下子步驟:
[0027]步驟5.1:關(guān)閉單元定期讀取步驟2.3中創(chuàng)建的任務(wù)記錄,將所述任務(wù)記錄中未記載結(jié)束信息的任務(wù)判定為未完成任務(wù),向未完成任務(wù)的收集單元發(fā)送檢測信號,若收集單元未回應(yīng),則將該任務(wù)判定為異常任務(wù),然后執(zhí)行步驟5.2 ;
[0028]步驟5.2,強制關(guān)閉異常任務(wù),并在步驟2.3創(chuàng)建的任務(wù)記錄中記錄該任務(wù)的關(guān)閉時間,以及異常堆棧信息。
[0029]步驟5.3,釋放該任務(wù)占用的子線程。
[0030]優(yōu)化的,上述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建方法,所述爬蟲依賴模塊配置的網(wǎng)絡(luò)資源收集模塊與目標(biāo)網(wǎng)絡(luò)資源之間的依賴關(guān)系包括:目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)獲取接口、對目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)類型進行描述的數(shù)據(jù)源類型;能夠從數(shù)據(jù)獲取接口對符合特定數(shù)據(jù)源類型的目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)進行抓取的爬蟲程序的名稱。
[0031]優(yōu)化的,上述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建方法,所述目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)獲取接口是一段URL描述符。
[0032]優(yōu)化的,上述一種自適應(yīng)的網(wǎng)絡(luò)資源收集方法,所述初始單元、收集單元、關(guān)閉單元中的一個或多個具有記錄網(wǎng)絡(luò)資源收集過程的工作日志。
[0033]一種利用上述方法構(gòu)建的網(wǎng)絡(luò)資源收集系統(tǒng)進行網(wǎng)絡(luò)資源收集的方法,包括以下步驟:
[0034]步驟9.1:抽取目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)源類型及數(shù)據(jù)獲取接口 ;[0035]步驟9.2:將步驟9.1獲取的目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)類型及數(shù)據(jù)獲取接口輸送給爬蟲分配裝置,爬蟲分配裝置在爬蟲依賴模塊中根據(jù)數(shù)據(jù)源類型或數(shù)據(jù)獲取接口查找對應(yīng)的爬蟲程序的名稱;
[0036]步驟9.3:爬蟲分配裝置根據(jù)步驟9.2中獲取的爬蟲程序的名稱加載相應(yīng)的爬蟲程序?qū)嵗占繕?biāo)網(wǎng)絡(luò)資源。
[0037]因此,本發(fā)明具有如下優(yōu)點:1.能夠自適應(yīng)不同數(shù)據(jù)類型的目標(biāo)網(wǎng)絡(luò)資源,通用性強。2.解耦了具體數(shù)據(jù)源對某個單一目的的爬蟲程序的依賴,具有較高的可擴展性。
【專利附圖】

【附圖說明】
[0038]附圖1是本發(fā)明的網(wǎng)絡(luò)資源收集模塊示意圖。
[0039]附圖2是本發(fā)明的網(wǎng)絡(luò)資源收集的方法示意圖。
【具體實施方式】
[0040]實施例一:
[0041]本實施例中,用戶需要抓取Apache Lucene項目的一種軟件項目數(shù)據(jù):SVN版本庫。
[0042]首先構(gòu)建網(wǎng)絡(luò)資源收集系統(tǒng),配置一個統(tǒng)一的網(wǎng)絡(luò)資源收集模塊,該網(wǎng)絡(luò)資源收集模塊包括一個統(tǒng)一的爬蟲分配裝置以及至少一個待調(diào)用的爬蟲執(zhí)行單元。該爬蟲分配裝置包括:
[0043]初始單元,用于抓取信息之前的預(yù)處理,包括檢查SVN數(shù)據(jù)接口的合法性,建立存放數(shù)據(jù)的文件目錄,寫入日志信息,取得用于抓取任務(wù)的空閑子線程,創(chuàng)建抓取資源的任務(wù)記錄等。
[0044]收集單元,用于根據(jù)目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)類型選擇不同爬蟲程序收集目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù),具體步驟包括:根據(jù)爬蟲依賴模塊中的依賴關(guān)系找到相應(yīng)的爬蟲執(zhí)行單元,在子線程中建立一個該爬蟲執(zhí)行單元的實例;調(diào)用統(tǒng)一爬蟲程序接口進行數(shù)據(jù)抓取。
[0045]關(guān)閉單元:在收集裝置收集到所需要的目標(biāo)數(shù)據(jù)后釋放系統(tǒng)開銷以及在收集裝置出現(xiàn)異常時進行異常處理;包括記錄抓取數(shù)據(jù)時間,將數(shù)據(jù)抓取的總時間,得到的數(shù)據(jù)條目數(shù)和大小寫入日志文件。如果抓取過程出現(xiàn)錯誤,則需要在日志中記錄錯誤堆棧信息。
[0046]配置一個爬蟲依賴模塊,該模塊用于配置網(wǎng)絡(luò)資源收集模塊與目標(biāo)網(wǎng)絡(luò)資源之間的依賴關(guān)系;網(wǎng)絡(luò)資源收集模塊能夠通過爬蟲依賴模塊建立的依賴關(guān)系通過爬蟲分配裝置配置相應(yīng)爬蟲執(zhí)行單元執(zhí)行資源收集。該依賴關(guān)系包括:目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)獲取接口、對目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)類型進行描述的數(shù)據(jù)源類型;能夠從數(shù)據(jù)獲取接口對符合特定數(shù)據(jù)源類型的目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)進行抓取的爬蟲程序的名稱。在該模塊中,至少包括一個下述的依賴關(guān)系:
【權(quán)利要求】
1.一種自適應(yīng)的網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建方法,其特征在于,包括: 配置一個統(tǒng)一的網(wǎng)絡(luò)資源收集模塊,所述網(wǎng)絡(luò)資源收集模塊包括一個統(tǒng)一的爬蟲分配裝置以及與若干等待調(diào)用的爬蟲執(zhí)行單元,該爬蟲分配裝置包括: 初始單元:為網(wǎng)絡(luò)資源收集準(zhǔn)備必要的存儲空間及系統(tǒng)開銷; 收集單元:具有統(tǒng)一爬蟲程序接口,能根據(jù)目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)類型選擇不同爬蟲程序收集目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù); 關(guān)閉單元:在收集裝置收集到所需要的目標(biāo)數(shù)據(jù)后釋放系統(tǒng)開銷以及在收集裝置出現(xiàn)異常時進行異常處理; 配置一個爬蟲依賴模塊,該模塊用于配置網(wǎng)絡(luò)資源收集模塊與目標(biāo)網(wǎng)絡(luò)資源之間的依賴關(guān)系;網(wǎng)絡(luò)資源收集模塊能夠通過爬蟲依賴模塊建立的依賴關(guān)系通過爬蟲分配裝置配置相應(yīng)爬蟲執(zhí)行單元執(zhí)行資源收集。
2.根據(jù)權(quán)利要求1所述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集方法,其特征在于,初始單元用于爬蟲程序在信息抓取之前進行的預(yù)處理過程,包括以下子步驟: 步驟2.1,取得空閑子線程; 步驟2.2,建立用于存儲開源項目的文件系統(tǒng); 步驟2.3,創(chuàng)建抓取資源的任務(wù)記錄。
3.根據(jù)權(quán)利要求1所述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集方法,其特征在于,收集單元用于對目標(biāo)網(wǎng)絡(luò)資源的抓取,包括以下子步驟: 步驟3.1,根據(jù)爬蟲依賴模塊中的依賴關(guān)系找到相應(yīng)的爬蟲執(zhí)行單元,在步驟2.1取得的子線程中建立一個該爬蟲執(zhí)行單元的實例; 步驟3.2,調(diào)用統(tǒng)一爬蟲程序接口進行數(shù)據(jù)抓取。
4.根據(jù)權(quán)利要求1所述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集方法,其特征在于,關(guān)閉單元在抓取完成后釋放系統(tǒng)開銷,包括以下子步驟: 步驟4.1,在步驟2.3創(chuàng)建的任務(wù)記錄中記錄任務(wù)結(jié)束信息; 步驟4.2,釋放該任務(wù)占用的子線程。
5.根據(jù)權(quán)利要求1所述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集方法,其特征在于,關(guān)閉單元在在抓取出錯后能進行異常處理,包括以下子步驟: 步驟5.1:關(guān)閉單元定期讀取步驟2.3中創(chuàng)建的任務(wù)記錄,將所述任務(wù)記錄中未記載結(jié)束信息的任務(wù)判定為未完成任務(wù),向未完成任務(wù)的收集單元發(fā)送檢測信號,若收集單元未回應(yīng),則將該任務(wù)判定為異常任務(wù),然后執(zhí)行步驟5.2 ; 步驟5.2,強制關(guān)閉異常任務(wù),并在步驟2.3創(chuàng)建的任務(wù)記錄中記錄該任務(wù)的關(guān)閉時間,以及異常堆棧信息。 步驟5.3,釋放該任務(wù)占用的子線程。
6.根據(jù)權(quán)利要求1所述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建方法,其特征在于,所述爬蟲依賴模塊配置的網(wǎng)絡(luò)資源收集模塊與目標(biāo)網(wǎng)絡(luò)資源之間的依賴關(guān)系包括:目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)獲取接口、對目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)類型進行描述的數(shù)據(jù)源類型;能夠從數(shù)據(jù)獲取接口對符合特定數(shù)據(jù)源類型的目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)進行抓取的爬蟲程序的名稱。
7.根據(jù)權(quán)利要求6所述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集系統(tǒng)的構(gòu)建方法,其特征在于所述目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)獲取接口是一段URL描述符。
8.根據(jù)權(quán)利要求1所述的一種自適應(yīng)的網(wǎng)絡(luò)資源收集方法,其特征在于,所述初始單元、收集單元、關(guān)閉單元中的一個或多個具有記錄網(wǎng)絡(luò)資源收集過程的工作日志。
9.一種利用權(quán)利要求1所述方法構(gòu)建的網(wǎng)絡(luò)資源收集系統(tǒng)進行網(wǎng)絡(luò)資源收集的方法,其特征在于,包括以下步驟: 步驟9.1:抽取目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)源類型及數(shù)據(jù)獲取接口 ; 步驟9.2:將步驟9.1獲取的目標(biāo)網(wǎng)絡(luò)資源的數(shù)據(jù)類型及數(shù)據(jù)獲取接口輸送給爬蟲分配裝置,爬蟲分配裝置在爬蟲依賴模塊中根據(jù)數(shù)據(jù)源類型或數(shù)據(jù)獲取接口查找對應(yīng)的爬蟲程序的名稱; 步驟9.3:爬蟲分配裝置根據(jù)步驟9.2中獲取的爬蟲程序的名稱加載相應(yīng)的爬蟲程序?qū)嵗占繕?biāo)網(wǎng)絡(luò)資源。
【文檔編號】G06F17/30GK103902732SQ201410155856
【公開日】2014年7月2日 申請日期:2014年4月18日 優(yōu)先權(quán)日:2014年4月18日
【發(fā)明者】鄒艷珍, 張靈簫 申請人:北京大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1