CN111787079A - 基于通信群组的通信方法、装置、服务器、系统及介质 - Google Patents
基于通信群组的通信方法、装置、服务器、系统及介质 Download PDFInfo
- Publication number
- CN111787079A CN111787079A CN202010568967.5A CN202010568967A CN111787079A CN 111787079 A CN111787079 A CN 111787079A CN 202010568967 A CN202010568967 A CN 202010568967A CN 111787079 A CN111787079 A CN 111787079A
- Authority
- CN
- China
- Prior art keywords
- server
- client
- communication
- group
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 276
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000013507 mapping Methods 0.000 claims abstract description 94
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 230000002085 persistent effect Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 5
- 230000008901 benefit Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000002699 waste material Substances 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了基于通信群组的通信方法、装置、服务器、系统及介质。其中,该方法包括:处理第一客户端发送的第一请求,得到第一初始消息;根据第一客户端标识查询第一服务器中的第一类映射关系,得到第一客户端所处通信群组的第一群组标识;根据第一群组标识从预设存储系统中查询第二类映射关系,得到第一通信群组内存在的第二客户端对应的第二服务器的第一通信地址;根据第一群组标识和第一初始消息生成第一目标消息,根据第一通信地址将第一目标消息发送至第二服务器,指示第二服务器将第一初始消息的消息内容发送至第二客户端。本发明实施例提供的技术方案,可以节省服务器资源和带宽资源。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及基于通信群组的通信方法、装置、服务器、系统及介质。
背景技术
随着通信技术的快速发展,人们之间的沟通越来越多样化,存在许多多人通信场景,用户一般以通信群组(如多人聊天室或多人游戏房间等形式)为单位进行通讯。
目前,很多多人通信场景是基于浏览器和服务器之间的通信来实现的,作为客户端的浏览器与服务器之间可以基于能够建立持久性连接的协议进行通信,例如WebSocket协议等。在实际的业务中,后端的服务器通常是以集群的方式部署,需要互相通讯的客户端(可以理解为这些客户端加入到了同一个通信群组,通信群组内的通讯对通信群组内的所有客户端是可见的)通常会因为某种路由规则而连接到不同的服务器,单一客户端与单一服务器之间的通讯并不能被通信群组内的其他服务器和客户端所感知,导致无法实现通信群组内所有客户端的相互通讯。为了解决该问题,现有方案基于消息队列实现组内通信,当服务端收到客户端的信息时,经过业务处理后将需要下发给通信群组内所有客户端的消息发送到一个或多个消息队列,同时后端所有服务器不停的消费消息队列,当从消息队列获取到消息后,分析并查找本服务器需要下发该消息的客户端,然后进行消息的下发,这种方案中,所有服务器都必须全量消费消息队列中的所有消息,当发现所消费的消息并不需要下发给本服务器上的客户端时,将该条消息丢弃,从而造成服务器资源和带宽资源的浪费,需要改进。
发明内容
本发明实施例提供了基于通信群组的通信方法、装置、服务器、系统及介质,可以优化基于通信群组的通信方案。
第一方面,本发明实施例提供了一种基于通信群组的通信方法,应用于群组通信系统中的服务器集群中的第一服务器,所述服务器集群中的服务器与客户端之间基于预设通信协议进行通信,所述预设通信协议允许作为客户端的浏览器与服务器之间建立持久性连接,该方法包括:
处理第一客户端发送的第一请求,得到第一初始消息;
根据所述第一客户端对应的第一客户端标识查询所述第一服务器中的第一类映射关系,得到所述第一客户端当前所处的第一通信群组的第一群组标识;
根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址,其中,所述第二服务器包含于所述服务集群内;
根据所述第一群组标识和所述第一初始消息生成第一目标消息,并根据所述第一通信地址将所述第一目标消息发送至所述第二服务器,所述第一目标消息用于指示所述第二服务器将所述第一初始消息的消息内容发送至对应的第二客户端。
第二方面,本发明实施例提供了一种基于通信群组的通信方法,应用于群组通信系统,所述群组通信系统包括虚拟服务器、应用程序接口API网关、服务器集群、预设存储系统和多个客户端;所述服务器集群中的服务器与客户端之间基于预设通信协议进行通信,所述预设通信协议允许作为客户端的浏览器与服务器之间建立持久性连接;该方法包括:
通过所述虚拟服务器将第一客户端发送的连接建立请求转发至所述API网关;
通过所述API网关基于第一预设负载均衡策略确定预设路由列表中的用于与所述第一客户端建立连接的第一服务器,并将所述连接建立请求发送至所述第一服务器;
通过所述第一服务器与所述第一客户端建立连接,并基于预设群组分配原则为所述第一客户端分配对应的第一群组标识,所述第一群组标识用于指示将所述第一客户端加入对应的第一通信群组;
通过所述第一服务器更新所述第一服务器中的第一类映射关系,并指示所述预设存储系统更新第二类映射关系,其中,所述第一类映射关系包括客户端标识和群组标识的对应关系,所述第二类映射关系包括群组标识和服务器的通信地址的对应关系。
第三方面,本发明实施例提供了一种基于通信群组的通信装置,集成于群组通信系统中的服务器集群中的第一服务器,所述服务器集群中的服务器与客户端之间基于预设通信协议进行通信,所述预设通信协议允许作为客户端的浏览器与服务器之间建立持久性连接,该装置包括:
请求处理模块,用于处理第一客户端发送的第一请求,得到第一初始消息;
群组标识查询模块,用于根据所述第一客户端对应的第一客户端标识查询所述第一服务器中的第一类映射关系,得到所述第一客户端当前所处的第一通信群组的第一群组标识;
通信地址查询模块,用于根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址,其中,所述第二服务器包含于所述服务集群内;
消息发送模块,用于根据所述第一群组标识和所述第一初始消息生成第一目标消息,并根据所述第一通信地址将所述第一目标消息发送至所述第二服务器,所述第一目标消息用于指示所述第二服务器将所述第一初始消息的消息内容发送至对应的第二客户端。
第四方面,本发明实施例提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例第一方面提供的基于通信群组的通信方法。
第五方面,本发明实施例提供了一种群组通信系统,包括虚拟服务器、应用程序接口API网关、服务器集群、预设存储系统和多个客户端,所述系统用于执行如本发明实施例第二方面提供的基于通信群组的通信方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的任一基于通信群组的通信方法。
本发明实施例中提供的基于通信群组的通信方案,群组通信系统中的服务器集群中的服务器与客户端之间基于预设通信协议进行通信,预设通信协议允许作为客户端的浏览器与服务器之间建立持久性连接,第一服务器处理第一客户端发送的第一请求,得到第一初始消息,根据第一客户端对应的第一客户端标识查询第一服务器中的第一类映射关系,得到第一客户端当前所处的第一通信群组的第一群组标识,根据第一群组标识从预设存储系统中查询第二类映射关系,得到第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址,根据第一群组标识和第一初始消息生成第一目标消息,并根据第一通信地址将第一目标消息发送至第二服务器,第一目标消息用于指示第二服务器将第一初始消息的消息内容发送至对应的第二客户端。通过采用上述技术方案,可以使群组通信系统中服务器集群中的服务器有针对性的进行消息的消费及下发,节省服务器资源和带宽资源。
附图说明
图1为本发明实施例提供的一种基于通信群组的通信方法的流程示意图;
图2为本发明实施例提供的又一种基于通信群组的通信方法的流程示意图;
图3为本发明实施例提供的另一种基于通信群组的通信方法的流程示意图;
图4为本发明实施例提供的一种群组通信系统示意图;
图5为本发明实施例提供的一种客户端在房间内发送消息的通讯流程示意图;
图6为本发明实施例提供的一种基于通信群组的通信装置的结构框图;
图7为本发明实施例提供的一种服务器的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
需要注意,本发明实施例中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
图1为本发明实施例提供的一种基于通信群组的通信方法的流程示意图,该方法可以由基于通信群组的通信装置执行,其中该装置可由软件和/或硬件实现,一般可集成在服务器设备中,该服务器是群组通信系统中的服务器集群中的一个服务器,可记为第一服务器。服务器集群中的服务器可理解为向客户端提供与当前业务相匹配的服务的服务端。
示例性的,通信群组中可以包含多个用户(客户端),多个用户之间存在通信需求,通信群组具体的表现形式和应用场景不限,例如可以是多人在线聊天场景中的多人聊天室,还可以是多人在线游戏场景中的多人游戏房间等。
本发明实施例中,服务器集群中的服务器与客户端之间基于预设通信协议进行通信,预设通信协议允许作为客户端的浏览器与服务器之间建立持久性连接,服务器可主动向客户端推送数据,单一客户端与单一服务器之间的通讯并不能被通信群组内的其他服务器和客户端所感知。示例性的,预设通信协议例如可以是WebSocket协议。WebSocket又称网络套接字,是第五代超级文本标记语言(HyperText Markup Language,HTML)HTML5开始提供的一种在单个传输控制协议(Transmission Control Protocol,TCP)连接上进行全双工通信的协议,WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据,在WebSocket应用程序编程接口(Application ProgrammingInterface,API)中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,也即浏览器和服务器之间就形成了一条快速通道,两者之间就直接可以进行双向数据传输。
如图1所示,该方法包括:
步骤101、处理第一客户端发送的第一请求,得到第一初始消息。
示例性的,当第一客户端发起连接请求后,群组通信系统可以基于某种路由规则为第一客户端分配服务器集群中对应的服务器,假设所分配的服务器即所述第一服务器。第一客户端与第一服务器建立连接后,可以基于某种规则为第一客户端分配通信群组,假设为第一通信群组。第一客户端加入第一通信群组后,便可向第一服务器发送通信请求,假设为第一请求。第一服务器可以基于具体的业务规则对第一请求进行处理,得到第一初始消息,第一初始消息的内容中可以包含用于告知第一通信群组内的其他客户端的通信内容。
步骤102、根据所述第一客户端对应的第一客户端标识查询所述第一服务器中的第一类映射关系,得到所述第一客户端当前所处的第一通信群组的第一群组标识。
如上文所述,现有技术中,第一服务器在得到第一初始消息后,会将第一初始消息直接发送到消息队列,供其他服务器消费。而本发明实施例中,不会将第一初始消息发送到消息队列,而是根据第一客户端对应的第一客户端标识来查询第一服务器中的第一类映射关系,得到第一客户端当前所处的第一通信群组的第一群组标识。其中,第一类映射关系中可以包括客户端标识和群组标识的对应关系,也即客户端与所处通信群组的对应关系,第一服务器中的第一类映射关系中包含的客户端标识对应的客户端可以仅包括与第一服务器存在通信连接的客户端,也即第一服务器中的第一类映射关系包括与第一服务器连接的客户端的客户端标识和客户端所在通信群组的群组标识的对应关系。客户端标识也可称为客户端ID,例如可以是客户端对应的用户账号名,具体表现形式不做限定,例如可以是代号或编号等。群组标识也可称为群组ID,具体表现形式也不做限定,例如可以是代号或编号等。可以在第一服务器中维护并定时或实时更新第一类映射关系。
步骤103、根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址。
其中,所述第二服务器包含于所述服务集群内。
示例性的,预设存储系统具体可以是内存存储系统,具体可以为Redis或Codis。其中,Redis是内存中的数据结构存储,可用作数据库、缓存和消息代理。Codis是一个分布式Redis解决方案,对于上层的应用来说,连接到Codis Proxy(代理)和连接原生的RedisServer没有明显的区别,上层应用可以像使用单机的Redis一样使用,Codis底层会处理请求的转发以及不停机的数据迁移等工作,后边的事情对于前面的客户端来说是透明的,Codis可以实现自动负载均衡、故障容灾、不停机进行数据迁移等工作,相比于Redis来说更加高可用,本发明实施例中可以采用Codis作为预设存储系统。
示例性的,第二类映射关系可以包括群组标识和服务器的通信地址的对应关系,也即服务器和与服务器连接的客户端所处的通信群组的对应关系,具体可以是服务器的通信地址和与服务器连接的客户端所处的通信群组的群组标识的对应关系。一般的,第二类映射关系中可以包含服务器集群中所有服务器的通信地址与群组标识的对应关系。其中,服务器的通信地址例如可以是服务器的网际协议(Internet Protocol,IP)地址。可以在预设存储系统中维护并定时或实时更新第二类映射关系。
示例性的,第二客户端可以是第一通信群组中除了第一客户端以外的任意一个客户端,也即,第二客户端的数量可以依赖于第一通信群组中包含的客户端总数量。不同的第二客户端可以对应同一个服务器,也可以对应不同的服务器,因此,第二服务器的数量可以是一个或多个,也即第一通信地址可以是一个或多个。
步骤104、根据所述第一群组标识和所述第一初始消息生成第一目标消息,并根据所述第一通信地址将所述第一目标消息发送至所述第二服务器,所述第一目标消息用于指示所述第二服务器将所述第一初始消息的消息内容发送至对应的第二客户端。
示例性的,根据第一群组标识和第一初始消息生成第一目标消息,第一目标消息的具体结构或表现形式不做限定,第一目标消息的消息体内可包含第一群组标识和第一初始消息的消息内容。根据第一通信地址将第一目标消息发送给对应的第二服务器,第二服务器可以从第一目标消息中获取到第一群组标识,可根据第一群组标识到本地存储的第一类映射关系中查询第一群组标识对应的第一通信群组内与第二服务器相连的第二客户端,并将第一目标消息中包含的第一初始消息的消息内容发送至第二客户端,从而完成第一客户端与所在通信群组内的其他客户端之间的通信。
本发明实施例中提供的基于通信群组的通信方案,群组通信系统中的服务器集群中的服务器与客户端之间基于预设通信协议进行通信,预设通信协议允许作为客户端的浏览器与服务器之间建立持久性连接,第一服务器处理第一客户端发送的第一请求,得到第一初始消息,根据第一客户端对应的第一客户端标识查询第一服务器中的第一类映射关系,得到第一客户端当前所处的第一通信群组的第一群组标识,根据第一群组标识从预设存储系统中查询第二类映射关系,得到第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址,根据第一群组标识和第一初始消息生成第一目标消息,并根据第一通信地址将第一目标消息发送至第二服务器,第一目标消息用于指示第二服务器将第一初始消息的消息内容发送至对应的第二客户端。通过采用上述技术方案,可以使群组通信系统中服务器集群中的服务器有针对性的进行消息的消费及下发,节省服务器资源和带宽资源。此外,在现有技术的方案中,当后端服务器的数量大于通信群组内的客户端时,必然会存在服务器在消费分析了消息队列中的消息后,发现不需要下发给本服务器上的客户端而丢弃该条消息的情况,在服务器数量远大于房间内的客户端数时,这种服务器资源和带宽资源的额外占用更加不可忽视。并且,因为服务器带宽大小的限制以及中央处理器(Central Processing Unit,CPU)等硬件配置的限制,服务器消费消息队列的速度存在瓶颈,此瓶颈限制了单个服务器所能处理消息的最大每秒查询率(Queries-per-second,QPS),也限制了单个服务器所能连接的最大客户端数。当后端服务器达到最大负载时,新增加的服务器也会因为全量消费消息而到达最大负载,也即此种基于消息队列实现的方案存在瓶颈,不可横向扩展,从而限制业务的发展。而本发明实施例所采用的上述方案,可有效解决基于消息队列实现的通讯方案中,随着客户端数量和服务器数量的增多而带来的带宽以及服务器资源的浪费问题,并且服务器数量可根据客户端的数量而任意增加,同时预设存储系统也可以随着业务需要而扩展(如Codis集群内服务器的数量也可以随着业务的需要而增加),不存在限制业务发展的问题。
在一些实施例中,所述根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址,包括:根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址和所述第二客户端对应的第二客户端标识;所述根据所述第一群组标识和所述第一初始消息生成第一目标消息,包括:根据所述第一群组标识、所述第二客户端标识和所述第一初始消息生成第一目标消息;相应的,所述第一目标消息用于指示所述第二服务器将所述第一初始消息的消息内容发送至所述第二客户端标识对应的第二客户端。这样设置的好处在于,第二服务器在接收到第一目标消息后,可以直接从第一目标消息中获取第二客户端标识,无需在本地查询第一类映射关系,提高消息发送效率。其中,第二类映射关系中还包括群组标识和客户端标识的对应关系,也即包括通信群组与处于通信群组内的客户端之间的对应关系。示例性的,第二类映射关系可以以哈希表的形式存储在预设存储系统中,以Codis为例,将客户端的ID、通信群组标识以及服务器的IP以哈希表的形式保存在Codis中,哈希表hash名为通信群组标识,表中的域field为客户端的ID,域field的值value为服务器的IP。
在一些实施例中,还可包括:接收第三服务器发送的第二目标消息;根据所述第二目标消息中包含的第三客户端标识查询所述第一服务器中的第一类映射关系;若确定所述第三客户端标识存在于所述第一服务器中的第一类映射关系内,则将所述第二目标消息内包含的第二初始消息的消息内容发送至对应的第三客户端。这样设置的好处在于,可以在发送第二初始消息的消息内容之前,先验证第三客户端是否仍在线,若在线,则进行消息内容的发送,减少资源浪费。第一服务器作为服务器集群的一员,也可能接收到其他服务器发送的目标消息,接收到的第二目标消息中包含了第二类映射关系中记录的与第一服务器存在连接关系的第三客户端,且第二初始消息对应的第二消息的发送方与第三客户端处于同一个通信群组中,但此时,第三客户端可能已经与第一服务器断开连接,也即第二类映射关系可能未及时更新,当第一服务器发现本地存储的第一类映射关系中已经不包含第三客户端时,说明第三客户端已经下线,则不需要尝试向第三客户端发送消息,减少不必要的操作。
图2为本发明实施例提供的又一种基于通信群组的通信方法的流程示意图,该方法可以由群组通信系统执行,可群组通信系统由软件和/或硬件实现。群组通信系统包括虚拟服务器、API网关、服务器集群、预设存储系统和多个客户端。服务器集群中的服务器与客户端之间基于预设通信协议进行通信,预设通信协议允许作为客户端的浏览器与服务器之间建立持久性连接。
其中,预设通信协议例如可以是WebSocket协议。虚拟服务器可以是用于提供负载均衡技术的服务器或服务器集群,例如可以是Linux虚拟服务器(Linux Virtual Server,LVS),可以通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器集群,它具有良好可靠性、可扩展性和可操作性。API网关又可称为API中间件,可基于Kong实现,Kong是一个云原生的、快速的以及可扩展的分布式微服务抽象层,本发明实施例中的API网关具体可以是Kong集群。
如图2所示,该方法可包括:
步骤201、通过虚拟服务器将第一客户端发送的连接建立请求转发至API网关。
示例性的,第一客户端可以先基于域名发送连接建立请求到虚拟服务器,虚拟服务器可将第一客户端连接到API网关,也即相当于把第一客户端发送的连接建立请求转发至API网关,再由API网关为第一客户端分配需要建立通信连接的服务器。其中,当API网关以集群形式存在时,虚拟服务器可基于第二预设负载均衡策略将第一客户端连接到API网关,第二预设负载均衡策略可自由设置。
步骤202、通过API网关基于第一预设负载均衡策略确定预设路由列表中的用于与所述第一客户端建立连接的第一服务器,并将所述连接建立请求发送至所述第一服务器。
其中,第一预设负载均衡策略可自由设置。预设路由列表中可包括服务器集群中的所有服务器。
相关技术中,由虚拟服务器直接基于一定的负载均衡策略将客户端路由到服务器。而本发明实施例中,在虚拟服务器和服务器集群之间增设了API网关,因此,虚拟服务器不需要关心客户端被路由至服务器集群中具体哪个服务器,可有效减少在虚拟服务器中进行的与最终路由的服务器相关的参数修改等操作,相关修改操作可在API网关中实现。且在实际应用时,虚拟服务器一般为业务方(也即服务器集群对应的使用方)从第三方租用的设备,对虚拟服务器进行操作的成本很高,而API网关可部署在业务方,可有效降低管理和操作成本。
步骤203、通过所述第一服务器与所述第一客户端建立连接,并基于预设群组分配原则为所述第一客户端分配对应的第一群组标识,所述第一群组标识用于指示将所述第一客户端加入对应的第一通信群组。
示例性的,预设群组分配原则可根据实际需求设置。
当客户端连接到服务器时,可以通过客户端在请求中所携带的认证信息(如令牌token信息),甄别并查找出客户端的信息(如用户账号)以及全局唯一的客户端ID(如会话session ID),再根据客户端的请求参数,随机或者是指定的分配第一群组标识。以多人在线游戏场景为例,通信群组标识可以是房间号,用户在发起进入房间时,可以是指定某个房间或者随机进入某个房间,这些信息可以包含在连接建立请求的请求参数中,第一服务器便可以根据用户的意愿为用户分配房间号。
示例性的,为第一客户端分配第一群组标识后,第一客户端即可加入对应的第一通信群组。
步骤204、通过所述第一服务器更新所述第一服务器中的第一类映射关系,并指示所述预设存储系统更新第二类映射关系。
其中,所述第一服务器中的第一类映射关系包括与所述第一服务器连接的客户端的客户端标识和客户端所在通信群组的群组标识的对应关系,所述第二类映射关系包括群组标识和服务器的通信地址的对应关系。有关第一类映射关系和第二类映射关系的描述可以参见上文中的相关内容,此处不再赘述。
本发明实施例提供的基于通信群组的通信方法,虚拟服务器将第一客户端发送的连接建立请求转发至API网关,API网关基于第一预设负载均衡策略确定预设路由列表中的用于与第一客户端建立连接的第一服务器,并将连接建立请求发送至第一服务器,第一服务器与第一客户端建立连接,并基于预设群组分配原则为第一客户端分配对应的第一群组标识,第一服务器更新第一服务器中的第一类映射关系,并指示预设存储系统更新第二类映射关系,其中,第一类映射关系包括客户端标识和群组标识的对应关系,第二类映射关系包括群组标识和服务器的通信地址的对应关系,在虚拟服务器和服务器集群之间增设了API网关,可以降低系统管理和操作成本,且在建立客户端与服务端的连接并分配合适的通信群组后,在服务端和预设存储系统中分别维护第一类映射关系和第二类映射关系,方便第一客户端存在与第一通信群组内的其他客户端进行通信的需求时,由第一服务器生成指向通信群组内部的客户端对应的服务器的消息,避免其他服务器因全量消费消息队列中的消息而导致的服务器资源和带宽资源的浪费。
在一些实施例中,还可包括:通过所述第一客户端向所述第一服务器发送第一请求;通过所述第一服务器处理所述第一请求,得到第一初始消息;通过所述第一服务器根据所述第一客户端对应的第一客户端标识查询所述第一服务器中的第一类映射关系,得到所述第一客户端当前所处的第一通信群组的第一群组标识;通过所述第一服务器根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址;通过所述第一服务器根据所述第一群组标识和所述第一初始消息生成第一目标消息,并根据所述第一通信地址将所述第一目标消息发送至所述第二服务器;通过所述第二服务器将所述第一初始消息的消息内容发送至对应的第二客户端。通过采用该技术方案,可以使群组通信系统中服务器集群中的服务器有针对性的进行消息的消费及下发,节省服务器资源和带宽资源。
在一些实施例中,所述第二类映射关系还包括群组标识和客户端标识的对应关系;所述通过所述第一服务器根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址,包括:通过所述第一服务器根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址和所述第二客户端对应的第二客户端标识;所述通过所述第一服务器根据所述第一群组标识和所述第一初始消息生成第一目标消息,包括:通过所述第一服务器根据所述第一群组标识、所述第二客户端标识和所述第一初始消息生成第一目标消息;所述通过所述第二服务器将所述第一初始消息的消息内容发送至对应的第二客户端,包括:通过所述第二服务器将所述第一初始消息的消息内容发送至所述第二客户端标识对应的第二客户端。这样设置的好处在于,第二服务器在接收到第一目标消息后,可以直接从第一目标消息中获取第二客户端标识,无需在本地查询第一类映射关系,提高消息发送效率。
在一些实施例中,所述通过所述第二服务器将所述第一初始消息的消息内容发送至所述第二客户端标识对应的第二客户端,包括:通过所述第二服务器根据所述第一目标消息中包含的第二客户端标识查询所述第二服务器中的第一类映射关系;若通过所述第二服务器确定所述第二客户端标识存在于所述第二服务器中的第一类映射关系内,则将所述第一目标消息内包含的第一初始消息的消息内容发送至对应的第二客户端。这样设置的好处在于,第二服务器可以在发送第一初始消息的消息内容之前,先验证第二客户端是否仍在线,若在线,则进行消息内容的发送,减少资源浪费。
在一些实施例中,还可包括:通过所述API网关对所述预设路由列表中的第四服务器的工作状态进行检测;通过所述API网关确定检测结果为异常时,将所述第四服务器从所述预设路由列表中删除。这样设置的好处在于,可以及时更新预设路由表中的服务器,将异常服务器删除,避免将客户端路由到异常服务器上。现有技术中,当后端有服务器发生异常时,客户端和虚拟服务器不能感知到服务器的异常,虚拟服务器依旧会将客户端最新的请求路由到异常的服务器,造成该部分客户端的请求无法正常的获取到数据,对整个业务的影响较大。而本发明实施例中,增加了API网关,可以由API网关及时主动检测异常的后端服务器。API网关可以主动向服务器发送请求以检查服务器的状态,若服务器及时对请求进行响应或返回成功,可说明服务器正常,若在预设时长内服务器未响应请求或返回失败,可说明服务器异常,无法正常提供服务,将异常的服务器摘除(也可设置预设阈值,进行多次检测,若检测结果为失败的次数达到预设阈值时再摘除),保证整个系统的高可用。
在一些实施例中,还可包括:通过第四客户端检测到与所述第四服务器的连接断开时,向所述虚拟服务器重新发送连接建立请求;通过所述虚拟服务器将所述第四客户端重新发送的连接建立请求转发至所述API网关;通过所述API网关基于第一预设负载均衡策略确定预设路由列表中的用于与所述第四客户端建立连接的第五服务器,并将所述连接建立请求发送至所述第五服务器。这样设置的好处在于,客户端在发现与服务器断开连接时,可主动发起重连请求,新的连接请求经过API网关后将会连接到一台新的服务器,由新的服务器继续为客户端提供服务。
在一些实施例中,还可包括:通过所述第五服务器根据所述第四客户端对应的第四客户端标识从所述预设存储系统中查询所述第二类映射关系,得到所述第四客户端标识对应的第二群组标识,并将所述第四客户端加入所述第二群组标识对应的第二通信群组。这样设置的好处在于,可以由新分配的服务器获取客户端断开连接前所处的通信群组,并将客户端加入原来的通信群组,保证客户端能够回到原来的通信群组,也即实现断线重连,保证系统的高可用。
在一些实施例中,在所述将所述第四客户端加入所述第二群组标识对应的第二通信群组之后,还包括:通过所述第五服务器更新所述第五服务器中的第一类映射关系,以及更新所述预设存储系统中的第二类映射关系。这样设置的好处在于,可以保证第一类映射关系以及第二类映射关系的实时准确性。
图3为本发明实施例提供的另一种基于通信群组的通信方法的流程示意图,以多人游戏场景为例,例如Web多人在线小游戏,多个用户可以在同一个游戏房间内游戏及互动。图4为本发明实施例提供的一种群组通信系统示意图,群组通信系统包括LVS、Kong集群、服务器集群(如图中服务器A和服务器B等)、Codis集群(图中未示出)和多个客户端(如图中客户端A、客户端B和客户端C,还可以有更多的客户端,图中未示出)。Kong集群和服务器集群例如可以基于K8S技术构建。服务器集群中的服务器与客户端之间基于WebSocket协议进行通信。
如图3所示,该方法可包括:
步骤301、第一客户端向LVS发送连接建立请求。
步骤302、LVS基于自身的预设负载均衡策略将第一客户端连接到Kong集群。
示例性的,LVS的预设负载均衡策略可以是哈希算法。
步骤303、Kong集群基于自身的预设负载均衡策略将第一客户端路由至预设路由列表中的第一服务器。
示例性的,Kong集群的预设负载均衡策略可以是哈希算法。
步骤304、第一服务器与第一客户端建立连接,并基于预设群组分配原则为第一客户端分配对应的第一房间标识。
示例性的,第一服务器可以随机或者指定的分配一个房间标识给第一客户端,例如游戏房间号。
步骤305、第一客户端加入第一房间标识对应的第一房间。
步骤306、第一服务器更新本地的第一类映射关系,并指示Codis集群更新第二类映射关系。
示例性的,将客户端ID与房间号的映射关系保存在第一服务器中的第一类映射关系中,将客户端ID、房间号以及服务器的IP以哈希表的形式保存在Codis中,哈希表hash名为房间号,表中的域field为客户端ID,域field的值value为服务器的IP。
步骤307、第一客户端向第一服务器发送第一请求。
步骤308、第一服务器处理第一请求,得到第一初始消息,根据第一客户端ID查询本地的第一类映射关系,得到第一房间标识,根据第一房间标识从Codis中查询第二类映射关系,得到第二客户端ID和与第二客户端连接的第二服务器的IP地址,根据第一房间标识、第二客户端ID和第一初始消息生成第一目标消息,并根据第一IP地址将第一目标消息发送至第二服务器。
步骤309、第二服务器根据第一目标消息中包含的第二客户端ID查询本地的第一类映射关系,在确定存在第二客户端ID时,将第一初始消息的消息内容发送至对应的第二客户端。
图5为本发明实施例提供的一种客户端在房间内发送消息的通讯流程示意图,如图5所示,客户端A作为第一客户端,用户A通过客户端A发送消息,对应的服务器A作为第一服务器,从Codis中查询房间内其他用户所在服务器的IP,假设房间内除了客户端A,还有客户端B和客户端C,那么客户端B和客户端C都将成为第二客户端,服务器A将目标消息推送至服务器B和服务器C,再由服务器B和服务器C向对应的用户发送消息,从而实现了房间内的用户之间的通信。
步骤310、Kong集群对预设路由列表中的第四服务器的工作状态进行检测,检测结果为异常时,将第四服务器从预设路由列表中删除。
步骤311、第四客户端检测到与第四服务器的连接断开时,向LVS重新发送连接建立请求。
步骤312、经过LVS和Kong集群将第四客户端路由至第五服务器。
步骤313、第五服务器根据第四客户端ID从Codis中查询第二类映射关系,得到对应的第二房间标识,并将第四客户端加入第二房间标识对应的第二房间,更新本地的第一类映射关系,以及更新Codis中的第二类映射关系。
本发明实施例提供的基于通信群组的通信方法,将WebSocket和Codis相结合,将客户端所在服务器信息以及所加入的房间号保存在Codis中,当一个服务器接收到客户端的消息时,根据客户端所在房间的指定房间号,从Codis中获取到房间内所有客户端所在的服务器IP,再将信息通过IP推送到指定的服务器进行消息的下发,通过这种定向传输的方式,可避免全量消费消息队列,节约服务器资源和带宽资源,可任意的扩展服务器数量,另外借助于Kong的自动摘除功能,服务异常后可自动摘除,客户端可自动重连,并加入到原来的房间中,实现系统的高可用性。
图6为本发明实施例提供的一种基于通信群组的通信装置的结构框图,该装置可由软件和/或硬件实现,一般可集成在群组通信系统中的服务器集群中的第一服务器,可通过执行基于通信群组的通信方法来进行通信。如图6所示,该装置包括:
请求处理模块601,用于处理第一客户端发送的第一请求,得到第一初始消息;
群组标识查询模块602,用于根据所述第一客户端对应的第一客户端标识查询所述第一服务器中的第一类映射关系,得到所述第一客户端当前所处的第一通信群组的第一群组标识;
通信地址查询模块603,用于根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址,其中,所述第二服务器包含于所述服务集群内;
消息发送模块604,用于根据所述第一群组标识和所述第一初始消息生成第一目标消息,并根据所述第一通信地址将所述第一目标消息发送至所述第二服务器,所述第一目标消息用于指示所述第二服务器将所述第一初始消息的消息内容发送至对应的第二客户端。
本发明实施例提供的基于通信群组的通信装置,可以使群组通信系统中服务器集群中的服务器有针对性的进行消息的消费及下发,节省服务器资源和带宽资源。
本发明实施例提供了一种服务器,该服务器中可集成本发明实施例提供的基于通信群组的通信装置。图7为本发明实施例提供的一种服务器的结构框图。服务器700包括存储器701、处理器702及存储在存储器701上并可在处理器702上运行的计算机程序,所述处理器702执行所述计算机程序时实现本发明实施例提供的基于通信群组的通信方法。
本发明实施例提供了一种群组通信系统,包括虚拟服务器、应用程序接口API网关、服务器集群、预设存储系统和多个客户端,所述系统用于执行本发明实施例提供的基于通信群组的通信方法。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例提供的基于通信群组的通信方法。
上述实施例中提供的基于通信群组的通信装置、设备以及存储介质可执行本发明任意实施例所提供的基于通信群组的通信方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的基于通信群组的通信方法。
注意,上述仅为本发明的较佳实施例。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由权利要求范围决定。
Claims (15)
1.一种基于通信群组的通信方法,其特征在于,应用于群组通信系统中的服务器集群中的第一服务器,所述服务器集群中的服务器与客户端之间基于预设通信协议进行通信,所述预设通信协议允许作为客户端的浏览器与服务器之间建立持久性连接,所述方法包括:
处理第一客户端发送的第一请求,得到第一初始消息;
根据所述第一客户端对应的第一客户端标识查询所述第一服务器中的第一类映射关系,得到所述第一客户端当前所处的第一通信群组的第一群组标识;
根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址,其中,所述第二服务器包含于所述服务集群内;
根据所述第一群组标识和所述第一初始消息生成第一目标消息,并根据所述第一通信地址将所述第一目标消息发送至所述第二服务器,所述第一目标消息用于指示所述第二服务器将所述第一初始消息的消息内容发送至对应的第二客户端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址,包括:
根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址和所述第二客户端对应的第二客户端标识;
所述根据所述第一群组标识和所述第一初始消息生成第一目标消息,包括:
根据所述第一群组标识、所述第二客户端标识和所述第一初始消息生成第一目标消息;
相应的,所述第一目标消息用于指示所述第二服务器将所述第一初始消息的消息内容发送至所述第二客户端标识对应的第二客户端。
3.根据权利要求2所述的方法,其特征在于,还包括:
接收第三服务器发送的第二目标消息;
根据所述第二目标消息中包含的第三客户端标识查询所述第一服务器中的第一类映射关系;
若确定所述第三客户端标识存在于所述第一服务器中的第一类映射关系内,则将所述第二目标消息内包含的第二初始消息的消息内容发送至对应的第三客户端。
4.一种基于通信群组的通信方法,其特征在于,应用于群组通信系统,所述群组通信系统包括虚拟服务器、应用程序接口API网关、服务器集群、预设存储系统和多个客户端;所述服务器集群中的服务器与客户端之间基于预设通信协议进行通信,所述预设通信协议允许作为客户端的浏览器与服务器之间建立持久性连接;所述方法包括:
通过所述虚拟服务器将第一客户端发送的连接建立请求转发至所述API网关;
通过所述API网关基于第一预设负载均衡策略确定预设路由列表中的用于与所述第一客户端建立连接的第一服务器,并将所述连接建立请求发送至所述第一服务器;
通过所述第一服务器与所述第一客户端建立连接,并基于预设群组分配原则为所述第一客户端分配对应的第一群组标识,所述第一群组标识用于指示将所述第一客户端加入对应的第一通信群组;
通过所述第一服务器更新所述第一服务器中的第一类映射关系,并指示所述预设存储系统更新第二类映射关系,其中,所述第一服务器中的第一类映射关系包括与所述第一服务器连接的客户端的客户端标识和客户端所在通信群组的群组标识的对应关系,所述第二类映射关系包括群组标识和服务器的通信地址的对应关系。
5.根据权利要求4所述的方法,其特征在于,还包括:
通过所述第一客户端向所述第一服务器发送第一请求;
通过所述第一服务器处理所述第一请求,得到第一初始消息;
通过所述第一服务器根据所述第一客户端对应的第一客户端标识查询所述第一服务器中的第一类映射关系,得到所述第一客户端当前所处的第一通信群组的第一群组标识;
通过所述第一服务器根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址;
通过所述第一服务器根据所述第一群组标识和所述第一初始消息生成第一目标消息,并根据所述第一通信地址将所述第一目标消息发送至所述第二服务器;
通过所述第二服务器将所述第一初始消息的消息内容发送至对应的第二客户端。
6.根据权利要求4所述的方法,其特征在于,所述第二类映射关系还包括群组标识和客户端标识的对应关系;
所述通过所述第一服务器根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址,包括:
通过所述第一服务器根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址和所述第二客户端对应的第二客户端标识;
所述通过所述第一服务器根据所述第一群组标识和所述第一初始消息生成第一目标消息,包括:
通过所述第一服务器根据所述第一群组标识、所述第二客户端标识和所述第一初始消息生成第一目标消息;
所述通过所述第二服务器将所述第一初始消息的消息内容发送至对应的第二客户端,包括:
通过所述第二服务器将所述第一初始消息的消息内容发送至所述第二客户端标识对应的第二客户端。
7.根据权利要求6所述的方法,其特征在于,所述通过所述第二服务器将所述第一初始消息的消息内容发送至所述第二客户端标识对应的第二客户端,包括:
通过所述第二服务器根据所述第一目标消息中包含的第二客户端标识查询所述第二服务器中的第一类映射关系;
若通过所述第二服务器确定所述第二客户端标识存在于所述第二服务器中的第一类映射关系内,则将所述第一目标消息内包含的第一初始消息的消息内容发送至对应的第二客户端。
8.根据权利要求6所述的方法,其特征在于,还包括:
通过所述API网关对所述预设路由列表中的第四服务器的工作状态进行检测;
通过所述API网关确定检测结果为异常时,将所述第四服务器从所述预设路由列表中删除。
9.根据权利要求8所述的方法,其特征在于,还包括:
通过第四客户端检测到与所述第四服务器的连接断开时,向所述虚拟服务器重新发送连接建立请求;
通过所述虚拟服务器将所述第四客户端重新发送的连接建立请求转发至所述API网关;
通过所述API网关基于第一预设负载均衡策略确定预设路由列表中的用于与所述第四客户端建立连接的第五服务器,并将所述连接建立请求发送至所述第五服务器。
10.根据权利要求9所述的方法,其特征在于,还包括:
通过所述第五服务器根据所述第四客户端对应的第四客户端标识从所述预设存储系统中查询所述第二类映射关系,得到所述第四客户端标识对应的第二群组标识,并将所述第四客户端加入所述第二群组标识对应的第二通信群组。
11.根据权利要求10所述的方法,其特征在于,在所述将所述第四客户端加入所述第二群组标识对应的第二通信群组之后,还包括:
通过所述第五服务器更新所述第五服务器中的第一类映射关系,以及更新所述预设存储系统中的第二类映射关系。
12.一种基于通信群组的通信装置,其特征在于,集成于群组通信系统中的服务器集群中的第一服务器,所述服务器集群中的服务器与客户端之间基于预设通信协议进行通信,所述预设通信协议允许作为客户端的浏览器与服务器之间建立持久性连接,包括:
请求处理模块,用于处理第一客户端发送的第一请求,得到第一初始消息;
群组标识查询模块,用于根据所述第一客户端对应的第一客户端标识查询所述第一服务器中的第一类映射关系,得到所述第一客户端当前所处的第一通信群组的第一群组标识;
通信地址查询模块,用于根据所述第一群组标识从预设存储系统中查询第二类映射关系,得到所述第一通信群组内当前存在的第二客户端对应的第二服务器的第一通信地址,其中,所述第二服务器包含于所述服务集群内;
消息发送模块,用于根据所述第一群组标识和所述第一初始消息生成第一目标消息,并根据所述第一通信地址将所述第一目标消息发送至所述第二服务器,所述第一目标消息用于指示所述第二服务器将所述第一初始消息的消息内容发送至对应的第二客户端。
13.一种服务器,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-3任一项所述的方法。
14.一种群组通信系统,包括虚拟服务器、应用程序接口API网关、服务器集群、预设存储系统和多个客户端,所述系统用于执行如权利要求4-11任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-11中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010568967.5A CN111787079B (zh) | 2020-06-19 | 2020-06-19 | 基于通信群组的通信方法、装置、服务器、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010568967.5A CN111787079B (zh) | 2020-06-19 | 2020-06-19 | 基于通信群组的通信方法、装置、服务器、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111787079A true CN111787079A (zh) | 2020-10-16 |
CN111787079B CN111787079B (zh) | 2023-04-07 |
Family
ID=72756959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010568967.5A Active CN111787079B (zh) | 2020-06-19 | 2020-06-19 | 基于通信群组的通信方法、装置、服务器、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111787079B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645304A (zh) * | 2021-08-13 | 2021-11-12 | 恒生电子股份有限公司 | 数据服务处理方法及相关设备 |
CN114189488A (zh) * | 2021-12-09 | 2022-03-15 | 青岛聚看云科技有限公司 | 一种消息共享方法及服务器 |
CN114844951A (zh) * | 2022-04-22 | 2022-08-02 | 百果园技术(新加坡)有限公司 | 请求处理方法、系统、设备、存储介质及产品 |
CN114866597A (zh) * | 2022-07-11 | 2022-08-05 | 广东睿江云计算股份有限公司 | 一种分组管理客户端连接方法以及系统 |
CN115022110A (zh) * | 2022-08-08 | 2022-09-06 | 广州市千钧网络科技有限公司 | 消息分发方法、可读介质以及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100332664A1 (en) * | 2008-02-28 | 2010-12-30 | Maksim Yevmenkin | Load-balancing cluster |
CN104660483A (zh) * | 2013-11-21 | 2015-05-27 | 腾讯科技(上海)有限公司 | 群组通讯方法、服务端及系统 |
CN105530615A (zh) * | 2015-10-23 | 2016-04-27 | 江苏鑫软图无线技术股份有限公司 | 基于sctp协议的组呼业务数据分组识别方法 |
US20160188591A1 (en) * | 2014-12-31 | 2016-06-30 | Nexenta Systems, Inc. | Methods and systems for key-value-tuple-encoded storage |
WO2016180188A1 (zh) * | 2015-10-09 | 2016-11-17 | 中兴通讯股份有限公司 | 分发建链方法、装置和系统 |
CN110351246A (zh) * | 2019-06-12 | 2019-10-18 | 深圳市奥克多普科技有限公司 | 服务器集群系统Socket管理方法及装置 |
CN110457113A (zh) * | 2019-06-24 | 2019-11-15 | 中国电力科学研究院有限公司 | 泛在电力物联网智能终端的管理控制系统及管理控制方法 |
CN111031058A (zh) * | 2019-12-23 | 2020-04-17 | 集奥聚合(北京)人工智能科技有限公司 | 基于WebSocket的分布式服务器集群交互方法及装置 |
-
2020
- 2020-06-19 CN CN202010568967.5A patent/CN111787079B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100332664A1 (en) * | 2008-02-28 | 2010-12-30 | Maksim Yevmenkin | Load-balancing cluster |
CN104660483A (zh) * | 2013-11-21 | 2015-05-27 | 腾讯科技(上海)有限公司 | 群组通讯方法、服务端及系统 |
US20160188591A1 (en) * | 2014-12-31 | 2016-06-30 | Nexenta Systems, Inc. | Methods and systems for key-value-tuple-encoded storage |
WO2016180188A1 (zh) * | 2015-10-09 | 2016-11-17 | 中兴通讯股份有限公司 | 分发建链方法、装置和系统 |
CN105530615A (zh) * | 2015-10-23 | 2016-04-27 | 江苏鑫软图无线技术股份有限公司 | 基于sctp协议的组呼业务数据分组识别方法 |
CN110351246A (zh) * | 2019-06-12 | 2019-10-18 | 深圳市奥克多普科技有限公司 | 服务器集群系统Socket管理方法及装置 |
CN110457113A (zh) * | 2019-06-24 | 2019-11-15 | 中国电力科学研究院有限公司 | 泛在电力物联网智能终端的管理控制系统及管理控制方法 |
CN111031058A (zh) * | 2019-12-23 | 2020-04-17 | 集奥聚合(北京)人工智能科技有限公司 | 基于WebSocket的分布式服务器集群交互方法及装置 |
Non-Patent Citations (3)
Title |
---|
QI JIANG.ET AL: "Dynamic File Grouping for Load Balancing in Streaming Media Clustered Server Systems", 《2007 INTERNATIONAL CONFERENCE ON INFORMATION ACQUISITION》 * |
于金刚: "基于IMS的融合通信关键技术研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
李慧等: "Web服务器集群系统的实现方法及负载管理", 《计算机应用》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645304A (zh) * | 2021-08-13 | 2021-11-12 | 恒生电子股份有限公司 | 数据服务处理方法及相关设备 |
CN113645304B (zh) * | 2021-08-13 | 2023-06-16 | 恒生电子股份有限公司 | 数据服务处理方法及相关设备 |
CN114189488A (zh) * | 2021-12-09 | 2022-03-15 | 青岛聚看云科技有限公司 | 一种消息共享方法及服务器 |
CN114189488B (zh) * | 2021-12-09 | 2023-10-03 | 青岛聚看云科技有限公司 | 一种消息共享方法及服务器 |
CN114844951A (zh) * | 2022-04-22 | 2022-08-02 | 百果园技术(新加坡)有限公司 | 请求处理方法、系统、设备、存储介质及产品 |
CN114844951B (zh) * | 2022-04-22 | 2024-03-19 | 百果园技术(新加坡)有限公司 | 请求处理方法、系统、设备、存储介质及产品 |
CN114866597A (zh) * | 2022-07-11 | 2022-08-05 | 广东睿江云计算股份有限公司 | 一种分组管理客户端连接方法以及系统 |
CN115022110A (zh) * | 2022-08-08 | 2022-09-06 | 广州市千钧网络科技有限公司 | 消息分发方法、可读介质以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111787079B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111787079B (zh) | 基于通信群组的通信方法、装置、服务器、系统及介质 | |
CN109618005B (zh) | 调用服务器的方法和代理服务器 | |
CN111615066B (zh) | 一种基于广播的分布式微服务注册及调用方法 | |
US10367852B2 (en) | Multiplexed demand signaled distributed messaging | |
EP4009593A1 (en) | Data transmission method and apparatus, network card and storage medium | |
KR100722916B1 (ko) | 통신 관리자가 장치된 컴퓨터 시스템에 의한액티브티-베이스 협력 방법 및 장치 | |
EP1869868B1 (en) | System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers | |
KR101914488B1 (ko) | 푸시 알림 서비스를 위한 서버 클러스터 및 방법 | |
US9342575B2 (en) | Providing high availability in an active/active appliance cluster | |
EP1649667B1 (en) | Self-managed mediated information flow | |
CN112769837B (zh) | 基于WebSocket的通信传输方法、装置、设备、系统及存储介质 | |
US20110040892A1 (en) | Load balancing apparatus and load balancing method | |
WO2014190791A1 (zh) | 一种网关设备身份设置的方法及管理网关设备 | |
EP2939401B1 (en) | Method for guaranteeing service continuity in a telecommunication network and system thereof | |
JP6106334B2 (ja) | 高度なサービスルーティングを実行するための方法、システムおよびコンピュータ読取可能媒体 | |
CN111345008A (zh) | 移动边缘主机服务通知方法和装置 | |
CN110012118B (zh) | 一种提供网络地址转换nat服务的方法及控制器 | |
TW200928777A (en) | Data processing method and apparatus based on cluster | |
KR101920630B1 (ko) | 단말을 서버에 할당하고 단말로의 효율적인 메시징을 위한 시스템 및 방법 | |
CN114900526A (zh) | 负载均衡方法及系统、计算机存储介质、电子设备 | |
CN109120556B (zh) | 一种云主机访问对象存储服务器的方法及系统 | |
JP5526780B2 (ja) | 負荷分散システム、サービス処理サーバ、負荷分散方法及び負荷分散プログラム | |
CN116094923A (zh) | 云实例迁移后的网关更新方法及装置和电子设备 | |
CN111328033B (zh) | 一种短信负载传输方法和系统 | |
JP2000200245A (ja) | 情報利用システム及び情報利用方法 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231009 Address after: 31a, 15th floor, building 30, maple commercial city, bangrang Road, Brazil Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd. Address before: 5-13 / F, West Tower, building C, 274 Xingtai Road, Shiqiao street, Panyu District, Guangzhou, Guangdong 510000 Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd. |