CN113259225B - 即时通信方法、服务器及即时通信系统 - Google Patents
即时通信方法、服务器及即时通信系统 Download PDFInfo
- Publication number
- CN113259225B CN113259225B CN202110521684.XA CN202110521684A CN113259225B CN 113259225 B CN113259225 B CN 113259225B CN 202110521684 A CN202110521684 A CN 202110521684A CN 113259225 B CN113259225 B CN 113259225B
- Authority
- CN
- China
- Prior art keywords
- instant messaging
- server
- identifier
- client
- message
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Abstract
本申请提供一种即时通信方法、服务器及即时通信系统,涉及即时通信技术领域。该方法应用于第一接入服务器,接收第一客户端发送的第一即时通信传输请求,从多个中转服务器中选择第一目标中转服务器发送第一即时通信传输请求,第一目标中转服务器根据虚拟聊天场景的标识,确定加入虚拟聊天场景的第二客户端的标识,并向聊天服务器发送第二即时通信传输请求,使聊天服务器从多个中转服务器中选择第二目标中转服务器发送第二即时通信传输请求,第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,将即时通信消息发送至第二客户端。通过本申请避免消息延迟,提高即时通信的通信效率。
Description
技术领域
本发明涉及即时通信技术领域,具体而言,涉及一种即时通信方法、服务器及即时通信系统。
背景技术
随着互联网技术的快速发展,在很多领域需要实现多用户在虚拟聊天室中的交流和沟通,如游戏在线互动、线上教学等即时通信场景。
虚拟聊天室为用户们提供了一个或多个公用频道,所有加入该虚拟聊天室的用户都能够自由发言,并能够查看其他用户的发言。现有的即时通信场景中,用户所在的客户端和虚拟聊天室所在的服务器之间会设置一个中转服务器,以将用户所发送的消息进行存储并转发给其他用户。
但当接入虚拟聊天室的用户数量较多,有多个用户同时发送消息时,中转服务器不能及时对多个用户发送的消息进行转发,导致其他用户收到的消息具有延迟,降低即时通信的效率。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种即时通信方法、服务器及即时通信系统,以便在用户较多的情况下,提高即时通信的通信效率,减少消息延迟。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种即时通信方法,应用于第一接入服务器,所述方法包括:
接收第一客户端发送的第一即时通信传输请求,所述第一即时通信传输请求包括:即时通信消息和虚拟聊天场景的标识;
从多个中转服务器中选择第一目标中转服务器;
向所述第一目标中转服务器发送所述第一即时通信传输请求,所述第一即时通信传输请求用于所述第一目标中转服务器根据虚拟聊天场景的标识,确定加入所述虚拟聊天场景的第二客户端的标识,并向聊天服务器发送第二即时通信传输请求,所述第二即时通信传输请求包括:所述即时通信消息和所述第二客户端的标识;所述第二即时通信传输请求用于使得所述聊天服务器从所述多个中转服务器中选择第二目标中转服务器,并向第二目标中转服务器发送所述第二即时通信传输请求,使得所述第二目标中转服务器根据所述第二客户端的标识,确定所述第二客户端连接的第二接入服务器,并通过所述第二接入服务器将所述即时通信消息发送至所述第二客户端。
可选的,所述从多个中转服务器中选择第一目标中转服务器,包括:
根据所述第一客户端的第一数量,确定所需的中转服务器的第二数量;所述第一数量和所述第二数量均为大于或等于1的整数;
从所述多个中转服务器中随机选择所述第二数量的所述第一目标中转服务器。
可选的,所述第一即时通信传输请求还包括:第一消息标识和所述第一客户端的标识,所述第一消息标识用于指示所述即时通信消息为连续即时通信消息,所述方法还包括:
根据所述第一消息标识和所述第一客户端的标识,计算中转标识;
存储所述中转标识和所述第一目标中转服务器的第一对应关系。
可选的,所述方法还包括:
接收所述第一客户端发送的第一即时通信传输请求,所述第一即时通信传输请求包括:所述即时通信消息、所述虚拟聊天场景的标识、所述第一消息标识和所述第一客户端的标识;
根据所述第一消息标识和所述第一客户端的标识,计算所述中转标识;
根据所述中转标识和所述第一对应关系,确定所述第一目标中转服务器;
向所述第一目标中转服务器发送所述第一即时通信传输请求,所述第一即时通信传输请求用于所述第一目标中转服务器根据虚拟聊天场景的标识,确定加入所述虚拟聊天场景的所述第二客户端的标识,并向所述聊天服务器发送第二即时通信传输请求,所述第二即时通信传输请求用于使得所述聊天服务器从所述多个中转服务器中选择第二目标中转服务器,并向所述第二目标中转服务器发送所述第二即时通信传输请求,使得所述第二目标中转服务器根据所述第二客户端的标识,确定所述第二客户端连接的第二接入服务器,并通过所述第二接入服务器将所述即时通信消息发送至所述第二客户端。
可选的,所述第一即时通信传输请求还包括:第二消息标识,所述第二消息标识用于指示所述即时通信消息为非连续即时通信消息。
第二方面,本申请实施例还提供一种即时通信方法,应用于聊天服务器,所述方法包括:
接收第一目标中转服务器发送的第二即时通信传输请求,所述第二即时通信传输请求包括:即时通信消息和第二客户端的标识,其中,所述第一目标中转服务器为第一接入服务器在接收到第一客户端发送的第一即时通信传输请求的情况下,从多个中转服务器中选择的中转服务器;所述第一即时通信传输请求包括:所述即时通信消息和虚拟聊天场景的标识,所述第二客户端的标识为所述第一目标中转服务器根据所述第一接入服务器转发的虚拟聊天场景的标识确定的加入所述虚拟聊天场景的客户端标识;
从所述多个中转服务器中选择第二目标中转服务器;
向所述第二目标中转服务器发送所述第二即时通信传输请求,使得所述第二目标中转服务器根据所述第二客户端的标识,确定所述第二客户端连接的第二接入服务器,并通过所述第二接入服务器将所述即时通信消息发送至所述第二客户端。
可选的,所述从所述多个中转服务器中选择第二目标中转服务器,包括:
根据所述即时通信消息的第三数量,确定所需的中转服务器的第四数量;所述第三数量和所述第四数量均为大于或等于1的整数;
从所述多个中转服务器中随机选择所述第四数量的第二目标中转服务器。
可选的,所述第二即时通信传输请求还包括:第一消息标识和所述第一客户端的标识,所述第一消息标识用于指示所述即时通信消息为连续即时通信消息,所述方法还包括:
根据所述第一消息标识和所述第一客户端的标识,计算中转标识;
存储所述中转标识和所述第二目标中转服务器的第二对应关系。
可选的,所述方法还包括:
接收所述第一目标中转服务器发送的第二即时通信传输请求,所述第二即时通信传输请求包括:所述即时通信消息、所述第二客户端的标识、所述第一消息标识和所述第一客户端的标识,其中,所述即时通信消息、所述第一消息标识和所述第一客户端的标识为所述第一客户端发送至所述第一接入服务器的信息,所述第一目标中转服务器为所述第一接入服务器根据所述第一消息标识选择的中转服务器;
根据所述第一消息标识和所述第一客户端的标识,计算所述中转标识;
根据所述中转标识和所述第二对应关系,确定所述第二目标中转服务器;
向所述第二目标中转服务器发送所述第二即时通信传输请求,使得所述第二目标中转服务器根据所述第二客户端的标识,确定所述第二客户端连接的所述第二接入服务器,并通过所述第二接入服务器将所述即时通信消息发送至所述第二客户端。
可选的,所述第二即时通信传输请求还包括:第二消息标识,所述第二消息标识用于指示所述即时通信消息为非连续即时通信消息。
第三方面,本申请实施例还提供一种即时通信装置,应用于第一接入服务器,所述装置包括:
第一请求接收模块,用于接收第一客户端发送的第一即时通信传输请求,所述第一即时通信传输请求包括:即时通信消息和虚拟聊天场景的标识;
第一中转服务器选择模块,用于从多个中转服务器中选择第一目标中转服务器;
第一请求发送模块,用于向所述第一目标中转服务器发送所述第一即时通信传输请求,所述第一即时通信传输请求用于所述第一目标中转服务器根据虚拟聊天场景的标识,确定加入所述虚拟聊天场景的第二客户端的标识,并向聊天服务器发送第二即时通信传输请求,所述第二即时通信传输请求包括:所述即时通信消息和所述第二客户端的标识;所述第二即时通信传输请求用于使得所述聊天服务器从所述多个中转服务器中选择第二目标中转服务器,并向第二目标中转服务器发送所述第二即时通信传输请求,使得所述第二目标中转服务器根据所述第二客户端的标识,确定所述第二客户端连接的第二接入服务器,并通过所述第二接入服务器将所述即时通信消息发送至所述第二客户端。
可选的,所述第一中转服务器选择模块包括:
第一数量确定单元,用于根据所述第一客户端的第一数量,确定所需的中转服务器的第二数量;所述第一数量和所述第二数量均为大于或等于1的整数;
第一中转服务器选择单元,用于第一从所述多个中转服务器中随机选择所述第二数量的所述第一目标中转服务器。
可选的,所述第一即时通信传输请求还包括:第一消息标识和所述第一客户端的标识,所述第一消息标识用于指示所述即时通信消息为连续即时通信消息,所述方法还包括:
第一中转标识计算模块,用于根据所述第一消息标识和所述第一客户端的标识,计算中转标识;
第一存储模块,用于存储所述中转标识和所述第一目标中转服务器的第一对应关系。
可选的,所述装置还包括:
第二请求接收模块,用于接收所述第一客户端发送的第一即时通信传输请求,所述第一即时通信传输请求包括:所述即时通信消息、所述虚拟聊天场景的标识、所述第一消息标识和所述第一客户端的标识;
第二中转标识计算模块,用于根据所述第一消息标识和所述第一客户端的标识,计算所述中转标识;
第一目标中转服务器确定模块,用于根据所述中转标识和所述第一对应关系,确定所述第一目标中转服务器;
第二请求发送模块,用于向所述第一目标中转服务器发送所述第一即时通信传输请求,所述第一即时通信传输请求用于所述第一目标中转服务器根据虚拟聊天场景的标识,确定加入所述虚拟聊天场景的所述第二客户端的标识,并向所述聊天服务器发送第二即时通信传输请求,所述第二即时通信传输请求用于使得所述聊天服务器从所述多个中转服务器中选择第二目标中转服务器,并向所述第二目标中转服务器发送所述第二即时通信传输请求,使得所述第二目标中转服务器根据所述第二客户端的标识,确定所述第二客户端连接的第二接入服务器,并通过所述第二接入服务器将所述即时通信消息发送至所述第二客户端。
可选的,所述第一即时通信传输请求还包括:第二消息标识,所述第二消息标识用于指示所述即时通信消息为非连续即时通信消息。
第四方面,本申请实施例还提供一种即时通信装置,应用于聊天服务器,所述装置包括:
第三请求接收模块,用于接收第一目标中转服务器发送的第二即时通信传输请求,所述第二即时通信传输请求包括:即时通信消息和第二客户端的标识,其中,所述第一目标中转服务器为第一接入服务器在接收到第一客户端发送的第一即时通信传输请求的情况下,从多个中转服务器中选择的中转服务器;所述第一即时通信传输请求包括:所述即时通信消息和虚拟聊天场景的标识,所述第二客户端的标识为所述第一目标中转服务器根据所述第一接入服务器转发的虚拟聊天场景的标识确定的加入所述虚拟聊天场景的客户端标识;
第三中转服务器选择模块,用于从所述多个中转服务器中选择第二目标中转服务器;
第三请求发送模块,用于向所述第二目标中转服务器发送所述第二即时通信传输请求,使得所述第二目标中转服务器根据所述第二客户端的标识,确定所述第二客户端连接的第二接入服务器,并通过所述第二接入服务器将所述即时通信消息发送至所述第二客户端。
可选的,所述第三中转服务器选择模块包括:
第二数量确定单元,用于根据所述即时通信消息的第三数量,确定所需的中转服务器的第四数量;所述第三数量和所述第四数量均为大于或等于1的整数;
第三中转服务器选择单元,用于从所述多个中转服务器中随机选择所述第四数量的第二目标中转服务器。
可选的,所述第二即时通信传输请求还包括:第一消息标识和所述第一客户端的标识,所述第一消息标识用于指示所述即时通信消息为连续即时通信消息,所述装置还包括:
第三中转标识计算模块,用于根据所述第一消息标识和所述第一客户端的标识,计算中转标识;
第二存储模块,用于存储所述中转标识和所述第二目标中转服务器的第二对应关系。
可选的,所述装置还包括:
第四请求接收模块,用于接收所述第一目标中转服务器发送的第二即时通信传输请求,所述第二即时通信传输请求包括:所述即时通信消息、所述第二客户端的标识、所述第一消息标识和所述第一客户端的标识,其中,所述即时通信消息、所述第一消息标识和所述第一客户端的标识为所述第一客户端发送至所述第一接入服务器的信息,所述第一目标中转服务器为所述第一接入服务器根据所述第一消息标识选择的中转服务器;
第四中转标识计算模块,用于根据所述第一消息标识和所述第一客户端的标识,计算所述中转标识;
第二目标中转服务器确定模块,用于根据所述中转标识和所述第二对应关系,确定所述第二目标中转服务器;
第四请求发送模块,用于向所述第二目标中转服务器发送所述第二即时通信传输请求,使得所述第二目标中转服务器根据所述第二客户端的标识,确定所述第二客户端连接的所述第二接入服务器,并通过所述第二接入服务器将所述即时通信消息发送至所述第二客户端。
可选的,所述第二即时通信传输请求还包括:第二消息标识,所述第二消息标识用于指示所述即时通信消息为非连续即时通信消息。
第五方面,本申请实施例还提供一种接入服务器,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当所述接入服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如第一方面任一所述的即时通信方法的步骤。
第六方面,本申请实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一所述的即时通信方法的步骤。
第七方面,本申请实施例还提供一种聊天服务器,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当所述聊天服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如第二方面任一所述的即时通信方法的步骤。
第八方面,本申请实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第二方面任一所述的即时通信方法的步骤。
第九方面,本申请实施例还提供一种即时通信系统,包括多个客户端、至少一个接入服务器、多个中转服务器和聊天服务器;
每个接入服务器连接至少一个客户端,所述每个接入服务器与每个中转服务器连接,所述每个中转服务器和所述聊天服务器连接;所述每个接入服务器用于执行上述第一方面任一所述的即时通信方法的步骤,所述聊天服务器用于执行上述第二方面任一所述的即时通信方法的步骤。
本申请的有益效果是:
本申请提供了一种即时通信方法、服务器及即时通信系统,其中,一种即时通信方法应用于第一接入服务器,接收第一客户端发送的第一即时通信传输请求,从多个中转服务器中选择第一目标中转服务器,向第一目标中转服务器发送第一即时通信传输请求,第一即时通信传输请求用于第一目标中转服务器根据虚拟聊天场景的标识,确定加入虚拟聊天场景的第二客户端的标识,并向聊天服务器发送第二即时通信传输请求,第二即时通信传输请求用于使得聊天服务器从多个中转服务器中选择第二目标中转服务器,并向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。通过本申请提供的方案,提供多个中转服务器用于为第一客户端转发第一即时通信传输请求,将即时通信消息转发给第二客户端,使得当有多个第一客户端同时发送即时通信消息时,多个中转服务器可即时将多条即时通信消息转发给第二客户端,避免只有一个中转服务器导致多条消息需要进行等待造成的消息延迟,提高即时通信的通信效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种即时通信系统的结构示意图;
图2为本申请实施例提供的第一种即时通信方法的流程示意图;
图3为本申请实施例提供的第二种即时通信方法的流程示意图;
图4为本申请实施例提供的第三种即时通信方法的流程示意图;
图5为本申请实施例提供的第四种即时通信方法的流程示意图;
图6为本申请实施例提供的第五种即时通信方法的流程示意图;
图7为本申请实施例提供的第六种即时通信方法的流程示意图;
图8为本申请实施例提供的第七种即时通信方法的流程示意图;
图9为本申请实施例提供的第八种即时通信方法的流程示意图;
图10为本申请实施例提供的第一种即时通信装置的结构示意图;
图11为本申请实施例提供的第二种即时通信装置的结构示意图;
图12为本申请实施例提供的接入服务器的示意图;
图13为本申请实施例提供的聊天服务器的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要说明的是,若出现术语“上”、“下”、等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
图1为本申请实施例提供的一种即时通信系统的结构示意图,如图1所示,该即时通信系统包括:多个客户端100、至少一个接入服务器200、多个中转服务器300和聊天服务器400。
每个接入服务器200连接至少一个客户端100,每个接入服务器200与每个中转服务器300连接,每个中转服务器300和聊天服务器400连接。
每个接入服务器200用于接收所连接的客户端100发送的第一即时通信传输请求,并将该第一即时通信传输请求转发给一个中转服务器300;每个接入服务器还用于接收中转服务器300转发的其他客户端100发送的即时通信消息,并将即时通信消息发送给对应的客户端100,以完成多个客户端100之间的即时通信。
聊天服务器400用于接收中转服务器300转发的一个客户端100发送的第一即时通信传输请求,并将即时通信消息通过中转服务器300转发给其他客户端100对应的接入服务器200,由接入服务器200将即时通信消息发送给对应的客户端100,以完成多个客户端100之间的即时通信。
具体的,客户端100为用户持有的终端设备,例如可以为智能手机、个人计算机、平板笔记本电脑等,接入服务器200为客户端100所归属的网络服务器,通过接入服务器200与聊天服务器400之间通过中转服务器300建立的通信连接,使得客户端加入虚拟聊天场景。
中转服务器300用于将客户端100通过接入服务器200转发的即时通信传输请求发送至聊天服务器400上运行的虚拟聊天场景,并通过接入服务器200将即时通信通信消息转发给其他客户端100。
聊天服务器400用于管理该聊天服务器400上运行的虚拟聊天场景,所有的聊天逻辑都在聊天服务器400上进行。虚拟聊天场景为在聊天服务器400上临时创建或永久创建的聊天室,用于多个需要进行即时通信的客户端加入该虚拟聊天场景进行通信。
示例的,虚拟聊天场景可以为网络游戏中的聊天室,也可以为在线教学中的直播间,或者线上会议中的聊天群,本申请对此不做限定。
在进行即时通信之前,所有需要进行即时通信的客户端100需要进入聊天服务器400上运行的虚拟聊天场景中。客户端100向对应的接入服务器200发送加入虚拟聊天场景的请求消息,请求消息包括:客户端100的注册信息、请求加入的虚拟聊天场景的标识,接入服务器200从多个中转服务器300中选择一个目标中转服务器300,将请求消息转发给目标中转服务器300,目标中转服务器300对请求消息进行验证,判断客户端100是否已经在虚拟聊天场景所在的聊天平台中进行身份注册,若判断客户端100已经完成注册,则验证通过,使客户端100加入请求的虚拟聊天场景中。
若客户端100未在虚拟聊天场景所在的聊天平台中进行身份注册,则提醒客户端100先进行身份注册。
在上述提供的即时通信系统的实施例的基础上,本申请实施例还提供一种即时通信方法,应用于第一接入服务器,图2为本申请实施例提供的第一种即时通信方法的流程示意图,如图2所示,该方法包括:
S101:接收第一客户端发送的第一即时通信传输请求。
具体的,第一接入服务器为至少一个接入服务器中与第一客户端连接的接入服务器,第一客户端为多个客户端中任意一个发送第一即时通信传输请求的客户端,第一即时通信传输请求包括:即时通信消息和虚拟聊天场景的标识。即时通信消息为用户通过第一客户端发送的消息,该消息可以为文字消息、语音消息或视频消息,虚拟聊天场景的标识为第一客户端所加入的虚拟聊天场景的唯一标识。
S102:从多个中转服务器中选择第一目标中转服务器。
具体的,至少一个接入服务器与多个中转服务器连接,当第一接入服务器接收到第一客户端发送的第一即时通信传输请求时,第一接入服务器从多个中转服务器中随机选择一个中转服务器作为第一目标中转服务器。
在一种可选实施方式中,第一接入服务器基于均衡策略,从多个中转服务器中选择第一目标中转服务器。
S103:向第一目标中转服务器发送第一即时通信传输请求。
具体的,第一接入服务器根据S102从多个中转服务器中选择第一目标中转服务器后,将第一即时通信传输请求发送给第一目标中转服务器,第一即时通信传输请求用于第一目标中转服务器根据虚拟聊天场景的标识,确定加入虚拟聊天场景的第二客户端的标识,并向聊天服务器发送第二即时通信传输请求,第二即时通信传输请求包括:即时通信消息和第二客户端的标识;第二即时通信传输请求用于使得聊天服务器从多个中转服务器中选择第二目标中转服务器,并向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。
在一种可选实施方式中,即时通信系统还包括缓存数据库服务器,当多个客户端根据虚拟聊天场景的标识发送加入虚拟聊天场景的请求,并通过验证成功加入之后,接入服务器将加入虚拟聊天场景的客户端的标识和对应的虚拟聊天场景的标识存储在缓存数据库服务器中。
第一目标中转服务器接收到第一接入服务器发送的第一即时通信传输请求后,访问缓存数据库服务器,根据第一即时通信传输请求中的虚拟聊天场景的标识,从缓存数据库服务器中查找该虚拟聊天场景的标识对应的所有的第二客户端的标识,第二客户端为该虚拟聊天场景中除了第一客户端之外的其他客户端,第一目标中转服务器从缓存数据库服务器中查找到第二客户端的标识后,将即时通信消息和第二客户端的标识作为第二即时通信传输请求发送给聊天服务器。
聊天服务器从多个中转服务器中随机选择一个中转服务器作为第二目标中转服务器,将第二即时通信传输请求转发给第二目标中转服务器,第二目标中转服务器根据第二即时通信传输请求中的第二客户端的标识,将第二即时通信传输请求中的即时通信消息发给第二客户端对应的第二接入服务器,第二接入服务器将即时通信消息转发给第二客户端。第二客户端为虚拟聊天场景中发送第一即时通信传输请求的第一客户端之外的其他客户端,第二接入服务器为第二客户端所属的网络服务器。
本申请实施例提供了一种即时通信方法,应用于第一接入服务器,接收第一客户端发送的第一即时通信传输请求,从多个中转服务器中选择第一目标中转服务器,向第一目标中转服务器发送第一即时通信传输请求,第一即时通信传输请求用于第一目标中转服务器根据虚拟聊天场景的标识,确定加入虚拟聊天场景的第二客户端的标识,并向聊天服务器发送第二即时通信传输请求,第二即时通信传输请求用于使得聊天服务器从多个中转服务器中选择第二目标中转服务器,并向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。通过本申请实施例提供的方法,提供多个中转服务器用于为第一客户端转发第一即时通信传输请求,将即时通信消息转发给第二客户端,使得当有多个第一客户端同时发送即时通信消息时,多个中转服务器可即时将多条即时通信消息转发给第二客户端,避免只有一个中转服务器导致多条消息需要进行等待造成的消息延迟,提高即时通信的通信效率。
在上述实施例的基础上,本申请实施例还提供一种即时通信方法,图3为本申请实施例提供的第二种即时通信方法的流程示意图,如图3所示,上述S102包括:
S1021:根据第一客户端的第一数量,确定所需的中转服务器的第二数量。
具体的,为保证第一目标中转服务器可以及时将通信消息转发至聊天服务器中的虚拟聊天场景,避免消息的延迟,需要保证多个第一目标中转服务器转发的第一即时通信传输请求的均衡。第一接入服务器根据接收到的第一即时通信传输请求的数量确定第一客户端的第一数量,并根据第一客户端的第一数量确定所需的中转服务器的第二数量,第一数量和第二数量均为大于或等于1的整数。
S1022:从多个中转服务器中随机选择第二数量的第一目标中转服务器。
具体的,根据上述S1021确定的所需的中转服务器的第二数量,第一接入服务器从多个中转服务器中随机选择第二数量的第一目标中转服务器,并将第一数量的第一客户端发送的第一即时通信传输请求均衡的发送给第二数量的第一目标中转服务器,以使得第二数量的第一目标中转服务器将第一即时通信传输请求及时转发至聊天服务器,避免消息延迟。
本申请实施例提供的即时通信方法,根据第一客户端的第一数量,确定所需的中转服务器的第二数量,从多个中转服务器中随机选择第二数量的第一目标中转服务器。通过本申请实施例提供的方法,可以保证多个第一目标中转服务器转发的第一即时通信传输请求的均衡,使第一目标中转服务器可以及时将通信消息转发至聊天服务器中的虚拟聊天场景,避免消息的延迟。
在一种可选实施方式中,本申请实施例还提供一种即时通信方法,其中,第一即时通信传输请求还包括:第一消息标识和第一客户端的标识,第一消息标识用于指示即时通信消息为连续即时通信消息,图4为本申请实施例提供的第三种即时通信方法的流程示意图,如图4所示,该方法还包括:
S104:根据第一消息标识和第一客户端的标识,计算中转标识。
具体的,即时通信消息是用户通过第一客户端产生的,第一客户端根据用户在第一客户端上编辑即时通信消息的编辑方式,为即时通信消息标注消息标识。若第一客户端根据即时通信消息的编辑方式,判断用户生成的即时通信消息为连续即时通信消息,则为该即时通信消息标注第一消息标识。连续即时通信消息表示至少两条即时通信消息之间存在连续性,必须通过同一个第一目标中转服务器转发至聊天服务器,以在聊天服务器中形成至少两条即时通信消息的消息队列。
第一客户端对预设时间内产生的至少两条连续即时通信消息均标注第一消息标识,第一接入服务器根据第一消息标识和第一客户端的标识,采用预设标识计算方法计算中转标识,该中转标识用于指示多个中转服务器中的一个,作为第一目标中转服务器。
示例的,连续即时通信消息对应的编辑方式为画笔,编辑方式为画笔所编辑的连续即时通信消息为图形消息。
示例的,预设标识计算方法为哈希算法,根据哈希算法对第一消息标识和第一客户端的标识,可得到一个唯一的值作为中转标识。
在另一种可选实施方式中,本申请实施例还提供一种即时通信方法,其中,第一即时通信传输请求还包括:第二消息标识,第二消息标识用于指示即时通信消息为非连续即时通信消息。
具体的,若第一客户端根据即时通信消息的编辑方式,判断用户生成的即时通信消息为非连续即时通信消息,则为该即时通信消息标注第二消息标识。非连续即时通信消息表示至少两条即时通信消息之间不存在连续性,可以通过不同的第一目标中转服务器转发至聊天服务器。
示例的,非连续即时通信消息对应的编辑方式为键盘或话筒,编辑方式为键盘所编辑的非连续即时通信消息为文字消息,编辑方式为话筒所编辑的非连续即时通信消息为语音消息。
S105:存储中转标识和第一目标中转服务器的第一对应关系。
具体的,第一接入服务器将计算得到的中转标识和第一目标中转服务器的第一对应关系存储在缓存数据库服务器中,当再次接收到第一即时通信传输请求,并根据第一消息标识和第一客户端的标识计算得到中转标识后,可根据缓存数据库服务器存储的第一对应关系,确定第一目标中转服务器。
本申请实施例提供的即时通信方法,根据第一消息标识和第一客户端的标识,计算中转标识,并存储中转标识和第一目标中转服务器的第一对应关系。通过本申请实施例提供的方法,可将第一客户端发送的第一消息标识对应的即时通信消息与第一目标中转服务器关联,使得第一客户端发送的第一消息标识对应的即时通信消息可通过唯一一个第一目标中转服务器转发至聊天服务器,确保即时通信消息的连续性,保证消息严格有序。
在上述实施例的基础上,本申请实施例还提供一种即时通信方法,图5为本申请实施例提供的第四种即时通信方法的流程示意图,如图5所示,该方法还包括:
S201:接收第一客户端发送的第一即时通信传输请求。
具体的,本实施例接收第一客户端发送的第一即时通信传输请求的实现方式与上述S101的实现方式相同,不同之处在于第一即时通信传输请求包括:即时通信消息、虚拟聊天场景的标识、第一消息标识和第一客户端的标识。具体的接收步骤在此不做赘述。
S202:根据第一消息标识和第一客户端的标识,计算中转标识。
具体的,本实施例根据第一消息标识和第一客户端的标识计算中转标识的计算方式与上述S104的计算方式相同,具体的计算方式在此不做赘述。
S203:根据中转标识和第一对应关系,确定第一目标中转服务器。
具体的,在上述S105中,将中转标识和第一目标中转服务器的第一对应关系存储在缓存数据库服务器中,因此,在接收到具有第一消息标识和第一客户端的标识的第一即时通信传输请求后,第一接入服务器根据上述S202计算得到的中转标识,从缓存数据库服务器中查找该中转标识的第一对应关系,确定第一目标中转服务器。
S204:向第一目标中转服务器发送第一即时通信传输请求。
具体的,第一即时通信传输请求用于第一目标中转服务器根据虚拟聊天场景的标识,确定加入虚拟聊天场景的第二客户端的标识,并向聊天服务器发送第二即时通信传输请求,第二即时通信传输请求用于使得聊天服务器从多个中转服务器中选择第二目标中转服务器,并向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。
具体的,本实施例向第一目标中转服务器发送第一即时通信传输请求的发送方式与上述S103的方式相同,需要说明的是,由于第一即时通信传输请求中的即时通信消息的消息标识为第一消息标识,则第一客户端发送的具有相同第一消息标识的第一即时通信传输请求通过同一个第一目标中转服务器发送至聊天服务器。
本申请实施例提供的即时通信方法,接收第一客户端发送的第一即时通信传输请求,第一即时通信传输请求包括:即时通信消息、虚拟聊天场景的标识、第一消息标识和第一客户端的标识,根据第一消息标识和第一客户端的标识,计算中转标识;根据中转标识和第一对应关系,确定第一目标中转服务器;向第一目标中转服务器发送第一即时通信传输请求,第一即时通信传输请求用于第一目标中转服务器根据虚拟聊天场景的标识,确定加入虚拟聊天场景的第二客户端的标识,并向聊天服务器发送第二即时通信传输请求,第二即时通信传输请求用于使得聊天服务器从多个中转服务器中选择第二目标中转服务器,并向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。通过本申请实施例提供的方法,在保证即时通信的通信效率的同时,将第一消息标识的多条第一即时通信传输请求通过同一个第一目标中转服务器发送给聊天服务器,确保即时通信消息的连续性,保证消息严格有序。
在上述任一实施例的基础上,本申请实施例还提供一种即时通信方法,应用于聊天服务器,图6为本申请实施例提供的第五种即时通信方法的流程示意图,如图6所示,该方法包括:
S301:接收第一目标中转服务器发送的第二即时通信传输请求。
具体的,第二即时通信传输请求包括:即时通信消息和第二客户端的标识,其中,第一目标中转服务器为第一接入服务器在接收到第一客户端发送的第一即时通信传输请求的情况下,从多个中转服务器中选择的中转服务器;第一即时通信传输请求包括:即时通信消息和虚拟聊天场景的标识,第二客户端的标识为第一目标中转服务器根据第一接入服务器转发的虚拟聊天场景的标识确定的加入虚拟聊天场景的客户端标识。
多个中转服务器与聊天服务器连接,根据上述S102的方式从多个中转服务器中选择第一目标中转服务器,第一目标中转服务器根据接收到的第一接入服务器发送的第一即时通信传输请求中的虚拟聊天场景的标识,识别加入虚拟聊天场景中的第一客户端之外的第二客户端,并将第二客户端的标识和即时通信消息作为第二即时通信传输请求发送给聊天服务器。
S302:从多个中转服务器中选择第二目标中转服务器。
具体的,本实施例中聊天服务器从多个中转服务器中选择第二目标中转服务器的选择方式与上述S102中第一接入服务器从多个中转服务器中选择第一目标中转服务器的选择方式相同,在此不做赘述,保证服务器的工作均衡即可。
S303:向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。
具体的,聊天服务器将第二即时通信传输请求以队列的形式排列,按照先进先出的原则,依次将接收到的第二即时通信传输请求转发给第二目标中转服务器,第二目标中转服务器根据第二即时通信传输请求中加入虚拟聊天场景的第二客户端的标识,将即时通信消息并行发送给至少一个第二客户端连接的第二接入服务器,第二接入服务器将接收到的即时通信消息发送至第二客户端,以实现虚拟聊天场景中第一客户端和第二客户端之间的即时通信。
本申请实施例提供的即时通信方法,应用于聊天服务器,接收第一目标中转服务器发送的第二即时通信传输请求,第二即时通信传输请求包括:即时通信消息和第二客户端的标识,从多个中转服务器中选择第二目标中转服务器,向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。通过本申请实施例提供的即时通信方法,在聊天服务器接收到多条即时通信消息时,可提供多个第二目标中转服务器将即时通信消息转发至第二客户端的第二接入服务器,以便第二客户端可以即时收到即时通信消息,避免只有一个中转服务器导致多条消息需要进行等待造成的消息延迟,提高即时通信的通信效率。
在上述实施例的基础上,本申请实施例还提供一种即时通信方法,图7为本申请实施例提供的第六种即时通信方法的流程示意图,如图7所示,上述S302包括:
S3021:根据即时通信消息的第三数量,确定所需的中转服务器的第四数量。
具体的,为保证即时通信消息发送至第二客户端的及时性,避免消息延迟,需要保证多个第二目标中转服务器转发的即时通信消息的均衡。聊天服务器根据接收到的即时通信消息的第三数量,计算所需要的中转服务器的第四数量,第一数量和第二数量均为大于或等于1的整数。
S3022:从多个中转服务器中随机选择第四数量的第二目标中转服务器。
具体的,根据上述S3021确定的所需的中转服务器的第四数量,聊天服务器从多个中转服务器中随机选择第四数量的第二目标中转服务器,并将第三数量的即时通信消息均衡的发送给第四数量的第二目标中转服务器,以使得第四数量的第二目标中转服务器将即时通信消息及时的通过第二接入服务器发送给第二客户端,避免消息延迟。
本申请实施例提供的即时通信方法,根据即时通信消息的第三数量,确定所需的中转服务器的第四数量,从多个中转服务器中随机选择第四数量的第二目标中转服务器。通过本申请实施例提供的方法,可以保证多个第二目标中转服务器转发的即时通信消息的均衡,使第二目标中转服务器可以及时将即时通信消息通过第二接入服务器发送给第二客户端,避免消息延迟。
在一种可选实施方式中,本申请实施例还提供一种即时通信方法,其中,第二即时通信传输请求还包括:第一消息标识和第一客户端的标识,第一消息标识用于指示即时通信消息为连续即时通信消息;图8为本申请实施例提供的第七种即时通信方法的流程示意图,如图8所示,该方法还包括:
S304:根据第一消息标识和第一客户端的标识,计算中转标识。
具体的,聊天服务器计算中转标识的方式与上述S104中第一接入服务器计算中转标识的方式相同,在此不做赘述。
S305:存储中转标识和第二目标中转服务器的第二对应关系。
具体的,聊天服务器将计算得到的中转标识和第二目标中转服务器的第二对应关系存储在缓存数据库服务器中,当再次接收到第二即时通信传输请求,并根据第一消息标识和第一客户端的标识计算得到中转标识后,可根据缓存数据库服务器存储的第二对应关系,确定第二目标中转服务器。
在一种可选实施方式中,本申请实施例还提供一种即时通信方法,其中,第二即时通信传输请求还包括:第二消息标识,第二消息标识用于指示即时通信消息为非连续即时通信消息。
具体的,第二即时通信传输请求中包括的第二消息标识是第一即时通信传输请求中所包括的,在此不做赘述。
本申请实施例提供的即时通信方法,根据第一消息标识和第一客户端的标识,计算中转标识,并存储中转标识和第二目标中转服务器的第二对应关系。通过本申请实施例提供的方法,可将第一客户端发送的第一消息标识对应的即时通信消息与第二目标中转服务器关联,使得聊天服务器可以将第一客户端发送的第一消息标识对应的即时通信消息可通过唯一一个第二目标中转服务器转发至第二接入服务器,确保即时通信消息的连续性,保证消息严格有序。
在上述实施例的基础上,本申请实施例还提供一种即时通信方法,图9为本申请实施例提供的第八种即时通信方法的流程示意图,如图9所示,该方法还包括:
S401:接收第一目标中转服务器发送的第二即时通信传输请求。
具体的,本实施例提供的接收第一目标中转服务器发送的第二即时通信传输请求的实现方式与上述S301的实现方式相同,不同之处在于第二即时通信传输请求包括:即时通信消息、第二客户端的标识、第一消息标识和第一客户端的标识,其中,即时通信消息、第一消息标识和第一客户端的标识为第一客户端发送至第一接入服务器的信息,第一目标中转服务器为第一接入服务器根据第一消息标识选择的中转服务器。
S402:根据第一消息标识和第一客户端的标识,计算中转标识。
具体的,本实施例根据第一消息标识和第一客户端的标识计算中转标识的计算方式与上述S304的计算方式相同,具体的计算方式在此不做赘述。
S403:根据中转标识和第二对应关系,确定第二目标中转服务器。
具体的,在上述S305中,将中转标识和第二目标中转服务器的第二对应关系存储在缓存数据库服务器中,因此,在接收到具有第一消息标识和第一客户端的标识的第二即时通信传输请求后,聊天服务器根据上述S402计算得到的中转标识,从缓存数据库服务器中查找该中转标识的第二对应关系,确定第二目标中转服务器。
S404:向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据虚拟聊天场景的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。
具体的,本实施例向第二目标中转服务器发送第二即时通信传输请求的发送方式与上述S303的方式相同,需要说明的是,由于第二即时通信传输请求中的即时通信消息的消息标识为第一消息标识,则聊天服务器必须将具有相同第一消息标识的第二即时通信传输请求发送给同一个第二目标中转服务器,第二目标中转服务器根据接收到的即时通信消息的消息队列,依次将即时通信消息转发给第二客户端连接的第二接入服务器。
本申请实施例提供的即时通信方法,接收第一目标中转服务器发送的第二即时通信传输请求,第二即时通信传输请求包括:即时通信消息、第二客户端的标识、第一消息标识和第一客户端的标识,其中,即时通信消息、第一消息标识和第一客户端的标识为第一客户端发送至第一接入服务器的信息,第一目标中转服务器为第一接入服务器根据第一消息标识选择的中转服务器;根据第一消息标识和第一客户端的标识,计算中转标识;根据中转标识和第二对应关系,确定第二目标中转服务器;向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。在保证即时通信的通信效率的同时,将第一消息标识的多条第二即时通信传输请求通过同一个第二目标中转服务器发送给第二接入服务器,确保即时通信消息的连续性,使得第二客户端接收到的即时通信消息严格有序。
在上述实施例的基础上,本申请实施例还提供一种即时通信装置,应用于第一接入服务器,图10为本申请实施例提供的第一种即时通信装置的结构示意图,如图10所示,该装置包括:
第一请求接收模块11,用于接收第一客户端发送的第一即时通信传输请求,第一即时通信传输请求包括:即时通信消息和虚拟聊天场景的标识;
第一中转服务器选择模块12,用于从多个中转服务器中选择第一目标中转服务器;
第一请求发送模块13,用于向第一目标中转服务器发送第一即时通信传输请求,第一即时通信传输请求用于第一目标中转服务器根据虚拟聊天场景的标识,确定加入虚拟聊天场景的第二客户端的标识,并向聊天服务器发送第二即时通信传输请求,第二即时通信传输请求包括:即时通信消息和第二客户端的标识;第二即时通信传输请求用于使得聊天服务器从多个中转服务器中选择第二目标中转服务器,并向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。
可选的,第一中转服务器选择模块12包括:
第一数量确定单元,用于根据第一客户端的第一数量,确定所需的中转服务器的第二数量;第一数量和第二数量均为大于或等于1的整数;
第一中转服务器选择单元,用于第一从多个中转服务器中随机选择第二数量的第一目标中转服务器。
可选的,第一即时通信传输请求还包括:第二消息标识,第二消息标识用于指示即时通信消息为非连续即时通信消息。
可选的,第一即时通信传输请求还包括:第一消息标识和第一客户端的标识,第一消息标识用于指示即时通信消息为连续即时通信消息,方法还包括:
第一中转标识计算模块,用于根据第一消息标识和第一客户端的标识,计算中转标识;
第一存储模块,用于存储中转标识和第一目标中转服务器的第一对应关系。
可选的,该装置还包括:
第二请求接收模块,用于接收第一客户端发送的第一即时通信传输请求,第一即时通信传输请求包括:即时通信消息、虚拟聊天场景的标识、第一消息标识和第一客户端的标识;
第二中转标识计算模块,用于根据第一消息标识和第一客户端的标识,计算中转标识;
第一目标中转服务器确定模块,用于根据中转标识和第一对应关系,确定第一目标中转服务器;
第二请求发送模块,用于向第一目标中转服务器发送第一即时通信传输请求,第一即时通信传输请求用于第一目标中转服务器根据虚拟聊天场景的标识,确定加入虚拟聊天场景的第二客户端的标识,并向聊天服务器发送第二即时通信传输请求,第二即时通信传输请求用于使得聊天服务器从多个中转服务器中选择第二目标中转服务器,并向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。
在上述实施例的基础上,本申请实施例还提供一种即时通信装置,应用于聊天服务器,图11为本申请实施例提供的第二种即时通信装置的结构示意图,如图11所示,该装置包括:
第三请求接收模块21,用于接收第一目标中转服务器发送的第二即时通信传输请求,第二即时通信传输请求包括:即时通信消息和第二客户端的标识,其中,第一目标中转服务器为第一接入服务器在接收到第一客户端发送的第一即时通信传输请求的情况下,从多个中转服务器中选择的中转服务器;第一即时通信传输请求包括:即时通信消息和虚拟聊天场景的标识,第二客户端的标识为第一目标中转服务器根据第一接入服务器转发的虚拟聊天场景的标识确定的加入虚拟聊天场景的客户端标识;
第三中转服务器选择模块22,用于从多个中转服务器中选择第二目标中转服务器;
第三请求发送模块23,用于向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。
可选的,第三中转服务器选择模块22包括:
第二数量确定单元,用于根据即时通信消息的第三数量,确定所需的中转服务器的第四数量;第三数量和第四数量均为大于或等于1的整数;
第三中转服务器选择单元,用于从多个中转服务器中随机选择第四数量的第二目标中转服务器。
可选的,第二即时通信传输请求还包括:第二消息标识,第二消息标识用于指示即时通信消息为非连续即时通信消息。
可选的,第二即时通信传输请求还包括:第一消息标识和第一客户端的标识,第一消息标识用于指示即时通信消息为连续即时通信消息,该装置还包括:
第三中转标识计算模块,用于根据第一消息标识和第一客户端的标识,计算中转标识;
第二存储模块,用于存储中转标识和第二目标中转服务器的第二对应关系。
可选的,该装置还包括:
第四请求接收模块,用于接收第一目标中转服务器发送的第二即时通信传输请求,第二即时通信传输请求包括:即时通信消息、第二客户端的标识、第一消息标识和第一客户端的标识,其中,即时通信消息、第一消息标识和第一客户端的标识为第一客户端发送至第一接入服务器的信息,第一目标中转服务器为第一接入服务器根据第一消息标识选择的中转服务器;
第四中转标识计算模块,用于根据第一消息标识和第一客户端的标识,计算中转标识;
第二目标中转服务器确定模块,用于根据中转标识和第二对应关系,确定第二目标中转服务器;
第四请求发送模块,用于向第二目标中转服务器发送第二即时通信传输请求,使得第二目标中转服务器根据第二客户端的标识,确定第二客户端连接的第二接入服务器,并通过第二接入服务器将即时通信消息发送至第二客户端。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图12为本申请实施例提供的接入服务器的示意图,该接入服务器200包括:处理器201、存储介质202和总线,存储介质202存储有处理器201可执行的程序指令,当接入服务器200运行时,处理器201与存储介质202之间通过总线通信,处理器201执行程序指令,以执行上述应用于第一接入服务器的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述应用于第一接入服务器的方法实施例。
图13为本申请实施例提供的聊天服务器的示意图,该聊天服务器400包括:处理器401、存储介质402和总线,存储介质402存储有处理器401可执行的程序指令,当聊天服务器400运行时,处理器401与存储介质402之间通过总线通信,处理器401执行程序指令,以执行上述应用于聊天服务器的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述应用于聊天服务器的方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种即时通信方法,其特征在于,应用于第一接入服务器,所述方法包括:
接收第一客户端发送的第一即时通信传输请求,所述第一即时通信传输请求包括:即时通信消息和虚拟聊天场景的标识;
从多个中转服务器中选择第一目标中转服务器;
向所述第一目标中转服务器发送所述第一即时通信传输请求,所述第一即时通信传输请求用于所述第一目标中转服务器根据虚拟聊天场景的标识,确定加入所述虚拟聊天场景的第二客户端的标识,并向聊天服务器发送第二即时通信传输请求,所述第二即时通信传输请求包括:所述即时通信消息和所述第二客户端的标识;所述第二即时通信传输请求用于使得所述聊天服务器从所述多个中转服务器中选择第二目标中转服务器,并向第二目标中转服务器发送所述第二即时通信传输请求,使得所述第二目标中转服务器根据所述第二客户端的标识,确定所述第二客户端连接的第二接入服务器,并通过所述第二接入服务器将所述即时通信消息发送至所述第二客户端;
其中,多个客户端根据所述虚拟聊天场景的标识加入所述虚拟聊天场景,缓存数据库服务器用于存储加入所述虚拟聊天场景的客户端的标识和对应的虚拟聊天场景的标识,所述第一即时通信传输请求用于所述第一目标中转服务器根据所述虚拟聊天场景的标识,从所述缓存数据库服务器中查找所述虚拟聊天场景的标识对应的所有的第二客户端的标识,所述第二客户端为所述虚拟聊天场景中除了所述第一客户端之外的其他客户端。
2.如权利要求1所述的方法,其特征在于,所述从多个中转服务器中选择第一目标中转服务器,包括:
根据所述第一客户端的第一数量,确定所需的中转服务器的第二数量为大于或等于1的整数;
从所述多个中转服务器中随机选择所述第二数量的所述第一目标中转服务器。
3.如权利要求1所述的方法,其特征在于,所述第一即时通信传输请求还包括:第一消息标识和所述第一客户端的标识,所述第一消息标识用于指示所述即时通信消息为连续即时通信消息,所述方法还包括:
根据所述第一消息标识和所述第一客户端的标识,计算中转标识;
存储所述中转标识和所述第一目标中转服务器的第一对应关系。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
接收所述第一客户端发送的第一即时通信传输请求,所述第一即时通信传输请求包括:所述即时通信消息、所述虚拟聊天场景的标识、所述第一消息标识和所述第一客户端的标识,
根据所述第一消息标识和所述第一客户端的标识,计算所述中转标识;
根据所述中转标识和所述第一对应关系,确定所述第一目标中转服务器;
向所述第一目标中转服务器发送所述第一即时通信传输请求,所述第一即时通信传输请求用于所述第一目标中转服务器根据虚拟聊天场景的标识,确定加入所述虚拟聊天场景的所述第二客户端的标识,并向所述聊天服务器发送第二即时通信传输请求,所述第二即时通信传输请求用于使得所述聊天服务器从所述多个中转服务器中选择第二目标中转服务器,并向所述第二目标中转服务器发送所述第二即时通信传输请求,使得所述第二目标中转服务器根据所述第二客户端的标识,确定所述第二客户端连接的第二接入服务器,并通过所述第二接入服务器将所述即时通信消息发送至所述第二客户端。
5.一种即时通信方法,其特征在于,应用于聊天服务器,所述方法包括:
接收第一目标中转服务器发送的第二即时通信传输请求,所述第二即时通信传输请求包括:即时通信消息和第二客户端的标识,其中,所述第一目标中转服务器为第一接入服务器在接收到第一客户端发送的第一即时通信传输请求的情况下,从多个中转服务器中选择的中转服务器;所述第一即时通信传输请求包括:所述即时通信消息和虚拟聊天场景的标识,所述第二客户端的标识为所述第一目标中转服务器根据所述第一接入服务器转发的虚拟聊天场景的标识确定的加入所述虚拟聊天场景的客户端标识;
从所述多个中转服务器中选择第二目标中转服务器;
向所述第二目标中转服务器发送所述第二即时通信传输请求,使得所述第二目标中转服务器根据所述第二客户端的标识,确定所述第二客户端连接的第二接入服务器,并通过所述第二接入服务器将所述即时通信消息发送至所述第二客户端;
其中,所述第一即时通信传输请求用于所述第一目标中转服务器根据虚拟聊天场景的标识,从缓存数据库服务器中查找所述虚拟聊天场景的标识对应的所有的第二客户端的标识,所述缓存数据库服务器用于存储加入所述虚拟聊天场景的客户端的标识和对应的虚拟聊天场景的标识。
6.如权利要求5所述的方法,其特征在于,所述从所述多个中转服务器中选择第二目标中转服务器,包括:
根据所述即时通信消息的第三数量,确定所需的中转服务器的第四数量;所述第三数量和所述第四数量均为大于或等于1的整数;
从所述多个中转服务器中随机选择所述第四数量的第二目标中转服务器。
7.如权利要求5所述的方法,其特征在于,所述第二即时通信传输请求还包括:第一消息标识和所述第一客户端的标识,所述第一消息标识用于指示所述即时通信消息为连续即时通信消息,所述方法还包括:
根据所述第一消息标识和所述第一客户端的标识,计算中转标识;
存储所述中转标识和所述第二目标中转服务器的第二对应关系。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
接收所述第一目标中转服务器发送的第二即时通信传输请求,所述第二即时通信传输请求包括:所述即时通信消息、所述第二客户端的标识、所述第一消息标识和所述第一客户端的标识,其中,所述即时通信消息、所述第一消息标识和所述第一客户端的标识为所述第一客户端发送至所述第一接入服务器的信息,所述第一目标中转服务器为所述第一接入服务器根据所述第一消息标识选择的中转服务器;
根据所述第一消息标识和所述第一客户端的标识,计算所述中转标识;
根据所述中转标识和所述第二对应关系,确定所述第二目标中转服务器;
向所述第二目标中转服务器发送所述第二即时通信传输请求,使得所述第二目标中转服务器根据所述第二客户端的标识,确定所述第二客户端连接的所述第二接入服务器,并通过所述第二接入服务器将所述即时通信消息发送至所述第二客户端。
9.一种接入服务器,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当所述接入服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如权利要求1至4任一所述的即时通信方法的步骤。
10.一种聊天服务器,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当所述聊天服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如权利要求5至8任一所述的即时通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110521684.XA CN113259225B (zh) | 2021-05-13 | 2021-05-13 | 即时通信方法、服务器及即时通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110521684.XA CN113259225B (zh) | 2021-05-13 | 2021-05-13 | 即时通信方法、服务器及即时通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113259225A CN113259225A (zh) | 2021-08-13 |
CN113259225B true CN113259225B (zh) | 2022-06-28 |
Family
ID=77181551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110521684.XA Active CN113259225B (zh) | 2021-05-13 | 2021-05-13 | 即时通信方法、服务器及即时通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259225B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109561014A (zh) * | 2018-10-25 | 2019-04-02 | 江苏中威科技软件系统有限公司 | 一种web即时通讯方法及系统 |
CN110445882A (zh) * | 2019-09-19 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 通信连接方法、装置、计算机设备及存储介质 |
CN110928564A (zh) * | 2019-11-11 | 2020-03-27 | 中科有讯(北京)科技有限公司 | 安全更新应用的方法、业务服务器、集群及存储介质 |
CN111193768A (zh) * | 2019-11-25 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 网络数据处理方法、装置、计算机设备和存储介质 |
CN111224968A (zh) * | 2019-12-31 | 2020-06-02 | 北京同舟医联网络科技有限公司 | 一种随机选择中转服务器的安全通信方法 |
CN111249747A (zh) * | 2020-01-20 | 2020-06-09 | 网易(杭州)网络有限公司 | 一种游戏中的信息处理方法及装置 |
CN111800491A (zh) * | 2020-06-23 | 2020-10-20 | 成都完美时空网络技术有限公司 | 一种数据传输方法、系统、计算设备及存储介质 |
CN111813851A (zh) * | 2020-05-25 | 2020-10-23 | 车智互联(北京)科技有限公司 | 一种移动应用向网页同步数据的方法、系统及移动终端 |
CN112199442A (zh) * | 2020-09-29 | 2021-01-08 | 中国平安人寿保险股份有限公司 | 分布式批量下载文件方法、装置、计算机设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040186888A1 (en) * | 2003-03-19 | 2004-09-23 | International Business Machines Corporation | Method and system for transferring real-time messages between multiple non-connected messaging servers |
US8179872B2 (en) * | 2007-05-09 | 2012-05-15 | Research In Motion Limited | Wireless router system and method |
CN102185701A (zh) * | 2011-04-26 | 2011-09-14 | 苏州阔地网络科技有限公司 | 一种实现群组信息交互的方法及系统 |
EP3072245A4 (en) * | 2013-11-19 | 2017-06-28 | Tionesta, LLC | Method and system for universal chat gateways |
CN111541555A (zh) * | 2020-03-24 | 2020-08-14 | 中国平安人寿保险股份有限公司 | 群聊优化方法及相关产品 |
CN112436997B (zh) * | 2020-11-10 | 2023-03-03 | 杭州米络星科技(集团)有限公司 | 聊天室的消息分发方法、消息分发系统及电子设备 |
-
2021
- 2021-05-13 CN CN202110521684.XA patent/CN113259225B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109561014A (zh) * | 2018-10-25 | 2019-04-02 | 江苏中威科技软件系统有限公司 | 一种web即时通讯方法及系统 |
CN110445882A (zh) * | 2019-09-19 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 通信连接方法、装置、计算机设备及存储介质 |
CN110928564A (zh) * | 2019-11-11 | 2020-03-27 | 中科有讯(北京)科技有限公司 | 安全更新应用的方法、业务服务器、集群及存储介质 |
CN111193768A (zh) * | 2019-11-25 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 网络数据处理方法、装置、计算机设备和存储介质 |
CN111224968A (zh) * | 2019-12-31 | 2020-06-02 | 北京同舟医联网络科技有限公司 | 一种随机选择中转服务器的安全通信方法 |
CN111249747A (zh) * | 2020-01-20 | 2020-06-09 | 网易(杭州)网络有限公司 | 一种游戏中的信息处理方法及装置 |
CN111813851A (zh) * | 2020-05-25 | 2020-10-23 | 车智互联(北京)科技有限公司 | 一种移动应用向网页同步数据的方法、系统及移动终端 |
CN111800491A (zh) * | 2020-06-23 | 2020-10-20 | 成都完美时空网络技术有限公司 | 一种数据传输方法、系统、计算设备及存储介质 |
CN112199442A (zh) * | 2020-09-29 | 2021-01-08 | 中国平安人寿保险股份有限公司 | 分布式批量下载文件方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113259225A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10218657B2 (en) | Method and system for providing private chat within a group chat | |
JP5741150B2 (ja) | 中継装置、中継プログラム、及び中継方法 | |
US9792311B2 (en) | System and method for managing a partitioned database of user relationship data | |
CN111954173B (zh) | 发送短信的方法、装置、服务器及计算机可读存储介质 | |
CN110719221B (zh) | 即时通信方法、装置、设备及存储介质 | |
JP2015519852A (ja) | 会話確立方法、サーバ、装置、会話確立システム、機器、プログラム、及び記録媒体 | |
CN108572970B (zh) | 一种结构化数据的处理方法和分布式处理系统 | |
US10873640B2 (en) | Information exchange method and server | |
CN104796391A (zh) | 签到验证方法以及签到验证客户端、服务器、系统和装置 | |
US11276037B2 (en) | Search prioritization interfaces for communication platform users | |
WO2014194647A1 (en) | Data exchange method, device, and system for group communication | |
CN103281346A (zh) | 断线重连方法、网络系统和代理服务器 | |
CN113329069A (zh) | 一种即时通信方法、系统及计算设备 | |
KR20170101416A (ko) | 크라우드 펀딩 시스템을 통해 엔터테인먼트 관련 펀딩 정보 및 컨설팅 정보를 제공하는 방법 | |
CN109274705A (zh) | 基于用户身份的服务提供方法、装置及系统 | |
CN104317473A (zh) | 一种界面显示方法及客户端 | |
CN108076149B (zh) | 会话保持方法和装置 | |
CN106487653B (zh) | 一种消息处理方法及服务器 | |
CN102469039A (zh) | 智能的网络交流系统和方法 | |
CN113259225B (zh) | 即时通信方法、服务器及即时通信系统 | |
WO2013097234A1 (zh) | 处理业务的方法和系统 | |
US20140362982A1 (en) | Data exchange method, device, and system for group communication | |
JP5961471B2 (ja) | 複数の情報システムおける出力比較方法 | |
CN112150030A (zh) | 基于多单位多身份的账号管理方法、终端设备及存储介质 | |
WO2019242279A1 (zh) | 一种消息处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |