本发明涉及互联网应用技术领域,特别涉及一种目的地点推荐方法及装置。
背景技术:
随着人们生活水平的不断提高,越来越多的人选择在节假日出游,以缓解生活或工作的压力。
当景区中的游客较多时,不可避免的需要游客在景点排队进入。一个景区中通常有多个景点,并且不同景点的排队人数可能并不均衡,为了减少游客排队等候的时间,有必要向游客推荐当前合适的景点。
在相关技术中,景区管理系统可以实时的获取各个景点当前的排队人数,并将各个景点当前的排队人数推送至游客的终端,比如游客的手机中,游客自己根据各个景点当前的排队人数决定首先去哪一个景点游览。
然而在实际应用中,景区管理系统向用户推送的景点排队人数与用户到达时该景点的排队人数之间可能存在较大的差别,导致景点推荐的效果较差。
技术实现要素:
为了解决相关技术中景区管理系统向用户推送的景点排队人数与用户到达时该景点的排队人数之间可能存在较大的差别,导致景点推荐的效果较差的问题,本发明实施例提供了一种目的地点推荐方法及装置,技术方案如下:
第一方面,提供了一种目的地点推荐方法,所述方法包括:
获取终端的出发信息,所述出发信息指示所述终端的出发位置和出发时刻;
根据所述出发信息计算所述终端到达至少两个目的地点时的到达时刻;
获取所述至少两个目的地点在所述出发时刻的排队人数以及所述至少两个目的地点各自对应的历史排队记录,所述历史排队记录指示对应的目的地点在各个历史时刻的排队人数;
根据所述至少两个目的地点在所述出发时刻的排队人数、所述终端到达所述至少两个目的地点时的到达时刻,以及所述至少两个目的地点各自对应的历史排队记录,计算所述终端到达所述至少两个目的地点时,所述至少两个目的地点的预计排队人数;
根据所述至少两个目的地点的预计排队人数确定所述至少两个目的地点中的推荐地点;
向所述终端推送用于指示所述推荐地点的推荐消息,以便所述终端展示所述推荐消息。
第二方面,提供了一种目的地点推荐装置,所述装置包括:
第一获取模块,用于获取终端的出发信息,所述出发信息指示所述终端的出发位置和出发时刻;
第一计算模块,用于根据所述出发信息计算所述终端到达至少两个目的地点时的到达时刻;
第二获取模块,用于获取所述至少两个目的地点在所述出发时刻的排队人数以及所述至少两个目的地点各自对应的历史排队记录,所述历史排队记录指示对应的目的地点在各个历史时刻的排队人数;
第二计算模块,用于根据所述至少两个目的地点在所述出发时刻的排队人数、所述终端到达所述至少两个目的地点时的到达时刻,以及所述至少两个目的地点各自对应的历史排队记录,计算所述终端到达所述至少两个目的地点时,所述至少两个目的地点的预计排队人数;
确定模块,用于根据所述至少两个目的地点的预计排队人数确定所述至少两个目的地点中的推荐地点;
消息推送模块,用于向所述终端推送用于指示所述推荐地点的推荐消息,以便所述终端展示所述推荐消息。
第三方面,提供了一种目的地点推荐系统,所述系统包括:服务器和终端;
所述服务器包括如上述第二方面所述的目的地点推荐装置。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序(指令),该程序(指令)被处理器执行时实现如上述第一方面所述的目的地点推荐方法的步骤。
本发明提供的技术方案可以包括以下有益效果:
服务器根据终端的出发位置和出发时刻,预测终端到达各个目的地点的到达时刻,并结合各个目的地点在各个历史时刻的排队人数预测终端到达各个目的地点时各个目的地点的预计排队人数,并根据确定的各个目的地点分别对应的预计排队人数确定推荐地点,能够更准确的估算用户到达某个目的地点时可能的排队人数,从而提高目的地点推荐的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的目的地点推荐系统的示意图;
图2是根据一示例性实施例示出的一种目的地点推荐方法的流程图;
图3是图2所示的实施例涉及的一种推荐景点确定示意图;
图4是图2所示的实施例涉及的一种推荐界面展示示意图;
图5是根据一示例性实施例示出的一种目的地点推荐方法的流程图;
图6是根据一示例性实施例示出的一种目的地点推荐装置的结构方框图;
图7是根据一示例性实施例示出的一种目的地点推荐装置的结构方框图;
图8是根据一示例性实施例示出的一种服务器的结构示意图;
图9是根据一示例性实施例示出的一种终端的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本发明各个所示的方案可以适用于包含至少两个目的地点的目的区域。其中,上述至少两个目的地点是一组用户都可以抵达,且抵达顺序没有限制或者不完全限制的地点的集合。比如,上述目的区域可以是景区(比如风景景区或者名胜景区等),目的地点可以是景区中的各个景点;或者,上述目的区域可以是体检医院,目的地点可以是不同的体检项目的科室等。本发明各个实施例对于目的地点和目的区域的具体实现不做限定。
图1是根据一示例性实施例示出的目的地点推荐系统的示意图。以目的区域为景区,目的地点为景点为例,该目的地点推荐系统可以包括:服务器110、若干个监控设备120以及终端130。
服务器120可以是单独的一台服务器,或者,也可以是由多个服务器组成的服务集群,或者,也可以是一个云计算中心。
监控设备120是具有图像采集功能的设备,图像包括图片和视频。其中,视频还可以包括声音信息。监控设备120可以是摄像头、摄像机以及监控器等。在本实施例中,监控设备120的数量可以有若干个,每一个监控设备120可以有自己固定的位置,且每一个监控设备120可以拍摄周围一定角度范围内的图像。比如,监控设备120可以通过与其配合的云台实现拍摄360°范围内的图像,或者,该监控设备120也可以是由多个摄像头组成的、具有拍摄周围360°范围内的图像的功能的全景摄像机。可选的,监控设备120还可以包括数据存储组件和处理器组件,用于进行数据存储或处理。
监控设备120通过有线网络或者无线网络与服务器110相连进行网络通信,并且,监控设备120还可以具有wi-fi信号或者蓝牙信号接收功能。
终端130可以是用户使用的移动终端,比如智能手机、平板电脑、电子书阅读器等智能终端,或者,也可以是智能手表、智能眼镜或者智能手环等智能可穿戴设备。
终端130通过有线或无线网络连接服务器110。或者,终端130也可以通过监控设备120与服务器110之间进行网络连接。
监控设备120可以设置在目的区域中包括但不限于每个目的地点的入口处,比如,除了在每个目的地点的入口处设置监控设备120之外,每个目的地点的出口处、目的区域的入口处、目的区域的出口处以及各个目的区域之间的路线上都可以设置监控设备120。
下面,以图1所示的实施环境为例,对本发明各个实施例提供的技术方案进行介绍和说明。
图2是根据一示例性实施例示出的一种目的地点推荐方法的流程图,该方法可以用于如图1所示的实施环境中。以目的地点是景点为例,如图2所示,该景点推荐方法可以包括如下几个步骤:
步骤201,服务器获取终端的出发信息,其中,该出发信息指示终端的出发位置和出发时刻。
在本步骤中,上述出发信息中的出发位置可以由终端自行上报。比如,以目的地点是景点为例,用户可以打开终端中的景区管理app(application,第三方应用程序),在app界面中的选择获取推荐的景点,此时,app向服务器发送景点推荐请求,该景点推荐请求中携带终端当前的位置信息,比如当前的地理坐标,该位置信息可以是终端通过内置的定位功能,比如gps(globalpositioningsystem,全球定位系统)定位获得的位置信息,也可以是基站或者wlan(wirelesslocalareanetworks,无线局域网)无线接入点对终端进行定位后反馈给终端的位置信息。服务器接收到该景点推荐请求后,将景点推荐请求中携带的该终端的当前位置获取为终端的出发位置,并将该景点推荐请求的发送时刻或者接收时刻获取为终端的出发时刻。
在另一种可能的实现方式中,服务器也可以通过目的区域中设置的无线接入点来确定终端的出发位置。比如,景区中预先设置有若干个与服务器通信的无线接入点,这些无线接入点的位置信息预先设置在服务器中。其中,该无线接入点的实现形式并不限定,比如,该无线接入点可以实现为监控设备,或者,也可以实现为一个wlan无线接入点等。当终端移动至某个无线接入点的信号覆盖范围时,终端请求接入该无线接入点,此时,无线接入点将终端的标识以及终端请求接入无线接入点的时刻上报给服务器,服务器可以将该无线接入点的位置确定为终端的出发位置,并将终端请求接入无线接入点的时刻确定为终端的出发时刻。
在另一种可能的实现方式中,服务器也可以通过目的区域中的监控设备来获取终端的出发信息。比如,服务器中存储有终端对应的用户的面部图像,该用户的面部图像可以由用户通过终端中的app上传服务器,也可以由景区入口处的面部图像采集设备采集并上报给服务器。在景区中的固定位置设置的监控设备在拍摄到包含人脸的图像时,将拍摄到的人脸图像上报给服务器,服务器从人脸图像中识别终端对应的用户;当服务器识别出某个监控设备上报的图像中包含终端对应的用户的人脸时,将该监控设备的位置获取为终端的出发位置,并将对应的图像的拍摄时间获取为终端的出发时刻。
可选的,服务器在执行后续步骤202之前,还可以检测上述出发位置是否满足预设条件,当出发位置满足预设条件时,执行后续步骤202;其中,该预设条件包括:出发位置位于目的区域的入口处,该目的区域为包含至少两个目的地点的区域;或者,出发位置位于至少两个目的地点之外的其它目的地点的出口处。
比如,以目的区域是景区为例,当用户刚刚进入景区,或者,用户游玩一个景点之后,可能需要服务器推荐下一个游玩的景点,因此,在本发明实施例中,为了避免频繁的向终端推荐景点,服务器可以在检测出终端对应的出发位置位于景区的入口或者某个景点的出口处时,才执行后续步骤。
步骤202,服务器根据该出发信息计算终端到达至少两个目的地点时的到达时刻。
在该步骤中,还是以目的区域是景区为例,对于至少两个景点中的每一个景点,服务器可以先根据上述出发位置获得用户到达该景点的路程,再根据用户的出行方式(比如步行、骑行或者乘车等)或者终端在出发时刻之前的一段时间内的移动距离计算得到终端的移动速度,再根据用户到达该景点的路程以及终端的速度计算获得终端从出发位置到达该景点的时长;最后再将终端的出发时刻加上终端从出发位置到达该景点的时长,获得终端到达该景点时的到达时刻。
步骤203,服务器获取该至少两个目的地点在该出发时刻的排队人数,以及该至少两个目的地点各自对应的历史排队记录。
其中,该历史排队记录指示对应的目的地点在各个历史时刻的排队人数。
其中,该至少两个目的地点在出发时刻的排队人数可以通过设置在目的地点入口处的监控设备获得,比如,服务器获取到终端的出发时刻后,对于至少两个目的地点中的每一个目的地点,服务器可以获取该目的地点入口处的监控设备上报的,在该出发时刻拍摄的该目的地点入口处的图像,并对该目的地点的图像进行图像分析,获得该目的地点在该出发时刻的排队人数。
上述历史排队记录可以是服务器对每个目的地点在历史各个时刻拍摄的图像进行分析获得各个历史时刻的排队人数进行记录并存储获得的。比如,以目的区域是景区为例,该景区中的一个景点的历史排队记录中可以包含该景点在过去的一段时间内,每一天中的每一分钟的排队人数。
步骤204,服务器根据至少两个目的地点在出发时刻的排队人数、终端到达至少两个目的地点时的到达时刻,以及至少两个目的地点各自对应的历史排队记录,计算终端到达至少两个目的地点时,该至少两个目的地点的预计排队人数。
在本发明实施例中,对于每一个目的地点,服务器可以根据该目的地点在各个历史时间段内的排队人数变化情况,结合该目的地点在出发时刻的排队人数,预测终端达到该目的地点时,该目的地点的预计排队人数。比如,服务器预测终端到达至少两个目的地点时,该至少两个目的地点的预计排队人数的步骤可以如下:
步骤204a,对于该至少两个目的地点中的每个目的地点,确定该目的地点对应的目标时间段,该目标时间段是该出发时刻与该终端到达该目的地点的到达时刻之间的时间段。
比如,以目的区域是景区为例,假设出发时刻为上午9:30,终端达到景区中的某个景点的到达时刻为上午9:40,则该景点的对应的目标时间段为上午9:30至上午9:40。
步骤204b,根据该目的地点的历史排队记录,获取该目的地点在该目标时间段对应的各个历史时间段内的排队人数变化率。
在本发明实施例中,目标时间段与历史时间段之间的对应关系是按照一定的时间周期来说的。具体来说,目标时间段和对应的历史时间段处于不同的时间周期内,且目标时间段在所属时间周期内的偏移量,与对应的历史时间段在所属时间周期内的偏移量相同。
其中,比如,以一天为一个时间周期为例,目标时间段对应的历史时间段可以是当天的前x天内,每天与该目标时间段对应在时间段。比如,假设目标时间段为上午9:30至上午9:40,x为30,则目标时间段对应的历史时间段可以是当前之前的30天内每天的上午9:30至上午9:40。
或者,以一星期为一个时间周期为例,该目标时间段对应的历史时间段也可以是当天的前y星期内,每个星期与该目标时间段对应在时间段。比如,假设目标时间段为上午9:30至上午9:40,当天为星期六,y为12,则目标时间段对应的历史时间段可以是当前星期之前的12个星期内,每个星期六的上午9:30至上午9:40。
或者,以一个月为一个时间周期为例,该目标时间段对应的历史时间段也可以是当天的前z个月内,每个月与该目标时间段对应在时间段。比如,假设目标时间段为上午9:30至上午9:40,当天为一个月的10号,z为12,则目标时间段对应的历史时间段可以是当月之前的12个月内,每个月10号的上午9:30至上午9:40。
其中,每个历史时间段内的排队人数变化率,可以是该历史时间段开始时刻的排队人数与该历史时间段的结束时刻的排队人数之差,与该历史时间段开始时刻的排队人数的比值。
比如,以目的区域是景区为例,对于景点a,假设某个历史时间段的开始时刻的排队人数为50人,该历史时间段的结束时刻的排队人数为40人,则该景点a在该历史时间段内的人数变化率为-20%;若某个历史时间段的开始时刻的排队人数为50人,该历史时间段的结束时刻的排队人数为60人,则上述人数变化率为+20%。
步骤204c,根据该目的地点在该出发时刻的排队人数以及该排队人数变化率,计算该目的地点的预计排队人数。
在本发明实施例中,当存在多个历史时间段时,服务器可以对各个历史时间段的内的排队人数变化率计算平均值(可以是绝对平均,也可以是加权平均),获得该目的地点对应的平均排队人数变化率,并根据该平均排队人数变化率与该目的地点在出发时刻的排队人数,预测该终端到达该目的地点时,该目的地点的预计排队人数。
比如,还是以景点a为例,假设景点a在上述出发时刻的排队人数为100人,平均排队人数变化率为-20%,则服务器可以计算获得终端到达该景点a时,该景点a的预计排队人数为80人;或者,假设景点a在上述出发时刻的排队人数为100人,平均排队人数变化率为+20%,则服务器可以计算获得终端到达该景点a时,该景点a的预计排队人数为120人。
步骤205,服务器根据该至少两个目的地点的预计排队人数确定该至少两个目的地点中的推荐地点。
在本发明实施例中,服务器可以将终端到达该至少两个目的地点时,该至少两个目的地点各自的预计排队人数最少的一个目的地点,或者,预计排队人数较少的多个目的地点,确定为推荐地点。具体的,服务器可以按照终端到达该至少两个目的地点时,该至少两个目的地点各自的预计排队人数从少到多的顺序对该至少两个目的地点进行排序,并将排在前n位的目的地点确定为推荐地点,1≤n≤m,m为至少两个目的地点的数量,n、m为整数。
比如,假设有景点a、景点b和景点c三个景点,服务器预测终端从出发位置到达景点a时,景点a的预计排队人数为50人,服务器预测终端从出发位置到达景点b时,景点b的预计排队人数为30人,服务器预测终端从出发位置到达景点c时,景点c的预计排队人数为40人,则服务器按照排队人数从小到多的顺序对三个景点的排序为:景点b、景点c和景点a,若n预设为1,则服务器可以将景点b确定为推荐景点;若n预设为2,则服务器可以将景点b和景点c确定为推荐景点。
或者,在另一种可能的实现方式中,服务器可以综合考虑终端到达目的地点所消耗的时间与在目的地点处排队的时间,向用户推荐终端从出发位置出发直至排队结束耗时最少的一个目的地点,或者,耗时较少的多个目的地点。具体的,服务器向用户推荐终端从出发位置出发直至排队结束耗时最少的一个目的地点,或者,耗时较少的多个目的地点的过程可以如下步骤205a至步骤205c。
步骤205a,对于该至少两个目的地点中的每个目的地点,服务器根据该目的地点的预计排队人数计算该终端对应的用户在该目的地点的预计排队时长。
以目的区域是景区为例,在实际应用中,对于不同的多个景点,游客进入该多个景点的平均时长可能也不一样,比如,景点a是观赏类的景点,该景点不限制景点内的人数,此时,一个游客进入景点a的耗时可能只需要3秒钟。而景点b是游乐项目类的景点,比如过山车,该景点限制景点内的人数,比如,以过山车为例,过山车每次只允许20个游客乘坐,且每次乘坐时间为5分钟,则排队在第21位至40位的游客进入过山车需要5分钟,而排队在第41位至60位的游客进入过山车则需要10分钟。
在本发明实施例中,对于每个目的地点,服务器中可以预先存储计算该目的地点的预计排队时长的算法。
比如,对于景点a,服务器可以存储该景点进入一个游客的平均时长(3s),服务器将景点a在终端到达时刻的预计排队人数除以上述平均时长,即可以计算出景点a的预计排队时长;比如,以景点a在终端到达时刻的排队人数为50人为例,服务器可以计算出景点a的预计排队时长为50/3≈17(s)。
而对于景点b,服务器可以存储该景点进入一波次游客的人数(20人),以及每波次游客的游玩时长(5分钟),服务器结合a景点在终端到达时刻的预计排队人数、一波次游客的人数以及每波次游客的游玩时长,即可以计算出b景点的预计排队时长;比如,以景点b在终端到达时刻的排队人数为30人为例,服务器可以计算出景点b的预计排队时长为5分钟。
步骤205b,服务器根据该出发时刻与该终端到达该目的地点的到达时刻之间的时长,以及该预计排队时长,获取该目的地点对应的推荐指数。
在一种可能的实现方式中,服务器可以将出发时刻与该终端到达该目的地点的到达时刻之间的时长,以及该预计排队时长之和获取该目的地点对应的推荐指数。通过该方法,服务器可以按照游客从出发到进入景点的预计时长向游客推荐目的景点。
或者,在另一种可能的实现方式中,服务器可以获取该目的地点对应的第一权重和第二权重,该第一权重是出发时刻与该终端到达该目的地点的到达时刻之间的时长的权重,该第二权重是该预计排队时长的权重;服务器根据该第一权重和该第二权重,对该出发时刻与该终端到达该目的地点的到达时刻之间的时长,以及该预计排队时长进行加权求和,将加权求和的结果获取为目的地点对应的推荐指数。
其中,上述第一权重和第二权重可以是开发人员在服务器中预先设置好的权重,或者,该第一权重和第二权重也可以是由每个用户自行设置的权重。
比如,在实际应用中,相比于排队,游客可能更愿意将时间花费在行路上;因此,开发人员或者管理人员可以在服务器中为第一权重设置一个较小的值,并为第二权重设置一个较大的值,这样加权求和的结果受预计排队时长的影响较大。
在另一种可能的实现方式中,游客从出发点到各个景点之间的路径也可能影响到游客的选择。比如,假设游客从出发点到景点a的路线经过景点b,如果游客先去了景点a,然后再去景点b,则会在景点a到景点b之间走一个来回,而在景点a和景点b的预计排队时长差别不大的情况下,即便先去景点a所要等待的时长大于先去景点b所要等待的时长,游客也依然可能选择先去景点b。基于此,本发明实施例所示的方案,服务器可以结合各个目的地点之间的路径顺序来获取目的地点的第一权重和第二权重,比如,对于一个目的地点来说,服务器可以根据从出发位置到达该目的地点所经过的其他目的地点的个数,来获取该目的地点对应的第一权重和第二权重。
具体的,服务器中可以预先存储经过的其它目的地点的个数与第一权重和第二权重之间的对应关系,服务器可以根据从出发位置到达目的地点所经过的其他目的地点的个数,查询预先存储的对应关系获得该第一权重和第二权重。
或者,在另一种可能的实现方式中,对于其它一些游客而言,该游客可能更愿意将时间花费在排队上,该游客可以通过终端对第一权重和第二权重进行个性化的配置,服务器根据游客的配置操作,为该游客对应的第一权重设置一个较大的值,并为该游客对应的第二权重设置一个较小的值,这样加权求和的结果受该游客从出发到该目的地点之间的时长的影响较大。
步骤205c,服务器将该至少两个目的地点按照各自对应的推荐指数的大小关系进行排列,并将排在前n位的目的地点确定为该推荐地点。
其中,1≤n≤m,m为该至少两个目的地点的数量,n、m为整数。
根据步骤205b中的推荐指数的计算方式可知,推荐指数越大,表示游客花费在行路或者排队上的时长也越长,因此,在本发明实施例中,服务器可以将该至少两个目的地点按照各自对应的推荐指数的小到大的顺序进行排列,并将排在前n位的目的地点确定为该推荐地点。
步骤206,服务器向该终端推送用于指示该推荐地点的推荐消息;终端接收该推荐消息。
服务器在确定出推荐地点后,可以生成指示该推荐地点的推荐消息,比如,该推荐消息中可以包含该推荐地点的名称以及位置信息等。服务器将生成的推荐消息推送给终端。
可选的,服务器在生成上述推荐消息时,可以将该推荐地点对应的推荐指数添加入推荐消息中,在推送推荐消息时,向终端推送包含推荐地点对应的推荐指数的推荐消息。
以推荐地点是景点为例,某个景点的推荐指数越小,表示游客花费在行路或者排队上的时长也越短时,越推荐游客首先去该景点游玩。
步骤207,终端根据该推荐消息生成信息展示界面,并对该信息展示界面进行展示。
终端接收到该推荐消息后,可以在终端的显示屏中展示通过该推荐消息对应的信息展示界面。比如,以目的区域是景区为例,终端可以在景区管理app的界面中展示根据该推荐消息生成的信息展示界面,该界面可以包含推荐景点的名称以及路径等信息。
可选的,若推荐消息中包含推荐地点对应的推荐指数,则终端可以生成包含推荐地点对应的推荐指数的信息展示界面。
可选的,该推荐消息中还可以包含终端到达推荐地点的到达时刻、终端到达推荐地点时,推荐地点的预计排队人数、推荐地点的预计排队时长以及游客从出发到进入该推荐地点的预计耗时时长(即从出发位置到达推荐地点的时长以及推荐地点的预计排队时长之和)等信息。
可选的,当推荐地点包含多个地点时,终端可以将该多个推荐地点对应的信息一同展示,以便用户选择其中的一个地点。
比如,以目的区域是景区为例,请参考图3和4,其中,图3示出了本发明实施例涉及的一种推荐景点确定示意图,图4示出了本发明实施例涉及的一种推荐界面展示示意图。
如图3所示,假设景区中包含3个景点,分别为景点a、景点b和景点c,终端进入景区时,在向服务器上报出发位置和出发时刻,服务器根据该出发位置和出发时刻,预测终端分别到达3个景点的到达时刻,得到终端分别到达3个景点的时长,结合3个景点的历史排队人数预测终端分别到达3个景点时,这3个景点的预计排队人数,并进一步预测终端在3个景点处的预计排队时长,通过直接加和或者加权求和得到3个景点分别对应的推荐指数,并基于3个景点对应的推荐指数确定出推荐景点。比如,以推荐指数由终端从出发位置达到景点的时长和预计排队时长直接加和获得为例,假设终端到达景点a的时长为t1a(此处t1a即为终端的出发时刻与终端到达景点a的到达时刻之间的差值),景点a对应的预计排队时长为t2a,则该景点a对应的推荐指数为t3a=t1a+t2a。类似的,假设终端到达景点b的时长为t1b,景点b对应的预计排队时长为t2b,则该景点b对应的推荐指数为t3b=t1b+t2b;假设终端到达景点c的时长为t1c,景点c对应的预计排队时长为t2c,则该景点c对应的推荐指数为t3c=t1c+t2c。上述t3a>t3c>t3b,则服务器按照推荐指数从小到大的顺序对三个景点的排序为:景点b、景点c和景点a,则服务器可以将景点b确定为推荐景点。
如图4所示,终端在景区管理app中显示根据推荐消息生成的信息展示界面,该推荐消息指示推荐景点为景点b,信息展示界面中展示了从出发位置到达景点b的导航路线,同时,该导航路线上还对应显示有到达景点b的时长、预计排队时长、景点b处的预计排队人数以及进入景点b的预计耗时时长以及推荐指数等信息。
综上所述,本发明实施例所示的目的地点推荐方法,服务器根据终端的出发位置和出发时刻,预测终端到达各个目的地点的到达时刻,并结合各个目的地点在各个历史时刻的排队人数预测终端到达各个目的地点时,各个目的地点的预计排队人数,并根据确定的各个目的地点分别对应的预计排队人数确定推荐地点,能够更准确的估算用户到达某个目的地点时可能的排队人数,从而提高目的地点推荐的准确性。
此外,本发明实施例所示的目的地点推荐方法,服务器在根据确定的各个目的地点分别对应的预计排队人数确定推荐地点时,综合考虑终端到达目的地点所耗费的时长以及在目的地点处的预计排队时长,从而为用户推荐进入耗时最短的目的地点,进一步提高目的地点推荐的准确性。
上述图2所示的方案以向用户单次推荐目的地点为例进行说明,即服务器每次向终端推荐一个目的地点,或者,每次向终端推荐多个目的地点,由用户从中选择一个。在本发明实施例中,服务器还可以向终端推荐由多个推荐地点组成的推荐路径,指示用户按照该推荐路径逐一到达该多个推荐地点,该方案的具体流程可以参考图5。
图5是根据一示例性实施例示出的一种目的地点推荐方法的流程图,该方法可以用于如图1所示的实施环境中。如图5所示,该目的地点推荐方法可以包括如下几个步骤:
步骤501,服务器获取终端的出发信息,其中,该出发信息指示终端的出发位置和出发时刻。
步骤502,服务器根据该出发信息计算终端到达至少两个目的地点时的到达时刻。
步骤503,服务器获取该至少两个目的地点在该出发时刻的排队人数,以及该至少两个目的地点各自对应的历史排队记录。
步骤504,服务器根据至少两个目的地点在出发时刻的排队人数、终端到达至少两个目的地点时的到达时刻,以及至少两个目的地点各自对应的历史排队记录,计算终端到达至少两个目的地点时,该至少两个目的地点的预计排队人数。
步骤505,服务器根据该至少两个目的地点的预计排队人数确定该至少两个目的地点中的推荐地点,该推荐地点为单个目的地点。
其中,步骤501至步骤505的实现过程可以参考图2所示的实施例中的步骤201至步骤205。不同的是,在步骤505中,服务器只确定一个目的地点为推荐地点。
步骤506,服务器判断该至少两个目的地点中,除了推荐地点之外的目的地点的数量是否为1;若是,进入步骤508,否则,进入步骤507。
步骤507,服务器预测终端对应的用户停留在该推荐地点的结束时刻,将该结束时刻确定为新的出发时刻,并将该推荐地点的出口位置确定为新的出发位置,获得新的出发信息,并根据新的出发信息返回执行步骤501至步骤505,获得新的推荐地点。
步骤508,服务器将除了推荐地点之外的目的地点确定为最后一个推荐地点;按照各个推荐地点被确定的顺序,生成包含各个推荐地点的推荐路径。
其中,生成的该推荐路径中,各个推荐地点的到达顺序就是各个推荐地点被确定的顺序。
步骤509,服务器向终端推送指示该推荐路径的推荐消息;终端接收该推荐消息。
可选的,上述推荐消息中也可以指示推荐路径上的各个推荐地点的名称、位置信息、到达时的预计排队人数、从一个推荐地点到达下一推荐地点的耗时时长、从一个推荐地点进入下一推荐地点的预计耗时时长以及推荐指数等。
步骤510,终端根据该推荐消息生成信息展示界面,并对该信息展示界面进行展示。
综上所述,本发明实施例所示的目的地点推荐方法,服务器根据终端的出发位置和出发时刻,预测终端到达各个目的地点的到达时刻,并结合各个目的地点在各个历史时刻的排队人数预测终端到达各个目的地点时各个目的地点的预计排队人数,并根据确定的各个目的地点分别对应的预计排队人数确定推荐地点,并以确定出的推荐地点的出口位置和游览结束时刻作为新的出发信息,反复执行上述步骤以确定新的推荐地点,按照推荐地点被确定的顺序生成推荐路径,从而提高目的地点推荐路径的准确性。
图6是根据一示例性实施例示出的一种目的地点推荐装置的结构方框图。该目的地点推荐装置可以用于如图1所示系统所包含的服务器中,以执行图2或图5所示实施例中由服务器执行的全部或者部分步骤。该目的地点推荐装置可以包括:
第一获取模块601,用于获取终端的出发信息,所述出发信息指示所述终端的出发位置和出发时刻;
第一计算模块602,用于根据所述出发信息计算所述终端到达至少两个目的地点时的到达时刻;
第二获取模块603,用于获取所述至少两个目的地点在所述出发时刻的排队人数以及所述至少两个目的地点各自对应的历史排队记录,所述历史排队记录指示对应的目的地点在各个历史时刻的排队人数;
第二计算模块604,用于根据所述至少两个目的地点在所述出发时刻的排队人数、所述终端到达所述至少两个目的地点时的到达时刻,以及所述至少两个目的地点各自对应的历史排队记录,计算所述终端到达所述至少两个目的地点时,所述至少两个目的地点的预计排队人数;
确定模块605,用于根据所述至少两个目的地点的预计排队人数确定所述至少两个目的地点中的推荐地点;
消息推送模块606,用于向所述终端推送用于指示所述推荐地点的推荐消息。
可选的,所述第二计算模块,包括:
时间段确定单元,用于对于所述至少两个目的地点中的每个目的地点,确定所述目的地点对应的目标时间段,所述目标时间段是所述出发时刻与所述终端到达所述目的地点的到达时刻之间的时间段;
变化率获取单元,用于根据所述目的地点的历史排队记录,获取所述目的地点在所述目标时间段对应的各个历史时间段内的排队人数变化率;
人数计算单元,用于根据所述目的地点在所述出发时刻的排队人数以及所述排队人数变化率,计算所述目的地点的预计排队人数。
可选的,所述确定模块,包括:
时长计算单元,用于对于所述至少两个目的地点中的每个目的地点,根据所述目的地点的预计排队人数计算所述终端对应的用户在所述目的地点的预计排队时长;
指数获取单元,用于根据所述出发时刻与所述终端到达所述目的地点的到达时刻之间的时长,以及所述预计排队时长,获取所述目的地点对应的推荐指数;
目的地点确定单元,用于将所述至少两个目的地点按照各自对应的推荐指数的大小关系进行排列,并将排在前n位的目的地点确定为所述推荐地点,1≤n≤m,m为所述至少两个目的地点的数量,n、m为整数。
可选的,所述指数获取单元,包括:第一获取子单元,或者,所述指数获取单元,包括:权重获取子单元和第二获取子单元;
所述第一获取子单元,用于将出发时刻与所述终端到达所述目的地点的到达时刻之间的时长,以及所述预计排队时长之和获取所述目的地点对应的推荐指数;
所述权重获取子单元,用于获取所述目的地点对应的第一权重和第二权重,所述第一权重是出发时刻与所述终端到达所述目的地点的到达时刻之间的时长的权重,所述第二权重是所述预计排队时长的权重;
所述第二获取子单元,用于根据所述第一权重和所述第二权重,对所述出发时刻与所述终端到达所述目的地点的到达时刻之间的时长,以及所述预计排队时长进行加权求和,将加权求和的结果获取为目的地点对应的推荐指数。
可选的,所述权重获取子单元,用于根据从所述出发位置到达所述目的地点所经过的其他目的地点的个数,获取所述目的地点对应的第一权重和第二权
可选的,所述消息推送模块,用于向所述终端推送包含所述推荐地点对应的推荐指数的所述推荐消息。
可选的,所述第一计算模块,用于当所述出发位置满足预设条件时,执行所述根据所述出发信息计算所述终端到达至少两个目的地点时的到达时刻的步骤;
所述预设条件包括:所述出发位置位于目的区域的入口处,所述目的区域为包含所述至少两个目的地点的区域;或者,所述出发位置位于所述至少两个目的地点之外的其它目的地点的出口处。
综上所述,本发明实施例提供的装置,根据终端的出发位置和出发时刻,预测终端到达各个目的地点的到达时刻,并结合各个目的地点在各个历史时刻的排队人数预测终端到达各个目的地点时各个目的地点的预计排队人数,并根据确定的各个目的地点分别对应的预计排队人数确定推荐地点,能够更准确的估算用户到达某个目的地点时可能的排队人数,从而提高目的地点推荐的准确性。
此外,本发明实施例所示的目的地点推荐装置,在根据确定的各个目的地点分别对应的预计排队人数确定推荐地点时,综合考虑终端到达目的地点所耗费的时长以及在目的地点处的预计排队时长,从而为用户推荐进入耗时最短的目的地点,进一步提高目的地点推荐的准确性。
图7是根据一示例性实施例示出的一种目的地点推荐装置的结构方框图。该目的地点推荐装置可以用于如图1所示系统所包含的终端中,以执行图2或图5所示实施例中由终端执行的全部或者部分步骤。该目的地点推荐装置可以包括:
接收模块701,用于接收服务器发送的,用于指示至少两个目的地点中的推荐地点的推荐消息;所述推荐地点是所述服务器根据终端到达所述至少两个目的地点时,所述至少两个目的地点的预计排队人数确定的目的地点;
界面生成模块702,用于根据所述推荐消息生成信息展示界面;
展示模块703,用于对所述信息展示界面进行展示。
可选的,所述界面生成模块702,用于生成包含所述推荐地点对应的推荐指数的所述信息展示界面;
其中,所述推荐消息中包含推荐指数,所述推荐指数是根据所述终端的出发时刻与所述终端到达所述目的地点的到达时刻之间的时长,以及预计排队时长确定的;所述预计排队时长是所述终端对应的用户在所述推荐地点的预计排队时长。
可选的,本发明实施例还提供一种该目的地点推荐系统,包括:服务器和终端;该服务器和终端之间的连接关系可以参考图1所示的系统。
其中,该服务器包含如上述图6所示的目的地点推荐装置;该终端包含如上述图7所示的目的地点推荐装置。
图8是根据一示例性实施例示出的一种服务器的结构示意图。所述服务器可以实现为上述图1所示的实施环境中的网络测速设备120或者路由控制器160。所述服务器800包括中央处理单元(cpu)801、包括随机存取存储器(ram)802和只读存储器(rom)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述服务器800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
所述基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机可读介质为服务器800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
服务器800可以通过连接在所述系统总线805上的网络接口单元811连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器801通过执行该一个或一个以上程序来实现图2或5所示的目的地点推荐方法中,由服务器所执行的步骤。
图9是根据一示例性实施例示出的一种终端的结构示意图。本发明实施例中的终端900可以包括一个或多个如下组成部分:用于执行计算机程序指令以完成各种流程和方法的处理器,用于信息和存储程序指令随机接入存储器(ram)和只读存储器(rom),用于存储数据和信息的存储器,i/o设备,界面,天线等。具体来讲:
终端900可以包括rf(radiofrequency,射频)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、wifi(wirelessfidelity,无线保真)模块970、处理器980、电源982、摄像头990等部件。本领域技术人员可以理解,图9中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图9对终端900的各个构成部件进行具体的介绍:
rf电路910可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器980处理;另外,将设计上行的数据发送给基站。通常,rf电路包括但不限于天线、至少一个放大器、收发信机、耦合器、lna(lownoiseamplifier,低噪声放大器)、双工器等。此外,rf电路910还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于gsm(globalsystemofmobilecommunication,全球移动通讯系统)、gprs(generalpacketradioservice,通用分组无线服务)、cdma(codedivisionmultipleaccess,码分多址)、wcdma(widebandcodedivisionmultipleaccess,宽带码分多址)、lte(longtermevolution,长期演进)、电子邮件、sms(shortmessagingservice,短消息服务)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行终端900的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端900的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与终端900的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板931以及其他输入设备932。触控面板931,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板931上或在触控面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板931。除了触控面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及终端900的各种菜单。显示单元940可包括显示面板941,可选的,可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板941。进一步的,触控面板931可覆盖显示面板941,当触控面板931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,触控面板931与显示面板941是作为两个独立的部件来实现终端900的输入和输入功能,但是在某些实施例中,可以将触控面板931与显示面板941集成而实现终端900的输入和输出功能。
终端900还可包括至少一种传感器950,比如陀螺仪传感器、磁感应传感器、光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在终端900移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端900还可配置的气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路960、扬声器981,传声器962可提供用户与终端900之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经rf电路910以发送给比如另一终端,或者将音频数据输出至存储器920以便进一步处理。
wifi属于短距离无线传输技术,终端900通过wifi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了wifi模块970,但是可以理解的是,其并不属于终端900的必须构成,完全可以根据需要在不改变公开的本质的范围内而省略。
处理器980是终端900的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行终端900的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器980可包括一个或多个处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
终端900还包括给各个部件供电的电源982(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
摄像头990一般由镜头、图像传感器、接口、数字信号处理器、cpu、显示屏幕等组成。其中,镜头固定在图像传感器的上方,可以通过手动调节镜头来改变聚焦;图像传感器相当于传统相机的“胶卷”,是摄像头采集图像的心脏;接口用于把摄像头利用排线、板对板连接器、弹簧式连接方式与终端主板连接,将采集的图像发送给所述存储器920;数字信号处理器通过数学运算对采集的图像进行处理,将采集的模拟图像转换为数字图像并通过接口发送给存储器920。
尽管未示出,终端900还可以包括蓝牙模块等,在此不再赘述。
终端900除了包括一个或者多个处理器980,还包括有存储器,以及一个或者多个模块,其中一个或者多个模块存储于存储器中,并被配置成由一个或者多个处理器执行,以实现上述图2或图5所示方法中由终端执行的全部或者部分步骤。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由服务器或者终端的处理器执行以完成本发明各个实施例所示的目的地点推荐方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。