[发明专利]服务器负载均衡方法及装置有效
申请号: | 201910475735.2 | 申请日: | 2019-06-03 |
公开(公告)号: | CN110209500B | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 李白 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;H04L67/1008;A63F13/358 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 孙静;刘芳 |
地址: | 310052 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 服务器 负载 均衡 方法 装置 | ||
1.一种服务器负载均衡方法,其特征在于,应用于游戏服务器集群,所述游戏服务器集群包括多个游戏服务器,各所述游戏服务器之间互相通信,所述方法包括:
第一进程根据客户端的注册信息,判断所述客户端对应的用户的游戏数据是否为空,所述注册信息包括所述用户的标识对应的游戏服务器的标识,所述第一进程为在随机选择的第二游戏服务器中随机选择的进程;
若是,则获取各所述游戏服务器的第一在线人数,并根据各所述游戏服务器的第一在线人数得到各所述游戏服务器的权重;
根据各所述游戏服务器的权重,得到目标游戏服务器,其中,所述目标游戏服务器为所述权重满足预设条件的游戏服务器,所述预设条件为所述权重最大;
将所述目标游戏服务器的连接信息发送给所述客户端,使得所述客户端连接所述目标游戏服务器,其中,所述连接信息包括目标游戏服务器的连接地址;
所述游戏服务器包括一个单点进程,其中,所述单点进程用于确定所述游戏服务器的第一在线人数,并向游戏服务器集群的其余游戏服务器的单点进程广播所述第一在线人数,所述单点进程还用于接收游戏服务器集群的其余游戏服务器的单点进程、所广播的其余游戏服务器的第一在线人数,并向所述游戏服务器中的游戏进程广播所述游戏服务器集群中的各所述游戏服务器的第一在线人数;
所述根据各所述游戏服务器的第一在线人数得到各所述游戏服务器的权重,包括:
根据各所述游戏服务器的第一在线人数和各所述游戏服务器的游戏进程的个数,得到各所述游戏服务器中各游戏进程的平均在线人数;
针对任一游戏服务器,判断其包括的所述游戏进程的平均在线人数是否超过第一预设阈值;
若是,则确定所述游戏服务器的权重为预设权重;
若否,则确定所述游戏服务器的权重为所述第一预设阈值与所述游戏进程的平均在线人数之间的差值。
2.根据权利要求1所述的方法,其特征在于,所述游戏服务器还包括多个游戏进程,其中,所述游戏进程用于处理所述游戏服务器的运行逻辑。
3.根据权利要求2所述的方法,其特征在于,所述获取各所述游戏服务器的第一在线人数,包括:
针对任一游戏进程,根据第一预设周期检测所述游戏进程的第二在线人数是否发生变化;
若是,则将所述第二在线人数发送至所述游戏进程所在的游戏服务器的单点进程;
根据各所述游戏服务器包括的各所述游戏进程的第二在线人数,得到各所述游戏服务器的第一在线人数。
4.根据权利要求3所述的方法,其特征在于,所述根据各所述游戏服务器包括的各所述游戏进程的第二在线人数,得到各所述游戏服务器的第一在线人数,包括:
所述单点进程根据所在游戏服务器中各所述游戏进程的第二在线人数进行累加处理,得到所在的游戏服务器的第一在线人数;
所述单点进程根据其余的单点进程广播的第一在线人数,得到各所述游戏服务器的第一在线人数,并将各所述游戏服务器的第一在线人数发送至所述单点进程所在的游戏服务器的各游戏进程。
5.根据权利要求1所述的方法,其特征在于,若用户的游戏数据不为空,所述方法还包括:
根据客户端的注册信息,获取第一游戏服务器的标识,其中,所述第一游戏服务器为用户的游戏数据所在的服务器;
根据所述第一游戏服务器的标识,判断所述第一游戏服务器是否关闭或者第一游戏服务器的在线人数是否超过第二预设阈值;
若是,则根据第一服务器之外的各所述游戏服务器的权重,得到目标游戏服务器;
将所述目标游戏服务器的连接信息发送给所述客户端,使得所述客户端连接所述目标游戏服务器,其中,所述连接信息包括目标游戏服务器的连接地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910475735.2/1.html,转载请声明来源钻瓜专利网。