首页 > 运动玩具 专利正文
一种数据处理方法、装置、计算机设备以及存储介质与流程

时间:2022-02-15 阅读: 作者:专利查询

一种数据处理方法、装置、计算机设备以及存储介质与流程

1.本技术涉及互联网技术领域,尤其涉及一种数据处理方法、装置、计算机设备以及存储介质。


背景技术:

2.在单局类游戏中,游戏服务器需要运行游戏引擎。针对游戏加载资源的不同,游戏引擎拉起时间有长有短,随着游戏内容重度化,游戏场景复杂化,引擎拉起需要加载和处理的时间越来越长,达到十几秒甚至几十秒,这种情况下,实时拉起会导致玩家过长的等待时间,为降低这种等待带来的不佳体验,通常采取引擎预拉起机制。现有预拉起机制通过人工预估的预设值拉起游戏服务器,由于人工配置的方式,需要产品运营人员进行人工干预的方式进行设置和调整,难以适应现网承载量的变化,特别是当现网进行多版本部署的时候,游戏服务器集群被多个版本集群公用,预拉起进程实例的预估偏差容易导致一个版本集群占据过多资源,游戏服务器空转,导致现网计算资源浪费,而另一个版本分配不到游戏服务器,导致分配延迟变高甚至无法提供服务,进而影响现网服务质量。


技术实现要素:

3.本技术实施例提供一种数据处理方法、装置、计算机设备以及存储介质,可以保证计算资源的充分调度,提高计算资源的利用率。
4.本技术实施例一方面提供了一种数据处理方法,可包括:
5.获取目标游戏的状态信息;所述目标游戏包括至少一个游戏版本,每个游戏版本包括至少一个游戏模式;所述状态信息包括当前在线人数信息、历史在线人数信息、历史开局信息和历史资源分配信息以及版本更新信息;
6.根据所述状态信息,确定所述目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量;
7.采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,并对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。
8.在一种可行的实施方式中,所述根据所述状态信息,确定所述目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量,包括:
9.根据所述状态信息中的版本更新信息,确定所述目标游戏的版本状态;
10.若所述目标游戏处于单版本运行状态,则根据历史资源分配信息、历史开局信息、当前在线人数信息、历史在线人数信息,确定目标版本中各游戏模式的游戏服务器的预测分配量;所述目标游戏的单版本运行状态对应的游戏版本为目标版本;
11.若所述目标游戏处于多版本运行状态,则根据历史在线人数信息、版本更新信息,确定每个游戏版本中各游戏模式的预测在线人数;
12.根据所述预测在线人数、历史资源分配信息、历史在线人数信息,确定所述各个版本中各游戏模式的游戏服务器的预测分配量。
13.在一种可行的实施方式中,所述根据历史资源分配信息、历史开局信息、当前在线人数信息、历史在线人数信息,确定所述目标版本中各游戏模式的游戏服务器的预测分配量,包括:
14.根据历史资源分配信息获取所述目标版本中各游戏模式的上周同时间段的资源请求量和昨天同时间段资源请求量;
15.根据历史开局信息获取相邻时段开局信息,根据历史在线人数信息获取相邻时段在线量;
16.获取所述相邻时段开局信息与相邻时段在线量的第一比值,获取所述第一比值与当前在线人数信息的第一乘积,将所述第一乘积作为预测开局信息;
17.获取所述上周同时间段的资源请求量、昨天同时间段资源请求量和预测开局信息分别对应的第一权重信息;
18.根据所述第一权重信息对所述上周同时间段的资源请求量、昨天同时间段资源请求量和预测开局信息进行加权求和,得到所述目标版本中各游戏模式的游戏服务器的预测分配量。
19.在一种可行的实施方式中,所述根据历史在线人数信息、版本更新信息,确定每个游戏版本中各游戏模式的预测在线人数,包括:
20.根据历史在线人数信息获取上周同时段在线量和昨天同期在线量;
21.根据版本更新信息获取上周同时段下载量、昨日同期下载量和当前下载量;
22.获取所述上周同时段在线量与所述上周同时段下载量的第二比值,获取所述第二比值与所述当前下载量的第二乘积,将所述第二乘积作为第一预测在线量;
23.获取所述昨天同期在线量与所述昨日同期下载量的第三比值,获取所述第三比值与所述当前下载量的第三乘积,将所述第三乘积作为第二预测在线量;
24.获取所述第一预测在线量和第二预测在线量分别对应的第二权重信息;
25.根据所述第二权重信息对所述第一预测在线量和第二预测在线量进行加权求和,得到所述目标版本中各游戏模式的预测在线人数。
26.在一种可行的实施方式中,所述根据所述预测在线人数、历史资源分配信息、历史在线人数信息,确定所述各个版本中各地图的游戏服务器的预测分配量,包括:
27.根据历史资源分配信息获取昨日同时段分配量和上周同时段分配量;
28.根据历史在线人数信息获取昨日同时段在线量和上周同时段在线量;
29.获取所述昨日同时段分配量与所述昨日同时段在线量的第四比值,获取所述第四比值与所述预测在线人数的第四乘积,将所述第四乘积作为第一预测分配量;
30.获取所述上周同时段分配量与所述上周同时段在线量的第五比值,获取所述第五比值与所述预测在线人数的第五乘积,将所述第五乘积作为第二预测分配量;
31.获取所述第一预测分配量和第二预测分配量分别对应的第三权重信息;
32.根据所述第三权重信息对所述第一预测分配量和第二预测分配量进行加权求和,得到所述目标版本中各游戏模式的游戏服务器的预测分配量。
33.在一种可行的实施方式中,所述采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,并对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源,包括:
34.采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器;
35.响应针对所述游戏服务器的预加载指令,对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。
36.在一种可行的实施方式中,所述采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器之后,还包括:
37.检测所述目标游戏的游戏服务器的过警状态;
38.若所述目标游戏模式对应的游戏服务器处于过警状态,则根据所述过警状态,对所述目标游戏模式对应的游戏服务器进行预加载;所述目标游戏模式为任意一个游戏版本的任意一个游戏模式。
39.在一种可行的实施方式中,所述采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器之后,还包括:
40.检测所述目标游戏的游戏服务器的过警状态;
41.若所述目标游戏模式对应的游戏服务器处于过警状态,且所述目标游戏模式不存在未进行预加载的游戏服务器,则获取非过警游戏模式对应的分配频率和预留资源量,根据所述分配频率和所述预留资源量,确定每个非过警游戏模式对应的负载程度值;所述非过警游戏模式为目标游戏中除目标游戏模式外的任意一个游戏版本的任意一个游戏模式;所述负载程度值用于衡量游戏模式对应的游戏服务器的负载情况;
42.根据所述负载程度值对所述非过警游戏模式的游戏服务器进行回收,并将回收的游戏服务器分配至所述目标游戏模式。
43.在一种可行的实施方式中,还包括:
44.获取用户的开局请求,根据所述开局请求对应的游戏模式为所述用户分配对应的游戏服务器;
45.若不存在所述开局请求对应的可分配的游戏服务器,则对游戏服务器进行超拉处理,并将所述开局请求计入分配失败次数,将所述开局请求加入候选队列等待分配游戏服务器;
46.检测所述候选队列中开局请求的等待时间,若所述等待时间大于时间阈值,则将所述开局请求丢弃。
47.在一种可行的实施方式中,还包括:
48.根据所述分配失败次数生成所述开局请求对应的游戏模式的分配失败率;
49.若所述分配失败率大于失败率阈值,则将所述开局请求对应的游戏模式的超拉频率提高;
50.若所述分配失败率小于或等于失败率阈值,则将所述开局请求对应的游戏模式的超拉频率重置为初始值。
51.本技术实施例一方面提供了一种数据处理装置,可包括:
52.状态信息获取单元,用于获取目标游戏的状态信息;所述目标游戏包括至少一个游戏版本,每个游戏版本包括至少一个游戏模式;所述状态信息包括当前在线人数信息、历史在线人数信息、历史开局信息和历史资源分配信息以及版本更新信息;
53.分配量确定单元,用于根据所述状态信息,确定所述目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量;
54.服务器分配单元,用于采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,并对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。
55.在一种可行的实施方式中,所述分配量确定单元用于:
56.根据所述状态信息中的版本更新信息,确定所述目标游戏的版本状态;
57.若所述目标游戏处于单版本运行状态,则根据历史资源分配信息、历史开局信息、当前在线人数信息、历史在线人数信息,确定目标版本中各游戏模式的游戏服务器的预测分配量;所述目标游戏的单版本运行状态对应的游戏版本为目标版本;
58.若所述目标游戏处于多版本运行状态,则根据历史在线人数信息、版本更新信息,确定每个游戏版本中各游戏模式的预测在线人数;
59.根据所述预测在线人数、历史资源分配信息、历史在线人数信息,确定所述各个版本中各游戏模式的游戏服务器的预测分配量。
60.在一种可行的实施方式中,所述分配量确定单元用于:
61.根据历史资源分配信息获取所述目标版本中各游戏模式的上周同时间段的资源请求量和昨天同时间段资源请求量;
62.根据历史开局信息获取相邻时段开局信息,根据历史在线人数信息获取相邻时段在线量;
63.获取所述相邻时段开局信息与相邻时段在线量的第一比值,获取所述第一比值与当前在线人数信息的第一乘积,将所述第一乘积作为预测开局信息;
64.获取所述上周同时间段的资源请求量、昨天同时间段资源请求量和预测开局信息分别对应的第一权重信息;
65.根据所述第一权重信息对所述上周同时间段的资源请求量、昨天同时间段资源请求量和预测开局信息进行加权求和,得到所述目标版本中各游戏模式的游戏服务器的预测分配量。
66.在一种可行的实施方式中,所述分配量确定单元用于:
67.根据历史在线人数信息获取上周同时段在线量和昨天同期在线量;
68.根据版本更新信息获取上周同时段下载量、昨日同期下载量和当前下载量;
69.获取所述上周同时段在线量与所述上周同时段下载量的第二比值,获取所述第二比值与所述当前下载量的第二乘积,将所述第二乘积作为第一预测在线量;
70.获取所述昨天同期在线量与所述昨日同期下载量的第三比值,获取所述第三比值与所述当前下载量的第三乘积,将所述第三乘积作为第二预测在线量;
71.获取所述第一预测在线量和第二预测在线量分别对应的第二权重信息;
72.根据所述第二权重信息对所述第一预测在线量和第二预测在线量进行加权求和,得到所述目标版本中各游戏模式的预测在线人数。
73.在一种可行的实施方式中,所述分配量确定单元用于:
74.根据历史资源分配信息获取昨日同时段分配量和上周同时段分配量;
75.根据历史在线人数信息获取昨日同时段在线量和上周同时段在线量;
76.获取所述昨日同时段分配量与所述昨日同时段在线量的第四比值,获取所述第四比值与所述预测在线人数的第四乘积,将所述第四乘积作为第一预测分配量;
77.获取所述上周同时段分配量与所述上周同时段在线量的第五比值,获取所述第五比值与所述预测在线人数的第五乘积,将所述第五乘积作为第二预测分配量;
78.获取所述第一预测分配量和第二预测分配量分别对应的第三权重信息;
79.根据所述第三权重信息对所述第一预测分配量和第二预测分配量进行加权求和,得到所述目标版本中各游戏模式的游戏服务器的预测分配量。
80.在一种可行的实施方式中,所述服务器分配单元用于:
81.采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器;
82.响应针对所述游戏服务器的预加载指令,对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。
83.在一种可行的实施方式中,还包括:
84.服务器预加载单元,用于检测所述目标游戏的游戏服务器的过警状态;
85.若所述目标游戏模式对应的游戏服务器处于过警状态,则根据所述过警状态,对所述目标游戏模式对应的游戏服务器进行预加载;所述目标游戏模式为任意一个游戏版本的任意一个游戏模式。
86.在一种可行的实施方式中,还包括:
87.服务器回收单元,用于检测所述目标游戏的游戏服务器的过警状态;
88.若所述目标游戏模式对应的游戏服务器处于过警状态,且所述目标游戏模式不存在未进行预加载的游戏服务器,则获取非过警游戏模式对应的分配频率和预留资源量,根据所述分配频率和所述预留资源量,确定每个非过警游戏模式对应的负载程度值;所述非过警游戏模式为目标游戏中除目标游戏模式外的任意一个游戏版本的任意一个游戏模式;所述负载程度值用于衡量游戏模式对应的游戏服务器的负载情况;
89.根据所述负载程度值对所述非过警游戏模式的游戏服务器进行回收,并将回收的游戏服务器分配至所述目标游戏模式。
90.在一种可行的实施方式中,还包括:
91.服务器超拉单元,用于获取用户的开局请求,根据所述开局请求对应的游戏模式为所述用户分配对应的游戏服务器;
92.若不存在所述开局请求对应的可分配的游戏服务器,则对游戏服务器进行超拉处理,并将所述开局请求计入分配失败次数,将所述开局请求加入候选队列等待分配游戏服务器;
93.检测所述候选队列中开局请求的等待时间,若所述等待时间大于时间阈值,则将所述开局请求丢弃。
94.在一种可行的实施方式中,还包括:
95.超拉设置单元,用于根据所述分配失败次数生成所述开局请求对应的游戏模式的分配失败率;
96.若所述分配失败率大于失败率阈值,则将所述开局请求对应的游戏模式的超拉频率提高;
97.若所述分配失败率小于或等于失败率阈值,则将所述开局请求对应的游戏模式的超拉频率重置为初始值。
98.本技术实施例一方面提供了一种计算机可读存储介质,所述计算机可读存储介质
中存储有计算机程序,所述计算机程序适于由处理器加载并执行上述的方法步骤。
99.本技术实施例一方面提供了一种计算机设备,包括:处理器、存储器以及网络接口;所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供网络通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码执行上述的方法步骤。
100.本技术实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的方法步骤。
101.在本技术实施例中,通过获取目标游戏的状态信息,所述目标游戏包括至少一个游戏版本,每个游戏版本包括至少一个游戏模式,所述状态信息包括当前在线人数信息、历史在线人数信息、历史开局信息和历史资源分配信息以及版本更新信息,进一步根据所述状态信息,确定所述目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量,最后采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,并对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。采用上述方法,避免了人工预估的预拉起的游戏服务器出现偏差,导致一部分游戏服务器空转,一部分游戏资源分配延迟变高的问题,可以保证计算资源的充分调度,提高计算资源的利用率。
附图说明
102.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
103.图1是本技术实施例提供的一种数据处理的网络架构图;
104.图2是本技术实施例提供的一种数据处理方法的流程示意图;
105.图3是本技术实施例提供的一种数据处理方法的流程示意图;
106.图4a是本技术实施例提供的一种历史信息统计的举例示意图;
107.图4b是本技术实施例提供的一种服务器计算资源分配的举例示意图;
108.图5是本技术实施例提供的一种数据处理装置的结构示意图;
109.图6是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
110.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
111.请参见图1,图1是本技术实施例提供的数据处理的网络架构图。该网络架构图可以包括业务服务器100以及用户终端集群,该用户终端集群可以包括用户终端10a、用户终
端10b、

、用户终端10c,其中,用户终端集群之间可以存在通信连接,例如用户终端10a与用户终端10b之间存在通信连接,用户终端10b与用户终端10c之间存在通信连接,且用户终端集群中的任一用户终端可以与业务服务器100存在通信连接,例如用户终端10a与业务服务器100之间存在通信连接,用户终端10b与业务服务器100之间存在通信连接。
112.其中,上述用户终端集群(也包括上述的用户终端10a、用户终端10b以及用户终端10c)均可以集成安装有目标游戏。在一种可行的实施方式中,业务服务器100获取目标游戏的状态信息,所述目标游戏包括至少一个游戏版本,每个游戏版本包括至少一个游戏模式,所述状态信息包括当前在线人数信息、历史在线人数信息、历史开局信息和历史资源分配信息以及版本更新信息,进一步业务服务器100根据所述状态信息,确定所述目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量,最后业务服务器100采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,并对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。可选的,上述用户终端可以为在上述图1所对应实施例的用户终端集群中所选取的任意一个用户终端,比如,该用户终端可以为上述用户终端10b。
113.可以理解的是,本技术实施例所提供的方法可以由计算机设备执行,计算机设备包括但不限于中心服务器或代理服务器,本技术实施例中的业务服务器100可以为计算机设备,用户终端集群中的用户终端也可以为计算机设备,此处不限定。上述业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。上述终端可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视、智能音箱、台式计算机、智能手表等携带图像识别功能的智能终端,但并不局限于此。其中,用户终端以及业务服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
114.进一步地,为便于理解,请参见图2,图2是本技术实施例提供的数据处理方法的流程示意图。该方法可以由业务服务器(如上述图1所对应实施例中的业务服务器100)执行。为便于理解,本实施例以该方法由上述业务服务器执行为例进行说明。其中,该数据处理方法至少可以包括以下步骤s101-步骤s103:
115.s101,获取目标游戏的状态信息;
116.具体的,业务服务器可以获取目标游戏的状态信息,可以理解的是,目标游戏可以是单局类游戏,目标游戏包括至少一个游戏版本,即目标游戏可以同时存在多个版本,例如,游戏服务商在发布游戏新版本后,用户可以选择不进行游戏更新,继续在旧版本上进行游戏。每个游戏版本包括至少一个游戏模式,游戏模式具体可以为游戏地图。所述状态信息包括当前在线人数信息、历史在线人数信息、历史开局信息和历史资源分配信息以及版本更新信息,其中,当前在线人数信息中包括各个游戏版本、各个游戏模式中的当前在线人数信息等,历史在线人数信息包括前一日各时段的在线人数信息,前一周各时段的在线人数信息等,历史开局信息包括前一日各个游戏版本、各个游戏模式中的开局量或者资源请求量,前一周各个游戏版本、各个游戏模式中的开局量或者资源请求量,历史资源分配信息包括各个游戏版本、各个游戏模式中分配的游戏服务器,版本更新信息包括各时段各游戏版本的数量、游戏版本的下载量等。
117.s102,根据所述状态信息,确定所述目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量;
118.具体的,业务服务器根据所述状态信息中的版本更新信息,确定所述目标游戏的版本状态,版本状态包括单版本运行状态和多版本运行状态,多版本运行状态一般为目标游戏发布新的游戏版本后的一段时间,在这期间老的游戏版本中还有较多的游戏玩家,随着玩家逐渐进行版本的更新,老版本的玩家量会越来越少,新版本的玩家量会越来越多,当新本版的玩家数量占比达到一定值,或者更新新版本一定时间后,服务器不在提供老版本的游戏服务,此时,目标游戏处于单版本运行状态。
119.若所述目标游戏处于单版本运行状态,业务服务器则根据历史资源分配信息、历史开局信息、当前在线人数信息、历史在线人数信息,确定目标版本中各游戏模式的游戏服务器的预测分配量,目标游戏的单版本运行状态对应的游戏版本为目标版本。
120.若所述目标游戏处于多版本运行状态,业务服务器则根据历史在线人数信息、版本更新信息,确定每个游戏版本中各游戏模式的预测在线人数,进一步根据所述预测在线人数、历史资源分配信息、历史在线人数信息,确定所述各个版本中各游戏模式的游戏服务器的预测分配量。
121.s103,采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,并对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。
122.具体的,业务服务器采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,可以理解的是,在开局类游戏中,战局服务所占据的游戏服务器占据整个后台服务器数目的大部分,从节约机器成本的角度考虑,对多版本的游戏模式可以采用同一个游戏服务器部署,例如,一个游戏服务器中可以包括至少一个cpu核,每个cpu核上可以运行一个游戏对局,则一个游戏服务器中可以运行多个版本的游戏或者一个版本的多个游戏模式,游戏服务器采用的是预加载机制。对每个游戏版本中各游戏模式分配游戏服务器具体可以理解为对各游戏模式分配cpu核,对游戏服务器的预加载和回收可以由代理服务器完成。进一步的,响应针对所述游戏服务器的预加载指令,业务服务器对所述游戏服务器进行预加载,可以理解的是,游戏服务器的预加载并不是将分配的所有的游戏服务器进行预加载,一般情况下只对部分游戏服务器进行预加载,当预加载的游戏服务器被调用后,响应针对所述游戏服务器的预加载指令,对游戏服务器进行预加载,用户在运行目标游戏中调用所述游戏服务器中的游戏资源,所述游戏资源为游戏模式对应的游戏实例。
123.在本技术实施例中,通过获取目标游戏的状态信息,所述目标游戏包括至少一个游戏版本,每个游戏版本包括至少一个游戏模式,所述状态信息包括当前在线人数信息、历史在线人数信息、历史开局信息和历史资源分配信息以及版本更新信息,进一步根据所述状态信息,确定所述目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量,最后采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,并对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。采用上述方法,避免了人工预估的预拉起的游戏服务器出现偏差,导致一部分游戏服务器空转,一部分游戏资源分配延迟变高的问题,可以保证计算资源的充分调度,提高计算资源的利用率。
124.请参见图3,图3是本技术实施例提供的数据处理方法的流程示意图。该方法可以由业务服务器(如上述图1所对应实施例中的业务服务器100)执行。为便于理解,本实施例以该方法由上述业务服务器执行为例进行说明。其中,该数据处理方法至少可以包括以下步骤s201-步骤s207:
125.s201,获取目标游戏的状态信息;所述目标游戏包括至少一个游戏版本,每个游戏版本包括至少一个游戏模式;所述状态信息包括当前在线人数信息、历史在线人数信息、历史开局信息和历史资源分配信息以及版本更新信息;
126.其中,本发明实施例的步骤s201参见图2所示实施例的步骤s101的具体描述,在此不进行赘述。
127.s202,根据所述状态信息,确定所述目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量;
128.具体的,业务服务器根据所述状态信息中的版本更新信息,确定所述目标游戏的版本状态,若所述目标游戏处于单版本运行状态,则获取所述目标版本中各游戏模式对应的第一权重信息,所述第一权重信息可以为预先设置,也可以通过回溯预估结果进行回归得到,进一步的,根据所述权重信息、历史资源分配信息、历史开局信息、当前在线人数信息、历史在线人数信息,确定所述目标版本中各游戏模式的游戏服务器的预测分配量。具体的,根据历史资源分配信息获取上周同时间段的资源分配信息,根据历史开局信息获取昨天同时间段资源请求量和相邻时段开局信息,根据历史在线人数信息获取相邻时段在线量,则单版本运行状态时,目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量=上周同时间段的资源分配情况*a+昨天同时间段资源请求量*b+(相邻时段开局信息/相邻时段在线量*当前在线人数信息)*c,其中,a、b、c为第一权重信息。
129.若所述目标游戏处于多版本运行状态,则获取每个游戏版本中各游戏模式对应的第二权重信息,所述第二权重信息可以为预先设置,也可以通过回溯预估结果进行回归得到,进一步的根据所述第二权重信息、历史在线人数信息、版本更新信息,确定每个游戏版本中各游戏模式的预测在线人数。具体的,根据历史在线人数信息获取昨天同期在线量和上周同时段在线量,根据版本更新信息获取昨日同期下载量和上周同时段下载量,则多版本运行状态时,目标游戏中每个游戏版本中各游戏模式的预测在线人数=(上周同时段在线量/上周同时段下载量*当前下载量)*m+(昨天同期在线量/昨日同期下载量*当前下载量)(1-m),其中,m为第二权重信息。
130.进一步的,业务服务器获取每个游戏版本中各游戏模式对应的第三权重信息,所述第三权重信息可以为预先设置,也可以通过回溯预估结果进行回归得到,进一步根据第三权重信息、所述预测在线人数、历史资源分配信息、历史在线人数信息,确定所述各个版本中各游戏模式的游戏服务器的预测分配量。具体的,根据历史资源分配信息获取昨日同时段分配量和上周同时段分配量,根据历史在线人数信息昨日同时段在线量和上周同时段在线量,则多版本运行状态时,目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量=(昨日同时段分配量/昨日同时段在线量*预测在线人数)*n+(上周同时段分配量/上周同时段在线量*预测在线人数)*(1-n),其中,n为第三权重信息。
131.请参见图4a,图4a是本技术实施例提供的一种历史信息统计的举例示意图。如图4a所示,用户每次登录游戏大厅,大厅服务器统计游戏大厅的在线人数生成历史在线人数
信息,当用户发起游戏开局匹配请求时,匹配服务器响应一次“开局匹配”的分配请求,并进行一次统计生成历史开局信息,上述信息的统计粒度以小时为单位,中心服务器维护着各版本各玩法,以小时为单位的资源分配请求量。后续中心服务器可以根据上述历史在线人数信息、历史开局信息获取上一日分时段各版本各玩法开局统计量信息表、前七日分时段各版本各玩法开局统计量信息表、上一日分时段在线统计信息表、前七日分时段在线统计信息表等信息,中心服务器可以根据上述信息指示代理服务器向对局请求分配游戏服务器。
132.s203,采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,并对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。
133.其中,本发明实施例的步骤s203参见图2所示实施例的步骤s103的具体描述,在此不进行赘述。
134.s204,检测所述目标游戏的游戏服务器的过警状态;若所述目标游戏模式对应的游戏服务器处于过警状态,则根据所述过警状态,对所述目标游戏模式对应的游戏服务器进行预加载。
135.具体的,在一般情况下,目标游戏的各个游戏模式的预测分配量的变化是比较缓慢的,但是在以下两种情况下,预测分配量无法满足用户的需求,其一是外部环境变化,导致游戏开局量激增,或者是某个游戏模式玩家激增(这种外部环境变化可能不是运营方主导的,所以不可预知),其二,由于推出的玩法过于受欢迎,导致玩家的更新热情变高,老版本的在线快速下降。在以下两种情况下,目标游戏的目标游戏模式会进入过警状态,目标游戏模式为任意一个游戏版本的任意一个游戏模式,具体的,当预留资源消耗量大于低可用资源量阈值,或者当相邻时间段开局分配增长斜率大于警戒斜率,或者当在线增长斜率大于警戒斜率时,目标游戏的游戏模式会进入过警状态。若所述目标游戏模式对应的游戏服务器处于过警状态,则根据所述过警状态,对所述目标游戏模式对应的游戏服务器进行预加载,即将分配-预加载机制替换为分配-预置换机制,分配和预加载是两个独立流程,分配也是优先分配低负载的游戏服务器,而分配-预置换机制则是在过警状态标识被激活的情况下,每次分配请求之后会直接发起目标游戏模式的游戏服务器的预加载请求,在分配游戏服务器的同时预加载若干游戏服务器。
136.s205,检测所述目标游戏的游戏服务器的过警状态;若所述目标游戏模式对应的游戏服务器处于过警状态,且所述目标游戏模式不存在未进行预加载的游戏服务器,则获取非过警游戏模式对应的分配频率和预留资源量,根据所述分配频率和所述预留资源量,确定每个非过警游戏模式对应的负载程度值;
137.可以理解的是,所述非过警游戏模式为目标游戏中除目标游戏模式外的任意一个游戏版本的任意一个游戏模式;所述负载程度值用于衡量游戏模式对应的游戏服务器的负载情况,具体的,所述负载程度值=分配频率*α+1/预留资源量*β,其中,所述α、β为预先设定的参数,进一步的,根据所述负载程度值对所述非过警游戏模式的游戏服务器进行回收,并将回收的游戏服务器分配至所述目标游戏模式。
138.s206,获取用户的开局请求,根据所述开局请求对应的游戏模式为所述用户分配对应的游戏服务器;
139.具体的,若不存在所述开局请求对应的可分配的游戏服务器,业务服务器则对游戏服务器进行超拉处理,所述超拉处理为在一个cpu核中运行两个游戏对局,超拉处理会导致多个游戏服务器抢占cpu,从而影响游戏服务器的服务质量,导致卡顿和拉扯。进一步的,业务服务器将所述开局请求计入分配失败次数,将所述开局请求加入候选队列等待分配游戏服务器,进一步的,检测所述候选队列中开局请求的等待时间,若所述等待时间大于时间阈值,则将所述开局请求丢弃,具体的,业务服务器定时扫描候选队列,若发现有超时未处理开局请求,则丢弃,防止雪崩。
140.s207,根据游戏模式的分配失败率调整游戏模式的超拉频率。
141.具体的,业务服务器根据所述分配失败次数生成所述开局请求对应的游戏模式的分配失败率,若所述分配失败率大于失败率阈值,则将所述开局请求对应的游戏模式的超拉频率提高,所述失败率阈值为预先设定,超拉频率为允许超拉的cpu核的比率,例如,超拉频率的初始值为10%,cpu核为100个,则允许超拉的cpu核为10个,当所述分配失败率大于失败率阈值时,则可以将超拉频率提高为20%。若所述分配失败率小于或等于失败率阈值,则将所述开局请求对应的游戏模式的超拉频率重置为初始值。
142.请参见图4b,图4b是本技术实施例提供的一种服务器计算资源分配的举例示意图。如图4b所示,目标游戏的服务器发布游戏的新版本,服务器包括匹配服务器、中心服务器和代理服务器,匹配服务器用于接收用户的匹配请求,并向中心服务器请求对局资源,中心服务器用于指示代理服务器向所述对局请求分配游戏服务器(ds)。用户终端向服务器发送更新请求,对目标游戏进行更新,游戏大厅将所述更新请求对应的注册信息进行上报,更新完成后,用户终端进一步发起登录请求,登录上述新版本的游戏大厅,完成登录流程后,游戏大厅将用户的在线信息上报,服务器根据更新后的注册信息和更新后的在线信息以及历史在线人数信息、历史开局信息和历史资源分配信息生成目标游戏的状态信息,进一步根据所述状态信息,确定所述目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量,采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,并对所述游戏服务器进行预加载,当用户终端发送针对目标游戏模式的匹配请求时,匹配服务器接收用户终端的匹配请求,并向中心服务器请求目标游戏模式的对局资源,中心服务器指示代理服务器向所述对局请求分配游戏服务器。同时中心服务器会定时检测ds资源池是否处于安全区,检测所述目标游戏的ds是否处于过警状态,当游戏处于过警状态时,将分配-预加载机制替换为分配-预置换机制,将处于空闲状态的ds设置为预置换状态,将处于预置换状态的ds进行回收,并将回收的游戏服务器分配至对局请求对应的目标游戏模式。
143.在本技术实施例中,通过获取目标游戏的状态信息,所述目标游戏包括至少一个游戏版本,每个游戏版本包括至少一个游戏模式,所述状态信息包括当前在线人数信息、历史在线人数信息、历史开局信息和历史资源分配信息以及版本更新信息,进一步根据所述状态信息,确定所述目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量,最后采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,并对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。采用上述方法,避免了人工预估的预拉起的游戏服务器出现偏差,导致一部分游戏服务器空转,一部分游戏资源分配延迟变高的问题,可以保证计算资源的充分调度,提高计算资源的利用率。
144.请参见图5,图5是本技术实施例提供的一种数据处理装置的结构示意图。所述数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该装置可以用于执行本技术实施例提供的方法中的相应步骤。如图5所示,本技术实施例的所述数据处理装置1可以包括:状态信息获取单元11、分配量确定单元12、服务器分配单元13。
145.状态信息获取单元11,用于获取目标游戏的状态信息;所述目标游戏包括至少一个游戏版本,每个游戏版本包括至少一个游戏模式;所述状态信息包括当前在线人数信息、历史在线人数信息、历史开局信息和历史资源分配信息以及版本更新信息;
146.分配量确定单元12,用于根据所述状态信息,确定所述目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量;
147.服务器分配单元13,用于采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,并对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。
148.在一种可行的实施方式中,所述分配量确定单元12用于:
149.根据所述状态信息中的版本更新信息,确定所述目标游戏的版本状态;
150.若所述目标游戏处于单版本运行状态,则根据历史资源分配信息、历史开局信息、当前在线人数信息、历史在线人数信息,确定目标版本中各游戏模式的游戏服务器的预测分配量;所述目标游戏的单版本运行状态对应的游戏版本为目标版本;
151.若所述目标游戏处于多版本运行状态,则根据历史在线人数信息、版本更新信息,确定每个游戏版本中各游戏模式的预测在线人数;
152.根据所述预测在线人数、历史资源分配信息、历史在线人数信息,确定所述各个版本中各游戏模式的游戏服务器的预测分配量。
153.在一种可行的实施方式中,所述分配量确定单元12用于:
154.获取所述目标版本中各游戏模式对应的第一权重信息;
155.根据所述第一权重信息、历史资源分配信息、历史开局信息、当前在线人数信息、历史在线人数信息,确定所述目标版本中各游戏模式的游戏服务器的预测分配量。
156.在一种可行的实施方式中,所述分配量确定单元12用于:
157.获取每个游戏版本中各游戏模式对应的第二权重信息;
158.根据所述第二权重信息、历史在线人数信息、版本更新信息,确定每个游戏版本中各游戏模式的预测在线人数。
159.在一种可行的实施方式中,所述分配量确定单元12用于:
160.获取每个游戏版本中各游戏模式对应的第三权重信息;
161.根据第三权重信息、所述预测在线人数、历史资源分配信息、历史在线人数信息,确定所述各个版本中各游戏模式的游戏服务器的预测分配量。
162.在一种可行的实施方式中,所述服务器分配单元13用于:
163.采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器;
164.响应针对所述游戏服务器的预加载指令,对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。
165.请参见图5,本技术实施例的所述数据处理装置1可以还包括:服务器预加载单元
14。
166.服务器预加载单元14,用于检测所述目标游戏的游戏服务器的过警状态;
167.若所述目标游戏模式对应的游戏服务器处于过警状态,则根据所述过警状态,对所述目标游戏模式对应的游戏服务器进行预加载;所述目标游戏模式为任意一个游戏版本的任意一个游戏模式。
168.请参见图5,本技术实施例的所述数据处理装置1可以还包括:服务器回收单元15。
169.服务器回收单元15,用于检测所述目标游戏的游戏服务器的过警状态;
170.若所述目标游戏模式对应的游戏服务器处于过警状态,且所述目标游戏模式不存在未进行预加载的游戏服务器,则获取非过警游戏模式对应的分配频率和预留资源量,根据所述分配频率和所述预留资源量,确定每个非过警游戏模式对应的负载程度值;所述非过警游戏模式为目标游戏中除目标游戏模式外的任意一个游戏版本的任意一个游戏模式;所述负载程度值用于衡量游戏模式对应的游戏服务器的负载情况;
171.根据所述负载程度值对所述非过警游戏模式的游戏服务器进行回收,并将回收的游戏服务器分配至所述目标游戏模式。
172.请参见图5,本技术实施例的所述数据处理装置1可以还包括:服务器超拉单元16。
173.服务器超拉单元16,用于获取用户的开局请求,根据所述开局请求对应的游戏模式为所述用户分配对应的游戏服务器;
174.若不存在所述开局请求对应的可分配的游戏服务器,则对游戏服务器进行超拉处理,并将所述开局请求计入分配失败次数,将所述开局请求加入候选队列等待分配游戏服务器;
175.检测所述候选队列中开局请求的等待时间,若所述等待时间大于时间阈值,则将所述开局请求丢弃。
176.请参见图5,本技术实施例的所述数据处理装置1可以还包括:超拉设置单元17。
177.超拉设置单元17,用于根据所述分配失败次数生成所述开局请求对应的游戏模式的分配失败率;
178.若所述分配失败率大于失败率阈值,则将所述开局请求对应的游戏模式的超拉频率提高;
179.若所述分配失败率小于或等于失败率阈值,则将所述开局请求对应的游戏模式的超拉频率重置为初始值。
180.在本技术实施例中,通过获取目标游戏的状态信息,所述目标游戏包括至少一个游戏版本,每个游戏版本包括至少一个游戏模式,所述状态信息包括当前在线人数信息、历史在线人数信息、历史开局信息和历史资源分配信息以及版本更新信息,进一步根据所述状态信息,确定所述目标游戏中每个游戏版本中各游戏模式对应的游戏服务器的预测分配量,最后采用所述预测分配量对每个游戏版本中各游戏模式分配游戏服务器,并对所述游戏服务器进行预加载,以使用户在运行目标游戏中调用所述游戏服务器中的游戏资源。采用上述方法,避免了人工预估的预拉起的游戏服务器出现偏差,导致一部分游戏服务器空转,一部分游戏资源分配延迟变高的问题,可以保证计算资源的充分调度,提高计算资源的利用率。
181.请参见图6,图6是本技术实施例提供的一种计算机设备的结构示意图。如图6所
示,所述计算机设备1000可以包括:至少一个处理器1001,例如cpu,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是随机存取存储器(random access memory,ram),也可以是非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理应用程序。
182.在图6所示的计算机设备1000中,网络接口1004可提供网络通讯功能,用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的数据处理应用程序,以实现上述图2-图4b任一个所对应实施例中对所述数据处理方法的描述,在此不再赘述。
183.应当理解,本技术实施例中所描述的计算机设备1000可执行前文图2-图4b任一个所对应实施例中对所述数据处理方法的描述,也可执行前文图5所对应实施例中对所述数据处理装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
184.此外,这里需要指出的是:本技术实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的数据处理装置所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图2-图4b任一个所对应实施例中对所述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
185.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述计算机可读存储介质可以是前述任一实施例提供的一种数据处理装置或者上述设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其它程序和数量。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
186.本发明的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于
覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
187.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
188.在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
189.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。