查看原文
其他

超图高性能分布式地图渲染技术解密与应用

超图集团 2020-09-15

地图服务发布是GIS应用系统的基本能力和要求,也是数据成果共享的重要方式。如何提供更高效的方法和更优质的体验,一直是地图服务提供者关注的重点。


起初,地图服务发布一般采用动态出图方式。随着地图数据量的增加,在服务端动态出图耗费的时间越来越长,超过可在线等待的极限。于是,GIS厂商通过预先生成地图栅格瓦片来提升访问地图服务效率。


然而,随着数据量的进一步飙升、需要查看的地图比例尺的进一步提升,大比例尺地图的栅格瓦片生成耗费的时间也越来越长。并且,若地图数据发生变化或者地图风格调整,都需要重新生成栅格瓦片,更新非常不方便。


为了更好地解决用户对空间数据即时更新、即时发布、高效浏览的要求,超图通过引入大数据分布式技术,有效地整合了分布式存储、矢量金字塔、分布式渲染、自动缓存等一套高新技术,打造出高性能分布式地图渲染技术方案,实现基于HBase的超大规模数据的地图免切片发布服务,可以实现:1、亿级空间数据从拿到原始数据到完成数据入库仅需要数小时;2、无需预先缓存,数据入库即发布;3、地图动态秒级响应。下文将带您解密其中的关键技术。


高性能分布式渲染的关键技术


分布式存储技术

分布式存储技术可有效解决传统关系型数据库在超大规模数据管理方面的局限性。首先,关系型数据库很难应对单表亿级以上记录的查询和分析,而随着用户并发持续递增,硬盘读写也会成为瓶颈,特别是关系型数据库在扩展性和高可用性方面能力较弱,成本相对较高。基于以上分析,关系型数据库已难以满足大体量数据的存储需求。


分布式数据库的分布式技术架构可以很好地解决上述问题。它可实现横向扩展,通过集群的分布式处理方式对大数据量进行如水平拆分(将数据均匀分布到多个数据库节点中)的操作,这样相比较每个数据库节点的数据量会变小,相关的存储管理性能也自然提升。此外,主流分布式数据库的分布式能力对用户透明,且无缝顺应用户的SQL操作习惯,让用户在使用和管理上更加简单便捷。


经过选型,超图选择了HBase分布式数据库。HBase构建在HDFS之上,是一个开源、分布式、版本化的非关系型数据库。它的核心存储模型是基于Google的BigTable构建,目标在廉价、可扩展的硬件设备之上,托管可达数十亿行和百万列级别的表对象。它具有模块化的设计,支持水平扩展和自动表分片,以及不同区域服务器之间的自动故障转移。


所搭建的HBase集群可以注册到SuperMap iServer中,使用SuperMap iServer的“创建拷贝数据作业”功能,可轻松完成本地UDB、GDB文件或shape文件以及已注册到SuperMap iServer的数据库的数据,导入到HBase数据库中,在研发环境中能够实现每秒11万条面对象的写入性能,为海量数据迁移到分布式存储中提供了坚实的保障。

 

分布式数据入库效率的对比结果


分布式渲染技术

高性能分布式渲染技术支持免切片直接发布海量数据服务。为了保证大体量数据在Web端的快速响应,还要解决数据渲染性能的难题。超图研发了分布式渲染技术,实现在SuperMap iServer服务端将请求的矢量瓦片的渲染任务分解,交由多个进程执行,更充分、更高效地利用计算资源;同时,该技术还可以进一步配置SuperMap iServer集群,将分块渲染任务发送给集群子节点分别执行,进一步提升计算的并行度。由此可见,这种多进程和集群的强强联合,可极大地提升渲染性能,实现超大规模数据的秒级响应效率。


矢量金字塔技术

上文的分布式渲染技术解决了超大规模数据高效渲染的难题,但对亿级数据在小比例尺乃至全幅显示时,仍旧很难做到秒级响应。因此,超图研发了矢量金字塔技术,它的设计思想与影像金字塔类似。该技术通过对矢量数据进行多尺度分割,获得一系列以金字塔形状排列的数据精度逐步降低的数据集合。金字塔底部是矢量数据原始层级,而顶部是矢量数据的低精度近似表达。矢量金字塔技术解决了海量矢量数据在小比例尺秒级显示的难题,在保证显示效果的情况下,降低了数据绘制的复杂度,从而使绘制性能大幅提升。


自动缓存技术

自动缓存技术可在以上技术支撑下,再进一步提升大规模高并发下的客户端地图访问效率。通过对用户浏览的数据进行无感自动缓存的方式,当再次浏览该区域的数据时,服务端无需再次渲染数据,直接显示缓存结果。


高性能分布式渲染的价值


高性能分布式渲染技术最值得推崇之处在于:极大地缩短了从数据入库、数据处理到数据服务发布的周期,为行业应用赢得了效率。在高性能分布式渲染技术下,数据发布流程主要耗时在数据入库上,而地图服务发布是免切片的,因此切片耗时为零。下面的性能统计数据足以证明,高性能分布式渲染技术完胜传统数据存储和服务发布模式。

 

传统模式与新技术在海量矢量数据入库和发布流程方面的性能对比


在高性能分布式渲染技术的支撑下,数据渲染效率显著提高,亿级数据在Web端具有良好的浏览体验;对于4.5亿线对象,约28亿节点的数据浏览,刷新一次的响应时间仅需1秒。

 

HBase数据库中4.5亿线对象在客户端高性能动态渲染效果 


另外,用户还可以进一步拓展应用系统的能力,实现在客户端直接进行数据查询、修改等操作,以及按照需求变更地图样式。


高性能分布式渲染的系统架构


了解了高性能分布式渲染的技术体系,并确认它的确可解决大体量数据的高效管理和服务发布的问题后,接下来为您介绍该技术如何部署到行业应用中,以及如何实现现有应用系统的改造。下文我们将为大家呈现出一个清晰的系统架构和详细的部署方案。


系统架构

高性能分布式渲染系统的核心思想是系统的分布式架构。SuperMap全系列产品都已具备分布式能力,从数据的分布式存储到分布式计算,再到分布式的地图渲染,SuperMap产品提供了全方位的支持。下图为结合SuperMap产品的分布式系统架构图,具备了这样的系统结构,系统才能具备数据的高效入库和地图服务的高性能渲染能力。

  

高性能分布式渲染架构


系统搭建

系统搭建的第一步为部署分布式计算集群,包括安装JDK、配置SSH及免密码登录、部署HDFS存储系统、部署zookeeper集群,以及部署HBase集群。这里提供了快速部署环境的方案,您可以通过下面的二维码获取相关资料。

 

快速部署环境的资料下载


第二步,部署SuperMap iServer平台。

第三步,基于SuperMap iServer平台使用HBase集群,进行海量数据的分布式入库,以及免切片发布地图服务。这里提供了详细的使用说明,您可通过下图中的二维码获取相关资料。


注册HBase数据库


启动分布式分析服务


配置多进程

 

数据入库


直接发布HBase数据为地图服务


使用HBase集群进行数据入库的资料下载


成功应用案例


1、自然资源部四川基础地理信息中心“基于分布式架构的时空大数据分析系统时空大数据基础支撑软件”引入了高性能分布式渲染技术,搭建了基于分布式架构的时空大数据分析系统,有效解决了传统架构存在的海量数据入库慢、分析慢、分发慢、展示慢等诸多问题。新的分布式架构获得了可观的系统运行效率:2400万个地类图斑入库仅需2.5小时;提取金沙江流域500米缓冲带植被覆盖(植被覆盖图层1600万图斑)5分钟完成;植被覆盖图层1600万图斑,秒出图。

 

千万量级数据的快速可视化

 

数据高效查询与申请


2、某省级单位在提供全省路况的地图服务应用中,已有系统的地图服务发布的是预先生成栅格瓦片,而路况地图服务则要求每5分钟对近一百万条的路况数据进行一次更新发布,现有的系统显然不能保证时效性。采用高性能分布式渲染架构后,系统省去了生成地图瓦片的时间,并且新的架构有助于扩展分布式计算体系,进一步满足路况预测、路况推演、历史路况回朔等高效计算需求。

 

全省路况实时展示


作者 | 大数据与AI研发中心 王丽莉

责编 | 王静静


【近期回顾】


 01 “国”字头单位聚首北京,共攀BIM+GIS+大数据新高度

 02 超人微语 | 一个程序猿的“996”

 03 第十三届规划信息化实务论坛二号通知

 04 探明地下水监测“黑洞”,新一代三维GIS技术这样做!

 05 SuperMap杯第十七届全国高校GIS大赛开赛

 06 SuperMap参展巴黎BIM World


欢迎转载~


爱看你就点在看!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存