本申请涉及自动驾驶,尤其涉及一种基于内存进行缓存的自动驾驶数据加载方法、系统和存储介质。
背景技术:
1、自动驾驶技术为提高驾乘人员的驾驶体验,依赖于人工智能算法,感知系统以及全球定位系统等多种技术。由于自动驾驶数据具有数据量庞大、数据类型丰富,数据处理的链条长等特点,自动驾驶数据存在加载效率低、存储成本高的技术问题。针对上述的技术问题,现有技术中采用的主要方式是将数据按照被访问的频次分为冷数据、温数据和热数据,按照分类存储在不同的存储介质中。
2、现有技术中将热数据存储在高速硬盘中,一定程度上能够提高数据的读取速度。然而热数据中被高频使用的数据,数据处理速度仍受限于高速硬盘的读取速度。如果每次使用都要从硬盘中读取不仅影响数据处理的流水线的处理速度,且不利于高速硬盘的使用寿命。
技术实现思路
1、有鉴于此,针对最经常使用的热数据本申请提出一种基于内存进行缓存的自动驾驶数据加载方法、系统和存储介质,在内存缓存设置存放热数据的内存区域,并针对内存已满的情况提出了缓存替换的方法,提高内存空间的灵活性和利用率。
2、本申请一方面提供一种基于内存的自动驾驶数据加载方法,包括:
3、查询待执行的任务,获得待执行任务所需的目标数据;
4、从所述目标数据中提取高频热数据并计算高频热数据的规模;
5、基于所述高频热数据的规模,在内存中为所述高频热数据分配缓存区域;
6、将所述高频热数据按照预设的数据格式存储在所述缓存区域中。
7、进一步地,所述获得待执行任务所需的目标数据还包括,
8、判断所述待执行任务是否需要加载新数据,若否,则结束查询;
9、若是,则查找目标数据。
10、进一步地,所述目标数据是根据待执行的任务在数据库中查询获得,或是场景处理模块产生的结果数据。
11、进一步地,所述计算高频热数据的规模进一步包括,
12、所述目标数据可以根据以下方法至少一种判断是否为高频热数据:目标数据是否是最近获取、目标数据是否被频繁使用、目标数据是否用于并行处理;
13、若是,则判断所述目标数据是高频热数据,并计算所述目标数据的数据规模;
14、若否,则判断所述目标数据不是高频热数据。
15、进一步地,所述高频热数据按照预设的数据格式还包括:对所述高频热数据进行预处理,以获得满足预设的数据格式标准化高频热数据;
16、所述预设的数据格式包括:索引号、热数据优先级以及热数据关联任务id。
17、进一步地,所述将所述高频热数据按照预设的数据格式存储在所分配的缓存区域中,还包括更新所述缓存区域的索引表。
18、进一步地,所述更新所述缓存区域的索引表是基于更新顺序进行更新,
19、其中,所述更新顺序是基于所述高频热数据的使用频次和紧急程度决定,所述紧急程度是由所述高频热数据关联任务的优先级决定。
20、进一步地,对于相同优先级的多个所述高频热数据,基于所述高频热数据的索引号的大小决定更新顺序,其中,所述索引号小的热数据先更新。
21、进一步地,当所述缓存区域已满时,对内存执行缓存替换。
22、进一步地,根据缓存优先级选择待释放的所述缓存区域,其中所述缓存优先级是所述热数据使用频次和关联的任务的优先级加权求和决定。
23、本申请另一方面还提供一种基于内存进行缓存的自动驾驶数据加载的系统20,所述系统包括处理器21和存储器22,所述存储器22用于存储计算机可执行程序,当所述计算机可执行程序被所述处理器21执行时,所述处理器21执行前述基于内存进行缓存的数据加载的方法。
24、本申请另一方面还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,当所述一个或多个程序被处理器执行时,实现前述任一项所述基于内存进行缓存的自动驾驶数据加载的方法。
25、本申请不涉及热数据本身的修改,只针对热数据的读取,解决了高频使用的热数据读取效率的问题,极大减少了热数据的访问时间,大大提高了数据的处理效率,优化了整个数据处理流程,使得自动驾驶数据处理的效率有了明显提升。
1.一种基于内存进行缓存的自动驾驶数据加载方法,其特征在于,包括:
2.如权利要求1所述的基于内存进行缓存的自动驾驶数据加载方法,其特征在于,所述获得待执行任务所需的目标数据还包括,
3.如权利要求2所述的基于内存进行缓存的自动驾驶数据加载方法,其特征在于,所述目标数据是根据待执行的任务在数据库中查询获得,或是场景处理模块产生的结果数据。
4.如权利要求1所述的基于内存进行缓存的自动驾驶数据加载方法,其特征在于,所述计算高频热数据的规模进一步包括,
5.如权利要求1所述的基于内存进行缓存的自动驾驶数据加载方法,其特征在于,所述高频热数据按照预设的数据格式存储在所述缓存区域中至少包括:对所述高频热数据进行预处理,以获得标准化高频热数据;
6.如权利要求5所述的基于内存进行缓存的自动驾驶数据加载方法,其特征在于,所述将所述高频热数据按照预设的数据格式存储在所述缓存区域中,还包括更新所述缓存区域的索引表。
7.如权利要求6所述的基于内存进行缓存的自动驾驶数据加载方法,其特征在于,所述更新所述缓存区域的索引表是基于更新顺序进行更新,
8.如权利要求7所述的基于内存进行缓存的自动驾驶数据加载方法,其特征在于,对于相同优先级的多个所述高频热数据,基于所述高频热数据的索引号的大小决定更新顺序。
9.如权利要求1-8任一项所述的基于内存进行缓存的自动驾驶数据加载方法,其特征在于,当所述缓存区域已满时,对所述内存执行缓存替换。
10.如权利要求9所述的基于内存进行缓存的自动驾驶数据加载方法,其特征在于,根据缓存优先级选择待释放的所述缓存区域,其中所述缓存优先级是基于所述高频热数据使用频次和关联的任务的优先级加权求和决定。
11.一种基于内存进行缓存的自动驾驶数据加载的系统(20),所述系统包括处理器(21)和存储器(22),所述存储器(22)用于存储计算机可执行程序,其特征在于,当所述计算机可执行程序被所述处理器(21)执行时,所述处理器(21)执行如权利要求1-10任一项所述基于内存进行缓存的数据加载的方法。
12.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,当所述一个或多个程序被处理器执行时,实现权利要求1-10任一项所述基于内存进行缓存的自动驾驶数据加载的方法。