一种对数据进行可视化处理的方法及系统的制作方法

文档序号:6365538阅读:218来源:国知局
专利名称:一种对数据进行可视化处理的方法及系统的制作方法
技术领域
本发明涉及计算机处理技术领域,尤其涉及一种对数据进行可视化处理的方法及系统。
背景技术
科学计算可视化技术在医学、分子化学和生物学、计算流体动力学、有限元分析、气象、地球物理等科学研究和国民经济领域有着重要应用。由于可视化是数据和计算密集型应用,在可视化技术的早期研究中,并行和分布技术就开始得到使用。早期的并行体绘制一般使用高端并行计算机和图形工作站。进入20世纪90年代中后期,PC逐渐普及,PC图形硬件的绘制能力不断提高,网络技术飞速发展,PC集群和联网PC (特别是PC集群)逐步取代了传统的高端并行机而成为并行可视化应用的理想平台。而Internet的兴起使得可视化应用利用Internet范围的存储、计算和绘制资源,并在Internet范围内提供服务成为一种可能和现实的需求。传统的网络可视化研究没有考虑面向Internet的异构性、互操作性、动态性和可扩展性。而从集中到分散、从紧耦合到松耦合、从小范围到大范围是并行计算机和网络技术的发展趋势。网格技术正是在这种条件下产生的一种前瞻性的面向互联网的分布式计算方式,它是传统的并行计算和分布式计算在深度和广度上的拓展。虽然网格技术仍在发展之中,但是它所提供的资源汇聚、自治协调等功能将使得可视化应用在更广的范围内进行数据存储和计算,更好地与科学计算程序集成,并让更广范围的用户通过网络以远程或协作方式使用可视化应用。现有的可视化处理是在结构上分为用于数据处理的计算服务器和用于用户指定规则显示的客户端。计算服务器主要依次完成如下步骤生成数据网络,科学计算涉及到的数据不仅参数个数本身两大而且所采集的数据量也是海量的;求解物理方程,在经过数据的网格化处理之后,进行物理方程的求解;生成结果数据并将数据存盘。在客户端,首先用户应该明确自己应该看的数据,所以先设定可视化的参数,比如视点,结果集的大小等等;根据用户的需求客户端从服务器的硬盘中读取出相应的结果数据加载到内存中;最后进行可视化绘制和显示,其相应的步骤参见图I中所示。由于计算结果先被存储到硬盘中,然后再图形工作站中或者普通的PC机终端对其进行可视化,但是工程数据有时非常庞大,特别是随时间可变的大规模数据场,这时的终端经常没有那么大的空间来存储原始数据,同时也没有那么大的内存对其进行可视化。这样,将经常出现内存不足的提示,甚至不能可视化。本方法在实施过程中对结果数据并没有优化、简化,可视化和数值计算想分离,数据量的大小还直接影响到端到端的通信负载,若网络不稳定,将严重的影响到可视化部分的运作。

发明内容
本发明的目的是提出一种对数据进行可视化的方法及系统,能够完成数据的网格化和采用多种形式将数据可视化,满足客户的多种需求,进行有效的负载均衡处理,有效加快了处理速度和系统稳定性。基于上述问题,本发明实施例提供了一种对数据进行可视化处理的方法,,包括如下步骤采用趋势面和残差叠加法实现数据的网格化;对网格化的数据采用相应的可视化技术;采用逻辑简化、纹理简化和编码压缩对数据进行去重留精;对数据格式的解析、逻辑关系的组装和可视化数据的生成; 将可视化数据进行显示。所述采用趋势面和残差叠加法实现数据的网格化包括根据实际需要选定一个m值,用于后面拟合多次曲面需要;利用趋势面拟合法,拟合出一个m次趋势面;作出数据点值与该趋势面之间的残差;将网格点上的趋势值和残差拟合值相加,作为网格点值。所述对网格化的数据采用相应的可视化技术包括标量数据场的并行可视化、矢量和张量数据场的并行可视化、基于特征分析的可视化。所述采用逻辑简化、纹理简化和编码压缩对数据进行去重留精包括逻辑简化,采用形式推理和演算将模块中的数据的逻辑关系明确,通过分析来自不同管道的数据关系,去除重复数据和可以直接生成的数据;纹理简化是针对一些纹理图像进行的一项简化技术,通常纹理都是具有规律的重复出现的,这时利用这种属性保持一次纹理属性,每次需要再现时只需要直接提取即可;数据压缩是在字节级别的数据压缩方法,采用赫夫曼编码压缩编码或者其他可变长编码算法实现。所述对数据格式的解析、逻辑关系的组装和可视化数据的生成包括数据格式的解析负责接受来自不同远端传来的数据,对其进行解码、格式解析,还原需要显示的数据;逻辑关系的组装是对并行数据之间内在逻辑的一种建立,采用预定义好的逻辑术语,每个数据都映射到一类逻辑类型,同时也需要声明它前后所需要相连的逻辑术语;根据不同的显示设备对数据的格式要求,转化成不同的数据格式。所述将可视化数据进行显示包括将需要可视化的数据和特定渲染技术相结合的预处理过程;采用OpenGL技术实现数据的移植性;将硬件资源抽象成一个对象,屏蔽顶层细节,使得上层开发人员不必知道底层各种技术细节,而是提供一种统一的编程接口 ; 将数据交由硬件进行显示。相应的,本发明实施例还提供了一种对数据进行可视化处理的系统,包括数据网格化模块,用于采用趋势面和残差叠加法实现数据的网格化;
可视化模块,用于对网格化的数据采用相应的可视化技术;简化模块,用于采用逻辑简化、纹理简化和编码压缩对数据进行去重留精;
组装模块,用于对数据格式的解析、逻辑关系的组装和可视化数据的生成;基本显示模块,用于将可视化数据进行显示所述可视化模块采用的可视化技术包括标量数据场的并行可视化、矢量和张量数据场的并行可视化、基于特征分析的可视化。本发明提出了一种大规模数据场的并行可视化系统,包含从数据的网格化到最终的终端显示一整套流程。在数据的网格化模块中采用趋势面和残差叠加的方法,兼顾了素具的全局和局部特性;在可视化模块采用了多种可视化技术相结合,互补互成,包含了标量、矢量和张量的数据场的并行可视化方法;为了达到更好的成像质量,我们还采用了机遇特征分析的技术,让可视化的质量更加的逼真;负载均衡是并行系统运行效率的一个重要影响因素。本发明采用一种任务池的技术能够很好的解决系统中负载均衡。然后,简化模块去重存精,将所需往下一模块的数据简直最少,减少数据传输量;组装模块负责装配来自不同远端的并行数据,最后交由基本显示模块进行显示。通过多种可视化技术相结合能够很好的适合不同的数据场,包括矢量、张量和标量;在基本的可视化技术上再结合机遇特征分析的可视化技术,能够进一步提升可视化的质量,同时计算量也不大;在并行框架中,为了达到并行性能的高效率,采用任务池技术对一个大的任务进行分割,由一群子线程来分别完成任务,能够很好的将负载均衡化。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图I是现有技术中的数据可视化处理的流程图;图2是本发明实施例中的对数据进行可视化的系统架构图;图3是本发明实施例中的叠加法做数据网格化流程;图4是本发明实施例中的可视化模块结构示意图;图5是本发明实施例中的张量场的可视化流程图;图6是本发明实施例中的任务池动态任务分配流程图;图7为本发明实施例中的简化模块结构示意图;图8为本发明实施例中的组装模块结构示意图;图9为本发明实施例中的基本显示模块结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的目的是提出一种能够高效并行处理大规模数据场的数值计算和数据可视化的系统,系统能够完成数据的网格化和采用多种形式将数据可视化,满足客户的多种需求,进行有效的负载均衡处理,有效加快了处理速度和系统稳定性。 本发明实施了例中提供的对数据进行可视化处理的方法,包括如下步骤采用趋势面和残差叠加法实现数据的网格化;对网格化的数据采用相应的可视化技术;采用逻辑简化、纹理简化和编码压缩对数据进行去重留精;对数据格式的解析、逻辑关系的组装和可视化数据的生成;将可视化数据进行显示。一个完整的大规模数据场的并行可视化系统至少包含两个主机一个是性能较高的、并行性好的计算主机,另一个是用户所用的一般PC机,用于显示所需要的结果;系统的绝大多数工作都集中在前者。如图2所示的对数据进行可视化处理的系统,该体系框架包含数据网格化模块、可视化模块、简化模块、组装模块和基本显示模块。其在高性能并行计算机上完成计算和可视化过程,但输出可视图形元素,而不是结果图像,从而在用户端可设置视点、光源、光照模型等等,最后得到可视化图像;在计算服务器上,用户仅在控制文件中定义采用的可视化方法,如剖面绘制、等值面绘制、流线绘制等。因为可视化过程和计算过程均在同一计算机上同时进行,不必将计算结果保存在盘上,从而避免了存储空间的限制;同时可充分利用计算服务器的海量内存完成可视化,最后的可视化结果通常比原始计算数据量要小得多。我们还根据用户的时间要求以及终端计算机内存和硬盘的限制,用并行简化模块减少输出到用户端的可视图形元素的数量以达到实时显示要求。本发明的数据的网格化模块采用一个既能反应数据的局部特征又能反应全局特性的方法,趋势面和残差叠加法(简称叠加法)。具体参见图3。叠加法做数据的网格化的具体步骤如下Stepl :用户根据实际需要选定一个m值,用于后面拟合多次曲面需要,转Step2 ;Step2 :利用趋势面拟合法,拟合出一个m次趋势面,转Step3 ;St印3 :作出数据点值与该趋势面之间的残差,转Step4 ;Step4 :将网格点上的趋势值和残差拟合值相加,作为网格点值。在叠加法中涉及到的趋势面分析是地学领域常用的数学方法,它可以把长周期的趋势性变化和短周期的局部性变化分开,根据趋势性变化可以总结规律,根据局部性变化可以发现异常。从计算机制图角度看,趋势面分析是用简单的幂级数多项式来拟合复杂的地学曲面,有削平、填平实际曲面的作用。可视化模块采用对不同数据采用不同的可视化技术,主要包括标量数据场的并行可视化、矢量和张量数据场的并行可视化、基于特征分析的可视化。具体如图4所示。在标量数据场的并行可视化中我们采用剖面绘制技术。剖面绘制是可视化中最常采用的技术,由于它简单、高效,每一种可视化软件都提供了该技术。本发明还结合并行等值面、体绘制、区间绘制技术。由于等值面绘制方法仅能揭示一小部分场的信息,所以通过采用并行体绘制方法,通过体光照模型直接从三维数据场中绘制出各种物理量的分布情况,从而可视化了整个数据场。进一步以区间体绘制相辅助,在绘图的效率上比单纯的体绘制方法效率上又更为进一步的提高。在矢量场的可视化模块中我们采用流线技术,并将该技术扩展到并行环境中。为了揭示更多的三维信息,将流线上的每个点根据矢量的大小赋予半径值,形成流管,从而可通过光照亮度的变化反映出更多的三维旋转信息,同时半径和颜色值可反映两个物理量,比原来的流线绘制多表达了一维信息。由于流线方法建立在对流场离散采样的基础上,其可视化的质量严重依赖于种子点的选取。如果种子点选取得过于密集,则可能导致可视混舌L但若选取得过于稀疏,又有可能漏掉流场中重要的结构和细节。基于纹理的方法则可较好地解决这个问题,由于它在每个象素处均进行亮度计算,因而可避免采样的问题,同时借助于纹理的变形,矢量的方向可视清楚地揭示出来,因此基于纹理的方法是目前最有潜力的矢量场可视化方法。本发明采用该技术作为矢量场模块的技术实现。
张量场在工程中非常普遍,但由于其包含9个分量,很难在二维屏幕上将如此多的信息表达出来,因此张量场的可视化一直是可视化中极具挑战性的一个研究领域。超流线(Hyperstream lines)方法由于能在一条连续的三维路径上同时揭示出张量的9个分量。所以采用超流线方法能够很好的可视化张量场数据。超流线法可视化张量场可参见图5,具体步骤如下Stepl :将张量的9个分量分解为3个特征向量,按其相应特征值的大小依次称为主特征向量、次特征向量、最小特征向量,转Step2 ;St印2:选定种子点,然后从种子点出发根据主特征向量的方向生成轨迹线,转Step3 ;Step3 :在该轨迹线的每个点上附加一椭圆形成流管,椭圆的长轴和短轴方向分别反映了次特征向量和最小特征向量的方向,其长轴和短轴长度则为其对应向量的大小,然后转Step4 ;Step4 :将主特征向量的大小映射为流管面上相应点的颜色,至此,3个特征向量就同时显示来。为了提高可视化的质量,系统进一步采用了特征分析的技术。如前所述,用流线、超流线可视化矢量场、张量场时,其质量严重依赖于种子点的选取,应该尽量选取能更多地反映数据场特征的种子点。但用户在可视化之前,通常对场的特性并不是非常了解,因此系统自动获取场的特征就变得非常重要。本系统采用矢量场的拓扑特性分析技术。首先对场进行特征提取,找到特征点、特征面,然后根据这些特征点和面自动决定种子点的密度和位置。使得流线和超流线在场中有合理、有效的分布。为了提高并行效率,在种子点的选取上还同时考虑了使它们相对均衡地分布在各处理器上。有时用户也许会对并不重要的区域感兴趣,因此我们还同时提供了多种方便的方式允许用户自己定义种子点,如输入点的坐标,输入网格单元(或网格节点)的全局编码,输入网格单元(或网格节点)所在的处理器号及其局部编码等等。此外,我们还将矢量场的拓扑特征分析技术用于加速矢量场纹理图像的生成,根据矢量场的特征,计算场中各点的重要性值,由其重要性值决定纹理计算的精细程度以及选取不同的纹理粒度,从而加速图像的生成,并可突出矢量场的重要特征。因为纹理的密集性,将基于纹理的矢量场可视化方法扩展到三维体绘制时常常难以得到较好的效果,可以用场的特征控制体绘制的转换函数,改善体绘制图像的质量。负载均衡是提高体绘制并行效率的重要途径。本发明采用一种任务池的技术能够很好的解决负载均衡的问题,如图6所示。具体步骤如下Stepl :平台初始化,启动主线程,并做初始的内存分配等工作,转Step2 ;Step2 :初始化子线程群,包括每个线程所需要的内存空间、资源等,转Step3 ;
Step3 :将任务分成一些子任务,然后将各个子任务派发给各个子线程,转Step4 ;Step4 :等待子任务的结果,判断任务池是否已空,若没有空转Step5,否则转Step6 ;Step5 :分配一个子任务给返回的空闲子线程,转Step4 ;St印6 :杀死返回的子线程,判断是否所有子线程都已经死亡,若是则转Step7,否则转Step4 ;Step7 :组装并显示,结束。 简化模块简化模块是对数据进行去重留精的模块,主要应用逻辑简化、纹理简化和编码压缩三方面简化技术来实现。逻辑简化,采用形式推理和演算将模块中的数据的逻辑关系明确,通过分析来自不同管道的数据关系,去除重复数据和可以直接生成的数据。纹理简化是针对一些纹理图像进行的一项简化技术。通常纹理都是具有规律的重复出现的,这时可以利用这种属性保持一次纹理属性,每次需要再现时只需要直接提取即可。数据压缩是在字节级别的数据压缩方法,可以采用现行成熟的压缩算法,例如赫夫曼编码压缩编码或者其他可变长编码算法实现。其结构可参见图7所示。组装模块,其构成如图8所示。组装模块实现将并行数据的组装。大规模数据常通常来自不同端的数据之间需要进行组装来完成可视化工作,而组装工作就是数据融合的过程。组装模块包含数据格式的解析、逻辑关系的组装和可视化数据的生成三部分。数据格式的解析负责接受来自不同远端传来的数据,对其进行解码、格式解析,还原需要显示的数据。解码需要和简化模块中的编码压缩模块想对应,如果编码压缩模块采用的赫夫曼编码,那么在这里也需要采用赫夫曼解码,如果采用的是其他编码算法,则需要其对应的解码算法,这里我们缺省情况采用赫夫曼编码即可。逻辑关系的组装是对并行数据之间内在逻辑的一种建立,采用预定义好的逻辑术语,每个数据都映射到一类逻辑类型,同时也需要声明它前后所需要相连的逻辑术语。此外,在组装过程中除了逻辑术语还有逻辑策略,逻辑策略在多种组装方式都可行的时候可以根据策略的偏向进行不同的逻辑优化。最后将并行数据进行组装生成组装后的数据,数据需要送往下一基本显示模块,根据不同的显示模块对数据的格式要求,需要转化成不同的数据格式,至此,组装模块的工作完毕。基本显示模块是负责将许可视化的数据进行显示的,如图9所示。它可以采用DirectX技术或者OpenGL技术,为了实现更好的移植性,我们采用OpenGL技术,而且OpenGL也大有成为学术和工业标准的趋势。基本显示模块的构成如图8所示。数据预处理模块是将需要可视化的数据和特定渲染技术相结合的预处理过程,这里采用的OpenGL技术,所以我们需要将数据进行和OpenGL匹配的格式,例如将点类型的数据转换成Vertex类型,如果采用了顶点缓冲区和所以缓冲区相结合的,则需要根据原来的顶点列表生成相应的索引列表,并且改变顶点列表,使得列表中每个顶点都是独一无二的。OpenGL库是图形渲染库,是学术界和工业界专业的图形显示库,我们可以根据需要对其进行定制,移植到我们的平台中来。OpenGL并不直接和硬件打交道,而是和硬件抽象层联系。硬件抽象层将硬件资源抽象成一个对象,屏蔽顶层细节,使得上层开发人员不必知道底层各种技术细节,而是提供一种统一的编程接口。硬件抽象层通常是根据系统平台的不同而命名上有所差异,但基本策略和架构都是一样的,目的都是为了屏蔽底层的差异性。驱动程序是直接和硬件打交道的,它是由硬件制造商提供的,它遵循硬件抽象层的规则,向上提供服务。最后显示模块将数据交由硬件进行显示。总而言之,本发明提出了一种大规模数据场的并行可视化系统。框架包含从数据的网格化到最终的终端显示一整套流程。在数据的网格化模块中采用趋势面和残差叠加的方法,兼顾了素具的全局和局部特性;在可视化模块采用了多种可视化技术相结合,互补互成,包含了标量、矢量和张量的数据场的并行可视化方法;为了达到更好的成像质量,我们还采用了机遇特征分析的技术,让可视化的质量更加的逼真;负载均衡是并行系统运行效率的一个重要影响因素。本发明采用一种任务池的技术能够很好的解决系统中负载均衡。然后,简化模块去重存精,将所需往下一模块的数据简直最少,减少数据传输量;组装模块负责装配来自不同远端的并行数据,最后交由基本显示模块进行显示。 通过多种可视化技术相结合能够很好的适合不同的数据场,包括矢量、张量和标量;在基本的可视化技术上再结合机遇特征分析的可视化技术,能够进一步提升可视化的质量,同时计算量也不大;在并行框架中,为了达到并行性能的高效率,采用任务池技术对一个大的任务进行分割,由一群子线程来分别完成任务,能够很好的将负载均衡化。以上对本发明实施例所提供的对数据进行可视化处理的方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种对数据进行可视化处理的方法,其特征在于,包括如下步骤 采用趋势面和残差叠加法实现数据的网格化; 对网格化的数据采用相应的可视化技术; 采用逻辑简化、纹理简化和编码压缩对数据进行去重留精; 对数据格式的解析、逻辑关系的组装和可视化数据的生成; 将可视化数据进行显示。
2.如权利要求I所述的对数据进行可视化处理的方法,其特征在于,所述采用趋势面和残差叠加法实现数据的网格化包括 根据实际需要选定一个m值,用于后面拟合多次曲面需要; 利用趋势面拟合法,拟合出一个m次趋势面; 作出数据点值与该趋势面之间的残差; 将网格点上的趋势值和残差拟合值相加,作为网格点值。
3.如权利要求2所述的对数据进行可视化处理的方法,其特征在于,所述对网格化的数据采用相应的可视化技术包括 标量数据场的并行可视化、矢量和张量数据场的并行可视化、基于特征分析的可视化。
4.如权利要求3所述的对数据进行可视化处理的方法,其特征在于,所述采用逻辑简化、纹理简化和编码压缩对数据进行去重留精包括 逻辑简化,采用形式推理和演算将模块中的数据的逻辑关系明确,通过分析来自不同管道的数据关系,去除重复数据和可以直接生成的数据; 纹理简化是针对一些纹理图像进行的一项简化技术,通常纹理都是具有规律的重复出现的,这时利用这种属性保持一次纹理属性,每次需要再现时只需要直接提取即可; 数据压缩是在字节级别的数据压缩方法,采用赫夫曼编码压缩编码或者其他可变长编码算法实现。
5.如权利要求4所述的对数据进行可视化处理的方法,其特征在于,所述对数据格式的解析、逻辑关系的组装和可视化数据的生成包括 数据格式的解析负责接受来自不同远端传来的数据,对其进行解码、格式解析,还原需要显示的数据; 逻辑关系的组装是对并行数据之间内在逻辑的一种建立,采用预定义好的逻辑术语,每个数据都映射到一类逻辑类型,同时也需要声明它前后所需要相连的逻辑术语; 根据不同的显示设备对数据的格式要求,转化成不同的数据格式。
6.权利要求5所述的对数据进行可视化处理的方法,其特征在于,所述将可视化数据进行显示包括 将需要可视化的数据和特定渲染技术相结合的预处理过程; 采用OpenGL技术实现数据的移植性; 将硬件资源抽象成一个对象,屏蔽顶层细节,使得上层开发人员不必知道底层各种技术细节,而是提供一种统一的编程接口 ; 将数据交由硬件进行显示。
7.—种对数据进行可视化处理的系统,其特征在于,包括 数据网格化模块,用于采用趋势面和残差叠加法实现数据的网格化;可视化模块,用于对网格化的数据采用相应的可视化技术; 简化模块,用于采用逻辑简化、纹理简化和编码压缩对数据进行去重留精; 组装模块,用于对数据格式的解析、逻辑关系的组装和可视化数据的生成; 基本显示模块,用于将可视化数据进行显示。
8.如权利要求7所述的系统,其特征在于,所述可视化模块采用的可视化技术包括标量数据场的并行可视化、矢量和张量数据场的并行可视化、基于特征分析的可视化。
全文摘要
本发明实施例公开了一种对数据进行可视化处理的方法,包括如下步骤采用趋势面和残差叠加法实现数据的网格化;对网格化的数据采用相应的可视化技术;采用逻辑简化、纹理简化和编码压缩对数据进行去重留精;对数据格式的解析、逻辑关系的组装和可视化数据的生成;将可视化数据进行显示。本发明实施例还公开了一种对数据进行可视化处理的系统,本发明实施例,通过多种可视化技术相结合能够很好的适合不同的数据场,在基本的可视化技术上再结合机遇特征分析的可视化技术,能够进一步提升可视化的质量,同时计算量也不大。
文档编号G06F9/44GK102622198SQ20121004937
公开日2012年8月1日 申请日期2012年2月29日 优先权日2012年2月29日
发明者曾金龙, 王若梅, 陈湘萍 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1