範文齋

位置:首頁 > 行業範文 > 設計

淺析教育資源網格分佈式檢索子系統的研究與設計論文

設計6.77K

論文關鍵詞:資源網格 分佈式 資源檢索

淺析教育資源網格分佈式檢索子系統的研究與設計論文

論文摘要:在格系統中,資源往往處於不同地區、不同結構的資源節點上,使用傳統的集中式的檢索機制無法勝任大量異構資源的檢索和發現。爲了解決這個問題,研究設計了一個以XML爲基礎的分佈式檢索子系統。該系統通過同構的XML文件對不同資源節點上的本地資源進行描述,生成該節點上本地資源的描述XML文件,並以此爲基礎,對多節點的大量資源文件實現了分佈式的檢索。

目前,隨着現代信息技術在教育領域的廣泛應用,各地的中國小都擁有大量各種各樣的教學資源,包括教學課件、教學案例、精品課程教學視頻和各類輔助教學軟件等,但這些資源往往只能在有限的地域內尤其是校內才能訪問,互相之間發現和共享資源都十分困難,形成了許多的“信息孤島”,限制了不同學校、不同地域的信息交流和資源共享。因此,如何實現不同學校、不同地域之間的資源共享,提高資源的利用效率,避免同類資源的重複開發,是目前中國小教育信息化建設迫切需要解決的問題。

大量資源被分佈在不同區域的不同資源節點上,每個節點對其所擁有資源的描述和存儲方式各有不同,有的通過各種數據庫,有的則通過一些資源描述文件來組織其本地資源,加之各種數據庫、描述文件之間往往是異構的,其各自的資源檢索機制也是多種多樣[1]。顯然,在這種環境下,使用傳統的集中式的檢索機制無法勝任大量異構資源的檢索和發現。網格作爲一種日益流行的分佈式計算平臺,爲教育資源的共享提供了一種有效的解決方案。在網格的環境下,分佈在不同地域、不同主機上的資源可以通過鬆散耦合的方式實現共享,其中資源的管理、存儲機制與傳統的集中式的資源組織方式有着很大的不同。

XML是一種開放標準、簡單易用的語言,它支持國際化,與平臺、工具、數據庫、協議、編程語言無關,並且XML文件是基於文本的,易讀易寫,也易於在網絡中傳播。本文正是利用了XML語言的這些優點,通過同構的XML文件對不同資源節點上的本地資源進行描述,生成該節點上本地資源的描述XML文件,並以此爲基礎,對多節點的大量資源文件進行分佈式的檢索。

  一、分佈式檢索子系統的體系結構分析

在格的體系結構中,對資源的存儲和管理一般被分散在若干個具有不同結構的子節點上,本文定義這種節點爲一個資源節點。資源節點一般位於一個較小的教學部門內,存儲了該部門一定數量的教學資源,並以web服務的方式供用戶和其它資源節點訪問。但不同資源節點的資源組織方式往往不同,有的是通過數據庫,有的是通過一些描述文件,而且數據庫的種類和結構也有很大的差別,這就導致不同資源節點之間資源共享和發現都十分困難。

在以上所描述的環境中,用戶如果想訪問這些資源,需要登陸每一個資源節點進行檢索和下載,但因爲資源節點分佈廣泛,數量衆多,用戶要儘快的檢索到自己所需要的全部資源存在一定的難度。分佈式資源檢索策略可以有效的解決這一問題,該策略的思想是當用戶登陸任何一個資源節點的時候,這個節點除了要檢索自己本地的資源以外,還又作爲一個客戶端,自動地去連接其它資源節點併發出檢索請求,將檢索結果進行合併和彙總後返回給用戶[2]。

  二、本地資源的XML描述

在格系統中,資源通過各種協議由資源發佈人上傳至資源節點。資源發佈人在上傳過程中,需要指定資源的標題、所屬年級、學科、作者等描述信息,這些信息往往是資源檢索的依據。因此,本地資源的XML描述文件需要記錄以上的資源信息。爲了實現所有資源的統一組織,這個XML文檔在不同的資源節點上應該是同構的。

根據以上的思想,需要對XML文檔進行統一規範。在一個資源節點的XML描述文檔中,XML頭部顯式定義文檔使用UTF—8作爲編碼方式,以廣泛地支持各種字符集。XML文檔以allresource作爲根元素,表示該元素下的子元素描述了該資源節點全部資源的信息。allresource元素下包含至少一個resourceitem元素,表明了該資源節點下的一個資源項。在resourceitem元素之下,又分別定義了該資源的各種描述信息,包括標題、所屬年級、學科等。

在每一個資源節點上,只需一個節點管理程序,該程序會隨着其所屬本地資源的變動維護一個XML文檔,它的作用實質上是充當一個資源發言人的角色。其他站點只要通過這個XML文檔,就可以得到這個資源節點所管理的所有資源的信息,包括資源的描述信息和資源的地址信息。因此,對資源的檢索過程也就轉化爲對這個XML文檔內容的檢索過程。

  三、基於XPath的'本地資源檢索

通過以上論述,對一個資源節點的檢索過程可以通過檢索其資源描述的XML文檔內容來完成。XPath是一門在XML文檔中查找信息的語言,它可以用來在XML文檔中對元素和屬性進行遍歷,使用路徑表達式來選取XML文檔中的節點或者節點集,可以通過XPath語言構造資源檢索語句。

在XPath中,有元素、屬性、文本、命名空間、處理指令、註釋和根節點七種類型的節點。在遍歷過程中,XML文檔是被作爲節點樹來對待的。樹的根被稱爲根節點,在根節點下,路徑表達式可以通過類似Windows操作系統文件夾的形式構造。

通過XPath語言構造出的資源檢索語句需要返回XML文檔的資源描述中所包含的用戶所提供的檢索字符串中的資源項。在上文資源描述的定義規範中,對資源項的具體信息描述,如標題、所屬年級、學科等,都是以子元素的形式位於該資源項元素之下,因此,要想獲得該資源項元素,需要對已經查找到的包含用戶檢索字符串的元素進行軸路徑查找,以向上回溯獲得該元素的父節點,即所要返回的資源項元素。

  四、基於JavaRMI的分佈式檢索機制

在本文所描述的分佈式資源共享的環境下,如果僅僅使用本地資源檢索,用戶需逐個登陸多個服務器以檢索所需要的資源,“信息孤島”的局面依然沒有解決,不能滿足分佈式檢索子系統的要求。本文提出一種分佈式檢索的機制,用戶登陸任意一臺服務器提交資源檢索字符串後,該服務器除在本地進行檢索之外,還將字符串檢索命令以洪泛的方式提交給它所知道的所有資源節點服務器。所有得到該命令的服務器分別在自己的XML資源描述文檔中查找是否包含用戶所需要的資源,如果有,則將該資源的描述信息和地址信息以結果集的形式返回給命令的發起服務器。由發起服務器負責將多個服務器返回的結果集進行合併、排序等操作,最後返回給用戶。 基於以上思想,分佈檢索子系統可以採用JavaRMI技術來實現。JavaRMI是Java的一組支持開發分佈式應用程序的API。RMI使用Java語言接口定義了遠程對象,集合了Java序列化和Java遠程方法協議。由於J2EE是分佈式程序平臺,RMI機制可以實現程序組件在不同操作系統之間的通信,這樣就使原先的程序在同一操作系統的方法調用,變成了不同操作系統之間程序的方法調用。發起服務器將檢索命令提高的過程就可以看作是發起服務器對遠程服務器本地資源檢索方法的一次調用,通過RMI方法特有的JRMP協議,實現兩臺服務器命令的提交和結果集的返回。

  五、分佈式檢索的緩存策略和流程設計

引入分佈式的檢索機制後,由於要對用戶的查詢請求使用洪泛的方式交付給每一個服務器處理,網絡的流量負擔會加重,造成檢索延遲的增大,影響到查詢效率。但資源節點服務器擁有的資源項相對固定,在一段時期內對服務器進行特定字符串檢索往往會返回同樣的結果。因此,採用在本地服務器中保存常用字符串檢索結果的緩存策略,會提高資源檢索的速度,降低網絡流量的壓力。爲了獲取當前各資源節點的最新信息,還需要引入相應的超時和更新機制,限定緩存的生命週期,對緩存進行週期性的更新。

在緩存策略中,什麼樣的字符串應該被緩存是首先要解決的問題。本文采用的是人工定義的方法,根據經驗定義一些字符串作爲緩存項,主要是分類檢索的各個子項[3],如按年級分類檢索的子項“高一”、“高二”,按學科分類檢索的子項“語文”、“數學”等。因爲這些字符串相對比較固定且在教育網格的首頁設有鏈接,被檢索的機率較高。

爲管理好緩存並定時地創建、更新緩存項,在每一個服務器本地定義了一個XML文檔,該文檔描述了這臺服務器所有檢索緩存的字符串名稱、緩存更新的時間以及該字符串的類型信息。其中,字符串名稱不僅表示檢索時所對應的字符串,還表示該字符串檢索結果緩存在本地所保存的文件名;字符串的類型由type屬性決定;爲方便地進行日期比較和時間差計算,緩存更新時間用該緩存項最後的更新時間與1970年1月1日之間的毫秒數來表示。

用戶提交檢索命令之後,檢索子系統首先讀取caches。xml文檔,檢查是否含有相應的緩存項的記錄。如果沒有,將其作爲普通的字符串提交給分佈式檢索引擎進行檢索。如果有,讀入該緩存項,提取出該緩存項的時間信息。如果該緩存最後更新時間與當前時間的差t大於規定的超時時間閾值tmax,則認定該緩存項超時,將該字符串提交給檢索引擎進行檢索,當結果集返回合併後,更新本地緩存文件,並更新caches。xml的相應更新時間信息。如果判定本地緩存項沒有超時,則直接讀入以字符串名命名的該緩存項的XML文件,作爲結果集返回給用戶。

本文設計並實現了一個基於XML的分佈式檢索子系統,該系統使用XML文檔作爲一個資源節點的資源描述文件,並使用JavaRMI技術實現了分佈式、多服務器的檢索。爲提高檢索效率,降低網絡流量,還引入了緩存策略。該系統符合格系統的要求,有效的解決了不同地域、多種異構教育資源的共享問題。

參考文獻:

[1]高宏卿,王曉東。基於網格技術的校園網應用研究。計算機應用研究,2005,(9)。

[2]RahmanRM,BarkerK,AlhajjR。ReplicaPlacementDesignwithStaticOptimalityandDynamicMaintainability[C]//Proceedingsofthe6thIEEEInternationalSymposiumonClusterComputingandtheGrid。[S。1。]:IEEEPress,2006。

[3]吳雄奇,曾文華。基於虛擬組織的網格文件資源共享模型[J]。計算機技術與發展,2007,17(3):1—4。□