对于每个距离范围,分别确定在距离范围内选取的对象的数量与在距离范围内查询到的对象的数量的比例值;根据每个距离范围对应的比例值,确定每个距离范围对应的权重。
[0057]在实施中,服务器可以预先存储历史时长,对于每个距离范围,服务器可以获取目标账户在预设历史时长内发送过近距离查询请求时查询到的对象的数量,其中,查询到的对象的数量即是在过去的时间内发送近距离查询请求时,服务器所选取的待展示的对象的数量,以及目标账户在距离范围内查询到的对象中选取的对象的数量,其中,选取的对象的数量即是与查询到的对象进行通信的对象的数量,查询近距离对象功能对应的是查询附近的人时,选取的对象的数量即是用户的账户与查询到的账户进行通信的账户的数量,查询近距离对象功能对应的是查询附近的活动或群时,选取的对象的数量即是用户报名查询到的活动或者请求加入查询到的群的数量。获取上述两个数量后,对于每个距离范围,服务器可以分别将在每个距离范围内选取的对象的数量与在距离范围内查询到的对象的数量进行相除,得到每个距离范围对应的比例值,其中,比例值越高,说明目标用户越容易与该距离范围内的用户进行通信。服务器可以将每个距离范围对应的比例值除以所有距离范围对应的比例值的总和,得到该距离范围对应的权值,其中,距离范围对应的比例值越大,该距离范围对应的权重越大,即在该距离范围内随机选取的待展示的对象的数量就越多。这样,可以在用户多次发送近距离查询请求时,避免待展示的对象的重复性,还可以提高根据此种方法设置的权重随机选取的待展示的对象的通信率。
[0058]可选的,还可以在每个距离范围内选取等数量的待展示的对象,相应的,处理过程可以如下:基于预设的对象展示总数量,分别在每个距离范围对应的对象中,随机选取等数量的待展示的对象。
[0059]在实施中,服务器可以预先存储所要选取的待展示的对象的总数量(即预设的对象展示总数量),可以将预设的对象展示总数量处于预设的距离范围的数量,得到每个距离范围对应的数量。服务器可以在得到每个距离范围对应的对象中,随机选取等数量的待展示的对象。
[0060]可选的,服务器可以按照选取的待展示的对象与所述目标终端之间的当前距离由小到大的顺序向目标终端进行展示,相应的,处理过程可以如下:按照选取的待展示的对象与目标终端之间的当前距离由小到大的顺序,向目标终端展示所述待展示的对象。
[0061 ] 在实施中,在每个距离范围内随机选取待展示的对象后,服务可以将在每个距离范围内选取的对象,按照选取的待展示的对象与目标终端之间的当前距离由小到大的顺序排列。服务器可以按照预设的多个距离范围对应的距离由小到大的顺序向目标终端进行展示,其中,可以向目标终端发送反馈消息,反馈消息中携带有选取的待展示的对象的标识。终端可以接收服务器发送的反馈消息,并对其进行解析,获取其中携带的待展示的对象的标识,并对其进行显示。
[0062]另外,当确定出每个距离范围对应的待展示的对象的数量,服务器在每个距离范围随机选取待展示的对象时,若某个距离范围对应的对象小于待展示的对象的数量,可以选取该距离范围对应的全部对象,可以按照该方式在每个距离范围内选取待展示的对象。每个距离范围对应的待展示的对象选取后,可以将预设的对象展示总数量减去在每个距离范围选取的待展示的对象的数量,得到还需选取的待展示的对象的数量。服务器可以在所有距离范围对应除随机选取的待展示的对象之外的对象中,随机选取还需选取的待展示的对象的数量的待展示的对象。此外,服务器还可以获取与目标终端之间的距离在预设距离范围之外的距离对应的对象,可以在预设距离范围之外的距离对应的对象中随机选取还需选取的待展示的对象的数量的待展示的对象,例如,预设的距离范围对应的距离是0-20km,预设的对象展示总数量是100,在0-20km对应的对象中选取的总的待展示的对象数量是80,此时,可以在大于20km的距离对应的对象中随机选取20个待展示的对象。另外,当确定出每个距离范围对应的待展示的对象的数量,服务器可以按照对应的距离由小到大的顺序依次在每个距离范围随机选取待展示的对象,当某个距离范围对应的对象小于待展示的对象的数量,可以选取该距离范围对应的全部对象,并将该距离范围对应的应该选取的待展示的对象的数量与该距离范围对应的对象的数量的差值,累加到下一距离范围,即对于所述多个预设的距离范围中的第一个距离范围,根据每个距离范围对应的待展示的对象的数量,在第一个距离范围对应的对象中,随机选取待展示的对象;对于多个预设的距离范围中第一个距离范围之外的每个其它距离范围,根据其它距离范围对应的待展示的对象的数量,以及其它距离范围的前一个距离范围对应的待展示的对象的数量与对象的数量的差值,随机选取待展示的账户,例如多个预设距离范围分别是[0,0.l)km, [0.1,0.8) km, [0.8,2) km,每个距离范围对应的待展示的对象的数量分别是40、30、30,每个距离范围对应的对象的数量分别是35、40、50,第一个距离范围即是[0,0.l)km,在该距离范围选取的待展示的对象的数量是35,在第二个距离范围[0.1,0.8) km随机选取的待展示的对象的数量即是35,在第三个距离范围[0.8,2) km随机选取的待展示的对象的数量即是30。
[0063]本发明实施例中,接收目标终端发送的携带有目标终端的位置信息的近距离查询请求,根据目标终端的位置信息、预先存储的用于近距离查询的对象的位置信息、以及多个预设的距离范围,分别确定与目标终端之间的距离在每个距离范围内的对象,得到每个距离范围对应的对象,分别在每个距离范围对应的对象中,随机选取待展示的对象,并向目标终端展示所述待展示的对象。这样,服务器在展示近距离对象时的随机性较大,避免了多次查询到的对象的重复性,进而,可以增强查询近距离对象功能的有效性。
[0064]实施例三
[0065]基于相同的技术构思,本发明实施例还提供了一种查询近距离对象的装置,如图5所示,该装置包括:
[0066]接收模块510,用于接收目标终端发送的携带有所述目标终端的位置信息的近距离查询请求;
[0067]确定模块520,用于根据所述目标终端的位置信息、预先存储的用于近距离查询的对象的位置信息、以及多个预设的距离范围,分别确定与所述目标终端之间的距离在每个距离范围内的对象,得到每个距离范围对应的对象;
[0068]展示模块530,用于分别在每个距离范围对应的对象中,随机选取待展示的对象,并向所述目标终端展示所述待展示的对象。
[0069]可选的,所述用于近距离查询的对象为活动;
[0070]所述确定模块520,用于:
[0071]根据所述位置信息、预先存储的用于近距离查询的活动的位置信息、以及多个预设的距离范围,在活动举办时间与当前时间的差值小于预设时长阈值的活动中,分别确定与所述目标终端之间的距离在每个距离范围内的活动,得到每个距离范围对应的活动。
[0072]可选的,所述用于近距离查询的对象为账户;
[0073]所述确定模块520,用于:
[0074]根据所述位置信息、预先存储的用于近距离查询的账户所登录的终端的位置信息、以及多个预设的距离范围,在当前登录且最近一次发送近距离查询请求的时间与当前时间的差值小于预设时长阈值的账户中,分别确定所登录的终端与所述目标终端之间的距离在每个距离范围内的账户,得到每个距离范围对应的账户。
[0075]可选的,如图6所示,所述展示模块530,包括:
[0076]获取子模块5301,用于获取每个距离范围对应的权重;
[0077]确定子模块5302,用于根据每个距离范围对应的权重和预设的对象展示总数量,确定所述每个距离范围对应的待展示的对象的数量;
[0078]选取子模块5303,用于根据每个距离范围对应的待展示的对象的数量,分别在每个距离范围对应的对象中,随机选取待展示的对象。
[0079]可选的,所述获取子模块5301,用于:
[0080]获取预设的每个距离范围对应的权重。
[0081]可选的,如图7所示,所述获取子模块5301,包括:
[0082]第一获