首页 > 范文大全 > 正文

平台无关的分布式空间数据引擎技术初探

开篇:润墨网以专业的文秘视角,为您筛选了一篇平台无关的分布式空间数据引擎技术初探范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘要】针对空间数据引擎提出平台无关设想。阐述平台无关的分布式空间数据引擎所需的技术以及技术的实现。

【关键词】平台无关;空间数据引擎

1 引言

对于以处理空间数据为主的GIS软件来说,分布式作为软件开发的重要技术,应用的主要问题是空间数据的分布式存储和传输。目前许多GIS产品已具备各自的空间数据引擎,但都只支持自有数据格式和只支持本系统调用,还有些GIS产品不支持数据库应用。能否结合数据库和商用中间件产品的概念,开发一种平台无关的通用分布式空间数据引擎呢?本文将对此进行简要探讨。

2 平台无关的分布式空间数据引擎关键技术

对于平台无关以及分布式应用,首先应该考虑多数据源和多用户的互操作。元数据是首要考虑的问题;平台无关同时也需要数据结构具有统一标准。

与一般的系统相比,处理空间数据的系统数据量大而且数据操作复杂,在分布式空间数据应用中数据传输与访问性能会降低,因此如何提高空间数据的访问性能显得尤为重要。空间数据索引和空间数据缓存技术是影响分布式空间数据应用性能的关键因素。

3 元数据

元数据是关于数据的数据,是关于数据和信息资源的描述性信息。空间元数据是关于空间数据和信息资源的描述性信息。其主要作用有:确定空间数据的位置、描述空间数据获取信息、确定空间数据转换方法等。

对于平台无关的分布式空间数据引擎来说元数据的引用比较简单,只是采用了面向网格和面向图层结合的混合设计,具体元数据的标准由用户自行定义,引擎主要提供使用者描述元数据的通用手段。

4 标准化数据结构

4.1 面向对象的数据结构

标准化数据结构就是制定统一的面向对象的数据格式。区别于传统空间数据描述方式,在面向对象的数据结构中,以实体对象为主体,几何属性和其他属性一样作为实体对象的一部分属性数据。空间对象数据也具有继承、派生等特性。

4.2 面向对象的显示控制

实体的颜色、线性等显示控制信息作为另一种对象数据独立记录。对实体对象的显示控制可通过空间对象的显示属性指向某种显示控制类的实例来实现。不同用户对于同一种空间数据可定义自己的显示控制对象。

5 空间数据索引

常用的空间数据索引有很多,比较有代表性的有BSP-树、K-D-B树、R-树、R+-树、网格索引等。考虑到空间数据的实际应用特点,采用网格空间索引较为合适。其中根据对数据要求不同可采用规则网格空间索引和不规则网格空间索引。

5.1 规则网格空间索引

规则网格空间索引是将矩形空间数据范围评价划分为M行N列,得到M*N个小矩形网格区域,每个网格区域为一个索引项,在索引项中记录了所有完全或部分落在该矩形区域的几何实体的标识和外接矩形。该索引组建简单,索引速度快,适用于传统图幅方式管理的空间数据。但这种索引方式会破坏部分数据的连续性。

5.2 不规则网格空间索引

对于注重数据完整的空间数据,宜采用不规则网格空间索引。将数据按街区等能最大限度保证数据完整性的界限分成若干区域,每个区域为一个索引项。这种索引的效率因不同的区域而不同,有时候差异性很大。必要时可采用多级不规则网格空间索引。

6 智能缓存

对于分布式异步通讯结构中,缓存必不可少。缓存是数据片段的本地影像。当用户通过网络在数据库查询时,该查询就会在本地生成缓存文件。如果再有同样的查询时,可直接在本地调用。从而大大提高了系统响应时间,减少网络流量。

目前流行的数据库软件都具有缓存机制,但都不适合大数据量的空间数据。空间数据需要专门的超大规模智能缓存技术的支持。

6.1 缓存策略

对于空间数据的数据规模,缓存应该相应放大。但是缓存太大又会影响访问效率。为了解决这一矛盾,应采用超大规模逐级缓存。

首先,在本地硬盘建立尽可能大的文件缓存(如果可能,可建立数据库100%镜像);其次,建立内存缓存从文件缓存获取数据。在客户端和数据库端都要建立两级本地缓存。

6.2 缓存更新

由于采用多级多地缓存,且考虑分布式应用的并发访问问题,缓存更新机制十分复杂。

数据库端缓存建立和排队机制。每个用户访问数据库都是通过数据库端缓存完成。如果出现并发访问,用户请求将在数据库缓存内排队。

本地缓存间建立更新机制。本地由于采用两级缓存,数据更新顺序应是程序到内存缓存、内存缓存到文件缓存。

内存缓存智能更新。为了提高缓存效率,内存缓存建立智能统计机制,积累用户使用规律,提前从文件缓存中更新数据。

各级缓存建立智能监听机制。各级缓存都有智能监听模块和更新触发机制。当用户更新数据时,用户端缓存向数据端缓存发出更新邀请。由于某个用户修改了数据端的数据,数据端缓存会向其他所有用户发出更新邀请。

缓存版本控制。缓存每次更新搜记录统一版本信息。当下次接到更新邀请时通过版本信息自行判断是否更新。

7 结语

平台无关的分布式空间数据引擎必须统一数据格式,因此在提高了数据互操作的同时也存在一些缺陷。由于统一数据格式,各GIS软件本身的数据特性没有了,可能会影响各自软件特性的发挥;面对对象的数据不存储拓扑信息,拓扑结构须在数据调入程序时重建。另外平台无关的分布式空间数据引擎还要开发针对不同系统的数据接口。

参考文献

[1] 沈体雁、程承旗、袁文.基于空间元数据的分布式地理数据管理模型及应用研究.CAGIS&CPGIS年会论文集,2008.

[2] 丛升日.北京大学博士论文.北京,2009