基于云计算的服务中间件动态管理平台的构建研究

2015-05-30 21:49王萍
东方教育 2015年9期
关键词:云计算

王萍

【摘要】在网格系统中,通常存在一个负责资源管理和任务调度的部件,由它负责调度资源以完成用户提交的作业任务并返回结果。在云计算系统中,用户根据需要申请一定的资源并部署自己的应用,不会把整个用户任务提交给系统来完成。所以,云计算系统提供的通常是基础资源,例如存储和计算能力等。随着分布式应用的快速发展,各种中间件技术和产品不断涌现。同时,由于中间件技术和产品正在快速的发展,目前还难以精确地给出完整的中间件分类。本文将针对基于云计算的服务中间件动态管理平台的构建进行研究。

【关键词】云计算;服务中间件;动态管理平台

Abstract:In the grid system,there are usually a component is responsible for the resource management and task scheduling,which is responsible for scheduling resources to complete the tasks for the user submits and returns the result.In cloud computing systems,users according to the need to apply for the certain resources and deploy your application,not the entire user tasks submitted to the system.So,is usually provided by the cloud computing system resources,such as storage and computing power.With the rapid development of distributed applications,middleware technology and products of various kinds are springing up constantly.At the same time,due to the rapid progress of the middleware technology and products are,it is difficult to accurately complete classification of middleware is given.This article will focus on service middleware based on cloud computing dynamic management platform construction are studied.

Keywords:Cloud computing;Service middleware;Dynamic management platform

引言

随着计算机技术的发展,从硬件技术看,CPU速度越来越高,处理能力越来越强:从软件技术看,应用程序的规模不断扩大[1]:许多应用程序需要在网络环境的异构平台上运行,如PC、工作站、小型机等,在这些硬件平台上又存在各种各样的系统软件(如不同的操作系统、数据库、语言编译器等),以及多种风格各异的用户界面,这些硬件系统平台还可能采用不同的网络协议和网络体系结构连接。如何把这些系统集成起来并开发新的应用是一个非常现实而困难的问题:IT厂商出于商业和技术利益的考虑,各自产品之间形成了差异,技术在不断进步,但差异却并没有因此减少:计算机用户出于历史原因和降低风险的考虑,必然也无法避免多厂商产品并存的局面[2]。

1云计算概述

图1 与网格相关的组织机构

从定义来看,网格计算和云计算都把各种IT资源视为一个虚拟资源池,并对外提供服务。网格计算希望用户能够像使用水电那样方便地使用IT资源,而云计算支持用户透明地使用IT资源,二者都有公用计算的含义。网格计算和云计算使用不同的资源分配方式。此外,从使用模式看,通常采用“自底向上”的方式设计和构建网格系统:首先已经存在一些异构资源,网格把这些资源集成在一起形成虚拟组织并为用户提供各种高层服务。网格提供的性能极其丰富,与之相对应,网格的系统接口也比较复杂。大部分云计算系统的设计模式是“自顶向下”:针对特定目标的用户群和使用模式,云计算系统提供相应的功能,除此之外,别无其他。这意味着云计算系统提供的系统接口是比较简单的。在实际应用中,可在网格设施的基础上构建云计算系统,而云计算系统也可以成为网格系统中的资源节点[3]。

2云计算中间件的必要性和可行性

中间件(Middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件之下,作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件,是集成技术的关键和热点。中间件是为解决分布异构问题提出的概念,也是消除软件孤岛现象的突破口。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台)[4]。

中间件是一类连接软件组件和应用的计算机软件,它主要提供便于运行在一台或多台机器上的多个软件通过网络进行交互的服务。中间件所提供的互操作性推动了分布式体系架构的演进。这种架构有利于支持分布式应用程序(Web服务器、事务监控器和消息队列软件)并简化其复杂度。关系数据库系统是用关系模型设计的数据库系统。关系数据库是最常用的数据库,特别适用于存储和处理商务数据。它们通常构造为数据表的形式,数据被分门别类地存放在一些结构化的数据表里。在一个分布式系统中,中间件通常提供以下两种不同类型的支持。(1)交互支持。中间件协调系统中不同组件之间的交互。中间件提供位置透明性,因为组间不需要知道其他组件的物理位置。如果使用不同的程序语言实现组件、事件检测和通信时,中间件还可能支持参数转换。可以使用中间件来支持远程过程、远程方法调用和消息交换等。(2)提供公共服务。是指被不同组件需求的服务,不管这些组件的功能是什么。即中间件提供对服务可复用的实现,这些服务可能会被分布式系统中的很多组件需要。通过使用公共服务,组件可以很容易地相互协作,并且可以持续地向用户提供服务。公共服务可能包括安全服务(身份认证和权限认证)、通知和命名服务以及事务管理服务等。可以把这些服务看作是中间件容器提供的,可以在这个容器中部署组件,并且这些组件可以访问和使用这些公共服务。

3基于云计算的服务中间件动态管理框架

3.1 服务软件设备

主动数据库是指当某些事件发生或者满足一定条件时,能够主动地完成相应处理的数据库系统。为达到此目的,许多DBMS均实现了触发器机制,来部分地实现主动数据库的功能。触发器在执行对数据的操作(包括INSERT、UPDATE、DELETE)时,能够自动执行。另外,触发器在保证数据的完整性和一致性方面,具有特别重要的意义。因为数据库中其他的技术手段,如约束、规则、默认值以及序号值,对于实现跨数据表的各字段之间的静态或动态约束关系,均无能为力。因此,要实现复杂的商业逻辑(业务规则),就必须利用触发器[5]。

3.2 服务软件设备层次化管理模型

云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现HDFS。GFS即Google文件系统(Google File System),是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用[6]。GFS的设计思想不同于传统的文件系统,是针对大规模数据处理和Google应用特性而设计的。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务[7]。云计算的数据存储技术未来的发展将集中在超大规模的数据存储、数据加密和安全性保证以及继续提高I/O速率等方面。以GFS为例,GFS是一个管理大型分布式数据密集型计算的可扩展的分布式文件系统。它使用廉价的商用硬件搭建系统并向大量用户提供容错的高性能的服务[8]。

3.3 服务软件设备按需提供机制

中间件是指处于操作系统和应用程序之间的一层软件,作用是为处于自己上层的应用程序提供运行与开发的环境,并为用户提供了一种高层次的、独立于平台的编程模型,并隐藏了复杂的底层细节。在众多关于中间件的定义中,目前比较普遍被接受的是国际数据公司(International Data Corporation,IDC)所表述的,即中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通信。

4基于云计算的服务中间件动态管理的功能与构建

大型数据库设计是一个十分复杂的工程,既包括硬件,也包括软件以及技术和管理等问题。此外,数据库是数据的集合,只是数据库应用系统的一部分,因此数据库设计必须与应用系统设计相结合,在整个设计过程中要把基于结构(数据)设计的数据驱动的设计方法和基于行为(处理)设计的功能驱动的设计方法密切结合起来。数据驱动设计方法主要致力于数据模型与建模方法的研究,着重结构特性的设计,其设计步骤一般分为数据需求分析、概念数据库设计、逻辑数据库设计、物理数据库设计、数据库实施以及数据库运行和维护六步。

4.1 虚拟计算资源的动态调度能力

在云计算平台中,数据如何放置是一个非常重要的问题。在实际使用时,需要将数据分配到多个节点的多个磁盘当中。当前有两种方式能够实现这一存储技术:一种是使用类似于Google File System的集群文件系统,另外一种是基于块设备的存储区域网络(SAN)系统。总体上来说,云计算的存储体系结构应该包含类似于Google File System的集群文件系统或者SAN。另外,开源代码Hadoop HDFS(Hadoop Distributed File System)也实现了类似Google File System的功能,这为想要做硬件甲台(或者IDC)的公司提供了解决方案。

4.2 对分布式存储的扩展支撑能力

载体通常是一个多媒体文件,可能是声音文件,也可能是图像文件。伪装夹带技术通常通过两种方法对数据进行保护:第一种是使数据不可见,隐藏它的所有痕迹;第二种是对数据进行加密,其过程不仅仅是对数据进行隐藏[6]。这样,如果隐藏的文件被发现,那仍需要对其进行解密才能使用。

伪装夹带技术会给取证调查带来很大的麻烦,但由于其使用受到时间因素的限制,因而没有得到广泛的使用。目前,如果想要“伪装夹带”一个文件,那一次只能对一个文件进行操作。许多事件中包含成百上千个文件,嫌疑人不可能有时间来找到那么多合适的载体并伪装夹带所有的文件。

4.3 关键技术及应用

为了使用户能更轻松地享受云计算带来的服务,让用户能利用编程模型编写简单的程序来实现特定的目的,云计算上的编程模型必须十分简单。必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。MapReduce是Google开发的Java、Python、C++编程模型,它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行运算。严格的编程模型使云计算环境下的编程十分简单[8]。MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。云计算大部分采用Map—Reduce的编程模式。现在大部分IT厂商提出的“云”计划中采用的编程模型,都是基于Map.Reduce的思想开发的编程工具[9]。

参考文献:

[1]钱志鹏,康东明,柏新才.面向云计算的数据中心网络结构研究[J].电气应用,2013,20:80-83.

[2]熊飞,杨洪,沈亮,等.云终端系统在电网一体化平台中的经济效益分析[J].电气应用,2013,S1:288-293.

[3]周源,冯文龙,黄梦醒.云计算环境下中间件的负载均衡机制研究[J].计算机工程与设计,2014,04:1188-1192.

[4]王娟,姚卫华,石玉江,等.基于云架构的油气藏数据智能管理技术[J].天然气工业,2014,03:137-141.

[5]汤璇,王留召,钟良.利用云计算进行LiDAR数据产品虚拟化处理[J].测绘通报,2014,05:76-79.

[6]杨海平,刘健.数字图书馆平台技术研究综述[J].图书馆理论与实践,2014,05:33-35.

[7]刘晓洪.云技术在现代物流中的应用[J].物流技术,2014,15:439-440.

[8]吴泉源.网络计算中间件[J].软件学报,2013,01:67-76.

猜你喜欢
云计算
云计算虚拟化技术在电信领域的应用研究
基于云计算的医院信息系统数据安全技术的应用探讨
志愿服务与“互联网+”结合模式探究
云计算与虚拟化
基于云计算的移动学习平台的设计
基于云计算环境下的ERP教学改革分析
基于MapReduce的故障诊断方法
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用
学术期刊云出版研究