本发明属于游戏跨平台,具体涉及一种游戏跨平台应用操作方法、装置及存储介质。
背景技术:
1、近年来,由于游戏的画质不断提升,对硬件的配置也要求越来越高,高配置的硬件给游戏玩家增加了成本。在云游戏中,游戏运行在云服务器上,玩家通过客户机在互联网上进行游戏交互,这样,游戏玩家无需安装大型的游戏,或者购买昂贵的硬件,就可以体验到大型游戏的快感。
2、在现有技术中虽然存在多种降低云游戏交互延迟的方法,但是大多是进行网络优化,从而降低云游戏的交互延迟。但是随着网络的高速发展,4g网络以及5g网络也能够实现极低的延迟,云游戏服务器响应延迟在交互延迟中起主导作用,在网络较好的地方,现有技术的网络优化降低延迟的方法不能进一步降低交互延迟,因此亟需一种降低游戏跨平台应用操作延迟的方法。
技术实现思路
1、本发明提供一种游戏跨平台应用操作方法、装置及存储介质,用以解决现有技术中存在的术问题。
2、第一方面,本发明提供一种游戏跨平台应用操作方法,包括:
3、接收操作终端所传输的目标游戏开始指令,并根据所述目标游戏开始指令在服务器初始化目标游戏的游戏场景,并将初始化后的游戏场景同步至操作终端上,以使操作终端显示目标游戏画面,并接收游戏用户在操作终端上产生的目标游戏操作;
4、获取操作终端上的目标游戏操作,采用动态资源分配的方法,并通过服务器上的游戏引擎执行该游戏操作;
5、采集游戏引擎执行目标游戏操作时的画面数据,并基于该画面数据进行编码,得到游戏操作对应的视频流;
6、将所述游戏操作对应的视频流传输至操作终端,完成游戏的跨平台应用操作。
7、进一步地,获取操作终端上的目标游戏操作,采用动态资源分配的方法,并通过服务器上的游戏引擎执行该游戏操作,包括:
8、a1、获取操作终端上的目标游戏操作,通过服务器上的游戏引擎执行该目标游戏操作;
9、a2、获取目标游戏运行时对应的样本负载数据,并采用k-means聚类算法对样本负载数据进行聚类,得到游戏运行时的多个负载集群以及每个负载集群的聚类中心;
10、a3、采集目标游戏运行时对应的进程信息,并基于进程信息以及每个负载集群的聚类中心,获取目标游戏的响应延迟;所述进程信息包括目标游戏对应的进程组以及可用资源,所述进程组包括目标游戏运行时的多个进程;
11、a4、采用响应延迟最小的动态资源分配方法对进程组进行分割,得到子进程组;所述进程组可分割时,则一个进程组分割为两个子进程组;所述进程组不可分割时,该进程组的子进程组包括一个含有其本身全部进程的子进程组以及一个空的子进程组;
12、a5、针对任意进程组,判断进程组是否存在对应的子进程组为空,若是,则判定该进程组不可分割,否则判定该进程组可分割;
13、在首次分割时,存在一个进程组,随着分割的进行,进程组由一个变为多个;
14、a6、若存在进程组可分割,则将该可分割的进程组所对应的两个子进程组作为新的进程组,并返回步骤a4;
15、若不存在进程组可分割,则完成动态资源的分配。
16、进一步地,获取目标游戏运行时对应的样本负载数据,并采用k-means聚类算法对样本负载数据进行聚类,得到游戏运行时的多个负载集群以及每个负载集群的聚类中心,包括:
17、获取负载类别数k以及目标游戏运行时对应的样本负载数据,所述负载类别数k以及目标游戏运行时对应的样本负载数据均为人机交互所产生的数据或者预先存储于数据库中的数据;
18、将所有的样本负载数据进行均值方差归一化处理,得到归一化后的样本负载数据;
19、生成k个负载集群,并随机生成每个负载集群的聚类中心;
20、针对任意一个样本负载数据,获取样本负载数据与每个负载集群的聚类中心之间的欧式距离,并选取欧式距离最近的第一目标聚类中心,将该样本负载数据归类于第一目标聚类中心所对应的负载集群中;
21、将所有样本负载数据归类至负载集群中后,获取每个集群中样本负载数据对应的均值数据,并判断负载集群的均值数据是否与其聚类中心相同,若是,则得到k个负载集群的最终聚类中心,否则将所有样本负载数据重新进行聚类,直至所有负载集群的均值数据与其聚类中心相同,得到k个负载集群的最终聚类中心。
22、进一步地,采集目标游戏运行时对应的进程信息,并基于进程信息以及每个负载集群的聚类中心,获取目标游戏的响应延迟,包括:
23、采用机器学习算法构建响应延迟预测模块,获取目标游戏的样本进程信息,所述样本进程信息包括目标游戏对应的样本进程组、样本进程组对应的资源分配数据、样本进程组对应的负载数据以及样本进程组对应的单位时间平均响应延迟;
24、获取样本进程组对应的负载数据与每个负载集群的聚类中心之间的目标欧式距离,并确定目标欧式距离最小的聚类中心为第二目标聚类中心;
25、根据目标游戏对应的样本进程组、样本进程组对应的资源分配数据、第二目标聚类中心以及样本进程组对应的单位时间平均响应延迟对所述响应延迟预测模块进行训练,得到训练完成的响应延迟预测模块;
26、采集目标游戏运行时对应的进程组、进程组对应的资源分配数据以及第二目标聚类中心,得到采集目标游戏运行时对应的进程信息;
27、采用训练完成的响应延迟预测模块对目标游戏运行时对应的进程信息进行识别,得到目标游戏的响应延迟。
28、进一步地,采用机器学习算法构建响应延迟预测模块,包括:采用输入层、隐含层以及输出层构建响应延迟预测模块;
29、根据目标游戏对应的样本进程组、样本进程组对应的资源分配数据、第二目标聚类中心以及样本进程组对应的单位时间平均响应延迟对所述响应延迟预测模块进行训练,得到训练完成的响应延迟预测模块,包括:
30、构建响应延迟预测模块的损失函数,并以目标游戏对应的样本进程组、样本进程组对应的资源分配数据以及第二目标聚类中心作为响应延迟预测模块的输入,获取响应延迟预测模块的实际输出;
31、将样本进程组对应的单位时间平均响应延迟作为响应延迟预测模块的期望输出,并根据响应延迟预测模块的实际输出、期望输出以及损失函数,获取响应延迟预测模块的损失函数值;
32、判断响应延迟预测模块的损失函数值是否小于设定的阈值,若是,则将响应延迟预测模块的当前网络参数作为其最终的网络参数,得到训练完成的响应延迟预测模块,否则对响应延迟预测模块的网络参数进行更新,并再次进行训练,直至响应延迟预测模块的损失函数值小于设定的阈值,获取响应延迟预测模块的最终网络参数,得到训练完成的响应延迟预测模块;
33、对响应延迟预测模块的网络参数进行更新为:
34、
35、ηt=ηt-1(1-αδe)
36、其中,θt表示第t次训练时响应延迟预测模块的网络参数,θt+1表示更新后的θt,ηt表示第t次训练时的学习率,et表示第t次训练时的误差函数值,δe表示第t次训练与第t-1次训练时的误差函数值之间的差值,ηt-1表示第t-1次训练时的学习率,α表示0~1之间的常数项。
37、进一步地,采用响应延迟最小的动态资源分配方法对进程组进行分割,得到子进程组,包括:
38、将进程组作为原始组,并获取该原始组对应的初始响应延迟,为该原始组创建对应的分割组,所述分割组初始化为空;
39、针对分割组中任一进程,将该进程移动至分割组中,并采用响应延迟最小的动态资源分配方法为原始组以及分割组分配服务器资源;
40、基于已分配的服务器资源,获取原始组对应的第一当前响应延迟以及分割组对应的第二当前响应延迟,并第一当前响应延迟与第二当前响应延迟相加,得到总响应延迟;
41、判断总响应延迟是否小于初始响应延迟,若是,则接受对应进程的移动,否则拒绝对应进程的移动;
42、遍历原始组中的所有进程后,将当前原始组以及分割组共同作为子进程组。
43、进一步地,采用响应延迟最小的动态资源分配方法为原始组以及分割组分配服务器资源,包括:
44、b1、将所有的服务器资源按照预先设定的种类分为r'类资源,获取待分配资源的目标进程组,所述目标进程组包括未分割的进程组以及通过分割进程组得到的子进程组;
45、b2、获取当前服务资源的剩余资源为[y1,y2,...,yr'],其中,yr'表示第r'类资源的剩余资源总数;
46、b3、初始化第i个目标进程组拥有的资源量为其中,i=1,2,…,i,i表示目标进程组的总数,表示第i个目标进程组拥有的第r'类资源量,且初始化为1;
47、b4、根据剩余资源以及目标进程组分配的资源量,确定每类资源的剩余量为:
48、
49、其中,y'表示资源的剩余量,y'r'表示第r'类资源的剩余量;
50、b5、将每类资源的剩余量相加,得到所有资源的剩余总量为ys;
51、b6、判断所有资源的剩余总量为ys是否为0,若是,则确定当前服务器资源的分配满足响应延迟最小,并结束资源分配,否则进入步骤b7;
52、b7、初始化第一计数器t1=1以及第二计数器t2=1;
53、b8、针对第t1个目标进程组,将该目标进程组的第t2类资源更新为其中,表示第t1个目标进程组当前拥有的第t2类资源数量;
54、b9、获取游戏对应的当前响应延迟将当前响应延迟以及前响应延迟的更新动作关联存储,并将的资源数减一;
55、b10、判断第一计数器t1的计数值是否等于或者大于i,若是,则进入步骤b11,否则令第一计数器t1的计数值加一,并返回步骤b8;
56、b11、判断第二计数器t2的计数值是否等于或者大于r',若是,则进入步骤b12,否则领第二计数器t2的计数值加一,并返回步骤b9;
57、b12、确定当前响应延迟最小的目标更新动作,根据该目标更新动作对目标进程组拥有的资源进行更新,令资源的剩余量y'减一,并返回步骤b6。
58、进一步地,采集游戏引擎执行目标游戏操作时的画面数据,并基于该画面数据进行编码,得到游戏操作对应的视频流,包括:
59、采集游戏引擎执行目标游戏操作时的游戏相机运动数据、深度图数据以及游戏帧数据,得到画面数据;
60、基于该画面数据进行编码,得到游戏操作对应的视频流。
61、第二方面,本发明提供一种游戏跨平台应用操作装置,包括游戏调用模块、游戏操作执行模块、编码模块以及视频流传输模块;
62、所述游戏调用模块用于,接收操作终端所传输的目标游戏开始指令,并根据所述目标游戏开始指令在服务器初始化目标游戏的游戏场景,并将初始化后的游戏场景同步至操作终端上,以使操作终端显示目标游戏画面,并接收游戏用户在操作终端上产生的目标游戏操作;
63、所述游戏操作执行模块用于,获取操作终端上的目标游戏操作,采用动态资源分配的方法,并通过服务器上的游戏引擎执行该游戏操作;
64、所述编码模块用于,采集游戏引擎执行目标游戏操作时的画面数据,并基于该画面数据进行编码,得到游戏操作对应的视频流;
65、所述视频流传输模块用于,将所述游戏操作对应的视频流传输至操作终端,完成游戏的跨平台应用操作。
66、第三方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现第一方面所述的游戏跨平台应用操作方法。
67、本发明提供的一种游戏跨平台应用操作方法、装置及存储介质,通过对服务器资源进行优化,寻找使服务器响应延迟最小的资源分配方式,从而可以降低用户在跨平台操作游戏的过程中产生的整体延迟。