蒋 韵 傅 俏 袁 润
〔摘 要〕本文从介绍机构知识库的背景和高校图书馆构建机构知识库的意义入手,分析了为何选用开放源代码数字资源管理系统DSpace为研究对象,并简要描述了其功能特点,重点阐述了应用DSpace系统的实例。
〔关键词〕机构知识库;DSpace;数据模型
〔中图分类号〕G250.74 〔文献标识码〕B 〔文章编号〕1008-0821(2009)05-0175-03
An Application Research of a DSpace-based Institutional Repository SystemJiang Yun1 Fu Qiao2 Yuan Run1,2
(1.Institute of Scientific & Technical Information,Jiangsu University,Zhenjiang 212013,China;
2.Library,Jiangsu University,Zhenjiang 212013,China)
〔Abstract〕This paper started with the introduction of institutional repository background and the significance of university library constructing the institutional repository,it analyzed why the open source digital resources management system:DSpace was selected as the research object,and briefly described the function characteristic of DSpace,then focused on the application of the DSpace system examples.
〔Keywords〕institutional repository;DSpace;data model
1 背 景
1.1 机构知识库的背景
机构知识库(Institutional Repository,IR)是利用网络及相关技术,依附于特定机构而建立的数字化学术数据库,它收集、整理并长期保存该机构及其社区成员所产生的学术成果,并将这些资源进行规范、分类、标引后,按照开放标准与相应的互操作协议,允许机构及其社区内外的成员通过互联网来免费地获取使用[1]。
机构知识库中的机构这里主要是指大学等学术机构,该机构收集、保存本单位科研人员的研究成果,并提供广泛检索才称为机构知识库。机构知识库应用的软件主要有英国南开普敦大学开发的Eprints、美国麻省理工大学图书馆与惠普公司联合开发的DSpace、欧洲核研究理事会开发的CDSware、康奈尔大学等开发的Fedora等。
1.2 高校图书馆构建机构知识库的意义
众所周知,科研成果大多数是由高校和科研机构产生的。随着计算机、网络数字技术的发展,高校教师与科研人员普遍使用计算机处理各种信息,从而产生了大量的原生数字信息资源。一个机构(大学)将本身的研究产出,如期刊及会议论文、研究报告、投影片、教材等,以数字的方法保存并建立网络平台,提供查询与使用,并且收录资料以全文为主,并建立全文检索机制。机构典藏并不是取代期刊发表,而是增加一个研究成果被利用的渠道,即曝光率及影响力。这是因为随着网络发展越来越成熟,在网络上能提供全文的文章所造成的影响力(即被引用次数)会愈来愈显著。另外,印刷型文献和电子学术期刊费用的大幅度涨价,也使的高校图书馆的文献经费负担日益沉重。在这些诸多因素的影响下,许多高校图书馆开始认为建立数字化的机构知识库对于缓解当前的矛盾不失为一个可行的方案。
作为学术资源的集散地和传播者的高校图书馆,承担着信息资源的管理、传播、开发和服务的重任。这需要我们更多地关注如何充分开发利用掌握在广大教学和科研人员手中的原生数字信息资源,将分散存储在个人、院系或者研究所计算机上的学术信息集中保存起来,进行有效的组织和管理,并开放给其他学者参考使用,机构间也可通过合作的方式,交流彼此的典藏作品。因此机构知识库,作为一种新的资源组织形式和学术传播方式出现了,并将推动图书馆管理方式的进一步改进和完善。实际上,机构知识库的大规模发展以及引起学术界的普遍关注也都离不开图书馆尤其是高校图书馆的引导、参与及支持。因此,高校图书馆有责任积极参与机构知识库的建设,促进信息资源的共享。
2 数字资源管理系统DSpace
2.1 DSpace的优点
上面提及的4个系统中,我们之所以选取DSpace作为构建基于开放存取的机构知识库系统,是由于其具有如下优点[2]:
2.1.1 开放源代码(open source)
DSpace是基于伯克利源代码发布许可协议(BSD)的一个开放源代码的软件平台。作为开放源代码,任何人、任何组织均可以下载该程序,并且还可以修改它。而且其所使用的第三方软件也都是开放源代码系统,如PostgreSQL:开放源码的关系数据库系统;Jakarta Tomcat,Java服务器组件等。
2.1.2 功能集成度高
DSpace集数字资源采集、数字对象存储与管理、搜索技术、信息传递技术和权限认证等功能于一体,高度集成了数字图书馆的五个技术环节。呈现在用户面前的是一个高度集成的、拥有诸多功能的系统。
2.1.3 移植性强
DSpace采用〣/S(Browser/Server)结构设计,基于JAVA环境开发和使用,并且统一使用UTF-8编码,这使其具有较强的移植性。
2.1.4 提供全球惟一标识符
DSpace使用Handle System提供全球惟一的、稳定的标识。
2.2 DSpace及其系统功能研究
DSpace是MIT与HP公司合作开发的数字资产管理系统,它实现了知识资源的收集(collect)——保存(preserve)——发布(distribute)的一般过程。2002年10月,这个平台开始在MIT正式服务,2002年底,向全世界公开了基于BSD开放源代码许可协议的DSpace源码,基于它的开放源代码特点,用户可以根据自己的需要对该系统进行定制和扩展。从2002年12月发布1.0版开始,DSpace的版本随着功能的增加不断更新。
2.2.1 系统三层体系结构分析
DSpace的系统由存储层、业务逻辑层和应用层组成,每层都有一系列的组件构成[3](如图1所示)。
(1)系统的底层是存储层,它的功能主要是对内容对象(也就是位流数据)和相关的元数据进行存储。DSpace使用本地文件系统和SRB(Storage Resource Broker)实现了任意内容对象的存储,而元数据的存储则通过关系数据库型PostgreSQL(或其他关系数据库,如Oracle)来实现,其间系统需要调用JDBC来完成存储。(2)系统的中间层是业务逻辑层,它负责完成相应的功能模块。通过一系列的类文件对DSpace中的各类对象进行抽象,然后用来实现内容检索、浏览、认证管理、内容管理、句柄管理、工作流管理、用户管理和历史信息管理等功能。(3)系统的最高层是应用层,该层提供了基于Web的用户界面来应用和管理DSpace系统,使其使用起来会极为方便。应用层是DSpace与外界的交流层,除了已有的Web用户服务、还提供了一系列的接口。该层的各个组件的功能可通过Java编写DSpace的Servlet和JSP来调用实现的。
2.2.2 分层对象的数据模型分析
DSpace系统的数据组织模型与高校的学院、系别、教研室/实验室等的组织结构大致相对应。DSpace是使用分层结构的对象来表示数据空间,这些对象自顶向下分别为:社区(community)、合集(collection)、条目(item),数字包(bundle)和比特流(bitstream)。其中条目为存储库中的基本存档单元,即指提交到DSpace系统的数据单元。上述这些数据模型的结构关系是:若干的比特流组成一个数据包,若干的数据包组成一条条目,若干的条目组成一个合集,若干的合集再组成一个社区。DSpace的这种数据结构将内容对象与媒体类型分离,很好地解决了基于不同格式的信息存储问题。
3 应用DSpace系统的实例
3.1 硬件及软件的前期准备
本馆以DSpace系统为基础,开发针对高校科研成果的信息管理系统。首先选用性能指标优良的服务器作为DSapce的硬件平台,我们采用的是惠普ProLiant DL380 G5服务器,机器配置为Intel Xeon CPU E5335 2.0GHz*4,2GB的内存,400G硬盘。然后参照官方网站的文件以及国内外先行者的经验,我们选用类Unix操作系统(RedHat linux7.0)来搭建DSpace系统。使用类Unix操作系统是由于其服务稳定、编写的代码移植性强、对开源软件提供良好的支持和文件系统符合DSpace需要等原因。由于DSpace源代码是由HTML和部分嵌入的Java代码组成的,还必须下载Java开发包JDK1.5和Apache ANT 1.7.0以保证DSpace的编译和运行环境。Web服务器则采用Tomcat 6.0。后台的数据库使用的是PostgreSQL 8.2(其更高版本会有兼容问题)。PostgreSQL是开源数据库软件,是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统,有些特性甚至连商业数据库都不具备,支持事务、子查询、多版本并行控制系统、数据完整性检查等特性。最后,从官方网站http:∥www.DSpace.org/下载DSpace源代码。
3.2 安装服务器,搭建技术平台
在安装DSpace前,先以完全安装的方式安装好linux操作系统,当使用DSpace1.3.2版本之前的,需要构架DNS服务器和Sendmail邮件服务,此配置过程相对比较复杂。所以本文建议使用DSpace1.4以后的版本,此版本不需要自己再搭建邮件服务器,只需在dspace.cfg作些配置就好了。服务器平台架设好后进行PostgreSQL数据库安装与配置工作。再安装JDK、ANT、Tomcat,并在环境变量中进行配置,直到每个软件都能正常运行。
3.3 DSpace的安装
将下载的DSpace安装源代码解压缩,并将相对应版本的PostgreSQL JDBC驱动程序拷贝到DSpace安装文件中,创建DSpace数据库用户与DSpace数据库,根据Tomcat和PostgreSQL的设置来配置DSpace.cfg文件后,就可以利用ANT编译安装DSpace了。最后再创建DSpace管理员账户。这里需要注意的是,DSpace需要和Tomcat用同一个用户来运行。
3.4 基于Unicode/UTF-8的统一编码环境的设定
DSpace基于Java技术设计和开发,其国际化主要通过Java技术在支持国际化软件设计和开发方面的特性和优势,采用基于Unicode标准和可本地化独立资源文件的技术和方法来实现。
①在典型的基于Java的Web应用环境中,用户与Web应用之间的交互可能涉及“浏览器——web服务器——web应用——JDBC——数据库”中的各个环节和过程,由于各个环节可能采用不同的字符编码模式,因此,使得流经这些环节的数据或信息流经常不可避免地要在不同编码格式之间进行主动或被动地转换,其中任一环节编码模式的失当,都可能导致数据或信息转换的错失。当前,能够比较彻底地解决这一问题的主要方法是统一各环节的编码格式,建立基于Unicode标准的统一编码环境[4]。DSpace即采用了这一方法来实现对多语言环境的支持和本地化的便利实现。
以DSpace使用Tomcat 6.0同时作为Web服务器和应用服务器为例,要保证以Unicode/UTF-8方式对HTTP请求数据进行编解码,只需在其配置文件server.xml中增加如下有关URIEncoding的设置:
<!--Define a non-SSL HTTP/1.1 Connector on port 8080-->
<Connector port=″8080″
protocol=″HTTP/1.1″connection Timeout=″20000″redirect Port=″8443″
URIEncoding=″UTF-8″/>
②对于任何DSpace中的JSP文件,都在其第一行使用JSP Page指示符明确指定字符编码格式为“UTF-8”,如:
<%@ page contentType=″text/html;charset=UTF-8″%>
③在安装数据库环节,若使用PostgreSQL 8.x以下的版本,需要在配置和编译时使用命令./configure--enable-multibyte--enable-unicode--with-java;若使用8.0以上版本,命令后门的这些选项已成为默认的编译选项,因此不需要在编译阶段再配置。在创建供DSpace使用的数据库时也要使用编码选项并声明为“UNICODE”,如“createdb-U dspace-E UNICODE dspace”,这样就使数据库内部以UTF-8方式对数据进行编码和存储。
至此,一套支持DSpace运行的基于Unicode/UTF-8的完整的编码环境就基本构建成了,这将为DSpace后续的扩展性的应用奠定了良好的基础。
4 结束语
以上是我们应用DSpace系统的实例的一些安装经验,当然其中还有一些不足之处。到目前为止,我们已经初步完成了DSpace系统的安装,并导入一些数据以供测试系统的性能。由于高校科研成果种类非常繁多,每种类型的数据除了有公有字段,还包含特有的字段。因此,DSpace系统默认的提交页面元数据无法满足要求,所以下一步工作就是要根据不同类型的文献定制录入界面的元数据。
参考文献
[1]柯平,王颖结.机构知识库的发展研究[J].图书馆论坛,2006,26(6):243-248.
[2]蔡华利.数字资产管理系统——DSpace研究[J].情报科学,2006,24(9):1405-1408.
[3]DSpace官方网站[EB].http:∥www.dspace.org/index.php?option=comzcontent&task=view&id=145,2008-10-15.
[4]林颖,张智雄.构建基于DSpace的中文机构仓储系统[J].图书情报工作,2007,(2):87-91.