基于云计算的数字图书馆服务平台架构设计
扫描二维码
随时随地手机看文章
引言
云计算具有超大规模、虚拟化、高可靠性、易用性、高可扩展性、按需服务、廉价等优点,因此,研究人员已经探索将云计算技术应用到数字图书馆服务共享平台建设中,以提高资源共享度。喻昕、王敬一提出了一种数字图书馆云服务平台的架构模型,并设计了服务平台管理、运行机制。裴红罗等提出了一种基于云计算的数字图书馆平台架构,该平台架构分为模型数据库、控制算法层和表现应用层。陈宫、牛秦洲采用Eucalyptus和Portlet等技术,实现了一种基于云计算的数字图书馆信息服务平台。在我国,数字图书馆建设主要集中在高校,但目前关于数字图书馆云计算平台架构的研究,几乎都将平台定位于学术资源共享,而忽视了平台可以为数据挖掘、基因序列测定、天文信号分析等需高性能计算支撑的工作提供计算资源,此外,研究都没有涉及云计算平台的实现技术。因此,本文提出一种基于云计算的数字图书馆服务平台的架构及实现技术,为高校自主建设数字图书馆云服务平台提供参考。
1云计算
1.1云计算的基本架构
Voorsluys等介绍了多个云计算架构,其中普遍被认可的云计算通用基本架构如图1所示。其中:IaaS(Infrastructureasaservice)表示基础设施即服务,基础设施由虚拟机、服务器、存储设备、网络设备、负载均衡设备等组成;PaaS(Platformasaservice)表示平台即服务,PaaS层包括数据库、Web服务器和开发工具集等;SaaS(Softwareasaservice)译为软件即服务,SaaS层属于应用层,为云用户提供各种软件服务。例如,GoogleAPPEngine实际上提供了PaaS服务;Amazon的云服务包括:EC2、S3存储服务和ElasticBeanstalk,从技术架构来看,前两者属于laaS,而ElasticBeanstalk则属于PaaS。
1.2云计算平台发展趋势
Google、Amazon等公司提供的云计算平台无法满足不同用户的特定需求,所以,很多机构(如美国国防部)开始构建私有内部云。一些小公司也致力于帮助客户构建云,如3Tera公司声称能够提供许多Amazon没有的管理服务,自主建设私有云已经成为一种潮流°Xen等开源平台及软件的出现,使得学术界、中小企业自主搭建中小型云平台成为可能,也为自主建设数字图书馆云服务平台提供了一种更加贴近实际需求的选择。
2基于云计算的数字图书馆服务平台架构
本文提出的基于云计算的数字图书馆服务平台架构如图2所示,平台由物理资源层、虚拟化资源层、数据层、服务层和用户层组成,可以满足用户对于存储资源、计算资源和网络资源的需求。
2.1物理资源层
最底层的物理资源主要包括服务器、存储器、网络设备等。物理资源的规模与结构相对固定,难以支持多变的服务需求,需要通过虚拟化方式将其整合,以便为上层服务。
2.2虚拟化资源层
利用虚拟化技术将各种物理资源整合(或划分)并转换为相应的虚拟化资源,为云计算平台提供了资源调配上的灵活性,提高了资源利用率。虚拟化资源层包括存储资源、计算资源、网络资源等。存储资源通常由网络文件系统和分布式存储技术实现。计算资源主要包含CPU资源和内存资源。网络资源虚拟化抽象隔离了网络中的路由器、交换机、网络端口以及其他物理元素的网络流量,将每个物理元素用虚拟表示形式代替,虚拟网络元素配置灵活,能够满足特定需求。
物理资源层和虚拟化资源层共同组成了基础设施层。为降低建设成本,可以采用开源技术构建基础设施层,从功能、虚拟化技术支持程度和商用评估三个方面综合来看,OpenStack是构建基础设施层的理想选择[7〕。作为开源云端运算软件的典型代表,OpenStack具有良好的灵活性、扩展性和兼容性,采用分布式和异步的体系结构,支持多种局域网管理方式、虚拟机镜像和实例管理、iSCSI存储容器管理等,能帮助用户快速构建云基础设施,已有超过100多个全球领先的IT公司参与了OpenStack项目。
2.3数据层
数据层包含各种异构数据库和数据库访问模块。数据库软件种类繁多,既有商业化的数据库软件,也有开源的数据库软件,不同的数据库软件依赖于不同的操作系统,如SQLServer只能运行在Windows平台上,无法与Unix兼容。在云计算环境下,各数字图书馆组成联盟有利于资源最大程度的共享,作为网络节点的数字图书馆,其节点异构性是不可避免的。数据库访问模块(也称为信息集成模块)用于屏蔽各种数据库的差异性,并提供访问接口,便于上层服务完成对异构数据库的操作,可以利用Java持久化API等技术实现这个模块。Java持久化API简称JPA是JavaEE5规范中用于对象/关系映射的一组API,它使得对象(构成上层服务的基本组件)持久化更加规范和容易实现。
2.4服务层
服务层由用户管理服务、安全管理服务、资源管理服务、借阅服务、检索服务、书刊推荐、专题订阅等模块组成。用户管理服务实现用户的增加、删除、修改、查询,并通过角色划分赋予各用户以不同的权限。安全管理服务完成用户身份认证,按角色来区分访问控制。资源管理服务负责存储资源、计算资源和网络资源的管理,包括调度、动态部署、配置和回收。借阅服务实现纸质图书资料的管理。检索服务满足学术资源的检索、下载,书刊推荐和专题订阅等则实现个性化服务。
服务层的实现可采用J2EE平台。J2EE是当前的主流平台之一,具有支持异构环境、可伸缩性强、采用多层的分布式服务模型等优点,开发J2EE的工具很多(如Eclipse),这些工具通常都提供向导、上下文帮助、可视化工具及代码自动生成等功能,可避免不必要的重复编码,帮助开发人员快速构建应用程序。
2.5用户层
用户通过门户访问云服务,而访问方式却各不相同,可以分Web服务、Web应用、外部服务和非Web应用等,因此,需要实现内外部服务的汇总、服务个性化定制以及针对计算机、手机、平板电脑等不同设备的显示。实现技术可以采用JSF(JavaServerFaces),JSF提供了一种以组件为中心的用户界面(UI)构建方法,采用基于组件和事件驱动的开发模式,为JavaWeb应用程序开发带来了极大的便利,使得开发人员可以专注于业务逻辑,加速Web应用程序的构建。
3结语
作为图书馆的主要依托单位,各高校应该将最新的云计算技术应用于数字图书馆或联盟的建设,构建云服务平台,实现资源大范围共享,减少重复建设。在经费有限的情况下,高校可以充分利用研发人员优势,自主建设云服务平台。本文分析了高校对于云服务平台的主要需求,提出了基于云计算的数字图书馆服务平台架构模型,详细说明了架构模型每层的构成及功能,在研究主流开发技术的基础上,介绍了架构的实现技术,选用的技术具有成熟度高、兼容性强、研发难度低等特点,适合于快速构建云服务平台,可以为今后的建设工作提供参考和借鉴。
20211119_61979e551b459__基于云计算的数字图书馆服务平台架构设计