CN112948439A - 一种实时处理gis数据查询请求方法、装置、介质及设备 - Google Patents
一种实时处理gis数据查询请求方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN112948439A CN112948439A CN202110245964.2A CN202110245964A CN112948439A CN 112948439 A CN112948439 A CN 112948439A CN 202110245964 A CN202110245964 A CN 202110245964A CN 112948439 A CN112948439 A CN 112948439A
- Authority
- CN
- China
- Prior art keywords
- data
- rendering
- query request
- request
- vector
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 title claims abstract description 24
- 238000009877 rendering Methods 0.000 claims abstract description 108
- 230000003068 static effect Effects 0.000 claims abstract description 78
- 230000015654 memory Effects 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 230000008030 elimination Effects 0.000 claims description 5
- 238000003379 elimination reaction Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 7
- 238000012800 visualization Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000014759 maintenance of location Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种实时处理GIS数据查询请求方法、装置、介质及设备,其中,所述方法包括:获取GIS数据查询请求,所述查询请求包括地图层级、请求范围信息;判断所述查询请求是否存在于数据请求缓存数据库中;若不存在,则根据所述查询请求获取切片数据缓存数据库中的对应的静态矢量切片数据;根据主键ID,获取所述静态矢量切片数据对应的动态数据;将所述静态矢量切片数据与所述动态数据合并渲染,得到渲染数据,将所述渲染数据与所述查询请求相关联并存入渲染数据缓存数据库;将所述渲染数据展示至所述数据查询的请求端。本公开引入多级缓存技术和四叉树索引技术实现的动态数据快速更新机制,从而实现快速查询以及动态更新数据对象。
Description
技术领域
本公开涉及计算机计算技术领域,更为具体来说,本公开涉及一种实时处理GIS数据查询请求方法、装置、介质及设备。
背景技术
四叉树索引的基本思想是将地理空间递归划分为不同层次的树结构。它将已知范围的空间等分成四个相等的子空间,如此递归下去,直至树的层次达到一定深度或者满足某种要求后停止分割。四叉树的结构比较简单,并且当空间数据对象分布比较均匀时,具有比较高的空间数据***和查询效率,因此四叉树是GIS中常用的空间索引之一。
面对海量数据实时渲染的需求,传统的GIS可视化技术难以实时处理,而整体切片又花费过大。大量数据需要在时间和空间的维度进行分析,而传统的静态GIS可视化技术在处理动态实时地理要素时能力不足。传统GIS可视化在分析数据量大时对服务器,数据库及网络压力大。
发明内容
为解决现有技术的传统GIS可视化在处理大量数据时能力不足,以及对服务器和数据库网络压力大的技术问题。
为实现上述技术目的,本公开提供了一种实时处理GIS数据查询请求方法,包括:
获取GIS数据查询请求,所述查询请求包括地图层级、请求范围信息;
判断所述查询请求是否存在于数据请求缓存数据库中;
若不存在,则根据所述查询请求获取切片数据缓存数据库中的对应的静态矢量切片数据;
根据主键ID,获取所述静态矢量切片数据对应的动态数据;
将所述静态矢量切片数据与所述动态数据合并渲染,得到渲染数据,将所述渲染数据与所述查询请求相关联并存入渲染数据缓存数据库;
将所述渲染数据展示至所述数据查询的请求端。
进一步,在获取数据查询请求之前,还包括:
数据预处理,将海量矢量数据分离为动态数据和静态矢量数据,其中,所述动态数据与所述静态矢量数据通过主键ID关联;
采用四叉树索引将所述静态矢量数据进行网格划分得到空间索引和结构化的矢量切片数据,将所述空间索引及结构化的矢量切片数据存入切片数据缓存数据库中进行缓存。
进一步,该方法还包括:
将所述动态数据单独缓存于内存数据库中,通过数据更新服务监听所述动态数据的实时变化,
当所述动态数据更新时,实时更新渲染数据缓存数据库中的渲染数据或处于渲染进程中的动态数据。
进一步,当所述GIS数据对应的地图层级为12级时,所述采用四叉树索引将所述静态矢量数据进行网格划分得到空间索引信息和矢量切片数据:
获取第12层级的静态矢量数据的的最大最小数据坐标(x,y,z)并生成网格;
将生成的网格和所述GIS数据层级关联生成对应第一关系表;
采用四叉树键建立第2到11层级GIS数据的数据坐标(x,y,z)和第12层级的数据坐标(x,y,z)对应第二关系表;
将所述第一关系表和所述第二关系表关联,得到第2到11层级和第12层级数据的对应关系;
利用四叉树键生成第2到11层级数据坐标(x,y,z),把所有第12层级的GIS数据用来生成矢量切片;
其中,x,y,z分别是指网格的行号、列号和地图层级号。
进一步,所述GIS数据的矢量要素包括:矢量数据的坐标、矢量数据的长度和/或矢量数据的面积的状态信息、矢量数据的更新时间和/或矢量数据的状态值的动态属性。
进一步,所述根据所述查询请求获取切片数据缓存数据库中的对应的静态切片矢量数据包括:
将所述查询请求中的地图层级、请求范围信息与所述切片数据缓存数据库中的空间索引信息相关联,获取切片数据缓存数据库中的对应的静态切片矢量数据。
所述数据请求缓存数据库中加载有第一缓存算法,用于根据所处查询请求的频率确定缓存时间;
所述渲染数据缓存数据库内置有第二缓存算法,用于确定渲染数据的动态数据的更新周期、数据库的内存上限、数据淘汰条件。
本公开还能够提供一种基于实时处理GIS数据查询请求装置,包括:
数据查询请求获取模块,用于获取GIS数据查询请求;
数据存储模块,用于分级存储数据,包括数据请求缓存数据库、切片数据缓存数据库及渲染数据缓存数据库;
判断模块,用于判断所述查询请求是否存在于数据请求缓存数据库中;
渲染模块,用于当所述数据请求缓存数据库不存在所述查询请求时,根据所述查询请求获取切片数据缓存数据库中的对应的静态矢量切片数据,根据主键ID,获取所述静态矢量切片数据对应的动态数据,并将所述静态矢量切片数据与所述动态数据合并渲染,得到渲染数据并缓存入渲染数据缓存数据库;
数据展示模块,用于展示所述渲染数据至所述数据查询的请求端。
为实现上述技术目的,本公开还能够提供一种计算机存储介质,其上存储有计算机程序指令,计算机程序指令被处理器执行时用于实现上述的基实时处理GIS数据查询请求方法的步骤。
为实现上述技术目的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的实时处理GIS数据查询请求方法的步骤。
本公开的有益效果为:
本公开基于多级缓存和四叉树索引技术实现基于查询请求的GIS数据的快速响应,包括数据定位、数据合并渲染及展示,具体是将数据查询请求、静态切片矢量数据、动态数据、渲染数据分级缓存入不同的数据库,在接收到数据查询请求时,先判断相应的数据请求缓存数据库中是否存在该查询请求,如存在该查询请求,则判定该查询请求被响应过,则直接从渲染数据缓存数据库中查找对应的渲染数据以响应数据查询请求,如不存在该查询请求,则启动数据渲染,根据查询请求获取切片数据缓存数据库中的对应的静态矢量切片数据,再根据主键ID,获取所述静态矢量切片数据对应的动态数据,将所述静态矢量切片数据与所述动态数据合并渲染,得到渲染数据,将所述渲染数据展示至所述数据查询的请求端,实现数据的快速渲染及动态更新。
附图说明
图1示出了本公开的一种实施方式的流程示意图;
图2示出了本公开的一种实施方式的流程示意图;
图3示出了本公开的一种实施方式的GIS数据四叉树地图层级的示意图;
图4示出了本公开的一种实施方式的GIS数据的四叉树索引的示意图;
图5示出了本公开的一种实施方式的的结构示意图;
图6示出了本公开的一种实施方式的的结构示意图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在附图中示出了根据本公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
实施例一:
如图1所示:
本公开提供了一种基于四叉树索引和多级缓存实时处理GIS数据查询请求方法,
包括:
S101:获取GIS数据查询请求,查询请求包括地图层级、请求范围信息;GIS数据为矢量数据,该矢量数据的矢量要素包括:矢量数据的坐标、矢量数据的长度和/或矢量数据的面积的状态信息、矢量数据的更新时间和/或矢量数据的状态值的动态属性。
在进行GIS数据查询请求之前,还包括数据预处理,将海量的GIS数据按照属性进行结构化,首先将海量GIS数据分离为动态数据和静态矢量数据,动态数据与静态矢量数据之间建立索引,将索引信息存于键值数据库中,键值数据库中可以存储数据的多个矢量属性,比如数据对应的空间属性信息,时间信息、网格id等,根据键值数据库中的主键ID信息,可以实现快速查询及关联数据。
需要说明的是,本申请的方案依赖于多级缓存数据库及多级数据缓存,使用Redis,Memcahe,MongoDB等内存数据库(如果不做复杂的查询也可直接放到内存中),分别建立静态切片数据缓存数据库,数据请求缓存库,渲染数据缓存库三级(或四级缓存,比如考虑将动态数据也置入缓存数据库中)缓存,其中,静态切片数据缓存数据库缓存结构化的静态切片,数据请求缓存库缓存数据请求,渲染数据缓存库缓存渲染数据,在一些实施方式中,也可以将静态切片数据缓存数据库看做是固化的内存数据库,独立存储结构化的静态矢量切片。
具体地,在本申请实施方式中,关于分离出的动态数据的存储方式可采用如下方式,首先动态数据在内存数据库中按时间、空间属性做好索引,根据空间属性,将动态数据同预处理的第12层级的静态切片矢量数据网格表进行关联,并记录网格id属性,网格id也是索引的索引项之一,动态数据与静态矢量数据存储于键值数据库中,通过主键id关联。
采用四叉树索引将静态矢量数据进行网格划分,得到空间索引信息和静态矢量切片数据:
以GIS数据的地图层级为2-12为例说明
获取第12层级的静态矢量数据的的最大及最小数据坐标(x,y,z)并生成网格;
将生成的网格和数据id如GIS数据层级关联生成对应第一关系表,如图3所示;
采用四叉树键建立第2到11层级GIS数据的数据坐标(x,y,z)和第12层级的数据坐标(x,y,z)对应第二关系表,如图4所示;
将所述第一关系表和第二关系表关联,得到第2到11层级和第12层级数据的对应关系;
利用四叉树键生成第2到11层级的数据坐标(x,y,z),把所有第12层级的GIS数据生成矢量切片;
其中,x,y,z分别是指网格的行号、列号和地图层级号。
S102:判断查询请求是否存在于数据请求缓存数据库中;
S103:若不存在,则根据查询请求获取切片数据缓存数据库中的对应的静态矢量切片数据;
具体地,根据查询请求获取切片数据缓存数据库中的对应的静态切片矢量数据包括:
将查询请求中的地图层级、请求范围信息与切片数据缓存数据库中的空间索引信息相关联,比如根据获取的地图层级,查询静态矢量切片缓存库中的空间索引的地图层级,再根据根据空间索引的地图层级,查询该层级及区域范围对应的矢量切片数据,获取切片数据缓存数据库中的对应的静态切片矢量数据。
S104:根据主键ID,获取静态矢量切片数据对应的动态数据;
具体是根据键值数据库中的主键ID,获取与静态矢量切片数据对应的动态数据。
S105:将静态矢量切片数据与动态数据合并渲染,得到渲染数据,将渲染数据与查询请求相关联并存入渲染数据缓存数据库;
数据请求缓存数据库中加载有第一缓存算法,用于根据所处查询请求的频率确定缓存时间;比如,在数据请求缓存数据库中还设置有计数器,计数某数据查询请求缓存出现的频率,数据请求在缓存数据库中的保留时间与数据出现的频率成正比。
渲染数据缓存数据库内置有第二缓存算法,用于确定渲染数据的动态数据的更新周期、数据库的内存上限、数据淘汰条件,在某一实施方式中,渲染数据的缓存保留时间与其对应的数据请求的缓存保留时间相关;在一优选的实施方式中,渲染数据的缓存保留时间与其对应的数据请求的缓存保留时间相同。
在一优选的实施方式中,缓存库中的渲染数据达到数据淘汰条件之后,缓存库中的渲染数据可以转存至内存数据库中。
在一优选的实施方式中,在数据请求缓存数据库及渲染数据缓存库中采用线程池,缓存多个线程,提高CPU的工作效率。通过后台预读数据线程预读数据,为了保持线程池的大小,采取淘汰机制,把最不需要的数据淘汰出线程池。
S106:将渲染数据展示至数据查询的请求端。
优选地,当GIS数据对应的地图层级为12级时,
在获取到GIS数据查询请求时,先根据查询请求从数据请求缓存数据库中查询是否存在该请求,具体是根据查询请求的空间属性如请求范围等信息,根据索引,快速确定是否有该数据请求。
若不存在该请求,则根据该查询请求的请求范围,获取四叉树键中的索引信息,根据该索引信息获取静态切片矢量数据库中的静态切片矢量数据和内存中的动态数据,将静态切片矢量数据与动态数据库中的动态数据进行合并渲染,具体渲染过程如下:
(1)启动动态可视化模块。将动态数据和静态切片矢量数据依次构造成动画批次数据,具体包括将得到的动态数据或动态批次数据,序列化成地理坐标数据;
(2)动态对象实时改变空间属性和基础属性以实现动画效果,绘制完成后,根据动态对象的时间范围以及属性范围,计算出单位时间内属性数值变化的百分比t,每次提取的t值在动画中保持不变,本次渲染完成后递增t,通知绘制线程发送新数据渲染任务,重复以上过程,直到属性数值达到目标值,且t值为0时,完成整个动态对象数据更新过程。
(3)将更新后的动态数据与静态切片矢量数据进行合并,得到渲染数据。
渲染数据是通过屏幕向客户端展示的,在向客户端展示之前,需要将通过地图模块进行坐标转换,具体是将地理坐标数转换为屏幕坐标,后将像素数据通过图形渲染引擎绘制到指定宽高的位图,显示在发出查询请求的客户端上。
需要说明的是,在本申请的实施方式中,
1.四叉树键的长度等于该网格所对应的地图级别;
2.每个网格的四叉树键的前几位和其父网格(上一地图级别对应风格)的四叉树键相同:如:第1级的'网格2'是第2级的'网格20'至'网格23'的父,第2级的'网格13'是第3级的'130'至'133'的父。本公开中的键就是四叉树的键,而值就是上面预处理时的静态矢量数据按层级分成的不同网格,每一个网格中有多个矢量数据集合,每一个网格在不同级别都对应一个四叉树键,从而形成键值对。
本公开的一种可选的实施方式如下:
1、在内存数据库中设置切片数据缓存数据库,数据请求缓存库,渲染数据缓存库三级缓存,将静态切片数据、数据请求、渲染数据放置入不同的缓存数据库中。
1)、切片数据缓存数据库缓存空间索引信息和切片后的矢量数据,矢量数据切片后可以按需分片加载不必每次请求都加载全部数据,碎片化的数据也有利网络传输、数据请求及数据更新,减小服务器及网络压力。
2)、数据请求缓存库缓存客户端每次发送的数据查询请求信息,包括地图级别,请求范围。这能快速判断出一个新的数据请求是否已被响应过,如已包含相同请求,则客户端无需再发送到服务器进行渲染处理,减少了重复请求的可能。
2、将海量的矢量数据区分动态数据和静态矢量数据,静态矢量数据和动态数据通过主键进行关联。动态数据发生变化直接更新渲染数据缓存库中的相关动态数据。
3、使用四叉树索引将静态矢量数据进行网格划分。将组织后的空间索引及结构化的矢量切片数据存入切片数据缓存数据库中进行缓存。
4、客户端请求后先在数据请求缓存库中判断是否已有过相同请求,有则从渲染数据缓存中直接获取结果并返回,否则启动渲染过程。
5、渲染过程中,将请求信息通过切片数据缓存数据库中空间索引请求到相应的静态矢量缓存数据,矢量数据通过主键关联获取到实时的动态数据。
6、渲染完成的可视化结果关联请求缓存中的地图级别和范围信息存入渲染数据缓存库中缓存并同时返回客户端。
本公开的有益效果为:
本公开基于多级缓存和四叉树索引技术实现基于查询请求的GIS数据的快速响应,包括数据定位、数据合并渲染及展示,具体是将数据查询请求、静态切片矢量数据、动态数据、渲染数据分级缓存入不同的数据库,在接收到数据查询请求时,先判断相应的数据请求缓存数据库中是否存在该查询请求,如存在该查询请求,则判定该查询请求被响应过,则直接从渲染数据缓存数据库中查找对应的渲染数据以响应数据查询请求,如不存在该查询请求,则启动数据渲染,根据查询请求获取切片数据缓存数据库中的对应的静态矢量切片数据,再根据主键ID,获取静态矢量切片数据对应的动态数据,将静态矢量切片数据与动态数据合并渲染,得到渲染数据,将渲染数据展示至数据查询的请求端,实现数据的快速渲染及动态更新。
实施例二:
如图2所示:
本公开的实施例一的技术方案还可以做如下改进:
在获取数据查询请求之前,还包括:
S100:数据预处理,将海量矢量数据分离为动态数据和静态矢量数据,其中,动态数据与静态矢量数据通过主键ID关联;
采用四叉树索引将静态矢量数据进行网格划分得到空间索引和结构化的矢量切片数据,将空间索引及结构化的矢量切片数据存入切片数据缓存数据库中进行缓存。
本公开的实施例一的技术方案还可以做如下改进:
该方法还包括:
S107:将分离出的动态数据单独缓存于内存数据库中,通过数据更新服务监听动态数据的实时变化,
当监听到动态数据有更新时,实时更新渲染数据缓存数据库中的渲染数据或处于渲染进程中的动态数据。其中,更新渲染数据缓存数据库中的渲染数据是指对渲染数据中的动态属性数据进行更新,以得到最新的渲染数据。实施例三:
如图5所示:
本公开还提供了一种基于四叉树索引和多级缓存实时处理数据装置,包括:
数据查询请求获取模块201,用于获取GIS数据查询请求,所述查询请求包括地图层级、请求范围信息;
数据存储模块202,用于分级存储数据,包括数据请求缓存数据库、切片数据缓存数据库及渲染数据缓存数据库;
判断模块203,用于判断查询请求是否存在于数据请求缓存数据库中;
渲染模块204,用于当数据请求缓存数据库不存在查询请求时,根据查询请求获取切片数据缓存数据库中的对应的静态矢量切片数据,根据主键ID,获取静态矢量切片数据对应的动态数据,并将静态矢量切片数据与动态数据合并渲染,得到渲染数据并缓存入渲染数据缓存数据库;
数据展示模块205,用于展示渲染数据至数据查询的请求端。
其中,本公开的数据查询请求获取模块201依次与数据存储模块202、判断模块203、渲染模块204以及数据展示模块205相连接。
实施例四:
本公开还能够提供一种计算机存储介质,其上存储有计算机程序指令,其特征在于,计算机程序指令被处理器执行时用于实现上述的基于四叉树索引和多级缓存实时处理GIS数据查询请求方法的步骤。
本公开的计算机存储介质可以采用半导体存储器或磁芯存储器实现。
半导体存储器,主要用于计算机的半导体存储元件主要有Mos和双极型两种。Mos元件集成度高、工艺简单但速度较慢。双极型元件工艺复杂、功耗大、集成度低但速度快。NMos和CMos问世后,使Mos存储器在半导体存储器中开始占主要地位。NMos速度快,如英特尔公司的1K位静态随机存储器的存取时间为45ns。而CMos耗电省,4K位的CMos静态存储器存取时间为300ns。上述半导体存储器都是随机存取存储器(RAM),即在工作过程中可随机进行读出和写入新内容。而半导体只读存储器(ROM)在工作过程中可随机读出但不能写入,它用来存放已固化好的程序和数据。ROM又分为不可改写的熔断丝式只读存储器──PROM和可改写的只读存储器EPROM两种。
磁芯存储器,具有成本低,可靠性高的特点,且有20多年的实际使用经验。70年代中期以前广泛使用磁芯存储器作为主存储器。其存储容量可达10位以上,存取时间最快为300ns。国际上典型的磁芯存储器容量为4MS~8MB,存取周期为1.0~1.5μs。在半导体存储快速发展取代磁芯存储器作为主存储器的位置之后,磁芯存储器仍然可以作为大容量扩充存储器而得到应用。
实施例五:
本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现上述的基于四叉树索引和多级缓存实时处理GIS数据查询请求方法的步骤。
该电子设备包括但不限于智能电话、计算机、平板电脑、可穿戴智能设备、人工智能设备、移动电源等。
图6为一个实施例中电子设备的内部结构示意图。如图6所示,该电子设备包括通过***总线连接的处理器、存储介质、存储器和网络接口。其中,该计算机设备的存储介质存储有操作***、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种基于四叉树索引和多级缓存实时处理GIS数据查询请求方法。该电子设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种基于四叉树索引和多级缓存实时处理GIS数据查询请求方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
处理器在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器是电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在存储器内的程序或者模块(例如执行远端数据读写程序等),以及调用存储在存储器内的数据,以执行电子设备的各种功能和处理数据。
总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。总线被设置为实现存储器以及至少一个处理器等之间的连接通信。
图6仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图6示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与至少一个处理器逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,电子设备还可以包括网络接口,可选地,网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
可选地,该电子设备还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
进一步地,计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。本公开的范围由所附权利要求及其等价物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种实时处理GIS数据查询请求方法,其特征在于,该方法包括:
获取GIS数据查询请求,所述查询请求包括地图层级、请求范围信息;
判断所述查询请求是否存在于数据请求缓存数据库中;
若不存在,则根据所述查询请求获取切片数据缓存数据库中的对应的静态矢量切片数据;
根据主键ID,获取所述静态矢量切片数据对应的动态数据;
将所述静态矢量切片数据与所述动态数据合并渲染,得到渲染数据,将所述渲染数据与所述查询请求相关联并存入渲染数据缓存数据库;
将所述渲染数据展示至所述数据查询的请求端。
2.根据权利要求1所述的方法,其特征在于,在获取数据查询请求之前,还包括:
数据预处理,将海量矢量数据分离为动态数据和静态矢量数据,其中,所述动态数据与所述静态矢量数据通过主键ID关联;
采用四叉树索引将所述静态矢量数据进行网格划分得到空间索引和结构化的静态矢量切片数据,将所述空间索引及静态矢量切片数据存入切片数据缓存数据库中进行缓存。
3.根据权利要求2所述的方法,其特征在于,该方法还包括:
将所述动态数据单独缓存于内存数据库中,通过数据更新服务监听所述动态数据的实时变化,
当所述动态数据更新时,实时更新渲染数据缓存数据库中的渲染数据或处于渲染进程中的动态数据。
4.根据权利要求2所述的方法,其特征在于,当所述GIS数据对应的地图层级为12级时,所述采用四叉树索引将所述静态矢量数据进行网格划分得到空间索引信息和静态矢量切片数据:
获取第12层级的静态矢量数据的的最大最小数据坐标(x,y,z)并生成网格;
将生成的网格和所述GIS数据层级关联生成对应第一关系表;
采用四叉树键建立第2到11层级GIS数据的数据坐标(x,y,z)和第12层级的数据坐标(x,y,z)对应第二关系表;
将所述第一关系表和所述第二关系表关联,得到第2到11层级和第12层级数据的对应关系;
利用四叉树键生成第2到11层级数据坐标(x,y,z),把所有第12层级的GIS数据用来生成矢量切片;
其中,x,y,z分别是指网格的行号、列号和地图层级号。
5.根据权利要求1所述的方法,其特征在于,所述GIS数据的矢量要素包括:矢量数据的坐标、矢量数据的长度和/或矢量数据的面积的状态信息、矢量数据的更新时间和/或矢量数据的状态值的动态属性。
6.根据权利要求1或所述的方法,其特征在于,所述根据所述查询请求获取切片数据缓存数据库中的对应的静态切片矢量数据包括:
将所述查询请求中的地图层级、请求范围信息与所述切片数据缓存数据库中的空间索引信息相关联,获取切片数据缓存数据库中的对应的静态切片矢量数据。
7.根据权利要求1所述的方法,其特征在于,所述数据请求缓存数据库中加载有第一缓存算法,用于根据所处查询请求的频率确定缓存时间;
所述渲染数据缓存数据库内置有第二缓存算法,用于确定渲染数据的动态数据的更新周期、数据库的内存上限、数据淘汰条件。
8.一种实时处理GIS数据查询请求装置,其特征在于,包括:
数据查询请求获取模块,用于获取GIS数据查询请求;
数据存储模块,用于分级存储数据,包括数据请求缓存数据库、切片数据缓存数据库及渲染数据缓存数据库;
判断模块,用于判断所述查询请求是否存在于数据请求缓存数据库中;
渲染模块,用于当所述数据请求缓存数据库不存在所述查询请求时,根据所述查询请求获取切片数据缓存数据库中的对应的静态矢量切片数据,根据主键ID,获取所述静态矢量切片数据对应的动态数据,并将所述静态矢量切片数据与所述动态数据合并渲染,得到渲染数据并缓存入渲染数据缓存数据库;
数据展示模块,用于展示所述渲染数据至所述数据查询的请求端。
9.一种计算机存储介质,其上存储有计算机程序指令,其特征在于,计算机程序指令被处理器执行时用于实现如权利要求1-7任一项中所述的实时处理GIS数据查询请求方法的步骤。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现如权利要求1-7任一项中所述的实时处理GIS数据查询请求方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110245964.2A CN112948439A (zh) | 2021-03-05 | 2021-03-05 | 一种实时处理gis数据查询请求方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110245964.2A CN112948439A (zh) | 2021-03-05 | 2021-03-05 | 一种实时处理gis数据查询请求方法、装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112948439A true CN112948439A (zh) | 2021-06-11 |
Family
ID=76247898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110245964.2A Pending CN112948439A (zh) | 2021-03-05 | 2021-03-05 | 一种实时处理gis数据查询请求方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948439A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448649A (zh) * | 2021-07-06 | 2021-09-28 | 聚好看科技股份有限公司 | 一种基于Redis的首页数据加载的服务器及方法 |
CN115033608A (zh) * | 2022-08-12 | 2022-09-09 | 广东采日能源科技有限公司 | 一种储能***信息的分级处理方法及*** |
CN117951185A (zh) * | 2024-03-27 | 2024-04-30 | 广州极数科技有限公司 | 一种动态数据智能查询方法、***及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103915033A (zh) * | 2012-12-29 | 2014-07-09 | 高德软件有限公司 | 一种地图渲染的方法及其装置、移动终端 |
CN105608191A (zh) * | 2015-12-23 | 2016-05-25 | 云南电网有限责任公司 | 一种基于EnersunWebCache动态生成缓存电网地图瓦片的方法 |
CN107015974A (zh) * | 2016-01-28 | 2017-08-04 | 安徽原力网络科技有限公司 | 一种基于html5的室内停车场地图解决方法 |
CN111078817A (zh) * | 2019-12-26 | 2020-04-28 | 中科星图股份有限公司 | 一种基于Redis和PostgreSQL的瓦片地图服务集群***和方法 |
CN111930767A (zh) * | 2020-08-19 | 2020-11-13 | 重庆市地理信息和遥感应用中心 | 一种基于多层缓存的矢量瓦片实时切片和更新方法 |
-
2021
- 2021-03-05 CN CN202110245964.2A patent/CN112948439A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103915033A (zh) * | 2012-12-29 | 2014-07-09 | 高德软件有限公司 | 一种地图渲染的方法及其装置、移动终端 |
CN105608191A (zh) * | 2015-12-23 | 2016-05-25 | 云南电网有限责任公司 | 一种基于EnersunWebCache动态生成缓存电网地图瓦片的方法 |
CN107015974A (zh) * | 2016-01-28 | 2017-08-04 | 安徽原力网络科技有限公司 | 一种基于html5的室内停车场地图解决方法 |
CN111078817A (zh) * | 2019-12-26 | 2020-04-28 | 中科星图股份有限公司 | 一种基于Redis和PostgreSQL的瓦片地图服务集群***和方法 |
CN111930767A (zh) * | 2020-08-19 | 2020-11-13 | 重庆市地理信息和遥感应用中心 | 一种基于多层缓存的矢量瓦片实时切片和更新方法 |
Non-Patent Citations (1)
Title |
---|
程伟等: "Web端海量电网资源GIS数据动态调度与渲染方法", 计算机***应用, pages 138 - 143 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448649A (zh) * | 2021-07-06 | 2021-09-28 | 聚好看科技股份有限公司 | 一种基于Redis的首页数据加载的服务器及方法 |
CN113448649B (zh) * | 2021-07-06 | 2023-07-14 | 聚好看科技股份有限公司 | 一种基于Redis的首页数据加载的服务器及方法 |
CN115033608A (zh) * | 2022-08-12 | 2022-09-09 | 广东采日能源科技有限公司 | 一种储能***信息的分级处理方法及*** |
CN115033608B (zh) * | 2022-08-12 | 2022-11-04 | 广东采日能源科技有限公司 | 一种储能***信息的分级处理方法及*** |
CN117951185A (zh) * | 2024-03-27 | 2024-04-30 | 广州极数科技有限公司 | 一种动态数据智能查询方法、***及存储介质 |
CN117951185B (zh) * | 2024-03-27 | 2024-06-07 | 广州极数科技有限公司 | 一种动态数据智能查询方法、***及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112948439A (zh) | 一种实时处理gis数据查询请求方法、装置、介质及设备 | |
CN107291806A (zh) | 一种Web可视化环境中的数据视图副本迭代方法 | |
CN103399926A (zh) | 水利普查数据多维分析服务***及其封装和实现方法 | |
EP3101563A1 (en) | Automated determination of network motifs | |
CN113268557B (zh) | 一种适应显示导向型可视化分析的快速的空间索引方法 | |
CN112380302B (zh) | 基于轨迹数据的热力图生成方法、装置、电子设备以及存储介质 | |
CN111522801A (zh) | 分布式的数据库动态扩容方法、装置、设备及存储介质 | |
US20230128085A1 (en) | Data aggregation processing apparatus and method, and storage medium | |
CN114185895A (zh) | 数据导入导出方法、装置、电子设备及存储介质 | |
CN116383144A (zh) | 一种多源异构遥感数据存储方法和装置 | |
CN105574151A (zh) | 图像存储方法和设备 | |
CN111400578A (zh) | 货物数据查询方法、装置、计算机设备和存储介质 | |
US11567661B2 (en) | Virtual memory management method and processor | |
CN111858612B (zh) | 基于图数据库的数据加速访问方法、装置及存储介质 | |
CN111581233B (zh) | 电网设备矢量图形数据的实时切片方法及存储介质 | |
CN106776810A (zh) | 一种大数据的数据处理***及方法 | |
CN106980673A (zh) | 内存数据库表索引更新方法及*** | |
CN111427887A (zh) | 一种快速扫描HBase分区表的方法、装置、*** | |
CN116188565A (zh) | 位置区域检测方法、装置、设备、存储介质和程序产品 | |
CN112069172B (zh) | 一种电网数据处理方法及装置、电子设备及存储介质 | |
CN114745436A (zh) | 数据采集方法、装置、计算机设备和存储介质 | |
CN114743003A (zh) | 基于图像分类的因果解释方法、装置、设备及存储介质 | |
CN114048847A (zh) | 一种图神经网络数据缓存方法、装置、设备及存储介质 | |
CN111026706A (zh) | 电力***数据的入库方法、装置、设备及介质 | |
CN112214478A (zh) | 客户数据清洗方法、装置、电子设备及可读存储介质 |
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 |