**章 网络计算概述
1.1 网络计算概念
随着网络技术的快速发展与互联网的普及应用,网络计算及服务已经渗透到人类的社会生活、经济活动乃至**重大战略工程的各个领域和各个层面。传统电信业务稳步增长,宽带和多媒体业务高速发展。人们的吃、穿、住、行,传统的出版、媒体、娱乐、制造等各个行业网络化趋势日益明显,相关的产业规模持续快速增长。基于网络的计算模式与信息服务不断扩展和深入,计算服务、存储服务、数据服务、电子商务、电子政务等新型应用系统,**公共信息资源管理与服务系统,各种网格系统,以及远程**应用、应急处理系统等正成为信息化与网络化社会的重要支柱。
网络计算是指以网络环境为**,对网络上的资源(包括计算资源、存储资源、网络资源、数据资源、软件资源、服务资源等 )进行共享、采集、加工、存储、传输、检索、组织、管理和利用,实现资源共享、协同工作与联合计算,为用户提供基于网络的各类信息服务。
网络计算涉及的学科和领域众多,本书将对其涉及的理论方法和关键技术进行讨论分析,并对典型的应用领域与平台进行相关介绍与讨论。
1.2 网络计算的发展与形式
回顾计算模式的发展过程与演化历史,大致可以将其分为三个主要阶段。
**阶段:20世纪60年代中期至80年代中期,是以大型机为核心的集中式处理模式。所有的计算能力均属于**宿主计算机,用户通过一台物理上与宿主机相连接的非智能终端,把信息送到宿主机进行计算处理。此时,一切的计算处理均依赖于宿主机。
第二阶段:20世纪80年代中期至90年代初期,是以服务器为核心的文件共享计算模式。文件存储在一个**计算机或者共享服务器中,被局域网上的多个计算机同时访问。*初的 PC网络就是基于此类结构,服务器从共享位置下载文件到客户端的桌面环境下,被请求的用户任务(包括业务逻辑和数据 )在客户端环境下进行计算处理。该模式存在一些问题,例如,客户端和服务器之间需要传输大量不必要的数据,会降低应用性能;容易破坏数据的完整性和一致性,因为多个用户共同访问同一个数据文件等。
第三阶段:20世纪90年代初期至今,是以网络为核心的分布式网络计算模式。按发展过程,又可以划分为以 C/S结构为主流的分布式计算,以 Web为核心、 B/S结构为主流的分布式计算,以及以各类移动设备为核心的普适计算模式等。在该阶段,以网络环境为核心,通过网络将地理上分布的、异构的计算机系统连接起来,实现资源共享与协同计算。
自20世纪90年代以来,以 TCP/IP和 HTTP协议为核心的互联网迅速发展,信息资源加速网络化,这是高性能计算机、信息存储技术、数据库技术与现代通信技术有机结合的产物,它将各类信息与资源转化为计算机可以接受的数字形式,通过网络进行共享与利用,使得用户可以随时随地获取所需信息与服务,信息处理进入了网络计算时代。
网络计算包含的内容和形式非常丰富,如对等计算(Peer to Peer,P2P)、网格计算、服务计算、普适计算、云计算、移动计算等,都是网络计算模式在不同的发展阶段、针对不同的应用模式、为解决不同的问题和挑战先后出现的各类形式。下面简要介绍几类典型的网络计算形式。
1. P2P计算
P2P计算[1]是21世纪初兴起的重要网络计算技术。与传统的 C/S计算模式不同,参与 P2P计算的各个节点作为平等的对等体,通过直接交换来共享资源和服务。P2P计算在协同工作、搜索引擎、文件共享、分布存储和应用级组播网络等方面有着大量的研究与应用,时下正火热的区块链即是基于 P2P网络技术而构架的。资源信息的发布与组织方式是 P2P计算研究的一个核心问题,也是构造 P2P网络和应用的基础。从资源组织的结构来说, P2P计算中研究的热点是自组织资源发布与定位技术、资源共享激励、信任技术等。
概括说来, P2P计算技术主要包括两大类。① P2P基础架构技术:研究构建 P2P系统的共性基础技术,包括 P2P系统的拓扑构造技术、消息路由技术、资源搜索技术和**信任机制等,以实现 P2P系统中资源的有效组织和管理。② P2P应用相关技术:研究各种 P2P应用中涉及的关键技术,如 P2P分布式存储系统中的数据复制技术、一致性维护技术和容错技术、 P2P流媒体中的数据布局技术和多源协同流调度技术、 P2P数据管理中的关系查询技术和查询优化技术等。
P2P基础架构技术中的拓扑构造、消息路由和资源搜索等技术,是构建 P2P系统的基础性关键技术。拓扑构造技术是在 P2P系统中的节点之间按照一定的规则建立逻辑上的连接关系,形成 P2P网络拓扑,以实现 P2P系统资源的有效组织。消息路由技术是在 P2P系统中,根据 P2P网络拓扑实现消息从源节点到目标节点的**路由。资源搜索技术是在 P2P系统中根据搜索请求有效地查找到符合搜索条件的资源。在 P2P系统中,资源的发现采用分布式的查找方式。
2. 网格计算
网格(Grid)[2-6]一词来自于电力网(Electric Power Grid),其*终目的在于用户在使用网格计算能力时,如同使用电力一样方便。在使用电力时,不需要知道它是从哪个发电站输送出来的,而使用的是一种统一形式的“电能”;同样,也不需要考虑使用电力做什么,只需将插头插入带电的插座即可。网格希望把整个互联网虚拟为一台**计算机,给*终的使用者提供一种与地理位置无关、与具体的计算设施无关的通用计算能力。
随着人们对网格技术的深入研究,网格的**含义和内容仍然在不断变化和发展之中。 Foster将网格计算定义为“在动态的、多机构的虚拟组织中协调资源共享和协同解决问题”,并提出判断网格的三个标准,即协调非集中控制的资源;使用标准的、开放的和通用的协议和接口;提供非平凡的服务。目前,普遍将 Foster的网格观点称为“狭义”的网格观。“广义”的网格观认为网格的本质是共享和服务,即网格就是资源一体化和服务一体化。
网格是一种构筑在互联网上的技术,将网络上的相关资源融为一体,为科技人员和普通用户提供更多的功能和服务。网格把分布的资源集成为一台能力巨大的**计算机,提供计算资源、存储资源、数据资源、信息资源、知识资源、专家资源、设备资源的全面共享。资源共享是网格的根本特征,消除资源孤岛是网格的奋斗目标。同时,网格利用通信手段将互联的资源无缝集成为一个有机的整体,从而形成一种基于互联网的新型计算平台提供给用户。在这个平台上对来自客户的请求和所提供资源的能力进行合理的匹配,为用户的请求选择合适的资源服务,并在满足用户请求的前提下,提高系统的吞吐量和利用率。
3. 服务计算
服务计算 [7],又称为面向服务的计算(Service-Oriented Computing, SOC)[8-12],其产生背景为现代企业和组织需要更加快速、**地应对变化和机遇,能够动态、敏捷地构建、重组和优化其业务流程,以提升自身的竞争力,真正做到“随需应变”,从而快速响应外部用户的需求和应用环境的变化。在此背景下,面向服务的计算应运而生,其利用“服务”作为软件开发的*基本要素,以支持异构环境下分布式应用的快速、低成本和**的协同集成与聚合。这里的“服务”是指自治的、平台无关的功能实体,可利用标准的方式进行描述,并通过网络进行发布、发现及松散耦合等 [11]。SOC的愿景在于将应用程序组件组装形成一个服务网络,可以跨越不同的组织和计算平台,以松散耦合的方式构建灵活、动态的业务流程和敏捷应用 [12]。SOC发展自面向对象和基于组件的计算,现已经成为当今开放网络环境下构建分布式应用的主流计算模式。
面向服务的体系架构(Service-Oriented Architecture, SOA)[13,14]作为一种架构模型全面支持新型计算模式 SOC的理念与实施。该架构以业务为**,将信息系统映射为合适的业务处理流程,实现松散耦合、基于标准、协议无关的分布式计算。从根本上说, SOA融合了商业与信息技术,其利用已有服务来构建应用,以促进业务流程的快速构建与动态重组。实现 SOA主要涉及将企业组件化以及使用服务来开发应用程序,并将这些服务向外提供给其他企业或者应用程序使用。
包括 SOC和 SOA在内的服务计算体系改变了软件开发、部署和交付的方式,成为分布式计算和软件开发技术发展的新里程碑,并**了新一轮的技术发展浪潮。随着 SOA和 Web服务技术的快速发展与成熟,越来越多的企业和组织通过定义良好的接口并以与平台无关的方式将其业务应用向外提供,以增加与合作伙伴所提供的应用之间的互操作性,从而简化整个业务协作链条。这使得整个 IT基础设施架构模式转向了面向服务的架构,与此同时,业务模式也在发生变化,基于服务组件来实现敏捷和随需应变的业务 [7]。同时,服务计算也作为一门跨越计算机与信息技术、商业管理、商业咨询服务等领域的新兴计算学科,成为当前学术界和工业界的研究热点。
SOC是一种新型的计算模式,而 SOA是其基本的概念层架构模型,这就意味着需要利用具体的技术来实现它们,而 Web服务便是这样一种被广泛接受和使用、并且很有前途的实现技术。 Web服务**程度地实现了 SOC和 SOA所承诺的服务共享、重用及互操作,从而成为当前的**实现技术 [7]。Web服务技术有效地解决了不同平台之间的异构性和互操作等问题,实现了异构的软件系统与应用程序之间的互联互通,使得不同的组织和企业可以通过互联网来共享数据和软硬件资源,从而取得了巨大的成功。为了提高重用性,分散和简化应用逻辑,单个 Web服务一般都不会太复杂,而是仅提供比较简单的业务功能。在此背景下, Web服务组合[15-17]的概念应运而生。服务组合是 Web服务的真正魅力和潜力所在,不管是在学术界还是工业界,服务组合已经引发了大量的研究工作。
4. 云计算
云计算(Cloud Computing)[18-20]是分布式计算、并行计算、效用计算、网格计算、网络存储、虚拟化、负载均衡、热备份冗余等传统计算机和网络技术发展融合的产物与进一步发展,或者说是这些计算机科学概念的商业实现。其基本原理是,使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据**的运行将进一步与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。
云计算概念及模式的出现和迅猛发展,极大地加速了企业应用“服务化”的进程,企业的 IT需求可以通过 IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)和 SaaS(Software as a Service)等类型的云服务方式来满足。以共享 IT基础设施和平台为主要特征的云计算模式,能够帮助组织和企业以*小的成本和*便捷的方式开发、部署应用并提供服务。而云计算本身也可以看成“服务化”的进一步深化与延展,其将计算、存储、网络和平台等资源都进行服务化并向外提供。根据美国**标准与技术研究院的定义 [21],云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件、服务 ),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。计算机资源服务化是云计算重要的表现形式。
作为近年来 IT领域**的热门话题之一,云计算模式在提出后便得到了工业界和学术界的广泛关注,并已逐渐成为网络和计算机技术发展的重要趋势之一。亚马逊、谷歌、微软、 IBM、甲骨文、惠普、思科、 EMC等诸多业界巨头都相继构建了自身的云计算系统,并发布了相应的云计算解决方案及平台。同时,各国学者也针对云计算开展了大量研究工作,包括数据**、虚拟化、海量数据存储与