查询路由
查询路由器定期地与藏品服务通信,藏品服务数据包括索引信息(每个机构的藏品)在索引服务器之间的分布情况,如斯坦福大学藏品的索引可能在I1和I2两个索引服务器上有备份,康奈尔大学藏品的索引可能在I2和I3两个索引服务器上有备份。通过这些信息,查询路由器将决定查询式被提交给哪些索引服务器来处理。
附图
图4 查询路由
连通域
由于全球范围内的Internet的连通性差别相差
巨大,为了提高数字图书馆的分布式搜索的相应时间,NCSTRL引入了连通域的概念,连通域是指网络上具有高度连通性的一组节点。连通域的概念是藏品服务的一部分,藏品服务分布在一组区域元服务器RMS(Regional Meta Servers)中——每个连通域一个RMS。每个RMS从主元服务器MMS(Master Meta Server)获取特定域的信息,见图5。
附图
图5 连通域
连通域之外的索引信息在连通域内的索引服务器上有备份,这样用户的查询将在连通域内部完成,只有当其中的索引服务器查询失败时,查询式就被提交给主元服务器,主元服务器再把该查询式分配给到其它的连通域。
索引服务器的动态调整
由于考虑到单个搜索的失败,故NCSTRL元数据在多个索引服务器中存在备份。藏品服务中的数据列出了索引服务器接受查询式的优先顺序,有的索引服务器被设定为主索引服务器,有的被设定为次级服务器。主索引服务器首先接受查询式,如果在一定的时间内没有完成查询任务,查询式就会转交给次级索引服务器。
需要说明的是,主索引服务器和次级索引服务器的顺序并不是固定不变的,而是动态调整的,其中的参数可由管理员来设定。这个动态调整的过程是通过一个简单算法来实现的。在索引服务器成功完成一次查询之前,查询路由器给每个索引服务器增加一个失败记数,如果查询成功,失败记数就减一。当查询路由器通过藏品服务提供的信息来选择索引服务器时,它进行一个稳定性测试:该索引服务器最近是否有N次连续响应失败(N是可以设定的)?如果一个索引服务器没有通过这种稳定性测试,它就会被降级,也就是说,如果是一个主索引服务器就降级为次级目录服务器,而另一个次级目录服务器就有可能升级为主目录服务器。
4 对数字图书馆体系结构发展的看法
由于用户对数字图书馆的功能需求不断发展,信息技术的迅速进步,数字图书馆的概念和功能都在不断发展。通过对上述两个项目的体系结构的分析,加上笔者的探索和实践,我们认为数字图书馆的体系结构的设计必须事先考虑到开放性、互操作性、扩展性以及伸缩性。
4.1 开放性
数字图书馆系统必须是一个开放的系统,开放的含义包括一下几个方面:
(1)能够与第三方系统或功能模块实现良好的对接和集成;
(2)能够方便地在本系统内部增加删除或修改某些功能模块;
(3)尽可能广地支持各种资源格式和标准;
因此在系统设计时需要遵循一下原则:
(1)基本体系结构简单化,在设计基本体系结构时主要考虑信息的流通和管理机制,强调系统的通用性和稳固性;
(2)功能模块化,数字图书馆的服务功能是不断发展的,因此数字图书馆的每一项服务应该是相对独立的,便于安装、撤销和维护;
(3)选取成热的通用的标准和协议。如用户界面采用通行的Web浏览器,文档表现采用XML定义,元数据采用Dublin Core、中文元数据标准等。
4.2 互操作性
通过信息资源本身实现互操作是最应该受到鼓励的方法,因为数字图书馆建设的基础是资源,用户最终利用的也是资源,而且与信息系统比较起来,资源从类型上(如图书、期刊、科学数据、地图、档案)要容易预见,发展变化也相对缓慢,从资源的格式上讲(如标准的文件格式.txt、.html、.mpeg等),大家对通用标准的认同更加一致。因此,通过一定的标准规范让不同的藏品遵循相应的元数据标准,并通过元数据的共享或互换,可以实现资源间的共享,就如上面所介绍的NCSTRL项目,也已采用OAI元数据采集协议来实现来自不同单位的藏品的互操作。可喜的是,现在许多数字图书馆项目一般都主动遵循一定的元数据标准去创建元数据。并出现了一些工具和方案能够实现不同元数据标准的元数据元素的映射。当然,信息系统之间的互操作随着中间件和代理技术的发展也取得了很大的进步,同时近年来,Web服务技术为网络软件的共享和互操作方面提供了新的机制,将来随着这些技术的进一步发展,实现信息系统间的互操作将越来越简单。