周艳萍 张淑娟
摘要:该文首先介绍了云计算技术的基本概念和GIS软件工程的概念和特点,进而结合云技术的特点和GIS软件工程的特点探讨了在云计算环境下的GIS软件工程设计方法,并提出了在云计算环境下GIS软件工程设计开发过程中需要注意的几个问题。
关键词:云计算;GIS;软件工程
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)01-0207-02
1 概述
随着互联网的发展,云计算的来临是科技发展的必然产物,互联网传统商业模式是以因特尔和微软为主导的软硬件服务厂商和基于win平台的软件厂商组成。但是随着云计算时代的来临,这种传统的互联网商业模式已经显得力不从心,同时云计算对普通人的生活同样有着很大的改变。与此同时,云计算对GIS的发展同样有着很大的促进作用。由于GIS系统有着极强的信息性,而云计算的核心就是对软件和信息的重新构建,因此,在云计算时代,GIS系统所包含的信息数据必定会越来越庞大,需要加大软件工程研究开发力度,构建与云计算技术发展相一致的GIS应用软件系统,才能推动现代商业模式的不断优化及发展。
2 云计算简介
2.1 云计算基本概念
云计算技术是现代科学技术发展到一定阶段的必然产物,是顺应时代发展的具体体现。云计算是分布式计算技术的重要组成部分,此项技术是以网络为载体将复杂的计算处理程序进行分拆,分拆为若干个比较小的子程序,再将子程序交至到多部服务器组成的搜寻、计算分析系统,经系统处理后将用户所需要的信息数据结果反馈给用户。云计算技术以其强大的效能有效地解决了用户处理信息数据耗费精力与时间的问题,为用户提供了更为准确、迅捷的网络服务。从狭义的角度来分析,云计算指的是IT行业的基础设施的使用模式和交付,也就是说通过网络工具获取行业所需要的易拓展的资源,包括软硬件、平台等;从广义的角度分析,云计算指的是与IT行业服务有关的交付和使用模式,也就是说通过互联网工具获取行业所需的各种服务。其中,服务范围比较宽泛,可以是行业和硬软件相关的,也可以是和因特网相关的。
2.2 云计算特点
1)超大规模。
随着云时代的到来及科技日新月异的发展,承载云计算的服务器到目前为止已达到100多万台,其中我们生活中比较熟知的如雅虎、搜狐、微软等知名公司的云计算的服务器也逼近40万台。云以超强计算能力和数据存储能力必将会给用户带来前所未有的服务。
2)全虚拟化。
用户不管是在任何位置及使用何种终端设备都能享用云计算提供的应用服务。用户通过终端所请求的资源都是来自云,用户不必知道云是通过何种运算方式,以及需要什么样的运行环境,甚至只需一部智能手机就可以通过网络将所需要的服务发至云端获取。
3)可靠性高。
“云”采取了多种措施来保证服务的可靠性,如数据多副本容错、计算节点同构可互换等。此外,在信息数据管理方面也配备了专业化的人员对其进行实时维护,确保了数据的安全性和用户使用的可靠性。
4)通用性强。
云计算的应用范围较为宽泛,可以满足不同用户的不同服务需求,此外,云计算在云的支撑下可以构造出多种形式的应用,值得一提的是同一个云可以同时满足多个用户的不同需求。
5)扩展性高。
“云”具有极强的拓展效能,云的规模可以随着用户规模的增长而自动扩大,同时可以保证应用需求和用户增长带来的各种服务需要。此种扩展性是一种动态的,拓展的过程是让用户看得到的。
6)按需服务。
按需服务其实也就是用户可以根据自己的服务需求对云资源进行选择,按需使用。云好比是一台数字电视,用户可以通过遥控器选择自己喜爱的节目。
7)费用低廉。
基于云的容错措施是用廉价的接点构成及采用的是自动化集中管理模式,大大降低了数据中心管理所投入的成本,相应地用户无须分担过多的数据中心管理费用。此外,由于云具有通用性强的特点,能够更好地利用廉价资源为用户提供更为优质的服务,通常用户只需投入较少的成本就能完成以往花费大量资金、耗费大量时间才能完成的任务。
3 GIS 工程的概念与特点
3.1 GIS 工程的概念
GIS软件工程實质上是借鉴软件工程的理论、技术及方法指导GIS软件工程进行工程设计开发和维护的工程活动。具体来讲包括GIS工程的设计、工程规划、工程实施及后期维护管理等。
3.2 GIS 软件工程的特点
1) 软件系统极为复杂
造成软件复杂度较高的原因主要和以下几个因素有关:
① 所交付文档内容复杂繁琐。
交付的文档中包括系统设计书、软件需求说明、程序清单、测试报告中需要增加的空间数据和空间分析说明等,增加了文档内容的难度系数。
② 软件的复杂程度高。
从软件的微观复杂程度分析,GIS软件数据容量大、功能多样且复杂、程序的长度较长并且内部结构极为复杂,难度较高。从软件的宏观复杂性分析,由于我国目前对于GIS软件工程模式的研究还处于初级阶段,研究这方面的人才短缺,再加之GIS的空间理论比较抽象不易理解,加大了GIS软件开发的难度。
2) 数据库是GIS软件开发的重要技术支持,因此在数据准备方面需要主要注意以下几个方面:
① 数据质量。
严格控制GIS的数据输入质量,一旦数据输入方面出现问题,则会造成系统运行效率低及功能不能完全发挥,更有甚至会导致整个运行系统崩溃。
② 数据的现势性。
基于GIS的空间数据更新快的特点,易造成数据失效,所以要不间断地对数据进行采集。
③ 数据组织结构的合理性。
GIS中数据组织结构较为复杂,如果对其组织机构的组织方式没有设置合理,会影响整个系统的运行效率及安全性。
4 云计算环境下的GIS 软件工程模式
4.1 GIS 软件工程体系结构模式
随着云计算时代的到来,为GIS软件工程的开发与发展带来了契机。基于云计算的核心特点是信息资源存储量大,可靠性高、扩展性强、全虚拟化及通用性强,GIS软件工程在此优势的支持下使得软件工程的体系结构得到了进一步的优化,与传统的GIS软件工程体系结构模式相比取得了跨越式的发展。具体来讲,基于云端的GIS应用必定会大量地利用云服务所提供的GIS构件,从构件的先进性来看这是传统GIS软件工程结构体系的构件是无法比拟的。与此同时,随着云计算技术的日新月异的发展,云计算技术的发展也必将为GIS软件工程的进一步开发提供更为可靠、效能高的成熟GIS构件。此外由于在云端可超大规模、安全可靠的数据信息和地图数据服务,相应地在云的支撑下GIS 软件工程可以构造不同用户的GIS的应用需求。对于云端的另外一段,即用户可以通过打开计算机浏览器就可以完成所有GIS软件工程功能的使用,获取所需要的服务。在一定程度上降低了用户使用GIS软件工程获得服务的复杂度。
4.2 GIS 软件开发组织模式
从传统的GIS软件生命周期模型特点我们可以看出其生命周期模型是串行的,其实就是由瀑布模型演进而来的,串行的生命周期模型更方便于技术人员的操控。。隨着云计算的快速发展,以云计算技术为支撑的GIS软件开发生命周期模型必将发生变革,以并发模型、多重螺旋模型的生命周期模型逐渐地替代了传统的以瀑布型、迭代模型为主的GIS软件生命周期模型。在GIS软件工程开发过程中,其软件开发是具有开放性和阶段性控制的过程,是存在多个并发和自治的流程。从GIS软件开发的各个阶段来看,需求阶段的工作量是最大的。GIS架构设计可以借鉴现有成熟架构模式成果,从中选型确定,具体的设计可以借鉴现有成熟构件和代码。
4.3 GIS 软件的部署、管理和维护模式
GIS软件在云计算的支持下给软件的部署、管理和维护带来了极大的便利,极具灵活性。比如一个GIS功能的应用,其软件部
署、维护、管理都是随着开发过程而完成的,并不是传统的开发完成后再进行软件的部署、维护和管理。初级阶段GIS软件部署的可能是工程的小部分功能,但是随着软件数据库的更新升级及不断完善,同时基于云计算技术的支持大大地降低了GIS软件构件间的耦合程度,使得GIS软件的诸多构建都能以并发及独立的方式实施管理和部署,如客户端、服务端、管理端等等。其中,云计算环境下的GIS软件客户端软件运行平台的构建可采用虚拟化技术,使用户可以根据自己的所需选择不同的虚拟服务;在GIS软件服务可将大规模的服务器系统虚拟为单一处理单元或者是连续存储单元,有效降低了用户管理端的管理难度。同时对已有空间数据和新采集的空间数据之间的联接融合问题可以在云计算GIS服务商所提供的服务支持下得到有效解决。
5 结束语
云计算技术是科技发展到一定阶段的必然产物,虽然云计算技术目前我国还处于科研的初级阶段,但是随着全球经济化水平的快速发展,我们不能坐以待毙,要加大对此项技术的研究开发 ,改变我国GIS产业的核心技术掌握在世界发达国家厂商手中的尴尬局面,而云计算的出现给我们对GIS软件工程开发设计提供了重要的技术支持和发展的契机。
参考文献:
[1] 陈述彭.地理信息系统导论[M].北京:科学出版社,1999.
[2] 毕硕本.地理信息系统软件工程的原理与方法[M].北京:科学出版社,2003.
[3] 边馥苓.地理信息系统原理和方法[M].北京:测绘出版社,1996.
[4] 王昊鹏.虚拟化技术在云计算中的应用初探[J].电脑知识与技术,2008.