解耦游戏服务和战斗服务的方法、存储介质技术

技术编号:21899165 阅读:29 留言:0更新日期:2019-08-17 18:31
本发明专利技术提供解耦游戏服务和战斗服务的方法、存储介质,方法包括:战斗服务监听MQ服务上的队列Q;游戏服务在MQ服务上创建队列M,并监听所述队列M;当游戏服务接收到对应战斗服务的交互请求时,在所述队列Q上对应所述交互请求生产一队列Q消息,并将所述队列M的唯一标识符添加至所述一队列Q消息;任一战斗服务监听到所述一队列Q消息后,从中提取所述唯一标识符,并依据处理所述一队列Q消息得到的交互反馈信息向所述唯一标识符对应的所述队列M生产一队列M消息。本发明专利技术使游戏服务和战斗服务彻底解耦,不仅简化了游戏服务查找战斗服务的过程,同时大大减轻游戏服务的业务负担;而且也大大简化了维护工作。

Method and Storage Medium of Decoupling Game Service and Combat Service

【技术实现步骤摘要】
解耦游戏服务和战斗服务的方法、存储介质
本专利技术涉及游戏服务领域,具体涉及解耦游戏服务和战斗服务的方法、存储介质。
技术介绍
游戏服务端根据业务不同,一般分成游服(游戏服务:负责处理玩家游戏非密集计算的业务逻辑以及大厅等管理的服务器)与战服(战斗服务:用来完成计算游戏过程中密集交互的服务器)。具体的,游服提供玩家非战斗场景请求服务,如玩家基本信息、玩家背包装备、大厅等服务;战服主要是追求极速的战斗交互,性能要求与游戏服务大相径庭。因此,二者一般使用不同的实现方式,部署也不相同。然而,游服与战服之间是需要交互的,比如战斗结束后结算、请求战斗房间(从技术上讲就是为某战斗场景开辟一段内存空间)等。因此正规上,战服部署后的IP与端口需要告知游服,彼此之间形成互相依赖的一个整体。事实上,这就存在几个明显不便之处:第一、从架构上说,游服与战服形成依赖,游服一定需要知道战服的部署情况,多战服情况下,游服还需要一个仲裁机制来决定去请求哪个战服。第二、从运维的角度看,对部署一整套游戏服务端而言,配置较繁杂,且不易于操作。
技术实现思路
本专利技术所要解决的技术问题是:提供解耦游戏服务和战斗服务的方法、存储介质,通过解耦能够简化游戏服务查找战斗服务的过程,同时大大简化维护工作。为了解决上述技术问题,本专利技术采用的技术方案为:解耦游戏服务和战斗服务的方法,包括:战斗服务监听MQ服务上的队列Q;游戏服务在MQ服务上创建一与其对应的队列M,并监听所述队列M;当游戏服务接收到对应战斗服务的交互请求时,在所述队列Q上对应所述交互请求生产一队列Q消息,并将所述队列M的唯一标识符添加至所述一队列Q消息;任一战斗服务监听到所述一队列Q消息后,从中提取所述唯一标识符,并依据处理所述一队列Q消息得到的交互反馈信息向所述唯一标识符对应的所述队列M生产一队列M消息。本专利技术提供的另一个技术方案为:一种计算机可读存储介质,其上存储有计算机程序,所是程序在被处理器读取并执行后,能实现上述解耦游戏服务和战斗服务的方法所包含的步骤。本专利技术的有益效果在于:在创建链接过程,借助消息队列中间件(MQ服务)将战斗服务和游戏服务彻底解耦。具体在游戏服务与战斗服务交互过程中,约定MQ服务的队列Q即作为游戏服务生产消息的队列,又作为战斗服务消费消息的队列;游戏服务依据接收到的交互请求向该队列生产消息,该消息中包含游戏服务消费的队列M;后续,战斗服务消费该消息时,将通过队列M返回反馈信息。由此,游戏服务只需经过一生产一消费,战斗服务经过一消费一生产的过程,便可创建二者的对等通信交互关系。本专利技术能够彻底的解除游戏服务和战斗服务在架构上的依赖关系,不仅简化了游戏服务查找战斗服务的过程,同时大大减轻游戏服务的业务负担,从而显著交互效率;而且也大大简化了维护工作,只需维护游戏服务和战斗服务各自与MQ的依赖关系,而不用再维护游戏服务内的战斗服务列表。附图说明图1为本专利技术实施例一种解耦游戏服务和战斗服务的方法的流程示意图;图2为本专利技术实施例一一种基于MQ解耦游戏服务和战斗服务创建房间的方法交互示意图;图3为本专利技术实施例二的系统架构示意图。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。本专利技术最关键的构思在于:利用消息队列中间件(MQ服务)作为游戏服务和战斗服务交互创建对等链接的消息中转方,使游戏服务和战斗服务彻底解耦。本专利技术涉及的技术术语解释:请参照图1,本专利技术提供解耦游戏服务和战斗服务的方法,包括:战斗服务监听MQ服务上的队列Q;游戏服务在MQ服务上创建一与其对应的队列M,并监听所述队列M;当游戏服务接收到对应战斗服务的交互请求时,在所述队列Q上对应所述交互请求生产一队列Q消息,并将所述队列M的唯一标识符添加至所述一队列Q消息;任一战斗服务监听到所述一队列Q消息后,从中提取所述唯一标识符,并依据处理所述一队列Q消息得到的交互反馈信息向所述唯一标识符对应的所述队列M生产一队列M消息。从上述描述可知,本专利技术的有益效果在于:能够将游服与战服彻底分离,游服完全不必要知道当前战服配置什么,也不必知道哪些战服是可用的,而这些特性都是由MQ保证;且当前战服没有能力消费队列消息时,此消息会被下一个有能力消费的战服消费,能够确保及时消费消息。从服务性能而言,能够大大降低游服的业务负担,同时提高交互效率;从开发角度而言,大大简化了游服查找战服过程;从维护的角度而言,大大简化了维护工作,维护者只需要关注当前游戏服务端MQ是否被游服与战服依赖,不必维护游服内的战服列表。进一步的,还包括:所述游戏服务监听到所述一队列M消息后,依据其中的交互反馈信息创建与对应的战斗服务的对等链接关系。由上述描述可知,发起交互请求的游戏服务只需监听自己创建的队列M便可获取接受交互请求的战斗服务的交互反馈信息,并据此创建二者的对等链接关系,实现二者的远程通信。二者通信关系的创建,从头至尾都不涉及二者的直面交互,因而能从架构上将二者彻底分离,简化交互流程。进一步的,当所述交互请求为创建游戏房间请求时,所述任一战斗服务监听到所述一队列Q消息后,从中提取所述唯一标识符,并依据处理所述一队列Q消息得到的交互反馈信息向所述唯一标识符对应的所述队列M生产一队列M消息,具体为:任一战斗服务监听到所述一队列Q消息后,从所述队列Q中取出所述一队列Q消息;所述任一战斗服务从所述一队列Q消息中提取所述唯一标识符;所述任一战斗服务处理所述一队列Q消息对应的创建游戏房间请求,若处理结果对应分配游戏房间,则预分配游戏房间资源,并保持预设时长的超时等待;其中,所述游戏房间资源包括房间名、所述任一战斗服务的IP地址和端口号;所述任一战斗服务向所述唯一标识符对应的所述队列M生产一队列M消息,并在所述一队列M消息中添加所述游戏房间资源。由上述描述可知,对应创建游戏房间这一具体实例可知,游戏服务与战斗服务交互而创建游戏房间的过程中,完全不涉及二者的正面交互过程,游戏服务也不再需要寻找和确定可行的战斗服务,使得二者的交互方式更简洁、更直观;交互流程更简化;游戏服务的业务负担得到大大缓解。进一步的,所述战斗服务和所述游戏服务的数量均为两个以上;所述MQ服务上的队列M的数量为两个以上;所述队列Q的数量为一个。由上述描述可知,通过部署多套战斗服务,能确保任何一个队列Q消息,战斗服务都有同等概率消费并据此创建链接关系,从而提高交互请求的处理效率,同时也更符合现有游戏服务端在实际运用场景的需求。本专利技术提供的另一个技术方案为:一种计算机可读存储介质,其上存储有计算机程序,所是程序在被处理器读取并执行后,能实现上述的解耦游戏服务和战斗服务的方法所包含的步骤。对应本领域普通技术人员可以理解实现上述技术方案中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来实现的,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时,可包括如上述各方法的流程。通过该流程的实现,可实现下述有益效果:在创建链接过程,借助消息队列中间件(MQ服务)将战斗服务和游戏服务彻底解耦。具体在游戏服务与战斗服务交互过程中,约定MQ服务的队列Q即作为游戏服务生产消息的队列,又作为战斗服务消费消息的队列;游戏服务依据接收到的交互请求向该队列生产消息,该消息中本文档来自技高网
...

【技术保护点】
1.解耦游戏服务和战斗服务的方法,其特征在于,包括:战斗服务监听MQ服务上的队列Q;游戏服务在MQ服务上创建一与其对应的队列M,并监听所述队列M;当游戏服务接收到对应战斗服务的交互请求时,在所述队列Q上对应所述交互请求生产一队列Q消息,并将所述队列M的唯一标识符添加至所述一队列Q消息;任一战斗服务监听到所述一队列Q消息后,从中提取所述唯一标识符,并依据处理所述一队列Q消息得到的交互反馈信息向所述唯一标识符对应的所述队列M生产一队列M消息。

【技术特征摘要】
1.解耦游戏服务和战斗服务的方法,其特征在于,包括:战斗服务监听MQ服务上的队列Q;游戏服务在MQ服务上创建一与其对应的队列M,并监听所述队列M;当游戏服务接收到对应战斗服务的交互请求时,在所述队列Q上对应所述交互请求生产一队列Q消息,并将所述队列M的唯一标识符添加至所述一队列Q消息;任一战斗服务监听到所述一队列Q消息后,从中提取所述唯一标识符,并依据处理所述一队列Q消息得到的交互反馈信息向所述唯一标识符对应的所述队列M生产一队列M消息。2.如权利要求1所述的解耦游戏服务和战斗服务的方法,其特征在于,还包括:所述游戏服务监听到所述一队列M消息后,依据其中的交互反馈信息创建与对应的战斗服务的对等链接关系。3.如权利要求1所述的解耦游戏服务和战斗服务的方法,其特征在于,当所述交互请求为创建游戏房间请求时,所述任一战斗服务监听到所述一队列Q消息后,从中提取所述唯一标识符,并依据处理所述一队列Q消息得到的交互反馈信息向所述唯一标识符...

【专利技术属性】
技术研发人员:刘德建黄云翔连志群李磊吴良军许凯杰陈宏展
申请(专利权)人:福建省天奕网络科技有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1