




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
空间数据虚拟化的实现技术研究方金云中国科学院计算技术研究所 北京 100080摘要:空间数据库是国家基础设施的重要组成部分。但是由于空间数据的异构性、商业性和垄断性使空间数据的共享造成困难。本文提出了基于数据消费者、数据提供者和数据注册中心三种角色的虚拟空间数据库的概念,并阐明其多层体系结构,分析了其存在的数据异构和位置透明二个关键问题,并提出了数据模型同构化技术、空间数据引擎技术、并行事务处理技术、数据动态绑定技术等六个方面的实现技术,它们在织女星虚拟空间数据库软件中得到实现。关键词:虚拟空间数据库 数据异构 并行事务处理 动态地址绑定 数据注册 织女星地理系统Abstract: Spatial Database is one of the important part in national spatial infrastructure. However spatial data sharing is very difficult since heterogeneity , productiveness and monopoly of the spatial data model . Virtual spatial database is proposed in this paper , in which three roles are divided into data provider , data consumer and data register, in order to improve the efficiency and security of the geo-informatics, and make spatial data better server for economics construction and social development. The 3 layers architecture and key implementation techniques , which is data model homogeneity ,spatial data engine, parallel transaction processing and dynamic address binding of the spatial database are expounded in this paper, which is adopted in the VegaSDB1. 引言作为占有人类数据80%以上的空间数据1,不仅是国家的战略资源,也是人类共有的财富。目前,世界上已经有5400多个大型空间数据库在运行2,并且已有20多个国家制定了相应的空间数据共享管理政策,国际空间数据组织利用国际互联网,相继构建了世界天气监测网、全球资源信息数据库、国际灾害信息资源网络和国际海洋资料交换系统等,初步形成了全球尺度的空间数据交换体系。中国作为一个发展中大国,要想全方位、高层面地参与全球合作和竞争,就必须加强国家空间基础设施建设。为此,实施空间数据共享,尽快形成良好的空间数据处理和服务环境,是有效支撑我国持续增强的空间竞争能力和发展水平的必备条件。然而,虽然国内许多组织和单位都在生产空间数据,日趋完善的数据标准为空间数据共享也提供可能,但因数据库技术不断发展,多种数据库系统(层次、网状、关系、对象关系及面向对象数据库系统)长期共存是客观现实;异构空间数据模型(拓扑模型、要素模型)联合使用是不争事实。另外,同一种数据库管理系统也具有不同版本。所以,在网络环境下,数据异构性的现象会长期存在下去。在数据库领域解决不同数据库之间的互操作问题采用分布式数据库技术3。利用异构同化,同构整体化的思想,实现了分布式多空间数据库系统4。本文提出了虚拟空间数据库的概念,并讨论了虚拟空间数据库系统的角色、体系结构、关键技术以及实际应用。2. 虚拟空间数据库及其数据角色2.1. 虚拟空间数据库虚拟空间数据库就是将物理上分布的各个空间数据库形成一个全局唯一的数据视图,但各数据库具有自治性,并保有自己的应用特性、完整性控制和安全性控制。对用户屏蔽数据库的异构和位置的透明。虚拟空间数据库既不是联邦数据库也不是分布式数据库。2.2. 数据角色在虚拟空间数据库中,空间数据在逻辑上可以分为三种角色(图1):数据消费者、数据提供者和数据注册中心。数据注册中心数据消费者发布数据请求查找数据提供GML数据描述数据通道数据提供者事务分解图1. 虚拟空间数据库逻辑结构数据消费者是一个应用程序或一个软件模块。它发起对注册中心中的数据查询和数据请求;数据消费者根据接口契约来执行任务。从体系结构的角度看,数据消费者使用数据的过程是寻找并调用服务器,或启动与之交互的应用程序;数据消费者角色可以由浏览器来担当,由人或无用户界面的进程来控制它。传统上,它称为“客户端”。对数据消费者而言数据是“集中”的。数据提供者是一个可通过网络寻址的实体,它接受和执行来自注册中心的请求,并将结果通过数据通道返回给数据消费者;数据提供者可以是一组同构或异构空间数据库;它必须将自己的数据和接口契约发布到数据注册中心,以便数据消费者可以发现和访问该数据;从企业的角度看,这是数据的所有者。从体系结构的角度看,这是数据库服务器。对数据提供者而言数据是分布在自己的手中,如果要提供给用户使用就必须将数据“发布”到数据注册中心中,从而形成一个虚拟空间数据库。数据注册中心是一个元数据库和接口契约框架,也称数据代理(Data Broker),它允许数据消费者查找数据提供者发布的数据和接口契约;是可搜索的数据描述注册中心,数据提供者在此发布他们的数据描述;在执行期间,数据消费者查找数据并获得数据的在数据描述中的绑定信息。数据注册中心还要接受数据消费者的数据请求,并将该请求分解为多个事务并通过数据引擎直接驱动各数据提供者,同时监控事务的完成情况。3. 虚拟空间数据库的体系结构软件体系结构定义了组成系统的计算构件和构件之间的相互作用关系,它为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系。要实现分布数据的全局统一,或者是集成,就必须有一个逻辑的“数据库”,所有数据的查询通过这个数据库来进行,所以虚拟空间数据库是一个逻辑上三层的数据库系统。即各个分布的数据库系统构成数据提供者,由数据引擎和元数据管理工具组成的数据注册中心和由各客户端构成的数据消费者三层逻辑结构组成(图2)。消息中间件数据消费者数据提供者数据注册中心消息中间件数据库n。数据库1空间数据引擎(CoSDE)元数据表管理空间数据引擎(CoSDE)图2 织女星虚拟空间数据库体系结构空间元数据表里登记了各空间数据库的地址信息、访问信息、数据模型、数据表结构及相互关系。数据注册中心包括空间数据引擎,全局数据管理器,分布式事务管理工具。全局数据管理器包括元数据表管理和专题管理。4. 主要实现技术实现虚拟空间数据库需要解决的两个关键问题是数据异构性和数据位置透明性。数据异构性包括四个方面:(1)计算机体系结构的异构 数据库系统可以运行在大型机、小型机、工作站、PC或嵌入式系统中,形成数据库系统的异构。 (2)操作系统的异构 各数据库系统的操作系统可以是Unix、Windows NT、 Linux等。 (3)数据库系统的异构 可以是关系型数据库系统的Oracle、 SQL Server等,也可以是不同数据模型的数据库,如关系、模式、层次、网络、面向对象等数据库共同组成的异构数据库系统。 (4)数据模型的异构 不同的空间数据模型建立的数据库,如基于拓扑关系的数据模型,基于要素的数据模型,不同的标准下的数据模型等。数据库位置透明是实现全局视图的关键,主要包括二个方面:(1)分布式事务处理将一个独立事务分解为多个事务,联合执行。(2)屏蔽数据地址将各个数据表在网络中的位置,进行屏蔽。实现技术主要包括用于解决数据异构的数据模型同构化技术、数据引擎技术、数据模型注册技术;用于屏蔽位置的数据地址动态绑定技术,和用于提高数据库效率的并行事务处理技术等。4.1. 空间数据模型同构化技术数据库转换工具可以实现不同数据库系统之间的数据模型转换,但对于空间数据模型,不同数据支持程度差别很大,另外如果数据库转换同时进行数据定义模式转换和数据转换,就可能引起同一数据集合在异构数据库系统中存在多个副本。如果数据库转换只进行数据模型转换,不产生数据的副本,那么在新的目的数据库定义模型的框架下访问数据,实现上仍是对源数据库系统中数据的访问。这时利用新的数据库系统中的数据处理语言实现的事务,不能直接访问源数据库,必须进行事务级的翻译才可以执行。4.2. 数据模型标准 SDTS 提供了一个转换和存取空间数据的标准,它不依赖任何一种特定GIS软件格式,利用头文件描述格式的方式使得数据提供者不必专门提供格式说明,而数据消费者也不必专门学习该格式,只需读取SDTS头文件就可获得数据提供者提供的数据格式。利用SDTS做数据标准,利用OGC作数据互操作的标准,也就是说利用SDTS提供的数据格式的头文件,利用OGC标准提供的读写这个头文件的标准方法,空间数据引擎按照SDTS存取空间数据,按照OGC标准对数据消费者提供操作接口,是空间数据同构化的理想模式。4.3. 空间数据引擎和查询语言解析在异构数据系统中实现了数据的透明访问,用户就可以将异构分布式数据库系统看成普通的分布式数据库系统,用自己熟悉的数据处理语言去访问数据库,如同访问一个数据库系统一样。但目前还没有一种广泛使用的数据定义模型和数据查询语言,实现数据的透明访问需要采用数据引擎技术。数据引擎是数据库接口适配技术、并行事务处理技术、执行引擎等技术的综合体。开放式数据库互连(JDBC)是一种用来在相关或不相关的数据库管理系统中存取数据的标准应用程序接口(API)。它是解决数据库接口适配的主要技术之一,为数据消费者提供了一套高层调用接口规范。目前,多数数据库管理系统(如:Oracle、Sybase、SQL Server等)都提供了相应的JDBC驱动程序。JDBC接口的最大优点是其互操作能力,理想情况下,每个驱动程序和数据源应支持完全相同的JDBC函数调用和SQL语句,使得JDBC应用程序可以操作所有的数据库系统。然而,实际上不同的数据库对SQL语法的支持程度各不相同,对空间查询语言GSQL的支持程度更弱,因此,空间数据引擎要有对查询语言的解析能力。 4.4. 并行事务处理技术数据消费者的任何请求都要启动一个事务进行处理,首先对用户请求进行语言分析,然后根据绑定的数据表地址,将任务划分为多个子事务,经过优化生成执行计划,然后对任务进行调度,最后将各子任务发送到后端各个数据库节点并行执行。在实现中需要用户管理器、任务调度器、并行器和任务管理器四个功能部件:(1)用户管理器每当用户向系统发出一个登陆请求,就为该用户生成一个用户管理器。以后用户就直接与这个用户管理器进行交互。用户管理器负责接收用户的GSQL语句和对语句进行执行前的预处理。用户管理器首先对语句进行语法分析,得到一棵语法树;接着对语法树进行语义检查,如果语句中还包括视图,还要对视图进行转换;然后对语句进行查询优化,将语法树转化为一个优化的顺序查询执行计划(操作符树);最后将顺序执行计划交给任务调度器进行调度执行。(2)任务调度器和并行器任务调度器对来自于不同用户的执行计划进行统一的调度执行。首先任务调度器把顺序执行计划划分为多个任务,任务是执行调度和资源分配的基本单位。系统为每个任务赋予一个ID ,因此根据事务ID和任务ID可以唯一标识系统的一个任务。同一计划中的任务往往存在着一定的偏序关系,即某些任务必须等待其它任务执行结束后方可运行。任务调度器根据系统当前的资源使用情况从这些任务中挑选出若干可以最优地 利用资源的任务,调用并行器对选中的任务进行并行化,得到任务的若干并行执行计划。最后,任务调度器为每个任务生成一个任务管理器,将任务的并行执行计划交给任务管理器处理。(3)任务管理器任务管理器负责监视一个任务的执行。它根据并行执行计划将其中的数据操作发送到后端执行引擎的相应结点上执行。最后将执行引擎产生的执行结果或错误信息返回给任务调度器,任务调度器再返回给用户管理器,由用户管理器将最终结果返回给用户。实际上,如果用户过多或者事务速率太高,主结点负载过重,可以把用户管理器随意地迁移到后端结点上执行,这实际上在一定程度上实现了查询优化本身的并行。4.5. 后端执行引擎后端执行引擎接收任务管理器发送来的任务,执行任务中包含的数据操作,最后将结果返回到任务管理器。后端执行引擎由一个或多个结点组成。执行引擎的本质工作是对存储在磁盘上的数据进行高效的并行加工处理。这种处理过程需要充分利用系统中的CPU、主存、磁盘I/O、网络通信等多种资源。织女星虚拟空间数据库(VegaSDB)设计了虚拟处理机(Virtual Processor)、虚拟数据总线(Virtual Data Bus)、虚拟主存(Virtual Memory)这三种构件来分别管理这些资源,在通用硬件平台上形成一个软件抽象层,称其为虚拟数据库机(Virtual Database Machine)。虚拟处理机管理系统的CPU资源,执行各种数据操作;虚拟数据总线负责操作间数据和消息的传输和控制,构成整个系统的联系枢纽;虚拟主存提供符合数据处理特点的存储和缓冲机制。4.6. 数据动态绑定与注册技术将各数据库中的数据表的元信息进行统一管理,在数据查询时通过元数据表可以直接确定数据库的位置,从而屏蔽数据库位置。数据注册技术中包括两个重要技术
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑龙江省齐齐哈尔克山县联考2025届数学七下期末监测模拟试题含解析
- 城市交通与城市规划发展趋势研究重点基础知识点
- 美术教学资源开发与利用计划
- 深度解析的VB考试试题及答案
- 企业风险评估的总结与对策计划
- 生产计划应对外部环境变化的策略
- 2024年江苏省科学技术厅下属事业单位真题
- 经验分享提升软件设计师考试成功率的试题及答案
- 2024年洛阳市中小学教师招聘笔试真题
- 学习习惯养成指导计划
- 智慧果园生产管理系统-培训
- 三年级数学下册计算题大全(每日一练共18份)
- 2024年高级卫生专业技术资格考试传染性疾病控制(087)(副高级)复习试题及解答
- EDI工程手册中文
- 高二语文九日齐山登高省公开课金奖全国赛课一等奖微课获奖课件
- 2024年四川省成都市中考地理+生物试卷真题(含答案解析)
- 食品工程系畜产品加工技术教案
- 入股合作的协议书(2024版)
- 广东省深圳市南山区2023-2024学年七年级下学期期末英语试题
- 福建省宁德市霞浦县2024届九年级上学期期中阶段性训练数学试卷(含答案)
- 2024年广东清远市“人才引育”工程专项事业编制高层次人才招聘31人历年【重点基础提升】模拟试题(共500题)附带答案详解
评论
0/150
提交评论