一种空间数据集群存储系统及其数据查询方法

文档序号:6573036阅读:263来源:国知局
专利名称:一种空间数据集群存储系统及其数据查询方法
技术领域
本发明属于通信技术领域,特别涉及一种空间数据集群存储系统及其数据查询方法。
背景技术
对空间数据进行合理的利用和管理可以提高生产率,这已成为科学家、管理人员以及商务专家的共识,但是人类生活中80%数据都与空间数据有关所导致的空间数据的海量特性以及空间数据与其他形式的数据相比自身具有的结构复杂、相互之间关系复杂等特征使得人们越来越认识到空间数据存储与管理的特殊性和重要性。近年来,随着数字地球和数字城市等概念和系统原型的开发,空间数据在存储和管理方面出现了新的发展趋势。例如以构建数字地球系统为例,1米分辨率影像覆盖广东省,大约有1TB的数据,而广东才是中国的1/53,如果要建立起中国的数字地球,仅仅影像数据就有53TB,这还只是一个时刻的,多时相的动态数据,其容量甚至可以高达PB级。海量空间数据的增长由量变将会引起的质变,对空间数据的存储与管理提出了新的挑战。随着TB级乃至PB级空间数据库越来越频繁在空间应用中出现,空间数据的这种量变使空间数据库的处理性能和扩展性成为解决大型空间应用所迫切需要解决的首要问题。目前的解决方法,通过并行数据库来提供高性能和可扩展性,但是并行数据库价格昂贵、结构复杂和管理困难,虽然并行数据库已经有二十多年的历史,但是仍然不能得到推广,现有通信技术领域尚未出现有效的替代方案。

发明内容
本发明目的在于解决现有技术不足,提供海量空间数据的存储管理方案。
为实现上述目的,本发明提供的空间数据集群存储系统,包括以下组成部分包括以下组成部分,空间应用客户端,用于为空间应用接入系统提供接口服务;空间对象管理器,用于编译、解析空间查询语句,分解查询任务以及管理空间对象存储设备集群;空间对象存储设备集群,用于TB级或TB级以上海量空间数据的存储,提供并行的数据传输和并行的查询处理能力;所述空间对象存储设备集群由多个空间对象存储设备组成,空间对象存储设备用于实现具有数据库意识的存储,提供空间数据对象粒度存取访问,提供空间查询处理和索引的能力。
而且,空间对象存储设备中的空间对象存储结构包括对像ID、长度、属性个数、属性向量、属性偏移向量和属性值。
而且,空间应用客户端由空间应用接口、对象缓冲区管理器和远程过程调用组成。
而且,空间对象管理器由空间查询语句解析器、查询优化器、空间数据划分器、空间对象目录库和远程过程调用组成。
而且,空间对象存储设备集群由多个空间对象存储设备组成,空间对象存储设备内建对面向对象的空间数据模型的支持,并支持数据库系统的并发控制、日志与恢复管理和索引机制功能。
而且,空间对象存储设备内建的面向对象模型包括提供点、线、面和复杂几何体的抽象数据模型,针对基于对象关系模型建立的空间数据表实现表到空间对象存储设备中的集合对象的映射,表中的元组映射为空间存储对象。
本发明还提供了上述空间数据集群存储系统的数据查询方法,其过程是空间应用接入系统将请求发给空间应用客户端,空间应用客户端将查询请求通过RPC机制传递至空间对象管理器,空间对象管理器负责解析和编译查询请求,制定查询计划并分发至空间对象存储设备集群中的空间对象存储设备,各空间对象存储设备将结果并行传输至空间对象管理器,空间对象管理器整理查询结果提交给空间应用客户端,空间应用客户端再返回至空间应用。
本发明基于对象存储设备及其集群理论构造了空间数据集群存储系统(Geospace Object Store,GOS),并实现空间数据在对象存储设备中的组织方式,提供了一种具有低花费、高性能、高可用性和高可扩展性的空间数据存储与管理方案。本发明的空间数据集群存储系统能够适应空间数据海量增长的发展趋势,引入了对象存储具有的优良特性,遵循存储设备智能化与网络化的应用趋势,从存储的体系结构角度解决了海量空间数据的存储管理问题。并且设计了存储空间数据的数据组织结构,通过扩展对象存储设备用户对象,使其具有空间语义来实现空间存储对象,是空间数据这类结构复杂类型的数据存储最佳形态。本发明还提供了空间数据集群存储系统的数据查询方法,解决了用户从空间数据集群存储系统提取数据的需求,完善了从存储到提取数据的过程,。


图1是本发明中空间数据集群存储系统结构图;图2是本发明中系统的查询数据处理流程图;图3是本发明实施例空间应用客户端结构图;图4是本发明实施例中空间对象管理器结构图;图5是本发明实施例中空间对象存储设备结构图;
图6是本发明的空间对象存储结构。
具体实施例方式
参见附图1,本发明提供的空间数据集群存储系统,包括以下组成部分空间应用客户端1,用于为空间应用接入系统提供接口服务;空间对象管理器2,用于编译、解析空间查询语句(一般采用空间SQL语句),分解查询任务以及管理空间对象存储设备集群;空间对象存储设备集群3,用于TB级或TB级以上海量空间数据的存储,提供并行的数据传输和并行的查询处理能力。所述空间对象存储设备集群3由多个空间对象存储设备(sosd1、sosd2…sosdn)组成,空间对象存储设备用于实现具有数据库意识的存储,提供空间数据对象粒度存取访问,提供空间查询处理和索引的能力。以上各部分之间建立网络连接,如果具体实施时采用千兆交换机,所述空间对象存储设备集群3中可设置的空间对象存储设备数目n为10个,万兆交换机可以提供上百个接点,可设置的数目相应提高。本发明的技术方案主要针对TB级~PB级海量空间数据的存储管理,但更高级别的数据量也可采用此方法。
基于对象的存储(Object-based Storage,OBS)是存储领域研究的一个新热点,被人们称为下一代的存储系统,具有高性能、高扩展、高可用和高安全等特性。对象存储源于存储设备智能化和网络化的发展理念,充分融合NAS(网络附加存储设备)和SAN(存储区域网络)两种存储方式的优点,在存储设备中利用内部CPU的处理能力来直接支持结构化数据的存储,以减少服务器的工作负载,提高系统的可用性。存储设备以存储对象为基本数据单元并以对象为设备接口,存储对象是可变长的,可以动态的扩大和缩小,对象接口具有文件接口和块接口两者的特征。存储设备具有的这些特征导致了存储系统结构性的改变,一方面是存储系统的管理如文件系统或数据库系统功能在服务器和存储设备上得到重新划分,使上层更集中于数据操作的管理,将存储管理工作下移到存储设备上,提高上层数据操作处理的效率;另一方面因为提供对象粒度的数据共享,使数据通路和控制通路分离,使得多个对象存储设备能够组成集群存储系统,提供海量的存储空间和并行的数据传输机制。对象存储支持的变长数据的存储和动态的缩小与扩大特性,适合空间数据这类结构复杂类型的数据的存储,同时具有的可扩展性、高性能特点能适应空间数据的海量增长的需要。
基于对象存储的思想是利用存储设备的智能性,使数据存储的部分管理功能下移到存储设备,同时改变存储接口,使存储设备上管理的不再是数据块和文件,而是具有文件和块两者特征的存储对象,存储设备接口从传统的文件或者块演变为存储对象接口。接口的改变,使得上层应用可以将更多的语义信息下放到存储设备上,有利于存储设备更好的组织空间,为上层应用提供更好的服务,同时也使得上层应用可以将更多的处理功能下放到存储设备上。借鉴对象存储的思想,本发明做以下扩充将空间语义信息下放到存储设备上,使得存储对象是具有空间语义信息的空间对象;利用基于对象存储设备(OSD)具有的智能性,将数据库服务器上的部分功能下放到基于对象存储设备上,使得数据库服务器的功能得到重新划分,数据库服务器专注于空间查询的优化处理工作;利用对象存储系统具有的可扩展性特点,实现空间对象的集群存储,提供并行的空间数据查询处理能力,解决海量空间数据的存储问题和处理效率问题。本发明的技术方案是一种新的海量空间数据存储管理思路建立了具有数据库意识的存储系统,存储设备不再是块数据的容器,也可以用于提供满足上层数据库需要的一些功能。并且空间对象存储设备提供空间数据对象粒度而不是块粒度的存取访问,在存储设备上提供空间查询处理和索引的能力,使得数据处理工作更靠近数据,减少了网络的数据传输量。
参见图2,提供了本发明提供了空间数据集群存储系统的数据查询方法,空间数据查询处理过程由以下几步组成,空间应用接入系统将请求(Query)发给空间应用客户端1,空间应用客户端1将查询请求通过RPC机制传递至空间对象管理器2,空间对象管理器2负责解析和编译查询请求,制定查询计划并分发至空间对象管理器集群3中的空间对象存储设备(sosd1、sosd2…sosdn),各空间对象存储设备(sosd1、sosd2…sosdn)并行执行查询计划,将结果(Result)并行传输至空间对象管理器2,空间对象管理器2整理查询结果提交给空间应用客户端1,空间应用客户端1再返回查询结果至空间应用接入系统。具体实施时,若要求查询响应速度,也可以由空间对象存储设备(sosd1、sosd2…sosdn)将结果直接传输至空间应用客户端1,而不经空间对象管理器2进行回送转发。
在图3、4、5中,根据本技术领域习惯按层次提供了空间数据集群存储系统各部分的构成以便实施参见图3,本发明实施例中的空间应用客户端1主要包括空间应用接口、对象缓冲区管理器、远程过程调用。空间应用客户端1主要负责为空间应用(如GIS等)提供访问空间数据集群存储系统接口,其空间应用接口部分将空间查询提交至空间对象管理器2并接收来自空间对象管理器2的查询结果数据返回给空间应用。空间应用客户端1提供页缓冲管理机制,其对象缓冲区管理器部分缓冲包含从空间对象管理器2中获取的查询结果页面并充当本地空间应用进程的代理,本地空间应用将空间查询请求发给空间应用客户端1,空间应用客户端1通过RPC将请求发送给空间对象管理器2,获取查询结果返回给空间应用。空间应用客户端1具体实施时可通过改进Shore server实现,将Shore server中的SVAS(shore的插值服务端)实现为一个空间查询语句解析器(空间查询语句采用SQL语句时,相应采用GSQL server),其远程过程调用部分为后端提供一个传递SQL语句的接口。此处后端是指由空间对象管理器2和空间对象存储设备集群3组成的空间对象存储管理部分。注明本发明所用shore是一种目前本领域常用开源项目,具体实施时可参见http://www.cs.wisc.edu/shore/。
参见图4,本发明实施例中的空间对象管理器2主要包括GSQL解析器、查询优化器、空间数据划分器、空间对象目录库和远程过程调用。因为系统内各部分之间建立网络连接进行信息传递,因此实施时各部分都设置相应远程过程调用部分和网络连接实现部分,可以采用已经广泛使用的TCP/IP网络。为了在系统内进行数据处理,空间对象管理器2将面向对象的数据库管理系统中的功能进行重新划分,下移数据的存储管理功能至空间对象存储设备集群3上,同时利用空间对象存储设备集群3的智能处理能力和对象接口特性将查询处理的执行下放到存储设备上。空间对象管理器2将数据库服务器的存储管理、查询的执行、事务管理和并发控制功能下放到空间对象存储设备(sosd1、sosd2…sosdn)上,空间对象管理器2主要负责查询编译和查询计划的分解,并记录空间对象在多个空间对象存储设备(sosd1、sosd2…sosdn)上分布的目录信息,为空间查询计划的制定提供全局信息。
空间对象管理器2接收来自用户的请求,通过GSQL解析器将查询处理操作分解到多个空间对象存储设备(sosd1、sosd2…sosdn)上并行执行,其处理过程如下空间对象管理器2接收空间应用客户端1发送的查询请求,交给查询优化器实施语法分析、语义检查、查询优化(生成最优的执行规划)和代码生成(生成可执行代码)。查询优化器对各种执行策略进行比较,既考虑并行度的大小,也考察通信量和I/O开销,且充分利用多个空间对象存储设备的空间对象数据分区信息,最终选用最小代价的查询规划。具体实施时,查询优化器可基于Opt++实现,通过Opt++对具有空间谓词和点、线和面等抽象数据类型的GSQL语句进行编译,并实现查询请求分解,生成多个子请求,最后通过底层通信子系统向有关空间对象存储设备发送子请求。底层通信子系统采用Sun PRC实现。注明Opt++是一个面向对象的非线形优化库,具体实施可参见http://csmr.ca.sandia.gov/opt++/。SUN RPC是SUN公司开放的远程调用库,已经成为远程过程调用实现一种公认的实施方案。
空间对象信息库,记录空间对象存储设备集群3上空间对象分布的全局信息,如空间对象名、对象的ID号、对象存放的空间对象存储设备IP地址和对象的长度等信息,由多个空间对象形成的表关系信息、表中各字段的属性信息和点、线和面等的抽象数据类型信息,空间对象信息库由LDAP server来实现。注明LDAP是轻量级目录访问协议,LDAP server在操作系统内一般都内建支持,可以直接搭建。
空间数据划分器,实现空间数据表中空间对象在多个空间对象存储设(sosd1、sosd2…sosdn)备上的数据划分,本发明具体实施时可实现多种数据划分算法,针对一般属性的哈希算法Hash和轮叫算法Round-robin,并针对空间数据的几何属性实现了基于Hibert曲线数据划分算法。
本发明实施例中的空间对象存储设备集群3由多个空间对象存储设备(sosd1、sosd2…sosdn)采用集群方式实现。参见图5,空间对象存储设备具体实施时可由OSD扩展结构实现对象接口和对象存储管理是由OSD设备已实现的部分,经扩展在存储设备上实现对数据库系统的事务管理(并发控制在事务管理里实现,是事务管理的功能模块之一)、日志与恢复管理和空间索引机制的支持。具体实施时可通过改造shore的Storage Manager来实现,将Storage Manager中的卷管理替换为OSD中的对象存储服务模块实现,保留其事务管理、日志与恢复管理和B+和R*索引机制。空间对象存储设备集群3接收空间对象管理器2的执行命令,查找对象缓冲区里是否存在查询处理所需的空间对象,存在则直接处理并将处理结果提交给空间对象管理器2,否则根据对象ID从设备上读取所需对象数据进行处理。在进行空间查询处理过程,利用空间对象存储设备(sosd1、sosd2…sosdn)上提供的B+和R*索引机制提高空间选择、空间投影、空间连接和分组等操作的执行效率。子请求执行接口是空间查询执行的函数库,提供空间选择、空间投影、空间连接和分组功能。存储介质是空间对象存储设备的最低层,主要指磁片或磁带。
在OSD中,基本的存储类型是用户对象,用户对象是存放用户数据的容器,所用用户对象都是通过分组存放在分区对象中(partition object),分区对象负责寻址、磁盘配额管理和用户对象的安全管理,每个用户对象仅仅属于一个分区对象。为了便于对用户对象进行快速索引和多个用户对象的操作,一个分区对象下,可以建立多个集合对象(collection object),将分区对象下的用户对象进一步分组。集合对象是一个逻辑概念,并不指物理上一组用户对象的聚集,而是通过指针实现多个用户对象的集合。根据OSD的这种层次结构特征,本发明将空间数据表映射为集合对象,表中的空间数据元组映射为空间对象。空间对象通过扩展OSD中用户对象,使其具用空间语义,其实现分两步实施,首先建立元对象区,元对象区存放支持的数据类型的结构定义和描述,包括int、float、char、string等基本数据和点、线、面和复杂几何体这些抽象空间数据类型的结构定义,同时还存放空间数据关系表的表模式。空间数据类型遵照OGC规范实现。这些元对象也由OID进行唯一标识。第二步,按照T10/OSD草案,在OSD对象存储设备中基本的存储单元用户对象是一个无结构的数据块,而在本发明的空间对象存储设备中,基本的存储单元是有结构的空间对象。注明OGC,The Open GeospatialConsortium;T10/OSD指T10技术委员会的OSD标准,参见http://www.t10.org/。
参见图6,本发明设计空间对象存储设备中的空间对象的存储结构包括OID,长度,属性个数,属性向量,属性偏移向量,属性值。OID是对象的ID,在SOSD中根据对象的OID进行空间的访问,长度代表整个空间对象的存储长度,属性个数存放空间对象属性的个数,属性向量存放空间对象各个属性类型的OID,属性偏移向量存放每个属性值的起始偏移位置,属性值存储区存放空间对象中各属性的值。
权利要求
1.一种空间数据集群存储系统,其特征在于包括以下组成部分,空间应用客户端,用于为空间应用接入系统提供接口服务;空间对象管理器,用于编译、解析空间查询语句,分解查询任务以及管理空间对象存储设备集群;空间对象存储设备集群,用于TB级或TB级以上海量空间数据的存储,提供并行的数据传输和并行的查询处理能力;所述空间对象存储设备集群由多个空间对象存储设备组成,空间对象存储设备用于实现具有数据库意识的存储,提供空间数据对象粒度存取访问,提供空间查询处理和索引的能力。
2.如权利要求1所述的空间数据集群存储系统,其特征在于空间对象存储设备中的空间对象存储结构包括对像ID、长度、属性个数、属性向量、属性偏移向量和属性值。
3.如权利要求1或2所述的空间数据集群存储系统,其特征在于空间应用客户端由空间应用接口、对象缓冲区管理器和远程过程调用组成。
4.如权利要求1或2所述的空间数据集群存储系统,其特征在于空间对象管理器由空间查询语句解析器、查询优化器、空间数据划分器、空间对象目录库和远程过程调用组成。
5.如权利要求1或2所述的空间数据集群存储系统,其特征在于空间对象存储设备内建对面向对象的空间数据模型的支持,并支持数据库系统的并发控制、日志与恢复管理和索引机制功能。
6.如权利要求5所述的空间数据集群存储系统,其特征在于空间对象存储设备内建的面向对象模型包括提供点、线、面和复杂几何体的抽象数据模型,针对基于对象关系模型建立的空间数据表实现表到空间对象存储设备中的集合对象的映射,表中的元组映射为空间存储对象。
7.一种如权利要求1或2所述的空间数据集群存储系统的数据查询方法,其特征在于空间应用接入系统将请求发给空间应用客户端,空间应用客户端将查询请求通过RPC机制传递至空间对象管理器,空间对象管理器负责解析和编译查询请求,制定查询计划并分发至空间对象存储设备集群,空间对象存储设备集群的多个空间对象存储设备并行执行查询计划,将结果并行传输至空间对象管理器,空间对象管理器整理查询结果提交给空间应用客户端,空间应用客户端再返回至空间应用。
全文摘要
本发明属于通信技术领域,特别涉及一种空间数据集群存储系统及其数据查询方法。本发明提供的空间数据集群存储系统,包括以下组成部分,空间应用客户端,用于为空间应用接入系统提供接口服务;空间对象管理器,用于编译、解析空间查询语句,分解查询任务以及管理空间对象存储设备集群;空间对象存储设备集群,用于TB级或TB级以上海量空间数据的存储,提供并行的数据传输和并行的查询处理能力;所述空间对象存储设备集群由多个空间对象存储设备组成,空间对象存储设备用于实现具有数据库意识的存储,提供空间数据对象粒度存取访问,提供空间查询处理和索引的能力。本发明提供了具有低花费、高性能、高可用性和高可扩展性的空间数据存储与管理方案。
文档编号G06F17/30GK101038590SQ20071005186
公开日2007年9月19日 申请日期2007年4月13日 优先权日2007年4月13日
发明者喻占武, 郑胜, 李忠民, 潘少明, 李锐, 胡滨 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1