CN104156482A - 一种地图瓦片数据的发布方法 - Google Patents

一种地图瓦片数据的发布方法 Download PDF

Info

Publication number
CN104156482A
CN104156482A CN201410424596.8A CN201410424596A CN104156482A CN 104156482 A CN104156482 A CN 104156482A CN 201410424596 A CN201410424596 A CN 201410424596A CN 104156482 A CN104156482 A CN 104156482A
Authority
CN
China
Prior art keywords
tile
full
request
resource
resource pool
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
CN201410424596.8A
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.)
TIANJIN PUXUN POWER INFORMATION TECHNOLOGY Co Ltd
Original Assignee
TIANJIN PUXUN POWER INFORMATION TECHNOLOGY Co Ltd
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 TIANJIN PUXUN POWER INFORMATION TECHNOLOGY Co Ltd filed Critical TIANJIN PUXUN POWER INFORMATION TECHNOLOGY Co Ltd
Priority to CN201410424596.8A priority Critical patent/CN104156482A/zh
Publication of CN104156482A publication Critical patent/CN104156482A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种地图瓦片数据的发布方法,包括步骤有:(1)准备瓦片地图数据;(2)定义请求瓦片的路径格式;(3)按上述步骤中的路径格式请求瓦片;(4)请求接收器接收请求,并添加新任务;(5)资源调度访问资源池;(6)使用缓存管理算法,采用哈希链式表存储方式进行资源池管理;(7)瓦片资源输出。采用本发明方法编制的程序为轻量级服务,安装文件小,访问路径简单明了,通过线程池管理,支持大并发的处理,响应速度效果明显提高。

Description

一种地图瓦片数据的发布方法
技术领域
本发明属于地理信息处理技术领域,尤其是一种地图瓦片数据的发布方法。
背景技术
随着互联网时代的迅猛发展,地理信息系统也大大提高了人们的日常生活质量,比如交通工具的导航、酒店的定位搜索等,这些都离不开地图的可视化,这些地理背景图都来自地理专业的瓦片服务。瓦片是通过一定规则将地图切割成相同尺寸大小的小图片,当用户访问地图时会请求每个小瓦片图并通过客户端程序拼接成一张当前范围的地图图片,因为在互联网上的请求并发量非常之大,瓦片服务的响应效率成为用户体验好的关键所在,本发明就是为了提高瓦片服务响应效率,应用面向资源的设计思想,研发的一种地图瓦片数据的发布方法。
通过对国内公开专利及其它文献的检索,没有发现与本发明方法相近似的公开专利及文献。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种地图瓦片数据的发布方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种地图瓦片数据的发布方法,包括步骤如下:
(1)准备瓦片地图数据;具体包括步骤有:
①将地图数据进行切片,并将切片的地图数据进行存储,存储路径格式依次为:瓦片业务命名,瓦片所在层级命名,瓦片所在的行号命名及瓦片所在的列号命名;
②将瓦片数据文件夹保存到服务器硬盘的路径下;
(2)定义请求瓦片的路径格式,包括瓦片服务的工程名、瓦片服务统一访问风格标识、请求瓦片的层级、行号及列号;
(3)按上述步骤中的路径格式请求瓦片;
(4)请求接收器接收请求,并添加新任务,具体方法为:
①判断线程池中的基本线程池是否已满,如果没满,将立刻创建一个新的线程来执行瓦片请求任务,如果已满,则进入下个流程;
②判断线程池中的瓦片请求任务队列是否已满,如果没满,则将新提交的瓦片请求任务存储在瓦片请求任务队列里,如果已满,则进入下个流程;
③判断线程池中的所有线程是否已满,如果没满,将创建一个新的线程来执行瓦片请求任务,如果已满,则抛出异常并记录日志;
④根据线程执行任务;
(5)资源调度访问资源池,具体方法为:
①访问资源池内存,资源池调用方法首先到资源池的内存中查找瓦片对象,如果内存中有瓦片对象,将直接从该资源池内存中取得瓦片对象并返回给资源调度对象;
②如果没有从资源池缓存中找到瓦片对象,将访问资源池的物理路径;
(6)使用缓存管理算法,采用哈希链式表存储方式进行资源池管理;
(7)瓦片资源输出,将资源调度返回的瓦片对象流输出到步骤(3)中的请求路径。
而且,所述步骤(4)中④根据线程执行任务的具体方法为:
A、格式化瓦片映射唯一标识为:瓦片的服务器文件夹物理路径\瓦片层级数\瓦片所在的行数\瓦片所在的列数;
B、通过资源调度对象,访问资源池,执行步骤(5)。
而且,所述步骤(5)中②访问资源池的物理路径的方法为:如果没有从资源池缓存中找到瓦片对象,那么将通过步骤(4)中④的格式化请求路径去物理存储硬盘中读取并创建瓦片对象,最后返回给资源调度对象,同时将该瓦片对象添加到资源池内存里。
而且,所述步骤(6)使用缓存管理算法,采用哈希链式表存储方式进行资源池管理的具体方法为;
①将最近请求的瓦片从物理存储加载到资源池缓存链表头部;
②每当缓存瓦片对象数据被访问,则将瓦片对象数据移到链表头部;
③当链表满的时候,将链表尾部的瓦片对象数据丢弃。
本发明的优点和积极效果是:
1、采用本发明方法编制的程序为轻量级服务,安装文件小。
2、本发明方法访问路径简单明了。
3、通过本发明的线程池管理,支持大并发的处理,响应速度效果明显提高。
附图说明
图1是本发明所使用的部署瓦片服务的工作逻辑图;
图2是本发明中请求接收器接收请求,并添加新任务的工作逻辑图;
图3是本发明中资源池管理的方法示意图。
具体实施方式
以下结合附图对本发明实施做进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本发明的保护范围。
一种地图瓦片数据的发布方法,如图1所示,包括步骤如下:
(1)准备瓦片地图数据;包括步骤有:
①将地图数据进行切片,并将切片的地图数据进行存储,存储路径格式依次为:瓦片业务命名,瓦片所在层级命名,瓦片所在的行号命名及瓦片所在的列号命名,如:
C:\vec\L1\R2\C3.png;其中,vec代表瓦片业务命名,L1表示瓦片所在层级为1,R2表示瓦片所在的行号为2,C3表示瓦片所在的列号为3;
②将瓦片数据文件夹保存到服务器硬盘的某个路径下,如C:\vec;
(2)定义请求瓦片的路径(URL)格式,包括瓦片服务的工程名、瓦片服务统一访问风格标识、请求瓦片的层级、行号及列号,如:http://IP地址:端口/web工程名/rest/1/2/3,其中,vec为web工程名即瓦片服务的工程名,rest为瓦片服务统一访问风格标识,1为请求瓦片的层级,2为请求瓦片的行号,3为请求瓦片的列号;
(3)瓦片资源请求,按(2)步骤中的路径格式请求瓦片;
(4)请求接收器接收请求,并添加新任务,如图2所示,具体步骤如下:
①判断线程池中的基本线程池是否已满,如果没满,将立刻创建一个新的线程来执行瓦片请求任务,如果已满,则进入下个流程;
②判断线程池中的瓦片请求任务队列是否已满,如果没满,则将新提交的瓦片请求任务存储在瓦片请求任务队列里,如果已满,则进入下个流程;
③判断线程池中的所有线程是否已满,如果没满,将创建一个新的线程来执行瓦片请求任务,如果已满,则抛出异常并记录日志;
④根据线程执行任务;
A、格式化瓦片映射唯一标识为:瓦片的服务器文件夹物理路径\瓦片层级数\瓦片所在的行数\瓦片所在的列数,如(C:\vec\L1\R2\C3.png)
B、通过资源调度对象,访问资源池,执行步骤(5)
(5)资源调度访问资源池,步骤为:
①访问资源池内存,资源池调用方法首先到资源池的内存中查找瓦片对象,如果内存中有瓦片对象,将直接从该资源池内存中取得瓦片对象并返回给资源调度对象
②访问资源池的物理路径,如果没有从资源池缓存中找到瓦片对象,那么将通过(4)中④的格式化请求路径去物理存储硬盘中读取并创建瓦片对象,最后返回给资源调度对象,同时将该瓦片对象添加到资源池内存里;
(6)资源池管理,如图3所示,应用最近最少使用(LRU)缓存管理算法,采用哈希链式表(LinkedHashMap)存储方式进行资源池管理;
①将最近请求的瓦片从物理存储加载到资源池缓存链表头部;
②每当缓存瓦片对象数据被访问,则将瓦片对象数据移到链表头部;
③当链表满的时候,将链表尾部的瓦片对象数据丢弃;
(7)瓦片资源输出,将资源调度返回的瓦片对象流输出到步骤(3)中的请求路径。
实例
(1)准备瓦片地图数据
①将地图数据进行切片,存储路径格式为C:\vec\L1\R2\C3.png;
②将瓦片数据文件夹保存到服务器硬盘的C:\vec路径下;
(2)定义请求瓦片的路径(URL)格式
路径:http://10.120.20.244:7001/vec/rest/1/2/3
(3)瓦片资源请求,按(2)步骤中路径格式请求瓦片,同时发送100个请求
(4)每个请求被接收后将分别执行以下相同操作
①判断线程池中的基本线程是否已满,如果没满,将立刻创建一个新的线程来执行瓦片请求任务,如果已满,则进入下个流程。
②判断线程池中的瓦片请求任务队列是否已满,如果没满,则将新提交的瓦片请求任务存储在瓦片请求任务队列里,如果已满,则进入下个流程。
③判断线程池中的所有线程是否已满,如果没满,将创建一个新的线程来执行瓦片请求任务,如果已满,则抛出异常并记录日志。
④线程执行任务,
A,格式化瓦片映射唯一标识为:瓦片的服务器文件夹物理路径\瓦片层级\瓦片所在的行数\瓦片所在的列数,如(C:\vec\L1\R2\C3.png)
B,通过资源调度对象,访问资源池,执行(5)
(5)资源调度访问资源池,资源池调用方法到资源池的内存中查找瓦片对象,如果内存中已经存在上述(4)中请求的瓦片对象,将直接取出返回,如果有的请求瓦片对象在内存中没有,将去物理地址获取瓦片对象;
(6)资源池管理,如图3所示,应用最近最少使用(LRU)缓存管理算法,采用哈希链式表(LinkedHashMap)存储方式;
(7)瓦片资源输出,将资源调度返回的瓦片对象流输出到(3)中的请求路径。
效果
使用一款并发测试工具(jmeter)测试,对平台的并发能力进行了测试,测试表明,本瓦片服务在并发1000的时候平均返回时间14毫秒,ArcGISServer的平均返回时间18毫秒。

Claims (4)

1.一种地图瓦片数据的发布方法,其特征在于包括步骤如下:
(1)准备瓦片地图数据;具体包括步骤有:
①将地图数据进行切片,并将切片的地图数据进行存储,存储路径格式依次为:瓦片业务命名,瓦片所在层级命名,瓦片所在的行号命名及瓦片所在的列号命名;
②将瓦片数据文件夹保存到服务器硬盘的路径下;
(2)定义请求瓦片的路径格式,包括瓦片服务的工程名、瓦片服务统一访问风格标识、请求瓦片的层级、行号及列号;
(3)按上述步骤中的路径格式请求瓦片;
(4)请求接收器接收请求,并添加新任务,具体方法为:
①判断线程池中的基本线程池是否已满,如果没满,将立刻创建一个新的线程来执行瓦片请求任务,如果已满,则进入下个流程;
②判断线程池中的瓦片请求任务队列是否已满,如果没满,则将新提交的瓦片请求任务存储在瓦片请求任务队列里,如果已满,则进入下个流程;
③判断线程池中的所有线程是否已满,如果没满,将创建一个新的线程来执行瓦片请求任务,如果已满,则抛出异常并记录日志;
④根据线程执行任务;
(5)资源调度访问资源池,具体方法为:
①访问资源池内存,资源池调用方法首先到资源池的内存中查找瓦片对象,如果内存中有瓦片对象,将直接从该资源池内存中取得瓦片对象并返回给资源调度对象;
②如果没有从资源池缓存中找到瓦片对象,将访问资源池的物理路径;
(6)使用缓存管理算法,采用哈希链式表存储方式进行资源池管理;
(7)瓦片资源输出,将资源调度返回的瓦片对象流输出到步骤(3)中的请求路径。
2.根据权利要求1所述的地图瓦片数据的发布方法,其特征在于:所述步骤(4)中④根据线程执行任务的具体方法为:
A、格式化瓦片映射唯一标识为:瓦片的服务器文件夹物理路径\瓦片层级数\瓦片所在的行数\瓦片所在的列数;
B、通过资源调度对象,访问资源池,执行步骤(5)。
3.根据权利要求1或2所述的地图瓦片数据的发布方法,其特征在于:所述步骤(5)中②访问资源池的物理路径的方法为:如果没有从资源池缓存中找到瓦片对象,那么将通过步骤(4)中④的格式化请求路径去物理存储硬盘中读取并创建瓦片对象,最后返回给资源调度对象,同时将该瓦片对象添加到资源池内存里。
4.根据权利要求1所述的地图瓦片数据的发布方法,其特征在于:所述步骤(6)使用缓存管理算法,采用哈希链式表存储方式进行资源池管理的具体方法为;
①将最近请求的瓦片从物理存储加载到资源池缓存链表头部;
②每当缓存瓦片对象数据被访问,则将瓦片对象数据移到链表头部;
③当链表满的时候,将链表尾部的瓦片对象数据丢弃。
CN201410424596.8A 2014-08-26 2014-08-26 一种地图瓦片数据的发布方法 Pending CN104156482A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410424596.8A CN104156482A (zh) 2014-08-26 2014-08-26 一种地图瓦片数据的发布方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410424596.8A CN104156482A (zh) 2014-08-26 2014-08-26 一种地图瓦片数据的发布方法

Publications (1)

Publication Number Publication Date
CN104156482A true CN104156482A (zh) 2014-11-19

Family

ID=51881980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410424596.8A Pending CN104156482A (zh) 2014-08-26 2014-08-26 一种地图瓦片数据的发布方法

Country Status (1)

Country Link
CN (1) CN104156482A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354640A (zh) * 2015-11-12 2016-02-24 国家电网公司 一种面向电网设备检修的气象灾害预警模型构建方法
CN106484693A (zh) * 2015-08-25 2017-03-08 普天信息技术有限公司 地图显示方法、图片块存储方法以及图片显示终端
CN107590226A (zh) * 2017-09-05 2018-01-16 中国电子科技集团公司第二十八研究所 一种基于瓦片的矢量地图渲染方法
CN108984128A (zh) * 2018-07-19 2018-12-11 郑州云海信息技术有限公司 一种数据读取方法及装置
CN111258748A (zh) * 2018-12-03 2020-06-09 中国移动通信集团上海有限公司 分布式文件系统及控制方法
CN112231125A (zh) * 2020-12-16 2021-01-15 智道网联科技(北京)有限公司 智能车载网联终端的地图显示方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325187A1 (en) * 2006-06-16 2010-12-23 Norbert Juffa Efficient matrix multiplication on a parallel processing device
CN103685309A (zh) * 2013-12-26 2014-03-26 中国科学院遥感与数字地球研究所 面向地图可视化瓦片服务接入的异步请求队列模型
CN103744997A (zh) * 2014-01-23 2014-04-23 广东中科遥感技术有限公司 一种网络地图服务发布方法及系统
US20140223104A1 (en) * 2012-07-18 2014-08-07 Empire Technology Development ,LLC Virtual cache directory in multi-processor architectures

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325187A1 (en) * 2006-06-16 2010-12-23 Norbert Juffa Efficient matrix multiplication on a parallel processing device
US20140223104A1 (en) * 2012-07-18 2014-08-07 Empire Technology Development ,LLC Virtual cache directory in multi-processor architectures
CN103685309A (zh) * 2013-12-26 2014-03-26 中国科学院遥感与数字地球研究所 面向地图可视化瓦片服务接入的异步请求队列模型
CN103744997A (zh) * 2014-01-23 2014-04-23 广东中科遥感技术有限公司 一种网络地图服务发布方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马煦: "危险品公路运输监控系统的关键技术研究", 《中国优秀硕士学位论文全文数据库 工程科技II辑》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484693A (zh) * 2015-08-25 2017-03-08 普天信息技术有限公司 地图显示方法、图片块存储方法以及图片显示终端
CN106484693B (zh) * 2015-08-25 2019-09-17 普天信息技术有限公司 地图显示方法、图片块存储方法以及图片显示终端
CN105354640A (zh) * 2015-11-12 2016-02-24 国家电网公司 一种面向电网设备检修的气象灾害预警模型构建方法
CN107590226A (zh) * 2017-09-05 2018-01-16 中国电子科技集团公司第二十八研究所 一种基于瓦片的矢量地图渲染方法
CN108984128A (zh) * 2018-07-19 2018-12-11 郑州云海信息技术有限公司 一种数据读取方法及装置
CN108984128B (zh) * 2018-07-19 2022-03-08 郑州云海信息技术有限公司 一种数据读取方法及装置
CN111258748A (zh) * 2018-12-03 2020-06-09 中国移动通信集团上海有限公司 分布式文件系统及控制方法
CN111258748B (zh) * 2018-12-03 2023-09-05 中国移动通信集团上海有限公司 分布式文件系统及控制方法
CN112231125A (zh) * 2020-12-16 2021-01-15 智道网联科技(北京)有限公司 智能车载网联终端的地图显示方法及装置
CN112231125B (zh) * 2020-12-16 2021-03-09 智道网联科技(北京)有限公司 智能车载网联终端的地图显示方法及装置

Similar Documents

Publication Publication Date Title
CN104156482A (zh) 一种地图瓦片数据的发布方法
US8799409B2 (en) Server side data cache system
CN104580437A (zh) 一种云存储客户端及其高效数据访问方法
JP2018110008A (ja) 分散ストレージシステム上でデータを分散させること
RU2638726C1 (ru) Оптимизированный процесс воспроизведения браузера
CN106874459B (zh) 流式数据存储方法及装置
CN105677826A (zh) 一种针对海量非结构化数据的资源管理方法
CN102117248A (zh) 一种缓存系统和在缓存系统中缓存数据的方法
CN104820714A (zh) 基于hadoop的海量瓦片小文件存储管理方法
CN103488687A (zh) 用于大数据的搜索系统和搜索方法
CN103440290A (zh) 大数据加载系统和方法
CN103631623A (zh) 一种集群系统中部署应用软件的方法及装置
US11080207B2 (en) Caching framework for big-data engines in the cloud
CN107329910A (zh) 一种基于localStorage的Web前端数据本地存储和访问方法
CN105677251A (zh) 基于Redis集群的存储系统
US8880504B2 (en) Tag management device, system and recording medium
CN103793439A (zh) 一种实时检索信息获取方法、装置及服务器
CN104158863A (zh) 基于事务级别全程高速缓冲的云存储机制
CN109992469B (zh) 一种合并日志的方法及装置
Feng et al. HQ-Tree: A distributed spatial index based on Hadoop
CN1545047A (zh) 一种存储虚拟化系统的元数据层次管理方法及其系统
CN102955808A (zh) 一种数据获取方法和分布式文件系统
CN111460012A (zh) 基于Spark的气象历史台站沿革数据可视化方法及系统
CN113296877A (zh) 数据处理方法和装置,及计算机存储介质和电子设备
Jiang et al. MOIST: A scalable and parallel moving object indexer with school tracking

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141119