本发明专利技术涉及栅格数据存取,特别是小块空间栅格数据的存取,公开了一种基于分布式多级缓存系统的栅格数据存取方法,包括服务器端数据存储系统、服务器端缓存系统、客户端,所述客户端包括客户端缓存和用户接口,具体步骤包括:所述用户接口接收用户发起的栅格数据请求,判断所需要的数据是否已经存在于客户端缓存中;服务端缓冲系统判断所述栅格数据请求所需要的数据是否已经存在于服务端缓冲系统中;服务器端数据存储系统返回栅格数据请求所需要的数据;更新缓存。本发明专利技术的优点在于,提高了空间栅格数据的存储和缓存性能,具有高可靠性和可用性,优化了数据访问数据,能够高效地响应数据请求。
【技术实现步骤摘要】
本专利技术涉及栅格数据存取,特别是小块空间栅格数据的存取,公开了一种。
技术介绍
栅格数据是按网格单元的行与列排列、具有不同灰度或颜色的阵列数据。栅格结构是大小相等分布均匀、紧密相连的像元(网格单元)阵列来表示空间地物或现象分布的数据组织。是最简单、最直观的空间数据结构,它将地球表面划分为大小、均匀、紧密相邻的网格阵列。每一个单元(象素)的位置由它的行列号定义,所表示的实体位置隐含在栅格行列位置中,数据组织中的每个数据表示地物或现象的非几何属性或指向其属性的指针。对于栅格结构:点实体由一个栅格像元来表示;栅格数据线实体由一定方向上连接成串的相邻栅格像元表示;面实体(区域)由具有相同属性的相邻栅格像元的块集合来表示。电子地图等包含大量地理信息的空间数据往往会以栅格数据的形式进行储存和访问。现有技术中,由于栅格数据的数据量巨大,所需要的存储空间较大,数据存取过程所消耗的系统资源较大,数据存取性能不高,导致网络传输效率的下降和响应迟延,客户端与服务器端的数据传输的可靠性不高。
技术实现思路
本专利技术针对现有技术中数据存储性能不高的缺点,提供了一种面向小块空间数据的新型的。为实现上述目的,本专利技术可采取下述技术方案: ,包括服务器端数据存储系统、服务器端缓存系统、客户端,所述客户端包括客户端缓存和用户接口,具体步骤包括: 1)所述用户接口接收用户发起的栅格数据请求,所述客户端在所述客户端缓存中查找所述栅格数据请求所需要的数据,如果找到该数据则直接将找到的数据返回用户;如果未找到所需要的数据,所述客户端将所述栅格数据请求发送至所述服务器端缓存系统; 2)服务端缓冲系统接收所述栅格数据请求后,如果所述栅格数据请求所需要的数据已经存在于服务端缓冲系统中,则将该数据返回给用户并执行步骤4,否则将所述栅格数据请求发送至分布式存储系统并执行步骤3 ; 3)所述服务器端数据存储系统接收所述栅格数据请求后,将所述栅格数据请求所需要的数据返回客户并执行步骤4、步骤5,如果所述服务器端数据存储系统未找到所述栅格数据请求所需要的数据则返回错误信息; 4)更新所述客户端缓存,将返回的数据存储至所述客户端缓存; 5)更新所述服务器端缓存系统,将返回的数据存储至所述服务器端缓存系统。作为优选,还包括缓存更新机制,所述缓存更新机制包括客户端缓存的缓存更新机制和服务器端缓存系统的缓存更新机制,如果客户端缓存缓存空间不足,则触发客户端缓存的缓存更新机制,如果服务器端缓存系统缓存空间不足,则触发服务器端缓存系统的缓存更新机制;所述缓存更新机制包括,使用最近最少使用算法淘汰缓存中的数据块。作为优选,还包括水平预加载和垂直预加载,所述水平预加载步骤包括,所述步骤I中,所述客户端向所述服务器端缓存系统发送的栅格数据请求还包括所述栅格数据请求所需要的数据的相邻栅格单元;所述垂直预加载步骤包括,所述步骤I中,所述客户端向所述服务器端缓存系统发送的栅格数据请求还包括下一个图层中与所述栅格数据请求所需要的数据相对应的栅格单元。作为优选,所述用户接口为POSIX接口或者与POSIX兼容的接口。作为优选,所述服务器端数据存储系统为由多台数据存储服务器组成的分布式存储集群。作为优选,所述数据存储服务器为基于HBase数据库的数据存储服务器。作为优选,所述服务器端缓存系统为由多台缓存服务器构成的分布式缓存集群。作为优选,所述缓存服务器为基于Redis数据库的缓存服务器。本专利技术由于采用了以上技术方案,具有显著的技术效果: 通过结合分布式存储系统和分布式缓存系统,相较于现有的栅格数据存取方式,本专利技术所述的数据存取方法在存取小块空间数据(大小不超过1M)时,具有更为高效的数据存取效率,数据存储系统能够更快地响应数据请求。数据更新机制则保证了缓存数据块具有较高的命中率,数据的预加载机制令服务器端的缓存能够更为准确地驻留热点数据,进一步提高了数据缓冲的命中率。而分别位于客户端和服务器端的二级数据缓存机制则进一步提高了数据存储的效率。另外,数据储存和缓存系统采用分布式架构,提高了请求的并发处理数量,大大提高了数据的传输速率。整体而言,本专利技术针对小块的空间栅格数据进行了优化,提高了系统存取小块的空间栅格数据的效率。附图说明图1为实施例1所述分布式系统的逻辑结构示意图。图2为实施例1所述分布式系统的部署结构示意图。图3为实施例1的方法流程示意图。图4为实施例1的预加载机制的数据示意图。图5为对比试验I的实验结果的示意图。具体实施例方式下面结合实施例对本专利技术作进一步的详细描述。实施例1 ,所使用的分布式系统如图1、2所示,该分布式系统从物理上分为三层,包括服务器端数据存储系统1、服务器端缓存系统2、客户端3,最底层为服务器端数据存储系统1,服务器端缓存系统2,最上层,即是和用户交互的客户端3层,这里的服务器端数据存储系统I是由多台数据存储服务器组成的分布式存储集群,数据存储服务器为基于HBase数据库的数据存储服务器。所服务器端缓存系统2为由多台缓存服务器构成的分布式缓存集群,缓存服务器为基于Redis数据库的服务器。该分布式系统从逻辑上分为四层,最底层为数据存储的物理层,即服务器端数据存储系统1,物理层之上为服务器端的缓存层,即服务器端缓存系统2,再之上是客户端缓存,最上层是暴露给用户的用户接口。所述客户端3包括客户端缓存和用户接口。本实施例中使用POSIX或者与POSIX兼容的接口作为用户接口。具体步骤包括,如图3所示: 1)所述用户接口接收用户发起的栅格数据请求,所述客户端3在所述客户端缓存中查找所述栅格数据请求所需要的数据,如果找到该数据则直接将找到的数据返回用户;如果未找到所需要的数据,所述客户端3将所述栅格数据请求发送至所述服务器端缓存系统2 ; 2)服务器端缓存系统2接收所述栅格数据请求后,如果所述栅格数据请求所需要的数据已经存在于服务器端缓存系统2中,则将该数据返回给用户并执行步骤4,否则将所述栅格数据请求发送至服务器端数据存储系统I并执行步骤3 ; 3)所述服务器端数据存储系统I接收所述栅格数据请求后,将所述栅格数据请求所需要的数据返回客户并执行步骤4、步骤5,如果所述服务器端数据存储系统I未找到所述栅格数据请求所需要的数据则返回错误信息; 4)更新所述客户端缓存,将返回的数据存储至所述客户端缓存; 5)更新所述服务器端缓存系统2,将返回的数据存储至所述服务器端缓存系统2。 除此之外,本专利技术的栅格数据存取方法还包括缓存更新机制和预加载机制。缓存更新机制包括客户端缓存的缓存更新机制和服务器端缓存系统2的缓存更新机制,如果客户端缓存空间不足,则触发客户端缓存的缓存更新机制,如果服务器端缓存系统2缓存空间不足,则触发服务器端缓存系统2的缓存更新机制;所述缓存更新机制包括,使用最近最少使用算法淘汰缓存中的数据块。预加载机制包括水平预加载和垂直预加载,所述水平预加载步骤包括,所述步骤I中,所述客户端3向所述服务器端缓存系统2发送的栅格数据请求还包括所述栅格数据请求所需要的数据的相邻栅格单元;由于空间栅格数据往往会依照不同的分辨率进行分层储存,一组空间栅格数据往往会包括有上下多个图层,这些图层的栅格单元之间存在着对应的关系,如图5所示,所述垂直预加本文档来自技高网...
【技术保护点】
一种基于分布式多级缓存系统的栅格数据存取方法,其特征在于,包括服务器端数据存储系统(1)、服务器端缓存系统(2)、客户端(3),所述客户端(3)包括客户端缓存和用户接口,具体步骤包括:1)所述用户接口接收用户发起的栅格数据请求,所述客户端(3)在所述客户端缓存中查找所述栅格数据请求所需要的数据,如果找到该数据则直接将找到的数据返回用户;如果未找到所需要的数据,所述客户端(3)将所述栅格数据请求发送至所述服务器端缓存系统(2);2)服务器端缓存系统(2)接收所述栅格数据请求后,如果所述栅格数据请求所需要的数据已经存在于服务器端缓存系统(2)中,则将该数据返回给用户并执行步骤4,否则将所述栅格数据请求发送至服务器端数据存储系统(1)并执行步骤3;3)所述服务器端数据存储系统(1)接收所述栅格数据请求后,将所述栅格数据请求所需要的数据返回客户并执行步骤4、步骤5,如果所述服务器端数据存储系统(1)未找到所述栅格数据请求所需要的数据则返回错误信息;4)更新所述客户端缓存,将返回的数据存储至所述客户端缓存;5)更新所述服务器端缓存系统(2),将返回的数据存储至所述服务器端缓存系统(2)。
【技术特征摘要】
1.一种基于分布式多级缓存系统的栅格数据存取方法,其特征在于,包括服务器端数据存储系统(I)、服务器端缓存系统(2)、客户端(3),所述客户端(3)包括客户端缓存和用户接口,具体步骤包括: 1)所述用户接口接收用户发起的栅格数据请求,所述客户端(3)在所述客户端缓存中查找所述栅格数据请求所需要的数据,如果找到该数据则直接将找到的数据返回用户;如果未找到所需要的数据,所述客户端(3)将所述栅格数据请求发送至所述服务器端缓存系统⑵; 2)服务器端缓存系统(2)接收所述栅格数据请求后,如果所述栅格数据请求所需要的数据已经存在于服务器端缓存系统(2)中,则将该数据返回给用户并执行步骤4,否则将所述栅格数据请求发送至服务器端数据存储系统(I)并执行步骤3 ; 3)所述服务器端数据存储系统(I)接收所述栅格数据请求后,将所述栅格数据请求所需要的数据返回客户并执行步骤4、步骤5,如果所述服务器端数据存储系统(I)未找到所述栅格数据请求所需要的数据则返回错误信息; 4)更新所述客户端缓存,将返回的数据存储至所述客户端缓存; 5)更新所述服务器端缓存系统(2),将返回的数据存储至所述服务器端缓存系统(2)。2.根据权利要求1所述的基于分布式多级缓存系统的栅格数据存取方法,其特征在于,还包括缓存更新机制,所述缓存更新机制包括客户端缓存的缓存更新机制和服务器端缓存系统(2)的缓存更新机制,如果客户端缓存空间不足,则触发客户端缓存的缓存更新机制,如果服务...
【专利技术属性】
技术研发人员:陈华钧,高啸,柳云超,胡磊,郑国轴,吴朝晖,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。