基于三维gis海量数据分布式计算可视化显示的方法及装置制造方法
【专利摘要】本发明提供一种基于三维GIS海量数据分布式计算可视化显示的方法及装置,所述方法包括以下步骤:接收客户端所发送的可视化显示请求;所述可视化显示请求中包括待显示数据的区域信息、时间信息;获取参与分布式计算的节点机的数量;所述节点机中预先存储有三维GIS海量数据;根据所述区域信息、时间信息以及节点机的数量进行任务分配,并将任务分配的结果发送给对应的节点机;接收各节点机进行分布式计算后所反馈的可视化结果数据,并汇总所述可视化结果数据后发送到所述客户端以进行可视化显示。本发明的一种基于三维GIS海量数据分布式计算可视化显示的方法及装置提高了海量数据可视化计算并显示的效率,实现了三维GIS的动态可视化流畅显示。
【专利说明】基于三维GIS海量数据分布式计算可视化显示的方法及装
【技术领域】
[0001]本发明涉及可视化【技术领域】,特别是涉及一种基于三维GIS海量数据分布式计算可视化显示的方法以及一种基于三维GIS海量数据分布式计算可视化显示的装置。
【背景技术】
[0002]可视化技术是指利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,并进行数字自交互处理的方法和技术。在数字自交互的研究阶段中,通过站点地图还原原理的研究和站点地图可视化方法分析,从可视化结构和视觉映射两个方面设计站点地图的可视化模型,完成站点数据的可视化目标。
[0003]目前,海量数据获取及管理能力、网络传输、数据发布等关键因素一直制约三维GIS (Geographic Information System,地理信息系统)发展。现有的技术中,以WebGIS为例,其计算能力不是问题,瓶颈在于数据的获取和多元异构数据的存储、转换。虽然目前三维GIS可视化技术研究已取得了一定的成果,但在海量数据的可视化计算上,由于参与计算的数据量比较大,需要耗费大量的时间,使得海量数据可视化计算的效率非常低,极大地影响了三维GIS可视化的流畅性。
【发明内容】
[0004]基于此,本发明提供一种基于三维GIS海量数据分布式计算可视化显示的方法及装置,能够提高海量数据可视化计算的效率。
[0005]为实现上述目的,本发明采用如下的技术方案:
[0006]一种基于三维GIS海量数据分布式计算可视化显示的方法,包括以下步骤:
[0007]接收客户端所发送的可视化显示请求;所述可视化显示请求中包括待显示数据的区域信息、时间信息;
[0008]获取参与分布式计算的节点机的数量;所述节点机中预先存储有三维GIS海量数据;
[0009]根据所述区域信息、时间信息以及节点机的数量进行任务分配,并将任务分配的结果发送给对应的节点机;
[0010]接收各节点机进行分布式计算后所反馈的可视化结果数据,并汇总所述可视化结果数据后发送到所述客户端以进行可视化显示。
[0011]一种基于三维GIS海量数据分布式计算可视化显示的装置,包括服务端,所述服务端包括:
[0012]可视化显示请求接收模块,用于接收客户端所发送的可视化显示请求;所述可视化显示请求中包括待显示数据的区域信息、时间信息;
[0013]数量获取模块,用于获取参与分布式计算的节点机的数量;所述节点机中预先存储有三维GIS海量数据;[0014]任务分配模块,用于根据所述区域信息、时间信息以及节点机的数量进行任务分配,并将任务分配的结果发送给对应的节点机;
[0015]数据汇总模块,用于接收各节点机进行分布式计算后所反馈的可视化结果数据,并汇总所述可视化结果数据后发送到所述客户端以进行可视化显示。
[0016]由以上方案可以看出,本发明的一种基于三维GIS海量数据分布式计算可视化显示的方法及装置,预先在节点机上存储有三维GIS海量数据,当接收到客户端发送的可视化显示请求时,按节点机的数量、区域和时间来进行计算任务的分配并通知到节点机,各节点机接收分配的任务并对海量数据进行分布式计算,然后把计算的结果汇总后发送给客户端以进行可视化显示。由于本发明的方案中按照区域、时间等实际需求在各节点机上加载数据并进行分布式计算,因此极大地减少了参与可视化计算的数据量,使用较少的时间即可以完成可视化计算,提高了海量数据可视化计算并显示的效率,实现了三维GIS的动态可视化流畅显示。
【专利附图】
【附图说明】
[0017]图1为本发明一种基于三维GIS海量数据分布式计算可视化显示的方法流程示意图;
[0018]图2为本发明一种基于三维GIS海量数据分布式计算可视化显示的装置结构示意图。
【具体实施方式】
[0019]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0020]除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。
[0021]本发明的大致思路如下:本发明提供一种基于三维GIS海量数据分布式计算、并对计算的结果持续流程序列可视化的方法,对三维GIS海量原始数据按时间与区域进行检索并实时分布式计算,然后动态把计算结果序列化之后按时间轴进行动态的演变显示。通过预先分布式存储海量原始数据,并根据客户端可视化请求对数据按区域进行切分,各节点机接收分配的任务对海量数据进行分布式计算,把计算的结果序列化成XMUeXtensibleMarkup Language,可扩展标记语言),通过XML大数据交换,客户端反序列化成相应的分布式计算可视化结果。
[0022]实施例一
[0023]参见图1所示,一种基于三维GIS海量数据分布式计算可视化显示的方法,包括以下步骤:
[0024]步骤S101,接收客户端所发送的可视化显示请求;所述可视化显示请求中包括待显示数据的区域信息、时间信息,例如要显示某地区某时间段内的交通GPS(GlobalPositioning System,全球定位系统)车辆数据,则客户端发送给服务端的可视化显示请求中会包括上述的区域和时间等信息。
[0025]步骤S102,获取参与分布式计算的节点机的数量;需要说明的是,本发明中参与分布式计算的各节点机中均预先存储有三维GIS海量数据。
[0026]步骤S103,根据所述区域信息、时间信息以及节点机的数量进行任务分配,并将任务分配的结果发送给对应的节点机。例如现在需要计算的是2012年广州市的三维GIS数据,则可以先进行任务分配,将该年度天河区、越秀区等区域的数据分别分配给节点机1、节点机2等进行可视化计算。
[0027]步骤S104,各节点机进行分布式计算后会得到可视化结果数据并反馈给服务端,则本步骤中服务端接收各节点机进行分布式计算后所反馈的可视化结果数据,并汇总所述可视化结果数据后发送到所述客户端,以进行可视化显示。
[0028]作为一个较好的实施例,在接收客户端所发送的可视化显示请求之前,还可以包括如下步骤:
[0029]对各节点机中存储的三维GIS海量数据按照格式、类型进行归类,根据归类的结果建立若干个文件列表,并对所述文件列表进行清理和排序,以去掉重复的数据,并对同一文件列表中的元素根据键值名(即Key值)进行合并;
[0030]按照区域、时间将各节点机中存储的三维GIS海量数据切分成文件集;
[0031]对切分得到的文件集进行冗余处理,生成节点机地图文件列表数据。
[0032]作为一个较好的实施例,本发明在步骤S102将任务分配的结果发送给对应的节点机之后、步骤S103接收各节点机进行分布式计算后所反馈的可视化结果数据之前,还可以包括如下步骤:
[0033]步骤S105,根据所述任务分配的结果在节点机的地图文件列表数据中检索可视化相关数据,并判断是否检索到已有的可视化结果数据;若是,则说明当前节点中已经存在需要的可视化结果数据,此时可以直接将检索到的可视化结果数据发送给服务端进行汇总;否则进入步骤S106 ;
[0034]步骤S106,若否,即当前节点中尚不存在服务端需要的可视化结果数据,则可以进行分布式计算以得到服务端所需要的可视化结果数据。分布式计算的具体过程如下:根据节点机中存储的三维GIS海量数据和所述地图文件列表数据提取参与分布式计算的关联数据,并通过在各节点机中检索对应区域、时间的数据来获取指定时间、区域数据,对获取的指定时间、区域数据按照预定的展示方式(例如以柱状图的形式进行展示)进行分布式计算,生成分布式计算的可视化结果数据,并缓存在节点机上。
[0035]进一步的,本发明在生成上述分布式计算的可视化结果数据之后,还可以包括如下步骤:
[0036]在空闲时按照预定的数据结构生成本地数据文件,存储到各节点机上,并建立用于检索的可视化结果索引,以实现地理信息系统地图数据的快速查询、加载和显示等。
[0037]另外,作为一个较好的实施例,在步骤S104汇总所述可视化结果数据之后,还可以包括步骤:按照时间、区域生成编号流数据,并按照预定的格式进行序列化处理,得到XML数据;此时,客户端可以按照序列的编号接收序列化数据,进行反序列处理,得到相应的可视化数据流并进行可视化显示。[0038]作为一个较好的实施例,本发明中将分布式计算的可视化结果数据传输到请求的客户端之后,客户端进行可视化显示的过程具体可以包括如下步骤:
[0039]对所述可视化数据流建立多窗口线程进行可视化处理;
[0040]以多窗口组成统一逻辑区域对可视化请求的结果进行动态可视化显示。
[0041]在另一个实施例中,客户端进行可视化显示的过程具体可以包括如下步骤:
[0042]将接收到的流的数据分发到各地理坐标的待显示区域;
[0043]按照时间的数据驱动各区域可视化数据动态显示;
[0044]按照时间驱动平滑的显示可视化数据,比如以动画的方式进行过渡;
[0045]将分布式计算时得到的可视化风格数据进行地理坐标的动态可视化渲染。
[0046]本发明实施例中,通过分布式存储数据然后在各节点机进行分布式计算,并把计算结果按编号存储并汇总,按编号存储并汇总的计算结果存储到缓存中。通过计算结果进行序列化,用大数据XML进行交互并反序列化,并按照时间进行可视化动态显示。这样一来不仅提高了对海量数据计算的效率,并且实现了按时空顺序对数据动态可视化显示的目的。
[0047]实施例二
[0048]本实施例中,可以不通过服务端,而直接在客户端与节点机之间采用共享内存的方式进行数据交互。具体可以包括如下步骤:
[0049]步骤S201,客户端与分布式节点机建立连接;
[0050]步骤S202,客户端对当前焦点的海量数据进行可视化请求指令;
[0051]步骤S203,各节点机对请求的可视化指令进行三维GIS海量数据的检索;
[0052]步骤S204,对海量数据按照时间、区域进行任务划分,用于将复杂的计算任务划分为多个独立计算任务;
[0053]步骤S205,提交到分布式计算分配任务并启动待执行的任务;
[0054]步骤S206,分布式节点机对三维GIS海量数据进行分布计算;
[0055]步骤S207,对分布式计算可视化结果进行汇总、缓存,并序列化成XML数据;
[0056]步骤S208,分布式节点机和客户端各自均采用共享内存的方式进行XML数据的交换;
[0057]步骤S209,客户端接与节点机进行XML数据的反序列,得到区域相应可视化数据流;
[0058]步骤S210,收到的区域相应可视化数据流通过建立多窗口线程进行可视化处理。所有窗口的区域与任务划分区域可以相同;
[0059]步骤S211,以多窗口组成统一逻辑区域对可视化请求的结果进行动态显示。
[0060]本实施例中,通过对三维GIS海量数据进行按时间、区域等方式对文件列表的分害I],对计算任务的分配,对客户端计算的结果以窗口的形式进行内存共享,建立数据对应窗口进行实时更新。这种在节点机及客户端上采用共享内存式的方法进行数据交换的方式,提高了分布式计算的效率,提高了数据更新效率并提高了动态可视化流畅显示。
[0061]实施例三
[0062]海量的交通GPS车辆数据,进行分布式计算,对分布式计算的结果进行序列化成XML,客户端与服务端进行大数据XML数据交换,客户端对XML进行反序列化,并对结果进行可视化显示。客户端根据传输的XML时间值进行数据可视化的演变。演变实时的交通状态或历史数据可视化的变化经过。
[0063]实施例四
[0064]分布式存储区域、时间的GPS全部数据,利用分布计算强大的数据处理能力,对城市交通中大量的流动车数据进行监管,实现流动车数据的查询、地图匹配、道路交叉的分布式计算。客户端对分布式计算的可视化结果进行实时显示。并按照数据影响的区域进行区域放大可视化显示,如道路的宽度、颜色等。
[0065]实施例五
[0066]客户端对当前区域某个时间段进行可视化显示请求,各节点机对请求的可视化指令进行海量数据的检索。对检索的海量数据进行计算,按照区域进行分任务、提交,并进行分布式计算,把分布式计算结果序列化成XML,以共享内存的方式对客户端窗口进行反序列化可视化结果显示。
[0067]实施例六
[0068]各节点机对具有地理坐标的数据,计算在指定时间内平均单位时间的GPS数据的密集度。客户端对XML数据进行反序列化,对结果进行可视化。按照一定的时间段对该区域的数据进行GPS拥堵情况的可视化显示。
[0069]与上述一种基于三维GIS海量数据分布式计算可视化显示的方法相对应,本发明还提供一种基于三维GIS海量数据分布式计算可视化显示的装置,如图2所示,包括服务端10,所述服务端10包括:
[0070]可视化显示请求接收模块101,用于接收客户端30所发送的可视化显示请求;所述可视化显示请求中包括待显示数据的区域信息、时间信息;
[0071]数量获取模块102,用于获取参与分布式计算的节点机20的数量;所述节点机20中预先存储有三维GIS海量数据;
[0072]任务分配模块103,用于根据所述区域信息、时间信息以及节点机的数量进行任务分配,并将任务分配的结果发送给对应的节点机20 ;
[0073]数据汇总模块104,用于接收各节点机20进行分布式计算后所反馈的可视化结果数据,并汇总所述可视化结果数据后发送到所述客户端30以进行可视化显示。
[0074]作为一个较好的实施例,本发明的一种基于三维GIS海量数据分布式计算可视化显示的装置还可以包括:若干个节点机20 ;所述节点机20包括:
[0075]归类模块201,用于对各节点机中存储的三维GIS海量数据按照格式、类型进行归类,根据归类的结果建立若干个文件列表,并对所述文件列表进行清理和排序,对同一文件列表中的元素根据键值名进行合并;
[0076]切分模块202,用于按照区域、时间将各节点机中存储的三维GIS海量数据切分成文件集;
[0077]冗余处理模块203,用于对切分得到的文件集进行冗余处理,生成节点机地图文件列表数据。
[0078]作为一个较好的实施例,所述节点机20还可以包括:
[0079]判断模块204,用于根据所述任务分配的结果在节点机的地图文件列表数据中检索可视化相关数据,并判断是否检索到已有的可视化结果数据;[0080]分布式计算模块205,用于在所述判断模块的判断结果为否的情况下,根据节点机中存储的三维GIS海量数据和所述地图文件列表数据提取参与分布式计算的关联数据,并通过在各节点机中检索对应区域、时间的数据来获取指定时间、区域数据,对获取的指定时间、区域数据按照预定的展示方式进行分布式计算,生成分布式计算的可视化结果数据,并缓存在节点机上。
[0081]上述一种基于三维GIS海量数据分布式计算可视化显示的装置的其它技术特征与本发明的一种基于三维GIS海量数据分布式计算可视化显示的方法相同,此处不予赘述。
[0082]通过以上方案可以看出,本发明的一种基于三维GIS海量数据分布式计算可视化显示的方法及装置,预先在节点机上存储有三维GIS海量数据,当接收到客户端发送的可视化显示请求时,按节点机的数量、区域和时间来进行计算任务的分配并通知到节点机,各节点机接收分配的任务并对海量数据进行分布式计算,然后把计算的结果汇总后发送给客户端以进行可视化显示。由于本发明的方案中按照区域、时间等实际需求在各节点机上加载数据并进行分布式计算,因此极大地减少了参与可视化计算的数据量,使用较少的时间即可以完成可视化计算,提高了海量数据可视化计算并显示的效率,实现了三维GIS的动态可视化流畅显示。
[0083]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种基于三维Gis海量数据分布式计算可视化显示的方法,其特征在于,包括以下步骤: 接收客户端所发送的可视化显示请求;所述可视化显示请求中包括待显示数据的区域信息、时间信息; 获取参与分布式计算的节点机的数量;所述节点机中预先存储有三维GIS海量数据; 根据所述区域信息、时间信息以及节点机的数量进行任务分配,并将任务分配的结果发送给对应的节点机; 接收各节点机进行分布式计算后所反馈的可视化结果数据,并汇总所述可视化结果数据后发送到所述客户端以进行可视化显示。
2.根据权利要求1所述的基于三维GIS海量数据分布式计算可视化显示的方法,其特征在于,在接收客户端所发送的可视化显示请求之前,还包括步骤: 对各节点机中存储的三维GIS海量数据按照格式、类型进行归类,根据归类的结果建立若干个文件列表,并对所述文件列表进行清理和排序,对同一文件列表中的元素根据键值名进行合并; 按照区域、时间将各节点机中存储的三维GIS海量数据切分成文件集; 对切分得到的文件集进行冗余处理,生成节点机地图文件列表数据。
3.根据权利要求2所 述的基于三维GIS海量数据分布式计算可视化显示的方法,其特征在于,在将任务分配的结果发送给对应的节点机之后、接收各节点机进行分布式计算后所反馈的可视化结果数据之前,还包括步骤: 根据所述任务分配的结果在节点机的地图文件列表数据中检索可视化相关数据,并判断是否检索到已有的可视化结果数据; 若否,则根据节点机中存储的三维GIS海量数据和所述地图文件列表数据提取参与分布式计算的关联数据,并通过在各节点机中检索对应区域、时间的数据来获取指定时间、区域数据,对获取的指定时间、区域数据按照预定的展示方式进行分布式计算,生成分布式计算的可视化结果数据,并缓存在节点机上。
4.根据权利要求3所述的基于三维GIS海量数据分布式计算可视化显示的方法,其特征在于,在生成分布式计算的可视化结果数据之后,还包括步骤: 在空闲时按照预定的数据结构生成本地数据文件,存储到各节点机上,并建立用于检索的可视化结果索引。
5.根据权利要求1所述的基于三维GIS海量数据分布式计算可视化显示的方法,其特征在于,在汇总所述可视化结果数据之后,还包括步骤:按照时间、区域生成编号流数据,并按照预定的格式进行序列化处理; 所述客户端按照序列的编号接收序列化数据,进行反序列处理,得到相应的可视化数据流并进行可视化显示。
6.根据权利要求5所述的基于三维GIS海量数据分布式计算可视化显示的方法,其特征在于,所述进行可视化显示的过程包括: 对所述可视化数据流建立多窗口线程进行可视化处理; 以多窗口组成统一逻辑区域对可视化请求的结果进行动态可视化显示。
7.根据权利要求5所述的基于三维GIS海量数据分布式计算可视化显示的方法,其特征在于,所述客户端以及各节点机均采用共享内存的方式进行数据交换。
8.一种基于三维GIS海量数据分布式计算可视化显示的装置,其特征在于,包括服务端,所述服务端包括: 可视化显示请求接收模块,用于接收客户端所发送的可视化显示请求;所述可视化显示请求中包括待显示数据的区域信息、时间信息; 数量获取模块,用于获取参与分布式计算的节点机的数量;所述节点机中预先存储有三维GIS海量数据; 任务分配模块,用于根据所述区域信息、时间信息以及节点机的数量进行任务分配,并将任务分配的结果发送给对应的节点机; 数据汇总模块,用于接收各节点机进行分布式计算后所反馈的可视化结果数据,并汇总所述可视化结果数据后发送到所述客户端以进行可视化显示。
9.根据权利要求8所述的基于三维GIS海量数据分布式计算可视化显示的装置,其特征在于,还包括:若干个节点机;所述节点机包括: 归类模块,用于对各节点机中存储的三维GIS海量数据按照格式、类型进行归类,根据归类的结果建立若干个文件列表,并对所述文件列表进行清理和排序,对同一文件列表中的元素根据键值名进行合并; 切分模块,用于按 照区域、时间将各节点机中存储的三维GIS海量数据切分成文件集; 冗余处理模块,用于对切分得到的文件集进行冗余处理,生成节点机地图文件列表数据。
10.根据权利要求9所述的基于三维GIS海量数据分布式计算可视化显示的装置,其特征在于,所述节点机还包括: 判断模块,用于根据所述任务分配的结果在节点机的地图文件列表数据中检索可视化相关数据,并判断是否检索到已有的可视化结果数据; 分布式计算模块,用于在所述判断模块的判断结果为否的情况下,根据节点机中存储的三维GIS海量数据和所述地图文件列表数据提取参与分布式计算的关联数据,并通过在各节点机中检索对应区域、时间的数据来获取指定时间、区域数据,对获取的指定时间、区域数据按照预定的展示方式进行分布式计算,生成分布式计算的可视化结果数据,并缓存在节点机上。
【文档编号】G06F3/14GK104007948SQ201410223337
【公开日】2014年8月27日 申请日期:2014年5月23日 优先权日:2014年5月23日
【发明者】林良辉 申请人:广东威创视讯科技股份有限公司