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

來源:果殼範文吧 6.63K

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

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

論文摘要:在格系統中,資源往往處於不同地區、不同結構的資源節點上,使用傳統的集中式的檢索機制無法勝任大量異構資源的檢索和發現。為了解決這個問題,研究設計了一個以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。□

熱門標籤