数字图书馆体系结构的比较研究,本文主要内容关键词为:体系结构论文,数字图书馆论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
目前数字图书馆建设已经取得实质性进展,一大批数字图书馆纷纷建立起来,能够初步提供多种多样的数字化信息服务。这些数字图书馆在体系结构上可以概括为基于三层客户/服务器模式的数字图书馆、分布式数字图书馆和基于代理协作的数字图书馆三种类型。它们在组件、特征、功能方面都各有特色。本文拟对这三类数字图书馆体系结构作初步的比较研究。
1 三类典型的数字图书馆体系结构
1.1 基于三层客户/服务器模式的数字图书馆结构(C/SBDL)
基于三层客户/服务器模式的数字图书馆(Three-Tier Client/Server Based Digital Library,C/SBDL)由数据库服务器、Web服务器和客户机三部分组成,分别对应于数据库层、中间层(业务逻辑层)和客户层(表示层)。在三层结构中,每一层支持应用程序的一个独立部分。Web服务器主要接收客户端的查询请求、进行数据处理和处理结果的发送,管理HTML构成的信息空间,提供对数据库的存取接口;数据库服务器主要负责管理数字化馆藏,包括全文数据、多媒体数据、标准的书目数据、二次文献数据、事实数据等,它通过接收Web 服务器的请求,对数据进行处理,然后把处理结果传送给Web服务器;客户机通过各种网络实现与Web服务器的连接,通过浏览器访问Web服务器提供的各种功能和丰富的数字化馆藏[1]。数据库服务器、Web服务器和客户机构成了信息传递的三角形,从而这种数字图书馆结构也被称为“三角形的结构模式”。
应用三层客户/服务器模式来构造数字图书馆的实例包括IBM 数字图书馆[2]、亚力山大数字图书馆(Alexandria Digital Library)[3]、Bari大学开发的社团数字图书馆(Corporate Digital Library)[4]和国内的清华大学图书馆、辽宁省图书馆等。这里仅以IBM数字图书馆来做说明。IBM数字图书馆结构由图书馆服务器、一个或多个媒体对象服务器和客户机组成。图书馆服务器是数字图书馆的管理核心部分。它运用IBMDB2或Oracle数据库,全面管理IBM 数字图书馆的目录信息,运用各类检索技术定位存储对象,提供安全查询,实现与对象服务器的通信;多媒体对象服务器是数字图书馆中存储多种媒体信息对象的地方。它的功能包括信息对象的物理存款管理、信息对象位置数据库管理、回答图书馆服务器的数据请求等。客户机可以同时与图书馆服务器与对象服务器相连,利用浏览器访问IBM数字图书馆, 可对多媒体对象进行收集、编制、存储和管理。
1.2 分布式数字图书馆体系结构(DDL)
分布式数字图书馆(Distributed Digital Library,DDL)可分为基于分布式数字对象的分布式数字图书馆和基于外部协调的分布式数字图书馆两种。
1.2.1 基于分布式数字对象的分布式数字图书馆结构
在Kahn和Wilensky研究基础上[5],张晓林博士提出了“基于分布式数字对象的分布式数字图书馆”,它由数字对象(Digital Object)、资源库(Repository)、元数据检索系统(Metadata Search Systems)、资源库访问协议(Repository Access Protocol)、唯一标识符服务器(Unique Identifier Server)和用户接口(User Interface)六部分组成[6]。数字对象是一种内容独立组件(content-independent package),包含作品内容、一个唯一标识符(Unique Identifier,UID)和与对象有关的其它数据[7];资源库是一种存贮数字对象以供访问或检索的网络存取存贮系统。通过利用资源库访问协议(Repository Access Protocol),资源库能追加新数据对象到馆藏并使之得到利用(即访问);元数据检索系统支持通过搜寻协议从各个资源库检索、标引和组织数字对象元数据及UID, 并把检索结果反馈给用户接口;资源库访问协议支持用户接口利用UID 对资源库存取数字对象,和利用一定方式处理数字对象内容;唯一标识符服务器提供UID的登记和存储,保障UID的唯一性和永久性,并支持将UID解析为URL;用户接口支持对元数据的检索和对数字对象的存取。
这种数字图书馆体系结构也可定义为数据资源描述、用户接口、调度系统、查询系统和对象库五部分[8],或定义为数字对象、 资源库、索引服务器、收集服务器、代理服务器、用户界面、Handle服务器七部分[9]。它们在NCSTRL(网络化计算机科学技术报告图书馆,Networked Computer Science Technical Report Library)[10]、NSDL(国家科学、数学、技术教育数字图书馆,National Science,Mathematics,Engineering,and Technology Education Digital Library)[11]项目中得到了具体应用。
1.2.2 基于外部协调的分布式数字图书馆结构
基于外部协调的分布式数字图书馆是以大量的分布式异构系统为基础,通过各类中间件体系来提供转换和协调机制,掩蔽各分布异构系统在数据模式、组织结构、甚至语言方式等方面的差别,实现系统与数据的互操作。英国的MIA[12]、斯坦福大学的InfoBus[13]和中国试验型数字图书馆[14]等都是属于这类。这里用前两例来做说明。
(1)MIAMIA(MODELS Information Architecture)是英国“走向分布式环境的图书馆服务计划”(MOving to Distributed Environment for library services,MODELS)中的信息结构。它由五个层面组成:
· 界面表示层(Presenter)。它负责向用户表述信息, 并接受来自用户的信息输入;它需要生成与用户交互的任何一种接口,如HTML、命令行接口、电子邮件接口等,也须为系统提供软件客户机,如Z39.50、WHOIS++和LDAP接口。
· 用户协调层(Coordinator)。它为用户通信提供建立在系统协调层(Mediator)初级服务之上的高级服务,并可追加增值服务(Value-added Services),如书签维护和用户文件的定制服务。 用户协调层主要负责包括用户文件和对话维护在内的应用逻辑,并组织当前状态请求。当接受来自界面表示层的输入(如一个检索请求)后,用户协调层就根据用户文件和当前状态操作这个请求。
· 系统协调层(Mediator)。它负责理解由提供层(Provider)提出的和由用户协调层请求的各种服务内容,如检索、定位、请求与传送,并决定哪种服务提供能满足请求要求。
· 通信层(Communicator)。它负责与外部服务的交流,并提供元数据词汇表的转换。在某些情况下,通信层可以直接支持与系统协调层的交流,基于网络服务文件(Network Service Profile )在系统协调层与提供层间提供一个网关。
· 提供层(Provider)。它包含系统可访问的外部服务,如图书目录、索引服务和主题网关等主要服务,以及模式注册、授权服务和用户文件目录等次要服务。
(2)InfoBus
InfoBus是一个基于CORBA(公共对象请求代理结构)和SDLIP [15](简单数字图书馆互操作协议,Simple Digital Library Interoperability Protocol)的分布式对象系统, 它由图书馆服务代理器(Library Service Proxy)、信息资源(Information Source)、信息处理服务(Information Processing Service)、图书馆服务(Library Service)和用户界面(User Interface)五部分组成。图书馆服务代理器拥有广泛分布的、不同接口和属于不同组织的异构资源库,能够对不同终端客户程序在技术可行性、适应性与异质性上实行屏蔽,能够对20多种信息资源(其中一部分具有成千上万种馆藏)提供统一存取机制。信息处理服务包括文件汇总、目录转换、资源发现、版权违约检测、联机支付、定题信息提供、结果设置分析和文档注释。图书馆服务主要提供支持功能,如查询变换、元数据工具和权限管理等。用户界面包括一个有生动图解的拖放桌面系统和一个为盲人使用的浏览器[16]。
1.3 基于代理协作的数字图书馆体系结构(ACBDL)
代理是具有知识和能力(包括信息收集能力、决策能力和行动能力等),为实现某种目标而持续运行的实体(包括硬件、软件),具有自主性、社会性、交互性、进化性、可通信性的基本特征[17]。代理协作是由多个代理组成,通过代理本身的求解活动和相互之间的交互活动,构成系统的群体活动,从而实现系统整体和每个代理的功能或目的。密执安大学数字图书馆(University of Michigan Digital Library,UMDL)是一种基于代理协作的数字图书馆(Agent Coordination-Based Digital Library,ACBDL)实质上它是一个由信息资源、用户接口和许多代理组成的分布式系统。在结构模式上,UMDL分为五层。底层为网络系统,提供操作系统和传输机制;第二层为代理件(Agentware),提供基于代理的软件开发范式;第三层为UMDL协议,提供知识查询与操作语言(Knowledge Query and Manipulation Language,KQML);第四层为各种UMDL代理;第五层为UMDL服务[18]。代理成为UMDL中的主要构件。目前UMDL所开发的代理主要包括如下四类。
1.3.1 用户接口代理(User Interface Agents,UIAs)、UIAs提供用户接口的通信封装,这种通信封装有两种功能:一是用适当方式为UMDL协议封装用户提问;二是为各种代理发布用户简表,以指导检索过程[19]。UIAs 包括一个指导用户寻找最佳需求信息的交互代理(Interviewing Agent)。
1.3.2 中介代理(Mediator Agents)
Mediator提供中介服务:将查询从UIA指引到某个馆藏, 监视查询的进展情况,传送查询结果,执行各种方式的转换和簿记(bookkeeping)等。目前UMDL应用较多的中介代理是:
· 注册代理(Registry Agent),负责维护UMDL现有代理记录及其能力,并响应查询检索一系列具有特殊能力的代理。
· 查询计划代理(Query Planning Agent),拥有处理主题查询,搜寻满足查询条件馆藏的能力,并把查询发送到相应馆藏。
· 任务计划代理(Task Planner Agent,TPA),通过调用UMDL程序提供完成任务的一般方法。TPA 以密执安大学过程推理系统(University of Michigan Procedural Reasoning System,UMPRS)为基础,由连接代理通信接口的UMPRS进程组成。
· UMDL促进器(Facilitators),是一种改善UMDL代理结构的代理。它的作用不在于提供UDML最终用户能够看得见的特定服务,而是提供一些基础程序以帮助特定任务代理(Task-specific Agent)广泛地为用户服务。
· 查询处理代理(Query-processing Agent),实施语言检索,提供信息集成。
1.3.3 馆藏接口代理(Collection Interface Agents,CIAs)
CIAs维护独立数据资源库与系统其它部分的链接,翻译查询请求,转换数据类型与模式,解放模式的不相容等。需要CIAs提示的馆藏类型包括网页图像、结构化文档、一般图像馆藏和其它视频与音频资料。
1.3.4 特定任务代理(Task-specific Agent)
特定任务代理体现了某一特定狭小领域的专长,如主题词表代理(Thesaurus Agent)了解某一特定领域的同义词,通知代理(Notification Agent)知道怎样监控UMDL事件与通知条件匹配起来。此外, 特定任务代理还包括元数据代理(Metadata Agent)、广系统订购代理(Broad System of Ordering Agent)等。
2 三类数字图书馆体系结构的比较研究
2.1 三类数字图书馆体系结构的特征比较
基于三层客户/服务器模式的数字图书馆能把数据与应用分开,使客户机、服务器各自承担一部分工作,双方协同工作共同完成某一应用,所以具有功能分割性;由于采用了功能分割,客户机与服务器存在不同的分工,因此,在进行信息传输时只要遵从预先约定的通信规程和交互协议,客户机或服务器就可随时挂接到网络上,所以扩展性高;由于客户机和服务器分别承担最能发挥其处理能力的任务,所以整个系统的资源能够得到最优化的利用;由于数据文档(包括数据文件、数据库及其索引文件)是集中式的、多用户的,所以数据完整性与安全性有保障[20]。
分布式数字图书馆的结构特征是允许创建任意数量的联邦型数字图书馆实例(Instance)——按特定协议构建的服务器集合,以响应服务请求并返回结果,具有无限可扩展性。这种结构模式能够对分布式数字资源的收集、存储、发布、检索等服务给予可靠的管理机制。
基于代理协作的数字图书馆结构的最大特点是模块性和灵活性。整个数字图书馆主要由各式各样的代理来构成,这样降低了数字图书馆系统的复杂性,使得系统具有可伸缩性和可扩充性;代理具有高度的自主性,通过相互之间的协作以完成复杂的任务;可以随时增添新的代理或撤出己有的代理,满足数字图书馆内容和功能不断变化的需求[21]。
2.2 三类数字图书馆体系结构的功能比较
基于三层客户/服务器模式的数字图书馆能够实现如下五种功能:①内容的创建和获取。能够利用计算机和相关设备将书刊、古籍、善本、图片、缩微制品、录音、录像、电影胶卷、唱片等各种文献进行数字化处理,并建立分类数据库。②存储与管理。可以大量存贮已经数字化的多媒体数据;对每种类型的数据对象,可以定义它们的索引、目录信息,以及相关的处理程序。③检索与查询。支持浏览、简单词检索、布尔检索、词组检索,个别(如IBM 数字图书馆)支持自然语言检索和基于内容的图像检索。④发布和传播。能够支持多类平台的通讯技术,比如TCP/IP、SNA、CORBA和OMG标准。⑤权限管理。通过利用标记、加密、检测、记账等关键技术实施权限管理、控制查询,并保护知识产权。目前绝大多数数字图书馆都能提供上述五种基本功能,只是在实现程度上稍有差别。
分布式数字图书馆同样拥有上述五种基本功能,但着重于分布式信息资源的存储、检索与管理。这体现为:①能按统一标准方式对数字资源进行描述和封装;②能通过内部或公共方式支持各种元数据的登记,支持第三方系统对元数据的发现、解析与链接;③支持对描述信息的长期管理和开放检索[22];④能提供多语言、跨语言检索;⑤能提供语义、语法和系统的互操作[23]。
基于代理协作的数字图书馆除上述五种基于功能外,还能提供以下特色服务:①运用KQML来实现代理间的信息交流;②实现了代理间的同步与异步通信;③代理件(Agnetware)提供了一种在封闭式和开放式环境下开发代理系统的弹性基础;④代理类(Agent class)具有为每个新建代理写入注册协议进行注册的功能;⑤提供多种通信协议,包括注册协议(Registration Protocol)、Conspectus 更新协议(Conspectus Update Protocol)、Conspectus检索协议(Conspectus Search Protocol)、查询协议(Lookup Protocol)、监控协议(Monitor Protocol)、连接协议(Connection Protocol)等;⑥运用数字图书馆实体(Ontology)定义数字图书馆所属内容、服务类型、知识产权和许可的一些方面,以及许多相关概念;⑦基于“”代理(Remora Agent)提供增值服务,即为各种图书馆资料提供事件驱动的通知服务;⑧支持基于咨询的教育(Inquiry-Based Education),利用查询计划代理——QuickScan 来帮助老师快速检索有用的教学资料与教学网址的更新,并把相关资料编入网上课程文件包中;利用数字图书馆服务、接口和各种代理帮助学生改进学习技能,如帮助学生构造查询式、共享网上检索成果和开展学习讨论[24]。
3 结论
目前,上述三类数字图书馆体系结构都得到了发展和应用。若以系统稳定性、开放性、复杂性、适用性和互操作性五个标准来衡量这三类数字图书馆,可以得到下表:
从上表可以看出,三类体系结构各有其优势与劣势。尽管基于三层客户/服务器模式的数字图书馆体系结构在国内应用十分广泛,但在开放式数字信息资源环境下很难满足用户的个性化需求和系统本身与外部资源(包括其它系统)的互操作。虽然基于代理协作的数字图书馆体系结构可以满足数字时代用户的各种需求,但系统本身的设计与实施存在许多技术难题,不易推广和应用。分布式数字图书馆体系结构应该成为今后我国数字图书馆建设要着重研究和广泛采用的模式。笔者认为可以按照如下基本要求来开发分布式数字图书馆[25-26]:
(1)基本系统要求
· 能实现对文本、图像、音频和视频等信息及知识的数字化采集、加工与处理。
· 能实现对所有数字资源的存储管理,包括元数据和数字对象的存储格式、存储协议,维护元数据和数字对象的完整性和一致性,以及支持大规模数字资源的快速存取等。
· 能实现异构数字资源库的整合,如采用XML封装技术;
· 应基于国际开放式标准,拥有与其它组件在分布式环境中交互的能力;
· 通过本地和远程资源、和多种格式(如印刷型/电子型)持续不断地为用户提供多种服务;
· 系统结构应该是可扩展的;
· 提供一个单一、友好、直观、方便的用户界面来访问各种资源与服务;
· 提供不同级别的用户身份验证,并能为非授权用户提供有限的访问;
· 能提供相关管理信息和统计。
(2)基本检索要求
· 能用高层服务协议实现分布式数据库的连接,能处理各种资源类型和多种记录格式(如CNMARC,USMARC,EAD等),统一显示检索结果,按用户需求排序;
· 为不同层次用户提供不同检索接口;
· 能响应不同服务器请求实现检索词自动配置;
· 能从检索结果中筛选感兴趣的记录;
· 能存贮与访问检索历史,包括修改先前检索;
· 能用最短的时间对用户的请求进行回答。
(3)其它要求
· 基于检索结果,能从不同信息源确认同一资源的复本数;
· 采用一种从不同信息源中请求对象的透明方式;
· 能为不同对象运用种种传输方法,包括馆际互借、电子全文传输等;
· 能处理用户账单。