基于云计算的分布式切图服务设计与实现_第1页
基于云计算的分布式切图服务设计与实现_第2页
基于云计算的分布式切图服务设计与实现_第3页
基于云计算的分布式切图服务设计与实现_第4页
基于云计算的分布式切图服务设计与实现_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

书书书第 36 卷 增刊2013 年 8 月测绘与空间地理信息GEOMATICS SPATIAL INFOMATION TECHNOLOGYVol36,SuppAug,2013收稿日期 : 2013 06 20作者简介 : 饶庆云 ( 1985 ) , 男 , 江西广丰人 , 学士 , 主要从事服务式 GIS 平台与系统的设计与研发工作 。基于云计算的分布式切图服务设计与实现饶庆云,丁晶晶,苏乐乐,谷永权,夏良晖,胡中南( 北京超图软件股份有限公司 , 北京 100015)摘 要 : 云计算如何在GIS领域真正落地,传统GIS技术如何改变才能适应形势,并真正将云计算和云平台的优势为自己所用,是当前云GIS最重要的研究课题。传统GIS地图服务中,地图缓存是基于单机预先切好的地图瓦片,并通过单机对外提供。这种传统的切图技术,对计算资源的利用率较低,且海量数据切图时间长达数月甚至数年,严重影响工作效率,加之没有故障恢复机制,切图任务一旦出现故障,整个切图工作都要推倒重来。在云计算快速发展的形势下,如何利用云平台的优势,提升海量地图数据的切图效率和稳定性,就成为云 GIS 迫切需要解决的问题。本文在分析云计算技术优势的基础上,对传统切图技术进行了改进,提出了分布式切图服务的设计思路,实现了地图瓦片的分布式生成、管理与发布,对比测试证明,分布式切图的性能、稳定性较传统方式有明显提升。基于此种设计实现的SuperMap iServer Java 6(2012)分布式切图模块,支持地图瓦片的分布式切片和分布式存储管理,支持多种分布式文件系统、NAS与大数据存储系统(如FastDFS、EMC Isilon 等),进一步提升了地图瓦片的存取速度和支持的并发数。本文提出的分布式切图技术,是对传统地图缓存方式的创新,为云GIS提供了一定的研究基础。关键词 : 云计算;云GIS;分布式切图中图分类号 : P208 文献标识码 : B 文章编号 : 1672 5867( 2013) S0 0029 07The Design and Implementation of Distributed Map TilingService Based on Cloud ComputingAO Qing yun, DING Jing jing, SU Le le, GU Yong quan, XIA Liang hui, HU Zhong nan( SuperMap Software Co , Ltd , Beijing 100015, China)Abstract: It has been the most important research topic of Cloud GIS that how the Cloud Computing technology is used in GIS and howthe traditional GIS changes to use the Cloud Computing technology advantages In the traditional GIS map service, the map cache ismatrix of map tiles that is tiled and provided by a single computer This map tiling technology has the low computing resource utiliza-tion and a very high cost of time, which could affect working efficiency seriously Furthermore, once the map tiling process encountersa problem, the whole work has to be restarted, because there is no recovery mechanism on this single computer With the rapid devel-opment of Cloud Computing, it has been an urgent problem that how Cloud GIS can improve the efficiency and stability of macro mapstiling This paper puts forward a strategy of distributed map tiling service, which is an improvement of the traditional map tiling tech-nology on single computer and is based on the analysis of Cloud Computing With this strategy, map tiles can be tiled, managed andpublished as distributed map tiling service According to the contrast test, the performance and stability of distributed map tiling hasbeen promoted significantly as to the traditional method The distributed map tiling module of SuperMap iServer Java 6( 2012) hasbeen built based on this design, with which the macro map can be tiled and storaged in distributed way Also, multiple distributed filesystems, NAS and large data storage systems ( such as FastDFS, EMC Isilon etc ) can be used to improve the speed of map tile ac-cess and achieve high concurrency The distributed map tiling technique proposed by this paper is an innovation of the traditional maptiling method Also, the distributed map tiling technique provides the research foundation for the Cloud GISKey words: cloud computing; distributed map tiling service; cloud GIS0 引 言随着信息技术的发展 , 云计算以其全新的信息共享和软件使用模式受到越来越多的关注 , 并且已经带动了与计算科学密切相关的地理信息系统 ( GIS) 产业的发展 。21 世纪地理科学面临数据密集型 、计算密集型和海量时空数据并发访问的挑战 1 6, 而云计算本身的超大规模 、虚拟化 、高可靠性 、通用性和高可伸缩性 、按需服务等优势正在使之成为一种通用型计算技术 7 8。在云计算技术和平台的基础上 , GIS 的数据处理和数据管理能力已经得到进一步提升 , 云 GIS 的概念应运而生 。但是 , 云计算技术如何在 GIS 领域真正落地 , 传统 GIS 技术如何改变才能适应形势 , 并真正将云计算和云平台的优势为自己所用 , 成为当前 GIS 的重要研究课题 。在 ServiceGIS 的地图服务中 , 地图缓存技术是一种非常有效的提高地图服务访问效率的方式 , 然而制作地图缓存即切图过程本身也是一项非常耗时的工作 。按照传统的切缓存做法 , 地图切图只能在一台机器上 ( 如服务器 ) 上进行 , 手工拆分的多机切图工作又面临效率低下 、数据同步难 、容易单点失效 、数据更新不便等诸多问题 。由此 , 本文提出了一种基于分布式存储的多机并行切图技术 , 力图在云计算快速发展的形势下 , 利用云平台的优势 , 提升海量地图数据的切图效率和稳定性 。1 地图缓存技术11 传统的地图缓存技术地图缓存 , 是指在网络地图服务中进行地图浏览 、查询 、编辑 、分析等操作时 , 对出现的地图数据 /图片按照特定的方式进行预先切图和存储 , 以便在以后访问同样的数据 /图片时不需要服务器重新生成 , 从而提高数据的访问效率 。在传统 GIS 地图服务中 , 地图缓存是基于单机预先切好的地图瓦片 , 并通过单机对外提供 。然而对于海量地理数据来说 , 单机提供的地图服务显然无法达到在线地图访问的并发需求 , 而使用集群系统并预先生成不同比例尺的地图缓存则是提升地图访问效率的基本方法 。然而 , 地图缓存技术作为一种常用的提高在线地图访问效率的方式 , 其制作生成与系统内同步本身也是非常耗时且容易出错的 。总体来说 , 传统的地图服务预缓存做法有以下 3 种 。1) 单机切图 ( 如图 1 所示 ) 。在一台服务器上预先切好缓存 , 切完后手工同步到集群内的其他 GIS 服务器并对外提供地图服务 。这种传统的切图技术 , 对计算资源的利用率较低 , 且随着地图数据量的增大切图时间随之变长 , 海量数据切图时间可能长达数月甚至数年 , 严重影响工作效率 , 加之没有故障恢复机制 , 切图任务一旦出现故障 , 整个切图工作都要推倒重来 。2) 手工拆分的多机切图 ( 如图 2 所示 ) 。随着技术的进步 , 地图数据的数据量已经迈进海量数据的时代 , 而单机切图的效率实在不能满足需求 , 加之图 1 单机切图Fig1 Tiling by a single machine硬件成本的降低 , 多机切图自然就成为了很多 GIS 应用的首选 。在没有分布式切图软件工具的情况下 , 常用的多机切图方式是 , 根据地图的比例尺和地理范围等手工将切图任务拆分成多个子任务 , 然后将各个任务部署在不同的机器上进行切图 , 从而实现多机切图 。图 2 手工拆分的多机切图Fig2 Tiling by multi machine with manual separation这种手工拆分的多机切图工作 , 存在以下不足 : 对任务的手工拆分要求很高 , 要兼顾数据的正确性与不同机器的硬件水平 , 充分利用硬件资源是很难实现的 ; 切图过程中每台机器都需要人工维护 , 且很容易出现单点失效 ,往一个任务的失败就会影响到整个切图工作的进度 ;切图得到的数据结果需要同步到其他 GIS 服务器上才能对外提供服务 , 但是数据同步本身也是一项漫长且容易出错的工作 ; 如果遇到部分缓存数据需要更新的情况 , 则会发现更新非常不便甚至需要重新切图 。因此 , 各行业的 GIS 应用迫切需要一种自动化的多机并行切图技术 , 这项技术必须不依赖手动拆分任务且数据同步时避免人工干预 。3) 共享目录存储的多机并行切图 ( 如图 3 所示 ) 。图 3 基于共享目录存储的多机并行切图Fig3 Tiling by multi machine with shared directory在多机切图技术的迫切需求下 , 出现了一种基于共享目录的多机并行切图技术 , 满足了应用中对于并行切图技术的需求 。其主要特点是 : 不需要手工拆分切图任务就可协调多机并行切图 , 基于共享目录存储地图切片 ,因此不需要人工干预的数据同步 。这种并行切图技术从某种程度上说 , 已经满足了并行切图的需求 , 但是其基于03 测绘与空间地理信息 2013 年共享目录的地图切片存取机制本身无法满足大型应用需求 , 因为在高并发的大型应用环境中 , 这种共享目录的存储机制面临着严重的磁盘 IO 瓶颈问题 , 且一旦出现存储故障所有工作就要被迫暂停 。以上 3 种存储方式均不能满足前文提到的 GIS 地图服务面临的数据密集型 、计算密集型和海量时空数据并发访问的挑战 , 而已有的分布式切图技术的瓶颈在于地图切片的存取方式 。因此 , 解决上述问题的根本 , 是优化分布式切图技术的存储机制 。12 基于分布式存储的地图缓存技术上述分布式切图使用集中的存储服务器或共享目录存储地图瓦片 , 存储服务器成为系统性能的瓶颈 , 也是可靠性和安全性的焦点 , 不能满足大规模存储应用的需要 。而分布式文件系统支持将数据分散存储在多台独立的设备上并进行统一的管理 , 能很好地解决上述问题 。分布式文件存储系统采用可扩展的系统结构 , 利用多台存储服务器分担存储负荷 , 不但提高了系统的可靠性 、可用性和存取效率 , 还易于扩展 9 10。在计算机硬件快速升级和云计算技术快速发展的今天 , 分布式存储技术已经相当成熟 , 且已经广泛应用于各个行业 。目前常用的分布式文件系统包括 GFS, HDFS,Lustre, FastDFS, PVFS, GPFS, PFS, Ceph 和 TFS 等 。分布式文件系统具有良好的可扩展性 、容错性 , 以及内部实现对用户透明等特性 5 6:1) 基于冗余备份机制实现高可用支持 ;2) 隐藏内部存储逻辑 , 对用户和应用程序屏蔽各个计算机节点底层文件系统之间的差异 , 为用户提供统一的访问接口 ;3) 具有可扩展性 , 当需增加存储能力时 , 只需添加服务器即可实现 , 而不需要对存储系统的结构进行重新设计 , 可以将网络中大量类型各异的存储设备整合起来 。分布式文件系统的上述特点和优势 , 使之成为分布式切图服务中地图瓦片存储的最佳选择 。2 分布式切图服务的设计鉴于分布式存储的高性能 、高可靠性特点 , 尤其相对于共享目录存储方式容易产生的磁盘 IO 瓶颈 、可靠性低等方面的优势 , 本文提出了基于分布式存储的分布式切图技术 ( 如图 4 所示 ) 。该技术立足于充分利用组织内的硬件资源 , 综合利用多个节点并行切图 , 且基于分布式文件系统存储切图结果 , 力图提升切图工作与在线地图服务的效率 、稳定性与可靠性 。21 总体设计根据分布式切图的功能需求 , 分布式切图技术体系按照工作流程可以分为切图任务拆分 、切图任务执行 、地图切片存储 、地图切片发布 4 个部分 ( 如图 5 所示 ) 。其中 , 切图任务拆分是对需要进行切图的地图进行划分 , 按照一定的原则将其拆分为粒度适中的单元任务 ; 切图任务执行则是各个切图节点在统一的调度下执行切图任图 4 分布式切图技术Fig4 Distributed map tiling technical务 ; 地图切片存储是对地图切片的分布式存储和版本管理 ; 地图切片发布则是切图生成的地图瓦片可以实时动态地发布为地图服务 , 供客户端访问 。图 5 分布式切图服务总体设计Fig5 General design of distributed map tiling service22 并行切图的任务拆分机制分布式切图技术要实现多机并行的切图方式 , 面临的首要问题就是如何将一个完整的切图任务拆分开来 ,让多台机器协同工作 。任务拆分的方式可以多种多样 ,比如直接将单张瓦片作为单元任务 , 或按照机器数均分切图任务 , 但这些都不能满足并行切图的高性能 、动态可扩展和稳定性要求 。因为如果将单张瓦片直接作为切图单元 , 则因为粒度太小 , 节点之间的通信频率 、存储时的写入频率都太高 , 会严重影响切图效率 ; 而单元任务太大时会使单元任务完成时间过长 , 出现问题时不能及时发现 , 任务重切的时间成本太高 , 且性能低的节点会成为切图的瓶颈 , 同样会影响切图效率 。基于以上考虑 , 分布式切图服务提供了一种自动化的切图任务拆分策略 , 用于根据比例尺 、地理范围 、瓦片大小 、地图复杂度等因素 , 把大的切图任务细分为粒度适中的系列单元任务 。切图任务拆分的基本原理是 : 在每个比例尺的地图中 , 以左上角为起点 , 根据瓦片大小计算总的瓦片行列数 , 按照逐行计算的顺序 , 取 N N 个瓦片作为切图单元任务 , 使绝大多数单元任务均分并大小合适 。其中 , N 的选取与地图的复杂度以及瓦片大小 ( 包括像元大小 、文件大小 ) 有关 , 地图复杂度高 、瓦片大时 N 的13增刊 饶庆云等 : 基于云计算的分布式切图服务设计与实现取值较小 , 地图复杂度低 、瓦片小时 N 的取值较大 。默认的瓦片格式为 PNG, 大小为 256 256, N 的参考取值为20, 即单元任务中瓦片数默认为 400 张 。切图任务拆分示意如图 6 所示 。图 6 切图任务拆分示意Fig6 Tiling task separation schematic diagram图 6 所示 , 每个小的单元格代表一张地图瓦片 , 如果单元切图任务的瓦片张数为 20 20, 则从地图左上角开始以 20 行 20 列为单元将地图进一步划分为单元任务区 。最后一部分的单元任务如果不能满足 20 20, 如本例中只有 10 行 , 则会将任务范围扩大至 10 n400, 且尽量按照瓦片列数均分 , 本例中第 7, 8 个单元任务中瓦片数为 10 30。单元任务拆分完成后将存储在单元任务池中 , 切图服务器会根据节点状况自动转发给各个空闲的切图节点 。总体来说 , 并行切图的任务拆分机制有以下特点 :1) 单元任务相互独立 , 便于分配给不同的切图节点同步执行 ;2) 单元任务自动拆分 , 不需要手工控制 , 一般采用默认参数即可满足需求 ;3) 单元任务自动分发 , 切图服务器自动分发和控制单元任务的完成情况 , 不需要人工干预 。23 多机并行切图的通信机制分布式切图技术中的切图工作系统 , 设计包含一个TileMaster( 切图主节点 ) 和多个 TileWorker( 切图子节点 ) 。TileMaster 负责将整个切图任务拆分成粒度适中的单元任务 , 分配给多个 TileWorker 同步执行切图任务 。1) TileMaster 与 TileWorker 的模块设计包括以下方面 。TileMaster 包括任务管理模块与任务调度模块任务管理模块负责切图任务的管理 , 通过这一模块可以添加 、删除或启动 、暂停切图任务 。任务调度模块负责将切图任务拆分为粒度适中的单元任务 , 并分配给TileWorker 执行 , 接收 TileWorker 报告的状态和负载信息 ,做出合理的判断并发出相应的任务指令 。TileWorker 包含报告器模块和切图模块报告器模块负责向 TileMaster 端报告单元切图任务的执行状态和负载信息以及切片结果的存储信息 , 如果空闲则向 TileMaster 端发送任务请求 。切图模块具体执行收到的单元切图任务 , 将地图瓦片存储到指定位置 。2) TileMaster 通过与 TileWorker 的实时通信实现切图任务的动态分配和实时监控 , 整个分布式切图系统工作流程中二者的通信可以描述为 :用户向 TileMaster 端发送切图请求 , 传送切图参数 , 包括地图服务 、地图名称 、地理范围 、比例尺集合 、瓦片格式 、瓦片大小等信息 ;TileMaster 端根据用户输入创建切图任务 ;TileMaster 端根据上文介绍的切图任务拆分机制 ,将切图任务拆分为粒度适中的单元任务 , 放在单元任务池中 ;TileWorker 端与 TileMaster 端通信 , 报告当前的TileWorker 空闲状态 ;TileWorker 端从 TileMaster 的单元任务池获取单元任务 ;TileMaster 端标记该单元任务状态为已被领取 ;TileWorker 端执行单元任务 , 切图并在切图过程中向 TileMaster 报告单元任务执行的状态 , 将切图结果保存到指定存储位置 ;TileMaster 端实时接收 TileWorker 报告的状态信息 , 并通过界面显示 ;TileWorker 端单元任务完成后 , 向 TileMaster 端发送任务完成报告 ;TileMaster 端验证 TileWorker 端的地图瓦片结果 ,记录单元任务完成 ;瑏瑡TileWorker 端空闲后立即向 TileMaster 端报告空闲状态 , 循环执行流程中的 d) 到 j) 步 ;瑏瑢TileMaster 端判断出现严重延时的单元任务 , 则将该单元任务的状态标识为未分配 , 由其他 TileWorker 领取执行 , 循环执行流程中的 d) 到 j) 步 ;瑏瑣TileMaster 端记录所有单元任务完成后 , 通过界面显示任务完成和切图结果信息 。分布式切图通信流程如图 7 所示 。单元任务的分配和执行过程可以由图 8 分布式切图通信机制示意 。简单示意 。首先 , 空闲的 TileWorker1 向 TileMaster 报告自身空闲的负载状态 ; TileMaster 接受到消息后将单元任务 2 分配给 TileWorker1; TileWorker1 收到单元任务后立即执行任务 , 并将切图结果存储到指定位置 。Tile-Worker1 完成单元任务后会再次向 TileMaster 报告 , Tile-Master 判断单元任务执行完成后会标记该任务完成 , 并给TileWorker1 分配下一个单元任务 。并行切图过程中 , TileMaster 对各个 TileWorker 的切图工作实时监控 , 一旦发现某个单元切图任务挂起或失败 , 则将该单元任务分配给其他 TileWorker 继续执行 , 从而可以避免因单个 TileWorker 的失效或某个单元任务的失败影响整个切图工作 。此外 , 分布式切图系统中 , 切图节点是动态可伸缩的 , 即闲置的服务器可随时向 TileMas-ter 报告加入切图工作体系 , 也可以随时取消报告并离开 。23 测绘与空间地理信息 2013 年图 7 分布式切图通信流程Fig7 Communication flow of distributed map tiling图 8 分布式切图通信机制示意Fig8 Communication mechanism schematicdiagram of distributed map tiling24 地图切片的存储机制对于在线地图服务来说 , 常用的分布式文件系统 , 如GFS, HDFS, Lustre, FastDFS, PVFS, GPFS, PFS, Ceph 和 TFS等 , 都能够满足高可用性 、高性能 、可扩展性等要求 , 但是考虑到分布式切图服务中存储的地图瓦片大都是 256 或512 像素的图片 , 相对属于小文件 , 而 FastDFS 可以说是为互联网应用量身定做的分布式文件系统 , 尤其适合以中小文件为载体的在线服务 , 因此本文提出的分布式切图服务基于 FastDFS 实现地图瓦片的分布式存储 。FastDFS 是一个开源的轻量级分布式文件系统 , 基于C 语言实现 , 支持 Linux, FreeBSD, AIX 等 UNIX 系统 , 通过专有 API 对文件进行存取访问 , 其功能包括文件存储 、文件同步 、文件访问 ( 文件上传 、文件下载 ) 等 , 且充分考虑了冗余备份 、负载均衡 、线性扩容等机制 , 并注重高可用 、高性能等指标 , 解决了大容量存储和负载均衡的问题 12。FastDFS 基本架构如图 9 所示 。FastDFS 服务端有 3 个角色 : 跟踪服务器 ( trackerserver) 、存 储 服 务 器 ( storage server) 和 客 户 端 ( cli-ent) 11 12。图 9 FastDFS 基本架构 7Fig9 FastDFS basic structure1) tracker server: 跟踪服务器 , 主要做调度工作 , 起负载均衡的作用 。在内存中记录集群中所有存储组和存储服务器的状态信息 , 是客户端和数据服务器交互的枢纽 。相比 GFS 中的 master 更为精简 , 不记录文件索引信息 , 占用的内存量很少 。2) storage server: 存储服务器 ( 又称存储节点或数据服务器 ) , 文件和文件属性 ( meta data) 都保存到存储服务器上 。Storage server 直接利用 OS 的文件系统调用管理文件 。3) client: 客户端 , 作为业务请求的发起方 , 通过专有接口 , 使用 TCP/IP 协议与跟踪器服务器或存储节点进行数据交互 。以上架构对于网络应用 , 和其他分布式文件系统相比 , 优势非常明显 , 主要体现在轻量级 、分组方式和对等结构 3 个方面 12。3 分布式切图服务实现31 功能实现SuperMap iServer 6( 2012) 基于上述设计构建的分布式切图服务 , 支持通过分布式的切图系统进行多机并行切图 , 支持通过分布式文件系统存储与管理地图瓦片 , 实现了地图瓦片的分布式生成 、管理与发布 , 全面提升了切图的性能 、稳定性与可用性 。其中 , 多机并行的分布式切图工作基于集群机制实现 , 集群中的子节点默认就是切图节点 ( TileWorker) , 切图节点可随时加入或退出切图工作 , 因此整个切图系统组织是动态可伸缩的 。分布式切图服务的功能可以总结为两个方面 , 分布式 “切 ”与分布式 “存 ”, 二者串在一起组成了真正分布式的切图服务 。使用分布式切图服务的时候 , 需要预先准备用于切图的服务器和用于存储的服务器 , 前者作为切图节点执行切图任务 , 而后者则作为存储节点部署分布式文件系统 。使用分布式切图服务的基本流程可以归结为 :33增刊 饶庆云等 : 基于云计算的分布式切图服务设计与实现1) 搭建分布式存储环境 , 如 FastDFS;2) 配置切片存储 , 即配置 GIS 服务器连接该存储节点 ( 如图 10 所示 ) 。图 10 存储节点Fig10 Storage node3) 搭建多机切图系统 , 即添加切图节点 ;4) 创建切图任务并指定存储位置 , 任务创建后 Tile-Master 会自动拆分切图任务 。新建切图任务如图 11所示 。图 11 新建切图任务Fig11 Create tiling task5) 配置切片版本 , 实现切片版本管理 。6) 监控切图过程 , 即实时查看切图任务的状态信息和各个 TileWorker 的工作状态 ( 如图 12 所示 ) 。图 12 监控切图过程Fig12 Map tiling process monitoring7) 配置地图服务使用地图切片存储库 , 选择需要的切片版本 ( 如图 13 所示 ) 。配置地图服务使用切片存储库以后 , 已经生成的地图瓦片缓存就可即时生效 , 客户端访问地图服务时就可以直接调用 , 而不必等到所有地图切片工作完成 , 从而可以使在线地图服务响应更快速 。图 13 使用切图配置Fig13 Configuration of using map tiles32 性能验证与评价分布式切图服务充分通过支持分布式切图和分布式存储 , 有效利用了硬件资源 , 满足了大数据量 GIS 应用中对于地图服务访问效率的需求 , 主要体现在 :1) 执行更快速 : 支持虚拟化 , 动态可伸缩的切图节点有助于充分利用硬件资源 。分布式切图服务支持添加位于不同机器的多个切图节点并行切图 , 整个切图工作体系是动态可伸缩的 , 任何闲置的资源都可以随时加入切图工作 , 也可以随时退出切图工作 。从图 14 可以看出 , 随切图节点的增加 , 切图工作的效率有显著提升 。图 14 随节点增加切图速度提升Fig14 Tiling speed promoting with theincreasing of workers2) 运行更稳定 : 支持服务挂起自动重启 , 不会因为一时的障碍让切图工作重来 。系统一旦检测到分布式切图服务挂起 , 会自动重启并重新切图 , 整个过程不需要人工干预 。由于 TileWorker每次执行的是 TileMaster 分配的单元任务 , 因此之前挂起的切图工作所在的整个单元任务会分配至空闲的 Tile-Worker 重新执行 , 服务挂起不会影响切图的正确性 。3) 状态可监控 : 支持监控切图进度 , 可实时查看各个切图节点的工作状态 。分布式切图服务提供了切图任务监控功能 , 管理员创建切图任务后就可以实时监控切图进度 , 可以监控切图的速度 , 以及各个子节点的工作状态 。有了任务监控 ,切图过程就不再是一个看不到的黑盒子 , 管理员可以根据需求随时调整子节点 。43 测绘与空间地理信息 2013 年4) 结果可追溯 : 切图库支持版本管理 , 可随时翻看地图的历史版本 。分布式切图服务支持地图切片存储为不同的版本 ,管理员可以方便地查看和管理历史版本 , 在使用切片时只需要选择合适版本的地图切片即可 , 而不需要将旧的地图瓦片废弃或覆盖 。地图瓦片的历史版本管理尤其便于对遥感数据建立时间序列 , 通过制定切图区域 、比例尺和时间点进行切图并按照时间序列进行使用 , 可以很直观地监控指定区域的多期变化 。5) 存储可分布 : 支持多种分布式存储技术 , 避免成果丢失 。分布式切图服务的地图切片支持分布式存储管理 ,支持多种分布式文件系统 、NAS 与大数据存储系统 ( 如FastDFS、EMC Isilon 等 ) 。地图切片通过分布式的文件系统进行管理 , 服务器端就无需进行数据同步 , 直接对客户端提供地图服务 。6) 即切即用 : 让地图服务的访问效率即时提升 , 不必苦等整个地图切完 。在切图过程中 , 地图切片就可以即切即用 , 只要已经切完并存储的切片 , 就可以立即接受客户端的访问并返回给客户端出图 。管理员所要做的 , 仅仅是给地图服务导入正在使用的存储配置就可以 。7) 支持移动端 : 移动终端可离线使用 , 访问地图服务不再受限于网络 。分布式切图服务切图得到的地图切片 , 支持导出为MBTiles 格式 , 便于分享传播 , 可用于移动端离线地图包 ,如用于 iClient FlexBev、iClient for Android 等 。8) 易用性高 : 使用分布式切图服务的管理员 , 不需要了解切图任务拆分细节 、不需要了解并行切图系统中各个节点之间的通信机制 、不需要了解分布式文件系统中瓦片是如何存储的 , 只需要指定地图 、切图服务器与存储服务器即可进行分布式切图 , 切图过程中还可以实时监控任务进度 、各节点的工作状态 。4 结束语云计算有力地推动了 IT 领域的深刻变革 , 同时也给GIS 尤其分布式切图技术的发展带来了难得的机遇 , 作为云 GIS 提升地图服务性能的一种重要手段 , 分布式切图技术近年来受到了工业界的广泛关注 。本文基于云计算构建的分布式切图服务 , 支持动态可扩展的多机并行切图及分布式的地图瓦片存储管理与发布 , 全面提升了切图的性能 、稳定性与可用性 。分布式切图服务支持地图瓦片的分布式存储管理 , 支持多种分布式文件系统 、NAS 与大数据存储系统 ( 如 FastDFS、EMC Isilon 等 ) , 进一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论