2000论文网-论文发表|发表论文|论文发表网
论文关键词:资源网格 分布式 资源检索
论文摘 要:在教育资源网格系统中,资源往往处于不同地区、不同结构的资源节点上,使用传统的集中式的检索机制无法胜任大量异构资源的检索和发现。为了解决这个问题,研究设计了一个以XML为基础的分布式检索子系统。该系统通过同构的XML文件对不同资源节点上的本地资源进行描述,生成该节点上本地资源的描述XML文件,并以此为基础,对多节点的大量资源文件实现了分布式的检索。
目前,随着现代信息技术在教育领域的广泛应用,各地的中小学都拥有大量各种各样的教学资源,包括教学课件、教学案例、精品课程教学视频和各类辅助教学软件等,但这些资源往往只能在有限的地域内尤其是校内才能访问,互相之间发现和共享资源都十分困难,形成了许多的“信息孤岛”,限制了不同学校、不同地域的信息交流和资源共享。因此,如何实现不同学校、不同地域之间的资源共享,提高资源的利用效率,避免同类资源的重复开发,是目前中小学教育信息化建设迫切需要解决的问题。
大量资源被分布在不同区域的不同资源节点上,每个节点对其所拥有资源的描述和存储方式各有不同,有的通过各种数据库,有的则通过一些资源描述文件来组织其本地资源,加之各种数据库、描述文件之间往往是异构的,其各自的资源检索机制也是多种多样[1]。显然,在这种环境下,使用传统的集中式的检索机制无法胜任大量异构资源的检索和发现。网格作为一种日益流行的分布式计算平台,为教育资源的共享提供了一种有效的解决方案。在网格的环境下,分布在不同地域、不同主机上的资源可以通过松散耦合的方式实现共享,其中资源的管理、存储机制与传统的集中式的资源组织方式有着很大的不同。
XML是一种开放标准、简单易用的语言,它支持国际化,与平台、工具、数据库、协议、编程语言无关,并且XML文件是基于文本的,易读易写,也易于在网络中传播。本文正是利用了XML语言的这些优点,通过同构的XML文件对不同资源节点上的本地资源进行描述,生成该节点上本地资源的描述XML文件,并以此为基础,对多节点的大量资源文件进行分布式的检索。
2000论文网-论文发表|发表论文|论文发表网
一、分布式检索子系统的体系结构分析
在教育资源网格的体系结构中,对资源的存储和管理一般被分散在若干个具有不同结构的子节点上,本文定义这种节点为一个资源节点。资源节点一般位于一个较小的教学部门内,存储了该部门一定数量的教学资源,并以web服务的方式供用户和其它资源节点访问。但不同资源节点的资源组织方式往往不同,有的是通过数据库,有的是通过一些描述文件,而且数据库的种类和结构也有很大的差别,这就导致不同资源节点之间资源共享和发现都十分困难。
在以上所描述的环境中,用户如果想访问这些资源,需要登陆每一个资源节点进行检索和下载,但因为资源节点分布广泛,数量众多,用户要尽快的检索到自己所需要的全部资源存在一定的难度。分布式资源检索策略可以有效的解决这一问题,该策略的思想是当用户登陆任何一个资源节点的时候,这个节点除了要检索自己本地的资源以外,还又作为一个客户端,自动地去连接其它资源节点并发出检索请求,将检索结果进行合并和汇总后返回给用户[2]。
二、本地资源的XML描述
在教育资源网格系统中,资源通过各种协议由资源发布人上传至资源节点。资源发布人在上传过程中,需要指定资源的标题、所属年级、学科、作者等描述信息,这些信息往往是资源检索的依据。因此,本地资源的XML描述文件需要记录以上的资源信息。为了实现所有资源的统一组织,这个XML文档在不同的资源节点上应该是同构的。
根据以上的思想,需要对XML文档进行统一规范。在一个资源节点的XML描述文档中,XML头部显式定义文档使用UTF-8作为编码方式,以广泛地支持各种字符集。XML文档以allresource作为根元素,表示该元素下的子元素描述了该资源节点全部资源的信息。allresource元素下包含至少一个resourceitem元素,表明了该资源节点下的一个资源项。在resourceitem元素之下,又分别定义了该资源的各种描述信息,包括标题、所属年级、学科等。
在每一个资源节点上,只需一个节点管理程序,该程序会随着其所属本地资源的变动维护一个XML文档,它的作用实质上是充当一个资源发言人的角色。其他站点只要通过这个XML文档,就可以得到这个资源节点所管理的所有资源的信息,包括资源的描述信息和资源的地址信息。因此,对资源的检索过程也就转化为对这个XML文档内容的检索过程。
2000论文网-论文发表|发表论文|论文发表网
三、基于XPath的本地资源检索
通过以上论述,对一个资源节点的检索过程可以通过检索其资源描述的XML文档内容来完成。XPath是一门在 XML 文档中查找信息的语言,它可以用来在 XML 文档中对元素和属性进行遍历,使用路径表达式来选取XML文档中的节点或者节点集,可以通过XPath语言构造资源检索语句。
在 XPath中,有元素、属性、文本、命名空间、处理指令、注释和根节点七种类型的节点。在遍历过程中,XML 文档是被作为节点树来对待的。树的根被称为根节点,在根节点下,路径表达式可以通过类似Windows操作系统文件夹的形式构造。
通过XPath语言构造出的资源检索语句需要返回XML文档的资源描述中所包含的用户所提供的检索字符串中的资源项。在上文资源描述的定义规范中,对资源项的具体信息描述,如标题、所属年级、学科等,都是以子元素的形式位于该资源项元素之下,因此,要想获得该资源项元素,需要对已经查找到的包含用户检索字符串的元素进行轴路径查找,以向上回溯获得该元素的父节点,即所要返回的资源项元素。
四、基于Java RMI的分布式检索机制
在本文所描述的分布式资源共享的环境下,如果仅仅使用本地资源检索,用户需逐个登陆多个服务器以检索所需要的资源,“信息孤岛”的局面依然没有解决,不能满足分布式检索子系统的要求。本文提出一种分布式检索的机制,用户登陆任意一台服务器提交资源检索字符串后,该服务器除在本地进行检索之外,还将字符串检索命令以洪泛的方式提交给它所知道的所有资源节点服务器。所有得到该命令的服务器分别在自己的XML资源描述文档中查找是否包含用户所需要的资源,如果有,则将该资源的描述信息和地址信息以结果集的形式返回给命令的发起服务器。由发起服务器负责将多个服务器返回的结果集进行合并、排序等操作,最后返回给用户。
基于以上思想,分布检索子系统可以采用Java RMI技术来实现。Java RMI是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文档作为一个资源节点的资源描述文件,并使用Java RMI技术实现了分布式、多服务器的检索。为提高检索效率,降低网络流量,还引入了缓存策略。该系统符合教育资源网格系统的要求,有效的解决了不同地域、多种异构教育资源的共享问题。 2000论文网-论文发表|发表论文|论文发表网
参考文献:
[1]高宏卿,王晓东.基于网格技术的校园网应用研究.计算机应用研究,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]吴雄奇,曾文华.基于虚拟组织的网格文件资源共享模型[J].计算机技术与发展,2007,17(3):1-4.□
2000论文网-论文发表|发表论文|论文发表网