教育資源網(wǎng)格分布式檢索子系統的研究與設計
論文關(guān)鍵詞:資源網(wǎng)格 分布式 資源檢索 論文摘 要:在資源網(wǎng)格系統中,資源往往處于不同地區、不同結構的資源節點(diǎn)上,使用傳統的集中式的檢索機制無(wú)法勝任大量異構資源的檢索和發(fā)現。為了解決這個(gè)問(wèn)題,研究設計了一個(gè)以XML為基礎的分布式檢索子系統。該系統通過(guò)同構的XML文件對不同資源節點(diǎn)上的本地資源進(jìn)行描述,生成該節點(diǎn)上本地資源的描述XML文件,并以此為基礎,對多節點(diǎn)的大量資源文件實(shí)現了分布式的檢索。
目前,隨著(zhù)現代信息技術(shù)在教育領(lǐng)域的廣泛應用,各地的中小學(xué)都擁有大量各種各樣的教學(xué)資源,包括教學(xué)課件、教學(xué)案例、精品課程教學(xué)視頻和各類(lèi)輔助教學(xué)軟件等,但這些資源往往只能在有限的地域內尤其是校內才能訪(fǎng)問(wèn),互相之間發(fā)現和共享資源都十分困難,形成了許多的“信息孤島”,限制了不同學(xué)校、不同地域的信息交流和資源共享。因此,如何實(shí)現不同學(xué)校、不同地域之間的資源共享,提高資源的利用效率,避免同類(lèi)資源的重復開(kāi)發(fā),是目前中小學(xué)教育信息化建設迫切需要解決的問(wèn)題。
大量資源被分布在不同區域的不同資源節點(diǎn)上,每個(gè)節點(diǎn)對其所擁有資源的描述和存儲方式各有不同,有的通過(guò)各種數據庫,有的則通過(guò)一些資源描述文件來(lái)組織其本地資源,加之各種數據庫、描述文件之間往往是異構的,其各自的資源檢索機制也是多種多樣[1]。顯然,在這種下,使用傳統的集中式的檢索機制無(wú)法勝任大量異構資源的檢索和發(fā)現。網(wǎng)格作為一種日益流行的分布式計算平臺,為教育資源的共享提供了一種有效的解決方案。在網(wǎng)格的環(huán)境下,分布在不同地域、不同主機上的資源可以通過(guò)松散耦合的方式實(shí)現共享,其中資源的、存儲機制與傳統的集中式的資源組織方式有著(zhù)很大的不同。
XML是一種開(kāi)放標準、簡(jiǎn)單易用的,它支持國際化,與平臺、工具、數據庫、協(xié)議、編程語(yǔ)言無(wú)關(guān),并且XML文件是基于文本的,易讀易寫(xiě),也易于在網(wǎng)絡(luò )中。本文正是利用了XML語(yǔ)言的這些優(yōu)點(diǎn),通過(guò)同構的XML文件對不同資源節點(diǎn)上的本地資源進(jìn)行描述,生成該節點(diǎn)上本地資源的描述XML文件,并以此為基礎,對多節點(diǎn)的大量資源文件進(jìn)行分布式的檢索。
一、分布式檢索子系統的體系結構分析
在教育資源網(wǎng)格的體系結構中,對資源的存儲和管理一般被分散在若干個(gè)具有不同結構的子節點(diǎn)上,本文定義這種節點(diǎn)為一個(gè)資源節點(diǎn)。資源節點(diǎn)一般位于一個(gè)較小的教學(xué)部門(mén)內,存儲了該部門(mén)一定數量的教學(xué)資源,并以web服務(wù)的方式供用戶(hù)和其它資源節點(diǎn)訪(fǎng)問(wèn)。但不同資源節點(diǎn)的資源組織方式往往不同,有的是通過(guò)數據庫,有的是通過(guò)一些描述文件,而且數據庫的種類(lèi)和結構也有很大的差別,這就導致不同資源節點(diǎn)之間資源共享和發(fā)現都十分困難。
在以上所描述的環(huán)境中,用戶(hù)如果想訪(fǎng)問(wèn)這些資源,需要登陸每一個(gè)資源節點(diǎn)進(jìn)行檢索和下載,但因為資源節點(diǎn)分布廣泛,數量眾多,用戶(hù)要盡快的檢索到自己所需要的全部資源存在一定的難度。分布式資源檢索策略可以有效的解決這一問(wèn)題,該策略的思想是當用戶(hù)登陸任何一個(gè)資源節點(diǎn)的時(shí)候,這個(gè)節點(diǎn)除了要檢索自己本地的資源以外,還又作為一個(gè)客戶(hù)端,自動(dòng)地去連接其它資源節點(diǎn)并發(fā)出檢索請求,將檢索結果進(jìn)行合并和匯總后返回給用戶(hù)[2]。
二、本地資源的XML描述
在教育資源網(wǎng)格系統中,資源通過(guò)各種協(xié)議由資源發(fā)布人上傳至資源節點(diǎn)。資源發(fā)布人在上傳過(guò)程中,需要指定資源的標題、所屬年級、學(xué)科、作者等描述信息,這些信息往往是資源檢索的依據。因此,本地資源的XML描述文件需要記錄以上的資源信息。為了實(shí)現所有資源的統一組織,這個(gè)XML文檔在不同的資源節點(diǎn)上應該是同構的。
根據以上的思想,需要對XML文檔進(jìn)行統一規范。在一個(gè)資源節點(diǎn)的XML描述文檔中,XML頭部顯式定義文檔使用UTF-8作為編碼方式,以廣泛地支持各種字符集。XML文檔以allresource作為根元素,表示該元素下的子元素描述了該資源節點(diǎn)全部資源的信息。allresource元素下包含至少一個(gè)resourceitem元素,表明了該資源節點(diǎn)下的一個(gè)資源項。在resourceitem元素之下,又分別定義了該資源的各種描述信息,包括標題、所屬年級、學(xué)科等。
在每一個(gè)資源節點(diǎn)上,只需一個(gè)節點(diǎn)管理程序,該程序會(huì )隨著(zhù)其所屬本地資源的變動(dòng)維護一個(gè)XML文檔,它的作用實(shí)質(zhì)上是充當一個(gè)資源發(fā)言人的角色。其他站點(diǎn)只要通過(guò)這個(gè)XML文檔,就可以得到這個(gè)資源節點(diǎn)所管理的所有資源的信息,包括資源的描述信息和資源的地址信息。因此,對資源的檢索過(guò)程也就轉化為對這個(gè)XML文檔內容的檢索過(guò)程。
三、基于XPath的本地資源檢索
通過(guò)以上論述,對一個(gè)資源節點(diǎn)的檢索過(guò)程可以通過(guò)檢索其資源描述的XML文檔內容來(lái)完成。XPath是一門(mén)在 XML 文檔中查找信息的語(yǔ)言,它可以用來(lái)在 XML 文檔中對元素和屬性進(jìn)行遍歷,使用路徑表達式來(lái)選取XML文檔中的節點(diǎn)或者節點(diǎn)集,可以通過(guò)XPath語(yǔ)言構造資源檢索語(yǔ)句。
在 XPath中,有元素、屬性、文本、命名空間、處理指令、注釋和根節點(diǎn)七種類(lèi)型的節點(diǎn)。在遍歷過(guò)程中,XML 文檔是被作為節點(diǎn)樹(shù)來(lái)對待的。樹(shù)的根被稱(chēng)為根節點(diǎn),在根節點(diǎn)下,路徑表達式可以通過(guò)類(lèi)似Windows操作系統文件夾的形式構造。
通過(guò)XPath語(yǔ)言構造出的資源檢索語(yǔ)句需要返回XML文檔的資源描述中所包含的用戶(hù)所提供的檢索字符串中的資源項。在上文資源描述的定義規范中,對資源項的具體信息描述,如標題、所屬年級、學(xué)科等,都是以子元素的形式位于該資源項元素之下,因此,要想獲得該資源項元素,需要對已經(jīng)查找到的包含用戶(hù)檢索字符串的元素進(jìn)行軸路徑查找,以向上回溯獲得該元素的父節點(diǎn),即所要返回的資源項元素。
四、基于Java RMI的分布式檢索機制
在本文所描述的分布式資源共享的下,如果僅僅使用本地資源檢索,用戶(hù)需逐個(gè)登陸多個(gè)服務(wù)器以檢索所需要的資源,“信息孤島”的局面依然沒(méi)有解決,不能滿(mǎn)足分布式檢索子系統的要求。本文提出一種分布式檢索的機制,用戶(hù)登陸任意一臺服務(wù)器提交資源檢索字符串后,該服務(wù)器除在本地進(jìn)行檢索之外,還將字符串檢索命令以洪泛的方式提交給它所知道的所有資源節點(diǎn)服務(wù)器。所有得到該命令的服務(wù)器分別在自己的XML資源描述文檔中查找是否包含用戶(hù)所需要的資源,如果有,則將該資源的描述信息和地址信息以結果集的形式返回給命令的發(fā)起服務(wù)器。由發(fā)起服務(wù)器負責將多個(gè)服務(wù)器返回的結果集進(jìn)行合并、排序等操作,最后返回給用戶(hù)。
基于以上思想,分布檢索子系統可以采用Java RMI技術(shù)來(lái)實(shí)現。Java RMI是Java的一組支持開(kāi)發(fā)分布式應用程序的API。RMI使用Java接口定義了遠程對象,集合了Java序列化和Java遠程方法協(xié)議。由于J2EE是分布式程序平臺, RMI機制可以實(shí)現程序組件在不同操作系統之間的,這樣就使原先的程序在同一操作系統的方法調用,變成了不同操作系統之間程序的方法調用。發(fā)起服務(wù)器將檢索命令提高的過(guò)程就可以看作是發(fā)起服務(wù)器對遠程服務(wù)器本地資源檢索方法的一次調用,通過(guò)RMI方法特有的JRMP協(xié)議,實(shí)現兩臺服務(wù)器命令的提交和結果集的返回。
五、分布式檢索的緩存策略和流程設計
引入分布式的檢索機制后,由于要對用戶(hù)的查詢(xún)請求使用洪泛的方式交付給每一個(gè)服務(wù)器處理,網(wǎng)絡(luò )的流量負擔會(huì )加重,造成檢索延遲的增大,影響到查詢(xún)效率。但資源節點(diǎn)服務(wù)器擁有的資源項相對固定,在一段時(shí)期內對服務(wù)器進(jìn)行特定字符串檢索往往會(huì )返回同樣的結果。因此,采用在本地服務(wù)器中保存常用字符串檢索結果的緩存策略,會(huì )提高資源檢索的速度,降低網(wǎng)絡(luò )流量的壓力。為了獲取當前各資源節點(diǎn)的最新信息,還需要引入相應的超時(shí)和更新機制,限定緩存的生命周期,對緩存進(jìn)行周期性的更新。
在緩存策略中,什么樣的字符串應該被緩存是首先要解決的問(wèn)題。本文采用的是人工定義的方法,根據經(jīng)驗定義一些字符串作為緩存項,主要是分類(lèi)檢索的各個(gè)子項[3],如按年級分類(lèi)檢索的子項“高一”、“高二”,按學(xué)科分類(lèi)檢索的子項“語(yǔ)文”、“”等。因為這些字符串相對比較固定且在網(wǎng)格的首頁(yè)設有鏈接,被檢索的幾率較高。
為好緩存并定時(shí)地創(chuàng )建、更新緩存項,在每一個(gè)服務(wù)器本地定義了一個(gè)XML文檔,該文檔描述了這臺服務(wù)器所有檢索緩存的字符串名稱(chēng)、緩存更新的時(shí)間以及該字符串的類(lèi)型信息。其中,字符串名稱(chēng)不僅表示檢索時(shí)所對應的字符串,還表示該字符串檢索結果緩存在本地所保存的文件名;字符串的類(lèi)型由type屬性決定;為方便地進(jìn)行日期比較和時(shí)間差計算,緩存更新時(shí)間用該緩存項最后的更新時(shí)間與1970年1月1日之間的毫秒數來(lái)表示。
用戶(hù)提交檢索命令之后,檢索子系統首先讀取caches.xml文檔,檢查是否含有相應的緩存項的記錄。如果沒(méi)有,將其作為普通的字符串提交給分布式檢索引擎進(jìn)行檢索。如果有,讀入該緩存項,提取出該緩存項的時(shí)間信息。如果該緩存最后更新時(shí)間與當前時(shí)間的差t大于規定的超時(shí)時(shí)間閾值tmax,則認定該緩存項超時(shí),將該字符串提交給檢索引擎進(jìn)行檢索,當結果集返回合并后,更新本地緩存文件,并更新caches.xml的相應更新時(shí)間信息。如果判定本地緩存項沒(méi)有超時(shí),則直接讀入以字符串名命名的該緩存項的XML文件,作為結果集返回給用戶(hù)。
本文設計并實(shí)現了一個(gè)基于XML的分布式檢索子系統,該系統使用XML文檔作為一個(gè)資源節點(diǎn)的資源描述文件,并使用Java RMI技術(shù)實(shí)現了分布式、多服務(wù)器的檢索。為提高檢索效率,降低網(wǎng)絡(luò )流量,還引入了緩存策略。該系統符合教育資源網(wǎng)格系統的要求,有效的解決了不同地域、多種異構教育資源的共享問(wèn)題。
參考文獻:
[1]高宏卿,王曉東.基于網(wǎng)格技術(shù)的校園網(wǎng)應用研究.應用研究,2005,(9).
[2]Rahman R M,Barker K, Alhajj R. Replica Placement Design with Static Optimality and Dynamic Maintainability[C]//Proceedings of the 6th IEEE International Symposium on Cluster Computing and the Grid.[S.1.]:IEEE Press,2006.
[3]吳雄奇,曾文華.基于虛擬組織的網(wǎng)格文件資源共享模型[J].計算機技術(shù)與發(fā)展,2007,17(3):1-4.□
相關(guān)論文查閱:大學(xué)生論文、工商財務(wù)論文、經(jīng)濟論文、教育論文 熱門(mén)畢業(yè)論文
【教育資源網(wǎng)格分布式檢索子系統的研究與設計】相關(guān)文章:
基于Agent網(wǎng)格環(huán)境下的教育資源發(fā)現問(wèn)題研究02-27
企業(yè)網(wǎng)格資源管理技術(shù)的研究與實(shí)現提綱11-23
淺談信息網(wǎng)格環(huán)境中的信息資源管理研究11-14
高校藝術(shù)設計教育的創(chuàng )新研究02-26
人力資源管理課程設計研究11-20
基于網(wǎng)格特征臨界點(diǎn)的三維工程模型檢索算法11-23
試論高校文獻檢索課網(wǎng)絡(luò )教學(xué)資源的改革創(chuàng )新01-15
- 相關(guān)推薦