专利名称:一种海量动态数据聚合和渲染的方法
技术领域:
本发明涉及一种海量动态数据聚合和渲染的方法,具体的说是一种空间上的动态的海量的数据进行空间聚合和空间渲染的方法,我们称之为:聚合渲染系统。
背景技术:
随着国内网页地理系统的持续发热,越来越多的行业系统平台引入了网页地理系统。在满足其他行业系统平台对传统网页地理系统需求之外,越来越提出更高层次的需求。他们已不满足与数据在网页地理系统的标示,也不满足于千数量级的标示,而是需要动态的,数量级上万的,甚至上十万上百万级的一个标示系统。网页地理系统对于标示的效率有高效的标示系统,但是这是对于一般数量级来说的。当标示上千时,网页系统出现明显的停顿,严重影响网页浏览者的工作效率。而且传统的网页标示系统都是静态的,即标示的位置是不会发生变化的,无法实时的改变标示的位置,即无法描述标示位置的动态变化。当网页地图系统缩放等级拉到省级国家级时,大数量的标示占满了屏幕,已无法从这些标示中了解有用信息了,如果此时能够对标示进行属性筛选并在空间聚合,便可以很方便的总揽某种属性条件下的标示。众所周知的聚类算法的时间复杂度能够在上千的数量级下就可以拖垮整个网页,更不用提上万、十万、百万的数量级了。
发明内容
本发明的目的是提供一种海量动态数据聚合和渲染的实现方法。以后的文字描述中将以车辆代替词语“标示”,也即该系统在车辆管理系统平台下的应用来说明本方法。该聚合和渲染系统以网页地理系统系统为基础,在二维地图上展示海量的货运/客运/危险品/特种车辆。展示车辆的方式有2种:一种是通过渲染栅格图片的形式来进行展示,展示的效果类似网页地理系统的标示系统,而且这种展示附带有提示框功能,此功能在鼠标悬浮在车辆标示上时弹出显示;一种是通过聚合的形式进行展示,在地理上进行二维空间聚合统计数据的展示,以方便用户在二维空间上总揽车辆在地理上得分布统计状况。本发明共包含多个功能模块,其中有数据交换模块、数据编译模块、数据查询模块、数据聚合模块、数据渲染模块、提示信息生成模块。具体来说是:(I)数据交换模块。由于数据交互需要跨越两个平台,所以需要一个模块把数据从一个平台转移到另外一个平台。此模块主要负责车辆系统管理平台把车辆数据交给地理信息系统平台。(2)数据编译模块。由于数据量级比较大,为了提高核心功能的响应速度,针对应用功能建立了字段索引、空间索引以及统计索引。此模块用来完成此功能。(3)数据查询模块。此模块主要用来满足功能上字段过滤需求以及空间范围查找需求。利用已经建立好的字段索引以及空间索引进行快速查找,产生结果集供数据渲染模块、提示信息生成模块使用。
(4)数据聚合模块。传统的聚类算法是对所有的数据进行遍历的,而此模块是在进行子空间预先聚合的模式下进行的,在每次空间聚合请求时,实际需要聚合的子空间控制在256以下,大大节省了聚类算法的时间复杂度。此模块利用了聚合索引数据缩短了聚合功能的时间。(5)数据渲染模块。空间上的大数据量的矢量数据交给网页地理系统进行标示是一个耗资源耗时间的功能,此功能统一交给服务器端的渲染模块进行渲染。在强劲的服务器、高效c语言以及底层的优化渲染算法的帮助下,在高并发的情况下,只需不耗10毫秒时间即可渲染出海量的矢量数据,极大提高了渲染效率。(6)提示信息生成模块。把车辆简单的渲染在地图上只有还可以统计点击车辆得到车辆更详细的信息,此功能的实现需要一个辅助判断车辆在栅格地图上位置的信息。此功能块主要是生成车辆在栅格地图数据上得相对位置。以辅助点击功能及浮动框功能。为了完成以上功能,还需要一个HTTP服务器、网页地理系统以及车辆管理平台系统。
图1是本发明实施例的网页地理系统使用聚合渲染系统的组成结构图;图2是本发明实施例的网页地理系统进行聚合渲染时的流程示意图;图3是本发明实施例的聚合渲染系统的数据交换、数据编译及系统部署的示意具体实施例方式下面结合附图和具体实施例详细说明本发明的具体内容。在下面的描述中阐述了很多具体细节利用车辆管理系统平台为例进行说明以达到理解本发明,但是本发明还可以采用其他不同于此描述的其它方式进行实施,因此本发明不受下面公开的具体实施例的限制。参见附图1为本系统的实施例的网页地理系统使用聚合渲染系统的组成结构图。只包括网页地理系统客户端101和聚合渲染系统服务器102。网页地理系统客户端101负责实时跟踪用户的地图平移缩放操作以及车辆筛选条件操作,并生成有关聚合渲染系统的查询语句,发送给聚合渲染系统服务器102。聚合渲染系统服务器102根据网页地理系统客户端101发送的请求串,生成相对应的响应体(车辆矢量数据的栅格图片或者聚合统计数量数据或者提示信息数据),然后发送给网页地理系统客户端101。网页地理系统客户端101根据聚合渲染系统服务器102的反馈信息进行相对应的操作(返回车辆矢量数据的栅格图片就叠加图片图层,返回聚合统计数量数据就进行统计数据的展示,返回提示信息数据就进行提示信息)。参见附图2为本发明实施例的网页地理系统进行聚合渲染时的流程示意图。具体如下:步骤201用来搜索网页地理系统用户确定所需功能及参数。具体来说是搜集以下内容:用户选择查看的车辆类型、车辆所属的车辆管理部门、车辆行驶在的行政区域;地图所处的经纬度范围;地图的缩放等级;鼠标的悬停位置等信息。
步骤202把所需的功能及参数格式化成网页请求串,发送给聚合渲染系统服务器。由于整个系统采用的瓦片管理模式,所以生成网页请求串时,要考虑瓦片模式,把网页请求切割成对单个瓦片的请求。步骤203是聚合渲染系统对网页请求的处理流程。实现了来自网页地理系统客户端的请求的复杂功能,将被拆分子功能来说。数据统计功能:步骤2031是用来数据聚合模块的一部分,利用已经生成的统计索引完成统计数据的快速查找功能,并把相关的统计信息交给步骤2032 ;步骤2032利用步骤2031查找到统计数据进行二次统计,形成最终符合的符合用户请求的统计数据。数据渲染功能:步骤2033根据需要渲染数据的过滤字段以及空间范围,利用字段索引以及空间索引进行快速查找,每个字段查找的结果集以及空间的结果集进行交集运算产生最终的结果集,并把这个结果集交给步骤2034进行渲染;步骤2034对步骤2033提交的矢量数据集进行栅格化处理,渲染时根据事先的预定义标示图标对每一个车辆进行标示,并最终形成一个带有车辆标示的瓦片图片;提示信息功能:步骤2033根据需要提示信息数据的过滤字段以及空间范围,利用字段索引以及空间索引进行快速查找,每个字段查找的结果集以及空间的结果集进行交集运算产生最终的结果集,并把这个结果集交给步骤2035进行提示信息生成步骤;步骤2035负责把步骤2033生成的车辆矢量数据集进行提示信息化处理,具体的是生成以下内容:标示的位置、标示的长度宽度、标示的关联车辆的ID、提示框的文本内容等信息。参见附图3为本发明实施例的聚合渲染系统的数据交换、数据编译及系统部署的示意图。301为不属于本系统的车辆管理系统平台,它是车辆相关数据的提供者。数据交换模块302负责把数据从车辆管理系统平台301转交给数据编译模块303,这个数据的转交的不间断的、实时的。数据编译模块303对车辆矢量数据进行编译,生成字段索引、空间索引以及统计索引,并把索引数据放入数据文件304。聚合渲染引擎305是个集合数据查询模块、数据聚合模块、数据渲染模块、提示信息生成模块于一体的引擎系统,负责从数据文件304中更新索引数据,响应HTTP服务器306传来的网页地理系统客户端的连接请求,并反馈与请求对应的HTTP响应体。HTTP服务器306不属于本系统,但也是但系统不可或缺的一部分。此处的实施例仅是示例性的,并未包含所有的实施例。本领域技术人员可以在不违背本申请和所附权利要求下,做出各种修改和更正。
权利要求
1.一种海量动态数据聚合和渲染的方法,主要包括:网页地图系统客户端、聚合渲染引擎系统、数据交换系统以及数据编译系统,其中: (1)网页地图系统客户端,负责整理网页地图系统用户对聚合渲染系统的需求,并格式成网页请求,发送给聚合渲染引擎系统; (2)在收到聚合渲染引擎系统的反馈之后,在网页地图系统的客户页面上展示该反馈信息; (3)聚合渲染引擎系统在得到网页地图系统客户端的请求之后,分析其请求,按照其请求生成对应的响应体反馈给网页地图系统客户端; (4)数据交换系统不间断地从第三方系统平台获取数据; (5)数据编译系统把数据交换系统得到的数据编译成带有索引数据的文件,供聚合渲染引擎系统在进行响应网页地图系统客户端的请求时调用。
2.权利要求1所述的数据编译系统,其特征在于: 对矢量数据建立字段索引、空间索引以及统计索引,以加快搜索响应和统计时间;统计索引的原理是对需要统计的数据进行子统计化处理,对这些子统计在数据编译时即统计完毕;在聚合渲染引擎系统需要统计时,对这些子统计索引进行查找,然后进行二次统计即可完成整个统计流程;由于统计索引的存在,大大缩短了的统计所消耗的时间。
3.权利要求1所述的聚合渲染引擎系统,其特征在于完成了来自网页地图系统客户端的三个功能需求:数据统计功能、数据渲染功能及提示信息功能,其中 (1)数据统计功能利用已经生成的统计索引完成统计数据的快速查找功能,并把相关的统计信息查找到后对统计数据进行二次统计,形成最终符合的符合用户请求的统计数据; (2)数据渲染功能:根据需要渲染数据的过滤字段以及空间范围,利用字段索引以及空间索引进行快速查找,每个字段查找的结果集以及空间的结果集进行交集运算产生最终的结果集,并把这个结果集进行渲染,渲染时根据事先的预定义标示图标对每一个车辆进行标示,并最终形成一个带有车辆标示的瓦片图片; (3)提示信息功能:根据需要提示信息数据的过滤字段以及空间范围,利用字段索引以及空间索引进行快速查找,每个字段查找的结果集以及空间的结果集进行交集运算产生最终的结果集,并把生成的结果集进行提示信息化处理,具体生成:标示的位置、标示的长度宽度、标示的关联车辆的ID、提示框的文本内容等信息。
全文摘要
本发明公开了一种海量动态数据聚合和渲染的方法。该系统以网页地理信息系统为基础,结合车辆管理系统平台,在二维地图展示百万数量级、动态的、行驶中的车辆;展示方式一共两种其一是通过标示的方式进行展示,每个标示都代表一个车辆;其二是通过聚合统计进行展示,每个聚合统计数字表示此临近空间范围内的车辆个数。
文档编号G06F17/30GK103186547SQ20111044622
公开日2013年7月3日 申请日期2011年12月28日 优先权日2011年12月28日
发明者刘俊伟, 李同高, 柴崎, 唐莉萍 申请人:泰瑞数创科技(北京)有限公司