云计算关键技术在数字图书馆中的应用研究,本文主要内容关键词为:关键技术论文,数字图书馆论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
谷歌2006年底推出“Google 101计划”时正式提出了“云”的概念和理论[1],这一思想体现了云计算这种新兴的共享基础架构方法、需求及应用,而Google、Amazon和IBM则是第一批将云计算引入公众视线的IT巨头。这种创新的计算商业模式吸引了信息产业界和学术界的广泛关注。图书情报领域也不例外,图书馆人对IT的每一次变革与发展都表现出极大的热情[2]。图书馆界最先关于云计算的报道来自迈克尔·斯蒂芬在“图书馆如何使用云”的博客文章,他对“云”在图书馆的应用做了初步的展望,后来又将其列入2009年的图林10大技术趋势[3]。美国图书馆协会(ALA)的TechSource也编发了多篇涉及“云”技术介绍的文章。2009年4月23日,OCLC高调宣布即将推出基于WorldCat书目数据的“Web级协作型图书馆管理服务”,这被公认为是一项云计算服务。由于OCLC在图书馆界的深远影响,此举预示着云计算在图书馆领域广泛应用的开始[4]。
在数字图书馆建设过程中,合理利用硬件设备资源、以较少的花费为读者提供稳定、高效的访问服务,并使之具有灵活的柔软性是在数字图书馆建设中应该考虑的首要问题,而云计算模式的出现,恰好为解决这些相关的问题提供了较好的解决方案,它能够最大限度地降低数字图书馆建设的运营成本,真正消除数字化图书馆资源孤岛状态,实现全球级的数字化图书馆资源的共享。本文拟通过介绍云计算的概念及主要技术,分析云计算环境下数字图书馆建设的现实需求,探讨云计算在数字图书馆发展建设领域中的应用,为数字图书馆建设和发展提供新的技术支持。
1 云计算的内涵及关键技术
1.1 云计算的内涵
云计算(Cloud Computing)是一种基于互联网的超级计算模式。它是分布式计算、并行计算和网格计算的发展。其基本原理为:利用非本地或远程服务器(集群)的分布式计算机为互联网用户提供服务(计算、存储、软硬件等服务)[5]。云计算概念提出的时间并不长,对其概念的定义也是百家争鸣。其中较具有代表性的如:IBM公司在技术白皮书中认为[6],云计算一词是用来同时描述一个系统平台或者一种类型的应用程序,一个云计算平台按需进行动态地供应、配置、重新配置以及取消服务等;美国加州大学伯克利分校高可靠适应性分布式系统实验室Michael Armbrust等学者最近发表了一篇关于云计算的报告,认为云计算既指在互联网上以服务形式提供的应用,也指在数据中心中提供这些服务的硬件和软件,而这些数据中心中的硬件和软件则被称为云[7]。
因此,通过以上定义可以发现,云计算是全新的基于互联网的超级计算理念和模式,实现云计算需要多种技术结合,并且需要用软件将硬件资源进行虚拟化管理和调度,形成一个巨大的虚拟化资源池,把存储于个人电脑、移动电话和其他设备上的大量信息和处理器资源集中在一起,协同工作。其特点主要表现为三个方面:
(1)硬件和软件都是资源,通过互联网以服务的方式提供给用户。如Amazon EC2将计算处理能力打包为资源提供给用户;Google App Engine将从设计开发到部署实施Web应用所需要软件、硬件平台一起打包提供给用户;Salesforce.com CRM将专业的客户关系管理应用模块打包为解决方案提供给用户[8]。
(2)资源可以按需进行动态扩展和配置。如Amazon EC2可以在极短的时间内为华盛顿邮报社初始化200台虚拟服务器的资源,并在9小时的任务完成后快速地回收这些资源;Salesforce.com可以为哈根达斯公司在已经成型的CRM系统中动态地添加和删除应用模块,来满足不断改进的业务需求。
(3)用户按需使用云中的资源,且按实际使用量付费,而不需要管理他们。提供云计算服务的平台可以以租赁的模式向终端客户(个人或组织)提供“随需而变”的应用服务,实现了计算资源的按需分配和按使用付费。如华盛顿邮报社为了完成档案的转换任务,租用了Amazon EC2的200台虚拟服务器,并为其所获得的1407小时服务支付了144.62美元。
1.2 云计算的关键技术
云计算的理念体现了互联网时代的信息服务特性,并且正在推动一系列技术创新去解决互联网平台的服务生命周期管理问题,大规模分布式计算、存储、通信问题以及资源按需提供、按量收费问题。其关键技术如下:
(1)虚拟化。它是对资源的逻辑表示,且不受物理限制的约束。其资源可以是硬件资源,如CPU、内存、存储、网络;也可以是软件环境,如系统、文件系统、应用程序等。虚拟化的主要目标是对包括基础设施、系统和软件等IT资源的表示、访问和管理进行简化,并为这些资源提供标准的接口来接收输入和提供输出[9]。虚拟化的使用者可以是最终用户、应用程序或者是服务。虚拟化技术降低了资源使用者与资源具体实现之间的耦合程度,让使用者不再依赖于资源的某种特定实现。虚拟化的常见类型有服务器虚拟化、存储虚拟化、系统虚拟化、软件虚拟化和网络虚拟化等。
(2)分布式存储。它的目标主要是利用多台服务器存储的资源满足单台服务器所不能满足的存储需求。分布式存储要求存储资源能够被抽象表示和统一管理,并且能够保证数据读写操作的安全性、可靠性等各方面的要求,如Google公司设计的Google File System(GFS)、BigTable等分布式文件存储系统,除了性能,可伸缩性、可靠性以及可用性以外,GFS设计还受到Google应用负载和技术环境的影响,体现在四个方面:①充分考虑到大量节点的失效问题,需要通过软件将容错以及自动恢复功能集成在系统中;②构造特殊的文件系统参数,文件通常大小以G字节计,并包含大量小文件;③充分考虑应用的特性,增加文件追加操作,优化顺序读写速度;④文件系统的某些具体操作不再透明,需要应用程序的协助完成[10]。
(3)海量数据处理。它是指对大规模数据的计算和分析,通常数据的规模可以达到TB甚至PB级别。基于互联网时代的数据统计和分析很多是海量数据级别的,其典型的例子如搜索引擎、数字图书馆。由于数据量非常大,一台计算机不可能满足海量数据处理的性能和可靠性等方面的要求。目前最流行的是由Google公司的Jeffrey Dean等人设计的Map-Reduce编程模型[11],它将一个任务分成很多更细粒度的子任务,这些子任务能够在空闲的处理节点之间调度,使得处理速度越快的节点处理越多的任务,从而避免处理速度慢的节点延长整个任务的完成时间。Map-Reduce的运行环境由两种不同类型的节点组成:Master和Worker。Worker负责数据处理,Master负责任务调度及不同节点之间的数据共享。
2 数字图书馆建设对云计算的现实需求
数字图书馆是广域的信息资源体系和集成服务体系,而制约当前数字图书馆建设与发展的瓶颈问题大体有:信息资源的重复建设、海量信息的存储、数据标准的不统一及版权等问题。另外,其异构性、分布性和自治性也是阻碍数字图书馆建设和发展的三大障碍[12]。其异构性主要表现在两个方面:一方面是系统异构,即数字图书馆运行的软硬件环境以及采用的应用程序开发技术各不相同;另一方面是资源异构,即不同的数字图书馆采用了不同的元数据方案,导致信息资源的组织方式各异;而分布性主要是由于数字图书馆有三种信息源:(1)现有图书馆特种馆藏的数字化;(2)各种商用的联机电子出版物或数据库;(3)互联网上各种有用的文献信息资源。将分布在Web上众多数字图书馆中的信息源进行无缝集成是信息集成面临的一大挑战;同时,数字图书馆的高度自治性也是信息集成面临的一大挑战,数字图书馆馆藏资源和服务由各组织独立维护和管理,其访问原则、支付方式和认证等也由各组织自己决定。
因此,云计算作为一种新的高性能的分布式计算技术,为数字图书馆之间的资源共享建设提供了新思路,用户在任何地方都能对各种网络资源“即插即用”,即只要能接触到网络,就可以根据自己的需要,“按需”对云平台中存储的数字信息资源进行制作、组织、存储和发布,可以针对不同需求的用户群体提供主动的、个性化的信息服务。
3 云计算关键技术在数字图书馆中的应用
作为数字图书馆,在信息量呈几何级数增长的现实环境中,如何从事实、数据和信息中提取对决策有直接作用的知识是数字图书馆的发展方向,而云计算在技术上的优势是显而易见的。云计算不仅能够实现资源的高度共享,避免大量的重复建设,同时将大幅提升网络的性能和信息服务工作效率。数字图书馆是信息技术的主要应用领域,利用云计算可以有效地解决数字图书馆在发展中的诸多难题,目前云计算技术在数字图书馆建设中的应用主要包括四个方面。
3.1 云环境下的虚拟化信息存储
数字图书馆的建设和运作对数据的共享备份和调整存储访问具有很高的要求,云环境下的虚拟存储系统能够有效地适应数字图书馆数据的海量存储和数据的不断增长,同时又能满足当今网络环境复杂性和扩展性的不断提高,对海量数据进行存储和备份。具有海量存储能力的虚拟存储系统是数字图书馆建设和运作的重要保障。
自2009年4月23日,美国国家科学基金会(NSF)宣布将斥资百万资助14所大学的云计算研究后,作为数字内容管理存储的主流平台DSpace与另一个机构库开源软件Fedora合并研发了DuraSpace,推出了新产品Dura2 Cloud,这项托管服务发挥了云存储和云计算成本效益优势,同时能确保数字内容的长期保存和重用。目前全世界有几百所大学采用DSpace开源系统,国内不少高校图书也利用其开发定制了本馆的机构仓储系统。它的目标用户是那些负责数字资源保存、创造数字内容、获取和重用共享空间的组织。Dura Cloud可直接通过Web访问,还可通过Fedora和DSpace的数据库插件访问[13]。它能够提供在线备份文本、图像、数据集、视频和音频等服务。通过启用多个副本,分布式(包括多个存储供应商、多个地理区域)保存资源,方便用户根据项目或工作的需要弹性地选择临时或永久性的存储供应。
此外,云计算虚拟存储技术能把数字图书馆现有的各类存储设备DAS、NAS、SAN架构存储汇集成一个“虚拟存储池”,它使系统性能最大化,消除数据存取瓶颈,缩短寻道距离,同时也加快了访问时间。数字图书馆的音频、视频、文字、图片等各种格式的数据存放在这个“虚拟存储池”中,所有基于网络的RAID、分布式I/O、数据冗余、配置冗余、硬盘组、逻辑卷、动态的多个路径、分层存储、在线的高速备份等有关问题都由虚拟存储管理系统来处理,实现了无缝的存储和数据管理[14]。
3.2 云环境下的海量信息处理
数字化图书馆所要处理的数据通常非常大,其数据的规模可以达到TB甚至PB级别,经常存在需要海量信息处理能力的业务,例如,多媒体数据存储格式的转换、大量信息的扫描识别、资源数据库的索引倒排等。而云计算本身的特点是对海量的信息存储、读取后进行大量分析,数据的读操作频率远大于数据的更新频率,云中的数据管理是一种读优化的数据管理。因此,云计算能够低成本地妥善解决海量数据的计算处理和分析问题。运用云计算模式,用户使用手机、PDA等设备也可以使用图书馆的电子资源服务[15]。同时,用户还可以利用Map-Reduce编程模型编写简单的程序实现特定的目的,该模型能够处理和产生大规模数据集,其核心思想是将要执行的问题拆解成Map(映射)和Reduce(化简),先通过Map程序将数据切割成不相关的分块,分配(调度)给大量计算机处理达到分布运算的效果,再通过Reduce程序将结果汇整,输出开发者需要的结果。
如图1所示,整个Map-Reduce程序需要五个步骤:输入文件、将文件分配给多个worker并行地执行、写中间文件(本地写)、多个Reduce workers同时运行、输出最终结果。本地写中间文件在减少了对网络带宽的压力同时也减少了写中间文件的时间耗费。执行Reduce时,根据从Master获得的中间文件位置信息,Reduce使用远程过程调用,从中间文件所在节点读取所需的数据。
图1 Map-Reduce的具体执行过程[16]
另外,由于云计算模式还提供了强大的无线接入功能,用户可以不必关注其物理位置,“云”通过虚拟服务器为用户提供了一个透明的使用环境,使用户无需了解底层复杂的环境,因此用户通过各种相关的终端使用图书馆的电子资源,从而使图书馆资源中心的作用得到最大限度的发挥。如果同时结合使用基于云计算的数据存储技术,通过“云”进行的海量信息处理结果可以直接保存在“云”的海量存储设备上,可以在更大程度上缩小对本地资源的占用,减少网络的数据流量,从而以更短的时间、更低的成本解决海量信息的处理问题。
3.3 云环境下的数据中心
数据中心是确保数字图书馆正常运转的核心基础设施之一。数据中心在逻辑上包括硬件和软件,硬件是指数据中心的基础设施,包括支撑系统和计算机设备等;软件是指数据中心所安装的程序和提供的服务。其数字图书馆数据中心的硬件资源是由虚拟平台软件所管理的x86服务器池,也就是传统上说的PC服务器,虚拟化平台软件则是把这些物理的计算资源转换成了逻辑的计算资源(即通过虚拟机使计算资源按需分配),因此,从本质上讲,这种虚拟化了的数据中心隔离了硬件与应用,即应用看到的是计算资源,而不再是一台台的机器。这正是云计算的核心理念。
例如,在硬件资源服务器方面,国内解放军医学图书馆、福州大学图书馆等实践都较为成功,其中福州大学图书馆选用VMware免费发布的VMware作为数字化应用架构虚拟化产品。在虚拟化以前该图书馆的数字化应用基本由PC机、PC服务器和IDE阵列支持,系统经常出现故障。为此,在“211工程”建设中,该馆不仅购置高性能服务器而且新添了一些数字化资源(如清华同方博硕论文、Apabi电子图书等数字化资源)。为了更大效率地发挥其现有资源的功效,该馆对所有的数字化资源服务进行了虚拟化尝试,将3台物理服务器虚拟成多台应用服务器和数据库服务器集群,应用服务器包含Web服务器、APP服务器和FTP服务器等[17]。通过服务器虚拟化整合,系统达到了以下应用效果:(1)服务器的使用率从平均值6%-7%提高到60%左右,在高峰使用率从40%左右提高到85%左右。(2)虚拟化技术支持多种新旧操作系统和应用平台,满足数字图书馆应用种类多样化的需求。(3)利用虚拟网络之间的NAT转换端口映射,减少了入侵途径,保证了后台系统安全通过虚拟机快照功能;通过SAN快照功能对系统关键数据和系统盘进行容灾备份,进一步保障了系统的安全。
另外,云计算为用户提供了最可靠、最安全的数据存储中心,各数字图书馆在建设过程中可以借助云服务提供商提供的云计算解决方案,使用统一的接口,整合本馆的数字资源,建设自己的“云”,提供统一的资源共享和检索等服务和应用。同时,也可以将本馆的“云”和来自全球不同区域的数字化图书馆整合在一起,通过构建更大规模的“云”平台来统一管理使用资源,实现分布式、协作和智能化的信息处理。最终用户可以通过虚拟服务器,以单一入口就检索全球的信息资源[18]。尽管云计算还处在初级阶段,但是随着云计算技术的发展完善,规模进一步扩大,未来的数字化图书馆必将建设自己的云存储和云服务。
3.4 云环境下的信息资源共享
由于数字化图书馆建设本身是一个庞大的信息工程,但通过云计算模式,不同数字图书馆可以共同构筑云信息共享空间如基础设施,而不必更新相关的硬件,其运行成本在大大降低的同时效率却大幅度的提高。数字图书馆用户可以通过虚拟服务器和统一访问接口,实时地获得其他图书馆的资源,其信息需求获得极大的满足。基于云计算的数字图书馆将异构分布环境下不同来源的海量数据资源进行统一整合,实现信息资源的智能共享,也极大地提高数字化图书馆资源的利用效率。
2009年3月,中国高等教育文献保障系统(CALIS)技术中心正式确立了CALIS数字图书馆云计算策略和技术框架作为CALIS下一代数字图书馆的技术发展路线。CALIS结合云计算、SOA等技术,设计和开发出数字图书馆云服务平台Nebula。它适合于构建大型分布式的公共数字图书馆服务网络,能将分布在互联网中的各个图书馆的资源和服务整合为一个整体,形成一个可控的自适应的新型服务体系,通过对各种服务进行动态管理和分配,满足不同层次和规模的数字图书馆需求,支持馆际稳定的协作和服务获取,支持各馆用户的聚合和参与,支持多馆协作的社会化网络的构建,同时也支持多馆资源的共建和共享,具有自适应扩展的能力[19]。以基础设施服务IaaS/Haas和基础平台服务PaaS为基础的CALIS数字图书馆云服务平台框架,主要包括四个方面的内容:(1)CALIS数字图书馆公共服务平台;(2)CALIS数字图书馆SaaS服务平台;(3)数字图书馆本地服务平台;(4)面向图书馆的CALLS云联邦服务平台,可以将不同的图书馆本地服务、CALIS公共服务以及第三方公共服务集成起来。
CALIS数字图书馆云服务平台作为一个载体,各图书馆可以在云平台上开发和集成新的服务,通过线上线下互动,以更好地满足高校图书馆的内部管理和用户服务的需求。到目前为止,Nebula OSGi框架、Nebula开发平台、本地基础平台核心版和典型应用系统、统一用户等基础信息库和统一认证机制基本建成。公共服务平台框架、部分核心服务、基于Hadoop的大数据资源存储服务系统(PaaS服务)原型以及已有SaaS系统的改进已初步完成。CALIS开发云计算服务平台的实践进一步表明,云计算将应用于未来数字图书馆的可行性,为未来数字图书馆资源与服务的共享提供了技术参考。
4 结语
云计算的出现,不但为IT业提供了全新的机遇并催生传统IT产品的转变,而且将从多方面改变我们的生活[20]。基于计算机、网络、信息技术发展下产生的数字图书馆具有很多优点,同时也面临技术和服务等困境,这些困境对云计算产生了现实需求。云计算这种服务计算模式的改变必然影响着数字图书馆各个要素的变化,同时也不可忽视云计算在数字图书馆信息用户隐私方面存在的问题以及给数字图书馆的数据存储带来的风险[21]。总之,云计算还处于萌芽阶段,它的众多优点会对整个社会,尤其是对数字图书馆将会产生深刻的影响。相信不久的将来,云计算会日趋完善,将进一步推动数字图书馆更好的发展。
收稿日期:2010-04-27
标签:云计算论文; 数字图书馆论文; 应用虚拟化论文; 信息存储论文; 技术与管理论文; 图书馆论文; 数字化时代论文; 信息发展论文;