基于云服务的信息共享平台研究
2014-05-27许小龙薛胜军
曾 丹,许小龙,薛胜军
(1.武汉理工大学 图书馆,湖北 武汉430070;2.南京大学 计算机科学与技术系,江苏 南京210093;3.南京信息工程大学 计算机与软件学院,江苏 南京210044)
随着全球信息化的不断发展,近几年全球数字化信息量增长了近10 倍,企业级数据中心存储需求量从TB 级上升到PB 级甚至EB 级,大数据的时代已经到来[1-2]。Google 提出“云计算”概念后,这一新技术得到了业界和学术界的广泛关注。美国国家标准与技术研究院(national institute of standards and technology,NIST)将云计算定义为:“云计算是一种能够通过网络以便利的、按需的方式获取计算资源(网络、服务器、存储、应用和服务)的模式,这些资源来自一个共享的、可配置的资源池,并能够快速获取和释放”[3]。云计算技术的出现给大数据时代的互联网企业带来了新的发展格局,信息共享中心作为企业和个人的信息传播媒介也面临着空前的机遇和挑战[4]。
信息共享中心已经在多个行业领域得到应用,如教育、交通、医疗等,同时也带来相应的挑战和机遇。教育行业信息共享系统构建,以高校图书馆建设为例,应对读者不断增长的信息服务需求,构建学科信息共享中心已成为高校图书馆亟待拓展的服务功能[5]。交通行业信息共享中心构建过程,以铁路运输企业的信息共享中心构建为例,网络虚拟集中造成企业内部财务信息失真、传递滞后等问题,同时给管理层决策带来不利影响[6]。而对于医疗行业而言,区域医疗信息共享和协同是医疗信息化和自主诊断系统发展的必然趋势,同时信息共享和交换是医疗信息资源价值最大化的重要途径[7]。随着信息化进程和大数据时代的到来,信息共享中心将面对庞大的数据存储与数据检索挑战,传统的数据库已经无法应对日益增长的数据记录和用户信息化需求。
云计算是一个理想的网络应用模式,自从提出了云计算的概念后,陆续就有很多IT 厂商推出了自家的云计算平台。如IBM 的蓝云、微软的Azure和亚马逊的AWS 等是比较典型的代表。但遗憾的是这些平台无一例外都是商业性平台,从而限制了他们的推广和应用。而Hadoop 平台则是根据Google 的MapReduce 技术设计的一款可以更容易开发和并行处理大规模数据的云计算开源系统[8],可以最大限度地满足用户对云计算的需求。
1 开源云平台Hadoop 技术
Hadoop 最重要的两个模块是分布式文件系统HDFS[9]和调度作业的MapReduce 模型[10],围绕这两个核心模块的还有支持查询语言的数据仓库Hive[11]以及可以与分布式数据库进行互操作的HBase[12]。Hadoop 具有高效率、高可靠性、低成本和扩容能力强等特点[13],在国内已被淘宝、中国移动大云、中兴、华为等公司作为云平台广泛使用。
1.1 分布式文件系统HDFS
HDFS 是Hadoop 分布式文件系统(hadoop distributed file system)的缩写,用于存储海量数据的开源分布式文件系统,也是Google GFS 基于列存储模型的分布式数据库的开源实现。它是分布式计算的存储数据基础,提供高吞吐量的海量数据访问。HDFS 具有很高的容错性,可以方便地部署在廉价的硬件设备上,特别是用于处理海量数据应用,并且支持高吞吐率的数据读写功能。HDFS 也能支持对大数据访问的可扩展性,只是简单地向集群里增加节点就能解决大量客户端同时访问节点的问题。HDFS 同时也支持传统的层次式文件组织结构,与现有的一些文件系统的操作功能类似,也支持对文件进行相应的增删改查等操作。
1.2 MapReduce 模型
MapReduce 是处理海量数据的分布式处理模型,也是Google 的MapReduce 模型的开源实现,它可以在大型的数据集群上运行分布式应用,并且以其简单性和可用性而著称。MapReduce 是一种简化了的并行计算模型,抽象出了两个简单且强大的接口,分别是Map 和Reduce。这两个接口分别对任务进行分解和对结果进行汇总输出。基于这种模型,大大简化了分布式程序编写的难度,用户甚至不需要多少并行计算的开发经验,就可以非常方便地开发出高质量的分布式程序,实现大数据的计算。
2 基于云服务的信息共享平台CBISP
2.1 CBISP 角色
云计算技术在数据存储、资源共享、可靠性和分布式数据库检索方面具有较大的优势。随着社会的发展,未来行业内部的信息资源将会向共享方面发展。基于云服务的信息共享平台CBISP可以为行业内部的各个下级部门提供资源存储和检索功能。图1 显示了CBISP 应用场景,主要由以下3 类角色组成:
(1)平台支持个体。平台支持个体指提供共享资源的部门,如行业内部各个下级单位。平台支持个体是CBISP 的最基本组成部分,也是平台信息的基本提供者。CBISP 自身拥有分布式可扩展的数据库,数据库中存放的主要数据由平台支持个体提供。平台支持个体将自身的信息分为可共享信息和不可共享信息。不可共享信息由平台支持个体内部使用,不对外开放;共享信息将提交给CBISP 以提供共享服务。不同平台支持个体提供的数据结构是不同的,CBISP 开发过程中需要建立统一标准的数据结构。图1 中包含n个平台支持个体{部门1,部门2,…,部门n}。
(2)用户。用户是与CBISP 交互的基本个体,如外部用户、部门内部用户,以及管理员等。CBISP 为广大用户提供了不同的外部接口。外部用户是CBISP 最广泛的用户群体,此类用户可以通过接口向CBISP 发送信息检索、信息预订(申请平台中没有的资源),以及个人资源请求记录查询等请求。平台管理员是CBISP 的管理用户,主要工作是进行平台用户权限的设定、接受并汇编支持个体的数据记录,以及数据库管理等功能。部门内部用户可以根据权限获取更高级别的信息检索能力。集群管理员是管理CBISP 底层数据中心的用户,主要操作包括:节点管理(动态增加和删除)、状态监控,以及节点信息管理。图1 中将用户表示为{用户1,用户2,…,用户m}。
(3)信息共享个体。信息共享个体是与CBISP 交互的个体,接受来自CBISP 的资源预定请求,同时为其提供整编后的信息资源。图1 中信息共享个体包括资源提供用户和资源提供部门。对于专有行业而言,信息共享个体为资源提供部门,它不向外部提供所有的资源共享接口,也不接受来自外部个体的共享资源。对于公共信息共享中心而言,信息共享个体为资源提供个体,资源提供者可以来自信息共享中心的外部。信息共享个体是CBISP 不可或缺的一部分,其可辅助完善CBISP 共享信息数据库,更好地为用户提供服务,进而提升整体的信息化服务水平。
图1 基于云服务的信息共享平台应用场景
2.2 CBISP 体系结构
云服务供应商所提供的解决方案中,根据云服务的特征通常将其分为:基础设施即服务(infrastructure as a service,IAAS)、平台即服务(platform as a service,PAAS)和软件即服务(software as a service,SAAS)。笔者提出的CBISP 是基于Hadoop 开源云计算技术构建,其体系结构从下至上可分为4 层,如图2 所示。
图2 CBISP 体系结构图
(1)硬件层。硬件层中的基础设施由计算资源、存储资源和网络资源组成。CBISP 数据中心可以由现有的服务器构建,可以由平台支持个体的闲置机器组成,也可以由高校和企事业单位现有的服务器组合而成。数据中心的硬件可以有不同型号和配置,当数据中心无法满足用户需求时,硬件可以动态地扩充。硬件层可以实现现有行业内部软硬件资源的整合以及资源共享。
(2)平台层。平台层主要由分布式文件系统HDFS、分布式数据库HBase、数据仓库Hive,以及计算模型MapReduce 组成。HDFS 作为底层的分布式文件系统,采用副本策略,具有高可靠性。HBase 是典型的分布式数据库,适用于非结构化数据存储,是Google BigTable 的开源产品。Big-Table 已经应用于Google 地球,证明其对于图像检索是高效的。信息共享中心管理系统中保存了海量的图像信息,可以选择使用HBase 进行存储,便于用户检索。Hive 适用于静态结构化数据检索,可以用于构建历史资料数据库、用户信息库,以及共享个体库等。MapReduce 分布式计算架构可以进行高效的数据处理,使用MapReduce中的Map 函数和Reduce 函数可以统计、分析CBISP 信息处理的整体状态。
(3)应用层。应用层主要包括共享资料管理、资料信息检索、资料整合、节点管理和状态监控等功能。共享资料管理主要是平台管理员对数据库中资料信息进行管理,包括增加、删除和修改等操作。资料整合供平台管理员根据不同平台支持个体提供的信息进行数据整合入库。资料信息检索主要是针对外部用户设计的,外部用户根据搜索条件从数据库中检索自己所需要的资料清单。节点管理和状态监控均由集群管理员操作,节点管理主要用于数据中心增加、删除数据节点。状态监控主要用于查看整个数据中心的运行状态。上述功能是CBISP 的基本功能,除此之外,还可以根据不同用户需求设计相应的功能模块。
(4)用户层。用户层包含可以与CBISP 进行交互的所有用户,如所提到的平台用户、平台支持个体、信息共享个体、平台管理员和集群管理员。用户层处于架构的顶层,集群管理员具有底层数据中心管理权限,对于其他用户而言硬件层是透明的。根据用户层不同需求,CBISP 可以利用平台层提供的接口开发相应的应用,以提供信息共享服务。
3 结论
云计算在信息共享中心中的应用,不仅是技术上的革新,而且也是对生存和发展环境的深刻变革。因而,笔者提出了在开源云平台Hadoop 构建基于云的信息共享平台CBISP,从而解决目前区域范围内存储和计算资源利用率低下、信息共享能力不强,以及信息化进程缓慢等问题。CBISP 对于提升信息共享中心服务水平和信息共享能力具有积极的支持和推动作用。
[1]JOHN P D,GANTZ F,CHUTE C,et al. The diverse and exploding digital universe:an updated forecast of worldwide information growth through 2011 [R].[S.l.]:[s.n.],2008.
[2]孟小峰,慈祥. 大数据管理:概念,技术与挑战[J].计算机研究与发展,2013,50(1):146 -169.
[3]潘文字,段勇.云计算在电信行业的应用研究[J].电信科学,2010(6):25 -29.
[4]潘天怡. 公共信息共享初探[J]. 中国科技资源导刊,2010(3):87 -89.
[5]李蓉芳.高校图书馆应建设学科信息共享中心[J].天津市经理学院学报,2012(1):44 -45.
[6]王启东.铁路运输企业财务信息共享中心诊断及改进研究[J].财经界,2013(18):188 -189.
[7]万莹.区域医疗信息共享协同平台技术研究及应用[D].长沙:中南大学图书馆,2012.
[8]苗秀,俞俊生,刘绍华,等.基于云计算平台的移动IPTV 系统设计及负载均衡技术研究[J]. 软件,2011,32(1):46 -53.
[9]佚名.HDFS[EB/OL]. [2014 -04 -16].http://hadoop.apache.org/docs/r1.0.4/hdfs_design.htm.
[10]佚名.MapReduce[EB/OL]. [2014 -04 -16].http://wiki.apache.org/hadoop/MapReduc.
[11]佚名.Apache Hive[EB/OL]. [2014 -04 -16].http://hive.apache.org/.
[12]佚名.Apache HBase[EB/OL]. [2014 -04 -16].http://hbase.apache.org/.
[13]孙牧. 云端的小飞象:Hadoop[J]. 程序员,2008(2):100 -102.