一种游戏服务器架构优化方法及系统与流程

文档序号:16641043发布日期:2019-01-16 07:33阅读:141来源:国知局
一种游戏服务器架构优化方法及系统与流程
本发明涉及一种服务器架构自动优化方法及系统,属于计算机网络领域。
背景技术
:随着物质生活水平的不断提高,人们对娱乐的需求也越来越大。游戏开始慢慢成为人们娱乐和放松的重要方式之一。随着网络的发展,地球村的概念慢慢成为现实。越来越多的游戏也开始面向全球用户提供服务。因为地理位置,网络传送的光速限制及互联网的一些特殊情况,游戏服务器也要跟着时代一起演化。现在的主流游戏服务器架构如下:1)集中架构,这种架构把所有游戏服务器部署在一个地方,架构比较简单,易维护,但全球玩家访问同一个地区必然导致某些地区的用户访问缓慢。2)分布式架构,这种架构把服务器部署在各个地区,解决了全球玩家访问慢的问题,但是现在的分布式架构一般需要人工手动操作,无法随着用户行为的变化而变化。3)其它架构,一般是在上边两种架构上做取舍,比如部分分布,部分集中,但分布式部分依然需要人工手动操作,无法随着用户行为的变化而变化。现有的游戏分布式服务器架构虽然很好地解决了部分玩家因为地理位置和光速限制导致的访问慢的问题,但需要技术人员手动增减服务器。现有的做法一般是技术人员通过监控来发现服务器资源的利用情况,然后根据具体情况来具体调节。这种做法是一种被动的防御性做法,技术人员手工操作过程中不仅容易引入错误影响服务,也会出现反应不及时导致服务受影响或浪费服务器资源,无法实时地随着用户行为快速调整。比如当用户数快速上涨时,根据监控来判断并手工操作服务器资源的响应速度必然会影响服务质量。又如周一至周五与周末的时间段里玩家峰值差值较大,一般现有做法就是按周末峰值部署服务器资源,造成服务器资源的浪费;一般凌晨到早上玩家数量要很少,也造成服务器资源的浪费。当服务器部署在全球多个地方时,手工操作的难度进一步提升。在服务质量要求越来越高且对资源的利用越来越重视的时代,急需一种自适应的游戏云架构来解决这个问题。技术实现要素:为解决上述问题,本发明的目的在于提供一种游戏服务器架构优化方法及系统,通过采集用户信息,根据用户的位置分布信息划分为多个区域,根据当前各个区域的用户信息,通过线性回归模型预测在线人数的变更趋势;服务器根据预测结果或当前在线人数,更改和/或增删向各区域提供的服务内容。本发明解决其问题所采用的技术方案一方面是:一种游戏服务器架构自动优化方法,其特征在于,该方法包括以下步骤:启动服务器并启用智能决策服务,读取当前连接服务器的用户信息,其中用户信息包括用户的位置分布信息以、用户请求的服务内容、用户数量以及用户登录日期;根据用户的位置分布信息划分为多个区域,以及,根据当前各个区域的用户信息,通过线性回归模型预测在线人数的变更趋势;服务器根据预测结果或当前在线人数,更改和/或增删向各区域提供的服务内容,其中服务内容包括房间服务和分配服务。进一步的,所述读取当前连接服务器的用户信息具体还包括服务器获取由分配服务上报的用户信息,其中用户信息包括用户所在区域id以及用户请求的游戏类型。进一步的,所述根据用户的位置分布信息划分为多个区域具体还包括根据地理地址划分为各个大洲,并且在各个大洲中划分东南西北中区域,在各个区域分配对应区域id。进一步的,所述线性回归模型为:y=a0+a1×time+a2×date+a3×zone其中y表示指定时间点对应区域的在线人数,其中time以分钟为单位表示每日时间点,date以星期为单位表示当前日期,zone用于表示位置信息所使用的子区域唯一标识,根据上述模型计和用户信息,使用梯度下降方法计算a0,a1,a2,a3系数的值。进一步的,所述服务器根据当前在线人数,更改和/或增删向各区域提供的服务内容具体包括:设置在线人数阈值,其中在线人数阈值根据当前区域历史最高峰在线用户人数、历史最低峰在线用户人数设置、各时间段在线用户人数以及平均在线用户人数设置;判断当前在线用户人数是否高于在线人数阈值,若是则在对应区域增加服务内容,否则则在对应区域减少服务内容或不执行操作。进一步的,所述服务器根据预测结果,更改和/或增删向各区域提供的服务内容具体包括:设置在线人数增量阈值以及减量阈值,其中增量阈值和减量阈值根据各个区域对应的在线用户人数以及分配服务的数量和负荷状态设置;根据预测结果,判断在线人数是否变化,若是则执行下一步骤,否则不执行操作;在线人数增量或减量是否超过对应增量阈值或减量阈值,若是则在对应区域增加或减少服务内容,否则不执行操作。进一步的,所述智能决策模块用于收集和分析用户信息,建立线性回归模型,动态地增减分配服务和房间服务;所述房间服务为管理具体的游戏进程,包括游戏进程的启动,关闭及上报游戏进程信息给智能决策服务和分配服务;所述分配服务为提供给用户分配游戏服务功能,根据用户的请求游戏类型给用户分配相应的游戏类型,撮合相同类型游戏的用户一起进行游戏,同时上报用户信息给智能决策服务。本发明解决其问题所采用的技术方案另一方面是:一种服务器架构自动优化系统,包括智能决策模块、分配模块以及房间模块,其特征在于:所述智能决策模块用于收集和分析用户信息,建立线性回归模型,动态地增减分配服务和房间服务;所述房间模块用于为管理具体的游戏进程,包括游戏进程的启动,关闭及上报游戏进程信息给智能决策服务和分配服务;所述分配模块用于提供给用户分配游戏服务功能,根据用户的请求游戏类型给用户分配相应的游戏类型,撮合相同类型游戏的用户一起进行游戏,同时上报用户信息给智能决策服务。进一步的,所述智能决策模块还包括:模型建立模块,用于建立线性回归模型并向运算模块提供对应运算模型;运算模块,用于根据模型建立模块和数据存储模块存储的用户信息,进行对应运算,获得预测结果并将预测结果发送给服务管理模块;数据存储模块,用于接收存储房间模块发送的用户信息,供运算模块调用;服务管理模块,用于根据运算模块发送的预测结果,对对应区域的服务执行增删操作。进一步的,所述服务管理模块还包括:历史数据分析模块,用于根据数据存储模块中存储的用户信息,分析并得到各类阈值;判断模块,用于根据运算模块发送的预测结果,结合历史数据分析模块计算的各类阈值,判断是否在对应区域增删对应服务。本发明的有益效果是:本发明采用的一种服务器架构自动优化方法及系统,提供主动防御性做法,预测用户人数变更,提前对对应服务进行调整,通过自适应的方法在保障服务质量的前提下按需提供服务质量,最大限度地节省服务器成本,避免了由于技术人员手工操作过程中容易引入错误影响服务以及反应不及时导致服务受影响或浪费服务器资源等问题。附图说明图1所示为游戏服务器架构优化方法流程示意图;图2所示为游戏服务器架构优化方法实施例一的示意图;图3所示为游戏服务器架构优化系统结构示意图;图4所示为游戏服务器架构优化系统实施例一的示意图。具体实施方式以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本
技术领域
的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。参照图1所示为分布式代理方法流程示意图,该方法是图3所述系统的工作方法,如图1所述,该方法包括以下步骤:启动服务器,读取当前连接服务器的用户信息,其中用户信息包括用户的位置分布信息以、用户请求的服务内容、用户数量以及用户登录日期;服务器启动,用户登录服务器,同事服务器获取当前登录用户的信息并统计,包括位置分布信息以、用户请求的服务内容、用户数量以及用户登录日期,其中用户登录日期包括历史登录日期,用于后续分析数据,服务内容可以有多种,以网络游戏为例,用户执行对战时,需要调用服务器的分配服务,为用户分配合适的对战,以及房间服务,开启游戏进程,为用户提供对战场所。根据用户的位置分布信息划分为多个区域,根据当前各个区域的用户信息,通过线性回归模型预测在线人数的变更趋势;1:将地区分层管理,分为各大洲及大洲的东南西北中区域。2:在每个大洲预先启动一个分配服。3:获取当前所有在线人数的地理位置坐标并映射到预先划分好的区域。3:根据划分区域统计每个区域的在线人数,如果某个划分区域超过某个阀值,则在对应子区域增加一个分配服。4:如果该子区域的在线人数低于某个阀值,则撤掉该子区域的分配服。其中线性回归模型在下一步做详细介绍。服务器根据预测结果或当前在线人数,更改和/或增删向各区域提供的服务内容,其中服务内容包括房间服务和分配服务。本技术方案适用于大多数网络游戏,特别是面向全球提供服务的网络游戏。本专利是搭建在现有的公有云服务上,适用于全球游戏服务这一细分领域的架构。本专利主要由分配服务,房间服务及智能决策服务组成。各服务功能如下:1)分配服务主要提供给玩家分配游戏服务功能,根据玩家的请求游戏类型给玩家分配相应的游戏类型,撮合相同类型游戏的玩家一起玩,同时上报玩家相关信息给智能决策服务。2)房间服务负责管理具体的游戏进程,包括游戏进程的启动,关闭及上报游戏进程信息给智能决策服务和分配服务。3)智能决策服务收集和分析用户信息,根据用户的位置分布信息,用户请求的游戏类型,用户请求的频率动态地增减分配服务和房间服务。分配服务的增减主要考虑某个地区的在线人数。如果某个地区的在线人数比较大,就会在所在地区单独新起一个分配服,这样这个地区的用户就可以就近接入,连接速度更快,体验更好。但是如果某个地区的人数少于一个阀值,即人数太少导致撮合相同类型游戏的玩家一起玩的成功率受到影响,则会取消这个分配服务,让本地区的玩家从新找最近的分配服务。房间服务的增加算法如下:房间服务的动态增减主要采用迭代多元线性回归算法,通过梯度下降方法进行计算损失函数的最小值(即误差最小值)来计算线性系数。在统计学中,线性回归(linearregression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合(自变量都是一次方)。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。本算法在多元线性回归算法进一步改进,不停地将最新的数据用于计算最新的预测系数,让系数不断地收敛,不断地逼近最正确的值。选取每日时间点,日期,位置信息为特征,然后通过梯度下降方法在历史数据上求出线性方程对应的系数,后根据系数和线性方程推算出未来一段时间内某个地区的在线用户数将会达到的值,然后预先对该地区房间服务进行动态调整,达到用户体验与资源利用的最佳平衡。y=a0+a1*time+a2*date+a3*zone。y:该日期该时间点该区域的在线人数。time:每日时间点选取以分钟为单位,一天内的时间点可以用[0-1439]表示,及0表示0点0分,1表示0点1分,1439表示23点59分。date:日期选取星期来表示,周日到周六分别用[0-6]来表示。zone:位置信息使用子区域id来表示,即[1-max_zone_id]根据历史数据,我们可以知道不同日期不同时间点在不同区域的在线人数,即我们知道很多下边的数据,如ytimedatezone5001511500120051350112800120012即我们知道了很多公式里边的y,time,date及zone,我们想先计算出a0,a1,a2,a3这些系数,使得对应所有历史数据使用这些系数和time,date及zone计算出来的y值跟真实的y值之间的误差最小。通过梯度下降方法(梯度下降方法是求解最小值的常用方法)可以求解出a0,a1,a2,a3系数,然后根据这些系数和未来的time,date及zone就可以推算出未来的在线人数y。定期的重新计算和更新a0,a1,a2,a3,这样就形成了不断地迭代,让系数可以更好地不断适应真实的情况。参照图2所示为游戏服务器架构优化方法实施例一的示意图,具体为根据当前在线人数或预测结果,对对应的服务,此处尤其指分配服务和房间服务,进行增删的流程:设置在线人数阈值,其中在线人数阈值根据当前区域历史最高峰在线用户人数、历史最低峰在线用户人数设置、各时间段在线用户人数以及平均在线用户人数设置;判断当前在线用户人数是否高于在线人数阈值,若是则在对应区域增加服务内容,否则则在对应区域减少服务内容或不执行操作。设置在线人数增量阈值以及减量阈值,其中增量阈值和减量阈值根据各个区域对应的在线用户人数以及分配服务的数量和负荷状态设置;根据预测结果,判断在线人数是否变化,若是则执行下一步骤,否则不执行操作;在线人数增量或减量是否超过对应增量阈值或减量阈值,若是则在对应区域增加或减少服务内容,否则不执行操作。参照图3所示为游戏服务器架构优化系统结构示意图,该系统按照图一的方法运行,并且还可以按照图2所示的方法运行:包括智能决策模块、分配模块以及房间模块,其特征在于:所述智能决策模块用于收集和分析用户信息,建立线性回归模型,动态地增减分配服务和房间服务;所述房间模块用于为管理具体的游戏进程,包括游戏进程的启动,关闭及上报游戏进程信息给智能决策服务和分配服务;所述分配模块用于提供给用户分配游戏服务功能,根据用户的请求游戏类型给用户分配相应的游戏类型,撮合相同类型游戏的用户一起进行游戏,同时上报用户信息给智能决策服务。参考图4所示为游戏服务器架构优化系统实施例一的示意图,智能决策模块还包括以下模块:模型建立模块,用于建立线性回归模型并向运算模块提供对应运算模型;运算模块,用于根据模型建立模块和数据存储模块存储的用户信息,进行对应运算,获得预测结果并将预测结果发送给服务管理模块;数据存储模块,用于接收存储房间模块发送的用户信息,供运算模块调用;服务管理模块,用于根据运算模块发送的预测结果,对对应区域的服务执行增删操作。优选地,服务管理模块还可以包括以下模块:历史数据分析模块,用于根据数据存储模块中存储的用户信息,分析并得到各类阈值;判断模块,用于根据运算模块发送的预测结果,结合历史数据分析模块计算的各类阈值,判断是否在对应区域增删对应服务。以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1