(1.大庆高等专科学校,黑龙江 大庆 163712;2.大庆油田有限责任公司,黑龙江 大庆 163453) (1.Daqing Advanced College,HeiLongJiang Daqing 163712;2.Daqing Oilfield Company Limited,HeiLongJiang Daqing 163453) 摘 要:本文阐述了分布式Oracle技术在油田基础地理信息系统中的应用,并详细地说明了油田分布式地理信息系统的设计与实现。 关键词:分布式数据库;Oracle;GIS ABSTRACT:This text has explained the application in the geographical information system of the foundation of oil field of distributed Oracle technology, And has stated the design of the distributed geographical information system in the oil field and realize in detail. KEYWORDS:Distributed database;Oracle;GIS  1、概述 数据库技术与分布式处理技术相结合,出现了分布式数据库系统。数据库技术应用到GIS中,出现了空间数据库,空间数据用于表示物体的位置、形状、大小和分布特征等诸方面信息,适用于描述所有二维、三维和多维分布的关于区域的现象,是地理系统的基础和核心。用关系数据库与空间数据库协同管理地理信息数据,是近年来地理信息系统的分布式处理的常用方法之一,其分布式实现主要依赖于关系数据库(如Oracle)所提供的分布式功能。文中详细阐述基于Oracle的分布式数据库的油田地理信息系统的设计及空间数据分布式处理的实现方法。 2、Oracle系统的分布式设计技术 2.1分布式Oracle系统构架 分布式Oracle系统由分布式数据库管理系统(RDBMS)、支持多操作系统和通信协议的分布式处理环境软件SQL*NET、以及与非Oracle RDBMS联接的软件SQL*Connect组成的一个软件群。其中,Oracle RDBMS的分布式功能主要包括分布式查询、单点事务、多个事务中多点更新及结点自治等;SQL*NET提供不同Oracle数据库间的连接功能;SQL*Connect是实现Oracle与其它DBMS转换的一个接口产品。 2.2 SQL*NET SQL*NET是Oracle分布式处理的基础,其体系结构如图1所示。通过SQL*NET,一个应用程序可以并行存取本地或远程的多个数据库。当存取远程数据库时,在客户端,SQL*NET将来自用户程序接口(UPI)层的子程序调用(SQL语句)组装成信息报文,经过异种机环境所需要的数据转换后,通过网络将报文发送给远程计算机;在服务器端,SQL*NET接受报文,作必要的数据转换,并将子程序调用参数传送到适当的Oracle核心入口点,在相反方向上服务器端驱动SQL*NET传送的是数据和返回码信息。  2.3 Oracle分布式操作 数据库链路定义以后,远程操作就变得非常简单和方便。访问远程数据表或视图时,只要在表名或视图名后附上数据库链路名即可通过SELECT或INSERT、UPDATE、DELETE等语句对数据进行操作。 3、GIS中分布式数据库设计要点 3.1数据的物理位置 在分布式数据库环境中,首先要确定数据表的最佳存放位置,使数据分布更加合理。在这一过程中,需要着重考虑以下几点因素:每一结点需传递的事务量;每一结点使用的数据量;网络的性能与可靠性;各结点速度、磁盘容量;结点间连接不通后的访问规则;表间联系对数据完整性的影响等。 3.2数据库分布及其对象 存放数据的独立结点都要建立至少一个数据库,对于GIS中不同的应用,在同一地点可以建立多个数据库。在每一数据库中还要根据实际需求建立有关数据库对象,如Table、View、Snapshot、Synonym等。 3.3数据存取机制 分布式数据库的特点是数据访问的透明性。在GIS应用系统中,不同的功能会需要访问不同数据库。为了达到数据访问的透明性,在分布式数据库设计时就需要确定如何访问其它数据库,如何实现不同数据库中数据表的链接等规则。 4、基于分布式数据库的GIS的设计 油田地理信息系统是一个面向全油田的辅助管理的集成化地理信息系统。由于MapInfo 6.5提供了对Oracle 8i以上版本的空间数据管理的支持,因此在系统中非空间数据用Oracle管理,空间数据用MapInfo和Oracle来共同管理。 4.1油田GIS的体系结构 油田地理信息系统运行在企业网上,各部门通过浏览器可以查询到道路、集输、供排水、供电等相应的地理信息数据。在Oracle数据服务器中分别建立道路、桥涵、站、间、排水、变电所等属性数据库,对于部分图形数据,如站、间按照单位区块划分方法,按照图层分类方式,存储到Oracle数据库相应字段中,这样,就实现了对地图、属性数据的分布式存储和维护。 4.2数据库的分布式设计 油田地理信息系统ORACLE分布式数据库原理示意图:(图2所示) 按照地图数据的分类,分别建立道路、集油、排水、供电四个子系统,以道路子系统为例,对于油田共有的地图数据建立独立的图层,区域独有的地图数据以单位为划分标准的图层,并且存储到数据库中,属性数据采用按照子系统分类,以类别和所属单位关键字段,这样用户不仅按照分类能够查询、统计,还能够以所属单位为条件进行数据的维护。 使用Web浏览器作为客户端,将地图信息系统紧密地与其他系统结合,实现了地图、属性数据、开发数据的时时关联查询,提供了统一、完整的综合信息系统。 在具体实现过程中,考虑到系统的整体性能以及受软件的开发运行环境限制,地图数据的维护采用C/S(Client/Server)的模式,地图以及属性数据的查询等采用B/S(Browser/Server)的模式,这样,维护地图数据时,在创建新的地图对象,还可以移动和删除地图对象。支持简单的数据库处理,例如更新前将锁定行,执行更新后再提交。但是现在还不能支持在预期更新时锁定的行。 4.3数据上传到数据库的解决办法 对于点、线等简单的图形数据,利用EasyLoader软件工具上传到oracle数据服务器中,在客户端对其进行编辑和维护,这样能保证大量的图形数据的及时更新,对于复杂的图形数据,由于目前的地理信息系统和Oracle 数据库系统的限制,仍然采用文件的形式存放地理图形数据,这样能够保证图形数据和属性数据维护更新的同步。 5、结束语 分布式数据库技术已经越来越普遍,对于油田地理信息系统这种既有属性数据又有空间数据及开发数据的系统来说,对其空间数据和属性数据可采用分布式数据库技术来实现,随着Oracle空间数据处理功能以及GIS软件的不断完善,采用分布式数据库技术解决地理信息系统中大量的空间图形数据的问题是行之有效的,当然,目前的地理信息系统软件和oracle 数据库提供的功能还不能完全满足对空间图形数据信息的处理要求,在这一方面还需要进一步研究和探讨。 参考文献 [1]孟小峰编著.关系数据库管理系统Oracle原理与应用[M]. 北京:电子工业出版社,1993 2、龚健雅,袁相儒,陈莉丽,等.跨平台分布式地理信息组织与处理.武汉测绘科技大学学报[J],1998, 23 (4): 364~369   作者简介:李梓(1970-),女(汉族),黑龙江人,教师,硕士,主要研究方向:人工智能。 第一作者 第二作者 联系地址 邮编 省市 电话 E-Mail 稿件名称 李梓 张万里 大庆油田信息中心 163453 黑龙江大庆市 0459-5986841 zhangwl@daqing.com 油田分布式GIS研究
|