掌桥专利:专业的专利平台
掌桥专利
首页

一种瓦片地图服务方法

文献发布时间:2023-06-19 13:46:35


一种瓦片地图服务方法

技术领域

本发明属于瓦片地图技术领域,具体涉及一种瓦片地图服务方法。

背景技术

瓦片地图服务是指按照开源空间信息基金会(Open Source GeospatialFoundation,是一个全球性非营利性组织,目标是支持全球性的合作,建立和推广高品质的空间信息开源软件)的切片地图服务规范,为用户提供了一种标准的按需访问地图的一种标准地图服务,使得前端访问速度更快,后端服务器消耗更小,用户体验更佳。现有的瓦片地图服务中,所有用户均可使用全域地图,导致信息非授权应用、数据泄露等安全隐患。目前,常用的解决方法有两种,一是按区域分别单独发布瓦片地图服务,二是改造现有瓦片地图服务技术实现方法,开发定制的瓦片地图服务。但按区域单独发布瓦片地图服务存在同一服务会有多个瓦片地图服务,用户管理及权限配置复杂、需要更多的硬盘存储空间、切片工作成倍增加且耗时;定制瓦片地图服务需要专业人员针对不同需要做定制化开发,技术复杂、实现周期长、成本高,不利于全面推广应用。

发明内容

本发明的目的是为了解决现有瓦片地图技术中存在非授权应用和数据泄露等安全隐患问题,提出了一种瓦片地图服务方法。

本发明的技术方案是:一种瓦片地图服务方法包括以下步骤:

S1:利用网关拦截器捕获用户请求,并根据地图网关规则匹配属于瓦片地图服务请求的用户请求;

S2:解析属于瓦片地图服务请求的用户请求,提取瓦片地图的空间范围和用户信息,并根据瓦片地图的空间范围和用户信息完成瓦片地图服务。

进一步地,步骤S1中,地图网关规则包括:

用户请求地址,即用于将配置的用户请求地址与实际的用户请求地址进行匹配;

映射层级目录,即在用户请求转发至目标服务器前,根据层级目录N,将用户请求地址的路径从第1层目录至第N层目录中删除,形成新的请求地址,并结合目标服务器和请求路径前缀,实现用户请求地址与目标服务器地址的相互隔离,保护目标服务器的信息不被泄露;

目标服务器,即在用户请求转发至目标服务器前,将用户请求的IP和端口替换成目标服务器的IP和端口;

请求路径前缀,即在用户请求转发至目标服务器前,自动将用户配置信息的前缀加入到用户请求中,形成最终的瓦片地图服务请求信息;

规则执行顺序,即确定地图网关规则的执行顺序;

规则唯一标识,即由固定标识码、瓦片地图类型和8位数字编号组成。

进一步地,步骤S2包括以下子步骤:

S21:判断属于瓦片地图服务请求的用户请求中,用户在加载瓦片地图服务时是否获取瓦片地图服务的元数据信息,若是,则进入步骤S24,否则进入步骤S22;

S22:解析用户请求,得到用户请求信息,并根据用户请求信息,提取用户授权内容;

S23:根据用户请求信息和用户授权内容,判断用户是否通过授权认证,若通过则进入步骤S24,否则进入步骤S27;

S24:根据地图网关规则,将用户请求转发至目标服务器,获取瓦片地图服务的元数据信息,同时将元数据信息和地图网关规则中的规则唯一标识进行匹配后缓存;

S25:根据缓存的元数据信息和用户请求的瓦片信息,计算瓦片地图的空间范围;

S26:利用空间叠加方法判断瓦片地图的空间范围和用户所属行政区信息是否相离,若是则进入步骤S27,否则进入步骤S28;

S27:为用户返回空白瓦片,结束瓦片地图服务;

S28:根据用户请求信息,将用户请求发送至瓦片地图目标服务器,返回用户请求的地图瓦片。

进一步地,用户请求的瓦片信息包括瓦片地图服务的每一个瓦片的行号Row、每一个瓦片的列号Col和瓦片地图服务的缩放级别Level;

瓦片地图的空间范围包括最小X坐标minX、最小Y坐标minY、最大X坐标maxX和最大Y坐标maxY,其计算公式分别为:

minX=Col×256×Resolution+originX

minY=originY-(Row+1)×256×Resolution

maxX=(Col+1)×256×Resolution+originX

maxY=originY-Row×256×Resolution

其中,Resolution表示瓦片地图服务的分辨率,originX表示瓦片地图的起点X坐标,originY表示瓦片地图的起点Y坐标。

本发明的有益效果是:

(1)本发明设计了一种基于区域应用和用户授权的瓦片地图服务网关方法,在不改变已有瓦片地图服务的前提下,实现了瓦片地图服务授权访问,其过程灵活,兼容性和移植性好。

(2)结合网关技术,屏蔽后端地图服务器信息,提升数据安全性,解决瓦片地图服务的非授权应用和数据泄露等安全隐患。

附图说明

图1为瓦片地图服务方法的流程图;

图2为瓦片地图服务网关模型的流程图。

具体实施方式

下面结合附图对本发明的实施例作进一步的说明。

在描述本发明的具体实施例之前,为使本发明的方案更加清楚完整,首先对本发明中出现的缩略语和关键术语定义进行说明:

瓦片地图服务请求:用户在使用地图服务时,向地图服务器发出Http请求,获取特定比例尺下某范围的图片。

空间叠加方法:是本领域内公知的方法,主要用于多重专题图层的综合分析,是GIS的区域性和多层次性特点所决定的传统空间分析手段。

如图1所示,本发明提供了一种瓦片地图服务方法,包括以下步骤:

S1:利用网关拦截器捕获用户请求,并根据地图网关规则匹配属于瓦片地图服务请求的用户请求;

S2:解析属于瓦片地图服务请求的用户请求,提取瓦片地图的空间范围和用户信息,并根据瓦片地图的空间范围和用户信息完成瓦片地图服务。

在本发明实施例中,步骤S1中,地图网关规则包括:

用户请求地址,即用于将配置的用户请求地址与实际的用户请求地址进行匹配;

映射层级目录,即在用户请求转发至目标服务器前,根据层级目录N,将用户请求地址的路径从第1层目录至第N层目录中删除,形成新的请求地址,并结合目标服务器和请求路径前缀,实现用户请求地址与目标服务器地址的相互隔离;更利于保护目标服务器和真实瓦片地图服务不受攻击和安全;

目标服务器,即在用户请求转发至目标服务器前,将用户请求的IP和端口替换成目标服务器的IP和端口;从而实现对用户隐藏真实瓦片地图服务器的IP、端口等信息,更有利于保护瓦片地图服务器不受攻击,确保其安全,同时当瓦片地图服务器扩展或迁移后,仅需修改该目标服务器的配置信息而不需用户修改程序,提升了地图网关的灵活性;

请求路径前缀,即在用户请求转发至目标服务器前,自动将用户配置信息的前缀加入到用户请求中,形成最终的瓦片地图服务请求信息;对用户隐藏其真实瓦片地图服务的名称、图层等信息,进一步确保地图服务不受攻击,更加安全;

规则执行顺序,即确定地图网关规则的执行顺序;

规则唯一标识,即由固定标识码、瓦片地图类型和8位数字编号组成;中间用下划线组合形成地图网关服务的唯一编号,如MapGate_ArcGISTileCache_00000001。

在本发明实施例中,步骤S2包括以下子步骤:

S21:判断属于瓦片地图服务请求的用户请求中,用户在加载瓦片地图服务时是否获取瓦片地图服务的元数据信息,若是,则进入步骤S24,否则进入步骤S22;

S22:解析用户请求,得到用户请求信息,并根据用户请求信息,提取用户授权内容;

S23:根据用户请求信息和用户授权内容,判断用户是否通过授权认证,若通过则进入步骤S24,否则进入步骤S27;

S24:根据地图网关规则,将用户请求转发至瓦片地图目标服务器,获取瓦片地图服务的元数据信息,同时将元数据信息和地图网关规则中的规则唯一标识进行匹配后缓存;

S25:根据缓存的元数据信息和用户请求的瓦片信息,计算瓦片地图的空间范围;

S26:利用空间叠加方法判断瓦片地图的空间范围和用户所属行政区信息是否相离,若是则进入步骤S27,否则进入步骤S28;

S27:为用户返回空白瓦片,结束瓦片地图服务;空白瓦片一般为固定大小的透明png图片,如256*256像素的png图片;针对每一个请求,均要返回空白瓦片;空白瓦片指的是用户对该瓦片无权限或无数据;

S28:根据用户请求信息,将用户请求发送至瓦片地图目标服务器,返回用户请求的地图瓦片。

用户请求信息:如token、IP、瓦片行号、地图缩放级别和瓦片列号等内容。

该用户下的授权内容:如token合法性校验、用户标识、用户所属行政区、TMS标识、IP是否受限和请求限流等信息。

授权认证是指该请求下,用户是否有权限使用该地图,包括该用户是否可访问该TMS、token是否合法、IP是否受限、请求是否限流等。

在本发明实施例中,用户请求的瓦片信息包括瓦片地图服务的每一个瓦片的行号Row、每一个瓦片的列号Col和瓦片地图服务的缩放级别Level;

瓦片地图的空间范围包括最小X坐标minX、最小Y坐标minY、最大X坐标maxX和最大Y坐标maxY,其计算公式分别为:

minX=Col×256×Resolution+originX

minY=originY-(Row+1)×256×Resolution

maxX=(Col+1)×256×Resolution+originX

maxY=originY-Row×256×Resolution

其中,Resolution表示瓦片地图服务的分辨率,originX表示瓦片地图的起点X坐标,originY表示瓦片地图的起点Y坐标。

如图2所示,按区域应用、按用户授权、灵活配置的瓦片地图服务网关模型具体工作流程为:

S01:拦截器捕获用户请求后,地图网关根据地图网关规则判断用户请求是否属于TMS请求,如果匹配失败,则按正常网关业务逻辑执行后续操作;否则进入地图网关模型。

地图网关规则由用户请求地址、映射的层级目录、目标服务器、请求路径前缀、规则执行顺序、规则唯一标识6部分组成。地图网关规则如表1所示。

表1

S02:判断用户请求是否是获取TMS的元数据信息,如果是,则转到S03,否则S04。TMS元数据信息是指用户在加载TMS地图时,首先要获取该TMS的元数据信息,以便前端地图应用正常加载显示该TMS地图和计算用户每次请求瓦片的空间范围。

S03:根据地图网关规则,将用户请求转发至目标TMS服务器,获取TMS元数据信息后返回用户。为减少元数据无效请求次数、提升效率,成功获取TMS元数据后,应采用缓存技术,将元数据信息与地图网关规则的唯一标识匹配后进行缓存。

S04:解析用户请求,验证并提取用户请求信息,如token、IP、瓦片行号、地图缩放级别和瓦片列号等内容。

S04:根据解析的用户请求信息,提取用户信息及该用户下的授权内容,如token合法性校验、用户标识、用户所属行政区、TMS标识、IP是否受限、请求是否限流等信息。

S05:根据用户信息及其授权内容,判断该请求下用户是否有权限使用该地图,包括该用户是否可访问该TMS、token是否合法、IP是否受限、请求是否限流等。授权认证失败,转到S07;否则转到S08。

S07:返回空白瓦片。一般为固定大小的透明png图片,如256*256像素的png图片。

S08:根据地图网关规则的唯一标识提取TMS元数据信息,如果未找到TMS元数据信息,则根据地图网关规则获取TMS地图元数据信息。

S09:根据TMS元数据信息及用户请求的地图缩放级别和瓦片行列号,计算本次地图瓦片的空间范围。

S10:根据用户请求瓦片的空间范围与用户所属行政区信息,采用空间叠加方法,判断用户请求的瓦片空间范围与用户所属行政区的空间关系,如果相离,则转到S07;否则,转到S11。

S11:根据用户请求信息,将用户请求转发至TMS目标服务器,返回用户请求的地图瓦片。

本发明的工作原理及过程为:本发明应用网关技术,在不改变已有瓦片地图服务的前提下,设计一种按区域应用、按用户授权且灵活配置的瓦片地图服务网关方法。具体为:用户发出请求后,网关根据已设定的用户请求规则自动进行匹配,规则匹配成功后,网关自动将用户请求转发到指定的服务器,将服务器执行结果返回用户。本发明所指地图网关是指在网关匹配用户请求后,采用拦截技术,捕获用户请求,并根据地图网关规则判断该请求是否属于瓦片地图服务请求,如果是瓦片地图服务请求,则进入地图网关方法。

本发明的有益效果为:

(1)本发明设计了一种基于区域应用和用户授权的瓦片地图服务网关方法,在不改变已有瓦片地图服务的前提下,实现了瓦片地图服务授权访问,其过程灵活,兼容性和移植性好。

(2)结合网关技术,屏蔽后端地图服务器信息,提升数据安全性,解决瓦片地图服务的非授权应用和数据泄露等安全隐患。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

技术分类

06120113807859