CN105933213B - 一种聊天消息的处理方法、相关设备和系统 - Google Patents
一种聊天消息的处理方法、相关设备和系统 Download PDFInfo
- Publication number
- CN105933213B CN105933213B CN201610471610.9A CN201610471610A CN105933213B CN 105933213 B CN105933213 B CN 105933213B CN 201610471610 A CN201610471610 A CN 201610471610A CN 105933213 B CN105933213 B CN 105933213B
- Authority
- CN
- China
- Prior art keywords
- message
- client
- sequence number
- social multimedia
- chat
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种社交多媒体群组聊天消息的发送方法,服务器接收到客户端发送的消息推送请求后,判断社交多媒体群组中是否存在相对于客户端本地接收的聊天消息的更新的聊天消息,若为是,服务器向客户端发送更新的聊天消息,这样不需要对社交多媒体群组中的客户端列表进行维护也能实现聊天消息的实时发送,降低了服务器的处理开销。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种社交多媒体群组聊天消息的发送方法、推送方法、接收方法和相关设备。
背景技术
现有技术的消息服务器采用主动发送的模式,需要维护群组的成员表以及成员对应的消息通道映射关系。对于每一条上行消息,服务器解析出消息属于哪个群组之后,都需要遍历一次成员表中的映射关系,找到需要推送的消息通道并发起消息的推送。
然而,对于像直播间的应用场景来说,这样的技术方案主要存在以下问题:
1.因为聊天室的成员表被频繁访问,其一般存储在服务器的内存中。聊天室的成员数量远大于一般群组,所以服务器存储这些信息需要巨大的内存开销。同时,因为直播聊天室的在线人数往往产生难以不可预测的突增,内存中为每个成员表的预留空间很难确定。另外,每当有用户加入或退出群组时,都需要对表进行更改。如果群组成员是按照账号顺序排序的话,每次修改都会引起大量的内存拷贝。
2.对于N个成员的群组,每产生一条上行消息,服务器就需要迭代遍历一次内存中的成员表,时间复杂度为O(N)。然而,直播聊天室中的成员往往十分活跃,每秒会产生大量的上行消息,服务器的查表操作将带来巨大的CPU计算开销。同时,聊天室每分钟的上行消息M与成员数N通常称正相关,服务器的计算压力正比于M乘以N,所以聊天室的成员人数的增长意味着服务器的压力成几何增长。
现有的消息推送方案采用了成员表,在直播聊天室这种包含大量群组成员和消息的场景中,对服务器的计算和存储都带来了前所未有的压力。
发明内容
本发明实施例所要解决的技术问题在于,提供一种社交多媒体群组聊天消息的发送方法、相关设备和系统。可解决现有技术中服务器处理开销大的问题。
为了解决上述技术问题,本发明实施例提供了一种社交多媒体群组聊天消息的发送方法,包括:
服务器接收客户端发送的消息推送请求;其中,所述消息推送请求携带动态消息序号和社交多媒体群组标识;
所述服务器根据确定所述社交多媒体群组标识对应的社交多媒体群组消息列表,以及根据所述动态消息序号判断所述社交多媒体群组内是否存在更新的聊天消息;
若为是,所述服务器获取所述社交多媒体群组消息列表中更新的聊天消息的数量n,将所述动态消息序号加n,n为大于0的整数;
所述服务器获取所述社交多媒体群组消息列表中更新的聊天消息生成第一更新消息列表,以及确定所述客户端的第一等待时长;
所述服务器生成消息推送响应,以及向所述客户端返回所述推送响应消息;其中,所述消息推送响应携带加n后的动态消息序号、所述第一更新消息列表、第一等待时长和所述社交多媒体群组标识。
相应地,本发明实施例还提供了一种社交多媒体群组聊天消息的推送方法,包括:
客户端检测到达等待时长时,获取当前的动态消息序号和所在的社交多媒体群组对应的社交多媒体群组标识;
所述客户端向服务器发送携带所述社交多媒体群组标识和所述动态消息序号的消息推送请求;
所述客户端接收服务器根据所述消息推送请求返回的消息推送响应;其中,所述消息推送响应携带更新消息列表、新的等待时长、新的动态消息序号和所述社交多媒体群组标识;
所述客户端判断所述更新消息列表是否为空;
若为否,所述客户端在所述社交多媒体群组标识对应的社交多媒体群组显示所述更新消息列表中的聊天消息,以及根据所述新的等待时长更新本地存储的所述等待时长、根据所述新的动态消息序号更新本地存储的所述动态消息序号。
实施本发明实施例,具有如下有益效果:
服务器接收到客户端发送的消息推送请求后,判断社交多媒体群组中是否存在相对于客户端本地接收的聊天消息的更新的聊天消息,若为是,服务器向客户端发送更新的聊天消息,这样不需要对社交多媒体群组中的客户端列表进行维护也能实现聊天消息的实时发送,降低了服务器的处理开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种直播平台的网络结构图;
图2是本发明实施例提供的一种社交多媒体群组聊天消息的发送方法的流程示意图;
图3是本发明实施例提供的一种社交多媒体群组聊天消息的发送方法的另一流程示意图;
图4是图3实施例中的一种可选方案的流程示意图;
图5是本发明实施例提供的一种社交多媒体群组聊天消息的推送方法的流程示意图;
图6是本发明实施例提供的一种服务器的结构示意图;
图7是本发明实施例提供的一种服务器的另一结构示意图;
图8是本发明实施例提供的一种客户端的结构示意图;
图9是本发明实施例提供的一种客户端的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,为本发明实施例提供的一种社交多媒体聊天系统的结构示意图,为了更好理解本发明实施例公开的一种社交多媒体群组聊天消息的发送方法、相关设备和系统,社交多媒体群组为服务器创建的一种虚拟空间,虚拟空间中包括一个或多个客户端,客户端可以在社交多媒体群组中发送聊天消息,社交多媒体群组中的其他客户端能接收到该聊天消息,聊天消息包括但不限于语音消息、文字消息、视频消息、虚拟物品、点赞消息、红包等;社交多媒体群组可以为视频直播间、语音直播间、聊天室、即时通信聊天群组或虚拟社交空间(例如微信朋友圈、微博、说说等)。
下面先以视频直播间为例对本发明实施例的社交多媒体聊天系统的的网络构架进行描述。请参阅图1,图1是本发明实施例公开的一种视频直播间的网络构架示意图。如图1所示,该视频直播的网络构架可以包括服务器以及多个客户端,其中,服务器可包括一个接收服务器和多个发送服务器,接收服务器用于接收客户端发送的聊天消息,发送服务器用于向客户端发送聊天消息,由于服务器的下行方向的流量远大于上行方向的流量,通过设置多个发送服务器可减轻下行方向的负载更均衡。聊天消息包括但不限于:图片、文字、点赞、虚拟物品或红包;服务器也被称后台服务器、组件服务器等,服务器可以通过互联网与多个客户端进行通信连接。
在图1所示的视频直播网络构架中,多个客户端中的部分客户端可以作为主播客户端,而其余客户端可以作为观众客户端。本发明实施例中,视频直播间简单来讲就是服务器创建的一种虚拟空间(或虚拟房间),位于该虚拟空间内的观众客户端可以不仅观看主播客户端的直播内容,还可以和主播客户端进行语音或文字的交互。主播客户端对接入其视频直播间内的其余观众客户端不仅具有接入、踢出控制权,还具有直播主动权。本发明实施例中,主播客户端、观众客户端可以实现包括集合群聊、视频直播、频道K歌、在线游戏、在线影视等多种功能。在图1所示的直播网络构架中,主播客户端、观众客户端包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备上。
参见图2,为本发明实施例提供的一种社交多媒体群组聊天消息的处理方法的流程示意图,在本发明实施例中,所述方法包括:
S201、服务器接收第一客户端发送的消息推送请求。
具体的,服务器关联多个第一客户端,多个第一客户端包括主播第一客户端和观众第一客户端,第一客户端向服务器发送消息推送请求,消息推送请求用于向服务器请求推送聊天消息,服务器接收第一客户端发送的消息推送请求,消息推送请求携带动态消息序号和社交多媒体群组标识,动态消息序号可以是第一客户端已接收的聊天消息的最大序号,或该最大序号加1的序号,社交多媒体群组标识用于唯一表示社交多媒体群组的身份。
S202、服务器确定社交多媒体群组标识对应的社交多媒体群组消息列表。
具体的,社交多媒体群组可以为视频直播间、语音直播间、聊天室、即时通信聊天群组或虚拟社交空间(例如微信朋友圈、微博、说说等),社交多媒体群组标识唯一对应一个社交多媒体群组,每个社交多媒体群组设置一个社交多媒体群组消息列表,社交多媒体群组消息列表存储观众第一客户端或主播第一客户端在社交多媒体群组内发送的聊天消息,聊天消息携带自身的消息序号和社交多媒体群组标识。
S203、根据动态消息序号判断社交多媒体群组消息列表内存在更新的聊天消息。
具体的,服务器根据动态消息序号可以确定第一客户端上最新的聊天消息的序号,根据最新的聊天消息的序号由此可确定社交多媒体群组消息列表中是否存在相对于该第一客户端的更新的聊天消息,若为是,执行S204。
S204、服务器统计社交多媒体群组消息列表中更新的聊天消息的数量n,将动态消息序号加n。
具体的,在服务器确定社交多媒体群组消息列表中存在相对于第一客户端的更新的聊天消息时,统计当前时刻社交多媒体群组消息列表中更新的聊天消息的数量n,将当前的动态消息序号进行加n。
S205、服务器获取社交多媒体群组消息列表中更新的聊天消息生成第一更新消息列表,以及确定第一客户端的第一等待时长。
具体的,服务器获取上述的n个更新的聊天消息生成第一更新消息列表,另外,服务器确定第一客户端的第一等待时长,其中,第一等待时长表示该第一客户端在S201发送的当前的消息推送请求至下一次的消息推送请求之间的时间间隔,服务器确定第一客户端的第一等待时长的方法可以是:第一等待时长是预先设置的固定值,服务器获取预先设置的第一等待时长;或服务器根据社交多媒体群组中的聊天消息吞吐量来计算第一等待时长,第一等待时长与聊天消息的吞吐量成负相关性,即聊天消息吞吐量越大,则第一等待时长越小,反之,聊天消息吞吐量越小,则第一等待时长越大。
S206、服务器生成消息推送响应,以及向第一客户端返回消息推送响应。
具体的,服务器获取加n后的动态消息序号、社交多媒体群组的社交多媒体群组标识、第一等待时长和第一更新消息列表,将加n后的动态消息序号、社交多媒体群组标识、第一等待时长和第一更新消息列表添加到消息推送响应中,向第一客户端返回消息推送响应,第一客户端将本地存储的动态消息序号更新为加n后的动态消息序号,确定社交多媒体群组标识对应的社交多媒体群组,将第一更新消息列表中的聊天消息更加消息序号的顺序依次显示在该社交多媒体群组中,将本地存储的等待时长更新为第一等待时长。
从上述实施例可以看出,服务器接收到第一客户端发送的消息推送请求后,判断社交多媒体群组中是否存在相对于第一客户端本地接收的聊天消息的更新的聊天消息,若为是,服务器向第一客户端发送更新的聊天消息,这样不需要对社交多媒体群组中的第一客户端列表进行维护也能实现聊天消息的实时发送,降低了服务器的处理开销。
参见图3,为本发明实施例提供的一种社交多媒体群组聊天消息的发送方法的流程示意图,在本发明实施例中,所述方法包括:
S301、服务器接收第一客户端发送的消息推送请求。
具体的,服务器关联多个第一客户端,多个第一客户端包括主播第一客户端和观众第一客户端,第一客户端向服务器发送消息推送请求,消息推送请求用于向服务器推送聊天消息,消息推送请求中携带动态消息序号和社交多媒体群组标识,社交多媒体群组标识用于唯一表示社交多媒体群组的身份,动态消息序号表示第一客户端已接收的社交多媒体群组内的聊天消息的最大序号,或者最大序号加1(即下次期望接收到的聊天消息的序号),在初始接入时,第一客户端为接收到任何社交多媒体群组的聊天消息,此时规定动态消息序号为0或1。
举例说明,社交多媒体群组标识对应社交多媒体群组1,第一客户端接收社交多媒体群组1的聊天消息的最大序号为185,则第一客户端向服务器发送消息推送请求时,消息推送请求中携带的动态消息序号为185或186,消息推送请求的形式可以为:
GroupID:10001
StartSeq:186
其中,GroupID表示社交多媒体群组标识,StartSeq表示动态消息序号,此时为第一客户端期望接收到的下一个聊天消息的消息序号。
S302、服务器确定社交多媒体群组标识对应的社交多媒体群组消息列表。
具体的,社交多媒体群组标识唯一对应一个社交多媒体群组,每个社交多媒体群组设置一个社交多媒体群组消息列表,社交多媒体群组消息列表存储观众第一客户端或主播第一客户端在该社交多媒体群组内发送的聊天消息,社交多媒体群组消息列表中的聊天消息携带自身的消息序号和社交多媒体群组标识,每个聊天消息具有不同的消息序号,其中,在一种可能的实施方式中,社交多媒体群组消息列表可以为FIFO先进先出队列的形式,即消息序号小的聊天消息位于队列头,消息序号大的聊天消息位于队列尾,队列头至队列尾的聊天消息按照消息序号的大小升序排列,新到来的聊天消息放置在队列尾。
S303、根据动态消息序号判断社交多媒体群组消息列表中是否存在更新的聊天消息。
具体的,服务器根据动态消息序号确定社交多媒体群组消息列表中是否存在相对于第一客户端的更新的聊天消息,判断的方法可以是:1、动态消息序号为第一客户端已接收到的属于社交多媒体群组的聊天消息的最大序号的情况下,服务器判断社交多媒体群组消息列表中是否存在大于动态消息序号的聊天消息,若存在,则大于动态消息序号的聊天消息均为更新的聊天消息;2、动态消息序号为第一客户端期望接收到的属于社交多媒体群组的下一个聊天消息的序号的情况下,服务器判断社交多媒体群组消息列表中时长存在大于或等于动态消息序号的聊天消息,若存在,则大于或等于动态消息序号的聊天消息即为更新的聊天消息。服务器判断社交多媒体群组消息列表中是否存在更新的聊天消息,若为是,执行S304,否则,执行S307。
续上例进行举例说明,动态消息序号为第一客户端期望接收的社交多媒体群组1的下一个聊天消息的序号,动态消息序号为186,服务器判断社交多媒体群组1对应的社交多媒体群组消息列表中是否存在消息序号大于或等于186的聊天消息,若查询到存在消息序号为186、187、188和189的聊天消息,则消息序号为186、187、188和189的四个聊天消息为相对于第一客户端的更新的聊天消息。
S304、服务器统计社交多媒体群组消息列表中更新的聊天消息的数量n,将动态消息序号加n。
具体的,服务器统计社交多媒体群组消息列表中更新的聊天消息的数量,将当前的动态消息序号增加该数量后生成新的动态消息序号。
续上例,服务器统计社交多媒体群组1对应的社交多媒体群组消息列表中更新的聊天消息的数量为4,当前的动态消息序号为186,将当前的动态消息序号186加4后生成新的动态消息序号190。
S305、服务器获取社交多媒体群组消息列表中更新的聊天消息生成第一更新消息列表,以及确定第一客户端的第一等待时长。
具体的,服务器获取n个生成的聊天消息生成第一更新消息列表,同时,服务器确定第一客户端的第一等待时长,第一等待时长表示第一客户端发起当前的消息推送请求至发起下次的消息推送请求之间的时间间隔,其中,服务器确定第一客户端的第一等待时长的方法可以是:第一等待时长是预先设置的固定值,服务器获取预设设置的第一等待时长;或者,服务器根据社交多媒体群组中的聊天消息吞吐量来计算第一等待时长。
续上例,第一更新消息列表中包括消息序号为186、187、188和189的四个聊天消息,服务器获取预先设置的第一等待时长为3S。
S306、服务器生成第一消息推送响应,以及向第一客户端返回第一消息推送响应。
具体的,第一消息推送响应中携带第一更新消息列表、加n后的动态消息序号、社交多媒体群组标识和第一等待时长,第一客户端接收到第一消息推送响应后,确定社交多媒体群组标识对应的社交多媒体群组,在该社交多媒体群组先根据消息序号升序显示第一更新消息列表中的聊天消息,将本地存储的动态消息序号更新为加n后的动态消息,以及将本地存储的等待时长更新为第一等待时长,在第一等待时长规定的时刻到达时,再次向服务器发送消息推送请求。
续上例,第一消息推送响应的形式为:
其中,Group表示社交多媒体群组标识,NextSeq表示新的动态消息序号,此时为第一客户端期望接收到的下一个聊天消息的序号,HoldTime表示第一等待时长,MsgList表示第一更新列表,{}中的内容表示更新的聊天消息,Seq表示聊天消息的消息序号,Content表示聊天消息的内容。
S307、根据预设的时间间隔和预设的查询次数进行轮询。
具体的,服务器判断社交多媒体群组消息列表中不存在更新的聊天消息时,进行长轮询,根据预设的时间间隔和预设的查询次数轮询社交多媒体群组消息列表中是否存在更新的聊天消息,其中,若当前的轮询操作得到的更新的聊天消息,将得到的聊天消息的消息序号作为下一次轮询操作的起始消息序号
例如,服务器以200ms为周期在社交多媒体群组消息列表中轮询10次,等待200ms后,服务器查询社交多媒体群组消息列表中是否存在消息序号大于或等于186的聊天消息,查询到1个消息序号为186的聊天消息时,等待200ms,服务器再次查询社交多媒体群组消息列表中是否存在消息序号大于或等于187的聊天消息,等待200ms,直到达到预设的轮询周期时,服务器判断是否轮询到更新的聊天消息。
S308、根据动态消息序号判断社交多媒体群组消息列表中是否存在更新的聊天消息。
具体的,服务器根据动态消息序号判断社交多媒体群组消息列表中是否存在更新的聊天消息的方法可操作S303的描述,此处不再赘述。若判断结构为是,执行S309,否则,执行S312。
S309、服务器统计社交多媒体群组消息列表中更新的聊天消息的数量m,将动态消息序号加m。
具体的,经过长轮询操作后,服务器统计社交多媒体群组消息列表中更新的聊天消息的数量m,将当前的动态消息序号加m得到新的动态消息序号。
续上例,服务器在经过长轮询后,统计出社交多媒体群组1对应的社交多媒体群组消息列表中更新的聊天消息的数量为10,当前的动态消息序号为186,将当前的动态消息序号加10后生成新的动态消息序号196。
S310、服务器获取社交多媒体群组消息列表中更新的聊天消息生成第二更新消息列表,以及确定第一客户端的第二等待时长。
具体的,服务器获取m个生成的聊天消息生成第二更新消息列表,同时,服务器确定第一客户端的第二等待时长,第二等待时长表示第一客户端发起当前的消息推送请求至发起下次的消息推送请求之间的时间间隔,其中,服务器确定第一客户端的第二等待时长的方法可以是:第二等待时长是预先设置的固定值,服务器获取预设设置的第二等待时长;或者,服务器根据社交多媒体群组中的聊天消息吞吐量来计算第二等待时长。需要说明的是,第一等待时长小于第二等待时长,例如,第一等待时长为3S,第二等待时长为4S。
S311、服务器生成第二消息推送响应,以及向第一客户端返回第二消息推送响应。
具体的,第二消息推送响应携带第二更新消息列表,加m后的动态消息序号、社交多媒体群组标识和第二等待时长,第一客户端接收到第二消息推送响应后,根据消息序号升序显示在社交多媒体群组标识对应的社交多媒体群组内第二更新消息列表中的聊天消息,根据加m后的动态消息序号更新本地存储的动态消息序号,将第二等待时长更新本地存储的等待时长,在达到第二等待时长时,再次向服务器发送消息推送请求。
S312、确定第一客户端的第三等待时长。
具体的,在服务器进行长轮询后社交多媒体群组消息列表中仍然没有更新的聊天消息时,服务器确定第一客户端的第三等待时长,第三等待时长的确定方法可参照第一等待时长和第二等待时长的确定方法,此处不再赘述,需要说明的是,第一等待时长小于第二等待时长,第二等待时长小于第三等待时长。
S313、服务器生成第三消息推送响应,以及向第一客户端返回第三消息推送响应。
具体的,第三消息推送响应中携带空的更新消息列表、社交多媒体群组标识、动态消息序号和第三等待时长,其中由于社交多媒体群组消息列表中没有更新的聊天消息,因此动态消息序号没有更新,第一客户端接收到第三消息推送响应后,将本地的等待时长更新后第三等待时长,在第三等待时长规定的时刻达到时,再次向服务器发送消息推送请求。
从上述实施例可以看出,服务器接收到客户端发送的消息推送请求后,判断社交多媒体群组中是否存在相对于客户端本地接收的聊天消息的更新的聊天消息,若为是,服务器向客户端发送更新的聊天消息,这样不需要对社交多媒体群组中的客户端列表进行维护也能实现聊天消息的实时发送,降低了服务器的处理开销。
可选的,参见图5,本发明实施例的一种社交多媒体群组消息的推送方法还包括:S401-S404。
S401、服务器接收第二客户端发送的携带社交多媒体群组标识的聊天消息;
具体的,第二客户端可以是主播客户端或观众客户端,第二客户端进入社交多媒体群组后,需要在社交多媒体群组内发送聊天消息是,第二客户端获取所在的社交多媒体群组的社交多媒体群组标识,第二客户端向服务器发送携带社交多媒体群组标识的聊天消息,服务器接收第二客户端发送的携带社交多媒体群组标识的聊天消息,其中聊天消息包括但不限于文字格式消息、语音格式消息或图片格式消息。
S402、服务器确定社交多媒体群组标识对应的社交多媒体群组消息列表,以及获取社交多媒体群组消息列表中聊天消息的最大消息序号。
具体的,社交多媒体群组标识位于表示社交多媒体群组的身份,每个社交多媒体群组设置一个社交多媒体群组消息列表,社交多媒体群组消息列表用于存储服务器关联的多个客户端发送的聊天消息,每个聊天消息携带自身的消息序号,服务器获取社交多媒体群组消息列表中聊天消息的最大序号,其中,如果社交多媒体群组聊天消息为空,则默认聊天消息的最大序号为0或1。
S403、将最大消息序号加1后作为聊天消息的消息序号,以及将消息序号添加到聊天消息中。
具体的,服务器将获取到的最大序号加1后得到当前接收到的聊天消息的消息序号,将消息序号添加到该聊天消息中。
S404、将聊天消息存储至社交多媒体群组消息列表中。
参见图5,为本发明实施例提供的一种社交多媒体群组聊天消息的推送方法,在本发明实施例中,所述方法包括:
S501、客户端检测到达等待时长时,获取当前的推送消息序号和所在的社交多媒体群组对应的社交多媒体群组标识。
具体的,客户端获取本地存储的等待时长,在到达等待时长时,客户端获取本地存储的动态消息序号和客户端所在的社交多媒体群组对应的社交多媒体群组标识,动态消息序号可以为客户端已接收到的该社交多媒体群组内的聊天消息的最大消息序号,或者客户端期望接收的该社交多媒体群组的下一个聊天消息的序号。
S502、客户端向服务器发送携带社交多媒体群组标识和动态消息序号的消息推送请求,消息推送请求中携带客户端所在的社交多媒体群组的社交多媒体群组标识和动态消息序号。
具体的,消息推送请求用于请求服务器查询社交多媒体群组中更新的聊天消息。
S503、客户端接收服务器根据消息推送请求返回的消息推送响应。
具体的,服务器根据消息推送请求中的动态消息序号判断社交多媒体群组中存在的更新的聊天消息,服务器判断的的方法具体可参照图3的实施例的描述,此处不再赘述。消息推送响应中携带更新消息列表、新的等待时长、新的动态消息序号和社交多媒体群组标识,更新消息列表中包括社交多媒体群组标识对应的社交多媒体群组内更新的聊天消息。
S504、客户端判断更新消息列表不为空。
具体的,更新消息列表不为空表示存在更新的聊天消息,更新消息列表中的聊天消息携带自身的消息序号。
S505、客户端在社交多媒体群组标识对应的社交多媒体群组显示更新消息列表中的聊天消息,根据新的等待时长更新本地存储的等待时长、根据新的动态消息序号更新本地存储的动态消息序号。
具体的,客户端在社交多媒体群组标识对应的社交多媒体群组中显示更新消息列表中的聊天消息,显示的方式为根据消息序号升序的方式依次在社交多媒体群组中显示聊天消息,客户端获取消息推送响应中的新的等待时长和新的动态消息序号,将本地存储的等待时长替换为新的等待时长,将本地存储的动态消息序号替换为新的消息序号。
可选的,在本发明的一种可能的实施方式中,还包括:
若更新消息列表为空,将新的等待时长更新本地存储的等待时长。
具体的,客户端确定更新消息列表为空时,表明服务器中不存在更新的聊天消息,此时动态消息序号没有更新,即消息推送响应中携带的动态消息序号与消息推送请求中的携带的动态消息序号相同,客户端也不需要在社交多媒体群组显示聊天消息,但是需要将本地存储的的等待时长替换为新的等待时长,在新的等待时长到达时,再次向服务器发送消息推送请求。
参见图6,为本发明实施例提供的一种服务器的结构示意图,本发明实施例的服务器用于执行图2中的一种社交多媒体群组聊天消息的发送方法,所涉及的术语和过程可参照图2实施例的描述。服务器6包括:接收模块601、判断模块602、第一更新模块603、第一确定模块604和第一响应模块605。
接收模块601,用于接收第一客户端发送的消息推送请求;其中,所述消息推送请求携带动态消息序号和社交多媒体群组标识。
判断模块602,用于根据确定所述社交多媒体群组标识对应的社交多媒体群组消息列表,以及根据所述动态消息序号判断所述社交多媒体群组内是否存在更新的聊天消息。
第一更新模块603,用于若所述判断模块的判断结果为是,获取所述社交多媒体群组消息列表中更新的聊天消息的数量n,将所述动态消息序号加n,n为大于0的整数。
第一确定模块604,用于获取所述社交多媒体群组消息列表中更新的聊天消息生成第一更新消息列表,以及确定所述第一客户端的第一等待时长。
第一响应模块605,用于生成消息推送响应,以及向所述第一客户端返回所述推送响应消息;其中,所述消息推送响应携带加n后的动态消息序号、所述第一更新消息列表、第一等待时长和所述社交多媒体群组标识。
可选的,所述消息序号为所述第一客户端待推送的下一个聊天消息的消息序号或所述第一客户端已推送的聊天消息的最大消息序号。
可选的,服务器6还包括:
轮询模块,用于若根据所述消息序号判断所述社交多媒体群组消息列表内不存在更新的社交多媒体群组消息,根据预设的时间间隔和预设的查询次数轮询所述社交多媒体群组消息列表内是否存在更新的聊天消息;
第二更新模块,用于若所述轮询模块的轮询结果为是,获取所述社交多媒体群组消息列表中更新的聊天消息的数量m,将所述动态消息序号加m,m为大于0的整数;
第二确定模块,用于获取所述社交多媒体群组消息列表中更新的聊天消息生成第二更新消息列表,以及确定所述第一客户端的第二等待时长;
第二响应模块,用于生成第二消息推送响应,以及向所述第一客户端返回所述第二消息推送响应;其中,所述第二消息推送响应携带加m后的动态消息序号、所述第二更新消息列表、第二等待时长和所述社交多媒体群组标识。
可选的,服务器6还包括:
第三确定模块,用于若根据预设的时间间隔和预设的查询次数轮询所述社交多媒体群组消息列表中内仍然不存在更新的聊天消息,确定所述第一客户端的第三等待时长;
第三响应模块,用于生成第三消息推送响应,以及向所述第一客户端返回所述第三消息推送响应;其中,所述第三消息推送响应携带空的更新消息列表、第三等待时长、所述社交多媒体群组标识和所述消息序号。
可选的,第一确定模块604用于:
获取预设时长内所述社交多媒体群组消息列表接收到的聊天消息的数量,根据所述数量确定所述第一等待时长,其中,所述第一等待时长与所述数量负相关性。
可选的,服务器6还包括:
聊天消息接收模块,用于接收第二客户端发送的携带所述社交多媒体群组标识的聊天消息;
序号获取模块,用于确定所述社交多媒体群组标识对应的社交多媒体群组消息列表,以及获取社交多媒体群组消息列表中聊天消息的最大消息序号;
序号更新模块模块,用于将所述最大消息序号加1后作为所述聊天消息的消息序号,以及将所述消息序号添加到所述聊天消息中;
存储模块,用于向将所述聊天消息存储在社交多媒体群组消息列表中。
本发明实施例和方法图2和图3的实施例一和二基于同一构思,其带来的技术效果也相同,具体原理可参照方法实施例一和二的描述,此处不再赘述。
参见图7,为本发明实施例提供的一种服务器的又一结构示意图,在本发明实施例中,服务器7包括处理器701、存储器702和收发器703。收发器703用于与外部设备之间收发数据。服务器7中的处理器701的数量可以是一个或多个。本发明的一些实施例中,处理器701、存储器702和收发器703可通过总线系统或其他方式连接。服务器7可以用于执行图2所示的方法。关于本实施例涉及的术语的含义以及举例,可以参考图2对应的实施例。此处不再赘述。
其中,存储器702中存储程序代码。处理器701用于调用存储器702中存储的程序代码,用于执行以下操作:
接收第一客户端发送的消息推送请求;其中,所述消息推送请求携带动态消息序号和社交多媒体群组标识;
根据确定所述社交多媒体群组标识对应的社交多媒体群组消息列表,以及根据所述动态消息序号判断所述社交多媒体群组内是否存在更新的聊天消息;
若为是,获取所述社交多媒体群组消息列表中更新的聊天消息的数量n,将所述动态消息序号加n,n为大于0的整数;
获取所述社交多媒体群组消息列表中更新的聊天消息生成第一更新消息列表,以及确定所述第一客户端的第一等待时长;
生成消息推送响应,以及向所述第一客户端返回所述推送响应消息;其中,所述消息推送响应携带加n后的动态消息序号、所述第一更新消息列表、第一等待时长和所述社交多媒体群组标识。
可选的所述消息序号为所述第一客户端待推送的下一个聊天消息的消息序号或所述第一客户端已推送的聊天消息的最大消息序号。
可选的,处理器701还用于执行:
若根据所述消息序号判断所述社交多媒体群组消息列表内不存在更新的社交多媒体群组消息,根据预设的时间间隔和预设的查询次数轮询所述社交多媒体群组消息列表内是否存在更新的聊天消息;
若为是,获取所述社交多媒体群组消息列表中更新的聊天消息的数量m,将所述动态消息序号加m,m为大于0的整数;
获取所述社交多媒体群组消息列表中更新的聊天消息生成第二更新消息列表,以及确定所述第一客户端的第二等待时长;
生成第二消息推送响应,以及向所述第一客户端返回所述第二消息推送响应;其中,所述第二消息推送响应携带加m后的动态消息序号、所述第二更新消息列表、第二等待时长和所述社交多媒体群组标识。
可选的,处理器701还用于执行:
若根据预设的时间间隔和预设的查询次数轮询所述社交多媒体群组消息列表中内仍然不存在更新的聊天消息,确定所述第一客户端的第三等待时长;
生成第三消息推送响应,以及向所述第一客户端返回所述第三消息推送响应;其中,所述第三消息推送响应携带空的更新消息列表、第三等待时长、所述社交多媒体群组标识和所述消息序号。
可选的,处理器701执行所述确定所述第一客户端的第一等待时长包括:
获取预设时长内所述社交多媒体群组消息列表接收到的聊天消息的数量,根据所述数量确定所述第一等待时长,其中,所述第一等待时长与所述数量负相关性。
可选的,处理器701还用于执行:
所述服务器接收第二客户端发送的携带所述社交多媒体群组标识的聊天消息;
所述服务器确定所述社交多媒体群组标识对应的社交多媒体群组消息列表,以及获取社交多媒体群组消息列表中聊天消息的最大消息序号;
所述服务器将所述最大消息序号加1后作为所述聊天消息的消息序号,以及将所述消息序号添加到所述聊天消息中;
所述服务器将所述聊天消息存储至所述社交多媒体群组消息列表中。
参见图8,为本发明实施例提供的一种客户端的结构示意图,本发明实施例的客户端8用于执行图4中的一种社交多媒体群组聊天消息的发送方法,所涉及的术语和过程可参照图4实施例的描述。客户端8包括检测模块801、发送模块802、接收模块803、判断模块804和第一更新模块805。
检测模块801,用于检测到达等待时长时,获取当前的动态消息序号和所在的社交多媒体群组对应的社交多媒体群组标识。
发送模块802,用于向服务器发送携带所述社交多媒体群组标识和所述动态消息序号的消息推送请求。
接收模块803,用于接收服务器根据所述消息推送请求返回的消息推送响应;其中,所述消息推送响应携带更新消息列表、新的等待时长、新的动态消息序号和所述社交多媒体群组标识。
判断模块804,用于判断所述更新消息列表是否为空。
第一更新模块805,用于若所述判断模块的判断结果为否,所述客户端在所述社交多媒体群组标识对应的社交多媒体群组显示所述更新消息列表中的聊天消息,以及根据所述新的等待时长更新本地存储的所述等待时长、根据所述新的动态消息序号更新本地存储的所述动态消息序号。
可选的,客户端8还包括:
第二更新模块,用于若所述判断模块的判断为是,将所述新的等待时长更新所述本地存储的等待时长。
本发明实施例和方法图4的实施例三基于同一构思,其带来的技术效果也相同,具体原理可参照方法实施例三的描述,此处不再赘述。
参见图9,为本发明实施例提供的一种客户端的又一结构示意图,在本发明实施例中,客户端9包括处理器901、存储器902和收发器903。收发器903用于与外部设备之间收发数据。客户端9中的处理器901的数量可以是一个或多个。本发明的一些实施例中,处理器901、存储器902和收发器903可通过总线系统或其他方式连接。客户端9可以用于执行图5所示的方法。关于本实施例涉及的术语的含义以及举例,可以参考图5对应的实施例。此处不再赘述。
其中,存储器902中存储程序代码。处理器901用于调用存储器902中存储的程序代码,用于执行以下操作:
检测到达等待时长时,获取当前的动态消息序号和所在的社交多媒体群组对应的社交多媒体群组标识;
向服务器发送携带所述社交多媒体群组标识和所述动态消息序号的消息推送请求;
接收服务器根据所述消息推送请求返回的消息推送响应;其中,所述消息推送响应携带更新消息列表、新的等待时长、新的动态消息序号和所述社交多媒体群组标识;
判断所述更新消息列表是否为空;
若为否,在所述社交多媒体群组标识对应的社交多媒体群组显示所述更新消息列表中的聊天消息,以及根据所述新的等待时长更新本地存储的所述等待时长、根据所述新的动态消息序号更新本地存储的所述动态消息序号。
可选的,处理器901还用于执行:
若所述更新消息列表为空,将所述新的等待时长更新所述本地存储的等待时长。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (19)
1.一种社交多媒体群组聊天消息的发送方法,其特征在于,包括:
服务器接收第一客户端发送的消息推送请求;其中,所述消息推送请求携带动态消息序号和社交多媒体群组标识,社交多媒体群组是指视频直播间,所述视频直播间中群组成员数量大于其他类型的社交多媒体群组,且所述视频直播间中群组成员是动态变换的,且在目标时间段内所述视频直播间中产生的消息的数量大于其他类型的社交多媒体群组在所述目标时间内产生的消息的数量,所述消息推送请求是客户端检测到达等待时长时发送的;
所述服务器根据确定所述社交多媒体群组标识对应的社交多媒体群组消息列表,以及根据所述动态消息序号判断所述社交多媒体群组内是否存在更新的聊天消息,所述动态消息序号为所述第一客户端待推送的下一个聊天消息的消息序号或所述第一客户端已推送的聊天消息的最大消息序号;
若为是,则所述服务器获取所述社交多媒体群组消息列表中更新的聊天消息的数量n,将所述动态消息序号加n,n为大于0的整数;当所述动态消息序号为所述第一客户端待推送的下一个聊天消息序号时,若所述服务器中存在大于或等于所述动态消息序号的聊天消息,则确定所述服务器中存在更新的聊天消息;当所述动态消息序号为所述第一客户端已推送的聊天消息的最大消息序号时,若所述服务器中存在大于所述动态消息序号的聊天消息,则确定所述服务器中存在更新的聊天消息;
所述服务器获取所述社交多媒体群组消息列表中更新的聊天消息生成第一更新消息列表,以及确定所述第一客户端的第一等待时长;
所述服务器生成消息推送响应,以及向所述第一客户端返回所述推送响应消息;其中,所述消息推送响应携带加n后的动态消息序号、所述第一更新消息列表、第一等待时长和所述社交多媒体群组标识,所述第一等待时长是根据所述社交多媒体群组中的聊天消息吞吐量设置的,所述第一等待时长与聊天消息吞吐量成负相关,所述第一等待时长用于表示所述第一客户端发送当前的所述消息推送请求与发送下一次的消息推送请求之间的时间间隔;所述加n后的动态消息序号用于指示所述第一客户端根据所述加n后的动态消息序号确定下一次发送消息推送请求中携带的动态消息序号。
2.如权利要求1所述的方法,其特征在于,还包括:
若根据所述消息序号判断所述社交多媒体群组消息列表内不存在更新的社交多媒体群组消息,根据预设的时间间隔和预设的查询次数轮询所述社交多媒体群组消息列表内是否存在更新的聊天消息;
若为是,服务器获取所述社交多媒体群组消息列表中更新的聊天消息的数量m,将所述动态消息序号加m,m为大于0的整数;
服务器获取所述社交多媒体群组消息列表中更新的聊天消息生成第二更新消息列表,以及确定所述第一客户端的第二等待时长;
服务器生成第二消息推送响应,以及向所述第一客户端返回所述第二消息推送响应;其中,所述第二消息推送响应携带加m后的动态消息序号、所述第二更新消息列表、第二等待时长和所述社交多媒体群组标识。
3.如权利要求2所述的方法,其特征在于,还包括:
若根据预设的时间间隔和预设的查询次数轮询所述社交多媒体群组消息列表中内仍然不存在更新的聊天消息,确定所述第一客户端的第三等待时长;
服务器生成第三消息推送响应,以及向所述第一客户端返回所述第三消息推送响应;其中,所述第三消息推送响应携带空的更新消息列表、第三等待时长、所述社交多媒体群组标识和所述消息序号。
4.如权利要求1所述的方法,其特征在于,所述确定所述第一客户端的第一等待时长包括:
服务器获取预设时长内所述社交多媒体群组消息列表接收到的聊天消息的数量,根据所述数量确定所述第一等待时长,其中,所述第一等待时长与所述数量负相关性。
5.如权利要求1所述的方法,其特征在于,还包括:
所述服务器接收第二客户端发送的携带所述社交多媒体群组标识的聊天消息;
所述服务器确定所述社交多媒体群组标识对应的社交多媒体群组消息列表,以及获取社交多媒体群组消息列表中聊天消息的最大消息序号;
所述服务器将所述最大消息序号加1后作为所述聊天消息的消息序号,以及将所述消息序号添加到所述聊天消息中;
所述服务器将所述聊天消息存储至所述社交多媒体群组消息列表中。
6.一种社交多媒体群组聊天消息的推送方法,其特征在于,包括:
客户端检测到达等待时长时,获取当前的动态消息序号和所在的社交多媒体群组对应的社交多媒体群组标识,所述社交多媒体群组是指视频直播间,所述视频直播间中群组成员数量大于其他类型的社交多媒体群组,且所述视频直播间中群组成员是动态变换的,且在目标时间段内所述视频直播间中产生的消息的数量大于其他类型的社交多媒体群组在所述目标时间内产生的消息的数量;
所述客户端向服务器发送携带所述社交多媒体群组标识和所述动态消息序号的消息推送请求;
所述客户端接收服务器根据所述消息推送请求返回的消息推送响应;其中,所述消息推送响应携带更新消息列表、新的等待时长、新的动态消息序号和所述社交多媒体群组标识,所述新的等待时长用于表示所述客户端发送当前的所述消息推送请求与发送下一次的消息推送请求之间的时间间隔;所述新的动态消息序号用于所述客户端根据所述新的动态消息序号确定下一次发送消息推送请求中携带的动态消息序号;
所述客户端判断所述更新消息列表是否为空;
若为否,所述客户端在所述社交多媒体群组标识对应的社交多媒体群组显示所述更新消息列表中的聊天消息,以及根据所述新的等待时长更新本地存储的所述等待时长、根据所述新的动态消息序号更新本地存储的所述动态消息序号。
7.如权利要求6所述的方法,其特征在于,还包括:
若所述更新消息列表为空,将所述新的等待时长更新所述本地存储的等待时长。
8.一种服务器,其特征在于,包括:
接收模块,用于接收第一客户端发送的消息推送请求;其中,所述消息推送请求携带动态消息序号和社交多媒体群组标识,社交多媒体群组是指视频直播间,所述视频直播间中群组成员数量大于其他类型的社交多媒体群组,且所述视频直播间中群组成员是动态变换的,且在目标时间段内所述视频直播间中产生的消息的数量大于其他类型的社交多媒体群组在所述目标时间内产生的消息的数量,所述消息推送请求是所述第一客户端检测到达等待时长时发送的;
判断模块,用于根据确定所述社交多媒体群组标识对应的社交多媒体群组消息列表,以及根据所述动态消息序号判断所述社交多媒体群组内是否存在更新的聊天消息,所述动态消息序号为所述第一客户端待推送的下一个聊天消息的消息序号或所述第一客户端已推送的聊天消息的最大消息序号;
第一更新模块,用于若所述判断模块的判断结果为是,获取所述社交多媒体群组消息列表中更新的聊天消息的数量n,将所述动态消息序号加n,n为大于0的整数;其中,当所述动态消息序号为所述第一客户端待推送的下一个聊天消息序号时,若所述服务器中存在大于或等于所述动态消息序号的聊天消息,则确定所述判断模块的判断结果为是;当所述动态消息序号为所述第一客户端已推送的聊天消息的最大消息序号时,若所述服务器中存在大于所述动态消息序号的聊天消息,则确定所述判断模块的判断结果为是;
第一确定模块,用于获取所述社交多媒体群组消息列表中更新的聊天消息生成第一更新消息列表,以及确定所述第一客户端的第一等待时长;
第一响应模块,用于生成消息推送响应,以及向所述第一客户端返回所述推送响应消息;其中,所述消息推送响应携带加n后的动态消息序号、所述第一更新消息列表、第一等待时长和所述社交多媒体群组标识,所述第一等待时长是根据所述社交多媒体群组中的聊天消息吞吐量设置的,所述第一等待时长与聊天消息吞吐量成负相关,所述第一等待时长用于表示所述第一客户端发送当前的所述消息推送请求与发送下一次的消息推送请求之间的时间间隔;所述加n后的动态消息序号用于指示所述第一客户端根据所述加n后的动态消息序号确定下一次发送消息推送请求中携带的动态消息序号。
9.如权利要求8所述的服务器,其特征在于,还包括:
轮询模块,用于若根据所述消息序号判断所述社交多媒体群组消息列表内不存在更新的社交多媒体群组消息,根据预设的时间间隔和预设的查询次数轮询所述社交多媒体群组消息列表内是否存在更新的聊天消息;
第二更新模块,用于若所述轮询模块的轮询结果为是,获取所述社交多媒体群组消息列表中更新的聊天消息的数量m,将所述动态消息序号加m,m为大于0的整数;
第二确定模块,用于获取所述社交多媒体群组消息列表中更新的聊天消息生成第二更新消息列表,以及确定所述第一客户端的第二等待时长;
第二响应模块,用于生成第二消息推送响应,以及向所述第一客户端返回所述第二消息推送响应;其中,所述第二消息推送响应携带加m后的动态消息序号、所述第二更新消息列表、第二等待时长和所述社交多媒体群组标识。
10.如权利要求8所述的服务器,其特征在于,还包括:
第三确定模块,用于若根据预设的时间间隔和预设的查询次数轮询所述社交多媒体群组消息列表中内仍然不存在更新的聊天消息,确定所述第一客户端的第三等待时长;
第三响应模块,用于生成第三消息推送响应,以及向所述第一客户端返回所述第三消息推送响应;其中,所述第三消息推送响应携带空的更新消息列表、第三等待时长、所述社交多媒体群组标识和所述消息序号。
11.如权利要求8所述的服务器,其特征在于,所述第一确定模块用于:
所述服务器获取预设时长内所述社交多媒体群组消息列表接收到的聊天消息的数量,根据所述数量确定所述第一等待时长,其中,所述第一等待时长与所述数量负相关性。
12.如权利要求8所述的服务器,其特征在于,还包括:
聊天消息接收模块,用于接收第二客户端发送的携带所述社交多媒体群组标识的聊天消息;
序号获取模块,用于确定所述社交多媒体群组标识对应的社交多媒体群组消息列表,以及获取社交多媒体群组消息列表中聊天消息的最大消息序号;
序号更新模块,用于将所述最大消息序号加1后作为所述聊天消息的消息序号,以及将所述消息序号添加到所述聊天消息中;
存储模块,用于向将所述聊天消息存储在社交多媒体群组消息列表中。
13.一种客户端,其特征在于,包括:
检测模块,用于检测到达等待时长时,获取当前的动态消息序号和所在的社交多媒体群组对应的社交多媒体群组标识,所述社交多媒体群组是指视频直播间,所述视频直播间中群组成员数量大于其他类型的社交多媒体群组,且所述视频直播间中群组成员是动态变换的,且在目标时间段内所述视频直播间中产生的消息的数量大于其他类型的社交多媒体群组在所述目标时间内产生的消息的数量;
发送模块,用于向服务器发送携带所述社交多媒体群组标识和所述动态消息序号的消息推送请求;
接收模块,用于接收服务器根据所述消息推送请求返回的消息推送响应;其中,所述消息推送响应携带更新消息列表、新的等待时长、新的动态消息序号和所述社交多媒体群组标识,所述新的等待时长用于表示所述客户端发送当前的所述消息推送请求与发送下一次的消息推送请求之间的时间间隔;所述新的动态消息序号用于所述客户端根据所述新的动态消息序号确定下一次发送消息推送请求中携带的动态消息序号;
判断模块,用于判断所述更新消息列表是否为空;
第一更新模块,用于若所述判断模块的判断结果为否,所述客户端在所述社交多媒体群组标识对应的社交多媒体群组显示所述更新消息列表中的聊天消息,以及根据所述新的等待时长更新本地存储的所述等待时长、根据所述新的动态消息序号更新本地存储的所述动态消息序号。
14.如权利要求13所述的客户端,其特征在于,还包括:
第二更新模块,用于若所述判断模块的判断为是,将所述新的等待时长更新所述本地存储的等待时长。
15.一种社交多媒体聊天系统,其特征在于,包括服务器和第一客户端,
所述第一客户端用于向所述服务器发送消息推送请求,接收所述服务器返回的消息推送响应,所述消息推送请求是所述第一客户端检测到达等待时长时发送的;
所述服务器用于接收所述第一客户端发送的所述消息推送请求;其中,所述消息推送请求携带动态消息序号和社交多媒体群组标识,社交多媒体群组是指视频直播间,所述视频直播间中群组成员数量大于其他类型的社交多媒体群组,且所述视频直播间中群组成员是动态变换的,且在目标时间段内所述视频直播间中产生的消息的数量大于其他类型的社交多媒体群组在所述目标时间内产生的消息的数量;
根据确定所述社交多媒体群组标识对应的社交多媒体群组消息列表,以及根据所述动态消息序号判断所述社交多媒体群组内是否存在更新的聊天消息,所述动态消息序号为所述第一客户端待推送的下一个聊天消息的消息序号或所述第一客户端已推送的聊天消息的最大消息序号;
若为是,获取所述社交多媒体群组消息列表中更新的聊天消息的数量n,将所述动态消息序号加n,n为大于0的整数,当所述动态消息序号为所述第一客户端待推送的下一个聊天消息序号时,若所述服务器中存在大于或等于所述动态消息序号的聊天消息,则确定所述服务器中存在更新的聊天消息;当所述动态消息序号为所述第一客户端已推送的聊天消息的最大消息序号时,若所述服务器中存在大于所述动态消息序号的聊天消息,则确定所述服务器中存在更新的聊天消息;
获取所述社交多媒体群组消息列表中更新的聊天消息生成第一更新消息列表,以及确定所述第一客户端的第一等待时长,所述第一等待时长是根据所述社交多媒体群组中的聊天消息吞吐量设置的,所述第一等待时长与聊天消息吞吐量成负相关;
生成所述消息推送响应,以及向所述第一客户端返回所述推送响应消息;其中,所述消息推送响应携带加n后的动态消息序号、所述第一更新消息列表、第一等待时长和所述社交多媒体群组标识,所述第一等待时长用于表示所述第一客户端发送当前的所述消息推送请求与发送下一次的消息推送请求之间的时间间隔;所述加n后的动态消息序号用于指示所述客户端根据所述加n后的动态消息序号确定下一次发送消息推送请求中携带的动态消息序号。
16.如权利要求15所述的系统,其特征在于,所述服务器包括一个接收服务器和多个发送服务器。
17.一种服务器,其特征在于,包括:
处理器适用于实现一条或多条指令;以及
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-5任一项所述的社交多媒体群组聊天消息的发送方法。
18.一种客户端,其特征在于,包括:
处理器适用于实现一条或多条指令;以及
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求6-7任一项所述的社交多媒体群组聊天消息的发送方法。
19.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行如权利要求1-5任一项所述的社交多媒体群组聊天消息的发送方法;或者,所述计算机程序指令被处理器执行,用于执行如权利要求6-7任一项所述的社交多媒体群组聊天消息的发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610471610.9A CN105933213B (zh) | 2016-06-24 | 2016-06-24 | 一种聊天消息的处理方法、相关设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610471610.9A CN105933213B (zh) | 2016-06-24 | 2016-06-24 | 一种聊天消息的处理方法、相关设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105933213A CN105933213A (zh) | 2016-09-07 |
CN105933213B true CN105933213B (zh) | 2021-01-15 |
Family
ID=56829181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610471610.9A Active CN105933213B (zh) | 2016-06-24 | 2016-06-24 | 一种聊天消息的处理方法、相关设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105933213B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656747B (zh) * | 2016-11-14 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 信息处理方法及信息处理装置 |
CN108123866B (zh) * | 2016-11-30 | 2019-01-25 | 北京云中融信网络科技有限公司 | 消息传输方法及装置 |
CN108173665B (zh) * | 2016-12-07 | 2021-02-23 | 北京云中融信网络科技有限公司 | 一种备份数据的方法及装置 |
CN108600088A (zh) * | 2018-04-16 | 2018-09-28 | 成都医云科技有限公司 | 数据处理方法及装置 |
CN109274510B (zh) * | 2018-09-06 | 2022-01-21 | 北京达佳互联信息技术有限公司 | 消息处理方法、装置、客户端、服务器及存储介质 |
CN111355986B (zh) * | 2018-12-21 | 2022-01-04 | 腾讯科技(深圳)有限公司 | 一种直播间中的消息处理方法、装置和存储介质 |
CN110708237A (zh) * | 2019-10-30 | 2020-01-17 | 北京字节跳动网络技术有限公司 | 消息交互方法、装置、可读介质及电子设备 |
CN111585774B (zh) * | 2020-03-24 | 2022-02-01 | 福建天泉教育科技有限公司 | 会话更新的方法、存储介质 |
CN111770350B (zh) * | 2020-06-23 | 2022-09-16 | 北京字节跳动网络技术有限公司 | 直播间消息拉取的方法、装置、计算机设备和存储介质 |
CN111787107B (zh) * | 2020-06-30 | 2023-03-24 | 北京字节跳动网络技术有限公司 | 消息处理方法、装置、可读介质和电子设备 |
CN111884843B (zh) * | 2020-07-20 | 2022-07-19 | 北京字节跳动网络技术有限公司 | 一种消息处理方法、装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123547A (zh) * | 2006-08-08 | 2008-02-13 | 阿里巴巴公司 | 一种信息投放方法及系统 |
CN101515279A (zh) * | 2009-01-12 | 2009-08-26 | 深圳市同洲电子股份有限公司 | 一种信息远程同步方法及系统 |
CN102448023A (zh) * | 2010-09-30 | 2012-05-09 | 中国移动通信集团公司 | 实现群组聊天的方法和装置 |
CN102469041A (zh) * | 2010-11-19 | 2012-05-23 | 中兴通讯股份有限公司 | 聊天会话启动和获取会话列表的方法及系统 |
CN102469042A (zh) * | 2010-11-19 | 2012-05-23 | 中兴通讯股份有限公司 | 聊天会话发送输出消息和获取输出消息的方法及系统 |
CN103326929A (zh) * | 2013-06-24 | 2013-09-25 | 北京小米科技有限责任公司 | 一种消息传输方法和装置 |
CN103547342A (zh) * | 2013-05-14 | 2014-01-29 | 华为技术有限公司 | 消息发送方法、消息阅读通知方法、消息接收方法及装置 |
CN105119816A (zh) * | 2015-09-16 | 2015-12-02 | 北京梅泰诺通信技术股份有限公司 | 消息发送状态的处理方法及装置 |
CN105430041A (zh) * | 2015-10-26 | 2016-03-23 | 深圳市乐唯科技开发有限公司 | 一种更新数据的方法及装置 |
CN105471964A (zh) * | 2015-11-16 | 2016-04-06 | 中国建设银行股份有限公司 | 用于数据推送的方法、服务器、客户端以及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8918085B2 (en) * | 2008-08-05 | 2014-12-23 | Mediafriends, Inc. | Social messaging hub |
-
2016
- 2016-06-24 CN CN201610471610.9A patent/CN105933213B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123547A (zh) * | 2006-08-08 | 2008-02-13 | 阿里巴巴公司 | 一种信息投放方法及系统 |
CN101515279A (zh) * | 2009-01-12 | 2009-08-26 | 深圳市同洲电子股份有限公司 | 一种信息远程同步方法及系统 |
CN102448023A (zh) * | 2010-09-30 | 2012-05-09 | 中国移动通信集团公司 | 实现群组聊天的方法和装置 |
CN102469041A (zh) * | 2010-11-19 | 2012-05-23 | 中兴通讯股份有限公司 | 聊天会话启动和获取会话列表的方法及系统 |
CN102469042A (zh) * | 2010-11-19 | 2012-05-23 | 中兴通讯股份有限公司 | 聊天会话发送输出消息和获取输出消息的方法及系统 |
CN103547342A (zh) * | 2013-05-14 | 2014-01-29 | 华为技术有限公司 | 消息发送方法、消息阅读通知方法、消息接收方法及装置 |
CN103326929A (zh) * | 2013-06-24 | 2013-09-25 | 北京小米科技有限责任公司 | 一种消息传输方法和装置 |
CN105119816A (zh) * | 2015-09-16 | 2015-12-02 | 北京梅泰诺通信技术股份有限公司 | 消息发送状态的处理方法及装置 |
CN105430041A (zh) * | 2015-10-26 | 2016-03-23 | 深圳市乐唯科技开发有限公司 | 一种更新数据的方法及装置 |
CN105471964A (zh) * | 2015-11-16 | 2016-04-06 | 中国建设银行股份有限公司 | 用于数据推送的方法、服务器、客户端以及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105933213A (zh) | 2016-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105933213B (zh) | 一种聊天消息的处理方法、相关设备和系统 | |
CN106487781B (zh) | 基于直播的资源数据处理方法、装置和系统 | |
JP6331053B2 (ja) | 目標の情報をプッシュするための方法および装置 | |
CN104144116B (zh) | 即时通讯方法及即时通讯系统 | |
KR101510977B1 (ko) | 다중-사용자 장치를 위한 메시지 푸시 통지 클라이언트 개량 | |
JP6518008B2 (ja) | 情報をプッシュする方法、装置、およびシステム | |
US20170192819A1 (en) | Method and electronic device for resource allocation | |
CN108432200B (zh) | 用于保护和控制对私密个人信息的访问的方法 | |
CN110288328B (zh) | 虚拟物品发送方法、接收方法、装置、设备及存储介质 | |
CN110753129A (zh) | 消息传输方法、系统、装置、设备及计算机可读存储介质 | |
CN106570097B (zh) | 序列生成方法及装置 | |
CN106911487B (zh) | 一种进行语音聊天的方法和装置 | |
CN108206742B (zh) | 一种消息发送方法、装置、服务器以及系统 | |
EP2782296A1 (en) | Anonymous communication system and transmission method of information transmission unit in anonymous communication system | |
CN110688215A (zh) | 虚拟资源的分配方法、服务器和计算机可读存储介质 | |
CN112839067B (zh) | 一种数据同步方法及装置 | |
CN107786559B (zh) | 终端注册方法及系统 | |
CN112311684A (zh) | 突发流量处理方法、计算机设备及可读存储介质 | |
WO2022100198A1 (zh) | 数据传输方法、装置、存储介质、终端及网络接入点设备 | |
WO2014194647A1 (en) | Data exchange method, device, and system for group communication | |
CN114064275A (zh) | 数据处理方法及装置 | |
CN108965359B (zh) | 通信方法、通信装置、可读介质和电子设备 | |
US20140122641A1 (en) | Methods And Systems For Delivering Content | |
CN108764866B (zh) | 用于分配资源、领取资源的方法和设备 | |
CN106657172A (zh) | 一种信息推送的实现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |