一种基于车联网的实时数据的处理装置、方法及系统与流程

文档序号:17627337发布日期:2019-05-10 23:47阅读:305来源:国知局
一种基于车联网的实时数据的处理装置、方法及系统与流程

本发明涉及车联网技术领域,具体涉及一种基于车联网的实时数据的处理方法、装置及系统。



背景技术:

随着物联网的应用的发展,作为物联网的分支,车联网也得到了进一步的发展。车联网作为物联网在交通领域的应用,将成为未来智能交通系统的重要组成部分。

现有技术中,车联网平台系统通常由系统管理、通信系统、多媒体数据构成,车联网平台系统在车联网中为中枢部分,能够将硬件平台得到的信息进行传递和处理,目前,已经制定了车载环境下无线接入的相关协议。主要结合不同的用户需求提供不同的应用,利用车联网对车辆进行控制、安全驾驶,在智能交通系统中应用并提供相应的信息服务等。

本发明申请人在实施本发明的过程中,发现现有技术中至少存在如下技术问题:

目前的车联网已经虽然进入发展期,车、路开始全面整合,汽车传感网络丰富,但各类信息并没有融合在一起,汽车并没有成为真正的智能终端。车联网厂商注重的是车辆管理和用户应用两个方面,例如提供保养信息等功能。目前的方法,仅能够提供车辆管理和用户应用的信息,而无法提供更为深层次的信息,且无法实时处理海量的信息。

由此可知,现有技术中存在提供的信息不够丰富以及实时性不够的技术问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种基于车联网的实时数据的处理装置、方法及系统,用以解决或者至少解决现有技术中存在提供的信息不够丰富以及实时性不够的技术问题。

第一方面,本发明提供了一种基于车联网的实时数据的处理装置,所述装置为服务端,包括:

应用服务器,用于处理app端和web端的服务请求,并与app端和web端进行交互;

终端接入服务,用于接收移动车辆的车载终端上传的车辆信息和外部信息,其中,车辆信息包括车辆的位置数据和时间数据,外部信息包括路况,并将车辆信息和外部信息转换为预设消息发送至数据存储层的分布式缓存;

消息中间件,用于将车辆信息和外部信息推送至流式计算框架和业务处理模块;

流式计算框架,用于根据位置数据和时间数据分解出移动车辆的位移和时间差,并基于移动车辆的位移、时间差以及路况,计算出移动车辆的速度,再将计算出的移动车辆的速度与预设车速进行比较,生成相应的控制指令,下发至车载终端并进行提示,还将比较的结果写入数据存储层中;

业务处理模块,根据接收的车辆信息和外部信息,对移动车辆进行实时跟踪以及监听;

数据存储层,包括分布式缓存和数据库集群,其中,分布式缓存用于存储终端接入服务发送的消息以及消息中间件发送的消息,数据库集群用于存储车辆信息、外部信息、预设车速。

在一种实施方式中,应用服务器具体用于:

基于app端和web端发送的服务请求,从数据存储层拉取数据,并输出至app端和web端。

在一种实施方式中,流式计算框架还用于:

根据车辆信息中的位置数据,确定移动车辆的行驶状态;

并基于行驶状态,监测移动车辆是否存在违规行驶的行为。

在一种实施方式中,流式计算框架还用于:

根据车辆信息中的位置数据,判断移动车辆是否按照预设轨迹行驶和/或移动车辆是否驶入驶出固定区域。

在一种实施方式中,数据存储层中将分布式缓存技术与大数据存储技术进行融合。

基于同样的发明构思,本发明第二方面提供了一种基于车联网的实时数据的处理方法,所述方法包括:

通过应用服务器处理app端和web端的服务请求,并与app端和web端进行交互;

通过终端接入服务接收移动车辆的车载终端上传的车辆信息和外部信息,其中,车辆信息包括车辆的位置数据和时间数据,外部信息包括路况,并将车辆信息和外部信息转换为预设消息发送至数据存储层的分布式缓存;

通过消息中间件将车辆信息和外部信息推送至流式计算框架和业务处理模块;

通过流式计算框架根据位置数据和时间数据分解出移动车辆的位移和时间差,并基于移动车辆的位移、时间差以及路况,计算出移动车辆的速度,再将计算出的移动车辆的速度与预设车速进行比较,生成相应的控制指令,下发至车载终端并进行提示,还将比较的结果写入数据存储层中;

通过业务处理模块根据接收的车辆信息和外部信息,对移动车辆进行实时跟踪以及监听;

通过数据存储层的分布式缓存存储终端接入服务发送的消息以及消息中间件发送的消息,数据库集群用于存储车辆信息、外部信息、预设车速。

在一种实施方式中,所述方法还包括:

通过应用服务器根据基于app端和web端发送的服务请求,从数据存储层拉取数据,并输出至app端和web端。

在一种实施方式中,所述方法还包括:

通过流式计算框架根据车辆信息中的位置数据,确定移动车辆的行驶状态;

并基于行驶状态,监测移动车辆是否存在违规行驶的行为。

基于同样的发明构思,本发明第三方面提供了一种基于车联网的实时数据的处理系统,包括车载终端、app端、web端以及第一方面所述的处理装置。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

在本发明提供的装置,包括与app端和web端交互的应用服务器、与车载终端交互的终端接入服务、将终端接入服务的接收的数据推送至流式计算框架和业务处理模块的消息中间件,以及进行数据缓存和存储的数据存储层。

相对于现有技术中的处理装置仅能提供简单的车辆管理和用户应用的信息而言,本发明提供的装置,一方面,通过消息中间件可以将车辆信息和外部信息推送至流式计算框架和业务处理模块,且消息中间件可以处理巨大并发数量的终端推送的实时海量数据,从而可以提高处理装置对海量数据的实时处理的能力。

另一方面,通过流式计算框架可以车辆信息中的位置数据和时间数据进行分析处理,并结合移动车辆的位移、时间差以及路况,计算出移动车辆的速度,再判断移动车辆是否超速,即通过流式计算框架可以结合海量数据和其它外部数据,从中分析、挖掘出有价值的车辆的驾驶行为有关的信息,可以提供丰富的车辆信息以及预警信息,提高了处理装置的智能性。解决了现有技术中存在提供的信息不够丰富以及实时性不够的技术问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中基于车联网的实时数据的处理装置的结构框图;

图2为本发明实施例中redo分布式队列的示意图;

图3为本发明实施例中基于车联网的实时数据的处理方法的流程图;

图4为本发明实施例中基于车联网的实时数据的处理系统的架构图。

具体实施方式

本发明实施例提供了一种基于车联网的实时数据的处理装置、方法及系统,用以改善现有技术中存在提供的信息不够丰富以及实时性不够的技术问题。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本实施例提供了一种基于车联网的实时数据的处理装置,所述装置为服务端,请参见图1,该装置包括:

应用服务器101,用于处理app端和web端的服务请求,并与app端和web端进行交互。

具体来说,app端和web端会向应用服务器发送数据调用或者内部服务调用等,由应用服务器对这些请求进行处理。应用服务器与app端和web端之间的数据传输为输出流。

在一种实施方式中,应用服务器具体用于:

基于app端和web端发送的服务请求,从数据存储层拉取数据,并输出至app端和web端。

具体来说,应用服务器在接收到前端(app端和web端)发送的服务请求后,会从数据存储层拉取数据,并输出给调用方,例如内部服务调用、浏览历史等。

终端接入服务102,用于接收移动车辆的车载终端上传的车辆信息和外部信息,其中,车辆信息包括车辆的位置数据和时间数据,外部信息包括路况,并将车辆信息和外部信息转换为预设消息发送至数据存储层的分布式缓存。车辆信息由安装于移动车辆上的车载终端采集而来,可以通过移动通信网络到达平台的服务端的终端接入服务(dataaccess服务)。

具体来说,终端接入服务主要用于与移动车辆上安装的车载终端进行数据交互,包括接收车载终端发送的信息以及向车载终端发送相关的指令,这些数据的交互属于输入流和输出流。

具体地,车辆信息还包括车辆驾驶员信息、车辆运行状态数据,外部信息还包括天气或者其他系统对接过来的外部数据。

消息中间件103,用于将车辆信息和外部信息推送至流式计算框架和业务处理模块。

具体来说,为了提高数据处理的实时性,本实时方式中的消息中间件可以采用kafka或者其它的mq,利用其消息持久化的特性来缓存车辆上传的大量数据,以便流式计算框架来进行进一步处理。kafka是apache下的一个子项目,使用scala实现的一个高性能分布式publish/subscribe消息队列系统,具有快速持久化、高吞吐、高堆积、分布式、支持hadoop数据并行加载等特性。

当然,在其他实施方式中,可以采用rabbitmq、activemq、zeromq等中间件。rabbitmq是使用erlang编写的一个开源的消息队列,支持众多协议:amqp,xmpp,smtp,stomp,适用于进行企业级的esb整合(enterpriseservicebus,即企业服务总线)。activemq为apache下的一个子项目,其使用java完全支持jms1.1和j2ee1.4规范的jmsprovider实现,采用少量代码就可以高效地实现高级应用场景。zeromq为专门为高吞吐量/低延迟的场景开发,在金融界的应用中经常使用,偏重于实时数据通信场景。

流式计算框架104,用于根据位置数据和时间数据分解出移动车辆的位移和时间差,并基于移动车辆的位移、时间差以及路况,计算出移动车辆的速度,再将计算出的移动车辆的速度与预设车速进行比较,生成相应的控制指令,下发至车载终端并进行提示,还将比较的结果写入数据存储层中。

具体来说,本实施方式中的流式计算框架可以采用storm、spark或者samza等计算框架流式计算框架都是开源的分布式系统,具有低延迟、可扩展和容错性诸多优点,允许在运行数据流代码时,将任务分配到一系列具有容错能力的计算机上并行运行。此外,它们都提供了简单的api来简化底层实现的复杂程度。流式计算框架与车载终端之间的数据流为控制流,即服务端内部的指令流转,包含指令下发、回应处理、指令接口等。

在本实施方式中,流式计算框架选择atleastonce(保证消息必达)的策略,这种策略下消息可能会重发,所以程序处理实现了幂等支持。流式计算框架则持续运行,理论上永不停止,并且处理粒度是消息级别,因此只要系统的计算能力足够,就能保证每条消息都能第一时间被发现并处理。

在一种实施方式中,流式计算框架还用于:

根据车辆信息中的位置数据,确定移动车辆的行驶状态;

并基于行驶状态,监测移动车辆是否存在违规行驶的行为。

在一种实施方式中,流式计算框架还用于:

根据车辆信息中的位置数据,判断移动车辆是否按照预设轨迹行驶和/或移动车辆是否驶入驶出固定区域。

具体来说,流式计算框架可以提供各种预警功能。在具体的实施过程中,可以通过消息队列获得车辆信息中的定位数据和时间数据,并通过数据清洗技术,将其中不合格的数据过滤(这些不合格数据可能是设备元器件的故障或设备受到严重干扰造成的)。随后对过滤后的数据进行计算。

例如,根据车辆的连续的定位信息,分解出位移和时间差,再结合道路信息,计算出车辆的速度,结合平台对车辆限速的要求(预设速度),判断该车辆是否超速,如果发生超速,则通过控制流中对应的命令接口,将指令发送至移动车辆的车载终端,再通过车辆终端以语音、文字等方式提示驾驶员需要安全驾驶。同时流式计算框架务还会计算其它的一些车辆违规行为,例如监控大客车是否在凌晨2点至5点还在行车,车辆是否连续行驶4小时而未休息等等。

总体来说,通过流式计算框架基于消息中间件推送的海量信息,然后再将地图、交通状况、驾驶行为等各种数据综合在一起,做更深层次的实时挖掘,从而提供更丰富的信息。

业务处理模块105,根据接收的车辆信息和外部信息,对移动车辆进行实时跟踪以及监听。

具体来说,业务处理模块负责执行诸如轨迹跟踪、拍照、监听等业务。

数据存储层106,包括分布式缓存和数据库集群,其中,分布式缓存用于存储终端接入服务发送的消息以及消息中间件发送的消息,数据库集群用于存储车辆信息、外部信息、预设车速。

具体来说,数据存储层由分布式缓存和数据库集群组成。采用缓存加数据库集群的方式可以减轻业务对数据库访问压力,从而增加系统的负载能力。在具体的实施过程中,分布式缓存可选用coherence、redis等。数据库可以根据系统规模进行选择。

在一种实施方式中,数据存储层中将分布式缓存技术与大数据存储技术进行融合。

具体来说,最新的、经常使用的数据存放在分布式缓存中,历史数据存储在大数据中心(即数据库集群)。

在具体的实施过程中,本实施方式中的终端接入服务、流式计算框架、业务处理模块采用redo队列来保证当服务或环境出现故障时,业务数据不会丢失。当服务或者环境恢复工作时,可以从redo队列中重新获得未处理的数据。

具体来说,通过redo分布式队列,可以防止出现失败数据或故障模块或bug导致数据积压。请参见图2,为redo分布式队列的示意图,生产者将消息写入消息队列,工作线程从消息队列中消费数据。如果工程线程发生异常,则工作线程将消费到的数据写入redo队列。这样依赖,工作线程对消息队列的消费进度不会被异常数据影响,可以保持消费最新的数据。同时工作线程还会监听redo队列,消费异常数据,如果处理还没有成功,则按照一定的策略等待或者丢弃此数据。

作为优选,在数据发生积压的情况下,还可以调整工作线程的数量,可以平滑的弥补由于消费能力不足照成的数据积压。

具体来说,为了满足可用性的要求,作为基础服务,对可用性的要求比一般的服务要高得多,因为下游依赖的服务多,一旦出现故障,有可能会引起级联反应影响大量业务。为了降低故障情况下对下游的影响,本实施方式中,终端接入服务通过netflix的hystrix组件支持了熔断模式。

在该模式下,一旦服务失败请求在给定时间内超过一个阈值,就会打开熔断开关。在开关开启情况下,服务对后续车辆信息直接返回失败响应,不会再让消息经过业务模块处理,从而避免服务器进一步增加压力引起雪崩,也不会因为响应时间延长拖累调用方。

开关打开之后会开始计时,timeout后会进入halfopen的状态,在该状态下会允许一个消息通过,进入业务处理模块,如果能正常返回则关闭开关,否则继续保持开关打开直到下次timeout。这样业务恢复之后就能正常服务。通过熔断模式,可以增强可用性和可靠性。

基于同一发明构思,本申请还提供了一种与实施例一中基于车联网的实时数据的处理装置对应的方法,详见实施例二。

实施例二

本实施例提供了一种基于车联网的实时数据的处理方法,请参见图3,该方法包括:

步骤s301:通过应用服务器处理app端和web端的服务请求,并与app端和web端进行交互;

步骤s302:通过终端接入服务接收移动车辆的车载终端上传的车辆信息和外部信息,其中,车辆信息包括车辆的位置数据和时间数据,外部信息包括路况,并将车辆信息和外部信息转换为预设消息发送至数据存储层的分布式缓存;

步骤s303:通过消息中间件将车辆信息和外部信息推送至流式计算框架和业务处理模块;

步骤s304:通过流式计算框架根据位置数据和时间数据分解出移动车辆的位移和时间差,并基于移动车辆的位移、时间差以及路况,计算出移动车辆的速度,再将计算出的移动车辆的速度与预设车速进行比较,生成相应的控制指令,下发至车载终端并进行提示,还将比较的结果写入数据存储层中;

步骤s305:通过业务处理模块根据接收的车辆信息和外部信息,对移动车辆进行实时跟踪以及监听;

步骤s306:通过数据存储层的分布式缓存存储终端接入服务发送的消息以及消息中间件发送的消息,数据库集群用于存储车辆信息、外部信息、预设车速。

在一种实施方式中,所述方法还包括:

通过应用服务器根据基于app端和web端发送的服务请求,从数据存储层拉取数据,并输出至app端和web端。

在一种实施方式中,所述方法还包括:

通过流式计算框架根据车辆信息中的位置数据,确定移动车辆的行驶状态;

并基于行驶状态,监测移动车辆是否存在违规行驶的行为。

由于本发明实施例二所介绍的基于车联网的实时数据的处理方法,为基于实施例一中的基于车联网的实时数据的处理装置所实现的方法,故而基于本发明实施例一所介绍的装置,本领域所属人员能够了解该方法的具体实施方式及其变形,故而在此不再赘述。凡是基于实施例一中的基于车联网的实时数据的处理装置所实现的方法都属于本发明所欲保护的范围。

实施例三

基于同一发明构思,本申请还提供了基于车联网的实时数据的处理系统,请参见图4,该系统包括车载终端、app端、web端以及实施例一所述的处理装置。

具体来说,图4中kafka或者其他mq为消息中间件。

本发明实施例提出的基于车联网的实时数据的处理系统,是在传统的车联网平台基础上增加了消息中间件和流式计算引擎,消息中间件可以用于处理巨大并发数量的终端推送的实时海量数据,流失计算引擎可以结合这些海量数据和其它外部数据,从中分析、挖掘出有价值的知识数据,实现了提高数据处理的实时性、以及数据的智能性的技术效果。

由于本发明实施例三所介绍的基于车联网的实时数据的处理系统,为实施本发明实施二中基于车联网的实时数据的处理方法所采用的系统,故而基于本发明实施例二所介绍的方法,本领域所属人员能够了解该系统的具体结构及变形,故而在此不再赘述。凡是本发明实施例二的方法所采用的系统都属于本发明所欲保护的范围。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1