发布日期:2024-09-01 浏览次数:次
本申请涉及游戏领域,更具体地说,涉及一种服务器数据处理方法及相关设备、双循环缓冲系统。背景技术:1、mmorpg是一类大型多人在线的角色扮演游戏,玩家可以在一个虚拟世界中扮演一个虚拟角色,与其他玩家扮演的虚拟角色进行合作和对抗等互动。随着mmorpg的发展,在一个游戏场景中,玩家的互动人数从几人发展到数十人、数百人甚至更多。2、当玩家之间进行互动时,玩家常需要释放技能,用以对其他玩家的虚拟角色造成伤害或恢复等效果。玩家使用技能时,玩家的客户端获得用户的技能操作数据(比如a玩家对b玩家释放了二技能),并将技能操作数据打包发送给游戏服务器。游戏服务器接收技能操作数据并进行运算处理,将运算结果反馈至玩家的客户端进行技能释放效果显示,比如技能特效、技能伤害数值等。3、游戏服务器包括网络系统和技能系统,当游戏服务器处理技能操作数据时,由网络系统接收一个技能操作数据,并发送至技能系统进行处理,技能系统处理完成后,网络系统再接收下一个技能操作数据,再发送至技能系统进行处理,由此不断循环。在人数众多的玩家互动场景时,由于网络系统与技能系统之间的线性循环处理逻辑,大量的技能处理则易导致游戏服务器的技能执行效率较低。技术实现思路1、有鉴于此,本申请提供了一种服务器数据处理方法及相关设备、双循环缓冲系统,用于解决游戏服务器的技能执行效率较低的问题。2、为了实现上述目的,现提出的方案如下:3、一种服务器数据处理方法,应用于双循环缓冲系统,所述双循环缓冲系统包括网络系统、技能系统、接收缓冲区和发送缓冲区,所述服务器数据处理方法包括:4、所述网络系统接收客户端发送的游戏角色的技能操作数据;5、所述网络系统从所述客户端发送的游戏角色的技能操作数据中提取技能执行数据,并发送至所述接收缓冲区;6、所述技能系统按照第一预设顺序从所述接收缓冲区中提取所述技能执行数据,并处理所述技能执行数据获得技能释放结果;7、所述技能系统将所述技能释放结果发送至所述发送缓冲区;8、所述网络系统按照所述第一预设顺序从所述发送缓冲区中提取所述技能释放结果,并发送至所述客户端。9、可选的,所述接收缓冲区中包含具有所述第一预设顺序的多个技能执行数据,所述接收缓冲区中的每一个所述技能执行数据均具有所述第一预设顺序的顺序下标,所述技能系统按照第一预设顺序从所述接收缓冲区中提取所述技能执行数据,包括:10、所述技能系统根据所述接收缓冲区内的所述顺序下标确定需当前执行的技能执行数据,并从所述接收缓冲区中提取所述需当前执行的技能执行数据。11、可选的,所述发送缓冲区中包含具有所述第一预设顺序的多个技能释放结果,所述发送缓冲区中的每一个所述技能释放结果均具有所述第一预设顺序的顺序下标,所述网络系统按照所述第一预设顺序从所述发送缓冲区中提取所述技能释放结果,包括:12、所述网络系统根据所述发送缓冲区内的所述顺序下标确定需当前发送的技能释放结果,并从所述发送缓冲区内中提取所述需当前发送的技能释放结果。13、可选的,所述顺序下标与所述技能执行数据进入所述接收缓冲区的时间的先后顺序匹配;14、或,15、所述顺序下标与所述技能操作数据的生成时刻的先后顺序匹配。16、可选的,所述顺序下标与所述技能释放结果的获得时刻的先后顺序匹配;17、或,18、所述顺序下标与所述技能操作数据的生成时刻的先后顺序匹配。19、可选的,所述技能执行数据包括技能释放角色id、技能id、技能对象id和执行位置,所述处理所述技能执行数据获得技能释放结果,包括:20、所述技能系统根据所述技能释放角色id确定释放技能的第一游戏角色,根据所述技能对象id确定技能释放针对的第二游戏角色;21、所述技能系统通过寻址方法获得所述技能id对应的技能属性信息;22、所述技能系统执行所述第一游戏角色与所述第二游戏角色之间的攻防运算,获得攻防结果;23、所述技能系统对所述攻防结果和所述技能属性信息执行技能逻辑运算,获得所述执行位置的所述技能释放结果。24、一种双循环缓冲系统,所述双循环缓冲系统包括网络系统、技能系统、接收缓冲区和发送缓冲区;25、所述网络系统用于接收客户端发送的游戏角色的技能操作数据;所述网络系统还用于从所述客户端发送的游戏角色的技能操作数据中提取技能执行数据,并发送至所述接收缓冲区;所述网络系统还用于按照第一预设顺序从所述发送缓冲区中提取技能释放结果,并发送至所述客户端;26、所述技能系统用于按照所述第一预设顺序从所述接收缓冲区中提取所述技能执行数据,所述技能系统还用于处理所述技能执行数据获得所述技能释放结果;所述技能系统还用于将所述技能释放结果发送至所述发送缓冲区。27、可选的,所述接收缓冲区中包含具有所述第一预设顺序的多个技能执行数据,所述接收缓冲区中的每一个所述技能执行数据均具有所述第一预设顺序的顺序下标,所述技能系统用于按照所述第一预设顺序从所述接收缓冲区中提取所述技能执行数据,具体设置为:28、所述技能系统用于根据所述接收缓冲区内的所述顺序下标确定需当前执行的技能执行数据,并用于从所述接收缓冲区中提取所述需当前执行的技能执行数据。29、一种电子设备,包括存储器和处理器;30、所述存储器,用于存储程序;31、所述处理器,用于执行所述程序,实现上述任一项所述服务器数据处理方法的各个步骤。32、一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一项所述服务器数据处理方法的各个步骤。33、本申请通过一种服务器数据处理方法及相关设备、双循环缓冲系统,本方法处理技能操作数据时,将游戏服务器中的网络系统的执行逻辑和技能系统的执行逻辑进行分离,并分别设置各自的缓冲区,用于暂时存储需要接收和需要处理的技能操作数据。游戏服务器处理大量技能操作数据时,网络系统处理技能操作数据获得技能执行数据后,暂存在接收缓冲区,使得技能系统无需等待网络系统发送技能操作数据后再进行处理,可以直接从接收缓冲区中获取技能操作数据,同样,技能系统处理技能执行数据后获得技能释放结果,暂存在发送缓冲区,使得网络系统无需等待技能系统处理完成后再接收下一个技能操作数据,可以直接从发送缓冲区中获取技能释放结果。本实施例通过设置缓冲区,网络系统的执行逻辑和技能系统的执行逻辑不再互相依赖,以提高游戏服务器的技能执行效率。技术特征:1.一种服务器数据处理方法,其特征在于,应用于双循环缓冲系统,所述双循环缓冲系统包括网络系统、技能系统、接收缓冲区和发送缓冲区,所述服务器数据处理方法包括:2.根据权利要求1所述的服务器数据处理方法,其特征在于,所述接收缓冲区中包含具有所述第一预设顺序的多个技能执行数据,所述接收缓冲区中的每一个所述技能执行数据均具有所述第一预设顺序的顺序下标,所述技能系统按照第一预设顺序从所述接收缓冲区中提取所述技能执行数据,包括:3.根据权利要求1所述的服务器数据处理方法,其特征在于,所述发送缓冲区中包含具有所述第一预设顺序的多个技能释放结果,所述发送缓冲区中的每一个所述技能释放结果均具有所述第一预设顺序的顺序下标,所述网络系统按照所述第一预设顺序从所述发送缓冲区中提取所述技能释放结果,包括:4.根据权利要求2所述的服务器数据处理方法,其特征在于,所述顺序下标与所述技能执行数据进入所述接收缓冲区的时间的先后顺序匹配;5.根据权利要求3所述的服务器数据处理方法,其特征在于,所述顺序下标与所述技能释放结果的获得时刻的先后顺序匹配;6.根据权利要求1所述的服务器数据处理方法,其特征在于,所述技能执行数据包括技能释放角色id、技能id、技能对象id和执行位置,所述处理所述技能执行数据获得技能释放结果,包括:7.一种双循环缓冲系统,其特征在于,所述双循环缓冲系统包括网络系统、技能系统、接收缓冲区和发送缓冲区;8.根据权利要求7所述的双循环缓冲系统,其特征在于,所述接收缓冲区中包含具有所述第一预设顺序的多个技能执行数据,所述接收缓冲区中的每一个所述技能执行数据均具有所述第一预设顺序的顺序下标,所述技能系统用于按照所述第一预设顺序从所述接收缓冲区中提取所述技能执行数据,具体设置为:9.一种电子设备,其特征在于,包括存储器和处理器;10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6任一项所述服务器数据处理方法的各个步骤。技术总结本申请公开一种服务器数据处理方法及相关设备、双循环缓冲系统。方法包括:应用于双循环缓冲系统,双循环缓冲系统包括网络系统、技能系统、接收缓冲区和发送缓冲区,服务器数据处理方法包括:网络系统接收客户端发送的游戏角色的技能操作数据,网络系统从客户端发送的游戏角色的技能操作数据中提取技能执行数据,并发送至接收缓冲区,技能系统按照第一预设顺序从接收缓冲区提取技能执行数据,处理技能执行数据获得技能释放结果,技能系统将技能释放结果发送至发送缓冲区,网络系统按照第一预设顺序从发送缓冲区提取技能释放结果,并发送至客户端。本申请设置缓冲区,网络系统和技能系统的执行逻辑不再互相依赖,提高游戏服务器的技能执行效率。技术研发人员:韦青,宋磊,祝凯,丁春佩受保护的技术使用者:北京畅游创想软件技术有限公司技术研发日:技术公布日:2024/6/20