[发明专利]面向大规模空间信息的高性能缓存设计方法有效
申请号: | 201210143988.8 | 申请日: | 2012-05-10 |
公开(公告)号: | CN102682110A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 高勇;郁浩;刘磊;闫梦龙 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京万象新悦知识产权代理事务所(普通合伙) 11360 | 代理人: | 贾晓玲 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 大规模 空间 信息 性能 缓存 设计 方法 | ||
技术领域
本发明属于高性能地理信息计算领域,具体涉及一种在服务端多台机器的分布式环境中面向大规模空间信息的高性能缓存设计方法。
背景技术
随着互联网以及移动技术的发展,越来越多的信息和地理位置相关,越来越多的人可以通过网络访问地理信息。这对于访问地理位置信息的性能提出了高要求。目前通用的基于硬盘的空间数据存储,都存在着硬盘访问性能较低的瓶颈。另一方面,硬件技术仍在迅速发展,内存的容量不断变大,而价格却不断下降。这使得大量数据放在内存中成为可能。而基于内存的数据访问效率远远高于基于硬盘的数据访问。
目前,地理信息大部分是以文件格式(如shp、mif等文件格式)或者空间数据库的形式(如PostGIS,Oracle Spatial等)存储在硬盘上。硬盘的数据访问的性能较低,远低于内存的访问效率。使用内存存储的内存数据库中,有的产品添加了空间索引信息,可以存储空间数据,如BerkeleyDB采用R树作为空间索引。但是受限于严格的数据库的事务以及完整性约束,其数据访问性能大打折扣。
最近流行的NoSQL数据库中,CouchDB和MongoDB添加了GeoHash作为空间索引用来支持空间查询,二者可以利用内存进行部分数据的缓存,但是仍然以硬盘存储为主,而且仅支持点状数据的查询,没有复杂的几何数据结构支持。Redis实现了全量数据放在内存中的方案,提供超高性能的数据访问,但是Redis目前不支持空间索引,因此难以支持地理信息的查询。
发明内容
本发明的目的是在服务端多台机器中提供一种基于分布式内存的面向大规模空间信息的缓存设计方法。该方法能够充分利用内存访问效率高的优势,提供较高的地理空间数据的访问性能,满足大规模并发的数据访问需求。
本发明提供的技术方案如下:
一种面向大规模空间信息的高性能缓存设计方法,其特征是,所述设计方法包括以下几个方面:
1)数据组织方式:所有的数据都在分布式环境的内存中进行组织和管理;将所有的空间信息以地理要素为单位进行统一组织和管理,在分布式内存中,每个地理要素按照(Key,Value)对的形式进行组织,其中每个Key值,是一个字符串,包含地理要素所在的专题图层名和图层名内唯一的标识,每个Value是一块连续的内存区域,顺次保存了地理要素的属性名和属性值;
2)空间索引方式:将空间分成不同层次、不同区域的空间格网,并使用Geohash算法进行编码;每个空间格网按照地理要素的方式进行存储,称之为格网要素,格网要素的Key值是该空间格网对应的区域经过Geohash编码之后的字符串,格网要素的Value值包含了与该格网相交的地理要素的信息;每一个与该格网要素相交的图层作为该格网要素的一个属性,属性名是图层名称,属性值是图层中在这个格网区域中的要素的Key值的数组;对空间的查询通过哈希映射来实现。
所述的高性能缓存设计方法,其特征是,所述设计方法进一步包括:
3)持久化方式:采用基于磁盘顺序访问的全量数据持久化和增量数据持久化相结合的方式进行持久化操作。
所述的高性能缓存设计方法,其特征是,所述Key和Value之间经过两步哈希映射,第一步采用分布式哈希算法,从Key映射到节点机器;第二步在第一步映射到的节点机器上,从Key值映射到内存地址。
所述的高性能缓存设计方法,其特征是,数据修改时,在被修改的地理要素上加锁,同一时间,只能有一个客户端对要素进行修改。
所述的高性能缓存设计方法,其特征是,空间查询时,首先将要查找的区域经过Geohash转换成相交的格网要素的Key值,再将格网要素的Key值经过所述的两步哈希映射到节点机器的内存中,进而找到格网要素的Value值;在格网要素的Value值中通过属性名查找某类别的地理要素的Key值;通过Key值再查找相应的地理要素。
所述的高性能缓存设计方法,其特征是,所述持久化方式包括:
3.1)全量数据持久化:每隔一段设定的时间,缓存将内存中全量的数据,顺序地写入硬盘中;
3.2)增量持久化:每两次内存快照中间,保存每条对数据进行修改的请求,以日志的形式,顺序地写入到磁盘中。
所述的高性能缓存设计方法,其特征是,所述持久化方式进一步包括:
3.3)缓存重建:当服务故障后,先从硬盘中导入最近一次的内存快照,然后按快照后的日志信息重新模拟请求,来进行缓存重建。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210143988.8/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置