一种基于对象存储的地形数据存储方法

文档序号:6573029阅读:247来源:国知局
专利名称:一种基于对象存储的地形数据存储方法
技术领域
本发明属于海量空间信息存储管理领域,特别是涉及一种基于对象存储的地形数据存储方法。
背景技术
随着空间探测技术的快速发展,地形数据(DEM和纹理数据)获取的数量正以前所未有的速度增长,大规模甚至超大规模的三维地形实时漫游系统的应用越来越广泛,如数字地球、大规模军事仿真等,这类系统除了对地形绘制的效率上有很苛刻的要求,需要高效的地形绘制算法和数据调度策略外,同时它属于数据密集型的应用,对存储系统在存储容量、I/O性能(带宽、吞吐率、响应时间)也有更高的要求。国内外学者针对地形的实时绘制,开展了大量的研究工作,并取得了突破性的进展,如视点相关的自适应层次细节化技术(LOD)和可见性剔除等技术,有效的提高地形绘制的效率,但是海量地形数据的存储和管理方面的研究工作还比较少,根据“木桶原理”,系统的存储瓶颈直接制约系统整体性能的提高,进而影响地形漫游的效果。
本发明可以举出具体数据来说明地形数据存储技术面临的巨大困难大规模的地形实时漫游系统需要的存储空间巨大,以网格间距为3秒为例,全球的DEM数据以短整型(双字节)存储,那么全球的数据量就达到432000*216000*2字节的规模,约合173G的数据,1米分辨率覆盖中国的DOM数据高达53TB,全球的数据将高达PB级,单机系统无法满足存储容量的需求,同时根据虚拟现实技术中满足人类视觉效果的两个指标参数,帧率达到10帧以上,响应时间应小于0.1秒,最多不应超过1/4秒,地形漫游系统对存储系统要求吞吐率达到300M-400Mb/s以上,并尽可能支持更多的并发户访问数。
面对地形实时漫游系统对存储容量和性能不断增加的需求,大规模的地形漫游系统需要一种高性能的存储方式。

发明内容
本发明目的在于解决现有技术不足,提供一种能够改善大规模实时漫游系统运行效率的地形数据存储方法。
为实现上述目的,本发明提供的基于对象的地形数据存储方法是将地形数据及其属性数据组织成地形存储对象存储在基于对象存储系统中,相邻或相近地形数据瓦片的地形存储对象分布于基于对象存储系统内的不同基于对象存储设备。
而且,地形存储对象由地形数据块和地形对象属性组成,地形对象属性包括对象存储属性和地形存储属性。
而且,采用矢量基对存储策略实现地形存储对象分布存储,实现过程如下,a)地形数据被水平和垂直网格线划分成N1*N2个瓦片,将瓦片的地形数据及其属性数据组成地形存储对象,瓦片记为(tx,ty),其中0≤tx≤N1-1,0≤ty≤N2-1,N1和N2均为整数;b)给定基于对象存储设备数为K,根据矢量基对产生算法产生一对线性无关的矢量u和v;c)由u,v张成的线性空间记为S(u,v)={w|w=mu+nv,m,n∈Z},其中,w为S空间的矢量;
d)S空间中非零矢量间最短的距离记为L(r)=min{r|r=|w2-w1|,w2,w1∈S},其中r为S空间中非零矢量间的距离;e)两个瓦片(tx1,ty1)和(tx2,ty2)分别记为矢量T1和T2,如果T2=T1+w,则T2和T1分布在同一个基于对象存储设备上。
而且,所述矢量基对产生算法包括以下步骤,(1)初始化整数a,b,c,d,i,K=bc,c>b>0,d=0,-[c2-b2]<a<0,]]>i=2;(2)确定初始向量对w1和w2,w1=(c,d),w2=(a,b);(3)寻找满足条件的整数j,j选择最接近 的整数,并计算wi+1=wi-1+jwi;(4)根据条件j=0?值作判断,若j=0,则u=wi-1,v=wi,结束计算,否则进行下一步计算;(5)根据条件|wi+1|≥|wi|?作判断,若|wi+1|≥|wi|,则u=wi+1,v=wi,结束计算,否则,更新a,b,c,d,(c,d)=wi-1,(a,b)=wi,i=i+1,返回步骤3继续计算。
本发明采用基于对象存储方式存储地形数据,消除了存储I/0瓶颈,并设计了适合存储地形数据信息的地形存储对象结构,地形存储属性可以用来对地形存储对象进行检索查询,提高了检索效率。本发明还采用了分布存储管理,将相邻地形数据瓦片的地形存储对象分布于基于对象存储系统内的不同基于对象存储设备,保证查询窗口在满足一定要求的条件下,响应时间的恒定,可使实时漫游系统运行效果更加稳定。本发明提供的地形数据存储方法可以综合提高地形数据应用系统的运行效率,特别适合于大规模甚至超大规模三维地形实时漫游系统。


图1为本发明地形存储对象的存储结构;图2为本发明实施例矢量基对产生算法流程图;图3为本发明实施例地形数据瓦片金字塔模型;图4为四叉树模型。
具体实施例方式
本发明提供的基于对象存储的地形数据存储方法是将地形数据及其属性数据组织成地形存储对象存储在基于对象存储系统中,相邻或相近地形数据瓦片的地形存储对象分布于基于对象存储系统内的不同基于对象存储设备。
具体实施时,因为数据量庞大,地形数据通常采用分层存储,以满足不同图像清晰度应用需求。并且按照地形数据的特点,每层数据都划分为以瓦片为单元以便存储处理。参见图3,本发明实施例中的地形数据采用瓦片金字塔模型进行分层存储。在地形漫游系统中,基于金字塔模型的地形数据组织是常用的模型,本发明具体实施时可以规定地形数据按以下瓦片金字塔模型和编码方式组织(1)采用倍率方法构建多分辨率金字塔模型;(2)每层地形数据划分的数据块等间隔、等大小,这些数据块是系统中传输的数据的基本单位;(3)数据块采用“nLayer_nBlkNoX_nBlkNoY”规则编码,nLayer记录对应的金子塔层数,nBlkNoX和nBlkNoY分别记录行号和列号;地形漫游客户端在地形可视化过程中,通过发送数据块编码,向数据提供者请求对应的地形数据。图3中的地形数据瓦片金字塔模型基于四叉树模型构建,Level=0层中的某瓦片对应于Level=1层中的4个相邻瓦片,Level=1层中的某瓦片复又对应于Level=2层中的4个相邻瓦片,箭头表示对应。图4提供了基础的四叉树模型以便理解这种关系。各层数据在存储时的处理可相同,因此本发明在描述技术方案时若不特别说明,都是指同层数据。
基于对象存储系统是下一代的网络存储技术,具有高性能、高可扩展性、智能化和跨平台的安全共享等特点。它将与设备相关的特性(如块分配)从设备一层中分离出来,隐藏于对象层中,实现跨平台共享,有效解决SAN面临的异构环境问题;主机系统可以直接访问基于对象存储设备进行数据交换,不需要服务器的转发,消除了NAS的服务器瓶颈。因此采用基于对象存储系统可满足大规模地形漫游系统对网络存储系统的要求。
本发明创新提出了采用基于对象存储技术进行地形数据存储的技术方案,地形数据采用地形存储对象的存储结构,每一个瓦片及其属性组织成地形存储对象的形式进行存储。地形存储对象由地形数据块和地形对象属性组成,地形对象属性包括对象存储属性和地形存储属性。参见图1,基于对象存储中的对象主要由对象数据块和对象属性组成,对象属性主要包括对象ID、块指针、逻辑长度和配额大小等。扩展基于对象存储中的对象的属性,将地形数据和属性数据组织成地形存储对象的方式进行存储,地形数据的属性数据作为对象的属性的扩展部分。地形存储对象包括地形对象属性和地形数据块,地形数据块存储的就是地形数据,对应于对象中的对象数据块。地形对象属性包括对象存储属性和地形存储属性,对象存储属性对应于对象的对象属性,地形存储属性是对象属性的扩展部分,主要包括层号、分辨率、坐标范围和版本号等。这样,地形存储对象可以实现地形数据和属性数据的一体化存储,地形存储属性可以提供地形数据的查询检索功能。
结合基于对象存储,将地形数据及其属性数据以地形存储对象的方式存储在基于对象存储系统中,并采用一定存储分布策略,可使实时漫游系统运行效果更加稳定。基于对象存储系统是一种分布式网络存储系统,包括多个基于对象存储设备,通常采用顺序分片映射或哈希的方式存储对象,但是地形漫游系统通常需要提取一个查询窗口内相邻的数个瓦片的数据,如果能够将查询窗口内瓦片的地形存储对象都分布在不同基于对象存储设备上,那么响应查询时,各瓦片的数据可以被并行取用,可以提高响应时间。理想情况下,每层图像数据的各瓦片都能存储于不同基于对象存储设备上,那么无论查询窗口大小,都能保证相邻瓦片存储于不同基于对象存储设备上,但具体实施时基于对象存储设备数目是有限的,查询窗口的尺寸也以满足使用即可,无需过大,因此在基于对象存储设备数目确定的情况下,可以在合适的查询窗口半径尺寸内保证相邻或相近地形数据瓦片的地形存储对象分布于不同基于对象存储设备。本发明设计了使彼此相邻或相近的瓦片尽可能的分布到不同基于对象存储设备上的分布策略采用矢量基对存储策略实现地形存储对象分布存储,实现过程如下,a)地形数据被水平和垂直网格线划分成N1*N2个瓦片,将瓦片的地形数据及其属性数据组成地形存储对象,瓦片记为(tx,ty),其中0≤tx≤N1-1,0≤ty≤N2-1,N1和N2均为整数;b)给定基于对象存储设备数为K(显然K为整数,且K>0),根据矢量基对产生算法产生一对线性无关的矢量u和v;c)由u,v张成的线性空间记为S(u,v)={w|w=mu+nv,m,n∈Z},其中,w为S空间的矢量;d)S空间中非零矢量间最短的距离记为L(r)=min{r|r=|w2-w1|,w2,w1∈S},其中r为S空间中非零矢量间的距离;e)两个瓦片(tx1,ty1)和(tx2,ty2)分别记为矢量T1和T2,如果T2=T1+w,则T2和T1分布在同一个基于对象存储设备上。
该分布策略能够保证查询窗口半径小于L(r)/2时,每个基于对象存储设备最多只会被访问一次。而且能够使查询窗口在满足要求的情况下,响应时间的恒定,使系统运行效果稳定。具体实施时,首先不同基于对象存储设备上各存储一个瓦片的地形存储对象,同层的其他瓦片的地形存储对象按上述步骤e)进行判断后决定存储的基于对象存储设备即可。
为了快速取得合适的矢量基对,本发明实施例提供了一种产生矢量基对的算法以便实施,所述矢量基对产生算法包括以下步骤,(1)初始化整数a,b,c,d,i,K=bc,c>b>0,d=0,-[c2-b2]<a<0,]]>i=2;(2)确定初始向量对w1和w2,w1=(c,d),w2=(a,b);(3)寻找满足条件的整数j,j选择最接近 的整数,并计算wi+1=wi-1+jwi;j选择最接近 的整数是一种优化选择,否则计算中易出现冗余。
(4)根据条件j=0?值作判断,若j=0,则u=wi-1,v=wi,结束计算,否则进行下一步计算;(5)根据条件|wi+1|≥|wi|?作判断,若|wi+1|≥|wi|,则u=wi+1,v=wi,结束计算,否则,更新a,b,c,d,(c,d)=wi-1,(a,b)=wi,i=i+1,返回步骤3继续计算。
这种算法可以程序形式由计算机自动进行,参见图2提供的算法流程。
权利要求
1.一种基于对象存储的地形数据存储方法,其特征在于地形数据及其属性数据组织成地形存储对象存储在基于对象存储系统中,相邻或相近地形数据瓦片的地形存储对象分布于基于对象存储系统内的不同基于对象存储设备。
2.如权利要求1所述的地形数据存储方法,其特征在于地形存储对象由地形数据块和地形对象属性组成,地形对象属性包括对象存储属性和地形存储属性。
3.如权利要求1或2所述的地形数据存储方法,其特征在于采用矢量基对存储策略实现地形存储对象分布存储,实现过程如下,a)地形数据被水平和垂直网格线划分成N1*N2个瓦片,将瓦片的地形数据及其属性数据组成地形存储对象,瓦片记为(tx,ty),其中0≤tx≤N1-1,0≤ty≤N2-1,N1和N2均为整数;b)给定基于对象存储设备数为K,根据矢量基对产生算法产生一对线性无关的矢量u和v;c)由u,v张成的线性空间记为S(u,v)={w|w=mu+nv,m,n∈Z},其中,w为S空间的矢量;d)S空间中非零矢量间最短的距离记为L(r)=min{r|r=|w2-w1|,w2,w1∈S},其中r为S空间中非零矢量间的距离;e)两个瓦片(tx1,ty1)和(tx2,ty2)分别记为矢量T1和T2,如果T2=T1+w,则T2和T1分布在同一个基于对象存储设备上。
4.如权利要求3所述的地形数据存储方法,其特征在于所述矢量基对产生算法包括以下步骤,(1)初始化整数a,b,c,d,i,K=bc,c>b>0,d=0,-[c2-b2]<a<0,]]>i=2;(2)确定初始向量对w1和w2,w1=(c,d),w2=(a,b);(3)寻找满足条件的整数j,j选择最接近 的整数,并计算wi+1=wi-1+jwi;(4)根据条件j=0?值作判断,若j=0,则u=wi-1,v=wi,结束计算,否则进行下一步计算;(5)根据条件|wi+1|≥|wi|?作判断,若|wi+1|≥|wi|,则u=wi+1,v=wi,结束计算,否则,更新a,b,c,d,(c,d)=wi-1,(a,b)=wi,i=i+1,返回步骤3继续计算。
全文摘要
本发明属于海量空间信息存储管理领域,特别是涉及一种基于对象存储的地形数据存储方法。一种基于对象存储的地形数据存储方法,其特征在于地形数据及其属性数据组织成地形存储对象存储在基于对象存储系统中,相邻或相近地形数据瓦片的地形存储对象分布于基于对象存储系统内的不同基于对象存储设备。本发明提供的基于对象存储的地形数据存储组织方式及其分布策略,实现了地形数据及其属性数据的一体化存储,保证查询响应时间的恒定,可以综合提高地形数据应用系统的运行效率。本发明特别适合于大规模甚至超大规模三维地形实时漫游系统。
文档编号G06F17/30GK101021868SQ20071005162
公开日2007年8月22日 申请日期2007年3月6日 优先权日2007年3月6日
发明者喻占武, 李忠民, 郑胜, 胡滨, 李锐, 潘少明 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1