CN111274272B - 一种对象的查找方法、装置及计算机系统 - Google Patents
一种对象的查找方法、装置及计算机系统 Download PDFInfo
- Publication number
- CN111274272B CN111274272B CN202010042745.XA CN202010042745A CN111274272B CN 111274272 B CN111274272 B CN 111274272B CN 202010042745 A CN202010042745 A CN 202010042745A CN 111274272 B CN111274272 B CN 111274272B
- Authority
- CN
- China
- Prior art keywords
- target
- real
- block
- span
- longitude
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Abstract
本申请公开了一种对象的查找方法、装置及计算机系统,其中所述方法包括:接收查询请求,所述请求包含目标位置及目标覆盖半径;根据所述目标位置及目标覆盖半径,确定目标地理范围;根据所述目标地理范围、每一区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块;根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象;根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置;确定所述实时位置距离所述目标位置不超过预设阈值的所述对象为目标对象,实现了对目标位置的准确定位,并根据准确定位的目标位置,查找获得满足条件的可用对象,保证了查找结果的准确性。
Description
技术领域
本发明涉及地理定位领域,尤其涉及一种对象的查找方法、装置及计算机系统。
背景技术
在即时配送等物流业务场景中,为了保证配送工人或者配送车辆的实时位置数据的准确,需要进行的更新频率高,且当配送工人或者配送车辆数量很大时,对应的实时位置数据的数据量也十分庞大。
现有技术中,常用的基于目标地理位置范围对位置实时变化的配送工人或车辆进行匹配的算法有GeoHash算法。由于该算法采用了Peano空间填充曲线进行区块的编码,而该曲线具有突变型的缺点,会导致两组相距较远的区块的编码相似,从而导致在根据编码查找目标地理位置范围附近的区块时,查找结果中会包含实际地理位置相差很远的区块,影响了计算的准确性,无法满足对海量数据进行实时处理的实际需求。
发明内容
为了解决现有技术的不足,本发明的主要目的在于提供一种对象的查找方法,以实现对目标位置范围的准确定位和对象的准确匹配。
为了达到上述目的,第一方面本发明提供了一种对象的查找方法,所述方法包括:
接收查询请求,所述请求包含目标位置及目标覆盖半径;
根据所述目标位置及目标覆盖半径,确定目标地理范围;
根据所述目标地理范围、每一区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块;
根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象;
根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置;
确定所述实时位置距离所述目标位置不超过预设阈值的所述对象为目标对象。
在一些实施例中,所述根据所述目标位置及目标覆盖半径,确定目标地理范围包括:
根据所述目标位置、每一所述区块的经度跨度及纬度跨度,确定包含所述目标位置的目标区块;
根据所述目标覆盖半径、所述目标区块的经度跨度及纬度跨度,确定所述目标地理范围的经度跨度及纬度跨度。
在一些实施例中,所述根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象包括:
读取汇总表,获得包含的所述区块对应的对象,所述汇总表用于保存区块与对象的对应关系,所述汇总表的主键包含经度索引及纬度索引,每一所述区块对应所述经度索引及所述纬度索引的组合;
所述根据所述目标覆盖半径、所述目标区块的经度跨度及纬度跨度,确定所述目标地理范围的经度跨度及纬度跨度包括:
根据所述目标覆盖半径、所述目标区块的经度跨度及纬度跨度,计算所述目标地理范围覆盖的所述经度索引及所述纬度索引;
所述根据所述目标地理范围、每一所述区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块包括:
对覆盖的所述经度索引及所述纬度索引进行组合,获得所述目标地理范围包含的所述区块。
在一些实施例中,所述根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置包括:
读取详情表,获得对应的所述对象的实时位置,所述详情表用于保存对象与实时位置的对应关系,所述详情表的主键包含所述对象。
在一些实施例中,所述对象的更新过程包括:
接收所述对象的实时位置,所述实时位置包含所述对象的实时经纬度数据;
根据所述实时位置及每一区块的经度跨度及纬度跨度,确定所述对象对应的实时区块;
根据所述对象对应的实时区块,更新所述保存的区块与对象的对应关系;
根据接收的所述对象的所述实时位置,更新所述保存的对象与实时位置的对应关系。
在一些实施例中,所述接收查询请求包括:
使用Kafka流数据处理平台,接收所述查询请求;
所述接收所述对象的实时位置包括:
使用所述Kafka流数据处理平台,接收所述对象的实时位置数据流,所述实时位置数据流包含所述对象的实时经纬度数据流;
所述根据所述实时位置及每一区块的经度跨度及纬度跨度,确定所述对象对应的实时区块包括:
使用预设的流数据计算方法,根据所述实时位置数据流、每一区块的经度跨度及纬度跨度确定所述对象对应的实时区块。
在一些实施例中,所述区块的形状、大小相同。
在一些实施例中,所述方法还包括:
查找所述目标地理范围对应的城市;
根据预设的所述城市的经度跨度及纬度跨度、预设的所述区块的形状及大小,确定每一所述区块的经度跨度及纬度跨度。
第二方面,本申请提供了一种对象的查找装置,所述装置包括:
接收模块,用于接收查询请求,所述请求包含目标位置及目标覆盖半径;
处理模块,用于根据所述目标位置及目标覆盖半径,确定目标地理范围及根据所述目标地理范围、每一区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块;
查询模块,用于根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象及根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置;
判断模块,用于确定所述实时位置距离所述目标位置不超过预设阈值的所述对象为目标对象。
第三方面,本申请提供了一种计算机系统,所述系统包括:
一个或多个处理器;
以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
接收查询请求,所述请求包含目标位置及目标覆盖半径;
根据所述目标位置及目标覆盖半径,确定目标地理范围;
根据所述目标地理范围、每一区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块;
根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象;
根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置;
确定所述实时位置距离所述目标位置不超过预设阈值的所述对象为目标对象。
本发明实现的有益效果为:
本发明公开了通过接收查询请求,所述请求包含目标位置及目标覆盖半径;根据所述目标位置及目标覆盖半径,确定目标地理范围;根据所述目标地理范围、每一区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块,实现了对目标位置的准确定位,同时根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象;根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置;确定所述实时位置距离所述目标位置不超过预设阈值的所述对象为目标对象,实现了根据准确定位的目标位置,查找获得满足条件的可用对象,保证了查找结果的准确性;
本申请还公开了根据所述目标位置、每一所述区块的经度跨度及纬度跨度,确定包含所述目标位置的目标区块;根据所述目标覆盖半径、所述目标区块的经度跨度及纬度跨度,确定所述目标地理范围的经度跨度及纬度跨度。提升了目标位置范围定位的准确性;
进一步地,本申请提出了读取汇总表,获得包含的所述区块对应的对象,所述汇总表用于保存区块与对象的对应关系,所述汇总表的主键包含经度索引及纬度索引,每一所述区块对应所述经度索引及所述纬度索引的组合,由于经度索引和纬度索引是汇总表的主键,因此可根据覆盖的所述经度索引及所述纬度索引从汇总表中更快地查找到包含的所述区块,提高了对匹配结果的查找效率;同样的,可以读取详情表,获得对应的所述对象的实时位置,所述详情表用于保存对象与实时位置的对应关系,由于所述详情表的主键包含所述对象,因此根据对象可更快地查找到对应的实时位置,提高了实时位置的查找效率;
本申请还公开了所述对象的实时位置的更新方法,保证了对对象的实时位置的更新的准确性。
本发明所有产品并不需要具备上述所有效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的现有技术编码示意图;
图2是本申请实施例提供的Kafka系统流程图;
图3是本申请实施例提供的方法流程图;
图4是本申请实施例提供的装置结构图;
图5是本申请实施例提供的系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如背景技术中所述,现有技术中,通常使用Gohash算法实现对目标位置的定位,但是由于该种算法使用的Peano空间填充曲线进行编码,容易造成突变,如图1中的0111及1000,虽然编码相近,但实际的位置相差很远,不能保证计算结果的准确性,无法满足对海量数据进行实时处理的实际需求。
实施例一
为解决上述问题,如图2所示,本申请以使用Kafka流计算平台搭建的计算系统对位置实时变化的配送人员进行定位及匹配为例,上述方法具体可通过如下步骤实现:
在该计算系统中,Kafka流计算平台负责接收由用户的查询等请求、配送人员的实时位置等数据流,并由系统中预设的流式计算框架对接收的数据进行计算、对汇总数据及详情数据进行更新,保证数据的及时处理。
kafka是一种分布式消息队列,具有高性能、持久化、多副本备份、横向扩展能力的特性。
当然,该系统也可用于处理配送车辆等其他的需要实时定位的物体。
步骤一、配置每一城市对应的城市编码、最大经纬度、最小经纬度、单位地理块的东西方向的长度Luwe和南北方向的长度Luns;
根据每一城市的最大经纬度、最小经纬度,可以计算获得每一城市的经度跨度lngG、纬度跨度LatG。
将所述经度跨度IngG、纬度跨度LatG代入公式 即可计算获得每一城市对应东西方向的长度跨度Lwe、南北方向的长度跨度Lns,其中a表示纬度跨度LatG、b表示经度跨度IngG,Lat1、Lat2表示该城市的最大纬度和最小纬度,所述公式用于根据经纬度计算两点间的距离。
步骤二、使用Kafka,接收配送人员的实时坐标;
所述实时坐标包含配送人员的实时经度LngT、实时纬度LatT、配送人员对应的ID号、对应的城市编码;
该实时坐标可以由配送人员的手持终端等移动设备定时进行发送,也可通过其他的方法发送,本申请对此不加限定。
步骤三、根据每一配送人员的实时坐标,计算每一配送人员当前所在的区块,根据每一配送人员的实时坐标更新H1、H2表;
所述计算过程可以包括:
如果将一个城市抽象化为一个矩形,由于该城市的所有单位地理块都是形状、大小相同的矩形,那么一个城市就相当于由一系列的单位地理块连接而成。根据公式及就可以计算获得该实时坐标位于该城市的东西方向的第块、南北方向的第块的单位地理块中,该和也可以分别作为这块单位地理块的经度索引和纬度索引,该和的组合就代表着这块单位地理块。及表示IndexLng及IndexLat向上取整。
为了便于存储配送人员的实时位置,本系统预先在Hbase数据库中创建了两张数据表,分别为汇总表H1和详情表H2,Hbase是一种分布式的、具有高可靠性和高性能的面向列的数据库。
汇总表H1的主键为经度索引IndexLng、纬度索引IndexLat以及城市编码组成的复合主键,字段包含了ID,该表用于根据经度索引或纬度索引查找对应的单位地理块包含的配送人员的ID,大大提高了根据经度索引及纬度索引查询对应的ID的效率。
详情表H2的主键为ID、经度索引IndexLng及纬度索引IndexLat组成的复合主键,该表的字段包含了配送实时位置及当前状态,该表用于根据配送人员ID查找对应的配送人员的实时位置、当前状态等参数,由于该表的主键中包含了ID,因此根据ID进行的查询效率很高。
根据计算获得的每一配送人员当前所在的区块的IndexLng和IndexLat以及接收的实时坐标,删除H1表、H2表中原有的记录,生成对应的新纪录。
步骤四、接收用户订单,匹配满足要求的配送人员;
所述匹配过程包括:
根据用户订单中包含的用户的收货地址,计算该收货地址对应的经纬度数据,根据该经纬度数据匹配收货地址所在的单位地理块;
预设的覆盖范围半径R,以所在的单位地理块的四边作为圆心的所在位置,以覆盖范围半径R作为半径画圆,生成的一系列圆以及所在的单位地理块就是该收货地址对应的匹配范围;
该匹配范围的最大经度应当是所在的单位地理块的最大经度和覆盖范围半径R之和,最小经度应当是所在的单位地理块的最小经度和覆盖范围半径R之差,最大纬度应当是所在的单位地理块的最大纬度和覆盖范围半径R之和,最小纬度应当是当是所在的单位地理块的最小纬度和覆盖范围半径R之差。
根据匹配范围的最大经度、最小经度、最大纬度、最小纬度,即可算出该匹配为覆盖的IndexLng的范围、IndexLat的范围,将覆盖范围内的IndexLng、IndexLat进行组合,从H1表中查询这些组合包含的ID,再从H2表中查找这些ID对应的实时位置。
使用公式 计算每个ID的实时位置与收货地址的实际距离,确定实际距离不超过覆盖范围半径R的ID对应的配送认为为满足要求的配送人员,其中a表示实时位置与收货地址的纬度差,Lat1表示实时位置的经度、lat2表示收货地址的经度、b表示实时位置与收货地址的经度差。
本申请公开的上述方案通过对目标配送人员的实时位置信息按城市进行拆解,可在O(1)算法复杂度得内,根据需要查找的收货点以及半径范围,获得得到匹配的配送人员,解决了面临海量数据的数据处理速度问题,提高了数据处理时效的同时也保证了准确性。
实施例二
对应上述实施例,本申请提出了一种对象的查找方法,如图3所示,所述方法包括:
310、接收查询请求,所述请求包含目标位置及目标覆盖半径;
320、根据所述目标位置及目标覆盖半径,确定目标地理范围;
优选的,所述方法包括:
321、根据所述目标位置、每一所述区块的经度跨度及纬度跨度,确定包含所述目标位置的目标区块;
根据所述目标覆盖半径、所述目标区块的经度跨度及纬度跨度,确定所述目标地理范围的经度跨度及纬度跨度。
330、根据所述目标地理范围、每一区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块;
340、根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象;
优选的,所述方法包括:
341、读取汇总表,获得包含的所述区块对应的对象,所述汇总表用于保存区块与对象的对应关系,所述汇总表的主键包含经度索引及纬度索引,每一所述区块对应所述经度索引及所述纬度索引的组合;
所述根据所述目标覆盖半径、所述目标区块的经度跨度及纬度跨度,确定所述目标地理范围的经度跨度及纬度跨度包括:
342、根据所述目标覆盖半径、所述目标区块的经度跨度及纬度跨度,计算所述目标地理范围覆盖的所述经度索引及所述纬度索引;
所述根据所述目标地理范围、每一所述区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块包括:
343、对覆盖的所述经度索引及所述纬度索引进行组合,获得所述目标地理范围包含的所述区块。
350、根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置;
优选的,所述方法包括:
351、读取详情表,获得对应的所述对象的实时位置,所述详情表用于保存对象与实时位置的对应关系,所述详情表的主键包含所述对象。
360、确定所述实时位置距离所述目标位置不超过预设阈值的所述对象为目标对象。
优选的,所述对象的更新过程包括:
370、接收所述对象的实时位置,所述实时位置包含所述对象的实时经纬度数据;
根据所述实时位置及每一区块的经度跨度及纬度跨度,确定所述对象对应的实时区块;
根据所述对象对应的实时区块,更新所述保存的区块与对象的对应关系;
根据接收的所述对象的所述实时位置,更新所述保存的对象与实时位置的对应关系。
优选的,所述接收查询请求包括:
371、使用Kafka流数据处理平台,接收所述查询请求;
所述接收所述对象的实时位置包括:
372、使用所述Kafka流数据处理平台,接收所述对象的实时位置数据流,所述实时位置数据流包含所述对象的实时经纬度数据流;
所述根据所述实时位置及每一区块的经度跨度及纬度跨度,确定所述对象对应的实时区块包括:
373、使用预设的流数据计算方法,根据所述实时位置数据流、每一区块的经度跨度及纬度跨度确定所述对象对应的实时区块。
优选的,所述区块的形状、大小相同。
优选的,所述方法还包括:
380、查找所述目标地理范围对应的城市;
根据预设的所述城市的经度跨度及纬度跨度、预设的所述区块的形状及大小,确定每一所述区块的经度跨度及纬度跨度。
实施例三
对应上述方法实施例,本申请提供了一种对象的查找装置,如图4所示,所述装置包括:
接收模块410,用于接收查询请求,所述请求包含目标位置及目标覆盖半径;
处理模块420,用于根据所述目标位置及目标覆盖半径,确定目标地理范围及根据所述目标地理范围、每一区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块;
查询模块430,用于根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象及根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置;
判断模块440,用于确定所述实时位置距离所述目标位置不超过预设阈值的所述对象为目标对象。
优选的,所述处理模块420还可用于
根据所述目标位置、每一所述区块的经度跨度及纬度跨度,确定包含所述目标位置的目标区块;
根据所述目标覆盖半径、所述目标区块的经度跨度及纬度跨度,确定所述目标地理范围的经度跨度及纬度跨度。
优选的,所述查询模块430还可用于读取汇总表,获得包含的所述区块对应的对象,所述汇总表用于保存区块与对象的对应关系,所述汇总表的主键包含经度索引及纬度索引,每一所述区块对应所述经度索引及所述纬度索引的组合;
所述处理模块420还可用于根据所述目标覆盖半径、所述目标区块的经度跨度及纬度跨度,计算所述目标地理范围覆盖的所述经度索引及所述纬度索引;对覆盖的所述经度索引及所述纬度索引进行组合,获得所述目标地理范围包含的所述区块。
优选的,所述查询模块430还可用于读取详情表,获得对应的所述对象的实时位置,所述详情表用于保存对象与实时位置的对应关系,所述详情表的主键包含所述对象。
优选的,所述装置还包括更新模块450,所述接收模块410还可以用于接收所述对象的实时位置,所述实时位置包含所述对象的实时经纬度数据;
所述处理模块420还可用于根据所述实时位置及每一区块的经度跨度及纬度跨度,确定所述对象对应的实时区块;
所述更新模块450用于根据所述对象对应的实时区块,更新所述保存的区块与对象的对应关系及根据接收的所述对象的所述实时位置,更新所述保存的对象与实时位置的对应关系。
优选的,所述接受模块410还可用于使用Kafka流数据处理平台,接收所述查询请求及使用所述Kafka流数据处理平台,接收所述对象的实时位置数据流,所述实时位置数据流包含所述对象的实时经纬度数据流;
所述处理模块420还可用于使用预设的流数据计算方法,根据所述实时位置数据流、每一区块的经度跨度及纬度跨度确定所述对象对应的实时区块。
优选的,所述处理模块420还可用于查找所述目标地理范围对应的城市;根据预设的所述城市的经度跨度及纬度跨度、预设的所述区块的形状及大小,确定每一所述区块的经度跨度及纬度跨度。
实施例四
对应上述方法、设备及系统,本申请实施例四提供一种计算机系统,包括:一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:接收查询请求,所述请求包含目标位置及目标覆盖半径;
根据所述目标位置及目标覆盖半径,确定目标地理范围;
根据所述目标地理范围、每一区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块;
根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象;
根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置;
确定所述实时位置距离所述目标位置不超过预设阈值的所述对象为目标对象。
其中,图5示例性的展示出了计算机系统的架构,具体可以包括处理器1510,视频显示适配器1511,磁盘驱动器1512,输入/输出接口1513,网络接口1514,以及存储器1520。上述处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520之间可以通过通信总线1530进行通信连接。
其中,处理器1510可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1520可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1520可以存储用于控制计算机系统1500运行的操作系统1521,用于控制计算机系统1500的低级别操作的基本输入输出系统(BIOS)。另外,还可以存储网页浏览器1523,数据存储管理系统1524,以及图标字体处理系统1525等等。上述图标字体处理系统1525就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1520中,并由处理器1510来调用执行。输入/输出接口1513用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口1514用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1530包括一通路,在设备的各个组件(例如处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520)之间传输信息。
另外,该计算机系统1500还可以从虚拟资源对象领取条件信息数据库1541中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,存储器1520,总线1530等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种对象的查找方法,其特征在于,所述方法包括:
接收查询请求,所述请求包含目标位置及目标覆盖半径;
根据所述目标位置及目标覆盖半径,确定目标地理范围;
根据所述目标地理范围、每一区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块;
根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象;
根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置;
确定所述实时位置距离所述目标位置不超过预设阈值的所述对象为目标对象。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标位置及目标覆盖半径,确定目标地理范围包括:
根据所述目标位置、每一所述区块的经度跨度及纬度跨度,确定包含所述目标位置的目标区块;
根据所述目标覆盖半径、所述目标区块的经度跨度及纬度跨度,确定所述目标地理范围的经度跨度及纬度跨度。
3.根据权利要求2所述的方法,其特征在于,所述根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象包括:
读取汇总表,获得包含的所述区块对应的对象,所述汇总表用于保存区块与对象的对应关系,所述汇总表的主键包含经度索引及纬度索引,每一所述区块对应所述经度索引及所述纬度索引的组合;
所述根据所述目标覆盖半径、所述目标区块的经度跨度及纬度跨度,确定所述目标地理范围的经度跨度及纬度跨度包括:
根据所述目标覆盖半径、所述目标区块的经度跨度及纬度跨度,计算所述目标地理范围覆盖的所述经度索引及所述纬度索引;
所述根据所述目标地理范围、每一区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块包括:
对覆盖的所述经度索引及所述纬度索引进行组合,获得所述目标地理范围包含的所述区块。
4.根据权利要求3所述的方法,其特征在于,所述根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置包括:
读取详情表,获得对应的所述对象的实时位置,所述详情表用于保存对象与实时位置的对应关系,所述详情表的主键包含所述对象。
5.根据权利要求1-4任一所述的方法,其特征在于,所述对象的更新过程包括:
接收所述对象的实时位置,所述实时位置包含所述对象的实时经纬度数据;
根据所述实时位置及每一区块的经度跨度及纬度跨度,确定所述对象对应的实时区块;
根据所述对象对应的实时区块,更新所述保存的区块与对象的对应关系;
根据接收的所述对象的所述实时位置,更新所述保存的对象与实时位置的对应关系。
6.根据权利要求5的方法,其特征在于,所述接收查询请求包括:
使用Kafka流数据处理平台,接收所述查询请求;
所述接收所述对象的实时位置包括:
使用所述Kafka流数据处理平台,接收所述对象的实时位置数据流,所述实时位置数据流包含所述对象的实时经纬度数据流;
所述根据所述实时位置及每一区块的经度跨度及纬度跨度,确定所述对象对应的实时区块包括:
使用预设的流数据计算方法,根据所述实时位置数据流、每一区块的经度跨度及纬度跨度确定所述对象对应的实时区块。
7.根据权利要求1-4任一所述的方法,其特征在于,所述区块的形状、大小相同。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
查找所述目标地理范围对应的城市;
根据预设的所述城市的经度跨度及纬度跨度、预设的所述区块的形状及大小,确定每一所述区块的经度跨度及纬度跨度。
9.一种对象的查找装置,其特征在于,所述装置包括:
接收模块,用于接收查询请求,所述请求包含目标位置及目标覆盖半径;
处理模块,用于根据所述目标位置及目标覆盖半径,确定目标地理范围及根据所述目标地理范围、每一区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块;
查询模块,用于根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象及根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置;
判断模块,用于确定所述实时位置距离所述目标位置不超过预设阈值的所述对象为目标对象。
10.一种计算机系统,其特征在于,所述系统包括:
一个或多个处理器;
以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
接收查询请求,所述请求包含目标位置及目标覆盖半径;
根据所述目标位置及目标覆盖半径,确定目标地理范围;
根据所述目标地理范围、每一区块的经度跨度及纬度跨度,确定所述目标地理范围包含的所述区块;
根据保存的区块与对象的对应关系,获得包含的所述区块对应的对象;
根据保存的对象与实时位置的对应关系,获得对应的所述对象的实时位置;
确定所述实时位置距离所述目标位置不超过预设阈值的所述对象为目标对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010042745.XA CN111274272B (zh) | 2020-01-15 | 2020-01-15 | 一种对象的查找方法、装置及计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010042745.XA CN111274272B (zh) | 2020-01-15 | 2020-01-15 | 一种对象的查找方法、装置及计算机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111274272A CN111274272A (zh) | 2020-06-12 |
CN111274272B true CN111274272B (zh) | 2022-08-05 |
Family
ID=70999032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010042745.XA Active CN111274272B (zh) | 2020-01-15 | 2020-01-15 | 一种对象的查找方法、装置及计算机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274272B (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291785A (zh) * | 2016-04-12 | 2017-10-24 | 滴滴(中国)科技有限公司 | 一种数据查找方法及装置 |
CN107092623B (zh) * | 2016-12-21 | 2021-03-23 | 口碑控股有限公司 | 一种兴趣点查询方法及装置 |
-
2020
- 2020-01-15 CN CN202010042745.XA patent/CN111274272B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111274272A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712519B (zh) | Ip地址的定位方法、装置及存储介质 | |
US20130054647A1 (en) | Information processing apparatus, information processing method, and program | |
US8996551B2 (en) | Managing geographic region information | |
CN107092623B (zh) | 一种兴趣点查询方法及装置 | |
CN104866542A (zh) | 一种poi数据验证方法和装置 | |
US20200193372A1 (en) | Information processing method and apparatus | |
CN110807161A (zh) | 一种页面骨架渲染方法、装置、设备及介质 | |
CN111581324B (zh) | 导航数据的生成方法、装置及设备 | |
US20230194302A1 (en) | Method of updating map data, electronic device and storage medium | |
CN114691806A (zh) | 数据查询方法、展示方法、装置、电子设备及存储介质 | |
US20180035367A1 (en) | Method and Apparatus for Accessing Wifi Access Point in Target Shop | |
CN113077548A (zh) | 针对物体的碰撞检测方法、装置、设备和存储介质 | |
CN108009205B (zh) | 基于位置的搜索结果缓存方法、搜索方法、客户端及系统 | |
CN110427574B (zh) | 路线相似度确定方法、装置、设备和介质 | |
CN110309244B (zh) | 一种目标点定位的方法和装置 | |
CN110930101B (zh) | 确定订单的配送时间的方法、装置、电子设备和可读介质 | |
CN111274272B (zh) | 一种对象的查找方法、装置及计算机系统 | |
CN110019538B (zh) | 一种数据表切换方法及装置 | |
CN110750602A (zh) | 确定订单地址所属站点的方法和装置 | |
CN114064829A (zh) | 对定位点进行聚合展示的方法、装置及电子设备 | |
CN113656446A (zh) | 提高地理编码准确率的方法及装置 | |
CN104156364A (zh) | 地图搜索结果的展现方法和装置 | |
CN111737374B (zh) | 位置坐标确定方法、装置、电子设备及存储介质 | |
CN112948517A (zh) | 区域位置标定方法、装置及电子设备 | |
CN112100180B (zh) | 位置范围的确定方法、装置、存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |