车辆的数据采集方法、装置、车辆及存储介质制造方法及图纸

技术编号:38392950 阅读:7 留言:0更新日期:2023-08-05 17:45
本申请涉及车辆数据采集技术领域,特别涉及一种车辆的数据采集方法、装置、车辆及存储介质,其中,方法包括:利用预设协议定义车辆中各数据产生对象的接口库文件;利用接口库文件实现各数据产生对象之间的数据传递,聚集同一采集时刻各数据产生对象的数据得到数据包;采用数据发布与订阅的方式和/或共享内存的方式缓存数据包至缓存内存,且将满足预设触发条件的预设时长的数据包写入车辆的磁盘。由此,解决了相关技术中多类型数据采集导致了数据冗余、数据开发代码的冗余和难以维护、算力资源占用过多、数据传输流量增大、数据存储空间增加、数据管理成本较高等问题。数据管理成本较高等问题。数据管理成本较高等问题。

【技术实现步骤摘要】
车辆的数据采集方法、装置、车辆及存储介质


[0001]本申请涉及车辆数据采集
,特别涉及一种车辆的数据采集方法、装置、车辆及存储介质。

技术介绍

[0002]随着汽车智能化和网联化的快速发展,数据源头从车身、动力和底盘等常规CAN(Controller Area Network,控制器局域网络)数据向自动驾驶、智能座舱等摄像头图片视频、雷达点云、各种算法和车辆环境等多类型数据扩展;数据类型也从结构化数据向非结构化数据变化,为提升用户的驾乘体验和满足法规要求,高效利用数据并降低端云资源是各车企不断探寻提升的方向。
[0003]相关技术中,多类型数据采集问题通常将各种数据类型分别接收、缓存和落盘罗盘处理或是选择性的集中在一起,再上传至云端,但是会造成车端代码开发的冗余,难以维护,首先,车端对摄像头码流进行解码再生产图片或视频的方式,占用了太多CPU(Central Processing Unit,中央处理器)资源,造成资源的浪费;然后,车端多个摄像头生成多个视频文件导致文件较解码前视频流大小增加,继而降低了控制器文件的写入寿命、增加了端云传输流量和云上存储空间;最后,由于数据类型的多样,云端进行数据回放时,需要处理时间同步问题,增加了云上数据管理的使用成本。

技术实现思路

[0004]本申请提供一种车辆的数据采集方法、装置、车辆及存储介质,以解决相关技术中多类型数据采集导致了数据冗余、数据开发代码的冗余和难以维护、算力资源占用过多、数据传输流量增大、数据存储空间增加、数据管理成本较高等问题。
[0005]本申请第一方面实施例提供一种车辆的数据采集方法,包括以下步骤:利用预设协议定义车辆中各数据产生对象的接口库文件;利用所述接口库文件实现所述各数据产生对象之间的数据传递,聚集同一采集时刻所述各数据产生对象的数据得到数据包;采用数据发布与订阅的方式和/或共享内存的方式缓存所述数据包至缓存内存,且将满足预设触发条件的预设时长的数据包写入所述车辆的磁盘。
[0006]根据上述技术手段,本申请实施例中基于预设协议定义车辆中各数据产生对象的接口库文件,能够保证各个模块之间的数据交换清晰,利用接口库文件实现数据之间的数据传递,聚集同一采集时刻各数据产生对象的数据,采用数据发布与订阅的方式和/或共享内存的方式缓存数据包至缓存内存,能够针对不同数据量大小的数据包进行缓存,并根据实际情况将满足触发条件的前后所需时间段的数据包写入车辆的磁盘,节省算力资源,降低数据管理的成本,利用预设协议完成数据的定义能够实现各模块的相互调用和信息的传递、数据发布和接收能够针对不同大小数据量信息采用不同方式缓存,各模块能够有效降低数据的冗余、数据开发代码的冗余和难以维护、节省存储空间和算力资源以及降低数据管理的成本。
[0007]可选地,所述采用数据发布与订阅的方式和/或共享内存的方式缓存所述数据包至缓存内存,包括:识别所述数据包的数据量;若所述数据量小于或等于预设阈值,则通过发布订阅消息队列缓存所述数据包至所述缓存内存,并将所述数据包以时间为索引连续写入缓存内存的预设定长队列;若所述数据量大于所述预设阈值,则通过所述发布订阅消息队列缓存所述数据包的关联信息至所述缓存内存,根据所述关联信息将共享内存中对应数据包缓存至所述缓存内存,并将所述数据包以时间为索引连续写入缓存内存的预设定长队列。
[0008]根据上述技术手段,本申请实施例当数据包的数据量小于或等于预设阈值,则通过发布订阅消息缓存数据包,当数据包的数据量大于预设阈值,则通过发布订阅消息队列中缓存数据包的关联信息获取共享内存的数据包存入缓存内存,根据数据包的数据量大小选取合适的方式缓存数据包至缓存内存,且数据包以时间为索引一帧一帧的连续写入缓存内存,能够极大程度上节省算力资源,降低数据管理的成本。
[0009]可选地,所述关联信息包括数据产生对象的标识、打码类型、宽高属性、时间戳、共享内存起始地址和实际数据长度中的一种或多种。
[0010]根据上述技术手段,本申请实施例的关联信息包括数据产生对象的标识、打码类型、宽高属性、时间戳、共享内存起始地址和实际数据长度中的一种或多种,以便后续根据关联信息将共享内存中对应数据包缓存至缓存内存。
[0011]可选地,所述预设时长包括当前时刻之前的第一时长和当前时刻之后的第二时长,其中,所述第一时长小于所述预设定长队列的长度,所述预设定长队列采用循环覆盖的方式缓存数据。
[0012]根据上述技术手段,本申请实施例在满足触发条件时,从缓存中取出触发时刻前后所需时间段的数据写入磁盘,并采用循环覆盖的方式缓存数据,从而避免数据包重复订阅,避免过多占用存储空间导致资源浪费。
[0013]可选地,在将满足预设触发条件的预设时长的数据包写入所述车辆的磁盘之后,还包括:通过所述车辆对所述磁盘进行本体数据解析;和/或,上传所述磁盘存储的数据至云端,利用所述云端对上传的数据进行数据解析,以进行数据回放或场景重构。
[0014]根据上述技术手段,本申请实施例通过车端对磁盘进行本体数据解析以及利用云端对上传的数据进行解析,以进行数据回放或场景重构,能够快速进行问题定位。
[0015]可选地,所述利用预设协议定义车辆中各数据产生对象的接口库文件,包括:利用预设协议定义车辆中各数据产生对象的中间变量接口;基于所述中间变量接口形成接口文件,并将所述接口文件编译成所述接口库文件。
[0016]根据上述技术手段,本申请实施例利用预设协议定义车辆中各数据产生对象的中间变量接口,形成接口文件,并将编译成接口库文件,以便各个模块的数据相互调用,实现车端各软件模块之间的信息传递。
[0017]可选地,所述预设协议为protobuf协议。
[0018]本申请第二方面实施例提供一种车辆的数据采集装置,包括:定义模块,用于利用预设协议定义车辆中各数据产生对象的接口库文件;聚集模块,用于利用所述接口库文件实现所述各数据产生对象之间的数据传递,聚集同一采集时刻所述各数据产生对象的数据得到数据包;缓存模块,用于采用数据发布与订阅的方式和/或共享内存的方式缓存所述数
据包至缓存内存,并在满足预设触发条件或采集周期时,且将满足预设触发条件的预设时长的数据包写入所述车辆的磁盘。
[0019]可选地,所述缓存模块进一步用于:识别所述数据包的数据量;若所述数据量小于或等于预设阈值,则通过发布订阅消息队列缓存所述数据包至所述缓存内存,并将所述数据包以时间为索引连续写入缓存内存的预设定长队列;若所述数据量大于所述预设阈值,则通过所述发布订阅消息队列缓存所述数据包的关联信息至所述缓存内存,根据所述关联信息将共享内存中对应数据包缓存至所述缓存内存,并将所述数据包以时间为索引连续写入缓存内存的预设定长队列。
[0020]可选地,所述关联信息包括数据产生对象的标识、打码类型、宽高属性、时间戳、共享内存起始地址和实际数据长度中的一种或多种。
[0021]可选地,所述预设时长包括当前时刻之前的第一时长和当前本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种车辆的数据采集方法,其特征在于,包括以下步骤:利用预设协议定义车辆中各数据产生对象的接口库文件;利用所述接口库文件实现所述各数据产生对象之间的数据传递,聚集同一采集时刻所述各数据产生对象的数据得到数据包;采用数据发布与订阅的方式和/或共享内存的方式缓存所述数据包至缓存内存,且将满足预设触发条件的预设时长的数据包写入所述车辆的磁盘。2.根据权利要求1所述的车辆的数据采集方法,其特征在于,所述采用数据发布与订阅的方式和/或共享内存的方式缓存所述数据包至缓存内存,包括:识别所述数据包的数据量;若所述数据量小于或等于预设阈值,则通过发布订阅消息队列缓存所述数据包至所述缓存内存,并将所述数据包以时间为索引连续写入缓存内存的预设定长队列;若所述数据量大于所述预设阈值,则通过所述发布订阅消息队列缓存所述数据包的关联信息至所述缓存内存,根据所述关联信息将共享内存中对应数据包缓存至所述缓存内存,并将所述数据包以时间为索引连续写入缓存内存的预设定长队列。3.根据权利要求2所述的车辆的数据采集方法,其特征在于,所述关联信息包括数据产生对象的标识、打码类型、宽高属性、时间戳、共享内存起始地址和实际数据长度中的一种或多种。4.根据权利要求2所述的车辆的数据采集方法,其特征在于,所述预设时长包括当前时刻之前的第一时长和当前时刻之后的第二时长,其中,所述第一时长小于所述预设定长队列的长度,所述预设定长队列采用循环覆盖的方式缓存数据。5.根据权利要求1所述的车辆的数据采集方法,其特征在于,在将满足预设触发条件的预设时长的数据包写入所述车辆的磁盘之后,...

【专利技术属性】
技术研发人员:刘义顺
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1