业务对象的搜索方法和装置与流程

文档序号:11458625阅读:213来源:国知局
业务对象的搜索方法和装置与流程

本申请涉及互联网技术领域,尤其涉及一种业务对象的搜索方法和装置。



背景技术:

目前,很多应用软件(application,app)都提供有基于位置的搜索功能,比如:搜索附近餐馆、搜索附近的人等,如何提高搜索结果的准确性已成为亟待解决的问题。



技术实现要素:

有鉴于此,本申请提供一种业务对象的搜索方法和装置。

具体地,本申请是通过如下技术方案实现的:

一种业务对象的搜索方法,所述方法包括:

接收到业务对象搜索请求,所述业务对象搜索请求中携带用户当前位置和搜索范围;

在所述搜索范围内搜索到业务对象;

判断所述业务对象和用户当前位置之间是否存在阻断区域,所述阻断区域是不可直接通行的区域;

若所述业务对象和用户当前位置之间存在阻断区域,则确定所述阻断区域的链接点与所述业务对象之间的第一距离以及所述阻断区域的链接点与用户当前位置之间的第二距离,所述链接点用于连通其所属的阻断区域;

判断所述第一距离与所述第二距离之和是否超出所述搜索范围;

若所述第一距离与所述第二距离之和未超出所述搜索范围,则将所述业务对象确定为搜索到的目标业务对象。

一种业务对象的搜索装置,所述装置包括:

请求接收单元,接收到业务对象搜索请求,所述业务对象搜索请求中携带用户当前位置和搜索范围;

对象搜索单元,在所述搜索范围内搜索到业务对象;

阻断判断单元,判断所述业务对象和用户当前位置之间是否存在阻断区域,所述阻断区域是不可直接通行的区域;

距离确定单元,若所述业务对象和用户当前位置之间存在阻断区域,则确定所述阻断区域的链接点与所述业务对象之间的第一距离以及所述阻断区域的链接点与用户当前位置之间的第二距离,所述链接点用于连通其所属的阻断区域;

范围判断单元,判断所述第一距离与所述第二距离之和是否超出所述搜索范围;

对象确定单元,若所述第一距离与所述第二距离之和未超出所述搜索范围,则将所述业务对象确定为搜索到的目标业务对象。

由以上描述可以看出,本申请若在搜索范围内搜索到业务对象,可以判断所述业务对象和用户当前位置之间是否存在阻断区域,并在存在阻断区域时,根据该阻断区域的链接点计算用户从当前位置到达所述业务对象实际所需的距离,并在该实际所需的距离未超出所述搜索范围时,将所述业务对象确定为搜索到的目标业务对象,从而提高搜索的准确性,提高用户的搜索体验。

附图说明

图1是本申请一示例性实施例示出的一种业务对象的搜索方法的流程示意图。

图2是本申请一示例性实施例示出的一种阻断区域示意图。

图3是本申请一示例性实施例示出的另一种阻断区域示意图。

图4是本申请一示例性实施例示出的另一种业务对象的搜索方法的流程示意图。

图5是本申请一示例性实施例示出的另一种阻断区域示意图。

图6是本申请一示例性实施例示出的一种用于业务对象的搜索装置的一结构示意图。

图7是本申请一示例性实施例示出的一种业务对象的搜索装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

相关技术中,以用户搜索附近500米的餐馆为例,通常会搜索与用户的直线距离在500米以内的餐馆。然而,用户与搜索到的餐馆的实际可达距离可能远远超过500米,比如:用户与搜索到的餐馆之间相隔一条河,用户到桥的距离是700米,桥到餐馆的距离是500米,那么用户到该餐馆的实际距离就是1200米,远远大于搜索的范围,影响用户的搜索体验。

针对上述问题,本申请提供一种业务对象的搜索方案。

图1是本申请一示例性实施例示出的一种业务对象的搜索方法的流程示意图。

请参考图1,所述业务对象的搜索方法可以应用在服务提供商部署的服务器或者服务器集群中,包括有以下步骤:

步骤101,接收到业务对象搜索请求,所述业务对象搜索请求中携带用户当前位置和搜索范围。

在本实施例中,所述业务对象可以为商场、电影院、酒店、银行、医院、学校等,具体可以由用户指定。所述搜索范围可以为默认的搜索范围,也可以由用户指定,这部分的处理与实现可以参照相关技术,本申请在此不再一一赘述。

步骤102,在所述搜索范围内搜索到业务对象。

在本实施例中,可以采用相关技术中提供的业务对象搜索方式进行搜索,比如:搜索与用户当前位置的直线距离未超出所述搜索范围的业务对象。在实际实现中,可以根据用户当前位置的坐标与业务对象的坐标计算所述直线距离,然后判断所述直线距离是否超出所述搜索范围。这部分的处理与实现也可以参照相关技术,本申请在此不再一一赘述。

步骤103,判断所述业务对象和用户当前位置之间是否存在阻断区域,所述阻断区域是不可直接通行的区域。

在本实施例中,所述阻断区域通常为不能够直接通行的区域,所述阻断区域可以分为两类,一类为管制型区域,比如:军事管制区、封闭式学校、封闭式居民小区等,这些管制型区域通常不允许外部人员穿行。另一类为隔离型区域,比如:河流、高速公路等无法直接穿行的区域。

在本实施例中,若所述业务对象和用户当前位置之间存在阻断区域,则可以执行步骤104。若所述业务对象和用户当前位置之间不存在阻断区域,则可以将所述业务对象确定为搜索到的目标业务对象,并返回给用户。

步骤104,若所述业务对象和用户当前位置之间存在阻断区域,则确定所述阻断区域的链接点与所述业务对象之间的第一距离以及所述阻断区域的链接点与用户当前位置之间的第二距离,所述链接点用于连通其所属的阻断区域。

在本实施例中,可以通过判断业务对象与用户当前位置的连线是否与任一阻断区域相交来确定业务对象和用户当前位置之间是否存在阻断区域。一般而言,当业务对象与用户当前位置的连线与任一阻断区域相交时,可以确定业务对象和用户当前位置之间存在阻断区域。当业务对象与用户当前位置的连线与任一阻断区域均不相交时,可以确定业务对象和用户当前位置之间不存在阻断区域。

在本实施例中,若所述业务对象和用户当前位置之间存在阻断区域,则确定所述阻断区域的链接点与所述业务对象之间的第一距离以及所述阻断区域的链接点与用户当前位置之间的第二距离。其中,所述链接点用于连通其所属的阻断区域。举例来说,假设所述阻断区域为河流,那么其链接点可为该河流上的桥梁。

步骤105,判断所述第一距离与所述第二距离之和是否超出所述搜索范围。

在本实施例中,在确定所述第一距离和所述第二距离之后,可以计算所述第一距离和所述第二距离的和,这个和通常是用户从其当前位置到达业务对象实际所需的距离。

在本步骤中,可以判断所述第一距离与所述第二距离之和是否超出所述搜索范围,若所述第一距离和所述第二距离之和未超出所述搜索范围,则可以执行步骤106。若所述第一距离和所述第二距离之和超出所述搜索范围,则可以忽略该业务对象,即不将该业务对象作为搜索结果返回给用户。

步骤106,若所述第一距离与所述第二距离之和未超出所述搜索范围,则将所述业务对象确定为搜索到的目标业务对象。

基于前述步骤105的判断结果,若所述第一距离与所述第二距离之和未超出所述搜索范围,则说明用户从当前位置到达所述业务对象实际所需的距离未超出搜索范围,进而可以将该业务对象确定为搜索到的目标业务对象,并返回给用户。

由以上描述可以看出,本申请若在搜索范围内搜索到业务对象,可以判断所述业务对象和用户当前位置之间是否存在阻断区域,并在存在阻断区域时,根据该阻断区域的链接点计算用户从当前位置到达所述业务对象实际所需的距离,并在该实际所需的距离未超出所述搜索范围时,将所述业务对象确定为搜索到的目标业务对象,从而提高搜索的准确性,提高用户的搜索体验。

以下通过阻断区域与链接点、业务对象的搜索两个方面,对本申请的技术方案进行详细描述。

一、阻断区域与链接点

在本实施例中,为便于计算,可以将所述阻断区域设置为多边形。具体地,可以基于实际生活中无法直接通行的区域的形状将对应的区域划分为一个或者多个多边形的阻断区域。

图2示出了一种隔离型的阻断区域,假设图2示出的为一段河流,在实际应用中,为便于计算,可以将这段河流划分为三个长方形的阻断区域,分别为阻断区域1、阻断区域2以及阻断区域3。针对每个阻断区域,可以保存对应长方形的4个顶点的位置坐标作为所述阻断区域的位置信息。

请继续参考图2,阻断区域2中有一座桥梁,则可以将这座桥梁的中点确定为阻断区域2的链接点。当然,在实际应用中,也可以将这座桥梁上的任意一个点或者多个点确定为阻断区域2的链接点,本申请对此不作特殊限制。类似的,阻断区域1和阻断区域3均不存在用于连通对应阻断区域的链接点。

图3示出了一种管制型的阻断区域,假设图3示出的为一所封闭式学校,这所学校呈六边形,则可以将这所学校作为一个阻断区域:阻断区域4。针对该阻断区域4,可以保存对应六边形的6个顶点的位置坐标作为阻断区域4的位置信息。

请继续参考图3,阻断区域4无法穿行,但可以绕着阻断区域4的六条边通过阻断区域4,也就是沿着这所学校的外围道路通过所述学校。因此,可以将阻断区域4的6个顶点abcdef确定为阻断区域6的链接点。当然,在实际应用中,根据阻断区域4附近的实际路况,还可以将6个顶点中的一部分顶点设置为链接点,或者设置其他的链接点,本申请对此不作特殊限制。

在本实施例中,在基于实际情况确定出阻断区域以及每个阻断区域的链接点之后,可以保存阻断区域的位置信息以及其链接点的位置信息。其中,所述链接点的位置信息通常为所述链接点的位置坐标。

在本实施例中,阻断区域和链接点通常是预先确定好的,比如:在执行本申请提供的业务对象的搜索逻辑之前,先确定出阻断区域和其链接点,并保存阻断区域和其链接点的位置信息,以供后续使用。

可选的,在另一个例子中,为提高搜索效率,减少搜索时的计算量,在确定阻断区域和链接点之后,针对每个业务对象,可以先判断所述业务对象附近是否存在有链接点,比如:可以以所述业务对象为中心,判断方圆3公里(预设范围)内是否存在有链接点。若存在链接点,则可以保存所述业务对象与该链接点的对应关系。此外,还可以预先计算并保存所述链接点与所述业务对象之间的第一距离。请参考表1的示例,可以预先保存如下对应关系。

表1

二、业务对象的搜索

在本实施例中,基于图1所示的实施例,在步骤103中,可以根据保存的每个阻断区域的位置信息判断搜索到的业务对象与用户当前位置的连线是否与该阻断区域相交,若相交,则可以确定该业务对象与用户当前位置之间存在阻断区域。若业务对象与用户当前位置的连线与任一阻断区域均不相交,则可以确定该业务对象与用户当前位置之间不存在阻断区域。

举例来说,以图3所示的阻断区域4为例,可以判断业务对象与用户当前位置的联系是否与图3所示的六边形相交,若相交,则可以确定该业务对象与用户当前位置之间存在阻断区域4。

在实际应用中,由于阻断区域的数量可能较多,依次进行上述判断会导致处理量较大,可能会影响搜索速度。可选的,在另一个例子中,请参考图4,业务对象的搜索可以包括以下步骤:

步骤401,接收到业务对象搜索请求,所述业务对象搜索请求中携带用户当前位置和搜索范围。

步骤402,在所述搜索范围内搜索到业务对象。

在本实施例中,步骤401和步骤402的处理过程可以参考前述步骤101和步骤102,本申请在此不再一一赘述。

步骤403,当所述业务对象对应有链接点时,判断所述业务对象与用户当前位置的连线是否与所述业务对象对应的任一链接点所属的阻断区域相交。

基于前述步骤402,在搜索到业务对象时,可以先根据业务对象与链接点的对应关系(例如表1的示例)判断所述业务对象是否对应有链接点,如果所述业务对象未对应有任何链接点,则可以将所述业务对象确定为搜索到的目标业务对象,并返回给用户。

如果所述业务对象对应有链接点,则可以先确定该链接点所属的阻断区域,然后判断所述业务对象与用户当前位置的连线是否与该阻断区域相交。若未相交,则可以将所述业务对象确定为搜索到的目标业务对象,并返回给用户。若相交,则可以继续执行步骤404。

以图2所示的阻断区域2为例,请参考图5的示例,假设,用户当前位于h点,用户搜索附近500米之内的餐馆,则可以搜索到餐馆1,与用户当前位置的直线距离是430米(点h与点l之间的距离)。在本例中,基于表1所示的对应关系,可以确定餐馆1对应有链接点k,而链接点k属于阻断区域2,则可以根据阻断区域2的位置信息判断用户当前位置与餐馆1的连线hl是否与阻断区域2相交。在本例中,hl与阻断区域2相交,则可以执行步骤404。

步骤404,若所述业务对象与用户当前位置的连线与所述业务对象对应的某一链接点所属的阻断区域相交,则确定所述某一链接点与所述业务对象之间的第一距离以及所述阻断区域的链接点与用户当前位置之间的第二距离。

请继续参考图5,在本步骤中,可以从表1中获取已保存的链接点k与餐馆1之间的第一距离500米(kl之间的距离),还可以计算链接点k与用户当前位置h之间的第二距离,比如:可以根据链接点k的位置坐标以及用户当前位置h的位置坐标计算所述第二距离。

步骤405,判断所述第一距离与所述第二距离之和是否超出所述搜索范围。

在本实施例中,若所述第一距离与所述第二距离之和未超出所述搜索范围,则可以执行步骤406。若所述第一距离与所述第二距离之和超出所述搜索范围,则可以忽略所述业务对象,即不将所述业务对象作为搜索到的业务对象返回给用户。

基于前述步骤404,在本步骤中,可以计算所述第一距离与所述第二距离之和。假设,所述第二距离为700米,计算得到所述第一距离与所述第二距离之和为1200米,超过了所述搜索范围500米,则可不将餐馆1作为搜索结果。因为,用户到从当前位置h到达餐馆1所需要的实际距离是1200米,远远大于搜索距离。

需要说明的是,在实际应用中,为提高准确性,所述第一距离和所述第二距离可以为实际场景中的可达距离,比如:在考量当前道路分布状况后确定出的距离。可选的,为提高搜索速率,所述第一距离和所述第二距离也可以是根据位置坐标计算出的直线距离,本申请对此不作特殊限制。

步骤406,若所述第一距离与所述第二距离之和未超出所述搜索范围,则将所述业务对象确定为搜索到的目标业务对象。

基于前述步骤405的判断结果,若所述第一距离与所述第二距离之和未超出所述搜索范围,则可以说明用户从当前位置到达所述业务对象所需的实际距离未超过搜索范围,进而可以将所述业务对象确定为搜索到的目标业务对象,并将所述第一距离与所述第二距离之和作为用户与所述业务对象之间的搜索距离返回给用户。对于用户而言,搜索结果中显示的搜索距离就是实际到达所述业务对象的距离,提高了用户的搜索体验。

可选的,在另一个例子中,针对管制型的阻断区域,由于每个阻断区域通常拥有多个链接点,在计算用户从当前位置到达业务对象实际需要的距离时,可以针对每个链接点分别进行计算。即,当所述业务对象和用户当前位置之间存在的阻断区域包括多个链接点时,基于每个链接点分别确定所述第一距离和所述第二距离,并计算所述第一距离和对应的第二距离之和,然后判断所述第一距离和所述第二距离之和是否超出所述搜索范围,若存在一个或者多个链接点的第一距离和第二距离之和未超出所述搜索范围,则可以将所述业务对象确定为搜索到的目标业务对象。若任一链接点的所述第一距离和所述第二距离之和均超出所述搜索范围,则可以忽略所述业务对象。

请参考表1,假设,根据搜索范围搜索到的业务对象为餐馆2,餐馆2对应有6个链接点,且用户当前位置和餐馆2的连线与阻断区域4相交,则可以针对每个链接点分别确定第一距离以及第二距离,并计算所述第一距离和所述第二距离之和。为便于描述,可以将第一距离和第二距离之和记为s,则可以计算得到sa、sb、sc、sd、se以及sf。然后可依次判断sa、sb、sc、sd、se以及sf是否超出所述搜索范围,假设sa未超出所述搜索范围,则可以将餐馆2确定为搜索到的目标餐馆。若sa、sb、sc、sd、se以及sf都超出了所述搜索范围,则可以忽略餐馆2。

可选的,在另一个例子中,针对管制型的阻断区域,在进行所述第一距离的确定之前,还可以先判断对应的链接点与业务对象的连线是否与所属的阻断区域相交,若相交,则说明该链接点到达业务对象的路径需要穿过阻断区域,在实际场景中无法实现,进而无需进行第一距离和第二距离的确定。进一步的,针对预先存储第一距离的实现方式,可以在存储前先进行上述判断,若链接点与业务对象之间的连线与所述阻断区域相交,则可以将第一距离存储为无限大或者为空。若对应链接点与业务对象的连线未与所属的阻断区域相交,则进行所述第一距离的确定。另一方面,类似的,在进行所述第二距离的确定之前,还可以先判断对应的链接点与用户当前位置的连线是否与所属的阻断区域相交,若相交,则同样无需进行第二距离的确定。若对应的链接点与用户当前位置的连线未与所述阻断区域相交,则可进行所述第二距离的确定。

与前述业务对象的搜索方法的实施例相对应,本申请还提供了业务对象的搜索装置的实施例。

本申请业务对象的搜索装置的实施例可以应用在服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在服务器的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本申请业务对象的搜索装置所在服务器的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的服务器通常根据该服务器的实际功能,还可以包括其他硬件,对此不再赘述。

图7是本申请一示例性实施例示出的一种业务对象的搜索装置的框图。

请参考图7,所述业务对象的搜索装置600可以应用在前述图6所示的服务器中,包括有:请求接收单元601、对象搜索单元602、阻断判断单元603、距离确定单元604、范围判断单元605、对象确定单元606、和计算单元607、位置保存单元608以及距离返回单元609。

其中,请求接收单元601,接收到业务对象搜索请求,所述业务对象搜索请求中携带用户当前位置和搜索范围;

对象搜索单元602,在所述搜索范围内搜索到业务对象;

阻断判断单元603,判断所述业务对象和用户当前位置之间是否存在阻断区域,所述阻断区域是不可直接通行的区域;

距离确定单元604,若所述业务对象和用户当前位置之间存在阻断区域,则确定所述阻断区域的链接点与所述业务对象之间的第一距离以及所述阻断区域的链接点与用户当前位置之间的第二距离,所述链接点用于连通其所属的阻断区域;

范围判断单元605,判断所述第一距离与所述第二距离之和是否超出所述搜索范围;

对象确定单元606,若所述第一距离与所述第二距离之和未超出所述搜索范围,则将所述业务对象确定为搜索到的目标业务对象。

和计算单元607,当所述业务对象和用户当前位置之间存在的阻断区域包括多个链接点时,基于每个链接点分别确定所述第一距离和所述第二距离,并计算所述第一距离和所述第二距离之和;

所述对象确定单元606,判断所述阻断区域的多个链接点中是否存在一个或多个链接点满足以下条件:

所述链接点对应的第一距离和第二距离之和未超出所述搜索范围;

若存在一个或多个链接点满足所述条件,则将所述业务对象确定为搜索到的目标业务对象。

位置保存单元608,保存每个阻断区域的位置信息;

所述阻断判断单元603,根据阻断区域的位置信息判断所述业务对象与用户当前位置的连线是否与任一阻断区域相交;若所述业务对象与用户当前位置的连线与任一阻断区域相交,则确定所述业务对象和用户当前位置之间存在阻断区域。

可选的,所述阻断判断单元603,当所述业务对象对应有链接点时,判断所述业务对象与用户当前位置的连线是否与所述业务对象对应的任一链接点所属的阻断区域相交;其中,所述业务对象对应的链接点与所述业务对象的距离在预设范围内。

可选的,所述阻断区域是多边形,所述阻断区域的位置信息为所述多边形各个顶点的位置坐标。

可选的,当所述阻断区域为管制型区域时,所述阻断区域的链接点是所述多边形的各个顶点。

可选的,所述距离确定单元604,当所述阻断区域的链接点与所述业务对象的连线未与所述阻断区域相交时,确定所述阻断区域的链接点与所述业务对象之间的第一距离;当所述阻断区域的链接点与用户当前位置的连线未与所述阻断区域相交时,确定所述阻断区域的链接点与用户当前位置之间的第二距离。

可选的,所述管制型区域包括:军事管制区、封闭式学校、封闭式居民小区。

可选的,当所述阻断区域隔离型区域时,所述阻断区域的链接点是穿过所述隔离型区域的路径的中点。

可选的,所述隔离型区域包括:高速公路、河流。

可选的,所述对象确定单元606,进一步在所述业务对象和用户当前位置之间不存在阻断区域时,将所述业务对象确定为搜索到的目标业务对象。

距离返回单元609,在将所述业务对象确定为搜索到的目标业务对象后,将所述第一距离与所述第二距离之和作为用户与所述业务对象之间的搜索距离返回给用户。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1