1.一种基于众包和区块链的交通流采集系统,其特征在于,包括:
区块链系统管理端,设定区块链采集的路段、区块的采集难度N及生成时间T,同时负责构造生成针对各路段的区块链创世纪块;
区块链用户端,负责向车辆用户端发布针对各路段的众包任务以实现区块的产生,且区块的产生方式为:首先判断在时间T内是否存在一个区块链用户端针对一个众包任务所收集的车辆数据记录数量N1>=N,如果是则选择用时最短的区块链用户端,将其众包任务中所包含的车辆数据记录作为一个区块加入到区块链系统管理端构建的区块链中,否则选择时间T内所收集的车辆数据记录数量最多的区块链用户端,将其众包任务中所包含的车辆数据记录作为一个区块加入到区块链中;
车辆用户端,负责将当前正在行驶的车辆数据作为一条记录提交到一个众包任务中。
2.根据权利要求1所述一种基于众包和区块链的交通流采集系统,其特征在于,所述区块链用户端中均存有一份完整的区块链副本。
3.根据权利要求1所述一种基于众包和区块链的交通流采集系统,其特征在于,所述区块链用户端针对一个路段最多发布一个众包任务。
4.一种基于众包和区块链的交通流采集方法,其特征在于,包括以下步骤:
首先,由区块链系统管理端设定交通流区块链所采集的路段、区块的采集难度N及区块的生成时间T,同时构造生成针对各路段的区块链创世纪块,其中,采集难度N表示区块内的车辆数据记录数量最少不低于数量N;
然后,由各用户端在区块链系统上通过注册、认证后成为区块链用户端或车辆用户端,其中,区块链用户端负责向车辆用户端发布针对各路段的众包任务以实现区块的产生,车辆用户端负责将当前正在行驶的车辆数据作为一条车辆数据记录提交到一个众包任务中;
那么区块链中区块的产生方式为:首先判断在时间T内是否存在一个区块链用户端针对一个众包任务所收集的车辆数据记录数量N1>=N,如果是则选择用时最短的区块链用户端,将其众包任务中所包含的车辆数据记录作为一个区块加入到区块链系统管理端构建的区块链中,否则选择时间T内所收集的车辆数据记录数量最多的区块链用户端,将其众包任务中所包含的车辆数据记录作为一个区块加入到区块链中。
5.根据权利要求4所述一种基于众包和区块链的交通流采集方法,其特征在于,所述区块链用户端在通过众包任务收集车辆数据记录的过程中,还要进行异常值的排查,具体包括:针对众包任务中的所有车辆数据记录,分别计算车速和车长的均值、方差,分别表示为(μv,σv)、(μl,σl),且当前车辆数据记录中的车速和车长分别表示为v和l,如果它们满足|μv-v|>σv或|μl-l|>σl中的一个条件,则说明该记录是异常值,抛弃该车辆数据记录。
6.根据权利要求4所述一种基于众包和区块链的交通流采集方法,其特征在于,所述车辆数据包括车速、车型、车长、采集时间,其中,车型、车长由用户预先填写,车速、采集时间由车辆用户端采集和确定。
7.根据权利要求4所述一种基于众包和区块链的交通流采集方法,其特征在于,所述车辆用户端的操作过程具体包括:在经过设定路段之前,车辆用户端查看针对该路段的若干众包任务,并选择要提交的众包任务;行驶过程中,每隔一段设定时间车辆用户端将自动获取车辆当前的GPS定位位置并会判断该位置是否在该路段上的起点和终点之间,如果是则将当前正在行驶的车辆数据作为一条记录提交到该众包任务中去,否则不提交;
车辆用户端提交一个车辆数据记录后,如果设定时间内发现该记录没有被区块链用户端接受,那么车辆用户端将选择该路段上的另一个众包任务自动提交,此时再次提交的车辆数据都是先前采集的数据。
8.根据权利要求5所述一种基于众包和区块链的交通流采集方法,其特征在于,所述发布众包任务的区块链用户端在判定车辆数据有效的情况下对每个提交数据的车辆用户端给予奖励。
9.根据权利要求4所述一种基于众包和区块链的交通流采集方法,其特征在于,所述区块链系统管理端在每次分布式共识达成一致后,对有权发布区块的区块链用户端给予奖励。
10.根据权利要求4所述一种基于众包和区块链的交通流采集方法,其特征在于,所述区块链系统管理端在生成的区块链基础上,根据区块里每条记录中的采集时间来收集时间段[t1,t2]内的车辆数据记录,从而获取选定路段在时间段[t1,t2]内的交通流数据,具体包括:车辆速度v:查找区块链中满足时间和路段条件的车辆速度值,对其求平均值;
经过时间t:根据车辆速度v,计算t=d/v,其中d为选定路段的距离长度;
车辆长度l:查找区块链中满足时间和路段条件的车辆长度数据,对其求平均值,即可提取车辆长度l;
平均交通流量q:查找区块链中满足时间和路段条件的车辆数据,统计数据记录数量n,n即为在时间段[t1,t2]内通过选定路段的车辆数,则q=n/(t2-t1);
时间占有率o: 其中n为区块链中满足时间和路段条件的车辆数,ti为第i辆车
经过该路段的时间;
平均车头时距s:s=1/q。