CN105094906A - 一种游戏服务器热更新方法、装置与系统 - Google Patents

一种游戏服务器热更新方法、装置与系统 Download PDF

Info

Publication number
CN105094906A
CN105094906A CN201510433863.2A CN201510433863A CN105094906A CN 105094906 A CN105094906 A CN 105094906A CN 201510433863 A CN201510433863 A CN 201510433863A CN 105094906 A CN105094906 A CN 105094906A
Authority
CN
China
Prior art keywords
data
server
tables
test
editor
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
Application number
CN201510433863.2A
Other languages
English (en)
Other versions
CN105094906B (zh
Inventor
杨柳
向华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201510433863.2A priority Critical patent/CN105094906B/zh
Publication of CN105094906A publication Critical patent/CN105094906A/zh
Application granted granted Critical
Publication of CN105094906B publication Critical patent/CN105094906B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种游戏服务器热更新方法,包括:将研发用户编辑后的数据表上传到主服务器以实现主服务器的热更新,并将编辑后的数据表发送到测试用户端,由测试用户端在编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新;测试服务器是所述主服务器的一个备份服务器;当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由测试用户端生成的信息。由于采用了两个服务器,研发用户端和测试用户端能同时工作,大大提高游戏研发和测试的效率;且无需删除或屏蔽在测试服务器中的测试数据,减少了测试人员的工作量。

Description

一种游戏服务器热更新方法、装置与系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种游戏服务器热更新方法、装置与系统。
背景技术
热更新(hotfix或者hotupdate),在计算机术语中是指在不停机的状态下对系统进行更改,例如我们的Windows可以在不重启的状态下完成补丁的更新、Web服务器在不重启的前提下完成对数据和文件的替换等都是热更新的经典实例。对于游戏的热更新而言,如果我们最终发布的游戏是一个Web游戏,那么每次游戏加载的过程中实现对资源代码的更新就是热更新。因为Web游戏需要保证玩家能够及时快速地进入游戏,因此在游戏加载完之前,我们必须完成对游戏资源和代码的更新。如果我们最终发布的游戏是一个客户端游戏,那么我们在重启客户端以后实现对资源代码的更新就是热更新。对于客户端游戏而言,玩家可以在等待本次更新结束后再进入游戏,而且大部分的客户端程序在更新完后都会要求玩家重启客户端。
进行游戏服务器的热更新的目的是为了缩短用户获取新版本客户端的流程、改进用户体验。传统单机游戏依靠光盘载体进行发售所面临的问题,玩家为了获取最新版本的游戏,需要下载全新的客户端并将它安装到计算机或者手机设备上。在互联网产品开发中有一种称为快速迭代的理念,如果我们每次对客户端进行局部的调整,都需要玩家去下载新版本的客户端,这样的用户体验必然不能让用户满意。热更新对于用户体验的影响还是挺大的,主要就是省去用户自行更新客户端的步骤。所以现在为了方便用户与留住用户,我们总能在游戏产品中找到热更新的影子。热更新是为了让用户获得资源和代码的变更,这里的代码不是指真的代码,用户不要代码,他要的是变化的业务逻辑。
在实现游戏服务器热更新的过程中,有两个主要的职能:一个是研发,这个由研发人员执行;另一个是测试,这个由测试人员执行。现有技术中的游戏服务器热更新方法是:
研发人员利用主服务器进行研发,具体是打开数据表,修改所述数据表并将所述数据表上传到所述主服务器以实现所述主服务器的热更新。研发人员主要在这个过程中通过主服务器查看修改的数据表达到的一个大致的效果,起到一个“提案”的作用,但由于这个“提案”可能会出现一些BUG,需要进一步通过测试人员测试才能确定。
测试人员打开研发人员修改后的数据表,在所述修改后的数据表中加入测试数据,再将加入测试数据的数据表上传到主服务器以实现所述主服务器的热更新。然后测试人员进一步对在主服务器生效的游戏进行检测。当检测游戏有误时,通知研发人员进行修改;当检测游戏无误时,删除或屏蔽所述测试数据后,将所述数据表再次上传到主服务器。
所述主服务器没有与游戏客户端相关联。当主服务器热更新后确认无误时,研发人员会把主服务器的数据打包,并发送到与游戏客户端相关联的外服群。游戏客户端在接收到更新提示时,会从外服群中下载最新的资源。
现有技术中的游戏服务器热更新方法所存在的缺点如下:
1、在将主服务器的数据打包外放到外服群时,由于测试数据是不能外放的,所以需要删除或屏蔽所述测试数据,再将所述数据表再次上传到主服务器,增加了测试人员的工作量。
2、由于研发过程和测试过程都需要占用主服务器,使得在测试过程中,研发人员无法进行研发的工作,或者在研发过程中,测试人员无法进行测试的工作。
发明内容
本发明实施例提出一种游戏服务器热更新方法、装置与系统,能够使得在测试人员测试后无需删除或屏蔽所述测试数据,减少测试人员的工作量,并且研发和测试过程可以同时进行,大大提高了游戏研发和测试的效率。
本发明实施例提供一种游戏服务器热更新方法,包括:
将研发用户编辑后的数据表上传到主服务器以实现所述主服务器的热更新,并将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
相应地,本发明实施例还提供了一种游戏服务器热更新装置,设于研发用户端,包括:
第一热更新模块,用于将研发用户编辑后的数据表上传到主服务器以实现所述主服务器的热更新;
数据表发送模块,用于将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
再次编辑提示模块,用于当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
本发明实施例还提供了一种游戏服务器热更新方法,包括:
获取经过研发用户端编辑后的数据表,所述编辑后的数据表由所述研发用户端上传到主服务器以实现所述主服务器的热更新;
在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是主服务器的一个备份服务器;
当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端;所述错误通知信息用于通知所述研发用户端再次编辑所述数据表。
相应地,本发明实施例还提供了一种游戏服务器热更新装置,设于测试用户端,包括:
数据表获取模块,用于获取经过研发用户端编辑后的数据表;所述编辑后的数据表由所述研发用户端上传到主服务器以实现所述主服务器的热更新;
第二热更新模块,用于在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是主服务器的一个备份服务器;
错误通知模块,用于当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端;所述错误通知信息用于通知所述研发用户端再次编辑所述数据表。
本发明还提供了一种游戏服务器热更新方法,包括:
将研发用户编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
当接收到所述测试用户端返回的正确通知信息时,将所述编辑后的数据表上传到主服务器以实现所述主服务器的热更新;所述正确通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试无误时,由所述测试用户端生成的信息。
相应地,本发明还提供了一种游戏服务器热更新装置,设于研发用户端,包括:
数据表发送模块,用于将研发用户编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
再次编辑提示模块,用于当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
第一热更新模块,用于当接收到所述测试用户端返回的正确通知信息时,将所述编辑后的数据表上传到主服务器以实现所述主服务器的热更新;所述正确通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试无误时,由所述测试用户端生成的信息。
本发明还提供了一种游戏服务器热更新方法,包括:
获取经过研发用户端编辑后的数据表;
在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是主服务器的一个备份服务器;
当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端;所述错误通知信息用于通知所述研发用户端再次编辑所述数据表;
当在热更新后的所述测试服务器中生效的游戏经过测试无误时,生成正确通知信息并发送给研发用户端;所述正确通知信息用于通知所述研发用户端将所述编辑后的数据表上传到所述主服务器以实现所述主服务器的热更新。
相应地,本发明还提供了一种游戏服务器热更新装置,设于测试用户端,包括:
数据表获取模块,用于获取经过研发用户端编辑后的数据表;
第二热更新模块,用于在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是主服务器的一个备份服务器;
错误通知模块,用于当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端;所述错误通知信息用于通知所述研发用户端再次编辑所述数据表;
正确通知模块,用于当在热更新后的所述测试服务器中生效的游戏经过测试无误时,生成正确通知信息并发送给研发用户端;所述正确通知信息用于通知所述研发用户端将所述编辑后的数据表上传到所述主服务器以实现所述主服务器的热更新。
实施本发明实施例,具有如下有益效果:
本发明提供了一种游戏服务器热更新方法,在所述游戏服务器热更新方法中采用了两个服务器,其中测试服务器是主服务器的一个备份服务器。研发用户端利用主服务器进行研发工作,测试用户端利用测试服务器进行测试工作,由于最终是将主服务器的数据内容外放,因此无需删除或屏蔽在测试服务器中的测试数据,减少了测试人员的工作量。同时,由于采用了两个服务器,研发用户端进行研发工作时,测试用户端也能进行测试工作;测试用户端进行测试工作时,研发用户端也能进行研发工作。例如在所述测试用户端利用测试服务器对所述编辑后的数据表进行测试工作的时候,所述研发用户端又可以利用主服务器对另一数据表进行研发工作。因而大大提高了游戏研发和测试的效率。本发明分别从“先上传后测试”以及“先测试后上传”两种方式去实现上述方法,其有益效果是类似的。本发明还相应地提供了一种游戏服务器热更新装置和系统,能够执行上述游戏服务器热更新方法的步骤,达到相同的发明目的。
附图说明
图1是本发明提供的游戏服务器热更新方法的第一实施例的流程示意图;
图2是本发明提供的游戏服务器热更新方法的第一实施例的数据传输示意图;
图3是本发明提供的游戏服务器热更新方法的第二实施例的流程示意图;
图4是本发明提供的游戏服务器热更新方法的第二实施例的步骤S21的流程示意图;
图5是本发明提供的游戏服务器热更新方法的第二实施例的数据传输示意图;
图6是本发明提供的游戏服务器热更新方法的第二实施例的变形实施例的数据传输示意图;
图7是本发明提供的游戏服务器热更新方法的第三实施例的数据传输示意图;
图8是本发明提供的游戏服务器热更新方法的第三实施例的变形实施例的数据传输示意图;
图9是本发明提供的游戏服务器热更新方法的第四实施例的数据传输示意图;
图10是本发明提供的游戏服务器热更新方法的第四实施例的变形实施例的数据传输示意图;
图11是本发明提供的游戏服务器热更新方法的第五实施例的数据传输示意图;
图12是本发明提供的游戏服务器热更新方法的第五实施例的变形实施例的数据传输示意图;
图13是本发明提供的游戏服务器热更新装置的第一实施例的结构框图;
图14是本发明提供的游戏服务器热更新装置的第二实施例的结构框图;
图15是本发明提供的游戏服务器热更新装置的第二实施例的数据表编辑模块21的结构框图;
图16是本发明提供的游戏服务器热更新方法的第七实施例的流程示意图;
图17是本发明提供的游戏服务器热更新方法的第七实施例的数据传输示意图;
图18是本发明提供的游戏服务器热更新方法的第八实施例的数据传输示意图;
图19是本发明提供的游戏服务器热更新方法的第九实施例的步骤S32的流程图;
图20是本发明提供的游戏服务器热更新方法的第九实施例的数据传输示意图;
图21是本发明提供的游戏服务器热更新方法的第九实施例的变形实施例的数据传输示意图;
图22是本发明提供的游戏服务器热更新方法的第十实施例的步骤S32的流程图;
图23是本发明提供的游戏服务器热更新方法的第十实施例的数据传输示意图;
图24是本发明提供的游戏服务器热更新方法的第十实施例的变形实施例的数据传输示意图;
图25是本发明提供的游戏服务器热更新方法的第十二实施例的步骤S33的流程图;
图26是本发明提供的游戏服务器热更新装置的第七实施例的结构框图;
图27是本发明提供的游戏服务器热更新装置的第九实施例的第二热更新模块32的结构框图;
图28是本发明提供的游戏服务器热更新装置的第十实施例的第二热更新模块32的结构框图;
图29是本发明提供的游戏服务器热更新装置的第十二实施例的错误通知模块33的结构框图;
图30是本发明提供的游戏服务器热更新方法的第十三实施例的流程示意图;
图31是本发明提供的游戏服务器热更新方法的第十三实施例的数据传输示意图;
图32是本发明提供的游戏服务器热更新方法的第十四实施例的流程示意图
图33是本发明提供的游戏服务器热更新方法的第十四实施例的步骤S51的流程示意图;
图34是本发明提供的游戏服务器热更新方法的第十四实施例的数据传输示意图;
图35是本发明提供的游戏服务器热更新方法的第十四实施例的变形实施例的数据传输示意图;
图36是本发明提供的游戏服务器热更新方法的第十五实施例的数据传输示意图;
图37是本发明提供的游戏服务器热更新方法的第十五实施例的变形实施例的数据传输示意图;
图38是本发明提供的游戏服务器热更新方法的第十六实施例的数据传输示意图;
图39是本发明提供的游戏服务器热更新方法的第十六实施例的变形实施例的数据传输示意图;
图40是本发明提供的游戏服务器热更新方法的第十七实施例的数据传输示意图;
图41是本发明提供的游戏服务器热更新方法的第十七实施例的变形实施例的数据传输示意图;
图42是本发明提供的游戏服务器热更新装置的第十三实施例的结构框图;
图43是本发明提供的游戏服务器热更新装置的第十四实施例的结构框图;
图44是本发明提供的游戏服务器热更新装置的第十四实施例的数据表编辑模块51的结构框图;
图45是本发明提供的游戏服务器热更新方法的第十九实施例的流程示意图;
图46是本发明提供的游戏服务器热更新方法的第十九实施例的数据传输示意图;
图47是本发明提供的游戏服务器热更新方法的第二十实施例的数据传输示意图;
图48是本发明提供的游戏服务器热更新方法的第二十二实施例的步骤S62的流程图;
图49是本发明提供的游戏服务器热更新方法的第二十二实施例的数据传输示意图;
图50是本发明提供的游戏服务器热更新方法的第二十二实施例的变形实施例的数据传输示意图;
图51是本发明提供的游戏服务器热更新方法的第二十二实施例的步骤S62的流程图;
图52是本发明提供的游戏服务器热更新方法的第二十二实施例的数据传输示意图;
图53是本发明提供的游戏服务器热更新方法的第二十二实施例的变形实施例的数据传输示意图;
图54是本发明提供的游戏服务器热更新装置的第十九实施例的结构框图;
图55是本发明提供的游戏服务器热更新装置的第二十实施例的第二热更新模块62的结构框图;
图56所示,其是本发明提供的游戏服务器热更新装置的第二十一实施例的第二热更新模块62的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的游戏服务器热更新方法的第一实施例的流程示意图,该方法是通过研发用户端去执行的,包括以下步骤:
S11,将研发用户编辑后的数据表上传到主服务器以实现所述主服务器的热更新,并将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
S12,当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
参见图2,是本发明提供的游戏服务器热更新方法的第一实施例的数据传输示意图。本实施例的提供的游戏服务器热更新方法的工作原理如下:研发用户端将研发用户编辑后的数据表上传到主服务器进行研发工作,并将所述编辑后的数据表发送到测试用户端。所述测试用户端在所述编辑后的数据表中加入测试数据并上传到测试服务器(测试服务器为主服务器的一个备份服务器)进行测试的工作。当接收到所述测试用户端返回的错误通知信息时,提示研发用户再次编辑所述数据表,编辑后的数据表再次发送到测试用户端进行测试,即步骤S11和步骤S12是循环的。当没有接收到所述测试用户端返回的错误通知信息时,说明这个版本的数据表可以使用,可以直接将主服务器的数据打包外放到与游戏客户端关联的外服。
在本实施例提供的游戏服务器热更新方法中采用了两个服务器,其中测试服务器是主服务器的一个备份服务器。研发用户端利用主服务器进行研发工作,测试用户端利用测试服务器进行测试工作,由于最终是将主服务器的数据内容外放,因此无需删除或屏蔽在测试服务器中的测试数据,减少了测试人员的工作量。同时,由于采用了两个服务器,研发用户端进行研发工作时,测试用户端也能进行测试工作;测试用户端进行测试工作时,研发用户端也能进行研发工作。例如在所述测试用户端利用测试服务器对所述编辑后的数据表进行测试工作的时候,所述研发用户端又可以利用主服务器对另一数据表进行研发工作。因而大大提高了游戏研发和测试的效率。
参见图3,是本发明提供的游戏服务器热更新方法的第二实施例的流程示意图,该方法由研发用户端执行,包括以下步骤:
S21,编辑数据表;
S22,将研发用户编辑后的数据表上传到主服务器以实现所述主服务器的热更新,并将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
S23,当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
请参阅图4,其是本发明提供的游戏服务器热更新方法的第二实施例的步骤S21的流程示意图。
其中,步骤S21包括:
S211,从后台服务器中获取所述数据表以给研发用户进行编辑;
S212,将研发用户对所述数据表编辑后的编辑信息发送给所述后台服务器进行保存以更新所述数据表。
请参阅图5,其是本发明提供的游戏服务器热更新方法的第二实施例的数据传输示意图。本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第一实施例的进一步限定,步骤S211和步骤S212实际上是说明了所述数据表是在后台服务器中存储的,并且研发用户端也是从后台服务器获取所述数据表的,所述后台服务器可以为所述研发用户端分担数据存储的压力。
作为更优选地,步骤S211包括:
向所述后台服务器发送第一数据表获取指令;
接收所述后台服务器返回的所述数据表的原文件;
根据所述数据表的原文件显示所述数据表。
作为更优选地,所述第一数据表获取指令为异步HTTP请求指令;
所述接收所述后台服务器返回的所述数据表的原文件具体是通过异步传输方式接收所述服务器返回的、经过转换为字符串格式后的所述数据表的原文件;
所述根据所述数据表的原文件显示所述数据表具体是通过渲染所述数据表的原文件并显示其表格部分来显示所述数据表。这里采用了Ajax(AsynchronousJavascriptAndXML,异步JavaScript和XML)异步传输技术传输数据,AJAX在用户端与服务器之间使用异步数据传输(HTTP请求),这样就可使用户端从服务器请求少量的信息(采用字符串形式),而不是整个页面,从而大大地提高了打开数据表的速度。
作为本实施例的进一步改进,在步骤S22中,所述将编辑后的数据表上传到主服务器以实现所述主服务器的热更新具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
如图6所示,其是本发明提供的游戏服务器热更新方法的第二实施例的变形实施例的数据传输示意图。在改进后的方案中,研发用户端只需要通过向后台服务器发送第一热更新指令,即可交由后台服务器将所述数据表上传到主服务器,可以减少研发用户端的工作量,整个系统的任务分配更合理。
所述游戏服务器热更新方法还包括:当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。即所述后台服务器可以获取主服务器的热更新状态。
本发明还提供了游戏服务器热更新方法的第三实施例,该方法由研发用户端执行,包括上述游戏服务器热更新方法的第二实施例中的步骤S21、S22、S23以及步骤S211、步骤S212,还进一步限定了:
在所述步骤S22中,所述将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新具体是向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中下载所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新。
请参阅图7,其是本发明提供的游戏服务器热更新方法的第三实施例的数据传输示意图。本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第二实施例的进一步限定,所述测试用户端是通过从后台服务器中下载所述编辑后的数据表来获得所述编辑后的数据表,而无需从研发用户端那里接收所述编辑后的数据表,可以减少研发用户端的工作量。
作为本实施例的进一步改进,在步骤S22中,所述将编辑后的数据表上传到主服务器以实现所述主服务器的热更新具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
如图8所示,其是本发明提供的游戏服务器热更新方法的第三实施例的变形实施例的数据传输示意图。在改进后的方案中,研发用户端只需要通过向后台服务器发送第一热更新指令,即可交由后台服务器将所述数据表上传到主服务器,可以减少研发用户端的工作量,整个系统的任务分配更合理。
所述游戏服务器热更新方法还包括:当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。即所述后台服务器还可以获取主服务器的热更新状态,并反馈给研发用户端。
本发明还提供了游戏服务器热更新方法的第四实施例,该方法由研发用户端执行,包括上述游戏服务器热更新方法的第二实施例中的步骤S21、S22、S23以及步骤S211、步骤S212,还进一步限定了:
在步骤S212中,所述将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新具体是向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述数据表上传到测试服务器以实现所述测试服务器的热更新。
请参阅图9,其是本发明提供的游戏服务器热更新方法的第四实施例的数据传输示意图。本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第二实施例的进一步限定,所述测试用户端是通过从后台服务器中在线获取所述编辑后的数据表并对其编辑,编辑后又通过所述后台服务器存储,相比于直接从研发用户端那里接收所述编辑后的数据表,或者从后台服务器下载所述编辑后的数据表,在线编辑数据表的方式的即时性更好,打开数据表的速度更快,也无需存储在测试用户端本地,从而对于测试用户端来说,可以减少测试过程所需要的时间,提高测试的效率。
作为本实施例的进一步改进,在步骤S22中,所述将编辑后的数据表上传到主服务器以实现所述主服务器的热更新具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
如图10所示,其是本发明提供的游戏服务器热更新方法的第四实施例的变形实施例的数据传输示意图。在改进后的方案中,研发用户端只需要通过向后台服务器发送第一热更新指令,即可交由后台服务器将所述数据表上传到主服务器,可以减少研发用户端的工作量,整个系统的任务分配更合理。
所述游戏服务器热更新方法还包括:当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。即可以通过后台服务器捕获主服务器的热更新状态并反馈给研发用户端。
本发明还提供了游戏服务器热更新方法的第五实施例,该方法由研发用户端执行,包括上述游戏服务器热更新方法的第二实施例中的步骤S21、S22、S23以及步骤S211、步骤S212,还进一步限定了:
在步骤S212中所述将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新具体是向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表的备份数据表,由所述测试用户端在所述备份数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述备份数据表上传到测试服务器以实现所述测试服务器的热更新。
请参阅图11,其是本发明提供的游戏服务器热更新方法的第五实施例的数据传输示意图。当测试用户端收到所述测试通知指令时,会向所述后台服务器发送测试数据表获取指令,所述后台服务器将所述编辑后的数据表的内容复制到与所述编辑后的数据表对应的备份数据表中,并保存所述备份数据表。即所述测试用户端获取的数据表实际上是经过后台服务器复制后的数据表的备份数据表。然而在所述测试用户端编辑并保存所述备份数据表的过程中,只会对备份数据表产生影响。例如,所述经过研发用户端编辑过后的数据表的内容是A;当测试用户端获取所述数据表时,后台服务器将备份数据表的内容更新为A,那么虽然测试用户端打开的是备份数据表,但实际上显示的内容还是A;当测试用户端对所述备份数据表加入测试数据X并保存时,所述备份数据表的内容为A+X,但原来的数据表的内容还是A。
因此,在后台服务器实际上存在着一份原数据表和一份与所述原数据表对应的备份数据表。两者中的任意一个进行保存操作时,都不会覆盖另一个,只有当测试用户端打开备份数据表时,才会将备份数据表的内容更新到与所述原数据表一致的内容。原数据表和备份数据表需要关联,可以是表名一样,但存储于所述后台服务器不同的存储区域;或者是存储于同样的存储区域,两者的表名不相同但相关联。
本实施例的游戏服务器热更新方法是对上述游戏服务器热更新方法的第二实施例的进一步限定,所述后台服务器存储有所述编辑后的数据表的备份数据表;所述测试用户端每次从后台服务器中获取所述编辑后的数据表的备份数据表,加入测试数据后将所述备份数据表保存会所述后台服务器。在本实施例中,上传到主服务器的是原数据表,上传到测试服务器的是备份数据表,且每当测试用户端打开备份数据表时,都会将备份数据表的内容更新到与所述原数据表一致的内容。其有益效果在于:
本实施例采用在线对所述数据表进行编辑方式,即时性高,编辑效率高。并且在本方案由于同一数据表分为原数据表和备份数据表,研发用户端利用原数据表进行研发工作,测试用户端利用测试数据表测试工作,因而不存在冲突的问题,进一步提高对同一数据表的开发工作的效率。此外,测试用户端在测试数据表中加入测试数据进行测试,不会影响到正式数据表的内容,免去了在正式数据表中删除测试数据的工作。
作为本实施例的进一步改进,在步骤S22中,所述将编辑后的数据表上传到主服务器以实现所述主服务器的热更新具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
如图12所示,其是本发明提供的游戏服务器热更新方法的第五实施例的变形实施例的数据传输示意图。在改进后的方案中,研发用户端只需要通过向后台服务器发送第一热更新指令,即可交由后台服务器将所述数据表上传到主服务器,可以减少研发用户端的工作量,整个系统的任务分配更合理。
所述游戏服务器热更新方法还包括:当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。即可以通过后台服务器捕获主服务器的热更新状态并反馈给研发用户端。
本发明还提供了游戏服务器热更新方法的第六实施例,该方法由研发用户端执行,包括上述游戏服务器热更新方法的第二实施例中的步骤S21、S22、S23以及步骤S211、步骤S212,还进一步限定了所述数据表包括多个编辑单元,所述游戏服务器热更新方法还包括:
当检测到研发用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
当接收到所述后台服务器返回的编辑冲突提示消息时,向研发用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
所述步骤S212具体是根据研发用户的保存操作指令或定时将所有允许被发送到所述后台服务器进行保存的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
优选地,所述编辑冲突提示消息包括其他用户的用户信息,例如所述其他用户的名称、ID账号、所在部门或者IP地址等。从而在发生冲突时,本用户可以得知谁在对相同的编辑单元进行编辑,从而沟通协调。
需要说明的是,编辑的数据表为类excel风格表,与传统的excel具有类似的显示和操作方式。数据表的主要功能包括公式编辑、行列操作、保存、固定行列、导出表格、筛选数据、右键菜单等。所述数据表具有N*(M-1)个编辑项;其中,N为所述数据表的总列数,M为所述数据表的总行数;N≥2,M≥2;每个编辑项在所述数据表中具有唯一的位置;每个编辑项的位置包含编辑项的列名和行数。
优选地,所述编辑单元的粒度是根据需求设定的,所述编辑单元为所述数据表的每一行、每一列、每个编辑项或者某几个编辑项组成的单元。
其中,位置信息是指,研发用户当前编辑的编辑项所属的编辑单元的位置数据信息。例如,编辑项所属的编辑单元为第N行,即当前编辑单元的位置信息为第N行。后台服务器在接收到所述当前编辑单元的位置信息时,确定所述当前编辑单元的位置,并判断所述编辑单元是否被其他用户正在编辑中,若是,则向本用户端发送冲突提示消息。当本用户端接收到所述后台服务器返回的冲突提示消息时,向研发用户提示所述当前编辑单元发生冲突状况,提示研发用户当前编辑单元已被其他的用户编辑中;例如在本用户端中用红色标示当前编辑单元,同时禁止将所述当前编辑单元的数据信息发送给所述服务器进行保存,从而保证其他用户端能正常对所述当前编辑单元编辑与保存;否则,允许将所述当前编辑单元的数据信息发送给所述服务器进行保存。即只有在没有接收到后台服务器返回的编辑冲突提示消息时,才能将所述当前编辑单元的数据信息发送给所述服务器进行保存。
以上冲突处理的原理是,数据表预先划分为多个编辑单元,对任意一个可编辑单元来说,最先对其编辑的用户端会锁定该单元,其余用户端在编辑该单元时会被提醒冲突,从而解决了冲突的问题并对编辑的内容进行保护。通过以上的数据表的编辑方法,可以实现多人同时编辑同一数据表,并解决了不同用户在编辑时的冲突问题,大大地提高了数据表的编辑和填表的效率。
为了能够支持多人同时打开并修改同一张数据表,用户端在保存修改的时候,只将研发用户修改过的编辑单元写回原文件,不更改其他编辑单元的内容。例如,当用户A修改行m,用户B修改行n,且m≠n,双方保存的时候,仅会将行m和行n保存回服务器,替换原文件行m和n的数据,而不会暴力覆盖整个原文件,这样一个文件就得到了协同使用。
本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第二实施例的进一步限定,提出了一种多人同时编辑同一数据表的冲突处理机制,每个用户可以在对所述数据表的不同编辑单元进行编辑,实现了多人同时编辑同一数据表,大大提高了对数据表的编辑或填表效率。例如,当数据表需要填写大量的数据信息时,需要多个研发用户端同时进行编辑,通过本实施例中的冲突处理机制则可以实现。
相应地,本发明还提供了一种游戏服务器热更新装置。参见图13,是本发明提供的游戏服务器热更新装置的第一实施例的结构框图,所述游戏服务器热更新装置设于研发用户端,包括:
第一热更新模块11,用于将研发用户编辑后的数据表上传到主服务器以实现所述主服务器的热更新;
数据表发送模块12,用于将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
再次编辑提示模块13,用于当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第一实施例的方法步骤,两者的工作原理和有益效果一一对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第二实施例,该装置设于研发用户端。参见图14,是本发明提供的游戏服务器热更新装置的第二实施例的结构框图,包括:
数据表编辑模块21,用于编辑所述数据表;
第一热更新模块22,用于将研发用户编辑后的数据表上传到主服务器以实现所述主服务器的热更新;
数据表发送模块23,用于将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
编辑提示模块24,用于当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
参见图15,其是本发明提供的游戏服务器热更新装置的第二实施例的数据表编辑模块21的结构框图。所述数据表编辑模块21包括:
数据表获取单元211,用于从后台服务器中获取所述数据表以给研发用户进行编辑;
第一数据表保存单元212,用于将研发用户对所述数据表编辑后的编辑信息发送给所述后台服务器进行保存以更新所述数据表。
作为更优选地,所述数据表获取单元211包括:
获取指令发送子单元,用于向所述后台服务器发送第一数据表获取指令;
数据表接收子单元,用于接收所述后台服务器返回的所述数据表的原文件;
数据表显示子单元,用于根据所述数据表的原文件显示所述数据表。
作为更优选地,所述第一数据表获取指令为异步HTTP请求指令;
所述数据表接收子单元具体是通过异步传输方式接收所述服务器返回的、经过转换为字符串格式后的所述数据表的原文件;
所述数据表显示单元具体是通过渲染所述数据表的原文件并显示其表格部分来显示所述数据表。
作为更优选地,所述第一热更新模块22具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
所述游戏服务器热更新装置还包括:第一更新完成提示模块,用于当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
本实施例的游戏服务器热更新装置用于执行上述游戏服务器热更新方法的第二实施例,两者的工作原理和有益效果一一对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第三实施例,该装置设于研发用户端,包括上述游戏服务器热更新装置的第二实施例中的数据表编辑模块21、第一热更新模块22、数据表发送模块23、编辑提示模块24以及数据表获取单元211、第一数据表保存单元212,还进一步限定了:
所述数据表发送模块23具体用于向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中下载所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新。
作为更优选地,所述第一热更新模块22具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
所述游戏服务器热更新装置还包括:第一更新完成提示模块,用于当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
本实施例的游戏服务器热更新装置用于执行上述游戏服务器热更新方法的第三实施例,两者的工作原理和有益效果一一对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第四实施例,该装置设于研发用户端,包括上述游戏服务器热更新装置的第二实施例中的数据表编辑模块21、第一热更新模块22、数据表发送模块23、编辑提示模块24以及数据表获取单元211、第一数据表保存单元212,还进一步限定了:
所述数据表发送模块23具体用于向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述数据表上传到测试服务器以实现所述测试服务器的热更新。
作为更优选地,所述第一热更新模块22具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
所述游戏服务器热更新装置还包括:第一更新完成提示模块,用于当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
本实施例的游戏服务器热更新装置用于执行上述游戏服务器热更新方法的第四实施例,两者的工作原理和有益效果一一对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第五实施例,该装置设于研发用户端,包括上述游戏服务器热更新装置的第二实施例中的数据表编辑模块21、第一热更新模块22、数据表发送模块23、编辑提示模块24以及数据表获取单元211、第一数据表保存单元212,还进一步限定了:
所述数据表发送模块23具体用于向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表的备份数据表,由所述测试用户端在所述备份数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述备份数据表上传到测试服务器以实现所述测试服务器的热更新。
作为更优选地,所述第一热更新模块22具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
所述游戏服务器热更新装置还包括:第一更新完成提示模块,用于当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
本实施例的游戏服务器热更新装置用于执行上述游戏服务器热更新方法的第五实施例,两者的工作原理和有益效果一一对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第六实施例,该装置设于研发用户端,包括上述游戏服务器热更新装置的第二实施例中的数据表编辑模块21、第一热更新模块22、数据表发送模块23、编辑提示模块24以及数据表获取单元211、第一数据表保存单元212,还进一步限定了所述数据表包括多个编辑单元,所述游戏服务器热更新装置还包括:
第一位置信息发送模块,用于当检测到研发用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
第一执行模块,用于当接收到所述后台服务器返回的编辑冲突提示消息时,向研发用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
所述第一数据表保存单元212具体用于根据研发用户的保存操作指令或定时将所有允许被发送到所述后台服务器进行保存的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表
优选地,所述编辑冲突提示消息包括其他用户的用户信息,例如所述其他用户的名称、ID账号、所在部门或者IP地址等。从而在发生冲突时,本用户可以得知谁在对相同的编辑单元进行编辑,从而沟通协调。
需要说明的是,编辑的数据表为类excel风格表,与传统的excel具有类似的显示和操作方式。数据表的主要功能包括公式编辑、行列操作、保存、固定行列、导出表格、筛选数据、右键菜单等。所述数据表具有N*(M-1)个编辑项;其中,N为所述数据表的总列数,M为所述数据表的总行数;N≥2,M≥2;每个编辑项在所述数据表中具有唯一的位置;每个编辑项的位置包含编辑项的列名和行数。
优选地,所述编辑单元的粒度是根据需求设定的,所述编辑单元为所述数据表的每一行、每一列、每个编辑项或者某几个编辑项组成的单元。
本实施例的游戏服务器热更新装置用于执行上述游戏服务器热更新方法的第五实施例,两者的工作原理和有益效果一一对应,因而不再赘述。
参见图16,是本发明提供的游戏服务器热更新方法的第七实施例的流程示意图,该方法是通过测试用户端去执行的,包括以下步骤:
S31,获取经过研发用户端编辑后的数据表,所述编辑后的数据表由所述研发用户端上传到主服务器以实现所述主服务器的热更新;
S32,在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是主服务器的一个备份服务器;
S33,当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端;所述错误通知信息用于通知所述研发用户端再次编辑所述数据表。
参见图17,是本发明提供的游戏服务器热更新方法的第七实施例的数据传输示意图。本实施例的提供的游戏服务器热更新方法的工作原理如下:测试用户端接收研发用户端在研发工作中得到的编辑后的数据表,所述编辑后的数据表由所述研发用户端上传到主服务器以实现所述主服务器的热更新。所述测试用户端在所述编辑后的数据表中加入测试数据并上传到测试服务器(测试服务器为主服务器的一个备份服务器)进行测试的工作。当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端,通知所述研发用户端再次编辑所述数据表。当所述研发用户端再次编辑完所述数据表后,会再次将编辑后的数据表上传到主服务器,并且所述测试用户端再次获取所述编辑后的数据表进行测试,即步骤S31~S33是循环的。当没有接收到所述测试用户端返回的错误通知信息时,说明这个版本的数据表可以使用,可以直接将主服务器的数据打包外放到与游戏客户端关联的外服。
在本实施例提供的游戏服务器热更新方法中采用了两个服务器,其中测试服务器是主服务器的一个备份服务器。研发用户端利用主服务器进行研发工作,测试用户端利用测试服务器进行测试工作,由于最终是将主服务器的数据内容外放,因此无需删除或屏蔽在测试服务器中的测试数据,减少了测试人员的工作量。同时,由于采用了两个服务器,研发用户端进行研发工作时,测试用户端也能进行测试工作;测试用户端进行测试工作时,研发用户端也能进行研发工作。例如在所述测试用户端利用测试服务器对所述编辑后的数据表进行测试工作的时候,所述研发用户端又可以利用主服务器对另一数据表进行研发工作。因而大大提高了游戏研发和测试的效率。
本发明还提供了游戏服务器热更新方法的第八实施例,该方法是通过测试用户端去执行的,包括上述游戏服务器热更新方法的第七实施例的步骤S31~S33,还进一步限定了:
所述经过研发用户端编辑后的数据表存储于后台服务器;
所述获取经过研发用户端编辑后的数据表具体是从后台服务器中下载所述编辑后的数据表。
请参阅图18,其是本发明提供的游戏服务器热更新方法的第八实施例的数据传输示意图。本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第七实施例的进一步限定,所述测试用户端是通过从后台服务器中下载经过研发用户端编辑后的数据表来获得所述编辑后的数据表,而无需从研发用户端那里接收所述编辑后的数据表,可以减少研发用户端的工作量。
本发明还提供了游戏服务器热更新方法的第九实施例,该方法是通过测试用户端去执行的,包括上述游戏服务器热更新方法的第七实施例的步骤S31~S33,还进一步限定了:
所述经过研发用户端编辑后的数据表存储于后台服务器;
所述获取经过研发用户端编辑后的数据表具体是从后台服务器中获取所述编辑后的数据表;
如图19所示,其是本发明提供的游戏服务器热更新方法的第九实施例的步骤S32的流程图。所述步骤S32包括:
S321,在所述编辑后的数据表中写入测试数据后将所述测试数据发送给所述后台服务器进行保存以更新所述数据表;
S322,将所述数据表上传到测试服务器以实现所述测试服务器的热更新。
请参阅图20,其是本发明提供的游戏服务器热更新方法的第九实施例的数据传输示意图。本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第七实施例的进一步限定,所述测试用户端是通过从后台服务器中在线获取所述编辑后的数据表并对其编辑,编辑后又通过所述后台服务器存储,相比于直接从研发用户端那里接收所述编辑后的数据表,或者从后台服务器下载所述编辑后的数据表,在线编辑数据表的方式的即时性更好,打开数据表的速度更快,也无需存储在测试用户端本地,从而对于测试用户端来说,可以减少测试过程所需要的时间,提高测试的效率。
作为更优选地,步骤S31包括:
向所述后台服务器发送第二数据表获取指令;
接收所述后台服务器返回的所述数据表的原文件;
根据所述数据表的原文件显示所述数据表。
作为更优选地,所述第二数据表获取指令为异步HTTP请求指令;
所述接收所述后台服务器返回的所述数据表的原文件具体是通过异步传输方式接收所述服务器返回的、经过转换为字符串格式后的所述数据表的原文件;
这里采用了Ajax(AsynchronousJavascriptAndXML,异步JavaScript和XML)异步传输技术传输数据,AJAX在用户端与服务器之间使用异步数据传输(HTTP请求),这样就可使用户端从服务器请求少量的信息(采用字符串形式),而不是整个页面,从而大大地提高了打开数据表的速度。
作为本实施例的进一步改进,在步骤S322中,所述将所述数据表上传到测试服务器以实现所述测试服务器的热更新具体是向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述数据表上传到测试服务器,以实现所述测试服务器的热更新。
如图21所示,其是本发明提供的游戏服务器热更新方法的第九实施例的变形实施例的数据传输示意图。在改进后的方案中,测试用户端只需要通过向后台服务器发送第二热更新指令,即可交由后台服务器将所述数据表上传到主服务器,可以减少测试用户端的工作量,整个系统的任务分配更合理。
所述游戏服务器热更新方法还包括:当接收到所述后台服务器返回的第二更新完成提示消息时,向用户提示所述测试服务器的热更新已完成;所述第二更新完成提示消息为所述后台服务器判定所述测试服务器的热更新状态结束时生成。即可以通过后台服务器捕获测试服务器的热更新状态并反馈给测试用户端。
作为更优选地,所述游戏服务器热更新方法还包括:
向后台服务器发送服务器同步指令;所述服务器同步指令用于使所述后台服务器获取所述主服务器的数据信息并将所述数据信息替换到所述测试服务器中。
本发明还提供了游戏服务器热更新方法的第十实施例,该方法是通过测试用户端去执行的,包括上述游戏服务器热更新方法的第七实施例的步骤S31~S33,还进一步限定了:
所述经过研发用户端编辑后的数据表存储于后台服务器;
所述获取经过研发用户端编辑后的数据表具体是从后台服务器中获取所述编辑后的数据表的备份数据表;
如图22所示,其是本发明提供的游戏服务器热更新方法的第十实施例的步骤S32的流程图。所述步骤S32包括:
S323,在所述编辑后的数据表的备份数据表上写入测试数据后,将所述测试数据发送给所述后台服务器进行保存以更新所述备份数据表;
S324,将所述备份数据表上传到测试服务器,以实现所述测试服务器的热更新。
请参阅图23,其是本发明提供的游戏服务器热更新方法的第十实施例的数据传输示意图。当测试用户端向所述后台服务器发送第二数据表获取指令时,所述后台服务器将所述编辑后的数据表的内容复制到与所述编辑后的数据表对应的备份数据表中,并保存所述备份数据表。即所述测试用户端获取的数据表实际上是经过后台服务器复制后的数据表的备份数据表。然而在所述测试用户端编辑并保存所述备份数据表的过程中,只会对备份数据表产生影响。例如,所述经过研发用户端编辑过后的数据表的内容是A;当测试用户端获取所述数据表时,后台服务器将备份数据表的内容更新为A,那么虽然测试用户端打开的是备份数据表,但实际上显示的内容还是A;当测试用户端对所述备份数据表加入测试数据X并保存时,所述备份数据表的内容为A+X,但原来的数据表的内容还是A。
因此,在后台服务器实际上存在着一份原数据表和一份与所述原数据表对应的备份数据表。两者中的任意一个进行保存操作时,都不会覆盖另一个,只有当测试用户端打开备份数据表时,才会将备份数据表的内容更新到与所述原数据表一致的内容。原数据表和备份数据表需要关联,可以是表名一样,但存储于所述后台服务器不同的存储区域;或者是存储于同样的存储区域,两者的表名不相同但相关联。
本实施例的游戏服务器热更新方法是对上述游戏服务器热更新方法的第七实施例的进一步限定,所述后台服务器存储有所述编辑后的数据表的备份数据表;所述测试用户端每次从后台服务器中获取所述编辑后的数据表的备份数据表,加入测试数据后将所述备份数据表保存会所述后台服务器。在本实施例中,上传到主服务器的是原数据表,上传到测试服务器的是备份数据表,且每当测试用户端打开备份数据表时,都会将备份数据表的内容更新到与所述原数据表一致的内容。其有益效果在于:
本实施例采用在线对所述数据表进行编辑方式,即时性高,编辑效率高。并且在本方案由于同一数据表分为原数据表和备份数据表,研发用户端利用原数据表进行研发工作,测试用户端利用测试数据表测试工作,因而不存在冲突的问题,进一步提高对同一数据表的开发工作的效率。此外,测试用户端在测试数据表中加入测试数据进行测试,不会影响到正式数据表的内容,免去了在正式数据表中删除测试数据的工作。
作为本实施例的进一步改进,在步骤S324中,所述将所述备份数据表上传到测试服务器以实现所述测试服务器的热更新具体是向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述备份数据表上传到测试服务器,以实现所述测试服务器的热更新。
如图24所示,其是本发明提供的游戏服务器热更新方法的第十实施例的变形实施例的数据传输示意图。在改进后的方案中,测试用户端只需要通过向后台服务器发送第二热更新指令,即可交由后台服务器将所述备份数据表上传到测试服务器,可以减少测试用户端的工作量,整个系统的任务分配更合理。
所述游戏服务器热更新方法还包括:当接收到所述后台服务器返回的第二更新完成提示消息时,向测试用户提示所述测试服务器的热更新已完成;所述第二更新完成提示消息为所述后台服务器判定所述测试服务器的热更新状态结束时生成。即可以通过后台服务器捕获测试服务器的热更新状态并反馈给测试用户端。
本发明还提供了游戏服务器热更新方法的第十一实施例,该方法是通过测试用户端去执行的,包括上述游戏服务器热更新方法的第九实施例的步骤S31~S33,还包括:
当检测到测试用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
当接收到所述后台服务器返回的编辑冲突提示消息时,向测试用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
所述步骤S212具体是根据测试用户的保存操作指令或定时将所有允许被发送到所述后台服务器进行保存的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
优选地,所述编辑冲突提示消息包括其他用户的用户信息,例如所述其他用户的名称、ID账号、所在部门或者IP地址等。从而在发生冲突时,本用户可以得知谁在对相同的编辑单元进行编辑,从而沟通协调。
需要说明的是,编辑的数据表为类excel风格表,与传统的excel具有类似的显示和操作方式。数据表的主要功能包括公式编辑、行列操作、保存、固定行列、导出表格、筛选数据、右键菜单等。所述数据表具有N*(M-1)个编辑项;其中,N为所述数据表的总列数,M为所述数据表的总行数;N≥2,M≥2;每个编辑项在所述数据表中具有唯一的位置;每个编辑项的位置包含编辑项的列名和行数。
优选地,所述编辑单元的粒度是根据需求设定的,所述编辑单元为所述数据表的每一行、每一列、每个编辑项或者某几个编辑项组成的单元。
其中,位置信息是指,测试用户当前编辑的编辑项所属的编辑单元的位置数据信息。例如,编辑项所属的编辑单元为第N行,即当前编辑单元的位置信息为第N行。后台服务器在接收到所述当前编辑单元的位置信息时,确定所述当前编辑单元的位置,并判断所述编辑单元是否被其他用户正在编辑中,若是,则向本用户端发送冲突提示消息。当本用户端接收到所述后台服务器返回的冲突提示消息时,向测试用户提示所述当前编辑单元发生冲突状况,提示用户当前编辑单元已被其他的用户编辑中;例如在本用户端中用红色标示当前编辑单元,同时禁止将所述当前编辑单元的数据信息发送给所述服务器进行保存,从而保证其他用户端能正常对所述当前编辑单元编辑与保存;否则,允许将所述当前编辑单元的数据信息发送给所述服务器进行保存。即只有在没有接收到后台服务器返回的编辑冲突提示消息时,才能将所述当前编辑单元的数据信息发送给所述服务器进行保存。
以上冲突处理的原理是,数据表预先划分为多个编辑单元,对任意一个可编辑单元来说,最先对其编辑的用户端会锁定该单元,其余用户端在编辑该单元时会被提醒冲突,从而解决了冲突的问题并对编辑的内容进行保护。通过以上的数据表的编辑方法,可以实现多人同时编辑同一数据表,并解决了不同用户在编辑时的冲突问题,大大地提高了数据表的编辑和填表的效率。
为了能够支持多人同时打开并修改同一张数据表,用户端在保存修改的时候,只将用户修改过的编辑单元写回原文件,不更改其他编辑单元的内容。例如,当用户A修改行m,用户B修改行n,且m≠n,双方保存的时候,仅会将行m和行n保存回服务器,替换原文件行m和n的数据,而不会暴力覆盖整个原文件,这样一个文件就得到了协同使用。
本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第九实施例的进一步限定,提出了一种多人同时编辑同一数据表的冲突处理机制,每个用户可以在对所述数据表的不同编辑单元进行编辑,实现了多人同时编辑同一数据表,解决了当研发用户端和测试用户端同时对同一数据表编辑产生的冲突问题。
需要说明的是,上述的冲突处理机制还可以结合上述游戏服务器热更新方法的第十实施例,此时,对于测试用户端来说,编辑的对象是备份数据表,因此可以实现多个测试用户端同时对同一备份数据表进行编辑,提高了对所述备份数据表的编辑或填写效率。
本发明还提供了游戏服务器热更新方法的第十二实施例,该方法是通过测试用户端去执行的,包括上述游戏服务器热更新方法的第七实施例的步骤S31~S33,还进一步限定了:
如图25所示,其是本发明提供的游戏服务器热更新方法的第十二实施例的步骤S33的流程图。
所述步骤S33包括:
S331,运行在所述测试服务器中生效的游戏,并测试所述游戏的逻辑和效果;
S332,当所述游戏的逻辑或效果出错时,生成错误通知信息并发送给所述研发用户端。
在所述测试服务器执行热更新后,需要在一台与所述测试服务器相关联的用户端运行所述生效的游戏,所述用户端从所述测试服务器下载更新后的资源,并且测试所述生效的游戏是否存在逻辑和效果的出错。而在本实施例中,由所述测试用户端来担任所述用户端的任务,测试用户端在所述游戏的逻辑或效果出错时,生成错误通知信息并发送给所述研发用户端,从而整个测试流程效率更高。
相应地,本发明还提供了一种游戏服务器热更新装置。参见图26,是本发明提供的游戏服务器热更新装置的第七实施例的结构框图,所述游戏服务器热更新装置设于测试用户端,包括:
数据表获取模块31,用于获取经过研发用户端编辑后的数据表;所述编辑后的数据表由所述研发用户端上传到主服务器以实现所述主服务器的热更新;
第二热更新模块32,用于在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是主服务器的一个备份服务器;
错误通知模块33,用于当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端;所述错误通知信息用于通知所述研发用户端再次编辑所述数据表。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第七实施例的方法步骤,两者的工作原理和有益效果相对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第八实施例,该装置设于测试用户端,包括上述游戏服务器热更新装置的第七实施例的数据表获取模块31、第二热更新模块32与错误通知模块33,还进一步限定了:
所述经过研发用户端编辑后的数据表存储于后台服务器;
所述数据表获取模块31具体是从后台服务器中下载所述编辑后的数据表。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第八实施例的方法步骤,两者的工作原理和有益效果相对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第九实施例,该装置设于测试用户端,包括上述游戏服务器热更新装置的第七实施例的数据表获取模块31、第二热更新模块32与错误通知模块33,还进一步限定了:
所述经过研发用户端编辑后的数据表存储于后台服务器;
所述数据表获取模块31具体是从后台服务器中获取所述编辑后的数据表;
如图27所示,其是本发明提供的游戏服务器热更新装置的第九实施例的第二热更新模块32的结构框图。所述第二热更新模块32包括:
第二数据表保存单元321,用于在所述编辑后的数据表中写入测试数据后将所述测试数据发送给所述后台服务器进行保存以更新所述数据表;
数据表上传单元322,用于将所述数据表上传到测试服务器以实现所述测试服务器的热更新。
作为更优选地,所述数据表获取模块31包括:
获取指令发送单元,用于向所述后台服务器发送第二数据表获取指令;
数据表接收单元,用于接收所述后台服务器返回的所述数据表的原文件;
数据表显示单元,用于根据所述数据表的原文件显示所述数据表。
作为更优选地,所述第二数据表获取指令为异步HTTP请求指令;
所述数据表接收单元具体是通过异步传输方式接收所述服务器返回的、经过转换为字符串格式后的所述数据表的原文件;
作为本实施例的进一步改进,所述数据表上传单元322具体是向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述数据表上传到测试服务器,以实现所述测试服务器的热更新。
所述游戏服务器热更新装置还包括:第二更新完成提示模块,用于当接收到所述后台服务器返回的第二更新完成提示消息时,向用户提示所述测试服务器的热更新已完成;所述第二更新完成提示消息为所述后台服务器判定所述测试服务器的热更新状态结束时生成。
作为更优选地,所述游戏服务器热更新装置还包括:同步指令发送模块,用于向后台服务器发送服务器同步指令;所述服务器同步指令用于使所述后台服务器获取所述主服务器的数据信息并将所述数据信息替换到所述测试服务器中。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第九实施例的方法步骤,两者的工作原理和有益效果相对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第十实施例,该装置设于测试用户端,包括上述游戏服务器热更新装置的第七实施例的数据表获取模块31、第二热更新模块32与错误通知模块33,还进一步限定了:
所述经过研发用户端编辑后的数据表存储于后台服务器;
所述数据表获取模块31具体是从后台服务器中获取所述编辑后的数据表的备份数据表;
如图28所示,其是本发明提供的游戏服务器热更新装置的第十实施例的第二热更新模块32的结构框图。所述第二热更新模块32包括:
第二数据表保存单元323,用于在所述编辑后的数据表的备份数据表上写入测试数据后,将所述测试数据发送给所述后台服务器进行保存以更新所述备份数据表;
数据表上传单元324,用于将所述备份数据表上传到测试服务器,以实现所述测试服务器的热更新。
作为本实施例的进一步改进,所述数据表上传单元324具体是向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述备份数据表上传到测试服务器,以实现所述测试服务器的热更新。
所述游戏服务器热更新方法还包括:第二更新完成提示模块,用于当接收到所述后台服务器返回的第二更新完成提示消息时,向测试用户提示所述测试服务器的热更新已完成;所述第二更新完成提示消息为所述后台服务器判定所述测试服务器的热更新状态结束时生成。即可以通过后台服务器捕获测试服务器的热更新状态并反馈给测试用户端。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第十实施例的方法步骤,两者的工作原理和有益效果相对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第十一实施例,该装置设于测试用户端,包括上述游戏服务器热更新装置的第九实施例的数据表获取模块31、第二热更新模块32与错误通知模块33,还包括:
第二位置信息发送模块,用于当检测到测试用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
第二执行模块,用于当接收到所述后台服务器返回的编辑冲突提示消息时,向测试用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
所述第二数据表保存单元321是根据测试用户的保存操作指令或定时将所有允许被发送到所述后台服务器进行保存的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
优选地,所述编辑冲突提示消息包括其他用户的用户信息,例如所述其他用户的名称、ID账号、所在部门或者IP地址等。从而在发生冲突时,本用户可以得知谁在对相同的编辑单元进行编辑,从而沟通协调。
需要说明的是,编辑的数据表为类excel风格表,与传统的excel具有类似的显示和操作方式。数据表的主要功能包括公式编辑、行列操作、保存、固定行列、导出表格、筛选数据、右键菜单等。所述数据表具有N*(M-1)个编辑项;其中,N为所述数据表的总列数,M为所述数据表的总行数;N≥2,M≥2;每个编辑项在所述数据表中具有唯一的位置;每个编辑项的位置包含编辑项的列名和行数。
优选地,所述编辑单元的粒度是根据需求设定的,所述编辑单元为所述数据表的每一行、每一列、每个编辑项或者某几个编辑项组成的单元。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第十一实施例的方法步骤,两者的工作原理和有益效果相对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第十二实施例,该装置设于测试用户端,包括上述游戏服务器热更新装置的第七实施例的数据表获取模块31、第二热更新模块32与错误通知模块33,还进一步限定了所述错误通知模块33.
如图29所示,其是本发明提供的游戏服务器热更新装置的第十二实施例的错误通知模块33的结构框图。
所述错误通知模块33包括:
游戏测试单元331,用于运行在所述测试服务器中生效的游戏,并测试所述游戏的逻辑和效果;
错误通知单元332,用于当所述游戏的逻辑或效果出错时,生成错误通知信息并发送给所述研发用户端。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第十二实施例的方法步骤,两者的工作原理和有益效果相对应,因而不再赘述。
参见图30,是本发明提供的游戏服务器热更新方法的第十三实施例的流程示意图,该方法是通过研发用户端去执行的,包括以下步骤:
S41,将研发用户编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
S42,当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息;
S43,当接收到所述测试用户端返回的正确通知信息时,将所述编辑后的数据表上传到主服务器以实现所述主服务器的热更新;所述正确通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试无误时,由所述测试用户端生成的信息。
参见图31,是本发明提供的游戏服务器热更新方法的第十三实施例的数据传输示意图。本实施例的提供的游戏服务器热更新方法的工作原理如下:研发用户端将研发用户编辑后的数据表发送到测试用户端,所述测试用户端在所述编辑后的数据表中加入测试数据并上传到测试服务器(测试服务器为主服务器的一个备份服务器)进行测试的工作。当接收到所述测试用户端返回的错误通知信息时,提示研发用户再次编辑所述数据表,编辑后的数据表再次发送到测试用户端进行测试。当接收到所述测试用户端返回的正确通知信息时,说明这个版本的数据表可以使用,可以将所述数据表上传到主服务器,然后将主服务器的数据打包外放到与游戏客户端关联的外服。
本实施例提供的游戏服务器热更新方法与本发明提供的游戏服务器热更新方法的第一实施例的区别在于,在第一实施例中,研发用户端先把编辑后的数据表上传到主服务器,每次修改后都需要上传到主服务器,采用的是“先上传再测试”的方式,而在本实施例中,研发用户端先把编辑后的数据表发送给测试用户端进行测试,只有当测试无误时,才将所述数据表上传到主服务器,采用的是“先测试后上传”的方式。可见,当需要多次修改数据表的情况下,本实施例的方案更加适用,因为是知道测试数据表没有问题时才上传,可以省去很多工序。
在本实施例提供的游戏服务器热更新方法中采用了两个服务器,其中测试服务器是主服务器的一个备份服务器。研发用户端利用主服务器进行研发工作,测试用户端利用测试服务器进行测试工作,由于最终是将主服务器的数据内容外放,因此无需删除或屏蔽在测试服务器中的测试数据,减少了测试人员的工作量。同时,由于采用了两个服务器,研发用户端进行研发工作时,测试用户端也能进行测试工作;测试用户端进行测试工作时,研发用户端也能进行研发工作。例如在所述测试用户端利用测试服务器对所述编辑后的数据表进行测试工作的时候,所述研发用户端又可以利用主服务器对另一数据表进行研发工作。因而大大提高了游戏研发和测试的效率。
参见图32,是本发明提供的游戏服务器热更新方法的第十四实施例的流程示意图,该方法由研发用户端执行,包括以下步骤:
S51,编辑数据表;
S52,将研发用户编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
S53,当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
S54,当接收到所述测试用户端返回的正确通知信息时,将所述编辑后的数据表上传到主服务器以实现所述主服务器的热更新;所述正确通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试无误时,由所述测试用户端生成的信息。
请参阅图33,其是本发明提供的游戏服务器热更新方法的第十四实施例的步骤S51的流程示意图。
其中,步骤S51包括:
S511,从后台服务器中获取所述数据表以给研发用户进行编辑;
S512,将研发用户对所述数据表编辑后的编辑信息发送给所述后台服务器进行保存以更新所述数据表。
请参阅图34,其是本发明提供的游戏服务器热更新方法的第十四实施例的数据传输示意图。本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第十三实施例的进一步限定,步骤S511和步骤S512实际上是说明了所述数据表是在后台服务器中存储的,并且研发用户端也是从后台服务器获取所述数据表的,所述后台服务器可以为所述研发用户端分担数据存储的压力。
作为更优选地,步骤S511包括:
向所述后台服务器发送第一数据表获取指令;
接收所述后台服务器返回的所述数据表的原文件;
根据所述数据表的原文件显示所述数据表。
作为更优选地,所述第一数据表获取指令为异步HTTP请求指令;
所述接收所述后台服务器返回的所述数据表的原文件具体是通过异步传输方式接收所述服务器返回的、经过转换为字符串格式后的所述数据表的原文件;
所述根据所述数据表的原文件显示所述数据表具体是通过渲染所述数据表的原文件并显示其表格部分来显示所述数据表。这里采用了Ajax(AsynchronousJavascriptAndXML,异步JavaScript和XML)异步传输技术传输数据,AJAX在用户端与服务器之间使用异步数据传输(HTTP请求),这样就可使用户端从服务器请求少量的信息(采用字符串形式),而不是整个页面,从而大大地提高了打开数据表的速度。
作为本实施例的进一步改进,在步骤S54中,所述将编辑后的数据表上传到主服务器以实现所述主服务器的热更新具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
如图35所示,其是本发明提供的游戏服务器热更新方法的第十四实施例变形实施例的数据传输示意图。在改进后的方案中,研发用户端只需要通过向后台服务器发送第一热更新指令,即可交由后台服务器将所述数据表上传到主服务器,可以减少研发用户端的工作量,整个系统的任务分配更合理。
所述游戏服务器热更新方法还包括:当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
本发明还提供了游戏服务器热更新方法的第十五实施例,该方法由研发用户端执行,包括上述游戏服务器热更新方法的第十四实施例中的步骤S51、S52、S53、S54以及步骤S511、步骤S512,还进一步限定了:
在所述步骤S52中,所述将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新具体是向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中下载所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新。
请参阅图36,其是本发明提供的游戏服务器热更新方法的第十五实施例的数据传输示意图。本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第十四实施例的进一步限定,所述测试用户端是通过从后台服务器中下载所述编辑后的数据表来获得所述编辑后的数据表,而无需从研发用户端那里接收所述编辑后的数据表,可以减少研发用户端的工作量。
作为本实施例的进一步改进,在步骤S54中,所述将编辑后的数据表上传到主服务器以实现所述主服务器的热更新具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
如图37所示,其是本发明提供的游戏服务器热更新方法的第十五实施例的变形实施例的数据传输示意图。在改进后的方案中,研发用户端只需要通过向后台服务器发送第一热更新指令,即可交由后台服务器将所述数据表上传到主服务器,可以减少研发用户端的工作量,整个系统的任务分配更合理。
所述游戏服务器热更新方法还包括:当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
本发明还提供了游戏服务器热更新方法的第十六实施例,该方法由研发用户端执行,包括上述游戏服务器热更新方法的第十四实施例中的步骤S51、S52、S53、S54以及步骤S511、步骤S512,还进一步限定了:
在步骤S52中,所述将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新具体是向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述数据表上传到测试服务器以实现所述测试服务器的热更新。
请参阅图38,其是本发明提供的游戏服务器热更新方法的第十六实施例的数据传输示意图。本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第十四实施例的进一步限定,所述测试用户端是通过从后台服务器中在线获取所述编辑后的数据表并对其编辑,编辑后又通过所述后台服务器存储,相比于直接从研发用户端那里接收所述编辑后的数据表,或者从后台服务器下载所述编辑后的数据表,在线编辑数据表的方式的即时性更好,打开数据表的速度更快,也无需存储在测试用户端本地,从而对于测试用户端来说,可以减少测试过程所需要的时间,提高测试的效率。
作为本实施例的进一步改进,在步骤S54中,所述将编辑后的数据表上传到主服务器以实现所述主服务器的热更新具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
如图39所示,其是本发明提供的游戏服务器热更新方法的第十六实施例的变形实施例的数据传输示意图。在改进后的方案中,研发用户端只需要通过向后台服务器发送第一热更新指令,即可交由后台服务器将所述数据表上传到主服务器,可以减少研发用户端的工作量,整个系统的任务分配更合理。
所述游戏服务器热更新方法还包括:当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。即可以通过后台服务器捕获主服务器的热更新状态并反馈给研发用户端。
本发明还提供了游戏服务器热更新方法的第十七实施例,该方法由研发用户端执行,包括上述游戏服务器热更新方法的第十四实施例中的步骤S51、S52、S53、S54以及步骤S511、步骤S512,还进一步限定了:
在步骤S52中所述将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新具体是向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表的备份数据表,由所述测试用户端在所述备份数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述备份数据表上传到测试服务器以实现所述测试服务器的热更新。
请参阅图40,其是本发明提供的游戏服务器热更新方法的第十七实施例的数据传输示意图。当测试用户端收到所述测试通知指令时,会向所述后台服务器发送测试数据表获取指令,所述后台服务器将所述编辑后的数据表的内容复制到与所述编辑后的数据表对应的备份数据表中,并保存所述备份数据表。即所述测试用户端获取的数据表实际上是经过后台服务器复制后的数据表的备份数据表。然而在所述测试用户端编辑并保存所述备份数据表的过程中,只会对备份数据表产生影响。例如,所述经过研发用户端编辑过后的数据表的内容是A;当测试用户端获取所述数据表时,后台服务器将备份数据表的内容更新为A,那么虽然测试用户端打开的是备份数据表,但实际上显示的内容还是A;当测试用户端对所述备份数据表加入测试数据X并保存时,所述备份数据表的内容为A+X,但原来的数据表的内容还是A。
因此,在后台服务器实际上存在着一份原数据表和一份与所述原数据表对应的备份数据表。两者中的任意一个进行保存操作时,都不会覆盖另一个,只有当测试用户端打开备份数据表时,才会将备份数据表的内容更新到与所述原数据表一致的内容。原数据表和备份数据表需要关联,可以是表名一样,但存储于所述后台服务器不同的存储区域;或者是存储于同样的存储区域,两者的表名不相同但相关联。
本实施例的游戏服务器热更新方法是对上述游戏服务器热更新方法的第二实施例的进一步限定,所述后台服务器存储有所述编辑后的数据表的备份数据表;所述测试用户端每次从后台服务器中获取所述编辑后的数据表的备份数据表,加入测试数据后将所述备份数据表保存会所述后台服务器。在本实施例中,上传到主服务器的是原数据表,上传到测试服务器的是备份数据表,且每当测试用户端打开备份数据表时,都会将备份数据表的内容更新到与所述原数据表一致的内容。其有益效果在于:
本实施例采用在线对所述数据表进行编辑方式,即时性高,编辑效率高。并且在本方案由于同一数据表分为原数据表和备份数据表,研发用户端利用原数据表进行研发工作,测试用户端利用测试数据表测试工作,因而不存在冲突的问题,进一步提高对同一数据表的开发工作的效率。此外,测试用户端在测试数据表中加入测试数据进行测试,不会影响到正式数据表的内容,免去了在正式数据表中删除测试数据的工作。
作为本实施例的进一步改进,在步骤S54中,所述将编辑后的数据表上传到主服务器以实现所述主服务器的热更新具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
如图41所示,其是本发明提供的游戏服务器热更新方法的第十七实施例的变形实施例的数据传输示意图。在改进后的方案中,研发用户端只需要通过向后台服务器发送第一热更新指令,即可交由后台服务器将所述数据表上传到主服务器,可以减少研发用户端的工作量,整个系统的任务分配更合理。
所述游戏服务器热更新方法还包括:当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。即可以通过后台服务器捕获主服务器的热更新状态并反馈给研发用户端。
本发明还提供了游戏服务器热更新方法的第十八实施例,该方法由研发用户端执行,包括上述游戏服务器热更新方法的第二实施例中的步骤S51、S52、S53、S54以及步骤S511、步骤S512,还进一步限定了所述数据表包括多个编辑单元,所述游戏服务器热更新方法还包括:
当检测到研发用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
当接收到所述后台服务器返回的编辑冲突提示消息时,向研发用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
所述步骤S512具体是根据研发用户的保存操作指令或定时将所有允许被发送到所述后台服务器进行保存的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
优选地,所述编辑冲突提示消息包括其他用户的用户信息,例如所述其他用户的名称、ID账号、所在部门或者IP地址等。从而在发生冲突时,本用户可以得知谁在对相同的编辑单元进行编辑,从而沟通协调。
需要说明的是,编辑的数据表为类excel风格表,与传统的excel具有类似的显示和操作方式。数据表的主要功能包括公式编辑、行列操作、保存、固定行列、导出表格、筛选数据、右键菜单等。所述数据表具有N*(M-1)个编辑项;其中,N为所述数据表的总列数,M为所述数据表的总行数;N≥2,M≥2;每个编辑项在所述数据表中具有唯一的位置;每个编辑项的位置包含编辑项的列名和行数。
优选地,所述编辑单元的粒度是根据需求设定的,所述编辑单元为所述数据表的每一行、每一列、每个编辑项或者某几个编辑项组成的单元。
其中,位置信息是指,研发用户当前编辑的编辑项所属的编辑单元的位置数据信息。例如,编辑项所属的编辑单元为第N行,即当前编辑单元的位置信息为第N行。后台服务器在接收到所述当前编辑单元的位置信息时,确定所述当前编辑单元的位置,并判断所述编辑单元是否被其他用户正在编辑中,若是,则向本用户端发送冲突提示消息。当本用户端接收到所述后台服务器返回的冲突提示消息时,向研发用户提示所述当前编辑单元发生冲突状况,提示研发用户当前编辑单元已被其他的用户编辑中;例如在本用户端中用红色标示当前编辑单元,同时禁止将所述当前编辑单元的数据信息发送给所述服务器进行保存,从而保证其他用户端能正常对所述当前编辑单元编辑与保存;否则,允许将所述当前编辑单元的数据信息发送给所述服务器进行保存。即只有在没有接收到后台服务器返回的编辑冲突提示消息时,才能将所述当前编辑单元的数据信息发送给所述服务器进行保存。
以上冲突处理的原理是,数据表预先划分为多个编辑单元,对任意一个可编辑单元来说,最先对其编辑的用户端会锁定该单元,其余用户端在编辑该单元时会被提醒冲突,从而解决了冲突的问题并对编辑的内容进行保护。通过以上的数据表的编辑方法,可以实现多人同时编辑同一数据表,并解决了不同用户在编辑时的冲突问题,大大地提高了数据表的编辑和填表的效率。
为了能够支持多人同时打开并修改同一张数据表,用户端在保存修改的时候,只将用户修改过的编辑单元写回原文件,不更改其他编辑单元的内容。例如,当用户A修改行m,用户B修改行n,且m≠n,双方保存的时候,仅会将行m和行n保存回服务器,替换原文件行m和n的数据,而不会暴力覆盖整个原文件,这样一个文件就得到了协同使用。
本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第二实施例的进一步限定,提出了一种多人同时编辑同一数据表的冲突处理机制,每个用户可以在对所述数据表的不同编辑单元进行编辑,实现了多人同时编辑同一数据表,大大提高了对数据表的编辑或填表效率。例如,当数据表需要填写大量的数据信息时,需要多个研发用户端同时进行编辑,通过本实施例中的冲突处理机制则可以实现。
相应地,本发明还提供了一种游戏服务器热更新装置。参见图42,是本发明提供的游戏服务器热更新装置的第十三实施例的结构框图,所述游戏服务器热更新装置设于研发用户端,包括:
数据表发送模块41,用于将研发用户编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
再次编辑提示模块42,用于当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息;
第一热更新模块43,用于当接收到所述测试用户端返回的正确通知信息时,将所述编辑后的数据表上传到主服务器以实现所述主服务器的热更新;所述正确通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试无误时,由所述测试用户端生成的信息。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第十三实施例的方法步骤,两者的工作原理和有益效果一一对应,因而不再赘述。
参见图43,是本发明提供的游戏服务器热更新装置的第十四实施例的结构框图,该方法由研发用户端执行,包括:
数据表编辑模块51,用于编辑数据表;
数据表发送模块52,用于将研发用户编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
再次编辑提示模块53,用于当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息;
第一热更新模块54,用于当接收到所述测试用户端返回的正确通知信息时,将所述编辑后的数据表上传到主服务器以实现所述主服务器的热更新;所述正确通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试无误时,由所述测试用户端生成的信息。
请参阅图44,其是本发明提供的游戏服务器热更新装置的第十四实施例的数据表编辑模块51的结构框图。所述数据表编辑模块包括:
数据表获取单元511,用于从后台服务器中获取所述数据表以给研发用户进行编辑;
第一数据表保存单元512,用于将研发用户对所述数据表编辑后的编辑信息发送给所述后台服务器进行保存以更新所述数据表。
作为更优选地,所述数据表获取单元511包括:
获取指令发送子单元,用于向所述后台服务器发送第一数据表获取指令;
数据表接收子单元,用于接收所述后台服务器返回的所述数据表的原文件;
数据表显示子单元,用于根据所述数据表的原文件显示所述数据表。
作为更优选地,所述第一数据表获取指令为异步HTTP请求指令;
所述数据表接收子单元具体是通过异步传输方式接收所述服务器返回的、经过转换为字符串格式后的所述数据表的原文件;
所述数据表显示单元具体是通过渲染所述数据表的原文件并显示其表格部分来显示所述数据表。
作为更优选地,所述第一热更新模块54具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
所述游戏服务器热更新装置还包括:第一更新完成提示模块,用于当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
本实施例的游戏服务器热更新装置用于执行上述游戏服务器热更新方法的第十四实施例,两者的工作原理和有益效果一一对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第十五实施例,该装置设于研发用户端,包括上述游戏服务器热更新装置的第十四实施例中的数据表编辑模块51、数据表发送模块52、再次编辑提示模块53、第一热更新模块54以及数据表获取单元511、第一数据表保存单元512,还进一步限定了:
所述数据表发送模块52具体用于向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中下载所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新。
作为更优选地,所述第一热更新模块54具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
所述游戏服务器热更新装置还包括:第一更新完成提示模块,用于当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
本实施例的游戏服务器热更新装置用于执行上述游戏服务器热更新方法的第十五实施例,两者的工作原理和有益效果一一对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第十六实施例,该装置设于研发用户端,包括上述游戏服务器热更新装置的第十四实施例中的数据表编辑模块51、数据表发送模块52、再次编辑提示模块53、第一热更新模块54以及数据表获取单元511、第一数据表保存单元512,还进一步限定了:
所述数据表发送模块52具体用于向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述数据表上传到测试服务器以实现所述测试服务器的热更新。
作为更优选地,所述第一热更新模块54具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
所述游戏服务器热更新装置还包括:第一更新完成提示模块,用于当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
本实施例的游戏服务器热更新装置用于执行上述游戏服务器热更新方法的第十六实施例,两者的工作原理和有益效果一一对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第十七实施例,该装置设于研发用户端,包括上述游戏服务器热更新装置的第十四实施例中的数据表编辑模块51、数据表发送模块52、再次编辑提示模块53、第一热更新模块54以及数据表获取单元511、第一数据表保存单元512,还进一步限定了:
所述数据表发送模块52具体用于向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表的备份数据表,由所述测试用户端在所述备份数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述备份数据表上传到测试服务器以实现所述测试服务器的热更新。
作为更优选地,所述第一热更新模块54具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
所述游戏服务器热更新装置还包括:第一更新完成提示模块,用于当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
本实施例的游戏服务器热更新装置用于执行上述游戏服务器热更新方法的第十七实施例,两者的工作原理和有益效果一一对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第十八实施例,该装置设于研发用户端,包括上述游戏服务器热更新装置的第十四实施例中的数据表编辑模块51、数据表发送模块52、再次编辑提示模块53、第一热更新模块54以及数据表获取单元511、第一数据表保存单元512,还进一步限定了:
所述数据表包括多个编辑单元,所述游戏服务器热更新装置还包括:
第一位置信息发送模块,用于当检测到研发用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
第一执行模块,用于当接收到所述后台服务器返回的编辑冲突提示消息时,向研发用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
所述数据表保存单元512具体用于根据研发用户的保存操作指令或定时将所有允许被发送到所述后台服务器进行保存的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表
优选地,所述编辑冲突提示消息包括其他用户的用户信息,例如所述其他用户的名称、ID账号、所在部门或者IP地址等。从而在发生冲突时,本用户可以得知谁在对相同的编辑单元进行编辑,从而沟通协调。
需要说明的是,编辑的数据表为类excel风格表,与传统的excel具有类似的显示和操作方式。数据表的主要功能包括公式编辑、行列操作、保存、固定行列、导出表格、筛选数据、右键菜单等。所述数据表具有N*(M-1)个编辑项;其中,N为所述数据表的总列数,M为所述数据表的总行数;N≥2,M≥2;每个编辑项在所述数据表中具有唯一的位置;每个编辑项的位置包含编辑项的列名和行数。
优选地,所述编辑单元的粒度是根据需求设定的,所述编辑单元为所述数据表的每一行、每一列、每个编辑项或者某几个编辑项组成的单元。
本实施例的游戏服务器热更新装置用于执行上述游戏服务器热更新方法的第十八实施例,两者的工作原理和有益效果一一对应,因而不再赘述。
参见图45,是本发明提供的游戏服务器热更新方法的第十九实施例的流程示意图,该方法是通过测试用户端去执行的,包括以下步骤:
S61,获取经过研发用户端编辑后的数据表;
S62,在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是主服务器的一个备份服务器;
S63,当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端;所述错误通知信息用于通知所述研发用户端再次编辑所述数据表;
S64,当在热更新后的所述测试服务器中生效的游戏经过测试无误时,生成正确通知信息并发送给研发用户端;所述正确通知信息用于通知所述研发用户端将所述编辑后的数据表上传到所述主服务器以实现所述主服务器的热更新。
参见图46,是本发明提供的游戏服务器热更新方法的第十九实施例的数据传输示意图。本实施例的提供的游戏服务器热更新方法的工作原理如下:测试用户端获取研发用户端在研发得到的编辑后的数据表,在所述编辑后的数据表中加入测试数据并上传到测试服务器(测试服务器为主服务器的一个备份服务器)进行测试的工作。当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端,提示研发用户再次编辑所述数据表,编辑后的数据表再次发送到测试用户端进行测试。当在热更新后的所述测试服务器中生效的游戏经过测试无误时,生成正确通知信息并发送给研发用户端,研发用户端将所述数据表上传到主服务器,然后将主服务器的数据打包外放到与游戏客户端关联的外服。
本实施例提供的游戏服务器热更新方法与本发明提供的游戏服务器热更新方法的第七实施例的区别在于,在第七实施例中,研发用户端先把编辑后的数据表上传到主服务器,每次修改后都需要上传到主服务器,采用的是“先上传再测试”的方式,而在本实施例中,研发用户端先把编辑后的数据表发送给测试用户端进行测试,只有当测试无误时,才将所述数据表上传到主服务器,采用的是“先测试后上传”的方式。可见,当需要多次修改数据表的情况下,本实施例的方案更加适用,因为是知道测试数据表没有问题时才上传,可以省去很多工序。
在本实施例提供的游戏服务器热更新方法中采用了两个服务器,其中测试服务器是主服务器的一个备份服务器。研发用户端利用主服务器进行研发工作,测试用户端利用测试服务器进行测试工作,由于最终是将主服务器的数据内容外放,因此无需删除或屏蔽在测试服务器中的测试数据,减少了测试人员的工作量。同时,由于采用了两个服务器,研发用户端进行研发工作时,测试用户端也能进行测试工作;测试用户端进行测试工作时,研发用户端也能进行研发工作。例如在所述测试用户端利用测试服务器对所述编辑后的数据表进行测试工作的时候,所述研发用户端又可以利用主服务器对另一数据表进行研发工作。因而大大提高了游戏研发和测试的效率。
本发明还提供了游戏服务器热更新方法的第二十实施例,该方法是通过测试用户端去执行的,包括上述游戏服务器热更新方法的第十九实施例的步骤S61~S64,还进一步限定了:
所述经过研发用户端编辑后的数据表存储于后台服务器;
所述获取经过研发用户端编辑后的数据表具体是从后台服务器中下载所述编辑后的数据表。
请参阅图47,其是本发明提供的游戏服务器热更新方法的第二十实施例的数据传输示意图。本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第十九实施例的进一步限定,所述测试用户端是通过从后台服务器中下载经过研发用户端编辑后的数据表来获得所述编辑后的数据表,而无需从研发用户端那里接收所述编辑后的数据表,可以减少研发用户端的工作量。
本发明还提供了游戏服务器热更新方法的第二十一实施例,该方法是通过测试用户端去执行的,包括上述游戏服务器热更新方法的第十九实施例的步骤S61~S64,还进一步限定了:
所述经过研发用户端编辑后的数据表存储于后台服务器;
所述获取经过研发用户端编辑后的数据表具体是从后台服务器中获取所述编辑后的数据表;
如图48所示,其是本发明提供的游戏服务器热更新方法的第二十二实施例的步骤S62的流程图。所述步骤S62包括:
S621,在所述编辑后的数据表中写入测试数据后将所述测试数据发送给所述后台服务器进行保存以更新所述数据表;
S622,将所述数据表上传到测试服务器以实现所述测试服务器的热更新。
请参阅图49,其是本发明提供的游戏服务器热更新方法的第二十二实施例的数据传输示意图。本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第十九实施例的进一步限定,所述测试用户端是通过从后台服务器中在线获取所述编辑后的数据表并对其编辑,编辑后又通过所述后台服务器存储,相比于直接从研发用户端那里接收所述编辑后的数据表,或者从后台服务器下载所述编辑后的数据表,在线编辑数据表的方式的即时性更好,打开数据表的速度更快,也无需存储在测试用户端本地,从而对于测试用户端来说,可以减少测试过程所需要的时间,提高测试的效率。
作为更优选地,步骤S61包括:
向所述后台服务器发送第二数据表获取指令;
接收所述后台服务器返回的所述数据表的原文件;
根据所述数据表的原文件显示所述数据表。
作为更优选地,所述第二数据表获取指令为异步HTTP请求指令;
所述接收所述后台服务器返回的所述数据表的原文件具体是通过异步传输方式接收所述服务器返回的、经过转换为字符串格式后的所述数据表的原文件;
这里采用了Ajax(AsynchronousJavascriptAndXML,异步JavaScript和XML)异步传输技术传输数据,AJAX在用户端与服务器之间使用异步数据传输(HTTP请求),这样就可使用户端从服务器请求少量的信息(采用字符串形式),而不是整个页面,从而大大地提高了打开数据表的速度。
作为本实施例的进一步改进,在步骤S622中,所述将所述数据表上传到测试服务器以实现所述测试服务器的热更新具体是向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述数据表上传到测试服务器,以实现所述测试服务器的热更新。
如图50所示,其是本发明提供的游戏服务器热更新方法的第二十二实施例的变形实施例的数据传输示意图。在改进后的方案中,测试用户端只需要通过向后台服务器发送第二热更新指令,即可交由后台服务器将所述数据表上传到主服务器,可以减少测试用户端的工作量,整个系统的任务分配更合理。
所述游戏服务器热更新方法还包括:当接收到所述后台服务器返回的第二更新完成提示消息时,向测试用户提示所述测试服务器的热更新已完成;所述第二更新完成提示消息为所述后台服务器判定所述测试服务器的热更新状态结束时生成。即可以通过后台服务器捕获测试服务器的热更新状态并反馈给测试用户端。
作为更优选地,所述游戏服务器热更新方法还包括:
向后台服务器发送服务器同步指令;所述服务器同步指令用于使所述后台服务器获取所述主服务器的数据信息并将所述数据信息替换到所述测试服务器中。
本发明还提供了游戏服务器热更新方法的第二十三实施例,该方法是通过测试用户端去执行的,包括上述游戏服务器热更新方法的第十九实施例的步骤S61~S64,还进一步限定了:
所述经过研发用户端编辑后的数据表存储于后台服务器;
所述获取经过研发用户端编辑后的数据表具体是从后台服务器中获取所述编辑后的数据表的备份数据表;
如图51所示,其是本发明提供的游戏服务器热更新方法的第二十二实施例的步骤S62的流程图。所述步骤S62包括:
S623,在所述编辑后的数据表的备份数据表上写入测试数据后,将所述测试数据发送给所述后台服务器进行保存以更新所述备份数据表;
S624,将所述备份数据表上传到测试服务器,以实现所述测试服务器的热更新。
请参阅图52,其是本发明提供的游戏服务器热更新方法的第二十二实施例的数据传输示意图。当测试用户端向所述后台服务器发送第二数据表获取指令时,所述后台服务器将所述编辑后的数据表的内容复制到与所述编辑后的数据表对应的备份数据表中,并保存所述备份数据表。即所述测试用户端获取的数据表实际上是经过后台服务器复制后的数据表的备份数据表。然而在所述测试用户端编辑并保存所述备份数据表的过程中,只会对备份数据表产生影响。例如,所述经过研发用户端编辑过后的数据表的内容是A;当测试用户端获取所述数据表时,后台服务器将备份数据表的内容更新为A,那么虽然测试用户端打开的是备份数据表,但实际上显示的内容还是A;当测试用户端对所述备份数据表加入测试数据X并保存时,所述备份数据表的内容为A+X,但原来的数据表的内容还是A。
因此,在后台服务器实际上存在着一份原数据表和一份与所述原数据表对应的备份数据表。两者中的任意一个进行保存操作时,都不会覆盖另一个,只有当测试用户端打开备份数据表时,才会将备份数据表的内容更新到与所述原数据表一致的内容。原数据表和备份数据表需要关联,可以是表名一样,但存储于所述后台服务器不同的存储区域;或者是存储于同样的存储区域,两者的表名不相同但相关联。
本实施例的游戏服务器热更新方法是对上述游戏服务器热更新方法的第七实施例的进一步限定,所述后台服务器存储有所述编辑后的数据表的备份数据表;所述测试用户端每次从后台服务器中获取所述编辑后的数据表的备份数据表,加入测试数据后将所述备份数据表保存会所述后台服务器。在本实施例中,上传到主服务器的是原数据表,上传到测试服务器的是备份数据表,且每当测试用户端打开备份数据表时,都会将备份数据表的内容更新到与所述原数据表一致的内容。其有益效果在于:
本实施例采用在线对所述数据表进行编辑方式,即时性高,编辑效率高。并且在本方案由于同一数据表分为原数据表和备份数据表,研发用户端利用原数据表进行研发工作,测试用户端利用测试数据表测试工作,因而不存在冲突的问题,进一步提高对同一数据表的开发工作的效率。此外,测试用户端在测试数据表中加入测试数据进行测试,不会影响到正式数据表的内容,免去了在正式数据表中删除测试数据的工作。
作为本实施例的进一步改进,在步骤S624中,所述将所述备份数据表上传到测试服务器以实现所述测试服务器的热更新具体是向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述备份数据表上传到测试服务器,以实现所述测试服务器的热更新。
如图53所示,其是本发明提供的游戏服务器热更新方法的第二十二实施例的变形实施例的数据传输示意图。在改进后的方案中,测试用户端只需要通过向后台服务器发送第二热更新指令,即可交由后台服务器将所述备份数据表上传到测试服务器,可以减少测试用户端的工作量,整个系统的任务分配更合理。
所述游戏服务器热更新方法还包括:当接收到所述后台服务器返回的第二更新完成提示消息时,向测试用户提示所述测试服务器的热更新已完成;所述第二更新完成提示消息为所述后台服务器判定所述测试服务器的热更新状态结束时生成。即可以通过后台服务器捕获测试服务器的热更新状态并反馈给测试用户端。
本发明还提供了游戏服务器热更新方法的第二十三实施例,该方法是通过测试用户端去执行的,包括上述游戏服务器热更新方法的第二十一实施例的步骤S61~S64,还包括:
当检测到测试用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
当接收到所述后台服务器返回的编辑冲突提示消息时,向测试用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
所述步骤S621具体是根据测试用户的保存操作指令或定时将所有允许被发送到所述后台服务器进行保存的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
优选地,所述编辑冲突提示消息包括其他用户的用户信息,例如所述其他用户的名称、ID账号、所在部门或者IP地址等。从而在发生冲突时,本用户可以得知谁在对相同的编辑单元进行编辑,从而沟通协调。
需要说明的是,编辑的数据表为类excel风格表,与传统的excel具有类似的显示和操作方式。数据表的主要功能包括公式编辑、行列操作、保存、固定行列、导出表格、筛选数据、右键菜单等。所述数据表具有N*(M-1)个编辑项;其中,N为所述数据表的总列数,M为所述数据表的总行数;N≥2,M≥2;每个编辑项在所述数据表中具有唯一的位置;每个编辑项的位置包含编辑项的列名和行数。
优选地,所述编辑单元的粒度是根据需求设定的,所述编辑单元为所述数据表的每一行、每一列、每个编辑项或者某几个编辑项组成的单元。
其中,位置信息是指,测试用户当前编辑的编辑项所属的编辑单元的位置数据信息。例如,编辑项所属的编辑单元为第N行,即当前编辑单元的位置信息为第N行。后台服务器在接收到所述当前编辑单元的位置信息时,确定所述当前编辑单元的位置,并判断所述编辑单元是否被其他用户正在编辑中,若是,则向本用户端发送冲突提示消息。当本用户端接收到所述后台服务器返回的冲突提示消息时,向测试用户提示所述当前编辑单元发生冲突状况,提示测试用户当前编辑单元已被其他的用户编辑中;例如在本用户端中用红色标示当前编辑单元,同时禁止将所述当前编辑单元的数据信息发送给所述服务器进行保存,从而保证其他用户端能正常对所述当前编辑单元编辑与保存;否则,允许将所述当前编辑单元的数据信息发送给所述服务器进行保存。即只有在没有接收到后台服务器返回的编辑冲突提示消息时,才能将所述当前编辑单元的数据信息发送给所述服务器进行保存。
以上冲突处理的原理是,数据表预先划分为多个编辑单元,对任意一个可编辑单元来说,最先对其编辑的用户端会锁定该单元,其余用户端在编辑该单元时会被提醒冲突,从而解决了冲突的问题并对编辑的内容进行保护。通过以上的数据表的编辑方法,可以实现多人同时编辑同一数据表,并解决了不同用户在编辑时的冲突问题,大大地提高了数据表的编辑和填表的效率。
为了能够支持多人同时打开并修改同一张数据表,用户端在保存修改的时候,只将用户修改过的编辑单元写回原文件,不更改其他编辑单元的内容。例如,当用户A修改行m,用户B修改行n,且m≠n,双方保存的时候,仅会将行m和行n保存回服务器,替换原文件行m和n的数据,而不会暴力覆盖整个原文件,这样一个文件就得到了协同使用。
本实施例提供的游戏服务器热更新方法是对上述游戏服务器热更新方法的第九实施例的进一步限定,提出了一种多人同时编辑同一数据表的冲突处理机制,每个用户可以在对所述数据表的不同编辑单元进行编辑,实现了多人同时编辑同一数据表,解决了当研发用户端和测试用户端同时对同一数据表编辑产生的冲突问题。
需要说明的是,上述的冲突处理机制还可以结合上述游戏服务器热更新方法的第二十二实施例,此时,对于测试用户端来说,编辑的对象是备份数据表,因此可以实现多个测试用户端同时对同一备份数据表进行编辑,提高了对所述备份数据表的编辑或填写效率。
本发明还提供了游戏服务器热更新方法的第二十四实施例,该方法是通过测试用户端去执行的,包括上述游戏服务器热更新方法的第十九实施例的步骤S61~S63,还包括如下步骤:
运行在所述测试服务器中生效的游戏,并测试所述游戏的逻辑和效果;当所述游戏的逻辑或效果出错时,判定所述游戏经过测试有误;否则判定所述游戏经过测试无误。
在所述测试服务器执行热更新后,需要在一台与所述测试服务器相关联的用户端运行所述生效的游戏,所述用户端从所述测试服务器下载更新后的资源,并且测试所述生效的游戏是否存在逻辑和效果的出错。而在本实施例中,由所述测试用户端来担任所述用户端的任务,测试用户端在所述游戏的逻辑或效果出错时,生成错误通知信息并发送给所述研发用户端,从而整个测试流程效率更高。
相应地,本发明还提供了一种游戏服务器热更新装置。参见图54,是本发明提供的游戏服务器热更新装置的第十九实施例的结构框图,所述游戏服务器热更新装置设于测试用户端,包括:
数据表获取模块61,用于获取经过研发用户端编辑后的数据表;
第二热更新模块62,用于在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是主服务器的一个备份服务器;
错误通知模块63,用于当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端;所述错误通知信息用于通知所述研发用户端再次编辑所述数据表;
正确通知模块64,用于当在热更新后的所述测试服务器中生效的游戏经过测试无误时,生成正确通知信息并发送给研发用户端;所述正确通知信息用于通知所述研发用户端将所述编辑后的数据表上传到所述主服务器以实现所述主服务器的热更新。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第十九实施例的方法步骤,两者的工作原理和有益效果相对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第二十实施例,该装置设于测试用户端,包括上述游戏服务器热更新装置的第十九实施例的数据表获取模块61、第二热更新模块62、错误通知模块63与正确通知模块64,还进一步限定了:
所述经过研发用户端编辑后的数据表存储于后台服务器;
所述数据表获取模块61具体是从后台服务器中下载所述编辑后的数据表。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第二十实施例的方法步骤,两者的工作原理和有益效果相对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第二十实施例,该装置设于测试用户端,包括上述游戏服务器热更新装置的第十九实施例的数据表获取模块61、第二热更新模块62、错误通知模块63与正确通知模块64,还进一步限定了:
所述经过研发用户端编辑后的数据表存储于后台服务器;
所述数据表获取模块61具体是从后台服务器中获取所述编辑后的数据表;
如图55所示,其是本发明提供的游戏服务器热更新装置的第二十实施例的第二热更新模块62的结构框图。所述第二热更新模块62包括:
第二数据表保存单元621,用于在所述编辑后的数据表中写入测试数据后将所述测试数据发送给所述后台服务器进行保存以更新所述数据表;
数据表上传单元622,用于将所述数据表上传到测试服务器以实现所述测试服务器的热更新。
作为更优选地,所述数据表获取模块61包括:
获取指令发送单元,用于向所述后台服务器发送第二数据表获取指令;
数据表接收单元,用于接收所述后台服务器返回的所述数据表的原文件;
数据表显示单元,用于根据所述数据表的原文件显示所述数据表。
作为更优选地,所述第二数据表获取指令为异步HTTP请求指令;
所述数据表接收单元具体是通过异步传输方式接收所述服务器返回的、经过转换为字符串格式后的所述数据表的原文件;
作为本实施例的进一步改进,所述数据表上传单元622具体是向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述数据表上传到测试服务器,以实现所述测试服务器的热更新。
所述游戏服务器热更新装置还包括:第二更新完成提示模块,用于当接收到所述后台服务器返回的第二更新完成提示消息时,向测试用户提示所述测试服务器的热更新已完成;所述第二更新完成提示消息为所述后台服务器判定所述测试服务器的热更新状态结束时生成。
作为更优选地,所述游戏服务器热更新装置还包括:同步指令发送模块,用于向后台服务器发送服务器同步指令;所述服务器同步指令用于使所述后台服务器获取所述主服务器的数据信息并将所述数据信息替换到所述测试服务器中。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第二十实施例的方法步骤,两者的工作原理和有益效果相对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第二十一实施例,该装置设于测试用户端,包括上述游戏服务器热更新装置的第十九实施例的数据表获取模块61、第二热更新模块62、错误通知模块63与正确通知模块64,还进一步限定了:
所述经过研发用户端编辑后的数据表存储于后台服务器;
所述数据表获取模块61具体是从后台服务器中获取所述编辑后的数据表的备份数据表;
如图56所示,其是本发明提供的游戏服务器热更新装置的第二十一实施例的第二热更新模块62的结构框图。所述第二热更新模块62包括:
第二数据表保存单元623,用于在所述编辑后的数据表的备份数据表上写入测试数据后,将所述测试数据发送给所述后台服务器进行保存以更新所述备份数据表;
数据表上传单元624,用于将所述备份数据表上传到测试服务器,以实现所述测试服务器的热更新。
作为本实施例的进一步改进,所述数据表上传单元624具体是向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述备份数据表上传到测试服务器,以实现所述测试服务器的热更新。
所述游戏服务器热更新方法还包括:第二更新完成提示模块,用于当接收到所述后台服务器返回的第二更新完成提示消息时,向测试用户提示所述测试服务器的热更新已完成;所述第二更新完成提示消息为所述后台服务器判定所述测试服务器的热更新状态结束时生成。即可以通过后台服务器捕获测试服务器的热更新状态并反馈给测试用户端。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第二十一实施例的方法步骤,两者的工作原理和有益效果相对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第二十二实施例,该装置设于测试用户端,包括上述游戏服务器热更新装置的第二十实施例的数据表获取模块61、第二热更新模块62、错误通知模块63与正确通知模块64,还包括:
位置信息发送模块,用于当检测到测试用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
执行模块,用于当接收到所述后台服务器返回的编辑冲突提示消息时,向测试用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
所述第二数据表保存单元621具体是根据测试用户的保存操作指令或定时将所有允许被发送到所述后台服务器进行保存的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
优选地,所述编辑冲突提示消息包括其他用户的用户信息,例如所述其他用户的名称、ID账号、所在部门或者IP地址等。从而在发生冲突时,本用户可以得知谁在对相同的编辑单元进行编辑,从而沟通协调。
需要说明的是,编辑的数据表为类excel风格表,与传统的excel具有类似的显示和操作方式。数据表的主要功能包括公式编辑、行列操作、保存、固定行列、导出表格、筛选数据、右键菜单等。所述数据表具有N*(M-1)个编辑项;其中,N为所述数据表的总列数,M为所述数据表的总行数;N≥2,M≥2;每个编辑项在所述数据表中具有唯一的位置;每个编辑项的位置包含编辑项的列名和行数。
优选地,所述编辑单元的粒度是根据需求设定的,所述编辑单元为所述数据表的每一行、每一列、每个编辑项或者某几个编辑项组成的单元。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第二十二实施例的方法步骤,两者的工作原理和有益效果相对应,因而不再赘述。
本发明还提供了游戏服务器热更新装置的第二十三实施例,该装置设于测试用户端,包括上述游戏服务器热更新装置的第十九实施例的数据表获取模块61、第二热更新模块62、错误通知模块63与正确通知模块64,还包括:
游戏测试模块,用于运行在所述测试服务器中生效的游戏,并测试所述游戏的逻辑和效果;当所述游戏的逻辑或效果出错时,判定所述游戏经过测试有误;否则判定所述游戏经过测试无误。
本实施例提供的一种游戏服务器热更新装置用于执行上述一种游戏服务器热更新方法的第二十三实施例的方法步骤,两者的工作原理和有益效果相对应,因而不再赘述。
相应地,本发明还提供了一种游戏服务器热更新系统的第一实施例,包括研发用户端、测试用户端、主服务器以及测试服务器,所述研发用户端设有如图15所示的游戏服务器热更新装置,所述测试用户端设有如图26所示的游戏服务器热更新装置。
本发明实施例还提供了一种游戏服务器热更新系统的第二实施例,包括研发用户端、测试用户端、主服务器以及测试服务器,所述研发用户端设有如图42所示的游戏服务器热更新装置,所述测试用户端设有如图54所示的游戏服务器热更新装置。
本发明提供了一种游戏服务器热更新方法,在所述游戏服务器热更新方法中采用了两个服务器,其中测试服务器是主服务器的一个备份服务器。研发用户端利用主服务器进行研发工作,测试用户端利用测试服务器进行测试工作,由于最终是将主服务器的数据内容外放,因此无需删除或屏蔽在测试服务器中的测试数据,减少了测试人员的工作量。同时,由于采用了两个服务器,研发用户端进行研发工作时,测试用户端也能进行测试工作;测试用户端进行测试工作时,研发用户端也能进行研发工作。例如在所述测试用户端利用测试服务器对所述编辑后的数据表进行测试工作的时候,所述研发用户端又可以利用主服务器对另一数据表进行研发工作。因而大大提高了游戏研发和测试的效率。本发明分别从“先上传后测试”以及“先测试后上传”两种方式去实现上述方法,其有益效果是类似的。此外,本发明还引入了多人同时编辑同一数据表的冲突处理机制,实现了多人同时编辑同一数据表,使得研发用户端与测试用户端能够同时编辑同一数据表,解决了冲突问题,后者使得多个研发用户端能够同时编辑同一数据表,提高了数据表编辑和填写的效率。本发明还相应地提供了一种游戏服务器热更新装置和系统,能够执行上述游戏服务器热更新方法的步骤,达到相同的发明目的。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在实现时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (82)

1.一种游戏服务器热更新方法,其特征在于,包括:
将研发用户编辑后的数据表上传到主服务器以实现所述主服务器的热更新,并将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
2.如权利要求1所述的游戏服务器热更新方法,其特征在于,所述编辑所述数据表的步骤包括:
从后台服务器中获取所述数据表以给研发用户进行编辑;
将研发用户对所述数据表编辑后的编辑信息发送给所述后台服务器进行保存以更新所述数据表。
3.如权利要求2所述的游戏服务器热更新方法,其特征在于,所述将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新包括:
向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中下载所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新。
4.如权利要求2所述的游戏服务器热更新方法,其特征在于,所述将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新包括:
向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述数据表上传到测试服务器以实现所述测试服务器的热更新。
5.如权利要求2所述的游戏服务器热更新方法,其特征在于,所述将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新,具体是:
向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表的备份数据表,由所述测试用户端在所述备份数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述备份数据表上传到测试服务器以实现所述测试服务器的热更新。
6.如权利要求2所述的游戏服务器热更新方法,其特征在于,所述数据表包括多个编辑单元,所述游戏服务器热更新方法还包括:
当检测到研发用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
当接收到所述后台服务器返回的编辑冲突提示消息时,向研发用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
7.如权利要求6所述的游戏服务器热更新方法,其特征在于,所述将研发用户对所述数据表编辑的编辑信息发送给所述后台服务器以更新所述数据表具体为:
根据研发用户的保存操作指令或定时将所有允许被发送到所述后台服务器进行保存的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
8.如权利要求2~5任一权利要求所述的游戏服务器热更新方法,其特征在于,所述将编辑后的数据表上传到主服务器以实现所述主服务器的热更新具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
9.如权利要求8所述的游戏服务器热更新方法,其特征在于,在所述向后台服务器发送第一热更新指令之后,还包括:
当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
10.一种游戏服务器热更新装置,设于研发用户端,其特征在于,包括:
第一热更新模块,用于将研发用户编辑后的数据表上传到主服务器以实现所述主服务器的热更新;
数据表发送模块,用于将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
再次编辑提示模块,用于当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
11.如权利要求10所述的游戏服务器热更新装置,其特征在于,所述游戏服务器热更新装置还包括数据表编辑模块;所述数据表编辑模块包括:
数据表获取单元,用于从后台服务器中获取所述数据表以给研发用户进行编辑;
第一数据表保存单元,用于将研发用户对所述数据表编辑后的编辑信息发送给所述后台服务器进行保存以更新所述数据表。
12.如权利要求11所述的游戏服务器热更新装置,其特征在于,所述数据表发送模块具体用于向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中下载所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新。
13.如权利要求11所述的游戏服务器热更新装置,其特征在于,所述数据表发送模块具体用于向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述数据表上传到测试服务器以实现所述测试服务器的热更新。
14.如权利要求11所述的游戏服务器热更新装置,其特征在于,所述数据表发送模块具体用于向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表的备份数据表,由所述测试用户端在所述备份数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述备份数据表上传到测试服务器以实现所述测试服务器的热更新。
15.如权利要求11所述的游戏服务器热更新装置,其特征在于,所述数据表包括多个编辑单元,所述游戏服务器热更新装置还包括:
第一位置信息发送模块,用于当检测到研发用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
第一执行模块,用于当接收到所述后台服务器返回的编辑冲突提示消息时,向研发用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
16.如权利要求15所述的游戏服务器热更新装置,其特征在于,所述第一数据表保存单元具体用于根据研发用户的保存操作指令或定时将所有允许被发送到所述后台服务器进行保存的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
17.如权利要求11~14所述的游戏服务器热更新装置,其特征在于,所述第一热更新模块具体用于向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
18.如权利要求17所述的游戏服务器热更新装置,其特征在于,所述游戏服务器热更新装置还包括:
第一更新完成提示模块,用于当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
19.一种游戏服务器热更新方法,其特征在于,包括:
获取经过研发用户端编辑后的数据表,所述编辑后的数据表由所述研发用户端上传到主服务器以实现所述主服务器的热更新;
在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是主服务器的一个备份服务器;
当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端;所述错误通知信息用于通知所述研发用户端再次编辑所述数据表。
20.如权利要求19游戏服务器热更新方法,其特征在于,所述经过研发用户端编辑后的数据表存储于后台服务器;
所述获取经过研发用户端编辑后的数据表具体是从后台服务器中下载所述编辑后的数据表。
21.如权利要求19所述的游戏服务器热更新方法,其特征在于,所述经过研发用户端编辑后的数据表存储于后台服务器;
所述获取经过研发用户端编辑后的数据表具体是从后台服务器中获取所述编辑后的数据表;
所述在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新,包括:
在所述编辑后的数据表中写入测试数据后将所述测试数据发送给所述后台服务器进行保存以更新所述数据表;
将所述数据表上传到测试服务器以实现所述测试服务器的热更新。
22.如权利要求21所述的游戏服务器热更新方法,其特征在于,所述将所述数据表上传到测试服务器以实现所述测试服务器的热更新具体是向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述数据表上传到测试服务器以实现所述测试服务器的热更新。
23.如权利要求19所述的游戏服务器热更新方法,其特征在于,所述经过研发用户端编辑后的数据表存储于后台服务器;
所述获取经过研发用户端编辑后的数据表具体是从后台服务器中获取所述编辑后的数据表的备份数据表;
所述在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新,包括:
在所述编辑后的数据表的备份数据表上写入测试数据后,将所述测试数据发送给所述后台服务器进行保存以更新所述备份数据表;
将所述备份数据表上传到测试服务器,以实现所述测试服务器的热更新。
24.如权利要求23所述的游戏服务器热更新方法,其特征在于,所述将所述备份数据表上传到测试服务器,以实现所述测试服务器的热更新具体是向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述备份数据表上传到测试服务器以实现所述测试服务器的热更新。
25.如权利要求19~24任一所述的游戏服务器热更新方法,其特征在于,所述游戏服务器热更新方法还包括:
向后台服务器发送服务器同步指令;所述服务器同步指令用于使所述后台服务器获取所述主服务器的数据信息并将所述数据信息替换到所述测试服务器中。
26.如权利要求19所述的游戏服务器热更新方法,其特征在于,所述当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端包括:
运行在所述测试服务器中生效的游戏,并测试所述游戏的逻辑和效果;
当所述游戏的逻辑或效果出错时,生成错误通知信息并发送给所述研发用户端。
27.如权利要求21或22所述的游戏服务器热更新方法,其特征在于,所述数据表包括多个编辑单元,所述游戏服务器热更新方法还包括:
当检测到测试用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
当接收到所述后台服务器返回的编辑冲突提示消息时,向测试用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
28.如权利要求27所述的游戏服务器热更新方法,其特征在于,所述将所述测试数据发送给所述后台服务器进行保存以更新所述数据表包括:
当所述测试数据所属的编辑单元的数据信息都被判定为允许被发送到所述后台服务器进行保存时,将所述测试数据所属的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
29.如权利要求22或24所述的游戏服务器热更新方法,其特征在于,在所述向后台服务器发送第二热更新指令之后,还包括:
当接收到所述后台服务器返回的第二更新完成提示消息时,向测试用户提示所述测试服务器的热更新已完成;所述第二更新完成提示消息为所述后台服务器判定所述测试服务器的热更新状态结束时生成。
30.一种游戏服务器热更新装置,设于测试用户端,其特征在于,包括:
数据表获取模块,用于获取经过研发用户端编辑后的数据表;所述编辑后的数据表由所述研发用户端上传到主服务器以实现所述主服务器的热更新;
第二热更新模块,用于在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是主服务器的一个备份服务器;
错误通知模块,用于当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端;所述错误通知信息用于通知所述研发用户端再次编辑所述数据表。
31.如权利要求30所述的游戏服务器热更新装置,其特征在于,所述经过研发用户端编辑后的数据表存储于后台服务器;
所述数据表获取模块具体用于从后台服务器中下载所述编辑后的数据表。
32.如权利要求30所述的游戏服务器热更新装置,其特征在于,所述经过研发用户端编辑后的数据表存储于后台服务器;
所述数据表获取模块具体用于从后台服务器中获取所述编辑后的数据表;
所述第二热更新模块包括:
第二数据表保存单元,用于在所述编辑后的数据表中写入测试数据后将所述测试数据发送给所述后台服务器进行保存以更新所述数据表;
数据表上传单元,用于将所述数据表上传到测试服务器以实现所述测试服务器的热更新。
33.如权利要求32所述的游戏服务器热更新装置,其特征在于,所述数据表上传单元具体用于向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述数据表上传到测试服务器以实现所述测试服务器的热更新。
34.如权利要求30所述的游戏服务器热更新装置,其特征在于,所述经过研发用户端编辑后的数据表存储于后台服务器中;
所述数据表获取模块具体用于从后台服务器中获取所述编辑后的数据表的备份数据表;
所述第二热更新模块包括:
第二数据表保存单元,用于在所述编辑后的数据表的备份数据表上写入测试数据后,将所述测试数据发送给所述后台服务器进行保存以更新所述备份数据表;
数据表上传单元,用于将所述备份数据表从后台服务器中上传到测试服务器,以实现所述测试服务器的热更新。
35.如权利要求34所述的游戏服务器热更新装置,其特征在于,所述数据表上传单元具体用于向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述备份数据表上传到测试服务器以实现所述测试服务器的热更新。
36.如权利要求30~35所述的游戏服务器热更新装置,其特征在于,所述游戏服务器热更新装置还包括:
同步指令发送模块,用于向后台服务器发送服务器同步指令;所述服务器同步指令用于使所述后台服务器获取所述主服务器的数据信息并将所述数据信息替换到所述测试服务器中。
37.如权利要求30所述的游戏服务器热更新装置,其特征在于,所述错误通知模块包括:
游戏测试单元,用于运行在所述测试服务器中生效的游戏,并测试所述游戏的逻辑和效果;
错误通知生成单元,用于当所述游戏的逻辑或效果出错时,生成错误通知信息并发送给所述研发用户端。
38.如权利要求32或33所述的游戏服务器热更新装置,其特征在于,所述数据表包括多个编辑单元,所述游戏服务器热更新装置还包括:
第二位置信息发送模块,用于当检测到测试用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
第二执行模块,用于当接收到所述后台服务器返回的编辑冲突提示消息时,向测试用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
39.如权利要求38所述的游戏服务器热更新装置,其特征在于,所述第二数据表保存单元具体用于当所述测试数据所属的编辑单元的数据信息都被判定为允许被发送到所述后台服务器进行保存时,将所述测试数据所属的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
40.如权利要求33或35所述的游戏服务器热更新装置,其特征在于,在所述向后台服务器发送第二热更新指令之后,还包括:
第二更新完成提示模块,用于当接收到所述后台服务器返回的第二更新完成提示消息时,向测试用户提示所述测试服务器的热更新已完成;所述第二更新完成提示消息为所述后台服务器判定所述测试服务器的热更新状态结束时生成。
41.一种游戏服务器热更新方法,其特征在于,包括:
将研发用户编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
当接收到所述测试用户端返回的正确通知信息时,将所述编辑后的数据表上传到主服务器以实现所述主服务器的热更新;所述正确通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试无误时,由所述测试用户端生成的信息。
42.如权利要求41所述的游戏服务器热更新方法,其特征在于,所述编辑所述数据表的步骤包括:
从后台服务器中获取所述数据表以给研发用户进行编辑;
将研发用户对所述数据表编辑的编辑信息发送给所述后台服务器进行保存以更新所述数据表。
43.如权利要求42所述的游戏服务器热更新方法,其特征在于,所述将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新包括:
向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中下载所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新。
44.如权利要求42所述的游戏服务器热更新方法,其特征在于,所述将所述编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新包括:
向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述数据表上传到测试服务器以实现所述测试服务器的热更新。
45.如权利要求42所述的游戏服务器热更新方法,其特征在于,所述将研发用户编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器,以实现所述测试服务器的热更新,具体是:
向所述测试用户端发送测试通知指令;所述测试通知指令具体用于通知所述测试用户端从后台服务器中获取所述编辑后的数据表的备份数据表,由所述测试用户端在所述备份数据表中写入测试数据后保存回所述后台服务器中,并将所述备份数据表从后台服务器中上传到测试服务器,以实现所述测试服务器的热更新。
46.如权利要求42所述的游戏服务器热更新方法,其特征在于,所述数据表包括多个编辑单元,所述游戏服务器热更新方法还包括:
当检测到研发用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
当接收到所述后台服务器返回的编辑冲突提示消息时,向研发用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
47.如权利要求46所述的游戏服务器热更新方法,其特征在于,所述将研发用户对所述数据表编辑的编辑信息发送给所述后台服务器以更新所述数据表具体为:
根据研发用户的保存操作指令或定时将所有允许被发送到所述后台服务器进行保存的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
48.如权利要求42~45任一权利要求所述的游戏服务器热更新方法,其特征在于,所述将编辑后的数据表上传到主服务器以实现所述主服务器的热更新具体是向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
49.如权利要求48所述的游戏服务器热更新方法,其特征在于,在所述向后台服务器发送第一热更新指令之后,还包括:
当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
50.一种游戏服务器热更新装置,设于研发用户端,其特征在于,包括:
数据表发送模块,用于将研发用户编辑后的数据表发送到测试用户端,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是所述主服务器的一个备份服务器;
再次编辑提示模块,用于当接收到所述测试用户端返回的错误通知信息时,向研发用户提示再次编辑所述数据表;所述错误通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试有误时,由所述测试用户端生成的信息。
第一热更新模块,用于当接收到所述测试用户端返回的正确通知信息时,将所述编辑后的数据表上传到主服务器以实现所述主服务器的热更新;所述正确通知信息是当在热更新后的所述测试服务器中生效的游戏经过测试无误时,由所述测试用户端生成的信息。
51.如权利要求50所述的游戏服务器热更新装置,其特征在于,所述游戏服务器热更新装置还包括数据表编辑模块;所述数据表编辑模块包括:
数据表获取单元,用于从后台服务器中获取所述数据表以给研发用户进行编辑;
第一数据表保存单元,用于将研发用户对所述数据表编辑后的编辑信息发送给所述后台服务器进行保存以更新所述数据表。
52.如权利要求51所述的游戏服务器热更新装置,其特征在于,所述数据表发送模块具体用于向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中下载所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据并上传到测试服务器以实现所述测试服务器的热更新。
53.如权利要求51所述的游戏服务器热更新装置,其特征在于,所述数据表发送模块具体用于向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表,由所述测试用户端在所述编辑后的数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述数据表上传到测试服务器以实现所述测试服务器的热更新。
54.如权利要求51所述的游戏服务器热更新装置,其特征在于,所述数据表发送模块具体用于向所述测试用户端发送测试通知指令;所述测试通知指令用于通知所述测试用户端从所述后台服务器中获取所述编辑后的数据表的备份数据表,由所述测试用户端在所述备份数据表中写入测试数据后保存回所述后台服务器中,并将保存好的所述备份数据表上传到测试服务器以实现所述测试服务器的热更新。
55.如权利要求51所述的游戏服务器热更新装置,其特征在于,所述数据表包括多个编辑单元,所述游戏服务器热更新装置还包括:
第一位置信息发送模块,用于当检测到研发用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
第一执行模块,用于当接收到所述后台服务器返回的编辑冲突提示消息时,向研发用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
56.如权利要求55所述的游戏服务器热更新装置,其特征在于,所述第一数据表保存单元具体用于根据研发用户的保存操作指令或定时将所有允许被发送到所述后台服务器进行保存的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
57.如权利要求51~54所述的游戏服务器热更新装置,其特征在于,所述第一热更新模块具体用于向后台服务器发送第一热更新指令,使所述后台服务器在判定所述主服务器当前没有进行热更新操作时将所述数据表上传到主服务器,以实现所述主服务器的热更新。
58.如权利要求57所述的游戏服务器热更新装置,其特征在于,所述游戏服务器热更新装置还包括:
第一更新完成提示模块,用于当接收到所述后台服务器返回的第一更新完成提示消息时,向研发用户提示所述主服务器的热更新已完成;所述第一更新完成提示消息为所述后台服务器判定所述主服务器的热更新状态结束时生成。
59.一种游戏服务器热更新方法,其特征在于,包括:
获取经过研发用户端编辑后的数据表;
在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是主服务器的一个备份服务器;
当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端;所述错误通知信息用于通知所述研发用户端再次编辑所述数据表;
当在热更新后的所述测试服务器中生效的游戏经过测试无误时,生成正确通知信息并发送给研发用户端;所述正确通知信息用于通知所述研发用户端将所述编辑后的数据表上传到所述主服务器以实现所述主服务器的热更新。
60.如权利要求59游戏服务器热更新方法,其特征在于,所述经过研发用户端编辑后的数据表存储于后台服务器;
所述获取经过研发用户端编辑后的数据表具体是从后台服务器中下载所述编辑后的数据表。
61.如权利要求59所述的游戏服务器热更新方法,其特征在于,所述经过研发用户端编辑后的数据表存储于后台服务器;
所述获取经过研发用户端编辑后的数据表具体是从后台服务器中获取所述编辑后的数据表;
所述在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新,包括:
在所述编辑后的数据表中写入测试数据后将所述测试数据发送给所述后台服务器进行保存以更新所述数据表;
将所述数据表上传到测试服务器以实现所述测试服务器的热更新。
62.如权利要求61所述的游戏服务器热更新方法,其特征在于,所述将所述数据表上传到测试服务器以实现所述测试服务器的热更新具体是向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述数据表上传到测试服务器以实现所述测试服务器的热更新。
63.如权利要求59所述的游戏服务器热更新方法,其特征在于,所述经过研发用户端编辑后的数据表存储于后台服务器;
所述获取经过研发用户端编辑后的数据表具体是从后台服务器中获取所述编辑后的数据表的备份数据表;
所述在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新,包括:
在所述编辑后的数据表的备份数据表上写入测试数据后,将所述测试数据发送给所述后台服务器进行保存以更新所述备份数据表;
将所述备份数据表上传到测试服务器,以实现所述测试服务器的热更新。
64.如权利要求63所述的游戏服务器热更新方法,其特征在于,所述将所述备份数据表上传到测试服务器,以实现所述测试服务器的热更新具体是向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述备份数据表上传到测试服务器以实现所述测试服务器的热更新。
65.如权利要求59~64任一所述的游戏服务器热更新方法,其特征在于,所述游戏服务器热更新方法还包括:
向后台服务器发送服务器同步指令;所述服务器同步指令用于使所述后台服务器获取所述主服务器的数据信息并将所述数据信息替换到所述测试服务器中。
66.如权利要求59所述的游戏服务器热更新方法,其特征在于,所述游戏服务器热更新方法包括:
运行在所述测试服务器中生效的游戏,并测试所述游戏的逻辑和效果;当所述游戏的逻辑或效果出错时,判定所述游戏经过测试有误;否则判定所述游戏经过测试无误。
67.如权利要求61或62所述的游戏服务器热更新方法,其特征在于,所述数据表包括多个编辑单元,所述游戏服务器热更新方法还包括:
当检测到测试用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
当接收到所述后台服务器返回的编辑冲突提示消息时,向测试用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
68.如权利要求67所述的游戏服务器热更新方法,其特征在于,所述将所述测试数据发送给所述后台服务器进行保存以更新所述数据表包括:
当所述测试数据所属的编辑单元的数据信息都被判定为允许被发送到所述后台服务器进行保存时,将所述测试数据所属的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
69.如权利要求62或64所述的游戏服务器热更新方法,其特征在于,在所述向后台服务器发送第二热更新指令之后,还包括:
当接收到所述后台服务器返回的第二更新完成提示消息时,向测试用户提示所述测试服务器的热更新已完成;所述第二更新完成提示消息为所述后台服务器判定所述测试服务器的热更新状态结束时生成。
70.一种游戏服务器热更新装置,设于测试用户端,其特征在于,包括:
数据表获取模块,用于获取经过研发用户端编辑后的数据表;
第二热更新模块,用于在所述编辑后的数据表上写入测试数据后将所述数据表上传到测试服务器,以实现所述测试服务器的热更新;其中所述测试服务器是主服务器的一个备份服务器;
错误通知模块,用于当在热更新后的所述测试服务器中生效的游戏经过测试有误时,生成错误通知信息并发送给所述研发用户端;所述错误通知信息用于通知所述研发用户端再次编辑所述数据表;
正确通知模块,用于当在热更新后的所述测试服务器中生效的游戏经过测试无误时,生成正确通知信息并发送给研发用户端;所述正确通知信息用于通知所述研发用户端将所述编辑后的数据表上传到所述主服务器以实现所述主服务器的热更新。
71.如权利要求70所述的游戏服务器热更新装置,其特征在于,所述经过研发用户端编辑后的数据表存储于后台服务器;
所述数据表获取模块具体用于从后台服务器中下载所述编辑后的数据表。
72.如权利要求70所述的游戏服务器热更新装置,其特征在于,所述经过研发用户端编辑后的数据表存储于后台服务器;
所述数据表获取模块具体用于从后台服务器中获取所述编辑后的数据表;
所述第二热更新模块包括:
第二数据表保存单元,用于在所述编辑后的数据表中写入测试数据后将所述测试数据发送给所述后台服务器进行保存以更新所述数据表;
数据表上传单元,用于将所述数据表上传到测试服务器以实现所述测试服务器的热更新。
73.如权利要求72所述的游戏服务器热更新装置,其特征在于,所述数据表上传单元具体用于向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述数据表上传到测试服务器以实现所述测试服务器的热更新。
74.如权利要求70所述的游戏服务器热更新装置,其特征在于,所述经过研发用户端编辑后的数据表存储于后台服务器中;
所述数据表获取模块具体用于从后台服务器中获取所述编辑后的数据表的备份数据表;
所述第二热更新模块包括:
第二数据表保存单元,用于在所述编辑后的数据表的备份数据表上写入测试数据后,将所述测试数据发送给所述后台服务器进行保存以更新所述备份数据表;
数据表上传单元,用于将所述备份数据表从后台服务器中上传到测试服务器,以实现所述测试服务器的热更新。
75.如权利要求74所述的游戏服务器热更新装置,其特征在于,所述数据表上传单元具体用于向后台服务器发送第二热更新指令,使所述后台服务器在判定所述测试服务器当前没有进行热更新操作时将所述备份数据表上传到测试服务器以实现所述测试服务器的热更新。
76.如权利要求70~75所述的游戏服务器热更新装置,其特征在于,所述游戏服务器热更新装置还包括:
同步指令发送模块,用于向后台服务器发送服务器同步指令;所述服务器同步指令用于使所述后台服务器获取所述主服务器的数据信息并将所述数据信息替换到所述测试服务器中。
77.如权利要求70所述的游戏服务器热更新装置,其特征在于,所述游戏服务器热更新装置还包括:
游戏测试模块,用于运行在所述测试服务器中生效的游戏,并测试所述游戏的逻辑和效果;当所述游戏的逻辑或效果出错时,判定所述游戏经过测试有误;否则判定所述游戏经过测试无误。
78.如权利要求72或73所述的游戏服务器热更新装置,其特征在于,所述数据表包括多个编辑单元,所述游戏服务器热更新装置还包括:
第二位置信息发送模块,用于当检测到测试用户当前正在对所述数据表进行编辑时,向后台服务器发送所述数据表的当前编辑单元的位置信息;
第二执行模块,用于当接收到所述后台服务器返回的编辑冲突提示消息时,向测试用户提示所述当前编辑单元发生冲突状况,并禁止将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;否则,允许将所述当前编辑单元的数据信息发送给所述后台服务器进行保存;其中,所述编辑冲突提示消息为所述后台服务器根据所述当前编辑单元的位置信息判定所述当前编辑单元正在被其他用户编辑时生成。
79.如权利要求78所述的游戏服务器热更新装置,其特征在于,所述第二数据表保存单元具体用于当所述测试数据所属的编辑单元的数据信息都被判定为允许被发送到所述后台服务器进行保存时,将所述测试数据所属的编辑单元的数据信息发送给所述后台服务器进行保存以更新所述数据表。
80.如权利要求73或75所述的游戏服务器热更新装置,其特征在于,在所述向后台服务器发送第二热更新指令之后,还包括:
第二更新完成提示模块,用于当接收到所述后台服务器返回的第二更新完成提示消息时,向测试用户提示所述测试服务器的热更新已完成;所述第二更新完成提示消息为所述后台服务器判定所述测试服务器的热更新状态结束时生成。
81.一种游戏服务器热更新系统,其特征在于,包括研发用户端和测试用户端;所述研发用户端设有如权利要求10所述的游戏服务器热更新装置;所述测试用户端设有如权利要求30所述的游戏服务器热更新装置。
82.一种游戏服务器热更新系统,其特征在于,包括研发用户端和测试用户端;所述研发用户端设有如权利要求50所述的游戏服务器热更新装置;所述测试用户端设有如权利要求70所述的游戏服务器热更新装置。
CN201510433863.2A 2015-07-22 2015-07-22 一种游戏服务器热更新方法、装置与系统 Active CN105094906B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510433863.2A CN105094906B (zh) 2015-07-22 2015-07-22 一种游戏服务器热更新方法、装置与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510433863.2A CN105094906B (zh) 2015-07-22 2015-07-22 一种游戏服务器热更新方法、装置与系统

Publications (2)

Publication Number Publication Date
CN105094906A true CN105094906A (zh) 2015-11-25
CN105094906B CN105094906B (zh) 2019-11-19

Family

ID=54575418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510433863.2A Active CN105094906B (zh) 2015-07-22 2015-07-22 一种游戏服务器热更新方法、装置与系统

Country Status (1)

Country Link
CN (1) CN105094906B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105912474A (zh) * 2016-04-26 2016-08-31 网易(杭州)网络有限公司 一种游戏在线调试方法、系统及编辑服务端
CN108055307A (zh) * 2017-12-06 2018-05-18 杭州电魂网络科技股份有限公司 服务器更新方法及装置
CN110297753A (zh) * 2018-03-23 2019-10-01 中兴通讯股份有限公司 一种验证软件版本的方法及系统
CN111399890A (zh) * 2020-02-21 2020-07-10 网易(杭州)网络有限公司 游戏的热更新方法、装置、系统及电子设备
CN113680073A (zh) * 2021-08-26 2021-11-23 网易(杭州)网络有限公司 游戏数据的热更新方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615159A (zh) * 2009-07-31 2009-12-30 中兴通讯股份有限公司 离线测试系统及其本地数据管理方法及相应的装置
CN102200944A (zh) * 2011-06-16 2011-09-28 中国联合网络通信集团有限公司 Erp系统的测试环境克隆方法及系统
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及系统
CN103580943A (zh) * 2012-08-03 2014-02-12 亿赞普(北京)科技有限公司 一种网络软件在线测试方法和系统
US20140245289A1 (en) * 2013-02-28 2014-08-28 Apple Inc. Automatic remote execution of an application
US20140359779A1 (en) * 2013-05-29 2014-12-04 International Business Machines Corporation Optimizing test data payload selection for testing computer software applications via computer networks
CN104410542A (zh) * 2014-11-18 2015-03-11 小米科技有限责任公司 模拟测试方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615159A (zh) * 2009-07-31 2009-12-30 中兴通讯股份有限公司 离线测试系统及其本地数据管理方法及相应的装置
CN102200944A (zh) * 2011-06-16 2011-09-28 中国联合网络通信集团有限公司 Erp系统的测试环境克隆方法及系统
CN103580943A (zh) * 2012-08-03 2014-02-12 亿赞普(北京)科技有限公司 一种网络软件在线测试方法和系统
US20140245289A1 (en) * 2013-02-28 2014-08-28 Apple Inc. Automatic remote execution of an application
US20140359779A1 (en) * 2013-05-29 2014-12-04 International Business Machines Corporation Optimizing test data payload selection for testing computer software applications via computer networks
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及系统
CN104410542A (zh) * 2014-11-18 2015-03-11 小米科技有限责任公司 模拟测试方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105912474A (zh) * 2016-04-26 2016-08-31 网易(杭州)网络有限公司 一种游戏在线调试方法、系统及编辑服务端
CN105912474B (zh) * 2016-04-26 2019-09-24 网易(杭州)网络有限公司 一种游戏在线调试方法、系统及编辑服务端
CN108055307A (zh) * 2017-12-06 2018-05-18 杭州电魂网络科技股份有限公司 服务器更新方法及装置
CN110297753A (zh) * 2018-03-23 2019-10-01 中兴通讯股份有限公司 一种验证软件版本的方法及系统
CN111399890A (zh) * 2020-02-21 2020-07-10 网易(杭州)网络有限公司 游戏的热更新方法、装置、系统及电子设备
CN111399890B (zh) * 2020-02-21 2023-10-20 网易(杭州)网络有限公司 游戏的热更新方法、装置、系统及电子设备
CN113680073A (zh) * 2021-08-26 2021-11-23 网易(杭州)网络有限公司 游戏数据的热更新方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN105094906B (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN105094906A (zh) 一种游戏服务器热更新方法、装置与系统
CN100440206C (zh) 与物理存储表示无关地同步逻辑视图的方法和系统
CN109032738A (zh) 多媒体播放控制方法、装置、终端及存储介质
CN109901834A (zh) 文档页面生成方法、装置、计算机设备和存储介质
CN103744680B (zh) 一种业务流程处理方法及装置
CN102508722B (zh) 一种嵌入式环境下的进程间通信方法
CN104731589A (zh) 用户界面的自动生成方法及自动生成装置
CN112558980A (zh) 多软件包管理方法及装置
CN106462582A (zh) 批处理优化渲染和获取架构
US11023227B2 (en) Time-dependent activation of configuration content
KR20140011304A (ko) 다중-단계화 및 파티셔닝된 콘텐츠 준비 및 전달
CN103412748B (zh) 嵌入式平台的用户界面的显示控制方法、装置及系统
CN110502212A (zh) 一种面向多语言的高并发在线开发支撑方法
CN106874328A (zh) 一种数据处理方法和设备
US20130198333A1 (en) Method and device for recording and reproducing web operation
CN103092603A (zh) 播放器配置方法和系统以及相应的播放器
CN105160018A (zh) 一种复制/粘贴图片的方法、装置和系统
CN103778108A (zh) 单据处理方法、装置及erp系统
CN108469953A (zh) 一种页面表单的生成方法、服务器及存储介质
CN110419033A (zh) 网页翻译系统、网页翻译装置、网页提供装置及网页翻译方法
US8862661B2 (en) Processing content in a plurality of languages
CN106528300A (zh) 一种同步单机游戏的方法、装置和终端
US20150227350A1 (en) Multi-dimensional, multi-configuration compilation phase output visualization technique
CN106990974B (zh) 一种app应用更新方法、装置及电子设备
CN106933569A (zh) 一种网页刷新方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant