[发明专利]一种基于分布式计算的地图聚合车辆刷新方法在审
申请号: | 201210530535.0 | 申请日: | 2012-12-11 |
公开(公告)号: | CN103139287A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 张屿;余建成;傅建记;曲建云 | 申请(专利权)人: | 厦门雅迅网络股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30;H04W4/02;H04W4/40 |
代理公司: | 厦门市新华专利商标代理有限公司 35203 | 代理人: | 朱凌 |
地址: | 361009 福建*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于分布式计算的地图聚合车辆刷新方法,包括两大部分,具体是服务器端接受并接析GPS数据,与客户端地图聚合两部分,该两部分无先后顺序;服务器端接受并接析GPS数据具体包括:GPS服务器通过Internet接受从车载终端发送来的实时GPS数据,GPS计算集群的主服务器根据各工作站的当前负载进行调度,将GPS数据包分配给各个工作站进行数据处理;客户端地图聚合具体包括:客户端向GPS计算集群主服务器请求获取所有车辆的GPS数据,并发送当前地图范围的经纬度坐标及视野大小给GPS计算集群主服务器,请求进行地图聚合的统计计算。本发明运用了分布式计算技术,来解决车辆显示数量瓶颈的问题,在保证提高系统的性能的同时,增强系统的扩展性,降低维护升级的成本。 | ||
搜索关键词: | 一种 基于 分布式 计算 地图 聚合 车辆 刷新 方法 | ||
【主权项】:
1.一种基于分布式计算的地图聚合车辆刷新方法,其特征在于:包括两大部分,以下第一部分与第二部分无先后顺序;第一部分:服务器端接受并解析GPS数据,具体包括如下步骤:步骤1.1:GPS服务器通过Internet接受从车载终端发送来的实时GPS数据,并进行简单的解析,转换为系统内部的二进制数据格式;步骤1.2:GPS服务器每隔一段时间,将收到解析过的若干个GPS数据组成一个大的数据包,通过局域网或者专用网将该数据包发送给GPS计算集群的主服务器;步骤1.3:GPS计算集群的主服务器先将大数据包拆分为多个单独的GPS数据包,然后根据各工作站的当前负载进行调度,将GPS数据包分配给各个工作站进行数据处理;步骤1.4:工作站处理GPS数据包,保存GPS数据到数据库中,并对GPS数据进行经纬度计算的处理,然后将处理后的数据返回给GPS计算集群的主服务器;步骤1.5:GPS计算集群的主服务器将步骤1.4中返回的GPS数据缓存到分布式缓存中的一个字典数据结构中,该字典数据结构的键是车辆的标识符,该键的值就是一个内存结构与步骤1.4返回的GPS数据一样的一个结构体,用于保存工作站处理返回的GPS数据,对应每个车辆标识符,字典数据结构中只保存一个对应的GPS时间最新的GPS数据,如果要保存的GPS数据的GPS时间比当前已保存的数据的GPS时间还要早的话,则放弃此次保存;第二部分:客户端地图聚合,具体包括如下步骤:步骤2.1:用户启动客户端软件,加载电子地图,并向GPS计算集群主服务器请求获取所有车辆的GPS数据,并发送当前地图范围的经纬度坐标及视野大小给GPS计算集群主服务器,请求进行地图聚合的统计计算;步骤2.2:GPS计算集群主服务器收到GPS数据及地图聚合统计请求,首先将所有车辆按车辆标识符排序,分为几个小的车辆列表,并给每个列表编号,排序后的结果放在分布式缓存内;然后将各工作站要处理的车辆列表序号,请求聚合的地图范围的经纬度坐标,发送给各个工作站,分配各个工作站进行每个车辆列表的具体的地图聚合统计;步骤2.3:工作站根据收到的请求聚合的地图范围的经纬度坐标,将这部分地图再分割为N行 N列的 N*N个矩形格子,并计算出每个格子的长和宽,同时创建一个字典数据结构来存储统计结果,字典的键是格子的行和列,对应的值是一个对象,这个对象有两个成员变量,第一个成员变量是一个车辆总数计数器,用来存放该键对应的格子内车辆的总数 ;第二个成员变量是一个List 对象,里面保存着该格子内的车辆标识符;然后工作站根据收到的自己要处理的车辆列表序号,从分布式缓存中获取待处理车辆列表的GPS数据,并循环遍历这个车辆GPS数据的List;步骤2.4:工作站在步骤2.3中所述的循环内部,使用地图引擎提供的接口,首先根据每辆车当前的经纬度判断该车辆是否在请求的地图范围,如果否,则跳到下一辆车,重新开始本步骤;如果是,则判断该车辆所在的格子,算法是:列=(GPS数据的经度-地图范围左上角的经度)/格子宽度 ,如果列不为整数,则列=取整(列)+1;行= (地图范围左上角的纬度-GPS数据的纬度)/格子长度 ,如果行不为整数,则行=取整(行)+1;判断之后,根据得到的【行,列】,从所述字典数据结构中找到此键对应的存储统计对象,将对应格子的车辆总数计数器加1;同时将此车辆的标识符加入到保存车辆标识符的List中;步骤2.5:所有车辆GPS数据循环处理完成后,工作站将存储统计结果的字典进行二进制序列化后返回给GPS计算集群主服务器;步骤2.6:GPS计算集群主服务器收到步骤2.5中各个工作站返回的统计结果,当确认所有分配了此次任务的工作站都返回结果后,GPS计算集群主服务器对所有的统计结果进行汇总:将各个统计结果中,有相同【行,列】对应的车辆总数计数器相加,得到步骤2.3中所述的地图分区格子内的车辆总数;步骤2.7:GPS计算集群主服务器需要同时向客户端返回一个List结构的数据,该List的每个元素存储着一个步骤2.3中所述的的地图分区格子内的统计数据对象,该统计数据对象内有以下的成员变量:步骤2.3中所述的地图各个格子区域内的车辆总数;步骤2.3中所述的地图各个格子区域的中心点经纬度坐标;如果某格子内的车辆总数小于某个阀值,则应包含该格子内的所有车辆标识符列表数据结构;如果车辆总数大于该阀值,则不需要包含该格子内的车辆标识符列表数据结构;步骤2.8:客户端收到计算集群主服务器返回的统计结果List结构的数据,循环遍历该List,对每个步骤2.3中所述的地图分区格子的统计结果,判断是否存在着该区域的车辆标识列表,如果不存在,则使用步骤2.7中所述的格子区域的中心点经纬度坐标,在地图上绘制车辆聚合的标识图标,并在该图标下显示该区域的车辆数;如果统计结果中存在该区域的车辆标识列表,则根据这些车辆标识,从分布式缓存中获取这些车辆的最新GPS数据,并在地图上显示这些车辆的图标;步骤2.9:客户端定时向GPS计算集群主服务器发送地图聚合统计请求,每次在刷新地图前,先将原来的车辆图标全部清除。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门雅迅网络股份有限公司,未经厦门雅迅网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210530535.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种将铝或铝合金表面进行耐腐蚀处理的方法
- 下一篇:一种新型优化地板