[發明專利]面向軟件項目的多源異構數據自動收集方法及系統有效
| 申請號: | 201710301051.1 | 申請日: | 2017-05-02 |
| 公開(公告)號: | CN107220297B | 公開(公告)日: | 2020-11-20 |
| 發明(設計)人: | 鄒艷珍;倪際楠;曹英魁;謝冰;趙俊峰 | 申請(專利權)人: | 北京大學 |
| 主分類號: | G06F16/951 | 分類號: | G06F16/951;G06F16/955;G06F9/48;G06F9/50 |
| 代理公司: | 北京君尚知識產權代理有限公司 11200 | 代理人: | 余功勛 |
| 地址: | 100871 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 軟件 項目 多源異構 數據 自動 收集 方法 系統 | ||
本發明提供面向軟件項目的多源異構數據自動收集方法及系統,該系統包括:多任務多線程爬取模塊,用于對多個數據爬取任務進行統一的調度,并對不同類型的數據實現不同的爬取方法,以根據不同數據類型的數據入口地址自動調用不同的爬取方法對不同類型的數據爬取任務進行數據爬取;多源異構軟件項目數據自動收集模塊,用于根據用戶輸入的軟件項目名稱及URL自動化探測該軟件項目數據的數據類型及其對應的數據入口地址,并根據已知的不同數據類型的數據入口地址創建其對應的數據爬取任務,在所述多任務多線程爬取模塊中調用不同的爬取方法對數據進行收集;數據解析存儲模塊,用于對上述收集的數據進行解析并存儲到數據庫中。
技術領域
本發明涉及信息收集技術領域,尤其涉及面向軟件項目的多源異構數據自動收集方法及系統。
背景技術
現有的計算機軟件研究中,主要是使用開源軟件項目的相關數據,而這些開源軟件數據主要是通過以下方法收集的:
一,對于不同項目不同類型的軟件項目數據,分別編寫爬取程序獲取資源。軟件研究人員需要人工確定數據在互聯網上的地址以及數據源的獲取接口,最后根據這些信息編寫相對應的爬取程序將數據獲取下來。
二,使用通用的網頁爬蟲框架進行數據抓取。互聯網網頁爬蟲技術較為成熟。網頁爬蟲利用網頁頁面中的超鏈接收集并下載互聯網站點中的網頁文件。開源社區中有許多成熟的開源爬蟲項目可供擴展和使用,如Apache開源社區下的Nutch項目等。
但是,上述開源軟件項目相關的數據收集方法存在以下問題:
(1)對于第一種類型,擴展性差。研究人員需要對于不同數據源的數據類型編寫不同的爬取程序。在已有的工作中也有解決數據收集問題可復用的通用方法。但是其中每個不同的爬取模塊的入口依然需要研究人員人工查找,針對不同項目的相同類型數據依然需要人工手動提供接口。
(2)對于第二種類型,適用范圍有限,通用的網絡爬取程序只能收集網頁或其他文本文件類型數據,其不適用于結構化的開源數據。而在軟件項目數據收集的過程中,現有的爬蟲框架無法滿足開源軟件項目數據結構和數據接口的多樣性。
由于現有技術中并不存在一個同時解決已知數據類型和未知數據類型的針對多項目多類型的數據收集問題的自動化方法。因此,研究一種更好的面向軟件項目的多源異構數據的數據自動收集方法十分必要。
發明內容
本發明的目的是提供面向軟件項目的多源異構數據自動收集方法及系統,該方法及系統能夠收集不同類型的數據,擴展性強,可適用范圍廣。
針對上述目的,本發明所采用的技術方案為:
面向軟件項目的多源異構數據自動收集方法,其步驟包括:
1)根據用戶輸入的軟件項目名稱及URL,并利用通用的基于廣度優先的網頁爬蟲方法,對與該軟件項目相關的多個站點中的所有Web頁面進行爬??;
2)當上述爬取的Web頁面中的URL是已知的數據類型的數據入口地址時,根據已知的不同數據類型的數據入口地址創建其對應的數據爬取任務,并調用對應的爬取方法進行數據爬?。黄渲兴稣{用對應的爬取方法進行數據爬取包括以下步驟:
2-1)對上述創建的多個數據爬取任務進行調度;
2-2)當系統資源足夠時,對每個數據爬取任務分配系統資源,并構建存儲目錄;
2-3)爬取上述每個數據爬取任務中的URL目錄,并將URL目錄進行劃分;
2-4)根據上述劃分的URL目錄創建多個子線程,并進行多線程數據爬??;
2-5)當上述所有子線程數據爬取結束后,釋放系統資源;
3)對上述爬取的數據進行解析并存儲到數據庫中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學,未經北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710301051.1/2.html,轉載請聲明來源鉆瓜專利網。





