游戏平台云化关键技术研究

2013-02-28 03:04刘晓军
电信科学 2013年1期
关键词:云化实例虚拟化

刘晓军,庞 涛,钱 锋,武 娟,黄 海

(中国电信股份有限公司广州研究院 广州510630)

1 引言

在以PC和游戏机为主流的传统互联网时代,游戏程序的运行主体位于终端,游戏平台仅处理相关用户认证、计费和下载等基本服务及游戏官方运维管理等。

随着移动互联网的发展,游戏步入多屏共享、多终端融合时代,为了满足不同类型终端运行需求,需要将游戏支撑主体从终端向服务端迁移,采用传统游戏平台架构很难满足多终端、多网络的跨屏服务要求,而通过云计算技术,构建创新型游戏平台体系,更能适应市场和用户需求。

全新游戏平台需构建从底层基础设备到上层应用的一体化云化框架,组建完整的IaaS、PaaS和SaaS服务体系,不仅面向游戏用户提供服务,而且更需要面向游戏开发者提供认证、计费、社区化和游戏引擎等全方位保姆式能力开放支撑,同时为了满足弱终端运行游戏需求,还需采用应用虚拟化等技术,将游戏运行主体放置云端。

结合作者在游戏业务平台研发建设过程中引入云计算技术进行平台云化的相关工作经验,本文给出了游戏平台在云化实践过程中总结的关键技术成果,为其他平台引入云计算技术提供借鉴和参考。

2 游戏平台

2.1 游戏平台需求

传统型游戏平台,通常是指游戏运营平台,由游戏运营商搭建包括前端的门户体系、后端的业务和管理功能等。面向游戏用户提供认证、计费、游戏下载、游戏数据同步、数据存储等功能;面向管理运营人员提供产品上传、产品管理、运营维护和用户客服等支持功能。

为了满足移动互联网发展需求及多屏融合要求,新型的综合游戏平台需要增加自动适配终端的能力,包括适应不同分辨率及游戏产品自匹配等;满足各种不同终端用户间交互、交流和积分共享的社区化能力;具备不同终端间共享、下载和分发等能力。

为了提供游戏内容聚合能力,方便游戏开发商上传游戏内容,需要开放平台相关能力,增加社区、计费等功能;为进一步加速游戏开发商的游戏开发速度,还需要提供游戏引擎、终端测试和模拟运行环境等多种功能。

在终端侧作为平台功能延伸和展示前端,提供游戏内容展示等基本功能的基础上,为了满足多屏分享、推送等需求,需要增加多屏融合的支持能力。

同时,创新型游戏平台为了满足多终端用户需求,需要提供PC游戏、智能电视游戏、手机游戏、微端游戏、双端游戏和多屏融合游戏等复合型的游戏内容服务。

综上所述,相对传统游戏平台而言,创新型游戏平台需要具备同时面向游戏用户、游戏开发商和运营方提供相应服务,具备满足多终端,兼容固网、移动互联网等多种网络环境,提供PC、智能电视、手机和多屏融合游戏服务的能力。

2.2 创新型游戏平台体系

创新型游戏平台,需要具备“融合交互”、“多屏互动”、“内容汇聚”和“用户共享”等基本理念。基于创新型的用户体系,采用跨平台交互机制,聚合各种游戏内容类型,面向各种终端提供综合游戏服务,具体表述如图1所示。

如上图所示,创新型游戏平台整体服务体系,主要包括如下3部分。

·以用户体系为基础,构建平台游戏化:通过用户平台活动信息基础,打造用户平台认证和关联机制;通过平台内外交互,打造用户平台社区化机制;通过各种平台任务、积分排名,打造用户跨终端的平台竞争机制。

·以跨平台交互为基础,构建平台社区化:结合用户体系基础,同时面向手机、PC、TV及多屏融合终端等用户,构建跨平台的用户社区化综合服务,实现平台社区化功能。

·多种服务展示和内容聚合,构建融合化:通过WAP、Web和手机客户端等,提供手机游戏服务;通过EPG模式,提供TV游戏服务;通过Web和PC客户端提供PC游戏服务;通过WAP、Web和客户端等,并增加短信指令操控等全新模式,提供多屏游戏服务。以智能化适配各种终端模式,实现平台内容融合化等综合服务。

图1 创新型游戏平台服务体系

3 云化游戏平台架构

在游戏平台引入云计算技术,可以有效满足提供融合型游戏综合服务和兼容各种终端的服务需求,构建从底层设备到应用的一体云化的解决方案。

图2为游戏平台云化3层架构。

(1)基础设施服务(IaaS)

从设备、存储和网络3个方面完成平台基础设施的云化,达到服务器资源、数据和传输3个组成部分的联动优化,实现不同服务能力异构式部署在更广泛服务器上,在服务调用过程中通过空闲资源优化调度,达到各种服务能力跨服务器调配和组合,突破原有模式能力与服务器硬捆绑模式,更具灵活性和高效性。

图2 游戏平台云化3层架构

通过虚拟化机制优化资源配置,提升服务器、配套软件使用效率,在每台x86硬件物理机上安装虚拟化软件,并将虚拟机的所有文件放置在共享存储设备上,以实现支持虚拟机之间的动态漂移;通过分布式对象存储机制,保持用户游戏进度、社交信息等,为多屏共享奠定基础;面向各种网络条件和链接机制,建立自适应模式,智能适配各种网络条件,根据当前用户网络状况转化传输协议和速度。

(2)平台服务(PaaS)

平台服务针对游戏内容开发与测试,分别提供游戏开发引擎和测试环境。

结合跨平台HTML5的游戏开发引擎,实现多终端(手机、PAD、TV等)、多系统(iOS、Android、Java、Brew、Windows Phone等)无缝衔接的游戏适配与运行环境。

由虚拟化技术生成跨平台的测试环境,通过测试的游戏即可在各种手机、电视机等真实终端上顺畅运行,减少30%以上的开发和适配成本。

同时开放平台能力,改变传统平台用户认证、计费、社区关系等运营和个人服务等相关能力紧耦合模式,实现能力接口与平台松耦合,以中间件(例如SDK等)方式内嵌在应用中,达到应用中认证、计费和用户间社交等功能,摆脱平台对应用的束缚,实现优化平台能力外延和拓展。另外,为合作伙伴提供能力开发插件,直接将平台能力封装到合作伙伴运营管理人员桌面,打造包括产品发布和市场运营两部分的开放能力,其中产品发布是指实现基于合作伙伴桌面前端软件的产品发布、审核状态跟踪、计费点添加等一系列上线前准备等;市场运营是实现运营效果、付费情况和应用使用情况等有关用户行为和产品市场效果的跟踪与分析。

(3)软件服务(SaaS)

软件服务向用户提供各种应用云化处理,主要包括服务能力云化、应用能力云化两部分。服务能力云化,构建平台到用户间的能力云交互模式,从平台到用户的智能云分发、云加速下载等服务及从用户到平台的资源智能云存储、信息云匹配等;应用能力云化,包括支持多屏、多终端的应用服务呈现及基于云端运行的iTV机顶盒和智能电视运行大型三维游戏服务模式等;通过云化平台,实现单款游戏应用在多个终端上跨屏展示。

总之,基于整体云化的整体设计,可以实现基础设施层、平台能力层和应用服务层的三位一体的云化业务平台,达到从底层IT设施优化分配和智能调度,到平台能力应用内嵌、开发和运营支撑,再到服务和应用云化,形成自下而上的整体云服务能力。相比普通平台模式,采用整体云化的游戏业务平台设备利用率成倍提升,用户体验得到明显改善。

4 云化关键技术

整体游戏平台云化,就是构建从硬件底层到应用一体化云化服务,底层多租户技术是基础,平台能力接口封装是关键,最终呈现为应用的能力内嵌和云化。

4.1 多租户技术

基于虚拟化技术,实现多租户(multi-tenancy)模式,是一种软件架构技术,用于实现如何在多用户的环境下共用相同的系统或程序组件,仍可确保各用户间数据的隔离性。

如图3所示,常用的技术实现方式包括单一应用虚拟化多个实例、多个应用实例共享地址空间、多个应用实例独立的地址空间、主机虚拟化和独立硬件承载独立应用等多种模式。

(1)单一应用虚拟化多个实例:基于同一操作系统的虚拟机环境中,通过共享的数据存储地址和中间件,支持应用运行多个实例进程,类似传统应用多开模式。该种虚拟化并行的应用实例,仅适合不需要较强的数据分割的相同应用。

(2)多个应用实例共享地址空间:与单一应用虚拟化多个实例底层处理基本相同,不同之处在于中间件之上运行的是多个应用,而不是单一应用的多个实例,比较适合无需独立数据分割和处理的应用,例如页面浏览等。

(3)多个应用实例独立的地址空间:基于共享的操作系统,为每个应用构建单独的虚拟机,确保每个应用实例在操作系统层面的数据分割和独立,适合基于同一操作系统需要数据隔离的应用并行虚拟化。

(4)主机虚拟化:公用底层硬件资源,甚至有时可能存在宿主操作系统,虚拟机、客操作系统和应用实现紧耦合机制,采用并行应用间操作系统、虚拟运行环境软件模式的强隔离,适合基于不同操作系统的应用并行虚拟化处理。

图3 多租户技术示意

(5)独立硬件承载独立应用:实现基于真正底层硬件层面的相互隔离,并在独立的硬件隔离基础上运行独立的虚拟机、操作系统,并在此之上运行对应应用,实现并行应用间的硬件隔离,适合需要真正独立硬件空间的应用并行处理。

对于游戏平台本身来讲,基于经济实用角度,大多数采用Linux+MySQL架构,除其上运行的个别应用之外,无需不同操作系统支撑,因此没有必要为每个应用采用单独操作系统模式,前3种多租户技术模式更加适合,而且可以有效减少操作系统和硬件开销。

·同一应用的相同操作,适合采用单一应用虚拟化多个实例模式,例如页面浏览、同一应用浏览/下载等。

·不同应用,无需强隔离的,适合采用多个应用实例共享地址空间模式,例如不同应用的浏览/下载、用户社区关系等。

·不同应用,需强隔离的,适合采用多个应用实例独立的地址空间模式,例如需要严格数据隔离的有关用户认证、计费、订购和应用消费统计等。

在游戏平台整体云化过程中,并非严格按照上述模式进行处理,而是灵活掌握应用间的关联性,采用资源优化调度和从严原则处理,即无需强隔离需与强隔离的应用运行在同一设备上,则一律采用多个应用实例独立的地址空间模式。

4.2 平台能力接口封装

平台能力接口封装是一种实现平台能力对外开放的技术手段,采用接口方式将平台能力提供给开发者,方便其直接调用或内置在应用中,表现形式有SDK/API能力封装、开发工具和运营管理工具等。

(1)SDK/API能力封装

采用SDK/API模式将平台用户认证、计费和社区化等能力进行接口封装,通过各种接口完成与平台间数据交互、用户信息同步等,实现认证、计费和社区功能。

(2)开发工具

基于游戏平台的开发工具,提供常见的游戏开发所需数据逻辑、特效和图形处理等通用游戏引擎功能外,同时增添了用户认证、计费等相关能力SDK,实现基于游戏平台的一体化开发。

(3)运营管理工具

通过软件工具模式,安装在合作伙伴桌面,实现通过Web界面的应用发布及维护,包括应用软件上传、发布,应用数据下载和在线浏览等。

4.3 应用能力内嵌和云化

游戏平台应用部分云化,主要包括两部分,一是对接平台能力封装,采用应用能力内嵌模式,实现基于应用层的云服务能力;二是直接基于底层多租户,实现服务运行在云端的终端展现模式。

(1)应用能力内嵌模式

在处理过程中包括两种内嵌方式,一种是直接内嵌能力代码,以链接模式,实现以平台功能页面内嵌在应用中;一种是整合平台封装能力的SDK/API,通过接口模式在应用界面上实现对平台能力调用。内嵌的能力又可分为基础服务能力和云服务能力,基础服务能力是指用户认证、计费和社区化等;云服务能力是指云分发、云存储、云共享、云编码和云转码等,作为游戏产品支撑能力,满足用户游戏下载、编转码等业务需求。

(2)应用云端运行模式

真正实现应用与终端分类,不依赖终端能力实现应用服务,直接在云端运行,完成相关逻辑运算、图形渲染和视频处理等;终端仅接收和展示功能,实现应用云化。主要的典型产品形式是云游戏,基于云端运行机制,可满足面向各种弱终端,例如iTV机顶盒、智能电视上体验大型3D游戏。

采取上述两种技术机制,通过应用能力内嵌,实现平台能力向应用本身延伸;通过应用云端运行模式,真正实现应用云化输出,满足不同终端的各种游戏服务需求等。

5 结束语

本文介绍了创新型游戏平台的基本功能和服务体系,阐述为了满足提供融合型游戏综合服务和移动互联网时代各种终端融合服务需求,需要采用云化机制,构建从底层设备到应用的一体平台云化解决方案,并结合电信游戏平台云化实践,剖析其业务组成,研究关键技术,通过多租户技术、平台能力接口封装、应用能力内嵌和云化等技术手段构建游戏平台整体云化体系,有效提升整体平台的服务效能,显著改善用户体验,为其他业务平台云化提供了参考和借鉴。

1 Ross J W,Westerman G.Preparing for utility computing:the role of IT architecture and relationship management.IBM Systems Journal,2004(43):5~19

2 Pazel D P,Eilam T,Fong L L,et al.Neptune:a dynamic resource allocation and planning system for a cluster computing utility.Proceedings of the 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid,Berlin,Germany,2002:57~64

3 朱旻.基于硬件虚拟化技术的跨平台安全保护研究.上海交通大学硕士学位论文,2011

4 陈康.云计算:系统实例与研究现状.软件学报,2009

5 莫然,李世国.云游戏——基于云计算技术的互动娱乐形式.艺术与设计(理论),2011

6 张旭东.关于对云计算技术的研究与应用.信息系统工程,2012

猜你喜欢
云化实例虚拟化
基于OpenStack虚拟化网络管理平台的设计与实现
5G/云化下的VR产业未来
对基于Docker的虚拟化技术的几点探讨
IBM中国企业云化实践中心成立
H3C CAS 云计算管理平台上虚拟化安全防护的实现
核心网云化技术的分析
存储虚拟化还有优势吗?
完形填空Ⅱ
完形填空Ⅰ