基于步行距离的店铺展示方法及装置与流程

文档序号:20164612发布日期:2020-03-24 21:21阅读:145来源:国知局
基于步行距离的店铺展示方法及装置与流程

本发明涉及计算机技术领域,具体涉及一种基于步行距离的店铺展示方法及装置。



背景技术:

在众多的本地生活应用中,通常会将距离因素作为展示或推荐的依据,例如,按照距离的远近进行店铺等目的地的排序展示,或者,将店铺距离当前位置的距离展示在用户端中,以供用户进行选择。

在现有技术的一些方案中,该距离是指出发位置和目的位置之间的直线距离,而直线距离往往与真实距离存在较大的误差,有些极端情况下,真实距离甚至是直线距离的两倍,这就使得提供给用户的距离信息不能引导用户进行合理的选择。或者,在一些改进的技术方案中,如在申请公布号为cn108446298a的中国专利申请中,将地图划分为geohash块,将无限个分散点之间的路线变换成有限个geohash块与geohash块之间的路线,计算有限个geohash块与geohash块之间通过不同的通勤方式进行通勤时对应的通勤时间并存储在第一数据库中,以及将地图上的小区与geohash块进行对应存储,根据用户所处的坐标,则可查询到通勤时间在用户可接受范围内的小区,并将查询到的各小区或小区集合以及对应的通勤方式和通勤时间展示给用户。但是,在该申请中,需要对线下划分出的所有区块之间进行通勤计算,运算量大,耗费计算资源;以及,查询时的查询量也大,降低了展示的效率。

可见,现有技术中还没有一种可以高效率的得到真实距离并据此进行展示的方案。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于步行距离的店铺展示方法及装置。

根据本发明的一个方面,提供了一种基于步行距离的店铺展示方法,包括:

从搜索日志中采集由出发位置和目的位置组成的多个位置对;利用区块编码表示每个位置对的出发位置和目的位置,得到多个编码对;

对所述多个编码对进行去重处理;

获取去重处理后的每个编码对表示的两个区块之间的步行距离,存储多个编码对及其步行距离至离线数据库;

当接收到包含实时出发位置的店铺展示请求时,查询离线数据库获得所述实时出发位置和各个待展示店铺的实时目的位置之间的步行距离,根据所述步行距离展示店铺。

可选的,所述从搜索日志中采集由出发位置和目的位置组成的多个位置对进一步包括:

针对搜索日志中的每次搜索行为,将该搜索行为的发生位置确定为出发位置,以及将该搜索行为中点击的至少一个店铺的店铺位置确定为目的位置;其中,由一个出发位置和一个目的位置组成一个位置对。

可选的,所述对所述多个编码对进行去重处理进一步包括:

将任意两个编码对的出发位置编码和目的位置编码分别进行比较,判断是否出发位置编码相同且目的位置编码相同,若是,则滤除该任意两个编码对中的一个编码对。

可选的,所述对所述多个编码对进行去重处理进一步包括:

将任意两个编码对中一个编码对的出发位置编码与另一个编码对的目的位置编码进行比较,以及将一个编码对的目的位置编码和另一个编码对的出发位置编码进行比较;判断是否一个编码对的出发位置编码与另一个编码对的目的位置编码相同,且一个编码对的目的位置编码和另一个编码对的出发位置编码相同,若是,则滤除该任意两个编码对中的一个编码对。

可选的,所述获取去重处理后的每个编码对表示的两个区块之间的步行距离具体为:

针对去重处理后的每个编码对,确定该编码对的出发位置编码表示的区块的第一中心坐标,以及确定该编码对的目的位置编码表示的区块的第二中心坐标;

获取第一中心坐标与第二中心坐标的步行距离作为该编码对表示的两个区块之间的步行距离。

可选的,所述查询离线数据库获得所述实时出发位置和各个待展示店铺的实时目的位置之间的步行距离,根据所述步行距离展示店铺进一步包括:

将实时出发位置和多个待展示店铺的实时目的位置分别利用区块编码表示为第一编码和多个第二编码;根据第一编码和各个第二编码组成的实时编码对查询离线数据库,并根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离展示店铺。

可选的,所述根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离展示店铺进一步包括:

根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离确定多个待展示店铺的展示排序并展示店铺。

可选的,在所述获取去重处理后的每个编码对表示的两个区块之间的步行距离之后,所述方法还包括:从去重处理后的多个编码对中筛选出步行距离小于预设距离阈值的步行编码对;

所述存储多个编码对及其步行距离至离线数据库具体为:存储步行编码对及其步行距离至离线数据库。

可选的,所述查询离线数据库获得所述实时出发位置和各个待展示店铺的实时目的位置之间的步行距离,根据所述步行距离展示店铺进一步包括:

针对由实时出发位置和各个待展示店铺的实时目的位置组成的实时编码对,判断离线数据库中是否存在对应该实时编码对的步行编码对,若是,则根据该步行编码对的步行距离在第一排序内展示店铺信息;若否,则根据该实时编码对之间的直线距离在第二排序内展示店铺信息。

可选的,所述区块编码的编码精度根据展示效率阈值和步行距离准确度阈值进行设置。

根据本发明的一个方面,提供了一种基于步行距离的店铺展示方法,包括:

向服务器发送包含实时出发位置的店铺展示请求;

接收服务器查询离线数据库获得的所述实时出发位置和各个待展示店铺的实时目的位置之间的步行距离;

根据所述步行距离展示店铺。

可选的,所述离线数据库中存储有利用前述任一项所述的方法得到的多个编码对及其步行距离。

可选的,所述根据所述步行距离展示店铺进一步包括:

根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离确定多个待展示店铺的展示排序并展示店铺。

可选的,所述根据所述步行距离展示店铺进一步包括:

针对接收到服务器查询到的步行距离的待展示店铺,根据所述步行距离在第一排序内展示店铺信息;和/或,

针对未接收到服务器查询到的步行距离的待展示店铺,根据实时触发位置与待展示店铺的实时目的位置之前的直线距离在第二排序内展示店铺信息。

根据本发明的另一方面,提供了编码模块,适于从搜索日志中采集由出发位置和目的位置组成的多个位置对;利用区块编码表示每个位置对的出发位置和目的位置,得到多个编码对;

去重模块,适于对所述多个编码对进行去重处理;

获取模块,适于获取去重处理后的每个编码对表示的两个区块之间的步行距离;

存储模块,适于存储多个编码对及其步行距离至离线数据库;

展示模块,适于当接收到包含实时出发位置的店铺展示请求时,查询离线数据库获得所述实时出发位置和各个待展示店铺的实时目的位置之间的步行距离,根据所述步行距离展示店铺。

可选的,所述编码模块进一步适于:

针对搜索日志中的每次搜索行为,将该搜索行为的发生位置确定为出发位置,以及将该搜索行为中点击的至少一个店铺的店铺位置确定为目的位置;其中,由一个出发位置和一个目的位置组成一个位置对。

可选的,所述去重模块进一步适于:

将任意两个编码对的出发位置编码和目的位置编码分别进行比较,判断是否出发位置编码相同且目的位置编码相同,若是,则滤除该任意两个编码对中的一个编码对。

可选的,所述去重模块进一步适于:

将任意两个编码对中一个编码对的出发位置编码与另一个编码对的目的位置编码进行比较,以及将一个编码对的目的位置编码和另一个编码对的出发位置编码进行比较;判断是否一个编码对的出发位置编码与另一个编码对的目的位置编码相同,且一个编码对的目的位置编码和另一个编码对的出发位置编码相同,若是,则滤除该任意两个编码对中的一个编码对。

可选的,所述获取模块进一步适于:

针对去重处理后的每个编码对,确定该编码对的出发位置编码表示的区块的第一中心坐标,以及确定该编码对的目的位置编码表示的区块的第二中心坐标;

获取第一中心坐标与第二中心坐标的步行距离作为该编码对表示的两个区块之间的步行距离。

可选的,所述展示模块进一步适于:

将实时出发位置和多个待展示店铺的实时目的位置分别利用区块编码表示为第一编码和多个第二编码;根据第一编码和各个第二编码组成的实时编码对查询离线数据库,并根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离展示店铺。

可选的,所述展示模块进一步适于:

根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离确定多个待展示店铺的展示排序并展示店铺。

可选的,所述装置还包括:筛选模块,适于从去重处理后的多个编码对中筛选出步行距离小于预设距离阈值的步行编码对;

所述存储模块进一步适于:存储步行编码对及其步行距离至离线数据库。

可选的,所述展示模块进一步适于:

针对由实时出发位置和各个待展示店铺的实时目的位置组成的实时编码对,判断离线数据库中是否存在对应该实时编码对的步行编码对,若是,则根据该步行编码对的步行距离在第一排序内展示店铺信息;若否,则根据该实时编码对之间的直线距离在第二排序内展示店铺信息。

可选的,所述区块编码的编码精度根据展示效率阈值和步行距离准确度阈值进行设置。

根据本发明的又一方面,提供了一种基于步行距离的店铺展示装置,包括:

请求模块,适于向服务器发送包含实时出发位置的店铺展示请求;

接收模块,适于接收服务器查询离线数据库获得的所述实时出发位置和各个待展示店铺的实时目的位置之间的步行距离;

展示模块,适于根据所述步行距离展示店铺。

可选的,所述离线数据库中存储有利用前述任一项所述的方法得到的多个编码对及其步行距离。

可选的,所述展示模块进一步适于:

根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离确定多个待展示店铺的展示排序并展示店铺。

可选的,所述展示模块进一步适于:

针对接收到服务器查询到的步行距离的待展示店铺,根据所述步行距离在第一排序内展示店铺信息;和/或,

针对未接收到服务器查询到的步行距离的待展示店铺,根据实时触发位置与待展示店铺的实时目的位置之前的直线距离在第二排序内展示店铺信息。

根据本发明的又一方面,提供了一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述基于步行距离的店铺展示方法对应的操作。

根据本发明的再一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述基于步行距离的店铺展示方法对应的操作。

根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述基于步行距离的店铺展示方法对应的操作。

根据本发明的基于步行距离的店铺展示方法及装置,将由出发位置和目的位置组成的位置对利用区块编码进行表示后再进行去重处理,可将对大量位置对对应的离散点之间的步行距离转化为较少编码对表示的两个区块之间的步行距离的计算,减少了步行距离的计算量;以从搜索日志中采集的由出发位置和目的位置组成的多个位置对为离线计算的基础数据,也即仅针对历史出现过的位置对进行计算,通过根据历史的搜索数据有针对性的进行步行距离的计算,无需对地图上全量的区块之间进行步行距离的计算与存储,有利于在实现快速查询的同时,提高查询命中率;当接收到实时的位置展示请求时,通过查询离线数据库即可得到步行距离,避免实时进行步行距离的计算,提高展示效率;在确定待展示店铺后向离线数据库查询得到距离各个待展示店铺的步行距离再进行展示,可以提高待展示店铺确定的灵活性,同时可利于用户依据展示结果进行准确的选择。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的基于步行距离的店铺展示方法的流程图;

图2示出了根据本发明另一个实施例的基于步行距离的店铺展示方法的流程图;

图3示出了根据本发明一个实施例的基于步行距离的店铺展示装置的功能框图;

图4示出了根据本发明实施例的一种服务器的结构示意图;

图5示出了根据本发明实施例的一种计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的基于步行距离的店铺展示方法的流程图。如图1所示,该方法包括:

步骤s110:从搜索日志中采集由出发位置和目的位置组成的多个位置对;利用区块编码表示每个位置对的出发位置和目的位置,得到多个编码对。

在本发明中,将线上搜索日志的数据作为进行离线计算的基础数据,并且针对该搜索日志的数据进行离线计算。

其中,搜索日志中包含多个用户的搜索行为数据,其中,搜索行为包括进入用户端中的推荐模块后自动产生的请求行为,例如,在本地生活应用中点击美食模块,则会自动产生美食店铺的展示请求,或者,输入搜索条件并请求搜索后产生的请求行为。

具体地,从搜索日志中采集得到每次搜索行为的出发位置和目的位置,其中,一次搜索行为的目的位置可以为一个或者多个,针对一次搜索行为,将出发位置和每个目的位置进行组合,得到一个或多个位置对,以此类推,多次搜索行为则可得到多个位置对。然后,利用区块编码表示出发位置和目的位置,将出发位置和目的位置分别对应的位置点转化为区块来表示,则一个位置对可以表示为一个编码对,其中,区块编码相同,则表示位置点位于同一区块中。需要在此说明的是,在本发明中,不限定区块编码的具体算法,实际实施时,可选择任意可将坐标点转化为其所属的位置区域的算法进行编码。

举例来说,位置对a的出发位置为小区1中的2号楼的位置坐标,目的位置为商场s中的店铺m的位置坐标,对出发位置的位置坐标进行区块编码,得到其所属位置区域的区块编码表示为1111,对目的位置的位置坐标进行区块编码,得到其所属位置区域的区块编码表示为2222,则得到对应该位置对的编码对为(1111,2222)。

步骤s120:对多个编码对进行去重处理。

具体地,区块编码表示的为一个区块,即对应一个位置区域,若多个位置点所属的位置区域相同,则其区块编码相同,基于此,对多个编码对进行去重处理,仅保留重复的多个编码对中的一个,以避免后续对步行距离的重复计算。

例如,在上述位置对a的基础上,另有一位置对b,位置对b的出发位置为小区1中的3号楼的位置坐标,目的位置为商场s中的店铺n的位置坐标,若小区1中的2号楼和3号楼属于同一位置区域,区块编码表示也为1111,以及商场s中的店铺m和店铺n也属于同一位置区域,区块编码表示也为2222,则认为上述位置对a和位置对b对应的编码对相同,则仅保留一个编码对(1111,2222)。

步骤s130:获取去重处理后的每个编码对表示的两个区块之间的步行距离,存储多个编码对及其步行距离至离线数据库。

其中,两个区块之间的步行距离即为真实距离,而非直线距离。

具体地,对于去重处理后的每个编码对,计算其表示的两个区块之间的步行距离,该计算的过程可通过访问导航服务来实现。利用离线数据库来存储编码对及其步行距离,以便于在实时展示过程中进行查询。

通过上述步骤s110至步骤s130,从线上的搜索日志中采集出发位置和目的位置作为基础数据,即将历史出现过的出发位置和目的位置作为基础数据,而并非针对地图上所有的分散点进行计算,并将出发位置和目的位置组成的位置对表示为编码对后进行去重处理并计算区块之间的步行距离,至此,得到的编码对及其步行距离则可认为是历史出现过的出发位置与目的位置之间的步行距离,存储该数据用于后续查询则可在减少存储资源的占用同时,提高查询的命中率。

步骤s140:当接收到包含实时出发位置的店铺展示请求时,查询离线数据库获得实时出发位置和各个待展示店铺的实时目的位置之间的步行距离,根据步行距离展示店铺。

其中,实时出发位置可以为定位位置,或者为用户选择的出发位置。

具体地,当接收到店铺展示请求时,确定需要进行展示的多个待展示店铺,该多个待展示店铺由发起请求的客户端或者接收到请求的服务器智能确定,例如,根据店铺的人气、评分等综合指标智能确定;其中,实时出发位置的位置坐标有其所属的位置区域,各个待展示店铺的实时目的位置的位置坐标也有其所属的位置区域,基于此,查询离线数据库可以得到实时出发位置和实时目的位置之间的步行距离,在客户端中进行展示时,可将各个店铺的店铺信息及其步行距离同时展示,或者,按照步行距离进行排序展示,使用户可以获取到准确的距离信息。在本实施例中,在确定了待展示店铺后再向离线数据库查询步行距离并进行展示,这样可以提高确定店铺的灵活性,而不是依赖于离线数据库中存储的数据进行确定。

根据本实施例提供的基于步行距离的店铺展示方法,将由出发位置和目的位置组成的位置对利用区块编码进行表示后再进行去重处理,可将对大量位置对对应的离散点之间的步行距离的计算转化为较少编码对表示的两个区块之间的步行距离的计算,减少了步行距离的计算量;以从搜索日志中采集的由出发位置和目的位置组成的多个位置对为离线计算的基础数据,也即仅针对历史出现过的位置对进行计算,通过根据历史的搜索数据有针对性的进行步行距离的计算,无需对地图上全量的区块之间进行步行距离的计算与存储,有利于在实现快速查询的同时,提高查询命中率;当接收到实时的位置展示请求时,通过查询离线数据库即可得到步行距离,避免实时进行步行距离的计算,提高展示效率;在确定待展示店铺后向离线数据库查询得到距离各个待展示店铺的步行距离再进行展示,可以提高待展示店铺确定的灵活性,同时可利于用户依据展示结果进行准确的选择。

图2示出了根据本发明另一个实施例的基于步行距离的店铺展示方法的流程图。如图2所示,该方法包括:

步骤s210:从搜索日志中采集由出发位置和目的位置组成的多个位置对;利用区块编码表示每个位置对的出发位置和目的位置,得到多个编码对。

其中,搜索日志中包含多个用户的搜索行为数据。

具体地,针对搜索日志中的每次搜索行为,采集其出发位置和目的位置,其中,出发位置为搜索行为发生时的定位位置,或者为用户选择或输入的出发位置,目的位置为用户在搜索结果项中操作的店铺的店铺位置,该操作可指任意反映用户对该店铺的选择意向的操作,可选的,包括点击操作、收藏操作、分享操作、排号操作、打车操作和/或预约操作,或者目的位置为用户输入的目的地的位置。

在本发明的一些具体的实施例中,将用户在搜索结果项中点击的店铺的店铺位置确定为目的位置。针对搜索日志中的每次搜索行为,将该搜索行为的发生位置(即定位位置)确定为出发位置,以及将该搜索行为中点击的至少一个店铺的店铺位置确定为目的位置;其中,由一个出发位置和一个目的位置组成一个位置对。当用户发起搜索请求后,会向用户展示包括至少一个店铺的搜索结果页,每接收到对一个店铺的点击查看请求时,则记录一个点击操作以及点击的目的店铺,在进行采集时,则将每个点击操作所针对的目的店铺的店铺位置确定为目的位置。例如,用户在位置p进入本地生活应用请求进行美食推荐,则将位置p确定为出发位置,在系统向用户推荐若干美食店铺后,用户点击了其中三家店铺,则将该三家店铺的店铺位置确定为此次搜索的三个目的位置。需要在此说明的是,在依据其它操作确定目的位置的实施例中,具体地确定方式可参照点击操作的确定方式,此处不再赘述。

然后,利用区块编码表示每个位置对的出发位置和目的位置,其中,区块编码的具体算法可从任意可将位置点转换为区块表示的算法中进行选取,可选的,区块编码的算法为geohash;以及,区块编码的编码精度根据展示效率阈值和步行距离准确度阈值进行设置,编码精度与区块大小成反比,精度越高,则编码表示的区块越小,即区块划分的越细,相较于精度低的情况,则步行距离的值则更准确;反之,则区块划分的越粗,相较于精度高的情况,则离线数据库中存储的编码对会减少,有利于高效的查询与展示。基于上述影响关系,并根据展示效率阈值与步行距离准确度阈值,选择合适的编码精度。可选的,编码精度为70米乘70米。

步骤s220:对多个编码对进行去重处理。

具体地,对多个编码对进行去重处理,去掉重复的编码对,避免针对重复的编码对进行重复的步行距离计算,以及避免在离线数据库中存储重复的编码对及其步行距离。

在本发明的一些可选的实施例中,将任意两个编码对的出发位置编码和目的位置编码分别进行比较,判断是否出发位置编码相同且目的位置编码相同,若是,则滤除该任意两个编码对中的一个编码对。例如,位置对a的编码对为(1111,2222),位置对b的编码对为(1111,2222),则该两个编码对重复。

或者,在本发明的另一些可选的实施例中,将任意两个编码对中一个编码对的出发位置编码与另一个编码对的目的位置编码进行比较,以及将一个编码对的目的位置编码和另一个编码对的出发位置编码进行比较;判断是否一个编码对的出发位置编码与另一个编码对的目的位置编码相同,且一个编码对的目的位置编码和另一个编码对的出发位置编码相同,若是,则滤除该任意两个编码对中的一个编码对。实际中,步行与驾车不同,驾车往返的路线可能不同,而步行往返的路线是相同的,则在这些可选的实施例中,还可以将两个编码对中的出发位置编码和目的位置编码进行对调比较,例如,位置对a的编码对为(1111,2222),位置对c的编码对为(2222,1111),则该两个编码对重复。

步骤s230:获取去重处理后的每个编码对表示的两个区块之间的步行距离,存储多个编码对及其步行距离至离线数据库。

具体地,通过离线访问导航服务,可以获得每个编码对表示的两个区块之间的不行距离。其中,针对去重处理后的每个编码对,确定该编码对的出发位置编码表示的区块的第一中心坐标,以及确定该编码对的目的位置编码表示的区块的第二中心坐标;获取第一中心坐标与第二中心坐标的步行距离作为该编码对表示的两个区块之间的步行距离。以第一中心坐标和第二中心坐标作为步行距离计算的两个端点,使得计算的两个区块之间的步行距离可以作为分别属于该两个区块的位置点之间的步行距离,避免出现较大的误差。

另外,在本发明的一些可选的实施例中,当获取到每个编码对表示的两个区块之间的距离之后,从去重处理后的多个编码对中筛选出步行距离小于预设距离阈值的步行编码对,即选取出表示的两个区块之间的步行距离较近的编码对,作为步行编码对,其中,可通过大数据分析用户的步行轨迹,确定用户可接受的步行距离,并据此步行距离设置预设距离阈值,例如,通常情况下,3千米以前的店铺用户可能以步行的方式前往,而超过3千米则会选择其他的出行方式,则可设置预设距离阈值为3千米。相应的,则存储步行编码对及其步行距离至离线数据库,仅将步行编码对及其步行距离进行存储,以便后续查询到的结果均为对用户步行具有参考价值的数据,同时也可以进一步提高查询到效率。

步骤s240:当接收到包含实时出发位置的店铺展示请求时,查询离线数据库获得实时出发位置和各个待展示店铺的实时目的位置之间的步行距离。

具体地,当接收到店铺展示请求时,将实时出发位置和多个待展示店铺的实时目的位置分别利用区块编码表示为第一编码和多个第二编码,此处区块编码的编码精度与离线处理过程中的编码精度相同,以便可以在离线数据库中准确的查找到相同的编码对,其中,第一编码和每个第二编码可组成一个实时编码对;根据第一编码和各个第二编码组成的实时编码对查询离线数据库,可选的,在离线数据库的多个编码对中查询第一编码,将查找到该第一编码的编码对中的另一个编码与第二编码比较,若两者相同,则确定查找到该第一编码的编码与实时编码对相同,若不同,则继续查询第一编码,直至查找到与实时编码对相同的编码对,或者直至遍历完离线数据库中的编码对时,则停止。根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离展示店铺,将与实时编码对相同的编码对的步行距离确定为实时出发位置和实时目的位置之间的步行距离,然后进行店铺展示。

步骤s250:根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离确定多个待展示店铺的展示排序并展示店铺。

具体地,利用步行距离进行待展示店铺的排序,其中,可仅依据步行距离的远近进行排序,或者可依据步行距离以及其他的排序因子进行排序,其他排序因子包括店铺人气、和/或店铺评分等;以及,在一些可选的实施例中,在依据步行距离进行排序展示的同时,还将步行距离展示在店铺周围。

在仅存储了部分较近步行距离的编码对的实施例中,则只能查询到部分与实时出发位置距离较近的待展示店铺距离该实时出发位置的步行距离,相应的,针对由实时出发位置和各个待展示店铺的实时目的位置组成的实时编码对,判断离线数据库中是否存在对应该实时编码对的步行编码对,其中,查询到相同的编码对,则表明存在对应的步行编码对,若未查找到相同的编码对,则表明不存在对应的步行编码对,若是,则根据该步行编码对的步行距离在第一排序内展示店铺信息;若否,则根据该实时编码对之间的直线距离在第二排序内展示店铺信息,其中,第一排序位于第二排序之前。换言之,当存在对应的步行编码对时,则认为实时目的位置与实时出发位置之间的步行距离较近,将这些实时目的位置对应的待展示店铺展示在较靠前的位置,当不存在对应的步行编码对时,则认为实时目的位置与实时出发位置之间的步行距离较远,将这些实时目的位置对应的待展示店铺展示在较靠后的位置。通过这种展示方式,可将更可能步行去的店铺展示在前面以供用户选择。

或者,在存储了全部的编码对及其步行距离的实施例中,也会出现未查找到与实时编码对相同的编码对的情况。在这些实施例中,若未查找到相同的编码对,则请求获取该实时编码对的步行距离,根据该实时获取的步行距离进行展示,并将该实时编码对及其步行距离添加至离线数据库中进行存储,以完善离线数据库中的数据便于后续查询。通过这种方式,可以弥补利用历史的搜索日志进行离线计算的弊端,例如,对于一些新开发的商圈,历史搜索日志中并不存在相应的搜索行为数据,则离线数据库中也不存在涉及该商圈的编码对及其步行距离。

根据本实施例提供的基于步行距离的店铺展示方法,将大量的位置对的经纬度转化成区块编码表示并进行去重处理,则得到较少量的编码对;然后基于编码对请求进行步行距离的计算,获取步行距离进行离线存储;在线计算时,只需进行查表,而不需要进行大量的浮点运算,从而可以快速得到步行距离。以及,从用户搜索日志中采集位置对,使得采集的位置对是历史的搜索行为中反映出的用户可能出发以及前往的位置,进而有利于提高查询的命中率。并且,对于未在离线数据库中查找到的编码对,可通过实时请求获取步行距离来进行展示,以及,将该编码对及其步行距离添加至离线数据库中以完善数据库中存储的数据,便于后续查询。

本申请实施例提供了一种基于步行距离的店铺展示方法,该方法由客户端来执行,该方法包括:

向服务器发送包含实时出发位置的店铺展示请求;

接收服务器查询离线数据库获得的所述实时出发位置和各个待展示店铺的实时目的位置之间的步行距离;

根据所述步行距离展示店铺。

根据本实施例提供的基于步行距离的店铺展示方法,通过客户端向服务器发送店铺展示请求,并接收服务器通过查询离线数据库而获得的实时出发位置和待展示店铺的实时目的位置之间的步行距离;客户端根据该步行距离展示店铺。可见,本实施例方案,可以在客户端依据步行距离来展示店铺,可利于用户依据展示结果进行准确的选择。

在一些可选的实施方式中,离线数据库中存储有利用图1和图2对应的实施例中的方法得到的多个编码对及其步行距离。

在一些可选的实施方式中,根据所述步行距离展示店铺进一步包括:根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离确定多个待展示店铺的展示排序并展示店铺。

在一些可选的实施方式中,根据所述步行距离展示店铺进一步包括:针对接收到服务器查询到的步行距离的待展示店铺,根据所述步行距离在第一排序内展示店铺信息;和/或,针对未接收到服务器查询到的步行距离的待展示店铺,根据实时触发位置与待展示店铺的实时目的位置之前的直线距离在第二排序内展示店铺信息。

图3示出了根据本发明一个实施例的基于步行距离的店铺展示装置的功能框图。如图3所示,该装置包括:

编码模块310,适于从搜索日志中采集由出发位置和目的位置组成的多个位置对;利用区块编码表示每个位置对的出发位置和目的位置,得到多个编码对;

去重模块320,适于对所述多个编码对进行去重处理;

获取模块330,适于获取去重处理后的每个编码对表示的两个区块之间的步行距离;

存储模块340,适于存储多个编码对及其步行距离至离线数据库;

展示模块350,适于当接收到包含实时出发位置的店铺展示请求时,查询离线数据库获得所述实时出发位置和各个待展示店铺的实时目的位置之间的步行距离,根据所述步行距离展示店铺。

在一种可选的实施方式中,所述编码模块进一步适于:

针对搜索日志中的每次搜索行为,将该搜索行为的发生位置确定为出发位置,以及将该搜索行为中点击的至少一个店铺的店铺位置确定为目的位置;其中,由一个出发位置和一个目的位置组成一个位置对。

在一种可选的实施方式中,所述去重模块进一步适于:

将任意两个编码对的出发位置编码和目的位置编码分别进行比较,判断是否出发位置编码相同且目的位置编码相同,若是,则滤除该任意两个编码对中的一个编码对。

在一种可选的实施方式中,所述去重模块进一步适于:

将任意两个编码对中一个编码对的出发位置编码与另一个编码对的目的位置编码进行比较,以及将一个编码对的目的位置编码和另一个编码对的出发位置编码进行比较;判断是否一个编码对的出发位置编码与另一个编码对的目的位置编码相同,且一个编码对的目的位置编码和另一个编码对的出发位置编码相同,若是,则滤除该任意两个编码对中的一个编码对。

在一种可选的实施方式中,所述获取模块进一步适于:

针对去重处理后的每个编码对,确定该编码对的出发位置编码表示的区块的第一中心坐标,以及确定该编码对的目的位置编码表示的区块的第二中心坐标;

获取第一中心坐标与第二中心坐标的步行距离作为该编码对表示的两个区块之间的步行距离。

在一种可选的实施方式中,所述展示模块进一步适于:

将实时出发位置和多个待展示店铺的实时目的位置分别利用区块编码表示为第一编码和多个第二编码;根据第一编码和各个第二编码组成的实时编码对查询离线数据库,并根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离展示店铺。

在一种可选的实施方式中,所述展示模块进一步适于:

根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离确定多个待展示店铺的展示排序并展示店铺。

在一种可选的实施方式中,所述装置还包括:筛选模块,适于从去重处理后的多个编码对中筛选出步行距离小于预设距离阈值的步行编码对;

所述存储模块进一步适于:存储步行编码对及其步行距离至离线数据库。

在一种可选的实施方式中,所述展示模块进一步适于:

针对由实时出发位置和各个待展示店铺的实时目的位置组成的实时编码对,判断离线数据库中是否存在对应该实时编码对的步行编码对,若是,则根据该步行编码对的步行距离在第一排序内展示店铺信息;若否,则根据该实时编码对之间的直线距离在第二排序内展示店铺信息。

在一种可选的实施方式中,所述区块编码的编码精度根据展示效率阈值和步行距离准确度阈值进行设置。

本申请实施例还提供了一种基于步行距离的店铺展示装置,该装置设置于客户端中,包括:

请求模块,适于向服务器发送包含实时出发位置的店铺展示请求;

接收模块,适于接收服务器查询离线数据库获得的所述实时出发位置和各个待展示店铺的实时目的位置之间的步行距离;

展示模块,适于根据所述步行距离展示店铺。

在一种可选的实施方式中,所述离线数据库中存储有利用图1或图2对应的实施例的方法得到的多个编码对及其步行距离。

在一种可选的实施方式中,所述展示模块进一步适于:根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离确定多个待展示店铺的展示排序并展示店铺。

在一种可选的实施方式中,所述展示模块进一步适于:针对接收到服务器查询到的步行距离的待展示店铺,根据所述步行距离在第一排序内展示店铺信息;和/或,针对未接收到服务器查询到的步行距离的待展示店铺,根据实时触发位置与待展示店铺的实时目的位置之前的直线距离在第二排序内展示店铺信息。

本申请实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于步行距离的店铺展示方法。

图4示出了根据本发明实施例的一种服务器的结构示意图,本发明具体实施例并不对服务器的具体实现做限定。

如图4所示,该服务器可以包括:处理器(processor)402、通信接口(communicationsinterface)404、存储器(memory)406、以及通信总线408。

其中:

处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。

通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器402,用于执行程序410,具体可以执行上述基于步行距离的店铺展示方法实施例中的相关步骤。

具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。

处理器402可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器406,用于存放程序410。存储器406可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序410具体可以用于使得处理器402执行以下操作:

从搜索日志中采集由出发位置和目的位置组成的多个位置对;利用区块编码表示每个位置对的出发位置和目的位置,得到多个编码对;

对所述多个编码对进行去重处理;

获取去重处理后的每个编码对表示的两个区块之间的步行距离,存储多个编码对及其步行距离至离线数据库;

当接收到包含实时出发位置的店铺展示请求时,查询离线数据库获得所述实时出发位置和各个待展示店铺的实时目的位置之间的步行距离,根据所述步行距离展示店铺。

在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:

针对搜索日志中的每次搜索行为,将该搜索行为的发生位置确定为出发位置,以及将该搜索行为中点击的至少一个店铺的店铺位置确定为目的位置;其中,由一个出发位置和一个目的位置组成一个位置对。

在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:

将任意两个编码对的出发位置编码和目的位置编码分别进行比较,判断是否出发位置编码相同且目的位置编码相同,若是,则滤除该任意两个编码对中的一个编码对。

在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:

将任意两个编码对中一个编码对的出发位置编码与另一个编码对的目的位置编码进行比较,以及将一个编码对的目的位置编码和另一个编码对的出发位置编码进行比较;判断是否一个编码对的出发位置编码与另一个编码对的目的位置编码相同,且一个编码对的目的位置编码和另一个编码对的出发位置编码相同,若是,则滤除该任意两个编码对中的一个编码对。

在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:

针对去重处理后的每个编码对,确定该编码对的出发位置编码表示的区块的第一中心坐标,以及确定该编码对的目的位置编码表示的区块的第二中心坐标;

获取第一中心坐标与第二中心坐标的步行距离作为该编码对表示的两个区块之间的步行距离。

在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:

将实时出发位置和多个待展示店铺的实时目的位置分别利用区块编码表示为第一编码和多个第二编码;根据第一编码和各个第二编码组成的实时编码对查询离线数据库,并根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离展示店铺。

在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:

根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离确定多个待展示店铺的展示排序并展示店铺。

在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:

从去重处理后的多个编码对中筛选出步行距离小于预设距离阈值的步行编码对;存储步行编码对及其步行距离至离线数据库。

在一种可选的实施方式中,程序410具体可以进一步用于使得处理器402执行以下操作:

针对由实时出发位置和各个待展示店铺的实时目的位置组成的实时编码对,判断离线数据库中是否存在对应该实时编码对的步行编码对,若是,则根据该步行编码对的步行距离在第一排序内展示店铺信息;若否,则根据该实时编码对之间的直线距离在第二排序内展示店铺信息。

其中,所述区块编码的编码精度根据展示效率阈值和步行距离准确度阈值进行设置。

图5示出了根据本发明实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。

如图5所示,该计算设备可以包括:处理器(processor)502、通信接口(communicationsinterface)504、存储器(memory)506、以及通信总线508。

其中:

处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。

通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器502,用于执行程序510,具体可以执行上述基于步行距离的店铺展示方法实施例中的相关步骤。

具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。

处理器502可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器506,用于存放程序510。存储器506可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序510具体可以用于使得处理器502执行以下操作:

向服务器发送包含实时出发位置的店铺展示请求;

接收服务器查询离线数据库获得的所述实时出发位置和各个待展示店铺的实时目的位置之间的步行距离;

根据所述步行距离展示店铺。

在一种可选的实施方式中,所述离线数据库中存储有利用上述所述的方法得到的多个编码对及其步行距离。

在一种可选的实施方式中,程序510具体可以进一步用于使得处理器502执行以下操作:

根据查询获得的实时出发位置和各个待展示店铺的实时目的位置之间的步行距离确定多个待展示店铺的展示排序并展示店铺。

在一种可选的实施方式中,程序510具体可以进一步用于使得处理器502执行以下操作:

针对接收到服务器查询到的步行距离的待展示店铺,根据所述步行距离在第一排序内展示店铺信息;和/或,

针对未接收到服务器查询到的步行距离的待展示店铺,根据实时触发位置与待展示店铺的实时目的位置之前的直线距离在第二排序内展示店铺信息。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的基于步行距离的店铺展示装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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