可自定义工程租赁车辆运行指标异常的监控系统及方法

文档序号:30978210发布日期:2022-08-02 23:55阅读:115来源:国知局
可自定义工程租赁车辆运行指标异常的监控系统及方法

1.本发明属于信息技术领域,具体涉及一种可自定义工程租赁车辆运行指标异常的监控系统及方法。


背景技术:

2.随着互联网与5g时代到来以及大数据技术的不断发展,智能技术为汽车产业带来了无限的遐想与可能。这使得车联网与大数据的结合成为了一种必然的选择,并有希望成为汽车产业的下一个发展点和突破点。车联网的迅速发展将会极大地促进未来智慧交通系统的发展。车联网是将电子传感车辆安装至车上,利用导航技术、通信系统、车载智能终端器材与服务器平台,使车、人、路和因特网实现信息互联互通。
3.目前,全社会在推动工业互联网在更广范围、更深程度、更高水平上融合创新,培植壮大经济发展新动能,支撑实现高质量发展,用以加快新型基础设施建设,其主要载体之一就是工程车辆车辆。工程车辆贯穿项目施工的整个生命周期,并在工程项目施工中起着不可替代的作用。它们的出现使得土建工程进度大大加快,极大减少人力资源浪费,通常在土建工程项目中负责材料的运载、土石方材料的挖掘、道路抢修等。
4.但是工程车辆车辆的购置需要花费大量的资金,随着社会经济的发展,企业的资产意识也在发生转变,因为车辆的所有权的意义更多体现在法律层面,而使用权才真正创造价值,很多企业意识到这点之后,都不再纠结于车辆的所有权,更多的考虑是如何以更低的成本取得车辆的使用权。因此越来越多的工程车辆使用方采用租赁而非直接购买的方式获取工程车辆的使用权。
5.但是在当前工程车辆租赁的业务场景下,存在如下问题:
6.1)工程车辆在被租赁后,车辆的出租方和租赁方无法实时获取车辆的运行信息,了解车辆的运行状态。
7.2)工程车辆在被租赁后,当车辆发生运行时异常,车辆的出租方无法获取报警信息,准确的了解车辆的异常状态。
8.3)工程车辆在被租赁后,由于大型工程车辆驾驶难度高且行车人员水平不同,行车过程中存在着巨大的安全隐患。
9.因此,在这样的需求背景下,一个可以监控工程车辆运行信息、并对车辆运行异常进行报警的系统就很有必要。


技术实现要素:

10.为了解决现有业务需求中存在的问题,本发明提供一种可自定义工程租赁车辆运行指标异常的监控系统,着眼于解决用户实际应用需求点,旨在对租赁车辆提供管理服务,同时利用车载智能盒子实时获取车辆运行时信息,实时采集车辆的油温、油压、液压、油位、工作时间等运行参数,并使用大数据技术对车辆信息进行实时监控。通过引入规则引擎为每一台车辆定制个性化的预警规则合理的对车辆异常进行预警,实现租赁方实时监控与管
理租赁车辆。
11.基于车载智能盒子实时获取车辆运行时信息,包括车辆的油温、油压、液压、油位、工作时间等运行指标,数据将按照mqtt协议的格式经nginx负载均衡后发送到emqx网关集群。emqx通过内置数据库与mqtt协议中的clinetid/username与密码进行对比完成认证鉴权。当数据认证通过后,将数据发送至消息队列kafka中。大数据实时处理引擎flink实时消费kafka中的数据,并获取存储在redis中的各种指标阈值和drools的规则配置文件进行整合,实现对异常数据筛选报警。最终将车辆位置数据写入到hbase,指标数据写入到opentsdb中。,将异常数据写入到postgresql中,同时为了在车辆发生异常时及时的通知车辆出租方,也会将异常数据写回kafka,系统后端会订阅kafka车辆异常主题,发送报警短信至车辆出租方。
12.工程车辆租赁方可以根据车辆类型、车龄等运行状态在网站前端动态调整各种指标异常阈值,经过网站后端的业务逻辑处理该值会分别存到redis和关系数据库postgresql中,当车辆发生报警后车辆出租方角色可以检索告警数据实现对车辆运行异常的实时掌握。
13.为了实现上述目的,本发明采用的技术方案是:一种可自定义工程租赁车辆运行指标异常的监控系统,包括实时数据采集分析模块和业务逻辑模块;实时数据采集分析模块用于对车载智能盒子采集和传输的工程车辆实时运行信息进行身份认证和数据分析,对车辆的位置数据和车辆的运行指标数据进行持久化存储,同时基于规则引擎对车辆运行异常状态进行监测和预警,其结构自上而下包括:数据采集层、负载均衡层、网关层、消息队列层以及计算引擎层;业务逻辑模块用于展现并满足系统参与角色的业务访问和车辆异常检测的规则设定需求,其结构自上而下包括:表现层、反向代理层、业务逻辑层以及数据存储层;
14.所述数据采集层用于实现车辆运行数据的采集,在每一台工程租赁车辆上安装车载物联网智能盒子,基于车载物联网智能盒子对工程车辆的运行状态信息进行实时采集,将车载物联网智能盒子采集到的车辆运行数据通过mqtt消息协议传输到系统的nginx负载均衡层;
15.负载均衡层用于对数据采集层实时传输的数据进行负载均衡,承担网站前端和后端地址的反向代理;
16.网关层用于对经nginx负载均衡处理过的mqtt数据进行认证鉴权,并将mqtt数据发送至kafka消息队列集群;消息队列层使用消息队列kafka来实现身份认证服务与数据计算服务之间的解耦;引擎层使用大数据实时计算引擎flink订阅消息队列中的数据实现对工程租赁车辆实时数据进行过滤、清洗以及开窗聚合;存储层基于nosql数据库hbase、时序数据库opentsdb以及关系型数据库postgresql以及内存数据库redis多种数据库来存储引擎层处理后的车辆运行指标数据和常规业务数据,常规业务数据包括车辆详情信息、盒子信息、车辆异常检测规则和车辆异常数据信息,同时使用内存数据库redis和关系型数据库postgresql存储自定义的车辆异常检测规则信息;业务逻辑层针对业务人员的车辆管理、盒子管理以及规则引擎管理的功能模块提供业务逻辑处理能力;表现层为业务人员提供可视化界面。
17.数据采集层包括车载物联网智能盒子,车载物联网智能盒子采集车辆的转速、水
温、液压油温、燃油液位、工作小时、燃油消耗、当天工作时长、当天怠速时长、当天工作油耗以及当天怠速油耗指标;车载物联网智能盒子将采集到的车辆运行信息通过mqtt消息协议进行传输时,在mqtt协议报文中指定客户端clientid/username与密码,通过所述客户端clientid/username与密码完成对工程租赁车辆身份的绑定,同时为实现系统对于车辆身份信息的认证鉴权提供基础。
18.负载均衡层包括nginx集群,负载均衡层承接车载物联网智能盒子发送的实时车辆运行数据,nginx集群按照轮询方式进行负载,将每个数据按时间顺序逐一分配到下游多台网关服务器,同时承担网站前端和后端地址的反向代理功能。
19.网关层实现对mqtt消息进行认证/访问控制,在emqx的内置mnesia数据库或者外部关系型数据库存储客户端clientid/username与密码,客户端连接emqx时,emqx会获取connent报文中的clientid与username,与数据库中记录的密码进行匹配,若匹配成功则认证成功,则将数据发送至消息队列kafka种,否则认证失败。
20.业务逻辑层中设置车辆管理模块、盒子管理模块以及规则引擎管理模块,车辆管理模块用于对工程车辆查询、添加以及修改;盒子管理模块用于对车载物联网智能盒子查询、添加、修改;规则引擎管理模块是业务逻辑层中的核心模块,主要负责车辆数据实时采集分析链路的构建、车辆出租方制定报警规则、绘制车辆电子围栏以及车辆异常预警等功能。其中规则制定部分负责实现车辆出租方对车辆运行异常检测阈值的设置,运行指标包括水温上下限、油温上下限、转速上下限等多项指标。同时为了管理工程租赁车辆的运行范围,车辆出租方通过绘制电子围栏用于管理车辆的运行区域。
21.本发明还提供一种可自定义工程租赁车辆运行指标异常的监控方法,包括以下步骤:
22.实时获取消息队列中车辆运行信息数据;
23.基于所述车辆运行信息数据,对其中的车辆指标数据进行分组;
24.对分组后的数据基于滑动窗口法对数据进行聚合,窗口的时间设置为10s;
25.使用自定义聚合处理类对聚合后的数据进行处理;
26.在使用自定义的聚合处理类进行对聚合后数据进行处理时,将存储在redis中的异常指标阈值和drools的规则配置文件进行整合,实现对每一台工程租赁车辆异常数据的动态个性化的监测预警;对于异常数据暂存放于侧输出流中,正常数据则通过收集器进行收集。当对聚合后数据处理完毕后,将正常的位置数据写入到hbase中,将车辆的水温,车速,油温等指标数据写入到opentsdb中,将异常报警数据写入到postgresql中。同时,为了在车辆发生异常时及时的通知车辆出租方,也要将异常数据写回kafka,系统后端会订阅kafka车辆异常主题,发送报警短信至车辆出租方。
27.用户通过可视化界面实现对车辆、盒子的管理、车辆的异常指标阈值设置以及车辆电子围栏的绘制,实现对车辆运行信息监控,当车辆运行异常时直接通过运行异常信息表单捕获运行异常的详细信息,业务逻辑子架构前端和后端分离;前端采用vue框架,通过调用服务器端的api接口,并经nginx集群反向代理后与数据存储层服务器进行交互。
28.在表现层绘制车辆电子围栏,实现用户自定义的绘制工程租赁车辆的运行区域,具体实施步骤如下:
29.步骤11,在网站前端实现方面将地图api与vue框架整合;
30.步骤12,点击添加电子围栏,网站前端将地图展现给用户;
31.步骤13,在地图上任意点击四个点绘制四边形自动进入编辑状态;
32.步骤14,在地图上拖动任意亮点至目标位置完成电子围栏范围的绘制;点击保存后,电子围栏的范围信息保存到关系型数据库postgresql和内存数据库redis中;
33.步骤15,使用大数据实时计算引擎flink实时利用工程车辆的位置数据并进行开窗聚合,收到车辆的实时位置信息后,从redis内存数据库中获取对每一台车辆的电子围栏范围信息,判断当前车辆的位置是否在规定区域内,如果所述当前车辆车辆越界,则将当前车辆的位置数据写入到关系型数据库postgresql中。
34.基于开源规则引擎drools,解决因工程租赁车辆的类型、型号、车龄等差异化信息使得在报警规则管理模块无法为每一台车辆进行动态的定制化设置的问题,具体实施步骤如下:
35.步骤1,创建一个maven工程,然后在其pom.xml文件添加drools的相关依赖;
36.步骤2,在resources目录下为每一个需要预警的数据指标创建后缀为.drl的drools原生规则文件;
37.步骤3,在.drl文件中按照以下结构指定规则:
38.首先,通过package关键字定义包名,必须放在规则文件第一行
39.然后,通过rule关键字定义规则名,一个规则包含三个部分:属性部分,定义当前规则执行的一些属性,条件部分,通过when关键字定义规则的条件,结果部分,通过then关键字对满足条件的数据,定义执行操作,
40.最后,使用end关键字结束一个规则;
41.步骤4,从redis内存数据库中获取对每一台车辆的动态规则设置;
42.步骤5,获取当前所有配置的报警规则,并将步骤4获取到的动态规则与报警规则进行整合,实现对于每一台工程车辆的动态的定制化规则设置;
43.步骤6,使用大数据实时计算引擎flink实时消费kafka中的工程车辆指标数据并进行开窗聚合,将步骤5的得到的定制化规则对聚合后的每一条数据进行异常检测;如果发生异常,则将异常数据写入到关系型数据库中。
44.与现有技术相比,本发明至少具有以下有益效果:
45.与现有技术相比,本发明提出的一种可自定义工程租赁车辆运行指标异常的监控系统,基于车载智能盒子实时获取车辆运行时信息,包括车辆的油温、油压、液压、油位、工作时间等运行指标,数据将按照mqtt协议的格式经nginx负载均衡后发送到emqx网关集群。emqx通过内置数据库与mqtt协议中的clinetid/username与密码进行对比完成认证鉴权。当数据认证通过后,将数据发送至消息队列kafka中。大数据实时处理引擎flink实时消费kafka中的数据,并获取存储在redis中的各种指标阈值和drools的规则配置文件进行整合,实现对异常数据筛选报警,最终将异常数据写入到postgresql中和消息队列kafka中,将车辆位置数据写入到hbase,指标数据写入到opentsdb中。
46.本发明基于消息队列遥测传输协议mqtt进行数据传输,因mqtt可以在低带宽、不可靠的网络的远程传感器和控制车辆通讯工作,并且具备低功耗、持久连接地特性更好的满足了海量车辆实时的数据传输的特性;
47.本发明使用nginx对实时传输的车辆运行指标数据进行负载均衡,nginx服务器是
介于车载智能盒子和网关服务器之间的中介,车载智能盒子发送的请求先经过nginx,然后通过nginx将请求根据相应的规则分发到相应的服务器,解决了单个服务器硬件性能瓶颈的问题,并保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优;
48.本发明使用基于erlang/otp平台开发的开源物联网mqtt消息服务器emqx,emqx可以实现高可靠,支持承载海量物联网终端的mqtt连接,单服务器节点支持200万连接,支持在海量物联网车辆间低延时消息路由,支持定制多种认证方式、高效存储消息到后端数据库,满足了海量的车辆数据的连接与信息接入系统时的认证问题;
49.本发明使用大数据流式计算框架flink对工程租赁车辆发送的实时数据进行处理,保证了系统高吞吐性和低延迟性;
50.本发明使用规则引擎drools将业务决策从应用程序中分离出来,减少编写“硬代码”业务规则的成本和风险,提高系统的可维护性和维护成本,实现了动态个性化的指定车辆异常监测规则。
附图说明
51.图1为本发明的一种可自定义工程租赁车辆运行指标异常的监控系统的架构图。
具体实施方式
52.本发明提供一种可自定义工程租赁车辆运行指标异常的监控系统,基于车载智能盒子实时获取车辆运行时信息,包括车辆的油温、油压、液压、油位、工作时间等运行指标,数据将按照mqtt协议的格式经nginx负载均衡后发送到emqx网关集群。emqx通过内置数据库与mqtt协议中的clinetid/username与密码进行对比完成认证鉴权。当数据认证通过后,将数据发送至消息队列kafka中。大数据实时处理引擎flink实时消费kafka中的数据,并获取存储在redis中的各种指标阈值和drools的规则配置文件进行整合,实现对异常数据筛选报警。最终将车辆位置数据写入到hbase,指标数据写入到opentsdb中。,将异常数据写入到postgresql中,同时为了在车辆发生异常时及时的通知车辆出租方,也会将异常数据写回kafka,系统后端会订阅kafka车辆异常主题,发送报警短信至车辆出租方。
53.工程车辆租赁方可以根据车辆类型、车龄等运行状态在网站前端动态调整各种指标异常阈值,经过网站后端的业务逻辑处理该值会分别存到redis和关系数据库postgresql中,当车辆发生报警后车辆出租方角色可以检索告警数据实现对车辆运行异常的实时掌握。
54.为了实现对工程租赁车辆运行数据的采集,在每一台工程租赁车辆上安装车载物联网智能盒子,利用车载物联网智能盒子对工程车辆的运行状态信息进行实时采集。车载物联网智能盒子将采集到的车辆运行信息基于消息队列遥测传输协议
‑‑
mqtt传输,具体将采集到车辆运行数据之后通过mqtt消息协议传输,并在mqtt协议报文中指定客户端clientid/username与密码,通过客户端clientid/username与密码完成对工程租赁车辆身份的绑定,之后将数据发送至系统的nginx负载均衡层;
55.为了承接车载物联网智能盒子发送的海量实时的车辆运行数据,当nginx负载均衡层实时接收车载物联网智能盒子发送的车辆数据后,按照轮询方式(默认)进行负载,将每个车辆数据按时间顺序逐一分配到下游多台网关服务器。同时由于整个网站采用前后端
分离的设计理念,因此nginx负载均衡层也承担了网站前后端地址反向代理的功能;
56.利用开源物联网mqtt消息服务器emqx构建网关集群,为了实现对mqtt消息进行认证/访问控制,可以在emqx的内置mnesia数据库或者外部关系型数据库(例如postgresql)存储客户端clientid/username与密码。当客户端连接emqx时,数据库认证会获取connent报文中的clientid与username,然后与数据库(mnesia数据库或postgresql数据库)中记录的密码进行匹配,若匹配成功则认证成功,则将车辆实时运行指标数据发送至消息队列kafka中。
57.否则认证失败;
58.利用消息队列kafka构建消息队列集群实现身份认证服务与数据计算服务之间的解耦,在数据量急剧增加的时候可以帮助关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃;
59.利用开源规则引擎drools构建规则配置文件解决因工程租赁车辆的类型、型号、车龄等差异化信息使得在报警规则管理模块无法为每一台车辆进行动态的定制化设置的问题;利用大数据实时计算引擎flink订阅消息队列kafka中的数据实现对工程租赁车辆实时数据进行过滤、清洗以及开窗聚合,获取存储在内存数据库redis中的车辆的异常指标阈值,并将异常指标阈值和开源规则引擎drools的规则配置文件进行整合,实现对每一台工程租赁车辆异常数据的动态个性化的监测预警。对于异常数据暂存放于侧输出流中,正常数据则通过收集器进行收集;
60.本发明部署nosql数据库hbase、时序数据库opentsdb、内存数据库redis以及关系型数据库postgresql完成对于车辆位置数据、车辆指标数据、异常指标阈数据以及车辆异常数据的存储。
61.使用springcloud构建网站后端,所述网站后端针对业务人员的车辆管理、盒子管理、规则引擎管理等功能模块提供业务逻辑处理能力。车辆管理模块承担对工程车辆查询、添加以及修改功能;盒子管理模块承担对车载物联网智能盒子查询、添加以及修改功能;规则引擎管理模块该模块是系统中的核心模块,负责对车辆实时数据规则的制定以及数据预警功能。异常规则制定部分负责对车辆运行指标异常值上限的设置,包括水温上限、油温上限、转速下限以及油耗上限等运行指标,同时为了合理的管理工程租赁车辆的运行位置,通过绘制电子围栏构建车辆运行区域,用于监视车辆的位置。将规则信息分别存储在关系型数据库postgresql和内存数据库redis中。数据预警用于显示工程车辆在水温、油温、转速、油耗、位置越界等指标维度的报警记录详情,为前端提供api接口;
62.使用vue构建网站前端为业务人员提供可视化界面,用户通过可视化界面可以实现对车辆、车载物联网智能盒子的管理、车辆的异常指标阈值设置以及车辆电子围栏的绘制,实现对车辆运行信息监控。当车辆运行异常时可以直接通过运行异常信息表单捕获运行异常的详细信息。业务逻辑子架构前后端分离。前端采用vue框架,通过调用服务器端的api接口,并经nginx均衡层反向代理后与数据存储层服务器进行交互。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1