物联网业务及应用.docx_第1页
物联网业务及应用.docx_第2页
物联网业务及应用.docx_第3页
物联网业务及应用.docx_第4页
物联网业务及应用.docx_第5页
免费预览已结束,剩余57页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物联网技术与应用第8章 物联网业务及应用图8.1 感知层和网络层相关技术如图8.1所示,通过前面章节,我们已经学习了物联网系统结构感知层和网络层当中的相关技术,为了更好理解这些技术,在本章我们对这些技术加以应用,以便让同学们更为系统地掌握物联网中的感知技术、网络接入和承载技术、组网技术和物联网中间件技术。随着物联网的快速发展,各类物联网业务持续增长,已经应用到物流信息化、企业一卡通、公交视频、校园通、手机购物、手机钱包、智能电网、智慧城市、智能交通、智能医疗等各行各业中。由于物联网业务应用的广泛性,所以分类方法很多,我们可以从网络技术特征把物联网业务大致分为四类,分别是:身份相关业务、信息汇聚型业务、协同感知类业务和泛在服务。(1)身份相关业务类应用主要是利用射频标识(RFID)、二维码、条形码等可以标志身份的技术,并基于身份所提供的各类服务;(2)信息汇聚型业务主要是由物联网终端采集、处理,经通信网络上报数据,由物联网平台处理,提交具体的应用和服务,其典型结构示意图如图8.2所示。具体的应用类型如农业大棚、智能家电、电梯管理、智能电网、交通管理等,整个系统主要由机器到机器(M2M)终端、通信网络、平台、应用以及运营系统构成;(3)在信息汇聚型业务中,物联网的终端只要接受物联网平台管理,执行数据采集、简单处理、上报和接受管理等功能,物联网终端之间不需要进行通信。然而,随着物联网的发展,物联网应用应该能够提供更为复杂的业务和服务,也需要物联网终端之间、物联网终端和人之间执行更为复杂的通信,而且这种通信能力在可靠性、时延等方面可能有更高要求,对物联网终端的智能化要求也更为突出,这样才能满足协同处理的要求;(4)泛在服务以无所不在、无所不包、无所不能为基本特征,以实现在任何时间、任何地点、任何人、任何物都能顺畅地通信为目标,是服务的极致。图8.2 物联网信息汇集业务示意图图8.3 物联网应用示意图物联网应用目前蓬勃发展,涉及日常工作生活的多个领域,如图8.3所示。在电力行业,远程抄表、输变电监测、节能等应用正在逐步拓展;在交通领域,路网监测、车辆管理和调度等应用正在发挥积极作用;在物流领域,物品仓储、运输、监测应用正广泛推广;在医疗领域,个人健康监护、远程医疗等应用日趋成熟。除此之外,物联网在环境监测、市政设施监控、楼宇节能、食品药品溯源、工业自动化、公共安全等方面也开展了广泛的应用。本章我们在前面章节学习的基础之上,重点学习物联网的业务和几个典型应用案例,以便加深对物联网应用的理解。8.1 M2M业务M2M是Machine-to-Machine/Man的简称,是一种以机器终端设备智能交互为核心的、网络化的应用与服务。它通过在机器内部嵌入通信模块,通过各种承载方式将机器接入网络,为客户提供综合的信息化解决方案,以满足客户对监控、指挥调度、数据采集和测量等方面的信息化需求。M2M业务通过感知、智能设备获得客观世界事物的信息,并对感知到的信息进行分析和智能化的处理,与通信对象进行交互,完成应用相关的业务逻辑。M2M应用非常丰富,各种应用的特征也不相同。例如在健康医疗生命体征监测应用中,普通的生命体征数据只需要周期性地传送或在事件驱动的情况下传送,只需要传输少量的数据信息,不需要很大的网络带宽,只有在紧急情况下数据信息才需要实时传送,需要较高的QoS级别保证。而在视频监控类业务中则需要传输大量的监控信息,需要较高的网络带宽。与话音等传统通信业务相比,M2M应用在通信特征方面呈现出差异化和多样化。从M2M到物联网并非一个全新概念,比尔盖茨在华盛顿湖畔的智能化豪宅,联想、长虹等国内厂商推出的闪联标准,国内外运营商推出的手机支付、路灯监控等M2M应用都是物联网的雏形。就如互联网之初也是由一个个局域网构成,现有的M2M应用也是物联网的构成基础。从M2M到物联网,已经为世界勾画出了一幅智能化的未来画卷。物联网由分布式中央处理单元、传输网络和感应识别末梢组成,也可以说是由无数个M2M系统构成,就如人身体不同机能一样,不同的M2M系统负责不同的功能处理,通过中央处理单元协同运作,最终组成智能化的社会系统,如图8.4。图8.4 M2M与物联网关系8.1.1 M2M概述物联网中最核心部分就是机器设备间的互联互通,也就是M2M。2009年初,IBM提出了智慧地球,将地球上各种设备联网,将数据汇集到后台系统实现智能管理。同年8月份,温家宝总理在江苏无锡指出大力发展智能信息化建设(即“感知中国”),物联网推进工作逐步展开。8.1.2 M2M系统架构和通信协议 M2M系统架构1 M2M系统架构图图8.5 M2M系统结构与技术体系类似于物联网的三层体系架构,M2M系统架构也分为应用层、网络传输层和设备终端层,如图8.5所示。应用层提供各种平台和用户界面以及数据的存储,并通过中间件与网络传输层相连,通过无线网络传输数据到终端。当机器设备有通信需求时,会通过通信模块和外部硬件发送数据信号,通过通信网络传输到相应的M2M网关,然后进行业务分析和处理,最终到达用户界面,人们可以对数据进行读取,也可以远程操控机器设备。应用层的业务服务器也可以实现机器之间的互相通信来完成总体的任务。(1) 应用层应用层包括中间件、业务分析、数据存储和用户界面等几部分。其中数据存储用来临时或者永久存储应用系统内部的数据,业务分析面向数据和应用,提供信息处理和决策,用户界面提供用户远程监测和管理的界面。中间件包括M2M网关和数据收集/集成部件两部分。网关是M2M系统中的“翻译员”,它获取来自通信网络的数据,将数据传送给信息系统。主要的功能是完成不同通信协议之间的转换。数据收集/集成部件是为了将数据变成有价值的信息,对原始数据进行不同加工处理,并将结果呈献给需要这些信息的观察者和决策者。(2) 网络传输层网络传输层即用来传输数据的通信网络。从技术上来分,通信网络包括:广域网(无线移动通信网络、卫星通信网络、Internet、公众电话网)、局域网(以太网、WLAN、Blue-tooth)、个域网(ZigBee、传感器网络)等。(3) 设备终端层设备终端层包括通信模块以及硬件系统等。通信模块产品按照通信标准可划分为移动通信模块、ZigBee模块、WLAN模块、RFID模块、蓝牙模块、GPS模块和网络模块等,硬件系统包括从传感器收集数据的I/O端口、协议转换接口、控制终端、传感器,以及调制解调器、天线、线缆等部件。设备终端层的作用是通过无线通信技术发送机器设备的数据到通信网络,最终传送给服务器和用户。而用户也可以通过通信网络传送控制指令到目标通信终端,然后通过控制系统对设备进行远程控制和操作,从而形成一个闭环。2 典型M2M业务体系图8.6 移动物联网业务体系结构典型的M2M业务体系主要由M2M终端、M2M平台、M2M应用业务平台、短信网关、USSDC、GGSN、BOSS、行业终端监控平台和网管系统组成,如图8.6所示。(1) M2M终端:M2M终端基于WMMP协议并具有接收远程M2M平台激活指令、本地故障告警、数据通信、远程升级、数据统计以及端到端的通信交互等功能。(2) M2M平台:为M2M应用服务客户提供统一的M2M终端管理和终端设备鉴权,并对目前短信网关尚未实现的接入方式进行鉴权。支持多种网络接入方式,提供标准化的接口使得数据传输简单直接,提供数据路由、监控、用户鉴权和计费等管理功能。(3) M2M应用业务平台:为提供各类M2M应用服务业务,由多个M2M应用业务平台构成,主要包括个人、家庭、行业三大类M2M应用业务平台。(4) 短信网关:包括行业应用网关和移动网络网关组成,与短信中心连接,提供通信能力,负责短信通信过程中的业务鉴权。短信网关产生短信等通信原始使用话单,送给BOSS计费。(5) USSDC(非结构化补充数据业务):负责建立M2M终端与M2M平台的USSD通信。(6) GGSN(网关GPRS支持节点):负责建立M2M终端与M2M平台的GPRS通信,提供数据路由、地址分配及必要的网间安全机制。(7) BOSS(业务运营支撑系统):与短信网关和M2M平台相连,完成客户管理、业务受理、计费结算和收费功能。对EC/SI提供的业务进行数据配置和管理,支持签约关系受理功能,支持通过HTTP/FTP接口与行业网关、M2M平台、EC/SI进行签约关系以及黑白名单等同步功能。(8) 行业终端监控平台:M2M平台提供FTP目录,将每月统计文件存放在FTP目录,供行业终端监控平台下载,以同步M2M平台的终端管理数据。(9) 网管系统:网管系统与平台网络管理模块通信,完成配置管理、性能管理、故障管理、安全管理及系统自身管理等功能。 WMMP通信协议1 WMMP协议背景在WMMP协议提出之前,M2M技术通常采用两种方式实现:两台具有GPRS功能的M2M终端直接通讯,双方通过无线方式接入核心网后进行连续通讯;将一台GPRS终端作为M2M终端,将一台电脑作为服务器放在Internet上作为M2M应用,终端通过无线方式进行通讯。对于第一种方式,整个系统过于简单,只要终端数量增加,相互间的逻辑关系就会复杂到无法有条理的区分;对于第二种方式,则受到无线网内互联相关法规的约束而发展缓慢。此外终端合法性、终端通讯异常处理、终端上报数据统计、终端与服务器之间通讯协议也是当时M2M技术中难以解决的问题。2 WMMP协议概述WMMP(Wireless M2M Protocol)协议是为实现M2M业务中M2M终端与平台以及应用平台三者相互之间数据通信过程而设计的应用层协议,其体系如图8.7所示。WMMP协议为M2M架构中的协议泛称, M2M终端和平台接口协议完成M2M平台与M2M终端之间的数据通信,以及终端之间借助M2M平台转发、路由所实现的端到端数据通信,是WMMP协议体系中最重要的部分。图8.7 WMMP体系(WMMP-A:M2M应用接口协议 WMMP-T:M2M终端接口协议)WMMP协议的核心是其可扩展的协议栈及报文结构,其外层是由WMMP协议核心衍生的接入方式,与通信机制和安全机制没有任何关系。在此基础之上,由内向外依次为WMMP的M2M终端管理功能和WMMP的M2M应用扩展功能。3 WMMP协议栈结构图8.8 M2M终端与M2M平台之间的通信协议栈结构WMMP协议建立在TCP/IP或UDP/IP协议、SMS和USSD之上,其协议栈结构如图8.8所示。在网络质量欠佳的情况下,建议优先采用UDP协议。例如在采用GPRS作为接入方式时,建议采用UDP协议作为传输层协议,这是由于GPRS网络带宽较窄,延迟较大,不适于采用TCP协议进行通信。采用UDP方式通信,可以提高传输效率,减少数据流量,节省网络带宽资源。UDP是无连接的、面向消息的数据传输协议,与TCP协议相比,它有两个致命的缺点:一是没有确认机制,数据包容易丢失;二是数据包无序。因而,M2M数据通信过程通过在UDP的上层应用层的WMMP协议实现类似TCP的包确认和重传机制,从而提高通信效率及可靠性。根据实际经验发现,采用UDP方式传输,丢包率能控制在1%以下,能够满足M2M应用的需要。4 WMMP协议通信方式WMMP协议中采用了逻辑连接的概念。所谓逻辑连接是指M2M终端与M2M平台一次完整的报文交互过程。M2M终端以登录请求报文向M2M平台登录,其后M2M平台鉴权成功并发送登录应答报文为开始,以通信双方一端发起退出请求,另一端发出退出应答作为结束,在逻辑连接中通信超时也视为连接结束。在此交互过程中,通信形式可以是SMS、USSD、或基于GPRS的TCP或UDP方式,也可以是混合模式,即通信方式可在逻辑连接中切换。但需要注意的是,对于一对请求和应答,必须在同一通信方式下完成。(1) 长连接和短连接采用基于IP的通信方式做承载时,根据M2M终端与M2M平台之间的IP链路连接是否一直存在,可分两种连接方式:长连接和短连接。所谓长连接,指在一个连接过程中可以连续发送多个数据报文,如果没有数据报文发送,需要M2M终端发送心跳报文以维持此连接。短连接是指通信双方有数据交互时,就建立一个WMMP连接过程,数据发送完成后,则断开此WMMP连接过程。无论长连接,还是短连接,在采用IP方式时,都可以根据实际网络通信质量采用TCP或UDP方式。若网络通信质量较好时(3G网络以上),可以优先选择TCP协议作为传输方式。(2) 协议端口本协议在UDP协议下使用的端口暂定为9991,在TCP协议下使用的端口暂定为9992。(3) 交互过程中的应答方式WMMP协议数据报文以同步方式交互,如不作特殊说明,每一个数据报文请求必须有一个应答。当M2M终端通过SMS方式传送数据时,由于每条短消息只能传送140字节,可能需要发送多条短消息。每次M2M终端使用SMS方式(采用8比特编码,数据编码方式为0x04)传送数据到M2M平台,M2M平台在接收到数据后,都向M2M终端回送应答,M2M终端在接收到应答后再发送下一次信息。当M2M终端通过USSD方式传送数据时,首先向M2M平台发起处理USSD会话请求,M2M平台应答后,M2M终端对数据进行BASE64编码,然后采取ASC编码方式(数据编码方式为0x0F)传输。USSD方式每次最多传送160字节,由于存在BASE64编码转换,实际的有效传输数据量为120字节。M2M平台收到后给予应答,然后M2M终端再传送剩下的数据,直到数据传送完成关闭USSD会话。当M2M终端采用IP方式传送数据时,底层采用TCP/IP或UDP/IP协议,一般采用UDP/IP。M2M终端使用设置的端口号向M2M平台发起连接,连接建立后向M2M平台传送采集数据,M2M平台收到后给予应答。8.1.3 M2M支撑技术随着科学技术的发展,越来越多的设备具有了通信和连网能力,网络一切(Network Everything)逐步变为现实。人与人之间的通信需要更加直观、精美的界面和更丰富的多媒体内容,而M2M的通信更需要建立一个统一规范的通信接口和标准化的传输内容。M2M是一种理念,也是所有增强机器设备通信和网络能力的技术总称。人与人之间的沟通很多也是通过机器实现的,例如通过手机、电话、电脑、传真机等。另外一类技术是专为机器和机器建立通信而设计的。例如许多智能化仪器仪表都带有RS-232接口和GPIB通信接口,增强了仪器与仪器之间,仪器与电脑之间的通信能力。当然目前物联网领域绝大多数的机器和传感器尚不具备本地或者远程的通信和连网能力。无论哪一种M2M技术与应用,它们都有五个重要的技术组成部分,即机器、M2M硬件、通信网络、中间件和应用,如图8.9所示。图8.9 M2M系统组成(1) 智能化机器:使机器能够“开口说话”,让机器具备信息感知、信息加工(计算能力)和无线通信能力。实现M2M的第一步就是从机器/设备中获得数据,然后把它们通过网络发送出去。使机器具备“说话”能力的基本方法有两种:生产设备的时候嵌入M2M 硬件;对已有机器进行改装,使其具备通信/联网能力。(2) M2M硬件:进行信息的提取,从各种机器/设备那里获取数据,并传送到通信网络。现有M2M 硬件产品主要可分为五种。 嵌入式硬件嵌入到机器里面,使其具网络通信能力。常见的产品是支持GSM/GPRS或CDMA无线移动通信网络的无线嵌入数据模块,例如Nokia 12 GSM 嵌入式无线数据模块;Sony Ericsson 的 GR 48和GT 48;Motorola的G18/G20 for GSM,C18 for CDMA;Siemens 用于GSM网络的TC45、TC35i、MC35i等嵌入式模块。 可组装硬件在M2M工业应用中,厂商拥有大量不具备M2M 通信和连网能力的设备仪器,可组装硬件就是为满足这些机器的网络通信能力而设计的,实现形式也各不相同,包括从传感器收集数据的I/O设备,以及可以完成协议转换功能,并将数据发送到通信网络的连接终端。 调制解调器嵌入式模块将数据传送到移动通信网络或通过公用电话/以太网送出时,都需要相应的调制解调器。 传感器传感器可分成普通传感器和智能传感器两种。智能传感器(Smart Sensor)是指具有感知能力、计算能力和通信能力的微型传感器。由智能传感器组成的传感器网络是M2M技术的重要组成部分。一组具备通信能力的智能传感器以Ad Hoc方式构成无线网络,协作感知、采集和处理网络覆盖的地理区域中感知对象的信息,并发布给用户。也可以通过GSM网络或卫星通信网络将信息传输给远程服务器。典型产品如Intel基于微型传感器网络的发展规划智能微尘(Smart Dust)等。目前智能微尘面临的最具挑战性的技术难题之一是如何在低功耗下实现远距离传输,另一个技术难题在于如何将大量智能微尘自动组织成网络。 识别标识识别标识如同每台机器或每个商品的“身份证”,使机器之间可以相互识别和区分。常用技术包括条形码技术和射频识别技术等。标识技术已经被广泛用于商业库存和供应链管理。(3) 通信网络:其作用是将信息传送到目的地。网络技术彻底改变了我们的生活方式和生存面貌,而随着M2M技术的出现,使得网络社会的内涵有了新的内容。网络社会的成员除了原有人、计算机和IT设备之外,数以亿计的非IT机器/设备正要加入进来。随着M2M技术的发展,这些新成员的数量和数据交换的网络流量将会迅速地增加。通信网络在整个M2M技术框架中处于核心地位,包括:广域网(无线移动通信网络、卫星通信网络、光纤骨干网、Internet、公众电话网)、局域网(以太网、无线局域网WLAN、Bluetooth)和个域网(ZigBee、传感器网络)。在M2M技术框架中的通信网络中,有两个主要参与者,他们是网络运营商和网络集成商。尤其是移动通信网络运营商,在推动M2M技术应用方面起着至关重要的作用。第三代移动通信技术除了提供语音服务之外,数据服务业务的开拓是其发展的重点。随着移动通信技术向3G和4G的演进,必定将M2M应用带到一个新的境界。国外提供M2M服务的网络有AT&T Wireless的M2M数据网络计划,Aeris的MicroBurst无线数据网络等。(4) 中间件(Middleware) :中间件在通信网络和IT 系统间起桥接作用,包括M2M 网关和数据收集/集成部件两个部分。网关是M2M系统中的“翻译员”,获取来自通信网络的数据,并将数据传送给信息处理系统,主要的功能是完成不同通信协议之间的转换。典型产品如Nokia的M2M网关。数据收集/集成部件是为了将数据变成有价值的信息。对原始数据进行不同加工和处理,并将结果呈现给需要这些信息的观察者和决策者,例如数据分析和商业智能部件,异常情况报告和工作流程部件,数据仓库和存储部件等。(5) 应用:对获得数据进行加工分析,为决策和控制提供依据。8.1.4 M2M业务应用在不久的将来,人与人通信的手机可能仅占整个无线移动终端设备数量的1/3,而大量的通信是以机器到机器(M2M)终端的方式,通过移动通信网、无线局域网或无线个域网实现。M2M中所说的“机器”有两种含义。一种是指传统意义上的机器,而另一种则是指物联网中的智能终端设备、智能机器人等。只要这些硬件或软件配置有能够执行M2M通信协议的接口模块,就可以构成M2M终端。典型的基于移动通信的M2M应用系统结构如图8.10所示。M2M终端将待发送的用户数据通过M2M接口模块,按照无线M2M协议,封装成M2M数据包;M2M数据包通过3G/4G移动通信网上的M2M平台,实现物联网智能终端设备与服务器之间的双向数据传输。图8.10 典型M2M应用系统结构示意图目前,M2M技术已经得到了广泛的应用,如环境监控、手机移动支付、物品位置跟踪、物业监控等。下面以电力抄表为例介绍M2M业务应用。在电力行业中,远程抄表和电力终端监控管理的应用较多。远程抄表应用如图8.11所示,该系统主要包括:数据采集器(智能电表内置)、M2M无线抄表终端(内置WMMP通信模组)、移动通信网络、M2M运营管理平台和远程抄表数据中心。图8.11 远程抄表应用系统(1) M2M无线抄表终端:集中采集本地电表的用电信息,并通过移动通信网络与M2M运营管理平台连接,最终实现与电力公司抄表数据中心交互。(2) M2M运营管理平台:通过WMMP协议和M2M终端进行交互,提供终端查询、终端配置、远程控制、软件升级等功能;传输电力公司用户的应用数据(如月用电量);同时可为电力公司提供业务监控、故障处理等支撑服务。(3) 远程抄表数据中心:电力公司后台应用系统,实现用电信息采集和分时计价处理。本节关键词或关键知识点:M2M系统三层结构;典型业务体系组成;WMMP可扩展协议栈;逻辑连接;M2M系统五大技术组成部分。8.2 云计算8.2.1 云计算概述云计算是一种新的计算模式。自计算机发展以来,计算模式已经历了主机、个人计算机(PC)、互联网、网格计算等阶段,现在云计算也被普遍认为是一个新阶段。最早的主机终端模式是集中计算,一切计算资源都集中在主机上。到了PC时代,变成了分散计算,主要计算资源分散在各个PC上。互联网的出现将分散的PC联在了一起,部分计算资源虽然还分布在PC上,但已经越来越多地集中到互联网上。云计算的出现实现了更高程度的集中,它继承和发展了网格计算、公用计算(又称效能计算)和SaaS等优点,可将分布在世界范围内的计算资源整合为一个统一的资源为用户提供服务;另一方面,云计算又可按某个用户的需求分出所需的资源为其服务,从而使计算资源可以像电力和自来水一样,统一地实现按需服务。由于不少学校后续课程还有专门介绍云计算的,这里我们简单地描述一下云计算的相关基础知识。 云计算概念云计算(Cloud Computing)是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统。云计算的一个核心理念就是通过不断提高“云”的处理能力,进而减少用户终端的处理负担,最终使用户终端简化成一个单纯的输入输出设备,并能按需享受“云”的强大计算处理能力。然而,对于到底什么是云计算,至少可以找到100多种解释,目前还没有公认的定义。中国网格计算和云计算专家刘鹏曾给出如下定义:“云计算将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务”。 通俗的理解是,云计算的“云”就是存在于互联网上的服务器集群上的资源,它包括硬件资源(服务器、存储器、CPU等)和软件资源(如应用软件、集成开发环境等),本地计算机只需要通过互联网发送一个需求信息,远端就会有成千上万的计算机提供需要的资源并将结果返回到本地计算机,这样,本地计算机几乎不需要做什么,所有的处理都在云计算提供商所提供的计算机群来完成。之所以称为“云”,是因为它在某些方面具有现实中云的特征:云一般都较大;云的规模可以动态伸缩,它的边界是模糊的;云在空中飘忽不定,无法也无需确定它的具体位置,但它确实存在于某处。之所以称为“云”,还因为云计算的鼻祖之一亚马逊公司将大家曾经称为网格计算的东西,取了一个新名称“弹性计算云”(Elastic Computing Cloud),并取得了商业上的成功。 云计算的特点从研究现状来看,云计算具有以下特点。(1) 按需自助服务。消费者可对计算资源(如服务器时间和网络存储)进行单边部署以自动满足需求,并且无须与服务提供商的人工配合。(2) 泛在网络连接。云计算资源可以通过网络获取和通过标准机制访问,这些访问机制能够促进用户通过异构的瘦客户平台或胖客户平台(手机、笔记本电脑、掌上电脑等)来使用云计算,也包括其它传统的或基于云的服务。(3) 与地理位置无关的虚拟化资源“池”。云计算服务商采用多用户模式,根据用户需求动态地分配和再分配物理资源和虚拟资源。用户通常不用知道这些资源具体所在位置,资源包括存贮器、处理器、内存、网络、虚拟机等。虽然存在某种程度上的位置无关性,也就是说用户无法控制或根本无法知道所使用资源的确切物理位置,但是原则上可以在较高抽象层面上来指定位置(例如国家、州、省、或者数据中心) 。资源的例子包括存储、处理、内存、网络带宽以及虚拟机等。即使是私有的“云”往往也趋向将资源虚拟“池”化来为组织的不同部门提供服务。(4) 快速灵活地部署资源。云计算供应商可快速灵活地部署云计算资源,快速地放大和缩小。对于用户,云计算资源通常显得是无限的,并可以在任何时间购买任何数量的资源。(5) 服务计费(可测量的服务) 。通过对不同类型的服务进行计费,云计算系统能自动控制和优化资源利用情况,可以监测、控制资源利用情况,并形成报告或报表,为云计算提供商和用户就所使用的服务提供透明性。 云计算服务模式云计算服务模式大致可以分为三种,即将基础设施作为服务(IaaS)、将平台作为服务(PaaS)和将软件作为服务(SaaS),如图8.12所示。图8.12 云计算服务模式(1) 软件作为服务 (SaaS)在这种模式下,提供商在云计算设施上运行程序,用户通过各种客户端设备的客户界面(如网页浏览器、基于网页的电子邮件)使用这些应用程序。用户不需管理或控制底层的网络、服务器、操作系统、存储系统、应用程序等,但可能需要完成一些与用户相关的应用程序参数设置。“把软件作为服务”的特色是根据需要作为服务提供的一整套应用程序。该软件的单个实例运行于云上,并为多个最终用户或客户机构提供服务。最著名的 SasS 示例是。1999年,28岁的甲骨文(oracle)高级副总裁、俄罗斯裔美国人马克贝尼奥夫创办了S公司,并提出软件即服务(SaaS,Software-as-a-service)的思想,并运用于客户关系管理服务(CRM)软件。目前已有 82,500 家公司采用了Salesforce的CRM。(2) 平台作为服务 (PaaS)在这种交付模式下,用户采用提供商支持的编程语言和工具编写好应用程序,然后放到云计算平台上运行。用户不需管理或控制底层的网络、服务器、操作系统、存储系统等,但要控制应用程序,可能还需要设置应用程序的运行环境。从服务生产商或消费者的观点看,关于 PaaS 的观点至少有两种: 生产 PaaS 的某个人可能通过集成 OS、中间件、应用软件甚至是一个随后作为服务提供给客户的开发环境来生产一个平台。例如,开发 PaaS 的人可能会使其以一组 Sun xVM 管理程序虚拟机为基础,这组虚拟机包括一个NetBeans 集成化开发环境、一个 Sun GlassFish Web 栈,并支持像 Perl 或Ruby 等其它编程语言。 使用 PaaS 的人会看到一个封装式服务,该服务是通过 API 提供给用户的。客户通过 API 与该平台互动,而且该平台执行一切必要的操作来管理和扩展其本身,以提供规定的服务水平。虚拟设备可以归类为 PaaS 的实例。例如,一个内容交换设备会将其所有组成软件对客户隐藏起来,而只向客户提供用来配置和部署服务的一个 API 或 GUI。PaaS 的商业示例如Google App Engine,谷歌推出了谷歌应用软件引擎(Google AppEngine,简称GAE),这种服务让开发人员可以编译基于Python的应用程序,并可免费使用谷歌的基础设施来进行托管(最高存储空间达 500MB)。对于超过此上限的存储空间,谷歌按“每CPU内核每小时”10至12美分及1GB空间15至18美分的标准进行收费。最近,谷歌还公布了提供可由企业自定义的托管企业搜索服务计划。(3) 基础设施作为服务 (IaaS)在这种交付模式下,用户将部署处理器、存储系统、网络及其它基本的计算资源,并按自己的意志运行操作系统和应用程序等软件。用户不需管理或控制底层的云计算基础设施,但要控制操作系统、储存系统和应用程序,可能还需要选择网络组件(防火墙、负载均衡器等)。亚马逊的云计算产品总称为Amazon Web Service(亚马逊网络服务),主要由四部分组成,包括S3(Simple Storage Service,简单的存储服务)、EC2(Elastic Compute Cloud,可伸缩计算云)、SQS(Simple Queuing Service,简单信息队列服务)以及Simple DB(简单数据库)。也就是说,亚马逊目前为开发者提供了存储、计算、中间件和数据库管理系统服务。作为IaaS在实际应用中的一个例子,纽约时报使用成百上千台 Amazon EC2 实例在 36 小时内处理 TB 级的文档数据。如果没有 EC2,纽约时报处理这些数据将要花费数天甚至数月的时间。 云计算的部署模式不管利用了哪种服务模型(SaaS、 PaaS或 IaaS),目前都存在四种云服务部署模型,或者用以解决某些特殊需求而在它们之上的演化变形。(1) 私有云。在这种模式下,云计算基础设施由单个组织经营,可由该组织或第三方管理,可以是场内服务(on-premises) ,也可以是场外服务(off-premises)。(2) 社区云。在这种模式下,云计算基础设施由数个组织共享,并为一个有共同关注点的团体提供支持,可由团体组织或第三方管理。云基础设施由若干个组织分享,以支持某个特定的社区。社区是指有共同诉求和追求的团体(例如使命、安全要求、政策或合规性考虑等) 。(3) 公共云。在这种模式下,云计算基础设施由一家销售云计算服务的组织所拥有,该组织将云计算服务销售给公众或大型工业团体。(4) 混合云。在这种模式下,云计算基础设施由两种或两种以上的云(私有、团体或公共)组成,每种模式的云都保持独立,但通过标准或专有技术被组合成一体,具有数据和应用程序的可移植性。如Amazon Web Server等既为企业内部又为外部用户提供云计算服务。这些技术促成数据和应用的可移植性(例如用于云之间负载均衡的cloud bursting技术) 。 云计算的核心技术云计算以数据为中心,是一种数据密集型的超级计算方式。它运用了许多技术,其中以编程模型、数据管理技术、数据存储技术、虚拟化技术、云计算平台管理技术最为关键。(1) 编程模型为了使用户能更轻松地享受云计算带来的服务,让用户能利用该编程模型编写简单的程序来实现特定的目的,云计算上的编程模型必须十分简单,必须保证后台复杂的并行执行和任务调度对用户和编程人员透明化。云计算采用MapReduce的编程模型。现在所有IT厂商提出的云计划中采用的编程模型,都是基于MapReduce思想开发的编程工具。MapReduce不仅仅是一种编程模型,同时也是一种高效的任务调度模型,不仅适用于云计算,在多核和多处理器以及异构机群上同样具有良好的性能。该编程模型目前主要适用于编写任务内部松耦合、能够高度并行化的程序。如何改进编程模式,是程序员能够轻松编写紧耦合的程序,运行时能同时高效调度和执行任务是MapReduce编程模型未来的发展方向。(2) 海量数据分布存储技术云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储方式存储数据,用冗余存储的方式保证数据的可靠性。云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的开源HDFS。GFS即Google文件系统(Google File System),是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。(3) 海量数据管理技术云计算需要对分布的海量数据进行处理和分析,因此,数据管理技术必需能够高效地管理大量数据。云计算系统中的数据管理技术主要是Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase。BT是建立在GFS,Scheduler,Lock Service和MapReduce之上的一个大型分布式数据库。与传统的关系数据库不同,它把所有数据都作为对象来处理,形成一个巨大的表格,用来分布存储大规模结构化数据。Google的很多项目使用BT来存储数据,包括网页查询,Google Earth和Google金融。这些应用程序对BT的要求各不相同:数据大小(从URL到网页到卫星图象)不同,反应速度不同(从后端的大批处理到实时数据服务)。对于不同的要求,BT都成功地提供了灵活高效的服务。(4) 虚拟化技术通过虚拟化技术可实现软件应用与底层硬件相隔离,既包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式。虚拟化技术根据对象可分成存储虚拟化、计算虚拟化和网络虚拟化等,计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化。(5) 云计算平台管理技术云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效地管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。云计算系统的平台管理技术能够使大量的服务器协同工作,方便业务部署和开通,快速发现和恢复系统故障,通过智能化的手段实现大规模系统的可靠运营。 云计算实现机制由于云计算分为IaaS、PaaS和SaaS三种类型,不同的厂家又提供了不同的解决方案,目前还没有一个统一的技术体系结构,图8.13提供了一个参考的云计算体系结构。这个体系结构概括了不同解决方案的主要特征,每一种方案或许只实现了其中部分功能,或许也还有部分相对次要功能尚未概括进来。云计算技术体系结构分为四层:物理资源层、SOA(Service-Oriented Architecture,面向服务的体系结构)构建层、资源池层和管理中间件层。物理资源层包括计算机、存储器、网络设施、数据库和软件等。资源池层是将大量相同类型的资源构成同构或接近同构的资源池,如计算资源池、数据资源池等。构建资源池更多的是物理资源的集成和管理工作,例如研究在一个标准集装箱的空间如何装下2000个服务器、解决散热和故障节点替换的问题并降低能耗。管理中间件层负责对云计算的资源进行管理,并对众多应用任务进行调度,使资源能够高效、安全地为应用提供服务。SOA构建层将云计算能力封装成标准的Web Services服务,并纳入到SOA体系进行管理和使用,包括服务接口、服务注册、服务查找、服务访问和服务工作流等。管理中间件层和资源池层是云计算技术的最关键部分,SOA构建层的功能更多依靠外部设施提供。图8.13 云计算技术体系结构云计算的管理中间件层负责资源管理、任务管理、用户管理和安全管理等工作。资源管理负责均衡地使用云资源节点,检测节点故障并试图恢复或屏蔽之,并对资源的使用情况进行监视统计;任务管理负责执行用户或应用提交的任务,包括完成用户任务映象(Image)的部署和管理、任务调度、任务执行、任务生命期管理等;用户管理是实现云计算商业模式的一个必不可少的环节,包括提供用户交互接口、管理和识别用户身份、创建用户程序的执行环境、对用户的使用进行计费等;安全管理保障云计算设施的整体安全,包括身份认证、访问授权、综合防护和安全审计等。8.2.2 云计算应用实例云计算的两个重要目标就是可扩展性和高可用性。可扩展性表达了云计算能够无缝地扩展到大规模的集群之上,甚至包含数千个节点同时处理。高可用性代表了云计算能够容忍节点的错误,甚至有很大一部分节点发生失效也不会影响程序的正常运行。下面给出3个具体的云计算实例,具体包括Google的云计算平台以及云计算的网络应用程序、IBM公司的“蓝云”平台产品以及Amazon公司的弹性计算云。(1) Google的云计算平台Google云计算技术包括Google文件系统GFS、分布式计算编程模型MapReduce、分布式锁服务Chubby和分布式结构化数据存储系统Bigtable等。其中GFS提供了海量数据存储和访问的能力,MapReduce使得海量信息的并行处理变得简单易行,Chubby保证了分布式环境下并发操作的同步问题,Bigtable使得海量数据的管理和组织十分方便。图8.14 Google File System系统架构 Google File System文件系统(GFS)GFS系统架构如图8.14所示,作为一个大型分布式文件系统,位于所有核心技术的底层。GFS使用廉价的商用机器构建分布式文件系统,将容错任务交由文件系统来完成,利用软件的方法解决系统可靠性问题,这样可以使得存储的成本成倍下降。GFS将整个系统的节点分为三类:Client(客户端)、Master(主服务器)和Chunk Server(数据块服务器)。Client是GFS提供给应用程序的访问接口,以库文件的形式提供。Master是GFS的管理节点,在逻辑上只有一个,保存系统的元数据,负责整个文件系统的管理。Chunk Server负责具体的存储工作,它的数目直接决定了GFS的规模。客户端在访问GFS时,首先访问Master节点,获取将要与之进行交互的ChunkServer信息,然后直接访问这些ChunkServer完成数据存取。这种设计实现了控制流和数据流的分离,降低了Master的负载。 MapReduce分布式编程环境MapReduce并行计算框架的核心思想是分而治之,将计算任务分解成两步,分别是Map和Reduce。Map通常有很多个,每个Mapper为被分解后的子任务;Reduce可以为一个或多个,每个Reducer负责将Map的部分输出合并。Mapper和Reducer是定义在(key, value)对上的函数。Mapper的输入为一个域上的(key, value)对,它的输出为另一域上(key, value)对的链表,即Map(k1, v1) list(k2, v2)。Map函数会并行地应用于全部输入数据,从而为每个输入(k1, v1)生成一系列(k2, v2)对。然后MapReduce框架会将所有k2相同的(k2, v2)收集起来形成一组,并将所有组按一定规则分发到Reducer上。每个组将被应用Reduce函数,生成0个或多个值,即Reduce(k2, list(v2) list(v3)。这里可以将Map理解为“分工”,将Reduce理解理解为“合伙”。假设某购物中心的老板,想了解人们在周末购物的热情,并希望针对这一情况安排适当的促销活动以促进业务增长,需要知道周六和周日购物中心的总营业额,这可以通过统计周末两天的营业记录来获知。但是由于规模庞大,营业账本填满了办公室,显然需要帮助。若按照MapReduce的思想,叫来40个营业员和2位副经理A、B,将账本平均分配给营业员,让他们将所分摊到各自账本上的周六和周日的营业记录分别报告给副经理A和B,而2位副经理负责将记录累加。这样就快速地得到了想要信息。这里,营业员是Mapper,副经理是Reducer。图8.15 MapReduce处理程序的执行过程图8.15给出了MapReduce处理程序的执行过程。首先输入被分隔成多块并分配给mapper,mapper处理输入并生成(key, value)对;MapReduce框架将具有相同key的对聚合成一组,并按照一定的规则再将这些组分配到reducer上;最后reducer处理这些具有相同key的组并生成结果。图8.15中小长方形就代表(key, value)对,例如“”表示一笔营业额为1的星期六营业记录;聚合相同key的组并对其进行分类的操作称为Shuffle and sort(聚合分类)。值得注意的是图8.15中除了mapper和reducer之外,还有其它三个可选的部件,分别是Combiner、 Partitioner和Comparator。Combiner位于mapper之后和shuffle and sort之前,与reducer的功能基本相同。它的好处是预先处理可以reduce的对,减少数据在网络上的传输量,从而提高效率。Partitioner决定如何将聚合后的(key, value)组分配到reducer上。Comparator则决定了同组内(key, value)对之间的相对顺序。在默认情况下,Combiner为空;Partitioner则根据key的Hash值进行分配;而Comparator则使用value类型的比较函数进行排序。 分布式锁服务ChubbyChubby是基于松耦合,能够提供粗粒度锁服务的一个分布式文件系统,解决了分布的一致性问题。GFS使用Chubby来选取一个GFS主服务器,Bigtable使用Chubby指定一个主服务器并发现、控制与其相关的字表服务器。Chubby还可以作为一个稳定的存储系统存储包括原数据在内的小数据,同时Google内部使用Chubby进行名字服务(Name Server)。Chubby系统本质上是一个分布式的、存储大量小文件的文件系统,它所有的操作都是在文件的基础上完成的,Chubby的文件系统与UNIX类似。 分布式的大规模数据库管理系统Bigtable Bigtable是一个分布式多维映射表,表中数据通过一个行关键字、列关键字和一个时间戳进行索引。Bigtable对存储在其中的数据不做任何解析,一律看做字符串,具体数据结构的实现由用户自行处理。Bigtable的存储格式如图8.16。Bigtable不支持一般意义上的事务,表中数据根据行关键字排序,使用词典序;列关键字被组织成列族,族是Bigtable访问控制的基本单元;不同版本的数据通过时间戳来区分。图8.16 Google Bigtable的存储格式图8.17 Bigtable架构图Bigtable是构建在另外三个云计算组件之上的,基本架构如图8.17所示,主要由三部分组成:客户端程序库(Client Library)、一个主服务器(Master Server)和多个子表服务器(Tablet Server)。客户访问Bigtable服务时首先利用库函数执行Open()操作打开一个锁获取目录文件,然后和子表服务器进行通信。主服务器:主服务器主要进行元数据的操作以及子表服务器之间的负载调度,几乎不与客户端进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论