APP下载

海洋信息云服务平台资源管理体系架构研究

2016-02-23刘会芳徐凌宇郭晨明

计算机技术与发展 2016年2期
关键词:架构资源管理服务器

刘会芳,余 洁,徐凌宇,韩 博,郭晨明

(上海大学 计算机工程与科学学院,上海 200444)

海洋信息云服务平台资源管理体系架构研究

刘会芳,余 洁,徐凌宇,韩 博,郭晨明

(上海大学 计算机工程与科学学院,上海 200444)

海洋信息化日益重要,然而存在于各个系统的资源缺乏统一部署管理。云计算的发展为大规模数据的处理和海量信息的访问提供了支撑。所以构建面向用户的软件即服务资源管理系统,对存在异构性的资源进行统一管理尤为重要。文中通过对各类资源的分析,提出了云资源管理的体系架构,并从安全性,基于REST架构的可扩展性和底层资源存储的部署等方面,给出了优化策略。在该平台上,大规模数据的访问,高并发的请求也是一种常态,通过初步构建原型系统,证明平台体系架构的可用性和高效性。

云计算;资源管理;架构;优化策略

0 引 言

随着中国经济的高速增长,中国信息化有了显著的发展,海洋信息化作为国家信息化的重要基础,在开发和利用海洋信息资源,促进海洋信息交流与共享,提升海洋各项工作效率和效益的过程中发挥着重要作用[1]。于是有大量的专业海洋信息数据库建立,与此同时海量海洋数据资源和计算模型资源也快速增长。然而各个系统部门之间独立发展,资源利用共享率低,缺乏统一部署、统一规划,难以适应目前业务的快速发展的需要,同时系统的维护难度比较大,这些问题严重制约了我国海洋资源信息化的可持续性发展。

随着云计算的发展,云计算技术已成为计算机资源交付使用的一种越来越受关注的方式。云计算平台是一种功能可动态扩展的虚拟化计算环境,具有计算资源部署的灵活性和资源访问的低成本优势。海量信息的存储、大量云计算和云服务实现,对海洋环境信息中数据、计算模型、虚拟机、存储等各类资源的集中管理、协同工作提供了支撑。云计算的服务形式主要有:软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(IaaS)。云资源即存放在云端的资源,根据服务方式的不同也可分为基础设施层资源、平台层资源和软件层资源。目前,对资源管理的研究主要集中在各个单独层的资源,然而如何对存储于不同层的资源进行统一管理和调度,并作为软件即服务,也是文中研究的重点内容。

1 相关工作

云计算是一个为客户提供随需求可变的新兴IT服务模式[2]。目前,云平台的研究主要集中在虚拟机平台的资源及Hadoop平台[3]的资源管理。

虚拟机的管理主要指IaaS层的资源管理[4],包括各种物理资源和逻辑资源的管理。对虚拟机的管理有不同的改进方法。文献[5]提出了一种基于无监督预测模型的资源配置方法,大幅度减少了能源的消耗。Hadoop主要包括HDFS存储和MapReduce计算等[6],然而在MapReduce计算中有很多负载问题,文献[7]提出利用资源管理中间件去解决它。在云计算中,移动云是一个新的领域,文献[8]提出了一种新的移动云资源管理模型,在移动云中作为新的基础服务建模和社会计算。关于云架构,文献[9]提出了三层云架构,解决从传统平台到云平台的迁移问题。然而更多关于云架构的研究是在基础设施层架构的研究[10-11]。所以当前学者主要研究的资源管理还是虚拟机的管理,对三个不同服务层的统一集中资源管理的研究还很少,作为一个SaaS服务的资源管理的研究则更少。对于每一层的服务都存在不同的资源,对于存在不同云服务层的资源如何管理,文中提出了一种新的基于三层架构的海洋信息云服务平台的资源管理体系架构,并且作为一种软件即服务提供给用户。

2 海洋云平台资源管理体系架构

这部分主要分三个方面介绍。首先研究三层云服务平台体系架构,了解服务所包括的所有资源及资源存放形式;其次根据不同资源的情况,对资源的管理内容进行详细描述,给出管理方案;再次是整个体系结构的优化。

2.1 云服务体系架构

体系架构是指一组部件以及部件之间的联系。海洋云平台的体系架构,按照云计算服务方式的话,总体可以划分为三个层次:IaaS平台、PaaS平台、SaaS平台。其中,IaaS主要是为用户按需提供实体或虚拟的计算、存储和网络资源等基础设施部署服务,而PaaS是为云计算应用程序部署及其管理提供服务,SaaS是一种基于云计算基础平台所开发的应用程序,在本平台中主要提供的服务有海洋环境信息联机分析处理、数据挖掘服务、海洋乘潮水位计算服务、复合式工作流服务等。针对不同服务有不同的服务系统,各个系统都有不同的资源,针对海洋环境信息云中的数据、计算模型、虚拟机、存储等各类资源,为了把分布于不同系统的资源存在的异构性消除,进行统一管理,首先给出整体的架构模型,见图1。分析不同层存在的不同资源,同时可以看到,在该架构中资源管理作为一个SaaS服务。

图1 云服务架构图

2.2 资源管理分解描述

由云服务架构模型图可知,不同服务包含不同的资源,资源又包括各种数据资源、计算模型资源和虚拟机资源,对这些资源如何管理,以下给出其具体分解描述。

图2给出了平台的设计架构,包括前端、Java后端、Hadoop后端和引擎端。每部分负责不同的功能,完成云资源管理的技术模型。

图2 平台设计架构图

具体管理内容如下:

定义1 数据资源:各个服务中需要的各种Argo数据、乘潮水位数据、插值数据、数据挖掘中需要的数据,以及用户本身需要的数据等。数据由集合D={k,p,d}组成。其中,k表示数据类型;p表示数据是否加密;d表示资源的描述。

定义2 模型资源:云计算中需要的各种计算模型。模型由集合M={m,r,s}组成。其中,模型M是实现MapReduce或者Spark规则的可执行程序;m表示是Spark模型还是MapReduce模型;r表示不同计算模型需要的类的命名规则;s表示模型的运行状态。

定义3 服务流:软件服务流是在将软件抽象成服务的基础上,确保定制的软件服务以流的方式组合。在该平台中,服务流由集合C={D,M,P,I,O}组成。其中,D是数据资源;M是模型资源;P是模型在云平台中的存储路径;I是模型在一个软件服务流中的输入路径;O是模型在此次软件服务流中的输出路径。

所有的资源可以分为数据资源、模型资源和虚拟机资源,数据可以根据其类型的不同用于不同的应用。数据可以在模型上运行,运行结果又可以在另一个模型上运行,如此构成一个服务流,可以用来监控模型的运行状态。对于资源管理的详细内容如图3所示。Web端需要展示的功能主要有用户管理,权限管理,资源的上传、注册,资源的分类查看,基于语义的资源查询,资源的删除、下载、预览等操作,实现私有云与公有云的机制。另外还有资源的监控功能,根据不同形式的资源分别定制不同的监控机制,包括资源使用情况监控、计算模型的执行状态监控、虚拟机使用情况的监控、各个数据节点存储情况的监控,以及集群的CPU、磁盘、内存的使用情况监控等各项功能机制,对整个体系结构中分布于不同应用层不同服务的所有资源进行统一管理。

图3 资源管理图

服务引擎为上层的操作提供业务支撑。服务引擎包含的逻辑功能有数据资源的处理功能、模型资源的处理功能、参数操作处理功能、Gis资源操作处理功能、语义服务功能,以及通过Gis资源对虚拟机的调度服务功能。针对资源的监控提供云计算工程中资源状态的动态更新功能、日志分析功能、集群的监控服务,以及虚拟机监控服务功能。提供资源交互式访问接口,负责总的资源任务调度,结构化执行模型的接口转换与控制,以及容错与错误处理等。另外部署在虚拟机上的Gis资源通过资源的注册,和服务引擎提供的虚拟机转换接口服务消除不同平台的异构性,其余应用服务的资源由统一入口存储在HDFS上,进行统一调度,实现了对海洋环境信息云中数据、计算模型、虚拟机、存储等各类资源的统一管理。

2.3 优化策略

从三个主要层次实现平台优化,提高多用户,大量数据访问平台时的稳定性、安全性。

首先,高安全性。Web端采用Flex进行可视化设计。Flex作为客户端,通过异步通信的方式和服务器进行通信,将获取的信息通过组件展现给用户。Flex应用程序框架主要由Mxml、ActionScript及Flex类库构成,可以通过如HttpService、WebService和RemoteObject与服务器进行通信,完成必要的数据交互。Flex需满足一定的条件才可以访问数据源,否则就会出现跨域不能访问的问题,条件如下:Flex运行时编译的SWF文件和需要访问的数据源需要位于同一个域内;如使用代理的话,SWF文件需要放在代理的服务器上;存放数据源的服务器上必须有crossdomain.xml(跨域策略),并且策略中有允许其他域的SWF文件访问权限的标识字段[12]。因此使用Flex进行交互,在一定程度上保证了数据的高安全性。

其次,扩展性强。系统利用Restful架构和交互数据库提高系统的扩展性。传统的Web服务主要使用SOAP协议交换信息,在交换信息前,不同的系统需要创建契约,契约是对交互过程的抽象。随着应用规模的扩大,使用SOAP协议的Web服务的很多不足也暴露出来,例如系统臃肿、扩展性不强、复杂性高、性能低下等。为了解决这些问题,REST架构风格Web服务被提出[13]。RESTful Web服务是基于资源定向的架构模式。RESTful架构主要利用HTTP和URL技术,通过HTTP的CRUD(创建、读取、更新和删除)的操作访问资源(一个Web服务)。实际上,为了访问资源,客户端给资源发送一个HTTP请求。请求的方法主要是POST、GET、PUT或者DELETE,并且资源是被URL识别。然后资源会执行这个业务逻辑,最后生成响应数据,并将其发送给客户端[14],如图4所示。

图4 Restful架构图

前端用户传递的数据信息封装之后通过Rest传递给云平台,对数据进行存储,并将相关数据信息填入交互数据库,服务引擎负责读取数据,将用户自己个性化的资源反馈给用户,用户实现对自己资源的管理。交互数据库完全释放了服务引擎的额外工作压力,引擎可以专注于处理调度、容错、优化及错误补救等工作,这种模式在处理大规模用户访问时尤为重要。

再次,快速访问底层数据节点。通过分析HDFS存储模式,为了快速存储,设计了新的部署方式。底层Hadoop平台的HDFS集群一般是由一个Namenode和一定数目的Datanode组成。Namenode处于主导地位,是一个中心服务器,主要负责文件系统的名字空间的操作,如打开、新建、关闭和重命名文件或目录。Namenode以文件系统树的形式存放所有的文件和文件夹的元数据,这些元数据也会通过命名空间镜像及修改日志保存在磁盘上。Datanode主要负责处理来自Client端的读写请求,是HDFS文件系统中真正存储数据的地方。Client端主要与Namenode和Datanode交互,进行文件读写操作[15]。Datanode通过心跳机制向Namenode汇报自身整体的运行状况,Namenode会根据Datanode的运行状态,进行数据块分配、读取及负载均衡。为了提高效率,设计了一种新的部署方式,存放节点可以直接向浏览器发送数据,加快数据访问。每台Datanode服务器都部署了Apache Tomcat,对外提供一个相同的域名服务器,用户在浏览器上直接访问该服务器,服务器中的分发程序接收来自浏览器的请求,并通过HDFS的接口判断请求的文件是否存放在当前节点上,如果没有,则会根据地址重定向到存放该文件的节点服务器上,进而提高资源存储读取的效率。

3 示范实现

该模型的系统应用已经在国家海洋信息中心海洋环境信息云服务器上完成了部署运行。在实验环境下,综合考虑交互频率和处理负荷,Web服务和数据库部署在一台Web服务器上,为Win7操作系统。Hadoop平台由4台IBM服务器搭建,虚拟机凭条由4台IBM服务器搭建,均为CentOS5.6,服务器的配置为CPU8 Inter(R) Xeon(R)2.4 GHz,内存为12 GB,硬盘1.5 TB并做了Raid5备份,平台支持各种云服务。

响应时间是反映应用程序性能的一个非常重要的参数。响应时间指的是应用或者系统对一个请求数据的回应。

分别对文中架构系统和普通的集群系统,以PlantsByWebSphere网站为对象,用户登录、对资源操作为测试场景,随着虚拟用户增长,页面响应时间结果见图5。

在文中架构系统中,刚开始随着用户的增长,响应时间是近似线性增长的趋势;当用户使用达到一定数量,系统响应时间趋于稳定,说明文中结构下的系统对高并发的用户请求稳定性强。与文中架构系统相比,当虚拟用户数超过4 000后,普通集群系统响应时间变长。因此当有大量用户访问时,文中系统架构的响应时间大为提高。

上述的实验同步获取了文中体系架构系统的CPU和内存数据,见图6。

图6 CPU/内存利用率

通过这些数据进一步量化整个平台的整体性能。随着用户增多,任务数增多,数据集数据量的增加,CPU利用率基本上都处于40%~50%左右,与当前数据集规模基本无关。说明在云环境下,任务完成时间相应增加,而各CPU负载总体稳定。内存的利用率基本上都处于80%以上,与当前用户数多少关联不大。说明在云环境下,内存的利用效率较高,平台的存储和交换空间处于比较饱和的状态。同时也说明CPU和内存在执行大规模任务时利用率较高,计算节点负载达到平衡且运行稳定。

4 结束语

文中通过分析海洋数据信息化,提出通过云计算技术管理海洋数据。然而在不同的云服务中包含不同的资源,包括数据、计算模型、虚拟机和存储数据等。在对这些资源进行统一管理和协同工作方面,提出了基于不同服务层的云平台资源管理模型,并作为SaaS服务。然后对该模型架构进行详细的描述和平台优化,来统一管理这些资源并为其他服务做支撑,进行资源的存储和管理。最后,通过部署系统,测试系统的响应时间和CPU,内存的利用率表明,系统有很好的稳定性。然而,对资源的调度问题,需要做进一步的研究。总之,它对海洋数据的管理和云计算中SaaS的资源管理研究具有一定的参考价值。

[1] 许莉莉,汤海荣,张燕歌.海洋信息化标准体系研究[J].中国标准导报,2015(1):49-51.

[2] Bernabe J B,Perez J M M,Calero J M A,et al.Semantic-aware multi-tenancy authorization system for cloud architectures[J].Future Generation Computer Systems,2014,32(1):154-167.

[3] Islam M,Huang A K.Oozie:towards a scalable workflow management system for Hadoop[C]//Proceedings of the ACM SIGMOD workshop on scalable workflow execution engines and technologies.[s.l.]:ACM,2012:1-10.

[4] Manvi S S,Shyam G K.Resource management for Infrastructure as a Service (IaaS) in cloud computing:a survey[J].Journal of Network and Computer Applications,2014,41:424-440.

[5] Chihi H,Chainbi W,Ghedira K.An energy-efficient self-provisioning approach for cloud resources management[J].ACM SIGOPS Operating Systems Review,2013,47(3):2-9.

[6] Moise D, Antoniu G. Improving the Hadoop Map/Reduce framework to support concurrent appends through the BlobSeer BLOB management system[C]//Proceedings of the 19th ACM international symposium on high performance distributed computing.[s.l.]:ACM,2010:834-840.

[7] Lim N,Majumdar S,Ashwood-Smith P.Engineering resource management middleware for optimizing the performance of clouds processing MapReduce jobs with deadlines[C]//Proceedings of the 5th ACM/SPEC international conference on performance engineering.[s.l.]:ACM,2014:161-172.

[8] Ikram A,Anjum A,Bessis N.A cloud resource management model for the creation and orchestration of social communities[J].Simulation Modelling Practice and Theory,2015,50:130-150.

[9] Pardeshi V H.Cloud computing for higher education institutes:architecture,strategy and recommendations for effective adaptation[C]//Proc of SIMSARC13.[s.l.]:[s.n.],2014:589-599.

[10] Dukaric R,Juric M B.Towards a unified taxonomy and architecture of cloud frameworks[J].Future Generation Computer Systems,2013,29:1196-1210.

[11] Wang Jianwu,Korambath P,Altintas I.Workflow as a service in the cloud:architecture and scheduling algorithms[C]//Proc of 14th international conference on computational science.[s.l.]:[s.n.],2014:546-556.

[12] 汪 蓉.基于Flex的RIA技术的研究和应用[J].湖北科技学院学报,2014,34(6):1-2.

[13] 李 延.基于REST架构的web服务技术研究[D].武汉:武汉理工大学,2013.

[14] Niu Zhixiang,Yang Cheng,Zhang Yingya.A design of cross-terminal web system based on JSON and REST[C]//Proc of 2014 IEEE 5th international conference on software engineering and service science.[s.l.]:IEEE,2014:904-907.

[15] Luo Yifeng,Luo Siqiang.A RAMCloud storage system based on HDFS:architecture,implementation and evaluation[J].Journal of Systems and Software,2013,86:744-750.

Research on Resource Management Architecture for Marine Information Cloud Services Platform

LIU Hui-fang,YU Jie,XU Ling-yu,HAN Bo,GUO Chen-ming

(School of Computer Engineering and Science,Shanghai University,Shanghai 200444,China)

Marine information is becoming more and more crucial while the resources existing in various systems lack of unified deployment management.The development of cloud computing provides support for large-scale data processing and massive information accessing,so it is particularly significant for heterogeneity-existing resources to build user-oriented cloud resources management system as Software-as-a-Service (SaaS) to do unified management.Through the analysis of all kinds of resources,put forward the cloud resources management architecture.In consideration of security,based on the scalability of REST architecture and the rapid storage parts,give the optimization strategy.On this platform,high concurrency and high-density access are a normal status.By building a prototype system in preliminary,the availability and efficiency of the system architecture is proved.

cloud computing;resource management;architecture;optimization strategy

2015-05-20

2015-08-24

时间:2016-01-26

国家“十二五”规划项目(201105033)作者简介:刘会芳(1990-),女,硕士,研究方向为云计算技术;余 洁,副教授,研究方向为云计算、网络个性化搜索等;徐凌宇,教授,研究方向为云计算、信息融合、互联网金融等。

http://www.cnki.net/kcms/detail/61.1450.TP.20160126.1521.054.html

TP302

A

1673-629X(2016)02-0007-05

10.3969/j.issn.1673-629X.2016.02.002

猜你喜欢

架构资源管理服务器
基于FPGA的RNN硬件加速架构
人事档案管理在人力资源管理中的作用
人力资源管理促进企业绩效提升
企业人力资源管理
功能架构在电子电气架构开发中的应用和实践
通信控制服务器(CCS)维护终端的设计与实现
GIS在森林资源管理中的应用
WebGIS架构下的地理信息系统构建研究
中国服务器市场份额出炉
得形忘意的服务器标准