论文部分内容阅读
摘要系统是建立在j2ee三层架构之上的网络资源检索系统,以XML格式的文本存储数据,在分布式的条件下,检索出用户需要的信息。系统分为四部分:启动、分布式检索以及结果汇总、预览、管理和配置。系统在实现过程中突破了多个技术难点:分布式结构——选举注册发布的建立和维护;中文分词;对检索结果的二次处理等。
中图分类号:TP393文献标识码:A
0 引言
目前,网络上存在大量的资源共享服务器,这些服务器一般存储了一定量的资源,并以web服务的方式供用户和其它服务器访问。现存的问题在于不同服务器的资源组织方式往往不同,有的是通过数据库,有的是通过一些描述文件(如XML),而且数据库的种类和结构也有很大的差别,这就导致不同服务器之间资源共享和资源发现都十分困难。同时,企业信息资源布局分散、类型异构,导致在企业内部各部门资源共享和全局应用存在很多困难,多主机的资源共享和集成也是企业信息资源系统的需要。
用户如果想访问这些资源,就要登陆每一个服务器去检索和下载需要的资源。由于服务器的分布广泛,数量众多,用户显然难以检索到自己需要的资源。而分布式的资源检索策略则可以有效的解决这一问题。该策略的思想是当用户登陆任何一台服务器的时候,这个服务器除了要检索自己本地的资源以外,还可以作为一个客户端,自动地去连接其它服务器,发出检索请求,并将检索的结果进行合并和汇总,返回给用户。这样,用户只需要登陆任意一台服务器,就可以检索到大量所需资源,尽管这些资源来自于不同的服务器,但检索的过程对用户来说是透明的,用户检索和获取这些资源就如同检索和获取所请求的服务器上的资源一样。
1 基于分布式结构的网络资源检索的设计与实现
1.1 系统分析
在多台资源共享服务器之间,实现资源共享,消除资源孤岛,其规模并不是主要因素。此时的共享与传统的共享已有很大不同,更具目的性。目的性体现在它已经不再是简单的资源互连和单一使用,而是通过互连、组合、协作解决用户需要解决的问题,产生具有附加值的新服务、数据、信息等资源,满足用户的新需求。
资源共享和整合的服务器存在的环境具有异构、分布、动态、演化的特点,这主要体现在虚拟组织、资源的异构、分布、动态、演化特性以及共享模式、协同方式的变化上。因此,如何实现如上述实现用户透明访问的分布式框架,需要解决很多的问题。
(1)异构:不同服务器资源组织方式和检索方式的异构性。资源的描述和存储方式各有不同,有的通过各种数据库,有的则通过一些资源描述文件来组织其本地资源。(2)分布:大量资源往往分布存储在大量不同的服务器上,服务器处于不同的网络之中,其网络结构和拓扑千差万别。(3)动态:网络结构的动态变化。服务器的在线和离线,资源动态的加入和退出是分布式检索需要解决的重要问题。(4)演化:资源服务器有时带有一定的层次性,可以组成各种网络结构。
正因为资源共享服务器之间有这样的关系,分布式信息检索是解决这种服务器之间共享问题的有效方案。图1显示了分布式信息检索系统的结构。
图1分布式信息检索系统的结构
1.2 系统设计
1.2.1 系统架构
采用MVC的三层架构(如图2所示):
(1)从开发角度和应用角度来看,三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度上降低了开发的难度。(2)三层架构可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。(3)三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
1.2.2 基于XML的元数据搜索引擎
在每一个资源节点上,节点的管理程序会随着其所属的本地资源的变动维护一个XML文档,它的作用实质上是充当一个资源发言人的角色。
通过这样一个XML文档,可以得到这个资源节点所管理的所有资源的信息,包括资源的描述信息和资源的地址信息。因此,对资源的检索过程也就转化为对这个XML文档内容的检索过程。
对分布式检索思想进行抽象,本文对定义网络资源检索的分布式框架:定义一个基本字符检索元BCR为一个包含检索空间集RS,检索条件字符串RC和检索结果集RR的一个三元组,即BCR=。RS可以看作是资源网格中该检索域所包含的全部资源。RC是用户提交的检索字符串。RR是一次检索的返回结果集合。提出分布式的检索模型,即要将RS分发在多个资源节点上RS,RS1,RS2,…,RSi,…,利用一定的分解策略,从而实现基本字符检索元的多节点分布检索,最后将结果集RR1, RR2,…, RRi,…利用合并算法进行合并。
1.2.3 系统主要模块
整个系统模块包括系统启动模块、用户查询模块、显示模块、管理模块等四大模块:(1)系统启动模块包括注册注销模块、XML预处理、选举模块、Web Service服务、Socket服务。(2)用户查询模块包括过滤模块、解析模块、查询模块三大模块。其中过滤模块包括敏感词汇模块、拼音转汉字模块、错误检查模块。解析模块包括表达式解析模块。查询模块包括序列化模块、反序列化模块、中文分词模块、排序保存模块、高级搜索模块、分类搜索模块、表达式搜索模块、在结果中搜索模块、相关搜索模块、精确检索模块、全文检索模块、高亮显示模块。(3)显示模块包括文本预览模块和视频播模块两大模块。其中文本预览模块包括AJAX预览、网页预览模块。视频播模块包括普通网页播放、流式播放、截图预览等。(4)管理模塊包括登录注销模块、用户管理模块、资源管理模块、定期事件模块、词库模块、资源权重模块、资源缓存模块、服务器初始化模块、主服务器配置模块、服务器配置模块、服务器管理模块。
2 结论
分布式的网络资源检索系统已成为一个新的研究、开发领域。因为它要用到信息检索、人工智能、计算机网络、分布式处理、数据库、数据挖掘、数字图书馆、自然语言处理等多领域的理论和技术,所以具有综合性和挑战性。又由于网络资源检索有大量的用户,有很好的经济价值,所以引起了世界各国计算机科学界和信息产业界的高度关注,目前网络资源检索领域的商业开发非常活跃,各大公司都在投巨资研制,同时也不断地涌现出新的具有鲜明特色的网络资源检索产品,网络资源检索系统已经成为信息领域的产业之一。
参考文献
[1]贾素玲,王强,姚琪琳,舒毕磊,柴庆慧.XML技术应用[M].北京:清华大学出版社,2007.7:36-151.
[2]李英装,王守彦,张建华.基于非结构化P2P网络资源检索的自组织研究[J].大连理工大学学报,2005.10.
[3]李刚,宋伟,邱哲.Ajax+Lucene[M].北京:人民邮电出版社,2006.4:185-235.
[4]Otis Gospodnetic, Erik Hatcher.Lucene IN ATION[M].北京:电子工业出版社,2007.1:352-474.
中图分类号:TP393文献标识码:A
0 引言
目前,网络上存在大量的资源共享服务器,这些服务器一般存储了一定量的资源,并以web服务的方式供用户和其它服务器访问。现存的问题在于不同服务器的资源组织方式往往不同,有的是通过数据库,有的是通过一些描述文件(如XML),而且数据库的种类和结构也有很大的差别,这就导致不同服务器之间资源共享和资源发现都十分困难。同时,企业信息资源布局分散、类型异构,导致在企业内部各部门资源共享和全局应用存在很多困难,多主机的资源共享和集成也是企业信息资源系统的需要。
用户如果想访问这些资源,就要登陆每一个服务器去检索和下载需要的资源。由于服务器的分布广泛,数量众多,用户显然难以检索到自己需要的资源。而分布式的资源检索策略则可以有效的解决这一问题。该策略的思想是当用户登陆任何一台服务器的时候,这个服务器除了要检索自己本地的资源以外,还可以作为一个客户端,自动地去连接其它服务器,发出检索请求,并将检索的结果进行合并和汇总,返回给用户。这样,用户只需要登陆任意一台服务器,就可以检索到大量所需资源,尽管这些资源来自于不同的服务器,但检索的过程对用户来说是透明的,用户检索和获取这些资源就如同检索和获取所请求的服务器上的资源一样。
1 基于分布式结构的网络资源检索的设计与实现
1.1 系统分析
在多台资源共享服务器之间,实现资源共享,消除资源孤岛,其规模并不是主要因素。此时的共享与传统的共享已有很大不同,更具目的性。目的性体现在它已经不再是简单的资源互连和单一使用,而是通过互连、组合、协作解决用户需要解决的问题,产生具有附加值的新服务、数据、信息等资源,满足用户的新需求。
资源共享和整合的服务器存在的环境具有异构、分布、动态、演化的特点,这主要体现在虚拟组织、资源的异构、分布、动态、演化特性以及共享模式、协同方式的变化上。因此,如何实现如上述实现用户透明访问的分布式框架,需要解决很多的问题。
(1)异构:不同服务器资源组织方式和检索方式的异构性。资源的描述和存储方式各有不同,有的通过各种数据库,有的则通过一些资源描述文件来组织其本地资源。(2)分布:大量资源往往分布存储在大量不同的服务器上,服务器处于不同的网络之中,其网络结构和拓扑千差万别。(3)动态:网络结构的动态变化。服务器的在线和离线,资源动态的加入和退出是分布式检索需要解决的重要问题。(4)演化:资源服务器有时带有一定的层次性,可以组成各种网络结构。
正因为资源共享服务器之间有这样的关系,分布式信息检索是解决这种服务器之间共享问题的有效方案。图1显示了分布式信息检索系统的结构。
图1分布式信息检索系统的结构
1.2 系统设计
1.2.1 系统架构
采用MVC的三层架构(如图2所示):
(1)从开发角度和应用角度来看,三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度上降低了开发的难度。(2)三层架构可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。(3)三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
1.2.2 基于XML的元数据搜索引擎
在每一个资源节点上,节点的管理程序会随着其所属的本地资源的变动维护一个XML文档,它的作用实质上是充当一个资源发言人的角色。
通过这样一个XML文档,可以得到这个资源节点所管理的所有资源的信息,包括资源的描述信息和资源的地址信息。因此,对资源的检索过程也就转化为对这个XML文档内容的检索过程。
对分布式检索思想进行抽象,本文对定义网络资源检索的分布式框架:定义一个基本字符检索元BCR为一个包含检索空间集RS,检索条件字符串RC和检索结果集RR的一个三元组,即BCR=
1.2.3 系统主要模块
整个系统模块包括系统启动模块、用户查询模块、显示模块、管理模块等四大模块:(1)系统启动模块包括注册注销模块、XML预处理、选举模块、Web Service服务、Socket服务。(2)用户查询模块包括过滤模块、解析模块、查询模块三大模块。其中过滤模块包括敏感词汇模块、拼音转汉字模块、错误检查模块。解析模块包括表达式解析模块。查询模块包括序列化模块、反序列化模块、中文分词模块、排序保存模块、高级搜索模块、分类搜索模块、表达式搜索模块、在结果中搜索模块、相关搜索模块、精确检索模块、全文检索模块、高亮显示模块。(3)显示模块包括文本预览模块和视频播模块两大模块。其中文本预览模块包括AJAX预览、网页预览模块。视频播模块包括普通网页播放、流式播放、截图预览等。(4)管理模塊包括登录注销模块、用户管理模块、资源管理模块、定期事件模块、词库模块、资源权重模块、资源缓存模块、服务器初始化模块、主服务器配置模块、服务器配置模块、服务器管理模块。
2 结论
分布式的网络资源检索系统已成为一个新的研究、开发领域。因为它要用到信息检索、人工智能、计算机网络、分布式处理、数据库、数据挖掘、数字图书馆、自然语言处理等多领域的理论和技术,所以具有综合性和挑战性。又由于网络资源检索有大量的用户,有很好的经济价值,所以引起了世界各国计算机科学界和信息产业界的高度关注,目前网络资源检索领域的商业开发非常活跃,各大公司都在投巨资研制,同时也不断地涌现出新的具有鲜明特色的网络资源检索产品,网络资源检索系统已经成为信息领域的产业之一。
参考文献
[1]贾素玲,王强,姚琪琳,舒毕磊,柴庆慧.XML技术应用[M].北京:清华大学出版社,2007.7:36-151.
[2]李英装,王守彦,张建华.基于非结构化P2P网络资源检索的自组织研究[J].大连理工大学学报,2005.10.
[3]李刚,宋伟,邱哲.Ajax+Lucene[M].北京:人民邮电出版社,2006.4:185-235.
[4]Otis Gospodnetic, Erik Hatcher.Lucene IN ATION[M].北京:电子工业出版社,2007.1:352-474.