一种基于位置聚合的GPS信息存储方法与流程

文档序号:12597916阅读:1227来源:国知局

本方法属于智慧交通、车联网领域,涉及车辆GPS数据的处理、分析和存储,具体是一种基于位置聚合的GPS信息存储方法。



背景技术:

车辆GPS位置信息数据量较大,每辆车每5秒上报一次GPS位置信息,这对系统存储空间以及系统查询、处理、分析的性能都造成了巨大的压力。以杭州市公交车辆GPS为例,每天数据量达到5000万条,一个月系统需要存储15亿条GPS信息。

目前,许多大数据分析系统在数据库的层面进行了一定优化,采用NOSQL作为持久化存储引擎以解决海量信息检索的需求,但这仅仅从数据库引擎角度进行了优化(关系型数据库转为非关系型数据库),并未解决系统存储空间的压力的问题。



技术实现要素:

为了解决现有技术中存在的上述技术问题,本发明提供了一种基于位置聚合的GPS信息存储方法,包括如下步骤:

一.系统接收车辆GPS信息后,首先判断当前缓存组件中是否已缓存有该车辆的聚合信息;若不存在,则生成新的聚合,并将新聚合加入缓存组件中;

二.若缓存组件中存在该车辆的聚合信息,则继续判断是否需要生成新的聚合;若不需要生成新聚合,则根据当前GPS信息计算聚合项,并更新缓存组件中的该车辆的聚合信息。

三.若需要生成新聚合,则根据当前车辆GPS信息生成新的聚合,同时将旧聚合的数据添加到持久化存储中。

进一步的,步骤二中,是否需要生成新聚合的判断条件包括:

条件1:当前GPS信息的时间与缓存组件中GPS数据的更新时间的间隔是否在系统设定的合理区间内,超出该合理区间的,则重新生成聚合信息;

条件2:当前GPS信息与缓存数据的位置信息是否超过系统设定的合理聚合区间内,超出聚合的虚拟围栏范围,则重新生成新聚合。

进一步的,需要生成的聚合项,包括聚合项数量、行驶里程、行驶时间、平均速度、停靠站时间、非营运里程、非营运时间。

进一步的,该方法通过缓存组件对聚合的中间结果数据进行临时存储。

进一步的,该方法将聚合结果信息保存到持久化存储中。

进一步的,该方法对缓存组件和持久化存储中的数据进行查询统计,包括:监控车辆的实时位置,对车辆的历史轨迹进行回放,对车辆的速度(进行计算、统计,对车辆的行驶里程进行统计分析,对车辆的运营情况进行统计分析。对车辆异常情况进行统计分析。

进一步的,该方法是基于位置聚合的优化,存在以下影响优化结果的因素:

车速:车辆行驶速度与优化效率成反比。车速越慢,优化效果越明显;

车辆停靠时间:车辆停靠时间与优化效率成正比,停靠等候时间越长,优化效果越明显。

本发明的基于位置聚合的GPS信息存储方法,将原本存在于持久化存储中的多条GPS信息,聚合成单条位置信息,从信息源组织形式、数据逻辑结构层面对数据进行优化,从而达到提升存储空间利用率、提升系统吞吐量和效率的目的。

该方法可适用多种场景。目前,该方法运用于多地市(杭州、嘉兴、宁波等)的公交出行及公交运行监测系统。同时,对其他车辆或设备的GPS信息采集、处理的场景也具有较强的适用性。(方法不适用于需要精确记录每条GPS信息中所有属性的场景。)

运用该方法的场景包括但不限于:

采集车辆GPS信息,监控车辆的实时位置。

采集车辆GPS信息,对车辆的历史轨迹进行回放。

采集车辆GPS信息,对车辆的速度(包括运营速度、技术速度、运送速度等)进行计算、统计。

采集车辆GPS信息,对车辆的行驶里程进行统计分析。

采集车辆GPS信息,对车辆的运营情况及异常情况进行统计分析。

附图说明

图1是本发明的基于位置聚合的GPS信息存储方法流程示意图。

具体实施方式

下面结合附图对本发明作进一步说明。

如图1所示,本发明的基于位置聚合的GPS信息存储方法,包括如下步骤:

一.系统接收车辆GPS信息后,首先判断当前缓存组件中是否已缓存有该车辆的聚合信息;若不存在,则生成新的聚合,并将新聚合加入缓存组件中;

二.若缓存组件中存在该车辆的聚合信息,则继续判断是否需要生成新的聚合;若不需要生成新聚合,则根据当前GPS信息计算聚合项,并更新缓存组件中的该车辆的聚合信息。

三.若需要生成新聚合,则根据当前车辆GPS信息生成新的聚合,同时将旧聚合的数据添加到持久化存储(数据库系统)中。

步骤二中,是否需要生成新聚合的判断条件包括:

条件1:当前GPS信息的时间与缓存组件中GPS数据的更新时间的间隔是否在系统设定的合理区间内,默认为5分钟,可根据实际业务需要进行配置。即时间间隔超过5分钟的GPS信息,则重新生成聚合信息,以保证数据的准确性。

条件2:当前GPS信息与缓存数据的位置信息是否超过系统设定的合理聚合区间内,默认聚合区间围栏范围50米,可根据实际业务需要进行配置。即以聚合起始位置为圆心设置虚拟围栏,若新的GPS信息,超出聚合的虚拟围栏范围,则重新生成新聚合。

需要生成的聚合项,包括但不限于:

聚合项数量:当前聚合内聚合的数据条数。每加入一条GPS信息数量+1。

行驶里程:当前聚合内行驶的总里程。通过多条信息间隔距离累加的方式进行聚合。

行驶时间:当前聚合内行驶的总时间。通过多条信息间隔行驶时间累加的方式进行聚合。

平均速度:当前聚合内的平均车速。通过行驶里程和行驶时间进行计算平均速度。其中平均速度包括:运营速度、运送速度、技术速度。

停靠站时间:当前聚合内停靠站的时间。通过,车辆位置信息判断停靠状态,并累加停靠的时间。

非营运里程:当前聚合内非营运的里程,包括加油、回场、偏离行驶轨迹等情况。通过车辆行驶状态,判断运营状态,并累加相应里程。

非营运时间:当前聚合内非营运的时间。通过车辆行驶状态,判断运营状态,并累加相应时间。

其他:可根据实际业务添加对应组件生成相应其他聚合项。

该方法通过缓存组件对聚合的中间结果数据进行临时存储。方法对缓存组件没有具体软硬件的要求,支持多种形式缓存,包括但不限于:自定义缓存系统、Riak分布式缓存系统、Redis分布式缓存系统等。

该方法将聚合结果信息保存到持久化存储中。对持久化存储没有具体软硬件的要求,支持多种主流持久化存储架构(关系型数据库系统、非关系型NoSQL系统),包括但不限于:SQL SERVER数据库、Oralce数据库、MongoDb数据库等。

该方法对缓存组件和持久化存储中的数据进行查询统计,实现相应功能。包括但不限于:监控车辆的实时位置,对车辆的历史轨迹进行回放,对车辆的速度(包括运营速度、技术速度、运送速度等)进行计算、统计,对车辆的行驶里程进行统计分析,对车辆的运营情况(班次、准点率等)进行统计分析。对车辆异常情况(超速、偏离轨迹等)进行统计分析。

该方法是基于位置聚合的优化,存在以下影响优化结果的因素:

车速。车辆行驶速度与优化效率成反比。车速越慢,优化效果越明显。车速影响的因素包括但不限于:道路拥堵情况、天气情况、车辆性能等。

车辆停靠时间长短。车辆停靠时间与优化效率成正比。停靠等候时间越长,优化效果越明显。当前车辆停靠时间,包括但不限于停靠站、加油、场站休息、起点终点等候等。

测试实施例

测试环境:

服务器系统:Windows Server 2008 R2

分布式缓存系统:自定义键值对字典集合。

持久化存储:SQL Server 2012

测试流程

1)取得2016-01-01杭州公交车辆全天GPS信息数据作为测试输入,共5000万条GPS信息。

2)搭建相应的缓存组件及可持久化存储。测试环境缓存组件通过自定义字典集合实现。持久化存储使用SQL Server 2012数据库系统。

3)运行未进行聚合优化的原始程序,并将GPS信息结果记录。

4)运行聚合优化的程序。分别运行4次,每次将条件1、条件2参数配置为:5/0,5/10,5/50,5/100,并将结果记录。

5)统计可持久化存储中,表中的数据进行对比,形成测试结果。

测试结果

以下为以杭州公交车辆一天GPS信息作为测试输入的测试结果

其中条件1参数,即时间间隔。条件2参数,即聚合围栏范围。

本方法根据工程实践中遇到的海量GPS存储空间问题,提出了基于位置聚合的GPS存储优化方法。通过设定聚合虚拟围栏范围,对车辆GPS信息进行聚合运算和存储,实现海量GPS数据的聚合压缩,提升系统的性能和空间利用率。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1