一种跨游戏服务器保存数据的方法、系统、设备及介质与流程

文档序号:29643449发布日期:2022-04-13 19:16阅读:207来源:国知局
一种跨游戏服务器保存数据的方法、系统、设备及介质与流程

1.本技术涉及网络游戏技术领域,尤其涉及一种跨游戏服务器保存数据的方法、系统、设备及介质。


背景技术:

2.随着计算机的发展,各种类型的网络游戏不断推陈出新,游戏的内容和模式也越来越丰富,这样就会产生大量的在线游戏数据,例如:金钱、经验、等级、道具等。如何有效且安全的保存这些数据,防止数据丢失就成为网络游戏设计中重要的一个问题。
3.本技术提供了一种跨游戏服务器保存数据的方法、系统、设备及介质。


技术实现要素:

4.本技术实施例的目的在于提供一种跨游戏服务器保存数据的方法、系统、设备及介质,以解决有效且安全保存游戏数据,防止数据丢失的问题。具体技术方案如下:
5.第一方面,提供了一种跨游戏服务器保存数据的方法,应用于战斗服务器,所述方法包括:
6.检测战斗服务器的数据状态;
7.若检测到战斗服务器的数据发生改变,则将改变的数据封装成统一数据结构的event对象;
8.将所述event对象记录成日志文件,按照玩家id分别缓存到战斗服务器的内存中;
9.将所述缓存的event对象,发送到后台游戏服务器。
10.可选地,所述将所述缓存的event对象发送到后台游戏服务器包括:
11.将所述缓存的event对象通过独立线程异步传输方法发送到后台游戏服务器。
12.可选地,所述将所述缓存的event对象通过独立线程异步传输方法发送到后台游戏服务器包括:
13.将所述缓存的event对象通过独立线程异步传输方法发送到匹配服务器进行中转缓存;
14.所述匹配服务器定时将所述event对象发送到后台游戏服务器。
15.可选地,所述方法还包括:
16.接收后台游戏服务器发送的反馈消息;
17.若反馈消息为成功接收,则为缓存区的event对象进行标记,以记录event对象成功处理,然后删除战斗服务器缓存的event对象;
18.若反馈消息为失败或丢失,则重新向后台游戏服务器发送event对象,直至接收成功。
19.可选地,所述方法还包括:
20.若在数据传输过程中,战斗服务器宕机,则在重新启动后,加载日志文件,把未成功处理的event对象继续发送给后台游戏服务器。
21.第二方面,本技术提供一种跨游戏服务器保存数据的方法,应用于后台游戏服务器,包括:
22.接收战斗服务器发送的event对象;
23.将所述event对象按照玩家id重新排序;
24.排序成功后,发送反馈消息给event对象来源的战斗服务器。
25.可选地,所述发送反馈消息给event对象来源的战斗服务器包括:
26.通过匹配服务器中转后将所述反馈消息发送给event对象来源的战斗服务器。
27.第三方面,本技术提供一种跨游戏服务器保存数据的系统,所述系统包括:战斗服务器、匹配服务器和后台游戏服务器,战斗服务器实时检测战斗服务器的数据状态;若检测到战斗服务器的数据发生改变,则将改变的数据封装成统一数据结构的event对象;将所述event对象记录成日志文件,按照玩家id分别缓存到战斗服务器的内存中;将所述缓存的event对象,通过匹配服务器中转后发送给后台游戏服务器,后台游戏服务器接收战斗服务器发送的event对象;将所述event对象按照玩家id重新排序;排序成功后,发送反馈消息给event对象来源的战斗服务器。
28.第四方面,本技术提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
29.存储器,用于存放计算机程序;
30.处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
31.第五方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
32.第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的跨游戏服务器保存数据方法。
33.本技术实施例有益效果:
34.本技术实施例提供了一种跨游戏服务器保存数据的方法、系统、设备及介质,本技术通过检测战斗服务器的数据状态;若检测到战斗服务器的数据发生改变,则将改变的数据封装成统一数据结构的event对象;将所述event对象记录成日志文件,按照玩家id分别缓存到战斗服务器的内存中;将所述缓存的event对象,发送到后台游戏服务器。本技术通过跨服务器保存数据,一方面能够节约战斗服务器的存储空间,另一方面,可以保护数据安全,避免战斗服务器宕机后数据无法保存丢失的问题,最大程度的保护玩家利益。
35.当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
36.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
37.图1为本技术实施例提供的一种跨游戏服务器保存数据的方法的流程图;
38.图2为本技术另一实施例提供的一种跨游戏服务器保存数据的方法的流程示意图;
39.图3为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
40.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.本技术实施例提供了一种跨游戏服务器保存数据的方法,可以应用于跨游戏服务器保存数据的系统。该系统包括:战斗服务器、匹配服务器和后台游戏服务器,战斗服务器实时检测战斗服务器的数据状态;若检测到战斗服务器的数据发生改变,则将改变的数据封装成统一数据结构的event对象;将所述event对象记录成日志文件,按照玩家id分别缓存到战斗服务器的内存中;将所述缓存的event对象,通过匹配服务器中转后发送给后台游戏服务器,后台游戏服务器接收战斗服务器发送的event对象;将所述event对象按照玩家id重新排序;排序成功后,发送反馈消息给event对象来源的战斗服务器。
42.下面将结合具体实施方式,对本技术实施例提供的一种跨游戏服务器保存数据的方法进行详细的说明,该方法应用于战斗服务器,如图1所示,具体步骤如下:
43.步骤s101:检测战斗服务器的数据状态。
44.步骤s102:若检测到战斗服务器的数据发生改变,则将改变的数据封装成统一数据结构的event对象。
45.步骤s103:将所述event对象记录成日志文件,按照玩家id分别缓存到战斗服务器的内存中。
46.步骤s104:将所述缓存的event对象,发送到后台游戏服务器。
47.可选地,所述将所述缓存的event对象发送到后台游戏服务器包括:
48.将所述缓存的event对象通过独立线程异步传输方法发送到后台游戏服务器。
49.因为一个后台游戏服务器一般会保存多条线的数据,导致后台游戏服务器的io读取次数过大,因此通过下述实施例进行数据中转。
50.可选地,所述将所述缓存的event对象通过独立线程异步传输方法发送到后台游戏服务器包括:
51.将所述缓存的event对象通过独立线程异步传输方法发送到匹配服务器进行中转缓存;通过异步传输方法,能够较少线程损耗。
52.所述匹配服务器定时将所述event对象发送到后台游戏服务器。
53.通过匹配服务器进行中转可以平滑后台游戏服务器的磁盘io,减小操作后台数据库的次数,有效降低磁盘io。
54.可选地,所述方法还包括:
55.接收后台游戏服务器发送的反馈消息;
56.若反馈消息为成功接收,则为缓存区的event对象进行标记,以记录event对象成功处理,然后删除战斗服务器缓存的event对象;
57.若反馈消息为失败或丢失,则重新向后台游戏服务器发送event对象,直至接收成功。
58.可选地,所述方法还包括:
59.若在数据传输过程中,战斗服务器宕机,则在重新启动后,加载日志文件,把未成功处理的event对象继续发送给后台游戏服务器。
60.第二方面,基于同样的发明构思,本技术提供一种跨游戏服务器保存数据的方法,应用于后台游戏服务器,如图2所示,包括如下步骤:
61.步骤s201:接收战斗服务器发送的event对象;
62.步骤s202:将所述event对象按照玩家id重新排序;
63.步骤s203:排序成功后,发送反馈消息给event对象来源的战斗服务器。
64.可选地,所述发送反馈消息给event对象来源的战斗服务器包括:
65.通过匹配服务器中转后将所述反馈消息发送给event对象来源的战斗服务器。
66.基于相同的技术构思,本发明实施例还提供了一种电子设备,如图3所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
67.存储器303,用于存放计算机程序;
68.处理器301,用于执行存储器303上所存放的程序时,实现跨游戏服务器保存数据的方法的步骤。
69.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
70.通信接口用于上述电子设备与其他设备之间的通信。
71.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
72.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
73.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一跨游戏服务器保存数据的方法。
74.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一跨游戏服务器保存数据的方法。
75.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质
中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
76.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
77.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1