一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

云游戏的数据处理方法、装置和计算机可读存储介质与流程

2022-02-22 20:16:02 来源:中国专利 TAG:


1.本技术涉及云游戏技术领域,尤其涉及一种云游戏的数据处理方法、装置和计算机可读存储介质。


背景技术:

2.目前,云游戏的启动过程是:用户终端sdk(software development kit,软件开发工具包)向云游戏调度服务器发起开始游戏申请,调度服务器选择机房内空闲的游戏实例,并将游戏实例通过网络挂载到机房内的全量包体服务器,其中,全量包体服务器为集中部署的存储服务器,其存储了整个系统所有的游戏包体文件。游戏实例向全量包体服务器发起游戏内容读取指令,包体服务器读取磁盘上对应的游戏文件,然而,当全量包体服务器同时接收到多个游戏实例的读写时,其磁盘读写和网络传输存在较大压力,从而降低云游戏文件的处理效率。


技术实现要素:

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.图1为本技术实施例方案涉及的硬件运行环境的终端结构示意图;
42.图2为本技术云游戏的数据处理方法第一实施例的流程示意图;
43.图3为本技术云游戏的数据处理方法第一实施例中步骤s30之后的流程示意图;
44.图4为本技术云游戏的数据处理方法第一实施例中步骤s10的细化流程示意图;
45.图5为本技术云游戏的数据处理方法第一实施例中步骤s20的细化流程示意图;
46.图6为本技术云游戏系统的结构示意图。
47.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
48.应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
49.本技术实施例的主要解决方案是:确定待转换为候选包体服务器的游戏实例的数量;当所述数量小于或等于空闲游戏实例的总数量时,将所述数量的所述空闲游戏实例转换为候选包体服务器;控制所述候选包体服务器从全量包体服务器中加载游戏文件。
50.由于当全量包体服务器同时接收到多个游戏实例的读写时,其磁盘读写和网络传输存在较大压力,从而降低云游戏文件的处理效率。而本技术通过确定待转换为候选包体服务器的游戏实例的数量;当数量小于或等于空闲游戏实例的总数量时,将数量的空闲游戏实例转换为候选包体服务器;控制候选包体服务器从全量包体服务器中加载游戏文件。本技术通过将空闲游戏实例转换为候选包体服务器,然后利用候选包体服务器分担全量包体服务器的磁盘读写和网络传输压力,提高了云游戏系统的稳定性和可靠性。
51.如图1所示,图1为本技术实施例方案涉及的硬件运行环境的终端设备结构示意图。
52.如图1所示,该终端设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
53.本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
54.如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括云游戏的数据处理程序。
55.在图1所示的终端设备中,网络接口1004主要用于与后台服务器进行数据通信;用户接口1003主要用于与客户端(用户端)进行数据通信;在所述终端为控制服务器时,处理器1001可以用于调用存储器1005中云游戏的数据处理程序,并执行以下操作:
56.确定待转换为候选包体服务器的游戏实例的数量;
57.当所述数量小于或等于空闲游戏实例的总数量时,将所述数量的所述空闲游戏实例转换为候选包体服务器;
58.控制所述候选包体服务器从全量包体服务器中加载游戏文件。
59.参考图2,图2为本技术云游戏的数据处理方法第一实施例的流程示意图。
60.本技术实施例提供了一种云游戏的数据处理方法,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
61.本实施例的云游戏的数据处理方法应用于控制服务器,包括以下步骤:
62.步骤s10,确定待转换为候选包体服务器的游戏实例的数量;
63.需要说明的是,参考图6,图6为本技术云游戏系统的结构示意图,在云游戏系统中,包括用户终端、游戏实例(包括空闲游戏实例和繁忙游戏实例)、全量包体服务器以及控制服务器,其中:
64.全量包体服务器:集中部署的存储服务器,存储了整个系统所有的游戏包体文件;
65.游戏实例:用于游戏程序的渲染和逻辑运算以及游戏音画采集编码和推流的虚拟服务器;
66.候选包体服务器:由游戏实例转换而来,动态存储热门的topc(排名在前c位的游戏,c为整数)游戏包体;
67.控制服务器:用于连接系统中的所有游戏实例和全量包体服务器。
68.全量包体服务器可以同时支持m个游戏实例的文件读写,在此基础上,每增加w个游戏实例,选择1个空闲游戏实例,将其转换为候选包体服务器。
69.在检测到全量包体服务器超负荷时,获取繁忙游戏实例的第一加载请求时间,然后,根据第一加载请求时间确定第一目标繁忙游戏实例,该第一目标繁忙游戏实例是指全量包体服务器不支持读写的游戏实例,例如,假设全量包体服务器支持同时加载的游戏实例数量为五个,而当前有七个繁忙游戏实例向全量包体服务器发送加载请求,此时,需要确定每个加载请求对应的请求时间,基于该请求时间将最后接收到的两个繁忙游戏实例作为第一目标繁忙游戏实例,进一步地,基于第一目标繁忙游戏实例的数量和最小的ci确定待转换为候选包体服务器的游戏实例的数量,其中,ci是指空闲游戏实例转换为候选包体服务器后,最大支持同时加载的读写游戏文件的游戏实例个数。
70.步骤s20,当所述数量小于或等于空闲游戏实例的总数量时,将所述数量的所述空闲游戏实例转换为候选包体服务器;
71.在本实施例中,当数量小于或等于空闲游戏实例的总数量时,将数量的空闲游戏实例转换为候选包体服务器,例如,假设待转换为候选包体服务器的游戏实例的数量为k,当前的状态为free的游戏实例个数为s
free
,如果s
free
》=k,说明可以在剩余状态为free的游戏实例个数中选择k个游戏实例转换为k个候选包体服务器,可以理解的是,在free的游戏实例资源充足时,触发k个游戏实例转换为候选包体服务器。
72.一实施例中,候选包体服务器利用非对称加密算法发布游戏文件和验证。
73.(1)每个候选包体服务器使用非对称加密算法(rsa)生成公钥和私钥对《publickey,privatekey》,例如:《a,b》,用hash摘要算法将自身的服务器地址信息进行处理(摘要是把任意长度的输入消息产生固定长度输出的算法),如:hash('{"server1":"s1","gamelist":"g"},"status":"add"')-》c;
74.(2)候选包体服务器使用自身的私钥b对摘要值c进行加密,生成对应的签名信息,
如:sign("c","b")-》d,得到的签名信息为d;
75.(3)候选包体服务器将自身的服务器地址信息、签名信息以及公钥一起并发布到系统,其中:
76.服务器地址信息:{"server1":"s1","gamelist":"g"};
77.签名信息:d;
78.公钥:a;
79.所有游戏实例在收到消息后,利用如下公式对消息进行验证,假设:
80.verify("d","a")=hash('{"server1":"s1","gamelist":"g","status":"add"}'),则验证通过,将候选包体服务器的服务器地址信息,更新本地的可用包体服务器列表。
81.步骤s30,控制所述候选包体服务器从全量包体服务器中加载游戏文件。
82.在本实施例中,获取全量包体服务器中的游戏文件,对游戏文件分割得到多个游戏子文件,其中,系统中包括至少两个候选包体服务器,游戏子文件的数量小于或等于候选包体服务器的数量,然后,控制各候选包体服务器从全量包体服务器中加载一个游戏子文件,再控制各候选包体服务器从已加载其他游戏子文件的候选包体服务器中加载其他游戏子文件,并将加载得到的所有游戏子文件进行合,得到游戏文件。例如,控制服务器将选取的k个候选包体服务器p={p1,p2,...,pk}从全量包体服务器中复制topc(排名在前c位的游戏,c为整数)的游戏文件,以使其他游戏实例从候选包体服务器中加载游戏文件。
83.(1)控制服务器根据游戏的运行次数,选择运行次数最多的前c款热门游戏对应的游戏文件g={g1,g2,...,gc},即目标游戏文件。
84.(2)控制服务器将全量包体服务器p0上的游戏文件集合g中的每一个游戏文件等比分割为k份,gi=∑(gi),i=1,...,k。
85.(3)控制服务器向候选包体服务器p中的每个候选包体服务器pi发送加载指令,p1下载游戏gi的g1部分,p2下载游戏gi的g2部分,依次类推,pk下载游戏gi的gk部分。p1下载游戏gi的g1部分完成后,会发report消息,如report《p1,gi,g1,status:finish》,给控制服务器通知其已经下载完成。其他k-1个候选包体服务器依次循环下载上报。控制服务器在接收到所有p1,p2...pk的report消息后,该步骤完成。
86.(4)控制服务器向p1发送通知消息,以通知p1分别向p2...pk请求下载gi的g2...gk部分,p1完整的获取了游戏gi的所有文件,进行合并得到游戏gi文件,此时完成游戏gi的下载过程。
87.(5)同理,p2...pk完成游戏的下载过程。
88.循环执行上述步骤,候选包体服务器p1...pk完成对游戏集合g={g1,g2,...,gc}的全部下载。
89.一实施例中,候选包体服务器从全量包体服务器中加载完游戏文件后,控制第一目标繁忙游戏实例通过候选包体服务器加载游戏文件,例如,向各第一目标繁忙游戏实例发送加载指令,以使各第一目标繁忙游戏实例基于该加载指令通过对应的候选包体服务器加载游戏文件。
90.本实施例通过确定待转换为候选包体服务器的游戏实例的数量;当数量小于或等于空闲游戏实例的总数量时,将数量的空闲游戏实例转换为候选包体服务器;控制候选包
体服务器从全量包体服务器中加载游戏文件。本实施例通过将空闲游戏实例转换为候选包体服务器,然后利用候选包体服务器分担全量包体服务器的磁盘读写和网络传输压力,如此,在不增加任何物理硬件的基础上,有效缓解包体服务器的磁盘读写和网络io的压力,从而提高了云游戏系统的稳定性和可靠性。
91.进一步地,参考图3,提出本技术云游戏的数据处理方法第二实例。
92.云游戏的数据处理方法第二实例与第一实施例的区别在于,所述步骤s30之后,还包括:
93.步骤s31,在所述全量包体服务器超负荷时,获取繁忙游戏实例的第二加载请求时间;
94.步骤s32,根据所述第二加载请求时间确定第二目标繁忙游戏实例;
95.步骤s33,控制所述第二目标繁忙游戏实例通过所述候选包体服务器加载所述游戏文件。
96.控制服务器将空闲游戏实例转换为候选包体服务器后,会继续检测全量包体服务器是否超负荷,若超负荷,则获取繁忙游戏实例的第二加载请求时间,然后,根据第二加载请求时间确定第二目标繁忙游戏实例,其中,第二目标繁忙游戏实例有可能包括第一目标繁忙游戏实例,可以理解的是,第一目标繁忙游戏实例从候选包体服务器加载游戏文件后,继续工作,在需要加载游戏文件时,向全量包体服务器发送加载请求,此时,若检测到全量包体服务器超负荷,那么第一目标繁忙游戏实例有可能再次成为全量包体服务器不支持加载的游戏实例,即第二目标繁忙游戏实例。
97.一实施例中,在第二目标繁忙游戏实例包括第一目标繁忙游戏实例时,确定待转换为候选包体服务器的游戏实例的数量,记为k;然后,获取系统中候选包体服务器的数量,记为m,如果m≥k,说明系统中的候选包体服务器可以满足全部第二目标繁忙游戏实例加载游戏文件;如果m<k,说明系统中的候选包体服务器只能满足部分第二目标繁忙游戏实例加载游戏文件,此时,需要将(k-m)个空闲游戏实例转换为候选包体服务器,并控制(k-m)个候选包体服务器从全量包体服务器中加载游戏文件,然后,控制第二目标繁忙游戏实例从候选包体服务器中加载游戏文件。
98.一实施例中,在第二目标繁忙游戏实例不包括第一目标繁忙游戏实例时,确定待转换为候选包体服务器的游戏实例的数量,记为k;然后,获取系统中候选包体服务器的数量,记为m,如果m≥k,说明系统中的候选包体服务器可以满足全部第二目标繁忙游戏实例加载游戏文件;如果m<k,说明系统中的候选包体服务器只能满足部分第二目标繁忙游戏实例加载游戏文件,此时,需要将(k-m)个空闲游戏实例转换为候选包体服务器,并控制(k-m)个候选包体服务器从全量包体服务器中加载游戏文件,然后,控制第二目标繁忙游戏实例从候选包体服务器中加载游戏文件。
99.本实施例在系统中存在候选包体服务器的情况下,若检测到全量包体服务器超负荷,则确定全量包体服务器不支持加载的繁忙游戏实例,然后,控制该繁忙游戏实例从候选包体服务器中加载游戏文件,如此,在不增加任何物理硬件的基础上,有效缓解包体服务器的磁盘读写和网络io的压力,从而提高了云游戏系统的稳定性和可靠性。
100.进一步地,参考图4,提出本技术云游戏的数据处理方法第三实施例。
101.云游戏的数据处理方法第三实例与第二实施例的区别在于,所述步骤s10包括:
102.步骤s11,确定各个所述空闲游戏实例支持同时加载的游戏实例的第一数量;
103.在本实施例中,当所有的游戏实例在入网后,游戏实例根据配置的控制服务器地址信息,自动和控制服务器建立双向消息通道,消息通道建立成功后,游戏实例主动向控制服务器上报cpu主频、存储空间、内存值和带宽信息,如report《gameinstanceid,cpu,memory,disk,bandwidth》。
104.控制服务器根据空闲游戏实例的cpu主频、存储空间、内存和带宽信息计算该空闲游戏实例如果转换为候选包体服务器,它可以支持同时多少个游戏实例加载游戏包体。具体地,确定空闲游戏实例的第一资源,即确定空闲游戏实例为一个游戏实例提供游戏文件读写时所需要的资源信息,该第一资源包括cpu主频、存储空间、内存值以及带宽信息;同时,确定云游戏在空闲游戏实例上运行所需的第二资源,即确定一个云游戏在空闲游戏实例上运行所需的第二资源,该第二资源包括cpu主频、存储空间、内存值以及带宽信息。然后,获取各个第一资源的乘积,例如,获取cpu主频、存储空间、内存值以及带宽信息之间的乘积,即cpu主频*存储空间*内存值*带宽信息;同时,获取各个第二资源的加权和值,例如,假设cpu主频的权重值为20%,存储空间的权重值为30%,内存值的权重值为10%,带宽信息的权重值为40%,那么各个第二资源的加权和值为:cpu主频*20% 存储空间*30% 内存值*10% 带宽信息*40%。进一步地,获取各个第一资源的乘积,以及各个第二资源的加权和值,然后,获取乘积与加权和值的第一差值,对第一差值取整,得到第二差值,再获取第二差值与加权和值的第一商值,将第一商值作为空闲游戏实例支持同时加载的游戏实例的第一数量。
105.一实施例中,假设空闲游戏实例转换为候选包体服务器后,最大支持同时加载的读写游戏文件的游戏实例个数为:ci=floor((j(y(i))-t_i)/t_min);
106.其中,floor函数的功能是“向下取整”;
107.j(y)是指空闲游戏实例总体资源的评价函数值,其中,j(y(i))=cpu_i*memory_i*disk_i*bandwidth_i,即j(y(i))为cpu主频、存储空间、内存值以及带宽信息之间的乘积;
108.t_i是指空闲游戏实例为一个游戏实例提供游戏文件读写时,所需要的资源信息;
109.t_min是指空闲游戏实例运行一个游戏实例需要的最小资源信息,t_min=t_avg 3σ,其中:
110.t_avg是指空闲游戏实例为n个游戏实例提供读写所需的资源情况,然后,算出n个游戏实例文件读写所需的平均资源信息,其中,t_avg=(t_1 t_2 t_3

t_n)/n;
111.σ是指空闲游戏实例为n个游戏实例提供文件读写所消耗资源的标准差,其中,σ=sqrt(((t_1-t_avg)^2 (t_2-t_avg)^2 ...(t_n-t_avg)^2)/n),式中,^2为平方,sqrt为平方根。
112.此外,控制服务器会将游戏实例的基础信息加入本地存储,以便于调用,例如:
113.《gameinstanceid,baseinfo,ispkgserver,status》,其中:
114.gameinstanceid是指游戏实例的唯一标识;
115.baseinfo是指结构体,游戏实例的基础信息:cpu主频、存储空间、内存和带宽信息;
116.ispkgserver是指是否已经转换为包体服务器,true:是,false:否;
117.status的初始状态为free,当该游戏实例被选中运行某一款游戏,并向用户推送游戏视频流时,游戏实例的状态由free变为busy。
118.步骤s12,获取第一目标繁忙游戏实例的第二数量;
119.在本实施例中,获取全量包体服务器支持同时加载的游戏实例数量,以及系统中繁忙游戏实例数量,然后,获取全量包体服务器支持同时加载的游戏实例数量与繁忙游戏实例数量的第三差值,再将第三差值作为第一目标繁忙游戏实例的第二数量。例如,假设全量包体服务器支持同时加载的游戏实例数量为m,繁忙游戏实例的个数为s
busy
,那么,全量包体服务器不支持加载的空闲游戏数量(即第二数量)为:s
busy-m。
120.步骤s13,根据所述第二数量和最小的所述第一数量确定待转换为所述候选包体服务器的游戏实例的数量。
121.在本实施例中,根据第二数量和最小的第一数量(即最小的ci)确定待转换为候选包体服务器的游戏实例的数量。例如,控制服务器每隔10分钟计算一次待转换为候选包体服务器的游戏实例的数量k,其中,k对应的计算公式为:k=(s
busy-m)/w,式中:
122.m:全量包体服务器支持同时加载的游戏实例的加载的个数为m。
123.s
free
:当前的状态为free的游戏实例个数s
free

124.s
busy
:当前状态为busy的游戏实例个数s
busy

125.w:游戏实例中最小的ci,赋值给w,其中,ci为各个空闲游戏实例支持同时加载的游戏实例的第一数量。
126.本实施例通过计算各个空闲游戏实例支持同时加载的游戏实例的数量ci,以及获取第一目标繁忙游戏的第二数量,然后,基于第二数量和最小的ci计算待转换为候选包体服务器的游戏实例的数量,进一步可将数量对应的空闲游戏实例转换为候选包体服务器,如此,提高了云游戏系统的稳定性和可靠性。
127.进一步地,参考图5,提出本技术云游戏的数据处理方法第四实施例。
128.云游戏的数据处理方法第四实例与第三实施例的区别在于,所述步骤s20包括:
129.步骤s21,当所述数量小于或等于空闲游戏实例的总数量时,将各个所述空闲游戏实例的资源信息进行比对,得到比对结果;
130.步骤s22,根据所述比对结果在所述空闲游戏实例中确定所述数量的待转换空闲游戏实例;
131.步骤s23,将所述待转换空闲游戏实例转换为所述候选包体服务器。
132.控制服务器将各个空闲游戏实例的资源信息进行比对,得到比对结果,然后根据比对结果确定所需数量对应的最优空闲游戏实例(即待转换空闲游戏实例),再将最优空闲游戏实例转换为候选包体服务器,其中,资源信息是指空闲游戏实例的剩余空间、剩余内存、cpu主频,带宽信息。一实施例中,控制服务器从空闲游戏实例的游戏实例集合中,寻找一个剩余空间大小、内存大小、cpu主频以及带宽信息综合的最优游戏实例,并将其转换为候选包体服务器。
133.具体地,控制服务器选取s
free
中第i个游戏实例si和第i 1个游戏实例s
i 1
的资源信息,然后,将游戏实例si与游戏实例s
i 1
的资源状态进行对比。
134.当t》t_min(t为第s
i 1
个游戏实例作为候选包体服务器的剩余资源,t_min指运行一个游戏实例需要的最小资源信息)时,循环操作以下步骤:
135.(1)计算游戏实例资源s
i 1
和游戏实例si的资源差异,de=(y(i 1))-j(y(i)),其中j(y):游戏实例资源的评价函数值,j(y(i))=cpu_i*memory_i*disk_i*bandwidth_i;
136.(2)if(de》=0),表示新的游戏实例s
i 1
资源优于当前游戏实例资源,将新的游戏实例作为新的当前游戏实例,取y(i 1)=y(i);
137.(3)if(de《=0),表示新的游戏实例s
i 1
资源劣于当前游戏实例资源,即当前游戏实例资源较新,当前游戏实例不变;
138.或者,在if(de《=0)时,继续判断是否以一定的概率接受游戏实例的移动,if(exp(de/t)》random(0,1)),表示概率在可接受的范围,继续寻找新的游戏实例资源,以便寻找近似全局最优解,以一定概率跳出局部最优解。
139.具体地,在if(exp(de/t)》random(0,1))时,将新的游戏实例s
i 1
作为新的当前游戏实例资源,取y(i 1)=y(i);
140.其中,exp(de/t)表示概率,其取值范围是(0,1),exp表示自然指数;
141.t=r*t;(其中r为降温降火的概率),r越大,降温越慢;r越小,降温越快,可以理解的是,概率r随着时间推移逐渐降低(逐渐降低时趋向稳定),也即降温降火;
142.0《r《1,若r过大,则搜索到全局最优解的可能会较高,但搜索的过程比较长;若r过小,则搜索的过程较快,但最终可能会达到一个局部最优值,因此,为提高搜索效率,设定r=0.5;
143.(4)基于新的游戏实例资源,继续按照上述步骤,寻找邻域最优的游戏实例,选做为候选包体服务器1,支持同时加载的游戏实例个数c1;
144.继续执行上述步骤,直至找到最优的k个游戏实例作为候选包体服务器,p={p1,p2,...,pk};
145.继续找到游戏实例2作为候选包体服务器2,计算候选包体服务器2支持同时加载的游戏实例个数c2,直至找到最优的k个游戏实例作为候选包体服务器,支撑运行游戏实例数c=c1 c2 ... ck,则不需要再找新的候选包体服务器。
146.本实施例通过将各个空闲游戏实例的资源信息进行比对,确定最优空闲实例,然后将最优空闲实例转换为候选包体服务器,如此,提高了游戏文件的加载效率。
147.此外,本技术还提供一种云游戏的数据处理装置,所述云游戏的数据处理装置包括存储器、处理器及存储在存储器上并在所述处理器上运行云游戏的数据处理程序,所述装置通过确定待转换为候选包体服务器的游戏实例的数量;当数量小于或等于空闲游戏实例的总数量时,将数量的空闲游戏实例转换为候选包体服务器;控制候选包体服务器从全量包体服务器中加载游戏文件。本实施例过将空闲游戏实例转换为候选包体服务器,然后利用候选包体服务器分担全量包体服务器的磁盘读写和网络传输压力,提高了云游戏系统的稳定性和可靠性。
148.此外,本技术还提供一种计算机可读存储介质,该计算机可读存储介质上存储有云游戏的数据处理方法程序,云游戏的数据处理方法程序被处理器执行时实现如上云游戏的数据处理方法的步骤。
149.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
150.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程云游戏的数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程云游戏的数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
151.这些计算机程序指令也可存储在能引导计算机或其他可编程云游戏的数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
152.这些计算机程序指令也可装载到计算机或其他可编程云游戏的数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
153.应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本技术可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
154.尽管已描述了本技术的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本技术范围的所有变更和修改。
155.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献