论SOA 在网络游戏行业中的应用
【IT168 专稿】网络游戏产业作为一个新兴的行业,在短短的几年时间内,得到了飞速的发展。然而在发展的过程中,无论是国内国外的还是合资的,也无论是自主的代理的还是合作开发的,都不可避免的要面对规模扩大,结构复杂所带来的种种问题。系统扩展困难,游戏规模上不去;服务质量降低,玩家开始流失。如何解决?SOA面向服务的体系结构,以一种全新的方式来从容面对这一切。
主题关键字:网络游戏 扩展困难 服务质量降低 SOA 解决 发展
网络游戏产业作为一个新兴的IT行业,在短短的几年时间内,得到了飞速的成长。在快速成长的过程中,整个行业的用户数量也在成倍的增长。随着用户数量的大幅提升,如何来满足众多用户的需求。用户多了,要求也多了,但系统规模是有局限的,不可能无限提升的;而且网络速度也不是说要加快就能加快的;服务器的能力也是有限的,一定的吞吐量和一定的数据处理能力。如何来面对这错综复杂的重重困难?业务和IT对齐,为灵活而构建,面向业务的全新架构来从容的面对这一切。
传统的网络游戏行业情况错综复杂,表现万千,有一家运营商代理多个不同厂家的游戏的,也有一个游戏为多家公司代理运营;自主开发的,联合开发的情况也不一而同。要建立一个完善的解决方案对分析来说十分具有挑战性。然而如果我们从场景出发,以业务为主导,我们从横向来剖析一下传统的网络游戏,换一个视角来分析和拨开网络游戏面临的这重重迷雾……从总体上来看,网络游戏和游戏运营主要分为,用户认证中心,呼叫服务中心,游戏服务中心,和支付服务中心这么几大块。
用户认证中心:用户是游戏的最终使用者,无论是对于游戏开发商和游戏运营商都是必不可少的,每一款游戏,每一个运营商他们都必须有着自身的用户和用户识别系统。然而问题也就这样产生了,每一款游戏都有着自身的用户和识别系统,每一个运营商也有着自身的用户群。当一款游戏为多个运营商所代理,或是一个运营商要代理多款游戏时,怎么样把这些相当又不同的用户集成统一起来。一般的做法是以运营商为主,运营商跟据自身的代理关系对不同游戏的用户运行大集成,也就是传统的一号通(或叫通行证),以运营商为根接点树干上挂接各个游戏中心,再从游戏中心上挂接各个游戏的地区,地区下的组,再到各组下的每一台主机为叶子……这样的一树型结构。
虽然这样能从根接点(运营商)上依次得到各个游戏中的用户的信息,然而各个游戏的用户信息型式各不相同,访问方式也各有特点。接口各式各样,信息大量冗余。暂且不论在运行集成时各个系统的环境,开发语言,接口的修改的成本和风险代价。单从运营商以这样的一个独特的形式来提供服务,运营商的根服务器要面对大量的信息访问和传输处理,主机服务器吞吐量大处理速度低系统也终将会不堪重负。如何解决,如果我们从业务出发来看,无论是运营商的系统还是游戏提供商的系统,从用户业务流程都是一个确认用户的名称和密码和对用户的其它特性的描述。
而其中最为关键的也就是用户和密码。所以我们可以为每一个系统维持一个他们各自相对独立的用户认证系统他们之间以一种松散耦合的方式互相提供服务,而构成整个系统的用户认证中心。中心中以一种经抽象的标准化的用户格式标准来相互提供服务。这样只要定义好了一个统一的用户接口,那么无论是原有的系统还是新的系统都只要稍作改动,以新的方式或以APAPTER的方式将自身的用户接口联接到中心的消息总线上来。配以适当的策略就可以方便快捷的将用户的认证请求合理分布到各个独立的子系统中来。
呼叫服务中心:中各厂商面对用户的窗口。各个用户在玩游戏时出现的一切问题都会通和呼叫中心来解决。客户服务理所当然的成为了游戏用户于运营公司沟通的一条重要通道。在传统的解决方案中:呼叫中心是整个业务流程的枢纽,负责与用户、游戏服务、相关支付应用帐户系统打交道。
这种业务模式既增大了信贷员的工作强度,也增加了在处理的过程中的操作风险以及道德风险。呼叫中心在业务流程中起到枢纽作用的服务员,则要通过不同的方式访问不同的系统,如以B/S的方式获取用户的相关信息,以C/S的方式来得到游戏信息,再以B/S的方式来得到用户帐号和帐户的信息。最后再通过工作流OA系统向服务中心进行处理服务和调整申请。多样化的UI界面既增加了对呼叫中心服务员的IT技能要求,也极大的降低了呼叫中心服务人员的工作效率。而且当服务员可以操作和调整用户的帐号和帐务信息时,这一切就只能依赖员工道德和制度等外在方式来解决。
对呼叫服务中心的解决则要实现一个以服务为中心的企业整合。要通过用户认证中心、游戏中心和支付服务中心配合工作流系统来实现组合式服务。获取用户信息,查询相应的游戏状态信息,调整用户的帐户,并触发工作流信息。围绕呼叫中心服务流程进行服务建模分析,并在现有系统上构建企业服务总线。由于各个服务的相对独立性,呼叫中心又可以通过服务变换、服务调整和服务重新组装来自由的适应可能多的业务变化。随需而变,就象拼积本一样的来搭建你的应用业务。由于业务的处理都委托在各分布的服务系统中进行,所以各个服务系统的变化和升级调整等对于呼叫中心都是透明的。各个服务系统又对自身有着监控和优化,所以呼叫中心的业务操作又可以相对的隔离在一个可控的范围之内,达到安全可靠的目的。
游戏服务中心:游戏中心是企业服务中的重要组成部分,也是关键和服务的提供者。他一方面对用户提供着游戏服务,一方面又要对后台管理系统提供标准的查询管理服务。游戏服务器目前大多是采用C语言开发的,而后台的管理系统大部分又是采用高效的JAVA语言来完成。不同语言,不同系统不同环境下的业务整合是一个颇为复杂和困难的工作。
然而如果我们采用SOA的架构。游戏服务器对游戏客户端采用原来的方式不变,而对于后台管理的接口部分,通过统一的服务接口描述进行小范围的修改就能实现为系统总线提供统一的服务。开发的难度小速度也快。服务器部分独立性更强,修改和适应也就更为自由灵活了。
支付服务中心:支付服务中心,俗称帐务系统,这个一直以来是网络游戏业中分析和设计的最为困难的部份。它是公司利润的主要来源。从买卡充值到购物消费……这些不但形式多样而又都和公司的销售,财务,运营等多个部门有着千丝万缕的联系。从游戏上又集成了所用游戏的商品和道具。支付服务中心就做得异常的复杂和庞大。例如购物消费的过程中支付中心要将所有的游戏商品和道具等先集中起来,编号,分类和定价还有商品的描述和用户的消耗记录;而当游戏要增加修改或删除商品时又要先到支付中心来申请……。不难想象,当游戏中增加新道具,或是有促销活动时,信息的数据量是何其的巨大,业务流程又是何其的复杂。这样的集成将游戏中自主管理道具商品自由销售的行为都集成没了。违反了游戏的最基本的业务流程。
如果从业务出发,换个视角,我们会发现支付服务中心的业务十分的简单。就是支和付两个动作。用户有点卡银行等多种方式用帐户充值,又在各个游戏中玩游戏购买道具和商品等多种方式来消费。抽象出来就是查询帐户金额,加入金钱和减少金钱三个接口。支付中心以标准的接口来提供以上帐户信息的服务。游戏服务器维护自身的游戏商品和道具的信息并为支付中心提供服务。相互之间以一定的策略和标准和接口来行成一种松散耦合的关系。各自通过模块化、提高了各自系统的可重用性。符合当前网络游戏行业的现状。
总之,如果能通过面向服务的分析和解决方式使得系统总体架构建设的相对完善,那么对于运营公司和游戏公司来说,不仅能更多的提高系统的可用性,减少系统的运行和维护成本,更全面的了解和满足玩家们需要,还能通过这一企独有的核心竞争力,树立公司的品牌形象,提高玩家们的美誉度。,并且高举“服务”大旗来赢得用户。使企业做大做强,不断的提高自己的服务质量,为用户带美妙的生活娱乐休闲的体验感受。
0
相关文章