王意
(山东省国土测绘院,山东 济南 250013)
随着大数据应用的普及,各行业已积累了海量的专题数据。其中,地理信息时空大数据提供了对各类专题数据的时空基准,并呈现出 体量大、增速快、样式多、价值高 的特点,实现了非空间数据的“落地”,成为地理信息社会化应用的主要形式。基础设施是地理信息时空大数据的基本要素,主要包含面向时空大数据资源体系建设及管理应用所需要的硬件设备、网络存储及软件支撑系统。其目标是建立、使用和维护一个时空数据框架,包含两方面内容:一是时空数据,即框架基础数据和专题数据,二是时空信息服务,即提供对时空大数据的共享、集成、互操作的功能和接口[1-2]。
传统的地理信息基础设施应用模式下,数据以项目为单位进行生产和组织,以离线和准在线的方式集中存储在单一的存储系统中,可以看作是孤立的数据集。在使用时,应用系统首先对元数据进行查询,在已有的数据中找到合适的数据集并筛选出需要的数据实体,再按照一定格式将打包的空间数据下载到本地,供下一步使用。这种按专项业务维度构建的体系结构虽然在基础设施部署上易于实现,但存在着烟囱式管理、各自独立、服务类型单一等问题,难以完成大数据背景下的海量数据处理,无法满足当下按需定制的多样化产品的需求[3-5]。以山东省为例,“十一五”到“十三五”期间,测绘地理信息领域积累了丰富的数据资源,总量在1.5PB左右,且有非常明显的异构特性(获取渠道、数据格式、存档结构等)。而现有的基础设施依然沿用传统的体系架构,不能满足日益个性化、多场景的应用需求。由于软硬件紧耦合、管理接口不统一等限制因素,现有存储系统无法做到资源的统一管理和弹性调度,带来存储利用效率较低的现象。以单机为主的服务器应用模式易造成计算资源使用不充分、整合度不高的情况。网络环境在并发访问量多的时候会造成网络堵塞,导致数据访问的效率难以提升,在连通性、容灾备份、网络吞吐量、扩展性等方面也存在性能瓶颈[6-12]。
针对大数据背景下基础设施面临的巨大挑战,本文提出一种基于云架构的基础设施构建方法,构建分布式、可扩展、动态按需的统一资源池。引进时空大数据基础框架,完成对地理信息时空大数据分布式存储与计算的底层技术支撑,实现基础设施即服务,有效支撑地理信息时空大数据与各类业务应用的密切衔接[13-15]。
山东省省级地理信息资源大数据中心(以下简称大数据中心)建设是山东省“十三五”基础测绘规划的重点工程,目的是通过全面梳理、整合省级数据资源,建成标准统一的地理信息时空大数据库[16-19]。大数据中心以基础设施为支撑,采用云计算技术将硬件资源抽象成逻辑资源,形成跨虚拟化技术的统一资源池,提供信息共享、互联互通、安全保密、实用便捷的计算资源、存储资源、网络资源等基础设施环境,对外提供统一的资源调度接口,按需和动态分配各类资源。在云平台之上搭建时空大数据基础框架,对传统业务进行分布式、并行化改造升级,提供规范化的数据存取和计算接口,实现支持关系型数据库、非关系型数据库、文件数据库的混合存储框架能力以及支持高性能计算、并行计算和分布式计算的混合计算框架能力(图1)。
图1 基础设施总体架构
地理信息时空大数据是国家基础性战略资源,现有数据资源存在标准多样,内容和现势性各有侧重等特征。山东省通过 “十一五”到“十三五”基础测绘规划的实施,形成了丰富的数据资源,涵盖测绘基准数据、省级基础地理信息数据、地理国(省)情普查(监测)数据、三维数据、行业专题数据、档案资料数据等。但是丰富的数据资源在管理与应用上面临诸多问题,如数据存储较为分散,冗余存储现象突出;数据表达不一致,关联性差,难以支撑大数据分析挖掘。实现基础设施的高效利用必须首先解决数据模型问题,因此需通过引入大数据思维,对时空大数据进行模型重构和数据资源整合,形成以汇集库、资源库、服务库以及目录与元数据库为主体的省级时空大数据资源体系。通过动态汇集各类信息资源,形成大数据汇集库;对时空大数据资源进行对比、整合,建设包含6大类数据的资源数据库;标准服务化处理形成的电子地图、专题图、地形图和新型测绘产品等构成数据服务库;对数据资源建立统一分类编码和统一资源分类目录,采用元数据对大数据资源进行描述,形成目录与元数据库。通过资源整合,形成省级基础地理时空数据的统一归口与出口(图2)。
图2 数据库总体架构
基础设施私有云环境的搭建,是在分析现有存储、计算及网络设备的基础上,将现有硬件资源进行整合,抽象成逻辑资源,形成跨虚拟化技术的统一资源池。目的是通过云管理系统实现计算资源、存储资源及网络资源动态分配,完成基础设施资源池化,实现基础设施即服务(图3)。
图3 基础设施私有云环境
(1)网络资源
网络设施是实现大数据中心业务最底层的基础设施。为保证数据的传输速率,采用万兆网络环境,同时各节点启用双机热备模式,服务器采用双万兆光口连接,实现各设备间高效的数据传输,提高网络容灾性。通过云管理软件,将多台网络设备虚拟化为一台逻辑设备,将核心和接入设备通过异构虚拟化技术形成一台纵向逻辑虚拟设备,形成网络智能弹性架构。
(2)计算资源
计算资源是各类业务进行分析应用的关键资源。通过云管理系统搭建虚拟化服务器集群,实现计算资源虚拟化。为匹配大数据中心的并发服务和并行计算的需求,结合设备性能参数,部署30台物理服务器用于搭建云平台。采用最新型的英特尔至强第 14 代 CPU,提供不少于四个10Gbps 高速以太网端口,实现高数据吞吐量和低延迟工作负载。
(3)存储资源
存储资源是数据存放的物理位置,由云管理系统进行统一纳管,根据数据存储需求和设备性能进行空间划分和磁盘调度。当有高性能读写数据需求时可以将数据存放到高速硬盘,当存放沉睡数据时,则使用低速盘。保留原有的网络附属存储和存储区域网络,集成二者的优势,支持多种网络协议方式。
(4)云管理系统
云管理系统是实现基础设施资源池化和动态分配的核心基础。云管系统将服务器、网络存储资源进行统一接入和管理,对硬件资源进行虚拟化适配、弹性扩充和负载均衡,提供统一虚拟化管理接口,供业务系统集成。云管系统还提供统一的维护管理功能,如性能监控及预警等(图4)。
图4 私有云管理系统资源监控功能
时空大数据基础框架在云平台基础上,面向大数据中心提供数据统一管理、分布式存储、高性能处理分析的基础能力。主要包括时空大数据算法模型库、大数据存储框架、时空大数据计算框架、分布式调度管理系统四大部分(图5)。
图5 时空大数据基础框架
(1)大数据算法模型库
应用系统的各功能模块,如数据转化、栅格图片切片等,它们包含的算子或者模型都存放在大数据算法模型库中,利用业务逻辑或工作流将对应的算法或模型贯穿起来,形成支撑该业务的实际功能模块,并将此信息存储在业务流程管理系统中。
实际业务运行中,通过功能模块指令来激活任务调度,将该功能模块产生的任务进行列队,同时获取资源调度管理系统关于存储资源和计算资源的信息。若资源足够,则分配足够的计算资源和存储资源,反之则在任务列队中等待,直到其他任务执行结束以释放足够的资源,执行任务时利用该功能指令在业务执行系统中对应的信息(该功能算法模型集)。在时空大数据算法模型库的对应算法模型集中,按照业务逻辑调用存储资源与计算资源的接口,执行数据获取、计算、存储等命令。
(2)存储框架
时空大数据存储采用混合存储和分布式存储策略,以支撑上层分布式、并行计算的应用。在传统关系数据库、共享文件系统基础上,扩展并利用非关系型的数据库、分布式文件系统,形成面向时空大数据的关系数据库集群、非关系型的数据库集群、分布式文件系统集群(HDFS)的存储框架,并提供规范化的数据存取接口,实现多种存储模式数据的访问与管理。
存储框架通过对数据组织结构的建模以及数据模型管理,扩展数据库逻辑结构,配合入库插件工具,实现对更为广泛数据资源的接入与管理。对数据资源进行层次化组织,从分类、应用等多个角度对数据资源进行识别和存储,例如矢量数据采用具备几何特征的关系表进行存储;栅格数据采用镶嵌数据集进行管理;文件实体存储于文件系统,通过统一数据目录实现对数据管理。
(3)计算框架
现有的分布式并行计算系统大致可以分为面向高性能计算的超级计算框架和面向海量数据处理的基于分布式内存计算框架两大类,二者在系统结构、编程模型及运行环境方面都有很大不同[20]。 针对不同场景下的时空大数据计算处理需求,应构建一个综合性的、包含多种处理模式的大数据计算框架,对不同处理模式进行融合设计,实现综合计算效率的均衡,完成时空大数据计算插件的管理、任务的管理与监控、分布式计算结果的汇总。
在时空大数据中心的计算框架中,超级计算框架通过对传统应用改造升级,实现任务级并行计算,利用更多的计算资源提升传统业务处理效率,能很好的应用于计算量较小、并发高的场景。基于分布式内存计算框架主要是面向创新型时空大数据分析挖掘,应用于海量数据高效计算的场景。各计算模式通过提供统一的 应用程序接口,实现时空大数据的高效分析处理。时空大数据计算根据其业务特点,将时空大数据处理模式分为批处理模式和流处理模式。批处理模式的特点是空间数据先存储后处理,而流处理模式的特点是直接处理获取的空间数据。批处理模式采用超级计算框架的并行计算框架,实现对影像的处理、统计分析等功能。流处理模式适用于一些需要对实时时空大数据分析处理的场景,采用基于分布式内存计算框架。
(4)管理框架
管理框架主要为了实现对大数据计算与存储过程中资源的动态调度与分配。资源管理通过监控应用系统的各组成子系统(含服务)的平台及设备工作状态,并结合图形、列表等多种手段进行展示,实时采集存储节点、计算节点的运行状态信息。任务调度对任务进行全程的控制,包括任务接收、拆分和执行等,同时对任务进行分类显示,开展任务检索定义任务接口(图6)。
图6 存储资源配置
时空大数据基础框架重点是解决云环境下的计算和存储资源与地理信息应用服务平台内核的深度融合,涉及时空大数据高效存储和时空大数据高性能计算分析。本研究采取数据建库、图斑椭球面积计算和图斑叠加计算等应用场景,通过与传统模式下的相同操作进行对比测试,验证时空大数据基础框架下的基础设施建设是否达到预期效果,提升地理信息应用服务的效率和系统资源的利用率。
(1)实验数据
验证基于时空大数据基础框架下的分布式存储技术的有效性,选取山东省省级基础测绘“十二五”地形要素数据(不含青岛市和潮间带)共5977个MDB格式的文件,51.7GB,“十三五”数字正射影像6578幅、2.73TB。
(2)实验方法
对比在时空大数据基础框架下的混合存储策略与传统的集中式存储两种模式下,实验数据入库的时效。在时空大数据基础框架下,基于云环境搭建数据库存储与文件存储环境,将实验数据中的地形要素数据存储于空间数据库,数字正射影像存储于文件系统,采用PostgreSQL-XL作为分布式数据库解决方案,对分布式存储的数据进行入库操作。
(3)对比结果
通过实验对比,证明时空大数据基础框架下的入库时效和数据浏览数据速度均大幅度优于传统模式,入库效率大大提升。在入库过程中的数据库稳定性及应用响应程度都有所优化,同时混合存储和分布式存储策略给予了用户业务定制最大的灵活性,切实提高了整体的并发访问能力。
(1)验证环境
1台服务器作为主节点,3台服务器作为计算节点,通过主节点动态调度计算资源、内存资源和存储资源。各节点的硬件环境中,2个CPU,12核24线程,128GB内存;软件环境中,操作系统为Linux,Spark版本为2.1.1,Hadoop版本为2.7。其中,主节点服务器:1台,2个CPU,12核24线程,128GB内存;子节点服务器:3台,2个CPU,12核24线程,128GB内存。网络环境:千兆交换机,局域网。
(2)图斑椭球面积计算
对山东省地理省情监测成果中地表覆盖图斑进行椭球面积计算,并根据属性信息进行汇总统计,需要达到准实时计算的效果。在单机模式下,其他商业软件完成该项任务需要1周,而采用时空大数据计算框架中的分布式内存计算引擎,完成 “面积计算 + 汇总统计 + 可视化”耗时稳定在5min左右,效率同比提升2~3个数量级(表1、表2)。
表1 不同模式下的数据入库效率对比表
表2 不同计算方式的计算效率对比表
(3)地表覆盖变化流量统计
选取2018年、2019年两个年度的山东省地理省情监测数据成果,对两个年度的地表覆盖监测数据进行空间叠加计算,并在叠加结果中统计地表覆盖变化信息,按照测区进行统计。在单机模式下,在数据已经准备好的情况下,其他商业软件完成该项任务需要8~10h,而采用空间并行计算引擎,完成各叠加统计仅需30min左右,效率同比提升10倍以上(表3)。
表3 不同计算方式的计算耗时对比表
基础设施是各类大数据中心运行的基础支撑,对大数据中心管理与服务效率起着至关重要的基础作用。该文在实践的基础上,讨论了通过云管理平台,将各种物理资源虚拟化,形成跨虚拟化技术的统一资源池,整合计算资源、存储资源、网络资源等基础设施资源,完成云基础设施环境搭建。通过集群并行的工作模式去解决存储和计算两个最为核心的技术需求,将并行计算、GIS 内核技术深度融合在分布式架构中,形成时空大数据基础框架以解决时空大数据的存储和计算问题。通过实验对比,在相同的数据操作下,采用时空大数据基础框架能够加快数据入库速度,缩短数据浏览时间,提高数据计算效率,切实提升时空大数据的服务和管理能力。通过构筑技术先进、高可靠、高扩展的基础设施架构,不仅能满足当前大数据中心各系统运行需求和各类数据存储需求,同时可提供统一的、标准的数据接口,保证未来的可扩展,可实现与其他行业数据的有效衔接,为社会经济发展提供了有效支撑。