一种游戏服务器热更新方法、服务器及系统的制作方法

文档序号:9399364阅读:618来源:国知局
一种游戏服务器热更新方法、服务器及系统的制作方法
【技术领域】
[0001] 本发明涉及网络服务器通信技术领域,尤其是一种游戏服务器热更新方法、服务 器及系统。
【背景技术】
[0002] 公知的服务器(Server)是储存和管理信息的一部计算机,并可作为连接到其它 计算机、装置或客户端的集中所在。通过服务器可以使用安全的方式来分享文件和资源,例 如传真机与打印机。服务器也可以提供数据备份和储存,以及电子邮件及因特网存取。通 过服务器网络,多个使用者可以同时存取因特网或公司的电子邮件,或是共享相同的传真 机及其它的办公室设备。在一般的网络群组中,通常只有一台服务器提供服务的请求与存 取。由于信息与科技的进步,服务器为了提供实时的应用服务,所以在任何时间点都必须 允许其它计算机、装置或客户端提出服务的请求,例如在网络游戏的运营过程中,就要保持 客户端与服务器能够一直通信。当网络群组中的服务器发生异常时(如服务器当机、异常 中止、网络联机异常、停电…等),或需停机进行系统更新与数据维护时,则会导致其它计算 机、装置或客户端无法进行服务的存取与数据备份和储存。而影响到整个网络群组的工作 效能及数据的完整性。
[0003] 因此,当网络群组中的服务器发生异常时,如何实时提供相对应的措施与处理是 目前所需解决的重要问题。

【发明内容】

[0004] 为此,本发明提供一种一键登录认证方法、装置及系统,以力图解决或者至少缓解 上面存在的至少一个问题。
[0005] 根据本发明的一个方面,提供了一种游戏服务器热更新方法,该方法在第一服务 器中执行,该第一服务器与客户端通过第二服务器进行通信,包括步骤:当触发热更新进程 时,发送备份指令给第二服务器,并发送游戏备份数据给第二服务器,以便第二服务器备份 数据;完成重启后,发送数据恢复指令给第二服务器,从第二服务器接收游戏备份数据;保 存游戏备份数据;根据游戏备份数据加载客户端需要的游戏信息;响应于经由第二服务器 转发的用户在客户端的游戏操作请求,执行操作程序,并返回结果给客户端。
[0006] 可选地,在根据本发明的游戏服务器热更新方法中,还包括步骤:当检测到第一服 务器要重启时,触发热更新进程。
[0007] 可选地,在根据本发明的游戏服务器热更新方法中,游戏备份数据包括客户端登 录?目息。
[0008] 根据本发明的另一方面,提供了一种适于执行热更新进程的第一服务器,第一服 务器通过第二服务器与客户端进行通信,第一服务器包括:中央处理器;通信接口单元,适 于与第二服务器进行通信,包括发送备份指令、数据恢复指令给第二服务器,发送游戏备份 数据给第二服务器、以及从第二服务器接收游戏备份数据、和转发的客户端的游戏操作请 求;进程监控单元,适于监控第一服务器,确定是否触发热更新进程、并且监控第一服务器 是否完成重启;数据存储单元,适于保存游戏备份数据;信息加载单元,适于根据游戏备份 数据加载客户端需要的游戏信息。
[0009] 可选地,在根据本发明的第一服务器中,进程监控单元适于在检测到第一服务器 要重启时,触发热更新进程。
[0010] 可选地,在根据本发明的第一服务器中,游戏备份数据包括客户端登录信息。
[0011] 根据本发明的另一方面,提供了一种游戏服务器热更新方法,该方法在第二服务 器中执行,该第二服务器分别与客户端和第一服务器保持连接,包括步骤:接收由第一服务 器在被触发热更新进程时发送的备份指令;接收由第一服务器发送的游戏备份数据,保存 游戏备份数据;接收由第一服务器在完成重启后发送的数据恢复指令后,将游戏备份数据 返回给第一服务器;接收客户端的游戏操作请求,并将其转发给第一服务器;以及接收第 一服务器执行操作程序后对游戏操作请求的结果,将其转发给客户端。
[0012] 可选地,在根据本发明的游戏服务器热更新方法中,游戏备份数据包括客户端登 录?目息。
[0013] 根据本发明的另一方面,提供了一种适于执行热更新进程的第二服务器,该第二 服务器分别与客户端和第一服务器保持连接,第二服务器包括:中央处理器;通信接口单 元,适于与第一服务器进行通信,包括接收备份指令、数据恢复指令、游戏备份数据、和执行 操作程序后的结果、以及发送游戏备份数据、转发客户端的游戏操作请求给第一服务器,还 适于与客户端进行通信,包括接收客户端的游戏操作请求、并将第一服务器执行操作程序 后的结果转发给客户端;数据存储单元,适于在接收到游戏备份数据后,保存游戏备份数 据;其中,备份指令是在第一服务器被触发热更新进程时发送的,数据恢复指令是在第一服 务器完成重启后发送的。
[0014] 可选地,在根据本发明的第二服务器中,游戏备份数据包括客户端登录信息。
[0015] 根据本发明的另一方面,提供了一种适于执行热更新进程的系统,该系统包括:客 户端,适于接收用户的游戏操作请求,并将其发送给第二服务器;如上所述的第一服务器; 以及如上所述的第二服务器。
[0016] 考虑到在网络游戏中,在线玩家与后台服务器的交互并不频繁,而一次服务器的 热重启一般也就是几秒时间,因此,根据本发明的服务器热更新方案,当后台服务器(也就 是第一服务器)遇到异常需要重启时,由于网关服务器(即第二服务器)与客户端保持连 接,客户端就不会断开连接重新登录,这样,提高了用户在游戏中的体验。
【附图说明】
[0017] 为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方 面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面 旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述 以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的 部件或元素。
[0018] 图1示出了根据本发明一个实施例的适于执行热更新进程的系统100的示意图;
[0019] 图2Α示出了根据本发明一个实施例的正常情况下系统100的交互图;
[0020] 图2B示出了根据本发明一个实施例的热更新进程中系统100的交互图;
[0021] 图3示出了根据本发明一个实施例的游戏服务器热更新方法300的流程图;
[0022] 图4示出了根据本发明一个实施例的第一服务器110的示意图;
[0023] 图5示出了根据本发明另一个实施例的游戏服务器热更新方法500的流程图;以 及
[0024] 图6示出了根据本发明另一个实施例的第二服务器120的示意图。
【具体实施方式】
[0025] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开 的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围 完整的传达给本领域的技术人员。
[0026] 图1示出了根据本发明一个实施例的适于执行热更新进程的系统100。该系统100 包括第一服务器110、第二服务器120、以及客户端130。其中客户端130上布置有游戏应 用,并通过第二服务器120与第一服务器110相连接,保持通信。
[0027] 下面将详细介绍该系统100的工作交互流程。
[0028] 如图2A所示,在正常情况下,客户端130与第二服务器120建立连接,当用户在客 户端130上登录时,第二服务器120保存用户在客户端的登录信息,并返回登录成功消息给 客户端130。根据本发明的一个实施例,客户端的登录信息包括诸如用户账号、登录的角色 信息等信息。另一方面,第二服务器120发送登录通知给第一服务器110,将客户端的登录 信息发送给第一服务器110,第一服务器110保存客户端登录信息。根据本发明的一个实 施方式,第一服务器110的大部分数据都是根据客户端登录信息从数据库中加载的,因此 第一服务器110接收到第二服务器120传送的客户端登录信息后,从数据库中加载客户端 130需要的游戏数据。以下示出了第一服务器110加载游戏数据的代码示例。
[0029] //加载角色数据 func (this ^Player) IoadDbDataO (ok boo!) { if cursvr. IsQuit f return false for_, pObj := range this.dbObjList { //加载各种游戏数据 if cursvr.LoadFroinDb(pObj) { pOb j. SetLoaded(true) } else { switch pObj.GetNameO J case "DbCharGameData": { //游戏数据初始化 this.pGameData.SetLoaded(faise) this.dai IyUpdaieO this.pGameData.Thew = cursvr.playerMgr.charMax ThewInit cursvr.SaveToDb(this.pGameData) } default:
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1