一种高效利用服务器资源的方法和服务器管理系统技术方案

技术编号:15669360 阅读:93 留言:0更新日期:2017-06-22 12:46
本申请提供一种高效利用服务器资源的方法和服务器管理系统,通过在执行当前局游戏服务器逻辑的同时,通过前面逻辑释放的服务器资源,创建待命的新一局游戏服务器,并在当前局游戏结束时,快速切换至的新一局游戏服务器,以便无缝开启新一局游戏;进而高效利用服务器资源,在降低运营成本的同时,也为玩家提供更流畅、更高效、更优质的游戏产品和服务。

Method and server management system for efficient use of server resources

This application provides an efficient use of server resources method and server management system, through the execution of the current game server logic at the same time, through the front of the release of logical server resources to create a new game on the server, and in the office at the end of the game, quickly switched to the new game server, so seamlessly open a new game; and the efficient use of server resources, reduce operating costs at the same time, also provide a smoother, more efficient, more high-quality products and services for the game player game.

【技术实现步骤摘要】
一种高效利用服务器资源的方法和服务器管理系统
本申请涉及服务器
,尤其涉及一种高效利用服务器资源的方法和服务器管理系统。
技术介绍
在生活节奏越来越快的今天,轻量级游戏得到了人们的广泛追捧,如IO游戏等。早期的轻量级游戏多是在短时间内即可完成一局游戏并判断胜负以获取积分(例如经验、金钱、资源、奖励)等。随着近年来轻量级游戏的飞速发展,为使游戏更具有可玩性和互动性,许多轻量级游戏被设计成允许更多的玩家加入同一场游戏和重复进入,同时较大程度上延长了游戏时间。轻量级游戏的服务器系统通常是不需要占用太多的服务器的资源;因此,游戏开发者通常会在一台物理服务器虚拟出几台设置几百台相互隔离的虚拟服务器,从而提高资源的利用率。然而,随着加入的玩家越多以及游戏时间越长,轻量级游戏服务器的数据量也越来越大,这对服务器的性能也越来越高。但是,物理服务器的性能是有上限的。如果一个游戏服务器数据量过大,即使采用虚拟服务器技术,一台物理服务器上能够虚拟出的服务器系统也是有限的。为更加高效地利用服务器资源,无论是采用虚拟服务器还是直接采用物理服务器,在一局游戏结束后,便会关闭该局游戏服务器,腾出服务器资源用于部署新的游戏的服务器。尤其是在轻量级游戏服务器的管理上,关闭当前局游戏服务器,然后利用其占用的服务器资源部署新一局游戏的服务器,是本领域的惯常手段。以游戏《Trivian》为例,如图1所示,一局游戏结束时,该局游戏的服务器便会被关闭,在对其数据备份保存后,腾出其占用的服务器资源以创建新一局游戏的服务器。然而,上述过程复杂,操作繁琐,且线下操作(如图1中101所示)易出错,耗时长,甚至一些情形下,还会使得硬件设备不能正常提供服务,造成浪费。尤其,游戏服务器数据量越大,其创建过程越长;随着轻量级游戏支持的玩家越多、玩法越复杂,其数据量自然不断增大。一些轻量级游戏的服务器创建过程甚至需要耗时达七、八个小时。显然,上述情形严重影响了游戏运营效率。那么,提供一套技术方案,用于实现待关闭的当前局游戏服务器和即将部署的新一局游戏服务器之间快速切换,实现后者的快速部署,以达到高效利用服务器资源的目的,就成为了游戏开发者和运营者亟待解决的技术问题。
技术实现思路
有鉴于此,本申请目的在于提供一种高效利用服务器资源的方法和服务器管理系统,以实现待关闭的当前局游戏服务器和即将部署的新一局游戏服务器之间的快速切换,实现后者的快速部署,进而高效利用有限的服务器资源,在降低运营成本的同时,也为玩家提供更流畅、更高效、更优质的游戏产品和服务。故,本申请公开一种高效利用服务器资源的方法,该方法包括:在服务器逻辑中创建线程池,所述线程池中包括至少两个工作线程组(每个工作线程组包括不少于一条的工作线程),其中一个线程组为主线程组,用于执行当前局游戏服务器的逻辑,另一个线程组为辅助线程组,用于待命的新一局游戏服务器的创建;所述主线程组,创建当前局游戏服务器,在服务器的内存中创建全部的当前局游戏的地图及地图元素数据;上述数据会被分配到服务器内存中的静态存储区;所述辅助线程组,创建新一局游戏的服务器,仅在服务器内存中创建部分的新一局游戏的地图及地图元素数据;上述数据也会被分配到服务器内存的静态存储区;游戏开始时,所述主线程组占用大部分服务器资源,所述辅助线程组休眠;随着游戏进行,所述主线程组将访问频率低的地图及地图元素数据移出服务器内存的静态存储区,并将其移入服务器数据库;游戏开发者以预设算法确定访问频率低的数据;当服务器资源空闲时(例如所述主线程组暂时休眠,释放服务器资源),所述辅助线程组被唤醒;唤醒后的辅助线程组利用空出的静态存储区继续创建余下的新一局游戏的地图及地图元素数据;当前局游戏结束时,所述主线程组关闭,所述辅助线程组成为新一局游戏服务器的主线程组,进而完成新一局游戏服务器的创建;与此同时,在服务器逻辑中还可以创建新的辅助线程组,作为新一局游戏服务器的辅助线程组,以实现自主循环。其中,在所述辅助线程组中创建校验线程,时刻校验所述主线程组执行的当前局游戏服务器的逻辑是否临近结束;若是,则让出部分服务器资源给所述辅助线程,保证其能够及时完成新一局游戏服务器的创建。其中,当服务器的内存资源严重不足时,所述辅助线程组利用服务器的硬盘资源创建虚拟内存,并在所述虚拟内存中创建新一局游戏的地图及地图元素数据;当服务器内存的静态存储区空出时,再将上述数据移入。所述虚拟内存采用段页式调度管理,该方式不仅调入操作简单,还能消除内存零头,易于程序和数据的保护。此外,所述移出服务器内存静态存储区的地图及地图元素数据再次被请求访问时,所述主线程组将其他访问频率低的地图及地图元素数据从服务器内存的静态存储区移出至服务器数据库,并从服务器数据库中取回所述的被请求访问的地图及地图元素数据至空出的服务器内存静态存储区,以便提供访问。本申请还公开一种高效利用资源的服务器管理系统,该系统包括:逻辑单元、资源管理单元、服务器切换管理单元;其中,所述逻辑单元包括主逻辑模块和辅助逻辑模块;所述主逻辑模块,用于执行当前局游戏的服务器的逻辑;所述辅助逻辑模块,用于待命的新一局游戏服务器的创建;所述主逻辑模块创建当前局的游戏服务器,在服务器内存中创建全部的当前局游戏的地图及地图元素数据;上述数据会被分配到服务器内存的静态存储区;所述辅助逻辑模块创建新一局游戏服务器,仅在服务器内存中创建部分的新一局游戏的地图及地图元素数据;上述数据也会被分配到服务器内存的静态存储区;所述资源管理单元,用于在所述主逻辑模块和所述辅助逻辑模块间分配服务器资源;所述服务器资源包括服务器内存等;游戏开始时,所述资源管理单元将服务器资源分配给所述主逻辑模块,所述辅助逻辑模块休眠;随着游戏进行,所述主逻辑模块将访问频率低的地图及地图元素数据移出服务器内存的静态存储区,并将其移入服务器数据库;游戏开发者以预设算法确定访问频率低的数据;当服务器资源空闲时(例如所述主逻辑模块暂时休眠,释放服务器资源),所述辅助逻辑模块被唤醒;所述资源管理单元将包括空出的静态存储区在内的服务器资源分配给唤醒后的辅助逻辑模块,所述辅助逻辑模块利用该资源继续创建余下的新一局游戏的地图及地图元素数据;所述服务器切换管理单元,用于切换当前局游戏的服务器和待命的新一局游戏服务器;当前局游戏结束时,所述服务器切换管理单元负责关闭所述主逻辑模块,同时使所述辅助逻辑模块成为新一局游戏服务器的主逻辑模块,进而完成新一局游戏服务器的创建;此外,在上述切换过程中,所述服务器切换管理单元还可以创建新的辅助逻辑模块,作为新一局游戏服务器的辅助逻辑模块,以实现自主循环。其中,所述辅助逻辑模块设置校验子模块,时刻校验所述主逻辑模块执行的当前局游戏服务器的逻辑是否临近结束;若是,则通知所述主逻辑模块让出部分服务器资源给所述辅助逻辑模块,以保证后者能够及时完成新一局游戏服务器的创建。其中,当服务器的内存资源严重不足时,所述辅助逻辑模块设置虚拟内存子模块,利用服务器的硬盘资源创建虚拟内存,以便所述辅助逻辑模块在其中创建新一局游戏的地图及地图元素数据;并在服务器内存的静态存储区空出时,移入上述数据。此外,所述主逻辑模块设置数据调度管理子模块,用于调度数据库和服务器内存静态存储区中本文档来自技高网
...
一种高效利用服务器资源的方法和服务器管理系统

【技术保护点】
一种高效利用服务器资源的方法,其特征在于,该方法包括:在服务器逻辑中创建线程池,所述线程池中包括至少两个工作线程组,其中一个线程组为主线程组,用于执行当前局游戏服务器的逻辑,另一个线程组为辅助线程组,用于待命的新一局游戏服务器的创建;所述主线程组,创建当前局游戏服务器,在服务器的内存中创建全部的当前局游戏的地图及地图元素数据;所述数据被分配到服务器内存中的静态存储区;所述辅助线程组,创建新一局游戏的服务器,仅在服务器内存中创建部分的新一局游戏的地图及地图元素数据;所述数据也被分配到服务器内存的静态存储区;游戏开始时,所述主线程组占用服务器资源,所述辅助线程组休眠;随着游戏进行,所述主线程组将访问频率低的地图及地图元素数据移出服务器内存的静态存储区,并将其移入服务器数据库;当服务器资源空闲时,所述辅助线程组被唤醒;唤醒后的辅助线程组利用空出的静态存储区继续创建余下的新一局游戏的地图及地图元素数据;当前局游戏结束时,所述主线程组关闭,所述辅助线程组成为新一局游戏服务器的主线程组。

【技术特征摘要】
1.一种高效利用服务器资源的方法,其特征在于,该方法包括:在服务器逻辑中创建线程池,所述线程池中包括至少两个工作线程组,其中一个线程组为主线程组,用于执行当前局游戏服务器的逻辑,另一个线程组为辅助线程组,用于待命的新一局游戏服务器的创建;所述主线程组,创建当前局游戏服务器,在服务器的内存中创建全部的当前局游戏的地图及地图元素数据;所述数据被分配到服务器内存中的静态存储区;所述辅助线程组,创建新一局游戏的服务器,仅在服务器内存中创建部分的新一局游戏的地图及地图元素数据;所述数据也被分配到服务器内存的静态存储区;游戏开始时,所述主线程组占用服务器资源,所述辅助线程组休眠;随着游戏进行,所述主线程组将访问频率低的地图及地图元素数据移出服务器内存的静态存储区,并将其移入服务器数据库;当服务器资源空闲时,所述辅助线程组被唤醒;唤醒后的辅助线程组利用空出的静态存储区继续创建余下的新一局游戏的地图及地图元素数据;当前局游戏结束时,所述主线程组关闭,所述辅助线程组成为新一局游戏服务器的主线程组。2.根据权利要求1所述的一种高效利用服务器资源的方法,其特征在于,在所述主线程组关闭和所述辅助线程组成为新一局游戏服务器的主线程组的同时,在服务器逻辑中创建新的辅助线程组,作为新一局游戏服务器的辅助线程组。3.根据权利要求1所述的一种高效利用服务器资源的方法,其特征在于,在所述辅助线程组中创建校验线程,时刻校验所述主线程组执行的当前局游戏服务器的逻辑是否临近结束;则让出部分服务器资源给所述辅助线程。4.根据权利要求1所述的一种高效利用服务器资源的方法,其特征在于,当服务器的内存资源严重不足时,所述辅助线程组利用服务器的硬盘资源创建虚拟内存,并在所述虚拟内存中创建新一局游戏的地图及地图元素数据;当服务器内存的静态存储区空出时,再将所述数据移入。5.根据权利要求1所述的一种高效利用服务器资源的方法,其特征在于,所述移出服务器内存静态存储区的地图及地图元素数据再次被请求访问时,所述主线程组将其他访问频率低的地图及地图元素数据从服务器内存的静态存储区移出至服务器数据库,并从服务器数据库中取回所述的被请求访问的地图及地图元素数据至空出的服务器内存静态存储区。6.一种高效利用资源的服务器管理系统,其特征在于,该系统包括:逻辑单元、资源管理单元、服务器切换管理单元;其中,所述逻辑单元包括主逻辑模块和辅助逻辑模块;所述主逻辑模块,用于执行当前局游戏的服务器的逻辑;所述辅助逻辑模块,用于待命的新一局游戏服务器的创建;所述主逻辑...

【专利技术属性】
技术研发人员:史成亮于占洋
申请(专利权)人:天津卓越互娱科技有限公司
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1