System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及自动驾驶,尤其涉及一种用于自动驾驶的数据写入方法、数据读取方法及装置、存储介质、终端。
技术介绍
1、在自动驾驶系统中,数据录制(具体可以指将数据写入文件)是一项关键的任务,可以用于收集自动驾驶车辆运行过程中传感器对周围环境的感知数据、车辆状态数据、车身控制相关数据以及路径规划等数据,以便于后续的问题分析、算法开发和调试。具体地,自动驾驶过程中需录制的数据可以包括:各类传感器采集的数据,例如摄像头采集的图像和视频数据、激光雷达采集的激光点云数据等;车辆控制方面的数据,例如油门值、刹车值、方向盘值等;路径规划模块规划的自动驾驶路径数据等;此外还有车辆本身的位置、姿态数据等。
2、现有的数据录制方案,通常将来源于不同传感器、不同车机控制单元的数据均写入到同一个目标文件中,因此该目标文件中可能包含点云数据、图像数据、文本数据等各种类型的数据。这种方案一方面不利于录制数据的接收方对纷繁复杂、类型多样的数据进行高效、有序地管理,另一方面,对于数据读取方(例如,需要某种特定类型的传感器数据的功能节点或算法模块)而言,不利于其对所需数据进行精准、高效地读取、过滤(或截取)。此外,大部分情况下各算法模块只需选择感兴趣的数据内容,但如果所有数据均在一个文件中,则不得不打开整个文件,这将造成内存的过多占用,尤其对于自动驾驶这种涉及的数据来源、数据类型非常多样的应用场景而言,前述现有方案将导致数据读写的效率低下、出错概率的增加以及资源开销的增大。
技术实现思路
1、本专利技术实
2、为解决上述技术问题,本专利技术实施例提供一种用于自动驾驶的数据写入方法,包括以下步骤:在接收到订阅数据后,确定该条订阅数据包含的主题标识以及数据类型标识,作为目标主题标识和目标数据类型标识;从预先创建的至少一个主题文件中,选择所述目标主题标识以及目标数据类型标识对应的主题文件,作为该条订阅数据待写入的主题文件;基于接收到的各条订阅数据及其各自待写入的主题文件,执行数据写入操作;其中,每个预先创建的主题文件具有一一对应的主题标识以及数据类型标识的组合。
3、可选的,所述基于接收到的各条订阅数据及其各自待写入的主题文件,执行数据写入操作,包括:将接收到的每条订阅数据写入目标缓存空间,其中,每条订阅数据写入的目标缓存空间与该条订阅数据待写入的主题文件一一对应;对于每个主题文件,每当该主题文件对应的目标缓存空间内的订阅数据量大于等于第一阈值时,基于该主题文件对应的目标缓存空间内的全部订阅数据确定单组订阅数据,将该组订阅数据写入该主题文件,并清空该目标缓存空间。
4、可选的,所述基于该主题文件对应的目标缓存空间内的全部订阅数据确定单组订阅数据,包括:对该主题文件对应的目标缓存空间内的全部订阅数据进行压缩处理,将压缩后数据作为所述单组订阅数据。
5、可选的,所述方法还包括:对应每个主题文件,每当自前一次划分订阅数据块起新写入该主题文件的一组或多组订阅数据的数据量大于等于第二阈值时,将新写入该主题文件的各组订阅数据划分为单个订阅数据块,或者,每间隔预设写入时长,将所述预设写入时长内写入该主题文件的一组或多组订阅数据划分为单个订阅数据块,其中,所述第二阈值大于等于所述第一阈值;记录每个订阅数据块的数据块位置以及数据块时间戳。
6、可选的,每个订阅数据块的数据块位置以及数据块时间戳,选自:每个订阅数据块中最后一条订阅数据的写入位置及时间戳;每个订阅数据块中第一条订阅数据的写入位置及时间戳。
7、可选的,在划分每个订阅数据块之后,所述方法还包括:记录该订阅数据块的数据长度。
8、可选的,每个主题文件中各条订阅数据的写入位置是连续的,且订阅数据的写入时机越早,该条订阅数据的写入位置在所属主题文件中越靠前;所述方法还包括:如果确认有数据写入异常中断的情形,则对于数据写入程序对应的每个主题文件,确定最后记录的数据长度对应的数据块位置,记为截断位置,其中,所述数据写入程序用于对一个或多个主题文件执行数据写入操作;在所述截断位置对该主题文件进行截断。
9、可选的,所述方法还包括:对于每个主题文件,记录写入该主题文件的每组订阅数据的数据组位置以及数据组时间戳。
10、可选的,每组订阅数据的数据组位置以及数据组时间戳选自:每组订阅数据中最后一条订阅数据的写入位置以及时间戳;每组订阅数据中第一条订阅数据的写入位置以及时间戳。
11、可选的,所述方法还包括:对于每个主题文件,记录写入该主题文件的每条订阅数据的写入位置以及时间戳。
12、本专利技术实施例还提供一种用于自动驾驶的数据读取方法,包括以下步骤:在接收到数据读取指令后,确定所述数据读取指令包含的目标主题标识以及目标数据类型标识;从至少一个主题文件中,选择所述目标主题标识以及目标数据类型标识对应的主题文件;对该主题文件执行数据读取操作;其中,每个主题文件具有一一对应的主题标识以及数据类型标识的组合。
13、可选的,所述数据读取指令还包含指定的读取时间戳,每个主题文件包含至少一个订阅数据块,每个订阅数据块具有各自已记录的数据块位置以及数据块时间戳;每个订阅数据块的数据块位置以及数据块时间戳为:该订阅数据块中最后一条订阅数据的写入位置及时间戳;所述对该主题文件执行数据读取操作,包括:从该主题文件的至少一部分已记录的数据块时间戳中,查找与所述指定的读取时间戳相同、或者晚于且与所述指定的读取时间戳间隔最近的数据块时间戳,记为第一目标时间戳;基于所述第一目标时间戳,从该主题文件中确定待读取数据并进行读取。
14、可选的,所述待读取数据为订阅数据块;基于所述第一目标时间戳,从该主题文件中确定待读取数据并进行读取,包括:确定等于和/或晚于所述第一目标时间戳的各数据块时间戳对应的数据块位置,记为数据块读取位置;在该主题文件中,对位于每个数据块读取位置的订阅数据块进行读取。
15、可选的,每个订阅数据块包含至少一组订阅数据,每组订阅数据具有各自已记录的数据组位置以及数据组时间戳,每组订阅数据的数据组位置以及数据组时间戳为:该组订阅数据中最后一条订阅数据的写入位置以及写入时间戳;基于所述第一目标时间戳,从该主题文件中确定待读取数据并进行读取,包括:确定所述第一目标时间戳对应的数据块位置,并查找位于该数据块位置的订阅数据块,记为目标数据块;从该目标数据块的至少一部分已记录的数据组时间戳中,查找与所述指定的读取时间戳相同、或者晚于且与所述指定的读取时间戳间隔最近的数据组时间戳,记为第二目标时间戳;基于所述第二目标时间戳,从该主题文件中确定待读取数据并进行读取。
16、可选的,所述待读取数据为订阅数据组;基于所述第二目标时间戳,从该主题文件中确定待读取数据并进行读取,包括:确定等于和/或晚于所述第二目标时间戳的各数据组时间戳对应的数据组位置,记为数据组读取位置;在该主题文件中,对位于每个数据组读取位置的订阅数据组进本文档来自技高网...
【技术保护点】
1.一种用于自动驾驶的数据写入方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于接收到的各条订阅数据及其各自待写入的主题文件,执行数据写入操作,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于该主题文件对应的目标缓存空间内的全部订阅数据确定单组订阅数据,包括:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,每个订阅数据块的数据块位置以及数据块时间戳,选自:
6.根据权利要求4所述的方法,其特征在于,在划分每个订阅数据块之后,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,每个主题文件中各条订阅数据的写入位置是连续的,且订阅数据的写入时机越早,该条订阅数据的写入位置在所属主题文件中越靠前;
8.根据权利要求2至7任一项所述的方法,其特征在于,所述方法还包括:对于每个主题文件,记录写入该主题文件的每组订阅数据的数据组位置以及数据组时间戳。
9.根据权利要求8所述的方法,其特征在于,每组订
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
11.一种用于自动驾驶的数据读取方法,其特征在于,包括:
12.根据权利要求11所述的方法,其特征在于,所述数据读取指令还包含指定的读取时间戳,每个主题文件包含至少一个订阅数据块,每个订阅数据块具有各自已记录的数据块位置以及数据块时间戳;
13.根据权利要求12所述的方法,其特征在于,所述待读取数据为订阅数据块;基于所述第一目标时间戳,从该主题文件中确定待读取数据并进行读取,包括:
14.根据权利要求12所述的方法,其特征在于,每个订阅数据块包含至少一组订阅数据,每组订阅数据具有各自已记录的数据组位置以及数据组时间戳,每组订阅数据的数据组位置以及数据组时间戳为:该组订阅数据中最后一条订阅数据的写入位置以及写入时间戳;
15.根据权利要求14所述的方法,其特征在于,所述待读取数据为订阅数据组;基于所述第二目标时间戳,从该主题文件中确定待读取数据并进行读取,包括:
16.根据权利要求14所述的方法,其特征在于,每组订阅数据包含至少一条订阅数据,每条订阅数据具有各自已记录的写入位置及时间戳;
17.一种用于自动驾驶的数据写入装置,其特征在于,包括:
18.一种用于自动驾驶的数据读取装置,其特征在于,包括:
19.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至10任一项所述用于自动驾驶的数据写入方法的步骤,或者执行权利要求11至16任一项所述用于自动驾驶的数据读取方法的步骤。
20.一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至10任一项所述用于自动驾驶的数据写入方法的步骤,或者执行权利要求11至16任一项所述用于自动驾驶的数据读取方法的步骤。
...【技术特征摘要】
1.一种用于自动驾驶的数据写入方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于接收到的各条订阅数据及其各自待写入的主题文件,执行数据写入操作,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于该主题文件对应的目标缓存空间内的全部订阅数据确定单组订阅数据,包括:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,每个订阅数据块的数据块位置以及数据块时间戳,选自:
6.根据权利要求4所述的方法,其特征在于,在划分每个订阅数据块之后,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,每个主题文件中各条订阅数据的写入位置是连续的,且订阅数据的写入时机越早,该条订阅数据的写入位置在所属主题文件中越靠前;
8.根据权利要求2至7任一项所述的方法,其特征在于,所述方法还包括:对于每个主题文件,记录写入该主题文件的每组订阅数据的数据组位置以及数据组时间戳。
9.根据权利要求8所述的方法,其特征在于,每组订阅数据的数据组位置以及数据组时间戳,选自:
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
11.一种用于自动驾驶的数据读取方法,其特征在于,包括:
12.根据权利要求11所述的方法,其特征在于,所述数据读取指令还包含指定的读取时间戳,每个主题文件包含至少一个订阅数据块,每个订阅数据块具有各自已记录的数据块位置以及数据块...
【专利技术属性】
技术研发人员:黄超,邓样,
申请(专利权)人:上海仙途智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。