云游戏调度方法、系统与计算机可读存储介质与流程

文档序号:31537116发布日期:2022-09-16 22:50阅读:129来源:国知局
云游戏调度方法、系统与计算机可读存储介质与流程
云游戏调度方法、系统与计算机可读存储介质
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.图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
41.图2为本发明云游戏调度方法第一实施例的流程示意图;
42.图3为本发明云游戏调度方法第二实施例的流程示意图;
43.图4为本发明云游戏调度方法第三实施例的流程示意图。
44.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
45.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
46.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
47.本发明实施例设备可以是pc机或服务器设备。
48.如图1所示,该设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的储存装置。
49.本邻域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
50.如图1所示,作为一种计算机储存介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及云游戏调度程序。
51.其中,操作系统是管理和控制便携储存设备与软件资源的程序,支持网络通信模块、用户接口模块、云游戏调度程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
52.在图1所示的储存设备中,所述储存设备通过处理器1001调用存储器1005中储存的云游戏调度程序,并执行下述云游戏调度方法各个实施例中的操作。
53.基于上述硬件结构,提出本发明云游戏调度方法实施例。
54.参照图2,图2为本发明云游戏调度方法第一实施例的流程示意图,所述方法包括:
55.本实施例云游戏调度方法可运用于通信服务机构的云游戏调度系统中,该云游戏调度系统可运行在pc系统、云端服务器、智能终端等终端设备中;为例方便描述,以云游戏调度系统为例进行说明。
56.步骤s10,获取云游戏的至少一个原始调度方案;
57.在本实施例中,云游戏调度系统获取需要进行调度的云游戏,根据云游戏随机生成多个原始调度方案,每个原始调度方案中都包含了对每个需要进行调度的云游戏的调度方案,云游戏调度系统在随机生成的多个原始调度方案中随机选取至少一个原始调度方案。需要说明的是,云游戏又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术,云游戏可以包含但不限于竞技类游戏、跑酷类游戏、射击类游戏以及棋牌类游戏等。
58.进一步地,云游戏调度系统获取当前云服务器信息和需要进行调度的云游戏对应的云游戏信息,根据当前云服务器信息和云游戏信息,随机生成多个原始调度方案,云游戏调度系统中会提前设置好需要获取的原始调度方案的数量,在随机生成多个原始调度方案后,云游戏调度系统在随机生成多个原始调度方案中随机获取预设数量的原始调度方案。其中,当前云服务器信息包括当不限于:云服务器的成本、cpu内存容量、gpu内存容量、磁盘容量、带宽大小;云游戏信息包括但不限于:云游戏正常运行所需cpu、gpu、带宽、磁盘资源以及配置要求。
59.步骤s20,计算各原始调度方案的适配值,并对所有原始调度方案进行聚类;
60.在本实施例中,云游戏调度系统在获取到原始调度方案后,获取预设聚类数和预先创建的调度模型,根据通过调度模型计算出各原始调度方案的适配值,并根据预设聚类数对所有原始调度方案进行聚类,得到聚类结果。
61.进一步地,调度模型的创建过程如下:
62.云游戏调度系统获取云服务器信息、云游戏信息和云游戏数量,并进行数据预处理,其中,云服务器信息包括:云服务器的成本、cpu内存容量、gpu内存容量、磁盘容量、带宽大小;云游戏信息包括:云游戏正常运行所需cpu、gpu、带宽、磁盘资源以及配置要求;数据预处理的具体过程为:1)将云服务器包含资源容量、成本进行无量纲化处理,其中云服务器配置信息简化为云服务器配置等级,并以1,2,3,

,进行标注。2)按照云服务器配置等级,对云服务器由低到高排序。3)将云游戏所需资源大小进行无量纲化处理,其所需配置信息简化与云服务器配置等级相匹配。
63.云游戏调度系统设置云游戏总数n,各云游戏所需资源分别为:cpu需求ci、gpu需求gi、带宽需求bwi、磁盘需求diski、云游戏所需配置等级ri、其中,i=1,2,3

,n;设置云服务器数量为m,服务器配置等级分别为rj,其对应的资源容量分别为:cpu容量cj、gpu容量gj、带宽大小bwj、磁盘容量diskj,云服务器成本costj,其中j=1,2,3

,m。
64.云游戏调度系统获取限制条件信息:(1)各相同配置等级的云服务器资源容量相同,云游戏配置等级不高于云服务器配置等级;(2)每个云游戏仅且只能部署在一个云服务器上;(3)同一台云服务器上云游戏的调度先后顺序不影响最终调度结果;(4)各服务器最终的资源消耗,以及负载均衡率应尽可能相等或接近。
65.云游戏调度系统获取并根据云服务器信息、云游戏信息和限制条件信息,确定云服务器成本、未部署云游戏惩罚成本、云游戏配置需求偏差成本、云服务器剩余资源和云服务器负载均衡方差惩罚成本;再根据云服务器成本、未部署云游戏惩罚成本、云游戏配置需求偏差成本、云服务器剩余资源和云服务器负载均衡方差惩罚成本,生成调度模型。其中,调度模型如下:
[0066][0067]
其中i表示云游戏;j表示云服务器;x
ij
表示云服务器j能否布置云游戏i,能部署x
ij
为1,不能部署x
ij
为0;r
′i表示云游戏i实际获取的配置需求等级;leftj表示m个云游戏部署完后,服务器j剩余资源的总和;σ2表示云服务器的负载均衡的方差;n1表示未被部署的云游戏数量;w1、w2、w3、w4、w5分别表示各部分的加权系数;调度模型中的五部分依次分别为云服务器成本、未部署云游戏惩罚成本、云游戏配置需求偏差成本、云服务器剩余资源、云服务器负载均衡方差惩罚成本。
[0068]
进一步地,计算各原始调度方案的适配值的过程如下:
[0069]
云游戏调度系统获取云服务器集合,将云服务器集合中的每个云服务器按照其配置等级由低到高排列,并初始化每个云服务器的云游戏部署列表;云游戏调度系统根据云服务器的排列顺序,选择一个云服务器,并依次选择一个云游戏,判断所选云游戏的配置需求等级是否符合所选云服务器配置等级要求;判断所选云服务器剩余cpu容量是否满足所选云游戏所需cpu资源;判断所选云服务器剩余gpu容量是否满足所选云游戏所需gpu资源;判断所选云服务器剩余磁盘容量是否满足所选云游戏所需磁盘资源;判断所选云服务器剩余带宽大小是否满足所选云游戏所需带宽资源;若上述条件存在其中一个不满足,则根据云服务器的排列顺序,重新选择一个云服务器,重复对上述条件进行判断;若上述条件全部满足,则将所选云游戏与上述条件全部满足的云服务器进行配对,并更新该云服务器的剩余cpu容量、剩余gpu容量、剩余磁盘容量和剩余带宽大小,再重复选择云服务器和云游戏的步骤,直到每个云游戏都完成与云服务器的配对,得到匹配结果;其中,匹配结果中可能存在某些云游戏无法与云服务器集合的任何一个云服务器配对的结果,云游戏调度系统会分别记录每个原始调度方案包含的无法配对的云游戏的数量。
[0070]
云游戏调度系统根据匹配结果,将每个云游戏部署在于其配对的云服务器中,而对于无法配对的云游戏则不部署在任何一个云服务器中,得到每个原始调度方案对应的部署结果。
[0071]
云游戏调度系统根据每个原始调度方案对应的部署结果,计算出每个原始调度方案的云服务器成本、未部署云游戏惩罚成本、云游戏配置需求偏差成本、云服务器剩余资源、云服务器负载均衡方差惩罚成本,并将每个原始调度方案的云服务器成本、未部署云游戏惩罚成本、云游戏配置需求偏差成本、云服务器剩余资源、云服务器负载均衡方差惩罚成本输入预先创建的调度模型中,通过调度模型计算出每个原始调度方案的适配值。需要说明的是,适配值越小,说明对应的原始调度方案越合理,与调度模型的适配度越高。
[0072]
进一步地,对所有原始调度方案进行聚类的步骤包括:
[0073]
步骤a,根据各原始调度方案的适配值和预设聚类数,确定各原始调度方案属于各聚类的概率值;
[0074]
步骤b,根据所述概率值、所有原始调度方案和所述预设聚类数,生成第一隶属度
矩阵;
[0075]
步骤c,根据所述第一隶属度矩阵和各原始调度方案的适配值计算出各聚类的目标聚类中心;
[0076]
步骤d,根据所述目标聚类中心计算出第二隶属度矩阵;
[0077]
步骤e,计算所述第一隶属度矩阵和所述第二隶属度矩阵之间的方差;
[0078]
步骤f,若所述方差不大于方差阈值,则根据所述第一隶属度矩阵和所述目标聚类中心对所有原始调度方案进行聚类;
[0079]
步骤g,若所述方差大于方差阈值,则将所述第二隶属度矩阵作为所述第一隶属度矩阵,并重新执行步骤:根据所述第一隶属度矩阵和各原始调度方案的适配值计算出各聚类的目标聚类中心。
[0080]
在步骤a至步骤g中,云游戏调度系统根据各原始调度方案的适配值和预设聚类数,确定各原始调度方案属于各聚类的概率值,根据概率值、预设聚类数和所有原始调度方案,生成第一隶属度矩阵,其中,第一隶属度矩阵为模糊分类矩阵,第一隶属度矩阵为n行m列的矩阵:列的矩阵:其中,r
ij
为第i个原始调度方案属于第j个聚类的概率值,n为原始调度方案的数量,m为预设聚类数。
[0081]
云游戏调度系统在计算出第一隶属度矩阵后,根据第一隶属度矩阵和各原始调度方案的适配值计算出各聚类的目标聚类中心,并根据目标聚类中心计算出第二隶属度矩阵;
[0082]
具体地,根据第一隶属度矩阵和各原始调度方案的适配值计算出各聚类的目标聚类中心的步骤包括:
[0083]
获取所述第一隶属度矩阵中各原始调度方案属于各聚类的概率值,并根据所述概率值和各原始调度方案的适配值,计算出各聚类的目标聚类中心。
[0084]
云游戏调度系统获取第一隶属度矩阵中各原始调度方案属于各聚类的概率值,并根据概率值和各原始调度方案的适配值,通过以下公式,计算出各聚类的目标聚类中心,该公式为:
[0085][0086]
其中,cj为目标聚类中心,n为原始调度方案的数量,m为预设聚类数,xi为第i个原始调度方案对应的适配值,u
ij
为第一隶属度矩阵中包含的第i个原始调度方案属于第j个聚类的概率值。
[0087]
云游戏调度系统通过以下公式,根据目标聚类中心计算出第二隶属度矩阵,该公式为:
[0088]
[0089]
其中,为第二隶属度矩阵中包含的第i个原始调度方案属于第j个聚类的概率值,m为预设聚类数,xi为第i个原始调度方案对应的适配值,cj和ck为目标聚类中心。
[0090]
云游戏调度系统在计算出第二隶属度矩阵后,计算第一隶属度矩阵和第二隶属度矩阵之间的方差,其中,计算第一隶属度矩阵和第二隶属度矩阵之间的方差的公式为:
[0091][0092]
其中,σ2为方差,n为云游戏的数量,n1表示未被部署的云游戏数量,m为预设聚类数,为第一隶属度矩阵中包含的第i个原始调度方案属于第j个聚类的概率值,为第二隶属度矩阵中包含的第i个原始调度方案属于第j个聚类的概率值。
[0093]
云游戏调度系统在计算出第一隶属度矩阵和第二隶属度矩阵之间的方差后,将方差与方差阈值进行对比,得到对比结果,若对比结果为第一隶属度矩阵和第二隶属度矩阵之间的方差不大于方差阈值,则根据第一隶属度矩阵和目标聚类中心对原始调度方案集合进行聚类;若对比结果为第一隶属度矩阵和第二隶属度矩阵之间的方差大于方差阈值,则将第二隶属度矩阵作为第一隶属度矩阵,并重新执行根据第一隶属度矩阵和各原始调度方案的适配值计算出各聚类的目标聚类中心的步骤以及后续步骤,并更新循环次数,直至计算得到第一隶属度矩阵和第二隶属度矩阵之间的方差不大于方差阈值,根据第一隶属度矩阵和聚类中心对原始调度方案集合进行聚类;或直至循环次数达到最大的循环次数时,都未计算得到第一隶属度矩阵和第二隶属度矩阵之间的方差不大于方差阈值,则根据第二隶属度矩阵和对应的目标聚类中心对原始调度方案集合进行聚类。可以理解的是,聚类就是根据每个原始调度方案属于每个聚类的目标聚类中心的概率值,将所有的原始调度方案分成预设聚类数个聚类。
[0094]
步骤s30,根据所述适配值和聚类结果,生成预调度方案;
[0095]
在本实施例中,云游戏调度系统获取预设参数集合,并根据预设参数集合、适配值和聚类结果,基于原始调度方案生成预调度方案。需要说明的是,预设参数集合是根据云服务器信息和云游戏信息提前设定在云游戏调度系统中的,预设参数集合包括:变异概率、交叉概率、第一选择概率和第二选择概率。
[0096]
具体地,云游戏调度系统随机生成第一随机值,并将第一随机值与预设参数集合中的变异概率进行对比,若第一随机值小于变异概率,则在聚类结果随机选择一个聚类,并随机产生一个随机调度方案代替选择的聚类的目标聚类中心,若第一随机值不小于变异概率,则不改变选择的聚类的目标聚类中心。
[0097]
云游戏调度系统在随机生成第一随机值后,随机生成第二随机值,并将第二随机值与预设参数集合中的交叉概率进行对比,若第二随机值小于交叉概率,则在聚类结果中随机选择一个聚类,并随机生成第三随机值,将第三随机值与预设参数集合中的第一选择概率进行对比,若第三随机值小于第一选择概率,则获取选择的聚类的目标聚类中心对应的原始调度方案,对该原始调度方案进行逆序倒置,产生对应的预调度方案;若第二随机值不小于交叉概率,则在聚类结果中随机选择两个聚类,并随机生成第四随机值,将第四随机值与预设参数集合中的第二选择概率进行对比,若第四随机值小于第二选择概率,则获取
这选择的两个聚类的目标聚类中心对应的原始调度方案,对这两个原始调度方案进行顺序交叉,产生两个对应的预调度方案。
[0098]
云游戏调度系统在生成预调度方案后,通过调度模型计算预调度方案的适配值,并将预调度方案的适配值与生成该预调度方案的原始调度方案的适配值进行对比,若预调度方案的适配值小于生成该预调度方案的原始调度方案的适配值,则用预调度方案替换生成该预调度方案的原始调度方案。
[0099]
云游戏调度系统在生成预调度方案后,统计预调度方案的数量,若预调度方案的数量低于原始调度方案的数量,则重新执行上述生成预调度方案的步骤,直到预调度方案的数量不低于原始调度方案集合中的原始调度方案的数量,即得到预调度方案;或者云游戏调度系统循环执行生成预调度方案的步骤时达到预设最大循环次数时,停止循环,得到预调度方案。可以理解的是,由于预调度方案的适配值小于生成该预调度方案的原始调度方案的适配值是,则用预调度方案替换生成该预调度方案的原始调度方案,因此预调度方案中既包括部分的原始调度方案,也包括部分的预调度方案。
[0100]
需要说明的是,逆序倒置的过程为:假设随机选择的一个聚类中的目标聚类中心对应的原始调度方案为{1,2,3,4,5,6,7,8,9,10},其中1-10代表原始调度方案中包含的云游戏,排列顺序为云游戏的调度顺序,云游戏调度系统随机生成两个随机数,并标记两个随机数间的子序列,假设两个随机数为4和7,则两个随机数间的子序列为{4,5,6,7},然后将所标记的子序列重新反转,如将{4,5,6,7}反转为{7,6,5,4},最后将反转的子序列重新插入到对应的原始调度方案对应的位置产生预调度方案,如{1,2,3,7,6,5,4,8,9,10};顺序交叉的过程为:假设随机选择的两个聚类中的目标聚类中心对应的原始调度方案分别为:方案1为{1,2,3,4,5,6,7,8,9,10}和方案2为{7,1,8,6,2,3,10,4,9,5},其中1-10代表原始调度方案中包含的云游戏,排列顺序为云游戏的调度顺序,云游戏调度系统随机生成两个随机数,并在方案1中标记两个随机数间的子序列1,如两个随机数为4和7,则方案1中标记两个随机数间的子序列1为{4,5,6,7},然后根据子序列1的序列值标记方案2,选择方案2中未被标记的序列值确定子序列2,如子序列1为{4,5,6,7},则子序列2为{*,1,8,*,2,3,10,*,9,*};最后将子序列1和子序列2顺序交叉形成一个预调度方案,如{1,8,2,4,5,6,7,3,10,9};云游戏调度系统在生成一个预调度方案后,将方案1和方案2进行调换,即方案1为{7,1,8,6,2,3,10,4,9,5},方案2为{1,2,3,4,5,6,7,8,9,10},再重复上述顺序交叉的过程,生成另一个预调度方案。
[0101]
步骤s40,根据所述预调度方案确定目标调度方案,并根据所述目标调度方案进行云游戏调度。
[0102]
在本实施例中,云游戏调度系统在生成预调度方案后,在所有的预调度方案中筛选出最优预调度方案,根据最优预调度方案确定目标调度方案,进而根据目标调度方案对所有的云有序进行调度。
[0103]
具体地,根据所述预调度方案确定目标调度方案的步骤包括:
[0104]
步骤h。将所述预调度方案中的最优预调度方案进行随机扰动,生成邻域预调度方案;
[0105]
在该步骤中,云游戏调度系统根据所有预调度方案对应的适配值,筛选出最小适配值对应的预调度方案作为最优预调度方案,云游戏调度系统在确定最优预调度方案后,
对最优预调度方案进行随机扰动,生成邻域预调度方案,具体地,随机扰动的过程为:假设最优预调度方案为{1,2,3,4,5,6,7,8,9,10},其中,其中1-10代表原始调度方案中包含的云游戏,排列顺序为云游戏的调度顺序,云游戏调度系统随机产生2个1~n间的随机数(n:云游戏总数);然后分别以这两个随机数为起始点和终止点,将原始调度方案分为三个子序列,如两个随机数分别为4和7,则将最优预调度方案分为{1,2,3}、{4,5,6,7}、{8,9,10};最后,随机重新组合三个子序列得到随机扰动后的邻域预调度方案,如:{4,5,6,7,1,2,3,8,9,10}。
[0106]
步骤i,根据预设邻域变换次数,计算出邻域变换系数,并将所述邻域变换系数与预设邻域变换概率参数进行对比,得到对比结果;
[0107]
在该步骤中,云游戏调度系统获取自适应邻域变换策略的邻域变换参数,根据邻域变换参数中的预设邻域变换次数,计算出邻域变换系数,并将邻域变换系数与邻域变换参数中的自适应邻域变换概率参数进行对比,得到对比结果;需要说明的是,自适应邻域变换概率参数是提前设定在云游戏调度系统中的;根据预设邻域变换次数,计算出邻域变换系数的计算公式为:
[0108][0109]
其中,r5为邻域变换系数,n为循环次数,n
iter
为最大循环次数。
[0110]
步骤j,根据所述对比结果、所述最优预调度方案和所述邻域预调度方案,确定目标调度方案。
[0111]
在该步骤中,云游戏调度系统根据对比结果、最优预调度方案的适配值和邻域预调度方案的适配值,确定目标调度方案。
[0112]
具体地,步骤j包括:
[0113]
步骤j1,若所述对比结果为所述邻域变换系数不大于所述预设邻域变换概率参数,则根据所述最优预调度方案和所述邻域预调度方案,确定目标调度方案;
[0114]
在该步骤中,云游戏调度系统若得到对比结果为邻域变换系数不大于自适应邻域变换概率参数,则将最优预调度方案的适配值和邻域预调度方案的适配值进行对比,若最优预调度方案的适配值小于邻域预调度方案的适配值,则以最优预调度方案作为目标调度方案,若最优预调度方案的适配值不小于邻域预调度方案的适配值,则以邻域预调度方案作为目标调度方案。
[0115]
步骤j2,若所述对比结果为所述邻域变换系数大于所述预设邻域变换概率参数,则对所述邻域预调度方案进行局部搜索,若局部搜索结果满足预设条件,则根据所述最优预调度方案和所述局部预调度方案,确定目标调度方案;若所述局部搜索结果不满足预设条件,则重新执行步骤:对所述最优预调度方案进行随机扰动,生成邻域预调度方案。
[0116]
在该步骤中,云游戏调度系统若得到对比结果为邻域变换系数大于自适应邻域变换概率参数,则对邻域预调度方案进行局部搜索,得到局部预调度方案,其中,局部搜索的过程为:假设随机扰动后得到的邻域预调度方案为{1,2,3,4,5,6,7,8,9,10},其中1-10代表领域调度方案中包含的云游戏,排列顺序为云游戏的调度顺序,并随机产生2个1~n间的随机数(n:云游戏总数);然后将这两个随机数对应的云游戏互换位置,得到局部预调度方
案,如两个随机数的分别为4和7,则得到局部预调度方案为{1,2,3,7,5,6,4,8,9,10}。
[0117]
云游戏调度系统在得到局部预调度方案后,通过调度模型计算出局部云游戏方案的适配值,并将最优预调度方案的适配值和局部预调度方案的适配值进行对比,当局部预调度方案的适配值小于最优预调度方案的适配值,则用局部预调度方案替换邻域预调度方案,当局部预调度方案的适配值不小于最优预调度方案的适配值,则不需要用局部预调度方案替换邻域预调度方案;并对邻域预调度方案进行局部搜索,得到新的局部预调度方案,使邻域变换次数加1,并重复执行上述步骤,直到邻域变换次数达到邻域变换参数中的最大邻域变换次数时,将最优预调度方案的适配值和循环后最终确定的局部预调度方案的适配值进行对比,当循环后最终确定的局部预调度方案的适配值小于最优预调度方案的适配值,则以循环后最终确定的局部预调度方案作为目标调度方案,当最优预调度方案的适配值小于循环后最终确定的局部预调度方案的适配值,则以循环后最优预调度方案作为目标调度方案。
[0118]
当局部预调度方案的适配值不小于最优预调度方案的适配值,则重新执行对最优预调度方案进行随机扰动,生成邻域预调度方案,并通过调度模型计算出邻域预调度方案的适配值的步骤以及后续步骤,以最终确定目标调度方案。
[0119]
本实施例的云游戏调度方法,获取云游戏的至少一个原始调度方案;计算各原始调度方案的适配值,并对所有原始调度方案进行聚类;根据适配值和聚类结果,生成预调度方案;根据预调度方案确定目标调度方案,并根据目标调度方案进行云游戏调度。本发明根据各原始调度方案的适配值和所有原始调度方案进行聚类的聚类结果,生成预调度方案,并基于预调度方案进行优化得到目标调度方案,基于目标调度方案进行云游戏调度,使得目标调度方案能对云游戏进行合理调度,提高了云游戏调度的实用性。
[0120]
进一步地,参照图3,基于本技术中第一实施例,在本技术的第二实施例中,所述根据各原始调度方案的适配值和预设聚类数,确定所有原始调度方案属于各聚类的概率值的步骤包括:
[0121]
步骤k,随机选择预设聚类数个原始调度方案作为各聚类的预聚类中心;
[0122]
步骤l,根据各原始调度方案的适配值和各预聚类中心的适配值,计算出各原始调度方案到各聚类的距离;
[0123]
步骤n,依次选择一个原始调度方案,根据选择的原始调度方案到各聚类的距离计算选择的原始调度方案属于各聚类的概率值。
[0124]
在本实施例中,云游戏调度系统在所有的原始调度方案中随机选择预设聚类数个原始调度方案分别作为各聚类的预聚类中心,根据各原始调度方案的适配值和各聚类对应的预聚类中心的适配值,计算出各原始调度方案到各聚类的距离,依次在所有的原始调度方案中选择一个原始调度方案,根据选择的原始调度方案到各聚类的距离,计算选择的原始调度方案属于各聚类的概率值。需要说明的是,各原始调度方案到各聚类的距离可以是欧氏距离、曼哈顿距离、切比雪夫距离、标准化欧氏距离、马氏距离等。
[0125]
进一步地,根据选择的原始调度方案到各聚类的距离计算选择的原始调度方案属于各聚类的概率值的步骤包括:
[0126]
依次选择一个聚类,将选择的原始调度方案到选择的聚类的距离与选择的原始调度方案到每个聚类的距离商的和作为选择的原始调度方案属于选择的聚类的概率值。
[0127]
在该步骤中,云游戏调度系统在选择到一个原始调度方案后,在所有的聚类中依次选择一个聚类,将选择的原始调度方案到选择的聚类的距离作为分子,将选择的原始调度方案到每个聚类的距离作为分母,分别计算出选择的原始调度方案到选择的聚类的距离与选择的原始调度方案到每个聚类的距离的商,再将所有的商进行相加,得到选择的原始调度方案到选择的聚类的距离与选择的原始调度方案到每个聚类的距离商的和,将该和值作为选择的原始调度方案属于选择的聚类的概率值。
[0128]
计算选择的原始调度方案属于选择的聚类的概率值公式如下:
[0129][0130]
其中,p为选择的原始调度方案属于选择的聚类的概率值,m为预设聚类数,d0为选择的原始调度方案到选择的聚类的距离,di为选择的原始调度方案到第i个聚类的距离,i=1,2,3

m。
[0131]
计算d0的公式为:
[0132]
d0=|x
0-xj|
[0133]
其中,x0为选择的原始调度方案的适配值,xj为选择的聚类的预聚类中心的适配值。
[0134]
计算di的公式为:
[0135]di
=|x
0-xi|
[0136]
其中,x0为选择的原始调度方案的适配值,xi为第i个聚类的预聚类中心的适配值,i=1,2,3

m。
[0137]
云游戏调度系统对完成计算的原始调度方案进行标记,并重复在所有的原始调度方案中选择一个未标记的原始调度方案进行计算,直至将所有的原始调度方案计算完成,得到各个原始调度方案属于各聚类的概率值。
[0138]
在一可行的实施例中:假设总共有10个原始调度方案和5个聚类;云游戏调度系统在10个原始调度方案中选择一个原始调度方案,并在5个聚类中选择一个聚类。
[0139]
云游戏调度系统执行步骤1:将选择的原始调度方案到选择的聚类的距离作为分子,将选择的原始调度方案到每个聚类的距离作为分母,计算出选择的原始调度方案到选择的聚类的距离与选择的原始调度方案到每个聚类的距离的商,再将所有的商进行相加,得到选择的原始调度方案到选择的聚类的距离与选择的原始调度方案到每个聚类的距离商的和,将该和值作为选择的原始调度方案属于选择的聚类的概率值。
[0140]
云游戏调度系统完成步骤1后,执行步骤2:对步骤1中计算完成的聚类进行标记,并5个聚类中选择一个没有标记的聚类,重复执行步骤1。直至分别计算出选择的原始调度方案属于5个聚类中的每个聚类的概率值。
[0141]
云游戏调度系统分别计算出选择的原始调度方案属于5个聚类中的每个聚类的概率值后,执行步骤3:对计算完成的原始调度方案进行标记,将5个聚类中的每个聚类的标记进行去除,并在10个原始调度方案中选择一个没有标记的原始调度方案,在5个聚类中选择一个聚类,重复执行步骤1和步骤2。直至分别计算出选择的原始调度方案属于5个聚类中的
每个聚类的概率值后,云游戏调度系统重复执行步骤3,直至分别计算出选择的10个原始调度方案中的每个原始调度方案属于5个聚类中的每个聚类的概率值。
[0142]
本实施例云游戏调度系统根据各原始调度方案的适配值和各预聚类中心的适配值,计算出各原始调度方案到各聚类的距离,并根据距离,计算出各原始调度方案属于各聚类的概率值,提高了计算概率值的准确性,有助于提高对原始调度方案进行聚类的准确性,进而提高云游戏调度的实用性。
[0143]
进一步地,参照图4,基于本技术中第一实施例和第二实施例,在本技术的第三实施例中,所述根据所述概率值、所有原始调度方案和所述预设聚类数,生成第一隶属度矩阵的步骤包括:
[0144]
步骤m,根据所有原始调度方案的个数确定矩阵行数,并根据所述预设聚类数确定矩阵列数;
[0145]
步骤o,根据所述概率值、所述矩阵行数和所述矩阵列数,生成第一隶属度矩阵。
[0146]
在本实施例中,云游戏调度系统根据所有原始调度方案的个数确定矩阵行数,并根据预设聚类数确定矩阵列数,再根据各原始调度方案属于各聚类的概率值、矩阵行数和矩阵列数,生成第一隶属度矩阵;如:假设在某次云游戏的调度过程中,所有原始调度方案的个数为10,预设聚类数为5,云游戏调度系统根据所有原始调度方案的个数确定矩阵行数为10行,并根据预设聚类数确定矩阵列数5列,再将第一个原始调度方案属于第一个聚类的概率值作为矩阵中第一行第一列的元素值,将第一个原始调度方案属于第二个聚类的概率值作为矩阵中第一行第二列的元素值,依次类推,将所有各原始调度方案属于各聚类的概率值依次填入10行5列的矩阵中,生成第一隶属度矩阵。
[0147]
本实施例的云游戏调度系统根据所有原始调度方案的个数确定矩阵行数,并根据预设聚类数确定矩阵列数,再根据概率值、矩阵行数和矩阵列数,生成第一隶属度矩阵,提高了生成第一隶属度矩阵的准确性,有助于提高对原始调度方案进行聚类的准确性,进而提高云游戏调度的实用性。
[0148]
本发明还提供一种云游戏调度系统。
[0149]
云游戏调度系统包括:存储器、处理器及储存在所述存储器上并可在所述处理器上运行的云游戏调度程序,所述云游戏调度程序被所述处理器执行时实现如上所述的云游戏调度方法的步骤。
[0150]
其中,在所述处理器上运行的云游戏调度程序被执行时所实现的方法可参照本发明云游戏调度方法各个实施例,此处不再赘述。
[0151]
本发明还提供一种计算机可读存储介质。
[0152]
所述计算机可读存储介质上储存有云游戏调度程序,所述云游戏调度程序被处理器执行时实现如上所述的云游戏调度方法的步骤。
[0153]
其中,在所述处理器上运行的云游戏调度程序被执行时所实现的方法可参照本发明云游戏调度方法各个实施例,此处不再赘述。
[0154]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该
要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0155]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0156]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以软件产品的形式体现出来,该计算机软件产品储存在如上所述的一个储存介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0157]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1