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

云游戏的服务调度方法、装置、设备和存储介质与流程

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


1.本技术涉及计算机技术领域,具体而言,本技术涉及一种云游戏的服务调度方法、装置、设备和存储介质。


背景技术:

2.云游戏是将原本运行在用户端的游戏实例移到云游戏服务端上运行,用户端只是通过网络将用户端的操作实时传输到云游戏服务端,使得云游戏服务端的游戏实例响应于上述操作,并将游戏的运行结果实时传输至用户端,在用户端上呈现出画面和声音。故而用户端与云游戏服务端之间的网络质量将直接影响云游戏最终的呈现效果。
3.由于游戏实例实际上是通过云游戏服务端上运行的游戏服务组件(game service,gs)来向用户端提供云游戏服务的,而云游戏服务端无论是单个服务器还是服务器集群,其上均运行有多个gs。所以,用户端与云游戏服务端之间的网络质量涉及云游戏服务端的服务资源调度,即gs的调度。
4.目前,云游戏实现中,云游戏服务端的服务资源调度方式主要是:根据gs的负载情况,挑选出一个可用gs,并将该gs调度给用户端。但是,该方式只考虑了云游戏服务端是否有可用gs这一因素,仅能保证为用户端调度可用gs,而没有考虑用户端与所挑选的gs之间的网络质量,从而无法保证云游戏的呈现效果。


技术实现要素:

5.本技术的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:
6.第一方面,提供了一种云游戏的服务调度方法,应用于中心服务端,所述中心服务端管理多个区域服务端,每个所述区域服务端管理多个游戏服务端,所述方法包括:
7.接收用户端发送的云游戏请求,所述云游戏请求中包含渠道标识、游戏标识和所述用户端的ip地址;
8.基于所述ip地址得到所述用户端的地域信息和运营商信息;
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.云游戏请求接收模块,用于接收用户端发送的云游戏请求,所述云游戏请求中包含渠道标识、游戏标识和所述用户端的ip地址;
52.地域和运营商信息获得模块,用于基于所述ip地址得到所述用户端的地域信息和运营商信息;
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.图1为本技术实施例提供的一种云游戏网络架构示意图;
100.图2为本技术实施例提供的一种云游戏服务端的框图;
101.图3为本技术实施例提供的一种配置于中心服务端的云游戏的服务调度装置的框图;
102.图4为本技术实施例提供的一种配置于区域服务端的云游戏的服务调度装置的框图;
103.图5为本技术实施例提供的一种云游戏的服务调度方法的交互流程图;
104.图6为本技术实施例提供的一种电子设备的框图;
105.图7为本技术实施例提供的一种应用于中心服务端的云游戏的服务调度方法流程图;
106.图8为本技术实施例提供的一种应用于区域服务端的云游戏的服务调度方法流程图。
具体实施方式
107.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
108.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
109.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
110.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
111.目前用户请求云游戏的服务资源(也即游戏服务端,游戏服务端即游戏服务组件(game service,gs))时,云游戏服务端要么根据gs是否可用的状态,为其调度一个可用gs,要么将所有gs信息和gs状态发送并显示在用户端(user agent,ua),供用户自行选择gs。无论是哪种服务资源调度方式,都侧重于gs是否可用,而无法调度更为合适的gs,也就无法保证云游戏的网络连接质量和游戏呈现效果。针对该问题,本技术实施例提供一种应用于中心服务端(即业务服务组件(business service,bs))的云游戏的服务调度方案和应用于区域服务端(即区域服务组件(domain service,ds))的云游戏的服务调度方案,实现将bs调度ds及ds调度gs的过程全部布设于云游戏服务端,用户端只需发送云游戏请求和接收云游戏响应即可,简化了用户端的执行流程。
112.对于用户端从云游戏服务端获取gs信息和状态进行gs调度,用户端相当于复制了云游戏服务端的gs信息和状态,并基于复制的gs信息和状态进行gs调度。然而用户端复制的gs信息和状态可能没有及时同步云游戏服务端的gs信息和状态,进而导致用户端调度的gs不合适。而云游戏服务端能够实时获取其所有的资源(gs)的信息和状态,也即只要gs的信息和状态发生变化,云游戏服务端能够实时同步这些变化,由云游戏服务端调度gs可避免用户端调度gs存在的上述问题。
113.对于用户端从云游戏服务端获取gs信息和状态进行gs调度,用户端不需要的云端服务资源也被获取到了,也即用户端相当于拥有了云游戏服务端所有服务资源的信息,存在安全隐患,例如用户端的信息被盗取后,云游戏服务端所有服务资源的数据就会被泄露,而云游戏服务端执行调度可避免上述问题,提高安全性。
114.在一些实施例中,本技术实施例提供的应用于中心服务端的云游戏的服务调度方案和应用于区域服务端的云游戏的服务调度方案,可应用于云游戏网络中。图1为本技术实施例提供的一种云游戏网络架构。如图1所示,云游戏网络架构可包括:多个用户端、一个或多个云游戏服务端100以及其他云游戏服务所涉及的设备。在一些实施例中,用户端和云游
戏服务端100之间通过网络进行数据交互,网络可以为4g网络、5g网络及其他用于数据交互的网络。
115.其中,用户端(user agent,ua)可以是能够访问云游戏服务端100的任意设备,例如可以是安装有用于访问云游戏服务端100的软件的任意设备,其中,用于访问云游戏服务端100的软件也可以理解为用户端的软件实现。在一些实施例中,用户端可包括但不限于:瘦客户端、通用计算机、专用计算机、游戏控制台、个人计算机、膝上型计算机、平板计算设备、移动计算设备、便携式游戏设备、蜂窝电话、智能手机、头戴式显示器、智能可穿戴设备、机顶盒、流媒体接口/设备、智能电视或联网显示器等。在一些实施例中,用户端至少用于访问云游戏服务端100的云游戏,接收用户输入的游戏操作,并生成相应的操作指令,进而将操作指令上传到云游戏服务端100。用户可通过用户端访问云游戏服务端100的云游戏列表,选择需要调度服务资源的云游戏。在一些实施例中,多个云游戏服务端100分布于不同地区,用户通过用户端访问用户所在地区对应的云游戏服务端100。
116.其中,云游戏服务端100可以是能够运行云游戏程序的任意设备,例如可以是安装有云游戏程序以及提供云游戏服务的软件的任意设备,其中,提供云游戏服务的软件也可以理解为云游戏服务端100的软件实现。在一些实例中,云游戏服务端100可以是单个服务器,也可以是服务器集群。在一些实施例中,云游戏服务端100可以是远程服务器、虚拟计算机、云游戏服务器、云应用服务器、远程应用服务器、数字媒体服务器、用于提供游戏开发者/游戏赞助商店面(storefront)的服务器、网站服务器、终端服务器、控制台服务器等。
117.在一些实施例中,云游戏服务商可以将云游戏部署在云游戏服务集群中,云游戏服务集群的节点服务器上可以运行有云游戏程序,图1中所示的多个云游戏服务端100属于云游戏服务器集群。本实施例中,用户可以通过用户端访问云游戏服务端100,并由其为用户端调度用户所在地区对应的节点服务器登录云游戏,并在用户端上进行游戏操作,从而用户端可以将相应的操作指令上传到节点服务器。之后,节点服务器可以基于云游戏程序的执行逻辑,结合操作指令计算并生成游戏画面,然后将游戏画面反馈给用户端进行显示。
118.在一些实施例中,用户端通过网络向云游戏服务端100发送云游戏请求。云游戏服务端100接收到云游戏请求后,可以根据云游戏请求来为用户端调度合适的云端服务资源,并将调度的云端服务资源的信息通过网络反馈至用户端,以便用户端与云端服务资源对应的服务端建立连接。在一些实施例中,云游戏服务端100为用户端调度的云端服务资源至少用于执行云游戏、编码云游戏的视频帧音频帧以及将编码的视频帧音频帧流式传输到用户端以用于渲染和用户交互。在一些实施例中,用户端建立云游戏的服务连接后,云游戏服务端100至少用于获取用户端上传的操作指令,并基于云游戏程序的执行逻辑,结合操作指令计算并生成游戏画面,然后将游戏画面反馈给用户端进行显示。
119.图2为本技术实施例提供的一种云游戏服务端200的框图。在一些实施例中,云游戏服务端200可以实现为图1中的云游戏服务端100或者云游戏服务端100的一部分,用于提供云游戏服务,例如运行云游戏程序。
120.如图2所示,云游戏服务端200可以划分为多个具有不同功能的服务端,例如可包括:中心服务端201、区域服务端202、游戏服务端203以及其他云游戏服务所涉及的服务端。其中,云游戏服务端200中有一个或多个中心服务端201,每个中心服务端201管理一个或多个区域服务端202,每个区域服务端202管理一个或多个游戏服务端203。
121.中心服务端201,即业务服务组件(business service,bs),可以理解为云端服务资源的调度过程中的全局调度服务端,其对应于整体云端服务资源,至少用于提供云游戏服务端200的外部访问入口。在一些实施例中,用户端发送至云游戏服务端200的云游戏请求,是由中心服务端201接收。并且,中心服务端201用于管理云游戏服务端200内部的各区域服务端202。在一些实施例中,中心服务端201中维护其管理的各区域服务端202的服务端信息和状态信息。在一些实施例中,中心服务端201可以是多个。本实施例中,可以在多个中心服务端201与用户端之间添加一级负载均衡lbs服务器,lbs是现有成熟的技术方案,它能很好的完成从多个中心服务端201中选择一个合适的,最终为用户端提供调度服务。并且,所有区域服务端202的服务端信息和状态信息都可以即时地被同步和保存至云端的同一数据库,从而多个中心服务端201均可同时从此数据库中获取这些区域服务端202的服务端信息和状态信息,以达到多个中心服务器端201对这些区域服务端202的并行调度和管理。在一些实施例中,中心服务端201维护的区域服务端202的服务端信息包括但不限于该区域服务端支持的游戏渠道的渠道标识、游戏标识、其对应的区域信息和运营商信息。在一些实施例中,中心服务端201可以为软件装置、硬件装置或者软硬件结合的装置。区域服务端202,即区域服务组件(domain service,ds),可以理解为云端服务资源的调度过程中的区域调度服务端,其对应于局部区域的云端服务资源,至少用于管理该区域服务端202对应的区域或渠道下辖的一个或多个游戏服务端203。在一些实施例中,区域服务端202可以对应一个区域或多个渠道,一个渠道也可以对应多个ds。在一些实施例中,区域服务端202会在启动前(通过运维系统或人员)配置其支持的游戏渠道的渠道标识、其所属区域的区域信息和其对应的运营商信息、以及其支持的游戏标识列表,并在(被运维系统或人员)启动时注册及上报上述ds信息和状态信息到中心服务端201。在一些实施例中,区域服务端202中维护其管理的各游戏服务端203的服务端信息和状态信息,从而可以为用户端调度游戏服务端203。在一些实施例中,区域服务端202维护的游戏服务端203的服务端信息包括但不限于该游戏服务端支持的游戏渠道的渠道标识、其所支持游戏的游戏标识列表、其所属区域的区域信息和其对应的运营商信息;状态信息包括该游戏服务端是空闲还是占用。在一些实施例中,区域服务端202可以为软件装置、硬件装置或者软硬件结合的装置。
122.游戏服务端203,即游戏服务组件(game service,gs),由其所属的区域服务端202管理。在一些实施例中,游戏服务端203会在启动前(通过运维系统或人员)配置其所属的区域服务端202、其支持的游戏渠道的渠道标识、其所属区域的区域信息和其对应的运营商信息、以及其支持的游戏标识列表,并在(被运维系统或人员)启动时注册及上报上述gs信息和状态信息到所属的区域服务端202。游戏服务端203用于控制游戏实例,为用户端提供云端服务资源来执行云游戏、编码云游戏的视频帧音频帧以及将编码的视频帧音频帧流式传输到云游戏客户端以用于渲染和用户交互。在一些实施例中,游戏服务端203,至少用于获取云游戏客户端上传的操作指令,并基于云游戏程序的执行逻辑,结合操作指令计算并生成游戏画面,然后将游戏画面反馈给云游戏客户端进行显示。在一些实施例中,游戏服务端203可以为软件装置、硬件装置或者软硬件结合的装置。
123.图3为本技术实施例提供的一种配置于中心服务端的云游戏的服务调度装置300的框图。在一些实施例中,配置于中心服务端的云游戏的服务调度装置300可以实现为图2中的中心服务端201或者中心服务端201的一部分。
124.如图3所示,配置于中心服务端的云游戏的服务调度装置300可包括但不限于以下模块:云游戏请求接收模块301、地域和运营商信息获得模块302、区域服务端选择模块303、服务调度请求发送模块304、服务调度响应接收模块305和云游戏响应发送模块306。各模块具体描述如下:
125.云游戏请求接收模块301,用于接收用户端发送的云游戏请求,云游戏请求中包含渠道标识、游戏标识和用户端的ip地址。具体地,在需要运行云游戏时,用户端会获取其对应的渠道标识、待运行的云游戏的游戏标识以及用户端的ip地址。然后,用户端基于这些信息生成云游戏请求并发送至云游戏服务端。其中,渠道是用以区分用户获取和使用云游戏的不同途径,例如用户端设备所属出厂商(如不同手机品牌商等)就可以是或属于某一渠道。渠道标识是能够唯一表征一个渠道的信息。游戏标识是一个云游戏的唯一表征,其通过用户从用户端软件所提供的云游戏列表中选择的云游戏而获得。
126.地域和运营商信息获得模块302,用于基于用户端的ip地址得到用户端的地域信息和运营商信息。具体地,地域和运营商信息获得模块302向ip数据库发送ip归属查询请求,该ip归属查询请求中携带上述用户端的ip地址。ip数据库经过ip归属查询之后,向地域和运营商信息获得模块302反馈ip归属查询响应。该ip归属查询响应中包含用户端的地域信息和运营商信息。其中,运营商信息是指网络运营商的信息,例如移动、电信、联通等。
127.区域服务端选择模块303,用于选择区域服务端。在一些实施例中,区域服务端选择模块303基于云游戏请求中的渠道标识,选择至少一个区域服务端ds。具体地,配置于中心服务端的云游戏的服务调度装置300中维护有其管辖的各ds的ds信息,该ds信息中包含该ds对应的各渠道标识。区域服务端选择模块303便以ds的渠道标识与云游戏请求中的渠道标识相同为目标,从各ds中选择一个或多个ds。如果各ds的渠道标识均与云游戏请求中的渠道标识不同,那么结束云端服务资源调度流程,并给用户端返回调度失败信息。在一些实施例中,区域服务端选择模块303可以对基于ds的渠道标识与云游戏请求中的渠道标识相同而筛选出的多个ds进行优先级排序,例如,ds与用户端的地域信息和运营商信息均相同的ds优先级最高;ds与用户端的地域信息或运营商信息相同的ds优先级较低;ds与用户端的地域信息和运营商信息均不同的ds优先级最低。又例如,对于ds与用户端的地域信息或运营商信息相同的ds也可以进一步划分优先级:ds与用户端的运营商信息相同的ds的优先级较高,ds与用户端的地域信息相同的ds的优先级较低。
128.在一些实施例中,区域服务端选择模块303用于:基于渠道标识,对中心服务端管理的多个区域服务端进行第一选择;基于地域信息和运营商信息,对第一选择的结果进行优先级排序;基于优先级排序进行第二选择,得到至少一个区域服务端ds。具体地,区域服务端选择模块303先选择(即第一选择)ds信息中渠道标识与云游戏请求中的渠道标识相同的ds。然后,根据用户端的地域信息和运营商信息、每个选择的ds的地域信息和运营商信息,确定每个ds的优先级,并按照优先级对各选择的ds排序。最后,按照服务调度的业务需求(如需求的最低优先级、需求的最少ds数量等),从上述选择的各ds中再次选择(即第二选择)ds,得到所需的至少一个ds。这样能够选择与用户端的地域和运营商匹配的ds,提升调度的ds的适配性。
129.在一些实施例中,区域服务端选择模块303还用于:若用户端的地域信息和运营商信息、与区域服务端的地域信息和运营商信息均相同,则确定对应的区域服务端为第一优
先级;若用户端与区域服务端的地域信息相同,或用户端与区域服务端的运营商信息相同,则确定对应的区域服务端为第二优先级;若用户端的地域信息和运营商信息、与区域服务端的地域信息和运营商信息均不同,则确定对应的区域服务端为第三优先级;其中,第一优先级、第二优先级和第三优先级依次降低。具体地,区域服务端选择模块303在确定每个选择的ds优先级时,如果ds的地域信息和运营商信息与用户端的地域信息和运营商信息均相同,则ds优先级为最高的第一优先级;如果ds的地域信息与用户端的地域信息相同,或者ds的运营商信息与用户端的运营商信息相同,则ds优先级为中等的第二优先级;如果ds的地域信息和运营商信息与用户端的地域信息和运营商信息均不同,则ds优先级为最低的第三优先级。在另一些实施例中,区域服务端选择模块303还用于:若用户端与区域服务端的地域信息不同,且用户端与区域服务端的运营商信息相同,则确定对应的区域服务端的优先级为第四优先级;若用户端与区域服务端的地域信息相同,且用户端与区域服务端的运营商信息不同,则确定对应的区域服务端的优先级为第五优先级;其中,第四优先级高于第五优先级。在本实施例中,针对ds和用户端的地域信息和运营商信息只有一个相同的情况,进一步将ds的运营商信息和用户端的运营商信息相同的ds的优先级确定为相对较高的第四优先级,而将ds的地域信息和用户端的地域信息相同的ds的优先级确定为相对较低的第五优先级。可以理解的是,第一优先级、第四优先级、第五优先级和第三优先级依次降低。
130.服务调度请求发送模块304,用于发送服务调度请求至至少一个区域服务端,服务调度请求包含渠道标识、游戏标识、地域信息和运营商信息。具体地,服务调度请求发送模块304向选择的至少一个ds发送服务调度请求,该服务调度请求用于触发每个ds来调度其管辖的gs。在一些实施例中,服务调度请求发送模块304用于:同时向至少一个区域服务端ds发送服务调度请求。本实施例中,选择的ds为多个,服务调度请求发送模块304可以同时向各ds发送服务调度请求,以使各ds同时执行gs调度,这样可以节省等待时长,进一步提高服务调度效率。在另一些实施例中,服务调度请求发送模块304用于:基于至少一个区域服务端的优先级,依次向每个区域服务端发送服务调度请求。本实施例中,选择的ds为多个,且每个ds都有其优先级,服务调度请求发送模块304可以按照每个ds的优先级,按序、逐个地向ds发送服务调度请求,使得优先级越高的ds越先调度gs,这样可以确保调度的gs更加适配于用户端,进一步提高云游戏的网络质量。在一些实施例中,服务调度请求发送模块304在按照ds优先级顺次向每个ds发送服务调度请求时,若接收到带有游戏服务端信息的服务调度响应,则停止发送服务调度请求。例如,服务调度请求发送模块304向优先级最高的ds发送服务调度请求,等待该ds反馈的服务调度响应,若服务调度响应中是空信息,则向优先级第二的ds发送服务调度请求,若该ds反馈的服务调度响应中包括调度的gs信息,则不再向后续的其他ds发送服务调度请求。这样在确保云游戏网络质量的情况下,进一步避免多余的gs调度过程,提高服务调度效率。
131.服务调度响应接收模块305,用于接收至少一个区域服务端的服务调度响应,服务调度响应包括游戏服务端信息或空信息。具体地,ds执行gs调度过程后,会向服务调度响应接收模块305反馈其对于服务调度请求的响应。如果ds调度到gs,那么服务调度响应接收模块305接收到的服务调度响应包括调度到的gs信息;如果ds未调度到gs,则服务调度响应接收模块305接收到的服务调度响应为空信息。应当理解的是,如果多个ds执行gs调度,那么会存在多个服务调度响应,服务调度响应接收模块305可以接收多个服务调度响应。
132.云游戏响应发送模块306,用于选择一个游戏服务端信息并发送云游戏响应至用户端,云游戏响应包括选择的游戏服务端信息或空信息。在一些实施例中,如果服务调度响应接收模块305接收到多个包括gs信息的服务调度响应,那么云游戏响应发送模块306从多个gs信息中选择一个,并将其作为云游戏响应发送至ua。ua便可通过该gs信息与相应的gs建立连接,完成云端服务资源的调度。在另一些实施例中,如果服务调度响应接收模块305接收到的服务调度响应为空信息,则云游戏响应发送模块306将携带空信息的云游戏响应发送至ua,以提示用户调度失败或结束云游戏。在一些实施例中,云游戏响应发送模块306选择接收到的第一个游戏服务端信息。本实施例中,服务调度响应接收模块305会接收到多个ds发送的gs信息或者只接收到一个ds发送的gs信息,则选择第一个接收到的gs信息作为云游戏响应发送至ua。这样能够为用户端调度网络响应最快的gs,进一步提升云游戏的网络质量和呈现效果。
133.在一些实施例中,云游戏响应发送模块306用于:基于地域信息、运营商信息和每个游戏服务端信息的接收时间,对各游戏服务端信息进行优先级排序;选择优先级最高的游戏服务端信息。具体地,服务调度响应接收模块305接收到多个包含gs信息的服务调度响应时,云游戏响应发送模块306先确定各gs信息的优先级及其排序。然后,选择优先级最高的gs信息作为云游戏响应。其中,确定各gs信息的优先级的过程可以为:根据ua的地域信息和运营商信息、gs信息中的地域信息和运营商信息来确定各gs信息的优先级,该过程可参见区域服务端选择模块303中的优先级确定过程。如果上述过程确定出至少两个gs信息的优先级相同,那么根据该至少两个gs信息的接收时间(bs接收到gs信息的时间)来进一步确定优先级。例如,gs信息的接收时间越早,该gs信息的优先级越高,这是因为接收时间越早,说明其对应的gs的现有负载越小,该gs对于云游戏的响应越快。如此便可为每个gs信息确定唯一的优先级。这样能够为用户端调度当前最合适的gs,进一步提升云游戏的网络质量和呈现效果。
134.在一些实施例中,配置于中心服务端的云游戏的服务调度装置300还包括状态修改信息发送模块,用于:对于未选择的游戏服务端信息,向对应的区域服务端发送状态修改信息,状态修改信息用于指示区域服务端将对应的游戏服务端的状态修改为空闲。具体地,ds调度了某一gs后,需要将其状态信息由空闲修改为占用。但是,如果云游戏响应发送模块306未选择该gs信息,那么该gs实际上不会被占用,此时,状态修改信息发送模块需要向上述ds发送状态修改信息。该ds在接收状态修改信息后,会将对应的gs的状态信息重新修改为空闲,确保ds中维护的gs状态的正确性。
135.图4为本技术实施例提供的一种配置于区域服务端的云游戏的服务调度装置400的框图。在一些实施例中,配置于区域服务端的云游戏的服务调度装置400可以实现为图2中的区域服务端202或者区域服务端202的一部分。
136.如图4所示,配置于区域服务端的云游戏的服务调度装置400可包括但不限于以下模块:服务调度请求接收模块401、游戏服务端选择模块402和服务调度响应发送模块403。各模块具体描述如下:
137.服务调度请求接收模块401,用于接收中心服务端发送的服务调度请求,服务调度请求包含渠道标识、游戏标识、用户端的地域信息和运营商信息。具体地,服务调度请求接收模块401接收bs发送的服务调度请求,该服务调度请求中至少包含用户选择的云游戏对
应的渠道标识、游戏标识、用户端的地域信息和运营商信息。
138.游戏服务端选择模块402,用于基于服务调度请求中的渠道标识、游戏标识、用户端的地域信息和运营商信息,多个游戏服务端的渠道标识、地域信息和运营商信息,以及多个游戏服务端的状态信息,选择一个游戏服务端gs。因为每个gs在启动前会配置其所属的ds、其支持的游戏渠道的渠道标识及其支持的游戏标识列表、其所属区域的区域信息和其对应的运营商信息,并在启动时注册及上报上述gs信息和状态信息到所属的ds。所以,游戏服务端选择模块402在选择gs过程中,需要考虑渠道标识、游戏标识、地域信息、运营商信息和每个gs的状态信息,至少确保选择的gs适合于用户选择的云游戏且具有可用负载。
139.在一些实施例中,游戏服务端选择模块402用于:选择游戏服务端的渠道标识与服务调度请求中的渠道标识相同、状态信息为空闲且能运行游戏标识对应游戏的游戏服务端;基于用户端的地域信息和运营商信息,对选择的结果进行优先级排序;选择优先级最高的游戏服务端gs。具体地,游戏服务端选择模块402选择gs时,需要选择gs的渠道标识与服务调度请求中的渠道标识相同的gs;也需要选择gs的游戏标识列表中包含有服务调度请求中相同的游戏标识的gs,保证选择的gs能够运行用户选择的云游戏。然后,从选择出的各gs中选择状态信息为空闲的,确保有可用负载。之后,分别根据ua的地域信息和运营商信息,与每个gs的地域信息和运营商信息,确定每个选择出的gs的优先级及其排序。该过程可参见区域服务端选择模块303中的优先级确定过程。最后,选择优先级最高的gs。这样ds能够为用户端调度最优的gs。
140.服务调度响应发送模块403,用于发送服务调度响应至中心服务端,服务调度响应包括选择的游戏服务端信息或空信息。具体地,如果游戏服务端选择模块402选择到一个gs,则将其gs信息作为服务调度响应发送至bs。如果游戏服务端选择模块402未选择一个gs,说明该ds下辖的各gs中无可用的gs,则将空信息作为服务调度响应发送至bs。
141.在一些实施例中,配置于区域服务端的云游戏的服务调度装置400还包括第一状态修改模块,用于:选择一个游戏服务端后,将选择的游戏服务端的状态信息修改为占用。游戏服务端选择模块402选择一个gs,说明该gs后续会被占用,故需要将该gs的状态信息由空闲修改为占用,及时更新配置于区域服务端的云游戏的服务调度装置400中维护的gs的状态信息,确保gs状态信息的正确性。
142.在一些实施例中,配置于区域服务端的云游戏的服务调度装置400还包括第二状态修改模块,用于:发送服务调度响应至中心服务端后,若接收到中心服务端发送的状态修改信息,则将选择的游戏服务端的状态信息修改为空闲。服务调度响应发送模块403将服务调度响应发送至bs之后,如果bs没有选用该服务调度响应中的gs信息,说明其对应的gs也不会被调度占用,故在接收到bs发送的状态修改信息时,便将对应的gs的状态信息由占用重新修改为空闲,及时更新gs的状态信息,提高gs状态信息的实时性。
143.图5为本技术实施例提供的一种云游戏的服务调度方法的交互流程图。在一些实施例中,服务调度方法的交互流程可以基于图1中的云游戏网络架构和图2中的云游戏服务端200来实现。该交互流程中的执行主体至少包括用户端ua、中心服务端201和区域服务端202,该交互流程包括以下步骤501至510:
144.501、用户端向中心服务端201发送云游戏请求。云游戏请求中包含渠道标识、游戏标识和用户端的ip地址。
145.502、中心服务端201向ip数据库发送ip归属查询请求,该ip归属查询请求中包括用户端的ip地址。
146.503、ip数据库向中心服务端201发送ip归属查询响应,该ip归属查询响应中包括ua的地域信息和运营商信息。其中,运营商信息是指网络运营商的信息,例如移动、电信、联通等。
147.504、中心服务端201基于渠道标识选择至少一个区域服务端202。中心服务端201选择包含有与ua相同渠道标识的一个或多个区域服务端202。在一些实施例中,中心服务端201可以进一步基于ua的地域信息和运营商信息、以及区域服务端202的地域信息和运营商信息,对各区域服务端202进行优先级排序生成区域服务端列表,并从区域服务端列表中选择一个或多个区域服务端202。
148.505、中心服务端201向各个选择的区域服务端202发送服务调度请求。服务调度请求包含渠道标识、游戏标识、地域信息和运营商信息。
149.506、每个接收到服务调度请求的区域服务端202均选择一个游戏服务端203。区域服务端202基于服务调度请求中的渠道标识、游戏标识、用户端的地域信息和运营商信息,多个游戏服务端203的渠道标识、地域信息和运营商信息,以及多个游戏服务端的状态信息,选择一个游戏服务端203。
150.507、每个区域服务端202向中心服务端201发送服务调度响应。该服务调度响应包括游戏服务端203的gs信息,或者区域服务端202未调度到游戏服务端203时的空信息。
151.508、中心服务端201接收到多个gs信息,并从中选择一个合适的gs信息作为云游戏响应。如果中心服务端201接收到的全部是空信息,则将空信息作为云游戏响应。
152.509、中心服务端201发送云游戏响应至用户端。
153.510、若云游戏响应中有gs信息,则用户端与gs信息对应的游戏服务端203建立连接链路。若云游戏响应中包括空信息,则用户端提示服务调度失败或结束云游戏。
154.本技术实施例中的云游戏的服务调度方法的交互流程,一方面,将中心服务端调度区域服务端以及通过区域服务端调度游戏服务端的过程全部由云游戏服务端执行,用户端仅需要发送云游戏请求、接收调度的游戏服务端信息、与游戏服务端建连即可,简化了用户端的执行流程;另一方面,中心服务端只向用户端返回一个当前最合适的游戏服务端信息,用户端无须预先获得所有的游戏服务端信息,不仅确保了云端服务资源的安全性,而且提高用户端获得的游戏服务端信息的实时性,确保为用户端调度到更加合适的云端服务资源,提升云端连接的网络质量,进而提升云游戏呈现效果。
155.本技术实施例提供了一种电子设备,如图6所示,图6所示的电子设备600包括:处理器601和存储器603。其中,处理器601和存储器603相连,如通过总线602相连。进一步地,电子设备600还可以包括收发器604。需要说明的是,实际应用中收发器604不限于一个,该电子设备600的结构并不构成对本技术实施例的限定。
156.其中,处理器601应用于本技术实施例中,用于实现图3所示的配置于中心服务端的云游戏的服务调度装置的功能,以及用于实现图4所示的配置于区域服务端的云游戏的服务调度装置的功能。
157.处理器601可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述
的各种示例性的逻辑方框,模块和电路。处理器601也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
158.总线602可包括一通路,在上述组件之间传送信息。总线602可以是pci总线或eisa总线等。总线602可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
159.存储器603可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd-rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
160.存储器603用于存储执行本技术方案的应用程序代码,并由处理器601来控制执行。处理器601用于执行存储器603中存储的应用程序代码,以实现图3所示的配置于中心服务端的云游戏的服务调度装置的动作,以及用于实现图4所示的配置于区域服务端的云游戏的服务调度装置的动作。
161.本技术实施例提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,与现有技术相比,可实现:将ds调度及通过ds调度gs的过程全部布设于中心服务端bs中,用户端只需发送云游戏请求和接收云游戏响应即可,简化了用户端的执行流程。并且,实现在bs调度ds和ds调度gs过程中,均基于用户端发送的渠道标识、游戏标识、以及基于用户端发送的用户端ip地址而得到的用户端的地域信息和运营商信息来选择合适的ds和合适的gs,进而bs选择一个当前最为合适的gs信息,并将其发送至用户端,用户端无须预先获得所有的gs信息,既能提高云端服务资源的安全性,又能提高用户端获得的gs信息的实时性及其与用户端的匹配度,从而提升云端连接的网络质量,进而提升云游戏呈现效果。
162.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现应用于中心服务端的云游戏的服务调度方法各实施例的步骤,以及实现应用于区域服务端的云游戏的服务调度各实施例的步骤。与现有技术相比,将ds调度及通过ds调度gs的过程全部布设于中心服务端bs中,用户端只需发送云游戏请求和接收云游戏响应即可,简化了用户端的执行流程。并且,实现在bs调度ds和ds调度gs过程中,均基于用户端发送的渠道标识、游戏标识、以及基于用户端发送的用户端ip地址而得到的用户端的地域信息和运营商信息来选择合适的ds和合适的gs,进而bs选择一个当前最为合适的gs信息,并将其发送至用户端,用户端无须预先获得所有的gs信息,既能提高云端服务资源的安全性,又能提高用户端获得的gs信息的实时性及其与用户端的匹配度,从而提升云端连接的网络质量,进而提升云游戏呈现效果。
163.图7为本技术实施例提供的一种应用于中心服务端的云游戏的服务调度方法流程图。该方法的执行主体为中心服务端,方法包括以下步骤701至706:
164.701、接收用户端发送的云游戏请求,该云游戏请求中包含渠道标识、游戏标识和用户端的ip地址。具体地,在需要运行云游戏时,用户端会获取其对应的渠道标识、待运行的云游戏的游戏标识以及用户端的ip地址。然后,用户端基于这些信息生成云游戏请求并发送至云游戏服务端。云游戏服务端中的中心服务端则会接收到云游戏请求。其中,渠道是
用以区分用户获取和使用云游戏的不同途径,例如用户端设备所属出厂商(如不同手机品牌商等)就可以是或属于某一渠道。渠道标识是能够唯一表征一个渠道的信息。游戏标识是一个云游戏的唯一表征,其通过用户从用户端软件所提供的云游戏列表中选择的云游戏而获得。
165.702、基于用户端的ip地址得到用户端的地域信息和运营商信息。具体地,中心服务端向ip数据库发送ip归属查询请求,该ip归属查询请求中携带上述用户端的ip地址。ip数据库经过ip归属查询之后,向中心服务端反馈ip归属查询响应。该ip归属查询响应中包含用户端的地域信息和运营商信息。其中,运营商信息是指网络运营商的信息,例如移动、电信、联通等。
166.703、基于渠道标识,选择至少一个区域服务端。具体地,中心服务端中维护有其管辖的各ds的ds信息,该ds信息中包含该ds对应的各渠道标识。中心服务端便以ds的渠道标识与云游戏请求中的渠道标识相同为目标,从各ds中选择一个或多个ds。如果各ds的渠道标识均与云游戏请求中的渠道标识不同,那么结束云端服务资源调度流程。
167.在一些实施例中,基于渠道标识,对中心服务端管理的多个区域服务端进行第一选择;基于地域信息和运营商信息,对第一选择的结果进行优先级排序;基于优先级排序进行第二选择,得到至少一个区域服务端。具体地,bs先选择(即第一选择)ds信息中渠道标识与云游戏请求中的渠道标识相同的ds。然后,根据ua的地域信息和运营商信息、每个选择的ds的地域信息和运营商信息,确定每个ds的优先级,并按照优先级对各选择的ds排序。最后,按照服务调度的业务需求(如需求的最低优先级、需求的最少ds数量等),从上述选择的各ds中再次选择(即第二选择)ds,得到所需的至少一个gs。这样能够选择与用户端的地域和运营商匹配的ds,提升调度的ds的适配性。
168.在一些实施例中,基于地域信息和运营商信息,对第一选择的结果进行优先级排序包括:若用户端的地域信息和运营商信息、与区域服务端的地域信息和运营商信息均相同,则确定对应的区域服务端为第一优先级;若用户端与区域服务端的地域信息相同,或用户端与区域服务端的运营商信息相同,则确定对应的区域服务端为第二优先级;若用户端的地域信息和运营商信息、与区域服务端的地域信息和运营商信息均不同,则确定对应的区域服务端为第三优先级;其中,第一优先级、第二优先级和第三优先级依次降低。具体地,bs在确定每个选择的ds优先级时,如果ds的地域信息和运营商信息与用户端的地域信息和运营商信息均相同,则ds优先级为最高的第一优先级;如果ds的地域信息与用户端的地域信息相同,或者ds的运营商信息与用户端的运营商信息相同,则ds优先级为中等的第二优先级;如果ds的地域信息和运营商信息与用户端的地域信息和运营商信息均不同,则ds优先级为最低的第三优先级。在另一些实施例中,若用户端与区域服务端的地域信息不同,且用户端与区域服务端的运营商信息相同,则确定对应的区域服务端的优先级为第四优先级;若用户端与区域服务端的地域信息相同,且用户端与区域服务端的运营商信息不同,则确定对应的区域服务端的优先级为第五优先级;其中,第四优先级高于第五优先级。在本实施例中,针对ds和用户端的地域信息和运营商信息只有一个相同的情况,进一步将ds的运营商信息和用户端的运营商信息相同的ds的优先级确定为相对较高的第四优先级,而将地域信息相同的ds的优先级确定为相对较低的第五优先级。可以理解的是,第一优先级、第四优先级、第五优先级和第三优先级依次降低。
169.704、发送服务调度请求至至少一个区域服务端,该服务调度请求包含渠道标识、游戏标识、用户端的地域信息和运营商信息。具体地,bs向选择的至少一个ds发送服务调度请求,该服务调度请求用于触发每个ds来调度其管辖的gs。在一些实施例中,同时向至少一个区域服务端ds发送服务调度请求。本实施例中,选择的ds为多个,bs可以同时向各ds发送服务调度请求,以使各ds同时执行gs调度,这样可以节省等待时长,进一步提高服务调度效率。在另一些实施例中,基于至少一个区域服务端的优先级,依次向每个区域服务端发送服务调度请求。本实施例中,选择的ds为多个,且每个ds都有其优先级,bs可以按照每个ds的优先级,按序、逐个地向ds发送服务调度请求,使得优先级越高的ds越先调度gs,这样可以确保调度的gs更加适配于ua,进一步提高云游戏的网络质量。在一些实施例中,依次向每个区域服务端发送服务调度请求时,若接收到带有游戏服务端信息的服务调度响应,则停止发送服务调度请求。bs在按照ds优先级顺次向每个ds发送服务调度请求的过程中,如果接收到某一个ds反馈的服务调度响应,且该服务调度响应中包含调度的gs信息,那么bs便不再向后续的其他ds发送服务调度请求。这样在确保云游戏网络质量的情况下,进一步避免多余的gs调度过程,提高服务调度效率。
170.705、接收至少一个区域服务端的服务调度响应,该服务调度响应包括游戏服务端信息或空信息。具体地,ds执行gs调度过程后,会向bs反馈其对于服务调度请求的响应。如果ds调度到gs,那么bs接收到的服务调度响应包括调度的gs信息;如果ds未调度到gs,则bs接收到的服务调度响应为空信息。应当理解的是,如果多个ds执行gs调度,那么会存在多个服务调度响应,bs可以接收多个服务调度响应。
171.706、选择一个游戏服务端信息并发送云游戏响应至用户端,该云游戏响应包括选择的游戏服务端信息或空信息。具体地,如果bs接收到多个包括gs信息的服务调度响应,那么bs从多个gs信息中选择一个,并将其作为云游戏响应发送至ua。ua便可通过该gs信息与相应的gs建立连接,完成云端服务资源的调度。如果bs接收到的服务调度响应为空信息,则将空信息作为云游戏响应发送至ua,以提示用户调度失败或结束云游戏。在一些实施例中,选择接收到的第一个游戏服务端信息。本实施例中,bs会接收到多个ds发送的gs信息,选择第一个接收到的gs信息作为云游戏响应发送至ua。这样能够为用户端调度网络响应最快的gs,进一步提升云游戏的网络质量和呈现效果。
172.在一些实施例中,选择一个游戏服务端信息包括:基于地域信息、运营商信息和每个游戏服务端信息的接收时间,对各游戏服务端信息进行优先级排序;选择优先级最高的游戏服务端信息。具体地,bs接收到多个包含gs信息的服务调度响应时,先确定各gs信息的优先级及其排序。然后,选择优先级最高的gs信息作为云游戏响应。其中,确定各gs信息的优先级的过程可以为:根据ua的地域信息和运营商信息、gs信息中的地域信息和运营商信息来确定各gs信息的优先级,该过程可参见步骤703中的优先级确定过程。如果上述过程确定出至少两个gs信息的优先级相同,那么根据该至少两个gs信息的接收时间(bs接收到gs信息的时间)来进一步确定优先级。例如,gs信息的接收时间越早,该gs信息的优先级越高,这是因为接收时间越早,说明其对应的gs的现有负载越小,该gs对于云游戏的响应越快。如此便可为每个gs信息确定唯一的优先级。这样能够为用户端调度当前最合适的gs,进一步提升云游戏的网络质量和呈现效果。
173.在一些实施例中,应用于中心服务端的云游戏的服务调度方法还包括:对于未选
择的游戏服务端信息,向对应的区域服务端发送状态修改信息,状态修改信息用于指示区域服务端将对应的游戏服务端的状态修改为空闲。具体地,ds调度了某一gs后,需要将其状态信息由空闲修改为占用。但是,如果bs未选择该gs信息,那么该gs实际上不会被占用,此时,bs需要向上述ds发送状态修改信息。该ds在接收状态修改信息后,会将对应的gs的状态信息重新修改为空闲,确保ds中维护的gs状态的正确性。
174.图8为本技术实施例提供的一种应用于区域服务端的云游戏的服务调度方法,该方法的执行主体为区域服务端,方法可包括以下步骤801至803:
175.801、接收中心服务端发送的服务调度请求,该服务调度请求包含渠道标识、游戏标识、用户端的地域信息和运营商信息。具体地,ds接收bs发送的服务调度请求,该服务调度请求中至少包含用户选择的云游戏对应的渠道标识和游戏标识、用户端的地域信息和运营商信息。
176.802、基于服务调度请求中的渠道标识、游戏标识、用户端的地域信息和运营商信息,多个游戏服务端的渠道标识、地域信息和运营商信息,以及多个游戏服务端的状态信息,选择一个游戏服务端gs。具体地,因为云游戏服务端中的每个gs在启动前会配置其所属的ds、其支持的游戏渠道的渠道标识及其支持的游戏标识列表、其所属区域的区域信息和其对应的运营商信息,并在启动时注册及上报上述gs信息和状态信息到所属的ds。所以,ds在选择gs过程中,需要考虑渠道标识、游戏标识、地域信息、运营商信息和每个gs的状态信息,至少确保选择的gs适合于用户选择的云游戏且具有可用负载。
177.在一些实施例中,选择游戏服务端的渠道标识与服务调度请求中的渠道标识相同、状态信息为空闲且能运行游戏标识对应游戏的游戏服务端;基于用户端的地域信息和运营商信息,对选择的结果进行优先级排序;选择优先级最高的游戏服务端gs。具体地,ds选择gs时,需要选择gs的渠道标识与服务调度请求中的渠道标识相同的gs;也需要选择gs的游戏标识列表中包含有服务调度请求中相同的游戏标识的gs,保证选择的gs能够运行用户选择的云游戏。然后,从选择出的各gs中选择状态信息为空闲的,确保有可用负载。之后,分别根据ua的地域信息和运营商信息,与每个gs的地域信息和运营商信息,确定每个选择出的gs的优先级及其排序。该过程可参见步骤703中的优先级确定过程。最后,选择优先级最高的gs。这样ds能够为用户端调度最优的gs。
178.在一些实施例中,选择一个游戏服务端后,将选择的游戏服务端的状态信息修改为占用。ds选择一个gs,说明该gs后续会被占用,故需要将该gs的状态信息由空闲修改为占用,及时更新ds中维护的gs的状态信息,确保gs状态信息的正确性。
179.803、发送服务调度响应至中心服务端,该服务调度响应包括选择的游戏服务端信息或空信息。具体地,如果ds选择到一个gs,则将其gs信息作为服务调度响应发送至bs。如果ds未选择一个gs,说明该ds下辖的各gs中无可用的gs,则将空信息作为服务调度响应发送至bs。
180.在一些实施例中,发送服务调度响应至中心服务端后,若接收到中心服务端发送的状态修改信息,则将选择的游戏服务端的状态信息修改为空闲。具体地,ds将服务调度响应发送至bs之后,如果bs没有选用该服务调度响应中的gs信息,说明其对应的gs也不会被调度占用,故在接收到bs发送的状态修改信息时,便将对应的gs的状态信息由占用重新修改为空闲,及时更新gs的状态信息,提高gs状态信息的实时性。
181.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行,例如在一些实施例中,图7中702和703可以调换顺序。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
182.以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

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

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

相关文献