一种业务数据处理方法、装置、电子设备及存储介质与流程
本发明涉及数据处理技术,尤其涉及业务数据处理方法、装置、电子设备及存储介质。
背景技术:
随着网络游戏开发技术的不断发展,涌现了大量大型多人在线角色扮演游戏,在大型多人在线角色扮演游戏中用户都可扮演一个或多个,并控制该角色的在游戏中虚拟世界的活动,由于游戏的游戏模式复杂,用户数量庞大,通常采用分区分服务器的游戏架构,即将用户分布在不同的游戏服务器中,不同服务器的用户通常不会发生交集,但是为了提高用户游戏体验,需要在同一个服务器中汇集来自不同游戏服务器的用户,由于游戏用户在不同游戏服务器中经验获取速率、商品价格、服务器持续运行时间等是不同的,因此需要在同一个服务器中融合不同游戏服务器的业务数据。
技术实现要素:
有鉴于此,本发明实施例提供的业务数据处理方法、装置、电子设备及存储介质,能够实现将所述第一运行环境信息、第二运行环境信息、第一业务数据处理结果以及第二业务数据处理结果保存在目标容器中;基于所述目标容器中所保存的信息,在所述第一服务器与所述第二服务器之间进行信息同步,以实现所述第一服务器与所述第二服务器保持相同的信息,由此,不但实现了不同游戏服务器中的业务数据同步至同一个服务器中,保证了业务数据的准确公平,同时,保存不同游戏服务器数据的服务器中,可以直接完成用户数据变更,并即时保存至数据库中,用户可以即时体验到数据变化,减少了延时等待,有效提升用户的游戏体验。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种业务数据处理方法,包括:
获取业务进程在第一服务器中的第一运行环境信息;
响应于目标用户的操作指令,获取所述业务进程在第一服务器中的第一业务数据处理结果;
获取所述业务进程在第二服务器中的第二运行环境信息,以及所述目标用户在所述第二服务器中的第二业务数据处理结果,其中所述第一服务器与所述第二服务器归属不同的服务器群组;
将所述第一运行环境信息、第二运行环境信息、第一业务数据处理结果以及第二业务数据处理结果保存在目标容器中;
基于所述目标容器中所保存的信息,在所述第一服务器与所述第二服务器之间进行信息同步,以实现所述第一服务器与所述第二服务器保持相同的信息。
本发明实施例还提供了一种数据处理装置,包括:
信息传输模块,用于获取业务进程在第一服务器中的第一运行环境信息;
所述信息传输模块,用于响应于目标用户的操作指令,获取所述业务进程在第一服务器中的第一业务数据处理结果;
所述信息传输模块,用于获取所述业务进程在第二服务器中的第二运行环境信息,以及所述目标用户在所述第二服务器中的第二业务数据处理结果,其中所述第一服务器与所述第二服务器归属不同的服务器群组;
信息处理模块,用于将所述第一运行环境信息、第二运行环境信息、第一业务数据处理结果以及第二业务数据处理结果保存在目标容器中;
所述信息处理模块,用于基于所述目标容器中所保存的信息,在所述第一服务器与所述第二服务器之间进行信息同步,以实现所述第一服务器与所述第二服务器保持相同的信息。
上述方案中,
所述信息处理模块,用于确定所述目标容器的容器结构;
所述信息处理模块,用于基于所述目标容器的容器结构以及所述业务进程的参数,确定所述目标容器中的数据索引信息和数据实体信息;
所述信息处理模块,用于基于所述目标容器中的数据索引信息和数据实体信息,将所述第一运行环境信息、第二运行环境信息、第一业务数据处理结果以及第二业务数据处理结果分别保存在不同的数据索引和数据实体中。
上述方案中,
所述信息处理模块,用于遍历所述目标容器中的数据索引信息,确定所述目标容器中的无效索引信息;
所述信息处理模块,用于根据所述无效索引信息,对于所述无效索引信息相匹配的数据实体的存储空间进行动态回收。
上述方案中,
所述信息处理模块,用于当所述业务进程为游戏进程时,确定与所述游戏进程相匹配的第一服务器对应的上下文配置信息;
所述信息处理模块,用于基于所述第一服务器对应的上下文配置信息,配置相应数量的第二服务器,以实现所述第二服务器覆盖所述上下文配置信息对应的目标容器。
上述方案中,
所述信息处理模块,用于获取目标用户在所述第二服务器中的数据变更请求;
所述信息处理模块,用于响应于所述数据变更请求,获取所述第二服务器对应的目标容器所保存的上下文信息;
所述信息处理模块,用于基于所述业务进程,执行与所述上下文信息相匹配的逻辑子进程;
所述信息处理模块,用于将所述逻辑子进程的执行结果保存在相应的目标容器中。
上述方案中,
所述信息处理模块,用于监听所述第一服务器中的上下文信息的变化;
所述信息处理模块,用于当确定所述第一服务器中的上下文信息发生变化时,触发数据同步进程;
所述信息处理模块,用于通过所述数据同步进程,将发生变化的上下文信息同步至所述第一服务器对应的目标容器中。
上述方案中,
所述信息处理模块,用于对所述第一服务器中的上下文信息和所述第二服务器中的上下文信息进行一致性检测;
所述信息处理模块,用于当所述第一服务器中的上下文信息和所述第二服务器中的上下文信息不一致时,所述第二服务器向所述第一服务器发出数据同步请求;
所述信息处理模块,用于响应于所述数据同步请求,调整所述第二服务器中所保存的信息。
上述方案中,
所述信息处理模块,用于当所述业务进程为游戏进程时,确定所述目标用户的标识信息;
所述信息处理模块,用于基于云服务器网络,确定与所述标识信息相匹配的数据源集群;
所述信息处理模块,用于根据所述数据源集群,向所述第一服务器和所述第二服务中存储与所述目标用户相匹配的用户的历史信息。
本发明实施例还提供了一种电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现前序的业务数据处理方法。
本发明实施例还提供了一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现前序的业务数据处理方法。
本发明实施例具有以下有益效果:
本发明实施例通过获取业务进程在第一服务器中的第一运行环境信息;响应于目标用户的操作指令,获取所述业务进程在第一服务器中的第一业务数据处理结果;获取所述业务进程在第二服务器中的第二运行环境信息,以及所述目标用户在所述第二服务器中的第二业务数据处理结果,其中所述第一服务器与所述第二服务器归属不同的服务器群组;将所述第一运行环境信息、第二运行环境信息、第一业务数据处理结果以及第二业务数据处理结果保存在目标容器中;基于所述目标容器中所保存的信息,在所述第一服务器与所述第二服务器之间进行信息同步,以实现所述第一服务器与所述第二服务器保持相同的信息,由此,不但实现了不同游戏服务器中的业务数据同步至同一个服务器中,保证了业务数据的准确公平,同时,保存不同游戏服务器数据的服务器中,可以直接完成用户数据变更,并即时保存至数据库中,用户可以即时体验到数据变化,减少了延时等待,有效提升用户的游戏体验。
附图说明
图1为本发明实施例提供的业务数据处理方法的使用场景示意图;
图2为本发明实施例提供的业务数据处理装置的组成结构示意图;
图3a为本发明实施例提供的业务数据处理方法一个可选的流程示意图;
图3b为本发明实施例提供的业务数据处理方法一个可选的流程示意图;
图4为本发明实施例中目标容器一个可选的结构示意图;
图5为本发明实施例提供的业务数据处理方法一个可选的流程示意图
图6为本发明实施例中业务数据处理的示意图;
图7为本发明实施例中业务数据处理的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
除非另有定义,本发明所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
需要说明,在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的三维环境,还可以是纯虚构的三维环境。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种,下述实施例以虚拟环境是三维虚拟环境来举例说明,但对此不加以限定。可选地,该虚拟环境还用于至少两个虚拟对象之间的虚拟环境对战。可选地,该虚拟环境还用于至少两个虚拟对象之间使用虚拟枪械进行对战。可选地,该虚拟环境还用于在目标区域范围内,至少两个虚拟对象之间使用虚拟枪械进行对战,该目标区域范围会随虚拟环境中的时间推移而不断变小。
2)终端,包括但不限于:普通终端、专用终端,其中所述普通终端与发送通道保持长连接和/或短连接,所述专用终端与所述发送通道保持长连接。
3)客户端,终端中实现特定功能的载体,例如移动客户端(app)是移动终端中特定功能的载体,例如执行线上直播的功能或者是在线视频的播放功能。
4)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
5)虚拟物品,在游戏进程中,槽位中摆放的虚拟物品可以是在游戏场景里面可以是当前用户所持有的游戏角色(例如角色扮演游戏天涯明月刀的用户持有多个英雄),或者还是游戏角色持有的虚拟道具(例如一个英雄携带多种武器和宝石)。
图1为本发明实施例提供的业务数据处理方法的使用场景示意图,参见图1,终端(包括终端10-1和终端10-2)上设置有能够加载运行并显示不同游戏场景的软件的客户端,例如不同的游戏的客户端或插件,用户通过相应的客户端可以通过虚拟对象的人称视角对虚拟环境进行观察,并在视角画面变化过程中根据用户界面中与所述虚拟对象相匹配的虚拟道具和目标用户所持有的不同摆件进行操作;终端通过网络300连接第一服务器200,和第二服务器400,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输,第一服务器200用户所归属的游戏服务器,第二服务器400是跨游戏区域的跨服服务器。
作为一个示例,第一服务器200用于部署本申请所提供的业务数据处理处理装置,以实现获取业务进程在第一服务器中的第一运行环境信息;响应于目标用户的操作指令,获取所述业务进程在第一服务器中的第一业务数据处理结果;获取所述业务进程在第二服务器中的第二运行环境信息,以及所述目标用户在所述第二服务器400中的第二业务数据处理结果,其中第一服务器200与所述第二服务器400归属不同的服务器群组;将所述第一运行环境信息、第二运行环境信息、第一业务数据处理结果以及第二业务数据处理结果保存在目标容器中;基于所述目标容器中所保存的信息,在所述第一服务器与所述第二服务器之间进行信息同步,以实现所述第一服务器与所述第二服务器保持相同的信息。
当然,本发明所提供的业务数据处理装置可以应用于不同的游戏环境包括但不限虚拟现实应用程序、三维地图程序、军事仿真程序、第一人称射击游戏(fpsfirst-personshootinggame)、多人在线战术竞技游戏(mobamultiplayeronlinebattlearenagames)等,最终在用户界面(uiuserinterface)上呈现出与相应的对应的虚拟道具并进行控制。用户在当前显示界面中可以获得不同虚拟物品(例如在包括虚拟武器,或者发射箭簇的虚拟弓箭、虚拟弹弓等虚拟道具,或者用户在当前游戏进程中所持有的不同虚拟对象),并且经过调整的虚拟物品还可以供其他应用程序调用。
下面对本发明实施例的业务数据处理装置的结构做详细说明,业务数据处理装置可以各种形式来实施,如带有业务数据处理装置处理功能的专用终端,也可以为设置有业务数据处理装置处理功能的电子设备(手机、或平板电脑),例如前序图1中的终端10-1或者终端10-2。图2为本发明实施例提供的业务数据处理装置的组成结构示意图,可以理解,图2仅仅示出了业务数据处理装置的示例性结构而非全部结构,根据需要可以实施图2示出的部分结构或全部结构。
其中,图2所示的业务数据处理装置包括:至少一个处理器210、存储器240、至少一个网络接口220。第一服务器200中的各个组件通过总线系统230耦合在一起。可理解,总线系统230用于实现这些组件之间的连接通信。总线系统230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统230。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器240可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器240可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,readonlymemory),易失性存储器可以是随机存取存储器(ram,randomaccessmemory)。本发明实施例描述的存储器240旨在包括任意适合类型的存储器。
在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统241,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universalserialbus)等;
在一些实施例中,本发明实施例提供的业务数据处理装置可以采用软件方式实现,图2示出了存储在存储器240中的业务数据处理装置243,其可以是程序和插件等形式的软件,包括以下软件模块:信息传输模块2431和信息处理模块2432,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。需要指出的是,在图2中为了方便表达,一次性示出了上述所有模块,但不应视为在业务数据处理装置243排除了可以只包括信息传输模块2431和信息处理模块2432的实施,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的业务数据处理装置可以采用硬件方式实现,作为示例,本发明实施例提供的业务数据处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的网络服务评分方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)或其他电子元件。
下面,以由图1中的第一服务器200和终端10-1或者10-2协同实施本发明实施例提供的业务数据处理方法为例进行说明。在介绍本申请实施例所提供的业务数据处理方法之前,首先对传统技术中的业务数据处理方法进行介绍,其中,参考图3a,图3a为本发明实施例中业务数据处理方法一个可选的流程示意图,其中,将跨服中产生的操作数据缓存在游戏用户身上,游戏用户返回原服后,再执行数据操作。例如游戏用户在跨服游戏模式中获得经验,由于跨服中经验增长的速率与游戏用户原服不一致,同样增加100经验,原服会衰减20%,跨服只衰减10%,为了保证数据不会跨服环境污染,该方案将获得100经验这个行为缓存在操作队列中,待游戏用户完成跨服游戏模式并返回原服后,将该操作序列一起带回原服,然后按序执行游戏用户带回来的操作序列。从而保证数据不被污染,防止游戏用户作弊获得游戏利益。操作序列缓存需要占用大量内存,游戏用户在跨服游戏模式中,可能进行大量的数据操作,比如获取经验、货币等。每一个操作都需要缓存起来。其次,由于图3a所示的方案的数据变更无法在跨服即时生效,需要游戏用户回原服才得到处理,给游戏用户的游戏体验较差。最后由于mmorpg游戏模式数量众多,数据操作数量巨大,每个游戏模式都需要独立开发一个操作序列,开发者的开发效率低下,同时容易产生bug,比如游戏用户在跨服中立即下线了,或者进程宕机,会直接导致操作数据无法带回原服,造成游戏用户数据丢失。
为了克服上述缺陷,参见图3b,图3b为本发明实施例提供的业务数据处理方法一个可选的流程示意图,可以理解地,图3b所示的步骤可以由运行业务数据处理装置的各种电子设备执行,例如可以是如带有业务数据处理装置的各种游戏设备服务器或服务器群组,其中,带有业务数据处理装置的专用终端可以封装于图1所示的服务器200或者服务器400中,以执行前序图2所示的业务数据处理装置中的相应软件模块。下面针对图3b示出的步骤进行说明。
步骤301:业务数据处理装置获取业务进程在第一服务器中的第一运行环境信息。
步骤302:业务数据处理装置响应于目标用户的操作指令,获取所述业务进程在第一服务器中的第一业务数据处理结果。
其中,当业务进程为游戏进程时,第一服务器可以为用户的所在游戏分区的原服务器(简称原服),第二服务器可以为汇集不同游戏用户的跨服务区的服务器(简称跨服服务器),在获取第一业务数据处理结果时,可以从每个客户端中可以存储目标用户的用户数据,此处的目标用户可以为每个客户端上登录的游戏账号所对应的游戏用户。用户数据可以包括多个数据,且多个数据可以为该目标用户在游戏中的排行需要数据。排行需要的数据可以为形成排行榜的多个类型的数据,例如可以包括积分、虚拟武器数量、不同类型的分值、排位信息等等。对于不同的游戏排行榜而言,其用户数据可以相同或不同,此处不做特殊限定。客户端通过服务器集群对外的网关连接服务器,将用户数据上传至每个客户端对应的运行在逻辑进程上的分线接口。缓存从每个分线接口来获取通过分线接口上报的所有目标用户的用户数据。
步骤303:业务数据处理装置获取所述业务进程在第二服务器中的第二运行环境信息,以及所述目标用户在所述第二服务器中的第二业务数据处理结果。
其中,所述第一服务器与所述第二服务器归属不同的服务器群组。
在本发明的一些实施例中,获取第二服务器中的业务数据处理结果时,可以由分线接口上报的关联数据进行信息提取,并将关联数据作为用户数据。关联数据根据将游戏主键与用户标识以及多个数据进行关联得到。进一步地,还可以根据游戏主键、用户标识以及用户标识对应的多个数据得到关联数据。其中,游戏主键包括排行榜名称rank_name和服务器编号hostnum。用户标识值value为目标用户的唯一编号uid,多个数据为该用户标识对应的多个类型的数据,且通过对多个类型的数据进行组合可以得到用户标识对应的分数score。目标用户通过分线接口上报该目标用户用于排行的属性参数到缓存,在上报时,将游戏主键、用户标识以及多个类型的数据关联起来进行上报,以保证数据的准确性。在得到关联数据之后,可以将关联数据作为用户数据上报至缓存,以通过缓存对用户数据进行快速提取。
步骤304:业务数据处理装置将所述第一运行环境信息、第二运行环境信息、第一业务数据处理结果以及第二业务数据处理结果保存在目标容器中。
在本发明的一些实施例中,将所述第一运行环境信息、第二运行环境信息、第一业务数据处理结果以及第二业务数据处理结果保存在目标容器中,可以通过以下方式实现:
确定所述目标容器的容器结构;基于所述目标容器的容器结构以及所述业务进程的参数,确定所述目标容器中的数据索引信息和数据实体信息;基于所述目标容器中的数据索引信息和数据实体信息,将所述第一运行环境信息、第二运行环境信息、第一业务数据处理结果以及第二业务数据处理结果分别保存在不同的数据索引和数据实体中。其中,容器技术是一种可有效地将某应用程序的资源数据划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求的技术。随着容器技术的兴起,越来越多的用户选择将应用程序(如游戏应用、直播应用等)进行容器化,并使用容器集群管理系统为该应用程序提供相应的有状态服务。当web服务器启动时,会为每一个web应用程序(webapps下的每个目录就是一个应用程序)创建一块共享的存储区域通过当前servlet类的对象,得到与它关联的servletcontext对象,其中,共享的存储区域servletcontext即为上下文。参考图4,图4为本发明实施例中目标容器一个可选的结构示意图,其中,图4所示的容器可以保存游戏用户所在原服到游戏环境数据,比如:经验倍率,货币汇率,开服天数、地皮价格等。游戏用户的一切可能造成数据变更的行为,无论在跨服或者原服,都必须在该容器的基础上执行。如图3所示,上下文容器中,包含了每个服务器serverid及其对应的上下文数据:经验上下文、货币上下文、地皮上下文等。如图4所示,容器context中的上下文数据采用了数据索引mid与数据实体分离data的方案,索引占用内存进需64字节,而数据实体占用内存超过1000字节。由于不同服务器所需要的上下文数据不一样,例如新开的游戏服务器,由于开服天数较小,很多游戏模式尚未开启,比如地皮游戏模式earthmid。
在本发明的一些实施例中,还可以遍历所述目标容器中的数据索引信息,确定所述目标容器中的无效索引信息;根据所述无效索引信息,对于所述无效索引信息相匹配的数据实体的存储空间进行动态回收。其中,参考图4,可以通过索引的有效性,确定是否分配相应的数据实体。图4中所示服务器上下文中,地皮游戏模式的索引是无效的,因此上下文容器就不需要为其分配内存,可以有效提升业务数据的存储效率。
步骤305:业务数据处理装置基于所述目标容器中所保存的信息,在所述第一服务器与所述第二服务器之间进行信息同步。
由此,可以实现所述第一服务器与所述第二服务器保持相同的信息。
在本发明的一些实施例中,还可以当所述业务进程为游戏进程时,确定与所述游戏进程相匹配的第一服务器对应的上下文配置信息;基于所述第一服务器对应的上下文配置信息,配置相应数量的第二服务器,以实现所述第二服务器覆盖所述上下文配置信息对应的目标容器。
当用户在第二服务器中执行游戏进程时,参考图5,图5为本发明实施例提供的业务数据处理方法一个可选的流程示意图,可以理解地,图5所示的步骤可以由运行业务数据处理装置的各种电子设备执行,例如可以是如带有业务数据处理装置的各种游戏设备服务器或服务器群组,其中,带有业务数据处理装置的专用终端可以封装于图1所示的服务器200或者服务器400中,以执行前序图2所示的业务数据处理装置中的相应软件模块。下面针对图5示出的步骤进行说明。
步骤501:业务数据处理装置获取目标用户在所述第二服务器中的数据变更请求。
步骤502:业务数据处理装置响应于所述数据变更请求,获取所述第二服务器对应的目标容器所保存的上下文信息。
步骤503:业务数据处理装置基于所述业务进程,执行与所述上下文信息相匹配的逻辑子进程。
步骤504:业务数据处理装置将所述逻辑子进程的执行结果保存在相应的目标容器中。其中,参考图6,图6为本发明实施例中业务数据处理的示意图,其中,游戏用户在跨服服务器种进行游戏操作时,根据游戏用户数据中的服务器serverid,可以确定索引容器中对应的上下文,当出现业务数据变更请求时,提取对应的上下文,执行逻辑处理进程,即可得到和原服中一样的处理结果,这一业务数据处理过程中,游戏用户不会感知到和原服有任何的区别,减少了用户的延时等待,提高了用户的游戏体验。
在本发明的一些实施例中,基于所述目标容器中所保存的信息,在所述第一服务器与所述第二服务器之间进行信息同步,以实现所述第一服务器与所述第二服务器保持相同的信息,可以通过以下方式实现:
监听所述第一服务器中的上下文信息的变化;当确定所述第一服务器中的上下文信息发生变化时,触发数据同步进程;通过所述数据同步进程,将发生变化的上下文信息同步至所述第一服务器对应的目标容器中。其中,参考图7,图7为本发明实施例中业务数据处理的示意图,其中,由于游戏进程的实时变化性较强,用户的操作指令密集,大型多人在线角色扮演游戏(massivemultiplayeronlinerole-playinggame,简称mmorpg)的参与用户数量多,因此,为了及时地同步第一服务器和第二服务器中的因为数据,还可以对所述第一服务器中的上下文信息和所述第二服务器中的上下文信息进行一致性检测;当所述第一服务器中的上下文信息和所述第二服务器中的上下文信息不一致时,所述第二服务器向所述第一服务器发出数据同步请求;响应于所述数据同步请求,调整所述第二服务器中所保存的信息。
在本发明的一些实施例中,本申请提供的业务数据处理方法还可以通过云游戏实现,其中,其中,游戏本身运行在云端服务器设备中,将云端设备渲染后的游戏画面编码后,通过网络传输至用户终端,由用户终端对编码文件进行解码后渲染至显示屏进行显示的游戏,从而,用户无需在本地安装游戏,而仅需要建立与云端的通信网络连接便能完成游戏交互过程。云游戏的组织架构中包括终端和云端服务器,其中,终端用于接收用户对游戏过程的控制操作,并将控制操作对应的控制指令发送至云端服务器,云端服务器用于对游戏进程进行控制,并将游戏过程中的视频流发送至终端进行播放。也即在云游戏的组织架构中,终端主要负责在游戏过程中接收对应服务端的游戏视频和游戏音频进行渲染与播放,并把游戏用户在终端侧的操作(包括但不限于游戏用户通过鼠标、键盘、操作手柄、语音指令、触摸指令等方式实现的操作),通过和服务端连接的信令通道发送给服务端,服务端把这些操作信息发送给相匹配的鼠标驱动进程、声卡驱动进程以及键盘驱动进程,从而实现对云端游戏的控制,具体来说,云端服务器的处理内容包括:1)云端游戏的游戏进程运行中的计运算以及游戏渲染、画面采集编码、声卡声音采集编码,并将经过编码处理的视频信息和音频信息通过流媒体的形式发送给终端;2)接收终端的操作指令,并将操作指令发送至相对应的鼠标驱动进程、声卡驱动进程以及键盘驱动进程,从而实现对云端游戏的控制。在获取不同服务器中的业务数据时,可以通过以下方式实现:当所述业务进程为游戏进程时,确定所述目标用户的标识信息;基于云服务器网络,确定与所述标识信息相匹配的数据源集群;根据所述数据源集群,向所述第一服务器和所述第二服务中存储与所述目标用户相匹配的用户的历史信息,由此,第一服务器和第二服务器能够及时更新云游戏用户所对应的业务数据。
下面继续说明本发明实施例提供的业务数据处理装置243实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器240的业务数据处理装置243中的软件模块可以包括:信息传输模块2431、信息处理模块2432。
信息传输模块2431,用于获取业务进程在第一服务器中的第一运行环境信息;
所述信息传输模块2431,用于响应于目标用户的操作指令,获取所述业务进程在第一服务器中的第一业务数据处理结果;
所述信息传输模块2431,用于获取所述业务进程在第二服务器中的第二运行环境信息,以及所述目标用户在所述第二服务器中的第二业务数据处理结果,其中所述第一服务器与所述第二服务器归属不同的服务器群组;
信息处理模块2432,用于将所述第一运行环境信息、第二运行环境信息、第一业务数据处理结果以及第二业务数据处理结果保存在目标容器中;
所述信息处理模块2432,用于基于所述目标容器中所保存的信息,在所述第一服务器与所述第二服务器之间进行信息同步,以实现所述第一服务器与所述第二服务器保持相同的信息。
在本发明的一些实施例中,所述信息处理模块2432,用于确定所述目标容器的容器结构;所述信息处理模块2432,用于基于所述目标容器的容器结构以及所述业务进程的参数,确定所述目标容器中的数据索引信息和数据实体信息;所述信息处理模块2432,用于基于所述目标容器中的数据索引信息和数据实体信息,将所述第一运行环境信息、第二运行环境信息、第一业务数据处理结果以及第二业务数据处理结果分别保存在不同的数据索引和数据实体中。
在本发明的一些实施例中,所述信息处理模块2432,用于遍历所述目标容器中的数据索引信息,确定所述目标容器中的无效索引信息;所述信息处理模块2432,用于根据所述无效索引信息,对于所述无效索引信息相匹配的数据实体的存储空间进行动态回收。
在本发明的一些实施例中,所述信息处理模块2432,用于当所述业务进程为游戏进程时,确定与所述游戏进程相匹配的第一服务器对应的上下文配置信息;所述信息处理模块2432,用于基于所述第一服务器对应的上下文配置信息,配置相应数量的第二服务器,以实现所述第二服务器覆盖所述上下文配置信息对应的目标容器。
在本发明的一些实施例中,所述信息处理模块2432,用于获取目标用户在所述第二服务器中的数据变更请求;所述信息处理模块2432,用于响应于所述数据变更请求,获取所述第二服务器对应的目标容器所保存的上下文信息;所述信息处理模块2432,用于基于所述业务进程,执行与所述上下文信息相匹配的逻辑子进程;所述信息处理模块2432,用于将所述逻辑子进程的执行结果保存在相应的目标容器中。
在本发明的一些实施例中,所述信息处理模块2432,用于监听所述第一服务器中的上下文信息的变化;所述信息处理模块2432,用于当确定所述第一服务器中的上下文信息发生变化时,触发数据同步进程;所述信息处理模块2432,用于通过所述数据同步进程,将发生变化的上下文信息同步至所述第一服务器对应的目标容器中。
在本发明的一些实施例中,所述信息处理模块2432,用于对所述第一服务器中的上下文信息和所述第二服务器中的上下文信息进行一致性检测;所述信息处理模块2432,用于当所述第一服务器中的上下文信息和所述第二服务器中的上下文信息不一致时,所述第二服务器向所述第一服务器发出数据同步请求;所述信息处理模块2432,用于响应于所述数据同步请求,调整所述第二服务器中所保存的信息。
在本发明的一些实施例中,所述信息处理模块2432,用于当所述业务进程为游戏进程时,确定所述目标用户的标识信息;所述信息处理模块2432,用于基于云服务器网络,确定与所述标识信息相匹配的数据源集群;所述信息处理模块2432,用于根据所述数据源集群,向所述第一服务器和所述第二服务中存储与所述目标用户相匹配的用户的历史信息。
根据图2所示的业务数据处理装置,在本申请的一个方面中,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述业务数据处理方法的各种可选实现方式中所提供的方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3b示出的业务数据处理方法。
有益技术效果:
本申请通过获取业务进程在第一服务器中的第一运行环境信息;响应于目标用户的操作指令,获取所述业务进程在第一服务器中的第一业务数据处理结果;获取所述业务进程在第二服务器中的第二运行环境信息,以及所述目标用户在所述第二服务器中的第二业务数据处理结果,其中所述第一服务器与所述第二服务器归属不同的服务器群组;将所述第一运行环境信息、第二运行环境信息、第一业务数据处理结果以及第二业务数据处理结果保存在目标容器中;基于所述目标容器中所保存的信息,在所述第一服务器与所述第二服务器之间进行信息同步,以实现所述第一服务器与所述第二服务器保持相同的信息,由此,不但实现了将不同游戏服务器中的业务数据同步至同一个服务器中,保证了业务数据的准确公平,同时,保存不同游戏服务器数据的服务器中,可以直接完成用户数据变更,并即时保存至数据库中,用户可以即时体验到数据变化,减少了延时等待,有效提升用户的游戏体验。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除