基于空间关系的三维空间数据自适应预调度方法

文档序号:6331252阅读:222来源:国知局
专利名称:基于空间关系的三维空间数据自适应预调度方法
技术领域
本发明涉及地理学及地学空间信息处理技术领域,尤其涉及一种基于空间关系的 三维空间数据自适应预调度方法。
背景技术
三维空间数据实时可视化与多用户在线应用等都需要极快的响应时间,这对大规 模三维空间数据数据库管理的性能提出了巨大的挑战。受当前计算机硬件的限制,使得在 三维场景绘制时不可能一次性将所需的全部三维空间数据调入内存,必须根据当前三维场 景的需要动态调入所需的数据。因而能否从文件或三维空间数据库中高效的动态调度所需 的数据到系统内存已成为保障三维实时绘制流畅性的关键。目前,国内外大都采用一定的空间组织建立内、外存一致的存储索引结构,使用投 机的预读取策略、相应的缓存管理策略、以及多线程并行调度的方法等实现海量数据的增 量动态调度。由于图像瓦片与金字塔结构等技术对于栅格数据的管理与实时应用已比较 成熟,许多商业软件如Google Earth、Skyline以及Oracle 10/llg的GeoRaster都采用 这些成熟技术实现了海量栅格数据的管理。Oracle摒弃了数据的空间特性,单纯从面向 对象的角度,开发了基于对象关系图的预调度技术。该技术采用面向对象思想,为存在继 承、派生、联合、聚合关系的对象建立对象关系图,并沿此图实现预调度对象的追踪和加载。 Fimkhouser等最先将数据预读取加载的方法引入到大数据量的可视化应用中。现有大多数 地形漫游系统的动态调度方法大都采用基于平面格网的预测机制。基于视点的预测模型是 根据当前的视点的位置、运动方向、运动速度、角速度等建立一个视点的预测函数,根据当 前交互的特点,预计算几个可能的视点位置,使用预计算得到的视点进行数据的可见性判 断来完成对数据的预加载。现有典型系统如意大利CRS小组开发的0EMM基于八叉树的内 外存一体化结构,IBM公司Correa等开发的iwalk基于八叉树的多线程单机环境的调度技 术,德国Saarland大学开发的基于k_D树结构的内、外存结构用于大规模场景的实时射线 追踪的动态数据调度方法等。另外Oracle llg提供了基于对象之间关系的复杂对象的预 调度技术。该技术采用面向对象的思想根据对象之间的关系建立对象关系图,然后由初始 化对象开始,通过对象之间的引用关系而预读取其他对象。在这种技术中,应用程序可设置 一些检索规则,如检索的深度,以便在一次网络传输中检索出一批相关的对象。

发明内容
针对上述存在的技术问题,本发明的目的是提供一种基于空间关系的三维空间数 据自适应预调度方法,以从文件或三维空间数据库中高效地动态调度所需的数据到系统内 存,保障三维实时绘制的流畅性。为达到上述目的,本发明采用如下的技术方案①采用触发器机制实现对系统调度情况的实时监控;②利用已经被调度到缓存中的三维空间对象建立样品索引树,将活动对象按其空
3间位置关系形成空间聚类结构;③计算样品树中影响区域的影响因子R,以递归方式自下而上计算,求得样品树中 每个影响区域的影响因子;④从样品树的根结点开始,以其影响区域为包围盒进行检索,检索出根节点影响 区域包含的预取对象;⑤计算预取对象占用的内存总和大小k,K=n∑1Ki;⑥比较K与设定的供预调度对象剩余可使用的内存空间的大小,= Kpre-Kuse, 其中,Kpm为设定预调度缓存空间、为已占用预调度缓存空间;如果K ( KM,将检索出的 对象作为预调度对象调入缓存,结束预调度进程;如果K > Kre,到步骤⑦;⑦对样品树中下一层的影响区域按其影响因子R的大小降序排列兄弟节点;⑧按所排顺序,选取第一个节点为需筛选影响区域;⑨影响区域为包围盒进行全局检索,检索出筛选影响区域包含的预取对象;

⑩计算预取对象占用的内存总和大小K,K=n∑1Ki,其中Ki表示预取对象占用的内
存大小; 比较K与设定的供预调度对象剩余可使用的内存空间的大小,如果K彡Kre, 将检索出的对象作为预调度对象调入缓存,按所排顺序,选取下一个兄弟节点为需筛选影 响区域,到步骤⑨;如果K > Kre,到步骤⑦; 当检索到样品树叶节点时,选取其父节点的下一个节点为需筛选影响区域,到 步骤⑨; 当、=0时,结束预调度进程; 在下次执行调度程序时,停止预调度进程,或当CPU的使用率超过一定值时,则 停止预调度进程。

所述步骤③中采用R=n∑i1Vi*Ri/V计算样品树中影响区域的影响因子R,其中V表
示影响区域的体积,氏表示其子节点影响区域的影响因子,V,表示其子节点影响区域的体 积。本发明具有以下优点和积极效果1)本发明提出了样品树的空间聚类结构,能够根据活动对象的空间来高效并科学 合理地确定预调度对象;2)本发明采用了触发器及多线程的机制,能保证系统操作的正常进行,最大限度 地避免网络阻塞;3)本发明的预调度方法具有自适应特性,能自动选择预调度对象,有效地解决了 系统资源争夺和使用效率的问题。


图1是本发明提供的基于空间关系的三维空间数据自适应预调度方法的流程图。图2是本发明提出的样品树的结构示意图。
具体实施例方式本发明提供的基于空间关系的三维空间数据自适应预调度方法,综合考虑已调度 空间对象的范围及重要性,选择最优预调度对象,基于空间聚类分析的预调度策略根据内 存等硬件使用情况自适应调整设定预调度内存空间,自动的查找满足条件预调度对象,并 根据CPU的计算能力,适时地启动和关闭预调度程序,下面以具体实施例结合附图对本发 明作进一步说明本方法以空间关系中的九交模型为理论依据,采用空间聚类和空间插值的思想, 将缓存中的空间对象视为样品数据,建立样品树。通过样品树中活动对象或子影响区域的 影响因子估算上一级影响区域的影响因子值。同时兼顾系统的内存实时使用情况和CPU的 计算能力,采用触发器及多线程的相关机制来实现系统实时地监控CPU的计算能力和调度 情况,启动预调度进程。九交模型是0GC(0pen Geospatial Consortium,开放空间信息协会)制定的一套 适用空间查询的一套模型。九交模型根据不同维度,不同类型的几何对象之间的空间关系 来定义空间查询的基本算子。基本的几何对象元素有点,线,面,它们都有很明确的边界,内部,外部。相关定义 如下表所示 九交模型通过比较两个或者多个对象的外部,边界,和内部,并求交,考虑求交结 果的维度,故适合于各种对象。这个模型分别用1(a)、B (a)、E (a)表示几何对象a的内部、 边界和外部的集合,通过对两个几何对象a、b的外部、边界、内部集合进行求交,运用维数 扩展法进行扩展,并将求交结果填充到九交模型表中,如下表所示 dim()的返回值有_1,0,1,2.分别代表不同的含义,如下T 交集存在,dim = 0,1 或 2 ;
F 交集不存在,dim = -1 ;0 交集存在,但其最高维度必须是0 ;1 交集存在,但其最高维度必须为1 ;2 交集存在,但其最高维度必须为2 ;样品树是将活动对象按其空间位置关系而建立的空间聚类结构,体现了活动对象 之间的空间相关性和空间数据的局部性特征。三维空间数据具有三维空间局部性的特性, 即若一个区域中的数据被访问,那么此区域中其它数据被访问的可能性也很大。基于空间 关系的样品树将三维空间局部性也要被考虑在内,综合考虑空间对象的范围及重要性,根 据活动对象的空间来高效并科学合理的确定预调度对象。样品树体现了不同聚类粒度级别上空间对象之间的相关性。在设计样品树时,最 重要的是实现空间对象之间的聚类功能。空间聚类主要是依据空间对象之间的距离关系将 空间对象自动分成几个群组,且使同一个群组内的空间对象之间的距离尽可能的小,属于 不同群组的空间对象之间空间距离尽可能大的一种方法。通过聚类分析可以反映活动对象 之间的多中心特征,同时可以反映空间对象之间的相关性。最常用的为树形空间索引结构, 例如R树,建立样品树存储结构。样品树是按活动对象的空间距离建立的具有不同粒度级别的聚类结构。该树具有 深度的概念,处于同一层次上的聚类对象具有相同的聚类粒度,这是它与其它聚类结构的 不同之处。下面结合图2详细描述样品树图2中Root为样品树的根结点,活动对象3、4、5构成聚类对象a,对象8的聚类对 象为其自身。假定对象3、4、5的影响因子和影响区域分别为R3、R4、R5,V3、V4、V5,对于聚类 对象a,其影响因子可按公式1计算。以递归的方式自下而上计算,可求得样品树中每个聚 类对象的影响因子,其流程如图2中的实线方向所示。Ra = (R3*V3+R4*V4+R5*V5/Va(1)如果Ra > Rb,则说明聚类对象a影响区域中的空间对象被用户频繁地调度,该区 域为热点调度区域。采用相交和包含判别原则,优先从热点调度区域中选择预调度对象,因 此在聚类对象a影响区域中的预调度候选对象的调度优先级要高于其他预调度候选对象, 预调度对象的过滤流程为非活动对象、预调度候选对象、预调度对象。下面结合图1详细描述本发明提出的基于空间关系的三维空间数据自适应预调 度方法的每个步骤步骤1 采用触发器机制实现对系统调度情况的实时监控。如果系统处于调度的 间歇期,同时CPU的利用率满足设定的启动预调度程序条件,则启动预调度程序。步骤2 利用已经被调度到缓存中的三维空间对象建立样品索引树,将活动对象 按其空间位置关系形成空间聚类结构;由于三维R树构造算法充分考虑了三维空间的邻近性原则,充分考虑了三维空间 的邻近性原则,三维空间相邻的对象聚集于R树相同的节点或者邻近兄弟节点中,并且其 固有的树状层次结构具备从全局空间迅速锁定局部空间的能力,从而加速三维空间查询, 只需极少数的计算量就能从三维空间中获取满足指定查询请求的三维空间数据。因此,本 发明以三维R树空间索引为基础,结合三维空间数据的空间区域连续性访问原理构造样品树。各非叶结点记录空间信息以及影响因子R,叶节点为样品对象,非叶结点实现样品的多 层次空间聚类,如图2样品树结构所示。步骤3 计算样品树中影响区域(即非叶结点空间包围盒)的影响因子R,以递归 方式自下而上计算,可求得样品树中每个影响区域的影响因子;
n采用代计算样品树中影响区域的影响因子R。其中V表示影响区域
i=\
的体积氓表示其子节点影响区域的影响因子A表示其子节点影响区域的体积。若活动对象的包围盒较大,则说明它在空间中延展较广,它与其它空间对象具有 相交、包含、相邻关系的几率也较大;若活动对象的影响因子较大,则说明其被频繁的进行 空间调度,与它具有相交、包含关系的空间对象被调度的几率也比较大;空间索引仅记录非 活动对象包围盒的大小,其详细的空间分布信息是未知的,系统只能粗略地判断它与活动 对象之间的空间关系,因此将聚类对象的影响因子作为平均值处理是合理的。步骤4 从样品树的根结点开始,采用相交和包含判别原则,以其影响区域为包围 盒进行检索,检索出根节点影响区域包含的预取对象;
n步骤5 计算预取对象占用的内存总和大小。其中Ki表示预取对象占
1
用的内存大小;步骤6 :比较K与设定的供预调度对象剩余可使用的内存空间的大小,= Kpre-Kuse0 Kpre为设定预调度缓存空间、为已占用预调度缓存空间。如果K ( KM,将检索 出的对象作为预调度对象调入缓存,结束预调度进程;如果K > Kre,到步骤7 ;步骤7 对样品树中下一层的影响区域按其影响因子R的大小降序排列兄弟节点;步骤8 按所排顺序,选取第一个节点为需筛选影响区域;步骤9 采用相交和包含判别原则,以影响区域为包围盒进行全局检索,检索出筛 选影响区域包含的预取对象;
n步骤10 计算预取对象占用的内存总和大小K,X = I]&。其中&表示预取对象占
1
用的内存大小;步骤11 比较K与设定的供预调度对象剩余可使用的内存空间的大小。如果 K ^ Kre,将检索出的对象作为预调度对象调入缓存,按所排顺序,选取下一个兄弟节点为需 筛选影响区域,到步骤9 ;如果K > Kre,到步骤7 ;步骤12 当检索到样品树叶节点时,选取其父节点的下一个节点为需筛选影响区 域,到步骤9;步骤13 当、=0时,结束预调度进程;步骤14 在下次执行调度程序时,停止预调度进程,释放样品树内存;或当CPU的 使用率超过一定值时,则停止预调度进程,以保证其他操作的正常进行,同时,在内存中保 留样品树存储结构,在CPU的使用率符合程序启用条件时复用已建立的样品数进行预调度 对象的选取。以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人 员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的 技术方案,都落入本发明的保护范围。
权利要求
一种基于空间关系的三维空间数据自适应预调度方法,其特征在于,包括①采用触发器机制实现对系统调度情况的实时监控;②利用已经被调度到缓存中的三维空间对象建立样品索引树,将活动对象按其空间位置关系形成空间聚类结构;③计算样品树中影响区域的影响因子R,以递归方式自下而上计算,求得样品树中每个影响区域的影响因子;④从样品树的根结点开始,以其影响区域为包围盒进行检索,检索出根节点影响区域包含的预取对象;⑤计算预取对象占用的内存总和大小K,⑥比较K与设定的供预调度对象剩余可使用的内存空间Kre的大小,Kre=Kpre Kuse,其中,Kpre为设定预调度缓存空间、Kuse为已占用预调度缓存空间;如果K≤Kre,将检索出的对象作为预调度对象调入缓存,结束预调度进程;如果K>Kre,到步骤⑦;⑦对样品树中下一层的影响区域按其影响因子R的大小降序排列兄弟节点;⑧按所排顺序,选取第一个节点为需筛选影响区域;⑨影响区域为包围盒进行全局检索,检索出筛选影响区域包含的预取对象;⑩计算预取对象占用的内存总和大小K,其中Ki表示预取对象占用的内存大小;比较K与设定的供预调度对象剩余可使用的内存空间Kre的大小,如果K≤Kre,将检索出的对象作为预调度对象调入缓存,按所排顺序,选取下一个兄弟节点为需筛选影响区域,到步骤⑨;如果K>Kre,到步骤⑦;当检索到样品树叶节点时,选取其父节点的下一个节点为需筛选影响区域,到步骤⑨;当Kre=0时,结束预调度进程;在下次执行调度程序时,停止预调度进程,或当CPU的使用率超过一定值时,则停止预调度进程。FDA0000025489450000011.tif,FDA0000025489450000012.tif,FDA0000025489450000013.tif,FDA0000025489450000014.tif,FDA0000025489450000015.tif,FDA0000025489450000016.tif
2.根据权利要求1所述的基于空间关系的三维空间数据自适应预调度方法,其特征在于所述步骤②中样品树是按活动对象的空间距离建立的具有不同粒度级别的聚类结构。 该树具有深度的概念,处于同一层次上的聚类对象具有相同的聚类粒度。样品树体现了不 同聚类粒度级别上空间对象之间的相关性。
3.根据权利要求1所述的基于空间关系的三维空间数据自适应预调度方法,其特征在于n所述步骤③中采用W代计算样品树中影响区域的影响因子R,其中V表示影i=\响区域的体积,氏表示其子节点影响区域的影响因子,V,表示其子节点影响区域的体积。
全文摘要
本发明涉及地理学及地学空间信息处理技术领域,尤其涉及一种基于空间关系的三维空间数据自适应预调度方法。本方法以空间关系中的九交模型为理论依据,结合缓存管理和空间索引的特点,采用空间聚类和空间插值的思想,将缓存中的空间对象视为样品数据,将这些对象的命中率作为估值权值,将空间索引中的空间对象信息当作待估值数据,同时兼顾系统的内存容量和CPU的计算能力。该预调度方法可以提高空间数据的调度速度。由于采用了树形索引、触发器、多线程等技术,有效地解决了系统资源争夺和使用效率问题,并可以显著改善数据通信阻塞问题。该算法能适应三维空间数据调度需求,并能扩展用于多维空间数据,能在多种专业GIS软件中推广使用。
文档编号G06F17/30GK101916301SQ20101026912
公开日2010年12月15日 申请日期2010年9月1日 优先权日2010年9月1日
发明者何珍文, 刘军旗, 刘刚, 刘圆圆, 吴冲龙, 周青, 孙卡, 张夏林, 李新川, 杨成杰, 王玭茜, 田宜平, 翁正平, 魏振华 申请人:中国地质大学(武汉)
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1