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

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

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

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

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

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

分布式存储技术

分布式存储技术可以有效解决传统关系型数据库在超大规模数据管理方面的局限性。首先,关系型数据库很难应对单表亿级以上记录的查询和分析,而随着用户并发持续递增,硬盘读写也会成为一个瓶颈,特别是在扩展性和高可用性方面能力也比较弱,成本又相对较高。基于以上分析,关系型数据库已经很难满足大体量数据的存储需求。分布式数据库的分布式技术架构可以很好的解决上述问题。它可以实现横向扩展,通过集群的分布式处理方式对大数据量进行如水平拆分(将数据均匀分布到多个数据库节点中)的操作,这样相比较每个数据库节点的数据量会变小,相关的存储管理性能也自然提升。此外,主流的分布式数据库的分布式能力对用户透明,而且无缝顺应用户的SQL操作习惯,让用户在使用和管理上更加地简单便捷。

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

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

超图高性能分布式渲染技术解密与应用_第1张图片

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

分布式渲染技术

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

矢量金字塔技术

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

自动缓存技术

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

高性能分布式渲染的价值所在

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

超图高性能分布式渲染技术解密与应用_第2张图片

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

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

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

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

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

了解了高性能分布式渲染的技术体系,确认它的确能够解决大体量数据的高效管理和服务发布的问题。那么,接下来您一定会考查这个高大上的技术如何部署到自己的行业应用中,如何实现现有应用系统的改造?下文将呈现一个清晰的系统架构和详细的部署方案。

系统架构

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

超图高性能分布式渲染技术解密与应用_第3张图片

图 4:高性能分布式渲染架构

系统搭建

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

超图高性能分布式渲染技术解密与应用_第4张图片

图 5:快速部署环境的资料下载

第二步,部署SuperMap iServer平台。

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

超图高性能分布式渲染技术解密与应用_第5张图片超图高性能分布式渲染技术解密与应用_第6张图片

图 6:(左)注册HBase数据库;(右)启动分布式分析服务

超图高性能分布式渲染技术解密与应用_第7张图片

图 7:配置多进程

超图高性能分布式渲染技术解密与应用_第8张图片

图 8:数据入库

超图高性能分布式渲染技术解密与应用_第9张图片

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

超图高性能分布式渲染技术解密与应用_第10张图片

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

成功应用案例展示

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

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

超图高性能分布式渲染技术解密与应用_第11张图片

图 12:数据高效查询与申请

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

图 13:全省路况实时展示

某减灾中心建设地震灾区房屋监测系统,以指导应急工作。首先,该系统面向的数据来源较多,如灾区的矢量底图数据、房屋数据、实时烈度数据与震源数据、无人机及时获取的灾区高分辨率影像数据,以及采用机器学习技术基于高分辨率影像智能提取的矢量数据等,可见数据来源广、数据规模也极其可观。当灾害发生后,灾区的这些数据要能及时导入到系统数据库,并快速发布,还要保证千万级的数据在Web端和移动端能流畅地浏览。另外,在先进的数据采集技术的支撑下,灾区的数据也在及时更新,这也要求系统具有及时更新、发布海量地图数据的能力。减灾中心项目组选取了某灾区2000多万条受损房屋点数据,580多万条受损房屋面数据以及上万条实时烈度数据与震源数据,验证了一些方案,最终选用了超图的3节点HBase+iServer实现海量数据的高效管理与发布。

你可能感兴趣的:(大数据GIS)