CN103297323A - 一种发送用户状态的方法和装置 - Google Patents
一种发送用户状态的方法和装置 Download PDFInfo
- Publication number
- CN103297323A CN103297323A CN201310159420XA CN201310159420A CN103297323A CN 103297323 A CN103297323 A CN 103297323A CN 201310159420X A CN201310159420X A CN 201310159420XA CN 201310159420 A CN201310159420 A CN 201310159420A CN 103297323 A CN103297323 A CN 103297323A
- Authority
- CN
- China
- Prior art keywords
- user
- server
- client
- described user
- sends
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种发送用户状态的方法和装置,属于移动互联网领域。该方法包括:服务器接收用户的客户端发送的通知所述用户下线的状态通知;根据所述状态通知判断所述用户下线是否由所述客户端切换至后台运行导致;若是,则所述服务器保留所述用户的在线信息,继续将所述用户呈现为在线状态;否则,所述服务器删除所述用户的在线信息,并向所述用户的好友发布所述用户下线的状态。本发明减少了状态信息的推送,提高了用户使用体验,节省了流量。
Description
技术领域
本发明涉及移动互联网领域,特别涉及一种发送用户状态的方法和装置。
背景技术
随着移动互联网的快速发展,许多商家都将基于互联网的业务渐渐地转移到移动互联网,于是出现了很多基于移动互联网的即时通讯业务,例如,即时通讯业务包括手机QQ、微信、飞聊和米聊等。当用户使用即时通讯业务时,用户的终端会发送状态信息给用户的在线好友的终端,使在线好友知道用户正在使用该即时通讯业务,方便用户和好友之间的通信。
目前,当用户使用该即时通讯业务时,用户使用终端中的客户端程序登录到该即时通讯业务的服务器;再向服务器发送用户上线的状态通知,服务器接收到用户上线的状态通知后,并获取该用户的在线好友,并将用户的状态信息推送给在线好友的终端。当运行在用户终端中的客户端程序从前台切换到后台时,客户端向服务器发送用户下线的状态通知,服务器根据用户的账号清除用户的状态信息,并获取用户的在线好友,将用户的状态信息推送给在线好友的终端;当运行在用户的终端中的客户端程序从后台切换到前台时,客户端向服务器再次发送用户上线的状态通知,服务器将该用户的状态信息再次推送给在线好友的终端。
如果用户频繁地将客户端程序在前台和后台之间切换,用户的在线好友会频繁地收到用户的状态信息,如此,不仅降低了用户的体验度,而且还浪费了大量的流量。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种发送用户状态的方法和装置。所述技术方案如下:
第一方面,一种发送用户状态的方法,所述方法包括:
服务器接收用户的客户端发送的通知所述用户下线的状态通知;
根据所述状态通知判断所述用户下线是否由所述客户端切换至后台运行导致;
若是,则所述服务器保留所述用户的在线信息,继续将所述用户呈现为在线状态;否则,所述服务器删除所述用户的在线信息,并向所述用户的好友发布所述用户下线的状态。
结合第一方面,在上述第一方面的第一种可能的实现方式中,所述方法还包括:
所述服务器在保留所述用户的在线信息时,为保留的所述用户的在线信息设置有效期,在所述有效期结束后,所述服务器删除保留的所述用户的在线信息,并向所述用户的好友发布所述用户的下线状态。
结合第一方面的第一种可能的实现方式,在上述第一方面的第二种可能的实现方式中,所述方法还包括:
当所述服务器接收到所述客户端从后台切换回前台时发送的所述用户在线的状态通知时,所述服务器确认是否记录有所述用户的在线信息,若有,则所述服务器取消为所述用户的在线信息设置的有效期;若没有,则所述服务器记录所述用户的在线信息,并向所述用户的好友发布所述用户的上线状态。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在上述第一方面的第三种可能的实现方式中,所述方法还包括:
在所述客户端切换到后台后,若所述服务器接收到所述用户的好友发送给所述用户的消息,则所述服务器判断所述用户的在线信息中是否存在有效期,若存在有效期,则所述服务器向运行所述客户端的终端发送激活通知,以便所述终端根据所述激活通知将所述客户端切换至前台,所述服务器在所述客户端切换至前台后将所述消息发送给所述客户端;若不存在有效期,则所述服务器直接将所述消息发送给所述客户端。
第二方面,一种发送用户状态的方法,所述方法包括:
运行在终端中的客户端接收操作指令;
识别所述操作指令的类型;
若所述操作指令类型为切换至后台的指令,所述客户端生成用户下线的状态通知,并在所述用户下线的状态通知中指示所述客户端切换到了后台;
向服务器发送所述用户下线的状态通知,以便所述服务器根据所述状态通知中的指示保留所述用户的在线信息,继续将所述用户呈现为在线状态。
结合第二方面,在上述第二方面的第一种可能的实现方式中,所述方法还包括:
在所述客户端切换至后台后,若所述用户的好友向所述用户发送消息,则所述终端接收来自所述服务器的激活通知,并根据所述激活通知将所述客户端切换回前台,所述客户端在切换至前台后从所述服务器接收所述用户的好友向所述用户发送的消息。
第三方面,一种发送用户状态的服务器,所述服务器包括:
接收模块,用于接收用户的客户端发送的通知所述用户下线的状态通知;
判断模块,用于根据所述状态通知判断所述用户下线是否由所述客户端切换至后台运行导致,并将判断结果提供给处理模块;
所述处理模块,用于在所述判断模块确定所述用户下线是由所述客户端切换至后台运行导致时,保留所述用户的在线信息,继续将所述用户呈现为在线状态;以及在所述判断模块确定所述用户下线不是由所述客户端切换至后台运行导致时,删除所述用户的在线信息,并向所述用户的好友发布所述用户的下线状态。
结合第三方面,在上述第三方面的第一种可能的实现方式中,所述处理模块还用于在保留所述用户的在线信息时,为保留的所述用户的在线信息设置有效期,并在所述效期结束后,删除保留的所述用户的在线信息,并向所述用户的好友发布所述用户的下线状态。
结合第三方面,在上述第三方面的第一种可能的实现方式中,所述接收模块还用于接收所述客户端从后台切换回前台时发送的所述用户在线的状态通知;
所述处理模块还用于当所述接收模块接收到所述客户端从后台切换回前台时发送的所述用户在线的状态通知时,确认是否记录有所述用户的在线信息,若有,则取消为所述用户的在线信息设置的有效期;若没有,则记录所述用户的在线信息,并向所述用户的好友发布所述用户的上线状态。
结合第三方面的第二种可能的实现方式,在上述第三方面的第三种可能的实现方式中,所述服务器还包括:
交互模块,用于接收所述用户的好友发送给所述用户的消息;
检查模块,用于在所述客户端切换到后台后,若所述交互模块接收到所述用户的好友发送给所述用户的消息,则判断所述用户的在线信息中是否存在有效期;
通知模块,用于在所述检查模块判断出所述用户的在线信息中存在有效期时,向运行所述客户端的终端发送激活通知,以便所述终端根据所述激活通知将所述客户端切换至前台;
所述交互模块还用于在所述检查模块判断出所述用户的在线信息中不存在有效期时,直接将所述消息发送给所述客户端;或者在所述接收模块接收到所述客户端从后台切换回前台时发送的所述用户在线的状态通知时,将所述消息发送给所述客户端。
第四方面,一种发送用户状态的装置,所述装置包括:
接收模块,用于接收操作指令;
识别模块,用于识别所述接收模块接收到的操作指令的类型;
生成模块,用于在所述识别模块识别出所述操作指令为切换至后台的指令时,生成用户下线的状态通知,并在所述用户下线的状态通知中指示发送所述状态通知的装置切换到了后台;
发送模块,用于向服务器发送所述用户下线的状态通知,以便所述服务器根据所述状态通知中的指示保留所述用户的在线信息,继续将所述用户呈现为在线状态。
第五方面,一种发送用户状态的终端,所述终端包括激活模块和如第四方面所述的装置;
所述激活模块,用于接收来自所述服务器的激活通知,并根据所述激活通知将所述装置切换至前台。
在本发明实施例中,当用户将客户端从终端的前台切换到后台时,服务器包括该用户的在线信息,继续将该用户呈现为在线状态,当用户时将该客户端从服务器中退出时,服务器删除该用户的在线信息,并向该用户的好友发布该用户下线的状态,如此当用户将客户端在终端的前台和后台之间切换时,不会将该用户的状态发送给该用户的好友,减少了对用户的好友发送该用户的状态的次数,提高了用户的使用体验,以及节省了流量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种发送用户状态的方法流程图;
图2是本发明实施例提供的另一种发送用户状态的方法流程图;
图3是本发明实施例提供的另一种发送用户状态的方法流程图;
图4是本发明实施例提供的一种发送用户状态的服务器结构示意图;
图5是本发明实施例提供的另一种发送用户状态的服务器结构示意图;
图6是本发明实施例提供的另一种发送用户状态的装置结构示意图;
图7是本发明实施例提供的一种发送用户状态的终端结构示意图;
图8是本发明实施例提供的另一种发送用户状态的装置的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实现本发明实施例的系统由服务器和客户端构成。其中,客户端运行于终端上,用户可通过终端中运行的客户端登录到服务器,从而使用服务器提供的业务。服务器位于网络侧,用于向用户提供业务。例如,本发明实施中的服务器可以是即时消息服务器,用于提供即时消息业务,客户端可以是即时消息客户端,用户可以通过即时消息客户端登录即时消息服务器,从而使用即时消息业务。
本发明实施例主要涉及对用户下线过程的处理,对于用户登录服务器的过程可以参考现有技术(如,用户通过终端中运行的客户端登录到服务器,服务器记录该用户的在线信息,并向该用户的好友发布该用户的在线状态),这里不再赘述。
本发明实施例提供了一种发送用户状态的方法,参见图1,该方法包括:
步骤101:服务器接收用户的客户端发送的通知该用户下线的状态通知;
具体的,当运行在终端中的客户端接收到下线的操作指令时,客户端生成携带用户下线状态的状态通知,并通过终端将该状态通知发送给服务器。其中,如果客户端接收到的下线的操作指令是切换至后台的指令(即,客户端未关闭,只是从运行该客户端的终端的前台切换到了后台运行),客户端还进一步在发送给服务器的状态通知中指示客户端切换到了后台。
步骤102:根据该状态通知判断用户下线是否由客户端切换至后台运行导致,若是,则执行步骤103;否则,执行步骤104;
服务器接收到通知用户下线的状态通知后,判断该状态通知中是否有指示客户端切换到了后台,若状态通知中指示了客户端切换到了后台,则认为用户下线是由客户端切换至后台运行导致。
具体的,可以在状态通知扩展一个切换标识字段,通过将该字段取值设置为false来表示客户端切换到了后台。
步骤103:服务器保留该用户的在线信息,继续将该用户呈现为在线状态;
具体的,如果用户下线是由客户端切换至后台运行导致,则服务器不删除用户的在线信息,并且不向该用户的好友发布该用户下线的状态,从而继续将该用户呈现为在线状态。
步骤104:服务器删除该用户的在线信息,并向该用户的好友发布该用户下线的状态。
具体的,如果用户下线不是由客户端切换至后台运行导致,则服务器删除用户登录到服务器时,服务器记录的该用户的在线信息,并向该用户的好友发布该用户下线的状态,从而使用户呈现为下线状态。
在本发明实施例中,在用户下线是由客户端切换至后台运行导致的时候,服务器继续将所述用户呈现为在线状态,而不向用户的好友推送用户下线的状态,如此可以减少对用户的好友发送该用户的状态的次数,提高了用户的使用体验,以及节省了好友的流量。
在用户的客户端切换到后台运行后,可能会存在客户端在后台被关闭的情况,此时,服务器不知客户端已关闭,将会一直将用户呈现为在线状态,因此,本发明实施例在图1所述实施例的基础上还可以进一步包括以下处理:服务器在保留所述用户的在线信息时,为保留的该用户的在线信息设置有效期,在有效期结束后,服务器删除保留的该用户的在线信息,并向该用户的好友发布用户的下线状态。
在客户端切换至后台期间,由于用户呈现为在线状态,可能会存在用户的好友向该用户发送消息的情况。因此,在本发明另一实施例中,在客户端切换到后台后,若服务器接收到该用户的好友发送给该用户的消息,服务器则判断该用户的在线信息中是否存在有效期,若存在有效期,则服务器向运行客户端的终端发送激活通知,以便终端根据该激活通知将客户端切换至前台,服务器在客户端切换至前台后将用户好友发送的消息发送给客户端;若不存在有效期,则服务器直接将所述消息发送给客户端。本实施例通过向运行客户端的终端发送激活通知,可以使终端将客户端切换回前台,从而使用户即时的获得其好友发送的消息。
进一步的,在本发明另一实施例中,当客户端切换回前台时,服务器还可以取消为用户的在线信息设置的有效期。具体的,当客户端切换回前台时,客户端会向服务器发送用户上线的状态通知。因此,当服务器接收到客户端从后台切换回前台时发送的用户在线的状态通知时,服务器确认是否记录有该用户的在线信息,若有,则服务器取消为该用户的在线信息设置的有效期。若是该用户的在线信息因为超过有效期而被删除了(即服务器确认出没有该用户的在线信息),则服务器记录该用户的在线信息,并向该用户的好友发布该用户的上线状态。
上述实施例为服务器侧的处理,下面从客户端侧来介绍本发明实施例的方案,如图2所示,本发明实施例提供了一种发送状态信息的方法,该方法包括:
步骤201:运行在终端中的客户端接收操作指令;
具体的,运行在终端中的客户端可以接收用户输入的操作指令或者终端操作系统发出的操作指令。当终端将运行在前台的客户端切换至后台时,客户端会收到终端操作系统发出的操作指令。
步骤202:识别接收到的操作指令,若该操作指令类型为切换至后台的指令,客户端生成用户下线的状态通知,并在该用户下线的状态通知中指示客户端切换到了后台;
具体的,客户端可以在状态通知携带一个切换标识字段,通过该切换标识来指示客户端是否切换到了后台。比如,若该字段取值为false,则表示客户端切换到了后台,不需将用户的状态推送给好友。
步骤203:向服务器发送该用户下线的状态通知,以便服务器根据该状态通知中的指示保留该用户的在线信息,继续将该用户呈现为在线状态。
其中,服务器接收到该状态通知后的处理可以参考图1所示的实施例,这里不再赘述。
本发明实施例通过在状态通知中指示客户端是否切换到了后台,使得服务器可以根据该指示确定用户下线是否是客户端切换到了后台导致,并在用户下线是由客户端切换至后台运行导致的时候,继续将该用户呈现为在线状态,而不向用户的好友推送用户下线的状态,如此可以减少对用户的好友发送该用户的状态的次数,提高了用户的使用体验,以及节省了好友的流量。
在本发明另一实施例中,在客户端切换到后台后,还可以实现消息的接收。具体的,在所述客户端切换至后台后,若用户的好友向该用户发送消息,则终端可以接收来自服务器的激活通知,并根据该激活通知将客户端切换回前台,客户端在切换至前台后从服务器接收该用户的好友向该用户发送的消息。
下面结合具体的例子对本发明实施例提供了一种发送用户状态的方法做进行更详细的说明,参见图3,该方法包括:
步骤301-303:用户通过终端中运行的客户端登录到服务器;
具体地,运行在终端中的客户端接收到用户的登录指令后,客户端向服务器发送携带用户的账号和密码的登录请求,服务器接收登录请求后,根据该用户的账号和密码对该用户的身份进行验证;如果对该用户的身份验证通过,则服务器向终端发送登录成功的响应消息,终端接收到该登录成功的响应消息后向服务器发送用户上线的状态通知,该上线状态通知中携带用户的账号和用户的在线的状态信息。
其中,服务器根据用户的用户账号和密码对该用户的身份进行验证的具体过程为:服务器根据用户的用户账号,从已存储的用户账号和密码的对应关系中获取该用户账号对应的密码,将客户端发送的密码和服务器获取的密码进行比较,如果客户端发送的密码和服务器获取的密码相同,则表示通过对该用户的身份验证,即该用户登录成功,否则,表示对该用户的身份验证失败,即该用户登录失败。
进一步地,当用户设置在终端中记录该用户账号对应的密码并且客户端登录服务器成功后,服务器向终端发送登录成功的响应消息中还携带一个登录令牌,该登录令牌中至少包括用户的用户账号和登录时间,当用户在该登录时间之内再次登录服务器时,客户端通过该令牌可以直接登录到服务器,不用再次输入该用户账号对应的密码。
步骤304-305:用户登录后,服务器记录该用户的在线信息,并向该用户的好友发布该用户的在线状态;
其中,用户的在线信息括用户的账号以及该用户的账号对应的状态,如下表1所示:
表1
用户账号 | 状态 |
1211156 | 在线 |
130113458 | 在线 |
616570825 | 在线 |
126589745 | 忙碌 |
4056448 | 在线 |
服务器向该用户的好友发布该用户的在线状态的过程具体包括:服务器根据该用户的账号获取该用户的好友,并将用户的在线状态发送给用户的好友的终端;
具体地,服务器中可存储用户的好友列表,服务器从好友列表中获取该用户的好友,并根据已记录的在线信息确定出该用户的在线好友,将用户的在线状态发送给该用户的在线好友。
例如,服务器根据用户的账号4056448,获取该用户的好友列表。假如用户的好友列表中包括好友A、好友B、好友C,好友A的用户账号为1211156、好友B的用户账号为130113458、好友C的用户账号为6621356;服务器查询已记录的在线信息,如表1所示,发现只有好友A和好友B在线,因此,将用户的在线状态发送给在线好友A和B。
上述步骤301-305为用户上线的过程,当用户的客户端切换至后台时,处理过程如下:
步骤306:当运行在用户对应的终端中的客户端从前台切换到后台时,该终端向服务器发送该用户下线的状态通知,该下线的状态通知中携带有该用户的账号和用于表示该用户的客户端切换到了后台的指示信息;
具体地,可以在状态通知扩展一个切换标识字段,通过将该字段取值设置为false来表示客户端切换到了后台,不需将用户的状态推送给好友。
例如,该状态通知可以是可扩展的信息和呈现协议(XMPP,ExtensibleMessaging and Presence Protocol)中的presence消息。其中,对presence消息的扩展如下:
其中,push字段为扩展的切换标识,取值为false:表示客户端切换到了后台,不需将用户的状态信息推送给好友;取值为true:表示需要将用户的状态信息推送给好友。
步骤307:服务器接收用户下线的状态通知后,根据状态通知中的指示确认用户下线是由客户端切换至后台运行导致,则服务器保留该用户的在线信息,并为该用户的在线信息设置有效期,在该有效期结束后再删除该用户的在线信息以及向用户的好友发布该用户的下线状态,以使该用户在有效期内继续呈现为在线状态;
其中,服务器可通过启动计时器的方式来监控在线信息的有效期。具体的,计时器可以从0开始计时,当到达预设时间(即有效期)时触发服务器执行删除该用户的在线信息以及向用户的好友发布该用户的下线状态的操作。可选的,也可以使计时器从预设时间开始倒计时,到计时器的计时时间为0时,触发服务器执行删除该用户的在线信息以及向用户的好友发布该用户的下线状态的操作。
可选的,服务器也可以通过周期性扫描的方式来监控在线信息的有效期。
上述步骤306-307为客户端切换到后台时的处理过程,客户端切换到后台后接收好友发送的消息的处理过程如下:
步骤308:服务器接收用户的好友向用户发送的消息;
步骤309:服务器确认向运行客户端的终端发送激活通知;
服务器接收到用户的好友发送给用户的消息后,确认用户的在线信息设置了有效期,说明客户端已切换到终端的后台运行,因此,服务器向运行客户端的终端发送激活通知。例如,对于iPhone终端,服务器发送的激活通话可以是苹果推送通知业务(APNS,Apple Push Notification Service);对于WindowsPhone终端,服务器发送的激活通话可以是微软推送通知业务(MPNS,Microsof PushNotification Service)。
步骤310:终端根据该激活通知将客户端切换至前台;
终端接收到激活通知后,可以根据该激活通知拉起客户端,从而将客户端切换至前台。
客户端从后台切换回前台后处理过程如下:
步骤311-313:当客户端切换回前台时,客户端重新登录到服务器,并向服务器发送用户上线的状态通知;
其中,步骤311-313是客户端切换到前台后重新登录的过程,其具体处理过程可参考步骤301-303,这里不再赘述。
步骤314:服务器确认已存在该用户的在线信息,取消为该用户的在线信息设置的有效期;
由于服务器中保存的用户的在线信息有可能因为超过有效期而删除了,因此,服务器在接收到客户端发送的用户上线的状态通知后,需要先确认是否还记录有该用户的在线信息,如果不存在该用户的在线信息,服务器则记录该用户的在线信息,并向该用户的好友发布该用户的上线状态。
本实施例以服务器已存在该用户的在线信息为例进行说明。需要说明的是,由于服务器中还存在该用户的在线信息,该用户还继续呈现为在线状态,因此,服务器不需要向用户的好友发送用户的上线状态。而且由于客户端切换回前台后重新登录到服务器,已处于真正的在线状态,因此,服务器取消为该用户的在线信息设置的有效期。
步骤315:服务器将用户好友发送的消息发送给客户端;
步骤316:当客户端退出服务器时,终端向服务器发送下线状态通知,该下线状态通知中携带用户的账号;
步骤317:服务器接收该下线状态通知后,删除该用户的在线信息,
步骤318:服务器根据用户的账号获取用户的在线好友,并将用户的下线状态推送给用户的好友对应的终端。
本发明实施例提供了一种发送用户状态的服务器,参见图4,该装置包括:
接收模块401,用于接收用户的客户端发送的通知该用户下线的状态通知;;
判断模块402,用于根据所述状态通知判断该用户下线是否由该述客户端切换至后台运行导致,并将判断结果提供给处理模块403;
处理模块403,用于在判断模块402确定该用户下线是由客户端切换至后台运行导致时,保留该用户的在线信息,继续将该用户呈现为在线状态;以及在判断模块402确定该用户下线不是由该客户端切换至后台运行导致时,删除该用户的在线信息,并向该用户的好友发布该用户的下线状态。
本发明实施例在用户下线是由客户端切换至后台运行导致的时候,服务器继续将所述用户呈现为在线状态,而不向用户的好友推送用户下线的状态,从而减少对用户的好友发送该用户的状态的次数,提高了用户的使用体验,以及节省了好友的流量。
在用户的客户端切换到后台运行后,可能会存在客户端在后台被关闭的情况,此时,服务器不知客户端已关闭,将会一直将用户呈现为在线状态,因此,处理模块403还可以用于在保留该用户的在线信息时,为保留的该用户的在线信息设置有效期,并在效期结束后,删除保留的该用户的在线信息,并向该用户的好友发布该用户的下线状态。
在本发明另一实施例中,接收模块401还可以用于接收客户端从后台切换回前台时发送的该用户在线的状态通知;处理模块403还可以用于当接收模块401接收到所述客户端从后台切换回前台时发送的该用户在线的状态通知时,确认是否记录有该用户的在线信息,若有,则取消为该用户的在线信息设置的有效期;若没有,则记录所述用户的在线信息,并向该用户的好友发布该用户的上线状态。
在客户端切换至后台期间,由于用户呈现为在线状态,可能会存在用户的好友向该用户发送消息的情况。因此,在本发明另一实施例中,如图5所述,服务器还可以包括:
交互模块404,用于接收该用户的好友发送给所述用户的消息;
检查模块405,用于在该客户端切换到后台后,若交互模块404接收到该用户的好友发送给所述用户的消息,则判断该用户的在线信息中是否存在有效期;
通知模块406,用于在检查模块405判断出该用户的在线信息中存在有效期时,向运行该客户端的终端发送激活通知,以便该终端根据所述激活通知将该客户端切换至前台;
交互模块404还用于在检查模块405判断出该用户的在线信息中不存在有效期时,直接将所述消息发送给所述客户端;或者在接收模块401接收到该客户端从后台切换回前台时发送的该用户在线的状态通知时,将所述消息发送给所述客户端。
上述服务器中的模块的功能的具体实现可参考方法实施例部分,这里不再赘述。
本发明实施例提供了一种发送用户状态的装置,参见图6,该装置包括:
接收模块601,用于接收操作指令;
识别模块602,用于识别接收模块601接收到的操作指令的类型;
生成模块603,用于在识别模块识602别出所述操作指令为切换至后台的指令时,生成用户下线的状态通知,并在所述用户下线的状态通知中指示发送该状态通知的装置切换到了后台;
发送模块604,用于向服务器发送该用户下线的状态通知,以便服务器根据该状态通知中的指示保留该用户的在线信息,继续将该用户呈现为在线状态。
上述图6所示的装置主要用于实现方法实施例中客户端的功能,各模块功能的具体实现可参考方法实施例部分。
图6所示的装置可设置在终端中,本发明另一实施例还提供了一种本发明实施例提供了一种发送用户状态的终端,如图7所示,该终端包括图6所示的装置以及激活模块701。其中,激活模块701用于接收来自所述服务器的激活通知,并根据所述激活通知将图6所示的装置切换至前台。
图4、图5所示的服务器以及图7所示的终端均可基于计算机系统的硬件结构来实现,如图8所示,该计算机系统的硬件结构可包括处理器801、存储器802、通信接口803和总线804。其中,处理器801、存储器802和通信接口803通过总线804通信连接。
处理器801可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序。
存储器802可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器802可以存储操作系统和其他应用程序。存储器802中存储的应用程序由处理器801来运行执行。
通信接口803使用例如但不限于收发器一类的收发装置,来实现服务器与其他设备或通信网络(例如但不限于以太网,无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local Area Network,WLAN)等)之间的通信。在本发明实施例中服务器与客户端之间的通信都通过通信接口803进行。
总线804可包括一通路,在服务器各个部件(例如处理器801、存储器802和通信接口803)之间传送信息。
当图8所示的硬件结构用于实现图4或图5中的服务器时,通信接口803负责与用户的客户端以及与用户的好友的客户端的交互。例如,通信接口803可以用于接收用户的客户端发送的通知该用户下线的状态通知,可以用于向该用户的好友发布该用户的下线状态。
存储器802用于存储用于实现图4或图5所示实施例中的各功能模块的程序代码。
处理器803通过运行存储器802中存储的程序代码实现图4或图5所示实施例中的各功能模块的功能。例如,处理器803可以用于根据该状态通知判断用户下线是否由客户端切换至后台运行导致,若是,保留该用户的在线信息,继续将该用户呈现为在线状态;否则,删除该用户的在线信息,并通过通信接口803向该用户的好友发布该用户下线的状态。
需要说明的是,存储器802除了用于存储程序代码外,还可以用于存储业务数据,如用户的在线信息等。
当图8所示的硬件结构用于实现图7所示实施例中的终端时,通信接口803负责与服务器之间的交互。例如,通信接口803可以用于向服务器发送该用户下线的状态通知。
存储器802用于存储用于实现图7所示实施例中的各功能模块的程序代码,如图6所示装置(即客户端)的程序代码。
处理器801通过运行存储器802中存储的程序代码实现图7所示实施例中的各功能模块的功能。例如,处理器803中运行的操作系统可以向处理器中运行的客户端程序发送操作指令,客户端识别接收到的操作指令,若该操作指令类型为切换至后台的指令,客户端生成用户下线的状态通知,并在该用户下线的状态通知中指示客户端切换到了后台,通过通信接口803将该用户下线的状态通知发送给服务器。
需要说明的是,图7所示的终端还可以是移动终端,其硬件结构与基于计算机系统的硬件结构类似,都包括上述部件,不过移动终端具有无线功能,因此在移动终端中,通信接口采用具有无线信号收发功能的天线来实现。
应注意,尽管图8所示的硬件仅仅示出了处理器801、存储器802、通信接口803以及总线804,但是在具体实现过程中,本领域的技术人员应当明白,该装置还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,还可包含实现其他功能的硬件器件。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种发送用户状态的方法,其特征在于,所述方法包括:
服务器接收用户的客户端发送的通知所述用户下线的状态通知;
根据所述状态通知判断所述用户下线是否由所述客户端切换至后台运行导致;
若是,则所述服务器保留所述用户的在线信息,继续将所述用户呈现为在线状态;否则,所述服务器删除所述用户的在线信息,并向所述用户的好友发布所述用户下线的状态。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述服务器在保留所述用户的在线信息时,为保留的所述用户的在线信息设置有效期,在所述有效期结束后,所述服务器删除保留的所述用户的在线信息,并向所述用户的好友发布所述用户的下线状态。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
当所述服务器接收到所述客户端从后台切换回前台时发送的所述用户在线的状态通知时,所述服务器确认是否记录有所述用户的在线信息,若有,则所述服务器取消为所述用户的在线信息设置的有效期;若没有,则所述服务器记录所述用户的在线信息,并向所述用户的好友发布所述用户的上线状态。
4.如权利要求2或3所述的方法,其特征在于,所述方法还包括:
在所述客户端切换到后台后,若所述服务器接收到所述用户的好友发送给所述用户的消息,则所述服务器判断所述用户的在线信息中是否存在有效期,若存在有效期,则所述服务器向运行所述客户端的终端发送激活通知,以便所述终端根据所述激活通知将所述客户端切换至前台,所述服务器在所述客户端切换至前台后将所述消息发送给所述客户端;若不存在有效期,则所述服务器直接将所述消息发送给所述客户端。
5.一种发送用户状态的方法,其特征在于,所述方法包括:
运行在终端中的客户端接收操作指令;
识别所述操作指令的类型;
若所述操作指令类型为切换至后台的指令,所述客户端生成用户下线的状态通知,并在所述用户下线的状态通知中指示所述客户端切换到了后台;
向服务器发送所述用户下线的状态通知,以便所述服务器根据所述状态通知中的指示保留所述用户的在线信息,继续将所述用户呈现为在线状态。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
在所述客户端切换至后台后,若所述用户的好友向所述用户发送消息,则所述终端接收来自所述服务器的激活通知,并根据所述激活通知将所述客户端切换回前台,所述客户端在切换至前台后从所述服务器接收所述用户的好友向所述用户发送的消息。
7.一种发送用户状态的服务器,其特征在于,所述服务器包括:
接收模块,用于接收用户的客户端发送的通知所述用户下线的状态通知;
判断模块,用于根据所述状态通知判断所述用户下线是否由所述客户端切换至后台运行导致,并将判断结果提供给处理模块;
所述处理模块,用于在所述判断模块确定所述用户下线是由所述客户端切换至后台运行导致时,保留所述用户的在线信息,继续将所述用户呈现为在线状态;以及在所述判断模块确定所述用户下线不是由所述客户端切换至后台运行导致时,删除所述用户的在线信息,并向所述用户的好友发布所述用户的下线状态。
8.如权利要求7所述的服务器,其特征在于,所述处理模块还用于在保留所述用户的在线信息时,为保留的所述用户的在线信息设置有效期,并在所述效期结束后,删除保留的所述用户的在线信息,并向所述用户的好友发布所述用户的下线状态。
9.如权利要求7所述的服务器,其特征在于,所述接收模块还用于接收所述客户端从后台切换回前台时发送的所述用户在线的状态通知;
所述处理模块还用于当所述接收模块接收到所述客户端从后台切换回前台时发送的所述用户在线的状态通知时,确认是否记录有所述用户的在线信息,若有,则取消为所述用户的在线信息设置的有效期;若没有,则记录所述用户的在线信息,并向所述用户的好友发布所述用户的上线状态。
10.如权利要求9所述的服务器,其特征在于,所述服务器还包括:
交互模块,用于接收所述用户的好友发送给所述用户的消息;
检查模块,用于在所述客户端切换到后台后,若所述交互模块接收到所述用户的好友发送给所述用户的消息,则判断所述用户的在线信息中是否存在有效期;
通知模块,用于在所述检查模块判断出所述用户的在线信息中存在有效期时,向运行所述客户端的终端发送激活通知,以便所述终端根据所述激活通知将所述客户端切换至前台;
所述交互模块还用于在所述检查模块判断出所述用户的在线信息中不存在有效期时,直接将所述消息发送给所述客户端;或者在所述接收模块接收到所述客户端从后台切换回前台时发送的所述用户在线的状态通知时,将所述消息发送给所述客户端。
11.一种发送用户状态的装置,其特征在于,所述装置包括:
接收模块,用于接收操作指令;
识别模块,用于识别所述接收模块接收到的操作指令的类型;
生成模块,用于在所述识别模块识别出所述操作指令为切换至后台的指令时,生成用户下线的状态通知,并在所述用户下线的状态通知中指示发送所述状态通知的装置切换到了后台;
发送模块,用于向服务器发送所述用户下线的状态通知,以便所述服务器根据所述状态通知中的指示保留所述用户的在线信息,继续将所述用户呈现为在线状态。
12.一种发送用户状态的终端,其特征在于,所述终端包括激活模块和如权利要求11所述的装置;
所述激活模块,用于接收来自所述服务器的激活通知,并根据所述激活通知将所述装置切换至前台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310159420.XA CN103297323B (zh) | 2013-05-02 | 2013-05-02 | 一种发送用户状态的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310159420.XA CN103297323B (zh) | 2013-05-02 | 2013-05-02 | 一种发送用户状态的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103297323A true CN103297323A (zh) | 2013-09-11 |
CN103297323B CN103297323B (zh) | 2016-09-07 |
Family
ID=49097665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310159420.XA Active CN103297323B (zh) | 2013-05-02 | 2013-05-02 | 一种发送用户状态的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103297323B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320548A (zh) * | 2014-11-10 | 2015-01-28 | 上海斐讯数据通信技术有限公司 | 一种在联系人设备上显示状态的系统及方法 |
CN104660480A (zh) * | 2013-11-18 | 2015-05-27 | 深圳市腾讯计算机系统有限公司 | 一种帐号异常处理的方法、装置及系统 |
CN104754018A (zh) * | 2013-12-31 | 2015-07-01 | 上海博泰悦臻网络技术服务有限公司 | 消息传输方法、装置及系统 |
CN106209601A (zh) * | 2016-07-29 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 状态更新消息的推送方法及装置 |
CN106411713A (zh) * | 2016-10-24 | 2017-02-15 | 腾讯音乐娱乐(深圳)有限公司 | 一种状态通知方法及服务器 |
CN113256439A (zh) * | 2021-05-28 | 2021-08-13 | 北京默契破冰科技有限公司 | 高并发场景下的用户好友在线关系实时同步方法、装置和电子设备 |
CN114267458A (zh) * | 2021-12-21 | 2022-04-01 | 挂号网(杭州)科技有限公司 | 接诊用户状态调整方法、装置、电子设备及存储介质 |
CN115314531A (zh) * | 2022-06-30 | 2022-11-08 | 中国第一汽车股份有限公司 | 信息处理方法、装置及车辆 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050157A1 (en) * | 2003-08-27 | 2005-03-03 | Day Mark Stuart | Methods and apparatus for accessing presence information |
CN101286955A (zh) * | 2007-02-21 | 2008-10-15 | 捷讯研究有限公司 | 呈现更新信息有效传送到呈现服务客户端 |
CN102724656A (zh) * | 2012-05-21 | 2012-10-10 | 中兴通讯股份有限公司 | 一种移动社交网络用户状态更新的装置、方法及移动终端 |
-
2013
- 2013-05-02 CN CN201310159420.XA patent/CN103297323B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050157A1 (en) * | 2003-08-27 | 2005-03-03 | Day Mark Stuart | Methods and apparatus for accessing presence information |
CN101286955A (zh) * | 2007-02-21 | 2008-10-15 | 捷讯研究有限公司 | 呈现更新信息有效传送到呈现服务客户端 |
CN102724656A (zh) * | 2012-05-21 | 2012-10-10 | 中兴通讯股份有限公司 | 一种移动社交网络用户状态更新的装置、方法及移动终端 |
Non-Patent Citations (2)
Title |
---|
NETWORK WORKING GROUP: "《IETF2778》", 29 February 2000 * |
腾讯科技: "《http://www.baidu.com》", 23 June 2011 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660480A (zh) * | 2013-11-18 | 2015-05-27 | 深圳市腾讯计算机系统有限公司 | 一种帐号异常处理的方法、装置及系统 |
CN104660480B (zh) * | 2013-11-18 | 2018-09-04 | 深圳市腾讯计算机系统有限公司 | 一种帐号异常处理的方法、装置及系统 |
CN104754018A (zh) * | 2013-12-31 | 2015-07-01 | 上海博泰悦臻网络技术服务有限公司 | 消息传输方法、装置及系统 |
CN104320548A (zh) * | 2014-11-10 | 2015-01-28 | 上海斐讯数据通信技术有限公司 | 一种在联系人设备上显示状态的系统及方法 |
CN106209601A (zh) * | 2016-07-29 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 状态更新消息的推送方法及装置 |
CN106209601B (zh) * | 2016-07-29 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 状态更新消息的推送方法及装置 |
CN106411713A (zh) * | 2016-10-24 | 2017-02-15 | 腾讯音乐娱乐(深圳)有限公司 | 一种状态通知方法及服务器 |
CN106411713B (zh) * | 2016-10-24 | 2020-06-05 | 腾讯音乐娱乐(深圳)有限公司 | 一种状态通知方法及服务器 |
CN113256439A (zh) * | 2021-05-28 | 2021-08-13 | 北京默契破冰科技有限公司 | 高并发场景下的用户好友在线关系实时同步方法、装置和电子设备 |
CN114267458A (zh) * | 2021-12-21 | 2022-04-01 | 挂号网(杭州)科技有限公司 | 接诊用户状态调整方法、装置、电子设备及存储介质 |
CN115314531A (zh) * | 2022-06-30 | 2022-11-08 | 中国第一汽车股份有限公司 | 信息处理方法、装置及车辆 |
CN115314531B (zh) * | 2022-06-30 | 2024-05-17 | 中国第一汽车股份有限公司 | 信息处理方法、装置及车辆 |
Also Published As
Publication number | Publication date |
---|---|
CN103297323B (zh) | 2016-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103297323A (zh) | 一种发送用户状态的方法和装置 | |
US11025963B2 (en) | Data processing method, apparatus, and system for live streaming page | |
US10530716B2 (en) | Voice chat mode self-adapting method and apparatus | |
US9594496B2 (en) | Method and apparatus for playing IM message | |
CN109921976B (zh) | 一种基于群组的通信控制方法、装置及存储介质 | |
KR20210084416A (ko) | 메신저 서비스에서의 그룹 아이콘 구성 방법 및 이를 위한 장치 | |
USRE49289E1 (en) | Method and mobile terminal for processing data in message | |
CN105306662A (zh) | 通信终端的信息整合方法及系统 | |
CN102355509B (zh) | 一种依托通讯录中移动号码进行消息收发的方法和装置 | |
CN104348697A (zh) | 视频通讯信息的处理方法、装置及系统 | |
US9838501B2 (en) | Method and server for generating contact relationship data in network communication system | |
CN105072019A (zh) | 即时通信的消息的处理方法及处理系统 | |
US20070239830A1 (en) | Method and apparatus for instant message notification and forwarding | |
CN103716230B (zh) | 消息发送方法、装置及服务器 | |
CN104348875A (zh) | 用于群发数据的方法、云端服务器和系统 | |
CN101404792A (zh) | 一种手机备份短信的方法和系统 | |
CN104753825B (zh) | 即时通信多终端登录时登录状态的下发方法和系统 | |
US8996613B2 (en) | Automated activity creation in a mobile device business application | |
CN102143457A (zh) | 使用本机号码登录方法、一种移动终端和一种通信系统 | |
CN105426190A (zh) | 数据传递方法和装置 | |
CN108696917B (zh) | 通信连接方法、装置、电子装置及计算机可读介质 | |
CN106385516A (zh) | 一种设置业务转移的方法、装置及终端 | |
CN105426242A (zh) | 数据传递方法和装置 | |
CN101001213A (zh) | 一种短消息传输系统及方法 | |
CN114885042A (zh) | 一种网络数据的传输方法、客户端、服务器及系统 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200201 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 210012 HUAWEI Nanjing base, 101 software Avenue, Yuhuatai District, Jiangsu, Nanjing Patentee before: Huawei Technologies Co.,Ltd. |
|
TR01 | Transfer of patent right |