CN104009980B - 基于社交类应用的通信方法及装置 - Google Patents

基于社交类应用的通信方法及装置 Download PDF

Info

Publication number
CN104009980B
CN104009980B CN201410201499.2A CN201410201499A CN104009980B CN 104009980 B CN104009980 B CN 104009980B CN 201410201499 A CN201410201499 A CN 201410201499A CN 104009980 B CN104009980 B CN 104009980B
Authority
CN
China
Prior art keywords
user
terminal
information
mark
coordinate information
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
Application number
CN201410201499.2A
Other languages
English (en)
Other versions
CN104009980A (zh
Inventor
牟露
姚晓光
吴凡凡
樊亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410201499.2A priority Critical patent/CN104009980B/zh
Publication of CN104009980A publication Critical patent/CN104009980A/zh
Priority to PCT/CN2015/078796 priority patent/WO2015172711A1/en
Priority to EP15792506.6A priority patent/EP3143751B1/en
Application granted granted Critical
Publication of CN104009980B publication Critical patent/CN104009980B/zh
Priority to US15/173,764 priority patent/US9986399B2/en
Priority to US15/954,760 priority patent/US10165420B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/026Services making use of location information using location based information parameters using orientation information, e.g. compass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于社交类应用的通信方法及装置,属于互联网领域。该方法包括:根据当前终端的位置信息和指定应用标识,获取至少一个第二用户,第二用户为地理位置处于当前终端的预设范围内的用户;当接收到对至少一个第二用户中任一用户的第一选择指令时,将第一选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,该通信消息携带当前终端上处于登录指定应用状态的第一用户标识、目标用户标识和第二消息内容;当接收到发送指令时,向指定应用服务器发送该通信消息,使得指定应用服务器根据目标用户标识,将第一用户标识和第二消息内容发送给目标用户。本发明扩大了社交范围,增加了应用所能提供的信息量。

Description

基于社交类应用的通信方法及装置
技术领域
本发明涉及互联网领域,特别涉及一种基于社交类应用的通信方法及装置。
背景技术
随着网络技术的发展,越来越多的应用可以基于同一账号机制,如,社交类应用的账号可以用于登录与该社交类应用处于同一账号机制的其他非社交类应用,该非社交类应用可以为游戏类应用、视频播放类应用等。因此,在用户登录该非社交类应用时,可以看到使用该应用的社交类应用好友。例如,当用户使用微信账号登录天天爱消除游戏时,用户可以看到玩该游戏的微信好友,再例如,当用户使用微信账号登录视频客户端时,用户可以在视频客户端中看到使用该视频客户端的微信好友。
在实际应用中,非社交类应用仅显示同一账号机制下的社交类应用好友以及该好友的等级等。如对于游戏类应用来说,可以查看好友的游戏成绩,而对于视频播放类应用,可以查看好友最近的播放记录等。也即是,用户所能获知的仅是跟自身用户关系链上用户的行为,受到该账号机制的限制,无法基于共同爱好等因素扩大社交范围,应用所能够提供的信息量较小。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种基于社交类应用的通信方法及装置。所述技术方案如下:
第一方面,提供了一种基于社交类应用的通信方法,所述方法包括:
根据当前终端的位置信息和指定应用标识,获取至少一个第二用户,所述第二用户为地理位置处于所述当前终端的预设范围内的用户;
当接收到对所述至少一个第二用户中任一用户的第一选择指令时,将所述第一选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,所述通信消息携带所述当前终端上处于登录指定应用状态的第一用户标识、目标用户标识和第二消息内容;
当接收到发送指令时,向指定应用服务器发送所述通信消息,使得所述指定应用服务器根据所述目标用户标识,将所述第一用户标识和所述第二消息内容发送给所述目标用户。
第二方面,提供了一种基于社交类应用的通信方法,所述方法包括:
获取终端上处于登录指定应用状态的第一用户对应的至少一个第二用户,并将所述至少一个第二用户发送给所述终端;
接收所述终端发送的通信消息,所述通信消息携带第一用户标识、目标用户标识和第二消息内容,所述目标用户标识为所述第一用户从所述至少一个第二用户中选择的用户的标识;
根据所述目标用户标识,将所述第一用户标识和所述第二消息内容发送给所述目标用户。
第三方面,提供了一种基于社交类应用的装置,所述装置包括:
第一获取模块,用于根据当前终端的位置信息和指定应用标识,获取至少一个第二用户,所述第二用户为地理位置处于所述当前终端的预设范围内的用户;
第二获取模块,用于当接收到对所述至少一个第二用户中任一用户的第一选择指令时,将所述第一选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,所述通信消息携带所述当前终端上处于登录指定应用状态的第一用户标识、目标用户标识和第二消息内容;
第一发送模块,用于当接收到发送指令时,向指定应用服务器发送所述通信消息,使得所述指定应用服务器根据所述目标用户标识,将所述第一用户标识和所述第二消息内容发送给所述目标用户。
第四方面,提供了一种基于社交类应用的装置,所述装置包括:
第四获取模块,用于获取终端上处于登录指定应用状态的第一用户对应的至少一个第二用户,并将所述至少一个第二用户发送给所述终端;
接收模块,用于接收所述终端发送的通信消息,所述通信消息携带第一用户标识、目标用户标识和第二消息内容,所述目标用户标识为所述第一用户从所述至少一个第二用户中选择的用户的标识;
第二发送模块,用于根据所述目标用户标识,将所述第一用户标识和所述第二消息内容发送给所述目标用户。
本发明实施例提供的技术方案带来的有益效果是:
在本发明实施例中,当前终端根据当前终端的位置信息和指定应用标识,获取处于登录指定应用状态的至少一个第二用户,当接收到对至少一个第二用户中的任一用户的选择指令时,将选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,当接收到发送指令时,向指定应用服务器发送该通信消息,使该指定应用服务器根据该目标用户标识,将该第一用户标识和该消息内容发送给该目标用户,如此,用户可以获知与不在自身用户关系链上的用户的行为,且扩大了社交范围,增加了应用所能提供的信息量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于社交类应用的***架构图;
图2是本发明实施例提供的另一种基于社交类应用的***架构图;
图3是本发明实施例提供的一种基于社交类应用的方法流程图;
图4是本发明实施例提供的另一种基于社交类应用的方法流程图;
图5A是本发明实施例提供的一种基于社交类应用的方法流程图;
图5B是本发明实施例提供的一种指定应用的主界面示意图;
图5C是本发明实施例提供的一种开启定位提示框的界面示意图;
图5D是本发明实施例提供的一种地图方格编号的示意图;
图5E是本发明实施例提供的一种附近用户的显示界面示意图;
图5F是本发明实施例提供的另一种附近用户的显示界面示意图;
图5G是本发明实施例提供的一种目标用户的个人信息界面示意图;
图5H是本发明实施例提供的一种消息内容编辑页面示意图;
图6A是本发明实施例提供的一种基于社交类应用的方法流程图;
图6B是本发明实施例提供的一种地图方格的示意图;
图7是本发明实施例提供的一种基于社交类应用的装置结构示意图;
图8是本发明实施例提供的另一种基于社交类应用的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种基于社交类应用的通信***架构图。参见图1,该基于社交类应用的通信***包括终端、指定应用服务器和社交类应用服务器。该终端和指定应用服务器之间通过网络连接,该指定应用服务器和该社交类应用服务器之间通过网络连接。该终端可以为手机、PAD(Personal Digital Assistant,个人数码助理)等。
其中,该终端用于与指定应用服务器之间进行数据交互,还用于运行终端上安装的各种应用,以及还用于显示各种应用的数据等等。该指定应用服务器用于接收终端发送的请求,并对终端发送的请求进行处理,该指定应用服务器还用于存储使用该指定应用的用户的信息等等;该指定应用服务器还用于与该社交类应用服务器之间进行数据交互。该社交类应用服务器用于提供该社交类应用所需的数据,还用于实现用户之间通过社交类应用的通信。
图2是本发明实施例提供的另一种基于社交类应用的通信***架构图。参见图2,该基于社交类应用的通信***包括终端、应用服务器、社交类应用服务器、位置代理服务器、地图服务器和多个存储服务器。该终端与应用服务器之间通过网络连接,应用服务器与社交类应用服务器之间通过网络连接,应用服务器还与位置代理服务器之间通过网络连接,位置代理服务器与地图服务器之间通过网络连接,该位置代理服务器还与多个存储服务器之间通过网络连接。
其中,该终端用于与应用服务器之间进行数据交互,还用于运行终端上安装的各种应用,以及还用于显示各种应用的数据等等。该应用服务器用于接收终端发送的请求,并对终端发送的请求进行处理;该社交类应用服务器用于提供该社交类应用所需的数据,还用于实现用户之间通过社交类应用的通信。位置代理服务器用于获取终端的位置信息。地图服务器用于对位置信息进行解析,得到该位置信息对应的经纬度数据。多个存储服务器用于存储用户的数据等。
图3是本发明实施例提供的一种基于社交类应用的通信方法流程图,参见图3,该方法包括:
步骤301:根据当前终端的位置信息和指定应用标识,获取至少一个第二用户,第二用户为地理位置处于当前终端的预设范围内的用户。
步骤302:当接收到对至少一个第二用户中任一用户的第一选择指令时,将第一选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,获取的通信消息携带当前终端上处于登录指定应用状态的第一用户标识、目标用户标识和第二消息内容。
步骤303:当接收到发送指令时,向指定应用服务器发送该通信消息,使得指定应用服务器根据该目标用户标识,将第一用户标识和第二消息内容发送给目标用户。
在本发明实施例中,当前终端根据当前终端的位置信息和指定应用标识,获取处于登录指定应用状态的至少一个第二用户,当接收到对至少一个第二用户中的任一用户的选择指令时,将选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,当接收到发送指令时,向指定应用服务器发送该通信消息,使该指定应用服务器根据该目标用户标识,将该第一用户标识和该第二消息内容发送给该目标用户,如此,用户可以获知与不在自身用户关系链上的用户的行为,且扩大了社交范围,增加了应用所能提供的信息量。
可选地,根据当前终端的位置信息和指定应用标识,获取至少一个第二用户,包括:
当接收到查看指令时,获取当前终端的位置信息;
向指定应用服务器发送获取请求,该获取请求携带第一用户标识和当前终端的位置信息,使指定应用服务器根据第一用户标识和该位置信息,从用户数据库中获取至少一个第二用户,用户数据库存储有登录指定应用的至少一个用户标识以及各个用户的坐标信息;
接收指定应用服务器发送的至少一个第二用户。
可选地,该方法还包括:
获取至少一个第二用户与当前终端之间的距离;
根据至少一个第二用户与当前终端之间的距离,对至少一个第二用户进行排序;
按照至少一个第二用户的排序顺序,显示至少一个第二用户。
可选地,获取待发送的通信消息,包括:
显示消息内容编辑页面,该消息内容编辑页面包括编辑接口和至少一条第一消息内容;
当接收到对至少一条第一消息内容的第二选择指令时,根据通过编辑接口接收到的编辑指令和第二选择指令对应的第一消息内容,生成第二消息内容;
根据第二消息内容、第一用户标识和目标用户标识,生成通信消息。
可选地,该方法还包括:
当接收到发送指令时,如果在预设时长内已发送的通信消息的个数达到预设阈值且在预设时长内未接收到目标用户的回复消息,则拦截该通信消息,并显示拦截提示信息;或者,
当向指定应用服务器发送通信消息之后,如果接收到指定应用服务器发送的拦截提示信息,则确定指定应用服务器已拦截该通信消息,并显示拦截提示信息。
上述所有可能实现方案,可以采用任意结合形成本公开的可能实现实施例,在此不再一一赘述。
图4是本发明实施例提供的一种基于社交类应用的通信方法,参见图4,该方法包括:
步骤401:获取终端上处于登录指定应用状态的第一用户对应的至少一个第二用户,并将至少一个第二用户发送给终端。
步骤402:接收终端发送的通信消息,该通信消息携带第一用户标识、目标用户标识和第二消息内容,目标用户标识为第一用户从至少一个第二用户中选择的用户的标识。
步骤403:根据目标用户标识,将第一用户标识和第二消息内容发送给目标用户。
在本发明实施例中,服务器获取至少一个第二用户之后,将至少一个第二用户发送给该终端,并当接收到终端发送到通信消息时,根据该目标用户标识,将第一用户标识和该第二消息内容发送给该目标用户,如此,用户可以获知与不在自身用户关系链上的用户的行为,且扩大了社交范围,增加了应用所能提供的信息量。
可选地,获取终端上处于登录指定应用状态的第一用户对应的至少一个第二用户,并将至少一个第二用户发送给该终端,包括:
接收终端发送的获取请求,该获取请求携带第一用户标识和该终端的位置信息;
根据第一用户标识和该终端的位置信息,从用户数据库中获取至少一个第二用户,该用户数据库存储有登录指定应用的至少一个用户标识以及各个用户的位置信息;
将至少一个第二用户发送给终端。
可选地,根据第一用户标识和该终端的位置信息,从用户数据库中获取至少一个第二用户,包括:
根据该终端的位置信息,获取该终端在预设二维地图中的坐标信息;
根据以该坐标信息对应的点为圆点、以预设距离为半径的圆形区域,确定该圆形区域在预设二维地图中所占的地图方格,预设二维地图包括多个大小相同的地图方格;
根据确定的地图方格和第一用户标识,从用户数据库中获取至少一个第二用户。
可选地,根据确定的地图方格和第一用户标识,从用户数据库中获取至少一个第二用户,包括:
获取确定的地图方格的编号,并根据获取的地图方格的编号,从已存储的地图方格编号与用户标识之间的对应关系中获取对应的用户标识;
从获取的用户标识中选择除第一用户标识之外的其他用户标识;
根据选择的用户标识,从已存储的用户标识与坐标信息之间的对应关系中获取对应的坐标信息;
根据获取的坐标信息确定至少一个第二用户。
可选地,根据获取的坐标信息确定至少一个第二用户,包括:
将获取的坐标信息对应的用户确定为至少一个第二用户;或者,
根据获取的坐标信息、所述圆点和所述半径,从获取的坐标信息中选择地理位置位于终端的预设范围内的坐标信息,将选择的坐标信息对应的用户确定为至少一个第二用户。
可选地,根据该终端的位置信息,获取终端在预设二维地图中的坐标信息之后,还包括:
根据终端在预设二维地图中的坐标信息,计算该坐标信息对应的地图方格编号;
将该地图方格编号和第一用户标识存储在地图方格编号与用户标识之间的对应关系中;
将第一用户标识和坐标信息存储在用户标识与坐标信息之间的对应关系中。
可选地,接收终端发送的通信消息之后,还包括:
当接收到终端向目标用户发送的通信消息时,如果在预设时长内已接收的通信消息的个数达到预设阈值且在预设时长内未接收到目标用户向终端发送的回复消息,则拦截接收到的通信消息,并向终端发送拦截提示信息。
上述所有可能实现方案,可以采用任意结合形成本公开的可能实现实施例,在此不再一一赘述。
由于在基于社交类应用的通信方法中获取至少一个第二用户包括两种不同的实现方式,下文将在两个不同的实施例中对这两种实现方式进行详细阐述。
图5A是本发明实施例提供的一种基于社交类应用的通信方法,本发明实施例以该基于社交类应用的通信方法应用于图1所示的实施环境中举例说明,且本发明实施例对基于社交类应用的通信方法中获取至少一个第二用户的第一种实现方式进行阐述,参见图5A,该方法包括:
步骤501:如果当前终端接收到查看指令,获取当前终端的位置信息。
具体地,当用户向当前终端提交查看指令时,此时当前终端接收到该查看指令,当前终端判断是否已开启定位功能。如果已开启定位功能,则当前终端使用该定位功能获取该当前终端的位置信息;如果未开启定位功能,则当前终端显示开启定位提示框,如果当前终端接收到开启定位功能的确认指令,当前终端开启定位功能,并使用该定位功能获取该当前终端的位置信息。
其中,查看指令用于查看当前终端的预设范围内的用户,也就是说,查看指令用于查看当前终端附近一定距离之内的用户。如图5B所示,图5B是本发明实施例提供的一种指定应用的主界面,当前终端登录指定应用之后,该终端中会显示图5B所示的主界面,在该指定应用的主界面中包括指定用户列表,该指定用户列表中包括用户的等级和成就等信息,该用户为当前终端上登录的第一用户的关系链上的用户,该主界面还包括一个开始按钮、一个附近用户查看按钮、特殊成就按钮和邀请奖励按钮,该用户可以点击该附近用户查看按钮,以向当前终端提交查看指令。主界面中的开始按钮用于提交开始使用该指定应用的开始指令,特殊成就按钮用于查看该用户使用该指定应用的成就,邀请奖励按钮用于查看该用户使用该指定应用所获得的奖励。
其中,如果当前终端未开启定位功能,当前终端会显示如图5C所示的开启定位提示框时,该开启定位提示框中可以包括“允许”和“拒绝”两个按钮。当用户点击“允许”按钮时,确定该用户确认开启定位功能,此时当前终端会接收到开启定位功能的确认指令。当用户点击“拒绝”按钮时,确定该用户不想开启定位功能,此时当前终端会接收到不开启定位功能的拒绝指令,当终端接收到拒绝指令时,结束操作,该终端返回到如图5B所示的指定应用的主界面中。
需要补充说明的是,提交查看指令的方式仅以图5B所示的方式为例进行说明,以及开启定位提示框的显示形式也仅以图5C所示的方式为例进行说明,实际应用中还可以通过其他的方式提交查看指令,以及通过其他的形式显示开启定位提示框,本发明对此不一一列出。
步骤502:当前终端向指定应用服务器发送获取请求,该获取请求携带当前终端上处于登录指定应用状态的第一用户标识和当前终端的位置信息。
具体地,当前终端获取在当前终端上处于登录指定应用状态的第一用户标识,根据第一用户标识和当前终端的位置信息,生成获取请求,并向指定应用服务器发送该获取请求。
其中,在本发明实施例中,该用户可以通过社交类应用的账号登录该指定应用,此时,在当前终端中会存储处于登录指定应用状态的第一用户标识。其中,第一用户标识可以为该社交类应用标识,还可以为该用户在该社交类应用中的用户标识,该用户在社交类应用中的用户标识可以为该用户在该社交类应用中注册的账号,当然,还可以是该用户在该社交类应用中的昵称等等。
步骤503:当指定应用服务器接收到该获取请求时,该指定应用服务器根据该第一用户标识和该位置信息,从用户数据库中获取至少一个第二用户,该用户数据库存储有登录指定应用的至少一个用户标识以及各个用户的坐标信息。
具体地,当指定应用服务器接收到该获取请求时,该指定应用服务器根据该位置信息,获取当前终端在预设二维地图中的坐标信息;根据以该坐标信息对应的点为圆点、以预设距离为半径的圆形区域,确定该圆形区域在预设二维地图中所占的地图方格,预设二维地图包括多个大小相同的地图方格;根据确定的地图方格和第一用户标识,从用户数据库中获取至少一个第二用户。
其中,指定应用服务器根据该位置信息,获取当前终端在预设二维地图中的坐标信息的具体操作可以为:指定应用服务器对该位置信息进行解析,得到当前终端的经纬度数据。根据当前终端的经纬度数据,按照如下公式(1)计算当前终端在预设二维地图中的坐标信息,该坐标信息包括横轴坐标和纵轴坐标。
x = ( 180 - j ) × 40000 × 10 3 / 360 y = ( 90 - w ) × 20000 × 10 3 / 180 - - - ( 1 )
其中,在上述公式(1)中,x为当前终端在预设二维地图中的横轴坐标,j为当前终端的经度数据,y为当前终端在预设二维地图中的纵轴坐标,w为当前终端的纬度数据。
需要说明的是,地球是一个略扁的球形,赤道的长度是40076千米,子午线的长度是40009千米。粗略的将地球以赤道为矩形的长边,将地球变成一个矩形(参考我们挂在墙上的世界地图)。那么矩形的长就是赤道的长度,在本发明实施例中以40000千米作为矩形的长,以20000千米作为矩形的宽。此时,经度上的1度代表的长度可以为40000千米/360,纬度上的1度代表的长度是20000千米/180。且在本发明实施例中选择东经180度,北纬90度作为预设二维地图中的坐标原点,经度代表横轴,正方向是从东往西,纬度代表纵轴,正方向是从北到南。此时,可以得到预设二维地图,随后将预设二维地图进行划分,得到多个大小相同的正方形地图方格,并按照一定的规则对该多个大小相同的地图方格进行编号。例如,在本发明实施例中可以按照正方形的边长为100米,将预设二维地图进行划分,可以按照如图5D所示从坐标原点开始,沿着横轴方向递增的方式对预设二维地图中的地图方格进行编号。当然,还可以从坐标原点开始,沿着纵轴方向递增的方式对预设二维地图中的地图方格进行编号,在本发明实施例中以从坐标原点开始,沿着横轴方向递增的方式对预设二维地图中的地图方格进行编号为例进行说明。
进一步地,指定应用服务器根据该位置信息,获取该终端在预设二维地图中的坐标信息之后,还包括:
根据该终端在预设二维地图中的坐标信息,计算该坐标信息对应的地图方格编号;将计算的地图方格编号和第一用户标识存储在地图方格编号与用户标识之间的对应关系中;以及将第一用户标识和获取的坐标信息存储在用户标识与坐标信息之间的对应关系中。
其中,根据该终端在预设二维地图中的坐标信息,按照如下公式(2)计算该坐标信息对应的地图方格编号。
其中,在上述公式(2)中,GridGID为该坐标信息对应的地图方格编号,s为预设二维地图中的地图方格的边长,为已知变量,且在本发明实施例中s为100,为向下取整运算。
其中,将计算的地图方格编号和第一用户标识存储在地图方格编号与用户标识之间的对应关系中的具体操作可以为:如果已存储的地图方格编号与用户标识之间的对应关系中存在第一用户标识对应的记录,则将已存储的地图方格编号与用户标识之间的对应关系中第一用户标识对应的地图方格编号替换为计算的地图方格编号;如果已存储的地图方格编号与用户标识之间的对应关系中不存在第一用户标识对应的记录,则在地图方格编号与用户标识之间的对应关系中创建对应的记录,并将计算的地图方格编号和第一用户标识存储在创建的记录中。
其中,将第一用户标识和获取的坐标信息存储在用户标识与坐标信息之间的对应关系中的具体操作可以为:如果已存储的用户标识与坐标信息之间的对应关系中存在第一用户标识对应的记录,则将已存储的用户标识与坐标信息之间的对应关系中第一用户标识对应的地图方格编号替换为获取的坐标信息,如果已存储的用户标识与坐标信息之间的对应关系中不存在第一用户标识对应的记录,则在用户标识与坐标信息之间的对应关系中创建对应的记录,并将获取的坐标信息和第一用户标识存储在创建的记录中。
其中,根据确定的地图方格和第一用户标识,从用户数据库中获取至少一个第二用户的具体操作可以为:获取确定的地图方格的编号,并根据获取的地图方格的编号,从已存储的地图方格编号与用户标识之间的对应关系中获取对应的用户标识;从获取的用户标识中选择除第一用户标识之外的其他用户标识,根据选择的用户标识,从已存储的用户标识与坐标信息之间的对应关系中获取对应的坐标信息;根据获取的坐标信息确定至少一个第二用户。
用户可以使用不同的社交类应用的账号登录该指定应用,所以在本发明实施例中,指定应用服务器中存储的用户标识还可以使用社交类应用标识进行标记。在本发明实施例中可以获取同一社交类应用标识标记的用户标识,将获取的用户标识对应的用户确定为至少一个第二用户。
进一步地,在指定应用服务器中还可以对用户标识与坐标信息之间的对应关系中的每条记录设置时间戳,选择至少一个第二用户时可以选择在当前时间之前且离当前时间最近的第一预设时间之内的用户,此时根据选择的用户标识,从已存储的用户标识与坐标信息之间的对应关系中获取对应的坐标信息的具体操作可以为:根据选择的用户标识,从已存储的用户标识与坐标信息之间的对应关系中获取对应的坐标信息;获取当前时间,根据获取的坐标信息所在的记录对应的时间戳,选择时间戳位于当前时间之前且离当前时间最近第一预设时间之内的坐标信息。
在本发明实施例中,根据获取的坐标信息获取至少一个第二用户的方式可以根据如下两种情况中的任一种情况实现,包括:
第一种、将获取的坐标信息对应的用户确定为至少一个第二用户。
在本发明实施例中,对预设的二维地图进行地图方格划分时,地图方格的尺寸较小,所以获取至少一个第二用户时可以允许一定的误差,可以直接将获取的坐标信息对应的用户确定为至少一个第二用户。
第二种、根据获取的坐标信息、所述圆点和所述半径,从获取的坐标信息中选择地理位置位于终端的预设范围内的坐标信息,将选择的坐标信息对应的用户确定为至少一个第二用户。
为了精确地获取至少一个第二用户,可以根据第二种方式精确地计算获取的坐标信息对应的用户与当前终端之间的距离,进而根据该距离获取至少一个第二用户。
步骤504:该指定应用服务器将该至少一个第二用户发送给当前终端。
在指定应用服务器中可以使用用户标识唯一地标识该用户,此时该指定应用服务器可以将该至少一个第二用户的用户标识发送给当前终端,还可以将该至少一个第二用户的坐标信息发送该当前终端。
步骤505:如果当前终端接收到该指定应用服务器发送的至少一个第二用户时,当前终端获取至少一个第二用户与当前终端之间的距离。
其中,在本发明实施例中,指定应用服务器可以将该至少一个第二用户的坐标信息发送给当前终端,使当前终端根据该至少一个第二用户的坐标信息和当前终端的位置信息,计算该至少一个第二用户与当前终端之间的距离。当然,该指定应用服务器也可以根据该至少一个第二用户的坐标信息和当前终端的坐标信息,计算该至少一个第二用户与当前终端之间的距离,并将该至少一个第二用户与当前终端之间的距离发送给当前终端。本发明实施例对此不做具体限定。
其中,当前终端根据该至少一个第二用户的坐标信息和当前终端的位置信息,计算该至少一个第二用户与当前终端之间的距离的具体操作可以为:获取当前终端的坐标信息,根据该至少一个第二用户的坐标信息和当前终端的坐标信息,计算该至少一个第二用户与当前终端之间的距离。
其中,获取当前终端的坐标信息的操作可以为如下两种情况中的任一种情况:(a)、当前终端对当前终端的位置信息进行解析,得到当前终端的经纬度数据,根据当前终端的经纬度数据按照上述公式(1)计算当前终端的坐标信息。(b)、指定应用服务器将当前终端的坐标信息发送给当前终端。
需要补充说明的是,当前终端根据至少一个第二用户的坐标信息和当前终端的坐标信息,计算该至少一个第二用户与当前终端之间的距离可以为计算该至少一个第二用户的坐标信息和当前终端的坐标信息之间的直线距离,在此不做具体阐述。
步骤506:当前终端根据至少一个第二用户与当前终端之间的距离,对至少一个第二用户进行排序。
其中,当前终端按照至少一个第二用户与当前终端之间的距离从大到小的顺序,对至少一个第二用户进行排序。当然,当前终端还可以按照至少一个第二用户与当前终端之间的距离从小到大的顺序,对至少一个第二用户进行排序。
可选地,当前终端还可以按照至少一个第二用户在该指定应用中的等级,对至少一个第二用户进行排序,当前终端还可以按照至少一个第二用户的昵称的首字母对至少一个第二用户进行排序,本发明实施例对此不做具体限定,且在本发明实施例中以根据至少一个第二用户与当前终端之间的距离,对至少一个第二用户进行排序为例进行说明。
步骤507:当前终端按照至少一个第二用户的排序顺序,显示至少一个第二用户。
其中,如果当前终端按照至少一个第二用户与当前终端之间的距离从大到小的顺序,对至少一个第二用户进行排序时,当前终端可以按照至少一个第二用户的排序的逆序,显示至少一个第二用户。如果当前终端按照至少一个第二用户与当前终端之间的距离从小到大的顺序,对至少一个第二用户进行排序时,当前终端还可以按照至少一个第二用户的排序的顺序,显示至少一个第二用户。不管当前终端按照至少一个第二用户的排序的顺序显示至少一个第二用户,还是按照至少一个第二用户的排序的逆序显示至少一个第二用户,只要当前终端按照至少一个第二用户与当前终端之间的距离从小到大的顺序显示至少一个第二用户即可。例如,如图5E所示,获取的至少一个第二用户为第二用户1、第二用户2、第二用户3和第二用户4,第二用户1与当前终端之间的距离为1000米,第二用户2与当前终端之间的距离为200米,第二用户3与当前终端之间的距离为400米,第二用户4与当前终端之间的距离为700米。所以根据第二用户2、第二用户3、第二用户4和第二用户1的顺序显示该至少一个第二用户,其中,显示该至少一个第二用户时,可以显示该至少一个第二用户的昵称和头像等,其中,第二用户2的昵称为水月深圳,第二用户3的昵称为阿童木,第二用户4的昵称为肖先生,第二用户1的昵称为Roy翅膀。
可选地,该终端还可以在该至少一个第二用户对应的位置处显示该至少一个第二用户与当前终端之间的距离、该至少一个第二用户的等级、得分等等。例如,如图5F所示,在各个第二用户的对应位置处显示该用户与当前终端之间的距离。进一步地,第二用户1的等级为V1,得分为1,233,454,第二用户2的等级为V1,得分为23,455,435,第二用户3的等级为V3,得分为3,343,543,第二用户4的等级为V2,得分为232,343,还可以在图5F中显示各个用户的等级和得分。
需要说明的是,不仅可以使用图5E中的方式显示该至少一个第二用户,还可以通过其他的方式显示该至少一个第二用户,在本发明实施例中仅以图5E所示的方式为例进行说明。另外,不仅可以使用图5F中的方式显示该至少一个第二用户与当前终端之间的距离、该至少一个第二用户的等级和得分,还可以通过其他的方式进行显示,在本发明实施例中仅以图5F所示的显示方式为例进行说明。
步骤508:当接收到对至少一个第二用户中的任一用户的第一选择指令时,将第一选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,该通信消息携带第一用户标识、目标用户标识和第二消息内容。
第一选择指令可以是用户触发的,当用户触发该第一选择指令时,该用户可以在当前终端的显示界面显示的至少一个第二用户中通过预设的操作触发该第一选择指令。该预设的操作可以为单击操作、双击操作、多击操作、滑动操作、拖拽操作、语音操作等等。
其中,获取待发送的通信消息的具体操作可以为:显示消息内容编辑页面,该消息内容编辑页面包括编辑接口和至少一条第一消息内容;当接收到对至少一条第一消息内容的第二选择指令时,根据通过编辑接口接收到的编辑指令和第二选择指令对应的第一消息内容,生成第二消息内容;根据第二消息内容、第一用户标识和目标用户标识,生成通信消息。
可选地,获取待发送的通信消息的具体操作还可以为:从已存储的多个第一消息内容中随机选择一个第一消息内容,并显示消息内容编辑页面,该消息内容编辑页面包括编辑接口和选择的第一消息内容;当通过编辑接口接收到编辑指令时,对消息内容编辑页面中显示的第一消息内容进行编辑,得到第二消息内容,根据第二消息内容、第一用户标识和目标用户标识,生成通信消息。
例如,当前终端接收到对至少一个第二用户中的任一用户的第一选择指令时,当前终端可以显示如图5G所示的目标用户的个人信息,在图5G所示的目标用户的个人信息中包括该目标用户的昵称“水月深圳”、该目标用户使用该指定应用的历史最高得分“23,455,435”和“给TA丢张纸条吧”按钮,当用户点击“给TA丢张纸条吧”按钮时,当前终端的界面跳转至消息内容编辑页面,如图5H所示,在图5H中的编辑接口中显示第一消息内容,用户可以通过该编辑接口提交编辑指令并对第一消息内容进行编辑,图5H中还包括“发送”按钮,用于提交发送指令。
在本发明实施例中,当用户与目标用户进行通信时,当前终端会先在消息内容编辑页面中显示至少一个第一消息内容,这样可以当用户不知道与目标用户说什么的时候,对用户起到提示的作用。并且当前终端还提供了编辑接口,当用户通过该编辑接口提交编辑指令时,该用户可以对显示的第一消息内容进行编辑,从而实现用户自定义的消息内容,不致于消息内容的单调。
步骤509:当接收到发送指令时,当前终端向指定应用服务器发送该通信消息。
发送指令用于向指定应用服务器发送通信消息,且发送指令可以是用户触发的,还可以是终端触发的。当用户触发该发送指令时,该用户可以在当前终端的显示界面中通过预设的操作触发该发送指令。该预设的操作可以为单击操作、双击操作、多击操作、滑动操作、拖拽操作、语音操作等等。当该终端触发该发送指令时,该终端可以检测编辑接口未接收到编辑指令的时间,当该时间达到第二预设时间时,该终端触发该发送指令。
步骤510:当指定应用服务器接收到该通信消息时,该指定应用服务器根据目标用户标识,将该第一用户标识和该第二消息内容发送给该目标用户。
其中,当终端第一次使用该指定应用并通过社交类应用账号登录时,指定应用服务器向该终端发送一个授权消息。当该终端接收到该授权消息时,该终端将该授权消息显示给该用户。当该用户同意授权使用社交类应用账号登录该指定应用时,该终端将该授权成功消息发送给指定应用服务器。指定应用服务器接收该授权成功消息,并将该授权成功消息发送给社交类应用服务器。社交类应用服务器接收该授权成功消息,获取该用户的社交类应用账号对应的用户标识和openID(open Identity,开放标识),并将社交类应用账号对应的用户标识和openID发送给指定应用服务器。
进一步地,指定应用服务器接收社交类应用账号对应的用户标识和openID。指定应用服务器将社交类应用帐号对应的用户标识和openID存储在用户标识与openID的对应关系中。
具体地,该指定应用服务器根据目标用户标识,将该第一用户标识和该第二消息内容发送给该目标用户的具体操作可以为:该指定应用服务器根据该目标用户标识,从已存储的用户标识与openID之间的对应关系中获取对应的openID,根据获取的openID,将该第一用户标识和该第二消息内容发送给该目标用户。
进一步地,为了防止目标用户被骚扰信息所打扰,所以本发明实施例还设置了防骚扰机制,该防骚扰机制的过程具体为:
如果当前终端接收到该发送指令时,如果在预设时长内已发送的通信消息的个数达到预设阈值且在预设时长内未接收到该目标用户的回复消息,则当前终端拦截该通信消息,并显示拦截提示信息;或者,
如果当前终端向指定应用服务器发送通信消息之后,如果接收到指定应用服务器发送的拦截提示信息,则确定该指定应用服务器已拦截该通信消息,并显示拦截提示信息。
其中,该防骚扰机制可以在终端中实现,还可以在指定应用服务器中实现,当在指定应用服务器中实现时,当指定应用服务器接收到该终端向目标用户发送的通信消息时,该指定应用服务器需要判断在预设时长内已接收到的通信消息的个数是否已达到预设阈值且在预设时长内是否接收到该目标用户向该终端发送的回复消息,如果在预设时长内已接收的通信消息的个数达到预设阈值且在该预设时长内未接收到目标用户向该终端发送的回复消息,则拦截接收到的通信消息,并向该终端发送拦截提示信息。
在本发明实施例中,指定应用即为非社交类应用,指定应用服务器即为该非社交类应用对应的服务器。由于社交类应用的主要功能是用户之间的通信,而非社交类应用的主要功能不是用户之间的通信,所以在本发明实施例中,可以基于社交类应用实现使用非社交类应用的用户之间的通信。
在本发明实施例中,当前终端根据当前终端的位置信息和指定应用标识,获取处于登录指定应用状态的至少一个第二用户,当接收到对至少一个第二用户中的任一用户的选择指令时,将选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,当接收到发送指令时,向指定应用服务器发送该通信消息,使该指定应用服务器根据该目标用户标识,将该第一用户标识和该第二消息内容发送给该目标用户,如此,用户可以获知与不在自身用户关系链上的用户的行为,且扩大了社交范围,增加了应用所能提供的信息量。
图6A是本发明实施例提供的一种基于社交类应用的通信方法,本发明实施例以该基于社交类应用的通信方法应用于图2所示的实施环境中举例说明,图2所示的实施环境中,将图1所示的实施环境中的指定应用服务器分为应用服务器、位置代理服务器、地图服务器和多个存储服务器为例进行说明。本发明实施例对基于社交类应用的通信方法中获取至少一个第二用户的第二种实现方式进行阐述,参见图6A,该方法包括:
步骤601:如果当前终端接收到查看指令时,获取当前终端的位置信息。
步骤601的具体实现方式与上述步骤501同理,在此不再赘述。
步骤602:当前终端向应用服务器发送获取请求,该获取请求携带当前终端上处于登录指定应用状态的第一用户标识和当前终端的位置信息。
具体地,当前终端获取在当前终端上处于登录指定应用状态的第一用户标识,根据第一用户标识和当前终端的位置信息,生成获取请求,并向应用服务器发送该获取请求。
其中,在本发明实施例中,该用户可以通过社交类应用的账号登录该指定应用,此时,在当前终端中会存储处于登录指定应用状态的第一用户标识。其中,第一用户标识可以为该社交类应用标识,还可以为该用户在该社交类应用中的用户标识,该用户在社交类应用中的用户标识可以为该用户在该社交类应用中注册的账号,当然,还可以是该用户在该社交类应用中的昵称等等。
步骤603:当应用服务器接收到该获取请求时,该应用服务器将该获取请求发送给位置代理服务器。
具体地,当应用服务器接收到该获取请求时,该应用服务器通过与位置代理服务器之间的通信通道,将该获取请求发送给位置代理服务器。
其中,该应用服务器与该位置代理服务器之间的通信通道可以为tbus通道。
步骤604:当位置代理服务器接收到该获取请求时,该位置代理服务器将该位置信息发送给地图服务器,使地图服务器对该位置信息进行解析,得到当前终端的经纬度数据。
具体地,当位置代理服务器接收到该获取请求时,该位置代理服务器将该位置信息发送给地图服务器,地图服务器对该位置信息进行解析,得到当前终端的经纬度数据。并将当前终端的经纬度数据发送给位置代理服务器。
其中,位置代理服务器与地图服务器之间是通过http协议进行数据通信的。
步骤605:位置代理服务器接收地图服务器发送的当前终端的经纬度数据,根据当前终端的经纬度数据,计算当前终端在预设二维地图中的坐标信息。
具体地,当位置代理服务器接收到地图服务器发送的当前终端的经纬度数据时,位置代理服务器根据当前终端的经纬度数据,按照如下公式(1)计算当前终端在预设二维地图中的坐标信息,该坐标信息包括横轴坐标和纵轴坐标。
x = ( 180 - j ) × 40000 × 10 3 / 360 y = ( 90 - w ) × 20000 × 10 3 / 180 - - - ( 1 )
其中,在上述公式(1)中,x为当前终端在预设二维地图中的横轴坐标,j为当前终端的经度数据,y为当前终端在预设二维地图中的纵轴坐标,w为当前终端的纬度数据。
需要说明的是,地球是一个略扁的球形,赤道的长度是40076千米,子午线的长度是40009千米。粗略的将地球以赤道为矩形的长边,将地球变成一个矩形(参考我们挂在墙上的世界地图)。那么矩形的长就是赤道的长度,在本发明实施例中以40000千米作为矩形的长,以20000千米作为矩形的宽。此时,经度上的1度代表的长度可以为40000千米/360,纬度上的1度代表的长度是20000千米/180。且在本发明实施例中选择东经180度,北纬90度作为预设二维地图中的坐标原点,经度代表横轴,正方向是从东往西,纬度代表纵轴,正方向是从北到南。此时,可以得到预设二维地图,随后将预设二维地图进行划分,得到多个大小相同的正方形地图方格,并按照一定的规则对该多个大小相同的地图方格进行编号。例如,在本发明实施例中可以按照正方形的边长为100米,将预设二维地图进行划分,可以按照如图5D所示从坐标原点开始,沿着横轴方向递增的方式对预设二维地图中的地图方格进行编号。当然,还可以从坐标原点开始,沿着纵轴方向递增的方式对预设二维地图中的地图方格进行编号,在本发明实施例中以从坐标原点开始,沿着横轴方向递增的方式对预设二维地图中的地图方格进行编号为例进行说明。
进一步地,位置代理服务器计算该终端在预设二维地图中的坐标信息之后,还包括:
根据该终端在预设二维地图中的坐标信息,计算该坐标信息对应的地图方格编号;根据该地图方格编号,计算存储该地图方格中的用户对应的坐标信息的存储服务器的编号;根据该存储服务器的编号,将计算的地图方格编号和第一用户标识存储在存储服务器中的地图方格编号与用户标识之间的对应关系中;以及将第一用户标识和获取的坐标信息存储在该存储服务器中的用户标识与坐标信息之间的对应关系中。
其中,根据该终端在预设二维地图中的坐标信息,计算该坐标信息对应的地图方格编号的具体操作可以为:根据该终端在预设二维地图中的坐标信息,按照如下公式(2)计算该坐标信息对应的地图方格编号。
其中,在上述公式(2)中,GridGID为该坐标信息对应的地图方格编号,s为预设二维地图中的地图方格的边长,为已知变量,且在本发明实施例中s为100,为向下取整运算。
其中,根据该地图方格编号,计算存储该地图方格中的用户对应的坐标信息的存储服务器的编号的具体操作可以为:根据该地图方格编号,按照如下公式(3)计算存储该地图方格中的用户对应的坐标信息的存储服务器的编号。
M=hash(GridGID)%N    (3)
其中,在上述公式(3)中,M为存储该地图方格中的用户对应的坐标信息的存储服务器的编号,hash()为哈希运算,%为取模运算,N为***包括的存储服务器的总个数。
根据上述公式(3)计算存储服务器的编号,并将该用户的坐标信息存储在该存储服务器中会造成存储服务器的负载较大。比如,预设距离为1KM,即半径为1KM,当查找当前终端的1KM之内的其他用户时,可以查找的地图方格的数目大概是2000/100×2000/100=400个地图方格,对这400个地图方格分别进行哈希运算,得到该400个地图方格对应的存储服务器的编号,此时,该400个地图方格对应的存储服务器可能包含了所有的存储服务器。也就是说一次查找附近用户的操作需要向所有的存储服务器请求数据,显然存储服务器的负载会很大。
为了解决存储服务器的负载较大的问题,我们应该保证单个查找附近用户的请求,大部分数据应该集中在少部分机器上。因此需要在一个更粗的粒度上将一些范围内的数据集中存放在同一个机器上。也就是说存放在同一个机器上的区域范围的最小粒度应该比地图方格的尺寸大。优选地,增大地图方格的尺寸,例如,可以将地图方格的边长从100米增大到10000米,这样一个大地图方格中的数据会存储到同一台机器上。如图6B所示,图6B中的黑色粗线条的大地图方格中的用户的坐标信息都会存储在同一台存储服务器中,也可以按照之前步骤503中对地图方格编号的方法对大地图方格进行编号。此时,大地图方格的编号的计算公式变为如下公式(4)所示,
其中,在上述公式(4)中,VirGridGID为大地图方格的编号,L为大地图方格的边长,为已知变量,且在本发明实施例中L为10000。
当确定大地图方格的编号之后,可以按照如下公式(5)计算存储该大地图方格中的用户对应的坐标信息的存储服务器的编号。
M=hash(VirGridGID)%N    (5)
其中,将计算的地图方格编号和第一用户标识存储在存储服务器中的地图方格编号与用户标识之间的对应关系中的具体操作可以为:如果存储服务器中已存储的地图方格编号与用户标识之间的对应关系中存在第一用户标识对应的记录,则将存储服务器中已存储的地图方格编号与用户标识之间的对应关系中第一用户标识对应的地图方格编号替换为计算的地图方格编号,如果存储服务器中已存储的地图方格编号与用户标识之间的对应关系中不存在第一用户标识对应的记录,则在地图方格编号与用户标识之间的对应关系中创建对应的记录,并将计算的地图方格编号和第一用户标识存储在创建的记录中。
进一步地,在地图方格编号与用户标识之间的对应关系中创建对应的记录,并将计算的地图方格编号和第一用户标识存储在创建的记录中之后,位置代理服务器以广播的形式,向除当前存储服务器之外的其他存储服务器发送一条删除消息,该删除消息中携带第一用户标识,使其他存储服务器删除第一用户标识所在的记录。
其中,将第一用户标识和获取的坐标信息存储在存储服务器中用户标识与坐标信息之间的对应关系中的具体操作可以为:如果存储服务器中已存储的用户标识与坐标信息之间的对应关系中存在第一用户标识对应的记录,则将存储服务器中已存储的用户标识与坐标信息之间的对应关系中第一用户标识对应的地图方格编号替换为获取的坐标信息,如果存储服务器中已存储的用户标识与坐标信息之间的对应关系中不存在第一用户标识对应的记录,则在用户标识与坐标信息之间的对应关系中创建对应的记录,并将获取的坐标信息和第一用户标识存储在创建的记录中。
进一步地,在用户标识与坐标信息之间的对应关系中创建对应的记录,并将获取的坐标信息和第一用户标识存储在创建的记录中之后,位置代理服务器以广播的形式,向除当前存储服务器之外的其他存储服务器发送一条删除消息,该删除消息中携带第一用户标识,使其他存储服务器删除第一用户标识所在的记录。
优选地,在本发明实施例中,数据是存储到哈希表中的,而哈希表可以包括多个哈希桶,当存储服务器存储数据时,计算hash(GridGID)%hashnum,得到哈希桶的编号,其中hashnum是该哈希表包括的哈希桶的个数。由于GridGID的计算太有规律了,所以可能会导致一些地图方格的数据集中到同一个哈希桶中,此时可以再对GridGID进行一次哈希运算,增加数据的随机性。
优选地,存储服务器存储数据时是将数据存储在共享内存中,同时将存储数据记录到OSS((Open Storage Service,开放存储服务器)日志中,方便清共享内存后重启时进行数据恢复。
由于存储服务器对数据的操作总共就两种:一种是***,另一种是删除。每一次的***操作和每一次的删除操作(不包括超时时对数据的删除)都记录到OSS日志。OSS日志每隔预设时间记录一份。超过一定时间的日志就清除掉。在清共享内存重启时,首先将这些OSS日志按照日期排序,进行数据恢复时从时间最早的OSS日志开始读入,如果是***操作就***记录,删除操作就删除记录。由于存储服务器上有一个用户标识与地图方格编号之间的对应关系,可以保证数据唯一,另外读入数据是从最早的记录开始,因此可以保证最后读取的数据是最新的。另外,由于OSS日志文件有超时时间,那么OSS日志中记录的数据不会太多。
进一步地,在本发明实施例中,还可以将每个地图方格中存储的用户的数据使用链表的形式链接起来,链表可以采用头插法的方法,保证最新上报的用户的数据在链表的最前面,同时也在逻辑上保证了链表中的数据是按照上报时间排序的。
步骤606:位置代理服务器根据以该坐标信息对应的点为圆点、以预设距离为半径的圆形区域,确定该圆形区域在预设二维地图中所占的地图方格,预设二维地图包括多个大小相同的地图方格。
其中,预设距离可以为管理人员配置的,还可以是用户在终端中设置的,本发明实施例对此不做具体限定。
步骤607:位置代理服务器根据确定的地图方格的编号,计算存储该地图方格中的用户对应的坐标信息的存储服务器的编号。
具体地,位置代理服务器根据确定的地图方格的编号,分别按照上述公式(3)计算存储该地图方格中的用户对应的坐标信息的存储服务器的编号。
步骤608:位置代理服务器根据计算的存储服务器的编号、确定的地图方格和第一用户标识,向该存储服务器发送获取请求,以从该存储服务器中获取对应的第二用户。
具体地,对于确定的存储服务器中的每个存储服务器,位置代理服务器根据计算的存储服务器的编号,查找到该存储服务器。获取确定的地图方格的编号,将获取的地图方格编号和第一用户标识发送给该存储服务器。该存储服务器根据该地图方格编号,从该已存储的地图方格编号与用户标识之间的对应关系中获取对应的用户标识;从获取的用户标识中选择除第一用户标识之外的其他用户标识,根据选择的用户标识,从已存储的用户标识与坐标信息之间的对应关系中获取对应的坐标信息;根据获取的坐标信息确定第二用户。将确定的第二用户发送给位置代理服务器。
用户可以使用不同的社交类应用的账号登录该指定应用,所以在本发明实施例中,存储服务器中存储的用户标识还可以使用社交类应用标识进行标记。在本发明实施例中可以获取同一社交类应用标识标记的用户标识,将获取的用户标识对应的用户确定为至少一个第二用户。
进一步地,在存储服务器中还可以对用户标识与坐标信息之间的对应关系中的每条记录设置时间戳,选择至少一个第二用户时可以选择在当前时间之前且离当前时间最近的第一预设时间之内的用户,此时根据选择的用户标识,从已存储的用户标识与坐标信息之间的对应关系中获取对应的坐标信息的具体操作可以为:根据选择的用户标识,从已存储的用户标识与坐标信息之间的对应关系中获取对应的坐标信息;获取当前时间,根据获取的坐标信息所在的记录对应的时间戳,选择时间戳位于当前时间之前且离当前时间最近第一预设时间之内的坐标信息。
在本发明实施例中,根据获取的坐标信息获取至少一个第二用户的方式可以根据如下两种情况中的任一种情况实现,包括:
第一种、将获取的坐标信息对应的用户确定为至少一个第二用户。
在本发明实施例中,对预设的二维地图进行地图方格划分时,地图方格的尺寸较小,所以获取至少一个第二用户时可以允许一定的误差,可以直接将获取的坐标信息对应的用户确定为至少一个第二用户。
第二种、根据获取的坐标信息、圆点和半径,从获取的坐标信息中选择地理位置位于终端的预设范围内的坐标信息,将选择的坐标信息对应的用户确定为至少一个第二用户。
为了精确地获取至少一个第二用户,可以根据第二种方式精确地计算获取的坐标信息对应的用户与当前终端之间的距离,进而根据该距离获取至少一个第二用户。
其中,用户的地理数据是有时限的,随着用户的地理位置的变化,用户的位置信息可能会失效,此时在存储服务器为用户的数据设置一个超时时间,当该超时时间到达时,存储服务器可以清除超时的用户的数据。例如,当存储用户的数据时,可以对该用户的数据设置一个更新时间,当下次扫描该存储器中的数据时,判断该更新时间与当前时间之间的时间间隔是否等于该超时时间,如果是,则清除该用户的数据,否则,继续保留。
因为一个哈希表中可能存放有数十万的用户数据,哈希桶的数目也高达几十万。如果每次定时清理对哈希表进行一次全扫描的话。假设这段时间是t,那么t时间内存储服务器将失去对外服务的能力。而且用户数据超时可能是数小时,没有必要一次处理所有的数据。
基于上面的原因,存储服务器采用定时清理方式,也就是每次只处理有限个哈希桶中的数据,并记录下次定时器中需要处理的哈希桶编号。假设每次处理m个哈希桶,整个哈希表有K个哈希桶,定时器的时间间隔是T,用户数据超时时间是L。那么扫描一次哈希表的时间是:Total=(K/m)*T。只要Total<=L,那么超时数据可以得到及时清除。可以通过设置合适的m和T值,可以保证存储服务器及时清除超时数据,又不影响其对外服务的能力。例如,每个定时器处理的哈希桶的数目可以是500个。
步骤609:当位置代理服务器接收到各个存储服务器发送的第二用户时,位置代理服务器将获取的至少一个第二用户进行组装,并发送给应用服务器。
由于当前终端的预设范围内的用户可能存储在多个存储服务器中,所以位置代理服务器会接收到多个存储服务器发送的第二用户。位置代理服务器需要将从多个存储服务器中接收到第二用户进行组装,并发送给应用服务器。
其中,在位置代理服务器向存储服务器发送获取请求时,该位置代理服务器会创建一个发送请求的时间、应接收到用户数据的总数、已接收到用户数据的总数、序列号与用户的坐标信息之间的对应关系,该序列号用于标识当前终端当前查看第二用户的操作。当位置代理服务器接收到一个存储服务器发送的第二用户时,如果接收的第二用户中携带的序列号与创建的对应关系中的序列号相同,则将创建的对应关系中的已接收到用户数据的总数增加1,如果增加之后的已接收到用户数据的总数等于应接收到用户数据的总数或者发送请求的时间已超时,则将已经接收到的第二用户发送给应用服务器。
进一步地,如果增加之后的已接收到用户数据的总数小于应接收到用户数据的总数且发送请求的时间未超时,则继续等待接收存储服务器发送的第二用户。
其中,步骤609中的方法可以控制当前终端请求查看附近用户的频率,比如,超时时间为10s,当前终端第一次发送获取附近用户的请求时,如果在10s之内又发送一次获取附近用户的请求,则位置代理服务器会直接拒绝第二次发送的请求。
步骤610:应用服务器将该至少一个第二用户发送给当前终端。
在应用服务器中可以使用用户标识唯一地标识该用户,此时该应用服务器可以将该至少一个第二用户的用户标识发送给当前终端,还可以将该至少一个第二用户的坐标信息发送该当前终端。
步骤611:如果当前终端接收到应用服务器发送的至少一个第二用户时,当前终端获取至少一个第二用户与当前终端之间的距离。
其中,在本发明实施例中,应用服务器可以将该至少一个第二用户的坐标信息发送给当前终端,使当前终端根据该至少一个第二用户的坐标信息和当前终端的位置信息,计算该至少一个第二用户与当前终端之间的距离。当然,位置代理服务器可以根据该至少一个第二用户的坐标信息和当前终端的坐标信息,计算该至少一个第二用户与当前终端之间的距离,并将该至少一个第二用户与当前终端之间的距离发送给应用服务器,使应用服务器将该至少一个第二用户与当前终端之间的距离发送给当前终端。本发明实施例对此不做具体限定。
其中,当前终端根据该至少一个第二用户的坐标信息和当前终端的位置信息,计算该至少一个第二用户与当前终端之间的距离的具体操作可以为:获取当前终端的坐标信息,根据该至少一个第二用户的坐标信息和当前终端的坐标信息,计算该至少一个第二用户与当前终端之间的距离。
其中,获取当前终端的坐标信息的操作可以为如下两种情况中的任一种情况:(a)、当前终端对当前终端的位置信息进行解析,得到当前终端的经纬度数据,根据当前终端的经纬度数据按照上述公式(1)计算当前终端的坐标信息。(b)、应用服务器将当前终端的坐标信息发送给当前终端。
需要补充说明的是,当前终端根据至少一个第二用户的坐标信息和当前终端的坐标信息,计算该至少一个第二用户与当前终端之间的距离可以为计算该至少一个第二用户的坐标信息和当前终端的坐标信息之间的直线距离,在此不做具体阐述。
步骤612:当前终端根据至少一个第二用户与当前终端之间的距离,对至少一个第二用户进行排序。
步骤613:当前终端按照至少一个第二用户的排序顺序,显示至少一个第二用户。
步骤614:当接收到对至少一个第二用户中的任一用户的第一选择指令时,将第一选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,该通信消息携带第一用户标识、目标用户标识和第二消息内容。
步骤612-614的具体实施方式与上述步骤506-508同理,在此不再赘述。
步骤615:当接收到发送指令时,当前终端向应用服务器发送该通信消息。
发送指令用于向应用服务器发送通信消息,且发送指令可以是用户触发的,还可以是终端触发的。当用户触发该发送指令时,该用户可以在当前终端的显示界面中通过预设的操作触发该发送指令。该预设的操作可以为单击操作、双击操作、多击操作、滑动操作、拖拽操作、语音操作等等。当该终端触发该发送指令时,该终端可以检测编辑接口未接收到编辑指令的时间,当该时间达到第二预设时间时,该终端触发该发送指令。
步骤616:当应用服务器接收到该通信消息时,该应用服务器根据目标用户标识,将该第一用户标识和该第二消息内容发送给该目标用户。
其中,当终端第一次使用该指定应用并通过社交类应用账号登录时,应用服务器向该终端端发送一个授权消息。当该终端接收到该授权消息时,该终端将该授权消息显示给该用户。当该用户同意授权使用社交类应用账号登录该指定应用时,该终端将该授权成功消息发送给应用服务器。应用服务器接收该授权成功消息,并将该授权成功消息发送给社交类应用服务器。社交类应用服务器接收该授权成功消息,获取该用户的社交类应用账号对应的用户标识和openID,并将社交类应用账号对应的用户标识和openID发送给应用服务器。
进一步地,应用服务器接收社交类应用账号对应的用户标识和openID。应用服务器将社交类应用帐号对应的用户标识和openID存储在用户标识与openID的对应关系中。
具体地,该应用服务器根据目标用户标识,将该第一用户标识和该第二消息内容发送给该目标用户的具体操作可以为:该应用服务器根据该目标用户标识,从已存储的用户标识与openID之间的对应关系中获取对应的openID,根据获取的openID,将该第一用户标识和该第二消息内容发送给该目标用户。
进一步地,为了防止目标用户被骚扰信息所打扰,所以本发明实施例还设置了防骚扰机制,该防骚扰机制的过程具体为:
如果当前终端接收到该发送指令时,如果在预设时长内已发送的通信消息的个数达到预设阈值且在预设时长内未接收到该目标用户的回复消息,则当前终端拦截该通信消息,并显示拦截提示信息;或者,
如果当前终端向应用服务器发送通信消息之后,如果接收到应用服务器发送的拦截提示信息,则确定该应用服务器已拦截该通信消息,并显示拦截提示信息。
其中,该防骚扰机制可以在终端中实现,还可以在应用服务器中实现,当在应用服务器中实现时,当应用服务器接收到该终端向目标用户发送的通信消息时,该应用服务器需要判断在预设时长内已接收到的通信消息的个数是否已达到预设阈值且在预设时长内是否接收到该目标用户向该终端发送的回复消息,如果在预设时长内已接收的通信消息的个数达到预设阈值且在该预设时长内未接收到目标用户向该终端发送的回复消息,则拦截接收到的通信消息,并向该终端发送拦截提示信息。
在本发明实施例中,指定应用即为非社交类应用。由于社交类应用的主要功能是用户之间的通信,而非社交类应用的主要功能不是用户之间的通信,所以在本发明实施例中,可以基于社交类应用实现使用非社交类应用的用户之间的通信。
在本发明实施例中,当前终端根据当前终端的位置信息和指定应用标识,获取处于登录指定应用状态的至少一个第二用户,当接收到对至少一个第二用户中的任一用户的选择指令时,将选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,当接收到发送指令时,向应用服务器发送该通信消息,使该应用服务器根据该目标用户标识,将该第一用户标识和该第二消息内容发送给该目标用户,如此,用户可以获知与不在自身用户关系链上的用户的行为,且扩大了社交范围,增加了应用所能提供的信息量。
图7是本发明实施例提供的一种基于社交类应用的装置结构示意图,参见图7,该装置包括:
第一获取模块701,用于根据当前终端的位置信息和指定应用标识,获取至少一个第二用户,第二用户为地理位置处于当前终端的预设范围内的用户;
第二获取模块702,用于当接收到对至少一个第二用户中任一用户的第一选择指令时,将第一选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,该通信消息携带当前终端上处于登录指定应用状态的第一用户标识、目标用户标识和第二消息内容;
第一发送模块703,用于当接收到发送指令时,向指定应用服务器发送通信消息,使得指定应用服务器根据目标用户标识,将第一用户标识和第二消息内容发送给目标用户。
可选地,第一获取模块701,包括:
第一获取单元,用于当接收到查看指令时,获取当前终端的位置信息;
第一发送单元,用于向指定应用服务器发送获取请求,获取请求携带第一用户标识和位置信息,使指定应用服务器根据第一用户标识和该位置信息,从用户数据库中获取至少一个第二用户,该用户数据库存储有登录指定应用的至少一个用户标识以及各个用户的坐标信息;
第一接收单元,用于接收指定应用服务器发送的至少一个第二用户。
可选地,该装置还包括:
第三获取模块,用于获取至少一个第二用户与当前终端之间的距离;
排序模块,用于根据至少一个第二用户与当前终端之间的距离,对至少一个第二用户进行排序;
显示模块,用于按照至少一个第二用户的排序顺序,显示至少一个第二用户。
可选地,第二获取模块702,包括:
确定单元,用于当接收到对至少一个第二用户中任一用户的第一选择指令时,将第一选择指令对应的第二用户确定为目标用户;
显示单元,用于显示消息内容编辑页面,该消息内容编辑页面包括编辑接口和至少一条第一消息内容;
第一生成单元,用于当接收到对至少一条第一消息内容的第二选择指令时,根据通过编辑接口接收到的编辑指令和第二选择指令对应的第一消息内容,生成第二消息内容;
第二生成单元,用于根据第二消息内容、第一用户标识和目标用户标识,生成通信消息。
可选地,该装置还包括:
第一拦截模块,用于当接收到该发送指令时,如果在预设时长内已发送的通信消息的个数达到预设阈值且在该预设时长内未接收到目标用户的回复消息,则拦截该通信消息,并显示拦截提示信息;或者,
确定模块,用于当向指定应用服务器发送通信消息之后,如果接收到指定应用服务器发送的拦截提示信息,则确定指定应用服务器已拦截该通信消息,并显示拦截提示信息。
在本发明实施例中,当前终端根据当前终端的位置信息和指定应用标识,获取处于登录指定应用状态的至少一个第二用户,当接收到对至少一个第二用户中的任一用户的选择指令时,将选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,当接收到发送指令时,向指定应用服务器发送该通信消息,使该指定应用服务器根据该目标用户标识,将该第一用户标识和该第二消息内容发送给该目标用户,如此,用户可以获知与不在自身用户关系链上的用户的行为,且扩大了社交范围,增加了应用所能提供的信息量。
图8是本发明实施例提供的一种基于社交类应用的通信装置结构示意图,参见图8,该装置包括:
第四获取模块801,用于获取终端上处于登录指定应用状态的第一用户对应的至少一个第二用户,并将至少一个第二用户发送给终端;
接收模块802,用于接收终端发送的通信消息,该通信消息携带第一用户标识、目标用户标识和第二消息内容,该目标用户标识为第一用户从至少一个第二用户中选择的用户的标识;
第二发送模块803,用于根据该目标用户标识,将第一用户标识和第二消息内容发送给目标用户。
可选地,第四获取模块801,包括:
第二接收单元,用于接收该终端发送的获取请求,该获取请求携带第一用户标识和该终端的位置信息;
第二获取单元,用于根据第一用户标识和该位置信息,从用户数据库中获取至少一个第二用户,该用户数据库存储有登录指定应用的至少一个用户标识以及各个用户的位置信息;
第二发送单元,用于将至少一个第二用户发送给该终端。
可选地,第二获取单元,包括:
第一获取子单元,用于根据该位置信息,获取该终端在预设二维地图中的坐标信息;
确定子单元,用于根据以该坐标信息对应的点为圆点、以预设距离为半径的圆形区域,确定该圆形区域在预设二维地图中所占的地图方格,预设二维地图包括多个大小相同的地图方格;
第二获取子单元,用于根据确定的地图方格和第一用户标识,从用户数据库中获取至少一个第二用户。
可选地,
第二获取子单元,具体用于:
获取确定的地图方格的编号,并根据地图方格的编号,从已存储的地图方格编号与用户标识之间的对应关系中获取对应的用户标识;
从获取的用户标识中选择除第一用户标识之外的其他用户标识;
根据选择的用户标识,从已存储的用户标识与坐标信息之间的对应关系中获取对应的坐标信息;
根据获取的坐标信息确定至少一个第二用户。
可选地,
第二获取子单元,还用于:
将获取的坐标信息对应的用户确定为至少一个第二用户;或者,
根据获取的坐标信息、该圆点和该半径,从获取的坐标信息中选择地理位置位于终端的预设范围内的坐标信息,将选择的坐标信息对应的用户确定为至少一个第二用户。
可选地,第二获取单元,还包括:
计算子单元,用于根据该终端在预设二维地图中的坐标信息,计算坐标信息对应的地图方格编号;
第一存储子单元,用于将该地图方格编号和第一用户标识存储在地图方格编号与用户标识之间的对应关系中;
第二存储子单元,用于将第一用户标识和该坐标信息存储在用户标识与坐标信息之间的对应关系中。
可选地,该装置还包括:
第二拦截模块,用于当接收到终端向目标用户发送的通信消息时,如果在预设时长内已接收的通信消息的个数达到预设阈值且在该预设时长内未接收到目标用户向该终端发送的回复消息,则拦截接收到的通信消息,并向该终端发送拦截提示信息。
在本发明实施例中,服务器获取至少一个第二用户之后,将至少一个第二用户发送给该终端,并当接收到终端发送到通信消息时,根据该目标用户标识,将该第一用户标识和该第二消息内容发送给该目标用户,如此,用户可以获知与不在自身用户关系链上的用户的行为,且扩大了社交范围,增加了应用所能提供的信息量。
需要说明的是:上述实施例提供的基于社交类应用的通信装置在基于社交类应用的通信时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于社交类应用的通信装置与基于社交类应用的通信方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种基于社交类应用的通信方法,其特征在于,所述方法包括:
根据当前终端的位置信息和指定应用标识,获取至少一个第二用户,所述第二用户为地理位置处于所述当前终端的预设范围内的用户;
当接收到对所述至少一个第二用户中任一用户的第一选择指令时,将所述第一选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,所述通信消息携带所述当前终端上处于登录指定应用状态的第一用户标识、目标用户标识和第二消息内容;
当接收到发送指令时,向指定应用服务器发送所述通信消息,使得所述指定应用服务器根据所述目标用户标识,将所述第一用户标识和所述第二消息内容发送给所述目标用户;
其中,所述根据当前终端的位置信息和指定应用标识,获取至少一个第二用户,包括:
当接收到查看指令时,获取当前终端的位置信息;
向指定应用服务器发送获取请求,所述获取请求携带所述第一用户标识和所述位置信息,使所述指定应用服务器根据所述第一用户标识和所述位置信息,从用户数据库中获取至少一个第二用户,所述用户数据库存储有登录指定应用的至少一个用户标识以及各个用户的坐标信息;
接收所述指定应用服务器发送的至少一个第二用户。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述至少一个第二用户与所述当前终端之间的距离;
根据所述至少一个第二用户与所述当前终端之间的距离,对所述至少一个第二用户进行排序;
按照所述至少一个第二用户的排序顺序,显示所述至少一个第二用户。
3.如权利要求1所述的方法,其特征在于,所述获取待发送的通信消息,包括:
显示消息内容编辑页面,所述消息内容编辑页面包括编辑接口和至少一条第一消息内容;
当接收到对所述至少一条第一消息内容的第二选择指令时,根据通过所述编辑接口接收到的编辑指令和所述第二选择指令对应的第一消息内容,生成第二消息内容;
根据所述第二消息内容、第一用户标识和目标用户标识,生成通信消息。
4.如权利要求1-3任一权利要求所述的方法,其特征在于,所述方法还包括:
当接收到所述发送指令时,如果在预设时长内已发送的通信消息的个数达到预设阈值且在所述预设时长内未接收到所述目标用户的回复消息,则拦截所述通信消息,并显示拦截提示信息;或者,
当向所述指定应用服务器发送通信消息之后,如果接收到所述指定应用服务器发送的拦截提示信息,则确定所述指定应用服务器已拦截所述通信消息,并显示所述拦截提示信息。
5.一种基于社交类应用的通信方法,其特征在于,所述方法包括:
获取终端上处于登录指定应用状态的第一用户对应的至少一个第二用户,并将所述至少一个第二用户发送给所述终端;
接收所述终端发送的通信消息,所述通信消息携带第一用户标识、目标用户标识和第二消息内容,所述目标用户标识为所述第一用户从所述至少一个第二用户中选择的用户的标识;
根据所述目标用户标识,将所述第一用户标识和所述第二消息内容发送给所述目标用户;
其中,所述获取终端上处于登录指定应用状态的第一用户对应的至少一个第二用户,并将所述至少一个第二用户发送给所述终端,包括:
接收所述终端发送的获取请求,所述获取请求携带所述第一用户标识和所述终端的位置信息;
根据所述第一用户标识和所述位置信息,从用户数据库中获取至少一个第二用户,所述用户数据库存储有登录指定应用的至少一个用户标识以及各个用户的位置信息;
将所述至少一个第二用户发送给所述终端。
6.如权利要求5所述的方法,其特征在于,所述根据所述第一用户标识和所述位置信息,从用户数据库中获取至少一个第二用户,包括:
根据所述位置信息,获取所述终端在预设二维地图中的坐标信息;
根据以所述坐标信息对应的点为圆点、以预设距离为半径的圆形区域,确定所述圆形区域在所述预设二维地图中所占的地图方格,所述预设二维地图包括多个大小相同的地图方格;
根据确定的地图方格和所述第一用户标识,从用户数据库中获取至少一个第二用户。
7.如权利要求6所述的方法,其特征在于,所述根据确定的地图方格和所述第一用户标识,从用户数据库中获取至少一个第二用户,包括:
获取确定的地图方格的编号,并根据所述地图方格的编号,从已存储的地图方格编号与用户标识之间的对应关系中获取对应的用户标识;
从获取的用户标识中选择除所述第一用户标识之外的其他用户标识;
根据选择的用户标识,从已存储的用户标识与坐标信息之间的对应关系中获取对应的坐标信息;
根据获取的坐标信息确定至少一个第二用户。
8.如权利要求7所述的方法,其特征在于,所述根据获取的坐标信息确定至少一个第二用户,包括:
将获取的坐标信息对应的用户确定为至少一个第二用户;或者,
根据获取的坐标信息、所述圆点和所述半径,从获取的坐标信息中选择地理位置位于所述终端的预设范围内的坐标信息,将选择的坐标信息对应的用户确定为至少一个第二用户。
9.如权利要求6-8任一权利要求所述的方法,其特征在于,所述根据所述位置信息,获取所述终端在预设二维地图中的坐标信息之后,还包括:
根据所述终端在预设二维地图中的坐标信息,计算所述坐标信息对应的地图方格编号;
将所述地图方格编号和所述第一用户标识存储在地图方格编号与用户标识之间的对应关系中;
将所述第一用户标识和所述坐标信息存储在用户标识与坐标信息之间的对应关系中。
10.如权利要求5-8任一权利要求所述的方法,其特征在于,所述接收所述终端发送的通信消息之后,还包括:
当接收到所述终端向所述目标用户发送的通信消息时,如果在预设时长内已接收的通信消息的个数达到预设阈值且在所述预设时长内未接收到所述目标用户向所述终端发送的回复消息,则拦截接收到的通信消息,并向所述终端发送拦截提示信息。
11.一种基于社交类应用的通信装置,其特征在于,所述装置包括:
第一获取模块,用于根据当前终端的位置信息和指定应用标识,获取至少一个第二用户,所述第二用户为地理位置处于所述当前终端的预设范围内的用户;
第二获取模块,用于当接收到对所述至少一个第二用户中任一用户的第一选择指令时,将所述第一选择指令对应的第二用户确定为目标用户,获取待发送的通信消息,所述通信消息携带所述当前终端上处于登录指定应用状态的第一用户标识、目标用户标识和第二消息内容;
第一发送模块,用于当接收到发送指令时,向指定应用服务器发送所述通信消息,使得所述指定应用服务器根据所述目标用户标识,将所述第一用户标识和所述第二消息内容发送给所述目标用户;
其中,所述第一获取模块,包括:
第一获取单元,用于当接收到查看指令时,获取当前终端的位置信息;
第一发送单元,用于向指定应用服务器发送获取请求,所述获取请求携带所述第一用户标识和所述位置信息,使所述指定应用服务器根据所述第一用户标识和所述位置信息,从用户数据库中获取至少一个第二用户,所述用户数据库存储有登录指定应用的至少一个用户标识以及各个用户的坐标信息;
第一接收单元,用于接收所述指定应用服务器发送的至少一个第二用户。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于获取所述至少一个第二用户与所述当前终端之间的距离;
排序模块,用于根据所述至少一个第二用户与所述当前终端之间的距离,对所述至少一个第二用户进行排序;
显示模块,用于按照所述至少一个第二用户的排序顺序,显示所述至少一个第二用户。
13.如权利要求11所述的装置,其特征在于,所述第二获取模块,包括:
确定单元,用于当接收到对所述至少一个第二用户中任一用户的第一选择指令时,将所述第一选择指令对应的第二用户确定为目标用户;
显示单元,用于显示消息内容编辑页面,所述消息内容编辑页面包括编辑接口和至少一条第一消息内容;
第一生成单元,用于当接收到对所述至少一条第一消息内容的第二选择指令时,根据通过所述编辑接口接收到的编辑指令和所述第二选择指令对应的第一消息内容,生成第二消息内容;
第二生成单元,用于根据所述第二消息内容、第一用户标识和目标用户标识,生成通信消息。
14.如权利要求11-13任一权利要求所述的装置,其特征在于,所述装置还包括:
第一拦截模块,用于当接收到所述发送指令时,如果在预设时长内已发送的通信消息的个数达到预设阈值且在所述预设时长内未接收到所述目标用户的回复消息,则拦截所述通信消息,并显示拦截提示信息;或者,
确定模块,用于当向所述指定应用服务器发送通信消息之后,如果接收到所述指定应用服务器发送的拦截提示信息,则确定所述指定应用服务器已拦截所述通信消息,并显示所述拦截提示信息。
15.一种基于社交类应用的通信装置,其特征在于,所述装置包括:
第四获取模块,用于获取终端上处于登录指定应用状态的第一用户对应的至少一个第二用户,并将所述至少一个第二用户发送给所述终端;
接收模块,用于接收所述终端发送的通信消息,所述通信消息携带第一用户标识、目标用户标识和第二消息内容,所述目标用户标识为所述第一用户从所述至少一个第二用户中选择的用户的标识;
第二发送模块,用于根据所述目标用户标识,将所述第一用户标识和所述第二消息内容发送给所述目标用户;
其中,所述第四获取模块,包括:
第二接收单元,用于接收所述终端发送的获取请求,所述获取请求携带所述第一用户标识和所述终端的位置信息;
第二获取单元,用于根据所述第一用户标识和所述位置信息,从用户数据库中获取至少一个第二用户,所述用户数据库存储有登录指定应用的至少一个用户标识以及各个用户的位置信息;
第二发送单元,用于将所述至少一个第二用户发送给所述终端。
16.如权利要求15所述的装置,其特征在于,所述第二获取单元,包括:
第一获取子单元,用于根据所述位置信息,获取所述终端在预设二维地图中的坐标信息;
确定子单元,用于根据以所述坐标信息对应的点为圆点、以预设距离为半径的圆形区域,确定所述圆形区域在所述预设二维地图中所占的地图方格,所述预设二维地图包括多个大小相同的地图方格;
第二获取子单元,用于根据确定的地图方格和所述第一用户标识,从用户数据库中获取至少一个第二用户。
17.如权利要求16所述的装置,其特征在于,
所述第二获取子单元,具体用于:
获取确定的地图方格的编号,并根据所述地图方格的编号,从已存储的地图方格编号与用户标识之间的对应关系中获取对应的用户标识;
从获取的用户标识中选择除所述第一用户标识之外的其他用户标识;
根据选择的用户标识,从已存储的用户标识与坐标信息之间的对应关系中获取对应的坐标信息;
根据获取的坐标信息确定至少一个第二用户。
18.如权利要求17所述的装置,其特征在于,
所述第二获取子单元,还用于:
将获取的坐标信息对应的用户确定为至少一个第二用户;或者,
根据获取的坐标信息、所述圆点和所述半径,从获取的坐标信息中选择地理位置位于所述终端的预设范围内的坐标信息,将选择的坐标信息对应的用户确定为至少一个第二用户。
19.如权利要求16-18任一权利要求所述的装置,其特征在于,所述第二获取单元,还包括:
计算子单元,用于根据所述终端在预设二维地图中的坐标信息,计算所述坐标信息对应的地图方格编号;
第一存储子单元,用于将所述地图方格编号和所述第一用户标识存储在地图方格编号与用户标识之间的对应关系中;
第二存储子单元,用于将所述第一用户标识和所述坐标信息存储在用户标识与坐标信息之间的对应关系中。
20.如权利要求15-18任一权利要求所述的装置,其特征在于,所述装置还包括:
第二拦截模块,用于当接收到所述终端向所述目标用户发送的通信消息时,如果在预设时长内已接收的通信消息的个数达到预设阈值且在所述预设时长内未接收到所述目标用户向所述终端发送的回复消息,则拦截接收到的通信消息,并向所述终端发送拦截提示信息。
CN201410201499.2A 2014-05-13 2014-05-13 基于社交类应用的通信方法及装置 Active CN104009980B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201410201499.2A CN104009980B (zh) 2014-05-13 2014-05-13 基于社交类应用的通信方法及装置
PCT/CN2015/078796 WO2015172711A1 (en) 2014-05-13 2015-05-12 Communications method and apparatus based on social application
EP15792506.6A EP3143751B1 (en) 2014-05-13 2015-05-12 Communications method and apparatus based on social application
US15/173,764 US9986399B2 (en) 2014-05-13 2016-06-06 Communications method and apparatus based on social application
US15/954,760 US10165420B2 (en) 2014-05-13 2018-04-17 Communications method and apparatus based on social application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410201499.2A CN104009980B (zh) 2014-05-13 2014-05-13 基于社交类应用的通信方法及装置

Publications (2)

Publication Number Publication Date
CN104009980A CN104009980A (zh) 2014-08-27
CN104009980B true CN104009980B (zh) 2015-07-22

Family

ID=51370474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410201499.2A Active CN104009980B (zh) 2014-05-13 2014-05-13 基于社交类应用的通信方法及装置

Country Status (4)

Country Link
US (2) US9986399B2 (zh)
EP (1) EP3143751B1 (zh)
CN (1) CN104009980B (zh)
WO (1) WO2015172711A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104009980B (zh) 2014-05-13 2015-07-22 腾讯科技(深圳)有限公司 基于社交类应用的通信方法及装置
CN105376138B (zh) 2014-08-28 2019-11-19 腾讯科技(深圳)有限公司 一种联系人添加的方法、数据传输的方法、及用户设备
CN104244172A (zh) * 2014-10-15 2014-12-24 王方淇 一种信息交互方法和装置
CN105681007B (zh) * 2014-11-19 2020-11-06 北京三星通信技术研究有限公司 参考信号的发送、接收方法及装置和调度方法及装置
CN105991723B (zh) * 2015-02-12 2018-03-02 广东欧珀移动通信有限公司 一种账号等级确定方法及终端
CN104660716A (zh) * 2015-03-16 2015-05-27 联想(北京)有限公司 一种数据处理方法、电子设备及第一服务器
CN106209567B (zh) * 2015-04-29 2019-09-17 阿里巴巴集团控股有限公司 提供用户状态信息的方法及装置
CN105594235B (zh) * 2016-01-04 2019-03-26 薛俊华 基于地理位置的导航广告推送***
CN106982197A (zh) 2016-01-19 2017-07-25 阿里巴巴集团控股有限公司 业务处理方法和装置
US20180034764A1 (en) * 2016-07-29 2018-02-01 Linkedin Corporation Selecting applications for message handling
CN107995584B (zh) * 2016-10-25 2020-06-02 腾讯科技(深圳)有限公司 在线状态切换方法及装置
CN108268566B (zh) * 2017-01-04 2022-05-31 腾讯科技(深圳)有限公司 一种数据关系确定方法及装置
CN109241224A (zh) * 2018-08-24 2019-01-18 武汉中地数码科技有限公司 一种基于拓扑关联的地理大数据可视化方法及***
CN110876117A (zh) * 2018-08-31 2020-03-10 中兴通讯股份有限公司 终端失联的恢复方法及装置
CN111049665B (zh) * 2018-10-12 2023-09-15 北京思源理想控股集团有限公司 自定义动态策略部署的服务器、通信***及方法
CN110598136B (zh) * 2019-09-17 2023-11-28 创新先进技术有限公司 通信内容管理方法以及装置
CN113225728A (zh) * 2020-01-21 2021-08-06 华为技术有限公司 通信方法和通信装置
CN111262882B (zh) * 2020-02-26 2022-04-12 上海云鱼智能科技有限公司 即时通讯中用户类型限定应用方法、装置和存储介质
CN113194351B (zh) * 2021-02-24 2023-06-27 北京字跳网络技术有限公司 一种视频展示方法、装置、电子设备及存储介质
CN115022110B (zh) * 2022-08-08 2022-12-27 广州市千钧网络科技有限公司 消息分发方法、可读介质以及电子设备
CN115378991B (zh) * 2022-08-18 2024-04-19 中国建设银行股份有限公司 消息的处理方法、装置、设备及计算机存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101194526A (zh) * 2005-04-30 2008-06-04 Lg电子株式会社 移动通信***中提供位置信息服务的方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI980351A (fi) * 1997-02-19 1998-08-20 Nokia Telecommunications Oy Solukkoradioaccessverkko sekä sijainninpäivitys langattomassa tietoliikennejärjestelmässä
US7113977B1 (en) * 2002-06-26 2006-09-26 Bellsouth Intellectual Property Corporation Blocking electronic mail content
JP3980421B2 (ja) * 2002-06-27 2007-09-26 富士通株式会社 プレゼンス管理方法及び装置
WO2009097370A1 (en) * 2008-01-28 2009-08-06 Snap33 Inc. Method and system for implementing a proximity-based application in a hand-held communications device
US11385773B2 (en) * 2011-12-05 2022-07-12 Zoosk, Inc. System and method for identifying users based on at least one preference and friendship status
CN102546835B (zh) * 2012-03-08 2014-07-02 腾讯科技(深圳)有限公司 一种分享内容的方法、终端、服务器及***
US20150163309A1 (en) * 2012-08-03 2015-06-11 Google Inc. System for generating a social annotation
CN103248723B (zh) 2013-04-10 2015-11-25 腾讯科技(深圳)有限公司 一种ip地址所在区域的确定方法及装置
CN103514558A (zh) * 2013-07-05 2014-01-15 周洪 一种基于本地化的智能商务***
JP5735592B2 (ja) * 2013-08-28 2015-06-17 ヤフー株式会社 情報処理装置、制御方法および制御プログラム
CN103491500A (zh) * 2013-09-23 2014-01-01 东莞宇龙通信科技有限公司 信息获取的方法和第一终端
US9471212B2 (en) * 2014-03-10 2016-10-18 Htc Corporation Reminder generating method and a mobile electronic device using the same
CN104009980B (zh) 2014-05-13 2015-07-22 腾讯科技(深圳)有限公司 基于社交类应用的通信方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101194526A (zh) * 2005-04-30 2008-06-04 Lg电子株式会社 移动通信***中提供位置信息服务的方法

Also Published As

Publication number Publication date
US20180234818A1 (en) 2018-08-16
EP3143751A4 (en) 2017-08-02
EP3143751A1 (en) 2017-03-22
EP3143751B1 (en) 2019-03-27
US10165420B2 (en) 2018-12-25
US9986399B2 (en) 2018-05-29
WO2015172711A1 (en) 2015-11-19
US20160286371A1 (en) 2016-09-29
CN104009980A (zh) 2014-08-27

Similar Documents

Publication Publication Date Title
CN104009980B (zh) 基于社交类应用的通信方法及装置
CN111368221B (zh) 信息提供方法、信息获取方法、装置、服务器及存储介质
Wang et al. Crowdsensing-based consensus incident report for road traffic acquisition
CN103049538B (zh) 一种基于位置服务的活动信息聚合搜索与互动方法及***
JP6222680B2 (ja) 位置情報サービスを実施するための方法、装置、およびシステム
CN107798552B (zh) 活动信息推送方法、***、服务器和介质
CN106997359B (zh) 兴趣点信息的获取方法和装置
CN106210163A (zh) 基于ip地址的定位方法及装置
CN109525949A (zh) 注册方法及装置、存储介质、服务器、用户终端
CN108647699A (zh) 任务图像处理方法、装置、设备及存储介质
CN112732800B (zh) 提供跨链消息的方法和装置
US10306053B1 (en) Restricting computing devices used by vehicle operators
CN108234471A (zh) 入群验证方法、装置、计算机装置及计算机可读存储介质
Conway-Beaulieu et al. Smartphone-based architecture for smart cities
He et al. Efficient, customizable and edge-based WebGIS system
CN109286668A (zh) 用于区块链网络的通信、消息发送、消息接收方法
CN108732594A (zh) 一种共享经济的实时位置信息收集方法、装置及其***
CN104967687B (zh) 基于当事人办理商事登记的服务信息获取方法及装置
Chen et al. Influence of travel time variability on train station choice for park-and-rider users
Cruz et al. Recurring contacts between groups of devices: Analysis and application
CN104899226B (zh) 区域稠密度获取方法及装置
CN111882470B (zh) 一种分布式公共征信方法与装置
CN117241228A (zh) 一种电报用户或群组的活动轨迹的定位方法及***
CN107301201B (zh) 基于共治网格的公共安全信息处理方法和装置
CN107577691B (zh) 一种rtk位置数据存储处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant