本发明涉及数据处理技术领域,更具体地说,涉及一种数据处理系统、数据处理方法以及数据处理装置。
背景技术:
随着科技的不断发展,各种网络应用得到了快速的发展,其中,网络应用包括视频应用、游戏应用等。在网络游戏中,游戏在线人数是工程师进行日常服务器的管理和维护的主要参考依据。
发明人发现,目前网络游戏的在线人数预测是通过工程师参考历史数据,并依据自己的经验对在线人数进行预测。这种方式完全依靠工程师的经验,不同的工程师推测出的结果差异较大,可能会因预测在线人数不准确导致服务器资源的浪费或瘫痪。
因此,如何提供一种实时预测网络游戏在线人数的系统,保证游戏在线人数预测的准确性,成为当前亟待解决的一大技术问题。
技术实现要素:
有鉴于此,本发明实施例提供一种数据处理系统、数据处理方法以及数据处理装置,能够实时预测游戏在线人数,进而减少游戏服务器的资源浪费。
为实现上述目的,本发明实施例提供如下技术方案:
一种数据处理系统,包括游戏服务器和数据处理装置,
所述游戏服务器用于发送游戏业务数据至所述数据处理装置;
所述数据处理装置用于:
实时获取各游戏服务器的游戏业务数据,所述游戏业务数据包括游戏在线人数;
对所述游戏业务数据进行预处理,生成目标游戏数据,所述目标游戏数据包括同一游戏区域的游戏在线人数和时间;
根据预设算法,对所述目标游戏数据进行回归分析,得到与所述时间与在线预测值相对应的多项式函数。
一种数据处理方法,包括:
实时获取各游戏服务器的游戏业务数据,所述游戏业务数据包括游戏在线人数;
对所述游戏业务数据进行预处理,生成目标游戏数据,所述目标游戏数据包括同一游戏区域的游戏在线人数和时间;
根据预设算法,对所述目标游戏数据进行回归分析,得到与所述时间与在线预测值相对应的多项式函数。
一种数据处理装置,包括:
第一获取模块,用于实时获取各游戏服务器的游戏业务数据,所述游戏业务数据包括游戏在线人数;
数据生成模块,用于对所述游戏业务数据进行预处理,生成目标游戏数据,所述目标游戏数据包括同一游戏区域的游戏在线人数和时间;
第一计算模块,用于根据预设算法,对所述目标游戏数据进行回归分析,得到与所述时间与在线预测值相对应的多项式函数。
基于上述技术方案,本发明实施例提供的数据处理系统中,游戏服务器用于发送游戏业务数据至数据处理装置。数据处理装置用于实时获取各游戏服务器的游戏业务数据。然后对游戏业务数据进行预处理,生成目标游戏数据,其中,目标游戏数据包括同一游戏区域的游戏在线人数和时间,之后再根据预设算法,对目标游戏数据进行回归分析,得到与时间与在线预测值相对应的多项式函数。可见,本方案能够实时预测游戏在线人数,进而减少游戏服务器的资源浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的数据处理系统的结构框图;
图2为本发明实施例提供的一种数据处理系统的信令流程图;
图3为本发明实施例提供的又一种数据处理系统的信令流程图;
图4为本发明实施例提供的又一种数据处理系统的信令流程图;
图5为本发明实施例提供的又一种数据处理系统的信令流程图;
图6为本发明实施例提供的一种数据处理系统的实际应用的示意图;
图7为本发明实施例提供的又一种数据处理系统的实际应用的示意图;
图8为本发明实施例提供的又一种数据处理系统的实际应用的示意图;
图9为本发明实施例提供的又一种数据处理系统的实际应用的示意图;
图10为本发明实施例提供的又一种数据处理装置的结构示意图;
图11为本发明实施例提供的一种终端硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都对应本发明保护的范围。
本发明实施例提供的数据处理系统中,游戏服务器用于发送游戏业务数据至数据处理装置。数据处理装置用于实时获取各游戏服务器的游戏业务数据。然后对游戏业务数据进行预处理,生成目标游戏数据,其中,目标游戏数据包括同一游戏区域的游戏在线人数和时间,之后再根据预设算法,对目标游戏数据进行回归分析,得到与时间与在线预测值相对应的多项式函数。可见,本方案能够实时预测游戏在线人数,进而减少游戏服务器的资源浪费。
请参阅图1,图1为本发明实施例提供的数据处理系统的结构框图,本发明实施例提供的数据处理方法可基于图1所示系统实现,参照图1,本发明实施例提供的数据处理系统可以包括:数据处理装置10,至少一个游戏服务器20;
数据处理装置10可以为网络侧设置的用于数据处理的设备,数据处理装置10可以为单台服务器,也可以为由多台服务器组成的服务器群组或者是一个云计算服务中心。数据处理装置10可具备数据计算功能的计算机。
至少一个游戏服务器20为用户侧的用于发送游戏业务数据的设备。
基于图1所示系统,图2示出了本发明实施例提供的数据处理系统的信令流程图,该数据处理系统包括:游戏服务器和数据处理装置,结合图1和图2所示,该信令交互过程可以包括:
步骤S100、发送游戏业务数据至所述数据处理装置。
其中,本方案中,游戏业务数据包括实际游戏在线人数,以及实际游戏在线人数与时间的对应关系,除此,还可以包括游戏所在的服务器区域以及服务器的型号类别等信息。其中,时间可以根据实际的需要进行设定,如每五分钟采集一次实际游戏在线人数。由于网络游戏的人数通常很多,因此会将游戏用户分配到不同的游戏所在的服务器区域,则会导致同一时间内,存在多个服务器的实际游戏在线人数,如在2016年6月17日11:00,在A服务器区域内,服务器型号类别为M1的实际游戏在线人数为50574;在2016年6月17日11:00,在A服务器区域内,服务器型号类别为M2的实际游戏在线人数为8518;在2016年6月17日11:00,在A服务器区域内,服务器型号类别为D12-60-200的实际游戏在线人数为110647,那么统计在2016年6月17日11:00,在A服务器区域的实际游戏在线人数为三者的加和169739人,即8518+50574+110647。
此步骤是各个游戏业务服务器将实时采集的实际游戏在线人数发送往数据处理装置的过程。
步骤S101、实时获取各游戏服务器的游戏业务数据。
此处获取了游戏服务器的游戏业务数据,上文介绍了游戏业务数据可以包括实际游戏在线人数,对应的时间、游戏所在的服务器区域以及服务器类型,在本数据处理装置中可以存储上述游戏业务数据中各参数的对应关系。
步骤S102、对所述游戏业务数据进行预处理,生成目标游戏数据,所述目标游戏数据包括同一游戏区域的游戏在线人数和时间。
结合上述步骤,此处着重是对游戏业务数据进行处理的过程,如对获取的游戏业务数据进行清洗,排除不需要数据并将游戏业务数据处理成预设的格式。例如,获取到的游戏业务数据包括多个参数值,此步骤可以按照预设的格式留取特定的参数,如游戏所在的服务器区域、服务器的型号类别、时间、实际游戏在线人数的顺序。
步骤S103、根据预设算法,对所述目标游戏数据进行回归分析,得到与所述时间与在线预测值相对应的多项式函数。
在方案中,优选的是采用最小二乘法算法,输入采集到的各个时刻的实际游戏在线人数,回归分析得到一多项式函数,该多项式函数记录的是在线预测值和时间点的对应关系。需要说明的是,根据输入的实际在线数据的不同,以及时刻的不同,得到的多项式函数也不同。
其中,最小二乘法是一种用于回归分析的方法。定义的误差函数为预测值与真实值之差的平方之和(残差平方和)。通过用矩阵实现的最小二乘法,我们可以拟合出一个误差与给定数据最小的曲线出来(多项式的图像)。我们可以认为这个函数在一定的定义域内代表着整体在线的趋势,所以可以以此评估在短期内可能达到的在线情况。
具体的拟合步骤如下:
1.设拟合多项式为:
y=a0+a1x+...+akxk,
2.各点到这条曲线的距离之和,即偏差平方和如下:
3.为了求得符合条件的a值,对等式右边求ai偏导数,得到:
.......
4.将等式左边进行一下化简,然后应该可以得到下面的等式:
.......
5.把这些等式表示成矩阵的形式,就可以得到下面的矩阵:
6.将这个范德蒙得矩阵化简后可得到:
7.也就是说X*A=Y,那么A=(X'*X)-1*X'*Y,便得到了系数矩阵A,同时得到了拟合曲线。
优选的,可以输入当天的零点到当前时刻的实际游戏在线人数,对该数据利用最小二乘法进行回归分析,生成对应时刻的多项式函数。也就是说,每一个时刻点,由于输入的实际游戏在线人数的数据不同,因此多项式函数会每个时刻点一更新,相应的多项式函数在输入当前时刻后,得到的在线预测值也不同。
可见,本方案能够实时预测游戏在线人数,进而避免了现有技术中靠人为经验对游戏在线人数预测带来的差异,从而可以为工程师提供更加准确的在线人数预测,以便工程师根据预测值对服务器的容量进行增减,进而减少游戏服务器的资源浪费。
在本申请的另一个实施例中,在上述实施例的基础上,还可以如图3所示,图3为本申请示例的又一种数据处理系统的信令交互示意图,该信令交互过程包括:
步骤S200、计算同一时间的在线预测值与游戏在线人数的差值。
步骤S201、判断所述差值是否小于第一预设值,如果是,存储并展示所述在线预测值;如果否,确定所述在线预测值为异常值。
需要说明的是,上述实施例得到了多项式函数之后,可以得到在线预测值,在本实施例中,发明人为了验证在线预测数值的准确性,对在线预测值与实际游戏在线人数进行比较,计算其差值是否符合预设范围。当差值超过预设值时,系统可以判定当前在线预测值为一个异常数据,并可以相应的对该数据进行补偿处理等,详见下述实施例。当预测值和实际值的差值在预设范围内,则认定本方案的数据处理系统较为准确。如可以统计三天内的预测值与实际值的偏差,如果偏差的平均值在7%内,则无需调整当前多项式函数。
其中,预设时间和预设范围值都可以根据实际需要进行设定,并不局限于上述实施例中的限定。
除此,在本申请的另一个实施例中,对在线预测值和实际游戏在线数据的差值超范围时,如何对多项式函数进行修订的过程进行介绍。参照图4,图4为本申请示例的又一种数据处理系统的信令交互示意图,该信令交互过程包括:
步骤S300、创建预设时间段内的所述游戏在线人数的分布函数。
步骤S301、获取所述分布函数的极值。
在本实施例中,还可以对采集到的实际游戏在线人数的历史数据,以每日为一个时间段,创建一个每日的每时刻的游戏在线人数的函数。并在上述函数的基础上,找到函数的极值分布。
步骤S302、对所述极值聚类,确定出所述分布函数的拐点数据。
对上述同一时刻的各个极值进行聚类,确定各极值与时间的对应关系,并定义极值对应的时间为一个拐点数据。其中,极值包括每日函数曲线的最大值和最小值。
本实施例中,计算拐点数据的目的是为了预测在拐点时刻的游戏在线人数的趋势,如,当在某时刻的函数极值为最大值,那么此时刻为一个拐点,在该时刻之后,游戏在线人数可能会呈下降趋势。
在本申请的另一个实施例中,如图5所示,图5为本申请示例的又一种数据处理系统的信令交互示意图,该信令交互过程包括:
步骤S400、绘制并展示所述在线预测值与所述时间的曲线以及所述游戏在线人数与所述时间的曲线。
需要说明的是,数据处理装置中可以存储游戏在线人数的实际值和预测值,并根据这些值绘制在线预测值与所述时间的曲线以及所述游戏在线人数与所述时间的曲线,并在数据处理装置上进行展示,以便更加直观的对游戏在线预测数据以及实际游戏在线人数进行展示。
现结合具体实例对本方案提供的一种数据处理系统进行介绍,如图6所示,数据处理装置实时获取各游戏服务器的游戏业务数据,该游戏业务数据至少包括如下字段:游戏所在的服务器区域、服务器类型、对应的时间以及实际游戏在线人数。然后根据图6中的数据,对该数据合并成单一大区内的,各时刻对应的实际游戏在线人数,如图7所示,即将图6中同一时刻的各不同服务器类型的实际游戏在线人数的值进行相加,如2016-06-17 11:00的服务器类型为M2、M1以及D12-60-200的游戏在线人数pcu进行相加。
然后利用最小二乘法将实际游戏在线人数进行回归分析,如利用今天0点到现在时刻的实际游戏在线人数,输入到算法中得到此时刻的多项式函数,该函数为在线预测人数与时间的函数关系,如,拟合多项式函数可以为:
a0...5=-387216235.6662412,16154411.678539163,-269208.8346228992,2240.241119044617,-9.307030356963782
当将时刻值输入到当前拟合多项式函数后,得到当前的在线游戏人数预测值,如图8所示。其中,datetime_point为时间序列点,将每天的时间从5分钟开始排列,例如00:30是时间序列点是7。pred_pcu_no_1为首次粗略预测的预测结果。上文介绍过,由于多项式函数是根据输入的实际游戏在线人数而变化的,因此,在图8中显示的在线人数预测值pred_pcu是变化的。
除此,还可以将游戏在线人数和预测人数的数据进行绘图显示,如图9所示。
下面对本申请实施例提供的数据处理装置进行描述,下文描述的数据处理装置与上文描述的数据处理系统可相互对应参照。
参见图10,图10为本申请实施例公开的一种数据处理系统的结构示意图,该系统包括:
第一获取模块100,用于实时获取各游戏服务器的游戏业务数据,所述游戏业务数据包括游戏在线人数;
数据生成模块200,用于对所述游戏业务数据进行预处理,生成目标游戏数据,所述目标游戏数据包括同一游戏区域的游戏在线人数和时间;
第一计算模块300,用于根据预设算法,对所述目标游戏数据进行回归分析,得到与所述时间与在线预测值相对应的多项式函数。
优选的,还包括
第二计算模块,用于计算同一时间的在线预测值与游戏在线人数的差值;
判断模块,用于判断所述差值是否小于第一预设值,如果是,存储并展示所述在线预测值;如果否,确定所述在线预测值为异常值。
优选的,还包括:
创建模块,用于创建预设时间段内的所述游戏在线人数的分布函数;
第二获取模块,用于获取所述分布函数的极值;
确定模块,用于对所述极值聚类,确定出所述分布函数的拐点数据。
优选的,还包括:
展示模块,用于绘制并展示所述在线预测值与所述时间的曲线。
本发明实施例提供的服务器的硬件结构可如图11所示,包括:处理器1,通信接口2,存储器3和通信总线4;
其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1,用于执行程序;
存储器3,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,程序可具体用于:
实时获取各游戏服务器的游戏业务数据,所述游戏业务数据包括游戏在线人数;
对所述游戏业务数据进行预处理,生成目标游戏数据,所述目标游戏数据包括同一游戏区域的游戏在线人数和时间;
根据预设算法,对所述目标游戏数据进行回归分析,得到与所述时间与在线预测值相对应的多项式函数。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。