车辆驾驶行为实时分析与历史查询

项目需求:①实时分析;②历史查询

实时分析:要求按趟计算超速情况,夜间驾驶情况,疲劳驾驶情况,驾驶里程情况,分别计算各项得分,然后计算综合得分。

历史查询:要求岸田查看各趟情况,每趟中可选择查看每一次违规驾驶行为的详细情况。

项目分析与实施方案,首选大数据方案,在平台选择方面,必然选择流计算平台,主要可选方案是spark和storm,spark1中的spark stream是使用小批量处理来模拟流计算,并不是完全的实时计算。

spark2.0中提供了基于dataset\datefram接口的流计算,与storm一样是事件驱动的,是实时的的流计算,但是还不够成熟,而且spark的计算模型要求所处理的元素需满足交换律和结合律,

而storm的reduceAggregator不要求满足这两条定律,公司设计的驾驶行为评分模型就是不满足交换律和结合律的,因而只能选择storm平台。

吐槽一下:并不是什么任务都是和大数据技术的,不少公司就是为了用大数据二用大数据,就是为了这个噱头,而且模型设计也没设计好,原因就是没有从根本上弄清楚大数据应用的基本条件,就是要满足上述两个定律。

storm虽然可以在不满足上述定律的情况下使用,但是效率就低了很多,并发度最多只能达到一辆车一个线程,而满足交换律结合律两个定律的计算模型可以达到一辆车对应多个线程,大大提高并发度。

更常见的情况是小公司根本没那么多数据,却非要用大数据技术来装逼。

具体分析:

实时分析:针对每辆车进行聚合分析,该聚合分析有严格时序要求,storm并不能算是内存计算框架,并没有提供对计算的中间结果进行内存缓存的API,数据只能在载入后一条线计算,得到结果,不能有多条支路,从而服用中间计算结果,

而这往往是需要的,本项目就需要这个功能,也就是说超速、夜驾、疲驾、驾驶里程的分析只能春兴分析,要并行分析则要分别中心加载原始数据,必然造成更多计算的浪费。

数据的串行流向必然引起数据在各分析节点上的变化,主要是关于个计算节点要保存那些数据到数据库,那些数据是该计算节点自身独有的,还有哪些数据是要传递的给下一计算节点的,这部分内容需要详细分析,稍后分解。

历史查询:实际上所有结果都已经在实时分析时产生了,问题在于如何使历史查询更加高效方便,该项目数据存储选择的是hbase,对于实时评分模型,项目要求每一个事件发生的时间点又有一个分值(包括各分项值和综合值),

除了实时分值,历史查询主要包含以下几部分内容:①按日期查询的多趟数据,每一天包含在改天结束的趟次和在该天开始的趟次,也就是说一趟驾驶行为可能属于前后两天;②对于违规驾驶行为,每一次违规行为都要有详细情况,

所谓的详细情况包括:

1、超速驾驶:首先要提供任一趟的超速频度,而且,所有超速点都被列出详细情况,包括速度、超速程度、经纬度(用于地图匹配)等

2、夜驾行为:夜驾行为没有频次,因而只序列出趟内所有夜驾点的详细情况

3、疲劳驾驶:疲劳驾驶与超速驾驶类似

4、驾驶里程:驾驶里程分析最为简单,只需驾驶里程和经纬度即可。

备注:以上四种驾驶行为的统计量并没有加上分值,需要的话也可以加上。有一个重要的却没有实现的功能就是直接按键查询一次超速、一次疲劳驾驶的起始时间,截止时间等,而是需要查询者自行分析。

实质上可以把按键查询一次违规驾驶事件是一个小粒度查询,按天查询时一个大粒度查询,他下面有按趟次查询,最小粒度查询就是按事件时间查询了,之所以没有提供按违规事件查询是没有找到得到键的方法。

以上是编码一段时间之后的事后分析,下面是具体编码分析,首先是获取原始驾驶数据(原始驾驶数据由kafka提供),将原始数据解析进一个类中(使用driveEvent类表示一次驾驶事件),driveEvent包含车辆信息,速度,事件、经纬度等。

在进入下一处理节点之前,必须要深刻理解storm的编程模型,书要是聚合模型和存储模型。

时间: 2024-08-09 09:21:59

车辆驾驶行为实时分析与历史查询的相关文章

查询SQLSERVER执行过的SQL记录(历史查询记录)(转)

原文链接:https://www.cnblogs.com/icycore/p/10493237.html 有的时候,需要知道近段时间SQLSERVER执行了什么语句,可以用下面的方法: SELECT TOP 1000 QS.creation_time, SUBSTRING(ST.text, (QS.statement_start_offset / 2) + 1, ((CASE QS.statement_end_offset WHEN - 1 THEN DATALENGTH(st.text) EL

hadoop、spark、hive、solr、es与YDB在车辆即席分析上的对比分析

自2012年以来,公安部交通管理局在全国范围内推广了机动车缉查布控系统(简称卡口系统),通过整合共享各地车辆智能监测记录等信息资源,建立了横向联网.纵向贯通的全国机动车缉查布控系统,实现了大范围车辆缉查布控和预警拦截.车辆轨迹.交通流量分析研判.重点车辆布控.交通违法行为甄别查处及侦破涉车案件等应用.在侦破肇事逃逸案件.查处涉车违法行为.治安防控以及反恐维稳等方面发挥着重要作用. 随着联网单位和接入卡口的不断增加,各省市区部署的机动车缉查布控系统积聚了海量的过车数据.截至目前,全国32个省(区.

车辆保养记录查询

详情链接:http://www.haoservice.com/docs/112 车辆保养记录查询,通过车辆VIN,即车辆识别代码,车架号,可以快速查询车辆历史报告,汽车历史记录,维修保养查询,事故车查询,召回查询,调表车,水淹车,火烧车等车辆存在的问题.车鉴定,车辆维修记录,车辆历史记录,汽车历史记录,维修保养查询,事故车查询,召回查询,调表车,水淹车,火烧车,大圣来了,蚂蚁女王,4S店保养查询,二手车工具,二手车   支持格式: JSON/XML 请求方式: GET/POST   请求参数:

如何查询IP-MAC

在最新版的WFilter NGF中,新增了"ip-mac历史查询"的功能,可以实现如下功能: 记录局域网客户机的ip.mac.mac厂商的历史记录. 支持网桥和网关部署模式,即使是网桥模式,也可以记录ip-mac信息. 启用"mac地址收集器"功能后,可以跨三层交换机获取实际的ip mac信息. 一些相关截图如下:

Jeecg高级查询器

一.背景       对于用户来讲查询功能按易用性分三个层次: 1. 最简单查询操作是一个输入框,全文检索,如百度,后台实现技术使用搜索引擎,需要设计和建立索引,技术较为复杂,适用于文档和信息数据库检索,但是结果很难精确控制. 2. 其次是定义字段查询,很多企业信息系统大多用的是这种查询,针对模块特定字段的查询有针对性.使用门坎低,适用于企业内部信息管理系统模块定制. 3. 最后一种是专门针对数据模型灵活的查询编辑器,使用难度最高,但是查询结果可以灵活和精确的控制,适用于有一定IT知识并对数据相

数据报表查询

通过点选拖拽的设置方式,便捷地为报表定义查询条件,帮助用户轻松查询需要的数据,实现灵活的数据查询交互. 智能易用的查询设计器,高效实现查询界面 基于友好易用的查询设计器,轻松点选添加查询条件,便捷地拖拽条件排列布局,所见即所得的设计查询面板,快速完成查询界面设置 支持复杂逻辑查询 特有高级条件设置模式,具有括号和逻辑运算功能,能够将多个查询条件使用括号和逻辑符(并且.或者)进行组合,实现复杂的数据查询. 自动处理条件输入格式风格 支持丰富多样的条件值输入风格,例如下拉日历.列表选择等,帮助用户快

十分钟部署Anemometer作为Mysql慢查询可视化系统

前言 采用Anemometer将Mysql慢查询日志可视化,可以更便捷的查询慢查询日志,并根据时间戳进行历史查询.如下是单机版Anemometer部署的演示,实际应用中,为安全起见,建议把anemometer 分开到另外的机器上. 工作原理 Anemometer: 实现日志可视化 pt-query-digest :抽取慢查询日志 环境信息 Ip 功能 软件信息 安装路径 操作系统 192.168.9.11 http服务 httpd-2.2.15-54 yum缺省路径 centos6.9 慢查询日

聊聊智能汽车的发展历史(二)

1980-90年代——加速发展期 20世纪80年代到90年代,伴随着计算机.机器人控制和和传感等技术的突破, 无人驾驶技术的发展进入了一个快速发展的阶段.这一时期的显著特点是军方.大学.汽车公司间开展了广泛的合作,成功研发了多辆自动驾驶汽车原型,这一时期主要使用视觉方法感知周围环境,依靠计算机对图片等信息处理.分析以生成控制汽车的命令.最具代表性的成果要数美国卡内基.梅隆大学的NavLab系列.德国慕尼黑联邦国防军大学的VaMoRs(P)系列和意大利帕尔马大学视觉实验室(VisLab)的ARGO

[CATARC_2017S] Week 0

not formal TBOX 车联网系统: 主机\ 车载TBOX\ 手机APP\ TSP后台System 远程控制流程: 用户通过 手机APP 发送控制命令 -> TSP后台发出监控请求指令到车载T-box -> 车辆在获取到控制命令后,通过CAN总线发送控制报文并实现对车辆的控制 -> 反馈操作结果到 手机APP T-BOX 架构: 双路DC/DC + 双路LDO + 双核OBD模组 + STM32F103CBT6为主控 + STM32F105RBT6双核处理, 外围为 GPRS +