CN114157605B - 一种通讯方法、***、电子设备及计算机可读存储介质 - Google Patents
一种通讯方法、***、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114157605B CN114157605B CN202111318682.7A CN202111318682A CN114157605B CN 114157605 B CN114157605 B CN 114157605B CN 202111318682 A CN202111318682 A CN 202111318682A CN 114157605 B CN114157605 B CN 114157605B
- Authority
- CN
- China
- Prior art keywords
- equipment
- load balancing
- cluster
- routing
- service
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 95
- 238000004891 communication Methods 0.000 title claims abstract description 94
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000002159 abnormal effect Effects 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000003993 interaction Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000003203 everyday effect Effects 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000002354 daily effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- 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/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- 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/148—Migration or transfer of sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及通信的技术领域,尤其是涉及一种通讯方法、***、电子设备及计算机可读存储介质。该方法包括:根据业务流量预测选择负载均衡方式;业务流量预测正常的情况下,进行路由集群负载均衡;业务流量预测异常的情况下,进行客户端负载均衡。本申请解决了游戏服务架构内部通讯堵塞的技术问题。
Description
技术领域
本申请涉及通信的技术领域,尤其是涉及一种通讯方法、***、电子设备及计算机可读存储介质。
背景技术
目前,用于实现游戏功能的大型网络服务的***处理能力成为互联网的研究热点,其中,基于解决负载均衡、提高设备性能而提出了服务器分布式部署方式。服务器分布式部署是指游戏中同一游戏内的数据和程序可以不位于同一个服务器上,而是分散到多个服务器,数据通过网络在客户端和服务器之间进行远程传输,进而实现通信的一个完整的***。
现有的游戏服务架构包括设备以及路由,设备包括玩家服、地图服等。参照图1,游戏服务架构的简单模型包括设备与路由节点,通过路由节点转发设备与设备之间的业务流量。参照图2,在跨集群、混合云的通讯情况下,游戏服务架构包括设备与路由集群,设备之间通过路由集群转发以进行信息交互。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:在游戏服务架构中,对于服务器之间的内部负载均衡的解决方式可采用路由集群,通过路由集群分担服务器之间交互产生的业务流量,这样的处理方式不能适应业务流量突发性增长的情况,在业务流量突发性增长时,会导致服务器内部通讯堵塞。
发明内容
为此,本申请的实施例提供了一种通讯方法、***、电子设备及计算机可读存储介质,能够解决游戏服务架构内部通讯堵塞的技术问题,具体技术方案内容如下:
第一方面,本申请的实施例提供一种通讯方法,所述方法包括:
根据业务流量预测选择负载均衡方式;
业务流量预测正常的情况下,进行路由集群负载均衡;
业务流量预测异常的情况下,进行客户端负载均衡。
通过采用上述技术方案,游戏服务架构内部基于业务流量预测进行业务流量均衡,提供路由集群负载均衡以及客户端负载均衡,解决了在业务流量激增的情况下,路由集群发生阻塞而导致设备之间通讯阻塞的问题,进而解决了游戏服务架构内部通讯堵塞的技术问题。
优选的,所述方法还包括:
将当前设备相关数据由第一设备迁移至第二设备,所述第一设备为与当前设备进行通讯连接的节点,所述第二设备为根据负载均衡策略当前设备需进行通讯连接的新节点。
通过采用上述技术方案,在业务流量预测异常的时候,迁移数据量激增的设备的数据,进行业务流量均衡,从而减少设备之间产生拥堵。
优选的,所述将当前设备相关数据由第一设备迁移至第二设备包括:
当前设备通知第一设备将第一设备与当前设备之间的会话持久化或直接将第一设备与当前设备之间的会话复制到第二设备,其中所述会话记录设备的身份信息;
第一设备生成唯一标识,将唯一标识发送至当前设备以及第二设备。
通过采用上述技术方案,将会话持久化或直接复制至第二设备,通过唯一标识关联当前设备与第二设备,以进行设备确认,无需再次建立连接即可进行通信。
优选的,所述会话还保存了游戏角色数据。
通过采用上述技术方案,简化设备切换的切换逻辑,便于游戏开发、维护。
优选的,所述路由集群为中心路由集群。
通过采用上述技术方案,中心路由器实现负载均衡,以解决同一集群内多台路由业务流量分担不均,而导致的资源浪费以及部分路由拥堵的问题,且解决了网络穿透、跨集群设备治理、通讯稳定性(跨集群通讯采用rudp解决网络丢包导致通讯延迟的问题)等问题。
优选的,所述方法还包括:于设备与路由集群之间和/或路由集群与路由集群之间建立长连接,通过长连接实现设备与路由集群之间的通讯连接。
通过采用上述技术方案,使用长连接,成本更加的低,可以减少重复握手和挥手,端口的申请和释放,减少请求连接的业务流量;将设备与路由集群分别当作单个主体建立长连接,游戏服务架构中路由集群的数量已知,设备数量已知,建立长连接的数量则可知,简化运维管理的复杂度,便于运维管理。
优选的,设备和路由集群之间建立长连接时,路由集群注册该设备信息和对应的长连接,并且通过gossip算法向路由集群漫游这份注册信息。
通过采用上述技术方案,对长连接进行管理,采用gossip算法利用一种随机的方式将信息传播到整个网络中,并在一定时间内使得游戏服务架构内的所有节点数据一致,解决状态在集群中的传播和状态一致性的保证两个问题,且具有可扩展性、容错、健壮性、最终一致性、简单等优点。
优选的,于设备与设备之间建立长连接。
通过采用上述技术方案,通过建立设备与设备之间的长连接,实现设备与设备之间的点对点通信,减少请求中握手、挥手的次数,进而减少请求的业务流量。
优选的,以路由集群作为服务注册发现,获取设备的ip以及端口号建立路由表;
所述于设备与设备之间建立点对点通信包括:根据路由表建立设备与设备之间的长连接。
通过采用上述技术方案,由路由集群作为服务注册发现,设备在路由集群注册时,上报自身的ip和端口,在路由集群建立路由表,便于业务流量预测超出阈值的时候,直接由路由表获取设备的ip和端口号。
优选的,所述业务流量预测异常的情况下,进行客户端负载均衡前包括:
若业务流量预估值超出第一阈值或流量动态变更峰谷差值大于第二阈值,则以路由集群作为服务注册发现,获取服务的ip以及端口号建立路由表。
通过采用上述技术方案,当业务流量预测超出阈值时,才进行路由集群对设备做服务注册发现以及存储路由表,在业务流量正常的情况下,不需路由集群做服务注册发现以及建立路由表,减少路由集群的计算量以及存储的数据量。
优选的,所述根据业务流量预测选择负载均衡方式包括:在当前游戏服务架构运行前,提前基于历史业务流量数据,对当前游戏服务架构运行出现的业务流量突变的情况进行预测,预先设置更换负载均衡方式的时间节点。
通过采用上述技术方案,采用***业务流量的方法,在游戏服务架构运行前就预测好业务流量激增的时间节点,提前做好选择负载均衡方式的准备,对激增的业务流量有较好的处理能力,减少路由集群的压力,减轻跨集群、跨云商通讯交互的延迟,且做到上层业务对底层环境无感。
第二方面,本申请的实施例提供一种通讯***,所述***包括:
配置模块,用于根据业务流量预测选择负载均衡方式;
路由集群均衡模块,用于业务流量预测正常的情况下,进行路由集群负载均衡;
客户端均衡模块,用于业务流量预测异常的情况下,进行客户端负载均衡。
第三方面,本申请的实施例提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述任意一项所述的通讯方法的步骤。
第四方面,本申请的实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述任意一项所述的通讯方法的步骤。
综上所述,与现有技术相比,本申请实施例提供的技术方案带来的有益效果至少包括:
1、设置路由集群负载均衡以及客户端负载均衡两种负载均衡方式,根据业务流量预测选择负载均衡方式,在业务流量预测正常的情况下采用路由集群负载均衡实现业务流量均衡;当业务流量预测超出阈值的情况下,再优化建立设备与设备之间的客户端负载均衡,有效的减少了设备内部拥堵的情况;
2、将会话持久化或直接复制至会话所需迁移到的目标设备,并通过唯一标识恢复完整的会话,当前服务和目标设备之间建立的新连接无需重复鉴权;
3、采用***业务流量的方法,在游戏服务架构运行前就预测好业务流量激增的时间节点,提前做好选择负载均衡方式的准备,对激增的业务流量有较好的处理能力,减少路由集群的压力,减轻跨集群、跨云商通讯交互的延迟,且做到上层业务对底层环境无感,进而提高用户的体验感。
附图说明
图1是背景技术中游戏服务架构简单模型的结构示意图。
图2是背景技术中游戏服务架构在跨集群、混合云的通讯情况下的结构示意图。
图3是本申请其中一实施例提供的通讯方法的流程示意图。
图4是本申请另一实施例提供的通讯方法的流程示意图之一。
图5是本申请另一实施例提供的通讯方法的流程示意图之二。
图6是本申请另一实施例提供的通讯方法的流程示意图之三。
图7是本申请另一实施例提供的通讯方法的流程示意图之四。
图8是本申请其中一实施例提供的通讯方法的框架示意图。
图9本申请其中一实施例提供的通讯***的结构示意图。
图10是本申请其中一实施例提供的计算机设备的结构示意图。
具体实施方式
本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
下面结合说明书附图对本申请实施例作进一步详细描述。
参照图3,在本申请的一个实施例中,提供一种通讯方法,所述方法的主要步骤描述如下:
S1:根据业务流量预测选择负载均衡方式;
S11:业务流量预测正常的情况下,进行路由集群负载均衡;
S12:业务流量预测异常的情况下,进行客户端负载均衡。
具体的,在本实施例中,在游戏服务架构内部设置负载均衡策略,负载均衡策略为根据业务流量预测选择负载均衡方式,业务流量预测正常,则说明业务流量在游戏服务架构的承载范围内;业务流量预测异常,则说明预估流量过大或者流量动态变更峰谷差较大。
业务流量预测异常的情况下,路由集群负载均衡与客户端负载均衡可并存,也可单独执行客户端负载均衡。
路由集群负载均衡为由路由集群内各个路由节点协调业务流量的方式,有且不限于这两种方式:1、等价负载均衡:将业务流量均等地分布到多条度量相同的路径上;2、非等价负载均衡:是将业务流量分布到不同度量的多条路径上,各条路径上分布的流量和路由开销成反比。
进一步的,本实施例的其他实施方式中,在进行客户端负载均衡时,同步进行路由集群负载均衡,即业务流量预测超出阈值的情况下,部分设备之间的通讯通过路由集群转发,做路由集群负载均衡;部分设备之间的通讯通过设备之间进行客户端负载均衡。
客户端负载均衡为客户端通过负载均衡策略决定单次请求使用哪个服务的方式,即设备通过负载均衡策略请求与相应的设备之间建立连接,无需采用当前游戏服务架构内的路由集群进行消息转发,于设备与设备之间建立点对点通信。
通过设备内部进行业务流量均衡,提供路由集群负载均衡以及客户端负载均衡,解决了在业务流量激增的情况下,路由集群发生阻塞而导致游戏服务架构之间通讯阻塞的问题。
在本实施例中,业务流量预测切换负载均衡方式的方法有且不限于以下两种:
1、实时预测,在游戏服务架构运行时,同步进行业务流量预测,具体的方式可以为:实时检测玩家请求数据,当玩家请求数据出现小范围激增,激增的数量超出阈值,则判断业务流量预测超出阈值,启用客户端负载均衡,阈值根据实际情况设置;在其他实施方式中,也可以采用其他的实时预测方法,在这里不作赘述。
2、***,在当前游戏服务架构运行前,提前基于历史业务流量数据,对当前游戏服务架构运行出现的业务流量突变的情况进行预测,预先设置更换负载均衡方式的时间节点,具体可以为:
(1)基于历史业务流量数据按时间变化的曲线图,根据历史业务流量数据预估业务流量状态的方式为:业务流量超过阈值或者业务流量动态变更峰谷差超过阈值的时间节点为更换负载均衡方式的时间节点;
举例如下:比如由业务流量超过阈值预估业务流量状态,根据历史日业务流量数据按时间变化的曲线图得出,在每日晚上8点出现流量超过阈值的情况,则预估业务流量状态为每日晚上8点会出现业务流量突发增长,预设在每日晚上8点切换负载均衡方式为客户端负载均衡方式;根据历史日业务流量数据按时间变化的曲线图得出在每日晚上11点业务流量恢复正常,则预估业务流量状态为每日晚上11点业务流量恢复正常,预设在每日晚上11点切换负载均衡方式为路由集群负载均衡,阈值的具体含义根据预估业务流量的方式有关;
阈值根据预估业务流量状态的方式设置,当由业务流量超过阈值预估业务流量状态,则阈值为当前游戏服务架构可能出现通讯阻塞的业务流量数值;当由业务流量动态变更峰谷差超过阈值预估业务流量状态,则阈值设置为业务流量正常的平均值与当前游戏服务架构可能出现通讯阻塞的业务流量数值的差值;
需要说明的是,预估业务流量状态的方式并不仅限于上述方式,阈值的设置也并不仅限于上述方式,在此不作赘述。参照图4,进一步的,在本实施方式中,根据业务流量预测选择负载均衡方式采用***,采用***有如下优点:采用***业务流量的方法,在游戏服务架构运行前就预测好业务流量激增的时间节点,提前做好选择负载均衡方式的准备,对激增的业务流量有较好的处理能力,减少路由集群的压力,减轻跨集群、跨云商通讯交互的延迟,且做到上层业务对底层环境无感。
可选的,在另一实施方式中,路由集群采用中心路由集群,即设有中心路由器的路由集群,中心路由器实现数据分组选路和转发。通过中心路由器实现负载均衡,以解决同一路由集群内多台路由业务流量分担不均,而导致的资源浪费的问题。
参照图5,可选的,在另一实施方式中,进行客户端负载均衡包括:将当前设备相关数据由第一设备迁移至第二设备,所述第一设备为与当前设备进行通讯连接的节点,所述第二设备为根据负载均衡策略当前设备需进行通讯连接的新节点,在本实施例中,以第二设备设置为一个为例。
当前设备与第一设备之间信息交互业务流量预测异常时,将当前设备的部分数据由第一设备迁移至第二设备,以减少设备之间信息交互发生拥挤的情况发生。
参照图6,将当前设备相关数据由第一设备迁移至第二设备包括:
S121:当前设备通知第一设备将第一设备与当前设备之间的会话持久化或直接将第一设备与当前设备之间的会话复制到第二设备,其中所述会话记录设备的身份信息;
S122:第一设备生成唯一标识,将唯一标识发送至当前设备以及第二设备。
具体的,身份信息记录于会话里,可以解决切换设备时,必须要重复鉴权才能解决的安全问题,将设备之间的会话绑定于设备之间的通讯连接上,且用会话记录设备的身份信息以及通讯连接的状态信息,在切换连接目标设备的时候,建立新连接无需重复鉴权,减少重复鉴权的业务流量。
会话持久化也称为会话保持,会话持久化即设备首次登录另一设备的时候,比如玩家端(即当前设备)登录设备端(即第一设备),登录成功之后,设备端会把玩家端记录在会话的用户信息,比如身份信息以及通信连接的状态信息等,保存在设备端,并生成唯一的标识,设备端在业务流量异常的情况下,将保存的用户信息迁移至其他设备端(即第二设备),下次玩家端登录时根据其唯一标识,登录其他设备端,其他设备端根据唯一标识可恢复玩家端会话信息。
而在玩家端与设备端已经建立连接的情况下,当业务流量预测异常,可在建立连接的前提下直接将相关用户信息复制到其他有处理空间的设备端,即直接复制到第二设备。
唯一标识为密钥,在其他实施方式中,也可以为唯一的序列号等,在此不一一赘述。
可选的,在另一实施方式中,会话还保存了游戏角色数据,一般情况下,玩家服与其他设备之间的会话保存了游戏角色数据,游戏角色数据通常包括游戏的角色信息、状态等,在此不一一赘述。
通过此设置,在切换设备时,通过会话持久化,可以简化设备之间的切换逻辑,便于游戏开发。
参照图7,可选的,在另一实施方式中,通讯方法包括:
S2:于设备与路由集群之间和/或路由集群与路由集群之间建立长连接,通过长连接实现设备与路由集群之间的通讯连接。
以建立长连接的方式做负载均衡有如下效果:1、使用长连接,成本更加的低,可以减少重复握手和挥手,端口的申请和释放,减少请求连接的业务流量;2、将设备与路由集群分别当作单个主体建立长连接,游戏服务架构中路由集群的数量已知,建立长连接的数量则可预测,简化运维管理的复杂度,便于运维管理。
在本实施方式中,存在以下3种情况:1、仅在设备与路由集群之间建立长连接;2、仅在路由集群于路由集群之间建立长连接;3、在设备与路由集群、路由集群与路由集群之间均建立长连接。
进一步的,在本实施方式中,游戏服务架构中常用上述第3种情况,在设备与路由集群、路由集群与路由集群之间均建立长连接,简化设备与路由集群、路由集群与路由集群之间信息交互建立连接的过程。
进一步的,本实施方式中,于设备与路由集群之间和/或路由集群与路由集群之间建立长连接,通过长连接实现设备与路由集群之间的通讯连接中的路由集群优选为中心路由集群。
在游戏服务架构中,设备与路由集群和/或路由集群与路由集群之间建立长连接,减去每次请求建立连接的过程,进而减少业务流量;在路由集群内部,设有中心路由器,以中心路由器实现业务流量的分组分发以及处理设备的请求,中心路由集群可以减少业务请求中发生阻塞、资源分配不合理的情况,设备与路由集团和/或路由集团与路由集团之间建立长连接减少了中心路由器处理建立请求连接的业务量,进而使中心路由器可有更多的计算空间用于业务流量的分组分发,更进一步的减少了设备进行业务请求发生堵塞的情况,通过建立长连接以及采用中心路由集群相辅相成的方式,可以有效解决游戏服务架构中业务流量激增导致通讯堵塞的问题。
可选的,在另一实施方式中,建立长连接时,进行授权校验。
建立长连接时进行授权校验,以增加通讯过程的安全性,也避免攻击方接入,造成游戏服务架构崩溃的情况。进行长连接的校验可通过密钥、校验码等方式进行,在此不作赘述。
可选的,在另一实施方式中,设备和路由集群之间建立长连接时,路由集群注册该设备信息和对应的长连接,并且通过gossip算法向路由集群漫游这份注册信息,以对长连接进行管理。
可选的,在另一实施方式中,于设备与设备之间建立点对点通信。
当业务流量预测异常的时候,于设备与设备之间建立点对点通信,使设备与设备之间的通讯不需经过路由集群,从而起到业务流量负载均衡的效果。
设备与设备之间建立点对点通信需要获知设备ip以及端口号,获取ip和端口号的方式可以为:在业务流量预测超出阈值的时间节点前,设备提前请求需要进行点对点连接的另一设备的ip和端口号,以在业务流量预测超出阈值的时间节点时或该时间节点前建立设备与设备之间的点对点通信。
可选的,在另一实施方式中,点对点通信方式为建立长连接。
通过建立设备与设备之间的长连接,实现设备与设备之间的点对点通信,减少请求中握手、挥手的次数,进而减少请求的业务流量。
可选的,在另一实施方式中,通讯方法还包括:
以路由集群作为服务注册发现,获取设备的ip以及端口号建立路由表;
于设备与设备之间建立长连接包括:根据路由表建立设备与设备之间的长连接。
由路由集群作为服务注册发现,设备在路由集群注册时,上报自身的ip和端口,在路由集群建立路由表,便于业务流量预测异常的时候,直接由路由表获取设备的ip和端口号。
举例如下:现有设备服务A、服务B接入路由集群,且同时开放本地通讯端口并且以元数据的方式上报通讯ip和端口到路由集群中,在服务A与服务B(服务B包括服务B-1、服务B-2)接入的初期,服务A、服务B采用路由集群通讯,路由集群会定时采集自身负载信息,和各设备间的通讯流量,假设服务A和服务B的流量超过路由集群预设的流量值,参照图8,路由集群节点会通知服务A、服务B的接入服务做通讯模式改变。接入服务根据同步到的上、下游服务信息(即路由表),和上、下游服务做直连通讯。
可选的,在另一实施方式中,路由集群作为服务注册发现建立路由表在业务流量预测异常时进行,在业务流量正常的情况下,不需路由集群做服务注册发现以及建立路由表,减少路由集群的计算量以及存储的数据量。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参照图9,在本申请的一个实施例中,提供一种通讯***,该通讯***与上述实施例中的通讯方法一一对应。该通讯***包括:
配置模块,用于根据业务流量预测选择负载均衡方式;
路由集群均衡模块,用于业务流量预测正常的情况下,进行路由集群负载均衡;
客户端均衡模块,用于业务流量预测异常的情况下,进行客户端负载均衡。
进一步的,在另一实施方式中,配置模块用于在当前游戏服务架构运行前,提前基于历史业务流量数据,对当前游戏服务架构运行出现的业务流量突变的情况进行预测,预先设置更换负载均衡方式的时间节点。
进一步的,在另一实施方式中,路由集群采用中心路由集群。
进一步的,在另一实施方式中,还包括长连接建立模块,长连接建立模块用于在设备与路由集群之间和/或路由集群与路由集群之间建立长连接,通过长连接实现设备与路由集群之间的通讯连接。
进一步的,在另一实施方式中,通讯***还包括校验模块。
检验模块用于建立长连接时,进行授权校验。
进一步的,在另一实施方式中,通讯***还包括长连接管理模块。
长连接管理模块用于设备和路由集群之间建立长连接时,路由集群注册该设备信息和对应的长连接,并且通过gossip算法向路由集群漫游这份注册信息,以对长连接进行管理。
进一步的,在另一实施方式中,长连接建立模块还用于在设备与设备之间建立长连接。
进一步的,在另一实施方式中,通讯***还包括注册模块。
注册模块用于以路由集群作为服务注册发现,获取设备的ip以及端口号建立路由表。
进一步的,在另一实施方式中,客户端均衡模块包括:将当前设备相关数据由第一设备迁移至第二设备,所述第一设备为与当前设备进行通讯连接的节点,所述第二设备为根据负载均衡策略当前设备需进行通讯连接的新节点。
进一步的,在另一实施方式中,客户端均衡模块还包括信息保持子模块以及标识生成子模块。
信息保持子模块用于当前设备通知第一设备将与当前设备的会话持久化或直接复制到第二设备。
标识生成子模块用于对方设备生成唯一标识,将唯一标识发送至当前设备以及第二设备。
上述的通讯***各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
参照图10,在本申请实施例的一个实施例中,提供一种计算机设备,该计算机设备可以是服务器。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:磁盘,光盘,EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器),SRAM(Static Random Access Memory,静态随时存取存储器),ROM(ReadOnly Memory,只读存储器),磁存储器,快闪存储器,PROM(Programmable Read OnlyMemory,可编程只读存储器)。该计算机设备的存储器为存储于其内部的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现上述实施例所述的通讯方法步骤。
在本申请的一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例所述的通讯方法步骤。所述计算机可读存储介质包括ROM(Read Only Memory,只读存储器)、RAM(RandomAccess Memory,随机存取存储器)、CD ROM(Compact Disc Read Only Memory,只读光盘)、磁盘、软盘等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将本申请所述***的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
Claims (10)
1.一种通讯方法,其特征在于,所述方法包括:
根据业务流量预测选择负载均衡方式;
业务流量预测正常的情况下,进行路由集群负载均衡,所述路由集群负载均衡为由路由集群内各个路由节点协调业务流量的方式,至少包括两种方式:等价负载均衡:将业务流量均等地分布到多条度量相同的路径上;和非等价负载均衡:是将业务流量分布到不同度量的多条路径上,各条路径上分布的流量和路由开销成反比;
业务流量预测异常的情况下,则以路由集群作为服务注册发现,获取设备的ip以及端口号建立路由表,根据路由表建立设备与设备之间的长连接,进行客户端负载均衡;所述进行客户端负载均衡包括:将当前设备相关数据由第一设备迁移至第二设备,所述第一设备为与当前设备进行通讯连接的节点,所述第二设备为根据负载均衡策略当前设备需进行通讯连接的新节点。
2.根据权利要求1所述的通讯方法,其特征在于,所述将当前设备相关数据由第一设备迁移至第二设备包括:
当前设备通知第一设备将第一设备与当前设备之间的会话持久化或直接将第一设备与当前设备之间的会话复制到第二设备,其中所述会话记录当前设备的身份信息;
第一设备基于所述身份信息生成唯一标识,将唯一标识发送至当前设备以及第二设备,通过唯一标识关联当前设备与第二设备。
3.根据权利要求2所述的通讯方法,其特征在于,所述会话还保存了游戏角色数据。
4.根据权利要求1所述的通讯方法,其特征在于,所述路由集群为中心路由集群。
5.根据权利要求1-4任意一种所述的通讯方法,其特征在于,所述方法还包括:于设备与路由集群之间和/或路由集群与路由集群之间建立长连接,通过长连接实现设备与路由集群之间的通讯连接。
6.根据权利要求5所述的通讯方法,其特征在于,设备和路由集群之间建立长连接时,路由集群注册该设备信息和对应的长连接,并且通过gossip算法向路由集群漫游这份注册信息。
7.根据权利要求1所述的通讯方法,其特征在于,所述根据业务流量预测选择负载均衡方式包括:在当前游戏服务架构运行前,提前基于历史业务流量数据,对当前游戏服务架构运行出现的业务流量突变的情况进行预测,预先设置更换负载均衡方式的时间节点。
8.一种通讯***,其特征在于,所述***包括:
配置模块,用于根据业务流量预测选择负载均衡方式;
路由集群均衡模块,用于业务流量预测正常的情况下,进行路由集群负载均衡,所述路由集群负载均衡为由路由集群内各个路由节点协调业务流量的方式,至少包括两种方式:等价负载均衡:将业务流量均等地分布到多条度量相同的路径上;和非等价负载均衡:是将业务流量分布到不同度量的多条路径上,各条路径上分布的流量和路由开销成反比;
客户端均衡模块,用于业务流量预测异常的情况下,则以路由集群作为服务注册发现,获取设备的ip以及端口号建立路由表,根据路由表建立设备与设备之间的长连接,进行客户端负载均衡,所述进行客户端负载均衡包括:将当前设备相关数据由第一设备迁移至第二设备,所述第一设备为与当前设备进行通讯连接的节点,所述第二设备为根据负载均衡策略当前设备需进行通讯连接的新节点。
9.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7任意一项所述的通讯方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述的通讯方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111318682.7A CN114157605B (zh) | 2021-11-08 | 2021-11-08 | 一种通讯方法、***、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111318682.7A CN114157605B (zh) | 2021-11-08 | 2021-11-08 | 一种通讯方法、***、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114157605A CN114157605A (zh) | 2022-03-08 |
CN114157605B true CN114157605B (zh) | 2024-03-01 |
Family
ID=80459964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111318682.7A Active CN114157605B (zh) | 2021-11-08 | 2021-11-08 | 一种通讯方法、***、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114157605B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225560B (zh) * | 2022-07-15 | 2023-08-22 | 国网河南省电力公司信息通信公司 | 一种电力通信业务中路由规划方法 |
CN115474215B (zh) * | 2022-09-06 | 2023-03-21 | 广东九博科技股份有限公司 | 一种基于路由器的组网方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593133A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
CN103108039A (zh) * | 2013-01-25 | 2013-05-15 | 暨南大学 | 一种低能耗集群环境下的服务质量保证方法 |
CN108574727A (zh) * | 2018-03-07 | 2018-09-25 | 天津麒麟信息技术有限公司 | 一种基于飞腾平台的改进的负载均衡调度*** |
US10356223B1 (en) * | 2016-03-17 | 2019-07-16 | Amazon Technologies, Inc. | Connection migration for Internet of Things (IoT) devices |
CN112671928A (zh) * | 2020-12-31 | 2021-04-16 | 北京天融信网络安全技术有限公司 | 设备集中管理架构、负载均衡方法、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10348812B2 (en) * | 2015-06-22 | 2019-07-09 | Vmware Inc. | Sticky session data migration |
CN110417842B (zh) * | 2018-04-28 | 2022-04-12 | 北京京东尚科信息技术有限公司 | 用于网关服务器的故障处理方法和装置 |
-
2021
- 2021-11-08 CN CN202111318682.7A patent/CN114157605B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593133A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
CN103108039A (zh) * | 2013-01-25 | 2013-05-15 | 暨南大学 | 一种低能耗集群环境下的服务质量保证方法 |
US10356223B1 (en) * | 2016-03-17 | 2019-07-16 | Amazon Technologies, Inc. | Connection migration for Internet of Things (IoT) devices |
CN108574727A (zh) * | 2018-03-07 | 2018-09-25 | 天津麒麟信息技术有限公司 | 一种基于飞腾平台的改进的负载均衡调度*** |
CN112671928A (zh) * | 2020-12-31 | 2021-04-16 | 北京天融信网络安全技术有限公司 | 设备集中管理架构、负载均衡方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114157605A (zh) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107852604B (zh) | 用于提供全局虚拟网络(gvn)的*** | |
CN114157605B (zh) | 一种通讯方法、***、电子设备及计算机可读存储介质 | |
CN108023812B (zh) | 云计算***的内容分发方法及装置、计算节点及*** | |
WO2011140951A1 (zh) | 负载均衡的方法、设备和*** | |
CN106713378B (zh) | 实现多个应用服务器提供服务的方法和*** | |
WO2023124309A1 (zh) | 一种云原生upf信令面负载均衡选择方法及*** | |
EP2613500A1 (en) | Content-centric network and method of performing routing between domains therefor | |
CN112087382B (zh) | 一种服务路由方法及装置 | |
JP5564661B2 (ja) | 中継ノード及び中継処理プログラム | |
CN116633934A (zh) | 负载均衡方法、装置、节点及存储介质 | |
CN109639502B (zh) | 回源控制方法及内容分发网络 | |
CN112243036B (zh) | PaaS服务的数据处理方法及装置、设备、存储介质 | |
US11894978B1 (en) | Computing power scheduling methods, apparatus, electronic devices and storage media | |
CN111510958B (zh) | 一种消息接入负载均衡方法及*** | |
JP2016508695A (ja) | 分散型プロセッサシステムにおいて、ネットワークフロー予測、フローオーナーシップ割り当て、およびイベント集計を実施するセキュリティデバイス | |
Shuai et al. | A cost-based distributed algorithm for load balancing in content delivery network | |
CN106909322B (zh) | 一种虚拟化***中支持存储灾备的路由方法及装置 | |
CN116846900A (zh) | 一种负载均衡智能调度方法、装置及设备 | |
AlShammari et al. | BL‐Hybrid: A graph‐theoretic approach to improving software‐defined networking‐based data center network performance | |
Hoang et al. | New distributed constraint satisfaction algorithms for load balancing in edge computing: A feasibility study | |
CN114584558A (zh) | 云边协同分布式api网关***及api调用方法 | |
Keizer et al. | Rewarding relays for decentralised nat traversal using smart contracts | |
KR20190048324A (ko) | 다중 네트워크 기반의 서비스를 제공하는 방법 및 장치 | |
CN112769590B (zh) | 一种基于区块链的软件定义内容分发网络服务器选择方法 | |
CN112486649B (zh) | 一种顾及空间约束的gis服务网关平台 |
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 |