CN111680033A - 一种高性能gis平台 - Google Patents

一种高性能gis平台 Download PDF

Info

Publication number
CN111680033A
CN111680033A CN202010363560.9A CN202010363560A CN111680033A CN 111680033 A CN111680033 A CN 111680033A CN 202010363560 A CN202010363560 A CN 202010363560A CN 111680033 A CN111680033 A CN 111680033A
Authority
CN
China
Prior art keywords
service
data
layer
spatial
analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010363560.9A
Other languages
English (en)
Inventor
郭亮
刘洋
何华贵
杨卫军
王会
林鸿
曾志铧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Urban Planning Survey and Design Institute
Original Assignee
Guangzhou Urban Planning Survey and Design Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Urban Planning Survey and Design Institute filed Critical Guangzhou Urban Planning Survey and Design Institute
Priority to CN202010363560.9A priority Critical patent/CN111680033A/zh
Publication of CN111680033A publication Critical patent/CN111680033A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Remote Sensing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种高性能GIS平台,包括:用户层,用于响应于用户输入的功能模块触发指令生成服务调用请求,并将服务调用请求发送至网关层;用户层的功能模块包括数据查询功能、数据渲染功能和空间分析功能;网关层,用于接收来自用户层的服务调用请求,并将服务调用请求发送至相应的微服务;微服务层,存储有多个微服务;多个微服务包括数据查询服务、数据渲染服务和空间分析服务;数据层,包括用于将获取到的空间数据存储至存储系统的存储组件,和用于为微服务层中的各微服务提供基础数据存储系统。本发明实施例提供的高性能GIS平台,运行可靠性高,并且有利于实现负载均衡、满足高并发的业务需求。

Description

一种高性能GIS平台
技术领域
本发明涉及地理信息技术领域,尤其涉及一种高性能GIS平台。
背景技术
随着信息技术的发展,GIS(Geographic Information Systems,地理信息系统)平台已经渗入到人们生产生活的每一环节。
由于现有的GIS平台采用的是单体架构开发方式,不同组件提供的服务部署在同一运行环境下,相互间存在依赖关系,这种依赖关系一方面会使服务连环崩溃,运行可靠性比较低,另一方面无法按服务需求扩展,不利于实现负载均衡、满足高并发的业务需求,所以亟需提出一种新的高性能GIS平台。
发明内容
本发明实施例提供一种高性能GIS平台,运行可靠性高,并且有利于实现负载均衡、满足高并发的业务需求。
为了实现上述目的,本发明一实施例提供一种高性能GIS平台,包括用户层、网关层、微服务层和数据层;其中,
所述用户层,用于响应于用户输入的功能模块触发指令,生成服务调用请求,并将所述服务调用请求发送至所述网关层;其中,所述用户层的功能模块包括数据查询功能、数据渲染功能和空间分析功能;
所述网关层,用于接收来自所述用户层的服务调用请求,并将所述服务调用请求发送至相应的微服务;
所述微服务层,存储有多个微服务;其中,所述多个微服务通过Docker容器技术部署到集群中;所述多个微服务包括数据查询服务、数据渲染服务和空间分析服务;
所述数据层,包括存储组件和存储系统;其中,所述存储组件用于将获取到的空间数据存储至所述存储系统;所述存储系统用于为所述微服务层中的各微服务提供基础数据。
作为上述方案的改进,所述存储系统包括Apache HBase分布式数据库;
所述存储组件具体包括:
数据获取子组件,用于获取空间数据;
索引计算子组件,用于采用Geohash算法,计算每一所述空间数据的索引值;
数据存储子组件,用于对于每一所述空间数据,将每一所述空间数据的索引值作为Key值、每一所述空间数据的属性信息作为Value值,以KeyValue键值对的形式存储至所述Apache HBase分布式数据库。
作为上述方案的改进,所述数据查询服务用于响应于所述服务调用请求,根据所述服务调用请求,调用Spark计算引擎在所述Apache HBase分布式数据库中进行数据查询,并将查询结果返回至所述用户层;其中,所述Spark计算引擎通过Docker容器技术部署。
作为上述方案的改进,所述存储系统还包括Redis内存数据库;
所述存储组件还包括:
矢量切片子组件,用于调用Spark计算引擎对存储于所述存储系统的空间数据进行矢量切片处理,生成矢量切片数据,并将所述矢量切片数据存储至所述R edis内存数据库;其中,所述Spark计算引擎通过Docker容器技术部署;
所述数据渲染服务用于响应于所述服务调用请求,根据所述服务调用请求,从所述Redis内存数据库中调取相应的矢量切片,并将调取出的矢量切片返回至所述用户层,通过所述用户层渲染所述调取出的矢量切片。
作为上述方案的改进,所述空间分析服务用于响应于所述服务调用请求,根据所述服务调用请求,调用Spark计算引擎从所述Apache HBase分布式数据库中提取相应的空间数据进行空间分析,并将分析结果返回至所述用户层;其中,所述Spark计算引擎通过Docker容器技术部署;所述空间分析包括叠加分析、邻域分析、网络分析和插值分析。
作为上述方案的改进,所述用户层包括网页客户端和应用程序客户端。
作为上述方案的改进,所述网关层具体用于接收来自所述用户层的服务调用请求,并根据负载均衡策略将所述服务调用请求发送至相应的微服务。
作为上述方案的改进,所述多个微服务之间通过REST方式进行通信。
与现有技术相比,本发明实施例提供的一种高性能GIS平台,包括用户层、网关层、微服务层和数据层;其中,所述用户层,用于响应于用户输入的功能模块触发指令,生成服务调用请求,并将所述服务调用请求发送至所述网关层;其中,所述用户层的功能模块包括数据查询功能、数据渲染功能和空间分析功能;所述网关层,用于接收来自所述用户层的服务调用请求,并将所述服务调用请求发送至相应的微服务;所述微服务层,存储有多个微服务;其中,所述多个微服务通过Docker容器技术部署到集群中;所述多个微服务包括数据查询服务、数据渲染服务和空间分析服务;所述数据层,包括存储组件和存储系统;其中,所述存储组件用于将获取到的空间数据存储至所述存储系统;所述存储系统用于为所述微服务层中的各微服务提供基础数据。本发明实施例提供的高性能GIS平台,建立在虚拟化容器技术和微服务架构下,把应用拆解为职责单一的GIS功能服务,各微服务之间是协同关系,互不依赖且独立存在,能够避免因服务间相互依赖而导致的服务连环崩溃的问题,运行可靠性高,并且,当应用的不同组件在扩展需求上存在差异时,每个服务可以根据实际需求独立进行扩展,有利于实现负载均衡、满足高并发的业务需求。
附图说明
图1是本发明一实施例提供的一种高性能GIS平台的结构示意图。
图2是本发明一实施例提供的Docker镜像部署示意图。
图3是本发明一实施例提供的高性能GIS平台搭建流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明一实施例提供的一种高性能GIS平台的结构示意图。
本发明实施例提供的高性能GIS平台,包括用户层1、网关层2、微服务层3和数据层4;其中,
所述用户层1,用于响应于用户输入的功能模块触发指令,生成服务调用请求,并将所述服务调用请求发送至所述网关层2;其中,所述用户层的功能模块包括数据查询功能、数据渲染功能和空间分析功能;
所述网关层2,用于接收来自所述用户层1的服务调用请求,并将所述服务调用请求发送至相应的微服务;
所述微服务层3,存储有多个微服务;其中,所述多个微服务通过Docker容器技术部署到集群中;所述多个微服务包括数据查询服务、数据渲染服务和空间分析服务;
所述数据层4,包括存储组件41和存储系统42;其中,所述存储组件41用于将获取到的空间数据存储至所述存储系统42;所述存储系统42用于为所述微服务层3中的各微服务提供基础数据。
需要说明的,所述用户层包括网页客户端和应用程序客户端。
需要说明的,所述数据查询服务,用于实现空间数据的查询;所述数据渲染服务,用于实现空间数据的渲染;所述空间分析服务,用于实现空间数据的分析。
为了便于对本实施例的理解,高性能GIS平台的运行过程具体可以示例为如下所示:
用户触发应用层1的网页客户端的数据查询功能,并输入希望获取的数据的空间范围或属性字段等查询信息,从而生成带有查询信息的功能模块触发指令,用户层1响应于用户输入的功能模块触发指令,生成带有查询信息的服务调用请求,并将服务调用请求发送至网关层2,网关层2在接收来自用户层1的服务调用请求时,将服务调用请求发送至微服务层3的数据查询服务,从而调用微服务层3的数据查询服务,微服务层3的数据查询服务根据服务调用请求中的查询信息,在数据层4的存储系统42中查询用户希望获取的数据,在查询结束后,将查询结果返回至应用层1的网页客户端显示,从而实现数据查询。
本发明实施例提供的高性能GIS平台,建立在虚拟化容器技术和微服务架构下,把应用拆解为职责单一的GIS功能服务,各微服务之间是协同关系,互不依赖且独立存在,能够避免因服务间相互依赖而导致的服务连环崩溃的问题,运行可靠性高,并且,当应用的不同组件在扩展需求上存在差异时,每个服务可以根据实际需求独立进行扩展,有利于实现负载均衡、满足高并发的业务需求。
需要说明的是,Docker容器技术,又称为容器虚拟化。容器虚拟化是一种操作系统虚拟化,属于轻量级的虚拟化技术。容器作为一个相对独立的运行环境,能够最小化其对外界的影响,用户可以主动控制容器对宿主机资源的消耗占用,Docker是开源的应用容器引擎,可以方便地对容器进行管理其对镜像的打包封装,以及引入的DockerRegistry对镜像的统一管理,构建了方便快捷的构建、发布和运行流程。利用Docker,开发人员、测试人员和运维人员可以共同统一管理整个开发、测试和部署的环境和流程,极大地减少运维成本。此外,得益于容器技术的轻量级虚拟化以及Docker在分层镜像应用上的创新,Docker在磁盘占用、性能和效率方面相较于传统的虚拟化都有非常显著的提高。
可选的,参见图2,在高性能GIS平台搭建中,首先构建私有镜像仓库,通过在镜像本地开发环境中所形成的各种支撑模型,包括矢量金字塔构建模型、负载均衡Nginx模型、HBase分布式存储节点、分布式控制调度模块、各类基于分布式设计的空间分析算子模型(空间并行连接、缓冲区分析、空间查询、空间计算)以及Spark计算模型,并利用镜像打包、上传等操作发布到私有镜像仓库中,作为高性能GIS平台的基础。每一个镜像通过镜像ID标识,通过镜像编排技术快速分裂为多个功能完全一致的副本并部署到不同的节点服务器中。
在本实施例中,由于Docker容器技术相对于传统的虚拟机技术来说,占用资源小,因此,通过Docker容器技术搭建高性能GIS平台,能够充分发挥服务器的性能,切合高性能GIS平台海量数据查询、高性能空间分析、实时渲染的要求;Docker相对隔离独立的环境、可跨平台运行的特性使得开发者可以任意选择开发环境;在分布式环境下,高性能GIS平台组件部署可依赖于Docker编排技术,通过指定容器占用端口、运行副本数量、负载均衡策略等配置,实现一键分发、安装、部署以及更新,相较于传统的部署方式在速率上有巨大提升。
需要说明的是,本实施例利用Docker容器技术,可以将高性能GIS平台各个微服务部署为容器镜像,该镜像能够在任何装有Docker的环境中运行,把镜像实例化为容器,从而实现服务部署。同时,由于Docker容器自身基于虚拟化技术,所以能够在一台机器上构建多个容器,有助于提高机器资源的利用率。
需要说明的是,微服务架构通过对应用的功能和结构进行分析与建模,将复杂的应用拆分成细粒化的、业务逻辑单一的、耦合度低并且能够独立部署、独立运行的一组服务。在微服务架构中,每个服务作为独立的业务单元,分别运行在不同的进程中。在本实施例中,高性能GIS平台包含若干个功能模块或应用,通过分析拆解每个GIS应用的组件,选择适合的技术框架进行独立开发,形成微服务,实现敏捷开发和部署。进一步地,可以根据服务访问的频率或预设的优先级对各个微服务进行等级评定,然后形成YAML数据格式文件的配置文件,以此对微服务等级、微服务间的依赖关系、微服务的访问端口等一系列的配置数据进行解析处理。
可选的,在本实施例中,可以是利用轻量通信机制把一个或多个单一功能对象的容器组成起一个面向具体GIS应用的服务单元,并将此绑定注册到服务中心,从而形成微服务。需要说明的是,在微服务架构中,GIS功能服务的多个实例被部署在个数不定的节点,存在服务网络地址随时变动的问题,通过服务发现机制能够对服务进行很好地管理,以便进行服务集群的动态伸缩。服务发现分为服务调用者发现(客户端模式)和分发层服务发现(服务端模式)两种场景。在服务调用者发现场景中,在服务调用之前,调用者需要向服务注册与发现模块(服务注册中心)请求获取可用服务列表,然后根据负载均衡等策略从众多的服务实例中选择合适的服务分发调用请求,客户端框架是这种场景的解决方案。在分发层服务发现场景中,客户端向平台分发层提出服务访问请求,调用方直接向服务注册中心发起请求,服务注册中心通过自身负载均衡算法策略将访问请求转发至服务实例,服务端框架是这种场景的解决方案。作为一个可选实施例,所述网关层2包括服务注册中心,所述网关层2具体用于接收来自所述用户层1的服务调用请求,并根据负载均衡策略将所述服务调用请求发送至相应的微服务。
作为一个可选实施例,微服务层3中的多个微服务之间通过REST方式进行通信。
需要说明的是,基于微服务架构的应用本质上是一个分布式系统,部署在各个节点的服务需要以网络通信方式进行交互。由此可见,服务间的通信方式是系统性能高低的重要影响因素。在微服务架构中,轻量级的通信机制是必要的条件。通过轻量级的通信机制,实现服务之间的互通互联,互相协作,以向用户提供最终的应用价值。轻量级通信机制体现在该通信机制是一种与语言无关、平台无关的交互方式。REST(RepresentationalState Transfer,表述性状态转移)是近几年较为广泛的分布式节点间同步通信的实现方式。REST从语义层面将响应结果定义为资源,并使用HTTP的标准动词(如get、post等操作)映射为对资源的操作,形成了以资源为核心、以HTTP为操作方式、与语言和平台无关的服务间通信机制。
作为一个可选实施例,所述存储系统42包括Apache HBase分布式数据库;
所述存储组件41具体包括:
数据获取子组件,用于获取空间数据;
索引计算子组件,用于采用Geohash算法,计算每一所述空间数据的索引值;
数据存储子组件,用于对于每一所述空间数据,将每一所述空间数据的索引值作为Key值、每一所述空间数据的属性信息作为Value值,以KeyValue键值对的形式存储至所述Apache HBase分布式数据库。
在本实施例中,采用ApacheHBase分布式数据库作为空间数据的存储支撑,ApacheHBase是在Hadoop和HDFS基础上提供亿级数据的随机访问与读写能力的分布式数据库。存储组件利用Z-OrderHBase索引对空间数据进行索引降维处理,通过Geohash编码将二维空间数据坐标转换为一维串码,作为数据库索引Key值,HBase的每一行Value值则用来存储空间数据的属性信息,形成Key-Value键值对存储方式,其分布式架构具备支持Spark分布式大数据分析的天然优势,扩展SparkSQL支持OGC标准的SQL时空查询,对比传统的位置查询、图属查询有明显的提升,在查询提取亿级数据时,有效避免程序假死,查询速度有极大的提升。
具体的,索引计算子组件具体通过分块技术、Geohash地理编码技术和索引降维计算每一空间数据的索引值。
其中,分块,是对海量的随机分布的空间数据进行切割,切割所形成的各个分块构建多层分级的数据结构,通过Geohash进行地理编码把空间进行网格化。由于矢量空间数据存储量极为庞大,通过分块技术能够根据矢量数据的空间位置迅速定位到指定的网格中,在屏幕显示时根据显示的范围和分辨率等信息计算加载相应的网格块,过滤掉数据集中大部分多余的数据,便于存储管理和减少数据IO时间,提高数据查询、存储、分析和渲染的效率。
其中,Geohash地理编码精度分为十二级,根据所表达空间范围的大小可灵活调整。字符串长度越长,精度越高,所覆盖的区域越小。Geohash编码依据字符串值和字符串长度控制表达的空间比例尺和范围。利用Geohash编码根据经纬度位置转换为字符串表达,将一幅大的遥感影像分割为格网小块。并利用字符串长度控制划分精度,Geohash能够提供任意精度的分段级别,字符串长度越长,精度越高。把分形技术与影像金字塔和分块技术结合,根据遥感影像的经纬度位置,建立与矢量金字塔对应长度的字符串,表达多比例尺下的矢量空间。与传统物理分块的方法不同,Geohash编码可以从算法上实现分层分块,从底层技术实现存储和检索效率的提高。
其中,索引降维,指的是将二维、三维甚至更高维数的矢量数据的空间索引降为一维,并利用空间填充曲线构建矢量金字塔,根据Geohash地理编码算法将分块网格进行降维,转换为字符串,利用字符串表示一个网格区域,根据字符串长度与前缀即可判断出区域的位置和范围大小。在上述描述中,根据空间范围确定好字符串长度后,即可利用空间位置对其进行编码,一般采用二分法将地理空间坐标进行二分,若研究对象位于左区间,则赋值为1,位于右区间,则赋值为0,最终形成二进制字符串结果,按照“偶数位放经度,奇数位放纬度”的规则,对形成的经度二进制结果与维度二进制结果进行合并,通过base-32转码,形成最终的字符串结果。
进一步地,所述数据查询服务用于响应于所述服务调用请求,根据所述服务调用请求,调用Spark计算引擎在所述Apache HBase分布式数据库中进行数据查询,并将查询结果返回至所述用户层;其中,所述Spark计算引擎通过Docker容器技术部署。
需要说明的是,传统GIS平台在面对数千条空间数据的查询和过滤显示时,会面临浏览器压力等诸多性能瓶颈,本实施例提供的高性能GIS平台利用HBas e数据库以及Key-Value键值对存储方式存储海量空间数据,并利用支持分布式内存计算的Spark计算引擎来实现数据查询,能够极大地提升数据查询效率。
进一步地,所述存储系统42还包括Redis内存数据库;
所述存储组件41还包括:
矢量切片子组件,用于调用Spark计算引擎对存储于所述存储系统的空间数据进行矢量切片处理,生成矢量切片数据,并将所述矢量切片数据存储至所述R edis内存数据库;其中,所述Spark计算引擎通过Docker容器技术部署;
所述数据渲染服务用于响应于所述服务调用请求,根据所述服务调用请求,从所述Redis内存数据库中调取相应的矢量切片,并将调取出的矢量切片返回至所述用户层,通过所述用户层渲染所述调取出的矢量切片。
需要说明的是,矢量切片,指的是以经过Geohash地理编码后的网格为基础构建矢量金字塔,形成不同层级的矢量切片。矢量切片,是一种利用协议缓冲(P rotocalBuffers)技术的紧凑的二进制格式用来传递信息。当渲染地图时矢量切片使用一系列存储的内部数据进行制图。被组织到矢量切片的图层比如(水、道路、区域等),每一层都有包含几何图形和可变属性的独立要素。将矢量数据以建立金字塔的方式,像栅格切片那样分割成一个个描述性文件,也即矢量切片,再以MVT、PBF等格式或其他自定义格式组织,并存储至Redis内存数据库,然后在前端用户层1根据显示需要按需请求不同的矢量瓦片数据进行Web绘图,从而实现数据渲染。
需要说明的是,面对海量空间数据,传统GIS平台主要采用栅格瓦片切片方式解的问题,这种方式增加了数据存储、数据维护困难、更新周期长、无法动态实时渲染等问题。本实施例提供的高性能GIS平台改变传统栅格切片及存储方式,采用矢量切片方式,由服务器后端生成矢量切片,浏览器前端根据矢量切片进行渲染,同时,高性能GIS平台可以是采用索引降维计算方法,对每一块矢量切片根据其地理属性生成其唯一ID,并将ID-切片地理属性以Key-Value形式存储于Redis内存数据库中,以达到减轻服务器I/O读写压力,减小前端切片请求时间的目的,相比于传统栅格切片以及传统矢量切片方式,可以显著提升渲染效果,将加载-渲染时间压缩,从而实现大规模的空间数据适量切片的实时浏览、快速实时渲染,在线配图,并且,调用Spark计算引擎来进行矢量切片,能够极大提高矢量切片的效率。
进一步地,所述空间分析服务用于响应于所述服务调用请求,根据所述服务调用请求,调用Spark计算引擎从所述Apache HBase分布式数据库中提取相应的空间数据进行空间分析,并将分析结果返回至所述用户层;其中,所述Spark计算引擎通过Docker容器技术部署;所述空间分析包括叠加分析、邻域分析、网络分析和插值分析。
需要说明的是,Spark是一种基于内存的分布式并行计算框架,该框架利用内存迭代计算,提高了数据处理的实时性,同时保证高容错性和高可伸缩性。Spark将数据存储在运行内存当中,完全基于内存进行计算,性能比Hadoop高出十倍到百倍。Spark计算框架以RDD作为内存数据模型,所有的计算都是围绕RDD进行,在Spark任务的执行过程中,RDD经过一系列Transformation算子之后,最后通过Action算子触发执行操作,完成整个计算过程。
在本实施例中,调用Spark计算引擎来进行空间分析,也就是基于分布式并行计算框架,提供并行化的空间分析算法,实现海量数据高性能的空间分析(叠加分析、邻域分析、网络分析、插值分析),能够极大提高空间分析的效率,并且有利于支持多种空间大数据分析算子和TensorFlow、CNTK和Pytorch等深度学习框架在地理信息分析中的应用,从而实现在遥感影像分类识别中,自动训练大量的影像,构建海量样本库,提高遥感影像识别精度;利用基础地理数据和互联网大数据与AI算法结合,提高地理空间分析的精度与效率,支撑车载物联网、自动导航驾驶等前沿技术的发展。
其中,在矢量数据表达层面,利用扩展Key-Value结构的矢量地理元组对象模型,将矢量数据各类信息以Value值来存储,空间信息转换为符合OGC简单要素规范的Value值,以此构成矢量地理元组。多个矢量地理元组构成一个矢量地理对象,每一个矢量地理对象可以表示矢量数据的空间信息、属性信息、时间信息和空间拓扑等,并且其相互独立可灵活组织成地理空间对象数据集,从而构建起灵活可切割语义的具备空间数据关联关系的地理数据集,实现数据的组织与管理。
其中,在矢量数据存储模式层面,上述构建形成的扩展Key-Value的矢量地理元组对象模型契合分布式数据库Key-Column存储模型。矢量地理元组可以拆分为若干列族(ColumnFamily)存储,属性信息、时间信息和空间信息分别存储于不同的列族中,并且根据金字塔构建的瓦片关系进行合理切割,通过分布式协调控制,自发执行分布式多节点间的数据迁徙、拷贝和更新,实现节点间存储负载均衡和副本均衡。
其中,在矢量数据调度模式层面,改变传统空间分析单机处理的设计,采取适应分布式环境的各类空间分析、空间查询、空间处理的算子,确保在高性能GIS平台框架下,矢量大数据可以在分布式环境下灵活地存储、计算和渲染。其中关键技术在于构建无依赖的并行计算模式,利用上述分布式多副本的存储模式,将计算作业拆解为一系列并行执行的计算任务,相互之间无任何依赖关系,并最终将结果重新组合呈现。Spark模型是典型的无依赖并行计算模型,通过虚拟化技术将其封装在容器中,可随时按需扩展。Spark可以将空间索引缓存于分布式内存并共享到各计算任务线程,各计算任务线程遍历地理数据集,进行并行无依赖空间计算。
本发明实施例提供的高性能GIS平台,具有以下优点:
(1)支持海量数据快速查询、高性能空间分析、实时渲染
采用多种分布式空间数据引擎,包括支持大规模矢量/栅格的HBase、HDFS引擎、支持流数据计算的Storm引擎和支持分布式内存计算的Spark引擎等,达到海量数据快速查询提取的效果;采用高性能分布式动态渲染技术,支持亿级别数据快速发布与实时渲染、支持在线配图、修改地图风格、支持分布式批量更新;以分布式技术重构经典空间分析算子,重构矢量/栅格数据的经典空间分析算子,极大提高空间分析的效率。
(2)支持深度学习、人工智能等新型复杂算法分析
利用虚拟化技术技术提供的分布式高性能数据处理能力,支持多种空间大数据分析算子和TensorFlow、CNTK和Pytorch等深度学习框架在地理信息分析中的应用。在遥感影像分类识别中,自动训练大量的影像,构建海量样本库,提高遥感影像识别精度;利用基础地理数据和互联网大数据与AI算法结合,提高地理空间分析的精度与效率,支撑车载物联网、自动导航驾驶等前沿技术的发展。
(3)服务快速部署、按需扩展
利用虚拟化技术支撑高性能计算,把服务单元封装为Docker容器,通过编排命令实现一键部署,通过实现分布式节点的快速部署,搭配Spark大数据计算处理引擎、Zookeeper分布式协调应用程序和HBase分布式数据库实现数据的分布式存储、分布式计算,提高GIS平台的存储效率和计算能力,完成高性能GIS平台的快速搭建。
需要说明的是,传统的GIS平台搭建方法,采用单体架构开发方式,共享同一数据库,在系统开发过程中集成平台所需GIS功能,系统容易造成臃肿;模块间相互依赖关系模糊复杂,容错性差,出现问题时排查难度大,增加后期维护成本;需要调整部分模块组件或增添新模块时,需要对所有模块重新编译、打包和上线,造成开发效率低,系统扩展性差;无法灵活地进行分布式部署。本发明实施例提供的高性能GIS平台,参见图3,在自动化部署过程中,融入大数据分布式存储、并行计算技术,既能最大程度精简GIS平台搭建步骤,也能够显著提高海量空间数据存储、实时渲染与高性能空间分析的效率;采用去中心化的分布式存储方式,把高性能GIS平台应用拆解为职责单一的GIS功能服务,且单独配置数据库,运行在相互独立、隔离的环境中;在功能不变的情况下,应用被分解为多个可管理的服务,很好地解决了复杂性问题;各微服务之间是协同关系,互不依赖且独立存在,通过REST接口通信访问,帮助开发者在服务部署时,不需协调其它服务部署对本服务的影响,降低模块间耦合度;底层采用虚拟化容器技术进行封装隔离,利用Spark大数据处理计算引擎、Nginx负载均衡模型、Zookeeper分布式应用程序协调系统,通过一体化配置管理实施部署,可灵活的进行分布式部署,大幅度提高GIS平台的存储和计算能力,依据性能需求或负载均衡配置水平伸缩,增强平台的鲁棒性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (8)

1.一种高性能GIS平台,其特征在于,包括用户层、网关层、微服务层和数据层;其中,
所述用户层,用于响应于用户输入的功能模块触发指令,生成服务调用请求,并将所述服务调用请求发送至所述网关层;其中,所述用户层的功能模块包括数据查询功能、数据渲染功能和空间分析功能;
所述网关层,用于接收来自所述用户层的服务调用请求,并将所述服务调用请求发送至相应的微服务;
所述微服务层,存储有多个微服务;其中,所述多个微服务通过Docker容器技术部署到集群中;所述多个微服务包括数据查询服务、数据渲染服务和空间分析服务;
所述数据层,包括存储组件和存储系统;其中,所述存储组件用于将获取到的空间数据存储至所述存储系统;所述存储系统用于为所述微服务层中的各微服务提供基础数据。
2.如权利要求1所述的高性能GIS平台,其特征在于,所述存储系统包括Apache HBase分布式数据库;
所述存储组件具体包括:
数据获取子组件,用于获取空间数据;
索引计算子组件,用于采用Geohash算法,计算每一所述空间数据的索引值;
数据存储子组件,用于对于每一所述空间数据,将每一所述空间数据的索引值作为Key值、每一所述空间数据的属性信息作为Value值,以Key Value键值对的形式存储至所述Apache HBase分布式数据库。
3.如权利要求2所述的高性能GIS平台,其特征在于,所述数据查询服务用于响应于所述服务调用请求,根据所述服务调用请求,调用Spark计算引擎在所述Apache HBase分布式数据库中进行数据查询,并将查询结果返回至所述用户层;其中,所述Spark计算引擎通过Docker容器技术部署。
4.如权利要求2所述的高性能GIS平台,其特征在于,所述存储系统还包括Redis内存数据库;
所述存储组件还包括:
矢量切片子组件,用于调用Spark计算引擎对存储于所述存储系统的空间数据进行矢量切片处理,生成矢量切片数据,并将所述矢量切片数据存储至所述R edis内存数据库;其中,所述Spark计算引擎通过Docker容器技术部署;
所述数据渲染服务用于响应于所述服务调用请求,根据所述服务调用请求,从所述Redis内存数据库中调取相应的矢量切片,并将调取出的矢量切片返回至所述用户层,通过所述用户层渲染所述调取出的矢量切片。
5.如权利要求2所述的高性能GIS平台,其特征在于,所述空间分析服务用于响应于所述服务调用请求,根据所述服务调用请求,调用Spark计算引擎从所述Apache HBase分布式数据库中提取相应的空间数据进行空间分析,并将分析结果返回至所述用户层;其中,所述Spark计算引擎通过Docker容器技术部署;所述空间分析包括叠加分析、邻域分析、网络分析和插值分析。
6.如权利要求1所述的高性能GIS平台,其特征在于,所述用户层包括网页客户端和应用程序客户端。
7.如权利要求1所述的高性能GIS平台,其特征在于,所述网关层具体用于接收来自所述用户层的服务调用请求,并根据负载均衡策略将所述服务调用请求发送至相应的微服务。
8.如权利要求1所述的高性能GIS平台,其特征在于,所述多个微服务之间通过REST方式进行通信。
CN202010363560.9A 2020-04-30 2020-04-30 一种高性能gis平台 Pending CN111680033A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010363560.9A CN111680033A (zh) 2020-04-30 2020-04-30 一种高性能gis平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010363560.9A CN111680033A (zh) 2020-04-30 2020-04-30 一种高性能gis平台

Publications (1)

Publication Number Publication Date
CN111680033A true CN111680033A (zh) 2020-09-18

Family

ID=72452423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010363560.9A Pending CN111680033A (zh) 2020-04-30 2020-04-30 一种高性能gis平台

Country Status (1)

Country Link
CN (1) CN111680033A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231115A (zh) * 2020-09-27 2021-01-15 中国建设银行股份有限公司 一种执行动态插入算子的方法以及装置
CN112231019A (zh) * 2020-10-14 2021-01-15 斑马网络技术有限公司 基于分布式微服务的地图引擎架构
CN112819964A (zh) * 2021-04-02 2021-05-18 国家基础地理信息中心 空间数据处理方法、系统及电子设备
CN112835917A (zh) * 2021-01-28 2021-05-25 山东浪潮通软信息科技有限公司 一种基于血缘关系分布的数据缓存方法、系统
CN113076308A (zh) * 2021-03-22 2021-07-06 航天精一(广东)信息科技有限公司 一种时空大数据服务系统
CN113641883A (zh) * 2021-05-26 2021-11-12 中国再保险(集团)股份有限公司 一种针对大量多元异构的复杂下垫面空间数据的快速读取方法及接口
CN114328795A (zh) * 2022-03-11 2022-04-12 土豆数据科技集团有限公司 一种实景三维数据处理方法、装置、服务器和存储介质
CN114844759A (zh) * 2022-04-12 2022-08-02 西安理工大学 一种基于Docker的细粒度的分布式云计算架构
CN115328681A (zh) * 2022-10-12 2022-11-11 珠海乐活公社网络科技有限公司 基于微服务的物资服务管控方法、系统及存储介质
WO2022256969A1 (zh) * 2021-06-07 2022-12-15 京东方科技集团股份有限公司 一种通用数据抽取的系统
CN116028500A (zh) * 2023-01-17 2023-04-28 黑龙江大学 一种基于高维数据的范围查询索引方法
CN117369947A (zh) * 2023-10-26 2024-01-09 深圳海规网络科技有限公司 一种容器镜像的管理方法和管理系统
CN118035324A (zh) * 2024-04-15 2024-05-14 航天宏图信息技术股份有限公司 数据处理查询方法、装置、服务器及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107786379A (zh) * 2017-11-15 2018-03-09 四川省龙逸凤集网络科技有限公司 一种基于微服务架构的分层云管理平台
CN107979635A (zh) * 2017-10-24 2018-05-01 广东康美通信息服务有限公司 基于微服务的系统、方法及存储介质
CN109871418A (zh) * 2019-01-04 2019-06-11 广州市城市规划勘测设计研究院 一种时空数据的空间索引方法和系统
CN110399446A (zh) * 2019-07-26 2019-11-01 广州市城市规划勘测设计研究院 大规模时空数据的可视化方法、装置、设备及存储介质
CN110543537A (zh) * 2019-08-22 2019-12-06 广东省城乡规划设计研究院 一种基于Docker容器及微服务架构的智慧规划时空云GIS平台
CN110599490A (zh) * 2019-09-02 2019-12-20 广州市城市规划勘测设计研究院 一种遥感影像数据存储方法和系统
CN111045652A (zh) * 2019-12-13 2020-04-21 中国南方电网有限责任公司 配电网开发及服务系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107979635A (zh) * 2017-10-24 2018-05-01 广东康美通信息服务有限公司 基于微服务的系统、方法及存储介质
CN107786379A (zh) * 2017-11-15 2018-03-09 四川省龙逸凤集网络科技有限公司 一种基于微服务架构的分层云管理平台
CN109871418A (zh) * 2019-01-04 2019-06-11 广州市城市规划勘测设计研究院 一种时空数据的空间索引方法和系统
CN110399446A (zh) * 2019-07-26 2019-11-01 广州市城市规划勘测设计研究院 大规模时空数据的可视化方法、装置、设备及存储介质
CN110543537A (zh) * 2019-08-22 2019-12-06 广东省城乡规划设计研究院 一种基于Docker容器及微服务架构的智慧规划时空云GIS平台
CN110599490A (zh) * 2019-09-02 2019-12-20 广州市城市规划勘测设计研究院 一种遥感影像数据存储方法和系统
CN111045652A (zh) * 2019-12-13 2020-04-21 中国南方电网有限责任公司 配电网开发及服务系统

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231115A (zh) * 2020-09-27 2021-01-15 中国建设银行股份有限公司 一种执行动态插入算子的方法以及装置
CN112231019A (zh) * 2020-10-14 2021-01-15 斑马网络技术有限公司 基于分布式微服务的地图引擎架构
CN112231019B (zh) * 2020-10-14 2024-04-16 斑马网络技术有限公司 基于分布式微服务的地图引擎架构
CN112835917A (zh) * 2021-01-28 2021-05-25 山东浪潮通软信息科技有限公司 一种基于血缘关系分布的数据缓存方法、系统
CN113076308A (zh) * 2021-03-22 2021-07-06 航天精一(广东)信息科技有限公司 一种时空大数据服务系统
CN112819964A (zh) * 2021-04-02 2021-05-18 国家基础地理信息中心 空间数据处理方法、系统及电子设备
CN113641883A (zh) * 2021-05-26 2021-11-12 中国再保险(集团)股份有限公司 一种针对大量多元异构的复杂下垫面空间数据的快速读取方法及接口
CN113641883B (zh) * 2021-05-26 2024-05-24 中国再保险(集团)股份有限公司 一种针对大量多元异构的复杂下垫面空间数据的快速读取方法及接口
CN115836284A (zh) * 2021-06-07 2023-03-21 京东方科技集团股份有限公司 一种通用数据抽取的系统
WO2022256969A1 (zh) * 2021-06-07 2022-12-15 京东方科技集团股份有限公司 一种通用数据抽取的系统
CN114328795B (zh) * 2022-03-11 2022-07-26 土豆数据科技集团有限公司 一种实景三维数据处理方法、装置、服务器和存储介质
CN114328795A (zh) * 2022-03-11 2022-04-12 土豆数据科技集团有限公司 一种实景三维数据处理方法、装置、服务器和存储介质
CN114844759A (zh) * 2022-04-12 2022-08-02 西安理工大学 一种基于Docker的细粒度的分布式云计算架构
CN115328681A (zh) * 2022-10-12 2022-11-11 珠海乐活公社网络科技有限公司 基于微服务的物资服务管控方法、系统及存储介质
CN115328681B (zh) * 2022-10-12 2023-02-10 珠海乐活公社网络科技有限公司 基于微服务的物资服务管控方法、系统及存储介质
CN116028500A (zh) * 2023-01-17 2023-04-28 黑龙江大学 一种基于高维数据的范围查询索引方法
CN117369947A (zh) * 2023-10-26 2024-01-09 深圳海规网络科技有限公司 一种容器镜像的管理方法和管理系统
CN118035324A (zh) * 2024-04-15 2024-05-14 航天宏图信息技术股份有限公司 数据处理查询方法、装置、服务器及介质

Similar Documents

Publication Publication Date Title
CN111680033A (zh) 一种高性能gis平台
US8819078B2 (en) Event processing for graph-structured data
US10262392B2 (en) Distributed and parallelized visualization framework
CN110990726A (zh) 时空大数据智能服务系统
WO2017172947A1 (en) Managed function execution for processing data streams in real time
CN109871418A (zh) 一种时空数据的空间索引方法和系统
Al Naami et al. GISQF: An efficient spatial query processing system
CN107343021A (zh) 国网云中应用的一种基于大数据的日志管理系统
Xiaoqiang et al. Exploration of cloud computing technologies for geographic information services
US20230385353A1 (en) Spatial search using key-value store
CN115827907A (zh) 基于分布式内存的跨云多源数据立方体发现与集成方法
CN115114374B (zh) 事务执行方法、装置、计算设备及存储介质
CN113934539A (zh) 一种基于微服务架构的地理信息服务系统的构建方法
Chen et al. Towards low-latency big data infrastructure at sangfor
Tripathi et al. A comparative analysis of conventional hadoop with proposed cloud enabled hadoop framework for spatial big data processing
CN115168505A (zh) 一种用于海洋时空数据的管理系统以及方法
Hou et al. Design and achievement of cloud geodatabase for a sponge city
Nidzwetzki et al. BBoxDB: a distributed and highly available key-bounding-box-value store
CN114693262A (zh) 一种智慧城市信息栅格操作系统
Nidzwetzki et al. BBoxDB streams: scalable processing of multi-dimensional data streams
Yang et al. Efficient storage method for massive remote sensing image via spark-based pyramid model
Saleem et al. Scalable processing of location-based social networking queries
US20230161792A1 (en) Scaling database query processing using additional processing clusters
Tan Application of MongoDB technology in NoSQL database in video intelligent big data analysis
Ganguli Convergence of Big Data and Cloud Computing Environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200918

RJ01 Rejection of invention patent application after publication