CN109376184A - 一种基于大数据的搭乘顺风车的方法 - Google Patents
一种基于大数据的搭乘顺风车的方法 Download PDFInfo
- Publication number
- CN109376184A CN109376184A CN201811201845.1A CN201811201845A CN109376184A CN 109376184 A CN109376184 A CN 109376184A CN 201811201845 A CN201811201845 A CN 201811201845A CN 109376184 A CN109376184 A CN 109376184A
- Authority
- CN
- China
- Prior art keywords
- data
- point
- passenger
- travel route
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims description 27
- 238000013499 data model Methods 0.000 claims description 22
- 238000010586 diagram Methods 0.000 claims description 13
- 238000009826 distribution Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 abstract description 6
- 241001269238 Data Species 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 4
- 230000002068 genetic effect Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000013138 pruning Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000001027 hydrothermal synthesis Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010297 mechanical methods and process Methods 0.000 description 1
- 230000005226 mechanical processes and functions Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000009394 selective breeding Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G06Q50/40—
Abstract
本发明公开一种基于大数据的搭乘顺风车的方法,提高搭乘顺风车的筛选效率。该方法包括:使用数据传导工具从行车大数据中获取到n条行驶路线,并将n条行驶路线导入到分布式数据仓库中,每一条行驶路线中包括:车主的标识、所有行驶位置点数据和行驶时间点;使用数据传导工具从乘车大数据中获取到m条乘车需求信息,并将m条乘车需求信息导入到分布式数据仓库中,每一条乘车需求信息中包括:乘客的标识、上车位置点、目的地位置点和乘客期望的上车时间;使用聚类算法对分布式数据仓库中存储的n条行驶路线和m条乘车需求信息进行数据聚类处理,并生成聚类结果,聚类结果包括:匹配成功的车主与乘客;根据聚类结果向乘客推荐顺风车搭乘信息。
Description
技术领域
本发明涉及大数据处理技术领域,具体涉及一种基于大数据的搭乘顺风车的方法。
背景技术
随着社会经济的发展和进步,小轿车已渐渐步入寻常百姓的家庭,成为居民出行的必备工具。但日益庞大的出行量已造成城市的交通路况日益拥堵,并且小轿车的尾气排放也造成了空气的污染。
在车主开车的行驶过程中,常常只有车主一个人乘坐,还有空余的座位,这极大地浪费了车辆空闲的座位资源。有空余座位资源的车主,在出行过程中可以给同一条路线上的乘客顺便提供搭载服务,同时收取一定的费用。
现有技术中,有意向乘坐顺风车的用户可以在平台上发布乘车需求,车主可以浏览这些乘车需求,选择合适的乘客来发送载客邀请,双方可以协商来确定出发时间和费用等。或者现有技术中也可以由车主发布自己的出行线路,有意向乘坐顺风车的用户可以自行选择中意的车主来沟通乘坐。
现有技术提供的搭乘顺风车的方法都需要乘客或者车主来进行人工选择,降低了搭乘顺风车的筛选效率,容易造成行车资源的浪费。
发明内容
本发明的目的在于提供一种基于大数据的搭乘顺风车的方法,用于提高搭乘顺风车的筛选效率。
为了达到上述目的,本发明采用这样的如下技术方案:
本发明提供一种基于大数据的搭乘顺风车的方法,包括:
使用预置的数据传导工具从行车大数据中获取到n条行驶路线,并将所述n条行驶路线导入到分布式数据仓库中,每一条行驶路线中包括:车主的标识、行驶路线上的所有行驶位置点数据和所述行驶位置点数据对应的行驶时间点;
使用所述数据传导工具从乘车大数据中获取到m条乘车需求信息,并将所述m条乘车需求信息导入到所述分布式数据仓库中,每一条乘车需求信息中包括:乘客的标识、上车位置点、目的地位置点和乘客期望的上车时间;
使用预置的聚类算法对所述分布式数据仓库中存储的所述n条行驶路线和所述m条乘车需求信息进行数据聚类处理,并生成聚类结果,所述聚类结果包括:匹配成功的车主与乘客;
根据所述聚类结果向乘客推荐顺风车搭乘信息。
采用上述技术方案后,本发明提供的技术方案将有如下优点:
本发明实施例提供基于大数据的搭乘顺风车的方法,该方法可以使用数据传导工具分别从行车大数据和乘车大数据中导出数据,并基于分布式数据仓库分别导入多条行驶路线和多条乘车需求信息,基于车主数据和乘客数据进行整合计算,最后使用聚类算法完成数据分析与聚类处理,最终找到行车路线和乘客搭乘顺风车的最佳匹配结果,实现最大化搭乘顺风车,提高搭乘顺风车的筛选效率。
附图说明
图1为本发明实施例提供一种基于大数据的搭乘顺风车的方法的流程方框示意图;
图2为本发明实施例提供的搭乘顺风车的系统整体架构图;
图3发明实施例提供的行车路线点位模型图;
图4本发明实施例提供的数据过滤处理流程示意图;
图5本发明实施例提供的最优行车路线和乘客上车点的示意图;
图6本发明实施例提供的车辆和乘客需求匹配表的示意图。
具体实施方式
本发明实施例提供了一种基于大数据的搭乘顺风车的方法,用于提高搭乘顺风车的筛选效率。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
本发明基于大数据的搭乘顺风车的方法的一个实施例,以实现最大化搭乘顺风车,使得车辆空位资源被有效的利用。请参阅图1所示,本发明提供的基于大数据的搭乘顺风车的方法,可以包括如下步骤:
步骤10、使用预置的数据传导工具从行车大数据中获取到n条行驶路线,并将n条行驶路线导入到分布式数据仓库中,每一条行驶路线中包括:车主的标识、行驶路线上的所有行驶位置点数据和行驶位置点数据对应的行驶时间点。
在本发明实施例中,首先收集行车大数据和乘车大数据,行车大数据指的是很多车主的行驶数据,乘车大数据指的是很多乘客的大数据,行车大数据和乘车大数据可以通过互联网平台来获取。步骤10中以行车大数据的导出为例,后续步骤20中以乘车大数据的导出为例。
本发明实施例中,可以首先将小轿车的行驶路线具体化为平面上的连续的点位,并构建相应的点位函数和行车需求函数进行分析,由此构建相应的数据模型。该点位函数指的是从行车大数据中抽象出的点位,行车需求函数也可以称为乘车需求函数,指的是从乘车大数据中提取出的乘客需求。本发明实施例中需要进行大数据分析平台的部署,配置好相关的系统环境,搭建Zookeeper分布式协调服务,安装数据仓库hive、数据传导工具,例如该数据传导工具可以包括sqoop。分布式协调服务,主要用于管理服务器数据之间的同步和一致性,需要处理的数据量庞大时,采用集群管理更合适,而Zookeeper是集群必备,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件,为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。Hive是数据仓库,用来存储数据,hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL、Oracle、Postgres等)中的数据导进到Hadoop的分布式文件存储系统(hadoop distributed file system,HDFS)中。
在本发明实施例中,使用数据传导工具从行车大数据中获取到n条行驶路线,n的取值个数不做限定,其中每个车主对应一条行车路线,然后将n条行驶路线导入到分布式数据仓库中。每一条行驶路线中记录有一个车主行驶过程中经过的位置点和到达每个位置点的时间,例如该每一条行驶路线中包括:车主的标识、行驶路线上的所有行驶位置点数据和行驶位置点数据对应的行驶时间点。
步骤20、使用数据传导工具从乘车大数据中获取到m条乘车需求信息,并将m条乘车需求信息导入到分布式数据仓库中,每一条乘车需求信息中包括:乘客的标识、上车位置点、目的地位置点和乘客期望的上车时间。
在本发明实施例中,数据传导工具可以用于行车大数据的导出,还可以用于乘车大数据的导出,针对乘车大数据的分析使用Zookeeper分布式协调服务。使用数据传导工具从乘车大数据中获取到m条乘车需求信息,使用数据传导工具可以将m条乘车需求信息导入到分布式数据仓库中,每一条乘车需求信息中记录有一个乘客从哪里上车,到哪里去以及该乘车期望在什么时间点上车,的位置点和到达每个位置点的时间,例如每一条乘车需求信息中包括:乘客的标识、上车位置点、目的地位置点和乘客期望的上车时间。
在本发明的一些实施例中,步骤30使用预置的聚类算法对分布式数据仓库中存储的n条行驶路线和m条乘车需求信息进行数据聚类处理之前,本发明实施例提供的方法还包括:
判断分布式数据仓库中是否存在噪声数据;
若分布式数据仓库中存在噪声数据时,使用预置的MapReduce函数从分布式数据仓库中过滤掉噪声数据;
在完成噪声数据过滤之后,触发执行如下步骤:使用预置的聚类算法对分布式数据仓库中存储的n条行驶路线和m条乘车需求信息进行数据聚类处理,并生成聚类结果。
在本发明实施例中,还可以进行数据分布式预处理,噪声数据也可以称为无效数据或者困难数据,例如行车路径轨迹点较多或部分数据缺失、轨迹不精确有交叠都属于困难数据。通过采集用户车辆的GPS导航仪收集的海量车辆位置数据(已有相关经纬度、时间戳、记录ID等字段),将数据导入hive仓库,并对数据进行简化和清洗,最终得到行车轨迹位置数据平面点图。
步骤30、使用预置的聚类算法对分布式数据仓库中存储的n条行驶路线和m条乘车需求信息进行数据聚类处理,并生成聚类结果,聚类结果包括:匹配成功的车主与乘客。
在本发明实施例中,在分布式数据仓库中导入n条行驶路线和m条乘车需求信息之后,接下来使用预置的聚类算法,例如可以使用kmeans聚类算法,在对数据聚类处理流程中还可以针对所处理的数据来配置其它聚类算法。通过聚类算法对n条行驶路线和m条乘车需求信息进行数据聚类处理,可以确定出哪个主和哪个乘客是可以相互匹配成功的。
在本发明实施例中,有的乘客是需要在整个行驶线路中搭乘车辆,有的乘客只需要在整个行驶线路的中间一段搭乘车辆,因此可以区分为不同的搭乘类型,例如,搭乘类型为全程搭乘或者半程搭乘。全程指乘客和司机出发点一致,且司机终点大于等于乘客终点,乘客从起点出发。半程指乘客在司机行驶中半途上车,需要考虑时间因素,因为双方可能需要互相等待。
在本发明的一些实施例中,步骤30使用预置的聚类算法对分布式数据仓库中存储的n条行驶路线和m条乘车需求信息进行数据聚类处理,包括:
A1、根据n条行驶路线中的行驶位置点数据和m条乘车需求信息中的上车位置点确定搭乘类型,搭乘类型为全程搭乘或者半程搭乘;
A2、根据确定出的搭乘类型选择相应的数据模型,数据模型包括:全程搭乘模型和半程搭乘模型,其中,若搭乘类型为全程搭乘类型,则选择的数据模型为全程搭乘模型,若搭乘类型为半程搭乘类型,则选择的数据模型为半程搭乘类型;
A3、使用数据模型对n条行驶路线和m条乘车需求信息进行数据聚类处理。
具体的,对不同数据模型采用不同的分析方法。若为全程类型,采用MapReduce进行数据处理,并结合聚类算法找到最合理的方案。MapReduce是一种计算框架、模型,用于大规模数据集的并行运算,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,并将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理。若为半程类型,则需考虑时间因素,采用基于遗传的乘客匹配算法,并采用聚类函数进行运算。
进一步,在本发明的一些实施例中,步骤A3使用数据模型对n条行驶路线和m条乘车需求信息进行数据聚类处理,并生成聚类结果,包括:
A31、当数据模型为全程搭乘模型时,从n条行驶路线中分别提取到每条行驶路线对应的第一四维空间位置点数据,第一四维空间位置点数据,包括:车主的起点经度位置点、车主的起点纬度位置点、车主的终点经度位置点、车主的终点纬度位置点;
A32、从m条乘车需求信息中分别提取到每个乘客对应的第二四维空间位置点数据,第二四维空间位置点数据,包括:乘客的起点经度位置点、乘客的起点纬度位置点、乘客的终点经度位置点、乘客的终点纬度位置点;
A33、使用kmeans聚类算法对第一四维空间位置点数据和第二四维空间位置点数据进行数据聚类处理;
A34、在满足聚类结束条件时,输出属于同一个聚类中的车主和乘客。
首先将二维的点拓展成起点和终点位置构成的四维空间的点,即(lats1,lons1,lats2,lons2),车主的起点经度位置点为lats1,车主的起点纬度位置点为lons1,车主的终点经度位置点为lats2,车主的终点纬度位置点为lons2。并依据位置点间欧式距离的远近来划分位置数据集中聚集的类。而KMeans聚类以距离作为衡量元素间相似性的标准,即认为两个元素之间的距离越近,两者间的相似性也就越大,符合本发明实施例的需要。同时,KMeans算法在处理大规模数据集时,其算法效率较高,适合对大规模数据集进行高效快速地聚类。所以本发明实施例选用KMeans聚类进行位置邻近关系的划分。
在KMeans聚类的流程中,在位置数据中随机选取K个不同的点作为聚类中心,随后遍历其他位置并根据欧式距离来找到离各点最近的聚类中心点,并将该点加入到该聚类中。然后各聚类通过误差平方和准则函数E来调整该聚类的聚类中心点,并将这个点作为下一次聚类的聚类中心。依次迭代,直到某一次迭代出的聚类中心和上一次的聚类中心两者间相差的距离小于某个标准则迭代结束。
举例说明如下,实际操作过程主要包括如下过程:
首先启动zookeeper进程,然后启动hadoop集群。因为mahout是基于hadoop执行任务,因此在执行mahout任务前,需要先启动hadoop集群。然后通过以下命令,将清洗后的数据GPSLocations.data导入分布式文件存储系统(hadoop distributed file system,HDFS)。其中GPSLocations.data中每一行存放的是一个起点、终点位置构成的四维空间的点,且位置数据是浮点数,符合mahout只能处理向量文件的格式要求。例如可以使用如下代码:hadoop fs-put./GPSLocations.data/GPSETL/kmeans/。
通过如下命令调用mahout中的kmeans聚类算法。其中,参数k代表结果中聚类的个数,可以根据聚类效果调整;参数i和o分别表示文件的输入路径和输出路径;
参数x代表最大迭代次数;t1、t2分别表示Canopy聚类中的T1阀值、T2阀值。例如可以使用如下代码:
mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job\
-i/GPSETL/input/GPSLocations.data\
-o/GPSETL/result\
-k 36\
-x 100\
-t1 1\
-t2 0.5>/root/mahout_data/kmeans.log 2>&1&
接下来在聚类的结果目录中,clustered Points存放是最后的聚类结果,clusters-N存放第N次聚类的结果,clusters-L存放最后一次聚类的结果。最后的聚类结果会存放在目录kmeans目录下名称以clusters-开始,以-final结尾的子目录中。
而其中间的数值代表了该任务运行的迭代次数,比如clusters-5-final是第6次迭代的结果。
最后,本发明实施例将上述聚类的执行过程和结果都保存在日志文件kmeans.log中。结果中同一聚类中的乘客可和司机在起点一同搭乘顺风车。
进一步,在本发明的一些实施例中,步骤A3使用数据模型对n条行驶路线和m条乘车需求信息进行数据聚类处理,并生成聚类结果,包括:
A35、当数据模型为半程搭乘模型时,从n条行驶路线中分别提取到每条行驶路线对应的车主的起点位置点,并根据车主的起点位置点和车主的平均时速计算每辆车抵达上车位置点的时间;
A36、从m条乘车需求信息中分别提取到每个乘客对应的上车位置点、目的地位置点和乘客期望的上车时间;
A37、使用基于时空综合匹配度的聚类算法对n条行驶路线与每个乘客对应的上车位置点和目的地位置点、每辆车抵达上车位置点的时间与乘客期望的上车时间分别进行数据聚类处理,并生成每辆车对乘客的相对匹配度,相对匹配度包括:车辆被乘车需求选中的概率;
A38、根据预置的阈值和每辆车对乘客的相对匹配度进行筛选,输出匹配成功的车主与乘客。
进一步的,步骤A37使用基于时空综合匹配度的聚类算法对n条行驶路线与每个乘客对应的上车位置点和目的地位置点、每辆车抵达上车位置点的时间与乘客期望的上车时间分别进行数据聚类处理,包括:
从乘车大数据中获取到每个乘客对应的可接受步行距离和可接受时间差;
分别计算n条行驶路线与每个乘客对应的上车位置点、目的地位置点之间的最短距离,以及判断最短距离是否小于或等于可接受步行距离;
计算每辆车抵达上车位置点的时间与乘客期望的上车时间之间的最短时间差,以及判断最短时间差是否小于或等于可接受时间差。
其中,半程搭乘模型适用于乘客中途拼车的情形,如果乘客和车主抵达乘车点的时间相差太久,则拼车会失败。因此中途拼车的情形需要引入时间因素,所以本发明实施例会根据车主的出发点以及车主开车的平均时速来计算车主抵达上车点的时间。同时,上一节中的拼车需求虽然被分配到不同的车辆,但车辆可提供的拼车服务有限,需要对车辆可提供服务的需求排序,从中选择在时间和空间上与车辆服务匹配度较高的需求作为给车辆和乘客的拼车推荐。在遗传算法中,通常会使用比例选择算子作为判断标准,以对群体中的个体优胜劣汰,对于适应度高的个体,其遗传到下一代群体中的概率也会相对较大;而对于适应度低的个体,其遗传到下一代群体中的概率也会相对较低,这与本发明实施例筛选乘客匹配度较高的目的一致。因此本发明实施例采用基于匹配度的聚类算法进一步筛选与车辆较为匹配的拼车需求以作推荐。
乘客对于每辆车的车辆匹配度的值,可以通过MapReduce进行计算。在map端将存储着乘客的起点(例如家、公司)以及出发时间字段的文件(即拼车需求信息Pj=(sj,dj,tj))加载到各个map端,并依次读取每辆车的行车位置数据,依据综合匹配度MPij的定义计算每辆车对于该乘客需求的综合匹配度的值MPij,满足综合匹配度的可乘车的位置信息为Ci=(Ci,MPij)。选择Ci作为map端输出的key值,以sj,dj,tj,MPij作为map输出的reduce值。
本发明实施例中,车辆位置数据构成的轨迹集合,具有明显的线段特征,因此点集A中的点到点集B中的线段的最短距离比MHD算法得到的点集匹配度更能反映位置的匹配程度。因此,对MHD进一步改进,定义h(a,TRi)为点a到线段集TRi中各线段的最短距离。给定点集合TRj和轨迹线段集合TRi,改进的MHD(Improved Modified Hausdorff Distance,IMHD)为:
其中,Na为TRj中点的个数,h(a,TRi)定义为点a到TRi中各线段的最短距离。而本节研究的需求可看作仅包含源点Vs、目的点Vd的特殊轨迹TRj,因此乘车路线约束公式为:
上述公式表示乘车需求的位置点距同一条路线的上下车点距离在乘客能接受的步行距离s内,可实现中途上下车的单车次搭乘,本发明实施例给定最远步行距离s=500m。通过上述处理可得到可以满足乘车需求的路线。
步骤40、根据聚类结果向乘客推荐顺风车搭乘信息。
在本发明实施例中,通过前述步骤30的聚类分析可以匹配出车主和乘客,基于聚类结果可以向匹配成功的乘客推荐顺风车搭乘信息,从而乘车可以根据推荐的顺风车搭乘信息确定搭乘哪个顺风车,实现最大化搭乘顺风车。
在本发明的一些实施例中,步骤40根据聚类结果向乘客推荐顺风车搭乘信息,包括:
根据聚类结果绘制最终的行车路线和乘客搭乘的折线说明图,乘车需求和车辆匹配表;
向乘客推送最终的行车路线和乘客搭乘的折线说明图,乘车需求和车辆匹配表。
其中,可以生成最终的行车路线和乘客搭乘的上下折线说明图,与需求和车辆匹配表,详见后续实施例中的举例说明。
由前述的举例说明可知,本发明实施例通过采用Hadoop分布式系统基础架构,基于Hive数据仓库,并利用SQOOP数据传导等工具,并结合车辆GPS导航终端收集车辆每天在行驶过程中的车辆移动位置数据,对车辆经度、纬度和车辆在某个地点停留时间的分析,可以用于分析车主常去的位置,从而分析出可搭乘居民可顺风车的路线。大数据技术为分析利用这些海量的交通位置数据提供了有力的技术支持,因此本发明实施例基于大数据对小轿车的出行位置数据进行研究和挖掘,分析车主出行路线的热点区域,匹配外出居民的出发点和目的地,旨在找到一条可以最大化利用行车资源、搭载最多乘客的路线。
为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来进行具体说明。
本发明实施例描述了如何有效搭乘顺风车的问题,并实现了离线式大数据分析平台的搭建。针对海量位置数据,利用sqoop将关系数据库中的车辆导航位置数据导入hive数据仓库中。采用hive对数据进行存储,Map Reduce、hql对数据进行数据清洗。其中,Hql是数据库操作语句,主要用于Hibernate。
利用Map Reduce处理位置数据,得到车辆最常停靠的热点分布图,并利用mahout的kmeans聚类对源点和目的地的四维位置点进行聚类得到可以全程搭乘的路线信息图,mahout是一个工具,提供了包括聚类、分类、推荐过滤、频繁子项挖掘等复杂算法的实现。对于半程上车的情况,依据改进的距离算法得到满足乘客途中上车条件的行车路线,利用基于Hausdorff距离改进的算法来计算不同点集合间的匹配度,最后利用基于匹配度的聚类,为乘客选择适合的、可以中途搭乘顺风车的乘车方案。
如图2所示,本发明实施例提供的搭乘顺风车的系统整体架构图。其中,主要思路如下:首先进行需求分析,根据情况建立不同的数据模型,定好模型后就可以收集数据,并对数据进行预处理,最后利用mapReduce进行计算和操作,图2右侧则是涉及的系统环境和工具等,例如数据传导、Hadoop集群、系统环境配置/日志输出、大数据分析平台/分布式部署等。
本发明实施例提供的最大化搭乘顺风车方案,举例说明如下,具体包括以下几个步骤:
步骤1、将车辆的行驶路线模型化、具体化,即可以将车辆的行驶路线看作是一个按时间顺序组织的位置序列,不妨假设地区内n辆私家车的行车路线可以定义为R(i)={(V(k),t(k))},其中i为车辆id,1≦i≦n,k表示车辆i的第k条行驶数据,经纬度V(k)={lat(k),lng(k)}。乘车需求R={s(j),d(j),t(j)},j表示第j个乘客搭乘顺风车的需求,s表示上车点,d表示目的地,t为期望上车时间。这里考虑乘客的可接受的步行距离。假设在以s或d为圆心,半径一定的圆域内为命中区,则只需命中区与同一条行车路线有交集,则乘客可顺利搭乘顺风车。路线示意图如图3所示,图3为本发明实施例提供的行车路线点位模型图。以乘客可接受的步行距离为半径的源点域S与目的域D与同一条行车路线有交集,则乘客可与该车主完成上下班车程。在图3中,圆圈是途中的位置点。这种单车次乘车具体分为以下几种情况:1.车辆C1的行车路线的始发点和终点在乘车需求P1的源点邻域S、目的点邻域D内。乘客与车主全程同行完成旅程;2.乘车需求P2的目的点邻域D与车辆C1的行车路线的有交点,但乘车需求P2的源点邻域S与车辆C1的行车路线在点2处有交集。这样,乘车需求P2可以车辆C1行车的途中上车,并在C1车辆行驶路线的终点下车。3.乘车需求P3的源点邻域S、目的点邻域D与车辆C1的行车路线在点4、点6处有交集。这种情况,乘车需求P3可以在车辆C1行车途中上下车,完成旅程。
这里涉及多种情况,不过分解来看主要分为半程搭乘和全程搭乘两种情况。
步骤2、工具准备、环境搭建:1.配置好虚拟服务器的环境,包括关闭防火墙、安装JDK依赖,配置NTP服务等,JDK:编程语言java的运行环境,NTP是用来同步网络中各个计算机(服务器)的时间的协议。2.搭建Zookeeper服务管理中心对集群进行监控与统一的管理。3.Hadoop相关组件的下载与安装,并配置Hadoop在服务器上的路径和相关参数。4.安装数据仓库Hive、数据传导工具Sqoop等其他辅助工具。
步骤3、将车辆GPS导航仪收到的海量车辆位置数据导入Hive分布式数据仓库,并在对数据进行分析之前对无效的噪声数据进行过滤、对行车轨迹进行简化,使轨迹更加清晰直观。如图4所示,为数据过滤处理流程。
步骤4、对不同数据模型进行处理,图5本发明实施例提供的最优行车路线和乘客上车点的示意图。图5中,线段代表车辆轨迹,+代表乘客乘车需求的上车、下车位置,j↑、j↓对应的黑圆点分别表示第j个乘车需求的上车点、下车点。
1.全程搭乘:首先使用Map Reduce函数,可以利用车主id和日期作为map输出的key,以让reduce端单独处理每个车主每天的行车位置数据,编程实现后可提取车主的厂区的热点出发地和目的地。然后,依据位置点间距离的远近来划分位置数据集中聚集的类。本发明实施例采用KMeans聚类以距离作为衡量元素间相似性的标准,即认为两个元素之间的距离越近,两者间的相似性也就越大。
2.半程搭车:相比全程搭乘车主和乘客可以自由协商一起出发的时间,半程搭车则需要考虑时间因素,若车主或者乘客到达上车点的时间差距过大,则认为搭乘顺风车是失败的。因每辆车所能承载的人数是有限制的,并且到达时间也不完全一致。故应从中选择在时间和空间上与车辆服务匹配度较高的需求作为给车主和乘客的最佳乘坐方案。
本发明采用基于个体优胜劣汰的遗传算法,即根据乘客搭乘需求匹配度来筛选,对于匹配度高的上车,互相等待久(匹配度低)的淘汰。通过匹配度对符合的数据进行聚类分析。以下是简要的执行过程:首先以车辆的出发点和平均时速计算每辆车抵达乘客上车点的时间T(i),作为车辆抵达乘车点的时间。并在此基础上,针对每辆车可提供服务的需求,计算出该车辆对乘车需求的匹配度总和的行车位置数据。然后求出每辆车对乘车需求的相对匹配度,即车辆被乘车需求选中的概率。最后,设定阈值t€(0,1),按照轮赌原则对满足的需求进行筛选,即使用阈值来衡量匹配度,其对应轮赌中的比例因子。
步骤5、依据处理完的数据,绘制最终的行车路线和乘客搭乘的折线说明图、需求和车辆匹配表。
图6本发明实施例提供的车辆和乘客需求匹配表的示意图,例如编号为23的乘客的匹配度为0.85。匹配度越高越适合上车,互相等待的时间越少。
本发明实施例支持多种数据库接入,可将车载GPS采集的海量停车数据由Sybase、SQL Server、MYSQL主流数据库导入Hive分布式数据仓库,并支持异构数据库间的数据集成与协同,保证数据库(异构或同构)之间的全局事务一致性,具有数据同步/异步调用和交易冲正机制等功能。数据接入门槛低,扩展便捷、兼容性强是本发明的特色之一。
本发明实施例支持对各种复杂路径的解析和转化,对于困难的数据,其中,行车路径轨迹点较多或部分数据缺失、轨迹不精确有交叠都属于困难数据,对位置数据先进行过滤,去除位置数据中的噪声位置数据。即先采用基于时间约束以及空间约束的频率剪枝算法对海量的位置数据进行预去噪,预去噪指的是去除无效数据、干扰数据,该操作可过滤掉用户上传的无效数据。频率剪枝算法是一种典型数据挖掘算法,剪枝就是通过判断,避免一些不必要的遍历过程,剪去了搜索树中的某些“枝条”,故称剪枝。即确定哪些枝条应当舍弃,哪些枝条应当保留的方法。在进行初步的去噪后,数据本身得到简化,在此基础上本发明进一步结合路网数据,即将城市地图数据简化为点、线和多边形的位置来表示不同的地理数据对象。
因车辆行车路线是连续的,并且是依据路网通向来行驶的,因可结合Map Reduce分布式计算框架对路网与车辆轨迹进行算法匹配,进一步去除偏移原始行车轨迹的噪声位置数据,从而使行车数据更加简明、直观。
本发明实施例可灵活适用于日常生活中的场景,无论是全程搭乘还是半程上车的情形。车主和乘客可商议时间点和途径地,并依据本发明核心的路线匹配算法,从而找到最合适的乘车方案。
本发明实施例需要的系统服务由ZooKeeper分布式应用程序提供。它封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户,在保证数据一致性的同时,又支持了多级模式下的系统负载均衡和应用管理与配置维护。
本发明的重点在于:通过车载GPS等采集的海量行驶数据,一方面将实际问题进行模型化,具体化,另一方面借助于Hadoop分布式框架、应用MapReduce编程模型,数据处理工具将数据进行过滤、修剪、优化,最后基于处理后的车主常去的热点(源点——目的地)数据进行整合计算,并综合考虑全程搭乘和半程上车等两种模式,利用不同的算法与聚类匹配,最终找到行车路线和乘客搭乘顺风车的最佳匹配结果。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。
综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种基于大数据的搭乘顺风车的方法,其特征在于,包括:
使用预置的数据传导工具从行车大数据中获取到n条行驶路线,并将所述n条行驶路线导入到分布式数据仓库中,每一条行驶路线中包括:车主的标识、行驶路线上的所有行驶位置点数据和所述行驶位置点数据对应的行驶时间点;
使用所述数据传导工具从乘车大数据中获取到m条乘车需求信息,并将所述m条乘车需求信息导入到所述分布式数据仓库中,每一条乘车需求信息中包括:乘客的标识、上车位置点、目的地位置点和乘客期望的上车时间;
使用预置的聚类算法对所述分布式数据仓库中存储的所述n条行驶路线和所述m条乘车需求信息进行数据聚类处理,并生成聚类结果,所述聚类结果包括:匹配成功的车主与乘客;
根据所述聚类结果向乘客推荐顺风车搭乘信息。
2.根据权利要求1所述的一种基于大数据的搭乘顺风车的方法,其特征在于,所述使用预置的聚类算法对所述分布式数据仓库中存储的所述n条行驶路线和所述m条乘车需求信息进行数据聚类处理,包括:
根据所述n条行驶路线中的行驶位置点数据和所述m条乘车需求信息中的上车位置点确定搭乘类型,所述搭乘类型为全程搭乘或者半程搭乘;
根据确定出的所述搭乘类型选择相应的数据模型,所述数据模型包括:全程搭乘模型和半程搭乘模型,其中,若所述搭乘类型为全程搭乘类型,则选择的数据模型为所述全程搭乘模型,若所述搭乘类型为半程搭乘类型,则选择的数据模型为所述半程搭乘类型;
使用所述数据模型对所述n条行驶路线和所述m条乘车需求信息进行数据聚类处理。
3.根据权利要求2所述的一种基于大数据的搭乘顺风车的方法,其特征在于,所述使用所述数据模型对所述n条行驶路线和所述m条乘车需求信息进行数据聚类处理,并生成聚类结果,包括:
当所述数据模型为所述全程搭乘模型时,从所述n条行驶路线中分别提取到每条行驶路线对应的第一四维空间位置点数据,所述第一四维空间位置点数据,包括:车主的起点经度位置点、车主的起点纬度位置点、车主的终点经度位置点、车主的终点纬度位置点;
从所述m条乘车需求信息中分别提取到每个乘客对应的第二四维空间位置点数据,所述第二四维空间位置点数据,包括:乘客的起点经度位置点、乘客的起点纬度位置点、乘客的终点经度位置点、乘客的终点纬度位置点;
使用kmeans聚类算法对所述第一四维空间位置点数据和所述第二四维空间位置点数据进行数据聚类处理;
在满足聚类结束条件时,输出属于同一个聚类中的车主和乘客。
4.根据权利要求2所述的一种基于大数据的搭乘顺风车的方法,其特征在于,所述使用所述数据模型对所述n条行驶路线和所述m条乘车需求信息进行数据聚类处理,并生成聚类结果,包括:
当所述数据模型为所述半程搭乘模型时,从所述n条行驶路线中分别提取到每条行驶路线对应的车主的起点位置点,并根据车主的起点位置点和车主的平均时速计算每辆车抵达上车位置点的时间;
从所述m条乘车需求信息中分别提取到每个乘客对应的上车位置点、目的地位置点和乘客期望的上车时间;
使用基于时空综合匹配度的聚类算法对所述n条行驶路线与所述每个乘客对应的上车位置点和目的地位置点、所述每辆车抵达上车位置点的时间与乘客期望的上车时间分别进行数据聚类处理,并生成每辆车对乘客的相对匹配度,所述相对匹配度包括:车辆被乘车需求选中的概率;
根据预置的阈值和所述每辆车对乘客的相对匹配度进行筛选,输出匹配成功的车主与乘客。
5.根据权利要求4所述的一种基于大数据的搭乘顺风车的方法,其特征在于,所述使用基于时空综合匹配度的聚类算法对所述n条行驶路线与所述每个乘客对应的上车位置点和目的地位置点、所述每辆车抵达上车位置点的时间与乘客期望的上车时间分别进行数据聚类处理,包括:
从所述乘车大数据中获取到每个乘客对应的可接受步行距离和可接受时间差;
分别计算所述n条行驶路线与所述每个乘客对应的上车位置点、目的地位置点之间的最短距离,以及判断所述最短距离是否小于或等于所述可接受步行距离;
计算所述每辆车抵达上车位置点的时间与乘客期望的上车时间之间的最短时间差,以及判断所述最短时间差是否小于或等于所述可接受时间差。
6.根据权利要求1至5中任一项所述的一种基于大数据的搭乘顺风车的方法,其特征在于,所述使用预置的聚类算法对所述分布式数据仓库中存储的所述n条行驶路线和所述m条乘车需求信息进行数据聚类处理之前,所述方法还包括:
判断所述分布式数据仓库中是否存在噪声数据;
若所述分布式数据仓库中存在噪声数据时,使用预置的MapReduce函数从所述分布式数据仓库中过滤掉所述噪声数据;
在完成噪声数据过滤之后,触发执行如下步骤:使用预置的聚类算法对所述分布式数据仓库中存储的所述n条行驶路线和所述m条乘车需求信息进行数据聚类处理,并生成聚类结果。
7.根据权利要求1至5中任一项所述的一种基于大数据的搭乘顺风车的方法,其特征在于,所述根据所述聚类结果向乘客推荐顺风车搭乘信息,包括:
根据所述聚类结果绘制最终的行车路线和乘客搭乘的折线说明图,乘车需求和车辆匹配表;
向乘客推送所述最终的行车路线和乘客搭乘的折线说明图,所述乘车需求和车辆匹配表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811201845.1A CN109376184A (zh) | 2018-10-16 | 2018-10-16 | 一种基于大数据的搭乘顺风车的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811201845.1A CN109376184A (zh) | 2018-10-16 | 2018-10-16 | 一种基于大数据的搭乘顺风车的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109376184A true CN109376184A (zh) | 2019-02-22 |
Family
ID=65400514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811201845.1A Pending CN109376184A (zh) | 2018-10-16 | 2018-10-16 | 一种基于大数据的搭乘顺风车的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109376184A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162997A (zh) * | 2019-04-25 | 2019-08-23 | 安徽师范大学 | 基于插值点的匿名隐私保护方法 |
CN110782055A (zh) * | 2019-10-22 | 2020-02-11 | 上海钧正网络科技有限公司 | 信息处理方法、装置、终端及可读存储介质 |
CN111366160A (zh) * | 2020-05-25 | 2020-07-03 | 深圳市城市交通规划设计研究中心股份有限公司 | 路径规划方法、路径规划装置及终端设备 |
CN111654838A (zh) * | 2020-06-12 | 2020-09-11 | 北京百度网讯科技有限公司 | 信息处理的方法及装置 |
CN111754040A (zh) * | 2020-06-23 | 2020-10-09 | 邢冠南 | 一种基于用户需求的信息处理推送方法 |
CN112016988A (zh) * | 2019-05-28 | 2020-12-01 | 丰田自动车株式会社 | 信息处理装置、信息处理方法以及存储介质 |
CN112179363A (zh) * | 2019-07-04 | 2021-01-05 | 奥迪股份公司 | 导航路线确定方法、装置、计算机设备和存储介质 |
CN113010807A (zh) * | 2021-03-29 | 2021-06-22 | 北京百度网讯科技有限公司 | 上车点确定方法、装置、设备和存储介质 |
CN113793242A (zh) * | 2021-09-13 | 2021-12-14 | 首约科技(北京)有限公司 | 一种机场异地网约车管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180032919A1 (en) * | 2016-07-29 | 2018-02-01 | Conduent Business Services, Llc | Predictive model for supporting carpooling |
CN107945503A (zh) * | 2017-12-25 | 2018-04-20 | 武汉斑马快跑科技有限公司 | 顺风车的拼车方法和系统 |
-
2018
- 2018-10-16 CN CN201811201845.1A patent/CN109376184A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180032919A1 (en) * | 2016-07-29 | 2018-02-01 | Conduent Business Services, Llc | Predictive model for supporting carpooling |
CN107945503A (zh) * | 2017-12-25 | 2018-04-20 | 武汉斑马快跑科技有限公司 | 顺风车的拼车方法和系统 |
Non-Patent Citations (1)
Title |
---|
谭梦茜: "基于hadoop的位置大数据拼车方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162997B (zh) * | 2019-04-25 | 2021-01-01 | 安徽师范大学 | 基于插值点的匿名隐私保护方法 |
CN110162997A (zh) * | 2019-04-25 | 2019-08-23 | 安徽师范大学 | 基于插值点的匿名隐私保护方法 |
CN112016988A (zh) * | 2019-05-28 | 2020-12-01 | 丰田自动车株式会社 | 信息处理装置、信息处理方法以及存储介质 |
CN112179363A (zh) * | 2019-07-04 | 2021-01-05 | 奥迪股份公司 | 导航路线确定方法、装置、计算机设备和存储介质 |
CN110782055A (zh) * | 2019-10-22 | 2020-02-11 | 上海钧正网络科技有限公司 | 信息处理方法、装置、终端及可读存储介质 |
CN111366160A (zh) * | 2020-05-25 | 2020-07-03 | 深圳市城市交通规划设计研究中心股份有限公司 | 路径规划方法、路径规划装置及终端设备 |
CN111366160B (zh) * | 2020-05-25 | 2020-10-27 | 深圳市城市交通规划设计研究中心股份有限公司 | 路径规划方法、路径规划装置及终端设备 |
CN111654838A (zh) * | 2020-06-12 | 2020-09-11 | 北京百度网讯科技有限公司 | 信息处理的方法及装置 |
CN111654838B (zh) * | 2020-06-12 | 2023-05-30 | 阿波罗智联(北京)科技有限公司 | 信息处理的方法及装置 |
CN111754040A (zh) * | 2020-06-23 | 2020-10-09 | 邢冠南 | 一种基于用户需求的信息处理推送方法 |
CN113010807A (zh) * | 2021-03-29 | 2021-06-22 | 北京百度网讯科技有限公司 | 上车点确定方法、装置、设备和存储介质 |
CN113010807B (zh) * | 2021-03-29 | 2024-01-16 | 北京百度网讯科技有限公司 | 上车点确定方法、装置、设备和存储介质 |
CN113793242A (zh) * | 2021-09-13 | 2021-12-14 | 首约科技(北京)有限公司 | 一种机场异地网约车管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109376184A (zh) | 一种基于大数据的搭乘顺风车的方法 | |
Maheo et al. | Benders decomposition for the design of a hub and shuttle public transit system | |
Ashqar et al. | Modeling bike availability in a bike-sharing system using machine learning | |
Huang et al. | Large scale real-time ridesharing with service guarantee on road networks | |
CN110836675B (zh) | 一种基于决策树的自动驾驶搜索决策方法 | |
CN110852499A (zh) | 回收故障车辆的方法和装置 | |
CN113763700B (zh) | 信息处理方法、装置、计算机设备及存储介质 | |
Mourad et al. | Owning or sharing autonomous vehicles: comparing different ownership and usage scenarios | |
Lowalekar et al. | Zone path construction (zac) based approaches for effective real-time ridesharing | |
Wei et al. | An improved road network partition algorithm for parallel microscopic traffic simulation | |
Sbai et al. | A real-time decision support system for big data analytic: A case of dynamic vehicle routing problems | |
CN106777279A (zh) | 一种时空关系分析系统 | |
Xu et al. | Solving a large-scale multi-depot vehicle scheduling problem in urban bus systems | |
Zhu et al. | Optimization approach to depot location in car sharing systems with big data | |
CN114578848A (zh) | 一种基于离散点密度与全局规划的无人机巡检路径规划方法 | |
CN105139328B (zh) | 面向车牌识别数据的旅行时间实时预测方法及装置 | |
Wang et al. | GPS data in urban online Car-hailing: simulation on optimization and prediction in reducing void cruising distance | |
US11537767B2 (en) | Automated control through a traffic model | |
CN110347937B (zh) | 一种出租车智能寻客方法 | |
Castagna et al. | Demand-responsive rebalancing zone generation for reinforcement learning-based on-demand mobility | |
Ajani et al. | Dynamic path planning approaches based on artificial intelligence and machine learning | |
Du et al. | Integrated self-driving travel scheme planning | |
CN114648223A (zh) | 一种基于物联网的智慧城市能耗数据挖掘系统及方法 | |
CN113807704A (zh) | 一种城市轨道交通数据的智能算法平台构建方法 | |
Saini et al. | Urban travel demand estimation using genetic algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190222 |
|
RJ01 | Rejection of invention patent application after publication |