欢迎光临小豌豆知识网!
当前位置:首页 > 生活技术 > 运动娱乐> 云游戏的服务器调度方法、装置及可读存储介质独创技术53281字

云游戏的服务器调度方法、装置及可读存储介质

2021-02-26 09:45:27

云游戏的服务器调度方法、装置及可读存储介质

  技术领域

  本申请涉及计算机技术领域,具体而言,本申请涉及一种云游戏的服务器调度方法、装置及可读存储介质。

  背景技术

  云游戏是将本地端运行的游戏在云端服务器上运行,其运行结果通过网络传输至本地端呈现出画面和声音,本地端与云端服务器之间的连接链路的服务质量将直接影响云游戏最终的呈现效果。

  目前在云游戏的云端服务器调度过程中,只考虑了云端服务器是否有负载这一因素,仅能保证为本地端调度的云端服务器有负载,而无法保证本地端与云端服务器之间连接链路的服务质量,进而也无法保证云游戏最终的呈现效果。

  发明内容

  本申请的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:

  第一方面,本申请实施例提供了一种云游戏的服务器调度方法,方法应用于中心服务器BS,包括:

  接收终端发送的第一调度请求,第一调度请求中包含有终端的域名系统DNS信息;

  基于终端的DNS信息,获取终端的地域信息和运营商信息;

  基于终端的地域信息和运营商信息,以及BS对应的各区域服务器DS的地域信息、运营商信息和负载信息,对BS对应的各DS进行排序得到DS列表;

  将DS列表发送至终端,以供终端依次与DS列表中的各DS尝试连接,直至与其中一个DS连接成功,并向连接成功的目标DS发送第二调度请求,以使目标DS根据第二调度请求为终端调度游戏服务器GS。

  可选的,基于终端的地域信息和运营商信息,以及BS对应的各区域服务器DS的地域信息、运营商信息和负载信息,对BS对应的各DS进行排序得到DS列表,具体包括:

  基于终端的地域信息与各DS的地域信息的匹配程度,得到各DS对应的第一排序分值;

  基于终端的运营商信息与各DS的运营商信息的匹配程度,得到各DS对应的第二排序分值;

  基于各DS的负载信息得到各DS对应的第三排序分值;

  基于各第一排序分值、各第二排序分值以及各第三排序分值,确定各DS的排序,得到DS列表。

  可选的,基于各第一排序分值、各第二排序分值以及各第三排序分值,确定各DS的排序,具体包括:

  基于各第一排序分值、各第二排序分值、各第三排序分值,以及地域信息对应的第一预设权重、运营商信息对应的第二预设权重、负载信息对应的第三预设权重,确定各DS的最终排序分值;

  根据各DS的最终排序分值,确定各DS排序,其中,DS的最终排序分值越高,排序越靠前。

  第二方面,本申请实施例提供一种云游戏的服务器调度方法,方法应用于区域服务器DS,包括:

  接收终端发送的第二调度请求,第二调度请求中包含有终端的域名系统DNS信息;

  基于终端的DNS信息,获取终端的地域信息和运营商信息;

  基于终端的地域信息和运营商信息,以及DS对应的各游戏服务器GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对DS对应的各GS进行排序得到GS列表;

  将GS列表发送至终端,以供终端依次与GS列表中的各GS尝试连接,直至连接成功,并与连接成功的目标GS建立连接链路。

  可选的,对应的连接链路为与终端具有相同地域信息和运营商信息的其他终端与GS之间的连接链路。

  可选的,基于终端的地域信息和运营商信息,以及DS对应的游戏服务器GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对DS对应的GS进行排序得到GS列表,具体包括:

  基于终端的地域信息与各GS的地域信息的匹配程度,得到各GS对应的第四排序分值;

  基于终端的运营商信息与各GS的运营商信息的匹配程度,得到各GS对应的第五排序分值;

  基于各GS的负载信息,得到各GS对应的第六排序分值;

  基于各GS对应的连接链路的服务质量,得到各GS对应的第七排序分值;

  基于各第四排序分值、各第五排序分值、各第六排序分值以及各第七排序分值,确定各GS的排序,得到GS列表。

  可选的,基于各第四排序分值、各第五排序分值、各第六排序分值以及各第七排序分值,确定各GS的排序,具体包括:

  基于各第四排序分值、各第五排序分值、各第六排序分值、各第七排序分值,以及地域信息对应的第四预设权重、运营商信息对应的第五预设权重、负载信息对应的第六预设权重、连接链路的服务质量对应的第七预设权重,确定各GS的最终排序分值;

  根据各GS的最终排序分值,确定各GS排序,其中,GS的最终排序分值越高,排序越靠前。

  第三方面,本申请实施例提供了一种云游戏的服务器调度方法,方法应用于终端,包括:

  当获取到云游戏的启动触发操作时,向中心服务器BS发送第一调度请求,第一调度请求中包含有终端的域名系统DNS信息,以供BS基于终端的DNS信息,获取终端的地域信息和运营商信息,并基于终端的地域信息和运营商信息,以及BS对应的区域服务器DS的地域信息、运营商信息和负载信息,对BS对应的DS进行排序得到DS列表;

  接收BS发送的DS列表,并依次与DS列表中的各DS尝试连接,直至与其中一个DS连接成功,并向连接成功的目标DS发送第二调度请求,第二调度请求中包含有终端的DNS信息,以供目标DS基于终端的DNS信息,获取终端的地域信息和运营商信息,并基于终端的地域信息和运营商信息,以及目标DS对应的各游戏服务器GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对DS对应的各GS进行排序得到GS列表;

  接收目标DS发送的GS列表,并依次与GS列表中的各GS尝试连接,直至与其中一个GS连接成功,并与连接成功的目标GS建立连接链路。

  第四方面,本申请实施例提供了一种云游戏的服务器调度装置,该装置包括:

  第一调度请求接收模块,用于接收终端发送的第一调度请求,第一调度请求中包含有终端的域名系统DNS信息;

  第一信息获取模块,用于基于终端的DNS信息,获取终端的地域信息和运营商信息;

  DS列表获取模块,用于基于终端的地域信息和运营商信息,以及BS对应的各区域服务器DS的地域信息、运营商信息和负载信息,对BS对应的各DS进行排序得到DS列表;

  DS列表发送模块,用于将DS列表发送至终端,以供终端依次与DS列表中的各DS尝试连接,直至与其中一个DS连接成功,并向连接成功的目标DS发送第二调度请求,以使目标DS根据第二调度请求为终端调度游戏服务器GS。

  第五方面,本申请实施例提供了一种云游戏的服务器调度装置,该装置包括:

  第二调度请求接收模块,用于接收终端发送的第二调度请求,第二调度请求中包含有终端的域名系统DNS信息;

  第二信息获取模块,用于基于终端的DNS信息,获取终端的地域信息和运营商信息;

  GS列表获取模块,用于基于终端的地域信息和运营商信息,以及DS对应的各游戏服务器GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对DS对应的各GS进行排序得到GS列表;

  GS列表发送模块,用于将GS列表发送至终端,以供终端依次与GS列表中的各GS尝试连接,直至连接成功,并与连接成功的目标GS建立连接链路。

  第六方面,本申请实施例提供了一种云游戏的服务器调度装置,该装置包括:

  第一调度请求发送模块,用于当获取到云游戏的启动触发操作时,向中心服务器BS发送第一调度请求,第一调度请求中包含有终端的域名系统DNS信息,以供BS基于终端的DNS信息,获取终端的地域信息和运营商信息,并基于终端的地域信息和运营商信息,以及BS对应的区域服务器DS的地域信息、运营商信息和负载信息,对BS对应的DS进行排序得到DS列表;

  第二调度请求发送模块,用于接收BS发送的DS列表,并依次与DS列表中的各DS尝试连接,直至与其中一个DS连接成功,并向连接成功的目标DS发送第二调度请求,第二调度请求中包含有终端的DNS信息,以供目标DS基于终端的DNS信息,获取终端的地域信息和运营商信息,并基于终端的地域信息和运营商信息,以及DS对应的各游戏服务器GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对目标DS对应的各GS进行排序得到GS列表;

  目标GS获取模块,用于接收目标DS发送的GS列表,并依次与GS列表中的各GS尝试连接,直至与其中一个GS连接成功,并与连接成功的目标GS建立连接链路。

  第七方面,本申请实施例提供了一种电子设备,包括存储器和处理器;

  存储器中存储有计算机程序;

  处理器,用于执行计算机程序以实现第一方面实施例、第二方面实施例、第三方面实施例、第四方面实施例、第五方面实施例或第六方面实施例中所提供的方法。

  第八方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面实施例、第二方面实施例、第三方面实施例、第四方面实施例、第五方面实施例或第六方面实施例中所提供的方法。

  本申请提供的技术方案带来的有益效果是:

  在BS为终端调度DS的全局调度阶段,利用了BS对应的各DS与终端之间地域信息的匹配程度,各DS与终端两者的运营商信息的匹配程度,以及各DS的负载信息来确定各DS与终端连接后连接链路服务质量的好坏,在目标DS为终端调度GS的区域调度阶段,利用了目标DS对应的各GS与终端之间地域信息的匹配程度,各GS与终端两者的运营商信息的匹配程度,各GS的负载信息,以及各GS对应的连接链路的服务质量来确定各GS与终端连接后连接链路服务质量的好坏,通过该方案上述确定连接链路质量好坏的依据,首先确定出目标DS,再确定出目标GS,进而保证了终端与目标GS连接后的链路路径最优,间接地保证了提供云游戏服务的链路质量,从而保证了云游戏最终的呈现效果。

  附图说明

  为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

  图1为本申请实施例提供的一种云游戏的服务器调度方法的流程示意图;

  图2为本申请实施例提供的一种云游戏的服务器调度方法的流程示意图;

  图3为本申请实施例提的一种云游戏的服务器调度方法的流程示意图;

  图4为本申请实施例提供的一种云游戏的服务器调度方法的多端交互示意图;

  图5为本申请实施例提供的一种云游戏的服务器调度装置的结构框图;

  图6为本申请实施例提供的一种云游戏的服务器调度装置的结构框图;

  图7为本申请实施例提供的一种云游戏的服务器调度装置的结构框图;

  图8中示出了本申请实施例所适用的一种电子设备的结构示意图。

  具体实施方式

  下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

  本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

  为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

  云游戏是将本地端运行的游戏在云端服务器上运行,其运行结果通过网络传输至本地端呈现出画面和声音,本地端与云端服务器之间的连接链路的服务质量将直接影响云游戏最终的呈现效果。

  目前在云游戏的云端服务器调度方式一般包括以下两种:

  方式一:根据云端游戏服务器的负载情况,挑选出一个有可用负载的游戏服务器,将该游戏服务器调度给终端,但是该方式只考虑了游戏服务器是否可用,无法保证终端与挑选的游戏服务器之间连接链路的服务质量,从而无法保证云游戏的呈现效果。方式二:在终端的显示界面上列出所有游戏服务器的负载情况和连接链路的服务质量,让用户自行挑选其中一个游戏服务器进行连接。但是在该方式下,用户在自行挑选游戏服务器时很难兼顾所选服务器的负载情况和连接链路的服务质量,即所选的游戏服务器可能是可用负载较大但连接链路的服务质量较差的游戏服务器,也可能是连接链路的服务质量较好但可用负载较小的游戏服务器,从而也无法保证云游戏的呈现效果。

  针对上述问题,本申请实施例提供了一种云游戏的服务器调度方法,该方法的执行主体为中心服务器BS(Business Sever),如图1所示,该方法可以包括:

  步骤S101,接收终端发送的第一调度请求,第一调度请求中包含有终端的域名系统DNS(Domain Name System)信息。

  其中,第一调度请求是终端向BS发送的,为终端调度区域服务器DS列表的请求。可以理解的是,终端与BS之间的连接方式可以是有线方式的也可以是无线方式,由终端的联网方式决定。

  其中,DNS信息具体可以是IP地址。

  步骤S102,基于终端的DNS信息,获取终端的地域信息和运营商信息。

  其中,终端的地域信息可以表征终端所处的地理位置,在实际应用中,地域信息可以对应于行政区划,例如,终端A的地域信息为“处于某省的A市”,终端B的地域信息为“处于某省的B市”,则终端A和终端B的地域信息不同。终端的运营商信息指的是为终端提供联网服务的运营商的信息,例如,终端A的运营商信息为“运营商A”,终端B的运营商信息为“运营商A”,则终端A和终端B的运营商信息相同。

  具体的,BS从第一调度请求中获取终端的DNS信息,再从DNS信息中解析出终端的地域信息和运营商信息。

  步骤S103,基于终端的地域信息和运营商信息,以及BS对应的区域服务器DS(Dispatch Sever)的地域信息、运营商信息和负载信息,对BS对应的各DS进行排序得到DS列表。

  其中,云端服务器(包括DS和GS)的地域信息和运营商信息与终端的地域信息和运营商信息具有相同的含义。云端服务器的负载信息可以说明云端服务器上的负载情况,即是否有可用负载以及可用负载的大小。

  具体的,终端发送第一调度请求至BS,BS首先需要给终端调度对应的DS,为了保证云游戏的呈现效果,则需要保证终端与DS连接后终端和DS之间的连接链路的服务质量。由于终端与云端服务器之间地域信息的匹配程度,终端与云端服务器的运营商信息的匹配程度,以及云端服务器的负载信息都是影响终端与云端服务器连接后连接链路的服务质量的关键因素。进一步的,终端与云端服务器之间地域信息的匹配程度越高,终端与云端服务器的运营商信息的匹配程度越高,云端服务器的可用负载越大,终端与云端服务器连接后的连接链路的服务质量就越好。

  那么可以利用BS对应的各DS与终端之间地域信息的匹配程度,各DS与终端的运营商信息的匹配程度,以及各DS的负载信息来确定各DS与终端连接后连接链路服务质量的好坏,进而按对应的连接链路的服务质量顺序来对各DS进行排序得到DS列表。

  需要说明的是,BS上存储有其对应的各DS的地域信息、运营商信息和负载信息。

  步骤S104,将DS列表发送至终端,以供终端按列表顺序依次与DS列表中的各DS尝试连接,直至与其中一个DS连接成功,并向连接成功的目标DS发送第二调度请求,以使目标DS根据第二调度请求为终端调度GS。

  其中,终端一般从DS列表的头部开始按顺序与对应的各DS尝试连接,且DS列表的头部对应的DS一般也是与终端连接后连接链路的服务质量最好的DS(即DS列表按服务质量由好到坏从列表头部至尾部进行排列)。在实际应用中,终端在尝试连接过程中,与DS列表的头部对应的DS连接成功的概率较高,即一般只需要尝试连接一次即可获取到目标DS。

  具体的,在BS为终端调度到最优的目标DS后,终端向目标DS发送第二调度请求,以使所述目标DS根据所述第二调度请求为所述终端调度GS。其中,目标DS为终端调度GS的过程可以包括:基于终端的DNS信息,获取终端的地域信息和运营商信息;基于终端的DNS信息,获取终端的地域信息和运营商信息;基于终端的地域信息和运营商信息,以及DS对应的各游戏服务器GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对DS对应的各GS进行排序得到GS列表;将GS列表发送至终端,以供终端按列表顺序依次与GS列表中的各GS尝试连接,并与连接成功的目标GS建立连接链路。

  在上述DS为终端调度目标GS的过程中,也利用了目标DS对应的各GS与终端之间地域信息的匹配程度,各GS与终端的运营商信息的匹配程度,各GS的负载信息,以及各GS的指定连接链路的服务质量的历史数据来确定各GS与终端连接后连接链路服务质量的好坏,进而按服务质量好坏顺序来对各GS进行排序得到GS列表。

  本申请实施例提供的一种云游戏的服务器调度方法,在BS为终端调度DS的全局调度阶段,利用了BS对应的各DS与终端之间地域信息的匹配程度,各DS与终端两者的运营商信息的匹配程度,以及各DS的负载信息来确定各DS与终端连接后连接链路服务质量的好坏,在目标DS为终端调度GS的区域调度阶段,利用了目标DS对应的各GS与终端之间地域信息的匹配程度,各GS与终端两者的运营商信息的匹配程度,各GS的负载信息,以及各GS对应的连接链路的服务质量来确定各GS与终端连接后连接链路服务质量的好坏,通过该方案上述确定连接链路质量好坏的依据,首先确定出目标DS,再确定出目标GS,进而保证了终端与目标GS连接后的链路路径最优,间接地保证了提供云游戏服务的链路质量,从而保证了云游戏最终的呈现效果。

  在本申请的一种可选实施例中,基于终端的地域信息和运营商信息,以及BS对应的各DS的地域信息、运营商信息和负载信息,对BS对应的各DS进行排序得到DS列表,具体包括:

  基于终端的地域信息与各DS的地域信息的匹配程度,得到各DS对应的第一排序分值;

  基于终端的运营商信息与各DS的运营商信息的匹配程度,得到各DS对应的第二排序分值;

  基于各DS的负载信息得到各DS对应的第三排序分值;

  基于各第一排序分值、各第二排序分值以及各第三排序分值,确定各DS的排序,得到DS列表。

  其中,终端的地域信息与DS的地域信息的匹配程度,可以用终端所处的地理位置与DS所处的地理位置是否相同来衡量,也可以用终端所述的地理位置与DS所处的地理位置之间的距离来衡量。例如,终端的地域信息为“处于某省的A市”,DS的地域信息为“处于某省的B市”,则终端的地域信息与各DS的地域信息的匹配程度可以是终端与DS的地域信息不相同,也可以是A市与B市的距离。终端的运营商信息与DS的运营商信息的匹配程度可以通过终端与DS的运营商信息是否相同来衡量。

  在实际应用中,第一排序分值和第二排序分值可以根据对应的匹配程度来设定,且匹配程度越高对应的排序分值也越高。例如,若终端所处的地理位置与DS所处的地理位置相同,则第一排序分值为1,否则第一排序分值为0;若终端的运营商信息与DS的运营商信息相同,则第二排序分值为1,否则第二排序分值为0。第三排序分值根据DS的可用负载的大小来设定,例如,当DS的可用负载处于第一负载范围内时,第三排序分值为1,当DS的可用负载处于其他负载范围内时,第三排序分值为其他值。可以理解的是,对于没有可用负载的DS,可以直接将其排除在DS列表之外,即不参与排序。

  在本申请的一种可选实施例中,基于各第一排序分值、各第二排序分值以及各第三排序分值,确定各DS的排序,具体包括:

  基于各第一排序分值、各第二排序分值、各第三排序分值,以及地域信息对应的第一预设权重、运营商信息对应的第二预设权重、负载信息对应的第三预设权重,确定各DS的最终排序分值;

  根据各DS的最终排序分值,确定各DS排序,其中,DS的最终排序分值越高,排序越靠前。

  其中,在对各DS进行排序过程中,地域信息的第一预设权重、运营商信息的第二预设权重以及负载信息的第三预设权重,可以分别根据实际应用中终端和DS地域信息的匹配程度、终端和DS的运营商信息的匹配程度以及DS是否有可用负载三者对连接链路的服务质量的影响大小来确定。例如,可以将第一预设权重设置为0.6,第二预设权重和第三预设权重分别设置为0.2,即说明终端和DS地域信息的匹配程度对连接链路的服务质量的影响更大。

  具体的,对于每个DS,其最终排序分值通过其第一排序分值、第二排序分值以及第三排序分值分别乘以对应的预设权重值后求和得到。由于第一排序分值越高的DS与终端的地域信息的匹配程度越高,对应的连接链路的服务质量越好;第二排序分值越高的DS与终端的运营商信息的匹配程度越高,对应的连接链路的服务质量越好;第三排序分值越高的DS其可用负载越大,对应的连接链路的服务质量越好,那么最终排序分值越高的DS,对应的连接链路的服务质量越好,其在DS列表中的排序越靠前(即靠列表的头部)。

  图2为本申请实施例提供的一种云游戏的服务器调度方法的流程示意图,该方法的执行主体是DS,如图2所示,该方法可以包括:

  步骤S201,接收终端发送的第二调度请求,第二调度请求中包含有终端的DNS信息。

  其中,第二调度请求是终端向目标DS发送的,为终端调度GS的请求。可以理解的是,终端与目标DS之间的连接方式可以是有线方式的也可以是无线方式,由终端的联网方式决定。

  步骤S202,基于终端的DNS信息,获取终端的地域信息和运营商信息。

  具体的,目标DS从第二调度请求中获取终端的DNS信息,再从DNS信息中解析出终端的地域信息和运营商信息。

  步骤S203,基于终端的地域信息和运营商信息,以及DS对应的各GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对DS对应的各GS进行排序得到GS列表。

  其中,GS的地域信息和运营商信息与终端的地域信息和运营商信息具有相同的含义。GS的负载信息可以说明GS上的负载情况,即是否有可用负载以及可用负载的大小。GS对应的连接链路的服务质量可以说明GS与其他终端之间的连接链路的服务质量。

  具体的,终端发送第二请求至目标DS,目标DS需要给终端调度对应的GS,为了保证远端应用程序的呈现效果,则需要保证终端与GS连接后终端和GS之间的连接链路的服务质量。由于终端与云端服务器之间地域信息的匹配程度,终端与云端服务器两者的运营商信息的匹配程度,云端服务器的负载信息,以及云端服务器对应的连接链路的服务质量。进一步的,终端与云端服务器之间地域信息的匹配程度越高,终端与云端服务器的匹配程度越高,云端服务器的可用负载越大,云端服务器对应的连接链路的服务质量,终端与云端服务器连接后的连接链路的服务质量就越好。

  那么可以利用目标DS对应的各GS与终端之间地域信息的匹配程度,各GS与终端的运营商信息的匹配程度,各GS的负载信息,以及各GS对应的连接链路的服务质来确定各GS与终端连接后连接链路服务质量的好坏,进而按对应的连接链路的服务质量好坏来对各GS进行排序得到GS列表。

  需要说明的是,目标DS上存储有其对应的各GS的地域信息、运营商信息、负载信息以及对应的连接链路的服务质量。

  步骤S204,将GS列表发送至终端,以供终端依次与GS列表中的各GS尝试连接,直至连接成功,并与连接成功的目标GS建立连接链路。

  其中,终端一般从GS列表的头部开始按顺序与对应的各GS尝试连接,且GS列表的头部对应的GS一般也是与终端连接后连接链路的服务质量最好的GS(即GS列表按服务质量由好到坏从列表头部至尾部进行排列)。在实际应用中,终端在尝试连接过程中,与GS列表的头部对应的GS连接成功的概率较高,即一般只需要尝试连接一次即可获取到目标GS。

  本申请实施例提供的一种云游戏的服务器调度方法,在BS为终端调度DS的全局调度阶段,利用了BS对应的各DS与终端之间地域信息的匹配程度,各DS与终端两者的运营商信息的匹配程度,以及各DS的负载信息来确定各DS与终端连接后连接链路服务质量的好坏,在目标DS为终端调度GS的区域调度阶段,利用了目标DS对应的各GS与终端之间地域信息的匹配程度,各GS与终端两者的运营商信息的匹配程度,各GS的负载信息,以及各GS对应的连接链路的服务质量来确定各GS与终端连接后连接链路服务质量的好坏,通过该方案上述确定连接链路质量好坏的依据,首先确定出目标DS,再确定出目标GS,进而保证了终端与目标GS连接后的链路路径最优,间接地保证了提供云游戏服务的链路质量,从而保证了云游戏最终的呈现效果。

  在本申请的一种可选实施例中,对应的连接链路为与终端具有相同地域信息和运营商信息的其他终端与GS之间的连接链路。

  可以理解的是,对应的连接链路为与当前终端具有相同地域信息和运营商信息的其他终端与GS之间的连接链路,该对应的连接链路与当前终端与GS建立的连接链路相同,在其他因素保持不变的情况下,该对应的连接链路能够准确反映当前终端与GS建立的连接链路,因此可以将该对应的连接链路的服务质量作为确定当前终端与GS建立的连接链路的服务质量的依据。在实际应用中,一般获取的是该对应的连接链路的服务质量的历史数据。

  在本申请的一种可选实施例中,基于终端的地域信息和运营商信息,以及DS对应的游戏服务器GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对DS对应的GS进行排序得到GS列表,具体包括:

  基于终端的地域信息与各GS的地域信息的匹配程度,得到各GS对应的第四排序分值;

  基于终端的运营商信息与各GS的运营商信息的匹配程度,得到各GS对应的第五排序分值;

  基于各GS的负载信息,得到各GS对应的第六排序分值;

  基于各GS对应的连接链路的服务质量,得到各GS对应的第七排序分值;

  基于各第四排序分值、各第五排序分值、各第六排序分值以及各第七排序分值,确定各GS的排序,得到GS列表。

  其中,终端的地域信息与GS的地域信息的匹配程度,可以用终端所处的地理位置与GS所处的地理位置是否相同来衡量,也可以用终端所述的地理位置与GS所处的地理位置之间的距离来衡量。例如,终端的地域信息为“处于某省的A市”,GS的地域信息为“处于某省的B市”,则终端的地域信息与各GS的地域信息的匹配程度可以是终端与GS的地域信息不相同,也可以是A市与B市的距离。终端的运营商信息与GS的运营商信息的匹配程度可以通过终端与GS的运营商信息是否相同来衡量。

  在实际应用中,第四排序分值和第五排序分值可以根据对应的匹配程度来设定,且匹配程度越高对应的排序分值也越高。例如,若终端所处的地理位置与GS所处的地理位置相同,则第四排序分值为1,否则第四排序分值为0;若终端的运营商信息与GS的运营商信息相同,则第五排序分值为1,否则第五排序分值为0。第六排序分值根据GS的可用负载的大小来设定,例如,当GS的可用负载处于第二负载范围内时,第六排序分值为1,当GS的可用负载处于其他负载范围内时,第六排序分值为其他值。可以理解的是,对于没有可用负载的DS,可以直接将其排除在DS列表之外,即不参与排序。第七排序分值根据GS对应的连接链路的服务质量的值来设定,例如,当GS的对应的连接链路的服务质量处于第一取值范围时,第七排序分值为1,当GS的对应的连接链路的服务质量处于其他范围时,第七排序分值为其他值。

  在本申请的一种可选的实施例中,基于各第四排序分值、各第五排序分值、各第六排序分值以及各第七排序分值,确定各GS的排序,具体包括:

  基于各第四排序分值、各第五排序分值、各第六排序分值、各第七排序分值,以及地域信息对应的第四预设权重、运营商信息对应的第五预设权重、负载信息对应的第六预设权重、连接链路的服务质量对应的第七预设权重,确定各GS的最终排序分值;

  根据各GS的最终排序分值,确定各GS排序,其中,GS的最终排序分值越高,排序越靠前。

  其中,在对各GS进行排序过程中,地域信息的第四预设权重、运营商信息的第五预设权重、负载信息的第六预设权重以及对应的连接链路的服务质量的第七预设权重,可以分别根据实际应用中终端和GS地域信息的匹配程度、终端和GS的运营商信息的匹配程度、GS是否有可用负载以及GS对应的连接链路的服务质量四者对连接链路的服务质量的影响大小来确定。例如,可以将第四预设权重、第五预设权重和第七预设权重分别设置为0.2,将第七预设权重设置为0.4,即说明GS对应的连接链路的服务质量对连接链路的服务质量的影响更大。

  具体的,对于每个GS,其最终排序分值通过其第四排序分值、第五排序分值、第六排序分值以及第七排序分值分别乘以对应的预设权重值后求和得到。由于第四排序分值越高的GS与终端的地域信息的匹配程度越高,对应的连接链路的服务质量越好;第五排序分值越高的GS与终端的运营商信息的匹配程度越高,对应的连接链路的服务质量越好;第六排序分值越高的GS其可用负载越大,对应的连接链路的服务质量越好;第七排序分值越高的GS其对应的连接链路的服务质量越好,对应的连接链路的服务质量越好,那么最终排序分值越高的GS,对应的连接链路的服务质量越好,其在GS列表中排序越靠前(即靠列表的头部)。

  图3为本申请实施例提供的一种云游戏的服务器调度方法的流程示意图,该方法的执行主体是终端,如图3所示,该方法可以包括:

  步骤301,当获取到云游戏的启动触发操作时,向中心服务器BS发送第一调度请求,第一调度请求中包含有终端的域名系统DNS信息,以供BS基于终端的DNS信息,获取终端的地域信息和运营商信息,并基于终端的地域信息和运营商信息,以及BS对应的区域服务器DS的地域信息、运营商信息和负载信息,对BS对应的DS进行排序得到DS列表。

  其中,云游戏的启动触发操作指的是启动云游戏的指令,该触发操作可以是对云游戏的点击操作,可以是向终端输入的特定文字或语音信息。

  步骤302,接收BS发送的DS列表,并依次与DS列表中的各DS尝试连接,直至与其中一个DS连接成功,并向连接成功的目标DS发送第二调度请求,第二调度请求中包含有终端的DNS信息,以供目标DS基于终端的DNS信息,获取终端的地域信息和运营商信息,并基于终端的地域信息和运营商信息,以及DS对应的各GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对DS对应的各GS进行排序得到GS列表。

  步骤303,接收目标DS发送的GS列表,并按列表顺序依次与GS列表中的各GS尝试连接,直至与其中一个GS连接成功,并与连接成功的目标GS建立连接链路。

  本申请实施例提供的一种云游戏的服务器调度方法,在BS为终端调度DS的全局调度阶段,利用了BS对应的各DS与终端之间地域信息的匹配程度,各DS与终端两者的运营商信息的匹配程度,以及各DS的负载信息来确定各DS与终端连接后连接链路服务质量的好坏,在目标DS为终端调度GS的区域调度阶段,利用了目标DS对应的各GS与终端之间地域信息的匹配程度,各GS与终端两者的运营商信息的匹配程度,各GS的负载信息,以及各GS对应的连接链路的服务质量来确定各GS与终端连接后连接链路服务质量的好坏,通过该方案上述确定连接链路质量好坏的依据,首先确定出目标DS,再确定出目标GS,进而保证了终端与目标GS连接后的链路路径最优,间接地保证了提供云游戏服务的链路质量,从而保证了云游戏最终的呈现效果。

  图4为本申请实施例提供的一种云游戏的服务器调度方法的多端交互示意图,如图4所述,该方案可以包括以下步骤:

  401、终端向BS发送第一调度请求;该第一调度请求中包含有终端的DNS信息;

  402、BS向终端发送DS列表;其中,BS基于终端的DNS信息,获取终端的地域信息和运营商信息;基于终端的地域信息和运营商信息,以及BS对应的各区域服务器DS的地域信息、运营商信息和负载信息,对BS对应的各DS进行排序得到DS列表;

  403、终端向目标DS发送第二调度请求;终端依次与DS列表中的各DS尝试连接,直至与其中一个DS连接成功,并向连接成功的目标DS发送第二调度请求,第二调度请求中包含有终端的DNS信息;

  404、目标DS向终端发送GS列表;目标DS基于终端的DNS信息,获取终端的地域信息和运营商信息,并基于终端的地域信息和运营商信息,以及DS对应的各GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对DS对应的各GS进行排序得到GS列表;

  405、终端与目标GS建立连接链路;终端接收目标DS发送的GS列表,并按列表顺序依次与GS列表中的各GS尝试连接,直至与其中一个GS连接成功,并与连接成功的目标GS建立连接链路。

  图5为本申请实施例提供的一种云游戏的服务器调度装置的结构框图,如图5所示,该装置500包括:第一调度请求接收模块501、第一信息获取模块502、DS列表获取模块503以及DS列表发送模块504,其中:

  第一调度请求接收模块501用于接收终端发送的第一调度请求,第一调度请求中包含有终端的域名系统DNS信息;

  第一信息获取模块502用于基于终端的DNS信息,获取终端的地域信息和运营商信息;

  DS列表获取模块503用于基于终端的地域信息和运营商信息,以及BS对应的各区域服务器DS的地域信息、运营商信息和负载信息,对BS对应的各DS进行排序得到DS列表;

  DS列表发送模块504用于将DS列表发送至终端,以供终端依次与DS列表中的各DS尝试连接,直至与其中一个DS连接成功,并向连接成功的目标DS发送第二调度请求,以使目标DS根据第二调度请求为终端调度游戏服务器GS。

  本申请提供的一种云游戏的服务器调度装置,在BS为终端调度DS的全局调度阶段,利用了BS对应的各DS与终端之间地域信息的匹配程度,各DS与终端两者的运营商信息的匹配程度,以及各DS的负载信息来确定各DS与终端连接后连接链路服务质量的好坏,在目标DS为终端调度GS的区域调度阶段,利用了目标DS对应的各GS与终端之间地域信息的匹配程度,各GS与终端两者的运营商信息的匹配程度,各GS的负载信息,以及各GS对应的连接链路的服务质量来确定各GS与终端连接后连接链路服务质量的好坏,通过该方案上述确定连接链路质量好坏的依据,首先确定出目标DS,再确定出目标GS,进而保证了终端与目标GS连接后的链路路径最优,间接地保证了提供云游戏服务的链路质量,从而保证了云游戏最终的呈现效果。

  在本申请的一种可选实施例中,DS列表获取模块具体用于:

  基于终端的地域信息与各DS的地域信息的匹配程度,得到各DS对应的第一排序分值;

  基于终端的运营商信息与各DS的运营商信息的匹配程度,得到各DS对应的第二排序分值;

  基于各DS的负载信息得到各DS对应的第三排序分值;

  基于各第一排序分值、各第二排序分值以及各第三排序分值,确定各DS的排序,得到DS列表。

  在本申请的一种可选实施例中,DS列表获取模块具体用于:

  基于各第一排序分值、各第二排序分值、各第三排序分值,以及地域信息对应的第一预设权重、运营商信息对应的第二预设权重、负载信息对应的第三预设权重,确定各DS的最终排序分值;

  根据各DS的最终排序分值,确定各DS排序,其中,DS的最终排序分值越高,排序越靠前。

  图6为本申请实施例提供的一种云游戏的服务器调度装置的结构框图,如图6所示,该装置600包括:第二调度请求接收模块601、第二信息获取模块602、GS列表获取模块603以及GS列表发送模块604,其中:

  第二调度请求接收模块601用于接收终端发送的第二调度请求,第二调度请求中包含有终端的域名系统DNS信息;

  第二信息获取模块602用于基于终端的DNS信息,获取终端的地域信息和运营商信息;

  GS列表获取模块603用于基于终端的地域信息和运营商信息,以及DS对应的各游戏服务器GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对DS对应的各GS进行排序得到GS列表;

  GS列表发送模块604用于将GS列表发送至终端,以供终端依次与GS列表中的各GS尝试连接,直至连接成功,并与连接成功的目标GS建立连接链路。

  本申请提供的一种云游戏的服务器调度装置,在BS为终端调度DS的全局调度阶段,利用了BS对应的各DS与终端之间地域信息的匹配程度,各DS与终端两者的运营商信息的匹配程度,以及各DS的负载信息来确定各DS与终端连接后连接链路服务质量的好坏,在目标DS为终端调度GS的区域调度阶段,利用了目标DS对应的各GS与终端之间地域信息的匹配程度,各GS与终端两者的运营商信息的匹配程度,各GS的负载信息,以及各GS对应的连接链路的服务质量来确定各GS与终端连接后连接链路服务质量的好坏,通过该方案上述确定连接链路质量好坏的依据,首先确定出目标DS,再确定出目标GS,进而保证了终端与目标GS连接后的链路路径最优,间接地保证了提供云游戏服务的链路质量,从而保证了云游戏最终的呈现效果。

  在本申请的一种可选实施例中,GS列表获取模块具体用于:

  基于终端的地域信息与各GS的地域信息的匹配程度,得到各GS对应的第四排序分值;

  基于终端的运营商信息与各GS的运营商信息的匹配程度,得到各GS对应的第五排序分值;

  基于各GS的负载信息,得到各GS对应的第六排序分值;

  基于各GS对应的连接链路的服务质量,得到各GS对应的第七排序分值;

  基于各第四排序分值、各第五排序分值、各第六排序分值以及各第七排序分值,确定各GS的排序,得到GS列表。

  在本申请的一种可选实施例中,GS列表获取模块具体用于:

  基于各第四排序分值、各第五排序分值、各第六排序分值、各第七排序分值,以及地域信息对应的第四预设权重、运营商信息对应的第五预设权重、负载信息对应的第六预设权重、连接链路的服务质量对应的第七预设权重,确定各GS的最终排序分值;

  根据各GS的最终排序分值,确定各GS排序,其中,GS的最终排序分值越高,排序越靠前。

  图7为本申请实施例提供的一种云游戏的服务器调度装置的结构框图,如图7所示,该装置700包括:第一调度请求发送模块701、第二调度请求发送模块702以及目标GS获取模块703,其中:

  第一调度请求发送模块701用于当获取到云游戏的启动触发操作时,向中心服务器BS发送第一调度请求,第一调度请求中包含有终端的域名系统DNS信息,以供BS基于终端的DNS信息,获取终端的地域信息和运营商信息,并基于终端的地域信息和运营商信息,以及BS对应的区域服务器DS的地域信息、运营商信息和负载信息,对BS对应的DS进行排序得到DS列表;

  第二调度请求发送模块702用于接收BS发送的DS列表,并依次与DS列表中的各DS尝试连接,直至与其中一个DS连接成功,并向连接成功的目标DS发送第二调度请求,第二调度请求中包含有终端的DNS信息,以供目标DS基于终端的DNS信息,获取终端的地域信息和运营商信息,并基于终端的地域信息和运营商信息,以及DS对应的各游戏服务器GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对目标DS对应的各GS进行排序得到GS列表;

  目标GS获取模块703用于接收目标DS发送的GS列表,并依次与GS列表中的各GS尝试连接,直至与其中一个GS连接成功,并与连接成功的目标GS建立连接链路。

  本申请提供的一种云游戏的服务器调度装置,在BS为终端调度DS的全局调度阶段,利用了BS对应的各DS与终端之间地域信息的匹配程度,各DS与终端两者的运营商信息的匹配程度,以及各DS的负载信息来确定各DS与终端连接后连接链路服务质量的好坏,在目标DS为终端调度GS的区域调度阶段,利用了目标DS对应的各GS与终端之间地域信息的匹配程度,各GS与终端两者的运营商信息的匹配程度,各GS的负载信息,以及各GS对应的连接链路的服务质量来确定各GS与终端连接后连接链路服务质量的好坏,通过该方案上述确定连接链路质量好坏的依据,首先确定出目标DS,再确定出目标GS,进而保证了终端与目标GS连接后的链路路径最优,间接地保证了提供云游戏服务的链路质量,从而保证了云游戏最终的呈现效果。

  基于相同的原理,本申请实施例还提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时,实现本申请任一可选实施例中所提供的方法,具体可实现如下几种情况:

  情况一:接收终端发送的第一调度请求,第一调度请求中包含有终端的域名系统DNS信息;基于终端的DNS信息,获取终端的地域信息和运营商信息;基于终端的地域信息和运营商信息,以及BS对应的各区域服务器DS的地域信息、运营商信息和负载信息,对BS对应的各DS进行排序得到DS列表;将DS列表发送至终端,以供终端依次与DS列表中的各DS尝试连接,直至与其中一个DS连接成功,并向连接成功的目标DS发送第二调度请求,以使目标DS根据第二调度请求为终端调度游戏服务器GS。

  情况二:接收终端发送的第二调度请求,第二调度请求中包含有终端的域名系统DNS信息;基于终端的DNS信息,获取终端的地域信息和运营商信息;基于终端的地域信息和运营商信息,以及DS对应的各游戏服务器GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对DS对应的各GS进行排序得到GS列表;将GS列表发送至终端,以供终端依次与GS列表中的各GS尝试连接,直至连接成功,并与连接成功的目标GS建立连接链路。

  情况三:当获取到云游戏的启动触发操作时,向中心服务器BS发送第一调度请求,第一调度请求中包含有终端的域名系统DNS信息,以供BS基于终端的DNS信息,获取终端的地域信息和运营商信息,并基于终端的地域信息和运营商信息,以及BS对应的区域服务器DS的地域信息、运营商信息和负载信息,对BS对应的DS进行排序得到DS列表;接收BS发送的DS列表,并依次与DS列表中的各DS尝试连接,直至与其中一个DS连接成功,并向连接成功的目标DS发送第二调度请求,第二调度请求中包含有终端的DNS信息,以供目标DS基于终端的DNS信息,获取终端的地域信息和运营商信息,并基于终端的地域信息和运营商信息,以及目标DS对应的各游戏服务器GS的地域信息、运营商信息、负载信息和对应的连接链路的服务质量,对DS对应的各GS进行排序得到GS列表;接收目标DS发送的GS列表,并依次与GS列表中的各GS尝试连接,直至与其中一个GS连接成功,并与连接成功的目标GS建立连接链路。

  本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本申请任一实施例所示的方法。

  可以理解的是,介质中存储的可以是云游戏的服务器调度方法对应的计算机程序。

  图8中示出了本申请实施例所适用的一种电子设备的结构示意图,如图8所示,图8所示的电子设备800包括:处理器801和存储器803。其中,处理器801和存储器803相连,如通过总线802相连。进一步地,电子设备800还可以包括收发器804,电子设备800可以通过收发器804与其他电子设备进行数据的交互。需要说明的是,实际应用中收发器804不限于一个,该电子设备800的结构并不构成对本申请实施例的限定。

  其中,处理器801应用于本申请实施例中,可以用于实现图5所示的第一调度请求接收模块、第一信息获取模块、DS列表获取模块以及DS列表发送模块的功能,也可以用于实现图6所示的第二调度请求接收模块、第二信息获取模块、GS列表获取模块以及GS列表发送模块的功能,还有用于实现图7所示的第一调度请求发送模块、第二调度请求发送模块以及目标GS获取模块的功能。

  处理器801可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器801也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

  总线802可包括一通路,在上述组件之间传送信息。总线802可以是PCI总线或EISA总线等。总线802可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

  存储器803可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

  存储器803用于存储执行本申请方案的应用程序代码,并由处理器801来控制执行。处理器801用于执行存储器803中存储的应用程序代码,以实现图5、图6或图7所示实施例提供的云游戏的服务器调度装置的动作。

  应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

  以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

《云游戏的服务器调度方法、装置及可读存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)