Dspace系统文档.docx
《Dspace系统文档.docx》由会员分享,可在线阅读,更多相关《Dspace系统文档.docx(23页珍藏版)》请在冰豆网上搜索。
Dspace系统文档
Dspace系统文档(选译)
糊涂小三
一、简介
Dspace是一个开软软见平台,它具有如下功能:
● 通过使用工作流提交模块或者一系列的规范获取接口获取和表述数字资源。
● 使用搜索系统和检索,通过网络的方式发布机构所拥有的数字资产。
● 长期保存数字资产。
Dspace系统文档对系统功能作了一个整体的描述。
它对Dspace系统进行了一个良好的性能描述,为非技术人员学习使用Dspace系统是一个良好的导向。
在阅读整个系统文档之前,读者应该首先阅读这一部分内容,因为该部分内容包括许多后续文档中用到的术语。
对于需要运行Dspace系统的用户来说,文档提供了安装指南,以及如何配置系统以及介绍系统目录结构的相关内容。
注意:
自从版本之后,系统就提供了有关用户接口管理的在线帮助手册。
最后,为了那些Dspace系统爱好者能更好的了解Dspace系统如何工作,为了使使用者能根据具体应用对Dspace系统进行修改使用,文档中提供了Dspace详细系统架构和设计部分的内容。
Dspace系统文档还提供了如下一些有用的信息。
DspacePublicAPIJavadocs
DspaceWiki:
AlistofDSpaceresources
FAQ:
TechnicalFAQ
Projects:
AlistofprojectsusingDSpace
Guidelines:
GuidelinesforcontributingbacktoDSpace
二、Dspace功能介绍
1.DataModel(数据模型)
Dspace系统中数据组织方式能很好地反映一个组织的结构。
每个Dspace站点被分成若干个Communities,每个community对应一个实验室、研究中心、或者部门。
Communities由Collections组成,这些Collections将相关的内容(数字资产)分组。
一个Collection可能同时出现在几个不同的Communities中。
一个Collection由多个item组成。
2. Metadata(元数据)
一般来说,Dspace系统支持三种类型的元数据
(1) Descriptivemetadata(描述元数据)
每一个条目(item)包含一个规范的DC元数据记录。
MIT实验室使用的元素和限定词集合是一个Dspace源代码默认的配置。
另外的关于条目(item)的描述元数据存在于一系列的Bitstream中。
Communities和Collections也包含一些简单的描述元数据,这些元数据存储于DBMS中。
(2) AministrativeMetadata(管理元数据)
管理元数据包括保存元数据(preservationmetadata)、起源数据(provenance)以及授权政策数据(authorizationpolicy)。
大部分数据于Dspace的关系数据库管理系统模式中。
起源元数据(provenancemetadata)存储于DC元数据记录中。
此外,其他的管理元数据被复制到DC元数据记录中以便Dspace系统访问者能够轻松实现数据访问。
(3) StructuralMetadata(结构元数据
结构元数据包含如下信息:
条目(item)描述信息、条目内部的字节流(bitstream)描述信息、条目各组成部分之间的关系信息(对最终用户而言)。
例如:
假定一篇论文由若干TIFF格式的图片构成,每一张图片表示论文的一页;那么,结构元数据将包含如下信息:
每一个图片由一个单独的页面构成;每个页面或者图片在论文中的位置。
3.Eperson(电子用户)
Dspace电子用户的功能:
控制资料提交、系统管理权限等。
Dspace系统中,每个e-person由如下信息构成:
E-mail地址、姓名、是否允许用户通过WebUI登陆系统、用户密码、是否是用户自己注册、networkID等。
4.Authorization(授权)
Dspace授权系统与EpersonGroup和ResourcePolicy紧密联系。
Dspace系统包含两个特殊的组(Groups):
“administrator”(能对系统进行任何操作)和“anonymous”(包含所有用户的表列)。
Assigningapolicyforanactiononanobjecttoanonymousmeansgivingeveryonepermissiontodothataction.
对一个对象的一个操作(action)指派一个“anonymous”意味着允许系统的所有用户执行指定操作。
目前,Dspace系统的Collections、Communities以及Items都是可以公开浏览的。
仅仅在阅读全文内容时受到阅读权限控制。
Community:
ADD/REMOVE 添加/删除Community中的collections/sub-communitis
Collection:
ADD/REMOVE 添加/删除items
DEFAULT_ITEM_READ inheritedasREADbyallsubmitteditems
DEFAULT_BITSTREAM_READ inheritedasREADbybitstreamsofallsubmitteditems
COLLECTION_ADMIN编辑条目(edititems)、删除条目(withdrawitems)、mapotheritemsintothiscollection
Item:
ADD/REMOVE 添加/删除条目(items)
READ 浏览条目内容(viewitem)
WRITE修改条目内容(modifyitem)
BUNDLE:
ADD/REMOVE 从Bundle(包)中删除字节流(bitstream)
BITSTREAM:
READ 浏览Bitstream
WRITE 修改Bitstream
5.IngestProcessandWorkflow
DSpaceIngestProcess
InprogressInformation:
该类封装了将要导入dspace数据库系统的Item的所有内容。
可以通过三种方式将item导入到Dspace系统中;
WebUI接口提交Item
BatchItemImporter批量导入
直接对DspaceDBMSTable进行数据写入。
该方法安全性不好,如果对Dspace系统架构不熟悉的话,不建议使用。
TheItemInstaller:
指派一个访问日期(AccessionDate)
把字段“”的值添加到Item的DC元数据记录中(DublinCoreMedatadataRecordofItem)
添加发行日期(如果元数据记录中没有)(issuedate)
添加provenancemessage(含bitstreamchecksums)
添加items到指定的collections,同时添加合适的授权信息(authorizationpolicies)
创建新增items的浏览和检索索引
6.WorkflowSteps(工作流步骤)
一个Collection的工作流workflow可以分为三个步骤。
每一个Collection都存在一个相关的e-persongroup来执行相应的步骤。
如果没有e-persongroup与相应的步骤(step)对应,那么该步骤将被跳过(skipped)。
如果一个Collection的任何步骤都没有与一个e-persongroup相关联,那么Collection的提交信息将被直接载入档案。
换句话说(Inotherwords),workflow的工作顺序如下:
Thecollectionreceivesasubmission.Ifthecollectionhasagroupassignedforworkflowstep1,thatstepisinvoked,andthegroupisnotified.Otherwise,workflowstep1isskipped.Likewise,workflowsteps2and3areperformedifandonlyifthecollectionhasagroupassignedtothosesteps.
SubmissionWorkflowinDspace
7.HANDLES
为存储在Dspace系统中的每一个Community、Collection、Item创建一个永久标识符(persistentidentifier)。
Dspace使用CNRIHandleSystem创建标识符(identifiers)。
Dspace主要使用Handles来为每一个数字对象指定一个全球唯一的标识符。
每一个运行Dspace系统的站点需要从CNRI获取一个HandlePrefix。
一旦用户创建CNRI指定的HandlePrefix来创建标识符,所创建的标识符就不会和全球其他的标识符产生冲突。
Handles可以用两种方法来书写:
hdl:
4567
8. BITSTEAM‘Persistent’Identifiers
EachbitstreamhasasequenceID,uniquewithinanitem.ThissequenceIDisusedtocreateapersistentID,oftheform:
dspaceurl/bitstream/handle/sequenceID/filename
9.
Dspace系统提供两种方法来存储Bitstreams。
一种是将Bitstreams存储于服务器端的文件系统中;另一种是使用SRB。
两种方法都通过简单而有效的API来实现。
SRB是用来代替服务器端文件系统或者同服务器文件系统一同使用的不二选择。
无需过多的描述,SRB是一个稳定的(Robust)并久经考研的存储管理器(StorageManager),它从根本上提供了从本地或者远程存储系统复制内容的无存储限制的直截了当的方法。
10.SearchandBrowse
Dspace允许最终用户使用多种方法发现其存储的数字资源:
Handle:
CNRI服务器访问
检索一个或多个关键词:
元数据或者全文
索引浏览:
使用Lucene开源软件包对title、date、author进行索引
检索(Search)是Dspace系统中重要的资源发现组件。
用户对搜索引擎的要求很挑剔,Dspace搜索组件的目标是为用户提供尽可能多的搜索特性。
Dspace系统的索引和搜索模块由一个简单的API构成,该API可以索引新内容、重新生成索引、在全部资源、Community以及Collections上进行搜索。
该API的核心组件是一个开源的Java全文搜索引擎包Lucene。
资源浏览机制是Dspace系统中又一重要的资源发现组件。
浏览子系统也提供了一个有效的API,该API可以指定索引以及索引的部分内容。
Dspace系统中,可以通过title、itemissuedate(条目发布时间)以及authors(作者)的索引来浏览相应的内容。
此外,浏览的内容还可以限定在特定的Community或者Collection中。
11.HTMLSupport
在极大程度上(Forthemostpart),在不经任何修改的情况下(as-is),目前Dspace系统仅支持简单的Bitstream上传和下载。
这对大多数常规的文件格式(如:
PDFs、Microsoftworddocuments、spreadsheets等)来说,是一个很不错的选择。
但是,HTML文档却要复杂得多,涉及到数字保存这里还又许多重要的问题需要解决。
网页由多个文件组成:
一个或者几个相互关联的HTML文件,级连样式表以及图形文件。
网页通常链接到其他页面,或者包含其他页面的内容。
因此,在短期内,但用户浏览某个网页时,他同时也需要浏览与该网页相关联的其他网页。
通常,网页都是由网络服务器动态生成的,并且反映相应数据库内容的变化。
解决以上问题是大多数文档研究的议题。
目前,Dspace系统处理了这些问题的极小的一部分。
Dspace系统能够存储并且在线浏览自保容的非动态的HTML文档。
12.OAISupport
OAI开发了一个元数据获取协议OAI-PMH,该协议允许程序(Program)从一系列数字资源库获取元数据。
这样,用户就可以通过程序从一个地方获取大量的数据资源。
Dspace向外提供条目的DC元数据,同时也通过OAI的’set’机制将Collection公开。
Dspace系统使用OCLC的开放源代码软件OAICat来实现这一功能。
13.openURLSupport
Dspace系统以一种极其(extremely)简单的方式支持SFX的openURL协议。
如果拥有一个SFXServer,Dspace系统,通过自动使用DC元数据,将在每一个Item页面上显示一个OpenURL链接。
此外,Dspace系统还能相应一个引入的(incoming)OpenURL。
目前,Dspace系统已能通过openURLSupport将openURL内部的信息传递到搜索子系统。
14.
15.Subscriptions
16.History
17.ImportandExport
Dspace提供相应的批量处理工具导入和导出items,导出或者用于导入的items都按一定的目录和文件结构存储于文件系统中。
导入导出工具主要有如下几个:
ItemImport、ItemExprot、METSExport等。
18.Registration(条目注册)
Registration是一个合并条目(items),条目对应的元数据(metadata)以及Bitstreams的(alternatemeans)处理方法。
例如:
假定一个仓储系统(Repository)中存储大量的数字资产。
与其使用通常的交互式数据获取过程或者批导入命令来处理这些元数据并上传相应的Bitstreams,不如使用regitration方法来注册Dspace的元数据和Bitstream的位置。
Dspace系统使用可以配置参数的导入工具来完成条目注册。
19.Statistics(统计功能)
Dspace系统中使用的有关内容的各种统计报告是由系统自动生成的。
这些报告是通过分析dspace的log文件而生成的。
统计信息每月清理一次。
统计报告包括如下数据:
Acustomisablegeneralsummaryofactivitiesinthearchive,bydefaultincluding:
Numberofitemviews
Numberofcollectionvisits
Numberofcommunityvisits
NumberofOAIRequests
Customisablesummaryofarchivecontents
Broken-downlistofitemviewings
Afullbreak-downofallsystemactivity
Userlogins
Mostpopularsearches
20.ChecksumChecker
验证Dspace数字仓储系统中的内容是否被损坏或者篡改。
三、Windows下安装Dspace系统
1.综述:
dspace1.2.2beta2版本与postgreSQL兼容,使得在windows下安装dspace变得比以往更加容易。
随着大量的windows批处理文件的出现,Cygwin已经不再必要。
2.安装准备:
(1)jsdk1.4.2及其以上版本
(2)windows版
(3)AparchAnt (4)JakartaTomcat
(5)Dspace软件包(目前最新版本是
3.安装步骤:
(1)获取以下两个批处理文件和,
并置于[dspace-source]/bin下。
(2)将PostgreSQL\\jdbc\.目录下的文件 复制到[dspace-source]/lib目录下。
(3)确保postgreSQL正在运行,同时运行postGreSQL的pgAdminIII,
作为一个postgre用户连接到数据库。
然后:
创建一个"loginRole"(用户)“dspace”用于供dspace访问;
创建一个UTF-8编码的数据库“dspace”供dspace所有,
要求所建数据库dspace为UTF8编码格式.
在[dspace-source]\config\下更新相应的配置。
主要更新内容如下:
=[dspace-source]
= =localhost
=dspace
=${dspace.dir}/config/
=${dspace.dir}/config/
=${dspace.dir}/config/
=postgres
=jdbc:
= =dspace
=dspace
其它配置可不用更改。
注意:
在配置时,目录一律使用‘/’,而不是“\”。
否则编译出错。
例如:
E:
/dspace为正确的目录写法。
(4)运行ant工具,编译dspace工程。
具体过程如下:
将[dspace-source]/bin目录以及[ant]/bin目录加入系统环境变量path中,
然后在命令行模式下运行命令(在[dspace-source]目录下运行):
antfresh_install
运行后该命令后,在[dspace-source]目录下生成一个名为build的文件夹
(5)在[dspace-source]/bin目录下,命令行模式下运行命令:
dsrun 根据提示即可创建管理员。
(6)将(4)生成的[dspace-source]/build目录下的.war文件和复制到
你所安装的tomcat的目录[tomcat]/webapps下面.
(7)启动tomcat服务.
(8)在internet浏览器中输入,你将看到dspace主页
4. 在dspace的安装过程中,要注意先把jdk,ant,以及postgres调试通过,然后再按上述步骤进行安装。
四、Linux下安装Dspace系统(略)
有兴趣的朋友可以自己研究。
五、Dspace系统架构Architecture
综述:
Dspace系统系统架构分三层,每一层由若干组件构成。
存储层(StorageLayer)的主要负责元数据和内容的物理存储。
业务逻辑层(BussinessLogicLayer)的功能主要是管理文档内容、e-people、授权(authorization)以及工作流(workflow)。
应用层(ApplicationLayer)包含Dspace系统和外部世界交互的各种组件。
每一层组件都直接或者间接地调用较低层次的组件。
系统架构的每个层次都对应Dspace源代码中相应的软件包:
存储层:
业务逻辑层:
应用层:
DSpaceSystemArchitecture
1. StorageLayer(存储层)
(1) RDBMS(关系数据库管理系统)
PostreSQLorOracle
在配置文件内部配置RDBMS。
(2) BitstreamStore(字节流存储)
Dspace提供两种方法存储内容。
其一,服务器端文件系统;其二,使用SRB。
类BitstreamStoragemanager提供了底层(数据库层)访问存储于系统重的Bitstreams。
数据表(table)中的字段internal_id由38个0-9之间的数字构成。
Internal-id与Bitstream_id不同,internal_id对BitstreamStorageManager外部并非是公开的。
Internal_id用于决定Bitstream文件在文件系统中的存储位置。
38位数据中,前三对数字表示相应Bitstream文件的存储位置,后面34位用于为Bitstream文件命名。
例如:
如果某Bitstream的Internal_id的值是5678,那么,该Bitstream文件的存储位置为:
(assetstoredir)/12/34/56/5678。
2. BusinessLogicLayer(业务逻辑层)
(1) 配置管理器)负责读取Dspace系统配置文件,为其他应用程序(如:
apache)管理’template’配置文件,同时也负责为e-mail获取文本信息。
Constants类包含数据库系统中用来表示对象类型(typesofCommunity,Collection,Item,Bitstreamandsoon)以及相应动作(action)的常量(constants)定义。
如:
resource_type_id,resource_type_id同时应用于数据表handle和resourcepolicy两个表中。
Context类是Dspace操作的中心类。
任何使用业务逻辑层的API都必须先创建一个Context对象。
这类似于打开数据库的一个连接(Connection)。
当一个Context对象被创建,如下的信息将被自动初始化:
AConnectiontothedatabase;
AcacheofcontentmanagementAPItimeacontentobject(SuchasItem,Bitstream)iscreated,itisstoredintheContextObject.
同时,下面的一些信息也将存储于Context对象中:
Thecurrentauthenticateduser,ifany;
Any‘specialgroups’theuserisamemberof;
A