現在公開乙個DHT網路爬蟲

2021-09-30 11:27:02 字數 556 閱讀 2945

dhtcrawler最早的版本有很多問題,修復過的最大的乙個問題是關於erlang定時器的,在dht實現中,需要對每個節點每個peer做超時處理,在erlang中的做法直接是針對每個節點註冊了乙個定時器。這不是問題,問題在於定時器資源就像沒有gc的記憶體資源一樣,是會由於程式設計師的**問題而出現資源洩漏。所以,dhtcrawler第乙個版本在節點數配置在100以上的情況下,用不了多久就會記憶體耗盡,最終導致erlang虛擬機器core dump。效果可以看下具體51搜尋展示結合xunsearch全文檢索技術,可以達到毫秒級的資料搜尋

將hash的獲取方式做了調整後,dhtcrawler在幾分鐘以內以幾乎每秒上百個新增種子的速度工作。然後,程式掛掉。

從dhtcrawler到今天為止的dhtcrawler2,中間間隔了剛好1個月。我的所有業餘時間全部撲在這個專案上,面臨的問題一直都是程式的記憶體洩漏、資源收錄的速度不夠快,到後來又變為資料庫壓力過大。每一天我都以為我將會完成乙個穩定版本,然後終於可以去幹點別的事情,但總是幹不完,目前完沒完都還在觀察。我始終明白在做優化前需要進行詳盡的資料收集和分析,從而真正地優化到正確的點上,但也總是憑直覺和少量資料分析就開始嘗試。

現在公開乙個DHT網路爬蟲

p2p系統的應用越來越廣泛,在檔案共享 流 服務 即時通訊交流 計算和儲存能力共享以及協同處理與服務等方面都能看到p2p的存在,一些p2p應用如napster emule bittorrent等早已是家喻戶曉了。效果可以看下具體51搜尋展示結合xunsearch全文檢索技術,可以達到毫秒級的資料搜尋...

現在公開乙個DHT網路爬蟲

p2p系統的應用越來越廣泛,在檔案共享 流 服務 即時通訊交流 計算和儲存能力共享以及協同處理與服務等方面都能看到p2p的存在,一些p2p應用如napster emule bittorrent等早已是家喻戶曉了。效果可以看下具體51搜尋展示結合xunsearch全文檢索技術,可以達到毫秒級的資料搜尋...

現在公開乙個DHT網路爬蟲

我最開始在選用資料庫時,為了不使用第三方庫,打算使用erlang自帶的mnesia。但是因為涉及到字串匹配搜尋,mnesia的查詢語句在我看來太不友好,在經過一些資料查閱後就直接放棄了。關於這個網路的工作原理,參看 p2p中dht網路爬蟲以及寫了個 磁力搜尋的網頁。然後我打算使用couchdb,因為...