[发明专利]一种网络游戏服务器动态负载平衡的方法有效
申请号: | 200810084638.2 | 申请日: | 2008-03-14 |
公开(公告)号: | CN101533359A | 公开(公告)日: | 2009-09-16 |
发明(设计)人: | 王荣 | 申请(专利权)人: | 王荣 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络游戏 服务器 动态 负载 平衡 方法 | ||
技术领域
本发明涉及一种在网络游戏服务器中动态分配支持网络游戏运行所需 负载的方法。
背景技术
网络游戏需要支持大量的玩家同时在线。一台服务器的负载能力有 限,因此需要很多台网络游戏服务器同时为玩家服务。为了把负载均匀分配 到这些服务器上,目前的网络游戏把游戏划分成一些场地,例如小镇、国家、 房间等。这些场地被分配给各个服务器。每台服务器负责它所承担的场地上 的玩家以及非玩家角色的运行,以及系统消息的广播等任务。这些场地分配 给某个服务器后,虽然玩家能在不同的场地中行走,并因此在不同的服务器 间移动,但支持场地运行所用的服务器却不能在游戏运行时分配给其它服务 器。因此目前的方案不得不给这些场地准备这些场地上玩家人数最多时需要 的服务器资源。由于玩家可以在各个场地上行走,因此一个场地上的玩家也 会有时多有时少。在场地上的玩家人数多时会出现其他玩家无法进入这块场 地等问题,而在场地上的玩家人数少时,服务器资源又被浪费了。美国专利 说明书US 2006/0230407A1公开了一种通过转移虚拟机来实现负载转移的方 法,本发明提出了一种不同的方法。
发明内容
本发明的目的是提出一种在网络游戏服务器间动态地分配支持某一块 场地运行所用的服务器,以便在网络游戏服务器中动态分配负载的方法。基 于这种思想,本发明提出了如下的技术方案:
一种网络游戏服务器动态负载平衡的方法。用于具有服务器和客户端的 网络游戏系统,其特征在于,所述的方法包括步骤:服务器一支持网络游戏 中某一块场地的一部分或全部状态的运行,这里称这些状态称为状态一;服 务器一把状态一的一部分或全部的状态,这里称它为状态二,传送给服务器 二,由服务器二支持状态二的运行;在服务器一需要获取或设置状态二的状 态时,需要请求服务器二来执行;在服务器二需要获取或设置状态一中除状 态二外其它的状态,这里称它为状态三时,需要请求服务器一来执行;其特 征在于,所述的服务器场地状态的保存和恢复使用游戏保存和恢复游戏进度 的方法来实现。
优选的,所述的网络游戏服务器动态负载平衡的方法,其特征在于,所 述的状态二和/或状态三还可以进行更多的拆分,以使用更多的服务器支持一 块场地的运行。
优选的,所述的网络游戏服务器动态负载平衡的方法,其特征在于,在 不停止网络游戏运行的情况下,动态加入更多的服务器。
优选的,所述的网络游戏服务器动态负载平衡的方法,其特征在于,所 述的状态二和状态三可以合并在一起,由一台服务器支持它们的运行。
下面来具体地介绍一下本方案。我们知道有很多游戏可以保存游戏进 度。保存某一时刻游戏的状态(游戏的状态是指某一时刻所有对游戏进行有 影响的数据,例如当时的时间、所有游戏中人物的位置、方向、血的数值、 挥刀还是站立等,以及所有物品和输入设备,例如键盘鼠标等的状态)。在 以后装入这个状态。即使是在保存这个状态不同的计算机上,也可以使游戏 完全恢复到保存时的状态,从而从那个状态继续游戏。如果我们把某一台服 务器C1上的某一块场地SC1的状态传送给另一台服务器C2,就可以把支 持SC1运行所用的服务器从C1移到C2。然后SC1中的所有客户端CL1需 要把他们游戏所用的服务器从C1改换到C2。服务器上一块场地的状态包括 这块场地上所有玩家以及非玩家角色在服务器端上表示的状态、这块场地和 其它场地的联系、场地上宝物、怪物的定期重新生成等所有对游戏进行有影 响的数据。那么如何把网络游戏客户端所用的服务器从一台移到另一台呢? 有很多种方法。
最简单的方法是CL1仍然和C1连接。C1把SC1的状态传送给C2,由 C2继续支持SC1的运行。C1把从CL1接收的数据D1传送给C2。C2把需 要发送给CL1的数据D2先发送给C1,再由C1把D2传送给CL1。但是这 种方法由于D1、D2需要由C1中转,会给C1带来很大不必要的负担。
方法2是C1在时间T1保存SC1的状态S1,并把S1传送给C2。C1 给CL1发送消息D3,要求CL1和C2连接,并改为向C2传输D1以及从 C2接收D2。由于网络游戏服务器端和客户端是异步运行的,所以在T1时 间之后,CL1接收到D3之前,CL1仍然会向C1发送游戏数据D4。C1需 要把D4转发给C2。C2要先接收并处理完D4后才能继续处理CL1直接发 送给它的游戏数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于王荣,未经王荣许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810084638.2/2.html,转载请声明来源钻瓜专利网。