[发明专利]一种基于键值结构的空间数据双缓存方法及机制有效
申请号: | 201310037992.0 | 申请日: | 2013-01-31 |
公开(公告)号: | CN103092775A | 公开(公告)日: | 2013-05-08 |
发明(设计)人: | 孟令奎;涂振发;张文;黄长青;张东映 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 张火春 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 键值 结构 空间 数据 缓存 方法 机制 | ||
技术领域
本发明涉及一种基于键值结构的空间数据双缓存方法及机制,属于空间数据存储与管理技术领域。
背景技术
随着网络技术的发展,网络GIS在越来越多的领域得到应用,并取得良好的效果。网络GIS涉及的空间数据来源广泛、种类繁多,结构复杂,数据量极大,具有明显的空间特征。海量空间数据的存取代价和网络传输代价是影响网络GIS性能的重要因素。大量用户的并发请求将给服务器端极大的压力,数据的传输效率也很大程度上影响系统的性能。缓存机制是解决上述问题、提高网络GIS性能的一种有效有段。
缓存机制将需要频繁访问的数据保存在本地,以减少数据的请求频率和网络传输量,从而提高系统性能。使用文件目录缓存数据的方式虽简便易行,却存在数据保密性差、空间利用率低、检索效率低下、硬盘I/O频繁等缺点。
发明内容
针对现有技术存在的问题,本发明结合键值结构存储的优点,提出了一种基于键值结构的空间数据双缓存方法及机制,旨在高效管理所缓存的空间数据。
为了解决上述技术问题,本发明采用如下的技术方案:
一种基于键值结构的空间数据双缓存机制,用于网络GIS客户端上遥感影像、DEM(数字高程模型)等空间数据的缓存,包括:
提供一级缓存的空间数据内存缓存,用来负责空间数据内存缓存的缓存空间申请、分配与回收,以及组织和管理缓存块;
提供二级缓存的空间数据文件缓存,用来负责空间数据文件缓存的缓存空间申请、分配与回收,以及缓存块的组织与管理。
空间数据文件缓存的信息传递一是由空间数据内存缓存通过缓存回写机制将其中的空间数据写入空间数据文件缓存中,二是由空间数据内存缓存和空间数据文件缓存中使用相同的键进行关联。
一种基于键值结构的空间数据双缓存方法,用于网络GIS客户端上遥感影像、DEM(数字高程模型)等空间数据的缓存,当空间数据需要缓存时,包括步骤:
S1:空间数据内存缓存管理模块基于键值结构使用唯一键值标记离散的空间数据,并以字节数组的形式存储空间数据,形成具有键值结构的缓存块;
S2:空间数据内存缓存管理模块构建缓存块索引;具体为:根据缓存块的存储地址、缓存块大小、数据类型、压缩方式、加密方式、存储时间和地理范围等信息构建缓存块索引;
S3:当空间数据内存缓存达到容量阈值或预设定时保存时间到达,空间数据内存缓存管理模块采用缓存回写机制将空间数据内存缓存中存储的缓存块及缓存块索引传输到空间数据文件缓存进行持久化存储,所述的空间数据文件缓存包括存储空间数据的、体积较大的数据文件和存储索引空间数据的、体积较小的索引文件,数据文件和索引文件均由文件头和数据存储区构成;
S4:空间数据文件缓存管理模块将接收到的缓存块存储在数据文件的数据存储区,键值结构的缓存块首先序列化为字节数组,然后整体、连续地写入数据文件的数据存储区的空闲空间;使用空闲空间管理模块为缓存块分配存储空间;
S5:空间数据文件缓存管理模块将缓存块索引以顺序方式存储到索引文件的数据存储区。
上述步骤S3步骤进一步包括子步骤:
S31:到达定时保存时间,空间数据内存缓存管理模块将所有的缓存块及缓存块索引传输至空间数据文件缓存,但空间数据内存缓存内的缓存块及缓存块索引不被移除;
S32:当空间数据内存缓存容量达到容量阈值时,空间数据内存缓存管理模块使用先进先出法进行缓存置换,每次缓存置换均从空间数据内存缓存内剔除指定比例的缓存块及对应的缓存索引,缓存块及对应的缓存索引被剔除前写入空间数据文件缓存中进行持久化存储。
上述步骤S4中分配缓存块的存储空间包括:
S41:空闲空间和存储空间均由空间地址和空间大小构成,使用64位整数表示空闲空间和存储空间;
S42:空闲空间管理模块按空间地址使用B+树组织空闲空间;
S43:空闲空间管理模块每次均将大小最为合适的空闲空间分配给缓存块;
S44:若包含多个大小最为合适的空闲空间,空间地址最小的空闲空间将被分配给缓存块;
S45:若多个连续空闲空间均不足时,空间数据文件缓存内的部分缓存块将被移除以释放出足够的连续空闲空间,然后将缓存块写入此空闲空间。
上述步骤S5包括:
S51:更新缓存块索引内缓存块的存储地址和数据大小等描述信息;
S52:将缓存块索引序列化为字节数组;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310037992.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:桑椹发酵果酒及工艺
- 下一篇:一种点对点下料和点对点吸尘的旋转分配器