当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于键值结构的空间数据双缓存方法及机制技术

技术编号:8682655 阅读:268 留言:0更新日期:2013-05-09 02:39
本发明专利技术公开了一种基于键值结构的空间数据双缓存方法及机制,属于空间数据存储与管理技术领域。本发明专利技术基于键值结构提出了内存缓存和文件缓存的双缓存机制,内存缓存为第一级缓存,使用B+树组织数据,并采用缓存回写机制以异步方式写入文件缓存;文件缓存为第二级缓存,使用大文件构建,并构建基于B+树的缓存索引以加快检索速度;文件缓存的空闲空间使用基于B+树的空闲空间管理管理。本发明专利技术保持了键值存储模式自由、查询速度快和并发性能高等优点,提高了网络环境下空间数据缓存的存储和访问效率,可用于网络GIS中遥感影像、矢量数据、DEM等类空间数据的缓存。

【技术实现步骤摘要】

本专利技术涉及一种基于键值结构的空间数据双缓存方法及机制,属于空间数据存储与管理

技术介绍
随着网络技术的发展,网络GIS在越来越多的领域得到应用,并取得良好的效果。网络GIS涉及的空间数据来源广泛、种类繁多,结构复杂,数据量极大,具有明显的空间特征。海量空间数据的存取代价和网络传输代价是影响网络GIS性能的重要因素。大量用户的并发请求将给服务器端极大的压力,数据的传输效率也很大程度上影响系统的性能。缓存机制是解决上述问题、提高网络GIS性能的一种有效有段。缓存机制将需要频繁访问的数据保存在本地,以减少数据的请求频率和网络传输量,从而提高系统性能。使用文件目录缓存数据的方式虽简便易行,却存在数据保密性差、空间利用率低、检索效率低下、硬盘I/o频繁等缺点。
技术实现思路
针对现有技术存在的问题,本专利技术结合键值结构存储的优点,提出了一种基于键值结构的空间数据双缓存方法及机制,旨在高效管理所缓存的空间数据。为了解决上述技术问题,本专利技术采用如下的技术方案: 一种基于键值结构的空间数据双缓存机制,用于网络GIS客户端上遥感影像、DEM (数字高程模型)等空间数据的缓存,包括: 提供一级缓存的空间数据内存缓存,用来负责空间数据内存缓存的缓存空间申请、分配与回收,以及组织和管理缓存块; 提供二级缓存的空间数据文件缓存,用来负责空间数据文件缓存的缓存空间申请、分配与回收,以及缓存块的组织与管理。空间数据文件缓存的信息传递一是由空间数据内存缓存通过缓存回写机制将其中的空间数据写入空间数据文件缓存中,二是由空间数据内存缓存和空间数据文件缓存中使用相同的键进行关联。一种基于键值结构的空间数据双缓存方法,用于网络GIS客户端上遥感影像、DEM(数字高程模型)等空间数据的缓存,当空间数据需要缓存时,包括步骤: S1:空间数据内存缓存管理模块基于键值结构使用唯一键值标记离散的空间数据,并以字节数组的形式存储空间数据,形成具有键值结构的缓存块;S2:空间数据内存缓存管理模块构建缓存块索引;具体为:根据缓存块的存储地址、缓存块大小、数据类型、压缩方式、加密方式、存储时间和地理范围等信息构建缓存块索引;S3:当空间数据内存缓存达到容量阈值或预设定时保存时间到达,空间数据内存缓存管理模块采用缓存回写机制将空间数据内存缓存中存储的缓存块及缓存块索引传输到空间数据文件缓存进行持久化存储,所述的空间数据文件缓存包括存储空间数据的、体积较大的数据文件和存储索引空间数据的、体积较小的索引文件,数据文件和索弓I文件均由文件头和数据存储区构成; S4:空间数据文件缓存管理模块将接收到的缓存块存储在数据文件的数据存储区,键值结构的缓存块首先序列化为字节数组,然后整体、连续地写入数据文件的数据存储区的空闲空间;使用空闲空间管理模块为缓存块分配存储空间; S5:空间数据文件缓存管理模块将缓存块索引以顺序方式存储到索引文件的数据存储区。上述步骤S3步骤进一步包括子步骤: S31:到达定时保存时间,空间数据内存缓存管理模块将所有的缓存块及缓存块索引传输至空间数据文件缓存,但空间数据内存缓存内的缓存块及缓存块索引不被移除; S32:当空间数据内存缓存容量达到容量阈值时,空间数据内存缓存管理模块使用先进先出法进行缓存置换,每次缓存置换均从空间数据内存缓存内剔除指定比例的缓存块及对应的缓存索引,缓存块及对应的缓存索引被剔除前写入空间数据文件缓存中进行持久化存储。上述步骤S4中分配缓存块的存储空间包括: 541:空闲空间和存储空间均由空间地址和空间大小构成,使用64位整数表示空闲空间和存储空间; 542:空闲空间管理模块按空间地址使用B+树组织空闲空间; 543:空闲空间管理模块每次均将大小最为合适的空闲空间分配给缓存块; 544:若包含多个大小最为合适的空闲空间,空间地址最小的空闲空间将被分配给缓存块; S45:若多个连续空闲空间均不足时,空间数据文件缓存内的部分缓存块将被移除以释放出足够的连续空闲空间,然后将缓存块写入此空闲空间。上述步骤S5包括: 551:更新缓存块索引内缓存块的存储地址和数据大小等描述信息; 552:将缓存块索引序列化为字节数组; 553:将序列化后的缓存块索引写入索引文件的数据存储区; 554:更新索引文件的文件头内的索引个数和单个索引字节大小信息。一种基于键值结构的空间数据双缓存方法,用于网络GIS客户端上遥感影像、DEM(数字高程模型)等空间数据的缓存,当读取缓存的空间数据时,包括以下步骤: S6:空间数据内存缓存初始化,将其中索引文件内的所有缓存块索引加载到空间数据内存缓存中并以B+树方式进行组织; 57:空间数据内存缓存接受读数据请求; 58:空间数据内存缓存依据键值在空间数据内存缓存的缓存块索引中进行匹配查找,若存在匹配的缓存块,则返回匹配的缓存块;若不存在匹配的缓存块,则将读数据请求传输给空间数据文件缓存; 59:空间数据文件缓存依据键值在缓存块索引中进行匹配查找,若存在匹配的缓存块,则依据缓存块索引所记录的缓存块存储地址和空间大小,直接在空间数据文件缓存的数据文件中读取,并返回匹配的缓存块;若不存在匹配的缓存块,则提示所请求的数据不存在。与现有技术相比,本专利技术具有如下优点和有益效果: 本专利技术提出了内存缓存和文件缓存的双缓存机制,内存缓存为第一级缓存,使用B+树组织数据,并采用缓存回写机制以异步方式写入文件缓存;文件缓存为第二级缓存,使用大文件构建,并构建基于B+树的缓存索引以加快检索速度;文件缓存的空闲空间使用基于B+树的空闲空间管理管理。本专利技术可用于网络GIS中遥感影像、矢量数据、DEM等类空间数据的缓存,本专利技术在保持键值存储模式自由、查询速度快和并发性能高等优点的同时,还提高了 GIS网络环境下空间数据缓存的存储和访问效率。附图说明图1为本专利技术双缓存机制的结构示意 图2为本专利技术实施例中缓存块及缓存块索引的结构示意图,其中,图(a)为缓存块结构不意图,图(b)为缓存块索引结构意 图3为本专利技术中数据文件和索引文件结构示意 图4为本专利技术实施例中空间数据缓存的写入方法流程 图5为本专利技术实施例中空间数据缓存的读取方法流程 图6为本专利技术实施例中空间数据文件缓存的空闲空间分配示意图。具体实施例方式下面将结合具体实施例对本专利技术做详细说明。应当注意,这里描述的实施例只用于举例说明,并不用于限制本专利技术: 本专利技术的构思在于提高网络GIS读写空间数据的效率,将需要缓存的空间数据分别写入空间数据内存缓存和空间数据文件缓存中,构建两级缓存系统,系统结构图见图1。空间数据内存缓存为第一级缓存,其读写速度远高于空间数据文件缓存,但容量较小;空间数据文件缓存为第二级缓存,容量较大,但读写速度低于空间数据内存缓存。空间数据首先写入空间数据内存缓存,然后再以异步方式写入空间数据文件缓存进行持久化存储。读取空间数据时,则首先在空间数据内存缓存中查找,若无法找到所需数据则从空间数据文件缓存中查找。本实施例是采用本专利技术的双缓存机制缓存影像金字塔瓦片,瓦片数据缓存的基本单位为缓存块和缓存块索引。如图2所示,缓存块基于键值结构构建,是空间数据内存缓存和空间数据文件缓存的基本构成的单元,键值Key为缓本文档来自技高网...

【技术保护点】
一种基于键值结构的空间数据双缓存机制,用于网络GIS客户端上空间数据的缓存,其特征在于,包括:提供第一级缓存的空间数据内存缓存和提供第二级缓存的空间数据文件缓存,空间数据内存缓存采用缓存回写机制以异步方式将其中的空间数据传输给空间数据文件缓存,且空间数据内存缓存和空间数据文件缓存内的相同空间数据基于数据键值进行关联。

【技术特征摘要】

【专利技术属性】
技术研发人员:孟令奎涂振发张文黄长青张东映
申请(专利权)人:武汉大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1