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