




已阅读5页,还剩93页未读, 继续免费阅读
(计算机系统结构专业论文)空间数据库引擎关键技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
r ; r 0 、 8 j 摘要 随着数据库技术、分布式对象组件技术的迅速发展,在g i s 中构建高性能的空间数 据库引擎成了计算机软件中的研究热点,基f 异掏数据库的空间数据库引擎( s d e ) 的关 键技术研究,是本文的主要内容。 本文涉及到的空问数据库引擎的关键技术,其主要贡献和创新点集中表现在如下四 个方面。 第一个方面是s d e 的体系结构,本文分析了当前存在的各种空间数据库引擎的体系 结构,提出一种多层混合体系结构的空b j 数据库引擘,支持对多种异构数据库的一致性 访问,支持海量空间数据存储与管理。并对基fi c e 的三层体系的空间数据库引擎作了 重点阐述,基于i c e 的r e m o t es d e 具有很好的可扩展性,能更好的支持异构系统的互操 作。 第二个方面是空问数据库中的空自j 数据模型,本文从空间数据的概念模型出发,在 o p e n g l s 的简单要素规范上进行了扩充,使其同时支持矢量要素和栅格要素,达到统一 存储的目的。本文分析了对象关系型数据库和关系数据库中空间数据的存储模型,最后 提出了基于全关系数据库的统一存储模型。 第三个方面是异构数据库的统一访问接口,本文分析了几种异构数据库的差异性, 在参考s q l 9 2 标准的基础上,实现了统一的查询语占,并实现了数据库级的原子操作, 最后在此基础上实现了统一的空间数据访问接口。 第四个方面是空间数据库中的空自j 索引算法,空日j 索引算法是提高空间查询效率的 最重要的方法,因此,空间索引算法的好坏将直接影响空f b j 查询的效率。本文分析了当 日i 主要的几种空j 日j 索引算法,结合四叉树索引和空f b j 填充曲线,提出一种改进的线性四 叉树空间索引算法,它适用于普通的关系数据库,提商了空间查询的效率。 上述成果在v e g a g i s 系统中得到实际应用,并取得良好效果。 关键词:s d e :o r d b :空间索引;空日j 数据库:空i 日j 数据库引擎;分布式对象组件: i c e :c o m :c o r b a :o p e n g i s k e yt e c h n o l o g yr e s e a r c ho i ls p a t i a ld a t a b a s ee n g i n e h ex i o n g ( c o m p u t e r a p p l i c a t i o n ) d i r e c t e db yt a n gz h i m i n w i t ht h er a p i dd e v e l o p m e n to fd a t a b a s et e c h n o l o g ya n dd i s t r i b u t e do b j e c tc o m p o n e n t t e c h n o l o g y , t oc r e a t eah i g hp e r f o r m a n c es p a t i a ld a t a b a s ee n g i n eo f g i s i sak e yr e s e a r c hp o i n t i nc o m p u t e rs o f t w a r e t h em a i nc o n t e n to ft h i st h e s i si sk e yt e c h n o l o g yr e s e a r c ho r ls p a t i a l d a t a b a s ee n g i n e ( s d e ) b a s e do nh e t e r o g e n e o u sd a t 曲a s e s t h i st h e s i si n v o l v e sf o u ra s p e c t si nk e yt e c h n o l o g yo f s p m i a ld a t a b a s ee n g i n e t h ef i r s ti s a b o u tt h ea r c h i t e c t u r eo fs d e t h i st h e s i sa n a l y z e ss e v e r a lt y p i c a la r c l l i t e c t i l r e so fs d e c u r r e n t l y , p u t sf o r w a r das d eo f h y b r i dm u l t i - t i e ra r c h i t e c t u r ew h i c hi sb a s e do ni c e ( i n t e m e t c o m u n i c a t i o ne n g i n e ) at h r e e - t i e rs d e r e m o t es d eb a s e do ni c eh a ss t r o n g s c a l a b i l i t ya n dc a l lb e t t e rs u p p o r ti n t e r o p e r a t i o no f h e t e r o g e n e o u ss y s t e m s t h es e c o n di sa b o u tt h es p a t i a ld a t am o d e lo fs p a t i a ld a t a b a s e t h i st h e s i se x t e n d st h e s i m p l ef e a t u r em o d e lo fo p e n g i sa c c o r d i n gt ot h ec o n c e p tm o d e lo fs p a t i a ld a t a t h u si tc a n s u p p o r tb o t hv e c t o rf e a t u r ea n d r a s t e rf e a t u r ei nau n i f o r ms t o r a g em e t h o d t h i st h e s i sa n a l y z e s t h es t o r a g em o d e lo f o r d ba n dr e l a t i o n a ld a t a b a s e ,f i n a l l yi tb n n g sf o r w a r dau n i f o r ms t o r a g e m o d e lb a s e do nf u l lr e l a t i o n a ld a t a b a s e t h et h i r di sa b o u tu n i f o r ma c c e s si n t e r f a c eo fh e r t e r o g e n e n u sd a t a b a s e s ,t h i st h e s i s a n a l y z e st h ed i f f e r e n c eo fs e v e r a lh e t e r o g e n e o u sd a t a b a s e s ,i m p l e m e n t sau n i f o r ms q l l a n g u a g eb a s e so ns q l 9 2s t a n d a r d t h e ni ti m p l e m e n t st h ea t o mo p e r a t i o n si nd a t a b a s el e v e l a tl a s ti ti m p l e m e n t sau n i f o r ms p m i a ld a t aa c c e s si n t e r f a c eb a s e do nh e t e r o g e n e o u sd a t a b a s e s t h ef o u r t hi sa b o u ts p a t i a li n d e xa l g o r i t h mo fs p a t i a ld a t a b a s e s p a t i a li n d e xa l g o r i t h mi s t h em o s ti m p o r t a n tm e t h o dt oi m p r o v es p m i a lq u e r ye f f i c i e n c y t h i st h e s i sd e s i g n sa n d i m p l e m e n t sa l li m p r o v e dl i n e a rq u a d t r e es p a t i a li n d e xa l g o r i t h mb a s e do nq u a d t r e ea n ds p a t i a l f i l l i n gc u r v e s ,a n dp u t sf o r w a r dam e t h o dt oi m p r o v et h el i n e a rq u a d t r e es p a t i a li n d e x a l g o r i t h m t h e s ek e yt e c h n o l o g i e sa p p l yi nt h ev e g a g i ss y s t e ms u c c e s s f u l l y k e y w o r d s :s d e , o r d b ,s p a t i a li n d e x ,s p a t i a ld a t a b a s e , s p a t i a ld a t a b a s ee n g i n e , d i s t r i b u t e do b j e c tc o m p o n e n ll e e ( i n t e r n e tc o m m u n i c a t i o ne n g i n e ) ,c o m , c o r b a , w k b o p e n g i s n 、, l y j 、 j 图目录 图1 - io p e n g i s 各个主题之自j 的依赖关系 o g c 0 4 】 图1 - 2 简单要素的类继承体g o g c 9 9 1 图1 - 3d c o m 的总体结构 图2 1s d e 的常见体系结构 图2 2a r e s d e 的结构图 图2 - 3 多a g e n t 的分布式g i s 罗0 4 1 图2 - 4i c e 客户服务器架构 图2 5s d e 的多层混合体系结构 图2 - 6r e m o t es d e 的三层分布式体系 图2 7 统一数据访问的接1 2 1 定义( 使用s l i c e 语言) 图2 8s d e 客户端和服务器端的主框架程序 图2 - 9 动态请求服务器端流程 图3 1 空间数据的层次组织 2 8 2 9 图3 - 2 0 p e n g i s 简单要素继承体系扩充修改以后的体系3 4 图3 3 含有两个环的一个多边形的w k b 表示 图3 4 扩充的w k b 表示 图4 1 统一s q l 实现过程 图t 2 统一数据库接口的类继承体系 图4 - 3v e g a s d b 的框架 图5 1 三种类型的目标近似 图5 - 2 多步空间查询的流程 图5 3 简单格网索弓 图5 _ 4 l 树数据结构示意图 v 机群系统o p c n m p j f 究:鲥h 录 图5 5r 树索引数据结构示意图 图5 - 6 四种常用的填充曲线 图5 7 由p e a n o 曲线构成的三层线性四义树7 2 图5 - 8 第k + l 级空| 日j 划分示息图。7 3 图5 - 9 经过3 次迭代生成的线性四叉树示意图。7 5 图5 一1 0 一个最大深度为2 的线性四叉树构造过程8 3 v i i j r t 、 表目录 衷3 - 1 要素的实现级别 表3 - 2s d o _ e l e m _ i n f o 的值和含义 3 5 3 7 表3 3o r a c l es p a t i a l 中可存储的空间实体类型3 7 表3 - 4 矢量图层表3 8 表3 - 5 使用w k b 方式表示的图层数据表 3 9 表3 - 6 规范化存储方案表示的图层数据表。3 9 表3 7 带有内外环的p o l y g o n 的规范化表示4 0 表3 8 栅格波段描述表4 1 表3 - 9 栅格数据块表 表3 一l o 预定义的元数据字典 表4 1 数据库基本类型对照5 0 表4 _ 2 基本数据类型参照表 表4 - 3v e g a s d b 中实现的s q l 函数列表5 2 声明 我声明本论文是我本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,本论文中不包含 其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做 的任何贡献均已在论文中作了明确的说明并表示了谢意。 作者签名:可雄 日期: 论文版权使用授权书 本人授权中国科学院计算技术研究所可以保留并向国家有关部门或机 构送交本论文的复印件和电子文档,允许本论文被查阅和借阅,可以将本 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编本论文。 ( 保密论文在解密后适用本授权书。) 刊邗刷撇:渺:一m ,6 、 、 1 1 g i $ 及空间数据库的发展现状 第1 章引言 g i s 始于上世纪6 0 年代的加拿大和美国,之后和国相继投入大量的研究工作,经过 3 0 来年的发展,到了上世纪9 0 年代末,相继出现了一批商业化的g i s 产品和专业化的 g i s 公司,其中在国际上有代表性的有a r c i n f o 、m a p i l l f o 和i n t e r g r a p hm g e 等。国 内的g i s 相对起步较晚,进入9 0 年代,一些科研院所相继投入大量人力,做g i s 相关 技术的研究,相继出现了m a p g i s 、s u p e r m a p 等专业化的g i s 公司。经过这段时间的发 展,g i s 的研究主要集中在数据结构、算法和实际应用领域上。 目前,g i s 中的问题主要表现在: 系统比较封闭,数据难以共享,数据互操作性差,数据访阀不具备通用性; 离海量窑阃数据管理还有一段距离,通常只能运行在一种数据库下边,严重依 赖于特定的数据库; 严重依赖于操作系统,绝大多数系统都运 亍在w i n d o w s 平台下,难以移植: 难以支持完全分布式的管理: 伴随着( 趱的发展,用于存储和管理g i s 中空问数据的数据库,也经历了从文件系 统,到关系数据库扩展,到面向对象数据库,到对象关系数据库的演变。 在数据库领域,它也从传统的集中式数据库,发展到分布式数据库。并且,异构数 据库之间的数据共享也变得非常重要。 空间数据库技术研究是g i s 这一跨学科技术的研究热点,是g i s 的底层支撑技术。 空间数据库技术的发展,将极大的推进g i s 的向前发展。空间数据库不仅可以应用于 g i s 领域,同时还可以用于c a d 、超大规模集成电路( v l s l ) 、多媒体、生物学等多个领 域。 空间数据库同时也是数据库领域的一个研究热点,毛要研究内容包括:空间数据库 体系结构、空间数据模型、空自j 数据库的访问接【j 、空间查询处理等 g u t 9 4 。在国内外, 有众多的学者和公司都做了空间数据库方面的研究。e g e n h o f e r 等人曾研究了基于空间数 据的查询语言s p a t i a ls q l e g e 9 4 ,用于空间数据的查询处理,甚至在此基础上提出了地 理表示语占g p l ( g e o g r a p h yp r e s e n t a t i o nl a n g u a g e ) ,用于描述查询得到的数据如何去显 示,尽管g p l 没有多少的实际应用,但是他对s q l 的空间应用扩展提取出一系列的建 议和要求。有很多都被o p e n g i ss q l 标准所采用。 另一方面,数据库的s q l 标准已经从s q l 9 2 发展到s q l l 9 9 9 s q l 3 ,它是在以前 的s q l 9 2 标准基础上,进行了对象一关系扩展以后的标准,目前,一些数据库( o r a c l e , i b m 的d b 2 、i n f o r m i x 、p o s t g r e , s q l ) 已经实现了这个标准的一个子集 i 中国科学院博ir 学位论史一中间数据痒- 儿擎关键技术研究 国外的g i s 厂商,大多在原有的关系数据库基础上进行扩充,开发出专用的空间数 据管理模块,构建基于关系数据库的空间数据引擎。通常,一种数据库对应一个引擎。 像e s r i 的a r c s d e ,它有多种数据库的多个版本。也有厂商直接借用那些实现了s q l 3 中 部分子集的对象一关系数据库束管理空日j 数据,比如m a p l n f o 的s p a t i a l w a r ef o ro r a c l e , 直接借助于o r a c l es p a t i a l 的空自j 数据管理模块束管理空间数据。 g i s 厂商客观上要求空自j 数据库的通用性,以及事实上各种数据库针对s q l 3 部分子 集实现的专用性,导致了g i s 最为突出的问题地理空间数据的互操作。国际组织o g c ( o p e ng e o s p a t i a lc o n s o r t i u m ,i n c ) 仞步制定了一系列丌放地理数据互操作觇范 ( o p e ng e o d a t ai n t e r o p e r 曲i l i t ys p e c “i c a t i o n ,0 p e n g i s ) 0 g c ,以利于在地理数据 在各个g i s 实现中、各种数据库的s o l 3 实现中更好的互操作和转换。 伴随着互联网技术的发展,g i s 已经从单机系统向面向网络的海量空间信息的大型 系统的方向发展。它将应对多种使用情形:使用的数据库有可能不是同一类型的数据库 ( 数据库异构) 、使用的操作系统也有可能不是同种操作系统。而支撑g i s 发展的空间数 据库的研究重点表现在: 数据模型:空间数据的种类错综复杂,设计良好的数据模型有利于空间数据的 存储管理。同时,数据模型对空间数据互操作也至关重要。 体系结构:一方面,分布式对象组件模型,深刻的影响着g i s 的发展。国际对 象管理组织( 0 m g ) 和m i c r o s o f l 公司分别提出了自己的分布式对象组件模型 规范c o r b a 和c o m d c o m 。已经有一些软件厂商可以提供o c x 或a c t i v e x 形式的组件化g i s 。但是这些组件模型总有各个方面的缺陷,导致g i s 在分布 式应用中,并不能充分的支持各种异构的情形。另一方面,现有的空间数据库 引擎大多采用两层结构,支持的也是同种类型的数据库。从体系结构方面考虑, 如何创建支持多种数据库的空间数据庠引擎成了研究的重点。 性能:处理海量空间数据,最重要的是要有非常好的性能。尤其是空间索引相 关算法。基于关系数据库的空间索引算法与过去基于文件系统或基于内存的空 间索引算法还是有区别的。研究针对关系数据库的空间索引算法对于构建通用 的高性能的空间数据库,具有非常重要的意义。 1 2 基本概念 1 2 1g i s 地理信息系统( g i s ,c , e o g r a p h i ci n f o r m a t i o ns y s t e m ) 是一种决策支持系统,是以采 集、存储、管理、分析、描述和应用整个或部分地球表面( 包括大气层在内) 与空阳j 和 地理分布有关的数据的计算机软件系统 o g c 0 5 】。 陈述彭院士曾这样形象的描述地理信息系统,“如果说地图是地理学的第二代语占, 2 薷i 帝一j f 苦 那么地理信息系统就是地理学的第三代语言”。如此看来,g i s 在某种程度上讲,是使用 计算机来处理与地图相关的信息的系统。 g i s 的定义是由两部分组成的。一方面,g i s 是- f l 学科,是描述、存储、分析和 输出空间信息的理论和方法的一门新兴的交叉学科;另一方面,g i s 是一个技术系统, 是以空间数据库( s p a t i a ld a t a b a s e ) 为基础,采用地理模型分析方法,地提供多种空间的和 动态的地理信息,为地理研究和地理决策服务的计算机软件系统。 g i s 面向的对象是各类地图和地理数据,地理数据的普遍存在,决定了g i s 应用领 域的广泛性和重要性,其主要的应用领域包括: 地图档案管理、地图制作和出版。 地理信息可视化及图文信息交互查询,尤其是m i s 系统开发中地理相关信息的处 理。 小型区域或专业地理信息管理系统,用于区域管理、设施管理或为科学研究为目 的建立的资源、环境、地质、地理信息系统。包括单机系统和基于集中共享数据 的小型网络系统。 大型专业地理信息系统,旨在解决分布式、多源动态数据、协同作业的复杂地理 信息研究和分析,如规划和决策等系统,多见于城市设施规划管理、军事应用、 资源管理以及环境分析等。 基于公共网络系统,提供公共地理信息服务的系统,如城市公路交通、公共安全应 急防范、公共基础设施管理等。 经过多年的发展,g i s 在数据结构和算法方面已经逐渐成熟,商业化g i s 软件也日 趋完善,g i sj 下广泛应用于各个领域,发挥着重要的作用。但是传统的g i s 系统考虑的 大多是单数据源、单一服务器、单机或局域列络环境的应用。数据库技术、面向对象技 术和i n t e r n e t i n t r a n e t 网络技术的发展为g i s 的网络应用带来广泛的自“景,也对g i s 的研 究与发展提出了新的要求。 1 2 2 空间实体 也可称为几何实体( g e o m e t r i co b j e c t ) ,它是在某一参考坐标系下,由一系列坐标的 组合柬描述的几何体,通常,它就是出一系列几何点组成 o g c 0 5 。 1 2 3 地理要素( g e o g r a p h i cf e a t u r e ) 要素是地理信息的基础,它是对真实世界中的现象的一种抽象。它是对真实世界中 的物体的数字化表示或者是对真实世界的一种抽象。它具备空间域、时间域两类域属性。 要素可以是我们生活的这个时空晕的所有实体,如桌椅,建筑物、城市、森林、生念系 统、交通设备、油井、石油管道等等。而要素通常以要素集的形式进行分组管理。术语 要素( f e a t u r e ) 和实体( o b j e c t ,又称对象) 通常指的足同一种意思。 真实世界的数字化表示,可以认为是要素的集合地理要素有两个层次的定义:要 1 中国科学院博i :学位论文卒闻数据库j i 擎关键技术研究 素实例和要素类型。要素实例,意味着一个地理要素是一个带有相关的地理坐标的离散 实体,而不同的要素实例,会按照不同的要素类型进行分类分组。 通常,描述一个地理要素,既需要与地理位置相关的空白】属性,同时也需要描述这 些地理要素位置无关的一些属性( 名称、编号等等) ,甚至还包括如何显示地理要素的图 示方面的属性。 1 2 4 空间数据和地理数据 空间信息是指与空间位置有关的信皂, s c r 9 9 ,它在所有信息中有相当大的比例( 据 统计可以达到8 0 ) ,比如: 物理世界相关的空间信息( 地理,城市规划,天文) ; 生物相关的空间信息( 如人体组织) ; 工程设计相关的空间信息( 超大规模集成电路设计。汽车自动化设计,药物的分 子结构设计) ; 概念信息空间相关的空间信息( 多维决策吏持系统,流体流动或电磁场等) 。 而地理信息描述的主要是指与物理世界相关的空间信息,确实的是指地理空删信息。 而描述空间信息的数据,则被称为空间数据。描述地理信息的数据,则被称为地理 数据。它是以地球表面作为基本参照框架的空间数据。由于地理信息是空间信息当中最 主要的构成部分。因此,如果没有特殊说明,本文对空间信息和地理信息、空| 日j 数据和 地理数据不再区分。 1 2 5 空间数据库管理系统 用于存储、管理和检索空间数据的数掘库管理系统,我们称之为空间数据库管理系 统。空问数据库管理系统( s d b m s ) 同样要确保数据的一致性、完整性、安全性,并提供 空刚数据的位置和范围定位的工具。 当前,数据大多通过数据库管理系统( d b m s ,d a t a b a s em a n a g e m e n ts y s t e m ) 来进行存 储和管理。但是大部分现有的数据库管理系统无法箭理空间数据或蕾在管理空间数据的 时候难以使用。因为现有的数据库管理系统大多基f 关系模型,存储的都简单的结构化 数据,因为有关系代数和结构化查询语言( s q l ) 的支持,因此处理这些数据非常方便和 有效。但是空间数据大多是多维的非结构化的数据,涉及的操作也是标准s q l 语言难以 描述的。 因此,空间数据库是对传统数据库的扩展,它除了应具有传统数据库的所有功能之 外,还必须具备对空间数据的描述、存储、管理和检索等能力。 目前,空f 目数据库已经广泛应用于g i s 、c a d 、机器人、计算机视觉等领域。随着 数字城市、数字地球等概念的提出,g i s 所涉及的数据量渐趋海量,达到t b 级甚至p b 级,空间数据库,特别是超大型的空间数据库受到越来越多的关注,具有广阔的应用前 4 第1 章哼l 苦 景。 g i s 可以说是建立在空间数据库管理系统上的应用信息系统。但传统意义上的6 i s 与空 间数据库管理系统很难划清明显的界限,所以文中的空间数据管理系统和g i s 的概念经常 可以互相交换。 空问数据库中管理的信息包括上面提到的点、线、面状空间实体,也包括复合实体、 地图影象等数据。空间数据库可以是专门的文件系统,也可以是商业化的关系数据库或对 象关系数据库。空阳j 数据库的核心内容是g i s 幕础数据当然空侑】数据库也可以包括诸如 拓扑关系、索引等提高性能的数据。 空间数据库与一般数据库相比,具有以下特点: 数据量特别大,地理信息系统是一个复杂的综合体,要用数据来描述各种地理 要素,尤其是要素的空间位置,其数据量往往很大。 数据比较复杂,一般的关系数据库中存储和处理的大都是关系数据。而空间数 据库中,不仅有地理要素的属性数据( 与一般数据库中的数据性质相似) ,还有大 量的空间数据,即描述地理要素空i 日】分布位置的数据,并且这两种数据之问具 有不可分割的联系。 数据应用广泛,如地理研究、环境保护、土地利用与规划、资源开发、生态环 境、市政管理、道路建设等。 1 2 6 空间数据库引擎 空间数据库引擎( s d e ,s p a t i a ld a t a b a s ee n g i n e ) 是g i s 中介于应用程序和空间数 据库之间的中间件技术,它为用户提供了访问空白j 数据库的统一接口,是g i s 中的关键 性技术。 空i l 白j 数据库引擎大多以两种方式存在:一种是利用数据库本身面向对象的特性,定 义面向对象的空间数据抽象数据类型,同时对s q l 实现空间方面的扩展,使其支持 s p a t i a ls o l 查询,支持空间数据的存储和管理。这种方式大多是以数据库插件的形式 存在。另一种是利用关系数据库,开发一个专用于空间数据的存储管理模块。 通过使用s d e ,改变了原先使用文件来管理空间数据的方式,在共享,安全、维护 和数据处理能力方面都大大超过老一代的地理信息系统,使得g i s 应用可以建立起海量、 多用户的空间数据库系统,接受并发访问。具体来说,有以下作用: 与空间数据库联合为任何支持的用户提供空i 日j 数掘服务。 提供开放的数据访问,通过t c p i p 横跨任何刚构或异构网络,支持分布式的g i s 系统。 快速的数据提取和分析。s d e 提供快速的空问数据提取和分析功能,可进行基 于拓扑的查询、缓冲区分析、叠加分析、合并和切分等。 提供从基于文件的系统到r d b m s 管理数据系统的平滑升迁,提供多种交换文件 中国科学院碑i 学位论文卒间数据库- j l 擎关键技术研究 与实际的空白j 数据库表的互相转换,其中的过程对用户是透明的。 与空间数据库联合可以管理海量空问信息,s d e 在用户与物理数据的远程存储 之间构建了一个抽象层,允许用户在逻辑层面上与数据库交互,而实际的物理 存储则交由数据库来管理。数据的海量是由空间数据库管理系统来保障的。 无缝的数据管理,实现空间数据与属性数据统一存储。传统的地理信息的存储 方式是将空间数据与属性数据分别存储,空间数据因其复杂的数据结构,多以 文件的形式保存,而属性数据多利用关系数据库存储。而通过s d e ,则可以把 这两种数据同时存储到数据库中,保证了更高的存储效率和数据完整性。 并发访问。s d e 与空间数据库相结合,提供空间数据的并发响应机制。用户对 数据的访问是动态的,透明的。 这样,s d e 一方面可以实现海量数据的多用户管理、数据的高速提取和空间分析,以 及同丌发环境良好的集成和兼容,同应用系统无缝嵌入。另一方面,它屏蔽掉了不同数 据库和不同g i s 文件格式之间的壁垒,实现了多源数据的无缝集成,从而为最终实现g i s 的互操作提供一种有效途径。 1 3 o p e n g i s 规范 数据库技术、网络技术的发展,极大的推动了地理信息系统的快速发展,而地理信 息系统之闻的信息共享成为十分严峻的问题。因为,它们各自采用的数据结构并不完全 相同,存取数据的格式、用于存储数据的数据库类别以及运行c d s 的操作系统也不尽相 同。各类c d s 软件相互独立,导致相互之间互操作产生困难。所谓互操作,是指系统间 相互提供信息,突破因为异构进秤坏境和辟质数_ 拼l :导致的资源访问的譬垒 o o c 0 4 。 为了消除地理信息系统、地理信息应用之问_ f j 谍作的障碍,更好的解决g i s 的互操 作问题,o p e n g l s 协会( o g c ,o p e ng e o s p a t i a lc o n s o r t i u m ,h e ) 于1 9 9 4 年成立。它是一个 完全非盈利的组织,目的是推动采用新的技术和商业方式来提高地理信息处理的互操作 能力o n t e r o p e r a b i l i t y ) ,o g c 会员主要包括g i s 相关的软硬件厂商( 如e s r lm a p l n f o 等) 、 数据库厂商( o r a c l e ,h f o r m l x 等) 以及一些高等院校、研究机构和政府部门等,其技术委 员会负责具体杯准的制定工作。 o g c 的使命是,领导全球各类机构对地理空自j 数据的开放标准和体系的开发和使 用,从而让空i 日j 数据和服务的集成很好的运用到用户的应用程序中,最终促成相关市场 和商业机会的形成。它的最终目标是,让世界上的所有人都能从地理空间信息及其支撑 技术中获益。符合o g c 的开放接口舰范的产品和服务都能使跨不同网络、不同平台和 产品的用户自由的交换和使用空问信息、应用和服务1 0 c , - c 0 5 。 o p e n g i s 规范主要包括两类规范,抽象舰纯和实现规范。其中抽象规范是o p e n g i s 的基础,也是o p e n g i s 的主体;实现规范定义了抽象规范在不同分布计算平台上的实现, 目| i o g c 已经定义了针对c o r b a 、o l e c o m 和s q l 的简单要素访问的实现规范。 6 第1 章j f 者 抽象规范的主要目的是为所有实现规范提供一个良好的模型。将软件和系统设计与 真实世界场景关联起来,能够准确的描述需求和领域知识,便于在此基础上达成一致, 它与具体的软件实现无关,只是描述了软件应该实现的内容和要求。 抽象规范可以分为两大类:空间信息共享以及空间信息服务。把综述( o v e r v i e w ) 算 在内,o p e n g i s 抽象规范目前共有1 7 个主题,如图l - 1 所示: 圈1 1o p o n g i s 各个主题之间的依赖关系1 0 1 3 c 0 4 1 在o p e n g i s 的实现规范里,对简单要素的实现规范最为完备。其中与空间数据库有 关的基于s q l 的简单要素规范晕,定义了简单要素的类继承体系,如图1 2 所示: 豳1 2 简单要素的类继承体系1 0 g c 9 9 l o g c 的简单要素的类继承体系是很多空闻数掘概念模型的基础。它描述了空间实体 中点、线、面、多点、多线、多面以及混合实体之| 日j 的基本构成,并把空间参照系与空 7 中国科学院博士学位论好卒问数据库引擎关键技术研究 间实体关联到一起。大多数空间关系以及空间分析都基于这个类层次体系进行探讨和研 究。 1 4 分布式对象组件模型 1 4 1 概念及背景 组件( c o m p o n e n t ) ,也称为构件,能被普遍认可的是指用于软件复用的软件实体。然 而针对软件实体的定义是不明确的。比较有代表性的是,c m u i s e i 的f c h xb a c h m a n 等 人在2 0 0 0 年5 月的一份关于基于构件的软件工程的报告中给出如下定义 1 3 a c l u n a n0 0 : 组件:是一个不透明的功能实现 能够被第三方组装;符合一种组件模型。 计算机软硬件的发展,促使人们构造功能更强大、规模更庞大、结构更复杂的应用 系统。然而,很多复杂的应用都存在于异掏的环境( 使用不同的硬件平台、操作系统,使 用不同的数据库) ,并且功能不断增多或者不断发生变化。传统的开发方法,往往受限于 编程语占、操作系统和网络协议,使得大型系统的开发效率不高,变得难以维护、难以 扩展。于是以面向对象为基础,逐渐出现了基于组件对象的软件开发,用于开发大型分 布式软件系统。 组件的出现,币好提高了软件的丌发效率,使得系统更容易维护和扩展。人们可以 通过不断的组装组件,来开发一个软件系统。从复用的角度来讲,函数应该是最仞的组 件。随着面向对象技术和面向对象语言的出现,复用可以从函数扩展到类库。它确实在 一定程度上提高了软件的生产率,但是,这里的复用是基于源代码级的复用,而且受限 于编程语言,即一般只能使用同一种编程语言来调用函数库或类库。 标准组件技术,不同于普通的面向对象编程语言,它大多独立于编程语言,甚至与 平台无关。它是面向接口的,而不是面向实现的。用户可以在遵循组件规范的基础上, 使用不同的编程语言,调用已经组件提供的接口,不需要提供原有组件的实现源代码。 组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段。在组件技术 的概念模式下,软件系统可以被视为帽互协同工作的对象集合,其中每个对象都会提供 特定的服务,发出特定的消息,并且以标准形式公奄出来。以便其他对象了解和调用。 组件问的接口通过一种与平台无关的语言i d l ( i n t e r f a c ed e f i n el a n g u a g e ) 来定义,而 且是二进制兼容的,使用者可以直接调用执行模块来获得对象提供的服务。组件相比于 早期的类库而占,封装得更加彻底,更易于使用,并且不限于c + + 之类的编程语言,可 以在各种开发语占和开发环境中使用。 1 4 2 主要组件模型 目前,比较著名的组件模型有微软提出的c o m d c o m ( c o m p o n e n to b j e c t m o d e l d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ) 、o m g ( o b j e c tm a n a g e m e n t g r o u p ) 组织提出的 c o r b a ( c o m m o n o b j e c t r e q u e s t b r o k e r a r c h i t e c t u r e ) 和s u n 公司提出的j a v a b e a n s 组件模 第1 帚0 i 言 型。 1 4 2 1c o m ,d c o m c o m ( c o m p o n e n to b j e c tm o d e l ) 是m i c r o s o f t 公司开发的专用于m i c r o s o f tw i n d o w s 系列 操作系统环境中的对象组件模型和对象总线,c o m 往分布式发展,成为d c o m 。在d c o m 环境中,软件组件是a c l i v e x 控件。由于是商业化产品,而且由m i c r o s o f 嗷家完成,所以实 现的技术更具体,可操作性更强。 最歼始,为了支持大量的复合文档,需要一个通用的方法来区分每一组成部分,并能 把它们很好的结合在一起,由此产生了对象链接和嵌入o l e ( o b j e c tl i n k i n ga n d e m b e d d i n g ) 。早期的o l e 采用的是一种不灵活的消息传递。随后,o l e 的设计者发现可以 从o l e 本身的设计中提炼出更好的组件模型,于是到了o l e 2 0 ,他们开发了支撑模型 c o m 。 在d c o m 和c o m 中,组件用m i c r o s o f t 的接口定义语言( m i d l ) 描述和发布自己的服 务,通过系统注册表定位服务器对象并提供对象引用,这也决定了d c o m 的对象引用是由 客户方的宿主机操作系统提供的( 图1 3 ) 。但d c o m 对异构操作系统环境的支持能力很弱。 图1 - 3 d c o m 的总体结构 为了激活对象,d c o m 使用了w i n d o w s 的注册表和服务控制管理器。注册表记录 了类的全局i d ( c l s i d ) 和包含实现该类的本地二进制文件的映射。远程对象服务器进程 初始化时就已经创建好了远程对象,以便于接收客户端的远程方法调用。而服务控制管 理器则负责定位服务器、激活对象和绑定远程对象等。 2 0 0 2 年微软推出了n e t 框架,它以公共语言基础设施c l i ( c o m m o nl a n g u a g e i n f r a s t r u c t u r e ) 规范( 由微软、i n t e l 、惠普联合发布) 为基础,并且提供了基于c l i 的实现公 共语言运行时c l r ( c o m m o nl a n g u a g er u n t i m e ) 。但是c l r 是一个混合体,其中不仅仅 是c l i 的实现,它还包含着兼容以前c o m 规范的底层实i 观 s g m 0 3 。显然,c l r 琨隐 9 中国科学院博士学位论3 e - - - - 车间数姑库引擎关键技术研究 藏着对操作系统底层a p i 的调用。 c l i 定义了一种通用的中间语言i l 和部署文f , 的格式,同时包含了对扩展元数据的 支持。相对于c o m d c o m ,n e t 无疑是一个很大的进步在n e t 框架下,实现了中 间语言i l 的多种编程语言之间可以很好的互操作。唯一缺陷是它们始终运行在w i n d o w s 操作系统之上。 1 4 2 2c o r b a c o r b a 规范由o m g 提出,1 9 8 9 年对象管理组织正式成立,大约有8 0 0 多个国际 成员,一起创立了分布式系统的标准,于1 9 9 0 年底提出对象管理体系( o m a , o b j e c t m a n a g e m e n t a r c h i t e c t u r e ) o m g 0 2 。它是后来c o r b a 的基础,c o r b a 定义了有关对象 管理体系的交互、接口和特性。其主要组成部分是对象请求代理( o r b 。o b j e c tr q u e a b r o k e r ) 和接1 2 定义语言( i d l ) 。c o r b a 规范现已发展到3 0 ,简称c o r b a 3 。 c o r b a 的对象和服务是通过i d l 来描述的。接口是客户在对象上可能请示的方法, 操作集合。由于i d l 只是对接口的描述,在具体实现中,需要i d l 到具体编程语言的映 射。图1 4 描述了c o r b a 中i d l 及其实现的框架。 图1 - 4 c o r b a 的i d l 与实现 在c o r b a 中,把每一个组件部看作是提供特定服务的服
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度智能机器人销售合同协议
- 2025版煤炭行业供应链金融合作协议示范文本
- 2025版混凝土搅拌机租赁与租赁期满设备回收服务合同
- 二零二五年度豪华别墅装修个人服务协议
- 2025版绿色建材水管材料销售合同
- 2025版二手车交易车辆维修保养服务合同
- 2025版带观光电梯房屋售楼协议书
- 2025版轨道交通设备监造与运营维护合同
- 二零二五版建筑项目防雷及安全监测服务合同范本
- 2025版劳保用品定制化研发与采购合同
- 景区演艺演员管理制度
- 2024年甘肃省张家川回族自治县教育局公开招聘试题含答案分析
- 亲子活动热狗活动方案
- 2025年黑龙江、吉林、辽宁、内蒙古高考生物真题试卷(解析版)
- 河南省郑州市2023-2024学年高一下学期6月期末物理试题(解析版)
- 2024年中级统计师《统计基础理论及相关知识》真题及答案解析
- 智能制造虚拟仿真实训基地建设目标
- 《慢性乙肝治疗策略》课件
- 施工用电合同协议书
- 国际制药工程协会(ISPE)制药工程基本指南水和蒸汽系统
- 中小企业数字化转型的成效评估与优化
评论
0/150
提交评论