云计算的关键技术及应用论文_华丽1,陈澄2,梁立1

云计算的关键技术及应用论文_华丽1,陈澄2,梁立1

(1湖北省孝昌县气象局 湖北孝感 4320002;2湖北省孝感市气象局 湖北孝感 432000)

摘要:本文首先简单介绍了云计算产生背景及国内外发展情况, 阐明云计算发展是必然趋势。然后详细分析云计算在数据存储、数据管理、编程模式等关键技术。接着描述两个典型云计算应用案例,最后分析总结云计算将会有良好应用空间和前景。

关键词:云计算;技术;应用

引言

随着互联网快速地发展,网络信息和数据呈爆发式增长,相应海量数据存储和数据处理所需计算需求也与日俱增。因此要不断投入硬件设备,以提高系统存储空间和计算能力。同时传统单机并行编程框架局限性,迫切需要一种简单、低成本和易扩展分布式计算框架[1]。在这样情况下,为节省成本和实现系统良好可扩展性,云计算应运而生。

云计算是一种提供高性能、低成本的持续计算和服务的网络计算[2],支持各种异构软硬件基础资源,能动态添加和修改基础资源,具有良好兼容性和可扩展性,提高计算资源利用率,降低成本,促进节能减排,实现真正理想的绿色低碳计算。

1关键技术

1.1分布式存储技术

为保证高可用性、高可靠性和经济性,云计算采用分布式存储方式存储数据,采用冗余存储方式存储数据。另外云计算系统需要同时满足大量用户需求,并为大量用户提供服务。因此云计算数据存储技术必须具有高吞吐率和高传输率。云计算数据存储技术主要有 Google的非开源文件系统 GFS和Hadoop开发团队开发的 HDFS。

GFS是Google公司开发的专属分布式文件系统,为大量廉价硬件上提供有效可靠数据访问。GFS针对Google 的核心数据存储和使用需求优化,保存搜索引擎产生的大量数据。Google的Internet搜索计算借鉴函数式编程模式,函数式操作不会修改原始数据而总是产生新的计算结果数据,能产生大量巨型文件,以读为主,可追加但很少重写,具有高吞吐率。

HDFS架构建立在大量普通配置的计算机组成的集群上。集群中节点通常都运行GNU/Linux 操作系统同时必须支持Java,因HDFS是用Java实现的。HDFS采用主从架构,集群有一个Master和多个Slave。理论上一台计算机可运行多个DataNode进程、一个NameNode进程,但实际是一台计算机运行一个DataNode或NameNode。一个文件被分割成多块,存储在一组DataNode上。DataNode负责打开、关闭和重命名文件及目录,建立块与DataNode之间映射。DataNode负责响应客户读/写需求,在NameNode指挥下实现块建立、删除及复制。现有HDFS架构使用Java的Map接口,不利于任务分解和并行处理,因此HDFS仅在数据存储上实现分布式,数据处理是集中式。

1.2分布式数据管理技术

云计算需要对分散海量数据处理、分析,数据管理技术必须能高效管理大量数据,即对海量数据存储、读取后大量分析,数据读操作频率要远大于数据更新频率,采用数据库领域中列存储数据管理模式,将表按列划分后存储的读优化数据管理。云计算系统中数据管理技术主要是Google的BigTable数据管理技术和Hadoop 团队开发的开源数据管理模块HBase。

BigTable是Goosle构建在GFS及Chubby(一种分布式锁服务)之上一种压缩、高效专属数据库系统,是一种结构化分布式存储系统,它把所有数据都作为对象处理,形成巨大表格,用来分布存储大规模结构化数据。Hbase是一个实现类似BigTable的开源分布式数据库,用于支持数据密集型分布式应用,可在上千个节点上运行,支持PB级数据量。

1.3分布式任务技术

为使用户能更轻松享受云计算服务,利用该编程模型编写简单程序实现特定目的,云计算采用类似Map/Reduce编程模式Map/Reduce通过Map(映射)和Reduce(化简)这样两个简单概念参加运算。

期刊文章分类查询,尽在期刊图书馆用户只需要提供自己Map函数及Reduce函数就可在集群上进行大规模分布式数据处理。

MapReduce则是 Google提出的一个软件框架,以支持在大规模集群上大规模数据集(大于lTB)并行计算。架构设计是受到函数式程序设计中两个常用函数映射(Map)和化简(Reduce)启发,完成Google搜索结果分析时大量计算并行化处理,如文献词频统计等。

MapReduce计算模型对于有高性能要求应用及并行计算领域需求非常适合。当需对大量数据做同样计算时,可把数据划分到不同机器上分别作计算。其工作原理是通过将输入数据自动切片而将映射调用分布在多台机器上,再对中间结果键值空间划分而将化简调用分布到多台机器上,将文件切分成M片,然后启动集群上多个程序拷贝。

被赋予映射任务从节点读入相应输入数据片内容,分析其键/值对并将其传递给用户定义的映射函数。映射函数产生的中间结果键/值对在内存中缓存。化简从节点迭代处理这些有序的中间数据,针对每个中间键值它将对应一组中间值传给用户化简函数。化简函数输出被追加到该化简模块,当所有映射和化简任务完成后,主节点会通知用户程序,用户程序中MapReduce调用返回到用户代码,完成后MapReduce执行的输出结果就在R个输出文件中。用户可将其合并,也可作为下一次MapReduce调用或其它分布式应用输入。

2应用案例

2.1亚马逊云计算

亚马逊AWS( 亚马逊网络服务),即Amazon 提供的云计算服务,包括弹性计算云EC2、简单存储服务S3、简单数据库服务SimpleDB、简单队列服务SQS、弹性MapReduce 服务、内容推送服务、CloudFront 电子商务服务等。

①弹性计算云EC2,是一部具有无限采集能力虚拟计算机,用户能用来执行一些处理任务,EC2具有灵活性、低成本、安全、易用和容错性。

②简单存储服务S3,为任意类型文件提供临时或永久存储服务。非传统关系数据库存储模式简单、高效等,提供存储读取、查询等功能。

③简单数据库服务Simple DB,是为复杂结构化数据建立,支持数据查找、删除、插入等操作。Simple DB采用树状结构,没有事务概念,不支持连接操作,实际存储数据类型过于单一,查询结果只包含条目名称而不包括相应属性值,返回结果不支持排序操作。

④简单队列服务SQS,目标是解决低耦合系统间通信问题,支持分布式计算机系统间工作流,简单且无处不在。

2.2谷歌云计算

谷歌云计算服务:谷歌应用引擎(GAE)特点包含:

①Google App Engine能让开发人员在支持自己应用可扩展系统上构建网络应用程序。

②无需拼凑开发环境。Google App Engine提供完全集开发环境。

③易于扩展。Google App Engine可轻松设计可扩展应用程序,无论用户增加多少,都无需再担心基础可架构问题。

④免费开始使用。每个Google App Engine应用程序都会拥有足够CPU带宽和存储空间来免费支持每月五百万次左右页面访问量。当需要其他资源时,可以有竞争力价格购买,并只需为所使用那部分资源付费。

3总结

尽管云计算发展尚处于起步阶段,但已显示出越来越大应用空间。云计算宣告低成本提供超级计算机时代到来,为使用网络用户提供无限多可能,为存储数据提供几乎无限量空间,也为各种应用提供无限大计算能。本文通过分析云计算关键技术和典型云计算应用案例,深入解读云计算,将更利于推动云计算发展。

参考文献:

[1]张景云.云计算的发展与应用[J].微计算机信,2012,28(1).

[2]韩金华.云计算综述[J].企业技术开发.2010,29(15).

第一作者简介:华丽(1987-),女,汉族,湖北省孝感市人,在职研究生,工程师,从事气象工作。

论文作者:华丽1,陈澄2,梁立1

论文发表刊物:《科技研究》2018年11期

论文发表时间:2019/1/24

标签:;  ;  ;  ;  ;  ;  ;  ;  

云计算的关键技术及应用论文_华丽1,陈澄2,梁立1
下载Doc文档

猜你喜欢