海量信息存储

时间:2024-08-01 05:49:07编辑:阿星

 海量数据存储与管理

正如上述,在国土资源遥感综合调查信息中,既包含有多源、多时相、多尺度、多分辨率、多类型的遥感图像数据和基础地理数据,也包括在项目开展过程中衍生的许多观测和分析资料,数据量十分庞大。因此,根据数据共享的要求,在数据生产、管理、应用服务以及更新和维护过程中,如何组织和管理好这些海量数据,如何快速、全面有效地访问和获得所需数据,成为面临的突出问题。在这里,采用何种方式利用现有的大型商业化关系数据库系统高效地存储与管理这些数据,成为能否发挥系统最大性能的关键所在。传统的GIS系统对空间数据(与空间位置、空间关系有关的数据)的存储与管理大多采用这些商业软件特定的文件方式,如:ArcInfo的Coverage、MapInfo的Tab、MAPGIS的WL等。如果数据量越多,这些文件就会越大,数据的处理就会越复杂,其存储、检索、管理也就越困难,而且其最大的缺点还在于不能进行多用户并发操作。由此可见,用以往传统的存储机制去管理像遥感综合调查这样的海量数据,显然难以满足要求。而近年来发展起来的空间数据库引擎技术则是解决海量数据存储管理的途径之一。本系统建设过程中,采用了空间数据库引擎ArcSDE+大型关系数据库Oracle组合技术,较理想地实现了遥感综合调查海量数据的存储、检索、查询、处理。众所周知,Oracle提供了大型数据库环境,能够很好地处理海量数据,而ArcSDE可将具有地理特征的空间数据和非空间数据统一加载到Oracle中去,因此,通过ArcSDE空间数据库引擎,可将Oracle海量数据管理功能加载到GIS系统中,并可利用Oracle的强大管理机制进行高效率的事务处理、记录锁定、并发控制等服务操作。

海量空间数据存储

(一)空间数据存储技术随着地理信息系统的发展,空间数据库技术也得到了很大的发展,并出现了很多新的空间数据库技术(黄钊等,2003),其中应用最广的就是用关系数据库管理系统(RDBMS)来管理空间数据。用关系数据库管理系统来管理空间数据,主要解决存储在关系数据库中的空间数据与应用程序之间的数据接口问题,即空间数据库引擎(SpatialDatabase Engine)(熊丽华等,2004)。更确切地说,空间数据库技术是解决空间数据对象中几何属性在关系数据库中的存取问题,其主要任务是:(1)用关系数据库存储管理空间数据;(2)从数据库中读取空间数据,并转换为GIS应用程序能够接收和使用的格式;(3)将GIS应用程序中的空间数据导入数据库,交给关系数据库管理。空间数据库中数据存储主要有三种模式:拓扑关系数据存储模式、Oracle Spatial模式和ArcSDE模式。拓扑关系数据存储模式将空间数据存在文件中,而将属性数据存在数据库系统中,二者以一个关键字相连。这样分离存储的方式由于存在数据的管理和维护困难、数据访问速度慢、多用户数据并发共享冲突等问题而不适用于大型空间数据库的建设。而OracleSpatial实际上只是在原来的数据库模型上进行了空间数据模型的扩展,实现的是“点、线、面”等简单要素的存储和检索,所以它并不能存储数据之间复杂的拓扑关系,也不能建立一个空间几何网络。ArcSDE解决了这些问题,并利用空间索引机制来提高查询速度,利用长事务和版本机制来实现多用户同时操纵同一类型数据,利用特殊的表结构来实现空间数据和属性数据的无缝集成等(熊丽华等,2004)。ArcSDE是ESRI公司开发的一个中间件产品,所谓中间件是一个软件,它允许应用元素通过网络连接进行互操作,屏蔽其下的通讯协议、系统结构、操作系统、数据库和其他应用服务。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯,并营造出一个相对稳定的高层应用环境,使开发人员可以集中精力于系统的上层开发,而不用过多考虑系统分布式环境下的移植性和通讯能力。因此,中间件能无缝地连入应用开发环境中,应用程序可以很容易地定位和共享中间件提供的应用逻辑和数据,易于系统集成。在分布式的网络环境下,客户端的应用程序如果要访问网络上某个服务器的信息,而服务器可能运行在不同于客户端的操作系统和数据库系统中。此时,客户机的应用程序中负责寻找数据的部分只需要访问一个数据访问中间件,由该中间件完成网络中数据或服务的查找,然后将查找的信息返回给客户端(万定生等,2003)。因此,本系统实现空间数据库存储的基本思想就是利用ArcSDE实现各类空间数据的存储。目前,空间数据存储技术已比较成熟,出现了许多类似ArcSDE功能的中间件产品,这些软件基本上都能实现空间数据的数据库存储与管理,但对于海量空间数据的存储,各种软件性能差别较大。随着数据量的增长,计算机在分析处理上会产生很多问题,比如数据不可能一次完全被读入计算机的内存中进行处理。单纯依赖于硬件技术,并不能满足持续增长的数据的处理要求。因此需要在软件上找到处理海量数据的策略,并最终通过软硬件的结合完成对海量数据的处理。在海量数据存储问题上,许多专家从不同侧面进行过研究,Lindstrom在地形简化中使用了外存模型(Out-of-core)技术;钟正采用了基于数据分块、动态调用的策略;汪国平等人在研究使用高速网络进行三维海量地形数据的实时交互浏览中,采用了分块、多分辨率模板建立模型等方法。这些技术、方法已经在各自系统上进行了研究和实现。本系统采用的ArcSDE软件基本上也是采用分块模型的方法,具体存储和操作不需要用户过多了解,已经由ArcSDE软件实现。因此,对海量数据的存储管理,更需要从数据的组织方式等方面进行设计。塔里木河流域生态环境动态监测系统采集了大量的遥感影像、正射影像等栅格结构的数据,这些数据具有很大的数据量,为适应流域空间基础设施的管理需要,采取一种新的方式来管理、分发这些海量数据以适应各部门的快速浏览和管理需要。(二)影像金字塔结构影像数据库的组织是影像数据库效率的关键,为了获得高效率的存取速度,在数据的组织上使用了金字塔数据结构和网格分块数据结构。该技术主导思想如下:(1)将数据库中使用到的纹理处理成为大小一致的纹理块;(2)为每块纹理生成5个细节等级的纹理,分别为0、1、2、3、4,其中1级纹理通过0级纹理1/4压缩得到,2级纹理通过1级纹理1/4压缩得到,…,以此类推;(3)在显示每个块数据之前,根据显示比例的大小,并以此决定该使用那一级的纹理;(4)在内存中建立纹理缓冲池,使用LRU算法进行纹理块的调度,确保使用频率高的纹理调度次数尽可能少。(三)影像数据压缩影像数据压缩有无损压缩和有损压缩两个方法,具体采取哪种压缩方法需根据具体情况确定。对于像元值很重要的数据,如分类数据、分析数据等采用无损压缩(即LZ77算法),否则采用有损压缩(即JPEG算法)。通过对影像数据的压缩,一方面可以节约存储空间,另一方面可以加快影像的读取和显示速度。影像数据的压缩一般与构建金字塔同时进行,在构建影像金字塔过程中自动完成数据的压缩。

上一篇:好看符号

下一篇:ppr集团