云GIS系统架构设计策略行业技术部张学宝•云计算与云GIS•云GIS三种应用模式与架构策略•总结提纲GIS-TransformingourWorld一、云计算与云GIS各地云计算规划建设情况什么是云计算?云计算是一种商业计算模型,它将计算任务分布在大量计算机构成的资源池上,使用户能够按需获取计算能力、存储空间和信息服务。——Google云计算是一种共享的网络交付信息服务的模式,云服务的使用者看到的只有服务本身,而不用关心相关基础设施的具体实现。——IBM云计算(Cloudcomputing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。整个运行方式很像电网。——维基百科(Wikipedia)资源按需、自助通过网络终端云计算可度量资源池化按需服务泛在接入弹性调整云计算特征传统计算模式vs云计算三种模式传统模式GIS应用模式的转变资源并不只是数据云GIS一切皆是资源…CloudGISPervasiveGeographicUnderstanding•海量存储•分布式并行计算•弹性资源管理和云服务云GIS需解决三类问题GIS-TransformingourWorld二、云GIS三种应用模式与架构•NoSQL(Mongodb、CouchDB)•Hadoop(HDFS)•GoogleGFS\BigTable模式1:海量数据云存储•一期全市300个卡口点,二期会到500多个卡口点;•每个车道都有摄像头2-3个摄像头;•每个摄像头一日会产生2-3万记录数据;•只要有车辆经过就能抓取到数据;•目前只能识别车牌号(通过车管所业务系统能够根据车牌查询车主);•以后可以从每个视频图片可以获取:车牌号、车颜色、位置、时间、车型等数据;•每日平均数据量:1,000,000条记录数据案例1:交通卡口数据MongoDB面向文档的非关系数据库主要解决的问题不是高性能的并发读写,而是保证海量数据存储的同时,具有良好的查询性能。主要有MongoDB,CouchDB。MongoDB是一个高性能,开源,无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。PluginDataSource方式ArcGISForMongoDBPlugin•利用MongoDB分片、副本集技术;•利用GeoJSON存储空间位置信息;•为车牌和车型创建哈希分片索引;架构策略模式2:并行计算•Condor•Matlab@DCT•PTR•MPI•Inter@TBB•OpenMP•TPL•Hadoop(MapReduce)•消息队列(ActiveMQ、MSMQ)案例1:多机器多进程的并行调度框架调度服务器TaskServer工作服务器WorkServer工作服务器WorkServer工作服务器WorkServer客户端分发器工作进程(worker.exe)工作进程(worker.exe)工作进程(worker.exe)工作进程(worker.exe)工作进程(worker.exe)工作进程(worker.exe)工作进程(worker.exe)工作进程(worker.exe)工作进程(worker.exe)消息派发任务分发消息服务消息服务消息服务消息服务部署TaskTracker(任务调度器)部署Worker(工作进程)调度服务器TaskServer消息服务消息派发心跳消息存储调度服务器主从架构大规模独立任务的并行执行-创建影像金字塔-生成影像缩略图-数据格式转换(如Word转PDF、CAD转GIS)-视频处理(从视频生成快视图)-分布式切图-数据分析(海量图片库中进行人脸识别)适合场景案例2:大规模地形分析AnalysisresultMassiveDEMdatasetsSubmit1DTAprogramOutputComputingunitsPostprocessing245SeperateresultscomputinginthecondorpoolDecompositionSubmitmachine3ComputingNodes分块算法规则分块不规则分块OriginalDEMWatershedboundariesextractedfromlowerresolutionDEMClipDistributedcomputeinHTCMergeofSeparateDrainageNetworksPourpointf)ResultsextractedfromoriginalDEMdirectlya)b)c)Computingunitsd)separateresultse)Finalresult计算流程Hadoop•ApacheHadoop是一个用java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,它可以让应用程序支持上千个节点和PB级别的数据。•核心:HDFS和MapReduceHDFSMapReduceEsri为Hadoop提供的一组工具,使用这些工具可以处理更大,更多的GIS数据。GIStoolsforHadoopAPI框架工具EsriGeometryAPIforJava•扩展Hadoop,提供空间类型及空间操作•创建空间数据MapReduce应用SpatialFrameworkforHadoop•扩展Hive,可通过HQL语句,使用空间分析和空间类型•ArcGIS中提供JSON实用工具GeoprocessingToolsforHadoop•即拿即用的GP工具•移动空间数据、在Hadoop中执行定义的工作流GIStoolsforHadoop•HadoopTools–FeaturesToJSON/JSONToFeatures•ArcGISfeaturesJSON–CopyToHDFS/CopyFromHDFS•LocalFileSystemHDFS–Executeworkflow•WorkflowOozieHadoop(Map/Reduce,HDFS)GeoprocessingtoolsforHadoop在空间数据库和Hadoop之间交换要素的工具,可创建工作流带来的能力海量空间数据存储-hadoop不支持空间数据-提供featuretojson工具数据可视化-即拿即用的工具-分析结果可视化-强大制图能力-丰富底图资源空间大数据并行运算(空间查询、空间分析)-基于空间条件进行大数据过滤或聚合操作-统计落在区域中的点数•公安犯罪分析•卫生疾病传播分析•环境污染分析•气象趋势分析•物流每个门店周围5公里范围内的物流车数量•政府饭店周围公车数量•商业区域内连锁店数量•地震区域地震数统计分析参考arcgis.com在AmazonAWS之上的实现方式与过程模式3:弹性的资源管理和云服务ArcGISonAmazon•基础设施可编程•弹性的资源动态调整•可动态创建隔离的数据中心和Site站点•虚拟机作为标准部署单元(Server、WebAdaptor)•通过网络提供GIS服务实现目标•(1)搭建私有环境中的基础设施云(IaaS)•(2)将GIS软件平台与IaaS进行整合,使云的计算能力空间化•(3)搭建云GIS的自服务门户,实现云中的GIS资源管理与分享•(4)开发部署基于云GIS环境的应用,消费云中的GIS资源建设方法架构设计关键技术:Site站点动态创建从镜像库选择模板配置规则部署架构Site云中的部署更加方便、快速云中的资源更加安全真正实现云中资源的弹性扩展关键技术:弹性的资源调整请求GISServerGISServerGISServerGISServerWebServerGISServer对等架构关键技术:多租户的资源管理(隔离数据中心)硬件资源ESXi计算资源池存储资源池网络资源池vCenterservervCloudDirector基础设施云VMWare隔离的虚拟数据中心隔离的虚拟数据中心管理虚拟数据中心监控WebAGSAGSWebAGSAGS私有GIS云Portal应急水利交通……应用•传统IT环境:物理硬件、操作系统、ArcGISforServer和PortalforArcGIS软件•云计算环境:虚拟化、IaaS、多租户(版本)前提•组织(Organization)、镜像(Image)•用户(User)•站点(Site)•监控、授权、权限、配额、租约、度量、报表HowImplement?•GIS计算资源隔离,对应vCloud中组织vDC的资源隔离•GIS数据资源隔离:Config-Store、Directories以及SDE•用户权限控制:站点类型、站点部署模式、虚拟机镜像类型、虚拟机实例类型•系统管理员创建、修改、删除Organization(Tenant)•DB、MQ、RESTfulService、Client•DNS、SharingFolder、SDE•vCenter、vShield、vCloudDirector物理实现GIS-TransformingourWorld三、总结•云计算核心价值在于大数据分析(海量存储、并行运算、数据可视化);•空间信息领域适合用云计算技术来解决传统的存储和计算问题;•三种应用模式可以指导云GIS和行业领域结合发展的方向;•大数据价值在于预测,数据挖掘——原始数据-数据-信息-知识-预测-决策总结纵览趋势分享成功