一种通道数据的缓存管理方法及装置、相关产品与流程

文档序号:37457045发布日期:2024-03-28 18:40阅读:9来源:国知局
一种通道数据的缓存管理方法及装置、相关产品与流程

本发明涉及自动驾驶领域,尤其涉及一种通道数据信息的缓存管理方法、装置、介质、计算机装置和移动工具。


背景技术:

1、目前,测试自动驾驶功能是通过离线使用回放的数据包文件模拟室外场景进行,基于自动驾驶平台可以将自动驾驶车辆上传感器的信息录制成数据包文件。数据包文件主要用于记录、回放、分析“通道数据”中的信息,可以指定“通道数据”中的数据进行记录和回放,便于对其中的数据进行离线分析和处理,从数据包文件中回放数据,用于研发人员基于离线数据快速重现历史实际场景,从而进行可重复、低成本的分析和调试。

2、在自动驾驶领域常用的系统如ros,cyber rt都提供了录制“通道数据”的应用程序编程接口(application programming interface,api),使研发人员可以定制化实现“通道数据”包的录制功能。在定制化实现的过程中需要对多个甚至上百个“通道数据”消息进行缓存,再录制的时候就可以将历史数据也一并写入记录的数据包中。“通道数据”进行录制过程中,有时一个通道的数据在1秒内就能产生5m字节的缓存,也就是1分钟300m字节的缓存,若多个“通道数据”信息同时缓存,则需要占用大量的内存资源。

3、在现有的“通道数据”缓存方案中,每个数据通道配置固定的缓存区大小,若当前缓存大小超过配置缓存区最大值,需要循环删除缓存区先入缓存区的数据,为新增加的数据提供数据空间。该缓存方案的“通道数据”信息数据布局不合理,会出现数据量大的“通道数据”信息将内存消耗掉,数据量小的“通道数据”信息保留不了几条就没有内存资源了,无法有效的利用内存资源。


技术实现思路

1、本发明的目的是针对现有技术的缺陷,提供一种通道数据信息的缓存管理方法、装置、介质、计算机装置和移动工具,以解决现有技术中缓存方案数据布局不合理的问题。

2、为实现上述目的,本发明第一方面提供了一种通道数据信息的缓存管理方法,所述方法包括:

3、获取每个通道数据信息的配置缓存值、当前每个通道数据信息的第一缓存值、第一缓存时长和预设需要缓存时长;

4、根据所述第一缓存值生成当前所有通道数据信息的第一缓存总值,根据所述配置缓存值生成当前所有通道数据信息的配置缓存总值;

5、若新传入的通道数据信息的所述第一缓存时长不大于所述预设需要缓存时长,且所述第一缓存总值大于所述配置缓存总值时,依次动态擦除每个通道数据信息在缓存区中所述第一缓存时长大于所述预设需要缓存时长的超时数据,所述超时数据为预设需要缓存时长前的所有数据。

6、进一步,所述若所述第一缓存总值大于所述配置缓存总值,依次动态擦除每个通道数据信息中所述第一缓存时长大于所述预设需要缓存时长的超时数据,所述超时数据为预设需要缓存时长前的所有数据之后,所述方法还包括:

7、获取动态擦除超时数据后的当前每个通道数据信息的第二缓存值和第二缓存时长;

8、根据所述第二缓存值、第二缓存时长获取新的配置缓存值和配置缓存时长,生成每个通道数据信息的待更新配置缓存值和待更新配置时长。

9、进一步,所述根据所述第二缓存值、第二缓存时长重新分配所述配置缓存值,生成每个通道数据信息的待更新配置缓存值,具体为:

10、根据所述第二缓存值生成当前所有通道数据信息的第二缓存总值;

11、若所述第二缓存总值大于所述配置缓存总值,将所述第二缓存值作为待更新配置缓存值。

12、进一步,所述若所述第二缓存总值大于所述配置缓存总值,将所述第二缓存值作为待更新配置缓存值之后,所述方法还包括:

13、擦除所述新传入的通道数据信息的头部数据,所述头部数据的缓存值大小为所述第二缓存总值与所述配置缓存总值的差值大小。

14、进一步,所述预设需要缓存时长为根据实时任务包列表获取每个通道数据信息需要保存的最大时长。

15、进一步,所述依次动态擦除每个通道数据信息中所述第一缓存时长大于所述预设需要缓存时长的超时数据,具体为:

16、以地址指针值累加的方式,从首地址指针值对应的通道数据信息开始,到尾部指针对应的通道数据信息结束,依次动态擦除每个通道数据信息中所述第一缓存时长大于所述预设需要缓存时长的超时数据。

17、进一步,所述根据所述第一缓存值生成当前所有通道数据信息的第一缓存总值,根据所述配置缓存值生成当前所有通道数据信息的配置缓存总值,具体为;

18、将当前每个通道数据信息的第一缓存值相加的和生成所述第一缓存总值;

19、将当前每个通道数据的配置缓存值相加的和生成所述配置缓存总值。

20、本发明第二方面提供了一种通道数据信息的缓存装置,所述缓存装置包括:

21、数据获取模块,用于获取每个通道数据信息的配置缓存值、当前每个通道数据信息的第一缓存值、第一缓存时长和预设需要缓存时长;

22、数据处理模块,用于根据所述第一缓存值生成当前所有通道数据信息的第一缓存总值,根据所述配置缓存值生成当前所有通道数据信息的配置缓存总值;

23、数据缓存模块,用于若新传入的通道数据信息的所述第一缓存时长不大于所述预设需要缓存时长,且所述第一缓存总值大于所述配置缓存总值时,依次动态擦除每个通道数据信息在缓存区中所述第一缓存时长大于所述预设需要缓存时长的超时数据,所述超时数据为预设需要缓存时长前的所有数据。

24、本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面任一项所述方法的步骤。

25、本发明第四方面提供了一种计算机装置,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现第一方面任一项所述方法的步骤。

26、本发明第五方面提供了一种移动工具,其特征在于,包括第四方面所述的计算机装置。

27、本发明提供的一种通道数据的缓存管理方法及装置、相关产品,在当前缓存总值超过配置缓存总值的情况下,根据缓存区预设需要缓存时长,动态擦除超时数据所占用的存储空间用于新传入的通道数据信息导致的超缓存部分的数据存储,从而在有限的配置总缓存范围内使每种通道数据信息的存储时间达到平衡,使得每一种通道数据信息得到合理的缓存管理。



技术特征:

1.一种通道数据信息的缓存管理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的缓存管理方法,其特征在于,所述若所述第一缓存总值大于所述配置缓存总值,依次动态擦除每个通道数据信息中所述第一缓存时长大于所述预设需要缓存时长的超时数据,所述超时数据为预设需要缓存时长前的所有数据之后,所述方法还包括:

3.根据权利要求2所述的缓存管理方法,其特征在于,所述根据所述第二缓存值、第二缓存时长重新分配所述配置缓存值,生成每个通道数据信息的待更新配置缓存值,具体为:

4.根据权利要求3所述的缓存管理方法,其特征在于,所述若所述第二缓存总值大于所述配置缓存总值,将所述第二缓存值作为待更新配置缓存值之后,所述方法还包括:

5.根据权利要求1所述的缓存管理方法,其特征在于,所述预设需要缓存时长为根据实时任务包列表获取每个通道数据信息需要保存的最大时长。

6.根据权利要求1所述的缓存管理方法,其特征在于,所述依次动态擦除每个通道数据信息中所述第一缓存时长大于所述预设需要缓存时长的超时数据,具体为:

7.根据权利要求1所述的缓存管理方法,其特征在于,所述根据所述第一缓存值生成当前所有通道数据信息的第一缓存总值,根据所述配置缓存值生成当前所有通道数据信息的配置缓存总值,具体为;

8.一种通道数据信息缓存装置,其特征在于,所述缓存装置包括:

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-8所述方法的步骤。

10.一种计算机装置,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-8所述方法的步骤。

11.一种移动工具,其特征在于,包括如权利要求10所述的计算机装置。


技术总结
本发明涉及一种通道数据信息的缓存管理方法及装置、相关产品,方法包括:获取每个通道数据信息的配置缓存值、当前每个通道数据信息的第一缓存值、第一缓存时长和预设需要缓存时长;根据第一缓存值生成当前所有通道数据信息的第一缓存总值,根据配置缓存值生成当前所有通道数据信息的配置缓存总值;若新传入的通道数据信息的第一缓存时长不大于预设需要缓存时长,且第一缓存总值大于配置缓存总值时,依次动态擦除每个通道数据信息在缓存区中第一缓存时长大于预设需要缓存时长的超时数据,超时数据为预设需要缓存时长前的所有数据。

技术研发人员:杨帆
受保护的技术使用者:北京智行者科技股份有限公司
技术研发日:
技术公布日:2024/3/27
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1