本发明涉及计算机,具体涉及一种数据查找方法、装置、计算机设备及存储介质。
背景技术:
1、最近邻搜索即搜索与给定的一个点的距离最近的其他点是一些软件系统例如自动驾驶系统的常见的操作。在相关技术中,建立树结构,将每一个点作为一个树结构的一个节点。最近邻搜索需要遍历大量的节点,有时需要遍历整个树结构,造成最近邻搜索的效率较低,如何提升最近邻搜索的效率成为一个需要解决的问题。
技术实现思路
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、进一步,数据查找装置还包括:
28、更新单元,用于当所述目标哈希值大于最大哈希值参数的参数值时,将最大哈希值参数的参数值更新为所述目标哈希值。
29、进一步,数据查找装置还包括:
30、第六确定单元,用于根据所述目标哈希值和最大哈希值参数的参数值,确定每个预设方向的最大哈希值偏移量,其中,对于每个预设方向,所述预设方向的最大哈希值偏移量用于确定所述预设方向的相应哈希值偏移量。
31、一种计算机设备,包括:
32、存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行上述方法。
33、一种计算机可读存储介质,计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述方法。
34、一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令用于使计算机执行上述方法。
35、本发明的有益效果:
36、目标哈希值对应的目标桶对应于目标点所在的目标网格,目标第一邻近桶哈希值对应的第一邻近桶对应目标网格的周围的网格。从由目标哈希值对应的目标桶、每个目标第一邻近桶哈希值对应的第一邻近桶组成的第一桶集合中查找目标点对应的最近邻点,相当于由目标网格、目标网格的周围的网格组成的少量的网格的存储在目标哈希表中的点中查找目标点对应的最近邻点。减少最近邻搜索涉及的点的数量,提升最近邻搜索的效率。
1.一种数据查找方法,其特征在于:所述方法包括:
2.根据权利要求1所述的方法,其特征在于:所述方法还包括:
3.根据权利要求1所述的方法,其特征在于:从所述多个第一邻近桶哈希值中确定出至少一个目标第一邻近桶哈希值之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于:所述方法还包括:
5.根据权利要求1-4中任一项所述的方法,其特征在于:所述方法还包括:
6.一种数据查找装置,其特征在于:所述装置包括:
7.根据权利要求6所述的装置,其特征在于:所述装置还包括:
8.一种计算机设备,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至5中任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令用于使计算机执行权利要求1至5中任一项所述的方法。