《水经注地图服务》缓存管理说明

《水经注地图服务》WeServer是一款遵循OGC协议的地图发布产品,能处理海量卫星影像。文章介绍了如何通过表单管理缓存,包括添加新缓存、选择不同类型如DAT、Redis、MBTiles等,并解释了各种缓存类型的特性和用途。此外,还讨论了缓存策略如复合缓存、多层缓存和备用缓存,以及它们在不同场景下的应用。

(本文首发于“水经注GIS”公号,关注公号免费领取地图数据)

《水经注地图服务》(WeServer)是一款可快速发布全国乃至全球海量卫星影像的地图发布服务产品,该产品完全遵循OGC相关协议标准,是一个基于若干项目成功经验总结的产品。它可以轻松发布100TB级海量卫星影像,从而使“在内网建立一个离线版的地球”不只是一个梦想!

下载《水经注地图服务》(WeServer)请通过关注公号“水经注GIS”并回复“WeServer”免费获取最新版本安装包,也可以直接在官网下载。

这里给大家介绍下《水经注地图服务》(WeServer)的缓存管理。

通过表单的方式展示WeServer服务器当前发布的缓存,是存储接收到的磁铁的位置,当前页面可对缓存进行发布、修改、增加和删除。

详细页面如下:

缓存管理

01 添加新的缓存

添加新的缓存,当点击【添加新的缓存】按钮后会打开新的弹窗,输入参数后即可为当前地图服务新增一个缓存。

页面详情如下:

添加新的缓存

缓存类型

发布缓存时有多种缓存类型支持选择,例如:水经注DAT、Redis内存缓存、基于SQLite的MBTiles缓存、多层缓存(multitier)、备用缓存(fallback)、复合缓存(composite)

缓存名称

发布新图层时用于访问当前缓存的索引名称。

数据目录

缓存数据在服务器主机上的路径。

递归数据目录

将此文件目录内包括其后代目录内容全部读取。

索引模式

weserver读取瓦片时的索引方式,

动态高程

当目前数据所包含的高程精度无法满足高层级精度时,服务器主机会通过算法不断计算低级别的两个相邻高程之间的差值推理出一个高程插入其中,使渲染高程时以较低精度的数据达到较高精度的整体效果。

由于此功能需要大量计算,所以对服务器主机硬件设备要求较高,谨慎启用。

02 表单

用于展示当前服务已经发布的缓存的基本信息,以及对缓存的编辑删除等基本操作。

03 缓存类型

水经注DAT

水经注离线缓存(DAT)是一种纯二进制文件的存储格式,直接将散列的瓦片打包存储在一个DAT文件中,同时用一个同名的IDX索引文件记录每张图片的位置。因此,如果有一个“北京.dat”的数据文件,就一定会有一个“北京.idx”的索引文件与之对应,IDX文件相当于是一本书的目录,而DAT文件则相当于是这本书的内容,它们是必须成对出现的一组文件,二者缺一不可。我们通常把这组DAT和IDX文件叫做任务文件,因为它们是在万能地图下载器或微图中下载地图时产生的任务文件。由于DAT与IDX文件是纯二进制文件,且不依赖于任何第三方数据库或控件,自主研发的科学合理的存储方式与高效的影像检索算法,可对文件中的海量地图瓦片进行高效存储与读取。将散例的瓦片地图打包为DAT与IDX文件之后,你可以像备份你喜欢的经典电影一样把它们备份起来。

MBTiles

此缓存类型是以前的自定义架构 SQLite 缓存的快捷方式,具有与 MBTiles 规范相对应的预填充 SQL 查询。尽管默认的 MBTiles 方案非常简单,但 MapCache 使用与大多数可下载 MBTiles 文件中相同的多表方案,特别是为了能够在不复制编码图像数据的情况下存储空白(即统一)切片(与磁盘缓存支持切片符号链接的方式相同)。

Redis

Redis 是一个高性能的开源的、C语言写的Nosql(非关系型数据库),数据保存在内存中。Redis 是以key-value形式存储,和传统的关系型数据库不一样。不一定遵循传统数据库的些基本要求,比如说,不遵循sql标准,事务,表结构等等,非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。

复合缓存(composite)

当我们希望提供一个按照不同级别划分的缓存策略时则可以使用复合缓存,复合缓存允许我们在不同的访问级别使用不同的子缓存。例如:在高级别的时候希望使用memcached 来作为缓存策略,而低级别的时候可以接受慢速相对较慢的disk 缓存。

多层缓存(multitier)

如果在第一个子缓存中未能命中瓦片,则继续往下找,当命中瓦片后会将其复制到上一个子缓存中,这样做的好处是可以将慢速缓存与快速缓存搭配使用。例如:第一个子缓存我们可以用 memcached 第二缓存我们可以用 disk。

*注:当写入此类缓存时,瓦片会写入到最后一个子缓存中。*

备用缓存(fallback)

备用缓存旨在为构建高可用场景下的地图缓存策略提供一种可选方案,它始终以第一个正确返回瓦片的子缓存作为命中条件,本质上是一种冗余策略。例如:当我们同时使用 redis 和 memcached 两种高速缓存模式作为子缓存时,由于他们都是基于网络传输的特性,而网络传输是不可靠的,当第一个缓存无法获取数据时,它返回错误,接着将尝试第二个缓存 ,直到命中瓦片数据。

*注:当写入此类缓存时,将会写入所有子缓存。*         

04 结语

以上就是《水经注地图服务》(WeServer)的图层管理,如果你还没有下载《水经注地图服务》(WeServer),请通过关注公号“水经注GIS”,回复“WeServer”获取软件下载地址。

获取详细的《水经注地图服务》帮助文档,请回复“帮助文档”进行下载。

免费从网盘下载的卫星影像和高程DEM如何使用?

只需10分钟,给你全世界!水经注全球三维离线GIS系统

(本文首发于“水经注GIS”公号,关注公号免费领取地图数据)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值