三维空间数据预调度方法及其系统的制作方法

文档序号:6386329阅读:264来源:国知局
专利名称:三维空间数据预调度方法及其系统的制作方法
技术领域
本发明涉及地理空间信息系统技术领域,尤其涉及一种基于视点预测与数据内容相关性的三维空间数据预调度方法及其系统。
背景技术
预调度是指在三维空间数据调度过程中,采用一定的预测模型,将有可能被调度出来的对象预先调度出来,以加快数据绘制的速度。目前,预调度的研究主要集中在地形数据的调度上,如在地形的三维可视化系统中,为了保证系统的实时交互性,系统需要根据用户视点的移动情况判断视点下一步可能会浏览的地形数据,通过调度传输线程进行预装载。预装载的目的是为了系统尽量地减小在地形绘制时等待地形数据装载的时间,如果当地形块已经进入到可视范围后再去装载的话,除去地形绘制的时间,在每一帧的显示中就会有一个停滞等待地形数据装载的时间,这样系统的实时性和连贯就会大打折扣。关于三维可视化系统的预取策略,人们做了大量的研究,并得出了很多预取理论和算法。但是这些算法都比较复杂,得到每一次的预取结果都需要经过大量的计算,往往达不到预装载的效果。三维空间数据的预调度算法需要统计分析实时调度的信息,进行视点等信息的预测。由于三维空间数据类型的多样性、数据结构的复杂性,难以像地形数据那样通过分层分块的简单规则进行快速的预调度处理。

发明内容
本发明为解决上述技术问题,提供一种效率更高的三维空间数据预调度方法,其包括以下步骤:步骤Al,实时收集三维可视化视点信息;步骤A2,分析三维可视化视点运动规律,对下一步三维可视化视点信息进行预测,建立基于预测视点的三维要素数据预调度任务;步骤A3,基于三维空间数据的数据内容相关性分析,建立三维要素数据内容相关数据的预调度任务;步骤A4,根据三维可视化视点变化情况对预调度任务进行调整,从预调度任务队列中删除不必要的预调度任务。优选地,生成所述三维空间数据的预调度任务包括以下步骤:步骤BI,接收到一个客户端用户的三维空间查询请求后,将该三维空间查询请求涉及的包围盒与请求时间信息保存到所述客户端用户所属的实时查询包围盒集合中;步骤B2,将所述包围盒与所述实时查询包围盒集合中原有的包围盒按请求时间进行统计分析,预测得到视点的移动方向;步骤B3,基于所述视点的移动方向,计算下一步可能会需要调度的预测包围盒;步骤B4,通过三维空间索引对所述预测包围盒进行检索,得到所述预测包围盒内符合要求的三维要素ID集合,建立基于三维要素ID集合的三维要素数据预调度任务;
步骤B5,基于三维要素数据与三维材质数据、三维纹理数据的数据内容相关性,依次建立三维材质数据预调度任务和三维纹理数据预调度任务;步骤B6,采用预调度任务线程池的空闲线程执行新生成的所述预调度任务,进行三维空间数据库的预取;步骤B7,将从三维空间数据库预调度的数据放入应用服务器缓存中管理,并根据需要中断不需要的预调度任务。优选地,所述三维空间数据包括三维要素数据、三维材质数据、三维纹理数据以及属性数据中的一种或多种。所述三维要素数据、三维材质数据以及三维纹理数据在进行数据预调度时按照优先级从高到低排列。优选地,所述三维空间数据的数据内容相关性是指所述三维要素数据的多层次细节之间相互关联的,在调度三维要素数据时,按照多层次细节先粗级别后细级别的顺序进行调度,三维空间数据的数据内容相关性还包括三维要素数据与三维材质数据的相关性,三维材质数据与三维纹理数据的相关性,即三维要素数据与三维材质数据存在关联关系,三维材质数据与三维纹理数据存在关联关系。本发明同时提供了一种三维空间数据预调度系统,建立了三维空间数据预调度框架,所述三维空间数据预调度框架包括任务优先权队列组、调度器组以及任务管理器组,所述任务优先权队列组包括数据读取优先权队列、数据预取优先权队列以及数据撤销优先权队列;所述调度器组包括数据读取调度器、数据预取调度器以及数据撤销调度器;所述任务管理器组包括数据预取任务生成器以及数据撤销任务管理器。优选地,所述客户端用户的三维空间数据查询请求通过网络发到应用服务器,首先进入数据读取优先权队列中,数据读取调度器从数据读取优先权队列中按照优先级先后顺序获取数据调度任务,并从三维空间数据库中获取数据;数据预取任务生成器实时监测数据读取优先权队列的新任务,根据客户端实时发送过来的新的三维空间数据查询,生成数据预取的调度任务,并按照优先权级别放在数据预取优先权队列中,通过数据预取调度器进行预调度任务的执行;数据撤销任务管理器实时监测数据读取优先权队列的变化,并进行统计分析,分析可视化实时发送的前后数据读取任务是否跨越过大的空间范围,即视点是否变化过大,如果视点变化过大则及时对数据预取优先权队列中的任务进行处理,将已生成但不需要预调度的预取任务放在数据撤销优先权队列中,通过数据撤销调度器在数据撤销任务管理器中进行预取任务的撤销。优选地,其还包括实时调度任务,所述实时调度任务和预调度任务分别被实时调度任务线程池和预调度任务线程池处理,处理预调度任务的优先级始终低于处理实时调度任务的优先级。本发明通过对三维空间数据调度信息的统计分析,建立合理视点预测,并在此基础上根据三维空间数据内容的相关性进行相关联的各类型三维空间数据的调度,建立基于视点预测和数据内容相关性的三维空间数据预调度策略,可以有效提高三维空间数据调度的效率。


图1为本发明三维空间数据预调度方法一实施例流程图;图2为本发明生成三维空间数据的预调度任务流程图。
具体实施例方式下面将结合附图以及具体实施例来对本发明作进一步详细说明。如图1所示,为本发明三维空间数据预调度方法一实施例流程图。本发明的三维空间数据预调度方法其包括以下步骤:步骤Al,实时收集三维可视化视点信息,具体操作为:收集每次三维可视化视点的信息,三维可视化过程中,根据三维可视化的视点信息(如运动方向、运动速度等信息)进行三维空间数据的动态调度,转换为多个三维空间包围盒的三维空间范围查询,根据这些三维空间范围查询条件进行三维空间数据的调度。为了进行下一步三维视点信息的预测,需要对最近几次的三维可视化视点信息都进行收集与统计,然后统计计算三维可视化的视点信息。步骤A2,分析三维可视化视点运动规律,对下一步三维可视化视点信息进行预测,建立基于预测视点的三维要素数据预调度任务,具体操作为:对收集的三维可视化视点信息进行统计分析,对下一步可能的三维可视化视点信息进行预测,同时将该三维可视化视点信息的数据调度任务转换为多个新的三维空间包围盒的范围查询,为第一优先级的调度任务预测;随着视点的运动信息等的预测,三维要素对象的几何数据有可能调度更精细层次的三维要素几何数据,因此也对应生成新的三维要素对象对应的细节层次的三维要素几何数据,作为第二优先级的预调度任务。步骤A3,基于三维空间数据的数据内容相关性分析,建立三维要素数据内容相关数据的预调度任务,具体操作为:基于三维空间数据的数据内容的相关性分析,需要更新多细节层次的三维要素几何数据,通过数据内容相关性,得到新细节层次的三维要素几何数据对应的三维材质数据和三维纹理数据,为第三优先级的预调度任务。步骤A4,根据三维可视化视点变化规律进行三维空间数据的预调度任务,从预调度任务队列中删除不需要的预调度任务,具体操作为:在生成预调度任务并执行的同时,还继续对三维可视化的视点信息进行收集和分析,及时对三维可视化的运动规律进行统计分析,对已生成的预调度任务进行评价,由于视点的急剧变化,往往一些已生成的预调度任务已不再需要,需要及时从预调度任务队列中删除不再需要执行的预调度任务。在上述实施例中,所述三维空间数据包括三维要素数据、三维材质数据以及三维纹理数据,所述三维要素数据、三维材质数据、三维纹理数据在进行数据调度时按照优先级从高到低排列。在其它实施例中,所述三维空间数据包括三维要素数据、三维材质数据、三维纹理数据以及属性数据中的一种或多种皆可,同样在进行数据调度时按照优先级从高到低排列。在上述实施例中,所述三维空间数据的数据内容相关性是指所述三维空间数据按照多层次细节是相互关联的,三维空间数据的数据内容相关性还包括三维要素数据与三维材质数据的相关性,三维材质数据与三维纹理数据的相关性,即三维要素数据与三维材质数据存在关联关系,三维材质数据与三维纹理数据存在关联关系,在调度三维空间数据时,按照多层次细节先粗级别后细级别的顺序进行调度,同时按照先三维要素对象数据、三维材质数据以及三维纹理数据的先后顺序进行调度。在上述实施例中,本发明同时提供了一种三维空间数据预调度系统,为了更高效地执行三维空间数据的调度,建立了三维空间数据预调度框架,所述三维空间数据预调度框架包括任务优先权队列组、调度器组以及任务管理器组,所述任务优先权队列组包括数据读取优先权队列、数据预取优先权队列以及数据撤销优先权队列;所述调度器组包括数据读取调度器、数据预取调度器以及数据撤销调度器;所述任务管理器组包括数据预取任务生成器以及数据撤销任务管理器。具体的,所述客户端用户的三维空间查询请求通过网络发到应用服务器,首先进入数据读取优先权队列中,数据读取调度器从数据读取优先权队列中按照优先级先后顺序获取数据调度任务,并从三维空间数据库中获取数据;数据预取任务生成器会实时监测数据读取优先权队列的新任务,根据客户端实时发送过来的新的三维空间数据查询,生成数据预取的调度任务,并按照优先权级别放在数据预取优先权队列中,通过数据预取调度器进行预调度任务的执行;数据撤销任务管理器也会实时监测数据读取优先权队列的变化,并进行统计分析,分析可视化实时发送的前后数据读取任务是否跨越过大的空间范围,即视点是否变化过大,如果视点变化过大需要及时对数据预取优先权队列中的任务进行调整,将一些已生成但不需要预调度的预取任务放在数据撤销优先权队列中,通过数据撤销调度器在数据撤销任务管理器中进行预取任务的撤销。上述实施例中,为了保证实时调度任务不受预调度任务的影响,所述实时调度任务和预调度任务分别被实时调度任务线程池和预调度任务线程池处理,处理预调度任务的优先级始终低于处理实时调度任务的优先级。如图2所示,为本发明生成三维空间数据的预调度任务流程图,本发明的生成所述三维空间数据的预调度任务包括以下步骤:步骤BI,接收到一个客户端用户的三维空间查询请求后,将该三维空间查询请求涉及的包围盒与请求时间信息保存到所述客户端用户所属的实时查询包围盒集合中;步骤B2,将所述包围盒与所述实时查询包围盒集合中原有的包围盒按请求时间进行统计分析,预测得到视点的移动方向;步骤B3,基于所述视点的移动方向,计算下一步可能会需要调度的预测包围盒;步骤B4,通过三维空间索引对所述预测包围盒进行检索,得到所述预测包围盒内符合要求的三维要素ID集合,建立基于三维要素ID集合的三维要素数据预调度任务;步骤B5,基于三维要素数据与三维材质数据、三维纹理数据的数据内容相关性,依次建立三维材质数据预调度任务和三维纹理数据预调度任务;步骤B6,采用预调度任务线程池的空闲线程执行新生成的所述预调度任务,进行三维空间数据库的预取;步骤B7,将从三维空间数据库预调度的数据放入应用服务器缓存中管理,并根据需要中断不需要的预调度任务。本发明主要是根据客户端用户视点的运动规律来预测用户下一步可能会可视化的区域范围,因此适用于对于视点变化不太剧烈的情况。但是,视点的实际运动方向其实是由用户自己掌握的,具有不可预见性,所以当我们的预调度算法不合理或用户突然改变运动方向时,预调度机制可能会失败或无效,这时的预调度任务反而会给三维空间数据的实时调度任务造成额外的负担。因此,针对客户端用户视点发生急剧变化的特殊情况,需要对前面已生成的预调度任务及时进行终止和取消。因此,在三维空间数据预调度机制的基础上,建立了一套完整的三维空间数据预调度任务的中断机制。对每个不同的客户端,在应用服务器端都有其固定IP地址和端口号,生成一个客户端唯一的I D号;通过客户端ID,给每个客户端绑定两个队列,一个是实时调度包围盒队列,一个是预调度包围盒队列,其中实时调度包围盒队列记录客户端每次发送的三维空间查询请求涉及的包围盒,预调度包围盒队列记录了应用服务器端每次预测生成的预测包围盒。在具体实施时,设定一个预调度中断阈值,记录已生成待执行的预调度任务的包围盒与最新的实时调度包围盒的距离,距离计算以每个包围盒的中心点为依据进行计算,当计算得到的所述距离远远超过预调度中断阈值,则认为当前调度的数据的区域,和前面调度的数据的区域距离已相差很远,即当前实时调度的视点已发生了急剧的变化,因此可以取消或中断前面已生成的预调度任务。可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其他各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。
权利要求
1.一种三维空间数据预调度方法,其特征在于:其包括以下步骤: 步骤Al,实时收集三维可视化视点信息; 步骤A2,分析三维可视化视点运动规律,对下一步三维可视化视点信息进行预测,建立基于预测视点的三维要素数据预调度任务; 步骤A3,基于三维空间数据的数据内容相关性分析,建立三维要素数据内容相关数据的预调度任务; 步骤A4,根据三维可视化视点变化情况对预调度任务进行调整,从预调度任务队列中删除不必要的预调度任务。
2.根据权利要求1所述的三维空间数据预调度方法,其特征在于:生成所述三维空间数据的预调度任务包括以下步骤: 步骤BI,接收到一个客户端用户的三维空间查询请求后,将该三维空间查询请求涉及的包围盒与请求时间信息保存到所述客户端用户所属的实时查询包围盒集合中; 步骤B2,将所述包围盒与所述实时查询包围盒集合中原有的包围盒按请求时间进行统计分析,预测得到视点的移动方向; 步骤B3,基于所述视点的移动方向,计算下一步可能会需要调度的预测包围盒; 步骤B4,通过三维空间索引对所述预测包围盒进行检索,得到所述预测包围盒内符合要求的三维要素ID集合,建立基于三维要素ID集合的三维要素数据预调度任务; 步骤B5,基于三维要素数据与三维材质数据、三维纹理数据的数据内容相关性,依次建立三维材质数据预调度任 务和三维纹理数据预调度任务; 步骤B6,采用预调度任务线程池的空闲线程执行新生成的所述预调度任务,进行三维空间数据库的预取; 步骤B7,将从三维空间数据库预调度的数据放入应用服务器缓存中管理,并根据需要中断不需要的预调度任务。
3.根据权利要求1所述的三维空间数据预调度方法,其特征在于:所述三维空间数据包括三维要素数据、三维材质数据、三维纹理数据以及属性数据中的一种或多种。
4.根据权利要求3所述的三维空间数据预调度方法,其特征在于:所述三维要素数据、三维材质数据以及三维纹理数据在进行数据预调度时按照优先级从高到低排列。
5.根据权利要求1所述的三维空间数据预调度方法,其特征在于:所述三维空间数据的数据内容相关性是指所述三维要素数据的多层次细节之间相互关联的,在调度三维要素数据时,按照多层次细节先粗级别后细级别的顺序进行调度;三维空间数据的数据内容相关性还包括三维要素数据与三维材质数据的相关性,三维材质数据与三维纹理数据的相关性,即三维要素数据与三维材质数据存在关联关系,三维材质数据与三维纹理数据存在关联关系。
6.一种三维空间数据预调度系统,其特征在于:建立了三维空间数据预调度框架,所述三维空间数据预调度框架包括任务优先权队列组、调度器组以及任务管理器组,所述任务优先权队列组包括数据读取优先权队列、数据预取优先权队列以及数据撤销优先权队列;所述调度器组包括数据读取调度器、数据预取调度器以及数据撤销调度器;所述任务管理器组包括数据预取任务生成器以及数据撤销任务管理器。
7.根据权利要求6所述的三维空间数据预调度系统,其特征在于:所述客户端用户的三维空间查询请求通过网络发到应用服务器,首先进入数据读取优先权队列中,数据读取调度器从数据读取优先权队列中按照优先级先后顺序获取数据调度任务,并从三维空间数据库中获取数据;数据预取任务生成器实时监测数据读取优先权队列的新任务,根据客户端实时发送过来的新的三维空间数据查询,生成数据预取的调度任务,并按照优先权级别放在数据预取优先权队列中,通过数据预取调度器进行预调度任务的执行;数据撤销任务管理器实时监测数据读取优先权队列的变化,并进行统计分析,分析可视化实时发送的前后数据读取任务是否跨越过大的空间范围,即视点是否变化过大,如果视点变化过大则及时对数据预取优先权队列中的任务进行调整,将已生成但不需要预调度的预取任务放在数据撤销优先权队列中,通过数据撤销调度器在数据撤销任务管理器中进行预取任务的撤销。
8.根据权利要求6所述 的三维空间数据预调度系统,其特征在于:其还包括实时调度任务,所述实时调度任务和预调度任务分别被实时调度任务线程池和预调度任务线程池处理,处理预调度任务的优先级始终低于处理实时调度任务的优先级。
全文摘要
本发明提供一种三维空间数据预调度方法及其系统,其包括以下步骤步骤A1,实时收集三维可视化视点信息;步骤A2,分析三维可视化视点运动规律,对下一步三维可视化视点信息进行预测,建立基于预测视点的三维要素数据预调度任务;步骤A3,基于三维空间数据的数据内容相关性分析,建立三维要素数据内容相关数据的预调度任务;步骤A4,根据三维可视化视点变化情况对预调度任务进行调整,从预调度任务队列中删除不必要的预调度任务。本发明同时提供了一种三维空间数据预调度系统。本发明的三维空间数据预调度方法及其系统基于视点预测以及数据内容相关性分析,数据内容预测准确率更高,数据预调度方式更灵活,可以有效提高三维空间数据调度的效率。
文档编号G06F9/48GK103092696SQ20121058944
公开日2013年5月8日 申请日期2012年12月29日 优先权日2012年12月29日
发明者李晓明, 许伟平, 简志坚, 修文群, 张宝运, 李微微 申请人:深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1