基于OpenResty平台的分布式游戏服务器制造技术

技术编号:39008570 阅读:17 留言:0更新日期:2023-10-07 10:39
本发明专利技术涉及服务器搭设技术领域,尤其涉及一种基于OpenResty平台的分布式游戏服务器,包括:若干第一通讯节点,其用以与各用户端接收和/或发送信息;若干第二通讯节点,其用以与对应的第一通讯节点接收和/或发送信息;处理器,其用以接收第二通讯节点传输的信息,并根据预设应对策略向第二通讯节点传输返回的信息;第二通讯节点中还设有伸缩策略,若伸缩策略触发,第二通讯节点根据预设应对策略向第一通讯节点传输返回的信息;本发明专利技术利用设置若干第一通讯节点、若干第二通讯节点以及处理器的方式,缩减用户端的接入时长,有效缩短了服务器对用户端发出信息的判定时间,从而有效降低了游戏服务器产生延迟。了游戏服务器产生延迟。了游戏服务器产生延迟。

【技术实现步骤摘要】
基于OpenResty平台的分布式游戏服务器


[0001]本专利技术涉及服务器搭设
,尤其涉及一种基于OpenResty平台的分布式游戏服务器。

技术介绍

[0002]近年来,智能手机的普及和手机网络游戏的高速发展带来了巨大的商机,使得越来越多的游戏厂商开始在智能手机上制作高质量的网络游戏,这类游戏称为手游。
[0003]随着手游的发展,手游玩家规模的增大,单服务器已经无法支撑海量的玩家数据和业务处理,分布式游戏服务器应运而生。分布式服务器,是多个服务器组成一个集群,但是每个服务器处理的工作内容是完全不一样的。详细来说就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”。这些子系统能够独立运行在web容器中,它们之间通过RPC方式通信。分布式系统扩展非常容易,随着业务的发展,当前硬件无法支撑时候,再增加一个节点服务器就行了。具有高伸缩性、高可用性、负载均衡、高性能等特点。
[0004]OpenResty(也称为ngx_openresty)是一个全功能的Web应用服务器。它打包了标准的nginx核心,很多的常用的第三方模块,以及它们的大多数依赖项。通过糅合众多设计良好的nginx模块,OpenResty有效地把nginx服务器转变为一个强大的Web应用服务器,基于它开发人员可以使用lua编程语言对nginx核心以及现有的各种nginxC模块进行脚本编程,构建出可以处理一万以上并发请求的极端高性能的Web应用。
[0005]中国专利授权公告号:CN114793245B公开了一种灵活可配置的流式信息处理方法及系统,该方法将存储在服务器上的离线数据通过HTTP请求批量发送至消息接收模块,离线数据转化为待处理的流式信息存储在消息接收模块中;消息接收模块将HTTP请求传输给路由选择模块,路由选择模块通过HTTP请求对应的URI来确定路由配置;路由选择模块将确定的路由配置传输消息处理模块,消息处理模块按照路由配置中的处理策略对待处理的流式信息进行转换处理,如转换成功,则发送后端服务,如转换不成功,则丢弃消息。该专利技术能够灵活动态加载配置,执行定制的处理逻辑,避免停服更新,减少操作人员负担。
[0006]但是,上述方法存在以下问题:无法对因通讯距离产生的延迟进行补偿。

技术实现思路

[0007]为此,本专利技术提供一种基于OpenResty平台的分布式游戏服务器,用以克服现有技术中无法对因通讯距离产生的延迟进行补偿,从而导致游戏服务器产生延迟的问题。
[0008]为实现上述目的,本专利技术提供一种基于OpenResty平台的分布式游戏服务器,其用以向若干用户端提供游戏连接服务,其中,分布式服务器包括:
[0009]若干第一通讯节点,其与各用户端相连,按均衡策略进行设置,且,其以第一预设间距互相间隔,用以与各用户端接收和/或发送信息;
[0010]若干第二通讯节点,其分别与各第一通讯节点相连,且,按平衡策略进行设置,并
且,单组第二通讯节点与对应的第一通讯节点以及该组各第二通讯节点以第二预设间距互相间隔,用以与对应的第一通讯节点接收和/或发送信息;
[0011]处理器,其与所述各第二通讯节点相连,用以接收所述第二通讯节点传输的信息,并根据预设应对策略向所述第二通讯节点传输返回的信息;
[0012]所述第二通讯节点中还设有伸缩策略,若伸缩策略触发,第二通讯节点根据所述预设应对策略向第一通讯节点传输返回的信息;
[0013]其中,所述均衡策略为以所述处理器为基准,以第一间隔时长进行分布,所述平衡策略为以对应的所述第一通讯节点为基准,以第二间隔时长进行分布,所述预设应对策略为所述游戏中预设的游戏信息反馈,所述第一预设间距为以所述第一间隔时长在弹性时长内的信息传输时长的对应间距,所述第二预设间距为以所述第二间隔时长在累积误差时间内的信息传输时长的对应间距;
[0014]所述伸缩策略为根据所述用户端发送信息的反应时间确定是否将信息传输至所述处理器;
[0015]其中,所述第一间隔时长为所述应对策略中预设的处理器反应时长,所述第二间隔时长为所述应对策略中预设的用户端反应时长;
[0016]单个用户端在单次操作条件下,将单个操作信息经由对应的所述第一通讯节点发送至所述第二通讯节点,第二通讯节点根据操作信息的反应时间进行判断,以确定是否触发所述伸缩策略,
[0017]若所述第二通讯节点判断信息的所述反应时间不小于所述第一间隔时长与所述处理器反应时长的和,第二通讯节点判断不进入所述伸缩策略,并将信息传输至所述处理器;
[0018]若所述第二通讯节点判断信息的所述反应时间不小于所述第二间隔时长与所述用户端反应时长的差,且,小于所述第一间隔时长与所述处理器反应时长的和,第二通讯节点判断进入所述伸缩策略,并将信息以所述预设应对策略进行处理,并返回至对应的所述第一通讯节点;
[0019]所述单次操作条件为用户端发送信息;
[0020]其中,所述弹性时长与所述处理器的处理能力有关,所述累积误差时长与所述用户端的刷新频率有关。
[0021]进一步地,所述第一通讯节点中设有连接极限策略,当单个第一通讯节点触发连接极限策略,该第一通讯节点向对应的所述第二通讯节点报告连接达到极限,并停止接入新的所述用户端;
[0022]其中,所述连接极限策略为所述第一通讯节点中预设的最大连接数量,当接入所述单个第一通讯节点中的所述用户端数量达到最大连接数量时,该第一通讯节点判断触发连接极限策略。
[0023]进一步地,对于所述单个第二通讯节点,若连接该第二通讯节点的所述各第一通讯节点中存在任意一个第一通讯节点触发所述连接极限策略,第二通讯节点判定在该第一通讯节点的相同物理位置增设一个第一通讯节点。
[0024]进一步地,所述第一通讯节点对于单个所述用户端,若第一通讯节点在接收到该用户端在发出的单次信息起,第一通讯节点在反馈时间内未向该用户端发出对应该信息的
返回的信息,第一通讯节点判定系统延迟,并将系统延迟向对应的所述第二通讯节点报告,并且,第二通讯节点触发所述伸缩策略。
[0025]进一步地,所述处理器中设有交互策略,若连接任意两个所述第一通讯节点的所述用户端触发交互策略,处理器对与各第一通讯节点相连的各第二通讯节点进行判断,以确定最终决策节点,
[0026]若所述各第二通讯节点为同一个第二通讯节点,所述处理器判定最终决策节点为该第二通讯节点;
[0027]若所述各第二通讯节点不为相同的第二通讯节点,所述处理判定最终决策节点为处理器;
[0028]其中,所述交互策略为所述预设应对策略中设置的交互方式,所述最终决策节点为处理触发交互策略信息的服务器节点。
[0029]进一步地,所述第一通讯节点中设有预设接收时长,若单个第一通讯节点接收所述单个用户端发送的信息的时长大于预设接收时长,所述第一通讯节点判断该用户端失去连接,并向相邻的各第一通讯本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于OpenResty平台的分布式游戏服务器,用以向若干用户端提供游戏连接服务,其特征在于,包括:若干第一通讯节点,其与各用户端相连,按均衡策略进行设置,且,其以第一预设间距互相间隔,用以与各用户端接收和/或发送信息;若干第二通讯节点,其分别与各第一通讯节点相连,且,按平衡策略进行设置,并且,单组第二通讯节点与对应的第一通讯节点以及该组各第二通讯节点以第二预设间距互相间隔,用以与对应的第一通讯节点接收和/或发送信息;处理器,其与所述各第二通讯节点相连,用以接收所述第二通讯节点传输的信息,并根据预设应对策略向所述第二通讯节点传输返回的信息;所述第二通讯节点中还设有伸缩策略,若伸缩策略触发,第二通讯节点根据所述预设应对策略向第一通讯节点传输返回的信息;其中,所述均衡策略为以所述处理器为基准,以第一间隔时长进行分布,所述平衡策略为以对应的所述第一通讯节点为基准,以第二间隔时长进行分布,所述预设应对策略为所述游戏中预设的游戏信息反馈,所述第一预设间距为以所述第一间隔时长在弹性时长内的信息传输时长的对应间距,所述第二预设间距为以所述第二间隔时长在累积误差时间内的信息传输时长的对应间距;所述伸缩策略为根据所述用户端发送信息的反应时间确定是否将信息传输至所述处理器;其中,所述第一间隔时长为所述应对策略中预设的处理器反应时长,所述第二间隔时长为所述应对策略中预设的用户端反应时长;单个用户端在单次操作条件下,将单个操作信息经由对应的所述第一通讯节点发送至所述第二通讯节点,第二通讯节点根据操作信息的反应时间进行判断,以确定是否触发所述伸缩策略,若所述第二通讯节点判断信息的所述反应时间不小于所述第一间隔时长与所述处理器反应时长的和,第二通讯节点判断不进入所述伸缩策略,并将信息传输至所述处理器;若所述第二通讯节点判断信息的所述反应时间不小于所述第二间隔时长与所述用户端反应时长的差,且,小于所述第一间隔时长与所述处理器反应时长的和,第二通讯节点判断进入所述伸缩策略,并将信息以所述预设应对策略进行处理,并返回至对应的所述第一通讯节点;所述单次操作条件为用户端发送信息;其中,所述弹性时长与所述处理器的处理能力有关,所述累积误差时长与所述用户端的刷新频率有关。2.根据权利要求1所述的基于OpenResty平台的分布式游戏服务器,其特征在于,所述第一通讯节点中设有连接极限策略,当单个第一通讯节点触发连接极限策略,该第一通讯节点向对应的所述第二通讯节点报告连接达到极限,并停止接入新的所述用户端;其中,所述连接极限策略为所述第一通讯节点中预设的最大连接数量,当接入所述单个第一通讯节点中的所述用户端数量达到最大连接数量时,该第一通讯节...

【专利技术属性】
技术研发人员:刘泳冯道柱
申请(专利权)人:广州银汉科技有限公司
类型:发明
国别省市:

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

1