本发明专利技术公开了一种地图瓦片缓存方法及装置,该方法为:接收客户端发送的地图请求指令,并根据所述地图请求指令确定对应的地图瓦片;根据所述地图瓦片的级别和行列号信息,确定所述地图瓦片的存储节点;判断所述地图瓦片的级别是否小于设定的阈值,若是,则将所述地图瓦片存入所述存储节点的第一区域;否则,将所述地图瓦片存入所述存储节点的第二区域,并在后续过程中按照设定周期进行数据管理。本方法通过分区域实施不同的内存管理策略,对频繁访问区域的地图瓦片始终缓存,避免了地图瓦片的频繁交换出入,提高了系统的处理性能。
【技术实现步骤摘要】
本专利技术涉及互联网
,尤其涉及一种地图瓦片缓存方法及装置。
技术介绍
所谓的地图缓存技术,就是按照一定的数学规则,把预生成的地图切成一定规格的地图瓦片(地图切片),并保存到地图服务器端,当用户通过客户端访问地图服务时,月艮务器直接返回对应的地图瓦片缓存数据,无需再进行实时渲染。因此,地图缓存技术是一种实现快速访问和并发访问地图服务的有效方式,通过地图缓存技术,服务器可以根据用户请求返回预先生成的地图瓦片,从而达到降低服务器负担、加速显示地图及提升地图浏览速度的目的。目前地图缓存技术主要基于服务器的本机内存进行地图缓存,并在内存中采用先进先出(First Input FirstOutput,FIFO)策略对地图瓦片进行管理,这种方式在实现上非常简单。然而,由于现有技术采用FIFO策略对地图瓦片进行管理,当内存占用过高时,会使得瓦片缓存频繁交换出入,增加了内存的负担,甚至有可能淘汰掉常用缓存,导致服务器需要重新生成地图瓦片,降低了整体的服务性能。
技术实现思路
本专利技术实施例提供一种地图瓦片缓存方法及装置,用以解决现有技术中采用FIFO策略对内存中的地图瓦片进行管理时,瓦片缓存频繁交换出入,导致了内存负担的增加、月艮务性能整体下降的问题。本专利技术实施例提供的具体技术方案如下:—种地图瓦片缓存方法,包括:接收客户端发送的地图请求指令,并根据所述地图请求指令确定对应的地图瓦片;根据所述地图瓦片的级别和行列号信息,确定所述地图瓦片的存储节点;判断所述地图瓦片的级别是否小于设定的阈值,若是,则将所述地图瓦片存入所述存储节点的第一区域;否则,将所述地图瓦片存入所述存储节点的第二区域,并在后续过程中按照设定周期进行数据管理。这样,通过分区域实施不同的内存管理策略,对频繁访问区域的地图瓦片始终缓存,避免了地图瓦片的频繁交换出入,提高了系统的处理性能。较佳的,进一步包括:在初始配置阶段,将部署有Memcache服务的至少两个节点连接成Memcache集群;根据预设的内存分配参数,将所述至少两个节点的存储空间划分为第一区域和第二区域。这样,通过使用Memcache作为缓存支持,对地图瓦片进行集中式的管理。较佳的,将所述至少两个节点的存储空间划分为第一区域和第二区域,包括:将所述至少两个节点的内存空间或硬盘空间划分为第一区域和第二区域。这样,利用内存空间作为存储空间时,能够更加快速地存储和读取缓存数据,利用硬盘空间作为存储空间时,能够存储更多的缓存数据。较佳的,进一步包括:接收到内存扩展指令时,在所述内存扩展指令指示增加的新节点上部署Memcache服务,并将部署Memcache服务后的新节点加入所述Memcache集群,形成新的Memcache集群。这样,可以根据缓存数据的数量级,简便地对缓存节点进行横向扩展,极大地扩大了系统的总内存,有利于存储更多的缓存数据。较佳的,根据所述地图瓦片的级别和行列号信息,确定所述地图瓦片的存储节点,包括:根据所述地图瓦片的级别和行列号信息计算哈希Hash值;根据所述Hash值从所述Memcache集群内选择所述地图瓦片的存储节点。这样,根据计算的Hash值将地图瓦片存储到对应的节点,能够保证在增加或者删除节点时,尽可能小的改变已存在的地图瓦片缓存与节点的映射关系。较佳的,将所述地图瓦片存入所述存储节点的第二区域,并在后续过程中按照设定周期进行数据管理,包括:将所述地图瓦片存入所述存储节点的第二区域;按照设定周期统计所述地图瓦片及存储在所述第二区域内的其他地图瓦片的被访问次数,并基于所述被访问次数从高到低的顺序对所有地图瓦片进行排列;判断所述地图瓦片是否位于排序队列的前N%,其中,O彡N彡100,若是,则保留所述地图瓦片的相关数据;否则,将所述地图瓦片的相关数据进行清除。这样,为了不过多地占用内存容量,对大比例尺缓存实行缓存淘汰策略。一种地图瓦片缓存装置,包括:通信单元,用于接收客户端发送的地图请求指令,并根据所述地图请求指令确定对应的地图瓦片;确定单元,用于根据所述地图瓦片的级别和行列号信息,确定所述地图瓦片的存储节点;处理单元,用于判断所述地图瓦片的级别是否小于设定的阈值,若是,则将所述地图瓦片存入所述存储节点的第一区域;否则,将所述地图瓦片存入所述存储节点的第二区域,并在后续过程中按照设定周期进行数据管理。这样,通过分区域实施不同的内存管理策略,对频繁访问区域的地图瓦片始终缓存,避免了地图瓦片的频繁交换出入,提高了系统的处理性能。较佳的,进一步包括:配置单元,用于在初始配置阶段,将部署有Memcache服务的至少两个节点连接成Memcache集群,以及根据预设的内存分配参数,将所述至少两个节点的存储空间划分为第一区域和第二区域。这样,通过使用Memcache作为缓存支持,对地图瓦片进行集中式的管理。较佳的,所述配置单元具体用于:将所述至少两个节点的内存空间或硬盘空间划分为第一区域和第二区域。这样,利用内存空间作为存储空间时,能够更加快速地存储和读取缓存数据,利用硬盘空间作为存储空间时,能够存储更多的缓存数据。较佳的,所述配置单元进一步用于:在接收到内存扩展指令时,在所述内存扩展指令指示增加的新节点上部署Memcache服务,并将部署Memcache服务后的新节点加入所述Memcache集群,形成新的Memcache 集群。这样,可以根据缓存数据的数量级,简便地对缓存节点进行横向扩展,极大地扩大了系统的总内存,有利于存储更多的缓存数据。较佳的,所述确定单元具体用于:根据所述地图瓦片的级别和行列号信息计算哈希Hash值;根据所述Hash值从所述Memcache集群内选择所述地图瓦片的存储节点。这样,根据计算的Hash值将地图瓦片存储到对应的节点,能够保证在增加或者删除节点时,尽可能小的改变已存在的地图瓦片缓存与节点的映射关系。较佳的,所述处理单元具体用于:将所述地图瓦片存入所述存储节点的第二区域;按照设定周期统计所述地图瓦片及存储在所述第二区域内的其他地图瓦片的被访问次数,并基于所述被访问次数从高到低的顺序对所有地图瓦片进行排列;判断所述地图瓦片是否位于排序队列的前N%,其中,O彡N彡100,若是,则保留所述地图瓦片的相关数据;否则,将所述地图瓦片的相关数据进行清除。这样,为了不过多地占用内存容量,对大比例尺缓存实行缓存淘汰策略。【附图说明】图1为本专利技术实施例中实现地图瓦片缓存的流程图;图2为本专利技术实施例中Memcache分布式地图瓦片缓存管理系统;图3为本专利技术实施例中地图瓦片缓存装置。【具体实施方式】为了解决现有技术中采用FIFO策略对内存中的地图瓦片进行管理时,瓦片缓存频繁交换出入的问题,进而减轻服务器内存的负担并提高系统整体的服务性能,本专利技术实施例中,提供了一种地图瓦片缓存方法及装置。下面结合附图对本专利技术优选的实施方式进行详细说明。参阅图1所示,本专利技术实施例中,实现地图瓦片缓存的具体流程如下:步骤100:接收客户端发送的地图请求指令,并根据该地图请求指令确定对应的地图瓦片。考虑到现有技术中采用服务器的本机内存进行瓦片缓存,其内存的大小直接限制了缓存数据的大小,无法根据缓存数据的大小进行横向扩展,因此,本专利技术实施例中提供了一种管理系统,参阅图2所示,该管理系统凌本文档来自技高网...
【技术保护点】
一种地图瓦片缓存方法,其特征在于,包括:接收客户端发送的地图请求指令,并根据所述地图请求指令确定对应的地图瓦片;根据所述地图瓦片的级别和行列号信息,确定所述地图瓦片的存储节点;判断所述地图瓦片的级别是否小于设定的阈值,若是,则将所述地图瓦片存入所述存储节点的第一区域;否则,将所述地图瓦片存入所述存储节点的第二区域,并在后续过程中按照设定周期进行数据管理。
【技术特征摘要】
【专利技术属性】
技术研发人员:王生,李欣,刘泓,李强,刘立国,祁明亮,
申请(专利权)人:方正国际软件北京有限公司,方正国际软件有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。