摘要系統是建立在j2ee三層架構之上的網絡資源檢索系統,以XML格式的文本存儲數據,在分布式的條件下,檢索出用戶需要的信息。系統分為四部分:啟動、分布式檢索以及結果匯總、預覽、管理和配置。系統在實現過程中突破了多個技術難點:分布式結構——選舉注冊發布的建立和維護;中文分詞;對檢索結果的二次處理等。
中圖分類號:TP393文獻標識碼:A
0 引言
目前,網絡上存在大量的資源共享服務器,這些服務器一般存儲了一定量的資源,并以web服務的方式供用戶和其它服務器訪問?,F存的問題在于不同服務器的資源組織方式往往不同,有的是通過數據庫,有的是通過一些描述文件(如XML),而且數據庫的種類和結構也有很大的差別,這就導致不同服務器之間資源共享和資源發現都十分困難。同時,企業信息資源布局分散、類型異構,導致在企業內部各部門資源共享和全局應用存在很多困難,多主機的資源共享和集成也是企業信息資源系統的需要。
用戶如果想訪問這些資源,就要登陸每一個服務器去檢索和下載需要的資源。由于服務器的分布廣泛,數量眾多,用戶顯然難以檢索到自己需要的資源。而分布式的資源檢索策略則可以有效的解決這一問題。該策略的思想是當用戶登陸任何一臺服務器的時候,這個服務器除了要檢索自己本地的資源以外,還可以作為一個客戶端,自動地去連接其它服務器,發出檢索請求,并將檢索的結果進行合并和匯總,返回給用戶。這樣,用戶只需要登陸任意一臺服務器,就可以檢索到大量所需資源,盡管這些資源來自于不同的服務器,但檢索的過程對用戶來說是透明的,用戶檢索和獲取這些資源就如同檢索和獲取所請求的服務器上的資源一樣。
1 基于分布式結構的網絡資源檢索的設計與實現
1.1 系統分析
在多臺資源共享服務器之間,實現資源共享,消除資源孤島,其規模并不是主要因素。此時的共享與傳統的共享已有很大不同,更具目的性。目的性體現在它已經不再是簡單的資源互連和單一使用,而是通過互連、組合、協作解決用戶需要解決的問題,產生具有附加值的新服務、數據、信息等資源,滿足用戶的新需求。
資源共享和整合的服務器存在的環境具有異構、分布、動態、演化的特點,這主要體現在虛擬組織、資源的異構、分布、動態、演化特性以及共享模式、協同方式的變化上。因此,如何實現如上述實現用戶透明訪問的分布式框架,需要解決很多的問題。
(1)異構:不同服務器資源組織方式和檢索方式的異構性。資源的描述和存儲方式各有不同,有的通過各種數據庫,有的則通過一些資源描述文件來組織其本地資源。(2)分布:大量資源往往分布存儲在大量不同的服務器上,服務器處于不同的網絡之中,其網絡結構和拓撲千差萬別。(3)動態:網絡結構的動態變化。服務器的在線和離線,資源動態的加入和退出是分布式檢索需要解決的重要問題。(4)演化:資源服務器有時帶有一定的層次性,可以組成各種網絡結構。
正因為資源共享服務器之間有這樣的關系,分布式信息檢索是解決這種服務器之間共享問題的有效方案。圖1顯示了分布式信息檢索系統的結構。
圖1分布式信息檢索系統的結構
1.2 系統設計
1.2.1 系統架構
采用MVC的三層架構(如圖2所示):
(1)從開發角度和應用角度來看,三層架構比雙層或單層結構都有更大的優勢。三層結構適合群體開發,每人可以有不同的分工,協同工作使效率倍增。開發雙層或單層應用時,每個開發人員都應對系統有較深的理解,能力要求很高,開發三層應用時,則可以結合多方面的人才,只需少數人對系統全面了解,從一定程度上降低了開發的難度。(2)三層架構可以更好的支持分布式計算環境。邏輯層的應用程序可以有多個機器上運行,充分利用網絡的計算功能。分布式計算的潛力巨大,遠比升級CPU有效。(3)三層架構的最大優點是它的安全性。用戶端只能通過邏輯層來訪問數據層,減少了入口點,把很多危險的系統功能都屏蔽了。
1.2.2 基于XML的元數據搜索引擎
在每一個資源節點上,節點的管理程序會隨著其所屬的本地資源的變動維護一個XML文檔,它的作用實質上是充當一個資源發言人的角色。
通過這樣一個XML文檔,可以得到這個資源節點所管理的所有資源的信息,包括資源的描述信息和資源的地址信息。因此,對資源的檢索過程也就轉化為對這個XML文檔內容的檢索過程。
對分布式檢索思想進行抽象,本文對定義網絡資源檢索的分布式框架:定義一個基本字符檢索元BCR為一個包含檢索空間集RS,檢索條件字符串RC和檢索結果集RR的一個三元組,即BCR=
1.2.3 系統主要模塊
整個系統模塊包括系統啟動模塊、用戶查詢模塊、顯示模塊、管理模塊等四大模塊:(1)系統啟動模塊包括注冊注銷模塊、XML預處理、選舉模塊、Web Service服務、Socket服務。(2)用戶查詢模塊包括過濾模塊、解析模塊、查詢模塊三大模塊。其中過濾模塊包括敏感詞匯模塊、拼音轉漢字模塊、錯誤檢查模塊。解析模塊包括表達式解析模塊。查詢模塊包括序列化模塊、反序列化模塊、中文分詞模塊、排序保存模塊、高級搜索模塊、分類搜索模塊、表達式搜索模塊、在結果中搜索模塊、相關搜索模塊、精確檢索模塊、全文檢索模塊、高亮顯示模塊。(3)顯示模塊包括文本預覽模塊和視頻播模塊兩大模塊。其中文本預覽模塊包括AJAX預覽、網頁預覽模塊。視頻播模塊包括普通網頁播放、流式播放、截圖預覽等。(4)管理模塊包括登錄注銷模塊、用戶管理模塊、資源管理模塊、定期事件模塊、詞庫模塊、資源權重模塊、資源緩存模塊、服務器初始化模塊、主服務器配置模塊、服務器配置模塊、服務器管理模塊。
2 結論
分布式的網絡資源檢索系統已成為一個新的研究、開發領域。因為它要用到信息檢索、人工智能、計算機網絡、分布式處理、數據庫、數據挖掘、數字圖書館、自然語言處理等多領域的理論和技術,所以具有綜合性和挑戰性。又由于網絡資源檢索有大量的用戶,有很好的經濟價值,所以引起了世界各國計算機科學界和信息產業界的高度關注,目前網絡資源檢索領域的商業開發非?;钴S,各大公司都在投巨資研制,同時也不斷地涌現出新的具有鮮明特色的網絡資源檢索產品,網絡資源檢索系統已經成為信息領域的產業之一。
參考文獻
[1]賈素玲,王強,姚琪琳,舒畢磊,柴慶慧.XML技術應用[M].北京:清華大學出版社,2007.7:36-151.
[2]李英裝,王守彥,張建華.基于非結構化P2P網絡資源檢索的自組織研究[J].大連理工大學學報,2005.10.
[3]李剛,宋偉,邱哲.Ajax+Lucene[M].北京:人民郵電出版社,2006.4:185-235.
[4]Otis Gospodnetic, Erik Hatcher.Lucene IN ATION[M].北京:電子工業出版社,2007.1:352-474.