作|者|介|绍
中国移动云能力中心SaaS产品部技术推进组成员,边缘应用产品组云游戏研发经理。目前负责云游戏服务平台的研发工作。熟悉云游戏应用的架构设计方法及方案,对边缘应用的设计也有比较深入的研究及实践经验。
1、边缘计算
1.1 什么是边缘计算
边缘计算出现的时间并不长,这一概念有许多人进行过概括,范围界定和阐述各有不同,甚至有些是重复和矛盾的,就个人而言,比较推崇OpenStack(是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目)社区的定义概念:边缘计算是为应用开发者和服务提供商在网络的边缘侧提供云服务和IT环境服务;目标是在靠近数据输入或用户的地方提供计算、存储和网络带宽。
通俗地说:边缘计算本质上是一种服务,就类似于云计算、大数据服务,但这种服务非常靠近用户;为什么要这么近?目的是为了让用户感觉到刷什么内容都特别快。
边缘计算着重要解决的问题,是传统云计算(或者说是中央计算)模式下存在的高延迟、网络不稳定和低带宽问题。举一个现实的例子,几乎所有人都遇到过手机APP出现404错误的情况,这样的一些错误出现就和网络状况、云服务器带宽限制有关系。由于资源条件的限制,云计算服务不可避免受到高延迟和网络不稳定带来的影响,但是通过将部分或者全部处理程序迁移至靠近用户或数据收集点,边缘计算能够大大减少在云中心模式站点下给应用程序所带来的影响。
下图是一个边缘计算网络的概念图,它是连接设备和云端的重要中间环节。
1.2 边缘计算的价值
相比于集中部署的云计算而言,边缘计算不仅解决了时延过长、汇聚流量过大等问题,同时为实时性和带宽密集型的业务提供更好的支持。综合来看,具有以下优点:
安全性更高
边缘计算中的数据仅在源数据设备和边缘设备之间交换,不再全部上传至云计算平台,防范了数据泄露的风险。
低时延
据运营商估算,若业务经由部署在接入点的 MEC 完成处理和转发,则时延有望控制在 1ms 之内;若业务在接入网的中心处理网元上完成处理和转发,则时延约在 2~5ms 之间;即使是经过边缘数据中心内的 MEC 处理,时延也能控制在 10ms 之内,对于时延要求高的场景,如自动驾驶,边缘计算更靠近数据源,可快速处理数据、实时做出判断,充分保障乘客安全。
减少带宽成本
边缘计算支持数据本地处理,大流量业务本地卸载可以减轻回传压力,有效降低成本。譬如,一些连接的传感器(例如相机或在引擎中工作的聚合传感器)会产生大量数据,在这些情况下,将所有这些信息发送到云计算中心将花费很长时间和过高的成本,如若采用边缘计算处理,将减少大量带宽成本。
由此可看,5G推动社会从人联时代走向物联时代,连接数的大量增长,叠加边缘计算自身优势,将成为5G时代不可或缺的一部分。同时,由边缘计算带来的算力需求将成为5G时代重要增量部分。
2、云游戏
2.1 云游戏基本原理
云游戏将传统游戏的存储、计算和渲染都转移到云端,实时的游戏画面串流到终端进行显示,最终呈现给用户。云游戏又被称为GaaS(Game as a Service),它将游戏体验变成了一种服务,提供给广大用户,解决了用户不断购买或升级终端的困扰,也避免了频繁下载和更新游戏内容,在成本、时间、内容、维护等方面提升了游戏体验。
与本地游戏相比,云游戏增加了抓屏、编码、网络传输、解码等主要过程,即流化过程。区别于端游、页游、手游和主机游戏,云游戏的游戏资源、运行、渲染都在云端完成,相当于是用户在云端玩游戏。
端游(客户端游戏)需要先从游戏官网下载一个游戏客户端到本地硬盘中运行,其游戏各种场景、人物、动画、图片、音频等各种资源均在本地完成加载,在本地运行游戏的各项逻辑计算和渲染。游戏运行速度、画面效果取决于本地电脑的硬件配置。
页游(网页游戏)和小游戏,虽然看起来无须下载和安装客户端,但实际上游戏资源和逻辑均需要在打开网页时加载至本地,因此游戏的运行也是在本地完成。
手游和主机游戏的原理都类似于端游,它们的区别是终端平台不同。
云游戏,本质上是一种基于云计算的远程技术应用,只需将游戏下载到云端服务器上存储并运行,游戏渲染出来的每一帧视频画面,通过网络传送到指定的终端进行解码输出。云游戏和云桌面、远程控制都属于远程技术的应用,技术原理相似,但这三者的侧重点不同。远程控制(例如Teamviewer等),它的被控制方不一定在云端,可以是在家庭、公司的某一台电脑。云游戏和云桌面的计算和存储实体都在云端,但云桌面通常不带GPU。远程控制和云桌面的功能没有针对游戏来设计,都不适合用来玩游戏,而云游戏对游戏功能进行了深度优化,因此能提供优质的游戏体验。
从云游戏的原理看,终端只需要进行简单的解码输出和上传玩家操作指令,这里的终端不限于PC、笔记本、平板、手机、电视盒子等设备,因此云游戏大幅减少了对终端性能的要求,只需要具备一定的解码能力。这样带来的好处是,降低游戏终端门槛,可以跨终端和跨平台,使游戏体验更容易、更方便地被获得。
2.2 云游戏的分类
市场上为人所知的云游戏虽然原理基本一致,但按照计算平台、串流方式、资源形态等维度看,云游戏之间又存在区别。
2.2.1 按计算平台:x86架构以及ARM架构
游戏三个主流市场是PC端游、主机游戏、手游,按照计算平台,云游戏同样也可以分两类,x86架构和ARM架构(这里的x86架构和ARM架构是指真正运行游戏的云平台的架构,而非终端的架构)。x86架构的云平台主要针对于PC端游和主机游戏的云化,ARM架构的云平台主要针对手游的云化。PC端游和主机游戏对终端性能的要求更高,云化的需求更加强烈。
2.2.2 按串流方式:游戏窗口串流与桌面串流
云游戏的产品形态主要有两种,游戏窗口串流和桌面串流。前者的特点是云端仅将游戏窗口内的画面串流至本地,只能用于游戏用途,而后者则是将整个桌面串流至本地,通常会预置各类热门网络游戏(LOL、DOTA2、PUBG 等)和主流游戏平台(WeGame、Steam、Origin等),用户就像在使用网吧电脑一样。
2.2.3 按资源形态:虚拟机流派与物理机流派
目前市场上主流两种资源形态,虚拟机流派和物理机流派。虚拟机流派一般采用服务器和专业显卡的云端资源组合,并以虚拟化的方式分配资源,较为灵活。而物理机流派的云端资源以一台台PC形式存在,显卡为家用游戏显卡,对游戏驱动的适配更好。
2.3 云游戏整体架构
云游戏整体架构由内容层、平台层、网络层、终端层协同构建,如下图所示。
内容层主要负责游戏内容源,主要由游戏提供商提供,从技术角度上,任何端游、主机游戏、手游都可以移植到相同运行环境的云平台上。
平台层主要包含业务管理系统和云渲染节点。业务管理系统负责内容、用户、资源的管理,为云游戏业务提供资源的调度和分配。云渲染节点是云游戏的核心之一,负责响应终端的操作指令,实现逻辑计算、实时渲染、流化编码、推流等功能。一般情况下一个业务管理系统可以对多个云渲染节点进行管理。云渲染节点一般需要靠近用户部署。
网络层主要涉及骨干网、城域网、接入网和家庭网络,如图5所示;也可以用移动承载的方式,如图6所示,用5G网络承载云游戏业务。网络层负责连接云平台和终端,其功能是将云端渲染好的画面,实时地、稳定地传输到用户的终端,网络质量与云游戏体验的关系紧密,带宽、时延、抖动、丢包等都会对体验产生影响。
终端层主要由显示设备、游戏操作设备组成,显示设备主要包含PC(台式或者笔记本)、机顶盒与电视、手机、PAD等,操作设备包括键盘、鼠标、游戏手柄等。终端层是用户接入云游戏的入口,主要接收并解码来自云平台的视频流,并进行显示呈现,同时对接操作输入模块,将操作输入指令上传到云平台。
3、边缘计算在云游戏产品上的应用与实践
3.1 移动云云游戏服务平台
3.1.1 产品介绍
移动云云游戏服务平台是基于中国移动“5G+云+边”能力,推出的集边缘节点资源开通、游戏资源分配、游戏云化、视频流编解码、游戏门户生成等功能的游戏能力平台。开展云游戏的合作伙伴,均可使用云游戏服务平台的PaaS、SaaS能力,快速搭建专属的云游戏后台及客户端,抢占客户先机,自助开展云游戏业务运营,对玩家进行管理,无需开发和维护底层平台。
3.1.2 产品特点
全面适配
全面适配手机、主机游戏,提供720P、1080P、4k分辨率,30帧、60帧游戏刷新率,采用自适应码流传输技术,玩家无论处于何种环境,均可享受游戏流畅运行。
快速接入
游戏开发商、游戏运营商、视频网站均可通过中国移动云游戏PaaS、SaaS能力快速打造专属的云游戏平台,无需投入大量的研发、硬件、网络等资源,即可快速开展云游戏运营业务。
多终端适配
提供Android、PC、H5版本SDK,手机、浏览器、机顶盒等设备通过简单的集成即可快速接入云游戏,摆脱对终端硬件的限制,点开即玩,无需等待。
5G+边缘加速
遍布全国的边缘计算节点,进行游戏本地分流、渲染、计算机音视频的编解码,通过5G切片能力引入提供游戏专网,保障大带宽、低延迟,为游戏运行提供QoS保障。
3.1.3 产品架构
为有研发实力的游戏厂商,通过PaaS平台获得游戏流化、云化应用管理、业务支撑及游戏应用适配4大核心能力,以SDK、API形式能力输出,可以将已开发好的游戏转换为云游戏格式,也可以基于能力进行云游戏开发:
- 游戏流化:主要负责包体云化、适配、实例调度等管理。
- 应用管理:存储包体、游戏等元数据。
- 业务支撑:进行业务指标监控、排队监控等业务支撑分析。
- 游戏适配:基于运行方式、操控方式等进行人工适配。
SaaS平台提供用户管理、产品管理、配置管理能力:
- 产品管理:主要负责产品的元数据导入、状态管理。
- 用户管理:主要负责支持用户信息、在线用户、订单状态等信息的在线查询。
- 配置管理:主要负责登录认证、数据分析、权限管理、系统设置。
3.2 主要技术能力
基于5G核心网UPF转发面提供联接能力,部署边缘节点,提供ARM/X86+GPU服务器为云游戏业务提供算力。通过采用5G+MEC方案,提供贴近用户的边缘连接、算力和存储等资源,构建云游戏边缘计算网络,使最终用户可以就近获得流畅无卡顿的云游戏业务体验。
3.3 边缘计算能力
5G MEC节点可在网络边缘部署丰富的基础资源,提升用户体验,更好地满足终端用户需求。MEC是网络的自然延伸,是业务的汇聚点,基于多样化的业务数据及海量的终端接入,成为5G应用创新高地。
3.4 云网能力
中国移动整合网络分流能力、机房、边缘云、网络切片及云游戏平台等资源,对外提供云游戏能力SDK,游戏公司直接入驻,使用大网边缘计算和动态切片能力融合的云网一体化服务。
3.5 PaaS平台
PaaS平台:为有研发实力的游戏厂商,通过PaaS平台获得游戏流化、云化应用管理、业务支撑及游戏应用适配4大核心能力,以SDK、API形式能力输出,可以将已开发好的游戏转换为云游戏格式,也可以基于能力进行云游戏开发。
- 游戏流化能力:提供流化容器,资源调度、图像采集、编解码等基础流化能力:支持Windows运行环境和Android运行环境。两种环境里的应用可以在同一云游戏PaaS平台里提供。应用同时支持720p、1080p、4K等分辨率启动;输出帧率25-60fps可调;编码码率在512Kbps-100Mbps可调。
- 应用管理能力:负责云化以后的应用管理,应用分发,镜像挂载、热更管理等;
- 业务支撑能力:负责对多租户的管理、排队管理、支付及账单、大数据分析及监控等;
- 云游戏应用适配能力:主要是进行游戏云化测试及适配工作。
3.6 SaaS平台
为中小型游戏厂商或无研发实力的游戏代理商,通过SaaS平台快速搭建自己的云游戏后台及客户端,除了具备PaaS层相关能力,更重要的是获得开展云游戏运营的产品管理能力、应用管理能力、用户管理能力、配置管理四大基础能力,自主开展云游戏运营业务,无须开发和维护云游戏平台。
- 应用管理:主要负责游戏的元数据、导入、状态、服务包的管理。
- 产品管理:主要负责业务下平台产品的管理。支持产品创建、修改;支持产品状态机操作(测试、预上线、上线、预下线、下线、强制下线等)。
- 用户管理:主要负责支持用户属性、用户信息、在线用户、订购关系、订单状态、账单等信息的在线查询。
- 配置管理:主要负责登录认证、数据分析、权限管理、系统设置、智能监控等功能。
4、总结与展望
云游戏的本质是云端算力的重新分布,具有云端的扩展性,稳定性,灵活性和集中管理等特性。云游戏从“端”到“云”和“边”,解放了用户侧终端的限制,进而对中心算力需求大增,并且有助于实现算力的高效合理利用和分配。
随着5G时代的到来,无论是用户需求还是游戏市场前景,云游戏都将成为5G时代下的杀手级应用,成为5G边缘计算产品。
参考文献
[1] 林立,熊金波,肖如良,林铭炜,陈秀华Gaming@ Edge:基于边缘节点的低延迟云游戏系统.
[2] 武涛,基于5G边缘计算的云游戏服务平台系统设计.
[3] 华为技术有限公司,杭州顺网科技股份有限公司《云游戏白皮书》.
【本文为51CTO专栏作者“移动Labs”原创稿件,转载请联系原作者】