发明内容
发明目的:本发明的目的在于针对现有技术的不足,提供一种实时性能高、路况数据准确且成本低易普及的实时动态路况采集及服务系统。
同时,本发明还提供一种实时动态路况采集及服务方法。
技术方案:本发明所述的一种实时动态路况采集及服务的系统,包括四层架构,所述四层架构分别为彼此相互通信的物理层、数据层、服务层和应用层,
所述物理层包括数据采集模块和数据预处理模块,所述数据采集模块设置于路段的关键节点处,包括用于采集车辆经过此关键节点的瞬时速度的雷达传感器和用于采集经过此关键节点的车辆数量的线圈传感器;所述数据预处理模块,用于对接收到的数据采集模块采集的数据进行预处理,得到此关键节点车辆通行的平均速度;
所述数据层为用于对物理层的数据进行汇总、计算并存储的数据处理器,所述数据处理器包括路段数据管理模块和全网数据管理模块,所述路段数据管理模块用于维护单一路段的实时路况数据,所述全网数据管理模块用于管理某一区域内所有路段的路况数据;
所述服务层为网络服务器用于与数据处理器通信,读取数据处理器中的数据,同时接收所述应用层的请求并发送读取的数据处理器中的数据至所述应用层;
所述应用层为设置于汽车上的APP终端,用于对汽车进行实时定位,发送与实时位置相关的请求并将接收到的服务层的回复进行展示。
本技术方案的进一步限定为,所述物理层的数据采集模块还包括用于采集通过此关键节点的车牌视频数据的视频传感器,所述数据预处理模块还包括对视频传感器采集的视频数据进行处理并取得车牌号码的号码预处理单元;所述数据层还包括数据修正单元,用于修正因长期多次计算平均速度而导致的结果偏移的路况数据。
本发明提供的另一技术方案为:一种实时动态路况采集及服务的方法,包括数据采集步骤、数据处理及存储步骤、数据请求及展示步骤,
所述数据采集步骤具体为:
C1、在城市交通网络中,每一个交叉路口均为一个关键节点,两个交叉路口之间为一个采集路段,每一个采集路段中,根据需要设置不同数量的关键节点,在每个关键节点处设置一个数据采集模块;
C2、数据采集模块的雷达传感器采集车辆经过关键节点的瞬时速度Vs,将瞬时速度Vs输入至数据预处理模块,数据预处理模块将瞬时速度Vs进行累加,得到一个预设时间段t内的累加结果∑Vs;
C3、数据采集模块的线圈传感器采集经过此关键节点的车辆触发信号,并将触发信号传送至数据预处理模块,数据预处理模块将触发信号进行累加,得到预设时间段t内的次数n;
C4、数据预处理模块将数据进行预处理得到此节点的平均速度V均=∑Vs/(n*t);
所述数据处理及存储步骤具体为:
S1、数据处理器接收路段上所述关键节点的平均速度V均,根据平均速度V均构造此路段路况数串,并累加当前时间点上此路段所有关键节点的平均速度∑V均,计算此路段的平均速度VL均=∑V均/m,其中,m为此路段上关键节点的个数;
S2、路段数据管理模块将平均速度VL均转换为路况等级,并将路况等级和路段路况数串进行存储;
S3、全网数据管理模块将某一区域内所有路段的路况数据进行汇总并存储;
所述数据请求及展示步骤具体为:
Q1、APP终端通过自身携带的地图UI模块对车辆进行定位并得到车辆与交叉路口的距离及此交叉路口的位置;
Q2、当汽车与交叉路口A的距离为设定距离时,APP终端向网络服务端发起查询请求,并等待答复;查询请求信息携带的内容包括用户ID和当前的路段位置信息;
Q3、网络服务器接收到APP终端的请求后,向数据层提交查询指令,并将获取的查询结果返回至终端APP应用;
Q4、APP终端接收到服务端返回的信息之后,对返回的内容进行逐条解析,解析完毕后,取出第一个条信息进行展示,第一条信息处理完成之后,再解析第二条信息,直至所有信息被处理完成。
本技术方案的进一步限定为,还包括数据修正步骤,具体为:
X1、数据采集模块的视频采集器采集通过关键节点的车牌视频数据,数据预处理模块对车牌视频数据进行分析,提取车牌号码信息并连同拍摄时间一同传送至数据层的数据修正单元,数据修正单元将每个关键节点的车牌号码及拍摄时间进行存储;
X2、数据修正单元定时启动数据修订流程,提取此路段上各个数据采集器采集的车牌号码,任取一个车牌号码,此车牌号码必须同时被此路段上的每个数据采集器采集到,根据此路段两个端点数据采集器对此车牌号码的拍摄时间,计算得到此车牌号码的车辆通过此路段所用的时间,另外,根据此路段的距离,计算得到修正平均速度VX均,并将此修正平均速度VX均输出至路段数据管理单元;
X3、路段数据管理单元对比路段的平均速度VL均对应的路况等级和修正平均速度VX均对应的路况等级,如果路况等级不同,将平均速度VL均对应的路况等级修正为修正平均速度VX均对应的路况等级进行存储。
进一步地,所述数据修正步骤还包括判断速度为0时路段的状态,具体为:当路段的平均速度VL均为0时,判断数据修正单元的修正平均速度VX均,如果修正平均速度VX均不为0,则此路段严重堵塞,如果修正平均速度VX均为0,则此路段畅通。
进一步地,所述数据处理及存储步骤中,步骤S1中构造的路段路况数串包括头字段、内容字段和结尾字段,所述头字段为此路段上关键节点的个数,该值与内容字段的长度相一致;所述内容字段的个数与关键节点的个数一致,每个内容字段中填写的值为该节点所对应的路况等级;结尾字段为NULL值。
进一步地,所述数据请求及展示步骤中,步骤Q2中,汽车与交叉路口A的设定距离至少为2个,当汽车在第一个设定距离处发送请求未接收到答复时,到达下一个预设距离时,继续发送请求,直至接收到答复为止。
进一步地,所述数据请求及展示步骤中,步骤Q2中,APP终端向网络服务端发起查询请求时查询请求信息携带的内容还包括查询优先级,查询优先级根据预设距离设定,原则为预设距离越大,查询优先级越低;
步骤Q3中,网络服务器接收到APP终端的请求后,根据请求信息中的优先级,将请求指令分发到不同的处理队列中;网络服务器向数据层提交查询指令时,分别提取不同队列的请求进行查询,请求提取的方案为先提取高优先队列中的请求指令,高优先队列中请求指令为空后,按优先级别由高到低依次提取。
进一步地,所述数据请求及展示步骤中,步骤Q4中APP终端对返回的内容进行逐条解析,获得路段名和平均路况;APP终端进行展示时,将路段名和平均路况发送至语音处理模块,语音处理模块对平均路况参数根据预先的定义翻译为语音进行展示。
进一步地,所述数据请求及展示步骤中,步骤Q4中APP终端对返回的内容进行逐条解析,获得路段名和路段数串;APP终端进行展示时,将路段名与路段数串发送至APP终端的地图UI模块,所述地图UI模块根据路段数串中承载的此路段每个关键节点的路况等级对地图的对应位置进行路况的标注。
有益效果:本发明提供的一种实时动态路况采集及服务的方法,实时采集路况的信息进行服务,使用户在路口之前及时了解前方路况,合理选择行车路线,避开拥堵路段,节约用户时间,减少行车油耗,缓解拥堵路段的交通压力;本发明采用数据修正方法,对路况的信息进行校正,避免路况误差,使服务更加准确;同时,本发明的物理层和数据层可以利用现有交通网络中的监控设备进行扩展,服务层和应用层独立开发,应用层无需增加汽车内的硬件,布网简单灵活,实现成本低,易于在中心城市普及,也适用于大型城市的交通管理。
实施例:本发明提供一种实时动态路况采集及服务的方法,系统采用四层架构,系统架构图如图1所示,分别为彼此相互通信的物理层、数据层、服务层和应用层,其中,物理层负责实时动态路况的数据采集和预处理;数据层将采集到的动态路况数据进行再次处理和修正并存储;服务层负责处理应用层的服务请求,根据请求的内容提取数据层的相应数据,并将数据返回至应用层;应用层负责发起请求并对接收到的应答进行解析和展示。
在本发明方法的具体实现过程中,物理层采用数据采集器实现,数据层采用数据处理器实现,服务层采用网络服务器实现,应用层采用APP终端实现,下面详细阐述上述各层的具体实现方案及工作方法。
(1)物理层
物理层的结构示意图如图2所示,包含数据采集模块和数据预处理模块。数据采集模块包括雷达传感器、线圈传感器和视频传感器;数据预处理模块包括速度预处理单元、次数预处理单元、号码预处理单元和终端预处理单元。
数据采集模块的部署策略为:
数据采集模块需部署多个,其部署原则为:在城市交通网络中,每一个交叉路口均为一个关键节点,两个交叉路口之间为一个采集路段。每一段采集路段中,根据需要设置不同数量的关键节点,每一路段中关键节点的设置数量为:N=[L/d]-1,其中,L为此路段的长度,d为两个数据采集器之间的预设距离,d的取值范围为100m~300m,d的取值原则为,在快速路上d的范围为200~300m,在慢速路上d的取值范围为100m~200m;因此,两个关键节点之间的实际距离dl=L/N。本发明中,在上述每个关键节点处均部署一个数据采集模块。值得注意的是,每个数据采集模块只负责一个方向车辆的数据采集,在双向道路中,如果需要采集双向的车辆信息,数据采集器则需要双向部署,其部署方法相同。
数据采集模块部署完成后,数据采集模块中的传感器均与数据预处理模块通信,完成数据采集,各个传感器的数据采集及预处理过程流程图如图3所示,具体为:
雷达传感器:
雷达传感器采集车辆经过此关键节点的瞬时速度Vs,将瞬时速度Vs输入至速度预处理单元,进行速度预处理后得到一个预设时间段t内此节点的平均速度,将平均速度传输至终端预处理单元,速度预处理的步骤为,读取雷达传感器采集的车辆的瞬时速度Vs,并将瞬时速度Vs进行累加,当到达一个预设时间段t时,将累加的结果∑Vs传输至终端预处理单元。
线圈传感器:
线圈传感器采集经过此关键节点的车辆数量,传送一个触发信号至次数预处理单元,次数预处理单元将触发信号进行累加,当到达一个预设时间段t时,将累加的次数n传输至终端预处理单元。
终端预处理单元:
终端预处理单元接收一个预设时间段t内的累加瞬时速度∑Vs和车辆通过的次数n,将数据进行预处理得到此节点的平均速度,将平均速度传输至数据层。终端预处理单元计算平均速度的方法为:平均速度V均=∑Vs/(n*t)。
视频采集器:
视频采集器采集通过此关键节点的车牌视频数据,并将车牌视频数据传输至号码预处理单元,号码预处理单元对车牌视频数据进行分析,提取车牌号码信息并连同拍摄时间一同传送至数据层。号码预处理单元对视频数据进行分析得到车牌号码的实现方法为现有实成熟技术,本方案只是引用,不再赘述。
(2)数据层
数据层为数据处理器,负责对物理层的数据进行汇总、计算并存储。数据层包括路段数据管理模块和全网数据管理模块。
路段数据管理模块负责维护单一路段的实时路况,包括路段数据生成单元、路段数据修正单元和路段数据管理单元。
路段数据生成单元接收此路段上各关键节点的平均速度,计算该路段的平均车速,并构造路段路况数串。
路段数据生成单元由定时任务驱动,每隔固定周期(周期可配置)发起一次计算任务,其工作流程图如图5所示,具体步骤为:
①路段数据生成单元启动,接收物理层传输的此路段上关键节点的平均速度V均,根据平均速度V均构造此路段路况数串,并累加当前时间点上此路段所有关键节点的平均速度∑V均。
构造成路段路况数串的目的是精确描述一个路段的细节,精确范围由数据采集模块的部署间距决定。本实施例中设计的路段路况数串的结构如图6所示,包括头字段、内容字段和结尾字段。其中,头字段为此路段上关键节点的个数,该值与内容字段的长度相一致;内容字段的个数与关键节点的个数一致,每个内容字段中填写的值为该节点所对应的路况等级;结尾字段为NULL值。本实施例中,路况等级划分为五级,由该节点的平均速度决定,路况等级与平均速度的对应转换关系如表1所示:
表1:
速度范围 |
路况等级 |
0<x<5 |
5 |
5<x<25 |
4 |
25<x<45 |
3 |
45<x<60 |
2 |
60<x |
1 |
其中,x为平均速度V均,单位为公里/小时;路况等级:1表示“畅通”;2表示“基本畅通”;3表示“行驶缓慢”;4表示“堵塞”;5表示“严重堵塞”。
②计算路段的平均速度VL均=∑V均/m,将路段的平均速度和路段路况数串输出至路段数据管理单元,路段数据管理单元将路段的平均速度VL均对应转换为路况等级,路况等级与平均速度的对应转换关系如表1所示,并且路段数据管理单元将路况等级和路段路况数串进行存储。
数据修正单元有两个功能,一个功能用来修正因长期多次计算平均速度而导致的结果偏移。另一个功能是用来判断速度为0时路段的状态。
数据修正单元用来修正因长期多次计算平均速度而导致的结果偏移具体为:本方案中路段的平均速度VL均是从各个节点的车速中两次平均得到的,此计算方法在长时间的运行之后会导致结果偏移,因此,本发明中通过视频采集器采集的车牌号码进行路段端到端的修正,有效减少误差。路段平均速度的修正方法为:
①数据修正单元接收数据采集模块传送的车牌号码及拍摄时间并进行存储;
②数据修正单元定时启动数据修订流程,提取此路段上各个数据采集器采集的车牌号码,任取一个车牌号码,此车牌号码必须同时被此路段上的每个数据采集器采集到,根据此路段两个端点数据采集器对此车牌号码的拍摄时间,计算得到此车牌号码的车辆通过此路段所用的时间,另外,根据此路段的距离,计算得到修正平均速度VX均,并将此修正平均速度VX均输出至路段数据管理单元;
③路段数据管理单元对比路段的平均速度VL均对应的路况等级和修正平均速度VX均对应的路况等级,如果路况等级不同,将平均速度VL均对应的路况等级修正为修正平均速度VX均对应的路况等级进行存储。
数据修正单元用来判断速度为0时路段的状态具体为:实际实施过程中,当道路的平均车速趋近于0公里/小时时,可能存在两种状态,(1)该条道路上没有车辆通过,畅通;(2)车辆严重堵塞。此时,仅仅通过雷达传感器和线圈传感器不能进行判定,将会给用户带来很大的困扰。本实施例中采用视频采集器采集的车牌号码进行修正,修正速度为0时路段的状态,具体为:当路段的平均速度VL均为0时,判断数据修正单元的修正平均速度VX均,如果修正平均速度VX均不为0,则此路段严重堵塞,如果修正平均速度VX均为0,则此路段畅通。
修订的判定规则如表2所示:
表2:
路段数据生成单元 |
数据修正单元 |
修正路况 |
有值 |
有值 |
根据数值修正 |
有值 |
无值 |
系统故障 |
无值 |
有值 |
严重堵塞 |
无值 |
无值 |
畅通 |
全网数据管理模块用于管理某一区域内所有路段的路况数据,为服务层提供查询服务。本方案中各路段数据在全网数据管理模块的存储关键字段如表3所示:
表3:
路段名 |
路况等级 |
路段路况数串 |
。。。 |
AB |
1 |
41111 |
|
AC |
2 |
511234 |
|
全网数据管理模块的数据是将路段数据管理模块进行汇总存储。
(3)服务层和应用层
本发明中服务层为网络服务器,应用层为APP终端,其结构示意图如图7所示。
网络服务器为Web服务器,提供数据库接口用于与数据处理器通信,读取数据处理器中的数据。同时,网络服务器提供Webservice接口,与APP终端的Webservice接口通信连接,网络服务器与APP终端之间基于SOAP协议进行底层通信。
APP终端设置于用户的汽车上,可以与汽车上的导航系统结合,也可以与用户的手持终端结合,使用方式灵活。APP终端除了包括Webservice接口外,还包括地图UI模块和语言处理模块。APP终端用于对汽车进行实时定位,发送与实时位置相关的请求并将接收到的服务层的回复进行展示
地图UI模块对车辆进行实时定位并获取车辆实时位置与交叉路口的距离、及此交叉路口的位置。地图UI模块采用的定位技术为GPS卫星定位、WIFI网络定位、GPRS/CDMA移动通讯定位或北斗卫星定位。地图信息使用goole地图、百度地图或者车载导航地图。地图UI模块为目前常用的技术,其对汽车进行定位及地图数据的对应并取得与交叉路口的距离的方法本领域的技术人员均可实现,在本专利文件中不做进一步的详述。
APP终端与网络服务器之间的数据交互过程为:当汽车与交叉路口的距离到达设置值时,APP终端通过Webservice接口发起路况查询,网络服务器根据APP终端的查询信息获取数据,并将数据传送至APP终端,APP终端的语言处理模块进行解析并根据解析的数据向用户发出路况提示。APP终端与网络服务器交互命令定如下:
当APP终端获取到起始位置和目的位置时,APP终端向网络服务器发出请求,GetSingIeInfo(ID,POS1,POS2,pri),其中,ID为APP终端的标识,POS1为路段的起始位置,POS2为路段的目的位置,pri为查询优先级信息;
当APP终端获取到起始位置时,APP终端向网络服务器发出请求:GetInfo(ID,POS,pri),其中,ID为APP终端的标识,POS为路段的起始位置,pri为查询优先级信息;
网络服务器向APP终端回复的响应为:RespInfo(),携带的参数为路况的信息。
下面对APP终端获取路况信息的过程进行详细的说明,其流程图如图8所示:
①APP终端的地图UI模块对车辆进行定位并得到车辆与交叉路口的距离及此交叉路口的位置。
②汽车与交叉路口A的设定距离至少为2个,当汽车在第一个设定距离处发送请求未接收到答复时,到达下一个预设距离时,继续发送请求,直至接收到答复为止。本实施例中,当汽车与交叉路口A的距离为200m时,设置优先级为“中”,APP终端向网络服务端发起查询请求,并等待答复,如果在预设的时间内,APP终端接收到网络服务器的答复,则执行步骤③,如果未接收到网络服务器的答复,则当汽车与交叉路口A的距离为100m时,设置优先级为“高”,继续向网络服务器发起查询请求,如果APP终端接收到网络服务器的答复,则执行步骤③,如果未接收到网络服务器的答复,则当汽车与交叉路口A的距离为50m时,设置优先级为“紧急”,继续向网络服务器发起查询请求,如果APP终端接收到网络服务器的答复,则执行步骤③,如果未接收到网络服务器的答复则提示查询异常,退出查询。
查询请求信息携带的内容为:用户ID,当前的路段位置信息及查询优先级信息。
③网络服务器接收到APP终端的请求后,处理数据的流程图如图9所示,首先由前端处理模块根据请求信息中的优先级,将请求指令分发到不同的处理队列中,请求指令的分发原则为:优先级为“中”的请求指令分发到普通优先队列;优先级为“高”的请求指令分发到中优先队列;优先级为“紧急”的请求指令分发到高优先队列。
然后,查询控制模块根据预设的优先级处理策略,分别提取不同队列的请求,下发至查询模块,请求提取的方案为先提取高优先队列中的请求指令,当高优先队列为空时,提取中优先队列中的请求指令,当中优先队列为为空时,提取普通优先队列中的指令。
再后,查询模块将查询请求转换为标准数据查询语句,向数据层提交查询指令,并获取查询结果交由前端处理模块返回至终端APP应用。
服务端向APP返回的数据结构及内容示意图如表3所示。
④APP终端接收到服务端返回的信息之后,需要对返回的内容进行逐条解析,直至全部解析完毕,然后取出第一个条信息,将路段名和平均路况发送至语音处理模块,语音处理模块对平均路况参数根据预先的定义翻译为语音,同时APP终端将路段名与路段数串,发送至地图UI模块。所述地图UI模块根据路段数串中承载的此路段每个关键节点的路况等级对地图的对应位置进行路况的标注,标注的方式可以采用颜色标注,路段数串中1对应绿色、2对应青色、3对应褐色、4对应橙色、5对应红色。第一条信息处理完成之后,再解析第二条信息,直至所有信息被处理完成。
本实施例中应用于具体路况,本实施例应用的具体路况图如图10所示,本实施例中,在慢速路上选取交叉路口A、B、C、D,则两个数据采集模块之间的预设距离为100m。A、B、C、D均设置数据采集模块,A与B之间的距离为450m,A与C之间的距离为340m,A与D之间的距离为550m。因此,计算得到,A与B之间设置的数据采集模块数量为4个,两个数据采集模块之间距离为112.5m;A与C之间设置的数据采集模块的数量为3个,两个数据采集模块之间的距离为113m;A与D之间设置的数据采集模块数量为5个,两个数据采集模块之间的距离为110m。上述路段上的数据采集模块正常工作,采集数据。得到的数据如表4所示:
表4:
当汽车行驶至距离A点200m时,APP终端向网络服务器发送请求,网络服务器返回表4的信息,APP终端进行解析并发出提示。路况提示的方法有两种:A语音处理模块给出语音提示,按照路况由好到坏的顺序进行提示,以本实施例为例,语音提示为:“前方A到B畅通;前方A到C基本畅通;前方A到D堵塞”。B地图UI模块进行地图提示,地图UI模块中地图的对应位置进行标注,标注的方式可以采用颜色标注,路段数串中1对应绿色、2对应青色、3对应褐色、4对应橙色、5对应红色。通过上述两种提示,汽车的司机可以直观的了解前方的实时路况,根据需要选择行使的方向,解决时间并缓解路段的拥堵。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。