Chinaunix首页 | 论坛 | 博客
  • 博客访问: 714353
  • 博文数量: 535
  • 博客积分: 9970
  • 博客等级: 中将
  • 技术积分: 7260
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-15 03:47
文章分类

全部博文(535)

文章存档

2011年(1)

2008年(534)

我的朋友

分类: 服务器与存储

2008-06-23 00:48:06

国土资源空间数据是国土资源管理中的重要基础数据,是国土资源信息系统应用的基础,具有采集成本大、应用频率高、变化快、数据量多的特点,需要特别加强管理和保护。本文讨论基于异地数据中心数据网络化互为备份,利用业界领先的数据管理平台——Oracle数据库管理系统及空间数据整合技术有效实现国土资源空间数据的异地容灾保护。

1 国土资源空间数据管理

1,1 国土资源空间数据特点及管理方式


    目前,国土资源空间数据管理存在四种方式:

    (1)文件方式。基于文件,以各GIS厂家专门定义的数据结构组织数据,操作系统负责这些国土资源空间数据文件的管理。

    (2)文件加数据库管理系统方式。基于文件,以各GIS厂家专门定义的数据结构组织实体的国土资源空间和空间属性数据,非空间数据依赖关系型数据管理系统进行管理,二者通过关键字发生关联,实体的完整性描述易于被破坏。

    (3)数据库管理系统加空间数据引擎(SDE)。国土资源空间实体数据全部由数据库管理系统来存储和管理,空间数据以GIS厂家专门定义的封闭二进制结构组织,其语义由商家提供的空间数据引擎来解译。这是目前的主流模式。

    (4)Oracle Spatial空间数据管理方式。国土资源空间实体数据全部由Oracle数据库管理系统来存储和管理,空间数据由Oracle Spatial所定义的数据结构来组织,空间数据组织符合OpenGIS标准,系统开放,与GIS产品独立。

    前三种空间数据管理方式,特别是文件和文件加数据库的管理方式不但满足不了国土资源空间信息服务社会化的要求,而且使国土资源空间数据在网络化应用环境下的安全问题越来越突出。OracleSpatial开放空间数据管理的出现,使得国土资源空间数据在保证开放和提供支持大规模共享的同时,将国土资源空间数据作为一种普通的数据类型由数据库系统进行管理。目前,开放空间数据库管理方式正在成为主流的空间数据的管理方式。

1.2 使用Oracle Spatial管理空间数据

    在Oracle Spatial中,空间矢量数据是以SDO_GEOMETRY或SDO_TOPO_GEOMETRY对象类型的列封装的,空间栅格数据是以SDO_GEO_RASTER对象类型的列组织的,如图1所示。


    图1中,SHAPE列存放实体的矢量空间位置信息,其类型为SDO_GEOMETRY或SDO_TOPO_GEOMETRY。SDO—GEOMETRY以类型开放的方式空间实体所在的坐标系、空间特征类型、空间特征结构、空间特征的坐标值序列;SDO_TOPO_GEOMETRY类型用于存储拓扑矢量数据;IMAGE列存放实体的栅格空间位置信息,其类型为SDO_GEORASTER。该SDO_GEORASTER类型封装了栅格数据类型、空间范围、栅格数据表名、元数据。与基于纯关系数据模型的空间数据模型相比,SDO_GEOMETRY和SDO_GEORASTER对象类型的引入,大大简化了数据模型的设计和理解。

    除了使用对象关系数据模型之外,Oracle Spatial在数据库级实现了针对空间矢量数据的四分树索引和R树索引,针对空间栅格数据的影像金字塔创建和维护,很好地解决了空间数据存取的性能问题;Oracle Spatial还提供了各种空间分析和空间计算过程和函数,利用统一的数据库引擎、统一的优化算法进行空间数据存取、计算。

1.3 Oracle Spatial空间数据管理特点

    Oracle Spatial管理空间数据具有如下特点:

    (1)对实体建模:基于Oracle Spatial,可以将实体的空间和空间属性与其它属性放在一个数据表中管理,保证实体描述的完整性,也方便了空间实体数据建模和模型理解。

    (2)一致的空间数据保护:RAC数据库集群防止系统失败,Data Guard防止数据失败和灾难发生导致的数据破坏,Flash Back Query提供改正人为数据错误的机会。另外,数据库安全控制、数据库备份和恢复提供了基本的数据保护。

    (3)直接管理空间数据:与通过GIS系统间接使用数据库管理空间数据不同的是,用Oracle Spatial是在数据库级直接管理空间数据。通过GIS系统间接管理空间数据,往往会出现GIS系统或多或少地屏蔽了数据库的强大能力,数据库级直接管理空间数据使得数据库的相关技术都可使用:标准的SQL语言、数据库物理空间管理和优化、优化的数据库引擎、数据库分布查询和更新、数据库复制、并行查询、并发控制等。

    (4)数据库是中性的:数据库管理系统的数据组织是建立在对各实际数据的一个抽象层次上的,绝大多数企业应用开发工具都支持基于数据库的应用开发;在空间矢量数据组织、管理和存储方面,Oracle Spatial数据库支持业界认可的OpenGis标准;在空间栅格数据组织、管理和存储方面,Oracle Spatial支持带地理配准的栅格数据,支持影像金字塔的栅格数据存储和操作,栅格数据格式都是基于标准图像数据格式的(如TIF、GIF、JFIF、SunRaster等)。

    (5)带语义空间数据存储:许多GIS系统也支持空间数据的数据库存储,但是,它们仅将数据库作为存储载体,空间数据的语法和语义解释完全由GIS专用应用编程接口API支持;Oracle Spatial使用面向对象技术封装了空间数据语义,并将其按标准SQL方式公开给应用开发平台。

    (6)开放:符合空间数据行业标准、数据组织公开的Oracle Spatial数据管理,使得各GIS平台能容易实现对Oracle Spatial空间数据存取支持。

    (7)共享:开放的Oracle Spatial数据管理,使得异构GIS平台能共享存取Oracle Spatial空间数据,有效解决空间数据复杂性所引起的信息孤岛问题,空间数据更新和应用直接衔接。

    (8)交换:开放的Oracle Spatial数据管理,使得各GIS平台既能将Oracle Spatial作为其空间数据工作格式,又能作为各系统之间的数据交换格式。

    使用Oracle Spatial管理所有的空间数据,通过Oracle Data Guard为包括了空间数据的所有数据异地容灾保护提供了完整的解决方案。

2 空间数据异地容灾的技术实现

    Oracle的数据异地容灾主要是使用其Oracle Data Guard来实现。

2. 1 Oracle Data Guard的工作原理

    Oracle Data Guard使得客户能够从灾难境况中快速恢复。Data Guard的行为,就执行备份操作来说,是完善、简易和全自动的。Oracle Data Guard支持计划的(Switchover)和突发的(Failover)停机恢复。图2是其操作过程逻辑图。


    图2中,本地的主数据库和异地的后备数据库之间通过专用网络联接,DataGuard的工作过程是:

    (1)在正常工作时,主数据库的事务操作日志被同步或异步地应用于后备(Standby)数据库;

    (2)在例行维护工作时,维护工作前,切换两数据库的脚色(即主数据库为后备数据库,原后备数据库成为主数据库),维护工作完成后,切换回原数据库的脚色。

    (3)当主数据库崩溃时,则将后备数据库变为主数据库使用。

    管理员使用Data Guard Broker工具完成上述操作,并且应用程序可在主数据库和后备数据库之间进行透明切换。

    针对目前空间数据管理方式多样的现状,基于Oracle的空间数据异地容灾采用两种基本方案实现:基于空间数据整合的数据异地容灾和基于内容管理(Content Management)的数据异地容灾。
2.2 基于国土资源空间数据整合的数据异地容灾

    如图3所示,本地与异地部署统一整合的国土资源空间数据库来防止由于不可抗拒的原因(如水灾、地震、人为破坏等)而导致的本地数据灾难性毁坏。


    国土资源空间数据整合的数据异地容灾的思路是:将各种方式管理的国土资源空间数据按照Oracle Spatial的组织方式统一整合Oracle数据库(或RAC集群)中,形成整合统一的国土资源空间主数据库;在异地设置与其逻辑等价或物理等价的备用数据库,即整合统一的国土资源空间后备数据库,主数据库和后备数据库之间通过专用网络连接;Data Guard及其有关工具来保持主备数据库的同步和角色切换。

2.3 基于内容管理的数据异地容灾

    如图4所示,本地与异地部署内容管理数据库来防止由于不可抗拒的原因(如水灾、地震、人为破坏等)而导致的本地数据灾难性毁坏。


    基于内容管理的数据异地容灾的基本思路是:基于主数据库,部署Oracle Content ManagementSDK(即CM SDK),使用CM SDK将所有文件形式的数据(空间数据和非空间数据)导入(check—in)主数据库中,该主数据库作为CM SDK的数据存储(Repository),用户使用CM SDK提供的HTTP、FTP、SMTP、NTFS、NFS等协议服务来访问Repository中的文件数据;在界地部署此主数据库的后备数据库(可选择部署CM SDK),主备数据库之间通过网络进行连接,使用Data Guard使主备数据库内容保持同步和角色切换。这种方式的数据异地容灾,对文件内容不进行整合。使用CM SDK的check—in/check—out功能,将文件数据导入/导出Repository中。

2.4 数据整合和内容管理相结合的数据异地容灾

    由于在短期内整合所有的国土资源空间数据并不现实,对目前仅限于局部使用的国土资源空间数据也可今后随着共享范围的扩大需要再进行整合。所以,可以将前述的基本数据异地容灾方按结合起来使用,如图5所示。


    图5中,将那些需要在多GIS平台上进行共享应用的国土资源空间数据按Spatial方式进行统一整合;将没有明显共享和开放要求的文件数据,保持其文件格式不变,但由CM SDK统一管理。整合后的数据与文件集中在数据库中,对此数据库使用Data Guard进行异地容灾保护。

3 结束语

    总之,使用Oracle Spatial能有效整合国土资源空间数据,使国土资源空间数据集中到Oracle数据库中进行统一存储管理;使用Oracle Content Management SDK将各文件格式数据成果也集中到Oracle数据库中进行统一存储管理。文件数据和整合的空间数据集中到一个Oracle数据库中,使用Oracle Data Guard为此集中的数据库提供异地容灾保护,更好地管理和保护国土资源空间数据。
阅读(998) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~