用于访问地图数据的方法和装置制造方法及图纸

技术编号:24331399 阅读:43 留言:0更新日期:2020-05-29 19:44
本申请实施例公开了用于访问地图数据的方法和装置,可用于自动驾驶。该方法的一具体实施方式包括:响应于无人驾驶汽车的当前位置变化,确定缓存是否存储当前位置对应的地图数据分块;若缓存存储当前位置对应的地图数据分块,从缓存读取当前位置对应的地图数据分块;若缓存未存储当前位置对应的地图数据分块,从地图数据服务端获取当前位置对应的地图数据分块,以及将当前位置对应的地图数据分块写入缓存;访问当前位置对应的地图数据分块;若当前位置变化,或者缓存未存储当前位置对应的地图数据分块,从地图数据服务端预取预设范围内的地图数据分块,以及将预设范围内的地图数据分块写入缓存。该实施方式提高了地图数据的查询效率。

Methods and devices for accessing map data

【技术实现步骤摘要】
用于访问地图数据的方法和装置
本申请实施例涉及计算机
,具体涉及用于访问地图数据的方法和装置。
技术介绍
自动驾驶地图是实现L4级别自动驾驶的必要手段,广泛用于路径规划、感知、预测、用户交互等场景中。目前,地图数据访问方式一般是在初始阶段将地图数据一次性全量加载到内存中,为地图数据建立内存模型,并建立空间索引和标识(ID)索引,通过索引检索的方式来实现对地图数据的访问。然而,随着无人驾驶技术的发展,高精地图数据规模也在增加,而地图数据加载对内存资源的占用也越来越大。仅以某城市200KM路网为例,加载全量地图数据的内存占用大概在2.4G左右。长期来看这种内存资源的占用,也将成为妨碍无人车在城市级别路网测试、运营的重要瓶颈。此外,地图数据的查询效率也会随着地图数据规模的增加而降低。
技术实现思路
本申请实施例提出了用于访问地图数据的方法和装置。第一方面,本申请实施例提出了一种用于访问地图数据的方法,包括:响应于无人驾驶汽车的当前位置变化,确定缓存是否存储当前位置对应的地图数据分块;若缓存存储当前位置对应的地图数据分块,从缓存读取当前位置对应的地图数据分块;若缓存未存储当前位置对应的地图数据分块,从地图数据服务端获取当前位置对应的地图数据分块,以及将当前位置对应的地图数据分块写入缓存;访问当前位置对应的地图数据分块;若当前位置变化,或者缓存未存储当前位置对应的地图数据分块,从地图数据服务端预取预设范围内的地图数据分块,以及将预设范围内的地图数据分块写入缓存,其中,无人驾驶汽车处于预设范围内。在一些实施例中,该方法还包括:确定缓存存储的地图数据量是否超出缓存数据量阈值;若超出缓存数据量阈值,将缓存存储的至少部分地图数据分块删除。在一些实施例中,将缓存存储的至少部分地图数据分块删除,包括:按照最近最少使用缓存淘汰算法或距离最远缓存淘汰算法依次删除缓存存储的地图数据分块,直至缓存存储的地图数据量不超出缓存数据量阈值为止。在一些实施例中,缓存包括第一缓冲区域和第二缓冲区域,在第一缓冲区域写入新的地图数据分块后,且第二缓冲区域不存在读取操作时,新的地图数据同步到第二缓冲区域。在一些实施例中,从缓存读取当前位置对应的地图数据分块,包括:执行第一确定步骤:确定第一缓冲区域是否存在写入操作,若第一缓冲区域不存在写入操作,从第一缓冲区域读取当前位置对应的地图数据分块。在一些实施例中,在从第一缓冲区域读取当前位置对应的地图数据分块之前,还包括:将第一缓冲区域的读取操作计数加一;以及在从第一缓冲区域读取当前位置对应的地图数据分块之后,还包括:将第一缓冲区域的读取操作计数减一。在一些实施例中,从缓存读取当前位置对应的地图数据分块,还包括:若第一缓冲区域存在写入操作,确定第二缓冲区域是否存在写入操作,若第二缓冲区域不存在写入操作,从第二缓冲区域读取当前位置对应的地图数据分块;若第二缓冲区域存在写入操作,继续执行第一确定步骤。在一些实施例中,在从第二缓冲区域读取当前位置对应的地图数据分块之前,还包括:将第二缓冲区域的读取操作计数加一;以及在从第二缓冲区域读取当前位置对应的地图数据分块之后,还包括:将第二缓冲区域的读取操作计数减一。在一些实施例中,将预设范围内的地图数据分块写入缓存,包括:执行第二确定步骤:确定第一缓冲区域是否存在读取操作,若第一缓冲区域不存在读取操作,将预设范围内的地图数据分块写入第一缓冲区域;若第一缓冲区域存在读取操作,继续执行第二确定步骤。在一些实施例中,在将预设范围内的地图数据分块写入第一缓冲区域之前,还包括:将第一缓冲区域的读取操作计数减一;以及在将预设范围内的地图数据分块写入第一缓冲区域之后,还包括:将第一缓冲区域的读取操作计数加一。第二方面,本申请实施例提出了一种用于访问地图数据的装置,包括:第一确定单元,被配置成响应于无人驾驶汽车的当前位置变化,确定缓存是否存储当前位置对应的地图数据分块;读取单元,被配置成若缓存存储当前位置对应的地图数据分块,从缓存读取当前位置对应的地图数据分块;获取单元,被配置成若缓存未存储当前位置对应的地图数据分块,从地图数据服务端获取当前位置对应的地图数据分块,以及将当前位置对应的地图数据分块写入缓存;访问单元,被配置成访问当前位置对应的地图数据分块;预取单元,被配置成若当前位置变化,或者缓存未存储当前位置对应的地图数据分块,从地图数据服务端预取预设范围内的地图数据分块,以及将预设范围内的地图数据分块写入缓存,其中,无人驾驶汽车处于预设范围内。在一些实施例中,该装置还包括:第二确定单元,被配置成确定缓存存储的地图数据量是否超出缓存数据量阈值;删除单元,被配置成若超出缓存数据量阈值,将缓存存储的至少部分地图数据分块删除。在一些实施例中,删除单元进一步被配置成:按照最近最少使用缓存淘汰算法或距离最远缓存淘汰算法依次删除缓存存储的地图数据分块,直至缓存存储的地图数据量不超出缓存数据量阈值为止。在一些实施例中,缓存包括第一缓冲区域和第二缓冲区域,在第一缓冲区域写入新的地图数据分块后,且第二缓冲区域不存在读取操作时,新的地图数据同步到第二缓冲区域。在一些实施例中,读取单元包括:第一确定子单元,被配置成执行第一确定步骤:确定第一缓冲区域是否存在写入操作,若第一缓冲区域不存在写入操作,从第一缓冲区域读取当前位置对应的地图数据分块。在一些实施例中,读取单元还包括:第一计数子单元,被配置成在从第一缓冲区域读取当前位置对应的地图数据分块之前,将第一缓冲区域的读取操作计数加一;以及在从第一缓冲区域读取当前位置对应的地图数据分块之后,将第一缓冲区域的读取操作计数减一。在一些实施例中,读取单元还包括:第二确定子单元,被配置成若第一缓冲区域存在写入操作,确定第二缓冲区域是否存在写入操作,若第二缓冲区域不存在写入操作,从第二缓冲区域读取当前位置对应的地图数据分块;第一执行子单元,被配置成若第二缓冲区域存在写入操作,继续执行第一确定步骤。在一些实施例中,读取单元还包括:第二计数子单元,被配置成在从第二缓冲区域读取当前位置对应的地图数据分块之前,将第二缓冲区域的读取操作计数加一;以及在从第二缓冲区域读取当前位置对应的地图数据分块之后,将第二缓冲区域的读取操作计数减一。在一些实施例中,预取单元包括:第三确定子单元,被配置成执行第二确定步骤:确定第一缓冲区域是否存在读取操作,若第一缓冲区域不存在读取操作,将预设范围内的地图数据分块写入第一缓冲区域;第二执行子单元,被配置成若第一缓冲区域存在读取操作,继续执行第二确定步骤。在一些实施例中,预取单元还包括:第三计数子单元,被配置成在将预设范围内的地图数据分块写入第一缓冲区域之前,将第一缓冲区域的读取操作计数减一;以及在将预设范围内的地图数据分块写入第一缓冲区域之后,将第一缓冲区域的读取操作计数加一。第三方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程本文档来自技高网...

【技术保护点】
1.一种用于访问地图数据的方法,包括:/n响应于无人驾驶汽车的当前位置变化,确定缓存是否存储所述当前位置对应的地图数据分块;/n若所述缓存存储所述当前位置对应的地图数据分块,从所述缓存读取所述当前位置对应的地图数据分块;/n若所述缓存未存储所述当前位置对应的地图数据分块,从地图数据服务端获取所述当前位置对应的地图数据分块,以及将所述当前位置对应的地图数据分块写入所述缓存;/n访问所述当前位置对应的地图数据分块;/n若所述当前位置变化,或者所述缓存未存储所述当前位置对应的地图数据分块,从所述地图数据服务端预取预设范围内的地图数据分块,以及将所述预设范围内的地图数据分块写入所述缓存,其中,所述无人驾驶汽车处于所述预设范围内。/n

【技术特征摘要】
1.一种用于访问地图数据的方法,包括:
响应于无人驾驶汽车的当前位置变化,确定缓存是否存储所述当前位置对应的地图数据分块;
若所述缓存存储所述当前位置对应的地图数据分块,从所述缓存读取所述当前位置对应的地图数据分块;
若所述缓存未存储所述当前位置对应的地图数据分块,从地图数据服务端获取所述当前位置对应的地图数据分块,以及将所述当前位置对应的地图数据分块写入所述缓存;
访问所述当前位置对应的地图数据分块;
若所述当前位置变化,或者所述缓存未存储所述当前位置对应的地图数据分块,从所述地图数据服务端预取预设范围内的地图数据分块,以及将所述预设范围内的地图数据分块写入所述缓存,其中,所述无人驾驶汽车处于所述预设范围内。


2.根据权利要求1所述的方法,其中,所述缓存包括第一缓冲区域和第二缓冲区域,在所述第一缓冲区域写入新的地图数据分块后,且所述第二缓冲区域不存在读取操作时,所述新的地图数据同步到所述第二缓冲区域。


3.根据权利要求2所述的方法,其中,所述从所述缓存读取所述当前位置对应的地图数据分块,包括:
执行第一确定步骤:确定所述第一缓冲区域是否存在写入操作,若所述第一缓冲区域不存在写入操作,从所述第一缓冲区域读取所述当前位置对应的地图数据分块。


4.根据权利要求3所述的方法,其中,
在所述从所述第一缓冲区域读取所述当前位置对应的地图数据分块之前,还包括:
将所述第一缓冲区域的读取操作计数加一;以及
在所述从所述第一缓冲区域读取所述当前位置对应的地图数据分块之后,还包括:
将所述第一缓冲区域的读取操作计数减一。


5.根据权利要求3或4所述的方法,其中,所述从所述缓存读取所述当前位置对应的地图数据分块,还包括:
若所述第一缓冲区域存在写入操作,确定所述第二缓冲区域是否存在写入操作,若所述第二缓冲区域不存在写入操作,从所述第二缓冲区域读取所述当前位置对应的地图数据分块;
若所述第二缓冲区域存在写入操作,继续执行所述第一确定步骤。


6.根据权利要求5所述的方法,其中,
在所述从所述第二缓冲区域读取所述当前位置对应的地图数据分块之前,还包括:
将所述第二缓冲区域的读取操作计数加一;以及
在所述从所述第二缓冲区域读取所述当前位置对应的地图数据分块之后,还包括:
将所述第二缓冲区域的读取操作计数减一。


7.根据权利要求2所述的方法,其中,所述将所述预设范围内的地图数据分块写入所述缓存,包括:
执行第二确定步骤:确定所述第一缓冲区域是否存在读取操作,若所述第一缓冲区域不存在读取操作,将所述预设范围内的地图数据分块写入所述第一缓冲区域;
若所述第一缓冲区域存在读取操作,继续执行所述第二确定步骤。


8.根据权利要求7所述的方法,其中,
在所述将所述预设范围内的地图数据分块写入所述第一缓冲区域之前,还包括:
将所述第一缓冲区域的读取操作计数减一;以及
在所述将所述预设范围内的地图数据分块写入所述第一缓冲区域之后,还包括:
将所述第一缓冲区域的读取操作计数加一。


9.一种用于访问地图数据的装置,包括:
第一确定单元,被配置成响应于无人驾驶汽车的当前位置变化,确定缓存是否存储所述当前位置对应的地图数据分块;
读取单元,被配置成若所述缓存存储所述当前位置对应的地图数据分块,从所述缓存读取所述当前位置对...

【专利技术属性】
技术研发人员:高巍
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1