




已阅读5页,还剩71页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院硕士学位论文 第 1 页 摘 要 随着航空航天和摄影测量技术的飞速发展,空间数据的数量和规模急剧增长。空间数据库管理系统是存储和管理空间数据的重要手段,为了高效地存储、管理和应用空间数据,必须完善空间数据库管理系统各方面的功能。 在这种背景下,拥有海量空间数据的行业和部门应该思考如何“主动地”为用户提供服务。在空间数据库中,规则技术可以用于实现空间数据完整性约束;基于 web 服务的空间数据协同编辑中,需要在空间数据库管理系统中提供长事务支持,空间规则是实现长事务管理的关键技术;通过定义与执行具有空间特征的业务规则,空间数据库规则技术还可以应用到地理信息主动服务中;此外,扩展和优化空间规则技术能够提高不同空间数据库之间的兼容性。因此,支持规则的空间数据库技术对于 gis 系统的开发和应用有很重要的价值。 本文主要进行空间数据库规则技术研究。首先,基于 eca 规则,结合空间数据特性建立空间规则模型。然后,针对多用户访问条件下空间规则中空间扩展成分的解析,设计并实现了支持多线程的空间规则 gsql 解析器。该解析器采用适合空间数据解析的可变长内存池技术进行内存管理,基于可变长内存池设计和实现了并发访问控制模型。通过实验,验证了 gsql 解析器的稳定性和高效性。随后,为了提高空间规则终止性分析算法的精确性,提出了基于关联图的修正算法和基于触发路径的终止性分析算法。最后,实现了空间规则技术在空间数据库管理系统中的应用。用规则技术实现了空间数据的元数据自动注册和反注册、栅格数据一致性维护以及长事务扩展,给出了基于空间业务规则的 lbs 应用模式和支持 wfs-t 的体系架构。 关键词:空间规则,空间数据库管理系统,终止性分析,一致性维护 国防科学技术大学研究生院硕士学位论文 第 2 页 abstract along with the rapid development of aerospace and photogrammetry, spatial data have been increasing sharply in number and size. spatial database management system (sdbms) is a very important means to store and manage spatial data. in order to store, manage and utilize spatial data much more efficiently, the capabilities of all aspects of sdbms need to be improved. under this circumstance, the industry and the department holding massive spatial data should consider how to provide services to user actively. in spatial databases, the rule technologies are used to achieve spatial data integrity constraints. besides, spatial database management systems need to support long transaction in cooperative editing of spatial data based on web services, and spatial rules is the key component to achieve long-transaction management. the technologies of spatial rule can also be used in the applications of active services of geographic information by defining and implementing business rules with spatial characteristics. in addition, it can improve the compatibility between different spatial databases by expanding and optimizing spatial rule technology. consequently, the technology of spatial database supporting rules is of great importance for development and application of geographic information system (gis). this paper focuses on the reserch on technology of spatial database rules. first of all, the model of spatial rules, combining with the spatial characteristics of a spatial data, is created based on eca rules. secondly, we designe and implemente a spatial data gsql paser which support parse the extended spatial components of spatial rules in case of multi-user access in parallel. the parser adoptes the variable-length memory pool technology suitable for spatial data parsing to manage memory. then, a concurrent access control model is designed and implemented based on the variable-length memory pool technology. the gsql parser is experimently stable and efficient. thirdly, we propose a correction algorithm based on relationship graph, as well as an algorithm based on trigger path to improve the accuracy of spatial rule termination analysis. lastly, the technology of spatial rules is implymented in sdbms. we use technology of spatial rules to achieve the auto-registration and auto-unregistration of spatial metadata, consistency maintenance of raster data and expansion of long trasaction in sdbms. in addition, we present the applied pattern of location-based services (lbs) based on spatial business rules and the framework of wfs-t services. keywords: spatial rules, spatial dbms, termination analysis, consistency maintenance 国防科学技术大学研究生院硕士学位论文 第 iv 页 表 目 录 表 2.1 规则条件的描述范畴 9 表 2.2 规则动作的描述范畴 10 表 2.3 执行模式的描述范畴 10 表 2.4 主动行为维度 17 表 3.1 实验数据 34 表 5.1 ii_geometry_attribute 的属性列表 51 表 5.2 不同坐标的维度类型 51 表 5.3 ii_raster_attribute 的属性列表 51 表 5.4 ii_rast_metaschma 的属性列表 51 表 5.5 ii_spatial_ref_sys 的属性列表 52 表 5.6 rbt 表的字段描述 56 国防科学技术大学研究生院硕士学位论文 第 v 页 图 目 录 图 2.1 主动性空间数据库管理系统的体系结构 8 图 2.2 规则执行的主要步骤 10 图 2.3 一般的要素模型 11 图 2.4 空间数据的特点 12 图 2.5 空间数据类型 13 图 2.6 传统数据库的完整性约束 15 图 2.7 空间数据库的完整性约束 16 图 3.1 ingre 内核体系结构 20 图 3.2 ingres 的查询处理过程 21 图 3.3 空间扩展的几个方面 22 图 3.4 词法解析关键数据结构 23 图 3.5 postgis 解析器示意图 26 图 3.6 postgis 解析器应用于多线程时的全局变量冲突 27 图 3.7 支持多线程并发的 gsql 解析器 28 图 3.8 内存池扩展示意图 30 图 3.9 内存池管理模型 31 图 3.10 多线程导入时间消耗 34 图 3.11 数据 1 的时间和内存消耗 35 图 3.12 数据 2 的时间和内存消耗 36 图 3.13 数据 3 的时间和内存消耗 36 图 3.14 多线程下的时间和内存消耗 36 图 4.1 r的关联图 43 图 4.2 基于关联图修正算法的保守性示例 44 图 5.1 空间类型整数代码 49 图 5.2 iirelation 的结构和元组 50 图 5.3 物理层向表中插入记录流程 53 图 5.4 物理层创建表流程 54 图 5.5 物理层删除表中记录流程 55 图 5.6 物理层删除表流程 55 图 5.7 栅格数据存储结构 56 图 5.8 规则的自动创建流程 58 图 5.9 lbs 应用架构 59 图 5.10 空间数据网络共享服务体系结构 60 图 5.11 利用空间规则技术实现 wfs-t 61 国防科学技术大学研究生院硕士学位论文 第 1 页 第一章 绪论 1.1 课题背景与来源课题背景与来源 随着数据库技术的成熟,空间数据库技术得到了快速发展,成为地理信息系统(gis, geographic information system)数据服务平台的核心技术。 地理空间数据与通常意义上的数据相比,具有自己的特点:数据类型多样,实体之间关系复杂,数据量非常大,非结构化等等。地理数据的这些特点决定了不能用普通的数据库管理系统进行管理, gis 必须发展自己的数据库空间数据库管理系统(sdbms, spatial database management system)1。 gis 应用的快速发展要求我国必须发展自己的空间数据库管理系统。 随着航空航天、摄影测量和遥感等技术的发展,地理空间信息数据大量积累,对空间数据库的应用需求也在不断扩大2。如何存储这些海量的数据,如何提高管理效率,如何保证数据安全, 这些亟待解决的问题给国产 gis 软件提出了一系列挑战3。 然而由于核心技术落后,目前还没有国内自主开发的、可用的空间数据库管理系统,这导致我国所有的 gis 应用都依赖于国外开发的空间数据库管理系统4。 这种对国外产品的过分依赖,不仅造成外汇的大量流失,而且极大地阻碍了我国 gis 的整体发展和推广普及。更为严重的是,由于核心技术在国外,数据安全得不到保障,涉及国防、政治、经济等领域的 gis 应用无法确保安全,对国家安全造成了巨大的威胁。因此,开发具有自主版权的空间数据库管理系统,是我国 gis 技术与产业发展的当务之急。论文借鉴开源的关系型数据库管理系统 ingres,基于关系数据库内核进行空间扩展、高安全扩展和分布式扩展等一系列扩展和改造,实现了一个高可信、高安全性的空间数据库管理系统软件 ingresdb,为国家空间信息基础设施建设和我国 gis 技术的发展提供了支持。 空间数据库规则技术是空间数据库管理系统中的一项关键技术,主要表现在以下几个方面: (1)在空间数据库管理系统中实现对空间数据的完整性维护,需要用到规则技术。空间数据库管理系统除了需要解决空间数据的高效存储、管理和查询外,还必须处理那些因引入空间位置信息而产生的对象间空间依赖和空间关系约束问题,这些依赖和约束都是通过空间规则技术实现的。其次,由于空间数据的复杂性,导致其存储和管理相对普通的关系数据更为复杂,对空间数据库的修改常常同时导致对多个数据集的更新,需要用空间规则技术减少冗余和维持空间数据的一致性。例如,在 ingresdb 中,栅格数据是用 a+b+c 表的方式存储的。其中 a表是业务表,存储用户定义的非空间属性;b 表是栅格数据表,存储实际的栅格数国防科学技术大学研究生院硕士学位论文 第 2 页 据;c 表是空间元数据表,存储栅格数据列的元数据信息。在创建(或删除)栅格数据表时,需要自动注册(或反注册)元数据信息;在对业务表进行更新(或删除)时,需要更新(或删除)相应的栅格数据表。这些功能都是通过空间数据库中的规则技术实现的。 (2)提供长事务的支持,需要用到空间数据库规则技术。为了支持空间数据的网络共享,空间数据库需要实现空间数据的网络发布。wfs-t 是一种提供空间数据网络共享服务的 ogc(open geospatial consortium,开发地理空间信息联盟)规范,它不仅提供网络查询服务,还提供对空间要素的修改和删除。由于客户端事务对空间数据的修改持续时间可能很长,为了确保在提交时空间记录没有被别的事务修改,需要支持长事务。长事务扩展需要用到事务锁,事务锁的管理是通过规则技术实现的。事务在更新某空间记录时,触发执行相应的规则,在事务锁表中查询是否有相应的权限。 (3)提供地理信息主动服务,需要实现空间业务规则。所谓地理信息主动服务,就是用户可以根据其业务逻辑在数据库中定制一系列服务,当数据库状态发生改变时,系统自动判断是否执行某些操作。例如当前应用比较广泛的手机广告服务,当用户进入某个区域时,系统自动发送广告。空间业务规则就是用户根据其业务逻辑定制的规则,可以很好的实现地理信息主动服务。实现手机广告服务的业务规则如下: on: onenterarea(buffer(rectangle, 50m), user.location) if: true then: insert into message(user.phone_number,adver_text) (4)为了提高不同空间数据库之间的兼容性,需要研究空间数据库规则技术。在不同的空间数据库之间,规则技术的功能和实现方式是不完全一样的。例如,在 oracle spatial 中是用触发器(trigger)实现规则的,规则执行部分可以采用数据定义语言等。而 ingres 中的规则功能较弱,不支持数据定义语言。这造成了某些成熟的空间规则应用不能简单地移植到不同的空间数据库,因此要扩展 ingres 空间数据库规则,提高 ingresdb 与其它数据库的兼容性。 总之, 空间数据库规则技术是在 sdbms 中维护空间数据一致性、 提供长事务支持、实现空间业务规则和提供地理信息主动服务的重要技术。本文在开发空间数据库管理系统 ingresdb 的基础上,着重进行的空间数据库规则技术研究,并将研究成果应用于 ingresdb,实现空间数据一致性维护和对空间业务规则的支持。 1.2 国内外研究现状国内外研究现状 1.2.1 空间数据库研究现状 国防科学技术大学研究生院硕士学位论文 第 3 页 空间数据库已成为 gis 基础软件的核心,它支持空间数据类型和空间索引,并提供高效的空间查询与分析方法1。目前空间数据管理系统主要有两种实现模式: “关系型数据库空间数据引擎”和“扩展对象关系型数据库” 。 (1)“关系型数据库空间数据引擎”56是 gis 领域采用的一种经典方案。这种模式保存了传统的关系型数据库管理系统的完整型,在此基础上开发空间数据引擎中间件。用户进行空间数据的存储、查询和更新等操作时,由空间数据库引擎将相应的操作转换为关系数据库中的各种操作,并将关系数据库的返回结果转化为用户可以使用的方式。也就是说,关系数据库仅是存放空间数据的容器,而空间数据引擎是空间数据进出该容器的转换通道。esri 公司的 arcsde 和supermap 公司的 sdx+是这类系统的典型代表。 (2)“扩展对象关系型数据库”78是一项比较新的技术。这种模式借鉴面向对象技术,对关系型数据库管理系统进行扩展。由于关系型数据库管理系统难以管理非结构化的空间数据,对它进行对象关系改造,使之支持空间数据的存储管理。用户可以利用系统提供的扩展接口增加空间数据类型和操作函数,从而可以直接使用数据库管理系统中新增的空间数据类型和空间操作函数来操作空间数据。oracle 公司的 oracle spatial 和 db2 的 db2 的 spatial extender 是这类系统的典型代表。 目前,扩展对象关系型数据库正逐渐成为开发空间数据库的主流趋势。无论是主流关系型数据库系统(oracle、db2 和 sql server) ,还是开源数据库系统(ingres、mysql、postgresql 等) ,都在实施空间扩展计划,有的已推出相应的空间扩展产品。然而,目前这种扩展主要集中在矢量数据类型,除了 oracle georaster 外,大部分成熟的空间数据库产品都不支持栅格数据类型9。空间数据库管理 ingresdb 就是采用这种模式基于 ingres 进行扩展的,它支持包括栅格类型在内的各种类型空间数据的存储和管理。 1.2.2 空间规则技术研究现状 (1)目前 gis 领域的研究主要集中在空间数据库的稳定性和有效性方面,还未能很好的实现空间数据库对主动服务的支持,对空间规则技术的研究还比较欠缺。 学术界基于数据库内核或外壳封装,研发了一些实验系统,如:moyne 大学实现了基于 agent 的空间决策支持系统的原型环境10,medeiros 等利用面向对象主动数据库实现二元拓扑约束维护等11。业界支持方面,oracle 10g spatial 实现主动性依赖于数据库管理系统本身的约束描述和检查机制,应用范围通常局限在空间元数据管理或者某些审计功能,但最近也展开了空间事件检测的研究12。db2 spatial extender 和 informix spatial datablade 也类似13。中间件实现方面,arcgis国防科学技术大学研究生院硕士学位论文 第 4 页 为 geodatabase 空间数据模型加入了基于规则的拓扑关系表达和管理机制,其它商用 gis 产品(如国外产品 mapinfo、intergraph,国内产品 supermap、mapgis 等)也都具备了一定的完整性约束维护能力。与 arcgis 相似,现有商用 gis 产品所能提供的约束主要还是针对类型完整性的,它们对空间关系约束的定义与维护能力都还比较欠缺。 (2)规则的终止性分析方面,相关研究工作主要集中在提出编译时保证规则集终止的充分条件,或者是通过规则执行仿真、动态分析方法等来获取运行时的终止性。 运行时分析方法也称动态分析,该方法的高昂代价,在商业数据库中采取的是比较简单的实现方案,比如固定规则级联的深度或者指定规则执行的时间来控制规则终止,然而这种方法无疑会回滚掉许多本来可以终止的规则事务。 编译时分析方法属于静态分析,相关研究涉及面广。但大部分方法都是以 a. aiken 等人定义的触发图14概念为基础进行扩展和改进的, e.baralis 等通过引入激活图改善了触发图的条件分析能力15,左万利等人引入了关联图16。此外,a.p.karadimce、i.ray、s. comai 和 s. flesca 等提出通过转化的策略,将主动规则转化到另一个方法和技术比较成熟的领域来解决终止性分析问题17。d. zimmer、印桂生等将 petri 网理论引入规则分析的方法18。e.baralis、印桂生等提出基于代数的方法19,熊伟等采用了标注事件图分析空间规则20。应用于空间数据库,上述方法在以下方面还有待改进:除了基于图的算法,其它算法或者在语义上实现复杂,或者不够直观。而基于图的算法中,大部分算法都有一定的保守性,分析结果不够精确,而且没有充分考虑基于空间关系的事件以及基于空间查询的条件测试。 (3)兼容性方面,各种不同的空间数据库采用的空间规则技术不能完全兼容。下面对比分析 oracle spatial 和 ingres 中的规则技术,前者是目前主流的空间数据库,后者是开发空间数据库管理系统 ingresdb 的基础。 在 oracle 数据库管理系统中,提供了一个 rules manager 组件,用来在数据库中定义和执行 eca 规则。rules manager 有如下几个组件:event structrues,rule class, rules, event management policies 和 actions21。 事件结构 (event structrues) 用来描述事件,事件是事件结构的一个实例。事件结构可以定义为一个对象类型,用一系列属性来描述具体的事件。事件结构也可以定义为一个或多个表,表的元组相当于事件,列相当于事件的属性。规则类(rule class)是为事件结构定义的规则的逻辑组合,并且用特定的事件管理器(event management policies)来管理规则评估过程中事件的行为。规则类用关系表表示,每行代表一个规则。事件管理器(event managemant policies)为规则类提供事件控制和规则处理。 国防科学技术大学研究生院硕士学位论文 第 5 页 在 ingres 数据库管理系统中,也提供了对规则技术的支持。它的规则类似于oracle中的触发器, 规则动作的执行是通过调用特定的存储过程实现的。 但是ingres中的存储过程和规则功能较弱,例如其存储过程不支持 ddl 和绑定变量等等,而且 ingres 中的 sql 语句与 oracle 不兼容,不符合目前比较流行的 sqlmm 标准。 因此,要基于 ingres 实现空间数据库管理系统应用开发,必须解决 ingres 中空间规则的兼容性问题。 1.3 主要研究内容主要研究内容 对于空间数据库管理系统来说,空间规则技术是实现高效的空间数据完整性维护和地理信息主动服务等功能的关键技术。为了在扩展空间数据库管理系统ingresdb 中实现空间规则技术, 论文首先结合空间数据特点提出空间 eca 规则模型,然后研究空间规则的解析和空间规则的终止性分析,最后进行空间规则技术的应用研究,在 ingresdb 中用空间规则技术实现空间数据一致性维护和空间业务规则。具体内容包括: 1、空间 eca 规则模型的建立 首先对经典的 eca 规则进行分析,概述 eca 规则及其执行模型。然后根据空间数据的特点,对空间数据和空间关系进行分类。最后对比分析空间数据库完整性约束和传统数据库完整性约束的区别,在此基础上结合空间数据特性,构建适合于空间数据库的空间 eca 规则模型。 2、空间规则的解析 在空间数据库中实现空间规则技术,首先要实现空间规则的解析。本文在分析 postgis 空间解析器的基础上,设计实现了一个空间数据 gsql 解析器。该解析器不仅可以对空间规则的解析提供支持,还可以用来进行空间数据的上传和下载。另外,该解析器是支持多用户并发访问的,还针对空间数据特点设计实现了可变长内存池管理模式,大幅度提高空间数据解析的效率。 3、空间规则的终止性分析 空间规则的终止性问题是指给定一个空间数据库的初始状态和一个初始触发事件,该触发事件引起一组空间规则集的相互级联触发,这种级联触发可能是无止境的,导致规则集无法终止。为此,需要提供一些分析方法,使空间数据库能够更加有效地运行。本文首先分析了经典的基于图的终止性分析算法,然后在关联图算法的基础上进行了部分改进,最后提出了一种分析结果更为精确的基于触发路径的终止性算法。 4、空间规则技术的应用 将空间规则技术应用于我们开发的空间数据库管理系统 ingresdb,实现空间国防科学技术大学研究生院硕士学位论文 第 6 页 数据一致性维护和对空间业务规则的支持。首先阐述 ingresdb 中空间扩展的基本方法和空间数据存储的方式,利用空间规则技术实现空间数据元数据的自动注册与反注册、空间栅格数据一致性维护以及规则的自动注册。然后研究用户自定义的空间业务规则的应用,分析了如何利用空间规则技术实现基于位置服务(lbs)应用和 wfs-t 服务。 1.4 论文组织结构论文组织结构 论文共分为六章,各章内容安排如下: 第一章为“绪论” 。介绍论文所研究课题的背景与来源,分析国内外的研究现状,概括论文的研究内容,简述论文的组织结构。 第二章为“空间规则模型” 。首先分析主动数据库管理系统对于规则技术的需求,介绍经典的 eca 规则及其执行模型;然后对空间数据进行描述,结合空间数据特点进行空间数据和空间关系的分类;最后分析空间数据库的完整性约束相对于传统关系型数据库完整性约束的区别,结合空间数据特点建立适合空间数据库管理系统的空间 eca 规则模型。 第三章为“空间规则解析” 。首先介绍空间规则技术对空间数据解析的需求,然后在分析 postgis 空间数据解析器的基础上,设计实现了一个空间数据 gsql解析器。该解析器不仅提供对空间规则解析的支持,还可以用来进行空间数据的上传和下载。 由于 ingres 采用了多线程的体系结构, gsql 解析器需要也采用多线程结构来支持多用户并发访问。结合空间数据的特点,设计一种可变长内存池技术来实现 gsql 解析器的内存管理,大幅度提高了解析器的执行效率。 第四章为“空间规则终止性分析” 。首先分析经典的基于图的 eca 规则分析算法,包括基本归约算法和基于关联图的分析方法,然后对关联图算法进行改进,提出基于关联图的修正算法。最后提出一种基于触发路径的终止性分析算法,提高了终止性分析的精确性。 第五章为“空间规则技术的应用” 。首先概述对 ingres 进行空间扩展的基本原理和方法、空间数据的存储方式以及空间元数据表的设计,然后在 ingresdb 中利用空间规则技术实现空间元数据的自动注册和反注册、空间数据的一致性维护以及规则的自动创建,最后介绍空间业务规则应用于 lbs 和 wfs-t 的实例。 第六章为“总结” 。总结本文的主要工作和研究成果,并提出今后需要进一步研究的问题和方向。 国防科学技术大学研究生院硕士学位论文 第 7 页 第二章 空间规则模型 地理信息主动服务要求空间数据库管理系统(sdbms)具有主动性。在实现数据库管理系统主动性的研究中,出现了多种不同的系统和模型。在大多数实现数据库主动性的系统和模型中,eca 规则是其核心概念,也是其区别于传统的被动数据库管理系统的主要标志。 空间数据库规则技术是实现空间数据库主动性的关键技术。为了实现空间数据库的主动性,需要在空间数据库管理系统中引入规则。由于空间数据的复杂性,导致空间数据库中的规则相对于普通的关系数据库更为复杂。因此,结合空间数据的特性,将空间数据模型和空间关系引入 eca 规则模型中构造空间规则模型,是空间规则技术研究的前提,也是实现空间数据库主动性的重点。 本章首先介绍主动数据库管理系统中的 eca 规则,然后结合空间数据特性,对空间数据和空间关系进行分类,在此基础上构造空间规则模型。 2.1 eca 规则规则 2.1.1 具有主动性的空间数据库管理系统 传统的数据库管理系统(dbms,database management system)是被动的,只有来自 dbms 以外的操作才能引起数据变化。因此,数据库的完整性和一致性维护主要是依靠数据库管理员完成的。随着数据规模和复杂度的增长,数据库管理员的数据维护任务也变得越来越繁重。为了满足数据库完整性、一致性的自动维护和实时信息处理的需要,需要数据库具有一定的主动性。为了给数据库提供足够的主动能力,主动数据库管理系统(adbms, active dbms)应运而生。自动完成那些重复性或可以用统一的产生式规则(production rule)描述的数据维护行为是 adbms 设计的主要目标22。 主动数据库管理系统能根据数据库的情形和状态自动地进行反应,并能指定系统的反应行为,执行规定的操作。一个 adbms 由可以形式化地描述为23 adbms=dbms+rb+em 其中,dbms 是传统的数据库管理系统,用来存储、维护和管理数据;rb 是规则库,规则库由事件驱动;em 是事件监测模块,检测事件的发生。在 rb 中,每一项规则表示发生相应的事件时,如何自动执行用户预先定义的动作。em 在数据库应用程序运行的过程中, 检测数据库状态的变化。 一旦 rb 中定义的事件发生,就主动地触发系统,按照 rb 中相应规则执行指定的动作。由此可见,规则库是实现主动功能的关键。不同的规则表示,就决定了不同的主动功能的实现。 国防科学技术大学研究生院硕士学位论文 第 8 页 为了提供地理信息主动服务,需要设计实现具有主动性能的空间数据库管理系统。一般的具有主动功能的空间数据库管理系统的体系结构如图 2.1 所示。该图表示了在 sdbms 中实现一般的主动功能所需的主要处理流程 (在图中用矩形框表示)和数据存储(在图中用罐状体表示)以及各部件之间的数据流(实线表示静态阶段用户调用静态辅助工具时所需的数据流,虚线表示运行阶段用户调用动态辅助工具时所需的数据流) 。 读编辑器可终止性静态分析器浏览器可终止性动态分析器编译器规则管理器事件检测器条件检测器调度模块查询评价器用户输入/输出读工具集成环境读读读读读读事件规则读读规则冲突集读/写空间规则库历史数据库空间数据库条件评价动作执行读/写读读/写读/写事件通知读/写读/写静态数据流动态数据流 图 2.1 主动性空间数据库管理系统的体系结构 图 2.1 所示的具有主动功能的空间数据库管理系统的抽象体系结构大致可以分为辅助工具集成环境、执行主动功能部件和数据存储部件三个部分。辅助工具集成环境是用户与数据库系统交互的界面,包含编辑器、编译器、可终止性静态分析器、浏览器和可终止性动态分析器等。执行主动功能部件由规则管理器、事件检测器、条件检测器、调度模块和查询评价器组成。数据存储部件由空间规则库、冲突规则集、历史数据库和空间数据库组成。 由具有主动性的 sdbms 的体系结构可以看出, 其主动性主要是通过空间规则管理器来实现的。因此空间规则技术是实现 sdbms 主动性的核心技术。 2.1.2 eca 规则 目前,在主动数据库中最常见的规则结构是 hipac 系统提出的 eca 模型23。 eca(event-condition-action)规则是主动数据库系统中的核心概念,由事件、条件和动作组成。事件(event)可以是内部事件或外部事件,内部事件是指数据国防科学技术大学研究生院硕士学位论文 第 9 页 库系统内部的操作,外部事件是外部反馈给数据库系统的信号。条件是对当前数据库状态或外部信号状态的查询。动作(action)通常是一组数据库更新操作或包含数据库更新操作的存储过程。一般情况下,eca 用如下形式表示: on event if condition then action 在定义了规则之后,adbms 中的事件检测模块监视相关的事件。一旦检测到相应规则事件发生,就通知负责规则执行的组件,在特定的时刻检查规则的条件,若条件满足则执行相应的动作。eca 规则是公认的规则形式,下面分别介绍 eca规则模型的事件、条件和动作部分。 (1)事件 事件是指某一时刻发生在数据库系统内外的一系列活动,这些活动一般引发数据库系统状态发生变化。事件要么发生,要么不发生,没有第三种状态。事件体现数据库系统相关的动作或状态变化,它可以是一个数据库操作、时间行为、事务管理活动,以及与外部环境的交互活动或系统的其他活动。 事件按照是否可分又分为简单事件和复合事件两种不同的类型。简单事件又叫原子事件,它是即刻发生的、原子性的。所谓的即刻发生是指每个简单事件都对应于时间轴上的一个点,它在瞬间发生;所谓的原子性是指简单事件不能再被划分为其它的事件,它要么完全发生,要么完全不发生。复合事件是两个或多个简单事件的联合,它利用系统规则的事件操作符将这些简单事件联结起来,作为单个事件处理。构造复合事件的事件称为成员事件,成员事件既可以是简单事件,也可以是复合事件。 (2)条件 条件是对当前数据库状态或外部信号的查询。规则的条件可以是数据库查询语句,也可以是布尔表达式。数据库系统根据规则的条件判断返回的结果,决定是否执行规则的动作。 规则的条件可以有不同的分类、 角色和语境, 如表 2.1 所示。 表 2.1 规则条件的描述范畴 条件的分类 简单条件,统计条件,结构条件,时间条件,复杂条件 条件的角色 可选择方式,取消方式,强制方式 条件的语境 当前事务开始时的数据库 dbt,当前事务发生时的数据库 dbe,条件被评价时的数据库 dbc,动作执行时的数据库 dba 在条件的分类中,简单条件是指只与单个对象有关的条件,如字段值,外部输入等;统计条件是指涉及到多个对象的同一属性的统计结果的条件;结构条件是指与语义结构联系有关的条件;时间条件是指与时间限制有关的条件;复杂条件是指涉及多个对象的多个属性的条件,是各种条件构成的布尔表达式树,如简单条件和统计条件的逻辑综合。 国防科学技术大学研究生院硕士学位论文 第 10 页 (3)动作 动作是规则的最终目的,它是一系列操作,通常表示为数据更新操作或包含数据更新操作的过程。在 adbms 检测到相应规则的事件发生并评价其条件为真后,执行预先定义的动作。动作的描述范畴如表 2.2 所示。 表 2.2 规则动作的描述范畴 动作任务 数据操作,子功能调用,规则操作,取消,通知,外界操作,替代 数据访问范围 dbt,binde ,bindc ,dbe ,dbc ,dba 2.1.3 规则的执行模型 规则的执行模型是指规则的执行方式。它包括主动规则中个部件之间的耦合方式及其语义描述。规则的执行是与底层 dbms 密切相关的,其主要执行阶段如图 2.2 所示。 通知事件事件发生规则触发条件为真选中规则触发评价调度执行 图 2.2 规则执行的主要步骤 当系统中的某一事件产生源产生一个事件时,将该事件通知给系统。系统根据该事件触发相应的规则,事件及其联系的规则形成规则实例。然后评价规则的条件,条件为真的所有规则实例构成一个规则冲突集。系统在调度阶段对规则冲突集进行处理,然后选中规则并执行。 规则的执行模型用来规定在上述处理过程中规则集如何被系统处理。通常eca 规则执行模型具有表 2.3 中所示的几个重要属性2425。 表 2.3 执行模式的描述范畴 耦合模式 立即、延迟、分离 变迁粒度 元组、集合 循环策略 循环、递归 净效应策略 是、否 调度方式 并行执行、顺序执行、饱和执行、部分执行 错误处理 取消、忽略、回溯、预防 (1)耦合模式 耦合模式包括事件-条件(ec)和条件-动作(ca)两种耦合方式。ec 耦合决定产生触发事件后何时评价规则的条件, ca 耦合决定条件满足后何时执行规则的动作。常见的耦合模式有立即模式、延迟模式和分离模式三种。对于 ec 方式,立即模式表示事件出现后立即进行条件评价;延迟模式表示在出现事件的事务结束时进行条件评价;分离模式表示事件出现和条件评价处于不同的事务中。对于 ca方式,立即模式表示条件满足后立即执行动作;延迟模式表示在条件评价所处的事务结束时执行动作;分离模式表示条件评价和动作执行处于不同的事务中。 国防科学技术大学研究生院硕士学位论文 第 11 页 (2)规则粒度 规则粒度是指规则事件与所触发的规则之间的关系17。规则粒度受变迁粒度(transition granularity)与净效应策略(net effect policy)的影响2627。变迁粒度表明事件的发生与规则实例是一对一还是多对一的关系。如果变迁粒度为元组,则事件发生一次就出发一个规则;如果变迁粒度为集合,则事件发生多次只触发一个规则。净效应策略表明系统不考虑单个事件而是考虑多个事件发生的最终效果。例如,若一个实例先被更新后被删除,则净效应为实例删除。 (3)循环策略 循环策略是指当规则条件评价或动作执行过程中有事件发生时系统的处理方法。一般来说,有循环式和递归式两种循环策略。循环式是指一条规则的事件触发另外的规则时,前一条规则实例仍然执行,被触发的规则实例按照自身优先顺序执行。递归式是指一条规则的事件触发其它的规则时,前一条规则实例的执行事务被挂起,转而执行被触发的规则。系统通常为耦合模式为立即式的规则采取递归式的的循环策略。 2.2 空间空间数据数据模型模型 2.2.1 空间数据描述 空间数据是指用来描述空间对象的位置、形状、大小及其分布特征诸多方面的信息的数据,它可以用来描述来自现实世界的目标,具有定位、定性、时间和空间关系等特性。定位是指在指定的坐标系中,空间对象有唯一的确定的位置;定性是指空间对象有确定的跟它有关的自然属性;时间特性是指空间对象可能随时间而变化;空间关系是指空间对象的拓扑关系。 要素要素关系拓扑关系要素属性10.*要素操作10.*位置属性空间属性非空间属性时态属性 图 2.3 一般的要素模型 国防科学技术大学研究生院硕士学位论文 第 12 页 空间对象又称为空间实体或要素,是将现实世界的空间事物进行抽象得到的。要素具有空间特征、属性特征和时态特征2829,一般的要素模型如图 2.3 所示30。与要素模型相对应,在空间数据库中记录空间对象的空间数据包括几何数据、非几何数据和时态数据31。 几何数据是描述空间对象跟空间相关的特征的数据,包括空间对象几何特征、方位、度量和拓扑关系等。几何数据反映空间对象的空间位置及空间位置的关系。通常以坐标数据形式来表示空间位置,用空间拓扑信息来表示空间位置的关系。根据空间对象的几何特征,空间对象可以分为点对象、线对象、面对象和混合对象等类型。 非几何数据又称为属性数据或专题数据,是描述空间对象的实体特征的数据。它对空间实体进行语义描述,表示空间对象的类别、属性等。如一条道路的属性包括路宽、路名、路面材料、路面等级和修建时间等等。非几何数据表示空间实体的本质特征,是空间实体相互区别的准绳。通常通俗地说,几何数据告诉我们空间实体“长什么样” ,非几何数据告诉我们空间实体“是什么” 。 时态数据是空间对象的时间特征的数据。几何数据和非几何数据描述了空间对象的静态特征,而时态数据描述了空间对象的动态特征。通过时态数据,可以研究同一地理位置的地理现象的发展过程和规律。几何数据和非几何数据可以同时随时间变化,也可以分别独立随时间变化。如:某地的行政边界变更表示几何数据独立随时间变化;种植业变化表示非几何数据独立随时间变化;而土壤侵蚀引起的地形变化则是几何数据和非几何数据都随着时间变化。 空间数据的特点如图 2.4 所示。在空间数据的表示中,如果加上时间轴会极大地增加处理空间数据的难度。因此,通常情况下只是用时间属性来标注空间数据特征,以表示空间数据的时间性,也就是将时间特征隐含在数据当中。 几何数据坐标值 拓扑关系 非几何数据属性1 属性2 t1空间数据 间t2t3时 图 2.4 空间数据的特点 2.2.2 空间数据的分类 国防科学技术大学研究生院硕士学位论文 第 13 页 空间数据以矢量和栅格这两种最基本的模式进行表示和存储,空间数据类型的分类如图 2.5 所示32。 空间数据矢量数据地形库应用数据栅格数据伪空间数据街道地址字母数字数据扫描地图和航空相片基本地图地理编码转换矫正注册空间数据图层数字化 图 2.5 空间数据类型 在矢量模式中,最基本的空间数据单元是地理对象(geographic object) 。地理对象是可确认的分离的现实世界要素,用点、线、面来表示。在空间数据库中,矢量数据可以作为地形库(topographic base)的一部分来存储。地形库用来为数据收集和分析提供空间参照架构。地形库数据集中的数据包括所有可以在经典的地形图中找到的要素,如道路、河流、城区和植被等。矢量应用数据可以描述自然环境的状态(如环境保护区、森林资源库存、土地覆盖、空气和水质监测等) ,也可以描述人类在土地上的活动或土地利用情况 (如土地利用、 土地划分和登记等) 。 在栅格模式中,最基本的空间数据单元是栅格点(又称为像素) 。栅格点同时提供数据存储和地形参照功能,这是因为它既包含了所代表的空间对象的主题属性,又决定了空间对象在现实世界中的位置。栅格点的大小决定了分辨率的高低,而分辨率的高低决定了用栅格数据集表示现实世界要素的准确度。高分辨率可以提高表示现实世界的准确性,但会导致数据文件的增大。 除了上述空间参考数据外,还有其它格式的不能直接应用于空间应用的空间数据。这些空间数据称为伪空间数据(pseudo-spatial data) ,包括街道地址(如顾客数据库中的地址) 、字母数字地理数据(如区域人口普查的人口统计表和社会经济学数据) 、地图扫描影像和航空照片等。这些类型的伪空间数据或者直接描述了特定地理范围中现实世界要素的特征,或者跟这些要素的特性相关。然而,它们又不能在直接用于空间分析和显示,必须先经过地理编码、数字化、格式转换或坐标系注册。 国防科学技术大学研究生院硕士学位论文 第 14 页 2.2.3 空间关系的分类 空间关系是指空间对象之间存在的一些具有空间特性的关系,包括拓扑关系、方向关系和度量关系等,是空间数据组织、查询、分析和推理的基础33。拓扑关系是指对象间拓扑变换下的不变特征,如空间对象间的相离、部分覆盖等;方向关系用来描述空间对象在空间中的某种顺序关系,如南北、前后、上下等;度量关系是用某种度量空间中的尺度来描述的空间对象间的关系,如对象间距离等。 (1)拓扑关系 拓扑关系是指那些在拓扑变换(如平移、旋转、缩放)中保持不变的性质,它主要用于描述空间对象间的相邻、包含、重叠等关系。拓扑关系被广泛的应用于空间分析和空间查询条件中,因此对拓扑关系进行形式化定义有着非常重要的意义。拓扑关系表达方法中比较成熟的是四交和九交模型34。 (2)方向关系 方向关系是空间关系的重要组成部分,它描述了两个对象之间的空间位置关系。在日常生活中,方向关系通常是用“南、北
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北工业职业技术学院《制冷工程》2023-2024学年第二学期期末试卷
- 浙江艺术职业学院《黔东南少数民族文化专题》2023-2024学年第二学期期末试卷
- 淄博职业学院《英语技能测试》2023-2024学年第二学期期末试卷
- 赣南师范大学《钢筋混凝土结构设计D》2023-2024学年第二学期期末试卷
- 医院内部人流物流的分离设计策略
- 南京工业大学《综合英语:数理》2023-2024学年第二学期期末试卷
- 辽宁石化职业技术学院《高级写作》2023-2024学年第二学期期末试卷
- 护眼安全课件图片
- 重庆商务职业学院《树木学》2023-2024学年第二学期期末试卷
- 沈阳航空职业技术学院《基里尔蒙古文》2023-2024学年第二学期期末试卷
- 科技论文写作 第2版 课件 第1-5章 科技论文写作概述-英文科技论文的写作
- 军事研学训练营行业跨境出海项目商业计划书
- 法律职业伦理试题及答案
- 2025年苏教版数学小学四年级下册期末真题及答案(七)
- 2024珠海农商银行社会招聘笔试历年典型考题及考点剖析附带答案详解
- 车间物料员员试题及答案
- 锚杆锚固质量无损检测技术规程
- 百香果购销合同协议
- 老年痴呆健康知识讲座课件
- 蔚来:2024年环境、社会及公司治理报告(ESG)
- 2025年中考语文二轮复习:散文阅读 专题练习题(含答案)
评论
0/150
提交评论