分布式检索是指在分布式的环境中,利用分布式计算和移动代理等技术从大量的、异构的信息资源中检索出对于用户有用的信息的过程。这里的分布式环境指的是信息资源在物理上分布于不同的地点,在数据库结构上具有异构性,但是这些分散和异构的信息资源在逻辑上是一个整体,从而构成一个分布式检索系统。1
简述分布式检索是信息检索的一种类型,它是针对网络环境下信息分布式存储而产生的一种检索形式。常见的有跨库、跨服务器检索。在网络环境下,信息资源往往存储在地理上分散的多个不同场地,即结点中。这些结点具有资源建设的自主性和独立性,如果将其相互连接,形成一个彼此协调的系统,便成为分布式处理系统,其工作由系统的后台软件完成。
分布式处理是在一个高级操作系统协调下共同完成同一任务的处理方式。分布式处理系统必须有能力在短时间内动态地组合成面向服务对象的系统。高级操作系统是分布式处理的关键。在分布式系统中无需使用完整的信息,高级操作系统根据这些分散的状态信息进行任务协调和资源再分配,各组成部分之间自主存在、没有层次关系。
分布式信息检索是建立在分布式处理系统之上的用户检索服务。是由检索代理程序将用户的检索任务同时提交给网络上的多个主机,由位于这些主机上的检索程序分别独立检索并将检索结果返回到检索代理程序,经过整理后显示给用户。
分布式系统具有潜在的有效性、高性能、高可靠性和低成本等方面的优势,支持组织机构信息管理模式从集中式向客户机服务器方向发展,并能有效地实现组织内部及组织之间在内容和形式方面日益增长的信息交流要求。分布式系统的特征包括远程、并发、异步、异构、自治、进化、可移动、无全局状态和局部失败。这些特征是其功能优势的基础,同时也为实现技术提出了较高的要求。
一般分布式信息检索适用于以下情况:相同类型数据库较多且存储位置比较分散,隶属于不同的部门,相互之间是异构的。随着网上信息的不断增多和分散,分布式信息检索将会越来越受重视。2
原理一个简单的分布式检索系统由多个数据集服务器(collection servers)和一个或多个代理处理器(broker)两个部分组成。在有一个代理处理器的检索系统中,用户向broker提交检索提问式,broker用该检索提问式检索数据集服务器的子集而完成信息的查找。子集中的每个信息库服务器反馈给broker一个按相关度由大到小排列的信息列表。最后,broker对所有的结果列表进行整合形成新的信息列表反馈给用户。但是,由一个代理服务器进行的分布式检索系统存在一定的局限性:
(1)一个代理服务器难以管理大量的信息库服务器。
(2)系统的可扩展性差。
(3)软件的移植性、互操作性、重用性及安全性差。
由于上述局限性,大多数分布式检索系统都是由多个代理服务器组成的多级代理的分布式检索系统。在一个分布式的检索系统中有一个总代理系统和多个子代理系统,每个子代理系统还可以有它的子代理,最底层的代理系统有一个或多个搜索引擎来对最底层的数据库进行检索。1
技术由于不同的信息资源具有不同的数据库结构,因此.在分布式环境下,对于异构数据的检索和访问并不是想象中那么简单。解决分布式检索的技术很多,如用于分布式数据库设计与实现的分布式对象组件模型(DeOM)和公共对象请求代理构架(CORBA)、用于解决分布式环境下数据库之间异构问题的Z39.50协议、P2P网络结构技术等。代理技术同样也可实现分布式检索,分布式环境下代理技术的检索功能包括:
(1)从用户或代理服务器那里接受提问。
(2)把接收来的提问翻译成检索软件可识别的语言,即检索提问式。
(3)确定哪些信息资源包含与检索提问式最相关的信息。
(4)利用检索提问式对确定的资源进行检索。
(5)收集相应的检索结果。
(6)对检索结果进行整理。
(7)把整理好的结果提供给用户。
从代理技术的功能上看,在一个分布式检索系统中,希望提供多个代理,当前在分布式检索中常用的代理技术是移动代理技术,又称智能代理技术。移动代理(mobile agent)是一种网络计算技术,通常是指使用代理通信协议进行信息交换,以实现问题自动解决的一种软件程序。智能代理可以在用户没有明确具体要求的情况下,根据用户需要,代替用户进行各种复杂的工作,如信息查询、筛选、谈判、管理等,并能推测用户的意图,自主制订、调整和执行工作计划。移动代理动态分布于远端主机并可以在不同主机上进行移动,因此,移动代理可以完成代理的上述多项功能,成为分布式检索中常用的技术手段。1
特点利用分布式计算进行信息检索称为分布式检索。与并行检索比较,分布式检索的主要特点在于:
其一,分布式检索通常处理的是地理位置分散的异构数据,不同地理位置计算机系统间通信的开销比较大,因此,分布式检索中应该尽量避免不同地理位置计算机系统之间的通信操作。就通信本身而言,由于不同系统的异构性,分布式检索系统中通常采用TCP/IP协议来实现通信,而并行检索中处理器之间的通信可以通过共享内存来实现。
其二,分布式检索的数据规模相对较大,每个节点的处理能力又不尽相同,因此,分布式检索通常只选择某些数据子集进行检索,而不是像并行检索那样,需要返回每个数据子集的结果。
其三,分布式检索的对象的异构性使得统一描述和访问成为必须要考虑的问题。3
本词条内容贡献者为:
李岳阳 - 副教授 - 江南大学