一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

智能车联网、数据处理方法、电子设备及存储介质与流程

2022-06-29 14:08:52 来源:中国专利 TAG:


1.本技术涉及车联网技术和云技术,尤其涉及一种智能车联网、数据处理方法、电子设备及计算机可读存储介质。


背景技术:

2.车用无线通信技术(v2x,vehicle to x)是车辆对车辆通信(v2v,vehicle to vehicle)、车辆对基础设施通信(v2i,vehicle to infrastructure)、以及车辆对行人通信(v2p,vehicle to pedestrian)等的统称,通过搭载先进的车载传感器、控制器、执行器等装置,融合现代通信与网络技术,实现车与x(例如人、车、路、后台等)智能信息的交换共享,获得实时路况、道路、行人等一系列交通数据,从而带来超视距的环境信号,同时能与交通灯、路标等周围基础设施进行互动,具备复杂的环境感知、智能决策、协同控制和执行等功能,提供更安全、更节能、更环保、更舒适的出行方式。
3.相关技术中,车联网根据车联网终端的请求将统一组织的车联网数据(例如路侧设备或车辆感知的数据等)以固定格式(例如v2x协议的格式)发送至车联网终端(例如车载终端或交通引流设备等)。由于车联网终端的应用日益丰富,这种处理方式对车联网自身的资源造成较大消耗,同时由于无法及时满足车联网终端的多样化的数据需求,进而使得车联网终端的应用的性能运行出现延迟的现象。


技术实现要素:

4.本技术实施例提供一种智能车联网、数据处理方法、电子设备及计算机可读存储介质,能够实现车联网数据的高效分享以满足车联网终端的多样化的数据需求。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供一种智能车联网的数据处理方法,所述方法包括:
7.接收交通感知设备感知的数据,并存储到多个消息队列中;
8.根据每个所述消息队列的数据指标,对所述消息队列中存储的数据进行订阅优先级的排序;
9.根据车联网终端运行车联网应用依赖的至少一个数据指标,从所述多个消息队列中订阅至少一个消息队列;
10.从被订阅的至少一个消息队列中按照订阅优先级的降序读取数据,将读取的数据封装为数据对象,以使所述数据对象中包括的数据对应所述交通感知设备的相同的感知目标;
11.存储所述数据对象。
12.上述方案中,在所述存储所述数据对象之后,所述方法还包括:
13.接收所述车联网终端的数据请求,在存储的多个所述数据对象中查询适配的多个数据对象,并根据所述订阅优先级向所述车联网终端发送查询到的多个数据对象。
14.上述方案中,所述根据所述消息队列对应的数据指标,确定所述消息队列中存储
的每条数据所对应的订阅优先级,包括:
15.针对每个消息队列执行以下操作:
16.确定所述消息队列中每条数据对应所述消息队列的数据指标的指标值;
17.根据所述每条数据的指标值对所述消息队列中的数据进行降序排序,根据降序排序结果为所述消息队列中的数据分配订阅优先级,以使所述每条数据的订阅优先级与排序位置正相关;
18.其中,所述数据指标的类型包括:延时、数据精度和数据量。
19.上述方案中,所述数据请求中携带关键字,所述关键字表征所述车联网终端的需要使用的数据所具有的属性;
20.所述在数据库存储的多个所述数据对象中,查询包括所述目标数据指标的多个数据对象,包括:
21.在数据库存储的多个所述数据对象中,查询包括所述目标数据指标、且与所述关键字匹配的多个数据对象。
22.上述方案中,在将从所述交通感知设备接收的数据存储到所述多个消息队列之前,所述方法还包括:
23.针对从所述交通感知设备接收的数据执行以下过滤操作至少之一:
24.过滤延时超过延时阈值的数据;
25.过滤数据精度不超过数据精度阈值的数据;
26.过滤数据量超过数据量阈值的数据。
27.本技术实施例提供一种智能车联网,所述智能车联网包括数据服务引擎;所述数据服务引擎包括:数据服务队列模块、消息队列代理模块和对象存储模块;其中,
28.所述数据服务队列模块,用于接收交通感知设备感知的数据,并存储到多个消息队列中,根据每个所述消息队列的数据指标,对所述消息队列中存储的数据进行订阅优先级的排序;
29.所述消息队列代理模块,用于根据车联网终端运行车联网应用依赖的至少一个数据指标,从所述多个消息队列中订阅至少一个消息队列;
30.所述对象存储模块,用于从被订阅的至少一个消息队列中按照订阅优先级的降序读取数据,将读取的数据封装为数据对象,以使所述数据对象中包括的数据对应所述交通感知设备的相同的感知目标,并存储所述数据对象。
31.上述方案中,所述智能车联网还包括数据开放模块;所述数据开放模块,用于接收所述车联网终端的数据请求,在存储的多个所述数据对象中查询适配的多个数据对象,并根据所述订阅优先级向所述车联网终端发送查询到的多个数据对象。
32.上述方案中,所述数据服务引擎被部署在边缘云网络中;所述对象存储模块,还用于调用所述边缘云网络针对读取的每条数据执行以下数据处理操作至少之一:视频感知处理;交通事件检测处理;交通状况分析处理;风险评估处理。
33.上述方案中,所述数据开放模块被部署在边缘云网络中,所述数据对象被存储在中心云网络中;所述数据开放模块,还用于接收所述车联网终端的数据请求,在所述中心云网络中存储的多个所述数据对象中查询适配的多个数据对象,并根据所述订阅优先级,由所述边缘云网络以数据组播的方式向所述车联网终端发送查询到的多个数据对象。
34.上述方案中,所述数据服务队列模块,还用于获取所述车联网终端的排序指令;从所述排序指令中提取所述车联网终端运行车联网应用依赖的多个所述数据指标;其中,所述数据指标的类型包括:延时、数据精度和数据量;创建与所述多个数据指标一一对应的多个消息队列。
35.上述方案中,所述数据服务队列模块,还用于接收所述交通感知设备感知的数据,分别存储到所述多个消息队列中的每个消息队列,并在日志系统中记录存储动作的发生时间;通过所述日志系统中记录的存储动作的发生时间,对所述多个消息队列中存储的数据进行校验通过时,确定存储完成。
36.上述方案中,所述数据服务引擎还包括:过滤模块,用于针对从所述交通感知设备接收的数据执行以下过滤操作至少之一:过滤延时超过延时阈值的数据;过滤数据精度不超过数据精度阈值的数据;过滤数据量超过数据量阈值的数据。
37.上述方案中,所述数据服务队列模块,还用于针对每个所述消息队列中的多条数据执行以下处理:根据所述消息队列对应的数据指标,确定所述消息队列中存储的每条数据所对应的订阅优先级;根据所述订阅优先级对所述多条数据进行降序排序,并在日志系统中记录排序动作的发生时间;通过所述日志系统中记录的排序动作的发生时间,对所述降序排序的结果进行校验通过时,确定排序完成。
38.上述方案中,所述数据服务队列模块,还用于针对每个消息队列执行以下操作:确定所述消息队列中每条数据对应所述消息队列的数据指标的指标值;根据所述每条数据的指标值对所述消息队列中的数据进行降序排序,根据降序排序结果为所述消息队列中的数据分配订阅优先级,以使所述每条数据的订阅优先级与排序位置正相关;其中,所述数据指标的类型包括:延时、数据精度和数据量。
39.上述方案中,所述对象存储模块,还用于针对被订阅的每个消息队列执行以下处理:按照订阅优先级的降序从所述消息队列中依次读取多条数据;根据所述交通感知设备的感知目标,对读取的多条数据进行分类,以使归属于相同类别的至少一条数据对应的感知目标相同;将归属于相同类别的至少一条数据封装为对应所述感知目标的数据对象;其中,所述感知目标的类型包括:车辆、道路区域和路侧设备。
40.上述方案中,所述对象存储模块,还用于将所述数据对象中封装的每条数据的订阅优先级的加和或平均值,作为所述数据对象的订阅优先级;将所述消息队列对应的数据指标、所述数据对象的订阅优先级封装到所述数据对象中。
41.上述方案中,所述对象存储模块,还用于针对读取的每条数据执行以下数据处理操作至少之一:视频感知处理;交通事件检测处理;交通状况分析处理;风险评估处理;根据所述感知目标,对所述多条数据、以及对应每条数据的数据处理结果进行分类,以使归属于相同类别的至少一条数据和数据处理结果所对应的感知目标相同。
42.上述方案中,所述对象存储模块,还用于确定所述归属于相同类别的至少一条数据的标识信息,其中,所述标识信息用于区分不同的数据对象;确定用于描述所述归属于相同类别的至少一条数据的属性信息,并将所述属性信息确定为对应的元数据;将所述归属于相同类别的至少一条数据、所述元数据、以及所述标识信息封装为对应所述感知目标的数据对象。
43.上述方案中,所述数据开放模块,还用于接收所述车联网终端的数据请求,其中,
所述数据请求中携带目标数据指标;在数据库存储的多个所述数据对象中,查询包括所述目标数据指标的多个数据对象;按照查询到的所述多个数据对象的订阅优先级的降序,向所述车联网终端发送所述多个数据对象。
44.上述方案中,所述数据请求中携带关键字,所述关键字表征所述车联网终端的需要使用的数据具有的属性;所述数据开放模块,还用于在数据库存储的多个所述数据对象中,查询包括所述目标数据指标、且与所述关键字匹配的多个数据对象。
45.本技术实施例提供一种电子设备,包括:
46.存储器,用于存储可执行指令;
47.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的智能车联网的数据处理方法。
48.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的智能车联网的数据处理方法。
49.本技术实施例具有以下有益效果:
50.通过对消息队列中的数据赋予订阅优先级的属性,并对数据对象赋予感知目标的属性,从而使得相同的消息队列能够同时适配车联网终端对于数据的多样化的需求,保证了车联网终端的应用能够后续及时获得所需的数据,以节约车联网自身的数据运营的资源。
附图说明
51.图1是本技术实施例中提供的对象存储的结构示意图;
52.图2是本技术实施例提供的智能车联网的架构示意图;
53.图3是本技术实施例提供的智能车联网的数据处理方法的应用场景示意图;
54.图4是本技术实施例提供的服务器600的结构示意图;
55.图5是本技术实施例提供的智能车联网的数据处理方法的流程示意图;
56.图6是本技术实施例提供的智能车联网的数据处理方法的流程示意图;
57.图7a和图7b是本技术实施例提供的智能车联网的数据处理方法的流程示意图;
58.图8是本技术实施例提供的智能车联网的数据处理方法的应用场景示意图;
59.图9是本技术实施例提供的v2x开放平台系统的总体架构示意图;
60.图10是本技术实施例提供的v2x开放平台系统的数据流转过程示意图;
61.图11a是本技术实施例提供的v2x数据服务队列模块的结构示意图;
62.图11b是本技术实施例提供的v2x数据服务队列模块中的数据流转过程示意图;
63.图12是本技术实施例中提供的智能车联网的数据处理方法的应用场景示意图。
具体实施方式
64.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
65.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突
的情况下相互结合。
66.在以下的描述中,所涉及的术语“第一/第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
67.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
68.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
69.1)v2x,是未来智能交通运输系统的关键技术。它使得车与车、车与基站、基站与基站之间能够通信,从而获得实时路况、道路信息、行人信息等一系列交通信息,从而提高驾驶安全性、减少拥堵、提高交通效率、提供车载娱乐信息等;简单来说,搭配了v2x系统的车型,在自动驾驶模式下,能够通过对实时交通信息的分析,自动选择路况最佳的行驶路线,从而大大缓解交通堵塞。除此之外,通过使用车载传感器和摄像系统,还可以感知周围环境,做出迅速调整,从而实现“零交通事故”。
70.2)交通感知设备,是车联网中能够采集数据的设备,包括路侧设备(例如交通信号灯、交通测速仪和车辆引流设备等)和车载终端(或称车辆)等。
71.3)车联网终端,是车联网中能够接收数据的设备,包括路侧设备(例如交通信号灯、交通测速仪和车辆引流器等)、车载终端和行人手持的终端等。
72.4)基础设施即服务(iaas,infrastructure as a service),是指把互联网基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。
73.5)平台即服务(paas,platform as a service),是指把服务器平台作为一种服务提供的商业模式。
74.6)消息队列(mq,message queue),是在消息的传输过程中用于保存消息的容器。具体的,是指一端往消息队列中不断写入消息,而另一端可以读取或订阅消息队列中的消息。
75.7)对象存储(object-based storage),是一种网络存储架构,基于对象存储技术的设备就是对象存储设备(osd,object-based storage device)。对象存储是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备构建存储系统,每个对象存储设备具有一定的职能,能够自动管理其上的数据分布。
76.参见图1,图1是本技术实施例提供的对象存储的结构示意图,对象存储的结构包括对象、对象存储设备、元数据服务器和对象存储系统的客户端。
77.元数据服务器控制客户端与osd对象的交互,为客户端提供元数据,主要是文件的逻辑视图,包括文件与目录的组织关系、每个文件所对应的osd等。元数据服务器在存储系统上构建一个文件结构,包括限额控制、目录和文件的创建和删除、访问控制等。
78.osd管理对象数据,并支持数据的预取。osd管理存储在其它对象上的元数据,通常包括对象的数据块和对象的长度。
79.对象(object)是系统中数据存储的基本单位,每个obeject是数据和数据属性集
的综合体,数据属性可以根据应用的需求进行设置,包括数据分布、服务质量等。object维护自己的属性,从而简化了存储系统的管理任务,增加了灵活性。object的大小可以不同,可以包含整个数据结构,如文件、数据表项等。在存储设备中,所有对象都有一个对象标识,通过对象标识osd命令访问对象。通常由多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组队象是存储设上共享资源管理策略的对象集合等。
80.读取数据的流程:客户端发出读请求;向元数据服务器发送请求,获取要读取的数据所在的osd;然后直接向每个osd发送数据读取请求;osd得到请求后,判断要读取的对象,并根据此object的认证方式,对客户端进行认证,如果客户端得到授权,则将object的数据返回给客户端。
81.8)云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
82.9)边缘云计算,简称边缘云,是基于云计算技术的核心和边缘计算的能力,构筑在边缘基础设施之上的云计算平台。形成边缘位置的计算、网络、存储、安全等能力全面的弹性云平台,并与中心云和物联网终端形成“云边端三体协同”的端到端的技术架构,通过将网络转发、存储、计算,智能化数据分析等工作放在边缘处理,降低响应时延、减轻云端压力、降低带宽成本,并提供全网调度、算力分发等云服务。
83.10)消息队列遥测传输(mqtt,message queuing telemetry transport),是一个基于客户端-服务器的消息发布/订阅传输协议。它工作在tcp/ip协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。
84.11)感知目标,是指交通感知设备所能感知的对象,例如,当交通感知设备是测速设备时,测速设备可以对所在路段中通行的车辆进行测速,这里被测速的车辆就是测速设备的感知目标。感知目标的类型包括:车辆、道路区域和路侧设备等。
85.车联网终端中不同的车联网应用所需要的车联网数据的类型是存在差异性的,例如,导航客户端由于需要保证导航路线的准确性,通常需要数据精度高的车联网数据;而车辆引流客户端由于需要保证及时引导车流通行以减少道路拥堵,通常需要延时小(即实时性高)的车联网数据。
86.而相关技术中,车联网通常是将统一组织的车联网数据按照相同的数据发送顺序发送至不同的车联网应用中,如此,当数据的统一发送顺序是优先发送数据精度高的车联网数据,再发送延时小的数据时,可能会导致需要延时小的车联网数据的车辆引流客户端需要耗费时间等待数据的传输,只有在接收到延时小的车联网数据时,车辆引流客户端才能进行后续处理,例如,设定引导车流的路线等。从而将会导致车联网应用的处理延迟,进一步的,交通路况是瞬息万变的,车联网应用的处理延迟可能会导致交通秩序的紊乱,将会造成无法估量的后果。
87.针对上述技术问题,本技术实施例提供一种智能车联网、数据处理方法、电子设备及计算机可读存储介质,能够实现车联网数据的高效分享以满足车联网终端的多样化的数据需求。下面说明本技术实施例提供的智能车联网的数据处理方法的示例性应用,本技术实施例提供的智能车联网的数据处理方法可以由各种电子设备实施,例如可以由服务器或服务器集群实施。
88.下面,以由终端和服务器协同实施为例说明本技术实施例,参见图2,图2是本技术实施例提供的智能车联网的架构示意图,包括:交通感知设备100、数据库200、数据服务引擎300、车联网终端400、以及数据开放模块500,将分别进行说明。
89.交通感知设备100,可以是路侧设备,例如交通信号灯、交通测速仪和车辆引流设备等,还可以是车辆,用于对所处区域的交通状况进行感知,以获得相应的数据,并将感知的数据发送至数据服务引擎300。
90.数据库200,用于存储数据服务引擎300上传的数据对象,还用于数据开放模块500查询对应数据请求的数据对象。
91.数据服务引擎300,是智能车联网的组成部分,用于接收交通感知设备100感知的数据,并存储到多个消息队列中;还用于根据每个消息队列的数据指标,对消息队列中存储的数据进行订阅优先级的排序,从多个消息队列中订阅至少一个消息队列;还用于从被订阅的至少一个消息队列中按照订阅优先级的降序读取数据,将读取的数据转换数据对象,并在数据库200中存储数据对象。
92.数据开放模块500,是智能车联网的组成部分,用于接收车联网终端400的数据请求,在数据库200中查询适配的多个数据对象,并根据订阅优先级向车联网终端400发送多个数据对象。
93.车联网终端400,可以是路侧设备,例如交通信号灯、交通测速仪和车辆引流设备等,还可以是车辆,用于向数据开放模块500发送数据请求,以获取相应的数据对象。
94.以车联网终端400是车辆、且交通感知设备100是交通信号灯为例,车联网终端400通过数据开放模块500接收到交通感知设备100发送的表征1分钟后该路段将禁止直行的指示后,进行计时,当在计时结束后、且车联网终端400仍未通过该路段时,在对应交通感知设备100的停止线之前自动停车,如此,能够保证交通秩序。
95.本技术实施例可以借助于云技术实现,具体的,数据服务引擎300和数据开放模块500可以分别是两个独立的物理服务器;也可以集成在同一个物理服务器中;还可以是多个物理服务器构成的服务器集群或者分布式系统;还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
96.在一些实施例中,参见图3,图3是本技术实施例中提供的智能车联网的数据处理方法的应用场景示意图。图3中,路侧设备相当于图2中的交通感知设备100,车端软件(即上述的车联网应用,例如,地图客户端、导航客户端、乘车客户端、智能车联客户端或物流查询客户端等)相当于运行在车联网终端400中的客户端,路侧设备和车端软件均属于第三方系统。
97.在一些实施例中,数据服务引擎300被部署在边缘云网络中,边缘云网络可以实现视频感知、交通事件检测、交通状况分析以及个体风险评估等功能。如此,数据服务引擎300
中的对象存储模块可以调用边缘云网络针对读取的每条数据执行以下数据处理操作至少之一:视频感知处理;交通事件检测处理;交通状况分析处理;风险评估处理。
98.在一些实施例中,中心云可以实现边缘云的接入调度、数据存储、以及测试服务等功能。因此,将数据对象存储在中心云网络中,并且为了进一步提高接收路侧设备发送的数据和向车联网终端发送数据的速度,数据开放模块500被部署在边缘云网络中,如此,数据开放模块500接收车联网终端400的数据请求,在中心云网络中存储的多个数据对象中查询适配的多个数据对象,并根据订阅优先级,由边缘云网络以数据组播的方式向车联网终端400发送查询到的多个数据对象。
99.本技术实施例中,正是由于边缘云网络是边缘位置的计算、网络、存储、安全等能力全面的弹性云平台,相较于中心云网络距离路侧设备和车联网终端较近,接收路侧设备发送的数据和向车联网终端发送数据的较为快速。因此,将数据服务引擎300和数据开放模块500运行于边缘云网络中能够提高数据的接收速度和发送速度。并且边缘云网络计算能力强大,数据服务引擎300通过调用边缘云网络进行数据处理不仅能够提高数据处理的速度,还能提高数据处理的正确性,从而能够实现数据的高效分享以满足车联网终端的多样化的数据需求。
100.接下来说明当图2中的数据服务引擎300和数据开放模块500集成在同一个电子设备(例如服务器)时的结构,参见图4,图4是本技术实施例提供的服务器600的结构示意图,图4所示的服务器600包括:至少一个处理器610、存储器640和至少一个网络接口620。服务器600中的各个组件通过总线系统630耦合在一起。可理解,总线系统630用于实现这些组件之间的连接通信。总线系统630除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统630。
101.处理器610可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
102.存储器640包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器640旨在包括任意适合类型的存储器。存储器640可选地包括在物理位置上远离处理器610的一个或多个存储设备。
103.在一些实施例中,存储器640能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
104.操作系统641,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
105.网络通信模块642,用于经由一个或多个(有线或无线)网络接口620到达其他计算设备,示例性的网络接口620包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
106.在一些实施例中,本技术实施例提供的智能车联网可以采用软件方式实现,图4示出了存储在存储器640中的智能车联网643,其可以是程序和插件等形式的软件,包括:数据
服务引擎6431和数据开放模块6432,其中,数据服务引擎6431包括:数据服务队列模块64311、消息队列代理模块64312和对象存储模块64313。这些模块是可以是逻辑功能模块,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
107.需要说明的是,图4中的数据开放模块6432在智能车联网643中是可选的模块。
108.下面,以由图2中的数据服务引擎300和数据开放模块500实施本技术实施例提供的智能车联网的数据处理方法为例说明。参见图5,图5是本技术实施例提供的智能车联网的数据处理方法的流程示意图,将结合图5示出的步骤进行说明。
109.在步骤s101中,接收交通感知设备感知的数据,并存储到多个消息队列中。
110.作为承接图10的示例,通过v2x数据服务引擎(即上述的数据服务引擎300)中的v2x数据服务队列模块(即上述的数据服务队列模块),接收交通感知设备发送的v2x数据,并存储到v2x数据服务队列模块中的多个消息队列中。
111.在一些实施例中,接收交通感知设备感知的数据,分别存储到多个消息队列中的每个消息队列,并在日志系统中记录存储动作的发生时间;通过日志系统中记录的存储动作的发生时间,对多个消息队列中存储的数据进行校验通过时,确定存储完成。
112.作为示例,交通感知设备感知的数据可以是路侧设备或车辆等设备所感知的数据。当交通感知设备是车辆时,感知的数据可以是车辆的位置、速度、方向和行驶状态等数据;当交通感知设备是交通信号灯时,感知的数据可以是交通信号灯的控制信号等数据,本技术实施例对此不进行限制。
113.作为示例,在日志系统(例如ekl日志系统)中记录存储动作的发生时间,可以通过日志系统中记录的存储动作的发生时间对多个消息队列中存储的数据进行查错,能够校验在存储交通感知设备感知的数据的过程中是否丢失数据或者数据是否被篡改等,从而保证后续数据传输过程中的数据准确性。
114.在一些实施例中,在将从交通感知设备接收的数据存储到多个消息队列之前,还可以针对从交通感知设备接收的数据执行以下过滤操作至少之一:过滤延时超过延时阈值的数据;过滤数据精度不超过数据精度阈值的数据;过滤数据量(或称数据容量)超过数据量阈值的数据。
115.作为示例,确定每条数据的接收时间;根据每条数据的接收时间,确定每条数据对应的延时,将延时超过延时阈值的数据进行过滤,其中,延时阈值可以是缺省值,也可以是用户、客户端(例如车联网应用)或服务器设定的值,还可以是根据所有数据对应的延时所确定的,例如,将所有数据对应的延时的平均值作为延时阈值。由于车联网终端对于延时较长的数据需求的可能性较低,因此将延时较长的数据进行过滤,能够节约消息队列的存储资源。
116.作为示例,确定每条数据的数据精度;将数据精度不超过数据精度阈值的数据进行过滤,其中,数据精度阈值可以是缺省值,也可以是用户、客户端或服务器设定的值,还可以是根据所有数据对应的数据精度所确定的,例如,将所有数据对应的数据精度的平均值作为数据精度阈值。由于车联网终端对于数据精度较低的数据需求的可能性较低,因此将数据精度较低的数据进行过滤,能够节约消息队列的存储资源。
117.作为示例,确定每条数据的数据量;将数据量超过数据量阈值的数据进行过滤,其
中,数据量阈值可以是缺省值,也可以是用户、客户端或服务器设定的值,还可以是根据所有数据对应的数据量所确定的,例如,将所有数据对应的数据量的平均值作为数据量阈值。由于数据量较高的数据需要耗费的存储空间较大,因此将数据量较高的数据进行过滤,能够节约消息队列的存储资源。
118.在步骤s102中,根据每个消息队列的数据指标,对消息队列中存储的数据进行订阅优先级的排序。
119.作为承接图10的示例,v2x数据服务引擎中的v2x数据服务队列模块根据每个消息队列的数据指标,对消息队列中存储的v2x数据进行订阅优先级的排序。
120.在一些实施例中,针对每个消息队列中的多条数据执行以下处理:根据消息队列对应的数据指标,确定消息队列中存储的每条数据所对应的订阅优先级;根据订阅优先级对多条数据进行降序排序,并在日志系统中记录排序动作的发生时间;通过日志系统中记录的排序动作的发生时间,对降序排序的结果进行校验通过时,确定排序完成。
121.作为示例,在日志系统(例如ekl日志系统)中记录排序动作的发生时间,可以通过日志系统中记录的排序动作的发生时间对多个消息队列中的数据排序结果进行查错,能够校验数据的排序是否有误、以及排序是否与数据指标相对应等,从而保证后续数据传输过程中的数据准确性。
122.作为示例,根据消息队列对应的数据指标,确定消息队列中存储的每条数据所对应的订阅优先级可以是针对每个消息队列执行以下操作:确定消息队列中每条数据对应消息队列的数据指标的指标值;根据每条数据的指标值对消息队列中的数据进行降序排序,根据降序排序结果为消息队列中的数据分配订阅优先级,以使每条数据的订阅优先级与排序位置正相关,例如,数据的订阅优先级越高,排序位置越靠前。
123.这里,数据指标的类型包括:延时、数据精度和数据量。下面说明基于不同的数据指标确定每条数据对应的指标值的实现方式。
124.举例来说,当数据指标是延时时,确定每条数据的接收时间;根据每条数据的接收时间,确定每条数据对应的指标值,其中,接收时间的先后顺序和指标值之间呈正比。如此,能够将延时较低的数据分配较高的订阅优先级,便于车联终端后续优先获取延时较低的数据,从而提高数据的处理速度。
125.举例来说,当数据指标是数据精度时,确定每条数据的数据精度;根据每条数据的数据精度,确定每条数据对应的指标值,其中,数据精度和指标值之间呈正比。如此,能够将数据精度较高的数据分配较高的订阅优先级,便于车联终端后续优先获取数据精度较高的数据,从而提高数据的处理精度。
126.举例来说,当数据指标是数据量时,确定每条数据的数据量;根据每条数据的数据量,确定每条数据对应的指标值,其中,数据量和指标值之间呈反比。如此,能够将数据量较小的数据分配较高的订阅优先级,便于车联终端后续优先获取数据量较小的数据,从而提高数据的接收速度。
127.在步骤s103中,根据车联网终端运行车联网应用依赖的至少一个数据指标,从多个消息队列中订阅至少一个消息队列。
128.作为承接图10的示例,v2x数据服务引擎中的mqtt代理模块(即上述的消息队列代理模块)根据车联网终端运行车联网应用依赖的至少一个数据指标,从v2x数据服务队列模
块中订阅至少一个消息队列。
129.在一些实施例中,获取车联网终端的订阅请求,从订阅请求中解析出车联网终端运行车联网应用依赖的至少一个待订阅数据指标;确定与至少一个待订阅数据指标一一对应的至少一个待订阅消息队列并进行订阅。
130.本技术实施例根据车联网终端的车联网应用依赖的数据指标订阅相应的数据,能够便于后续向车联网终端优先发送符合其自身需求的数据对象,从而实现适配车联网应用的多样化的数据需求。
131.在步骤s104中,从被订阅的至少一个消息队列中按照订阅优先级的降序读取数据。
132.在一些实施例中,针对被订阅的每个消息队列执行以下处理:按照订阅优先级的降序从消息队列中依次读取多条数据。
133.举例来说,被订阅的消息队列中包括数据1、数据2和数据3,数据1对应数据指标的订阅优先级是1级,数据2对应数据指标的订阅优先级是2级,数据3对应数据指标的订阅优先级是3级,如此,从消息队列中先读取订阅优先级最高的数据1,再读取订阅优先级其次的数据2,最后读取订阅优先级最低的数据3。
134.作为承接图10的示例,v2x数据服务引擎中的对象存储模块通过mqtt代理模块,从被订阅的至少一个消息队列中按照订阅优先级的降序依次读取多条v2x数据。
135.在步骤s105中,将读取的数据封装为数据对象,以使数据对象中包括的数据对应交通感知设备的相同的感知目标,并存储数据对象。
136.这里,感知目标的类型包括:车辆、道路区域和路侧设备。
137.在一些实施例中,参见图6,图6是本技术实施例提供的智能车联网的数据处理方法的流程示意图,基于图5,步骤s105可以包括步骤s1051和步骤s1052,将结合图6示出的步骤进行说明。
138.在步骤s1051中,根据交通感知设备的感知目标,对读取的多条数据进行分类,以使归属于相同类别的至少一条数据对应的感知目标相同。
139.作为承接图10的示例,v2x数据服务引擎中的对象存储模块对读取的多条v2x数据进行对象分类,以使归属于相同类别的至少一条v2x数据对应的感知目标(即对象)相同。
140.以交通感知设备是测速设备为例,测速设备可以对所在路段中通行的车辆进行位置检测和速度检测,这里被测速的车辆就是测速设备的感知目标,例如,测速设备针对车辆a进行速度检测和位置检测,获得车辆a的速度信息和位置信息,针对车辆b进行速度检测和位置检测,获得车辆b的速度信息和位置信息,如此,可以将车辆a的速度信息和位置信息分为一类,该类别中的数据对应感知目标车辆a;将车辆b的速度信息和位置信息分为一类,该类别中的数据对应感知目标车辆b。
141.作为示例,也可以根据交通感知设备的感知目标,对读取的多条数据进行分类,以使归属于相同类别的至少一条数据对应的感知目标的类型相同。
142.以交通感知设备是路侧的位置检测设备为例,位置检测设备可以对所在路段中通行的车辆以及行人进行位置检测,这里检测的车辆和行人就是位置检测设备的感知目标,例如,位置检测设备针对车辆a和车辆b进行位置检测,获得车辆a的位置信息和车辆b的位置信息,针对行人a和行人b进行位置检测,获得行人a的位置信息和行人b的位置信息,如
此,可以将归属于车辆的车辆a的位置信息和车辆b的位置信息分为一类,该类别中的数据对应的感知目标的类型相同,均属于车辆;将归属于车辆的行人a的位置信息和行人b的位置信息分为一类,该类别中的数据对应的感知目标的类型相同,均属于行人。
143.在一些实施例中,针对读取的每条数据执行以下数据处理操作至少之一:视频感知处理;交通事件检测处理;交通状况分析处理;风险评估处理;根据感知目标,对多条数据、以及对应每条数据的数据处理结果进行分类,以使归属于相同类别的至少一条数据和数据处理结果所对应的感知目标相同。
144.作为承接图10的示例,mqtt代理模块针对至少一条v2x数据执行数据处理,获得对应的v2x数据处理结果;对象存储模块通过mqtt代理模块获取多条v2x数据、以及对应每条v2x数据的v2x数据处理结果,并对多条v2x数据、以及对应每条v2x数据的v2x数据处理结果进行分类,以使归属于相同类别的至少一条v2x数据和v2x数据处理结果所对应的感知目标相同,或归属于相同类别的至少一条v2x数据和v2x数据处理结果所对应的感知目标的类型相同。
145.本技术实施例中将原始数据和数据处理结果一起封装至相应的数据对象中,使得车联终端接收到适配的数据对象后,能够直接使用其中的数据处理结果,而无需对获取到的原始数据进行处理,从而能够节约车联网终端的数据处理资源,并且由于服务器的数据处理速度比车联网终端快,因此还能够提高数据处理的速度。
146.在步骤s1052中,将归属于相同类别的至少一条数据封装为对应感知目标的数据对象,并在数据库中存储数据对象。
147.作为承接图10的示例,v2x数据服务引擎中的对象存储模块将归属于相同类别的至少一条v2x数据封装为对应感知目标的数据对象,并将数据对象发送至数据库。
148.在一些实施例中,在将归属于相同类别的至少一条数据封装为对应感知目标的数据对象时,还可以将数据对象中封装的每条数据的订阅优先级的加和或平均值,作为数据对象的订阅优先级;将消息队列对应的数据指标、数据对象的订阅优先级封装到数据对象中,并在数据库中存储数据对象。
149.作为示例,数据对象中包括数据1和数据2,数据1对应数据指标a的订阅优先级是1级,对应数据指标b的订阅优先级是3级,数据2对应数据指标a的订阅优先级是3级,对应数据指标b的订阅优先级是5级,如此,可以确定数据对象针对数据指标a的订阅优先级是1 3=4级(或(1 3)/2=2级),数据对象针对数据指标b的订阅优先级是3 5=8级(或(3 5)/2=4级),可以以数据指标a-4级(或2级)和数据指标b-8级(或4级)的格式封装到数据对象中。
150.本技术实施例中,由于数据对象中所封装的数据可能不止一条,因此根据数据对象中封装的每条数据的订阅优先级确定数据对象的订阅优先级,能够后续向车联网终端优先发送符合其自身需求的数据,从而实现适配车联网应用的多样化的数据需求;并且由于是直接向车联网发送的是封装后的数据对象,而并非相关技术中固定格式(例如v2x协议的格式)的车联网数据,不仅能够实现第三方应用之间的数据共享,还能够提高车联网数据的传输速度和传输精度,从而保证车联网终端的有序运行。
151.在一些实施例中,确定归属于相同类别的至少一条数据的标识信息,其中,标识信息用于区分不同的数据对象;确定用于描述归属于相同类别的至少一条数据的属性信息,并将属性信息确定为对应的元数据;将归属于相同类别的至少一条数据、元数据、以及标识
信息封装为对应感知目标的数据对象,并在数据库中存储数据对象。
152.作为示例,数据对象的数据通常是无结构的数据,例如:图片、视频或文档等;数据对象的元数据通常是对数据对象的相关描述,例如:图片的大小或文档的拥有者等;数据对象的标识信息是一个全局的唯一标识符,用来区分数据对象。将上述信息封装至数据对象进行发送,相较于直接发送封装前的数据能够提高车联网数据的传输速度和传输精度,从而保证车联网终端的有序运行。
153.在一些实施例中,参见图7a,图7a是本技术实施例提供的智能车联网的数据处理方法的流程示意图,基于图5,在步骤s105之后可以包括步骤s106,将结合图7a示出的步骤进行说明。
154.在步骤s106中,接收车联网终端的数据请求,在存储的多个数据对象中查询适配的多个数据对象,根据订阅优先级向车联网终端发送查询到的多个数据对象。
155.作为承接图10的示例,数据开放模块接收第三方应用(即车联网终端运行的车联网应用)的数据请求,在数据库中存储的多个数据对象中查询适配的多个数据对象,并根据订阅优先级向第三方应用发送查询到的多个数据对象。
156.在一些实施例中,数据请求中携带目标数据指标,接收车联网终端的数据请求;在数据库存储的多个数据对象中,查询包括目标数据指标的多个数据对象;按照查询到的多个数据对象的订阅优先级的降序,向车联网终端发送多个数据对象。
157.作为示例,数据对象1针对数据指标a的订阅优先级是2级,针对数据指标b的订阅优先级是3级;数据对象2针对数据指标a的订阅优先级是4级,针对数据指标b的订阅优先级是1级。当数据请求中携带目标数据指标是数据指标a时,数据对象1和数据对象2均是查询到的适配的数据对象,由于数据对象1对应数据指标a的订阅优先级高于数据对象2对应数据指标a的订阅优先级,因此先向车联网终端发送数据对象1,再发送数据对象2。当数据请求中携带目标数据指标是数据指标b时,数据对象1和数据对象2均是查询到的适配的数据对象,由于数据对象1对应数据指标b的订阅优先级低于数据对象2对应数据指标b的订阅优先级,因此先向车联网终端发送数据对象2,再发送数据对象1。
158.本技术实施例能够根据车联网终端的车联网应用依赖的数据指标,向车联网终端优先发送符合其自身需求的数据对象(例如运行车联网应用依赖的车联网数据),具体的,由于现如今车联网应用的多样性,每个车联网应用所需要的车联网数据的类型可能不一样,例如,地图客户端需要的是gps数据,导航客户端需要的是道路的车流量数据,相较于相关技术中将统一组织的车联网数据发送至车联网终端来说,本技术实施例能够使得发送的数据更有针对性,能够发送适配不同的车联网应用的数据,从而提高车联网应用基于获取的数据对象实现数据处理的效率,进而实现适配车联网应用的多样化的数据需求。
159.在一些实施例中,数据请求中携带关键字,关键字表征车联网终端的需要使用的数据具有的属性;在数据库存储的多个数据对象中,查询包括目标数据指标、且与关键字匹配的多个数据对象;按照查询到的多个数据对象的订阅优先级的降序,向车联网终端发送多个数据对象。
160.本技术实施例中不仅能够向车联网终端优先发送符合其自身需求的数据对象,还能够对查询到的数据对象进行过滤,能够进一步提高获取符合需求的数据对象的准确性。
161.在一些实施例中,参见图7b,图7b是本技术实施例提供的智能车联网的数据处理
方法的流程示意图,基于图5,在步骤s101之前可以包括步骤s107和步骤s108,将结合图7b示出的步骤进行说明。
162.在步骤s107中,获取车联网终端的排序指令,从排序指令中提取车联网终端的车联网应用依赖的多个数据指标。
163.作为承接图11b的示例,通过调用v2x数据服务队列模块中的应用程序接口(api,application programming interface)网关,获取第三方应用通过mqtt代理模块发送的携带数据指标的控制指令(即上述的排序指令),从控制指令中提取第三方应用依赖的多个数据指标。
164.在步骤s108中,创建与多个数据指标一一对应的多个消息队列。
165.作为承接图11b的示例,通过v2x数据服务队列模块中的tars分布式服务框架,在v2x数据服务队列模块中的分布式消息队列中创建与多个数据指标一一对应的多个消息队列。
166.本技术实施例能够根据车联网终端的车联网应用依赖的数据指标,对消息队列中的数据进行相应的排序,能够后续向车联网终端优先发送符合其自身需求的数据对象,具体的,由于现如今车联网应用的多样性,每个车联网应用所需要的车联网数据的类型可能不一样,相较于相关技术中将统一组织的车联网数据发送至车联网终端来说,本技术实施例能够使得后续发送的数据更有针对性,从而匹配不同的车联网应用,进而实现适配车联网应用的多样化的数据需求。
167.下面,以一个具体的应用示例说明本技术实施例提供的智能车联网的数据处理方法。
168.本技术实施例提供一种v2x开放平台系统,该系统采用将消息队列与对象存储相结合的方式,实现对于v2x数据(即上述的车联网数据)的高速缓存,同时,结合tars的微服务架构构建高速数据服务引擎,可以实现不同第三方应用(即上述的车联网应用)之间的v2x数据高效共享。
169.参见图8,图8是本技术实施例提供的智能车联网的数据处理方法的应用场景示意图。图8中,v2x开放平台系统连接硬件设备(包括路侧设备、车侧设备、信号灯、以及路侧摄像头等),加工和处理数据,然后经由数据开放接口将数据传输到客户端应用,这里的客户端应用包括但不限于图8的行业生态里的应用。
170.下面说明v2x开放平台系统的总体架构,参见图9,图9是本技术实施例提供的v2x开放平台系统的总体架构示意图,将结合图9进行说明。
171.v2x开放平台系统总体架构由四层构成,具体包括:
172.(1)底层的感知层(即图9中的硬件外设),包括但不限于智能交通灯、路测感知设备、网联车辆和路侧感知单元(rsu,road side unit)。
173.(2)平台层由iaas(计算、网络、存储、以及容器)和边缘计算paas组成,能接入感知层的硬件感知设备及接收感知层的硬件感知设备传输过来的数据。
174.(3)中间层由v2x数据服务引擎(即上述的数据服务引擎)构成,完成包括关系数据库、时序数据库、路测感知数据库、车辆数据库、自动驾驶仿真器数据库、和云控系统数据库等的适配工作。
175.(4)应用层包括不同类型的平台(即图9中的平台或系统外设),例如,监控后台、
rsu控制后台、智能交通灯控制后台、自动驾驶仿真器、以及云控系统等。v2x开放平台系统对接第三方应用和平台。
176.v2x数据服务引擎的作用是:用于将通过硬件外设所获取的v2x数据转换为数据对象,并缓存到v2x数据服务引擎中的对象存储模块中,再适配到相应的数据库(包括图9中举例的六个数据库,但不仅限于上述数据库);还用于响应数据获取请求,从相应的数据库中获取相应的数据,并根据订阅优先级将数据进行发送。
177.v2x开放平台系统采用消息队列与对象存储相结合的方式,实现对于v2x数据的高速缓存,下面结合图10说明v2x开放平台系统的v2x数据的流转过程,图10是本技术实施例提供的v2x开放平台系统的数据流转过程示意图。
178.(1)v2x数据最初存入v2x数据服务队列模块进行缓存;v2x数据服务队列模块按照数据分类要求(例如,延时、数据精度和数据量等)设定缓存中的数据在消息队列中的订阅优先级。例如,当数据分类要求是数据精度时,将数据精度高的数据排列在消息队列的前面,以使mqtt代理模块优先订阅数据精度高的数据。
179.(2)mqtt代理模块按照数据分类要求(例如,延时、数据精度和数据量等),向v2x数据服务队列模块订阅v2x数据;并对v2x数据进行数据处理,获得对应的v2x数据处理结果。
180.(3)mqtt代理模块将v2x数据服务队列模块推送的v2x数据和对应的v2x数据处理结果通过标准接口(例如,http api和restful api)写入对象存储模块,以对数据进行保存。
181.(4)数据开放模块根据来自第三方应用的请求,通过标准接口(例如,http api和restful api)从对象存储模块中读取v2x数据和/或v2x数据处理结果,再向第三方应用发送读取的v2x数据和/或v2x数据处理结果。
182.(5)结构化v2x数据包括每个道路目标(即上述的感知目标)的检测信息(例如,车辆的位置、速度、方向和行驶状态等信息),以及对应的v2x数据处理结果(例如,车道级拥堵状况、抛撒物信息、车辆平均速度和间距、实时车流量等信息)(即根据检测信息加工计算后所获得的数据)。边缘云可通过特定api接口向第三方应用提供数据读取及数据写入的能力。
183.(6)非结构化数据(就是原始数据,和结构化数据相比,非结构化数据中不包括v2x数据处理结果)共享由边缘云通过数据组播的方式,将原始数据(即上述的检测信息)转发给第三方系统。通过这种方式,第三方系统可减少系统间的适配工作,从而降低系统整合的复杂性。
184.(7)对象存储模块相当于一个缓存,在这里将数据按照类别分门别类(例如,对于车辆的数据,将车辆看成一个对象,将与它有关的数据在对象存储模块中封装后可将其作为一个整体),分类后,再发送至相应的数据库。
185.(8)对象存储模块主要起到“将数据对象化”的作用,就是把一些零散的数据按照它的属性(例如,确定该数据是车辆的数据、某一段道路的数据或交通标志的数据)进行封装,以形成多个数据对象;形成数据对象后,再将其发送至相应的数据库中。
186.下面结合图11a和图11b说明v2x数据服务队列模块的具体实现方式,图11a是本技术实施例提供的v2x数据服务队列模块的结构示意图,图11b是本技术实施例提供的v2x数据服务队列模块中的数据流转过程示意图。将结合图11a和图11b进行说明。
187.(1)数据(例如,v2x数据)注入v2x数据服务队列模块的过程:v2x数据先进入tars分布式服务框架,形成分布式消息队列,一方面将v2x数据先存储到分布式数据库(v2x数据服务队列模块中用于临时存储数据)中,另一方面,调用api网关,将v2x数据注入到mqtt代理模块,同时在ekl日志系统里记录各动作发生的时间。
188.(2)数据(例如,控制指令(即上述的排序指令),用于控制v2x数据服务队列模块在消息队列中对v2x数据进行排序)流出v2x数据服务队列模块的过程:api网关从mqtt代理模块中获取控制指令后,一方面将控制指令存储在分布式数据库中,另一方面根据控制指令将v2x数据形成分布式消息队列,并在ekl日志系统中记录各动作发生的时间,通过tars分布式服务框架流出v2x数据服务队列模块。
189.下面将结合图12示出的应用场景来详细说明本技术实施例的实施过程,参见图12,图12是本技术实施例中提供的智能车联网的数据处理方法的应用场景示意图。
190.图12中,v2x的应用场景包括车辆对车辆的通信(v2v),例如防撞安全系统、车辆对行人的通信(v2p),例如车辆对行人和骑行者、以及车辆对基础设施的通信(v2i),例如交通信号灯时间优先性。
191.实例目标:构建v2x开放平台,实现车辆v2x数据读取(例如,将与车辆有关的数据(例如,车辆的位置信息)采用v2x传输方式发送到v2x开放平台,经过处理(例如计算车速)后得到车速,输出至应用端),统计其延时和样本方差。
192.需要说明的是,本技术实施例中的软硬件系统架构、开发环境、开发语言、消息获取源头等都是可以变化的,在本技术实施例的基础上,凡根据本本技术实施例原理对某个部分进行的改进和等同变换,均不应排除在本技术实施例的保护范围之外。
193.本技术实施例的硬件系统如图3所示,图3中的数据服务引擎300相当于上述的v2x数据服务引擎。
194.硬件需求包括:24台物理机或虚拟机节点,硬件规格为:8vcpu、32gb内存、1tb硬盘、以及30mbps网络。
195.平台安全及接口:v2x开放平台受到业务相关应用系统的安全管理,将云计算资源的大数据存储挖掘、数据实时计算、以及对外接入能力进行全面整合,确保各类异常行为特征能够被及时发现和响应,具体的:
196.1)用户交互安全:支持多维度分析用户账号信息、数据来源、登录方式、跳转页面等信息,及时有效识别出真机批量注册、自动机批量注册、账户盗用、垃圾账号申请、撞库登录、盗号登录、以及自动批量登录等多种恶意交互行为,并提供相应的防护措施建议。
197.2)验证码:支持字符验证和交互验证两大类别的验证码安全服务,用户可通过灵活、便捷的设计实现字符和交互验证在不同场景的动态切换。该验证码服务通过美观友好的界面、全终端适配的特性以及防自动破解的动态更新机制。
198.平台部署及环境:操作系统需要满足:centos 7.2 (推荐centos 7.5)、ubuntu18.04(内核版本v4.5以上)、或tencent linux 2.2。推荐centos 7.5版本,不同操作系统的操作会存在细小差别。内核版本需满足:》=kernel 3.10.0-957.10.1.el7.x86_64。
199.基于上述硬件需求、平台安全及接口、平台部署及环境按照图9中的v2x开放平台系统的总体架构、图10中的v2x开放平台系统的数据流转过程、图11a的v2x数据服务队列模块的结构、以及图11b的v2x数据服务队列模块中的数据流转过程构建v2x开放平台后,实现
车辆v2x数据读取,统计其延时和样本方差,实验结果分别如表1和表2所示。显然,相较于相关技术,本技术实施例性能更优,例如,相较于相关技术中v2x数据的传输方式,本技术实施例的延时小(表征数据传输速度快),车速样本方差小(表征数据传输精度高)。
200.表1实验结果(延时)
[0201][0202]
表2实验结果(车速样本方差)
[0203][0204]
需要说明的是,mqtt消息队列可以替换为类似的消息队列,例如,rabbitmq,其中,rabbitmq是实现了高级消息队列协议(amqp,advanced message queuing protocol)的开源消息代理软件(或称面向消息的中间件)。
[0205]
本技术实施例中,数据经过消息队列与对象存储、以及基于tars微服务架构,不仅能够能对于v2x数据实现高速缓存,而且能够实现不同第三方应用之间的v2x数据高效共享。
[0206]
下面继续结合图4说明服务器600的结构,在一些实施例中,如图4所示,存储在存储器640的智能车联网643中的软件模块可以包括:数据服务引擎6431,其中,数据服务引擎6431包括:数据服务队列模块64311、消息队列代理模块64312和对象存储模块64313,下面分别进行说明。
[0207]
所述数据服务队列模块64311,用于接收交通感知设备感知的数据,并存储到多个消息队列中,根据每个所述消息队列的数据指标,对所述消息队列中存储的数据进行订阅优先级的排序;
[0208]
所述消息队列代理模块64312,用于根据车联网终端运行车联网应用依赖的至少一个数据指标,从所述多个消息队列中订阅至少一个消息队列;
[0209]
所述对象存储模块64313,用于从被订阅的至少一个消息队列中按照订阅优先级的降序读取数据,将读取的数据封装为数据对象,以使所述数据对象中包括的数据对应所述交通感知设备的相同的感知目标,并存储所述数据对象;
[0210]
上述方案中,所述智能车联网643还包括数据开放模块6432;所述数据开放模块6432,用于接收所述车联网终端的数据请求,在存储的多个所述数据对象中查询适配的多个数据对象,并根据所述订阅优先级向所述车联网终端发送查询到的多个数据对象。
[0211]
上述方案中,所述数据服务引擎6431被部署在边缘云网络中;所述对象存储模块64313,还用于调用所述边缘云针对读取的每条数据执行以下数据处理操作至少之一:视频感知处理;交通事件检测处理;交通状况分析处理;风险评估处理。
[0212]
上述方案中,所述数据开放模块6432被部署在边缘云网络中,所述数据对象被存储在中心云网络中;所述数据开放模块6432,还用于接收所述车联网终端的数据请求,在所述中心云网络中存储的多个所述数据对象中查询适配的多个数据对象,并根据所述订阅优先级,由所述边缘云网络以数据组播的方式向所述车联网终端发送查询到的多个数据对象。
[0213]
上述方案中,所述数据服务队列模块64311,还用于获取所述车联网终端的排序指令;从所述排序指令中提取所述车联网终端运行车联网应用依赖的多个所述数据指标;其中,所述数据指标的类型包括:延时、数据精度和数据量;创建与所述多个数据指标一一对应的多个消息队列。
[0214]
上述方案中,所述数据服务队列模块64311,还用于接收所述交通感知设备感知的数据,分别存储到所述多个消息队列中的每个消息队列,并在日志系统中记录存储动作的发生时间;通过所述日志系统中记录的存储动作的发生时间,对所述多个消息队列中存储的数据进行校验通过时,确定存储完成。
[0215]
上述方案中,所述数据服务引擎6431还包括:过滤模块,用于针对从所述交通感知设备接收的数据执行以下过滤操作至少之一:过滤延时超过延时阈值的数据;过滤数据精度不超过数据精度阈值的数据;过滤数据量超过数据量阈值的数据。
[0216]
上述方案中,所述数据服务队列模块64311,还用于针对每个所述消息队列中的多条数据执行以下处理:根据所述消息队列对应的数据指标,确定所述消息队列中存储的每条数据所对应的订阅优先级;根据所述订阅优先级对所述多条数据进行降序排序,并在日志系统中记录排序动作的发生时间;通过所述日志系统中记录的排序动作的发生时间,对所述降序排序的结果进行校验通过时,确定排序完成。
[0217]
上述方案中,所述数据服务队列模块64311,还用于针对每个消息队列执行以下操作:确定所述消息队列中每条数据对应所述消息队列的数据指标的指标值;根据所述每条数据的指标值对所述消息队列中的数据进行降序排序,根据降序排序结果为所述消息队列中的数据分配订阅优先级,以使所述每条数据的订阅优先级与排序位置正相关;其中,所述数据指标的类型包括:延时、数据精度和数据量。
[0218]
上述方案中,所述对象存储模块64313,还用于针对被订阅的每个消息队列执行以下处理:按照订阅优先级的降序从所述消息队列中依次读取多条数据;根据所述交通感知设备的感知目标,对读取的多条数据进行分类,以使归属于相同类别的至少一条数据对应的感知目标相同;将归属于相同类别的至少一条数据封装为对应所述感知目标的数据对象;其中,所述感知目标的类型包括:车辆、道路区域和路侧设备。
[0219]
上述方案中,所述对象存储模块64313,还用于将所述数据对象中封装的每条数据的订阅优先级的加和或平均值,作为所述数据对象的订阅优先级;将所述消息队列对应的数据指标、所述数据对象的订阅优先级封装到所述数据对象中。
[0220]
上述方案中,所述对象存储模块64313,还用于针对读取的每条数据执行以下数据处理操作至少之一:视频感知处理;交通事件检测处理;交通状况分析处理;风险评估处理;
根据所述感知目标,对所述多条数据、以及对应每条数据的数据处理结果进行分类,以使归属于相同类别的至少一条数据和数据处理结果所对应的感知目标相同。
[0221]
上述方案中,所述对象存储模块64313,还用于确定所述归属于相同类别的至少一条数据的标识信息,其中,所述标识信息用于区分不同的数据对象;确定用于描述所述归属于相同类别的至少一条数据的属性信息,并将所述属性信息确定为对应的元数据;将所述归属于相同类别的至少一条数据、所述元数据、以及所述标识信息封装为对应所述感知目标的数据对象。
[0222]
上述方案中,所述数据开放模块6432,还用于接收所述车联网终端的数据请求,其中,所述数据请求中携带目标数据指标;在数据库存储的多个所述数据对象中,查询包括所述目标数据指标的多个数据对象;按照查询到的所述多个数据对象的订阅优先级的降序,向所述车联网终端发送所述多个数据对象。
[0223]
上述方案中,所述数据请求中携带关键字,所述关键字表征所述车联网终端的需要使用的数据具有的属性;所述数据开放模块6432,还用于在数据库存储的多个所述数据对象中,查询包括所述目标数据指标、且与所述关键字匹配的多个数据对象。
[0224]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的智能车联网的数据处理方法。
[0225]
本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的智能车联网的数据处理方法,例如,图5、图6、图7a或图7b示出的智能车联网的数据处理方法。
[0226]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0227]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0228]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0229]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0230]
综上所述,本技术实施例具有以下有益效果:
[0231]
(1)通过对消息队列中的数据赋予订阅优先级的属性,并对数据对象赋予感知目标的属性,从而使得相同的消息队列能够同时适配车联网终端对于数据的多样化的需求,保证了车联网终端的应用及时获得所需的数据以实时响应,并节约了车联网自身的数据运
营的资源。
[0232]
(2)将原始数据和数据处理结果一起封装至相应的数据对象中,使得车联终端接收到适配的数据对象后,能够直接使用其中的数据处理结果,而无需对获取到的原始数据进行处理,从而能够节约车联网终端的数据处理资源,并且由于服务器的数据处理速度比车联网终端快,因此还能够提高数据处理的速度。
[0233]
(3)由于数据对象中所封装的数据可能不止一条,因此根据数据对象中封装的每条数据的订阅优先级确定数据对象的订阅优先级,能够后续向车联网终端优先发送符合其自身需求的数据,从而实现适配车联网应用的多样化的数据需求;并且由于是直接向车联网发送的是封装后的数据对象,而并非相关技术中固定格式(例如v2x协议的格式)的车联网数据,不仅能够实现第三方应用之间的数据共享,还能够提高车联网数据的传输速度和传输精度,从而保证车联网终端的有序运行。
[0234]
(4)能够根据车联网终端的车联网应用依赖的数据指标,向车联网终端优先发送符合其自身需求的数据对象(例如运行车联网应用依赖的车联网数据),具体的,由于现如今车联网应用的多样性,每个车联网应用所需要的车联网数据的类型可能不一样,例如,地图客户端需要的是gps数据,导航客户端需要的是道路的车流量数据,相较于相关技术中将统一组织的车联网数据发送至车联网终端来说,本技术实施例能够使得发送的数据更有针对性,能够发送适配不同的车联网应用的数据,从而提高车联网应用基于获取的数据对象实现数据处理的效率,进而实现适配车联网应用的多样化的数据需求
[0235]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献