游戏服务器的数据加载方法和游戏服务器与流程

文档序号:12076702阅读:400来源:国知局
游戏服务器的数据加载方法和游戏服务器与流程

本发明实施例涉及数据处理技术,尤其涉及一种游戏服务器的数据加载方法和游戏服务器。



背景技术:

网络游戏中各种系统和功能都需要有数值和数据的支撑。现在大部分的游戏如果出现数据的重大问题,就需要停止服务器,做出新的游戏数据修改版本,然后把修改版本替换有问题的版本,再重新启动服务器。即使是进行正常的修改,也需要停止服务器,将更新的版本替换原来的版本,无法在服务器运行的情况下随时进行更新。

服务器停止期间,玩家无法登陆游戏系统,需要等待服务器重新启动后,才能继续玩,影响玩家体验。



技术实现要素:

本发明实施例提供了一种游戏服务器的数据加载方法和游戏服务器,以实现游戏数据在游戏服务器运行时的动态更新。

第一方面,本发明实施例提供了一种游戏服务器的数据加载方法,所述游戏服务器包括全局服务器和至少一台逻辑服务器,所述方法包括:

所述全局服务器每隔预设时间段,检查游戏数据是否有更新;

当检查出游戏数据有更新时,将更新的游戏数据对应的更新标识保存在全局服务器本地更新信息文件中;以及

将所述更新的游戏数据及对应的更新标识发送至所述至少一台逻辑服务器,以便所述至少一台逻辑服务器保存所述更新的游戏数据和更新标识,并加载所述更新的游戏数据。

进一步地,所述将所述更新的游戏数据及对应的更新标识发送至所述至少一台逻辑服务器,以便所述至少一台逻辑服务器保存所述更新的游戏数据和更新标识,并加载所述更新的游戏数据,包括:

将所述更新的游戏数据及对应的更新标识发送至所述至少一台逻辑服务器,以便所述至少一台逻辑服务器保存所述更新的游戏数据,并将所述更新标识保存到逻辑服务器本地更新信息文件中,以及向所述全局服务器反馈更新完成指示信息;

向反馈所述更新完成指示信息的逻辑服务器发送数据加载指示信息,以便该逻辑服务器加载所述更新的游戏数据。

进一步地,当所述至少一台逻辑服务器重启时,

所述全局服务器接收所述重启后的逻辑服务器发送的待比较更新标识,所述待比较更新标识为逻辑服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识;以及

比较所述待比较更新标识与全局服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识是否相同;

当不相同时,则根据所述待比较更新标识,将全局服务器本地更新信息文件存储的全部更新标识中,未保存在所述重启逻辑服务器的本地更新信息文件中的更新标识及其对应的游戏数据发送给所述逻辑服务器,以便所述逻辑服务器保存更新标识及对应的游戏数据,并将所述更新标识保存在逻辑服务器本地更新信息文件中,以及加载所述游戏数据。

进一步地,所述更新标识为更新号,更新号与每次更新的游戏数据一一对应。

第二方面,本发明实施例还提供了一种游戏服务器,所述游戏服务器包括全局服务器和至少一台逻辑服务器;其中,

所述全局服务器包括:

检查更新模块,用于每隔预设时间段,检查游戏数据是否有更新;

更新标识保存模块,用于当检查更新模块检查出游戏数据有更新时,将更新的游戏数据对应的更新标识保存在全局服务器本地更新信息文件中;

游戏数据发送模块,用于将所述更新的游戏数据及对应的更新标识发送至所述至少一台逻辑服务器;相应的,

所述逻辑服务器包括:

保存模块,用于保存所述更新的游戏数据和对应的更新标识;

加载模块,用于加载所述更新的游戏数据。

进一步地,所述逻辑服务器还包括:

更新反馈模块,用于在所述保存模块保存所述更新的游戏数据和更新标识后向全局服务器反馈更新完成指示信息;相应的,

所述全局服务器还包括:

数据加载指示模块,用于向反馈所述更新完成指示信息的逻辑服务器发送数据加载指示信息;相应的,

所述逻辑服务器的加载模块具体用于,根据所述数据加载指示信息加载游戏数据;

所述保存模块具体用于保存所述更新的游戏数据,以及将所述更新标识保存到逻辑服务器本地更新信息文件中。

进一步地,所述逻辑服务器还包括:

更新标识发送模块,用于在逻辑服务器重启后向全局服务器发送待比较更新标识,所述待比较更新标识为逻辑服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识;相应的,

所述全局服务器还包括:

更新标识比较模块,用于接收所述待比较更新标识,并比较所述待比较更新标识与全局服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识是否相同;相应的,

所述全局服务器的游戏数据发送模块,还用于在更新标识比较模块比较出不相同时,则根据所述待比较更新标识,将全局服务器本地更新信息文件存储的全部更新标识中,未保存在所述重启逻辑服务器的本地更新信息文件中的更新标识及其对应的游戏数据发送给所述逻辑服务器。

进一步地,所述更新标识为更新号,更新号与每次更新的游戏数据一一对应。

本发明实施例的技术方案,通过在游戏服务器中预设置一台全局服务器,首先对全局服务器的游戏数据进行更新,将更新的游戏数据和对应的更新标识发送至逻辑服务器,来完成逻辑服务器的游戏数据的动态更新,解决了现有技术中游戏数据的更新,需要停止服务器,将更新的版本替换原来的版本,无法在服务器运行的情况下随时进行更新的问题,实现了游戏数据在游戏服务器运行时的动态更新。

附图说明

图1为本发明实施例一提供的一种游戏服务器的数据加载方法的流程图;

图2为本发明实施例二提供的一种游戏服务器的数据加载方法的流程图;

图3为本发明实施例三提供的一种游戏服务器的数据加载方法的流程图;

图4为本发明实施例四提供的一种游戏服务器的结构示意图;

图5为本发明实施例五提供的一种游戏服务器的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种游戏服务器的数据加载方法的流程图,本实施例可用于改善游戏数据更新的情况,该方法可以由本发明实施例提供的游戏服务器执行,该游戏服务器包括全局服务器和至少一台逻辑服务器,该方法具体包括如下步骤:

步骤110、所述全局服务器每隔预设时间段,检查游戏数据是否有更新。

其中,游戏服务器为对游戏的运行和数据管理的服务器。可以将游戏服务器中的任意一台预设为全局服务器,则其余游戏服务器将预设为逻辑服务器,逻辑服务器的数量至少为一台。游戏数据为游戏运行所需的数据。全局服务器每隔预设时间段,检查游戏数据是否有更新,该预设时间段可以依据服务器的性能和游戏的运行的需要等进行选取。

示例性的,将更新的游戏数据加载至全局服务器的本地内存时,全局服务器将记录加载时间,全局服务器每隔预设时间段,通过检查该加载时间是否更新,来判断游戏数据是否有更新。

步骤120、当检查出游戏数据有更新时,将更新的游戏数据对应的更新标识保存在全局服务器本地更新信息文件中。

其中,对应的更新标识为对该次更新的游戏数据进行的标识。不同的更新的游戏数据对应不同的更新标识。全局服务器本地更新信息文件可以存储在全局服务器的预设存储空间,可以用于保存与更新的游戏数据对应的更新标识。当检查出游戏数据有更新时,将更新的游戏数据进行标识,并将更新的游戏数据对应的更新标识保存在全局服务器本地更新信息文件中,还可以将更新的游戏数据和与其对应的更新标识一起保存在全局服务器本地更新信息文件中。

优选的,所述更新标识为更新号,更新号与每次更新的游戏数据一一对应。

其中,更新标识可以为更新号,更新号可以用数值或更新时间等表示。更新号可以与每次更新的游戏数据一一对应。

示例性的,若上次更新的游戏数据的更新号为10,则本次更新的游戏数据的更新号可以为11。

步骤130、将所述更新的游戏数据及对应的更新标识发送至所述至少一台逻辑服务器,以便所述至少一台逻辑服务器保存所述更新的游戏数据和更新标识,并加载所述更新的游戏数据。

其中,首先对全局服务器中的游戏数据进行更新,然后全局服务器将更新的游戏数据及对应的更新标识发送至逻辑服务器,以便逻辑服务器保存更新的游戏数据和与其对应的更新标识,并加载更新的游戏数据到内存。

本实施例的技术方案,通过在游戏服务器中预设置一台全局服务器,首先对全局服务器的游戏数据进行更新,将更新的游戏数据和对应的更新标识发送至逻辑服务器,来完成游戏服务器的游戏数据的动态更新,解决了现有技术中游戏数据的更新,需要停止服务器,将更新的版本替换原来的版本,无法在服务器运行的情况下随时进行更新的问题,实现了游戏数据在游戏服务器运行时的动态更新。

实施例二

图2是本发明实施例二提供的一种游戏服务器的数据加载方法的流程图,该方法应用于游戏服务器。本实施例是以上述实施例为基础进行优化,本实施例的方法包括:

步骤210、所述全局服务器每隔预设时间段,检查游戏数据是否有更新。

步骤220、当检查出游戏数据有更新时,将更新的游戏数据对应的更新标识保存在全局服务器本地更新信息文件中。

步骤230、将所述更新的游戏数据及对应的更新标识发送至所述至少一台逻辑服务器,以便所述至少一台逻辑服务器保存所述更新的游戏数据,并将所述更新标识保存到逻辑服务器本地更新信息文件中,以及向所述全局服务器反馈更新完成指示信息。

其中,全局服务器将更新的游戏数据及对应的更新标识发送至逻辑服务器,逻辑服务器保存更新的游戏数据,并将对应更新标识保存到逻辑服务器本地更新信息文件中,则表示逻辑服务器更新完成,会向全局服务器反馈更新完成指示信息。逻辑服务器本地更新信息文件可以存储在逻辑服务器的预设存储空间。可以将更新的游戏数据对应的更新标识保存到逻辑服务器本地更新信息文件中,可知本地游戏数据所进行的更新次数,还可以将更新的游戏数据和其对应的更新标识保存到逻辑服务器本地更新信息文件中。全局服务器可以预设反馈时间段,若超过预设反馈时间段,全局服务器未接收到逻辑服务器的更新完成指示信息,则全局服务器将标记该逻辑服务器为崩溃状态,并写入日志。逻辑服务器崩溃后,再进行重启时,可根据保存到逻辑服务器本地更新信息文件中的更新标识,获知本地游戏数据的更新程度。

步骤240、向反馈所述更新完成指示信息的逻辑服务器发送数据加载指示信息,以便该逻辑服务器加载所述更新的游戏数据。

其中,全局服务器可以在接收到所有更新完成的逻辑服务器反馈的更新完成指示信息后,发送数据加载指示信息至所有更新完成的逻辑服务器,以便所有更新完成的逻辑服务器加载更新的游戏数据。

本实施例的技术方案提供了一种游戏服务器的数据加载方法,该实施例在上述实施例的基础上,通过逻辑服务器向全局服务器反馈更新完成指示信息,全局服务器可以获知逻辑服务器更新成功与否的状态,若更新成功则发送加载指示信息至逻辑服务器,若更新失败则写入日志,以便于日后进行修复处理,从而确保更新和加载的同步进行,同时还可以避免出错。

实施例三

图3是本发明实施例三提供的一种游戏服务器的数据加载方法的流程图,该方法应用于游戏服务器。本实施例是以上述实施例为基础进行优化,提供了逻辑服务器重启时的游戏数据加载的具体方法。相应的,本实施例的方法包括:

步骤310、流程开始。

步骤320、所述全局服务器每隔预设时间段,检查游戏数据是否有更新。

步骤330、当检查出游戏数据有更新时,将更新的游戏数据对应的更新标识保存在全局服务器本地更新信息文件中。

步骤340、将所述更新的游戏数据及对应的更新标识发送至所述至少一台逻辑服务器,以便所述至少一台逻辑服务器保存所述更新的游戏数据,并将所述更新标识保存到逻辑服务器本地更新信息文件中,以及向所述全局服务器反馈更新完成指示信息。

步骤350、向反馈所述更新完成指示信息的逻辑服务器发送数据加载指示信息,以便该逻辑服务器加载所述更新的游戏数据。

步骤360、当所述至少一台逻辑服务器重启时,所述全局服务器接收所述重启后的逻辑服务器发送的待比较更新标识,所述待比较更新标识为逻辑服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识。

其中,待比较更新标识为逻辑服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识,表示逻辑服务器的游戏数据更新的程度。当逻辑服务器重启时,逻辑服务器将待比较更新标识发送至全局服务器。

步骤370、比较所述待比较更新标识与全局服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识是否相同。

其中,全局服务器比较重启逻辑服务器发送的待比较更新标识,与全局服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识是否相同,表示判断逻辑服务器的游戏数据的更新程度是否达到全局服务器的游戏数据的更新程度。

步骤380、当不相同时,则根据所述待比较更新标识,将全局服务器本地更新信息文件存储的全部更新标识中,未保存在所述重启逻辑服务器的本地更新信息文件中的更新标识及其对应的游戏数据发送给所述逻辑服务器,以便所述逻辑服务器保存更新标识及对应的游戏数据,并将所述更新标识保存在逻辑服务器本地更新信息文件中,以及加载所述游戏数据。

其中,当待比较更新标识与全局服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识不相同时,表示逻辑服务器的游戏数据的更新程度是未达到全局服务器的游戏数据的更新程度,则根据待比较更新标识,将全局服务器本地更新信息文件存储的全部更新标识中,未保存在重启逻辑服务器的本地更新信息文件中的更新标识及其对应的游戏数据发送给所述逻辑服务器,以便逻辑服务器保存更新标识及对应的游戏数据,并将更新标识保存在逻辑服务器本地更新信息文件中,以及加载所述游戏数据。

示例性的,若重启逻辑服务器发送的待比较更新标识为10,说明逻辑服务器的本地游戏数据的更新次数为10,全局服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识为20,说明全局服务器的本地游戏数据的更新次数为20,则将全局服务器本地更新信息文件存储的更新标识11至20及其对应的游戏数据发送给该重启逻辑服务器。若重启逻辑服务器发送的待比较更新标识为10,全局服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识为10,则说明重启逻辑服务器的本地游戏数据已更新到最新,故全局服务器将无需发送更新标识及其对应的游戏数据至重启逻辑服务器。

步骤390、流程结束。

本实施例的技术方案提供了一种游戏服务器的数据加载方法,该实施例在上述实施例的基础上,提供了逻辑服务器重启时的游戏数据加载的具体方法,通过比较重启逻辑服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识与全局服务器本地更新信息文件中最后一次更新的游戏数据对应的更新标识,方便获取重启逻辑服务器所需的更新的游戏数据,使重启逻辑服务器能够尽快与其他游戏服务器的更新同步。

实施例四

图4是本发明实施例四提供的一种游戏服务器的结构示意图,如图4所示,该游戏服务器包括全局服务器和至少一台逻辑服务器。本发明实施例以一台逻辑服务器为例进行说明,但非对逻辑服务器的数量进行限定。所述全局服务器410包括:检查更新模块510、更新标识保存模块520和游戏数据发送模块530。

其中,检查更新模块510,用于每隔预设时间段,检查游戏数据是否有更新;更新标识保存模块520,用于当检查更新模块检查出游戏数据有更新时,将更新的游戏数据对应的更新标识保存在全局服务器本地更新信息文件中;游戏数据发送模块530,用于将所述更新的游戏数据及对应的更新标识发送至所述至少一台逻辑服务器。

相应的,所述逻辑服务器420包括:保存模块610和加载模块620。

其中,保存模块610,用于保存所述更新的游戏数据和对应的更新标识;加载模块620,用于加载所述更新的游戏数据。

优选的,所述更新标识为更新号,更新号与每次更新的游戏数据一一对应。

本实施例的技术方案,通过在游戏服务器中预设置一台全局服务器,首先对全局服务器的游戏数据进行更新,将更新的游戏数据和对应的更新标识发送至逻辑服务器,来完成游戏服务器的游戏数据的动态更新,解决了现有技术中游戏数据的更新,需要停止服务器,将更新的版本替换原来的版本,无法在服务器运行的情况下随时进行更新的问题,实现了游戏数据在游戏服务器运行时的动态更新。

实施例五

图5是本发明实施例五提供的一种游戏服务器的结构示意图,如图5所示,本实施例是以上述实施例四为基础进行优化,具体是所述逻辑服务器420还包括:更新反馈模块630,用于在所述保存模块保存所述更新的游戏数据和更新标识后向全局服务器410反馈更新完成指示信息;相应的,所述全局服务器410还包括:数据加载指示模块540,用于向反馈所述更新完成指示信息的逻辑服务器420发送数据加载指示信息;相应的,所述逻辑服务器420的加载模块620具体用于,根据所述数据加载指示信息加载游戏数据;所述保存模块610具体用于保存所述更新的游戏数据,以及将所述更新标识保存到逻辑服务器420本地更新信息文件中。

优选的,所述逻辑服务器420还包括:更新标识发送模块640,用于在逻辑服务器420重启后向全局服务器410发送待比较更新标识,所述待比较更新标识为逻辑服务器410本地更新信息文件中最后一次更新的游戏数据对应的更新标识;相应的,所述全局服务器410还包括:更新标识比较模块550,用于接收所述待比较更新标识,并比较所述待比较更新标识与全局服务器410本地更新信息文件中最后一次更新的游戏数据对应的更新标识是否相同;相应的,所述全局服务器410的游戏数据发送模块530,还用于在更新标识比较模块比较出不相同时,则根据所述待比较更新标识,将全局服务器410本地更新信息文件存储的全部更新标识中,未保存在所述重启逻辑服务器420的本地更新信息文件中的更新标识及其对应的游戏数据发送给所述逻辑服务器420。

上述游戏服务器可执行本发明实施例一至实施例三所提供的游戏服务器的数据加载方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1