《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 一種校內網資源搜索引擎的設計與實現
一種校內網資源搜索引擎的設計與實現
來源:微型機與應用2011年第15期
汪益民,楊春節(jié)
(安徽農業(yè)大學 網絡中心,安徽 合肥 230036)
摘要: 搜索引擎是目前人們尋找網絡資源最常用的方式,本系統(tǒng)依照搜索引擎的設計原理,采用多Agent方式,通過對索引模塊參數設置實現對校內網不同的資源進行統(tǒng)一整合,建立校內網資源的搜索引擎。該搜索引擎為學校內網提供資源共享的新方式,提高校內資源的利用率,減輕校內網帶寬的壓力。
Abstract:
Key words :

摘  要: 搜索引擎是目前人們尋找網絡資源最常用的方式,本系統(tǒng)依照搜索引擎的設計原理,采用多Agent方式,通過對索引模塊參數設置實現對校內網不同的資源進行統(tǒng)一整合,建立校內網資源的搜索引擎。該搜索引擎為學校內網提供資源共享的新方式,提高校內資源的利用率,減輕校內網帶寬的壓力。
關鍵詞: 搜索引擎;Agent;校內網資源;校內網帶寬

 隨著高校校園網的快速發(fā)展,網絡作為信息的傳播平臺正在高速向前邁進。學校校園網中各種資訊、軟件、多媒體資源越來越豐富并且呈現出爆發(fā)式的增長。以本校為例,目前軟件資源容量為300 G、音樂資源容量為4 T、電影資源容量為9 T、學習資源容量近達1 T等,這些信息資源幫助人們更好地完成工作與學習、豐富業(yè)余生活、提供更加快速方便的下載方式。但是這是數字資源分布在不同服務器與存儲中,如何更加有效地利用這些海量的校內網資源成為信息管理者深思的問題。人們在互聯(lián)網上查找信息都會用到搜索引擎來搜索需要的信息,通過搜索引擎的模糊匹配機制,能很容易找到想要得到的信息。對于學校信息中心信息管理人員來說,如果能在校內網中引入一套搜索引擎機制來解決這個問題,就能使廣大師生能快捷便利地使用這些信息而且減少重復從外網下載、降低校內網出口帶寬的壓力、充分提高校園網內部資源的利用率的問題。
1 需求分析
 搜索引擎原理,通常指的是收集了因特網上幾千萬到幾十億個網頁并對網頁中的每一個詞(即關鍵詞)進行索引,建立索引數據庫的全文搜索引擎。當用戶查找某個關鍵詞的時候,所有在頁面內容中包含了該關鍵詞的網頁都將作為搜索結果被搜出來。在經過復雜的算法進行排序后,這些結果將按照與搜索關鍵詞的相關度高低,依次排列。
 本系統(tǒng)主要目標是仿照搜索引擎的原理實現對校內網信息資源的全面搜索。這些資源可能是不同類型,可能分別存在不同服務器中且服務器的類型也不近相同,如有FTP服務器、HTTP服務器等。對于這些不同的環(huán)境要求,要求本系統(tǒng)要完成以下需求:
 (1)索引建立要滿足不同的服務器類型,如http、ftp等。
 (2)索引建立時要區(qū)分文件的類型。
 (3)定時(手工)刪除本機器的索引,并重新建立指定目錄的文件索引。
 (4)搜索能支持模糊查詢。
 (5)提供用戶搜索、下載功能,記錄關鍵字頻率及文件訪問次數。
 對于以上需求,本系統(tǒng)采用多agent模式,對不同服務器,分別安裝索引建立模式(agent),再通過對參數的配置實現對不同服務器中資源的索引建立。
2 系統(tǒng)分析
2.1 系統(tǒng)結構

 本搜索引擎結構如圖1所示,軟件的設計與開發(fā)主要為兩個部分:(1)索引的建立。主要負責在后臺數據的建立,采用客戶端與服務器結構(C/S結構);(2)Web的查詢。主要負責向用戶提供友好界面的查詢服務,采用瀏覽器與服務器結構(B/S結構)。通過開發(fā)索引建立程序,將文件存放的服務器(FTP、HTTP等)進行搜索,分析文件的名稱、大小、類別、位置等并將這些文件信息合并服務器IP、訪問的前綴等建立對應的索引添加到數據庫服務器中。

2.2 數據庫設計
 為了方便數據庫中文件信息的處理,數據庫設計了兩個基本數據表,一個存放索引建立模塊,將文件的索引放入表1中;另一個表主要存放用戶搜索的相關信息,如表2所示。如果搜索數據非常龐大時,要對基本數據表按不同的規(guī)則進行分割,成立多個子表(可以按照服務器類型、文件類型或者服務器所屬網絡等分類),實現對資源的高效率搜索。

 

 

2.3系統(tǒng)設計
 索引建立模塊(agent)的界面上參數主要包含服務器IP地址、服務器前綴、選擇搜索的路徑、設置定時時間等。服務器相關的文件是以海量規(guī)模存儲的,為了提高索引建立的效率,系統(tǒng)采用后臺的存儲過程來實現對數據庫的操作。
 索引建立模塊是整個系統(tǒng)的核心,通過遞歸算法,將服務器中指定文件夾中所有文件(或者指定類型文件)的信息依次提取,將文件物理地址轉換為邏輯地址并形成對應關系,按照數據庫表結構預先設定的規(guī)則放入數據庫對應表中,實現對文件服務器中文件索引的建立。搜索的用戶程序采用B/S結構,用戶通過瀏覽器搜索關鍵字實現對資源的查詢。搜索的關鍵字采用對所在分類文件夾和文件名中模糊匹配,將搜索的結果以類別、文件名、文件類型、文件大小等信息來展現。
2.4主要核心代碼
 (1)搜索文件代碼
 if(FindFirst(PathName+"*.*",   faAnyFile,  sr)==   0)
      {   
          do
          {
              if((sr.Attr&faDirectory)&&sr.Name!="."
&&sr.Name!="..")  
 //判斷是否是目錄,并排除目錄“.”和“..”
              {
                //mem->Lines->Add("目錄:"+sr.Name); //調用函數本身,進入子目錄
               BrowDir(PathName+sr.Name+"\\",kind);
              }
          }while   (FindNext(sr)   ==   0);
          FindClose(sr);
      }   
(2)調用存取過程代碼
 ADOStoredProc1->ProcedureName="sp_insert";
 ADOStoredProc1->Parameters->ParamByName("@ipstr")->Value=Trim(Form1->edip->Text);
 ADOStoredProc1->Parameters->ParamByName("@frontstr")->Value= Trim(edfront->Text);ADOStoredProc1->Parameters->ParamByName("@folderstr")->Value=PathName.SubString(edpath->Text.Length()+2,PathName.Length()-edpath->Text.Length());
 ADOStoredProc1->Parameters->ParamByName("@filenamestr")->Value=sr.Name;
 ADOStoredProc1->Parameters->ParamByName("@filetypestr")->Value=  ExtractFileExt(PathName+sr.Name);
 ADOStoredProc1->Parameters->ParamByName("@filesizestr")->Value= sizestr;
 ADOStoredProc1->Prepared;
 ADOStoredProc1->ExecProc();
 內網資源搜索引擎對于類似校園網內部資源的整合有很重要的作用,它的重要性表現在能將校園網的各種資源以統(tǒng)一的搜索引擎的方式提供給用戶,方便用戶的查找與使用,極大地提高了這些資源的利用率。本文介紹的校內網搜索引擎已經在我校產生的明顯的效果,隨著推廣的深入,廣大師生越來越多地都在使用它來尋找自己所需要的資源,極大提高了工作效率并減輕了校園網出口帶寬的壓力。
參考文獻
[1] 郝金隆,王成良.原創(chuàng)優(yōu)先的搜索引擎排序算法[J].計算機工程,2008,34(18):85-86.
[2] 任勇旗,唐毅.以客戶為中心的搜索引擎優(yōu)化研究[J].圖書館學研究,2009(1):44-45.
[3] 吳斷,施水才.一種結合超鏈接分析的搜索引引擎排序[J].計算機工程,2004,30(15):143-145
 

此內容為AET網站原創(chuàng),未經授權禁止轉載。