1.一种基于数据内容的三维空间数据并行调度方法,其特征在于,包括以下步骤:接收多个客户端的三维空间数据调度请求;
通过基于数据内容的调度任务并行分解方法,将三维空间数据调度任务进行分解,生成可并行执行的三维空间数据调度子任务;
为所述三维空间数据调度子任务分配可用任务执行线程和数据库连接,执行三维空间数据库的并行查询;
对所述三维空间数据调度子任务查询获取的数据重组后,返回给客户端。
2.如权利要求1所述的三维空间数据并行调度方法,其特征在于,所述通过基于数据内容的调度任务并行分解方法,将三维空间数据调度任务进行分解,生成可并行执行的三维空间数据调度子任务,包括以下步骤:B1:判断接收的数据查询请求类型,若为三维空间查询请求,执行步骤B2,若为非三维空间查询请求,则执行步骤B3;
B2:获取所述三维空间查询请求需要查询的三维要素类集合,根据三维要素类的数据类型进行判断,为每个三维要素类建立单独的调度任务,并转换成可并行执行的三维要素数据调度任务;
B3:判断该查询请求的类型,分离材质、纹理、共享模型以及属性等各种数据类型的查询,并转换成相应的数据调度任务。
3.如权利要求1或2所述的三维空间数据并行调度方法,其特征在于,所述为所述三维空间数据调度任务分配可用任务执行线程,执行三维空间数据库的并行查询,包括以下步骤:C1:将所述生成的三维空间数据调度任务放入三维空间数据调度任务队列中;
C2:按照先进先出的原则,依次取出所述三维空间数据调度任务队列中的第一个调度任务;
C3:从空闲任务执行线程队列中取出一个空闲线程;
C4:将所述三维空间数据调度任务队列中取出的所述调度任务,绑定在从所述空闲线程队列中取出的所述空闲线程中,并将所述空闲线程设置为繁忙线程,加入到繁忙线程队列中;
C5:从所述繁忙线程队列中,依次取出所述绑定调度任务的繁忙线程,执行所述三维空间数据调度任务;
C6:所述三维空间数据调度任务执行完毕后,将所述繁忙线程设置为空闲线程,并加入到所述空闲线程队列中;
C7:将执行所述三维空间数据调度任务所获取的数据进行返回。
4.如权利要求3所述的三维空间数据并行调度方法,其特征在于,所述步骤C5,包括以下步骤:所述绑定调度任务的繁忙线程,获取空闲的数据库连接,进行三维空间数据库的查询。
5.如权利要求3所述的三维空间数据并行调度方法,其特征在于,所述步骤C7,包括以下步骤:将每个线程执行所述调度任务所获取的数据合并在一个数据集合后,将全部数据进行返回。
6.一种三维空间数据并行调度系统,包括客户端和服务器,其特征在于,所述服务器包括:调度任务分解模块,用于数据调度请求的解析,数据调度任务的并行分解,生成可并行执行的数据调度任务;
线程池管理模块,用于线程池技术管理线程的创建、销毁与管理操作,任务的分配策略,以及线程之间的同步协同机制;
数据库连接池模块,用于数据库连接池技术管理数据库连接的创建、销毁与管理操作,预先创建和保存多个用户的数据库连接队列;
调度任务执行模块,与所述线程池管理模块与数据库连接池管理模块相连接,用于执行的三维空间数据库的并行调度任务;
三维空间数据库,与所述调度任务执行模块相连接,用于存储大规模的三维空间数据。