摘要:本文从DSpace系统的数据处理、用户与数字对象管理、浏览与检索、统计功能、订阅服务、系统结构、开放源代码七个方面介绍了DSpace系统。
关键词:DSpace;Institutional Repository;机构存储
Introduction of Institutional Repository DSpace System
Abstract: Introducing to DSpace system from several aspects which are data processing, management of user and digital objects, browse and search, statistics, subscriptions, system structure, and open source
Keywords: DSpace;Institutional Repository
1前言
随着科学研究的进步和深入,在大学里的各个院系、科研机构、实验室等,产生了大量的复杂的、数字化的、不同格式的科研资料和学术出版物,为此各个院系部门、科研机构、实验室不得不花费相当多的时间和精力去收集、整理、保管这些资料,一方面对这些资料的再利用带来不便,另外一方面各个机构之间共享一些资料也非常麻烦。麻省理工学院(Massachusetts Institute of Technology,MIT)图书馆主管Ann J.Wolpert女士看到这种现象后,认为图书馆有必要为本校的这些部门机构提供一种数字机构存储(digital institutional repository)的服务[1]。在她的努力倡导下并在本学院的一位计算机专家的帮助下,于 2000 年3月,麻省理工学院图书馆与惠普实验室(Hewlett-Packard Labs)达成共识,决定共同开发该数字机构存储,并命名为DSpace[2]。随后双方经过两年半的努力,于 2002 年 11 月 4 日 ,根据BSD开放源代码许可协议,麻省理工学院图书馆与惠普公司实验室向全球发布了第一个版本的DSpace开放源代码系统。自发布之日至笔者成文之时,DSpace系统经历了1.0、1.1、 1.1.1 、1.2、1.2.1、1.2.2、1.3、1.3.1、1.3.2、1.4alpha10个版本,在DSpace官方网站上有登记的并在使用DSpace系统的教育科研机构已经有145家[3]。在短时间内,DSpace系统得到了广泛的应用和普及,其强大的功能和使用的简单性得到了普遍认可。本文主要从DSpace系统的功能特点方面对DSpace系统作一个简单介绍,为正在使用或将要使用DSpace系统的高校或机构提供参考。
2 DSpace系统的数据处理
2.1 数据组织模型
DSpace系统的数据组织或者说数据存储的形式有别于一般的文献管理系统,其数据组织模型与高校的学院、系别、教研室/实验室等的组织结构大致相对应。其数据模型(data model)分别称为社区(community)、合集(collection)、条目(item),其中条目为存储库中的基本存档单元,即指提交到DSpace系统的数据单元。其中条目之下还可分为数字包(bundle)和比特流(bitstream)。这些数据模型的结构关系是:若干的比特流组成一个数据包,若干的数据包组成一条条目,若干条目组成一个合集,若干合集再组成一个社区(如图1所示)。
举例来说,经济学院的 王 老师写了一篇由文字、表格和图片相结合的论文,其中社区是指 王 老师所在的经济学院,合集是该学院的 王 老师,条目是 王 老师所写的论文,数字包是指组成论文的文字、表格和图片,比特流是指文字的字体、大小、颜色等等。
与实际情况相对应,每一个条目可以属于一个或多个合集,即一条条目可以映射到多个合集之下,如某个合集下的条目,可以通过映射的方法,同时成为其他合集下的条目;另外,社区之间可以嵌套,即在社区之下再建一个子社区,子社区下可以再建孙社区。
2.2 数据描述
由于DC(Dublin Core)元数据具备通用、简单的优势,被DSpace系统所采用。DSpace系统中DC元数据包括了三类的元数据,即结构型元数据(Structural Metadata)、管理型元数据(Administrative Metadata)和描述型元数据(Descriptive Metadata)。结构型元数据包含了如何给最终用户显示条目或条目中的比特流的信息,例如有一个条目,即一篇含有许多图片的论文,(其中一张图片就是一页,每张图片就是条目中一个比特流),那么该条目的结构型元数据就包含了一张图片是一页,并按一定顺序显示每一页的结构信息。管理型元数据包含了保存元数据、来源/出处元数据和授权策略数据。该类元数据大部分都保存在 DSpace的关联数据库管理系统中,其中来源元数据储存在DC元数据核心集记录中。另外DC元数据核心集记录中还复制了一些其它的管理性元数据(如比特流字节大小和 MIME类型)。
描述型元数据主要用来描述社区、合集及条目记录信息。DSpace系统的元数据默认配置是麻省理工学院图书馆的配置,即一组基于图书馆应用协议(Library Application Profile)的DC元素和限定词[4]。各图书馆或科研机构可以在DSpace的管理窗口的“Dublin Core注册”中根据实际需要适当修改相应的元素或限定词。
2.3 Handle
在DSpace系统中描述型元数据元素标识符(Identifier)的限定词URI的值是由CNRI(Corporation for National Research Initiatives)[5]提供的 Handle 系统专门负责赋值。
常常由于某种原因,用户在点击一个网页的链接(如收藏在收藏夹中的链接)时,发现原有内容已经更换,或者原有内容还存在但已经更换了链接地址,或者已经不能链接成为了死链。这些现象都给用户的使用造成了不便,从而对该链接及所在站点产生怀疑和不信任感,久而久之,对这些链接或站点失去了兴趣。DSpace开发人员为避免这种情况,运用CNRI 提供的Handle 系统为每一条条目、合集、社区产生一个全球唯一的永久统一标识符Handle。这就意味着无论条目、合集、社区的内容或物理位置怎么改变,用户只要使用该Handle,同时Handle服务器运行正常,即可找到相应的条目、合集或社区,这样就避免了上述现象的发生。
DSpace系统要使用Handles,首先要在本地安装由CNRI提供的Handle服务,并向CNRI申请Handle前缀,该前缀全球唯一。正因为如此才保证了用户可以在全球任何地方访问相应的条目、合集、社区。Handle的格式有如下两种:
hdl:2288/41
http://hdl.handle.net/2288/41
其中,2288是厦门大学向CNRI申请的Handle前缀,41是系统为其中一条条目分配的顺序号。上述两种方式都可全球唯一地标识该条目。用户只要在网页浏览器中输入第二方式即可访问到该条目,而第一种方式需要安装CNRI提供的插件才可以访问相应的条目。
2.4 数据摄入与导出
DSpace系统主要用于长期保存管理教育科研机构的各种数字化资源,包括论文、图书、图书章节、数据集、学习资源、图像、3D图像、地图、乐谱、设计图、预印本、录音记录、音乐录音、软件、技术报告、论著、视频、工作文档等等,几乎包括了所有格式的数字化的文字、图像、音频和视频资源。以上这些资源提交到DSpace系统后构成了基本的条目单元。
条目是DSpace系统存储库中的基本存档单元,也是DSpace系统数据摄入的基本单元。DSpace系统的数据摄入有两种方式,一种是从Web界面提交条目,每次只能提交一条条目,另一种方式是在文本界面下用命令的方式将一批条目导入到相应的合集下。
2.4.1 数据导入与导出以及相关接口
考虑到数据备份和系统间数据移值,以及数据交换的需要,DSpace系统提供了相应的导入与导出脚本工具。运用导出脚本工具可以导出某合集下的一条条目或者所有条目。导出的条目为一个文件夹,文件夹中包括contents、dublin_core.xml、handle、license.txt、数字文件(如一篇Word格式的论文)六个文件,其中contents文件指明了主要的数字包(即指license.txt和数字文件),dublin_core.xml文件包含了该数字文件的所有DC元数据。相反,运用导入脚本工具,可以把上述导出的条目导入到本系统或其他DSpace系统相应的合集中。上述导出与导入功能也就同时实现了条目数据的备份、移植、交换、恢复的过程。
为了DSpace系统中的数据能够与其他系统数据进行更完备的交换,DSpace系统还提供了基于METS的导出工具,能够把条目中比特流导成基于METS元数据格式的METS文件。
另外,DSpace系统同时支持OAI协议和OpenURL协议。通过OAI接口,有关机构(如OAIster ,美国密歇根州大学数字图书馆的一个项目成果服务)可以定期或不定期对DSpace系统的元数据进行收割(DSpace系统中DC元数据默认是公开的,并允许其他系统对其收割)。由于DSpace系统支持OpenURL协议,对于拥有SFX服务器的机构,通过设置DSpace系统,系统将在每个条目页面上显示一个OpenURL链接,同时能够响应外来的OpenURL请求,这些都有利于相关信息的检索与利用。
2.4.2 工作流
通常,条目提交或导入后,还不能正式归入DSpace存储库中,需要经过审核人员审核并确认后才能正式归档。审核人员审核的内容包括提交的条目内容是否符合要求,条目的元数据是否正确或规范等,然后确认该条目是否被正式归档,或者认为该条目需要进行相应的修改后才能归档,或者直接拒绝该条目。DSpace系统把这一过程称为工作流(Workflow),并按不同功能权限将工作流分为三步,第一步:接受或者拒绝新提交的条目;第二步:编辑新提交条目的元数据,并接受或者拒绝新提交的条目;第三步:编辑新提交条目的元数据,不能拒绝新提交的条目。上述三个步骤一步接一步,只有执行完上一步骤后才可以执行下一步骤,当然,如果系统设置时忽略了某一步骤,则直接跳入下一步骤;如果三个步骤都被忽略,则新提交的条目提交完后直接正式归入DSpace存储库,这种方式是系统默认的设置。
新提交的条目如果被拒绝,那么被拒绝的原因或理由将以邮件的方式通知提交者,由提交者作相关的修改后再提交。如果新提交的条目被接受,则顺序进入下一步骤。拥有管理员权限的用户可以直接删除新提交的条目,工作流也将因此而取消。
在执行完上述工作流后,新条目正式归入DSpace存储库之前,系统还将自动为该条目做如下工作:
l 给条目如下DC元素赋值,Date.accessioned,Date.available,Date. issued(条目提交时没有赋值),Identifier.uri(即Handle)
l 添加包括比特流校验和(checksum)在内的来源信息到条目中
l 把条目及其相关的授权策略添加到目标合集中
l 把条目添加到检索和浏览的索引中
3 用户与数字对象管理
DSpace系统中授权/权限的策略管理大体上包括两部分,一部分是对用户的授权管理,一部分是对DSpace数字对象的权限管理。
3.1 用户授权管理
DSpace系统中,对用户及权限的管理主要是基于群组(group)的管理,所谓群组是指具有相同功能权限的用户集合。
对单个用户的管理主要包括对该用户在DSpace系统中注册信息的管理,注册信息包括该用户的E-mail、姓名、联系电话、密码等,另外还包括是否允许该用户通过Web界面登录系统、是否需要相关凭证才能登录系统、删除或添加新用户等。
对群组的管理主要是群组成员的管理及群组权限的管理。对于群组中的成员管理员可以随时添加或删除。群组权限的管理主要是为该群组授予何种角色,角色主要包括管理员(Administrator)、匿名(Anonymous)、合集管理者(Collection Administrator)、条目提交者(Submitter)、工作流执行者(workflow)等。其中有两个组是特殊的组,即管理员组和匿名组。管理员组中的成员具有最高的权限,可以执行任何动作;而匿名组拥有最低的权限,只能浏览DSpace系统中“只读”的数字对象。任何注册用户和未注册用户都默认拥有匿名组的权限。
需要注意的是DSpace系统中的用户并不仅指实际生活中的使用人,而且还可能是计算机。因为在DSpace系统中,某些功能是由实际生活中的使用人来执行,而有些功能是由计算机完成的。因此DSpace系统中用户是指能够执行某项功能或动作的执行者,并把这种执行者称为“电子用户”(E-person,E-people),比如前述条目提交与工作流的执行,不同的步骤可以由一个电子用户或多个电子用户共同完成,实际生活中的使用人可以同时扮演几个电子用户。
3.2 对数字对象的权限管理
对数字对象的权限管理主要是指对前述社区、合集、条目、数字包、比特流的权限管理。这些数字对象包括的权限列表如下:
表1 社区权限
权限 |
说明 |
添加/移除 |
添加或移除社区下的合集或子社区 |
表2合集权限
权限 |
说明 |
添加/移除 |
添加或移除合集下的条目,此处添加是指可以上传条目到该合集的权限 |
默认条目读 |
所有提交的条目都默认可以被浏览 |
默认比特流读 |
所有提交条目的比特流都默认可以被浏览 |
合集管理 |
能够编辑合集中的条目,或者将其移除,或者把其他合集下的条目映射到本合集。 |
表3 条目权限
权限 |
说明 |
添加/移除 |
添加或移除条目下数字包 |
读 |
可以浏览条目内容(条目元数据默认是总是可以读的) |
写 |
可以修改条目内容 |
表4 数字包权限
权限 |
说明 |
添加/移除 |
添加或移除数字包下的比特流 |
表5 比特流权限
权限 |
说明 |
读 |
可以浏览比特流 |
写 |
可以修改比特流 |
以上各个数字对象的权限都可以赋给某个群组,然后群组成员都可以执行相应的权限。需要注意的是,DSpace中没有删除的权项,只有移除的权项,即“删除”某项并不是从物理上把数据去除,而是把数据隐藏了起来。
4 浏览与检索
浏览和检索是了解DSpace内容和使用DSpace系统的重要方式和手段。在DSpace系统中提供了按题名、按作者、按出版日期进行浏览DSpace存储库中全部条目的功能,也提供了选择相应的社区或合集后,浏览该社区或合集下所有条目的功能。这些浏览功能大大方便了用户使用DSpace。
在具体浏览某个条目内容时,对于某些条目只能下载到本机硬盘上后才能浏览或观看,例如音、视频数字资源(要求安装有相关应用软件,如播放器),对于某些条目则可以直接在Web浏览器中打开,无需另外下载到本机,例如网页、图片等。
另外,DSpace系统通过API与免费搜索引擎Lucene[6],为DSpace提供了高效的检索服务。DSpace系统提供了两种检索方式,一种是简单检索方式,即在检索栏中输入检索词,系统自动在DSpace存储库检索相关内容(检索字段可以由用户自定义);另一种是高级检索方式,即可以指定相应的合集和DC元数据字段的进行精确检索。
5 统计功能
DSpace系统有一个强大的日志记录功能,对系统的安装、运行和使用情况都有详细的日志记录。使用DSpace系统自带的日志分析工具自动对系统使用情况部分进行统计分析,可以得到对管理员或用户有帮助意义的统计报表。统计报表包括了如下内容:条目被浏览或阅读的总次数,合集、社区被访问的总次数,通过OAI被访问的总次数,归档内容概要,用户登录情况,最常用的检索等等。通过定制,这些统计报告可以按月呈现或只呈现总的情况,可以让所有用户看到这些统计报告,也可定制为只有部分管理员可以看到些报告。
6 订阅服务
若用户对某一专题的合集或多个合集下的条目持续关注或感兴趣,可以通过订阅(subscribe)的方式了解这些专题的最新条目。在每个合集的Web首页都有一个订阅按钮,用户(已经在系统上注册过的用户)可以通过点击该按钮来订阅该合集的内容。这样,每当有新的条目提交到该合集时,DSpace系统将这些条目的简要信息自动通过邮件的方式通知订阅用户,以便用户随时了解最新信息。当然,用户也可以随时取消订阅不再需要的内容。
7 系统结构
与其他系统结构设计相类似,DSpace系统也设计为三层结构,分别是应用层(application layer)、事务逻辑层(business logic layer)和存储层(storage layer),每层由一系列的组件构成。应用层主要负责DSpace与外界的交流与沟通,包括Web用户接口、导入导出工具、统计工具、OAI-PMH数据提供等;事务逻辑层主要负责对存档文件、电子用户、授权及工作流等方面的管理,包括核心工具(配置管理、日志管理等)、搜索引擎、电子用户/群组管理、Handle管理、授权管理等;存储层主要负责元数据及内容方面的物理存储,包括PostgreSQL、Oracle数据库的访问存储管理、文件系统管理等。每一层之间都有一个公共的API接口,层与层之间只能顺序调用,不能跨层调用,比如应用层只能通过API接口调用事务逻辑层,而不能直接调用存储层。
8 开放源代码
从DSpace项目设计一开始,DSpace开发者就把它定位为开放源代码系统,他们认为主要有以下三条理由[7]:
(1)开发一种知识内容管理平台,该知识内容是世界领先的研究型大学的知识产品。
(2)通过开放源代码社区促进DSpace服务的持续发展。
(3)促进文献存储与学术内容长期保存的协调互动发展。
基于此,有需要这种服务的教育或科研机构都可以免费获取并自由使用DSpace系统[8]。而有志于继续发展和完善DSpace系统的机构或个人,可以对其源代码进行修改或改进,也可以加入开放源代码社区,为DSpace的发展作出贡献。
结束语
DSpace系统从发布第一个版本到现在,已经走过了四个春秋,发布了十种版本,但是,由于用户的需求在不断变化和更新,新的问题不断出现,因此DSpace系统目前仍然还在不足的地方,只要在麻省理工学院图书馆和惠普实验的大力支持下和广大DSpace系统爱好者的参与下,DSpace系统会不断走向成熟并日臻完善。
参考文献
1 Patsy Baudoin,Margret Branschofsky. Implementing an Institutional Repository The DSpace Experience at MIT https://dspace.mit.edu/handle/1721.1/26699 [ 2006-7-11 ]
2 DSpace官方网站 http://dspace.org/ [ 2006-7-11 ]
3 http://wiki.dspace.org/DspaceInstances [ 2006-7-11 ]
4 http://www.dublincore.org/documents/library-application-profile/ [ 2006-7-11 ]
5 http://www.handle.net/ [ 2006-7-11 ]
6 http://lucene.apache.org/java/docs/index.html [ 2006-7-11 ]
7 MacKenzie Smith, Mick Bass,etc.DSpace An Open Source Dynamic Digital Repository. https://dspace.mit.edu/handle/1721.1/29465 [ 2006-7-11 ]
8 http://sourceforge.net/projects/dspace/ [ 2006-7-11 ]