当前位置: 首页 > >

云计算时代的GIS技术发展漫谈

云计算时代的 GIS 技术发展漫谈
宋关福

自从谷歌在几年前提出云计算后,国际著名 IT 企业,如 IBM、微软、谷歌和亚马逊等纷纷推出了自 己的云计算技术、 *台和服务。 国内企业也按捺不住, 三大通讯运营商都推出了云计算计划, 如移动的 “大 云计划”、联通的“沃云计划”、电信的“星云计划”,其他从事或者宣布从事云计算的企业数不胜数。 政府方面也不甘落后,北京市启动了“祥云计划”,上海市启动了“云海计划”,广州市也在搞“天云计 划”,一时之间风起云涌,IT 的天空彩云满天。眼下云计算如此热闹,那我们为什么需要它呢?

1. 关于云计算
我们都知道,在建设信息系统的时候,IT 的计算资源很重要。什么是 IT 计算资源呢?CPU 的处理能 力、大容量的内存、海量的硬盘存储能力和软件的分析计算能力等都是计算资源。在采购、建设 IT 计算 资源时,要对需求量做出估计。预估的需求可能是图 1 中的虚线 A,实际提供的资源一般不是直线,我们 的设备按批购买,每采购一批资源量提高一个层次,当资源不够时,再采购一批,因此实际提供的资源往 往类*滋葑凑巯 B。而实际用到的计算资源通常是曲线 C。问题就产生了,在 M 区会出现计算资源供不 应求,影响正常工作;而在 N 区又会出现供大于求的情况,造成了浪费。

B 实际提供 的IT资源

M 供不应求

A 需求估计

N 供大于求, 浪费

C 实际需求

图 1、IT 计算资源的供需矛盾 如何解决这个问题呢?我们来看生活中的一个例子,在煤气罐时代,几乎每家每户都有一个煤气罐。 在城里,煤气罐做饭肯定比烧煤、烧材火方便,也更环保。但煤气罐也有个麻烦,用完后要换气。很多人 都有骑着自行车驮着煤气罐去换的艰苦经历, 很不方便。 有时会很尴尬, 做饭到一半突然发现煤气不足了, 我们就会停下来,把煤气罐放倒晃晃继续做,有时即使这样也可能没法做完这顿饭,就只好带着家人和朋 友下馆子了。有些家庭*常做饭少,一罐煤气很长时间用不完。管道煤气则解决这种不方便的问题。需要 时开打阀门,煤气就来了;不用时就关上阀门,按需供应,按量付费。管道煤气是不是就取消了煤气灌了 呢?不是,煤气罐还在,在城市的某些地方有几个更大的煤气罐存储煤气,用管道把煤气罐和各家的煤气 灶连起来,就可以把煤气送到需要煤气的每个终端。这种管道煤气用时髦的 IT 语言就可以称为云煤气。 当我们借鉴管道煤气这种思路,集中建设一些云计算中心,大家去租用这些计算资源,通过网络访问 和使用这些资源,按需供应,按量付费,这就是云计算。理想当中的云计算世界如图 2 所示,原来供不应 求和供大于求的情况都不存在了。

M 避免供不 应求

C 实际提供 的IT资源

A 需求估计

N 减少过度 投资

B 实际需求

图 2、理想中的云计算世界 IT 界一般认为云计算有三种形式,即基础设施即是服务(Infrastructure as a Service,简称 IaaS)、 *台即是服务 (Platform as a Service, 简称 PaaS) 和软件即是服务 (Software as a service, 简称 SaaS) 。 IaaS,通过网络提供基础计算资源如高性能 CPU 处理能力、大容量内存和海量存储能力。曾经是 世界运算最快的超级计算机--中国的“天河一号”的 CPU 处理能力就非常强。它运算一天相当于家用 双核的高性能 PC 运算 620 年以上。PaaS 则是微软等*台软件企业提出来的,指的是把软件开发*台 作为一种服务提供。 SaaS 则是把可直接使用的应用软件作为服务提供。其实 SaaS 这个名字并不准确,确切地说应称为应 用软件即是服务(Application as a Service,AaaS),这样更能体现与 PaaS 之间的关系。只是先有 SaaS 这个 概念,等 PaaS 被提出后发现 SaaS 不准确时,SaaS 这个概念已经深入人心不便再改。

除了通常的三种云计算形式外,在地理信息领域还非常需要第四种云计算的形式,那就是数据及时服 务(Data as a service,DaaS)。我们都知道,在不少 GIS 应用系统建设时,地图数据非常重要,要购买大 量遥感影像和矢量数据,这些数据不仅贵,处理工作量也很大,有时一个项目的数据成本超过软件和硬件 成本。通过服务的方式租用 GIS 数据,不仅可以节约采购资金,还能节约大量处理时间,所以 DaaS 是地 理信息领域中非常重要的云计算形式。事实上,目前各省在建的地理信息框架公共服务*台、和各市在建 的数字城市共享*台,在某种意义上讲就是一种 DaaS。 IaaS 是云计算的基础,PaaS 和 DaaS 基于 IaaS 构建,而 SaaS 则基于 PaaS 和 DaaS 构建。测绘与地理 信息相关单位,有能力和优势做的不是 IaaS,而是 PaaS、DaaS 和 SaaS。 云计算给我们带来哪些价值呢?首先,云计算降低成本,包括软硬件采购成本、数据采购成本和系统 开发的时间成本;其次,伸缩性非常强,所需资源按需供应,用多少提供多少;最后是便捷性,云计算颠 覆了我们的运用模式,从桌面应用走向了网络应用,只要能联网,就能使用云计算后台强大的服务、软件 和数据能力,获取计算资源会更方便。 在未来, 云计算的应用模式是云和端的组合。 内网、 外网有各种各样的云, 提供各种不同的计算服务, 而端可以是台式机、笔记本电脑、电视机、*板电脑、PAD 和手机。由于云计算的大量处理在服务器上进 行,对端的要求降低了,以后越便携的端越受欢迎。 由于 GIS 领域的应用系统数据量大、空间分析计算复杂度高,因此 GIS 领域非常需要云计算。GIS 领 域实施云计算,对 GIS 软件有什么要求呢?

2. 云计算对 GIS 的要求
我们认为,云计算对 GIS 软件有三方面的要求,即:支持虚拟化的 Service GIS *台,跨*台的 GIS 技术,和二三维一体化的 GIS 技术。

2.1. 支持虚拟化的 Service GIS *台
要做云计算,GIS 的服务器软件必须支持虚拟化,这是首要的前提。所谓虚拟化,指的是 GIS 软件运 行在虚拟机上, 而不是物理的计算机上。 这样做的好处在于应用系统使用多个计算机上的资源时配置简单, 各个应用系统在服务器上是相对独立的空间运行而互不干扰,最终可以显著的提高计算机的工作效率,计 算资源可以在不同系统之间按需分配。因此,要构建 GIS 的云计算体系,首先要选择支持虚拟化的 GIS 服 务器。 Service GIS 是支持云计算的另一个前提。Service GIS 基于面向服务体系架构(SOA)的全功能 GIS 服务*台软件,不是 Web GIS。现在来看,Web GIS 是 GIS 软件形态发展的一个过渡形式,不是一种完善 的 GIS 软件形态, 功能相对简单, 将逐步被淘汰。 建设云时, 最好选择 Service GIS, 而不要选择 Web GIS, 更不要选择瓦片结构的图片服务器, 后者缺乏后续的功能扩展能力。 SuperMap IS、 像 ArcIMS 就是 Web GIS, 而 SuperMapiServer、ArcGIS Server 则是 Service GIS。

2.2. 跨*台的 GIS 技术
也许有人会问,现在大家电脑里都用 Windows,跨*台有什么用?跨*台是应用系统结构发展变化所 带来的新的要求。早期的 GIS 系统大都是 C/S 结构的,主要 GIS 功能在客户端实现,服务器主要是存储数 据。现在应用系统更多采用 B/S 结构,GIS 的功能重心转移到服务器端,主要功能在服务器端实现,客户 端只是用来展示计算结果。客户端计算机基本是 Windows 一统天下的局面;而服务器端操作系统则是 Windows、Unix、Linux 是三分天下的格局,GIS 软件的跨*台越来越重要。 在云计算领域,有 Windows 的云,如微软的公有云和私有云都是基于 Windows 的,亚马逊也提供了 Windows 版本的公有云。但是有更多的云计算的技术和*台是基于非 Windows 的,比如说 IBM 的云计算 *台、 红帽的云计算*台、 谷歌的云都是 Unix 或 Linux。 因此, 所选 GIS *台软件必须支持多种操作系统, 才可以在云计算建设中有更多优秀技术和*台可供选择。

2.3. 二三维一体化的 GIS 技术
如果前两个是 GIS 云计算的必须要求(Must have),那这个要求就是有了更好的要求(Nice to have),二 三维一体化的 GIS 技术会让云会更加的精彩。三维的应用由来已久,尤其是 Google Earth 推出以后,全球 范围掀起了一股三维可视化热潮,很多的系统都用三维来建设。这样的系统很漂亮、很好看、很直观,当 领导、同行来参观展示时,效果很震撼。但是他们走了后,在业务中真正使用的还是二维 GIS 为主,不少 单位开始感觉三维是个花架子,是个面子工程,除了查一查、看一看外,其他用途很少。 二维 GIS 软件功能强,三维可视化软件缺少高端分析功能,是造成这种困境的原因。现在很多单位同 时使用三维可视化软件和二维 GIS *台混搭解决实用和美观的问题,但这只是一种权宜之计,数据一体化 程度差,功能一体化效果欠佳,混搭方案未来 2、3 年间还有生存空间,但其后必将逐步淘汰。 使用二维 GIS 搭建云,可能是朵不够精彩的云;使用三维可视化软件搭建云,缺乏高端分析功能,可 能是朵下不了雨的中看不中用的云;用二维 GIS *台加三维可视化软件混搭云,则是权宜之计的云。如何 彻底解决这个问题呢?使用二维和三维一体化的 GIS *台来搭建云, “实力派和偶像派相结合” 才是 的云。

3. GIS 云计算的技术实践
超图软件在 GIS 云计算方面的工作开始于 2009 年,超图的云计算规划要做两件事,一是为搭建 GIS 私有云和公有云提供*台软件,二是搭建一个公有云,为大家直接提供服务。这里主要介绍第一个方面的 工作。

3.1. 支持虚拟化的 Service GIS *台
超图的 SuperMapiServer 是一个具有 SOA 架构的全功能 GIS 服务*台,它支持虚拟化、服务集群、服 务聚合。从 09 年就开始和 IBM、Redhat 和微软等 IT 企业开展云计算技术对接工作,2010 年,分别完成

与上述三家企业的云计算*台的对接验证工作,SuperMapiServer 支持上述三个企业的私有云计算*台。 GIS 云计算的框架如图 3 所示。

图 3、云 GIS 技术框架(以 SuperMap+IBM 为例) 在微软的 DDTK-E 云计算*台上, 还开展了一组 GIS 空间分析的性能测试 (如图 4 所示) 测试表明, , 增加服务器的运行实例(虚拟机),可线性地提高系统性能。

1个虚拟机 运行时的 *均响应 时间 2个虚拟机 运行时的 *均响应 时间

3个虚拟机 运行时的 *均响应 时间

3.2. 跨*台 GIS 技术
在云计算时代跨*台很重要,有远见的企业都考虑了 GIS 跨*台的解决方案,但各家采用策略不同。 几个典型的企业分别采用了三种跨*台方案,即 A 方案、M 方案和超图方案。 A 方案非常巧妙的保护了已有的 GIS 研发投资,通过专业跨*台解决方案商(如 MainSoft)的产品在 Linux 或 Unix 上建立一个 Windows 的虚拟环境, 这样 Windows 的程序很方便能在 Linux 或 Unix 上调试通 过。该方案开发代价最小,很快就可以推出跨*台的 GIS 技术。但该方案的缺点是在非 Windows 操作系 统上性能较低。 M 方面则选择 Java 来重新写 GIS 软件,该方案虽然工作量较大,但 Java 是跨*台的开发语言,“编 写一次,到处运行”的特性让支持多种操作系统变得不那么复杂,而且一旦开发出来,就支持各种操作系 统,因为跨*台由 Java 开发厂商解决。但 Java 解释执行的特点决定了系统性能相对 C 和 C++有相当的差 距,Java 开发的 GIS 内核很难满足大数据量高复杂度的计算要求。 超图的方案则是开发代价最高的解决方案,选择标准 C++全部重写了 GIS 内核。虽然各操作系统都支 持标准 C++,但用标准 C++“编写一次,到处编译”的特点使得开发跨*台软件远不如 Java 方便,不仅需 要在每个操作系统上编译调试,而且不少跨*台的问题要自行处理,工作量很大。举个最简单的例子,一 个 32 位长整数包括 4 个字节,这 4 个字节的顺序在不同的 CPU 下都不同,如果简单的把这 4 个字节从内 存写到文件中,换台计算机就软件就无法识别这个长整数了,这些都要自行处理。超图从 02 年开始启动 跨*台计划,这期间很多朋友都很关心进展,没有看到成功的消息还以为这个工作失败了,直到 05 年才 完成第一个版本的 C++内核。尽管这是一个开发代价极大的方案,但它的好处也非常明显的,在所有的操 作系统都具有 C++的高性能。在以服务器端计算为特点的云计算时代,高性能的跨*台 GIS 技术意义十分 重大。

3.3. 二三维一体化 GIS 技术
Google Earth 推出后,国内外很多企业都很快推出了自己的三维可视化软件。之所以这么快,因为有 国外三维可视化开源项目可以作为基础,其中最著名的是 NASA 的 World Wind。当时超图也基于类似思 路开发了一个三维可视化软件,给一些客户做了一些项目,还和二维 GIS 软件做了对接。正当项目组想把 该产品进一步发展壮大的时候,我们决定砍掉这个项目。因为第三方三维开源项目的定于三维可视化,受 系统架构的限制, 扩展 GIS 分析功能越来越困难。 长痛不如短痛, 我们转而重新启动了一个新的研发项目: 面向管理的、 与二维一体化的三维 GIS。 后来在设计软件架构时发现, 二维 GIS 和三维 GIS 的功能都需要, 不应该把这些功能分别放到三维 GIS 和二维 GIS 两套产品里。一套软件应该同时包括二维和三维功能,这 套软件是三维 GIS,还是二维 GIS?都不是,于是我们给它起了个技术代号叫 Realspace GIS,这就是二三 维一体化的 GIS。 二三维一体化的 GIS 有什么特点呢?首先,二维和三维在数据模型和数据结构上一体化。海量的二维 数据,无需转换,直接就可以在三维场景里高性能的可视化。其次,要基于空间数据库来管理三维数据, 二维的数据十年前开始用数据库存储,三维数据也应存储在数据库中。第三,逐步完善高端的三维分析功

能,在此之前,可以在三维场景里直接使用已有的二维分析功能。从整体上讲,目前三维 GIS 软件的效果 和三维可视化软件还有一定的差距,但这些差距已经很小了,而且会越来越小。

在公有云技术方面,超图也和微软的 Windows Azure 技术开展了合作,在微软的公有云网站 CloudApp.net 上部署了多套展示系统,包括二三维一体化的展示系统(图 4)。通过以上几方面的工作, 超图软件的 GIS *台具备了搭建私有云和公有云的能力。

图 4、基于微软公有云的 SuperMapiServer 二三维一体化展示系统 *几年各地数字城市的共享*台或地理空间框架建设如火如荼。地理信息共享*台的建设目的的第一 步是共享数据,第二步是共享功能,第三步的则发展成为政务云的核心*台。如果抓住机会,地理信息共 享*台运营单位非常有机会成为未来政务云的核心单位。 在规划建设 GIS 应用系统时,也许不是所有单位都有条件全面采用云计算技术。但是在做 GIS 应用系 统技术选型时,要充分考虑到以后向云计算*台迁移的可能性。否则当云计算浪潮真正来到时,已经构建 好的系统就很可能要推倒重来。




友情链接: year2525网 工作范文网 QS-ISP 138资料网 528200 工作范文网 baothai 表格模版