[发明专利]一种栅格数据读取处理方法和装置有效
申请号: | 201210426086.5 | 申请日: | 2012-10-30 |
公开(公告)号: | CN102968456A | 公开(公告)日: | 2013-03-13 |
发明(设计)人: | 孙成宝 | 申请(专利权)人: | 北京地拓科技发展有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 栅格 数据 读取 处理 方法 装置 | ||
技术领域
本发明涉空间信息服务技术领域,特别是涉及一种栅格数据读取处理方法和装置。
背景技术
基于栅格模型的数据结构简称为栅格数据结构,是指将空间分割成有规则的网格,成为栅格数据块,在各个栅格数据块上给出相应的属性值来表示地理实体的一种数据组织形式。栅格数据结构因为相对简单,而且空间分析和地理现象的模拟比较容易,有利于遥感数据的匹配应用和分析,输出方法快速,且成本比较低廉,因此被广泛应用于地理信息系统(GeographicInformation System,GIS)中。
但是,在地理信息系统的应用中,经常需要频繁的读写处理栅格数据,而栅格数据结构的图形数据量大、冗余度高,在进行数据读写时需要耗费大量的时间,对于频繁读写来说,效率会进一步地降低。因为栅格数据结构的图形数据量大,会占用系统较多的空间,一般来说这些数据都是存储在硬盘中,当系统需要时,在从硬盘的文件中进行I/O操作来实现数据的读写,并且在磁盘中是通过处理磁盘数据库文件的方式获取数据。而频繁的读写,无疑舍增加I/O操作的次数,占用大量系统资源,降低系统的反应速度,并且磁盘的数据库文件的处理方式效率也不高。
参照图1,其为栅格数据的应用环境:假设数据服务器上有一系列栅格数据文件,分别为file1.rd,file2.rd,...,fileN.rd;每个栅格文件数据结构中又包含一系列栅格块数据;栅格块数据是每个客户请求栅格数据的基本单位;每个栅格块数据是由m*n个象素组成;对于大型的数据服务器,栅格数据文件可达上万个乃至更多;同时又有大量的远程客户端进行栅格数据文件访问请求,比如图1中,Client1:请求file1.rd中第1,3,7块数据,...,ClientX:请求fileX.rd中第m,n,s块数据...,ClientZ:请求fileZ.rd中第a,b,c块数据...;那么针对各个客户端请求中的栅格块数据,如果都从硬盘的文件中进行I/O操作来读取数据到缓存中进行处理并返回给客户端,而大量的从硬盘的数据库文件中进行I/O操作导致占用大量系统资源,降低系统的反应速度,并且在磁盘的数据库文件处理效率低。
发明内容
本发明所要解决的技术问题是提供一种栅格数据读取处理方法和装置,解决现有技术中针对客户端请求,获取栅格数据效率低,并且系统反应速度低等问题。
为了解决上述问题,本发明公开了一种栅格数据读取处理方法,包括:
根据栅格数据文件中的栅格块数据大小,预先在服务器中将缓存分配为N个用于存储N个栅格块数据的缓存栅格块,并采用标识号记录每个缓存栅格块的起始地址;所述N≥2;
针对所述N个缓存栅格块,建立内存数据库并生成相应的内存记录表,所述内存记录表用于记录各个缓存栅格块的使用信息;所述使用信息包括:针对每个缓存栅格块,记录其中存储的栅格块数据的栅格块数据信息,以及该缓存栅格块起始地址的标识号,并将同一缓存栅格块对应的栅格块数据信息与标识号相关联;所述栅格块数据信息包括栅格块数据的属性信息;
在分配完缓存栅格块和建立内存数据库及相应的内存记录表后,针对客户端的栅格数据读取请求,读取栅格数据的处理过程包括:
接收客户端的栅格数据读取请求,并提取栅格数据取读请求中的各栅格块属性信息;
在所述内存记录表中查询是否存在所述栅格块属性信息;
如果存在所述栅格块属性信息,则根据相应的标识号从缓存栅格块中读出栅格块数据返回给客户端,并更新所述内存记录表中相应的栅格块数据信息;
如果不存在所述栅格块属性信息,则从磁盘中相应的栅格数据文件中提取相应栅格块数据存入空的缓存栅格块或替换进入一缓存栅格块,并更新所述内存记录表中对应缓存栅格块的栅格块数据信息,并将栅格块数据返回给客户端。
优选的,所述如果不存在所述栅格块属性信息,则从磁盘中相应的栅格数据文件中提取相应栅格块数据存入空的缓存栅格块或替换进入一缓存栅格块,并将新的栅格块数据的栅格块数据信息及所述缓存栅格块的标识号更新入所述内存记录表,并将栅格块数据返回给客户端,包括:
如果不存在所述栅格块属性信息,则从磁盘中相应的栅格数据文件中读取相应栅格块数据到内存,并判断所述N个缓存栅格块中是否存在与该栅格块数据大小相应的、空的缓存栅格块;
若存在空的缓存栅格块,则将所述新读取的所述栅格块数据的存入空的缓存栅格块,并将新的栅格块数据的栅格块数据信息及所述缓存栅格块的标识号更新入所述内存记录表,并将栅格块数据返回给客户端;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京地拓科技发展有限公司,未经北京地拓科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210426086.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置