【正文】
5. 杜亞軍等,爬行蟲算法設(shè)計與程序?qū)崿F(xiàn)〔 J〕,計算機應(yīng)用, 24 卷 2020。利用概念詞庫建立智能更高的網(wǎng)絡(luò)機器人能更好的提高查全率,這是我們今后的主要研究方向之一。 開發(fā)高性能的網(wǎng)絡(luò)機器人對于提高 Web搜索引擎的整體性能起著至關(guān)重要的作用,也是研究和開發(fā)新一代的智能搜索引擎必然要求,本文研究了開發(fā)高性能網(wǎng)絡(luò)機器人所涉及的不可或缺的關(guān)鍵技術(shù)、程序設(shè)計思想與算法,并對實現(xiàn)程序功能的一些關(guān)鍵類進行了詳細地分析。//處理作業(yè)管理器中的作業(yè)。//線程處于空閑則等待作業(yè)管理器分配一個作業(yè),并通知此線程忙。//返回線程的對象的狀態(tài)是忙還是空閑。 RobotWorker類 ―――-高性能的網(wǎng)絡(luò)機器人應(yīng)該是多線程的,把任務(wù)分成許多小任務(wù),必須有一種方法在不同的線程間分配任務(wù),工作的基本單元就是 RobotWorker 類對象。 synchronized public void clear()。 synchronized public char getURLStatus(String url)。 protected void setStatus(Sting url,char status)。 synchronized public void pleteWorkload(String url,Boolean error)。 synchronized public void addWorkload(String url)。 主要方法: synchronized public String assignWorkload()。//停止機器人運 行。//啟動機器人進程。//返回要下載的正文大小。//設(shè)置要下載的正文大小。//當(dāng)網(wǎng)絡(luò)機器人沒有工作時調(diào)用。//用于處理網(wǎng)頁,是網(wǎng)絡(luò)機器人所要完成的實際工作。//發(fā)現(xiàn)其它鏈接并處理。//發(fā)現(xiàn)外部鏈接并處理。//發(fā)現(xiàn)內(nèi)部鏈接并處理。//從作業(yè)管理器獲得一個作業(yè)。//向作業(yè)管理器添加一個作業(yè)。 下面給出實現(xiàn)系統(tǒng)的幾個關(guān)鍵類: Robot 類――― 網(wǎng)絡(luò)機器人主要通過 Robot 類來實現(xiàn)的,這個類包含很多起接口作用的方法, 主要完成控制 Robot 運行,組織和管理所訪問過的和將要訪問的站點列表。 網(wǎng)絡(luò)機器人程序是通過 Java語言編寫的, Java 是面向?qū)ο蟮木幊陶Z言,將各個模塊的主要功能封裝在相對獨立的類中,并通過接口函數(shù)將它們有效地連接起來,形成一個完整的系統(tǒng)。 End While。 End。 End。 Else PopQueue(url,RunQ,LinkType)。 PopQueue(url,WaitQ,LinkType)。 Begin For url in NewURLS Do Begin If url is not in FinishQ Then//如完成隊列中沒有 URL。//下載并保存處理隊列中 URL 對應(yīng)的網(wǎng)頁。 Document=PopQueue(url,RunQ,LinkType)。//從等待隊列中取出 URL。 While WaitQ is not empty Do//判斷等待隊列是否有 URL.。 Begin For url in URLS Do PopQueue(url,WaitQ)。 LinkType