APP下载

大容量分布式游戏平台架构及关键技术

2015-12-26炫彩互动网络科技有限公司付志鹏杨维云

江苏通信 2015年6期

炫彩互动网络科技有限公司 陈 杰 付志鹏 杨维云 张 丹

中邮建技术有限公司 宋昌青

中国移动通信集团山西有限公司 郭 宝

中国移动通信集团公司 张 阳

大容量分布式游戏平台架构及关键技术

炫彩互动网络科技有限公司 陈 杰 付志鹏 杨维云 张 丹

结合游戏平台业务特点,提出了大容量分布式游戏平台架构。讨论了平台架构体系,平台关键技术中的负载均衡和分布式架构。平台已承载了手机游戏、电视游戏、游戏社区等多元化游戏产品,能快速响应不同运营商用户的服务请求,实现了平台架构设计的高性能、高可用、可伸缩、易扩展的目标。

平台架构; 负载均衡; 分布式

0 引言

近年来,移动互联网业务如游戏、视频等访问量剧增。传统的集中式业务平台多采用IOE(IBM、Oracle、易安信公司)架构[1],即基于IBM小型机、Oracle数据库与EMC存储设备组合的架构,投资成本高且扩展性受限,难以支撑业务快速发展,已经被百度、阿里巴巴、腾讯(BAT)等互联网公司逐步放弃。

为了解决业务平台面临的高并发访问、海量数据处理、高可靠运行、业务随需应变等一系列问题与挑战,业界在实践中应用了多种技术,包括分层架构、大规模集群、分布式缓存等。本文基于业界解决方案,结合游戏平台业务特点,提出了大容量分布式游戏平台架构,有效满足移动互联网应用亿万级规模的用户并发访问和大规模数据存储等需求。

1 平台设计要素

与传统应用相比,大型移动互联网平台应用具有以下特点:

高并发:移动互联网业务用户增长快速,需要面对高并发用户以及长时间的大流量访问。“淘宝”2014年“双十一”活动全天成交金额571亿元,其中移动端交易额243亿元,物流订单2.78亿个。

高可用:系统7×24 h不间断服务,服务的中断会带来严重的损失。2015年携程网宕机12 h,造成了巨大的负面影响。

海量数据:业务数据增长快速,存储、管理海量数据,需要使用大量服务器。Google有超百万台服务器为全球用户提供服务。

用户接入环境复杂:面向全球用户提供服务,用户网络环境千差万别,国内不同运营商网络存在互通问题。

需求多变:移动互联网产品用户需求变化快速,多采用迭代开发的模式,快速发布新版本。微信朋友圈的研发过程为4个月,团队完成了30多个版本的迭代。

上述需求使得平台架构的设计需要关注性能、可用性、伸缩性和扩展性等关键要素,具体说明见表1。

表1 平台设计关键要素

2 平台架构体系

平台采用分布式架构和层次化模块设计,并根据移动互联网业务需求,将公共核心业务能力(如计费)抽取出来,形成可共用的对内对外服务。系统主要核心模块如图1所示。接入层负责用户客户端的接入以及互联网服务的分发,主要包括智能DNS(域名系统)、CDN(内容分发网)等服务模块。业务层面向用户提供门户、计费、内容搜索等服务,包括业务应用层和业务接口层两层;业务应用层包括用户、计费等共用功能模块;核心层包括核心接口层、核心层以及底层数据库。其中核心接口层与业务接口层对接,供业务层调用。核心层对缓存及数据库进行封装和访问,当数据在缓存中时直接对数据进行访问,数据不存在缓存中时再访问数据库。

3 平台关键技术

3.1 负载均衡

随着手机游戏的快速发展和业务量的不断提高,负载均衡是游戏平台必不可少的基础技术手段。负载均衡将负载分摊到不同的服务单元,不仅可以实现平台的伸缩性,又保证了服务的可用性,还提升了响应速度,给用户好的体验。随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 Big-IP、Citrix NetScaler等,但其价格却十分高昂,因此一些免费又可靠的负载均衡软件方案是比较好的选择。

游戏平台首先利用DNS域名解析作为第一级负载均衡手段,采用智能DNS技术与多线接入的方式加速异网用户的访问。智能DNS带有IP地址库,可根据用户的源IP(网际协议)识别和自动判断用户来源、所属运营商,智能把用户请求重定向到用户所在运营商网络部署的服务器,从而减少跨网流量,加快用户的访问速度,提升用户的体验。目前DNS解析服务提供商DNSPod提供免费的智能DNS服务。

平台可以根据用户访问情况实现IP负载均衡。通过增加用户接入点做到负载分流,避免单负载均衡器的性能瓶颈。如对于电信用户比较多的游戏平台,可以增加电信网络下的服务器,通过各种负载均衡策略优化访问体验。一般常用的负载均衡算法包括轮询算法、加权轮询算法、随机算法、最少连接算法、源地址哈希算法等。

游戏平台选用免费开源软件Haproxy[2]作为负载均衡的软件解决方案。Haproxy是一种提供高可用、负载均衡、基于TCP(传输控制协议)和HTTP应用的代理技术。作为免费开源的解决方案,Haproxy特别适用于负载大、需要会话保持或七层处理的网站,支持虚拟主机,可以支持数以万计的并发连接,并且可以简单安全与当前的平台架构进行整合,并实现Web服务器与外界隔离。在游戏平台的实践中,Haproxy对外提供HTTP代理服务,包括游戏大厅、用户中心、计费、能力开放平台、门户等HTTP服务;对内主要用与TCP代理服务,用于代理核心、数据层服务,分别代理游戏核心业务、用户核心业务、数据库业务。

为了实现集群的高可用,还需要对节点进行检测以避免单点故障,使得节点做到双节点备份,故障无缝热切换。游戏平台采用开源软件Keepalived[3]方案,Keepalived是一种高性能的服务器高可用或热备解决方案。

3.2 分布式架构

游戏平台采用分布式的架构设计模式,通过分布式缓存、分布式数据库、分布式文件系统,实现平台的高性能、高可用与高扩展性。

缓存是网站性能优化的第一解决方案,通过将数据存储在访问速度较高的存储介质,能有效提升用户访问速度。分布式缓存将缓存部署在多个服务器组成的集群中,其架构主要有两种,一种是以J Boss Cache[4]为代表的需要更新同步的分布式缓存,一种是以Memcached[5]为代表的不相互通信的分布式缓存。对于目前的游戏平台,需要缓存的数据量一般比较大,采用需要同步的方案代价太大,一般采用Memcached方案。Memcached是一套高性能的、分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。通过在内存里维护一个统一的巨大的哈希表,Memcached能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

平台的数据存储需要结合游戏业务的特性进行设计。游戏业务,尤其是手游业务所产生的数据与其他业务存在较大差别。一方面,数据时效性突出,手游内容和用户游玩生命周期都较短,因此必须对业务数据实时处理;另一方面,数据碎片化突出。非关系数据库(NoSQL)基于非关系、分布式、可扩展的设计模式,适合上述复杂查询场景。平台采用MongoDB[6]来提升海量数据处理效率。MongoDB是非关系数据库当中功能最丰富,最像关系数据库的。其支持的数据结构非常松散,可以存储比较复杂的数据类型。同时,对于用户付费、购买和平台/游戏收入等关键经营分析数据,依然保持结构化数据的特点,可以采用MySQL进行处理。

平台采用NFS(网络文件系统)作为分布式文件系统,提供底层的存储。NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

4 结束语

本文介绍了大容量分布式游戏平台架构,重点讨论了负载均衡与分布式技术。爱游戏平台是由炫彩互动网络科技有限公司(中国电信游戏基地)全力打造的互动娱乐平台,采用了上述架构与关键技术。平台已经上线两年,系统运行稳定。目前平台承载了手机游戏、电视游戏、游戏社区等多元化游戏产品,平台用户超2亿户,其中月活跃用户3 000万户,最高并发用户数500万户,门户访问量十亿次,实现了5个9的可用性。应用接口响应速度最高不超过500 ms,90%在100 ms以内;能快速响应不同运营商网络用户的服务请求,命中率达到99.99%。实现了平台架构设计的高性能、高可用、可伸缩、易扩展的目标。

[1]金峰. 电信运营商“去IOE”的思考[J]. 通信世界, 2014,(3):39.

[2]刘锴. 利用HAProxy实现选课系统Web负载均衡[J]. 电脑知识与技术, 2011(7):35-36.

[3]汪海洋, 凌永兴, 包丽红, 等. 基于Keepalived的高可用性应用研究[J].电子技术, 2014(7):21-24.

[4]郑雅萍, 张立东, 孙毅夫, 等. J BossCache缓存技术在集群系统中的应用[J]. 控制工程, 2008(S2):155-157.

[5]陈康闲. 大型分布式网站架构设计与实践[M]. 北京:电子工业出版社,2014: 60~70.

逍遥七绝阵自开创以来,生死二门,三重变化,至此才被诸圣淋漓尽致地演绎出来。东方宇轩看得心潮澎湃,感慨万千,武学之道固然是罔有其极,神妙如斯,也算是有一点小成吧,不知道父亲方乾,未婚妻方碧玲,他们看到会做何感想,他们会理解我此生的个中痴念吗?

[6]霍多罗夫. MongoDB权威指南[M]. 北京:人民邮电出版社,2011: 1~3.

分时长期演进系统语音回落全流程时延优化

中邮建技术有限公司 宋昌青

中国移动通信集团山西有限公司 郭 宝

中国移动通信集团公司 张 阳

摘 要:针对CSFB(语音回落)业务流程分析影响通话接入时延的各种原因,给出全流程时延优化的总体解决方案。目前TD-LTE(分时长期演进)系统语音业务解决方案是CSFB与VoLTE(基于LTE的语音业务),由于语音回落过程中涉及寻呼、回落、TCH(业务信道)指配等过程,全流程时延比普通2G3G语音呼叫要长2~3 s。优化后效果明显。

关键词:语音回落; 寻呼策略; 指配

1 呼叫时延分析

TD-LTE(分时长期演进)系统语音回落(Circuit Service Fall Back,CSFB)业务过程包括4个步骤:LTE/GSM(全球移动通信系统)网络联合附着,通话建立过程回落到GSM,在GSM发起语音呼叫,结束后返回LTE网络。通过全流程分析,CSFB呼叫时延缩短方法的研究主要涉及GSM核心网和无线网[1]。

以GSM普通呼叫时延为参照,对比CSFB呼叫全流程信令节点时延与GSM普通呼叫,通过量化统计,分析定位出CSFB呼叫较GSM普通呼叫存在3个时延增长点[2]。

1) 主叫鉴权:CSFB主叫收到immediate assignment至网络下发鉴权请求阶段;

2) 被叫寻呼响应:CSFB被叫paging response至网络下发鉴权请求阶段;

3) 被叫回落:CSFB被叫发送call confirmed至网络下发assignment command阶段。

2 CSFB主叫鉴权优化

CSFB主叫鉴权优化主要体现在呼叫鉴权组数量优化,分析发现,LTE网络的鉴权四元组会使CSFB呼叫鉴权时长多于GSM普通呼叫[3]。由于GSM网络鉴权仅需要鉴权三元组,故为进一步缩短CSFB呼叫时延,对GSM无线网络进行挖掘研究,发现BSC(基站控制器)中存在参数MSCR〔MSC(移动交换中心)release〕可以优化网络下发的鉴权组数量,从而缩短CSFB呼叫时延。

MSCR参数定义了MSC(网络)支持的终端能力,其取值范围为0和1,0表示MSC支持R98及之前的终端,1表示MSC支持R99及之后的终端。该参数在系统消息3中下发给手机,手机根据MSC支持的终端能力和自身终端能力取交集进行使用终端能力的上报。

根据3GPP(第3代伙伴计划)规范,在UMTS(通用移动通信系统)中,若手机上报的终端能力是R98及之前的终端,系统将下发鉴权三元组,若手机上报的终端能力是R99及之后的终端,系统将下发鉴权四元组。因此,若将MSCR参数设置为0,则可以使R99及之后的终端上报使用R98及之前终端能力,如此就可以使网络下发鉴权三元组,从而缩短CSFB鉴权时长,进而缩短CSFB呼叫时延。

经现场测试,参数修改达到预期效果。如表1所示,手机上报的使用终端能力由R99+变为GSM phase 2,鉴权要素由四元组变为三元组(即不带AUTN参数),CSFB呼叫时延显著缩短,而GSM网络运行正常,BSC及其下小区各项关键性能指标保持平稳,各项基本业务功能均使用正常,无异常波动和异常问题出现。

表1 MSCR参数修改前后CSFB呼叫时延对比s

需关注的问题是:目前GSM网络的异频切换(900 MHz与1 800 MHz之间切换)会要求classmark3,而classmark3只有R99及之后终端才会上发,R98及之前手机只会上发classmark1或classmark2,所以在将MSCR参数修改为0时曾担心可能会导致手机的异频切换失败。但是从现网修改试点看,无论是在MSCR参数修改前还是修改后,classmark change消息中都带有classmark3上报支持频段信息。这主要是由于MSCR参数的修改只是改变了手机上报的使用终端能力,而并不会改变手机本身的终端能力,所以无论MSCR参数设置为什么值,对于R99+手机classmark change消息中都会携带classmark3,所以异频切换不会受到影响。

3 CSFB寻呼时长优化

3.1 CSFB寻呼间隔时长优化

试验区域MSC发送CSFB寻呼的寻呼间隔时长等于MME(移动管理实体)上S1口寻呼间隔加1 s。经核查,试验区域网络S1口寻呼间隔为6 s,而MSC上CSFB两次寻呼间隔时长为9 s。为缩短CSFB呼叫时延,对MSC-S(MSC服务器)上CSFB的寻呼间隔时长进行修改,由9 s修改为7 s。

CSFB寻呼间隔时长修改后,对于响应一次寻呼的被叫用户,寻呼总时延没有发生变化;但对于一次寻呼无响应而二次寻呼响应的被叫用户,寻呼总时延减少了2 s。现网MSC pool下每小时有大约1.66%~2.27%的二次寻呼响应CSFB被叫通话,其寻呼时长缩短了2 s,提升了用户等待呼叫接续的感知,而MSC pool下CSFB一次寻呼成功率和CSFB寻呼成功率都保持平稳。

3.2 被叫选择性鉴权缩短寻呼时长

试验区域规定主叫每次鉴权,被叫选择性鉴权,建议启用选择性鉴权缩短接续时延[4]。针对CSFB用户回落2G时做被叫进行鉴权调整试验,通过对被叫1/16鉴权和1/4鉴权参数调整,达到缩短CSFB时延的目的。

选取试点区域内两个地点做定点测试,分别在功能开启前、开启1/4鉴权和开启1/16鉴权时各进行20次CSFB呼叫。为排除其他因素对实验效果的影响,只统计被叫RR(无线资源)paging response至RR assignment complete的时延,如表2所示。

表2 各种鉴权方式时延统计对比

从全鉴权、1/4鉴权和1/16鉴权三组定点测试的时延综合分析,开启被叫选择性鉴权后,从RR paging response至RR assignment complete时延统计时延减少约500 ms,达到预期的目的。

小结:CSFB用户回落2G时做被叫进行鉴权调整试验,通过对被叫1/16鉴权和1/4鉴权参数调整,开启被叫选择性鉴权后,从RR paging response至RR assignment complete时延统计时延减少约500 ms,达到缩短CSFB业务时延、改善客户感知的目的。建议针对CSFB被叫启用选择性鉴权缩短接续时延。

4 CSFB被叫回落TCH指配建立优化

4.1 精简2G频点保证CSFB精确回落

UE(用户设备)能否回落至2G最强频点是被叫回落成功的决定性因素,与2G优化人员建立良好的协作机制,第一时间删除2G回落频点中的超远、故障、高拥塞等质差小区,同时推动2G侧及时处理故障、拥塞小区。UE回落2G时会优先搜索RRC(无线资源控制) release中下发频点组的频点,当频点组中频点RxLev均低于某个门限时(各厂家的门限不同),才会搜索频点组以外频点。

如下因素会影响会导致回落质量:

· 由于未配置MTRF(恢复业务平均时间)跨pool回落必定失败;

· 是否回落到最强2G频点;

· 4G测回落频点组配置是否合理;

· UE选中回落频点是否2G质差小区。

精简2G频点、精确回落优化措施如下:

1) 结合拓扑结构,参考2G同站邻区,删除冗余回落频点。

目前MSC pool边界外回落频点数都在28个以上,删除冗余2G频点降低回落超远质差2G小区概率。在优化4G小区回落频点可按区域场景来规划2G邻区:密集城区只添加1.2 km以内2G邻区,县城、城郊添加2 km以内2G邻区,县郊、农村添加4~8 km以内2G邻区;同时参考最近2G邻区关系,对投诉处理、路测发现的一些重要重要邻区进行补漏。

2) 重点处理CSFB业务次数较多区域2G小区拥塞,提升无线接通率。

如图1所示,A点E-UTRAN(演进的通用陆地无线接入网)向GERAN(移动通信全球系统和增强型数据速率移动通信全球系统演进无线接入网)执行的CSFB重定向记录点,联合2G侧对CSFB重定向到GSM区域高发区域2G质差小区进行集中处理,提升CSFB回落和接通概率。

3) 及时从频点组中剔出2G质差、故障小区,提高回落质量。

不定期收集2G越区小区、拥塞常发小区,及时删除2G问题小区周边区域4G小区回落频点组中的质差频点(做好备份,2G侧问题问题闭环后,及时补上已删除频点);加大2G故障处理,4G侧及时清除回落频点组中配置2G故障小区。

4.2 TCH分配机制优化

针对CSFB被叫TCH(业务信道)分配时长偏长的问题,对TCH分配机制开展研究分析,发现试验区域在核心网计数器timemgwdm(媒体网关选择之前等待的时间)设置上与外省存在差异。试验区域计数器timemgwdm是主叫端等待被叫端接入确认的时长为5 s,而取值范围可以为1~14 s。

根据集团公司规定,当前核心网的呼叫接续流程采用前向延迟承载建立的方式。试验区域核心网爱立信MSC在这种要求下,主被叫TCH资源采用串行分配的模式:即在被叫端完成寻呼响应、接入证实后,才通知主叫端分配TCH资源,而在主叫端完成TCH资源分配后,最后再通知被叫端分配TCH资源。在不违背前向延迟承载建立方式的前提下,通过缩短计数器timemgwdm使被叫端提前回复APM(应用传送消息)消息,使得主叫端TCH资源分配流程与被叫端寻呼接入流程并行执行,从而优化呼叫时延。

现网CSFB呼叫从paging到call confirmed的平均时长为3.8 s,将timemgwdm的设置值由5 s设置修改为3 s,使现网主被叫TCH分配由串行分配变为并行分配。修改后,CSFB呼叫时延由修改前的10.4 s缩短到修改后的9.7 s,缩短了700 ms,优化效果明显。

5 总结

通过开展CSFB呼叫时延缩短方法的专题研究,总结出了基于多网段(核心网、无线网)、多级网元设备(MSC、BSC、cell)的CSFB呼叫时延缩短优化建议,研究成果可以有效指导CSFB业务质量提升优化工作,达到预期效果。

参考文献:

[1]徐德平, 耿鲁静. 浅析LTE系统CSFB话音解决方案[J]. 电信工程技术与标准化, 2013(1): 21-24.

[2]刘宇, 李赟, 聂永霞,等. LTE网络部署CSFB话音时MSC改造范围分析[J]. 广东通信技术, 2012(12): .35-37.

[3]许鹏飞, 蔡玉坤, 曹云娣, 等. 浅谈CSFB方案在LTE中的应用[J]. 科技创新与应用, 2014(12): 26-29.

[4]周彦, 武欣. TD-LTE CSFB话音解决方案研究[J]. 移动通信, 2011(19):.22-24.