一种信息处理方法及装置、设备、存储介质制造方法及图纸

技术编号:20926364 阅读:26 留言:0更新日期:2019-04-20 11:52
本发明专利技术公开了一种信息处理方法及装置、设备、存储介质,其中,所述方法包括:确定终端上同步数据的第一版本信息;确定服务器上同步数据的第二版本信息;当所述第二版本信息与所述第一版本信息不一致时,确定从所述第一版本信息更新到所述第二版本信息所对应的第一增量数据;当所述第一增量数据在预设的数据缓冲窗口中时,从所述数据缓冲窗口中获取所述第一增量数据;将所述第一增量数据和第二版本信息同步给终端。

An Information Processing Method and Device, Equipment and Storage Media

The invention discloses an information processing method and device, device and storage medium, in which the method includes: determining the first version information of synchronous data on the terminal; determining the second version information of synchronous data on the server; and determining that the first version information is updated to the second version information when the second version information is inconsistent with the first version information. The corresponding first incremental data; when the first incremental data is in the preset data buffer window, the first incremental data is obtained from the data buffer window; and the first incremental data and the second version information are synchronized to the terminal.

【技术实现步骤摘要】
一种信息处理方法及装置、设备、存储介质
本专利技术涉及电子技术,尤其涉及一种信息处理方法及装置、设备、存储介质。
技术介绍
为了提升承载的玩家数量,网络游戏服务器通常会按功能拆分为多个服务进程。不同的进程负责不同的玩法功能以及数据存储。不同玩法模块之间有紧密关联,一个进程的玩法往往会依赖其他玩法进程中的数据。而大部分网络游戏非常强调玩家交互的实时性,玩家请求的处理时延必须要小于感官上的反应时间,否则会导致游戏体验的卡顿。这就要求玩法的计算逻辑和依赖的数据在同一个进程中,避免跨进程数据查询增加额外的请求处理延迟。所以,需要把一个进程的数据同步到依赖该数据的其他进程中。每个进程会维护其依赖数据的数据缓存,在查询数据的时候只需要查询本进程中的数据缓存。对数据同步流程做简单抽象,流程中存在两个角色。一个数据源,主要是负责玩法模块的进程。一个是订阅者,主要依赖该玩法模块数据的其他进程。订阅者订阅了数据源的数据,当数据源在数据变化的时候,把数据同步给订阅者。为了保证游戏玩法的正确性,数据源和订阅者中的数据需要保持一致。但是数据在传输过程中,可能会由于网络波动出现丢失。另外订阅者所在进程可能由于硬件或者软件故障需要进行在线重启,由于数据缓存没有做持久化存储,重启之后缓存数据丢失。进程间数据同步方案需要解决上述的问题。
技术实现思路
有鉴于此,本专利技术实施例为解决现有技术中存在的至少一个问题而提供一种信息处理方法及装置、设备、存储介质,能够高效地进行数据同步。本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供一种信息处理方法,所述方法包括:确定终端上同步数据的第一版本信息;确定服务器上同步数据的第二版本信息;当所述第二版本信息与所述第一版本信息不一致时,确定从所述第一版本信息更新到所述第二版本信息所对应的第一增量数据;当所述第一增量数据在预设的数据缓冲窗口中时,从所述数据缓冲窗口中获取所述第一增量数据;将所述第一增量数据和第二版本信息同步给终端。本专利技术实施例提供一种信息处理装置,所述装置包括第一确定单元、第二确定单元、第三确定单元、获取单元和第一同步单元,其中:所述第一确定单元,用于确定终端上同步数据的第一版本信息;所述第二确定单元,用于确定服务器上同步数据的第二版本信息;所述第三确定单元,用于当所述第二版本信息与所述第一版本信息不一致时,确定从所述第一版本信息更新到所述第二版本信息所对应的第一增量数据;所述获取单元,用于当所述第一增量数据在预设的数据缓冲窗口中时,从所述数据缓冲窗口中获取所述第一增量数据;所述第一同步单元,用于将所述第一增量数据和第二版本信息同步给终端。本专利技术实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的信息处理方法的步骤。本专利技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的信息处理方法的步骤。本专利技术实施例中,确定终端上同步数据的第一版本信息;确定服务器上同步数据的第二版本信息;当所述第二版本信息与所述第一版本信息不一致时,确定从所述第一版本信息更新到所述第二版本信息所对应的第一增量数据;当所述第一增量数据在预设的数据缓冲窗口中时,从所述数据缓冲窗口中获取所述第一增量数据;将所述第一增量数据和第二版本信息同步给终端;如此,通过数据缓冲窗口能够高效地进行数据同步。附图说明图1-1为本专利技术实施例信息处理方法的实现流程示意图;图1-2为本专利技术实施例信息处理方法的实现流程示意图;图1-3为本专利技术实施例的系统架构示意图;图2为本专利技术实施例提供的通用的进程间的数据同步框架示意图;图3为本专利技术实施例提供的数据同步框架示意图;图4为本专利技术实施例基于版本号和窗口的数据同步方法示意图;图5-1为本专利技术实施例信息处理方法的实现流程示意图;图5-2为本专利技术实施例信息处理方法的实现流程示意图;图5-3为本专利技术实施例信息处理方法的实现流程示意图;图6是本专利技术实施例信息处理装置的结构示意图;图7为本专利技术实施例中计算设备的一种硬件实体示意图。具体实施方式本实施例中的数据同步过程分为两个方式,一个是快照同步方式,一个是命令同步方式。快照同步方式中的快照数据是模块在某一时刻的全量数据,所以,采用快照同步方式时同步的是全量数据;而命令同步方式的命令数据是模块内的增量数据修改,采用命令同步方式时同步的是增量数据。初始化时通过快照同步方式让数据源和订阅者达到一致,后续数据源在进行数据修改时把数据修改命令转发给订阅者。命令在传输过程中可能会出现丢失,为了维护数据源和订阅者的数据一致性,数据源会定时进行快照同步。图1-1为本专利技术实施例数据同步方法的实现流程示意图,如图1-1所示,该方法包括:步骤S101,订阅者配置数据源;步骤S102,订阅者向数据源发送连接请求;步骤S103,数据源向订阅者发送连接响应;步骤S104,订阅者向数据源发送同步请求;步骤S105,数据源初始化快照同步;步骤S106,数据源向订阅者发送快照数据;步骤S107,订阅者载入快照数据;步骤S108,数据源对数据进行修改;步骤S109,数据源向订阅者转发命令数据;步骤S110,订阅者命令重做;步骤S111,数据源定时快照同步;步骤S112,数据源向订阅者发送快照数据;步骤S113,订阅者载入快照数据。从以上流程可以看出,数据同步方案的问题是如何设置快照同步的定时间隔时长。如果定时间隔较长,那么两次快照同步期间,数据在同步过程中丢失就会导致数据源和订阅者数据不一致的时间窗口较长,从而影响游戏功能的正确性。如果定时间隔较短,那么数据源需要频繁进行全量数据的同步。即使两次快照同步期间没有出现数据丢失,或者只是丢失一小部分数据,数据源也需要重新同步快照数据。而快照数据的生成和同步相对来说是个耗时操作,会影响进程本身的业务功能。这种做法效率很低。为了更好地理解本专利技术的各实施例,提供以下名词的解释:网络游戏:也称在线游戏,一般指多名玩家通过电脑网络进行互动娱乐的电子游戏。网络游戏客户端:是指与网络游戏服务器相对应,为客户提供本地服务的程序。一般安装在普通的用户机上,需要与服务端互相配合运行。网络游戏服务器:是指与网络游戏客户端相对应,安装在IDC中,为网络游戏客户端提供数据转发与逻辑处理服务的软件程序。由于安装在玩家机器上的客户端容易被破解而被利用作弊,所以在网络游戏中,复杂与关键的逻辑,都需要在网络游戏服务器上进行计算。网络时延:网络时延是指一个报文或分组从一个网络的一端传送到另一个端所需要的时间。在网络游戏中,即指从客户端发出的请求至客户端收到服务器返回的回复。数据一致性保障:在数据有多分副本的情况下,如果网络、服务器硬件或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致,数据内容冲突。实践中,需要对多副本之间的数据提供一致性保障。网络游戏由于不同玩法之间相互依赖,服务器的不同进程之间存在数据同步过程,但常规的数据同步方案存在着数据不一致或者同步效率低下等问题。在本专利技术的各实施例中,基于数据版本号和命令缓冲窗口进行数据同步,通过结合快照同步和命令同步的方式,能够高效地保障进程间数据在同步过程中的数据一致性。下面结本文档来自技高网...

【技术保护点】
1.一种信息处理方法,其特征在于,所述方法包括:确定终端上同步数据的第一版本信息;确定服务器上同步数据的第二版本信息;当所述第二版本信息与所述第一版本信息不一致时,确定从所述第一版本信息更新到所述第二版本信息所对应的第一增量数据;当所述第一增量数据在预设的数据缓冲窗口中时,从所述数据缓冲窗口中获取所述第一增量数据;将所述第一增量数据和第二版本信息同步给所述终端。

【技术特征摘要】
1.一种信息处理方法,其特征在于,所述方法包括:确定终端上同步数据的第一版本信息;确定服务器上同步数据的第二版本信息;当所述第二版本信息与所述第一版本信息不一致时,确定从所述第一版本信息更新到所述第二版本信息所对应的第一增量数据;当所述第一增量数据在预设的数据缓冲窗口中时,从所述数据缓冲窗口中获取所述第一增量数据;将所述第一增量数据和第二版本信息同步给所述终端。2.根据权利要求1所述的方法,其特征在于,所述数据缓冲窗口中缓存有全量数据,所述方法还包括:当所述第一增量数据不在所述数据缓冲窗口中且所述第二版本信息对应的全量数据在所述数据缓冲窗口时,将所述第二版本信息对应的全量数据和第二版本信息同步给终端。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述第二版本信息对应的全量数据不在所述数据缓冲窗口时,生成所述第二版本信息对应的全量数据;将所述第二版本信息对应的全量数据和第二版本信息同步给所述终端。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:将所述第二版本信息对应的全量数据缓存在所述数据缓冲窗口中。5.根据权利要求1至4任一项所述的方法,其特征在于,所述数据缓冲窗口中缓存有版本信息连续的增量数据,确定所述第一增量数据在预设的数据缓冲窗口包括:确定所述数据缓冲窗口中的初始版本信息;当所述初始版本信息小于等于所述第一版本信息的下一版本信息时,确定所述第一增量数据在预设的数据缓冲窗口;当所述初始版本信息高于所述第一版本信息的下一版本信息时,确定所述第一增量数据不在预设的数据缓冲窗口。6.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:接收与所述终端同步的其他终端发送的同步数据;将所述同步数据缓存在所述数据缓冲窗口,并将第二版本信息的下一版本信息作为第三版本信息;将所述第三版本信息确定为所述同步数据的版本信息。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:将所述第三版本信息和与所述第三版本信息对应的同步数据发送给所述终端。8.根据权利要求1至4任一项所述的方法,其特征在于,所述确定终端上同步数据的第一版本信息,包括:接收所述终端发起的数据同步请求,所述数据同步请求中携带有所述终端上同步数据的第一版本信息,其中发起的数据同步请求至少包括以下之一:所述终端与所述服务器进行重...

【专利技术属性】
技术研发人员:汪胜蕾孙尚
申请(专利权)人:腾讯科技上海有限公司
类型:发明
国别省市:上海,31

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

1