CN115203078A - 基于soa架构的车辆数据采集系统、方法、设备及介质 - Google Patents

基于soa架构的车辆数据采集系统、方法、设备及介质 Download PDF

Info

Publication number
CN115203078A
CN115203078A CN202210912533.1A CN202210912533A CN115203078A CN 115203078 A CN115203078 A CN 115203078A CN 202210912533 A CN202210912533 A CN 202210912533A CN 115203078 A CN115203078 A CN 115203078A
Authority
CN
China
Prior art keywords
data
event
vehicle
caching
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210912533.1A
Other languages
English (en)
Inventor
谢磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Changan Automobile Co Ltd
Original Assignee
Chongqing Changan Automobile Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing Changan Automobile Co Ltd filed Critical Chongqing Changan Automobile Co Ltd
Priority to CN202210912533.1A priority Critical patent/CN115203078A/zh
Publication of CN115203078A publication Critical patent/CN115203078A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1012Design facilitation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • G06F2212/173Vehicle or other transportation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Traffic Control Systems (AREA)

Abstract

本申请提供一种基于SOA架构的车辆数据采集系统、方法、设备及介质,该系统包括:数据抽象模块,用于获取车辆的感知数据,对感知数据进行分类;数据缓存模块,基于预设的订阅服务确定订阅主题,根据订阅主题对车辆的图像数据、雷达点云数据与整车信号数据进行匹配,并将匹配结果缓存到缓存队列;事件触发模块,利用预设的事件判断逻辑对事件的触发条件进行判断,若事件满足触发条件,将事件关联的事件信息进行发布;数据处理模块,用于根据事件信息的事件类型确定事件采集时间与采集内容,按照采集时间与采集内容对缓存队列的数据进行采集,本申请根据事件的类型准确采集车辆当前的数据,完整反映事件关联的数据信息。

Description

基于SOA架构的车辆数据采集系统、方法、设备及介质
技术领域
本申请涉及汽车技术领域,特别涉及一种基于SOA(Service-OrientedArchitecture,面向服务架构)架构的车辆数据采集系统、方法、设备及介质。
背景技术
随着智能网联汽车的发展,自动驾驶技术正在高速发展。自动驾驶技术的一个核心技术就是算法,但目前算法仍高度自动驾驶的要求还存在一定距离,因此各企业迫切需要采集大量的相关图像、点云、信号等数据,用于训练相关的人工智能算法以提升算法的准确度。
现有的技术主要分为路试车辆数据采集和以特斯拉为首的影子模式数据采集;其中,通过大量的路试进行数据采集的方案需要投入大量的人员和车辆,并且需要累计相当长的驾驶时间,才能采集到算法需要的数据,并且存在数据覆盖面不全等问题。利用影子模式主要针对市场上的商品车进行数据采集,其特点是数据种类多,自动驾驶场景丰富。然而,上述车辆数据采集方式无法准确完整对车辆发生的事件数据进行采集,导致数据采集效果不佳的问题。
申请内容
鉴于以上所述现有技术的缺点,本申请提供一种基于SOA架构的车辆数据采集系统、方法、设备及介质,以解决现有车辆数据采集系统无法根据事件触发准确完整采集数据的问题。
在第一方面,本申请提供的一种基于SOA架构的车辆数据采集系统,包括:
数据抽象模块,用于获取车辆的感知数据,对所述感知数据进行分类,得到所述车辆的图像数据、雷达点云数据与整车信号数据;
数据缓存模块,基于预设的订阅服务确定订阅主题,根据所述订阅主题对所述车辆的图像数据、雷达点云数据与整车信号数据进行匹配,并将匹配结果缓存到缓存队列;
事件触发模块,利用预设的事件判断逻辑对事件的触发条件进行判断,若所述事件满足触发条件,将所述事件关联的事件信息进行发布;
数据处理模块,用于根据所述事件信息的事件类型确定所述事件采集时间与采集内容,按照所述采集时间与采集内容对所述缓存队列的数据进行采集。
于本申请的一实施例中,还包括:数据存储模块,用于对采集的数据按照预设的存储协议进行持久化处理,其中,所述数据由数据头与数据体构成,所述数据头包括协议版本、数据类型与时间戳,所述数据体包括序列化数据。
于本申请的一实施例中,所述事件信息包括协议版本、时间戳、事件触发应用ID、事件类型、事件描述、事件级别与地理位置信息中至少之一。
于本申请的一实施例中,所述事件触发模块,还用于接收到来自外部确定的事件时,根据所述事件信息对所述事件进行预处理,确定每个所述事件仅发布一次。
于本申请的一实施例中,所述数据缓存模块进一步包括:
缓存划分单元,用于将缓存的内存进行划分,得到缓存数据的第一缓存空间、第二缓存空间与第三缓存空间;
缓存单元,用于根据所述订阅主题将所述车辆的图像数据、雷达点云数据与整车信号数据按数据类型对应缓存到所述第一缓存空间、第二缓存空间与第三缓存空间各自的缓存队列内;
其中,基于先进先出原则在所述缓存队列内进行缓存,所述缓存队列缓存当前所述事件发生事件前后预设时间段内的数据;若监测到当前所述缓存队列的容量达到上限时,根据所述事件的优先级将未处理的数据进行丢弃处理;或,利用备份缓存进行缓存。
于本申请的一实施例中,所述数据处理模块进一步包括:
初始化单元,用于在初始化时,调用事件通知服务;
数据处理单元,用于对接收的所述事件进行处理;其中,根据所述事件信息的事件类型确定所述事件采集时间与采集内容,按照所述采集时间与采集内容对所述缓存队列的数据进行采集,得到相应的缓存数据。
于本申请的一实施例中,所述数据存储模块进一步包括:
若监测到所述缓存数据的数据量达到预设数据量,不对所述缓存数据进行分割,
将所述缓存数据以单个文件形式进行永久化存储;在永久化存储时,对所述缓存数据进行压缩存储或/和加密存储。
在第二方面,本申请提供的一种基于SOA架构的车辆数据采集方法,包括:
获取车辆的感知数据,对所述感知数据进行分类,得到所述车辆的图像数据、雷达点云数据与整车信号数据;
基于预设的订阅服务确定订阅主题,根据所述订阅主题对所述车辆的图像数据、雷达点云数据与整车信号数据进行匹配,并将匹配结果缓存到缓存队列;
利用预设的事件判断逻辑对事件的触发条件进行判断,若所述事件满足触发条件,将所述事件关联的事件信息进行发布;
根据所述事件信息的事件类型确定所述事件采集时间与采集内容,按照所述采集时间与采集内容对所述缓存队列的数据进行采集。
在第三方面,本申请提供的一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述的基于SOA架构的车辆数据采集方法。
在第四方面,本申请提供的一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述的基于SOA架构的车辆数据采集方法。
本申请的有益效果:本申请基于SOA面向服务架构将车辆数据采集系统的功能组件进行拆分,封装成标准的服务组件,通过调用服务接口来实现不同服务组件的相互交互,实现数据交互,其中,将功能组件拆分、重组、布置到不同的服务层上,从整体上减少了服务组件的数量,也确保了功能完整;一方面,可根据事件的类型准确采集车辆当前的数据,完整反映事件关联的数据信息,另一方面,基于SOA架构面向服务能够根据需求的变化,通过调节配置参数,无需更改整体架构,极大提高了数据更新与维护的便捷性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请的一示例性实施例示出的基于SOA架构的车辆数据采集系统的实施环境示意图;
图2是本申请的一示例性实施例示出的基于SOA架构的车辆数据采集系统的结构框图;
图3是本申请的一示例性实施例示出的基于SOA架构的车辆数据采集系统的原理结构框图;
图4是本申请的一示例性实施例示出的基于SOA架构的车辆数据采集方法流程图;
图5是本申请的一示例性实施例示出的基于SOA架构的车辆数据采集方法的一事件触发流程图;
图6示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下将参照附图和优选实施例来说明本申请的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本申请,而不是为了限制本申请的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本申请实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本申请的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本申请的实施例难以理解。
请参阅图1,为本申请的一示例性实施例示出的基于SOA架构的车辆数据采集系统的实施环境示意图。车辆包括一个或多个数据收集器11、计算机12、和一个或多个控制器13。车辆通常是具有三个或更多轮子的陆基车辆,例如,客车、轻型卡车等。车辆具有前部、后部、左侧和右侧,其中术语前、后、左和右从在标准操作位置中就座在驾驶员的座椅中的车辆的操作员的角度,即面向方向盘被理解。
计算机12通常包括处理器和存储器,该存储器包括一个或多个形式的计算机可读介质,并且存储通过处理器可执行的指令,该指令用于执行各种操作。此外,计算机12可以包括和/或被通信地连接到一个或多个其他计算装置,该一个或多个其他计算装置被包括在车辆中,用于监控和/或控制各种车辆部件。计算机12通常被编程并且设置用于在控制器局域网总线等上通信。
计算机12也可以具有与车载诊断连接器(OBD-II)、CAN(控制器局域网)总线、和/或其他有线或无线机构的连接。通过一个或多个这样的通信机构,计算机12可以将消息传送到车辆中的各种装置和/或接收来自各种装置的消息,各种装置是例如,控制器、致动器、传感器等,包括数据收集器11和控制器13。供选择地或另外,在计算机12实际上包括多个装置的情况下,CAN总线等可以用于在表示为本发明中的计算机12的装置之间的通信。此外,计算机12可以被配置用于通过各种有线和/或无线网络技术,例如,蜂窝、蓝牙、通用串行总线(USB)、有线和/或无线包交换网络等与其他装置进行通信。
计算机12的存储器通常存储收集的数据。收集的数据可以包括通过数据收集器11在车辆中收集的和/或从中得出的各种数据。数据收集器11示例可以包括,例如,关于一个或多个车辆的驾驶行为的数据,例如,随时间而变化的车辆的位置(例如,地理坐标,到车辆的距离等)、随时间而变化的车辆的速度、行驶方向、在不同时间点的方向和速度的变化的数量和幅度等。收集的数据可以进一步包括,例如,信息,比如一个或多个车辆的类型(例如,轻型卡车、客车,小型货车等)、尺寸、品牌、型号等。收集的数据可以额外地包括由从计算机12中的数据收集器11接收的数据计算出的数据。通常,收集的数据可以包括可以通过数据收集器11收集的、通过车辆与车辆间(V2V)或车辆与基础设施间(V2I)通信接收到的、从其它源收集的或接收的任何数据、和/或从这样的数据计算出的任何数据。
通常,每个控制器13可以包括处理器,该处理器被编程为接收来自计算机12的指令、执行该指令、并且将消息发送到计算机12。电子控制单元(ECU)——比如已知的,并且此外具有如本文所述的用于操作的程序设计——是控制器13的示例。此外,每个控制器13可以包括或被通信地连接到设置为使车辆部件,例如,电动尾门、车窗、门锁等。例如,通过控制器控制用于打开电动尾门的电动撑杆,用于关闭电动尾门的吸合锁。
数据收集器11可以包括各种装置,例如,数据收集器11可以包括用于感测环境的部件,例如,追踪车辆的激光雷达、雷达、视频摄像机、超声波传感器、红外传感器。数据收集器11可以进一步包括收集动态车辆的数据,比如速度、横摆率、转向角等部件。此外,上述示例不旨在进行限制。其他类型的数据收集器11,例如加速度计、陀螺仪、压力传感器、温度计、气压计、高度计等可以用来提供数据给计算机12。
以上所指出的问题在通用的出行场景中具有普遍适用性。可以看出,当车身域各系统软件需要重新设计时,重新划分功能部署,或/和,设计各模块之间的接口定义,传统的软件架构由于软件与硬件高度耦合,软件功能不易调整,无法满足功能和接口快速开发迭代的需求。为解决这些问题,本申请的实施例分别提出一种基于SOA架构的车辆数据采集系统、一种基于SOA架构的车辆数据采集方法、一种电子设备、一种计算机可读存储介质以及一种计算机程序产品,以下将对这些实施例进行详细描述。
请参阅图2,为本申请的一示例性实施例示出的基于SOA架构的车辆数据采集系统的流程图。该系统可以应用于图1所示的实施环境,并由该实施环境中的智能终端具体执行。应理解的是,该系统也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该系统所适用的实施环境进行限制。
在一示例性的实施例中,图2是本申请的一示例性实施例示出的基于SOA架构的车辆数据采集系统的结构框图,详述如下:
数据抽象模块201,用于获取车辆的感知数据,对所述感知数据进行分类,得到所述车辆的图像数据、雷达点云数据与整车信号数据;
数据缓存模块202,基于预设的订阅服务确定订阅主题,根据所述订阅主题对所述车辆的图像数据、雷达点云数据与整车信号数据进行匹配,并将匹配结果缓存到缓存队列;
具体地,所述数据缓存模块进一步包括:
缓存划分单元,用于将缓存的内存进行划分,得到缓存数据的第一缓存空间、第二缓存空间与第三缓存空间;
缓存单元,用于根据所述订阅主题将所述车辆的图像数据、雷达点云数据与整车信号数据按数据类型对应缓存到所述第一缓存空间、第二缓存空间与第三缓存空间各自的缓存队列内;
其中,基于先进先出原则在所述缓存队列内进行缓存,所述缓存队列缓存当前所述事件发生事件前后预设时间段内的数据;若监测到当前所述缓存队列的容量达到上限时,根据所述事件的优先级将未处理的数据进行丢弃处理;或,利用备份缓存进行缓存。
事件触发模块203,利用预设的事件判断逻辑对事件的触发条件进行判断,若所述事件满足触发条件,将所述事件关联的事件信息进行发布;
其中,所述事件信息包括协议版本、时间戳、事件触发应用ID、事件类型、事件描述、事件级别与地理位置信息中至少之一。
其中,还需要说明的是,所述事件触发模块,还用于接收到来自外部确定的事件时,根据所述事件信息对所述事件进行预处理,确定每个所述事件仅发布一次。
即,本申请可以是系统内部对于数据进行触发,也可以是对系统外部的事件进行触发判断。
数据处理模块204,用于根据所述事件信息的事件类型确定所述事件采集时间与采集内容,按照所述采集时间与采集内容对所述缓存队列的数据进行采集。
其中,所述数据处理模块进一步包括:
初始化单元,用于在初始化时,调用事件通知服务;
数据处理单元,用于对接收的所述事件进行处理;其中,根据所述事件信息的事件类型确定所述事件采集时间与采集内容,按照所述采集时间与采集内容对所述缓存队列的数据进行采集,得到相应的缓存数据。
通过上述方式,将功能组件拆分、重组、布置到不同的服务层上,从整体上减少了服务组件的数量,也确保了功能完整;一方面,可根据事件的类型准确采集车辆当前的数据,完整反映事件关联的数据信息,另一方面,基于SOA架构面向服务能够根据需求的变化,通过调节配置参数,无需更改整体架构,极大提高了数据更新与维护的便捷性。
在上述实施例的基础上,还包括:数据存储模块205,用于对采集的数据按照预设的存储协议进行持久化处理,其中,所述数据由数据头与数据体构成,所述数据头包括协议版本、数据类型与时间戳,所述数据体包括序列化数据。
具体地,若监测到所述缓存数据的数据量达到预设数据量,不对所述缓存数据进行分割,
将所述缓存数据以单个文件形式进行永久化存储;在永久化存储时,对所述缓存数据进行压缩存储或/和加密存储。
通过上述方式,不仅能够最大特色化确保事件数据的完整性,同时,在数据永久化转化存储时,通过压缩存储可以提高数据存储量,通过加密存储可以提升数据的存储安全性。
例如,详见图3,在SOA架构下,数据发布、数据订阅、事件通知等均以服务的形式存在。基于SOA架构的车辆数据采集系统,包括数据抽象模块、数据缓存模块、数据存储模块、事件触发模块、事件处理模块。
数据抽象模块,负责对传感器数据进行数据抽象,并通过数据发布服务,将传感器数据发布到数据总线上。数据总线的选型常见的有ZeroMQ(消息)0,更前沿的也可以选择DDS(Document Database Service)产品,例如,华为云数据库中的DDS产品。
数据缓存模块,负责从数据总线上通过数据订阅服务订阅数据,并对订阅到的数据进行缓存,考虑到缓存队列的容量上限问题,数据缓存模块采用FIFO(First InputFirst Output)队列,当容量达到上限后,对未处理的更老的数据进行丢弃处理。
数据存储模块,负责对满足条件的数据进行持久化处理。由于数据总线上的数据通常是序列化后的数据(常见的序列化工具有Google ProtocolBuffer等),数据存储模块在收到数据后,需要将数据按照企业特有的存储协议对数据进行持久化存储。本发明给出一个参考的数据结构。数据头Header包含:协议版本、数据类型、时间戳,数据体Body包含:序列化后的数据。为了避免单个文件过大,数据存储模块还支持设定单个文件大小(例如100MB)。为了提高存储效率和数据安全的需要,数据存储模块还支持对数据进行压缩存储和数据加密存储。
事件触发模块,负责对事件进行判定,当事件触发后,通过事件通知服务将事件信息发布到数据总线上。事件信息包含如下信息:协议版本、时间戳、事件触发应用ID、事件类型、事件描述、事件级别、地理位置信息(可选)。事件触发模块分为两类,一类是各应用内部触发,一类是系统事件触发。对于各应用内部触发,需要各个应用(例如自动驾驶的感知、融合、决策、规划、控制等)自行实现相应的事件判断逻辑,并满足事件触发条件时,将事件信息封装成事件信息的结构体,调用事件信息发布服务。对于系统事件触发,主要负责处理涉及多个应用的事件判断逻辑,例如自动驾驶功能异常退出。
事件处理模块,在初始化的时候调用事件通知服务,并传入事件处理的回调函数。回调函数的核心功能包括:根据事件触发模块和事件类型,基于配置或规则,获取到该事件需要采集的数据内容和采集时间范围。根据数据内容,从不同的缓存中取数据。根据事件范围的不同,从缓存中取出前m秒,以及后n秒,再调用数据存储模块的数据存储功能,将数据存入本地的存储设备。
在另一些实施例中,通过以下方式可更全面、更准确的获取车辆数据,详述如下:
第一步,数据抽象模块通过ISP(Image Signal Processing图像信号处理)获取到摄像头的图像数据,在通过数据总线提供的数据发布接口,将数据发布到数据总线。对于雷达点云数据,数据抽象模块获取到雷达点云数据后,通过数据发布接口,将数据发布到数据总线。对于整车信号类数据,数据抽象模块通过CAN协议读取到边缘控制器上的CAN报文,并转换为结构体类信号,发布到数据总线上。至此,数据总线上就有数据采集需要的全量数据了。
第二步,由于事件触发通常需要采集事件发生时刻的前一段时间内的数据,因此数据缓存模块需要对数据进行订阅并缓存,综合考虑到内存限制和实际的使用需求,通常缓存10秒到30秒的数据。在内存中开辟3个缓存空间,分别用于缓存图像数据、雷达点云数据、整车信号数据。数据订阅不同主题的数据,再分别缓存到相应的缓存队列中,队列的设计采用FIFO(First In First Out的,先进先出)模式。
第三步,如图5所示,事件触发模块在车辆上电后即启动,依次执行事件相关信号的订阅、事件判断逻辑,当事件发生后,将事件信息进行发布。然后通过轮训的方式,循环对事件进行判断。
第四步,事件处理模块,在启动后,即调用事件订阅服务,同时传入一个事件处理的回调函数。当回调函数被触发时,即事件产生时,回调函数的响应参数为:事件信息结构体。根据事件信息里的事件触发模块、事件类型两个字段,通过查表或查配置的方式,找到对应的事件编号和事件采集规则。事件采集规则包含两部分内容:采集数据类型(图像、点云、信号)、采集数据类型和采集时间范围。根据采集数据类型,确定从哪个缓存队列中取数据,根据数据类型,筛选出需要的数据,再根据采集时间范围,结合数据的周期,可以确定从缓存中取出近多少条数据,同时再持续读取后N秒数据。对这些数据,调用数据存储模块的数据存储功能,将数据写入本地存储。
在一示例性的实施例中,请参阅图4,是本申请的一示例性实施例示出的基于SOA架构的车辆数据采集方法另一流程图;
步骤S410,获取车辆的感知数据,对所述感知数据进行分类,得到所述车辆的图像数据、雷达点云数据与整车信号数据;
步骤S420,基于预设的订阅服务确定订阅主题,根据所述订阅主题对所述车辆的图像数据、雷达点云数据与整车信号数据进行匹配,并将匹配结果缓存到缓存队列;
步骤S430,利用预设的事件判断逻辑对事件的触发条件进行判断,若所述事件满足触发条件,将所述事件关联的事件信息进行发布;
步骤S440,根据所述事件信息的事件类型确定所述事件采集时间与采集内容,按照所述采集时间与采集内容对所述缓存队列的数据进行采集。
在上述的实施例基础上,还包括:步骤S450,对采集的数据按照预设的存储协议进行持久化处理,其中,所述数据由数据头与数据体构成,所述数据头包括协议版本、数据类型与时间戳,所述数据体包括序列化数据。
具体地,详见图5,为本申请的一示例性实施例示出的基于SOA架构的车辆数据采集方法的一事件触发流程图,详述如下:
待车辆上电后,即,车辆启动;根据事件订阅主题的类型进行匹配,依据每个订阅主题所关联的事件判断逻辑对事件的触发条件进行判断,若满足事件判断逻辑,则确定该事件触发成功,将相应的事件信息进行发布。例如,在对事件的触发条件进行判断,可通过轮巡方式进行循环判断,进而,不会发生事件遗留,确保每个事件都能够准确触发。
通过上述方式,本申请基于SOA面向服务架构将车辆数据采集系统的功能组件进行拆分,封装成标准的服务组件,通过调用服务接口来实现不同服务组件的相互交互,实现数据交互,其中,将功能组件拆分、重组、布置到不同的服务层上,从整体上减少了服务组件的数量,也确保了功能完整;一方面,可根据事件的类型准确采集车辆当前的数据,完整反映事件关联的数据信息,另一方面,基于SOA架构面向服务能够根据需求的变化,通过调节配置参数,无需更改整体架构,极大提高了数据更新与维护的便捷性。
需要说明的是,上述实施例所提供的基于SOA架构的车辆数据采集方法与上述实施例所提供的基于SOA架构的车辆数据采集系统属于同一构思,其中,各个模块和单元执行操作的具体方式已经在系统实施例中进行了详细描述,此处不再赘述。上述实施例所提供的路况刷新装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的基于SOA架构的车辆数据采集方法。
图6示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图6示出的电子设备的计算机系统600仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(Central Processing Unit,CPU)601,其可以根据存储在只读存储器(Read-Only Memory,ROM)602中的程序或者从储存部分608加载到随机访问存储器(Random Access Memory,RAM)603中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM603中,还存储有系统操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(Input/Output,I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liqu标识符Crystal Display,LCD)等以及扬声器等的输出部分607;包括硬盘等的储存部分608;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入储存部分608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
上述实施例仅示例性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

Claims (10)

1.一种基于SOA架构的车辆数据采集系统,其特征在于,基于SOA架构将车辆数据采集系统封装成标准的服务组件,包括:
数据抽象模块,用于获取车辆的感知数据,对所述感知数据进行分类,得到所述车辆的图像数据、雷达点云数据与整车信号数据;
数据缓存模块,基于预设的订阅服务确定订阅主题,根据所述订阅主题对所述车辆的图像数据、雷达点云数据与整车信号数据进行匹配,并将匹配结果缓存到缓存队列;
事件触发模块,利用预设的事件判断逻辑对事件的触发条件进行判断,若所述事件满足触发条件,将所述事件关联的事件信息进行发布;
数据处理模块,用于根据所述事件信息的事件类型确定所述事件采集时间与采集内容,按照所述采集时间与采集内容对所述缓存队列的数据进行采集。
2.根据权利要求1所述的基于SOA架构的车辆数据采集系统,其特征在于,还包括:数据存储模块,用于对采集的数据按照预设的存储协议进行持久化处理,其中,所述数据由数据头与数据体构成,所述数据头包括协议版本、数据类型与时间戳,所述数据体包括序列化数据。
3.根据权利要求2所述的基于SOA架构的车辆数据采集系统,其特征在于,所述事件信息包括协议版本、时间戳、事件触发应用ID、事件类型、事件描述、事件级别与地理位置信息中至少之一。
4.根据权利要求1至3任一所述的基于SOA架构的车辆数据采集系统,其特征在于,所述事件触发模块,还用于接收到来自外部确定的事件时,根据所述事件信息对所述事件进行预处理,确定每个所述事件仅发布一次。
5.根据权利要求2或3所述的基于SOA架构的车辆数据采集系统,其特征在于,所述数据缓存模块进一步包括:
缓存划分单元,用于将缓存的内存进行划分,得到缓存数据的第一缓存空间、第二缓存空间与第三缓存空间;
缓存单元,用于根据所述订阅主题将所述车辆的图像数据、雷达点云数据与整车信号数据按数据类型对应缓存到所述第一缓存空间、第二缓存空间与第三缓存空间各自的缓存队列内;
其中,基于先进先出原则在所述缓存队列内进行缓存,所述缓存队列缓存当前所述事件发生事件前后预设时间段内的数据;若监测到当前所述缓存队列的容量达到上限时,根据所述事件的优先级将未处理的数据进行丢弃处理;或,利用备份缓存进行缓存。
6.根据权利要求1至3任一所述的基于SOA架构的车辆数据采集系统,其特征在于,所述数据处理模块进一步包括:
初始化单元,用于在初始化时,调用事件通知服务;
数据处理单元,用于对接收的所述事件进行处理;其中,根据所述事件信息的事件类型确定所述事件采集时间与采集内容,按照所述采集时间与采集内容对所述缓存队列的数据进行采集,得到相应的缓存数据。
7.根据权利要求2所述的基于SOA架构的车辆数据采集系统,其特征在于,所述数据存储模块进一步包括:
若监测到所述缓存数据的数据量达到预设数据量,不对所述缓存数据进行分割,将所述缓存数据以单个文件形式进行永久化存储;在永久化存储时,对所述缓存数据进行压缩存储或/和加密存储。
8.一种基于SOA架构的车辆数据采集方法,其特征在于,所述车辆数据采集方包括:
获取车辆的感知数据,对所述感知数据进行分类,得到所述车辆的图像数据、雷达点云数据与整车信号数据;
基于预设的订阅服务确定订阅主题,根据所述订阅主题对所述车辆的图像数据、雷达点云数据与整车信号数据进行匹配,并将匹配结果缓存到缓存队列;
利用预设的事件判断逻辑对事件的触发条件进行判断,若所述事件满足触发条件,将所述事件关联的事件信息进行发布;
根据所述事件信息的事件类型确定所述事件采集时间与采集内容,按照所述采集时间与采集内容对所述缓存队列的数据进行采集。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现权利要8所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要8所述的方法。
CN202210912533.1A 2022-07-30 2022-07-30 基于soa架构的车辆数据采集系统、方法、设备及介质 Pending CN115203078A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210912533.1A CN115203078A (zh) 2022-07-30 2022-07-30 基于soa架构的车辆数据采集系统、方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210912533.1A CN115203078A (zh) 2022-07-30 2022-07-30 基于soa架构的车辆数据采集系统、方法、设备及介质

Publications (1)

Publication Number Publication Date
CN115203078A true CN115203078A (zh) 2022-10-18

Family

ID=83585296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210912533.1A Pending CN115203078A (zh) 2022-07-30 2022-07-30 基于soa架构的车辆数据采集系统、方法、设备及介质

Country Status (1)

Country Link
CN (1) CN115203078A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116382597A (zh) * 2023-06-05 2023-07-04 禾多科技(北京)有限公司 车辆运行数据存储方法、设备和计算机介质
CN116471298A (zh) * 2023-03-07 2023-07-21 广州汽车集团股份有限公司 数据采集方法、基于分布式架构的数据采集系统及车辆

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116471298A (zh) * 2023-03-07 2023-07-21 广州汽车集团股份有限公司 数据采集方法、基于分布式架构的数据采集系统及车辆
CN116382597A (zh) * 2023-06-05 2023-07-04 禾多科技(北京)有限公司 车辆运行数据存储方法、设备和计算机介质
CN116382597B (zh) * 2023-06-05 2023-09-12 禾多科技(北京)有限公司 车辆运行数据存储方法、设备和计算机介质

Similar Documents

Publication Publication Date Title
CN109532847B (zh) 用于控制无人驾驶车辆的方法和装置、服务器、介质
CN115203078A (zh) 基于soa架构的车辆数据采集系统、方法、设备及介质
US11689623B2 (en) Adaptive real-time streaming for autonomous vehicles
US10101244B2 (en) Self-learning simulation environments
US20200216080A1 (en) Detecting and diagnosing anomalous driving behavior using driving behavior models
US20200216027A1 (en) Detecting vehicle intrusion using command pattern models
US20140288766A1 (en) Real-Time Monitoring of Vehicle
CN109270565A (zh) 一种车载gps大数据的处理装置
US11423708B2 (en) Synchronizing sensing systems
CN113848855A (zh) 车辆控制系统测试方法、装置、设备、介质及程序产品
US20210012591A1 (en) Data storage device and non-transitory tangible computer readable storage medium
EP4020356A1 (en) Distributed in-vehicle realtime sensor data processing as a service
CN112693407A (zh) 车辆安全性增强
WO2022245916A1 (en) Device health code broadcasting on mixed vehicle communication networks
CN112712608B (zh) 用于通过车辆收集性能数据的系统和方法
CN109308802A (zh) 异常车辆管理方法及装置
CN113037750A (zh) 一种车辆检测数据增强训练方法、系统、车辆及存储介质
CN217435657U (zh) 自动驾驶车辆的电气系统和自动驾驶车辆
CN115145246B (zh) 控制器的测试方法、装置、车辆、存储介质及芯片
CN108454514A (zh) 一种基于移动互联网的行车安全预警系统
WO2022245915A1 (en) Device-level fault detection
DE112021005570T5 (de) Mechanismen zur protokollierung von sicherheits- und kritischen informationen für fahrzeuge
CN114491502A (zh) 通过车辆总线认证进行的诊断请求
CN113574529A (zh) 一种屏蔽方法以及装置
CN115204026A (zh) 车辆数据模型的训练方法、装置、车辆、介质和程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination