[发明专利]一种基于Hadoop的车辆拥挤度获取方法有效
申请号: | 201310688009.1 | 申请日: | 2013-12-16 |
公开(公告)号: | CN103646541B | 公开(公告)日: | 2017-05-24 |
发明(设计)人: | 廖丹;卜思桐;孙罡;陆川;虞红芳;许都 | 申请(专利权)人: | 电子科技大学;电子科技大学广东电子信息工程研究院 |
主分类号: | G08G1/01 | 分类号: | G08G1/01;G06F19/00 |
代理公司: | 成都行之专利代理事务所(普通合伙)51220 | 代理人: | 温利平 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于Hadoop的车辆拥挤度获取方法,通过多个MapReduce任务并行处理统计的GPS消息,再通过拥挤度计算函数将各个区域在同一时刻的统计拥挤度和线性拥挤度并行地计算出来,这样克服了移动集群算法计算时间长的缺陷,大大提高了计算效率,基于Hadoop的算法同时能够自动保存数据副本和扩展计算机集簇,同时具有高扩展性和容错性。 | ||
搜索关键词: | 一种 基于 hadoop 车辆 拥挤 获取 方法 | ||
【主权项】:
一种基于Hadoop的车辆拥挤度获取方法,其特征在于,包括以下步骤:(1)、通过MapReduce编程模型处理统计数据;输入统计的GPS信息,并通过MapReduce编程模型将GPS信息分成N个数据片段,Map()函数读取数据片段时,每次读取一条记录,即数据片段的一行GPS信息,待读取完一条记录后再读取下一条记录,Map()函数将读取的这行记录分解成键值对<Kn,Vn>,n=1,2,…N,在Kn中输入这行记录首字符在文件中的偏移量,在Vn中输入这行消息的内容,同时声明一个数组1,把计算统计拥挤度和线性拥挤度时需要的时间time、经度long、纬度lat、速度speed存入数组1中,Hadoop为每一个数据片段创建一个Map任务,所有的Map任务之间采用并行计算方式,Hadoop同时会根据配置文件中设置的Reduce任务的数量来创建Reduce任务,Reduce任务是基于Reduce()函数执行的,多个Reduce任务之间也是并行执行的;(2)、第一个MapReduce()函数进行时间和区域化处理:(2、1)、在第一个Map()函数中对数组1中的经度、纬度进行处理,对研究的区域进行网格化;对经度为i,纬度为j的区域site(i,j)作标记,则第一个Map()函数输出对应的Kn为site(i,j),对应的Vn为时间time、速度speed;(2、2)、在Reduce()函数中,分别计算车辆在同一时刻的相关速度参数;将经度、纬度相同的Kn对应的所有Vn合并成一个list链表,形成<Kn,list(Vn)>组,同时声明一个数组2,将速度speed提取出来存放在数组2中,令ι=site(i,j),然后根据公式求区域site(i,j)内所有车辆在时刻time的平均速度再计算区域site(i,j)内所有车辆在时间time速度的最大速度vmax(ι)和最小速度vmin(ι),最后计算区域site(i,j)内所有车辆在时间time速度小于平均速度的比例P(v≤v(t)(ι)),v∈VΦ(ι),则第一个Reduce()函数的输出对应的Kn值为site(i,j),对应的Vn为time,vmax(ι),vmin(ι),P(v≤v(t)(ι)),v∈VΦ(ι),最后将输出存放到Hadoop的分布式文件系统hdfs上;(3)、第二个MapReduce()函数对记录的GPS信息进行联结处理:(3、1)、将第一个MapReduce()函数的输出和上一时刻time‑1计算得到的统计拥挤度和线性拥挤度的值输入到第二个MapReduce()函数中;(3、2)、第二个Map()函数将读取的每条记录打包,使其在Reduce侧进行联结;第二个Map()函数处理读取的每条记录时,用数据源标记每条记录,然后将记录打包并标记,这时记录包中含有原始记录和数据源标签,第二个Map()函数则为每个记录包设置组键值;第二个Map()函数的输出被记录为键/值对,并按键来分区,对于联结,第二个Map()函数则输出一个记录包,采用组键作为联结的键;(3、3)、第二个Reduce()函数接收第二个Map()函数的输出数据,并对其值进行完全交叉乘积:第二个Reduce()函数对相同联结键的所有记录一起处理,通过解包得到原始记录,以及根据标签所得到记录的数据源,第二个Reduce()函数对接收到的输入数据值进行完全交叉乘积,当第二个Reduce()函数接收到的输入数据值分别有不同的标签时,交叉乘积就是这些输入数据的原始集合,交叉乘积得到的每个合并结果被送入Combine()函数,则Combine()函数得到的结果为:site(i,j),time,vmax(ι),vmin(ι),P(v≤v(t)(ι)),v∈VΦ(ι),site(i,j),time‑1,其中,t为时刻time,(t‑τι)表示下一时刻time‑1,τι是获取位置ι的动态性参数,各条记录的时间time相同,当第二个Reduce()函数接收到的输入数据值未含有标签或标签相同,则Combine()函数丢弃其合并结果;(4)、通过第三个MapReduce()函数中的Map()函数计算统计拥挤度和线性拥挤度:在第三个Map()函数中输入每条记录的Vn值:site(i,j),time,vmax(ι),vmin(ι),P(v≤v(t)(ι)),v∈VΦ(ι),site(i,j),time‑1,根据公式计算得到时刻time的线性拥挤度;再根据公式计算得到时刻time的统计拥挤度;其中,αι和ιι是获取位置ι的动态性参数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学;电子科技大学广东电子信息工程研究院,未经电子科技大学;电子科技大学广东电子信息工程研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310688009.1/,转载请声明来源钻瓜专利网。