云计算与地理信息系统应用
扫描二维码
随时随地手机看文章
摘要:云计算作为一种新兴的技术,它向中小规模的企业用户和个人用户提供了一种可以在几乎不需要任何初始投入的同时,可以动态组合或扩展IT资源。在地理信息系统领域,云计算可以帮助处理大量的可以进行分布式运算的数据,和不同物理位置的用户存储和共享应用成果。在这里,我们要建立一个可使用云来进行数据处理的GIS系统架构。
关键词:云计算;分布式系统;GIS;系统架构
0 引言
GIS应用程序所处理的问题,大多涉及到高密度的数据的计算。GIS技术的出现已有几十年了,随着技术成熟度的提高,越来越多的空间数据和非空间数据被应用其中。日益进步的数据采集技术也使得我们可以从各种不同的数据源得到各种丰富的数据。与此同时,这一趋势带来的问题是如此海量的数据使得任何单一的机构都很难保存或处理。此外,GIS系统主要处理的位置、逻辑或物理数据大都是来自于不同的运算机构。GIS系统对这些数据进行的空间分析不但过程复杂而且对运算能力的要求也是很高的。
为了和那些在不同物理位置的分散用户分享GIS数据和运算结果,一个像云计算这样可扩展、低成本的计算平台对GIS来说是至关重要的。
一个普遍的理解是,云计算是一个支持“即用即付”模式的可以动态缩放的计算平台。云计算是“由相互联接的和虚拟化的计算机组成的一个并行的、分布式的系统,其中的计算机在定义好的服务协议下被动态的分配任务。通过这一定义可以知道像云计算这样高数据密度、高运算强度的运算是很适合移植到云计算平台上的。
本文提出了一个基于云计算平台的GIS系统应用的架构概述。首先,我们提出一个集成了GIS应用的云计算的架构模型;接下来给出一个应用云计算的GIS应用系统的典型范例。
1 云计算架构
在这一节中,我们提出了一个通用的云计算架构,图1描述了通用的云计算结构和地理信息系统相结合的示意架构。
本文中选择应用广泛的Amazon弹性云(EC2)平台。通过EC2提供的Web界面,终端用户可以很方便地访问到云平台提供的虚拟高性能计算节点和大容量存储空间。当用户使用这些服务时,采用“即用即付”原则按小时支付很少的费用即可。在图1描述的系统中,分别使用了Amazon的EC2和简单存储(S3)功能来处理和存储GIS应用系统。
GIS应用系统在用户的终端将任务分解后把程序和数据提交给系统前端的Web服务。Web服务在接受到任务后使用一个合适的中间件分解这个应用给“云”中虚拟的节点。通过这一任务分解过程用户的任务将变得可以被并行处理。与上述过程相类似,前端的Web服务可以直接使用Amazon的S3 API接口将海量数据存储到S3上。当这一过程在Amazon的EC2上执行时,在S3中存储的数据可以被实时检索或处理。通过在云计算上的分析和计算所得到的结果也可以存储到S3中做进一步的处理。用户可以在需要时随时使用这些数据。
在图1所描述的架构中,对于应用系统的使用者来说最重要的是可以灵活地获得GIS系统提供的服务。用户可以在世界的不同地方方便地获得服务;他所需要的只是接入Internet并拥有一个GIS应用系统的服务账户。
系统依靠一个GIS中间件向用户提供计算和分析服务。这个程序被放置于Amazon的虚拟节点中,并能实时的将用户的请求分解到各个工作节点中。其他的一些中间件,类似于Aneka、Condor、SGE等也是用来完成类似的工作的。
传统的GIS应用程序需要大量的计算集群和数据空间来计算和分析海量的数据。如果引入了云计算,这一过程就可以交由云计算平台来完成了。用户所需要做的就只是通过一个Web界面来执行程序和管理数据了,而最终的结果几乎可以实时得到并且不需要用户的过多参与。一个基于云的GIS应用系统的执行和分析过程和传统方式相比其优势见表1。
2 结论
对于GIS应用系统来说,云计算提供了很多相对于传统方式的优势;通过云,GIS系统可以方便地应用集群和网格等技术。文章中设计了把GIS应用程序接入云系统的一个系统架构,并使用Amazon EC2作为应用的云平台。