CN108499100A - 一种基于边缘计算的云游戏错误恢复方法及系统 - Google Patents

一种基于边缘计算的云游戏错误恢复方法及系统 Download PDF

Info

Publication number
CN108499100A
CN108499100A CN201810287744.4A CN201810287744A CN108499100A CN 108499100 A CN108499100 A CN 108499100A CN 201810287744 A CN201810287744 A CN 201810287744A CN 108499100 A CN108499100 A CN 108499100A
Authority
CN
China
Prior art keywords
cluster
game
server
list
games
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810287744.4A
Other languages
English (en)
Other versions
CN108499100B (zh
Inventor
白光伟
沈专
沈航
任栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Tech University
Original Assignee
Nanjing Tech University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Tech University filed Critical Nanjing Tech University
Priority to CN201810287744.4A priority Critical patent/CN108499100B/zh
Publication of CN108499100A publication Critical patent/CN108499100A/zh
Application granted granted Critical
Publication of CN108499100B publication Critical patent/CN108499100B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/531Server assignment

Abstract

本发明公开了一种基于边缘计算的云游戏错误恢复方法及系统。针对服务器超载或者宕机将严重影响服务质量的问题,本发明公开了两种不同的超载宕机容错机制,分别用于集群超载和服务器宕机的情况;其中集群超载容错机制把超载集群中的游戏卸载到其他集群,因此缓解超载集群的压力,达到负载均衡的效果;当集群中的某一台服务器由于硬件故障而出现宕机或者出现超载时,使用服务器宕机容错机制,迅速转移宕机服务器上的游戏,玩家只会出现短暂的卡顿现象,而不会影响整个游戏过程或者直接游戏失败。数值实验证明了本发明具有有效性、可行性,为未来的研究提供了有见地的结果。

Description

一种基于边缘计算的云游戏错误恢复方法及系统
技术领域
本发明涉及一种基于边缘计算的云游戏错误恢复方法,属于边缘计算技术领域。
背景技术
如今,许多组织和机构已经建立了利用云计算来处理大数据或向用户提供服务的应用程序。云计算可以提供弹性资源,使应用程序提供商无缝地扩展其服务。对于企业而言,他们可以根据客户的需求,喜好,或过去的交易记录,使用云计算为消费者提供服务。云计算可以为用户提供高安全网络的服务和多级认证。尽管云计算为用户提供了许多好处,但它也带来了一些限制和挑战。当用户需要对延迟敏感的应用程序进行快速响应时,比如云游戏,其中一个挑战就出现了,现有的云计算不能满足低延迟的要求。因此,为了解决云计算的这一缺点,最近出现了边缘计算,有时称为雾计算。
欧洲电信标准协会(ETSI)认为边缘计算是云计算的一个扩展。边缘服务器集群可以被描述为网络边缘的云服务器集群,为用户提供信息技术和云计算能力。如图1所示,基于边缘服务器的云游戏架构由用户设备、用户附近的服务器集群和云端数据中心组成。用户与集群之间的通信可以是LTE或任何其他无线通信协议。集群通过核心网络连接到云端数据中心,且可以将从用户设备收集的大部分数据进行处理和优化,然后再将其传输到云端数据中心或者用户设备。在集群中进行大数据分析而不是在云端,可以防止从用户设备收集数据到核心网络时浪费大量的带宽。集群为许多用户提供了实时的大量计算密集型运行的服务。边缘服务器集群的存在也可以帮助云端服务器提高网站性能。
边缘计算可以在有限的区域内发挥实时计算服务的作用。增强现实,人脸识别,交互式游戏,无人驾驶车辆,无人驾驶飞机,智能交通控制系统,监控系统和自然语言处理是当今引人注目的移动应用实例,并将从边缘计算的快速计算中受益匪浅。然而,边缘计算系统故障可能由硬件故障,软件故障或边缘服务器资源溢出(即服务器超载)引起。边缘计算的系统故障会影响云游戏的服务质量(QoC)和用户的体验质量(QoE),并否定边缘计算的优势。边缘计算的系统故障可能使其无法完成服务请求;或者更糟的是,所有玩家都将失去与边缘服务器的连接。对于那些依靠边缘计算来经营业务的商家来说,停机时间的成本可能是痛苦的。
发明内容
本发明所要解决的技术问题是:针对服务器超载或者宕机将严重影响服务质量的问题,本发明公开了两种不同的超载宕机容错机制,分别用于集群超载和服务器宕机的情况。
本发明为解决上述技术问题具体采用以下技术方案。
一种基于边缘计算的云游戏错误恢复方法,首先,动态获取玩家游戏对应的边缘服务器集群候选列表,所述候选列表中的集群是根据游戏的延迟要求和游戏所需的资源来匹配获得,并按照延迟时间升序排序;然后,根据不同情况分别采用集群超载容错机制和服务器宕机容错机制实现云游戏错误恢复;其中,
所述集群超载容错机制,用于把超载集群中的游戏卸载到其他具有剩余资源的集群,具体步骤如下:
1)、当某新玩家请求运行的游戏所对应的候选列表中的所有集群均无满足其运行的可用资源时,依次轮询该新玩家游戏的候选列表中的集群里所有正运行的且资源消耗大于该新玩家游戏的游戏列表;
2)、依次判断游戏列表中的各个游戏自身所对应的候选列表中的集群是否有可供其自身运行的剩余资源:
如果其候选列表中存在剩余资源可供其运行的候选集群,则将游戏列表中的该游戏从当前集群转移到该候选集群中,并将该新玩家的游戏加入该当前集群中;
如果无,则将该新玩家的游戏直接加入到云端服务中心;
所述服务器宕机容错机制,用于当集群中的某一台服务器出现宕机或者出现超载时,迅速转移宕机服务器上的游戏;具体步骤如下:
A、把宕机服务器上的游戏按照所需资源的大小降序排序,生成游戏列表;
B、遍历游戏列表,依次调用服务器分配算法,即让所需资源大的游戏在该集群中优先寻找主机分配;根据分配是否成功执行以下动作:
如果分配成功,则继续遍历游戏列表进行分配;
如果分配不成功,即该集群中没有满足资源要求的服务器,则调用集群超载容错机制。
本发明还提出一种基于边缘计算的云游戏系统,包括:游戏程序模块、云端服务中心、服务器动态部署模块、集群容错模块、服务器容错模块;其中,
游戏程序模块,用于向云端服务中心请求运行游戏,当终端接收到服务器发送过来的游戏视频,进行解码播放;
云端服务中心,用于接收到请求后,执行集群选择算法,即根据游戏的延迟要求和游戏所需的资源来匹配适合的集群,并以待选集群列表按照延迟升序排序的形式返回给服务器动态部署模块;
服务器动态部署模块,用于当集群中没有足够的可用资源时,动态开启集群中的备用主机;如果集群中还有备用主机可用,则直接开启,如果没有,则选择待选集群列表中的下一个待选集群加入,依次类推,直到最后无集群满足条件时,触发集群容错模块;
集群容错模块,用于把超载集群中的游戏卸载到其他具有剩余资源的集群,如果试图转载失败或者所有集群中都没有可用资源,则将该游戏直接加入到云端服务中心;
服务器容错模块,用于当某一台服务器宕机时,为服务器上运行的游戏重新分配资源;首先查询本集群中是否还有足够的资源用于分配给这些游戏,如果本集群没有足够剩余资源,便调用集群容错模块处理。
进一步,本发明所提出的基于边缘计算的云游戏系统,集群容错模块包括:
游戏列表生成单元,被配置执行以下动作:当某新玩家请求运行的游戏所对应的候选列表中的所有集群均无满足其运行的可用资源时,依次轮询该新玩家游戏的候选列表中的集群里所有正运行的且资源消耗大于该新玩家游戏的游戏列表;
游戏转载单元,被配置执行以下动作:依次判断游戏列表中的各个游戏自身所对应的候选列表中的集群是否有可供其自身运行的剩余资源:如果有,则将游戏列表中的该游戏从当前集群转移到该候选集群中,并将该新玩家的游戏加入该当前集群中;如果无,则将该新玩家的游戏直接加入到云端服务中心。
进一步,本发明所提出的基于边缘计算的云游戏系统,服务器容错模块包括:
游戏列表生成单元,用于把宕机服务器上的游戏按照所需资源的大小降序排序,生成游戏列表;
服务器分配单元,用于遍历游戏列表,依次调用服务器分配算法,即让所需资源大的游戏在该集群中优先寻找主机分配;根据分配是否成功执行以下动作:如果分配成功,则继续遍历游戏列表进行分配;如果分配不成功,即该集群中没有满足资源要求的服务器,则调用集群容错模块。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明的集群超载容错机制把超载集群中的游戏卸载到其他集群,因此缓解超载集群的压力,达到负载均衡的效果;当集群中的某一台服务器由于硬件故障而出现宕机或者出现超载时,即转载该服务器上的游戏,因此使用服务器宕机容错机制能够迅速转移宕机服务器上的游戏,在平均22秒内转移成功,玩家只会出现短暂的卡顿现象,而不会影响整个游戏过程或者直接游戏失败。数值实验证明:该方案的有效性,验证了该方案的可行性,为未来的研究提供了有见地的结果。
附图说明
图1是基于边缘服务器的云游戏基本框架图。
图2是本发明的架构模块及交互流程图。
图3是集群超载容错机制对比图。
图4是服务器宕机容错机制对比图。
图5是在集群容错机制运行前后获取了玩家数量对比图。
图6是游戏的延迟对玩家数量的影响对比图。
具体实施方式
下面结合说明书附图针对本发明的具体实施方式作进一步详细的说明。
本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本发明提出两种错误恢复方案来解决边缘计算的故障问题。第一种错误恢复方案称为集群超载容错机制,用于在服务器集群选择算法为玩家选择恰当的集群时,由于集群中没有足够的剩余资源,而无法满足游戏要求时,执行该方案;此时集群中之所以没有足够的资源,就是因为玩家的请求数量过多或者是游戏高峰期,若不及时处理,就会造成集群级别的超载。第二种错误恢复方案称为服务器超载宕机容错机制,用于在某一集群中有服务器宕机时执行,为宕机服务器上的玩家重新分配服务器。这两种方案可以预防和恢复基于边缘计算的云游戏超载宕机错误,从而提高边缘计算的可靠性,提高云游戏的服务质量。
本发明所提出的边缘计算的恢复方案,数值仿真结果验证了提出的错误恢复机制的可行性,并提供深刻的未来研究课题。
一、以下首先介绍一下本发明的系统架构:
游戏具有短时间内大量玩家加入游戏的特性,尽管有服务器动态部署模块,但是当集群中闲置的服务器都开启工作之后,还是会出现服务器资源不够用的情况的。如果集群中还有剩余的服务器,直接开启并分配给玩家就可以。如果集群中没有可用的服务器了,但是其他的集群还有可用的资源,那么使用集群容错机制来转载一部分游戏到其他集群,空出本集群的GPU和CPU资源。在执行服务器集群选择算法时,保存了该玩家的待选集群列表,这些列表中的集群都是满足玩家游戏延迟要求的,但是资源是动态申请和释放的,不一定还有足够的剩余资源可用,因此需要再询问一下集群;找该游戏延迟允许的情况下的集群加入,如果邻近集群都满了,或者没有邻近集群,那么便把玩家接入云端服务中心。
如图2所示,该系统架构中添加的三个模块,即集群容错模块、服务器容错模块和游戏程序模块。当玩家通过游戏程序打开云游戏首页时,将会看到很多的游戏展示在首页,玩家点击自己感兴趣的游戏加入;此时,游戏程序便会向云端服务中心请求游戏,云端服务中心接收到请求后,执行集群选择算法,根据游戏的延迟要求和游戏所需的资源来匹配适合的集群,以待选集群列表的形式返回,然后玩家选择第一个待选集群加入,也便是延迟最小的集群,因为是按照延迟升序排序的;如果选择的集群中没有足够的可用资源,便会触发服务器动态部署策略的执行,用于动态开启集群中的备用主机。如果集群中还有备用主机,则直接开启便可,如果没有,便选择待选集群列表中的第二个待选集群加入,依次类推,直到最后无集群可选时;此时便会触发集群容错机制的执行,该机制将会在待选集群列表中的第一个集群中选择一个游戏,并试图把这个游戏转载到它的待选集群中,以便空出集群的资源。如果试图转载失败或者所有集群中都没有可用资源,那么该游戏将会直接加入到云端服务中心。
在每一个边缘服务器集群中,都有可能会执行服务器容错机制,比如当某一台服务器宕机的时候,此台服务器上的玩家便得不到服务,所以执行服务器容错机制来为这些游戏重新分配资源;该机制首先查询本集群中是否还有足够的资源用于分配给这些游戏,如果本集群没有,便需要加入其它集群中。
游戏程序模块主要功能包括玩家的登录、游戏选择、游戏视频播放和游戏控制信息发收等。当终端接收到服务器发送过来的游戏视频,便进行解码播放。
二、以下进一步介绍本发明提出的容错机制:
以下根据云游戏场景中经常会发生的几种情况进行针对性的设计,首先是云游戏具有短时间内大量玩家加入的高峰期,此时如果集群资源不够用,就会出现超载的现象;其次是集群中某台服务器因为某些原因而宕机时,此时该如何处理这种场景。整个系统的模块包括集群容错模块,服务器容错模块以及客户端的游戏程序模块。
(1)集群超载
集群容错模块主要是用于解决集群超载问题的。当玩家以剧增式地加入服务器时,由于集群资源的有限性,玩家数量达到一定程度时,必然会出现超载的问题,该问题将严重影响云游戏的服务质量,因此,本发明提出集群超载容错机制,该机制可以转载已满集群中的游戏到其他集群,从而空出集群中的可用资源,达到集群资源整合的效果。
如图3所示,当有新玩家申请游戏加入时,集群选择算法为新玩家选出的候选集群列表为{1,3,4},这三个候选集群都是满足游戏的延迟时间要求的,但是是否满足游戏所需的资源要求,需要玩家向集群发送请求询问;当玩家询问集群1时,由于集群1中已经有其他玩家的游戏在运行,且占用了已开启资源的99%,这时需要再执行服务器动态部署策略来开启集群中关闭的服务器,假设集群1中的所有服务器都已开启,所以便是占用总资源的99%,只有1%的资源可有,因此集群1不满足新玩家的游戏请求;接着询问集群3,也不满足;最后询问集群4,仍然不满足。即在新玩家候选集群列表中的集群都不满足游戏资源要求时,便执行集群超载容错机制,该机制首先查询运行在集群1中的游戏列表{玩家B,玩家A,玩家C},比较他们的game_list[i]与新玩家游戏的game_list[i],找出所需资源大于新玩家游戏的,从图中可以看出,灰色大小表示所占的资源比分比,假设玩家A和玩家C所需的资源都大于新玩家的,因此我们得到列表{玩家A,玩家C},然后取出列表中的玩家A,得到玩家A当时的候选集群列表{3,1,2}。此时,本发明所提出的机制想把玩家A从集群1中转移到其他的候选集群中,所以向集群3询问是否有资源能够运行玩家A;然后再询问集群2,发现集群2有足够的资源可以运行玩家A,因此让玩家A把游戏的渲染工作迁移到了集群2中,然后由集群2发送渲染后的游戏画面给玩家;因为集群2在玩家A的候选集群列表中,所以响应延迟也是满足要求的。这时新玩家便可有加载到集群1当中了。从图中还可以看出,该机制运行之后,集群的资源利用率和集群中各游戏的资源所占比例。
下面给该集群超载容错机制的核心步骤:
1)获得候选集群列表candidate_groups;
2)依次询问candidate_groups中的集群,并试图加入;
3)获取candidate_groups中集群里的所有资源大于新玩家的游戏列表candidate_removal_games;
4)依次试图转移candidate_removal_games中游戏到其待选集群中。
集群超载容错机制提高了边缘计算的可靠性,保证了云游戏的服务器质量。
(2)服务器宕机
玩家连接到集群中的某个具体的服务器是经过服务器分配算法根据玩家的好友关系进行分配的。服务器分配算法尽可能的把玩家分配到其好友最多的服务器上,这样可以减少服务器之间的交互。当集群中的某一台服务器由于硬件故障而出现宕机或者出现超载时,就应该转载该服务器上的游戏。针对这些问题,本发明提出服务器宕机容错机制;该机制能够迅速转移宕机服务器上的游戏,在平均22秒内转移成功,玩家只会出现短暂的卡顿现象,而不会影响整个游戏过程或者直接游戏失败。
如图4所示,当某一集群中有服务器出现故障而宕机时,便会触发服务器容错模块中的服务器宕机容错机制执行,该机制首先把宕机服务器上的游戏按照所需资源的大小降序排序,然后让排序后的游戏依次调用服务器分配算法,即让所需资源大的游戏优先寻找主机分配,寻找的范围是在该集群中。如果该集群中没有满足资源要求的服务器,那么该游戏便需要根据自己的候选集群列表来询问这些集群中是否有足够的资源可以分配。此时的过程与调用集群超载容错机制的过程是相同的,因此,我们可以直接调用集群超载容错机制来根据该游戏的候选集群列表来申请接入。
假设图中的服务器1发生宕机事件,其上运行着玩家A,玩家B,玩家C三个游戏;按照所需资源排序的顺序是:玩家C大于玩家B,玩家B大于玩家A。首先为玩家C在这一集群中查找是否可以分配,查找到服务器3有足够的资源,因此把玩家C分配到服务器3上面;再为玩家B在这一集群中查找是否有服务器可以分配,查找到服务器2,然后分配给服务器2;这时在为玩家A查找服务器,发现集群中的服务器已经都没有足够的资源可以容纳玩家A了,所以玩家A只能根据自己的候选集群列表去请求其他的集群,此过程便是调用集群超载机制的过程。
下面给出该机制的核心步骤:
1)获得宕机服务器上的游戏列表并排序;
2)遍历游戏列表,并依次调用服务器分配算法;
3)若分配成功,则继续遍历;
4)如分配不成功,则调用集群超载容错机制。
三、实验设计与性能分析
该实验主要模拟玩家数量高并发时的场景;在玩家急速加入时,考察集群超载容错机制是否能够有效的解决集群超载问题,然后,在某一集群中,运行时突然关闭服务器,模拟服务器宕机现象,考察服务器宕机容错机制是否能够成功地转载宕机服务器上的游戏。
1、实验设计
本实验仍然使用PeerSim模拟器来搭建仿真实验环境,在测试集群超载机制和服务器宕机机制时,主要是通过与不运行该机制时进行对比,然后分析他们的平均响应延迟和所需的平均处理时间。实验分为28个周期,一个周期代表一天的游戏活动;每个周期又分为24个子周期。假设8pm-12am(即子周期20到24)为高峰期,即大量玩家都在线。随机选择60%的节点在子周期(0,2]中随机游戏一段时间,25%的节点在子周期(2,5]中随机游戏一段时间,剩下的15%的节点在子周期(5,24]中。在一个周期中,每个玩家的游戏开始时间以30%的概率从子周期[1,19]中随机选取,以70%的概率从子周期[20,24]中随机抽取。记录每个子周期段的在线玩家数量和使用这些数据来预测在线玩家数量。
在模拟仿真实验中,默认有1个云端数据中心、3个边缘服务器集群,每个集群中有5个服务器,其中留有两台服务器备用,也就是先不开启。使用统计数据来设置仿真中下载带宽的分布,为了模拟真实的网络连接,节点的上传带宽容量被设置为其下载带宽的1/3。设置在线和离线玩家共10000名,每名玩家的朋友数服从倾斜系数为0.5的幂律分布。为了模拟玩家的动态的增长,玩家加入系统服从期望为5的泊松分布,即平均每秒5名玩家加入。每名玩家在游戏结束后离开系统,并加入到下一个实验周期的系统中。游戏的延迟要求如表1所示。游戏视频的帧速率设置为30fps,因为30fps的帧速率是满足游戏服务质量的最低标准。玩家与服务器之间的通信延迟是从ping英雄联盟服务器的延迟中根据频率随机选择的。
表1用于测试的游戏信息
延迟要求 延迟容忍度 视频分辨率
30ms 0.6 720×486
40ms 0.7 800×600
50ms 0.8 1024×760
60ms 0.9 1024×760
70ms 1 1024×760
为了达到集群超载的目的,本发明在仿真实验中减少了两个集群,使用了3个集群,且每个集群中只开启了三台服务器,两台留着备用。然后选用一些延迟较严格的、较小的游戏进行实验,因为这样游戏的候选集群便会比较少,集中在某一两集群中。
2、性能分析
根据仿真实验得到的结果,主要从容纳玩家的数量和集群的资源利用率进行分析。因为当超载时,通过本发明提出的集群超载机制可以转载集群中的游戏到其他集群,所以使集群可以容纳更多的玩家,达到充分利用集群资源的效果,缓解超载所带来的云游戏服务质量问题。
如图5所示,分别在集群容错机制运行前后获取了玩家数量。从图中可以看出,在不运行该机制时,整个云游戏框架在28分钟时,所有的玩家加入了集群进行游戏,此时的总人数为7016人;在运行该机制后,整个框架在36分钟时,所有玩家都加入了游戏,此时能够容纳的玩家数量为9827人。因此,该机制提高了集群的资源利用率,有效的解决了集群超载问题。
如图6所示,分别测试延迟为30ms到70ms,游戏的延迟越大,集群所能容纳的玩家数量就越多;这是因为当游戏的延迟要求变大时,所能加入的候选集群就多了,所以得到服务的可能性就变大。
在游戏的运行过程中,突然手动关闭集群中的某一服务器,模拟服务器宕机的情况。主要分析宕机服务器上的游戏转移所花的时间,如图6所示,可以看出游戏的延迟要求越不严格,所需的转移平均处理时间越少,游戏延迟要求70ms的比延迟要求30ms的平均转移时间少13秒,这时因为服务器宕机机制在执行时,优先考虑的是所占资源比较大的游戏,并且70ms的游戏在找候选集群时比较多,容易满足延迟要求;因此,延迟大的游戏更容易得到服务。且转移所需的处理时间比较短,不影响玩家的用户体验,该机制能够快速的转载服务器上的游戏,解决了服务器宕机所带来的严重问题。
表2视频源信息
游戏延迟(ms) 处理时间(ms)
30 35
40 33
50 27
60 25
70 22
本发明提出了一种基于边缘计算的云游戏错误恢复机制,该机制使用边缘服务器来提高云游戏服务质量的方案。其主要目的是提高云游戏的服务质量,分别从集群超载和服务器宕机两个方面增强服务质量。首先介绍系统整体架构,以及各个模块的设计和模块之间的交互。紧接着详细介绍了集群超载模块的设计和服务器宕机模块的设计。然后给出了机制应对错误采取的方法,从整体上提高了边缘计算的可靠性,云游戏的服务质量。最后给出机制的运行效果对比图,实验结果表明,该机制能够提高云游戏的服务质量。
本技术领域技术人员可以理解的是,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来生成机器,从而通过计算机或其他可编程数据处理方法的处理器来执行的指令创建了用于实现结构图和/或框图和/或流图的框或多个框中指定的方法。
本技术领域技术人员可以理解的是,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
上面结合附图对本发明的实施方式作了详细地说明,但是本发明并不局限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

Claims (4)

1.一种基于边缘计算的云游戏错误恢复方法,其特征在于,动态获取玩家游戏对应的边缘服务器集群候选列表,所述候选列表中的集群是根据游戏的延迟要求和游戏所需的资源来匹配获得,并按照延迟时间升序排序;采用集群超载容错机制和服务器宕机容错机制实现云游戏错误恢复;其中,
所述集群超载容错机制,用于把超载集群中的游戏卸载到其他具有剩余资源的集群,具体步骤如下:
1)、当某新玩家请求运行的游戏所对应的候选列表中的所有集群均无满足其运行的可用资源时,依次轮询该新玩家游戏的候选列表中的集群里所有正运行的且资源消耗大于该新玩家游戏的游戏列表;
2)、依次判断游戏列表中的各个游戏自身所对应的候选列表中的集群是否有可供其自身运行的剩余资源:
如果其候选列表中存在剩余资源可供其运行的候选集群,则将游戏列表中的该游戏从当前集群转移到该候选集群中,并将该新玩家的游戏加入该当前集群中;
如果无,则将该新玩家的游戏直接加入到云端服务中心;
所述服务器宕机容错机制,用于当集群中的某一台服务器出现宕机或者出现超载时,迅速转移宕机服务器上的游戏;具体步骤如下:
A、把宕机服务器上的游戏按照所需资源的大小降序排序,生成游戏列表;
B、遍历游戏列表,依次调用服务器分配算法,即让所需资源大的游戏在该集群中优先寻找主机分配;根据分配是否成功执行以下动作:
如果分配成功,则继续遍历游戏列表进行分配;
如果分配不成功,即该集群中没有满足资源要求的服务器,则调用集群超载容错机制。
2.一种基于边缘计算的云游戏系统,其特征在于,包括:游戏程序模块、云端服务中心、服务器动态部署模块、集群容错模块、服务器容错模块;其中,
游戏程序模块,用于向云端服务中心请求运行游戏,当终端接收到服务器发送过来的游戏视频,进行解码播放;
云端服务中心,用于接收到请求后,执行集群选择算法,即根据游戏的延迟要求和游戏所需的资源来匹配适合的集群,并以待选集群列表按照延迟升序排序的形式返回给服务器动态部署模块;
服务器动态部署模块,用于当集群中没有足够的可用资源时,动态开启集群中的备用主机;如果集群中还有备用主机可用,则直接开启,如果没有,则选择待选集群列表中的下一个待选集群加入,依次类推,直到最后无集群满足条件时,触发集群容错模块;
集群容错模块,用于把超载集群中的游戏卸载到其他具有剩余资源的集群,如果试图转载失败或者所有集群中都没有可用资源,则将该游戏直接加入到云端服务中心;
服务器容错模块,用于当某一台服务器宕机时,为服务器上运行的游戏重新分配资源;首先查询本集群中是否还有足够的资源用于分配给这些游戏,如果本集群没有足够剩余资源,便调用集群容错模块处理。
3.根据权利要求2所述的一种基于边缘计算的云游戏系统,其特征在于,集群容错模块包括:
游戏列表生成单元,被配置执行以下动作:当某新玩家请求运行的游戏所对应的候选列表中的所有集群均无满足其运行的可用资源时,依次轮询该新玩家游戏的候选列表中的集群里所有正运行的且资源消耗大于该新玩家游戏的游戏列表;
游戏转载单元,被配置执行以下动作:依次判断游戏列表中的各个游戏自身所对应的候选列表中的集群是否有可供其自身运行的剩余资源:如果有,则将游戏列表中的该游戏从当前集群转移到该候选集群中,并将该新玩家的游戏加入该当前集群中;如果无,则将该新玩家的游戏直接加入到云端服务中心。
4.根据权利要求2所述的一种基于边缘计算的云游戏系统,其特征在于,服务器容错模块包括:
游戏列表生成单元,用于把宕机服务器上的游戏按照所需资源的大小降序排序,生成游戏列表;
服务器分配单元,用于遍历游戏列表,依次调用服务器分配算法,即让所需资源大的游戏在该集群中优先寻找主机分配;根据分配是否成功执行以下动作:如果分配成功,则继续遍历游戏列表进行分配;如果分配不成功,即该集群中没有满足资源要求的服务器,则调用集群容错模块。
CN201810287744.4A 2018-03-30 2018-03-30 一种基于边缘计算的云游戏错误恢复方法及系统 Active CN108499100B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810287744.4A CN108499100B (zh) 2018-03-30 2018-03-30 一种基于边缘计算的云游戏错误恢复方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810287744.4A CN108499100B (zh) 2018-03-30 2018-03-30 一种基于边缘计算的云游戏错误恢复方法及系统

Publications (2)

Publication Number Publication Date
CN108499100A true CN108499100A (zh) 2018-09-07
CN108499100B CN108499100B (zh) 2021-02-19

Family

ID=63379866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810287744.4A Active CN108499100B (zh) 2018-03-30 2018-03-30 一种基于边缘计算的云游戏错误恢复方法及系统

Country Status (1)

Country Link
CN (1) CN108499100B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194984A (zh) * 2018-11-09 2019-01-11 中山大学 一种基于边缘计算的视频帧调度方法
CN109460297A (zh) * 2018-11-01 2019-03-12 中山大学 一种边缘云游戏缓存和资源调度方法
CN110300024A (zh) * 2019-06-28 2019-10-01 中天宽带技术有限公司 一种服务器任务处理方法、装置及其相关设备
CN110933036A (zh) * 2019-10-29 2020-03-27 咪咕互动娱乐有限公司 一种云游戏服务系统和服务器
CN111643889A (zh) * 2020-05-06 2020-09-11 腾讯科技(深圳)有限公司 一种游戏控制方法、装置、存储介质和电子设备
CN111669444A (zh) * 2020-06-08 2020-09-15 南京工业大学 基于边缘计算的云游戏服务质量增强方法及系统
CN111773662A (zh) * 2020-06-29 2020-10-16 济南浪潮高新科技投资发展有限公司 一种基于雾计算的云游戏加速方法、系统、装置及介质
CN111905362A (zh) * 2020-08-19 2020-11-10 网易(杭州)网络有限公司 游戏公会的加载方法和服务器
CN114785797A (zh) * 2022-04-26 2022-07-22 南京甄视智能科技有限公司 一种录像存储容灾系统及方法
WO2023273977A1 (en) * 2021-06-28 2023-01-05 International Business Machines Corporation Transferring task data between edge devices in edge computing

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102428703A (zh) * 2009-03-23 2012-04-25 生命力有限公司 基于反馈数据来选择视频压缩格式的系统及方法
CN103309764A (zh) * 2013-07-04 2013-09-18 曙光信息产业(北京)有限公司 虚拟机的容错机制的保护方法和装置
CN104270416A (zh) * 2014-09-12 2015-01-07 杭州华为数字技术有限公司 负载均衡控制方法及管理节点
CN106209411A (zh) * 2015-05-08 2016-12-07 阿里巴巴集团控股有限公司 分布式网络系统容错方法、装置及容错式分布式网络系统
CN106534916A (zh) * 2016-10-25 2017-03-22 杭州顺网科技股份有限公司 一种针对网吧环境基于三层服务器架构的视频直播系统
CN106844051A (zh) * 2017-01-19 2017-06-13 河海大学 一种边缘计算环境中功耗优化的负载任务迁移算法
CN107122249A (zh) * 2017-05-10 2017-09-01 重庆邮电大学 一种基于边缘云定价机制的任务卸载决策方法
US9919211B2 (en) * 2006-04-12 2018-03-20 Winview, Inc. Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9919211B2 (en) * 2006-04-12 2018-03-20 Winview, Inc. Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming
CN102428703A (zh) * 2009-03-23 2012-04-25 生命力有限公司 基于反馈数据来选择视频压缩格式的系统及方法
CN103309764A (zh) * 2013-07-04 2013-09-18 曙光信息产业(北京)有限公司 虚拟机的容错机制的保护方法和装置
CN104270416A (zh) * 2014-09-12 2015-01-07 杭州华为数字技术有限公司 负载均衡控制方法及管理节点
CN106209411A (zh) * 2015-05-08 2016-12-07 阿里巴巴集团控股有限公司 分布式网络系统容错方法、装置及容错式分布式网络系统
CN106534916A (zh) * 2016-10-25 2017-03-22 杭州顺网科技股份有限公司 一种针对网吧环境基于三层服务器架构的视频直播系统
CN106844051A (zh) * 2017-01-19 2017-06-13 河海大学 一种边缘计算环境中功耗优化的负载任务迁移算法
CN107122249A (zh) * 2017-05-10 2017-09-01 重庆邮电大学 一种基于边缘云定价机制的任务卸载决策方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XIANGJUAN314: "分布式与集群的区别是什么?", 《HTTPS://ZHIDAO.BAIDU.COM/QUESTION/306937801197676684.HTML》 *
朱辉: "网络游戏引擎中负载均衡问题的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109460297A (zh) * 2018-11-01 2019-03-12 中山大学 一种边缘云游戏缓存和资源调度方法
CN109460297B (zh) * 2018-11-01 2021-12-03 中山大学 一种边缘云游戏缓存和资源调度方法
CN109194984B (zh) * 2018-11-09 2021-02-12 中山大学 一种基于边缘计算的视频帧调度方法
CN109194984A (zh) * 2018-11-09 2019-01-11 中山大学 一种基于边缘计算的视频帧调度方法
CN110300024A (zh) * 2019-06-28 2019-10-01 中天宽带技术有限公司 一种服务器任务处理方法、装置及其相关设备
CN110933036A (zh) * 2019-10-29 2020-03-27 咪咕互动娱乐有限公司 一种云游戏服务系统和服务器
CN110933036B (zh) * 2019-10-29 2022-03-22 咪咕互动娱乐有限公司 一种云游戏服务系统和服务器
CN111643889A (zh) * 2020-05-06 2020-09-11 腾讯科技(深圳)有限公司 一种游戏控制方法、装置、存储介质和电子设备
CN111669444A (zh) * 2020-06-08 2020-09-15 南京工业大学 基于边缘计算的云游戏服务质量增强方法及系统
CN111773662A (zh) * 2020-06-29 2020-10-16 济南浪潮高新科技投资发展有限公司 一种基于雾计算的云游戏加速方法、系统、装置及介质
CN111905362A (zh) * 2020-08-19 2020-11-10 网易(杭州)网络有限公司 游戏公会的加载方法和服务器
WO2023273977A1 (en) * 2021-06-28 2023-01-05 International Business Machines Corporation Transferring task data between edge devices in edge computing
US11762743B2 (en) 2021-06-28 2023-09-19 International Business Machines Corporation Transferring task data between edge devices in edge computing
GB2622171A (en) * 2021-06-28 2024-03-06 Ibm Transferring task data between edge devices in edge computing
CN114785797A (zh) * 2022-04-26 2022-07-22 南京甄视智能科技有限公司 一种录像存储容灾系统及方法

Also Published As

Publication number Publication date
CN108499100B (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
CN108499100A (zh) 一种基于边缘计算的云游戏错误恢复方法及系统
Marzolla et al. Dynamic resource provisioning for cloud-based gaming infrastructures
US6315668B1 (en) System and method for networking video games
CN111084983A (zh) 一种云游戏服务方法、装置、设备及存储介质
Prodan et al. Prediction-based real-time resource provisioning for massively multiplayer online games
US10795735B1 (en) Method and apparatus for load balancing virtual data movers between nodes of a storage cluster
CN111659126B (zh) 匹配进程的分配方法、装置、服务器、终端及存储介质
CN110327621A (zh) 用于网络游戏客户端匹配的方法及设备
CN103257899B (zh) 计算机系统
CN110147277A (zh) 一种资源动态部署方法、装置、服务器及存储介质
CN110113414B (zh) 一种管理副本的方法、装置、服务器及存储介质
CN110231977A (zh) 数据库的处理方法、装置、存储介质及电子装置
CN113486042B (zh) 数据处理方法、装置、计算机可读介质及电子设备
Barri et al. Distributing game instances in a hybrid client-server/P2P system to support MMORPG playability
CN112190927B (zh) 基于云计算的游戏资源分配方法及云游戏服务平台
Meiländer et al. A dynamic resource management system for real-time online applications on clouds
CN108404415A (zh) 数据的处理方法和装置
CN104572276A (zh) 一种基于云计算的并发数据处理方法
CN105978746B (zh) 游戏服务器集群系统及提高游戏空间服务方法
Nae et al. The impact of virtualization on the performance of massively multiplayer online games
CN112398957B (zh) 服务器的调度方法和装置、存储介质及电子设备
CN112156475B (zh) 一种业务数据处理方法、装置、电子设备及存储介质
CN114048033A (zh) 跑批任务的负载均衡方法、装置及计算机设备
Nae et al. SLA-based operations of massively multiplayer online games in clouds
Meiländer et al. A scalability model for distributed resource management in real-time online applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant